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/zu.json Normal file
View file

@ -0,0 +1,106 @@
{
"common": {
"appName": "ConvertX-CN",
"poweredBy": "Iqhutshwa yi",
"version": "v{version}",
"loading": "Iyalayisha...",
"error": "Iphutha",
"success": "Impumelelo",
"confirm": "Qinisekisa",
"cancel": "Khansela",
"close": "Vala",
"save": "Londoloza",
"delete": "Susa",
"remove": "Susa",
"download": "Landa",
"upload": "Layisha",
"submit": "Thumela",
"back": "Emuva",
"next": "Okulandelayo",
"yes": "Yebo",
"no": "Cha"
},
"nav": {
"history": "Umlando",
"account": "I-akhawunti",
"logout": "Phuma",
"login": "Ngena",
"register": "Bhalisa",
"language": "Ulimi"
},
"convert": {
"title": "Guqula",
"titleWithType": "Guqula .{fileType}",
"chooseFile": "Khetha ifayela",
"orDragHere": "noma yihudulele lapha",
"searchConversions": "Sesha ukuguqulwa",
"convertTo": "Guqulela ku",
"convertButton": "Guqula",
"uploading": "Iyalayisha...",
"processing": "Iyacubungula..."
},
"results": {
"title": "Imiphumela",
"convertedFileName": "Igama lefayela eliguquliwe",
"status": "Isimo",
"actions": "Izenzo",
"downloadAll": "Konke",
"downloadTar": "Tar",
"deleteJob": "Susa",
"noFiles": "Awakho amafayela aguquliwe okwamanje.",
"statusPending": "Kulindwe",
"statusCompleted": "Kuqediwe",
"statusFailed": "Kwehlulekile"
},
"history": {
"title": "Imiphumela",
"time": "Isikhathi",
"files": "Amafayela",
"filesDone": "Amafayela aqediwe",
"status": "Isimo",
"actions": "Izenzo",
"expandDetails": "Nweba imininingwane",
"detailedFileInfo": "Imininingwane yefayela enemininingwane:",
"deleteSelected": "Susa okukhethiwe",
"selectAll": "Khetha konke",
"confirmDelete": "Uqinisekile ukuthi ufuna ukususa imisebenzi engu-{count}? Lesi senzo asinakubuyiselwa emuva.",
"deleteSuccess": "Kususiwe ngempumelelo imisebenzi engu-{deleted}.",
"deleteFailed": "Kwehlulekile ukususa imisebenzi engu-{failed}.",
"deleteError": "Kwenzeke iphutha ngenkathi kususa imisebenzi. Sicela uzame futhi."
},
"auth": {
"email": "I-imeyili",
"password": "Iphasiwedi",
"currentPassword": "Iphasiwedi yamanje",
"newPassword": "Iphasiwedi (shiya kungenalutho uma ingashintshiwe)",
"loginButton": "Ngena",
"registerButton": "Bhalisa",
"updateButton": "Buyekeza",
"createAccount": "Dala i-akhawunti",
"invalidCredentials": "Imininingwane engavumelekile.",
"emailInUse": "I-imeyili isivele isetshenziswa.",
"unauthorized": "Akuvunyelwe",
"cookiesRequired": "Amakhukhi kufanele avunyelwe ukuze usebenzise lolu hlelo lokusebenza.",
"noCookies": "Awekho amakhukhi okuqinisekisa, mhlawumbe isiphequluli sakho sivimbela amakhukhi."
},
"setup": {
"welcome": "Siyakwamukela ku-ConvertX-CN!",
"createYourAccount": "Dala i-akhawunti yakho",
"reportIssues": "Bika noma yiziphi izinkinga ku",
"github": "GitHub"
},
"errors": {
"jobNotFound": "Umsebenzi awutholakali.",
"fileNotFound": "Ifayela alitholakali.",
"uploadFailed": "Ukulayisha kwehlulekile.",
"conversionFailed": "Ukuguqula kwehlulekile.",
"serverError": "Iphutha leseva."
},
"upload": {
"success": "Amafayela alayishwe ngempumelelo.",
"dragDrop": "Lahla amafayela lapha"
},
"file": {
"size": "{size} kB"
}
}