Odooの日本語表示を調整する ― 翻訳の仕組みと調整方法

2024年6月14日のOdooオープントークで使用した資料です。Odooの日本語表示が思いどおりにならないとき、どこをどう触ればよいのかを、翻訳の仕組みから説明しています。

なお、この発表の後にOdoo本体の翻訳プラットフォームはTransifexからWeblateへ移行しました。現在の作業手順は別途公開しているWeblateの資料をご覧ください。

取り上げている内容

  • 何が翻訳対象になるのか ―― 項目ラベル、メニュー、ボタン、ヘルプテキスト、レポート、メールテンプレート、ウェブサイト、エラーや警告のメッセージ、そして翻訳対象として定義されたデータ項目
  • ソースコード上での見分け方 ―― Pythonのフィールド定義における translate=True、アンダースコア関数で囲まれたメッセージ、XMLのビューやテンプレート内の文字列
  • 管理領域による違い ―― Odoo本体、OCAモジュール、そして自社のカスタムモジュールでは、翻訳ファイルの更新経路がそれぞれ異なる
  • 処理エンジンによる違い ―― サーバー側で処理されるものとフロントエンド側で処理されるものがあり、ウェブサイト側のテンプレートは制約が出やすい
  • 翻訳データの格納場所 ―― 15.0まではテーブルに持っていたが、16.0からは対象項目にjsonb形式で保持される。性能は改善した一方、画面からの調整はしにくくなった
  • プロジェクト固有の訳語を当てる方法 ―― カスタムモジュールは通常どおり翻訳ファイルを更新し、Odoo標準機能は i18n_extra フォルダに上書き用の翻訳を置く
  • ありがちな問題 ―― 同一モジュール内での訳語の衝突。SendやStateのように文脈で訳し分けたい語が同じ文字列として扱われる
  • 役に立つOCAモジュール ―― template_content_swapper と report_qweb_field_converter

関連リンク

評価
0 0

このコースではコメントが有効化されていません。