feat: 擴展 i18n 支援 65 種語言 + 完整文件系統

🌐 國際化 (i18n)
- 從 5 種語言擴展到 65 種語言支援
- 新增:歐洲語系 (de, fr, es, it, pt, ru, nl, pl, tr, uk, cs, sv, da, fi, no, el, hu, ro, bg, hr, sk, sl, lt, lv, et, is, ga, cy, mt, mk, sq, ca, eu, gl, sr)
- 新增:中東語系 (ar, he, fa)
- 新增:南亞語系 (hi, bn, ta, te, mr, gu, kn, ml, ne, si)
- 新增:東南亞語系 (th, vi, id, ms, fil, my, km, lo)
- 新增:非洲語系 (af, sw, am, zu)
- 完整翻譯所有 UI 文字

📖 文件系統
- 重構 README.md 為入口型首頁
- 新增 docs/getting-started.md - 快速入門指南
- 新增 docs/docker.md - Docker 部署指南
- 新增 docs/environment-variables.md - 環境變數說明
- 新增 docs/url-id-and-storage.md - 儲存結構說明
- 新增 docs/advanced-usage.md - 進階使用指南
- 更新 docs/i18n.md - 65 種語言清單

 建構驗證
- TypeScript 編譯通過
- Docker 建構通過
This commit is contained in:
Your Name 2026-01-20 11:30:21 +08:00
parent 53b83b425f
commit 5c68308c36
69 changed files with 7823 additions and 274 deletions

106
src/locales/fa.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "قدرت گرفته از",
"version": "v{version}",
"loading": "در حال بارگذاری...",
"error": "خطا",
"success": "موفقیت",
"confirm": "تأیید",
"cancel": "لغو",
"close": "بستن",
"save": "ذخیره",
"delete": "حذف",
"remove": "برداشتن",
"download": "دانلود",
"upload": "آپلود",
"submit": "ارسال",
"back": "بازگشت",
"next": "بعدی",
"yes": "بله",
"no": "خیر"
},
"nav": {
"history": "تاریخچه",
"account": "حساب کاربری",
"logout": "خروج",
"login": "ورود",
"register": "ثبت نام",
"language": "زبان"
},
"convert": {
"title": "تبدیل",
"titleWithType": "تبدیل .{fileType}",
"chooseFile": "انتخاب فایل",
"orDragHere": "یا اینجا بکشید",
"searchConversions": "جستجوی تبدیل‌ها",
"convertTo": "تبدیل به",
"convertButton": "تبدیل",
"uploading": "در حال آپلود...",
"processing": "در حال پردازش..."
},
"results": {
"title": "نتایج",
"convertedFileName": "نام فایل تبدیل شده",
"status": "وضعیت",
"actions": "عملیات",
"downloadAll": "همه",
"downloadTar": "Tar",
"deleteJob": "حذف",
"noFiles": "هنوز فایلی تبدیل نشده است.",
"statusPending": "در انتظار",
"statusCompleted": "تکمیل شد",
"statusFailed": "ناموفق"
},
"history": {
"title": "نتایج",
"time": "زمان",
"files": "فایل‌ها",
"filesDone": "فایل‌های انجام شده",
"status": "وضعیت",
"actions": "عملیات",
"expandDetails": "نمایش جزئیات",
"detailedFileInfo": "اطلاعات دقیق فایل:",
"deleteSelected": "حذف انتخاب شده‌ها",
"selectAll": "انتخاب همه",
"confirmDelete": "آیا مطمئن هستید که می‌خواهید {count} کار را حذف کنید؟ این عمل قابل بازگشت نیست.",
"deleteSuccess": "{deleted} کار با موفقیت حذف شد.",
"deleteFailed": "حذف {failed} کار ناموفق بود.",
"deleteError": "هنگام حذف کارها خطایی رخ داد. لطفاً دوباره تلاش کنید."
},
"auth": {
"email": "ایمیل",
"password": "رمز عبور",
"currentPassword": "رمز عبور فعلی",
"newPassword": "رمز عبور (برای عدم تغییر خالی بگذارید)",
"loginButton": "ورود",
"registerButton": "ثبت نام",
"updateButton": "به‌روزرسانی",
"createAccount": "ایجاد حساب",
"invalidCredentials": "اطلاعات ورود نامعتبر است.",
"emailInUse": "این ایمیل قبلاً استفاده شده است.",
"unauthorized": "غیرمجاز",
"cookiesRequired": "برای استفاده از این برنامه باید کوکی‌ها فعال باشند.",
"noCookies": "کوکی احراز هویت وجود ندارد، شاید مرورگر شما کوکی‌ها را مسدود کرده باشد."
},
"setup": {
"welcome": "به ConvertX-CN خوش آمدید!",
"createYourAccount": "حساب کاربری خود را بسازید",
"reportIssues": "گزارش مشکلات در",
"github": "GitHub"
},
"errors": {
"jobNotFound": "کار پیدا نشد.",
"fileNotFound": "فایل پیدا نشد.",
"uploadFailed": "آپلود ناموفق بود.",
"conversionFailed": "تبدیل ناموفق بود.",
"serverError": "خطای سرور."
},
"upload": {
"success": "فایل‌ها با موفقیت آپلود شدند.",
"dragDrop": "فایل‌ها را اینجا رها کنید"
},
"file": {
"size": "{size} kB"
}
}