2015年

12月

20日

【iDempiere Lab】iDempiereを早く&軽くするパラメータ設定6:主言語の切替え

 オープンソースのERP iDempiereは、世界中の言語でUI(ユーザーインターフェース)を表示する事ができます(マルチ言語)。システム管理者はあらかじめ、使用する言語を設定しておき、ユーザーはログイン時にその中から自分がUIで使用する言語を選択します。

 iDempiereには主言語の設定があり、主言語に対する翻訳データを翻訳テーブルに保持しています。ログイン時にユーザーが選択した言語が主言語でない場合は、iDempiereは翻訳テーブルにある翻訳データを取得して画面に表示しています。

品目マスタの主言語と翻訳データ
品目マスタの主言語と翻訳データ

 つまり主言語以外の言語は、翻訳するための処理が必要であり、その分サーバーの負荷になります。iDempiereの初期設定では主言語はアメリカ英語になっていますから、日本語でログインした場合、翻訳作業が常に行われる状態になります。

翻訳表示されている品目マスタ
翻訳表示されている品目マスタ

 翻訳作業のひとつひとつの負荷は、とても小さく体感できるようなレベルではありませんが、iDempiereではひとつの画面を表示するだけでも、多くの翻訳作業を行っています。チリも積もれば山となる的に同時アクセスが多くなればサーバーにとって無視できない負担になってくるかもしれません。

 日本でiDempiereを活用していくのであれば、主言語を日本語に切り替える(英語が必要であれば英語は副言語/第2言語とする)事で、主言語をアメリカ英語のままにしておくよりも、iDempiereを早く&軽くする事ができます。

日本語を主言語とし、アメリカ英語を第2言語とする方法

 現在、日本語環境が構築されているiDempiereを前提に、主言語を日本語にする方法と、アメリカ英語を主言語から、副言語(第2言語)にする方法を説明します。

日本語のエクスポート

 まずはシステムクライアントにログインし、翻訳テーブルに入っている日本語のデータをエクスポートしておきます。このエクスポートした日本語データは、最後に主言語となった日本語にインポートし直します。

システム管理 -> 全般設定 -> システム設定 -> 翻訳インポート/エクスポート

翻訳インポート/エクスポート
翻訳インポート/エクスポート
%idempiere-server%のdataフォルダのja_jpフォルダに日本語翻訳データをエクスポートします。
%idempiere-server%のdataフォルダのja_jpフォルダに日本語翻訳データをエクスポートします。

 iDempiereのインストールパッケージの中にdataフォルダ(ディレクトリ)があり、さらにその中にja_JPという日本語の翻訳ファイルを保存するフォルダ(ディレクトリ)がありますので、そこにエクスポートしておきます。

【補足説明】ja_JPフォルダについて

 dataフォルダ以下の各言語のフォルダは6fe0448のコミットで整理され、無くなっています。そのため、dataフォルダ以下にja_JPファルダを予め作成しておいて下さい。

日本語の翻訳データを削除する

 日本を主言語とするため、翻訳テーブルに入っている日本語の翻訳データはもう使用しません。そのため、日本語の翻訳データを削除します。

システム管理 -> 全般設定 -> システム設定 -> 言語設定

言語設定ウィンドウ
言語設定ウィンドウ

 言語設定ウィンドで、日本語のレコードを選択し、言語メンテナンスボタンをクリックします。表示されたポップアップウィンドウのメンテナンスモードを"翻訳削除"を選択し、OKボタンを押します。

 

日本語のシステム使用言語フラグがOFFになっている事を確認する

 システム使用言語フラグをONにしておくと、主言語に切り替える事ができませんので、OFFにする必要があります。翻訳削除を行うとシステム使用言語フラグは自動でOFFになりますので確認して下さい。合わせてログイン言語はONの状態になっている事も確認しておいて下さい。

システム使用言語をOFFにします。
システム使用言語をOFFにします。

一度ログアウトして、英語(English)でログインする

 日本語でログインして、日本語の翻訳データを削除していますので、このまま操作を続けると翻訳データがないため、エラーが表示されます。一度、ログアウトして英語(English)でログインし直します。

英語で再ログイン
英語で再ログイン

主言語を日本語にする

 主言語を変更するプロセスを実行します。"Change Base Language"プロセスで、Japaneseを選択して、実行して下さい。

System Admin -> General Rules -> Change Base Language

Change Base Language Process
Change Base Language Process

一度ログアウトして、日本語(JP)でログインする

 主言語が日本語に切り替わった事により、英語を選択してログインしているにも関わらず、英語の翻訳データが無いため、このまま操作を続けるとエラーになります。一度ログアウトして、今度は主言語である"日本語(JP)"を選択してログインし直します。

日本語で再ログインする
日本語で再ログインする

 主言語は既に日本語になっていますが、これまで主言語であった英語のデータがそのまま残っていますので、画面表示は英語が表示されます。

日本語でログインしても英語が表示されている様子
日本語でログインしても英語が表示されている様子

 画面上は英語ですが、コンテキストの状態を参照すると、日本語でログインしている事が確認できます。

英語表記の画面でもコンテキスト上では日本語でログインしているのが確認できます。
英語表記の画面でもコンテキスト上では日本語でログインしているのが確認できます。

アメリカ英語のシステム使用フラグをONにする

 アメリカ英語を副言語(第2言語)とするために、アメリカ英語の"システム使用言語(System Language)"フラグをONにします。

アメリカ英語のSystem LanguageフラグをONにします。
アメリカ英語のSystem LanguageフラグをONにします。

アメリカ英語の翻訳データを作成する

 ここまでの操作で、主言語は日本語で、副言語(第2言語)はアメリカ英語になりました。そして、主言語のデータはアメリカ英語のままですので、その状態を利用して、"Add Missing Translations(欠落した翻訳の追加)"プロセスを実行して、アメリカ英語のデータを翻訳テーブルにコピーします。

System LanguageフラグをONにします
System LanguageフラグをONにします

 English(USA)のレコードのSystem LanguageフラグをONにして、Language Maintenanceボタンをクリックします。

 "Add Missing Translations(欠落した翻訳の追加)"プロセスを実行して、主言語にあるアメリカ英語のデータを翻訳テーブルにコピーします。

日本語をインポートする

 先にエクスポートしておいた日本語をインポートし直して、アメリカ英語のままになっている主言語データを日本語で上書きします

System Admin -> General Rules -> System Rules -> Translation Import/Export

翻訳適用を実行する

 最後の仕上げに、Synchronize Terminology(翻訳適用)プロセスを実行し、翻訳漏れを無くして作業終了です。再度ログインしてみて下さい。ログイン画面はブラウザのキャッシュ状態により、一部は日本語と英語がチャンポンになっているかもしれませんが、日本語でログインすると主言語として処理された日本語が表示され、英語でログインすると副言語としての英語が表示されます。

System Admin -> General Rules Synchronize Terminology

【補足説明】日本語を主言語にする際は慎重な判断をして下さい。

2016年8月現在、日本語を主言語にする事によりいくつかの不具合が発見されています。そのため、日本語を主言語にする際は慎重な判断をして下さい。

 

関連するコンテンツ