多语言iOS应用程序
如何为多种语言制作字符串?多语言iOS应用程序
我想要这个规则更多的语言。
localNotification.alertBody = "You have received \(Int(msg)) new messages"
我想这一点:
U_Have = “你必须接受”; (英文)
U_Have =“U heeft”; (荷兰语)
New_msg =“new messages”; (英文)
New_msg =“nieuwe berichten”; (荷兰)
我认为它会看起来LIK这样的:
localNotification.alertBody = "U_Have \(Int(msg)) New_msg"
但我怎么能做出这可能与雨燕为iOS?
尝试某事像这样:
func getSystemLanguage() -> String{
var Language: String = "en"
if let preferredLanguage = NSLocale.preferredLanguages()[0] as String? {
Language = preferredLanguage
if(Language.rangeOfString("en") == nil && Language.rangeOfString("da") == nil){
Language = "en";
}
if Language.rangeOfString("en") != nil {
Language = "en";
}
if(Language.rangeOfString("da") != nil){
Language = "da"
}
}
return Language
}
然后:
if(getSystemLanguage == "da"){
U_Have = "U heeft"; (Dutch)
} else {
U_Have = "You have receive"; (English)
}
我强烈建议你把所有的字符串在一个文件中,并做某事喜欢这样,因为如果你不你”就会有很多工作如果U添加一个新的语言:
class LocalizedStrings {
class func getVariable(Variable: String) -> String{
var Key: String = "Key"
switch (Variable) {
case "Test":
if(Logic.getSystemLanguage() == "da"){
Key = "Dutch"
return Key
} else {
Key = "English"
return Key
}
default:
return "NotFound"
}
}
}
然后:
LocalizedString.getVariable("Test")
如果你只是想本地化你的故事板设置字符串就容易多了:
为什么你推荐不使用'NSLocalizedString()'和苹果公司推出的accomanying工具?不使用现有的服务方式,编写自定义代码很少是一个好主意。另外,请记住不要本地化短语的部分内容,而要整个短语,尤其是涉及到内插。否则,它肯定会出现可怕的错误。 – SmokeDispenser
事实是我没有考虑NSLocalizedStrings,而是使用这个逻辑来提醒我,并且我引用了它。我没有遇到任何问题,但我的项目并不大。我认为你是NSLocalizedStrings可能是更好的解决方案,但我还没有尝试过。我会在下次尝试。 – Godlike
通过使用本地化,而不是通过代码,你看着的iOS本地化使用Xcode的应用程序?如果推送消息来自服务器,您可能必须在那里进行本地化。 – luk2302