我本地化了我的应用程序的一部分,创建一个基础。Lproj storyboard和3个字符串文件。这是一个月前,之后我添加了新的视图控制器到应用程序,但这个控制器的按钮和标签没有出现在字符串文件

是否有可能更新这3故事板附加字符串文件或我必须添加新的字符串翻译与使用NSLocalizableString和Localizable.strings编程?


当前回答

当你在故事板中点击Main。例如故事板……在右边你可以看到本地化菜单(见所附图片)。如果取消选中,再选中一种语言,文件将重新生成。所以我通常复制内容,再次生成文件,然后粘贴我复制的和已经翻译好的内容。

这是我用来更新字典的方法。

其他回答

苹果有一款名为AppleGlot的命令行工具,支持增量本地化。我还没有尝试过,但它看起来完全像你(一段时间前)搜索的工具。

我认为最好的方法是使用内置的导出/导入本地化:

在项目导航器中选择您的项目文件夹 选择编辑器>导出本地化, 所有的翻译都留在原来的位置,XCode会自动添加遗漏的字符串。 此外,在导入之前,你可以在XLIFF编辑器中编辑. XLIFF(例如,online - http://xliff.brightec.co.uk),然后你不需要在XCode中这样做。 然后编辑>导入本地化并选择已保存的.xliff文件。

注:如果你不想在XLIFF编辑器中编辑,并且跳过了步骤3,XCode不能保存新字符串。在这种情况下,在XLIFF编辑器中打开. XLIFF,重新保存,不做任何更改,并导入新文件。

最简单且风险较小的方法是,从storyboard中复制Object ID,并为本地化文件中的key添加一个新key,如下所示:

1:从storyboard中为组件复制下面的对象id:

2:在本地化文件中添加新键,如下所示:

"DjF-dn-0ay.text" = "Borrar datos y restablecer";

注意:如果你只想更新几个组件,这是非常低风险的方法,否则你可以为故事板重新创建本地化文件。

这个方法并不适用于所有人,但是它不需要在终端中使用额外的工具,而且很容易进行小的手动更改。(当您希望自动化您的流程时,不要考虑这一点。)

步骤0:故事板语言设置

基地(附英文本) 英文(可本地化字符串文件不存在,因为基础文件是英文) 其他语言(可本地化的字符串文件)

此步骤只执行一次。

现在,当我向故事板添加一些东西时,我执行以下操作

步骤1:添加英文本地化字符串文件

只需标记英文行项目。

这将创建一个全新的英文本地化字符串文件

步骤2:将新的行项目复制到其他语言文件中

然后翻译

第三步:取消英文标记,删除相应的本地化字符串文件

该文件只需要获取新的行项

这是一个简单快速的过程,一切都在故事板编辑器中完成

编辑:

这个过程对于小型故事板非常有效。例如,我有一个基于选项卡的项目,每个选项卡都有一个故事板。

搜索“storyboard reference”找到教程。

好的例子:在Xcode中,我们应该在哪里使用Storyboard引用?

每个小故事板只有几个字符串需要本地化。

下面是一个从故事板和xib中提取字符串的脚本,并将它们与现有的翻译合并。

若要在构建项目时自动运行脚本,请将脚本放入项目根目录,并在项目设置中的目标构建阶段中添加带有下面一行的“运行脚本”阶段。

./mergegenstrings.py PathToSourceDir

如果需要,也可以在终端上手动运行脚本。

脚本运行ibtool,正如Tha Leang回答的那样。它还运行genstrings来提取和合并源代码中标记有NSLocalizedString的字符串。该脚本基于本文中的一个脚本,该脚本在运行genstrings后合并字符串。