Xcode 4.6,目标iOS 6,SDK iOS 6.1
我开始使用适合我的应用的故事板;它包含的字符串是英文的。我想添加法语本地化。我这样做了:
结果:这有效;我更改的字符串出现在正在运行的应用程序中。
但我想要充满想象力。我想使用.strings文件进行法语本地化。 (这不仅仅是一种幻想;法语本地化将转交给非技术翻译人员,他们不能指望他们掌握Interface Builder。)所以:
结果:视图使用基本(原始英语)本地化,而不是加载法语字符串。
转换为Autolayout无效。从模拟器中删除应用程序无效。删除派生产品目录无效。 Stack Overflow建议使用ibtool生成.strings文件而不是Xcode;两个生成的文件完全相同。
这不令人满意。正如我所说,我无法将.storyboard文件转换为非技术翻译。如何让iOS接受来自.strings文件的故事板本地化?
答案 0 :(得分:4)
使用“本地化字符串”设置启用英语本地化复选框:
清理构建文件夹(⌥⇧⌘K)并重建。
答案 1 :(得分:3)
我希望你已经解决了。 我有同样的问题(用意大利语翻译),我用这种方式解决了:
1)it.lproj中的文件Localizable.string
2)在需要的地方使用NSLocalizedString(@“TEST”,@“comment”)方法
3)在Build Phases中添加Localizable.string->复制捆绑资源 最后一步在iOS 5.1中不是必需的。
我感谢Cocoanetics在[问题]中的回应:Base internationalization and multiple storyboard not working right
答案 2 :(得分:1)
要添加关于执行干净构建的claymation的答案,它还有助于从iOS模拟器中删除该应用程序。
有关答案 3 :(得分:1)
必须将我的字符串文件转换为故事板然后返回到字符串文件才能使其正常工作。荒谬。 Apple可以从微软那里学到一些关于创建更可靠的开发人员工具的知识。