新用户界面的iOS情节提要本地化

新用户界面的iOS情节提要本地化,ios,xcode,localization,storyboard,Ios,Xcode,Localization,Storyboard,我在项目中使用Xcode 5。项目需要本地化。Xcode帮助我生成了可本地化的字符串 /* Class = "IBUIButton"; normalTitle = "2013-10-1"; ObjectID = "p5u-h7-pfJ"; */ "p5u-h7-pfJ.normalTitle" = "2013-10-1"; /* Class = "IBUILabel"; text = "Label"; ObjectID = "pBS-eN-YUz"; */ "pBS-eN-YUz.text"

我在项目中使用Xcode 5。项目需要本地化。Xcode帮助我生成了可本地化的字符串

/* Class = "IBUIButton"; normalTitle = "2013-10-1"; ObjectID = "p5u-h7-pfJ"; */
"p5u-h7-pfJ.normalTitle" = "2013-10-1";

/* Class = "IBUILabel"; text = "Label"; ObjectID = "pBS-eN-YUz"; */
"pBS-eN-YUz.text" = "Label";

/* Class = "IBUITextField"; placeholder = "Input Name Here"; ObjectID = "pE4-WG-fPp"; */
"pE4-WG-fPp.placeholder" = "Input Name Here";

/* Class = "IBUILabel"; text = "Detail"; ObjectID = "qSu-Mo-baT"; */
"qSu-Mo-baT.text" = "Detail";

但是如果我想在故事板中添加新的UI,我该怎么做呢。如何添加新的键值?

如果要本地化项目视图,只需转到情节提要单击视图控制器,然后转到文件检查器并单击本地化。。。每种语言都有一个故事板文件。

在故事板中,每个对象都有一个ID。在“实用程序”视图、“身份检查器”拇指、“文档”部分中,有一个字段“对象ID”

我从未使用过这个,但我想,如果您有一个ID为
141 wB KQD
的标签,并且您想设置它的文本属性,那么您必须输入
可本地化的字符串。

"141-wB-KQD.text" = "the value you want";
不确定这是“正确”的方法还是最好的方法,但以下是我所做的:

1) 使任何本地化持续。换句话说,首先尝试确保不需要对基本情节提要进行任何更改。这听起来像是逃避责任,但实际上,这是避免麻烦的最好方法

2) 由于情况并非总是如此,如果确实需要进行更改,可以通过将其从“字符串”更改为“情节提要”,然后再更改回来,将其推送到本地化文件中。这将保留您现有的翻译,并自动处理任何新内容,因此这比直接从捆绑包中删除本地化文件要好

我注意到,这可能会在本地化文件中不时留下一些冗余字符串,有时您必须手动删除它们,否则无法正确编译,但如果有更好的方法,我想知道我自己

  • 为需要更新的区域设置制作故事板的.strings文件的备份副本

  • 在项目导航器中选择情节提要(在左侧Xcode的窗格中),打开文件检查器(右侧窗格)并取消标记该区域设置的复选框

  • 在“是否要删除…”警报中,选中“从磁盘删除本地化资源文件”复选框,然后按“删除”按钮

  • 标记相同的复选框;这将为区域设置生成本地化的资源文件;它将包含所有对象(包括新添加的对象)的条目,但其内容根本不会本地化

  • 将新生成的文件与保存的备份合并-这将恢复您以前执行的所有本地化

  • 定位新对象


  • 您可以在同一个文件中附加更多内容。我已经这样做了,但是如果需要向情节提要中添加新项目,我该怎么做。在Xcode 6.x.x中,这是左侧的第三个选项卡。看起来有点像美国国旗的那个。您可以在其中设置自定义类。