2

ここの人々が国際化とgitでプロセスを共有できるかどうか疑問に思っていました. 私は、.strings ファイルを送信するたびに差分が必要な国際化チームと協力しています。プロセスの観点から私が考えていたのは次のとおりです。

  1. コードベースで genstrings を実行して、すべての NSLocalizedStrings を抽出します。これにより、.strings ファイルが生成されます。
  2. この .strings ファイルを、同じファイルの以前のリビジョンと比較します。この以前のリビジョンは、国際化チームに .strings ファイルを最後に送信したときのものです。したがって、diff には、最後に .strings ファイルを送信してからの、プロジェクト内のすべての文字列の変更が含まれている必要があります。
  3. これで差分ファイルができました。スクリプトを使用して、この diff ファイルを変更し、追加と変更のみを含めます。このスクリプトの出力により、.strings ファイルが生成されます。これは、国際化チームが必要としている .strings ファイルです。
  4. 国際化プロセスが終了すると、この .strings ファイルの n 個のインスタンス (言語ごとに 1 個) が残ります。次に、これらの .strings ファイルをそれぞれプロジェクトに統合する必要があります。
  5. アプリケーションがサポートする言語ごとに、キーを取得し、元の .strings ファイルで同じキーを検索します。元の .strings ファイルにキーが存在する場合は、元の .strings ファイルの値を差分ファイルの値に置き換えます。元の .strings ファイルにキーが存在しない場合は、新しいキーと値のペアを元の .strings ファイルの末尾に追加します。

上記の 3 番目と 5 番目はスクリプトを作成する必要があり、それが私の質問につながります。

3 番目に、「git diff」は、追加または変更のみを含む .diff ファイルを生成するのに十分な構成可能ですか? 追加または変更のみを含めるコマンドがどのように見えるか知っている人はいますか? 「git diff」が必要な出力を生成するのに十分な柔軟性がない場合、目的の出力を生成するスクリプトを知っている人はいますか?

5 番目に、これを既に処理しているスクリプトを知っている人はいますか?

誰かが iOS アプリの国際化プロセスを処理するためのより良い方法を提案できれば、私はすべて耳にします。

ありがとう、

ショーン

4

1 に答える 1

0

英語の文字列ファイルを含む元のリポジトリをアップロードすると、ローカライズを行っている人は誰でもプロジェクトをフォークし、文字列を調整し、フォークにコミットしてプル リクエストを開くことができます。それらの変更を取り込み、元のファイルとマージします。Git/GitHub は、この厄介なマージをすべて行ってくれます。

文字列が XIB からのものである場合は、再度 GENStrings を使用して、レポ内の新しくマージされた文字列ファイルを XIB と統合できます。

Applingua の Rob (Git を使用するアプリ ローカリゼーション エージェンシー)

于 2012-10-30T12:48:41.203 に答える