ios – 基础本地化故事板.strings – >没有本地化

Xcode 4.6,目标iOS 6,SDK iOS 6.1

我开始使用一个适用于我的应用程序的故事板;它包含的字符串是英文的.我想添加法语本地化.我这样做了:

>添加了基本本地化,已转移
从en.lproj到Base.lproj的MainStoryboard.storyboard.
>添加了法语本地化,克隆了InfoPlist.strings(英语)
和MainStoryboard.storyboard(Base)到fr.lproj.
>更改了几个字符串(一个字符串的标题
UISegmentedControl)在法语MainStoryboard.storyboard中.
>在模拟器中,将语言设置为法语.
>从Xcode中删除应用程序.

结果:这有效;我更改的字符串出现在正在运行的应用程序中

但我想成为所有人.我想使用.strings文件进行法语本地化. (这不仅仅是一种幻想;法语本地化将转交给非技术翻译人员,他们不能指望他们掌握Interface Builder.)所以:

>选择Xcode项目中的基本MainStoryboard.storyboard
航海家.
>在“文件”检查器中的“本地化”下,更改了法语
从“Interface Builder Cocoa Touch Storyboard”到本地化
“可本地化的字符串.”
>接受Xcode的警告,法国故事板将被丢弃
支持.strings文件,该文件出现在Assistant编辑器中.
>进行相同的两次编辑;毫无疑问他们是错的
字符串,因为它们都被评为
IBUISegmentedControl … segmentTitles;而标签文本则没有
出现在.strings文件中的任何其他位置.
>从模拟器中删除了应用程序的现有(工作)副本.
>跑完应用程序.

结果:视图使用基本(原始英语)本地化,而不是加载法语字符串.

转换为Autolayout没有任何效果.从模拟器中删除应用程序没有任何效果.删除派生产品目录无效. Stack Overflow建议使用ibtool生成.strings文件而不是Xcode;两个生成文件是相同的.

这不太令人满意.正如我所说,我无法将.storyboard文件转换为非技术翻译.如何让iOS接受.strings文件中的故事板本地化?

解决方法

我希望你已经解决了.
我有同样的问题(用意大利语翻译),我这样解决了:

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中的回应

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...