FCKeditorの多言語対応はとっても簡単だ。
言語別のテキストを取得する仕組みと、ページを一括で変換する仕組みがある。
まず、言語別の定義ファイルにテキストを登録する。
言語別のテキストはもう利用可能になる。
次にページのタグにFCKeditorの多言語対応用のオプションを追加する。
そして window.onload でページを一括変換する。
以下に詳細を解説する。
言語の設定
言語に関する設定は、以下で行う。
FCKConfig.AutoDetectLanguage = true ; // 言語の自動判別
FCKConfig.DefaultLanguage = ‘en’ ; //デフォルトの言語
FCKConfig.ContentLangDirection = ‘ltr’ ; // テキストの方向
言語別の定義ファイル
/FCKeditor/editor/lang/*.js が言語別の定義ファイルだ。
英語は en.js 、日本語は ja.js となる。
サンプルとして、テーブル機能の誤訳を直してみよう。
/FCKeditor/editor/lang/ja.js
// Table Dialog DlgTableTitle : "テーブル プロパティ", DlgTableRows : "行", DlgTableColumns : "列", DlgTableBorder : "ボーダーサイズ", DlgTableAlign : "キャプションの整列", DlgTableAlignNotSet : "<なし>", DlgTableAlignLeft : "左", DlgTableAlignCenter : "中央", DlgTableAlignRight : "右", DlgTableWidth : "テーブル幅", DlgTableWidthPx : "ピクセル", DlgTableWidthPc : "パーセント", DlgTableHeight : "テーブル高さ", DlgTableCellSpace : "セル内余白", DlgTableCellPad : "セル内間隔", DlgTableCaption : "キャプション", DlgTableSummary : "テーブル目的/構造",
DlgTableAlign と DlgTableCaption を修正
// Table Dialog DlgTableTitle : "テーブル プロパティ", DlgTableRows : "行", DlgTableColumns : "列", DlgTableBorder : "ボーダーサイズ", DlgTableAlign : "テーブル配置", DlgTableAlignNotSet : "<なし>", DlgTableAlignLeft : "左", DlgTableAlignCenter : "中央", DlgTableAlignRight : "右", DlgTableWidth : "テーブル幅", DlgTableWidthPx : "ピクセル", DlgTableWidthPc : "パーセント", DlgTableHeight : "テーブル高さ", DlgTableCellSpace : "セル内余白", DlgTableCellPad : "セル内間隔", DlgTableCaption : "キャプション", DlgTableSummary : "テーブル目的/構造",
言語別テキストの取得
言語別のテキストは、FCKLang.Key で Key の値を取得できる。
Key は上記の DlgTableAlign 等を指定する。
alert( FCKLang.DlgTableAlign );
とすると、”テーブル配置” と表示される。
ページの一括変換
ページの読込時に FCKLanguageManager.TranslatePage(document) を呼び出す。
以下は Dialog の場合。
var oEditor = window.parent.InnerDialogLoaded() ; var FCKLang = oEditor.FCKLang ; ... window.onload = function() { // Translate the dialog box texts. oEditor.FCKLanguageManager.TranslatePage(document) ; ... }
タグに fckLang=”Key” オプションを追加する。
以上で多言語対応ができる。