翻訳カテゴリ

モジュールやプラグインは、Yii の Message Translations 機能を使用することによって、カスタム翻訳カテゴリを提供できます。

TIP

メッセージ変換がどのように機能するかの詳細については、静的メッセージの翻訳を参照してください。

翻訳カテゴリは、 yii\i18n\I18N::$translations 配列に新しい翻訳ソースを加えることにより、プログラムで追加できます。

use craft\i18n\PhpMessageSource;

public function init()
{
    parent::init();

    Craft::$app->i18n->translations['my-category'] = [
        'class' => PhpMessageSource::class,
        'sourceLanguage' => 'en',
        'basePath' => __DIR__ . '/translations',
        'allowOverrides' => true,
    ];
}

アプリケーション設定をコントロールできる場合、そこから翻訳カテゴリを追加することもできます。

// -- config/app.php --
return [
    'components' => [
        'i18n' => [
            'translations' => [
                'my-category' => [
                    'class' => craft\i18n\PhpMessageSource::class,
                    'sourceLanguage' => 'en',
                    'basePath' => dirname(__DIR__) . '/translations',
                    'allowOverrides' => true,
                ],
            ],
        ],
    ],
];

プラグインの翻訳

プラグインは自動的に登録され、プラグインハンドルにちなんで名付けられた、カスタム翻訳カテゴリを取得します。プラグインは ベースソースフォルダ内の translations/ 内で翻訳ファイルを提供できます。

src/
├── Plugin.php
├── ...
└── translations/
    └── de/
        └── plugin-handle.php