ios – 故事板本地化.strings文件在运行时不会本地化

前端之家收集整理的这篇文章主要介绍了ios – 故事板本地化.strings文件在运行时不会本地化前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
(有类似的问题,有一些答案我已经尝试,发现没有工作,其他人没有答案,我假设因为querents没有提供尽可能多的细节,我将要.)

我从一个故事板开始,对我的应用程序运行良好;它包含的字符串是英文.我想添加一个法语本地化.我做到了

>添加了一个基本本地化,转移
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文件中的故事板本地化?

解决方法

我的UISegmentedControls也有同样的问题.事实证明,iOS 6中有一个错误:.strings storyboard本地化将无法在UISegmentedControl文本和UISearchBar占位符上运行.
看这个openradar: http://openradar.appspot.com/radar?id=2159402

你试过本地化其他元素,如UILabels?这应该工作.

猜你在找的iOS相关文章