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

View File

@@ -1,13 +1,13 @@
<div class="p-4" x-data="sidebarState()" x-init="initExpandedFolders()">
<div class="mb-4">
<h2 class="text-sm font-semibold text-gray-700 uppercase tracking-wider">
Documents
{{ __('messages.documents.title') }}
</h2>
</div>
@if(empty($tree))
<div class="text-sm text-gray-500 italic">
No documents found
{{ __('messages.documents.no_documents') }}
</div>
@else
<div class="space-y-1">
@@ -24,7 +24,7 @@ class="flex items-center justify-center px-4 py-2 text-sm font-medium text-white
<svg class="w-4 h-4 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4v16m8-8H4"></path>
</svg>
New Document
{{ __('messages.documents.new_document') }}
</a>
</div>
@endauth