問題タブ [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.

0 投票する
1 に答える
926 参照

ios - genstring はカスタム #defines で機能しますか?

ローカライズされた文字列を作成するために iOS が持っているマクロは、genstrings. ただし、次のように、マクロの 1 つの上に独自の #define を作成したいと思います。

本質的に、私は常にメイン バンドルに反対したいので、毎回入力する必要はないと感じています。これはコードではうまく機能しますがgenstrings、マクロを取得しません。カスタム マクロを取得するためにできることはありますか? man ページで、私がやろうとしていることのように見えるルーチン パラメータがあることを見ましたが、それを機能させることができませんでした。

0 投票する
1 に答える
3253 参照

ios - xCode コマンド ライン ツールで作業するためにターミナルを使用する方法は?

コンテキスト:「xCode->設定->ダウンロード->コンポーネント->コマンドラインツール->インストール」の従来の方法が機能しなかったため、コマンドラインツールを個別にインストールしました。

目的:アプリケーションに国際化/ローカリゼーションを実装する必要があり、Localizable.Strings ファイルの作成にgenstringを使用したいと考えています。

問題ターミナルを使用して次のようなコマンドを入力しようとすると

$ 検索します。-name *.m | xargs genstrings -o en.lproj

私は得る:

出力ディレクトリ en.lproj に接続できませんでした

ディレクトリのパスはどのように指定すればよいですか? また、一部の *.m ファイルのパスも指定する必要がある場合があります。

注: genstringsのマニュアルを読むように勧められましたが、ターミナルの使用中に特定の xCode プロジェクトを操作する方法がわかりません。

0 投票する
1 に答える
124 参照

xcode - genstrings で作成された文字列の削除

アプリケーションのローカライズを開始しました。以前genstringsは localizable.strings を作成していました。これはうまくいきました。今、私はアプリに取り組み、いくつかの文字列を削除してアイコンに置き換えました。genstrings使用されなくなったすべての文字列を削除するように指示する方法はありますか?

ありがとう

0 投票する
0 に答える
638 参照

xcode - genstrings -s は引き続き NSLocalizedString* と一致します

これはバグか「機能」のどちらかだと思いますがgenstrings、誰かがこれに遭遇したか、答えを知っているかどうかを確認したかった. このためのレーダーを開くことを計画していました。

独自のローカリゼーション マクロを使用します。と呼びましょうCustomLocalizedString。私たちのコード ベースは非常に大きく、多くのサードパーティ ライブラリを使用しています。サードパーティのライブラリの大部分では、ローカライズされた文字列が存在する場合でも、それを望んでいません。ローカライズされた文字列を使用したい場合は、サードパーティのライブラリを変更してCustomLocalizedStringマクロを使用します。気にしない文字列はNSLocalizedString*マクロを使用しているため、これは問題ではないと考えられていました。

ローカリゼーションは基本的に、問題のあるいくつかの文字列にフラグを立て始めました。少し調べたところ、サードパーティのライブラリからのものであることがわかりました。さらに、存在しないはずの他の文字列も含めていることに気付きました (多数の文字列があります)。マルコを使った弦NSLocalizedString*です。

したがって、 の呼び出しgenstringsは次のようになります。

genstrings -o output -s CustomLocalizedString

実際にはxargsandfindを使用してファイル引数を作成するので、簡潔にするためにその部分を省略しています。出力に基づいて、と文字列のgenstrings両方をLocalizable.strings ファイルに入れるように見えます。NSLocalizedStringCustomLocalizedString

さらに確認するには、これでファイルを作成しました:

そして走った:

出力は次のとおりです。

実行man genstringsすると、次のようになります。

マクロが無視されるように聞こえNSLocalizedString*ますが、そうではありません。

findローカライズしたいサードパーティのライブラリのみを含めることができるように、すでに書き直したことに注意してください。サードパーティのライブラリは基本的にすべて 1 つのディレクトリにあります。CustomLocalizedStringチームには多くの開発者がいるので、サードパーティの lib ディレクトリを含めて、マクロのみを適切に使用できるようにするフラグまたは何かが不足していないかどうかを試してみたいと思います。そうしないと、誰かが私たちがどのように実行しているかを理解していないことが予測genstringsされ、ローカライズする必要のある文字列がリストに追加されていないために、ローカライズする必要がなかったことに突然気付くのが遅すぎますgenstrings find