4

XLIFFを使用して、企業内のローカリゼーションの取り組みを標準化することを検討しています。私はxliffに非常に慣れておらず、いくつかの調査を行った後、それを使用するための次の一般的なプロセスを考え出しました。

  1. 開発プロジェクトリソース(.Netの場合は.resx、Javaの場合は.properties)から文字列を抽出します-私が見つけたようにそれを行う良い方法は、Okapi Localization ToolboxからRainbowを使用することです-そして、「ユーティリティ=>翻訳キットの作成」コマンドを使用します
  2. 次に、たとえばVirtaalアプリケーションを使用して、 http: //www.opentag.com/okapi/wiki/index.php?title = How_to_Translate_XLIFF_Documentsで説明されているように、抽出されたファイルを翻訳し ます。
  3. そして最後に、翻訳されたxliffを元の形式(resx /properties)に変換し直します。これはRainbowでも可能です。「ユーティリティ=>翻訳キットの後処理」

これまでのところすべてが明確ですが、文字列リソースを追加または変更する際のベストプラクティスを知りたいですか?元の形式(resx /プロパティ)で文字列リソースに新しい文字列が追加されるたびに、すべてのリソースが再変換されることを望まない

これは、翻訳のバージョン管理がサポートされている場合にも役立ちます。同じバージョンでマークされている場合、複数の言語の翻訳が統合されます(同じ文字列のセットが提供されます)。また、新しい文字列が追加されたり、既存の文字列が変更されたりすると、バージョンが更新されます。

このためのすぐに使えるソリューションはありますか?それとも、私たちが自分で構築しなければならないものですか?

編集:

OkapiRainbowのPipelineライブラリでDiffLeverageステップを見つけましたが、それを機能させるのに苦労しています。これが2つのxliffファイルです。1つ目は、フランス語に翻訳されたリソースの最初のバージョンであり、2つ目は、次の変更を加えた新しいバージョンのリソースから生成されたファイルです。

  • 1つの文字列が更新されました(AdminTitleResourceは管理リソースになりました)

  • 1つの文字列が削除されました(HomeLinkResourceはなくなりました)

  • 2つの新しい文字列が追加されました(プロジェクトと会社)

ただし、Diff Leverageパイプラインを実行しても、翻訳のスマートなマージは生成されません。なぜ何かアイデアはありますか?

以前のバージョンのリソースの翻訳されたxliff:

<?xml version="1.0" encoding="windows-1252"?><xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:okp="okapi-framework:xliff-extensions" version="1.2">
<file original="/Messages.resx" source-language="en-us" target-language="fr-fr" datatype="xml">
<body>
<trans-unit id="1" resname="AccessDenied" xml:space="preserve" approved="yes">
<source xml:lang="en-us">Access denied</source>
<target xml:lang="fr-fr" state="translated">Accès refusé    </target>
<note>Error message</note>
</trans-unit>
<trans-unit id="2" resname="AdminTitleResource" xml:space="preserve" approved="yes">
<source xml:lang="en-us">Administration</source>
<target xml:lang="fr-fr" state="translated">Administration</target>
<note></note>
</trans-unit>
<trans-unit id="3" resname="HomeLinkResource" xml:space="preserve" approved="yes">
<source xml:lang="en-us">Main page</source>
<target xml:lang="fr-fr" state="translated">Page web principale</target>
<note></note>
</trans-unit>
<trans-unit id="4" resname="SelectCategoriesResource" xml:space="preserve" approved="yes">
<source xml:lang="en-us">Categories</source>
<target xml:lang="fr-fr" state="translated">Catégories</target>
<note></note>
</trans-unit>
<trans-unit id="5" resname="SelectConfigResource" xml:space="preserve">
<source xml:lang="en-us">Configuration</source>
<target xml:lang="fr-fr" state="needs-review-translation">Paramètres</target>
<note></note>
</trans-unit>
<trans-unit id="6" resname="SelectGroupsResource" xml:space="preserve">
<source xml:lang="en-us">User groups</source>
<target xml:lang="fr-fr" state="needs-review-translation">Utiliser le groupe</target>
<note></note>
</trans-unit>
</body>
</file>
</xliff>

翻訳が必要な文字列のみを含むXLIFFファイルを取得するにはどうすればよいですか?

上記の変更を含む新しいファイル:

<?xml version="1.0" encoding="windows-1252"?><xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:okp="okapi-framework:xliff-extensions" version="1.2">
<file original="/Messages_v2.resx" source-language="en-us" target-language="fr-fr" datatype="xml">
<body>
<trans-unit id="1" resname="AccessDenied" xml:space="preserve">
<source xml:lang="en-us">Access denied</source>
<target xml:lang="fr-fr">Access denied</target>
<note>Error message</note>
</trans-unit>
<trans-unit id="2" resname="AdminTitleResource" xml:space="preserve">
<source xml:lang="en-us">Administration Resource</source>
<target xml:lang="fr-fr">Administration Resource</target>
<note></note>
</trans-unit>
<trans-unit id="3" resname="SelectCategoriesResource" xml:space="preserve">
<source xml:lang="en-us">Categories</source>
<target xml:lang="fr-fr">Categories</target>
<note></note>
</trans-unit>
<trans-unit id="4" resname="SelectConfigResource" xml:space="preserve">
<source xml:lang="en-us">Configuration</source>
<target xml:lang="fr-fr">Configuration</target>
<note></note>
</trans-unit>
<trans-unit id="5" resname="SelectGroupsResource" xml:space="preserve">
<source xml:lang="en-us">User groups</source>
<target xml:lang="fr-fr">User groups</target>
<note></note>
</trans-unit>
<trans-unit id="6" resname="Project" xml:space="preserve">
<source xml:lang="en-us">Project</source>
<target xml:lang="fr-fr">Project</target>
<note></note>
</trans-unit>
<trans-unit id="7" resname="Company" xml:space="preserve">
<source xml:lang="en-us">Company</source>
<target xml:lang="fr-fr">Company</target>
<note></note>
</trans-unit>
</body>
</file>
</xliff>
4

1 に答える 1

3

ここにこれに対する答えがあります:http: //tech.groups.yahoo.com/group/okapitools/message/2494


編集:リンクされたメッセージの内容

こんにちはポール、

私は、diffレバレッジを使用して翻訳エクスペリエンスを向上させ、既存の翻訳を追加/変更/削除された文字列を含む新しいバージョンのドキュメントとマージ/レバレッジするときに更新xliffファイルを取得する方法を理解しようとしています。

ジムが指摘したように、XLIFFファイルを使用すると、IDベースの手順を利用できる場合があります。

ただし、Diffレバレッジステップも機能します。これを行う方法は次のとおりです。

XLIFFファイルがあり、それらを更新したいだけだと思います。翻訳キットの作成など、追加の処理を行うパイプラインを作成することもできますが、これにより、処理が単純になります。

まず、新しいソースファイルを入力リスト1に入れ、翻訳されたファイルを入力リスト2に入れる必要があります。

次に、次のパイプラインを作成できます。

  • イベントをフィルタリングするための生のドキュメント
  • 差分レバレッジ
  • イベントを未加工のドキュメントにフィルタリングする

Diff Leverageステップのパラメーターで、「Copy to /overthetarget」オプションが設定されていることを確認します。

次に、パイプラインを実行します。

元の新しいファイルと出力ファイルの比較(compare_out.html)を添付しました。ご覧のとおり、活用できるすべてのテキストが出力に含まれています。エントリ'AdminTitleResource'は、翻訳されたファイルのソースが異なるため翻訳されません。また、2つの新しいエントリも翻訳されません。

また、翻訳が行われたことを示すために存在する新しい属性authorized='yes'にも注意してください。その追加のフラグを使用して、変換が必要なエントリと活用されたエントリを区別できます。

何らかの理由で、レバレッジされたエントリの2つにそれがありません。それを確認して報告する必要があります。それはバグか、私が覚えていない何らかの状態である可能性があります(おそらくジムは覚えています)。

Idベースのコピー手順はほとんど改善される可能性があります。エントリの名前を照合することにより、翻訳されたテキストをコピーします。現在、ソーステキストを参照していないため、新しいソースが異なっていても翻訳を取得できます(「活用」ステップではありません)。ただし、その追加のチェックを行うオプションを追加することもできます。これにより、ステップはレバレッジステップのように機能します。私はこれを行う時間を見つけようとします。

これがお役に立てば幸いです、-yves

于 2011-12-15T13:53:14.290 に答える