言語ファイル

出典: SugarForum.jp

目次

言語ファイルとは?

SugarCRMで表示されるテキストは、全て多言語対応にすることが可能です。ソースコードに表示文字列を直接書かずに、言語ファイルを参照するようにします。言語ファイルには、プログラムから参照するための「ラベル」と、実際に表示するテキストの組み合わせが、配列として記述されています。

システム全体言語ファイル

(執筆中)


モジュール別言語ファイル

モジュールごとの言語ファイル。Beanクラス内やビュークラスからは、PHPのグローバル変数 $mod_string で参照可能です。

定義する場所

  • /modules/@モジュール名/language/en_us.lang.php
  • /modules/@モジュール名/language/ja.lang.php

書式

$mod_strings = array (
   '<ラベル名1>' => '<実際に表示されるテキスト1>',
   '<ラベル名2>' => '<実際に表示されるテキスト2>',
  //続く...
);


アップグレードセーフな拡張方法

言語パックが提供されている既存モジュールのテキストを変更したい場合、

SugarRoot/custom/modules/@モジュール名/language/ja.lang.php

を作成し、上記の書式で$mod_stringsを記述します。

例:「従業員」を「職員」に置き換える

Employeesモジュールの$mod_stringsの該当箇所を上書きする必要があります。具体的には、

SugarRoot/custom/modules/Employees/language/ja.lang.php

を作成し、下記のようにします。

$mod_strings = array (
  'LBL_MODULE_NAME' => '職員',
  'LBL_MODULE_TITLE' => '職員: ホーム',
  //該当する箇所が続く...
);

タブに表示されるテキストも変更するには、

SugarRoot/custom/Extension/application/Ext/Language/ja.@パッケージ名.php

を作成し、下記を追加します。なお、<パッケージ名>は適当な文字列でも構いません。

$app_list_strings["moduleList"]["Employees"] = '職員';


Studioのバグ?

SugarCE5.0のStudioは、ラベル編集に関して日本語が文字化けするようです。今のところ、上記の言語ファイルを直接編集する必要があります。


最終更新 07:13, 2008年9月25日 (木)。   このページは 2,722 回アクセスされました。