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

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


当前回答

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

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

其他回答

这是我将新文本从storyboard或xib更新到本地化字符串的简单方法

1-使用这个脚本http://tredje.se/dev/trouble/?x=entry:entry150917-204052

2-选择你想要更新的本地化字符串,并将你的语言字符串从“本地化字符串”切换到“接口构建器故事板”

3-把它换回来:)

完成了。

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

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

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

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

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

看看ReMafoX吧,这是一个Mac应用程序,可以完美地解决你的问题。它可以很容易地安装和集成到您的项目中,观看这个视频的详细演练。

或者,如果您更喜欢没有GUI的开源CLI工具,也可以使用BartyCrouch。


通过Homebrew安装BartyCrouch:

brew install bartycrouch

或者,通过Mint安装:

mint install Flinesoft/BartyCrouch

增量更新你的Storyboards/XIBs Strings文件:

$ bartycrouch update

这正是你想要的。


为了保持你的Storyboards/ xib Strings文件随着时间的推移而更新,我强烈建议添加一个构建脚本(关于如何添加构建脚本的说明在这里):

if which bartycrouch > /dev/null; then
    bartycrouch update -x
    bartycrouch lint -x
else
    echo "warning: BartyCrouch not installed, download it from https://github.com/Flinesoft/BartyCrouch"
fi

除了增量更新你的故事板/ xib字符串文件,这也将确保你的本地化。字符串文件使用NSLocalizedString在代码中新添加的键保持更新,并显示重复键或空值的警告。

请务必在GitHub上查看BartyCrouch或这篇详细的文章以获取更多信息。

最后,我的解决方案是(基本但有效)复制之前的翻译,并将它们粘贴到通过取消选中本地化语言框创建的新文件中。

这在某些情况下很有用,比如当你只需要更改一两个文本时。

添加一种新的语言进行本地化。一个你不需要的。

它会生产印尼语。例如字符串,它将包含你需要的所有故事板按钮-名称等,复制并粘贴到所有其他语言中。字符串文件。