feat(i18n): add multi-language support (ja/ko/vi/ru/zh-TW) with system auto-detection
- Extend AppLanguage to 7 locales: zh-CN, zh-TW, en, ja, ko, vi, ru - Auto-detect system language via navigator.languages; fallback to English - Add BCP47 locale mapping for date formatting and sorting - Create 50 translation JSON files (5 languages × 10 namespaces, 1137 keys each) - Update language selector with native language names - Extend locale key parity test to cover all 7 languages (70 assertions) - Add VNC/RDP desktop, serial terminal, AI agent, port forwarding, and SFTP features - Add credential encryption, host metrics, session backup crypto, and zmodem bridge - Update Rust backend: desktop services, host metrics, SSH/SFTP enhancements
This commit is contained in:
1 parent
fea6d8db04
commit
b0d0e3a5f3
301 files changed
+28002
-2705
No files matched your search
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"connect": {
|
||||
"rdpTitle": "Kết nối RDP",
|
||||
"vncTitle": "Kết nối VNC",
|
||||
"rdpDesc": "Màn hình từ xa Windows · engine IronRDP gốc",
|
||||
"vncDesc": "Màn hình từ xa VNC / RFB · engine gốc",
|
||||
"confirm": "Kết nối",
|
||||
"host": "Máy chủ",
|
||||
"hostPlaceholderRdp": "windows.example.com",
|
||||
"hostPlaceholderVnc": "192.168.1.10",
|
||||
"port": "Cổng",
|
||||
"username": "Tên người dùng",
|
||||
"domain": "Tên miền (tùy chọn)",
|
||||
"password": "Mật khẩu",
|
||||
"passwordOptional": "Mật khẩu (tùy chọn)",
|
||||
"width": "Chiều rộng",
|
||||
"height": "Chiều cao",
|
||||
"rdpFootnote": "IronRDP gốc: TCP → X.224 → TLS → CredSSP/NLA → MCS; thời gian chờ bắt tay 45 giây. Việc xác minh chứng chỉ được nới lỏng trong quá trình phát triển.",
|
||||
"vncFootnote": "RFB vnc-rs gốc với giải mã Tight JPEG; clipboard được gửi dưới dạng UTF-8 (các máy chủ rất cũ có thể làm hỏng văn bản).",
|
||||
"errorHostRequired": "Nhập địa chỉ máy chủ",
|
||||
"errorUsernameRequired": "Nhập tên người dùng"
|
||||
},
|
||||
"toolbar": {
|
||||
"pasteClipboard": "Dán clipboard cục bộ sang máy từ xa",
|
||||
"pasteAria": "Dán sang máy từ xa",
|
||||
"shareDrive": "Sao chép một tệp cục bộ vào ổ đĩa dùng chung (Downloads cục bộ = Downloads từ xa trên OpsXShell)",
|
||||
"shareDriveAria": "Thêm vào ổ đĩa dùng chung",
|
||||
"openShareDir": "Mở thư mục dùng chung cục bộ (Downloads)",
|
||||
"openShareDirAria": "Mở thư mục dùng chung",
|
||||
"disconnect": "Ngắt kết nối",
|
||||
"disconnectAria": "Ngắt kết nối"
|
||||
},
|
||||
"status": {
|
||||
"connecting": "Đang kết nối…",
|
||||
"connected": "Đã kết nối",
|
||||
"disconnected": "Đã ngắt kết nối",
|
||||
"connectFailed": "Kết nối thất bại",
|
||||
"clipboardSynced": "Đã đồng bộ clipboard từ xa",
|
||||
"savedToDownloads": "Đã lưu vào Downloads cục bộ: {{name}}",
|
||||
"pastedToRemote": "Đã dán sang máy từ xa",
|
||||
"fileTooLarge": "Giới hạn mỗi tệp là 50MB",
|
||||
"fileShared": "Đã thêm vào Downloads dùng chung: {{name}} (hiển thị trên This PC từ xa)"
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user