3

也许这是一个热门问题,但我有一个奇怪的问题(或者更可能是我:))。我正在尝试使用 XCode 4.5 中的新本地化工作流。我正在使用的程序如下:

  1. 创建项目
  2. 使用基本语言本地化 MainStoryboard。
  3. 添加新语言。

所以现在我有三个文件夹,例如:

  1. base.lproj
  2. en.lproj
  3. 它.lprj

我在 en.lproj 和 it.lproj 中有 MainStoryboard.strings。

这很酷...

我注意到 .strings 文件在我修改布局(添加、删除按钮、标签等)时不会自动填充。

我注意到 .strings 文件在我本地化情节提要时被填充。要添加新更改,我需要删除本地化并重新本地化。

这样做我会丢失我之前的更改,即我需要再次翻译所有字符串。

我的程序有什么问题?

我也尝试在 Build Phases 部分使用 .sh 自动更新 .strings 文件,但问题是一样的,每次更新文件时我都会丢失我的翻译......(这听起来很逻辑)。

谢谢

4

2 回答 2

3

诀窍是将本地化的字符串文件转换为文件检查器的本地化区域中的本地化故事板文件。

文件检查器的本地化区域.

之后,您可以转换回字符串文件,并且不会丢失您的翻译。

于 2013-01-16T10:32:13.707 回答
0

你可以通过两种方式做到这一点。听起来您已经创建了情节提要的本地化版本,这很好,但是如果您对默认(英语)情节提要进行更改,则必须取消选中意大利语的本地化框。然后重新选中意大利语框以使意大利语情节提要获取您对英语情节提要所做的任何更改。

或者...

您可以将 Localizable.strings 文件与单个故事板一起使用,并使用 NSLocalizedString(@"KEY",@"comment") 方法以编程方式处理所有文本。创建初始 Localizable.strings 文件后,只需将其本地化并将意大利语翻译添加到 it.lproj 文件中。

希望这是有道理的。这里确实发生了两种不同的本地化。第一个是允许系统选择适当的故事板。这通常在您翻译故事板中的文本时使用。第二个是为您的应用程序中的文本值使用适当的 Localizable.strings 文件。

查看我们的应用程序,它可以为您创建 40 多个 Localization.strings 文件(包括翻译)。 https://itunes.apple.com/app/generate-localizable-strings/id572287184?mt=12

于 2014-04-23T16:53:23.383 回答