1

フィールドごとに言語を指定することはできますか? たとえば、レポートは多言語になるため、同じレポートで同じフィールドを 2 つの言語に翻訳する必要があります。レポートは 2 つの部分に分かれています。最初の部分は 1 つの言語で、2 番目の部分は別の言語です。したがって、両方の部分のフィールドは同じですが、異なる言語に翻訳する必要があります。

function があることは知っていますがsetLang()、それを 2 回使用すると、何らかの理由で一方の言語が他方の言語をオーバーライドします。助言がありますか?

PS私はここでこの質問をしました:http://help.openerp.com/question/29996/set-two-languages-in-rml-report/、しかし誰も答えなかったので、スタックオーバーフローの誰かがそれについて知っているかもしれないと考えました。 .

4

2 に答える 2

1

RML レポートで多言語を使用するのはさらに簡単です。

いずれにせよ、純粋なテキスト/文字列は OpenERP ローカリゼーションによって処理されます。(言語ごとに、これらの小さな .po 翻訳ファイルを使用して翻訳する必要があります)

レポートで使用する言語を次のように動的に設定する必要があります。

[[ setLang(o.partner_id.lang) ]]

ここでは、パートナーの言語を使用します (例は請求書レポートからのものです)。

'o' は、その前のストーリーのどこかに定義する必要があります (通常: [[ repeatIn(objects,'o') ]]) レポート全体でこの言語が使用されます。

数値をフォーマットするには (小数点のフォーマットが最適な例です)、次のような formatLang() 関数を使用する必要があります。

formatLang(o.taxed_amount, digits=2)

取得するため

DE --> 23,25

米国 --> 23.25

または通貨を使用するため

formatLang(o.amount_untaxed, digits=2, currency_obj=o.currency_id)

または日付/日時のフォーマット用

formatLang(o.date_invoice, date=True)

OpenERP は、Settings->Translations->Languages (v7) で見つけられる言語から言語オプションを使用しようとします。

ヒント: setLang() を使用しない場合、OpenERP はログインしているユーザーの言語を使用します。

于 2014-01-25T09:29:40.900 に答える