問題タブ [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 - genstring はカスタム #defines で機能しますか?
ローカライズされた文字列を作成するために iOS が持っているマクロは、genstrings
. ただし、次のように、マクロの 1 つの上に独自の #define を作成したいと思います。
本質的に、私は常にメイン バンドルに反対したいので、毎回入力する必要はないと感じています。これはコードではうまく機能しますがgenstrings
、マクロを取得しません。カスタム マクロを取得するためにできることはありますか? man ページで、私がやろうとしていることのように見えるルーチン パラメータがあることを見ましたが、それを機能させることができませんでした。
ios - xCode コマンド ライン ツールで作業するためにターミナルを使用する方法は?
コンテキスト:「xCode->設定->ダウンロード->コンポーネント->コマンドラインツール->インストール」の従来の方法が機能しなかったため、コマンドラインツールを個別にインストールしました。
目的:アプリケーションに国際化/ローカリゼーションを実装する必要があり、Localizable.Strings ファイルの作成にgenstringを使用したいと考えています。
問題:ターミナルを使用して次のようなコマンドを入力しようとすると
$ 検索します。-name *.m | xargs genstrings -o en.lproj
私は得る:
出力ディレクトリ en.lproj に接続できませんでした
ディレクトリのパスはどのように指定すればよいですか? また、一部の *.m ファイルのパスも指定する必要がある場合があります。
注: genstringsのマニュアルを読むように勧められましたが、ターミナルの使用中に特定の xCode プロジェクトを操作する方法がわかりません。
xcode - genstrings で作成された文字列の削除
アプリケーションのローカライズを開始しました。以前genstrings
は localizable.strings を作成していました。これはうまくいきました。今、私はアプリに取り組み、いくつかの文字列を削除してアイコンに置き換えました。genstrings
使用されなくなったすべての文字列を削除するように指示する方法はありますか?
ありがとう
xcode - genstrings -s は引き続き NSLocalizedString* と一致します
これはバグか「機能」のどちらかだと思いますがgenstrings
、誰かがこれに遭遇したか、答えを知っているかどうかを確認したかった. このためのレーダーを開くことを計画していました。
独自のローカリゼーション マクロを使用します。と呼びましょうCustomLocalizedString
。私たちのコード ベースは非常に大きく、多くのサードパーティ ライブラリを使用しています。サードパーティのライブラリの大部分では、ローカライズされた文字列が存在する場合でも、それを望んでいません。ローカライズされた文字列を使用したい場合は、サードパーティのライブラリを変更してCustomLocalizedString
マクロを使用します。気にしない文字列はNSLocalizedString*
マクロを使用しているため、これは問題ではないと考えられていました。
ローカリゼーションは基本的に、問題のあるいくつかの文字列にフラグを立て始めました。少し調べたところ、サードパーティのライブラリからのものであることがわかりました。さらに、存在しないはずの他の文字列も含めていることに気付きました (多数の文字列があります)。マルコを使った弦NSLocalizedString*
です。
したがって、 の呼び出しgenstrings
は次のようになります。
genstrings -o output -s CustomLocalizedString
実際にはxargs
andfind
を使用してファイル引数を作成するので、簡潔にするためにその部分を省略しています。出力に基づいて、と文字列のgenstrings
両方をLocalizable.strings ファイルに入れるように見えます。NSLocalizedString
CustomLocalizedString
さらに確認するには、これでファイルを作成しました:
そして走った:
出力は次のとおりです。
実行man genstrings
すると、次のようになります。
マクロが無視されるように聞こえNSLocalizedString*
ますが、そうではありません。
find
ローカライズしたいサードパーティのライブラリのみを含めることができるように、すでに書き直したことに注意してください。サードパーティのライブラリは基本的にすべて 1 つのディレクトリにあります。CustomLocalizedString
チームには多くの開発者がいるので、サードパーティの lib ディレクトリを含めて、マクロのみを適切に使用できるようにするフラグまたは何かが不足していないかどうかを試してみたいと思います。そうしないと、誰かが私たちがどのように実行しているかを理解していないことが予測genstrings
され、ローカライズする必要のある文字列がリストに追加されていないために、ローカライズする必要がなかったことに突然気付くのが遅すぎますgenstrings
find
。