.poファイルによる言語ファイルの作成
.poファイルとは?
CS-Cartの言語ファイルは多言語対応を意識してデータベースに保存されています。4.2.4以前のバージョンのCS-Cartでは、addon.xmlにそれぞれの言語変数を用意してインストールしていましたが、新しいCS-Cartでは、WordPress も利用しているgettext による多言語化を採用しています。
これは各言語毎に.poファイルを用意することでアドオンのインストール時に言語変数がインストールされる仕組みです。gettextについて詳しく (Wikipedia)
📘 ヒント
WordPressでは.poファイルを編集し、最終的に .poファイルは msgfmtコマンドにより バイナリファイルにコンパイルされた.moファイルを利用しますが、CS-Cartは.poファイルを使います。
.poファイル編集ツール
.poファイルを編集するにはテキストエディターでも可能ですが、Poeditというツールも無料で利用可能です。
<画像>
.poファイルの保存場所
翻訳を作成した.poファイルは以下のディレクトリに配置します。
/var/langs/[言語コード]/addons/[アドオンID].po言語コード英語はen、日本語はjaのようなISO 639-1 の言語コードとなります。アドオンIDアドオンのaddon.xmlで定義した識別子です。 例)カタログモード アドオン・・・catalog_mode
.poファイルの構造
こちらに日本語版アドオンの.poファイルを掲載しています。 ダウンロード
.poファイルの構造
ヘッダー部分
以下は英語の.poファイルです。 日本語の場合は "Language: ja_JP\n" となります。ファイルはUTF-8で作成します。
言語変数の記述方法
msgctxt言語の使用場所msgid言語の識別子msgstr翻訳
msgctxt 言語変数の使用箇所
Addons::name::[アドオンの識別子]- アドオン名を翻訳Addons::description::[アドオンの識別子]- アドオンの説明文を翻訳
例)「高解像度ディスプレイ対応」 アドオン
アドオンの設定関連
SettingsSections::[アドオンの識別子]\::[設定セクション名]- アドオンの設定セクション名SettingsOptions::[アドオンの識別子]\::[設定セクション名]- アドオンの設定オプション(変数)名SettingsVariants::[アドオンの識別子]\::[設定セクション名]\::[設定値]- アドオンの設定値
例)「ポイント」アドオン設定用言語ファイル
<画像>
アドオンで使用する言語変数
Languages::[言語変数名]
例)「タグ」アドオンが使用する言語変数(テンプレートなどで利用する)
.tplファイルでの利用例
/design/themes/responsive/templates/addons/tags/views/tags/components/tags.tpl
コントローラーでの利用例
/app/addons/tags/controllers/frontend/tags.php
最終更新