CS-Cart.jp開発者ドキュメント
  • はじめに
  • Getting Started
    • CS-Cart開発者向け注意事項
    • CS-Cartの構成
    • デバッグ方法
  • コア
    • Hooks
    • コントローラー
      • Pre&Post コントローラー
    • データベース
      • データベースの構造と命名規則
      • データベース・プレイスホルダー
      • 他のデータベースへの接続
    • ショップフロント
      • ブロック
      • blockメインスキーマ—
      • Dynamic Objects
      • ajaxリクエストの使用方法
      • 特別なCSSセレクター
      • マイクロフォーマット Microformats
      • 通知システム
      • ツールチップ
    • 設定
    • コア関数
    • イベントの通知
    • 言語変数
    • スキーマー
  • アドオン開発
    • フック
      • PHPフック
      • テンプレートフック
    • アドオンチュートリアル
      • 「Hello World」チュートリアル
      • Advanced Add-on チュートリアル
      • 商品リスト、詳細ページのカスタムテンプレートを作成
      • 支払方法の開発
    • アドオンの管理プロセス
    • Add-on スキーマー
      • アドオンの互換性
      • 他のアドオンとの競合・依存設定
    • APIの拡張
    • スキーマーの拡張
    • アドオンのディレクトリ構造
    • アドオンの言語変数
    • .poファイルによる言語ファイルの作成
  • テーマ開発
    • テーマ開発の概要
    • テーマの複製
    • レイアウトの管理
    • トップパネルとヘッダー
    • テーマを使用したショップの設定の変更
    • CSS
    • テーマの言語変数
    • メディアファイル
    • 親テーマ
    • スタイルとビジュアルエディター
    • レイアウトエディター
    • テンプレート
  • デバッグ
    • デバッガー
    • ファイルエディター
GitBook提供
このページ内
  • アドオンのインストール時
  • アドオンの使用時
  • アドオンのアップグレード時
  • アドオンのアンインストール時
  1. アドオン開発

アドオンの言語変数

HINT

言語変数とその使用方法についてはこちらをご覧ください

言語変数を使用すると、CS-Cartのアドオンの翻訳(多言語化)を行うことが出来ます。 CS-Cartでは言語のテキストは、PHPコードやSmartyテンプレートファイルに直接記述されていません。言語を表示する際には特別な関数が呼び出されます。言語変数の名前が関数に渡され、ユーザーの環境に応じた言語でテキストが返されます。

アドオンの言語変数はPOファイルに保存されています。 POファイルは言語ごとに別々のフォルダにあります:var/langs/[言語コード]/addons/[アドオン名].po

たとえば、「アクセス制御」アドオンの英語翻訳のPOファイルはvar/langs/en/addons/access_restrictions.poにあります。

POファイルのファイル名は、app/addons/<アドオン名>にあるaddon.xmlのidセクションの内容と同じでなければなりません。

この記事では、アドオンのインストール、アンインストール、またはアップグレードの際に言語変数がどのように処理されるかについて説明します。

アドオンのインストール時

アドオンがインストールされると、そのPOファイルが分析されます。 使用可能なすべての言語の言語変数の値がlanguage_valuesテーブルに書き込まれます。 このテーブルは次のフィールドで構成されています。

  • lang_code —言語コード

  • name —プレフィックスなしの言語変数の名前

  • value —指定された言語コードの言語変数の値

POファイルの値もoriginal_valuesテーブルに入れられます。 構造は次のとおりです。

  • msgctxt — POファイルのmsgctxtと同様に、プレフィックス付きの言語変数の名前。

  • msgid — POファイルのmsgidと同様に、翻訳元の言語変数の値(原則として英語)。

アドオンの使用時

言語変数が初めて__関数で使用されるとき、その値はlanguage_valuesテーブルから取得され、キャッシュされます。以降、値はキャッシュから取得されます。言語変数は、CS-Cartの汎用キャッシュの一部です。キャッシングメカニズムは、CS-Cartの設定に依存します。

管理者は、管理パネルで言語変数の値を変更できます。これらの変更は、language_valuesテーブルの値フィールドに記録されますが、original_valuesテーブルは変更されません。

言語変数を管理パネルからのPOファイルにエクスポートする場合、msgtxtとMSGIDの値はoriginal_valuesから、msgStrの値はlanguage_valuesから取得されてエクスポートされます。

アドオンのアップグレード時

アドオンがアップグレードされると、アップグレードパッケージ内のPOファイルが分析されます。新しい言語変数は追加されますが、既存の言語変数は更新されません。これは、CS-Cart自体のアップグレードの際にも適用されます。

アドオンのアップグレードパッケージの作成についての詳細についてはこちらをご覧ください。

アドオンのアンインストール時

アドオンがアンインストールされると、POファイルが分析されます。アドオンのすべての言語変数がoriginal_valuesとlanguage_valuesがテーブルから削除されます。また、言語キャッシュからも削除されます。

前へアドオンのディレクトリ構造次へ.poファイルによる言語ファイルの作成

最終更新 7 か月前