也许这是一个热门话题,但我有一个奇怪的问题(或者更可能是我:))。我正在尝试在XCode 4.5中使用新的本地化工作流程。我正在使用的程序如下:
所以现在我有三个文件夹,例如:
我在en.lproj和it.lproj中有MainStoryboard.strings。
这很酷......
我注意到.strings文件在我修改布局时没有自动填充(添加,删除按钮,标签等)。
我注意到.strings文件在我本地化故事板时就被填充了。要添加新更改,我需要删除本地化并重新本地化。
这样做我放弃了以前的更改,即我需要再次翻译所有字符串。
我的手术有什么问题?
我尝试在Build Phases部分使用.sh,自动更新.strings文件,但问题是一样的,每次文件更新时我都会松开我的翻译......(这听起来像逻辑)。
由于
答案 0 :(得分:3)
诀窍是将本地化的字符串文件转换为文件检查器的“本地化”区域中的本地化故事板文件。
之后,您可以转换回字符串文件,您不会丢失翻译。
答案 1 :(得分:0)
你可以这两种方式。听起来您已经创建了故事板的本地化版本,这很好,但是如果您对默认(英语)故事板进行更改,则必须取消选中意大利语的本地化框。然后重新检查意大利语框,让意大利语故事板获取您对英语故事板所做的任何更改。
...或
您可以将Localizable.strings文件与单个故事板一起使用,并使用NSLocalizedString(@“KEY”,@“comment”)方法以编程方式处理所有文本。创建初始的Localizable.strings文件后,只需将其本地化并将意大利语翻译添加到it.lproj中的文件中。
希望这是有道理的。这里真的发生了两种不同的本地化。第一个是允许系统选择合适的故事板......通常在故事板中翻译文本时使用。第二个是使用适当的Localizable.strings文件作为你app中的文本值。
查看我们的应用程序,它可以为您创建40多个Localization.strings文件(包括翻译)。 https://itunes.apple.com/app/generate-localizable-strings/id572287184?mt=12