File: /home/accemeff/vendor/craftcms/cms/docs/ja/extend/translation-categories.md
# 翻訳カテゴリ
モジュールやプラグインは、Yii の [Message Translations](https://www.yiiframework.com/doc/guide/1.1/en/topics.i18n#message-translation) 機能を使用することによって、カスタム翻訳カテゴリを提供できます。
::: tip
メッセージ変換がどのように機能するかの詳細については、[静的メッセージの翻訳](../static-translations.md)を参照してください。
:::
翻訳カテゴリは、 <api:yii\i18n\I18N::$translations> 配列に新しい翻訳ソースを加えることにより、プログラムで追加できます。
```php
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.md)をコントロールできる場合、そこから翻訳カテゴリを追加することもできます。
```php
// -- 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
```