首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS: Localizable.strings不工作

iOS: Localizable.strings不工作
EN

Stack Overflow用户
提问于 2017-01-02 14:35:38
回答 2查看 790关注 0票数 0

这件事已经困扰了好几天。

我在我的项目中设置了阿拉伯语本地化,并将我的设备语言设置为阿拉伯语。

当我从Xcode运行我的应用程序时,使用run When选项设置为使用阿拉伯语本地化,本地化可以正常工作。

当我在没有Xcode的情况下运行应用程序时,应用程序使用英语。

我读过类似问题的答案,但到目前为止没有一个对我有用。

  • 我使用NSLocalizableString(@"login",@"");Localizable.strings文件加载字符串。只要我将Run scheme本地化选项设置为阿拉伯语,它就能正常工作。
  • 我试过卸载应用程序,清理项目,然后重新安装。现在,应用程序使用的是Localizabe.strings键名,而不是它们的阿拉伯值。
  • Localizable.strings文件的名称是正确的,并在“复制捆绑资源”下列出。
  • Localizable.strings是完美的格式化程序。我已经用plutil验证过了。

我还能错过什么?

示例:

代码语言:javascript
复制
-(void) viewDidLoad
{
    [super viewDidLoad];

    // ...

    [self setupLocalization];
}

-(void) setupLocalization
{
    self.mailAddress.placeholder = NSLocalizedString(@"email_address", @"");
    self.password.placeholder = NSLocalizedString(@"password", @"");
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-02 15:39:02

我发现了问题所在:

AppDelegateapplication:didFinishLoadingWithOptions:包含了这段代码片段

代码语言:javascript
复制
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@[@"en"] forKey:@"AppleLanguages"];
[defaults synchronize];

哪个forces NSLocalizedString()返回英语值。

这个项目是外包的,我不知道片段在那里。

票数 0
EN

Stack Overflow用户

发布于 2017-01-02 14:44:16

是否调用NSLocalizedString(_:,comment:)将字符串转换为本地化字符串?

如果你不这么做,那就是它不起作用的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41428753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档