我从一个故事板开始,对我的应用程序运行良好;它包含的字符串是英文.我想添加一个法语本地化.我做到了
>添加了一个基本本地化,转移
MainStoryboard.storyboard从en.lproj到Base.lproj.
添加了法语本地化,克隆了InfoPlist.strings(英文)
和MainStoryboard.storyboard(Base)转换成fr.lproj.
>更改了几个字符串(段中的标题)
UISegmentedControl)在法语MainStoryboard.storyboard.
>在模拟器中,将语言设置为法语.
从Xcode处理应用程序.
结果:这样工作;我的改变的字符串出现在正在运行的应用程序中.
但我想要全部都是喜欢的.我想使用.strings文件来做法语本地化. (这不仅仅是一个奇特的问题,法语的本地化将被转移到非技术的翻译人员,他们不能期望掌握Interface Builder.)所以:
>在Xcode项目中选择基础MainStoryboard.storyboard
航海家.
>在文件检查器中,在本地化下,更改了法语
本地化从“Interface Builder Cocoa Touch Storyboard”到
“本地化字符串”.
>接受Xcode的警告,法国故事板将被丢弃
赞成一个.strings文件,它出现在助理编辑器中.
>做同样的两个编辑;没有错误的问题
字符串,因为它们都被评论为
IBUISegmentedControl … segmentTitles;标签文本不会
出现在.strings文件的其他地方.
>从模拟器中删除应用程序的现有(工作)副本.
应用程序
结果:视图使用基本(原始英文)本地化,而不是加载法语字符串.
这不令人满意.我已经尝试从模拟器中删除应用程序,甚至删除派生数据文件夹.错误仍然存在
正如我所说,我不能将.storyboard文件转换为非技术翻译器.如何让iOS接受.strings文件中的故事板本地化?
解决方法
看这个openradar: http://openradar.appspot.com/radar?id=2159402
你试过本地化其他元素,如UILabels?这应该工作.