Ron*_*bro 14 iphone localization
我正在开发一个本地化的应用程序,一切正常.问题是我想让用户在app settings文件夹中专门为特定应用程序选择语言.用户应将其手机设置为一种语言(例如法语),以便将应用程序设置为英语.
我目前正在使用NSLocalizedString来获取本地化字符串,但查看宏的所有变体我找不到一个可以让我指定语言.
关于如何做的任何想法?
Rob*_*ier 15
这里有三个问题:
最后几乎肯定是不可修复的,所以我们将保留它.他们将出现在设备语言中.
另外两个是可以解决的,但你需要手工做更多的事情.对于字符串,而不是创建单个Localizable.strings然后本地化它,创建完全独立的表(English.strings,French.strings等)然后,使用NSLocalizedStringFromTable(),将语言作为表传递.
对于NIB,有两种方法.你可以把每一套本地化的发钞银行的进入了自己的包,然后通过捆绑,而不是nil到-initWithNibName:bundle:.或者,您可以在找到NIB后手动加载NIB [NSBundle -pathForResource:ofType:inDirectory:forLocalization:].
Wil*_*iss 12
有一种更好的方法可以做到这一点.您可以像这样强制语言:
[[NSUserDefaults standardUserDefaults] setObject: [NSArray arrayWithObjects:@"en", nil] forKey:@"AppleLanguages"];
Run Code Online (Sandbox Code Playgroud)
并通过以下方式撤消此设置
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"AppleLanguages"];
Run Code Online (Sandbox Code Playgroud)
NB.您通常必须重新启动应用才能生效.
考虑一下你是否需要打电话 [[NSUserDefaults standardUserDefaults] synchronize];
我同意不需要允许用户指定语言.但是,一个例外是能够覆盖语言并将其设置为开发人员的母语.如果用户可以说出开发者的语言(例如英语),那么如果翻译不正确,他们可能希望使用该语言的应用程序.
我引用了这个答案: 如何强制NSLocalizedString使用特定的语言(答案对我来说实际上并不起作用,但遵循评论中的想法.我解决了一些撤消的东西.
| 归档时间: |
|
| 查看次数: |
11231 次 |
| 最近记录: |