【发布时间】:2019-02-06 20:31:51
【问题描述】:
我有一个应用程序,其中所有面向用户的字符串都使用 NSLocalizableString()。我从未本地化过应用程序,所以我观看了 WWDC 2018 视频New Localization Workflows in Xcode 10。从那里我创建了一个新项目,一个单一视图应用程序。基础本地化默认开启。在情节提要上,我添加了一个 UILabel 并将其限制在视图的中心。我在视图控制器中添加了一个插座:
@IBOutlet weak var label: UILabel!
我在 viewDidLoad 中设置了它的文本:
label.text = NSLocalizedString("Hello World", comment: "")
构建并运行,它工作正常。
现在我添加一个本地化。我选择项目并添加西班牙语。
然后我在编辑器菜单上导出本地化...。我通过这个路径打开文件:
es.xcloc -> LocalizedContents -> es.xliff
在那里我找到“Hello World”键,并将值更改为“Hola Mundo”并保存文件。
...
<file original="MyProject/en.lproj/Localizable.strings" datatype="plaintext" source-language="en" target-language="es">
<header>
<tool tool-id="com.apple.dt.xcode" tool-name="Xcode" tool-version="10.1" build-num="10B61"/>
</header>
<body>
<trans-unit id="Hello World">
<source>Hola Mundo</source>
<note>No comment provided by engineer.</note>
</trans-unit>
</body>
</file>
...
然后回到 Xcode 并导入本地化。这是第一个问题:
为什么这是一个不匹配的翻译?
我继续导入。我将方案编辑如下:
当我跑步时,我得到“HELLO WORLD”。它是大写的,因为这是本地化调试,表明没有翻译。
我错过了什么?
【问题讨论】:
标签: ios xcode localization nslocalizedstring