Gia*_*nzi 40 localization interface-builder uistoryboard ios7 xcode5
我刚开始看看IOS Apps在XCode 5中的本地化,我试图添加一个意大利语本地化:

Xcode 5自动生成带有单个条目的Main.strings文件,这是我在Main.storyboard文件中放置的唯一标签:
/* Class = "IBUILabel"; text = "Label"; ObjectID = "PeT-4z-NSf"; */
"PeT-4z-NSf.text" = "Etichetta";
Run Code Online (Sandbox Code Playgroud)

如果我稍后修改Main.storyboard文件向视图中添加一个新按钮,那么如果可能的话,我应该如何告诉Xcode 5将缺少的本地化字符串添加到Main.strings文件中?我应该通过查看Interface Builder中的对象ID字段手动添加新条目(它可以工作,但我不知道这是否是更新故事板本地化的意义)?我可以在Main.storyboard文件上运行类似genstrings的东西来提取所有标签的文本并将新的文本添加到本地化的Main.strings文件中吗?
Jee*_*hut 20
结帐BartyCrouch,它完美地解决了您的问题.它也是开源的,积极维护的,可以轻松安装和集成到您的项目中.
通过Homebrew 安装 BartyCrouch :
brew install bartycrouch
Run Code Online (Sandbox Code Playgroud)
或者,通过Mint安装它:
mint install Flinesoft/BartyCrouch
Run Code Online (Sandbox Code Playgroud)
逐步更新 Storyboards/XIBs Strings文件:
$ bartycrouch update
Run Code Online (Sandbox Code Playgroud)
这将完全符合您的要求.
为了使 Storyboards/XIBs 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
Run Code Online (Sandbox Code Playgroud)
除了逐步更新Storyboards/XIBs Strings文件之外,还将确保您的Localizable.strings文件使用代码中新添加的密钥保持更新,NSLocalizedString并显示重复键或空值的警告.
请务必在GitHub上查看BartyCrouch以获取更多信息.
Rah*_*hav 18
Xcode没有自动更新的文件(至少5.x版本没有)是应用程序的Localizable Strings.您可以Main.storyboard按如下方式构建一个新文件:
在项目导航器(最左侧窗格)中单击该Main.storyboard文件.在"实用工具"窗格(最右侧窗格)中,单击" 显示文件"检查器图标.它是下图中最左边的蓝色图标:
.
在将出现的右窗格中,其中一个部分将是" 本地化":

取消选中该English (Localizable Strings)行,在弹出的窗口中选中" 从磁盘删除本地化资源文件",然后单击" 删除"按钮(您不必检查删除,在这种情况下,Xcode会要求您在构建时覆盖它的权限下一个).
然后English (Localizable Strings)再次检查以从头开始构建它.
使用Xcode 6,以下为我工作:
我将语言的本地化从"Localizable Strings"更改为"Interface Builder ...",就像h.orim发布的SO问题中所建议的那样.但是设置没有改变,它仍然被设置为"Localizable Strings".现在的下一步是再次执行此操作,因此Xcode将找到它刚刚创建的Storyboard并显示一个提示,询问是否应该使用或替换它.现在点击"使用文件"而不是"替换",否则会再次发生同样的情况.
现在,您应该拥有所需语言的本地化Storyboard.现在切换回"Localizable Strings"后,您将拥有一个文件,其中包含故事板中使用的所有当前字符串,并且您之前的翻译仍然存在.
另一种方法是通过在情节提要上选择要翻译的字段来手动完成。转到“身份检查器”并复制对象 ID(类似于 HP8-op-SmX)。
之后,打开故事板语言文件(Main.strings,大多数情况下)并通过对象 ID。根据您的需要,您只需添加 .text 或 .placeholder。
"HP8-op-SmX.placeholder" = "My translated placeholder text";
"HP9-op-VvD.text" = "My translated text";
Run Code Online (Sandbox Code Playgroud)
保存、清理和构建。这有点痛苦,但如果您只需要翻译很少的东西,可以节省很多时间。
小智 4
为此,您可以使用名为 UpdatStoryboardStrings 的脚本!
在这里获取: https: //github.com/AppliedIS/iOSL10n
使用说明:http://blog.appliedis.com/2013/05/22/localization-of-an-xcode-ios-app-part-2 /
| 归档时间: |
|
| 查看次数: |
21508 次 |
| 最近记录: |