首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基础本地化+ Storyboard + .strings ->无本地化

基础本地化+ Storyboard + .strings ->无本地化
EN

Stack Overflow用户
提问于 2013-02-26 16:20:32
回答 4查看 12.5K关注 0票数 9

Xcode 4.6,目标iOS 6,SDK iOS 6.1

我从一个故事板开始,它很适合我的应用程序;它包含的字符串是英文的。我想增加一个法语本地化。我做了这个:

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

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

但我想变的花哨。我想使用.strings文件进行法语本地化。(这不仅仅是一个花哨的问题,法语本地化将移交给非技术翻译,他们不可能掌握Interface。)所以:

  • 在Xcode项目导航器中选择基本MainStoryboard.storyboard。
  • 在“文件检查器”中,“本地化”下,法语本地化从“”更改为"Localizable“。
  • 接受了Xcode的警告,即法语故事板将被丢弃,以支持出现在助手编辑器中的.strings文件。
  • 做了同样的两个编辑;毫无疑问,它们是错误的字符串,因为它们都被注释为IBUISegmentedControl...segmentTitles;标签文本在.strings文件中没有出现在其他地方。
  • 从模拟器中删除了应用程序的现有(工作)副本。
  • 运行应用程序。

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

转换到Autolayout没有任何效果。从模拟器中删除应用程序没有效果。删除派生产品目录没有任何效果。堆栈溢出建议使用ibtool来生成.strings文件,而不是Xcode;两个生成的文件是相同的。

这是不令人满意的。正如我所说的,我不能将.storyboard文件交给非技术翻译。如何让iOS接受.strings文件中的情节提要本地化?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-05-28 11:14:12

我希望你已经解决了。我也有同样的问题(用意大利语翻译),我用这种方法解决了这个问题:

1)文件Localizable.string在it.lproj中的应用

2)在需要时使用NSLocalizedString (@ "TEST",@“注释”)方法

3)在构建阶段添加Localizable.string ->复制绑定资源最后一步不是iOS 5.1中的必要步骤。

我解决了,多亏了Cocoanetics对Base internationalization and multiple storyboard not working right问题的回应

票数 3
EN

Stack Overflow用户

发布于 2013-07-06 22:47:09

使用本地化字符串设置启用英语本地化复选框:

清理您的构建文件夹(⌥⇧⌘K)并重新构建。

票数 4
EN

Stack Overflow用户

发布于 2014-01-28 19:34:19

为了添加到clean的答案中去做一个干净的构建,它也有助于从iOS模拟器中删除应用程序。

这可能与什么John Hess's answer describes有关。

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

https://stackoverflow.com/questions/15094086

复制
相关文章

相似问题

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