問題タブ [genstrings]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - Swift で value パラメータを使用すると genstrings がチョークする
を含む基本的なSwiftファイルTest.swift
があります
このファイルで実行するgenstrings
と、予期しない警告が表示されます
生成されたLocalizable.strings
ファイルにエントリがありません"key 1"
ただし、ファイルで以下のコードを使用してObjective-Cで同等のことを行うとTest.m
コマンドはgenstrings
期待どおりに機能し、のエントリを取得し"key 1"
ます。
私は何を間違っていますか?
swift - NSLocalizedString で tableName パラメータを設定すると、genstrings が機能しない
パラメータを使用する呼び出しごとにコマンドラインをBad entry in file
使用するとエラーが発生しますgenstrings
NSLocalizedString
tableName
ローカライズされた文字列を生成しようとする場合は、次の例を参照してください ( Firefox-iOSから)
ファイル ./StorageTests/TestSQLiteHistory.swift の不正なエントリ (行 = 100): 引数はリテラル文字列ではありません。
ファイル ./StorageTests/TestSQLiteHistory.swift の不正なエントリ (行 = 101): 引数はリテラル文字列ではありません。
ファイル ./StorageTests/TestSQLiteHistory.swift の不正なエントリ (行 = 102): 引数はリテラル文字列ではありません。
ファイル ./StorageTests/TestSQLiteHistory.swift の不正なエントリ (行 = 103): 引数はリテラル文字列ではありません。引数はリテラル文字列ではありません。
これらの行のコードは次のとおりです
解決策を探したところ、ローカライズされた文字列を生成およびマージするためのこのツールが見つかりました。このケースでは機能し、ローカライズされた文字列を生成してマージしましLocalizable.strings
たが、実行時にアプリはローカライズされたタイトルを表示しませんStorage.strings
。Localizable.strings
手動で行うのではなく、これらのファイルを自動的に生成するソリューションはありますか?
ios - genstrings によって生成された Localizable.strings の文字エンコーディング
私の「ViewController.swift」には、ローカライズされた文字列があります。
ターミナルで、「Localizable.strings」ファイルを生成するために、次のように入力しました。
そして次の結果を得ました:
と入力するod -c Localizable.strings
と、次のようになります。
と入力file Localizable.strings
すると、次のように表示されます。
「emacs」でファイルを開くと、これらの文字が表示されず、入力すると次のように表示さM-x describe-current-coding-system RET
れます。
したがって、ファイルの先頭にあるこれらの 8 進文字 \377 および \376 は、一種の utf-16-le BOM のように見えます。これは、各文字の後に \0 が続く理由を説明しています (UTF-16 は、この場合はUTF-8)。
これは正常/有用/有害ですか?
また、標準の *nix ツール ( grep
、sed
、awk
) は utf-16 ファイルを適切に処理しません。
また、 Localizable.strings を編集して に置き換え"hello";
ました"Hello";
。それから、「SourceTree」(私の「git」クライアント) は、私がしない限り違いを表示できません。:
Apple のInternationalization and Localization Guide には次のように書かれています。
注: Localizable.strings ファイルが Unicode (UtF-16) であると Xcode が警告する場合は、ファイル インスペクタを使用して Unicode (UTF-8) に変換できます。
では、BOM を削除/無視する必要がありますか?
genstrings
UTF-8 ファイルを生成するオプションはないようです。
ファイルを変換する必要がありますか?
ios - Xcode で Genstrings にアクセスするにはどうすればよいですか?
現在、言語の切り替えに役立つポッドを使用しています。インストール プロセスの一部は次のとおりです。
私は genstrings に精通しておらず、ライターが何を指しているのかよくわかりません。ライターはローカライズされた文字列フォルダーを意味していると推測していますが、ターミナルを実行すると、次のエラーが発生しました。
指示が何を意味するのか分かりますか?