1

パラメータを使用する呼び出しごとにコマンドラインをBad entry in file使用するとエラーが発生しますgenstringsNSLocalizedStringtableName

ローカライズされた文字列を生成しようとする場合は、次の例を参照してください ( Firefox-iOSから)

find . -name *.swift | xargs genstrings -o en.lproj

ファイル ./StorageTests/TestSQLiteHistory.swift の不正なエントリ (行 = 100): 引数はリテラル文字列ではありません。

ファイル ./StorageTests/TestSQLiteHistory.swift の不正なエントリ (行 = 101): 引数はリテラル文字列ではありません。

ファイル ./StorageTests/TestSQLiteHistory.swift の不正なエントリ (行 = 102): 引数はリテラル文字列ではありません。

ファイル ./StorageTests/TestSQLiteHistory.swift の不正なエントリ (行 = 103): 引数はリテラル文字列ではありません。引数はリテラル文字列ではありません。

これらの行のコードは次のとおりです

let titleMobile = NSLocalizedString("Mobile Bookmarks", tableName: "Storage", comment: "The title of the folder that contains mobile bookmarks. This should match bookmarks.folder.mobile.label on Android.")
let titleMenu = NSLocalizedString("Bookmarks Menu", tableName: "Storage", comment: "The name of the folder that contains desktop bookmarks in the menu. This should match bookmarks.folder.menu.label on Android.")
let titleToolbar = NSLocalizedString("Bookmarks Toolbar", tableName: "Storage", comment: "The name of the folder that contains desktop bookmarks in the toolbar. This should match bookmarks.folder.toolbar.label on Android.")
let titleUnsorted = NSLocalizedString("Unsorted Bookmarks", tableName: "Storage", comment: "The name of the folder that contains unsorted desktop bookmarks. This should match bookmarks.folder.unfiled.label on Android.")

解決策を探したところ、ローカライズされた文字列を生成およびマージするためのこのツールが見つかりました。このケースでは機能し、ローカライズされた文字列を生成してマージしましLocalizable.stringsたが、実行時にアプリはローカライズされたタイトルを表示しませんStorage.stringsLocalizable.strings

手動で行うのではなく、これらのファイルを自動的に生成するソリューションはありますか?

4

1 に答える 1

0

Appleからの最新の手順に従ってリソースを翻訳する必要があるようです

  1. Xcode を使用してローカリゼーション ファイルをエクスポート.xliffします (Xcode でプロジェクトを選択し、[エディター] -> [ローカリゼーション用にエクスポート])。
  2. 翻訳ツールを使用してすべてのキーを翻訳します ( SwordFishbrightec online xliff editor )
  3. 翻訳されたファイルを Xcode にインポートし直します

参照: https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/LocalizingYourApp/LocalizingYourApp.html

于 2015-12-11T10:50:38.840 に答える