2

自分の国のOpenERPl10nモジュール(勘定科目表)を作成したいと思います。これを2つの言語に翻訳する必要があります。account_chart.xml私は英語で単語を入れました。したがって、単語は静的です。name次の例で、アカウントの値を変換するにはどうすればよいですか。

<record id="chart01" model="account.account.template">
     <field name="code">01</field>
     <field name="parent_id" ref="chart0"/>
     <field name="type">view</field>
     <field name="user_type" ref="account.data_account_type_view"/>
     <field name="name">Expenses</field>
  </record>

たとえば、Expensesという単語を翻訳したいと思います。*.poファイルでこれを構成する方法がわかりません。誰かが私にいくつかの例を見せてもらえますか?乾杯

4

2 に答える 2

4

良い質問!OpenERP ローカリゼーション モジュールを作成するための公式リファレンスは、ドキュメントのこのページですただし、皮肉なことに、ローカリゼーションモジュールを翻訳する必要はほとんどないため、ローカリゼーション モジュールの翻訳方法については説明していません。

ちょっとした文脈:一般的な OpenERP モジュールの記述方法とは対照的に、単一言語の国のローカリゼーション モジュールには、英語で定義してから翻訳するのではなく、その国の言語で直接定義された税金、G/L 勘定などの名前があります。 .po ファイルで。実際、ローカリゼーション データ (税テンプレート、勘定テンプレートなど) の OpenERP モデルでは、翻訳フラグが自発的にオフになっています。理由は簡単です。これらのアイテムの名前が常に翻訳可能なものであれば、すべての OpenERP 翻訳で翻訳する用語のリストに表示されるからです! 各翻訳者チームが、世界のすべての税金と G/L アカウントの名前を自分の言語に翻訳するように依頼された場合、混乱を想像してみてください。これはまったく役に立たないものです。

ベルギーは幸運な多言語国の 1 つですが、勘定科目表を翻訳可能にする (実験的な) 方法があります。

解決策は 3 つあります。

  1. l10n_xx モジュールはモジュールに依存する必要がありl10n_multilangます。この小さなモジュールは、勘定科目表で翻訳するほとんどのフィールドの翻訳フラグをオンにします。またspoken_languages、勘定科目表テンプレート モデルに特別なフィールドを追加し、勘定科目表がインストールされると、対応する翻訳を自動的にロードしようとします (これらの言語が以前に同じデータベースにインストールされている場合)。

  2. spoken_languages勘定科目表の XML 宣言にフィールドを追加する必要があります。その値は、セミコロンで区切られた言語コードのリストである必要があります。各コードは、codeOpenERP にインストールされたときのその言語のフィールドの値です。ソースで利用可能なすべての言語コードのリストを確認できます。たとえば、勘定科目表にフランス語とドイツ語の翻訳を追加する場合は、次の値 XML フィールドを使用できます。
    <field name="spoken_languages">fr_FR;de_DE</field>

  3. 最後になりましたが、他の OpenERP モジュールの場合と同様に、実際に翻訳ファイルを作成する必要があります。理想的には、マスター データ ファイルでは英語の名前を使用する必要があります。英語が公用語の 1 つでない場合は間違いなく扱いにくいため、自国の公用語の 1 つを使用しても問題ありません。次に、l10n_xx.potOpenERP 内の翻訳エクスポート ウィザードを使用して PO テンプレート ファイルをエクスポートし (エクスポート ウィザードでモジュールを選択し、言語は選択しません)、l10n_xx/i18n/モジュールのディレクトリに配置します。最後に、必要な言語 (フランス語など)l10n_xx.potごとに を複製し、 Poeditなどの PO エディターを使用して翻訳を入力することにより、最初の翻訳を作成できます。 についてのドキュメントをチェックしてくださいfr.po
    PO/POT ファイル形式と構成の詳細については、OpenERP の翻訳、およびDReispt の関連する質問(既に言及されています) を参照してください。

上記の手順を実行した後、ローカリゼーション モジュールをインストールする各データベースに翻訳が自動的に読み込まれます (ただし、勘定科目表をインストールする前に、関連するすべての言語をインストールしてください)。

この手法はまだ少し実験的なものなので、説明どおりに機能しないように思われる場合は、ためらわずにバグを報告してください。

PS: 明らかに、これはすべて公式のOpenERP ローカリゼーションドキュメントに記載されている必要があります。そのため、誰かがそうしたい場合は、ドキュメントが公開されており、誰でも直接貢献できることを覚えておいてください ;-)

于 2012-10-18T10:50:56.400 に答える
0

私の経験では、OpenERP によってエクスポートされた .po ファイルには、データ XML ファイル内のテキストが含まれています。nameフィールド値を .po ファイルに含めるには、翻訳可能である必要があると思います。つまり、translated=Trueモデルに含まれている必要があります (account.account.templateこの場合です)。

また、OpenERP モジュールを翻訳する方法を見つけることができますか? 役に立つ質問。

于 2012-10-17T22:34:22.750 に答える