diff --git a/framework/yii/messages/config.php b/framework/yii/messages/config.php
index 15470b2..c7de6b9 100644
--- a/framework/yii/messages/config.php
+++ b/framework/yii/messages/config.php
@@ -7,7 +7,7 @@ return [
'messagePath' => __DIR__,
// array, required, list of language codes that the extracted messages
// should be translated to. For example, ['zh-CN', 'de'].
- 'languages' => ['da', 'de', 'ru', 'pl', 'pt-BR', 'it', 'es', 'ro'],
+ 'languages' => ['da', 'de', 'ru', 'pl', 'pt-BR', 'it', 'es', 'ro', 'ja'],
// string, the name of the function for translating messages.
// Defaults to 'Yii::t'. This is used as a mark to find the messages to be
// translated. You may use a string for single function name or an array for
diff --git a/framework/yii/messages/ja/yii.php b/framework/yii/messages/ja/yii.php
new file mode 100644
index 0000000..a867470
--- /dev/null
+++ b/framework/yii/messages/ja/yii.php
@@ -0,0 +1,81 @@
+ '(セットされていません)',
+ 'An internal server error occurred.' => 'サーバー内部エラーが発生しました。',
+ 'Are you sure to delete this item?' => 'この項目を削除してもよろしいですか?',
+ 'Delete' => '削除',
+ 'Error' => 'エラー',
+ 'File upload failed.' => 'ファイルアップロードに失敗しました。',
+ 'Home' => 'ホーム',
+ 'Invalid data received for parameter "{param}".' => 'パラメータ"{param}"に不正なデータを受け取りました。',
+ 'Login Required' => 'ログインが必要です',
+ 'Missing required arguments: {params}' => '必要な引数がありません: {params}',
+ 'Missing required parameters: {params}' => '必要なパラメータがありません: {params}',
+ 'No' => 'いいえ',
+ 'No help for unknown command "{command}".' => '不明なコマンド "{command}" にはヘルプがありません。',
+ 'No help for unknown sub-command "{command}".' => '不明なサブコマンド "{command}" にはヘルプがありません。',
+ 'No results found.' => '結果が得られませんでした。',
+ 'Only files with these extensions are allowed: {extensions}.' => '次の拡張子を持つファイルだけが許可されています : {extensions}',
+ 'Only files with these mimeTypes are allowed: {mimeTypes}.' => '次の MIME タイプのファイルだけが許可されています : {mimeTypes}',
+ 'Page not found.' => 'ページが見つかりません。',
+ 'Please fix the following errors:' => '次のエラーを修正してください :',
+ 'Please upload a file.' => 'ファイルをアップロードしてください。',
+ 'Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.' => '{totalCount} 件中 {begin} から {end} までを表示しています。',
+ 'The file "{file}" is not an image.' => 'ファイル "{file}" は画像ではありません。',
+ 'The file "{file}" is too big. Its size cannot exceed {limit, number} {limit, plural, one{byte} other{bytes}}.' => 'ファイル "{file}" が大きすぎます。サイズは {limit} バイトを超えることができません。',
+ 'The file "{file}" is too small. Its size cannot be smaller than {limit, number} {limit, plural, one{byte} other{bytes}}.' => 'ファイル "{file}" が小さすぎます。サイズは {limit} バイトを下回ることができません。',
+ 'The format of {attribute} is invalid.' => '{attribute}の書式が正しくありません。',
+ 'The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '画像 "{file}" が大きすぎます。高さが {limit} より大きくてはいけません。',
+ 'The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '画像 "{file}" が大きすぎます。幅が {limit} より大きくてはいけません。',
+ 'The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '画像 "{file}" が小さすぎます。高さが {limit} より小さくてはいけません。',
+ 'The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.' => '画像 "{file}" が小さすぎます。幅が {limit} より小さくてはいけません。',
+ 'The verification code is incorrect.' => '検証コードが正しくありません。',
+ 'Total {count, number} {count, plural, one{item} other{items}}.' => '合計 {count} 件。',
+ 'Unable to verify your data submission.' => 'データ送信を検証できませんでした。',
+ 'Unknown command "{command}".' => '不明なコマンド "{command}" 。',
+ 'Unknown option: --{name}' => '不明なオプション: --{name}',
+ 'Update' => '更新',
+ 'View' => '閲覧',
+ 'Yes' => 'はい',
+ 'You are not allowed to perform this action.' => 'このアクションの実行は許可されていません。',
+ 'You can upload at most {limit, number} {limit, plural, one{file} other{files}}.' => '最大で {limit} 個のファイルをアップロードできます。',
+ 'the input value' => '入力値',
+ '{attribute} "{value}" has already been taken.' => '{attribute}で "{value}" は既に使われています。',
+ '{attribute} cannot be blank.' => '{attribute}は空白ではいけません。',
+ '{attribute} is invalid.' => '{attribute}は無効です。',
+ '{attribute} is not a valid URL.' => '{attribute}は有効な URL 書式ではありません。',
+ '{attribute} is not a valid email address.' => '{attribute}は有効なメールアドレス書式ではありません。',
+ '{attribute} must be "{requiredValue}".' => '{attribute}は{value}である必要があります。',
+ '{attribute} must be a number.' => '{attribute}は数字にしてください。',
+ '{attribute} must be a string.' => '{attribute}は文字列にしてください。',
+ '{attribute} must be an integer.' => '{attribute}は整数にしてください。',
+ '{attribute} must be either "{true}" or "{false}".' => '{attribute}は{true}か{false}のいずれかである必要があります。',
+ '{attribute} must be greater than "{compareValue}".' => '{attribute}は"{compareValue}"より大きい必要があります。',
+ '{attribute} must be greater than or equal to "{compareValue}".' => '{attribute}は"{compareValue}"以上である必要があります。',
+ '{attribute} must be less than "{compareValue}".' => '{attribute}は"{compareValue}"より小さい必要があります。',
+ '{attribute} must be less than or equal to "{compareValue}".' => '{attribute}は"{compareValue}"以下である必要があります。',
+ '{attribute} must be no greater than {max}.' => '{attribute}は"{compareValue}"より大きくてはいけません。',
+ '{attribute} must be no less than {min}.' => '{attribute}は"{compareValue}"より小さくてはいけません。',
+ '{attribute} must be repeated exactly.' => '{attribute}は正確に繰り返してください。',
+ '{attribute} must not be equal to "{compareValue}".' => '{attribute}は"{compareValue}"ではいけません。',
+ '{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.' => '{attribute}は少なくとも{min}文字なければなりません。',
+ '{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.' => '{attribute}は多くとも{max}文字なければなりません。',
+ '{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.' => '{attribute}は{length}文字でなければなりません。',
+);