2016-11-25 42 views
1

我测试的出口/进口本地化流量.xliff文件,如苹果公司的Internationalization and Localization Guide建议后,执行以下操作:空Localizable.strings做进口使用的Xcode 8.1

  1. 创建使用单一视图一个新的iOS项目应用程序模板
  2. 设置视图控制器的标题这样 override func viewDidLoad() { super.viewDidLoad() title = NSLocalizedString("Hello", comment: "Salutation") }
  3. 添加一个新的本地化项目(我选择了意大利)
  4. 出口为意大利本地化.xliff文件使用编辑>出口本地化...命令
  5. 编辑it.xliff文件,并通过使用编辑>导入本地化...翻译"Hello""Ciao"
  6. 导入it.xliff文件命令
  7. Xcode中增加了两个Localizable.strings和InfoPlist.strings文件的项目(在it.lproj文件夹)
  8. 打开Localizable.strings和/或InfoPlist.strings文件,并注意唯一在那里是/* No Localized Strings */

我可以与老式genstrings办法去,但如果有人能使用XLIFF文件指出我在正确的方向,我真的很感激。

回答

1

根据这个帖子:https://www.raywenderlich.com/64401/internationalization-tutorial-for-ios-2014

你必须在你的类添加所有的硬编码键Localizable.strings(英文)

所以,你必须做的是:

变化

title = NSLocalizedString("Hello", comment: "Salutation") 

title = NSLocalizedString("general.greeting", comment: "Salutation") 

然后,将它添加到您的Localizable.strings(英文):

"general.greeting" = "Hello"; 

然后,出口本地化,这样的事情会被写在.xliff文件:

<trans-unit id="general.greeting"> 
    <source>Hello</source> 
    <note>Salutation</note> 
</trans-unit> 

加入您的对于意大利问候本地化版本使用<target></target>

<trans-unit id="general.greeting"> 
    <source>Hello</source> 
    <target>Ciao</target> 
    <note>Salutation</note> 
</trans-unit> 

导入本地化和禄alizable.strings(意大利语)应包含本地化。

+1

现在我看到了我的工作流程的问题:在使用**编辑器>导出本地化之前,Localizable.strings文件需要存在于所有本地化** **(我的理解是它们已创建在导入.xliff文件时)。 – marco

+1

是的不幸的是,XCode不会自动创建它 – Santina