我本地化了我的应用程序的一部分,创建一个基础。Lproj storyboard和3个字符串文件。这是一个月前,之后我添加了新的视图控制器到应用程序,但这个控制器的按钮和标签没有出现在字符串文件
是否有可能更新这3故事板附加字符串文件或我必须添加新的字符串翻译与使用NSLocalizableString和Localizable.strings编程?
我本地化了我的应用程序的一部分,创建一个基础。Lproj storyboard和3个字符串文件。这是一个月前,之后我添加了新的视图控制器到应用程序,但这个控制器的按钮和标签没有出现在字符串文件
是否有可能更新这3故事板附加字符串文件或我必须添加新的字符串翻译与使用NSLocalizableString和Localizable.strings编程?
当前回答
xliftool是一个Mac应用程序,运行良好。它显示了info中所有可翻译的字符串和对象。Plist,可本地化字符串,还有故事板。
mac版的下载地址:https://itunes.apple.com/lv/app/xlifftool/id1074282695?mt=12
第一步:在Xcode中,在项目导航器中选择你的项目文件夹。然后选择编辑器/导出本地化…
你的可翻译字符串将包含在xliff文件中,在Xcode中本地化你所选择的语言下。
步骤2:用xliftool打开该文件,翻译或更新之前完成的翻译。
步骤3:然后用编辑器上传回你的项目/导入本地化…
其他回答
这是我将新文本从storyboard或xib更新到本地化字符串的简单方法
1-使用这个脚本http://tredje.se/dev/trouble/?x=entry:entry150917-204052
2-选择你想要更新的本地化字符串,并将你的语言字符串从“本地化字符串”切换到“接口构建器故事板”
3-把它换回来:)
完成了。
这个方法并不适用于所有人,但是它不需要在终端中使用额外的工具,而且很容易进行小的手动更改。(当您希望自动化您的流程时,不要考虑这一点。)
步骤0:故事板语言设置
基地(附英文本) 英文(可本地化字符串文件不存在,因为基础文件是英文) 其他语言(可本地化的字符串文件)
此步骤只执行一次。
现在,当我向故事板添加一些东西时,我执行以下操作
步骤1:添加英文本地化字符串文件
只需标记英文行项目。
这将创建一个全新的英文本地化字符串文件
步骤2:将新的行项目复制到其他语言文件中
然后翻译
第三步:取消英文标记,删除相应的本地化字符串文件
该文件只需要获取新的行项
这是一个简单快速的过程,一切都在故事板编辑器中完成
编辑:
这个过程对于小型故事板非常有效。例如,我有一个基于选项卡的项目,每个选项卡都有一个故事板。
搜索“storyboard reference”找到教程。
好的例子:在Xcode中,我们应该在哪里使用Storyboard引用?
每个小故事板只有几个字符串需要本地化。
下面是一个从故事板和xib中提取字符串的脚本,并将它们与现有的翻译合并。
若要在构建项目时自动运行脚本,请将脚本放入项目根目录,并在项目设置中的目标构建阶段中添加带有下面一行的“运行脚本”阶段。
./mergegenstrings.py PathToSourceDir
如果需要,也可以在终端上手动运行脚本。
脚本运行ibtool,正如Tha Leang回答的那样。它还运行genstrings来提取和合并源代码中标记有NSLocalizedString的字符串。该脚本基于本文中的一个脚本,该脚本在运行genstrings后合并字符串。
苹果有一款名为AppleGlot的命令行工具,支持增量本地化。我还没有尝试过,但它看起来完全像你(一段时间前)搜索的工具。
最后,我的解决方案是(基本但有效)复制之前的翻译,并将它们粘贴到通过取消选中本地化语言框创建的新文件中。
这在某些情况下很有用,比如当你只需要更改一两个文本时。