feat: Add multi-language support (i18n)

Languages supported (8):
- English (en)
- 日本語 (ja)
- Deutsch (de)
- Français (fr)
- Español (es)
- 简体中文 (zh-CN)
- 繁體中文 (zh-TW)
- 한국어 (ko)

Changes:
- Add locale column to users table
- Add SetLocale middleware for automatic locale detection
- Add LocaleController for language switching
- Create language files with translations for all UI elements
- Add language selector to user profile page
- Update all Blade views to use translation strings
This commit is contained in:
2025-11-29 12:00:09 +09:00
parent ecfa21d56c
commit cdf0bf4bad
25 changed files with 1183 additions and 84 deletions

117
src/lang/ja/messages.php Normal file
View File

@@ -0,0 +1,117 @@
<?php
return [
// Navigation
'nav' => [
'dashboard' => 'ダッシュボード',
'knowledge_base' => 'ナレッジベース',
'profile' => 'プロフィール',
'user_management' => 'ユーザー管理',
'logout' => 'ログアウト',
'login' => 'ログイン',
'register' => '登録',
],
// Documents
'documents' => [
'title' => 'ドキュメント',
'new_document' => '新規ドキュメント',
'edit_document' => 'ドキュメント編集',
'edit' => '編集',
'delete' => '削除',
'save' => '保存',
'cancel' => 'キャンセル',
'created_by' => '作成者',
'updated' => '更新日',
'path' => 'パス',
'last_modified' => '最終更新',
'no_documents' => 'ドキュメントが見つかりません',
'search_placeholder' => 'ドキュメントを検索...',
'create_success' => 'ドキュメントを作成しました!',
'update_success' => 'ドキュメントを更新しました!',
'delete_success' => 'ドキュメントを削除しました!',
'delete_confirm' => 'このドキュメントを削除してもよろしいですか?',
'linked_references' => 'リンク元',
'title_label' => 'タイトル',
'title_placeholder' => 'ドキュメントタイトル(例: Laravel/Livewire/Components',
'title_hint' => 'ヒント: タイトルにスラッシュ(/)を含めると自動的にフォルダ構造が作成されます',
'content_label' => '本文',
'content_placeholder' => 'Markdownで記述してください...',
'saving' => '保存中...',
],
// Quick Switcher
'quick_switcher' => [
'title' => 'クイックスイッチ',
'placeholder' => 'ドキュメントを検索...',
'no_results' => 'ドキュメントが見つかりません',
'navigate' => 'で移動',
'select' => 'で選択',
'close' => 'で閉じる',
],
// Admin
'admin' => [
'user_management' => 'ユーザー管理',
'new_user' => '新規ユーザー',
'edit_user' => 'ユーザー編集',
'create_user' => 'ユーザー作成',
'users' => 'ユーザー',
'name' => '名前',
'email' => 'メールアドレス',
'password' => 'パスワード',
'password_confirmation' => 'パスワード(確認)',
'password_hint' => '変更しない場合は空欄のままにしてください。',
'role' => '権限',
'admin' => '管理者',
'user' => '一般ユーザー',
'grant_admin' => '管理者権限を付与する',
'created_at' => '登録日',
'actions' => '操作',
'edit' => '編集',
'delete' => '削除',
'no_users' => 'ユーザーが登録されていません。',
'create_success' => 'ユーザーを作成しました。',
'update_success' => 'ユーザー情報を更新しました。',
'delete_success' => 'ユーザーを削除しました。',
'cannot_delete_self' => '自分自身を削除することはできません。',
'self_admin_warning' => '自分自身の管理者権限を外すと、管理画面にアクセスできなくなります。',
],
// Settings
'settings' => [
'language' => '言語',
'select_language' => '言語を選択',
'language_updated' => '言語を変更しました。',
],
// Common
'common' => [
'save' => '保存',
'cancel' => 'キャンセル',
'delete' => '削除',
'edit' => '編集',
'create' => '作成',
'update' => '更新',
'back' => '戻る',
'confirm' => '確認',
'yes' => 'はい',
'no' => 'いいえ',
'loading' => '読み込み中...',
'error' => 'エラー',
'success' => '成功',
],
// Auth
'auth' => [
'login' => 'ログイン',
'register' => '登録',
'email' => 'メールアドレス',
'password' => 'パスワード',
'remember_me' => 'ログイン状態を保持',
'forgot_password' => 'パスワードをお忘れですか?',
'confirm_password' => 'パスワード(確認)',
'already_registered' => '既にアカウントをお持ちですか?',
],
];