Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何将本地化字符串与数据库中的字符串进行比较?_Ios_Swift_Arabic - Fatal编程技术网

Ios 如何将本地化字符串与数据库中的字符串进行比较?

Ios 如何将本地化字符串与数据库中的字符串进行比较?,ios,swift,arabic,Ios,Swift,Arabic,我需要比较一个字符串和数据库中的字符串 var variableFromDB = "test" if "test" == variableFromDB{ print("Success") } 它在英语中很好用。我不知道如何用阿拉伯语来比较。也需要用阿拉伯语检查。请告诉我要检查一下 var language: String UserDefaults.standard.set("AE", forKey: "Apple") // manually set language UserDe

我需要比较一个字符串和数据库中的字符串

var variableFromDB = "test"
if "test" == variableFromDB{
    print("Success")
}
它在英语中很好用。我不知道如何用阿拉伯语来比较。也需要用阿拉伯语检查。请告诉我要检查一下

 var language: String

UserDefaults.standard.set("AE", forKey: "Apple") // manually set language 
UserDefaults.standard.synchronize()
self.language = UserDefaults.standard.object(forKey: "Apple")as! String

// self.language = Locale.current.languageCode // your device language

extension String {
func stringlocalized(lang:String) ->String {

    let path = Bundle.main.path(forResource: lang, ofType: "lproj")
    let bundle = Bundle(path: path!)

    return NSLocalizedString(self, tableName: nil, bundle: bundle!, value: "", comment: "")
}}
//检查当前语言中的本地化字符串

 let str  = “ test”.localized(lang:  self.language! )

if str ==variableFromDB 
{ // Your logic here
}

一般来说,代码根据显示字符串做出决策是个坏主意。这对于显示字符串来说是双倍的

如果您的主要受众是说阿拉伯语的,您可以将您的开发语言设置为阿拉伯语,然后根据需要对其他语言进行本地化

在任何情况下,我都会建议使用一组固定字符串作为键,然后调用NSLocalizedString::tableName:bundle:value:comment:或其变体之一来获取显示字符串。例如:

将此代码放在中央的某个位置,以便共享密钥:

let screen1Prompt = "screen1Prompt"
然后,当需要显示本地化字符串时:

let prompt = NSLocalizedString(screen1Prompt)
如果实际提示字符串可能是,请选择付款日期。用英语、阿拉伯语等

然后,如果需要匹配数据库中的某些内容,请使用未本地化的键(而不是本地化的显示字符串)进行查找

这样,如果以后更改显示字符串,代码仍然有效。

欢迎使用堆栈溢出。你有没有一个不起作用的例子?向我们展示失败的版本及其输出,以及预期的输出,您将更有可能找到能够提供帮助的人。