2016-11-25 38 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