diff --git a/src/components/settings/Security.vue b/src/components/settings/Security.vue index a05a9c720..ca1f0a549 100644 --- a/src/components/settings/Security.vue +++ b/src/components/settings/Security.vue @@ -216,6 +216,12 @@
Vennligst vær forsiktig.
+ +Bạn có muốn TẮT XÁC THỰC không?
+Điều này rất nguy hiểmBẤT KỲ AI cũng có thể truy cập và cướp quyền điều khiển.
+Vui lòng cẩn thận.
+ +Are you sure want to disable authentication?
diff --git a/src/i18n.js b/src/i18n.js index cdb93e955..d895543b7 100644 --- a/src/i18n.js +++ b/src/i18n.js @@ -27,7 +27,7 @@ const languageList = { "zh-CN": "简体中文", "pl": "Polski", "et-EE": "eesti", - "vi": "Vietnamese", + "vi-VN": "Tiếng Việt", "zh-TW": "繁體中文 (台灣)" }; diff --git a/src/languages/vi.js b/src/languages/vi-VN.js similarity index 79% rename from src/languages/vi.js rename to src/languages/vi-VN.js index 22538f917..ec9e9efc6 100644 --- a/src/languages/vi.js +++ b/src/languages/vi-VN.js @@ -1,31 +1,31 @@ export default { - languageName: "Vietnamese", + languageName: "Tiếng Việt", checkEverySecond: "Kiểm tra mỗi {0} giây.", retryCheckEverySecond: "Thử lại mỗi {0} giây.", retriesDescription: "Số lần thử lại tối đa trước khi dịch vụ được đánh dấu là down và gửi thông báo.", ignoreTLSError: "Bỏ qua lỗi TLS/SSL với các web HTTPS.", upsideDownModeDescription: "Trạng thái đảo ngược, nếu dịch vụ có thể truy cập được nghĩa là DOWN.", maxRedirectDescription: "Số lần chuyển hướng (redirect) tối đa. Đặt thành 0 để tắt chuyển hướng", - acceptedStatusCodesDescription: "Chọn mã code trạng thái được coi là phản hồi thành công.", + acceptedStatusCodesDescription: "Chọn mã trạng thái được coi là phản hồi thành công.", passwordNotMatchMsg: "Mật khẩu nhập lại không khớp.", notificationDescription: "Vui lòng chỉ định một kênh thông báo.", keywordDescription: "Từ khoá tìm kiếm phản hồi ở dạng html hoặc JSON, có phân biệt chữ HOA - thường", pauseDashboardHome: "Tạm dừng", - deleteMonitorMsg: "Bạn chắc chắn muốn xóa monitor này chứ?", - deleteNotificationMsg: "Bạn có chắc chắn muốn xóa kênh thông báo này cho tất cả monitor?", + deleteMonitorMsg: "Bạn chắc chắn muốn xóa kênh theo dõi này chứ?", + deleteNotificationMsg: "Bạn có chắc chắn muốn xóa kênh thông báo này cho tất cả kênh theo dõi?", resoverserverDescription: "Cloudflare là máy chủ mặc định, bạn có thể thay đổi bất cứ lúc nào.", rrtypeDescription: "Hãy chọn RR-Type mà bạn muốn giám sát", pauseMonitorMsg: "Bạn chắc chắn muốn tạm dừng chứ?", - enableDefaultNotificationDescription: "Bật làm mặc định cho mọi monitor mới về sau. Bạn vẫn có thể tắt thông báo riêng cho từng monitor.", - clearEventsMsg: "Bạn chắc chắn muốn xoá TẤT CẢ sự kiện cho monitor này chứ?", - clearHeartbeatsMsg: "Bạn chắc chắn muốn xoá TẤT CẢ heartbeats cho monitor này chứ?", + enableDefaultNotificationDescription: "Bật làm mặc định cho mọi kênh theo dõi mới về sau. Bạn vẫn có thể tắt thông báo riêng cho từng kênh theo dõi.", + clearEventsMsg: "Bạn chắc chắn muốn xoá TẤT CẢ sự kiện cho kênh theo dõi này chứ?", + clearHeartbeatsMsg: "Bạn chắc chắn muốn xoá TẤT CẢ heartbeats cho kênh theo dõi này chứ?", confirmClearStatisticsMsg: "Bạn chắc chắn muốn xoá TẤT CẢ số liệu thống kê?", - importHandleDescription: "Chọn 'Skip existing' nếu bạn muốn bỏ qua mọi monitor và kênh thông báo trùng tên. 'Overwrite' sẽ ghi đè lên tất cả các monitor và kênh thông báo.", + importHandleDescription: "Chọn 'Giữ lại' nếu bạn muốn bỏ qua mọi kênh theo dõi và kênh thông báo trùng tên. 'Ghi đè' sẽ ghi đè lên tất cả các kênh theo dõi và kênh thông báo.", confirmImportMsg: "Bạn có chắc chắn muốn khôi phục bản bản sao lưu này không?.", - twoFAVerifyLabel: "Vui lòng nhập mã token của bạn để xác minh rằng 2FA đang hoạt động", - tokenValidSettingsMsg: "Mã token hợp lệ! Bạn có thể lưu cài đặt 2FA bây giờ.", - confirmEnableTwoFAMsg: "Bạn chắc chắn muốn bật 2FA chứ?", - confirmDisableTwoFAMsg: "Bạn chắc chắn muốn tắt 2FA chứ?", + twoFAVerifyLabel: "Vui lòng nhập mã token của bạn để xác minh rằng xác thực 2 lớp (2FA) đang hoạt động", + tokenValidSettingsMsg: "Mã token hợp lệ! Bạn có thể lưu cài đặt xác thực 2 lớp (2FA) bây giờ.", + confirmEnableTwoFAMsg: "Bạn chắc chắn muốn bật xác thực 2 lớp (2FA) chứ?", + confirmDisableTwoFAMsg: "Bạn chắc chắn muốn tắt xác thực 2 lớp (2FA) chứ?", Settings: "Cài đặt", Dashboard: "Dashboard", "New Update": "Bản cập nhật mới", @@ -38,7 +38,7 @@ export default { "Check Update On GitHub": "Kiểm tra bản cập nhật mới trên GitHub", List: "List", Add: "Thêm", - "Add New Monitor": "Thêm mới Monitor", + "Add New Monitor": "Thêm mới kênh theo dõi", "Quick Stats": "Thống kê nhanh", Up: "Up", Down: "Down", @@ -63,9 +63,9 @@ export default { "-hour": "-giờ", Response: "Phản hồi", Ping: "Ping", - "Monitor Type": "Kiểu monitor", + "Monitor Type": "Kiểu kênh theo dõi", Keyword: "Từ khoá", - "Friendly Name": "Tên monitor", + "Friendly Name": "Tên rút gọn", URL: "URL", Hostname: "Hostname", Port: "Port", @@ -111,7 +111,7 @@ export default { Password: "Mật khẩu", "Remember me": "Lưu phiên đăng nhập", Login: "Đăng nhập", - "No Monitors, please": "Không có monitor nào", + "No Monitors, please": "Không có kênh theo dõi nào", "add one": "Thêm mới", "Notification Type": "Kiểu thông báo", Email: "Email", @@ -125,31 +125,31 @@ export default { "Import Backup": "Khôi phục bản sao lưu", "Export Backup": "Xuất bản sao lưu", Export: "Xuất", - Import: "Khôi phục", + Import: "Nhập", respTime: "Thời gian phản hồi (ms)", notAvailableShort: "N/A", "Default enabled": "Mặc định bật", - "Apply on all existing monitors": "Áp dụng cho tất cả monitor đang có", + "Apply on all existing monitors": "Áp dụng cho tất cả kênh theo dõi đang có", Create: "Tạo", "Clear Data": "Xoá dữ liệu", Events: "Sự kiện", Heartbeats: "Heartbeats", "Auto Get": "Tự động lấy", - backupDescription: "Bạn có thể sao lưu tất cả các monitor và tất cả các thông báo vào một file JSON.", - backupDescription2: "PS: Không bao gồm dữ liệu lịch sử các sự kiện.", - backupDescription3: "Hãy lưu giữ file này cẩn thận vì trong file đó chứa cả các mã token thông báo.", + backupDescription: "Sao lưu tất cả các kênh theo dõi và tất cả các thông báo vào một file định dạng JSON.", + backupDescription2: "Lưu ý: Không bao gồm dữ liệu lịch sử các sự kiện.", + backupDescription3: "Hãy lưu giữ file này cẩn thận, trong file đó chứa cả các token thông báo.", alertNoFile: "Hãy chọn file để khôi phục.", - alertWrongFileType: "Hãy chọn file JSON.", + alertWrongFileType: "Hãy chọn file định dạng JSON.", "Clear all statistics": "Xoá tất cả thống kê", - "Skip existing": "Skip existing", + "Skip existing": "Giữ lại", Overwrite: "Ghi đè", Options: "Tuỳ chọn", "Keep both": "Giữ lại cả hai", "Verify Token": "Xác minh Token", - "Setup 2FA": "Cài đặt 2FA", - "Enable 2FA": "Bật 2FA", - "Disable 2FA": "Tắt 2FA", - "2FA Settings": "Cài đặt 2FA", + "Setup 2FA": "Cài đặt xác thực 2 lớp (2FA)", + "Enable 2FA": "Bật xác thực 2 lớp (2FA)", + "Disable 2FA": "Tắt xác thực 2 lớp (2FA)", + "2FA Settings": "Cài đặt xác thực 2 lớp (2FA)", "Two Factor Authentication": "Xác thực hai yếu tố", Active: "Hoạt động", Inactive: "Ngừng hoạt động", @@ -170,16 +170,16 @@ export default { Purple: "Tím", Pink: "Hồng", "Search...": "Tìm kiếm...", - "Avg. Ping": "Ping Trung bình", + "Avg. Ping": "Ping trung bình", "Avg. Response": "Phản hồi trung bình", "Entry Page": "Entry Page", - statusPageNothing: "Không có gì, hãy thêm nhóm monitor hoặc monitor.", + statusPageNothing: "Chưa có thông tin gì, hãy thêm nhóm kênh theo dõi hoặc kênh theo dõi.", "No Services": "Không có dịch vụ", "All Systems Operational": "Tất cả các hệ thống hoạt động bình thường", - "Partially Degraded Service": "Có hệ thống down", - "Degraded Service": "Toàn bộ hệ thống down", + "Partially Degraded Service": "Có hệ thống bị ngưng", + "Degraded Service": "Toàn bộ hệ thống bị ngưng", "Add Group": "Thêm nhóm", - "Add a monitor": "Thêm monitor", + "Add a monitor": "Thêm kênh theo dõi", "Edit Status Page": "Sửa trang trạng thái", "Go to Dashboard": "Đi tới Dashboard", "Status Page": "Trang trạng thái", @@ -195,23 +195,23 @@ export default { "YOUR BOT TOKEN HERE": "MÃ BOT TOKEN CỦA BẠN", chatIDNotFound: "Không tìm thấy Chat ID, vui lòng gửi tin nhắn cho bot này trước", webhook: "Webhook", - "Post URL": "URL đăng", + "Post URL": "URL webhook", "Content Type": "Loại nội dung", - webhookJsonDesc: "{0} phù hợp với bất kỳ máy chủ http hiện đại nào như express.js", - webhookFormDataDesc: "{multipart} phù hợp với PHP, bạn chỉ cần phân tích cú pháp json bằng {decodeFunction}", + webhookJsonDesc: "{0} tương thích với máy chủ HTTP ví dụ như Express.js", + webhookFormDataDesc: "{multipart} tương thích với máy chủ PHP, bạn chỉ cần phân tích cú pháp json bằng {decodeFunction}", smtp: "Email (SMTP)", - secureOptionNone: "None / STARTTLS (25, 587)", + secureOptionNone: "None/STARTTLS(25, 587)", secureOptionTLS: "TLS (465)", "Ignore TLS Error": "Bỏ qua lỗi TLS", - "From Email": "Từ Email", + "From Email": "Email gửi", emailCustomSubject: "Tuỳ chỉnh tiêu đề", - "To Email": "Tới Email", + "To Email": "Email nhận", smtpCC: "CC", smtpBCC: "BCC", discord: "Discord", "Discord Webhook URL": "Discord Webhook URL", wayToGetDiscordURL: "Để lấy Discord, hãy vào: Server Settings -> Integrations -> Create Webhook", - "Bot Display Name": "Tên hiển thị của Bot", + "Bot Display Name": "Tên hiển thị của BOT", "Prefix Custom Message": "Tiền tố tin nhắn tuỳ chọn", "Hello @everyone is...": "Xin chào {'@'} mọi người đang...", teams: "Microsoft Teams", @@ -220,8 +220,8 @@ export default { signal: "Tín hiệu", Number: "Số", Recipients: "Người nhận", - needSignalAPI: "Bạn cần một tín hiệu client với REST API.", - wayToCheckSignalURL: "Bạn có thể kiểm tra url này để xem cách thiết lập:", + needSignalAPI: "Bạn cần một tín hiệu kết nối với REST API.", + wayToCheckSignalURL: "Bạn có thể kiểm tra URL này để xem cách thiết lập:", signalImportant: "QUAN TRỌNG: Bạn không thể kết hợp các nhóm và số trong người nhận!", gotify: "Gotify", "Application Token": "Mã Token ứng dụng", @@ -242,7 +242,7 @@ export default { promosms: "PromoSMS", clicksendsms: "ClickSend SMS", lunasea: "LunaSea", - apprise: "Apprise (Hỗ trợ 50+ dịch vụ thông báo)", + apprise: "Apprise (Hỗ trợ trên 50 dịch vụ thông báo)", GoogleChat: "Google Chat (Google Workspace only)", pushbullet: "Pushbullet", line: "Line Messenger", @@ -261,7 +261,7 @@ export default { apiCredentials: "API credentials", octopushLegacyHint: "Bạn muốn sử dụng phiên bản cũ của Octopush (2011-2020) hay phiên bản mới?", "Check octopush prices": "Kiểm tra giá octopush {0}.", - octopushPhoneNumber: "Số điện thoại (Định dạng intl, vd : +84123456789) ", + octopushPhoneNumber: "Số điện thoại (Định dạng intl, vd : +84692341165) ", octopushSMSSender: "SMS người gửi : 3-11 ký tự chữ, số và dấu cách (a-zA-Z0-9)", "LunaSea Device ID": "LunaSea ID thiết bị", "Apprise URL": "Apprise URL", @@ -300,50 +300,50 @@ export default { PushUrl: "Push URL", HeadersInvalidFormat: "Header request không hợp lệ JSON: ", BodyInvalidFormat: "Tequest body không hợp lệ JSON: ", - "Monitor History": "Lịch sử Monitor", - clearDataOlderThan: "Giữ dữ liệu lịch sử monitor {0} ngày.", + "Monitor History": "Lịch sử kênh theo dõi", + clearDataOlderThan: "Giữ dữ liệu lịch sử kênh theo dõi {0} ngày.", PasswordsDoNotMatch: "Passwords không khớp.", records: "records", "One record": "One record", - steamApiKeyDescription: "Để monitor các Steam Game Server bạn cần một Steam Web-API key. Bạn có thể đăng ký API key tại đây: ", + steamApiKeyDescription: "Để theo dõi các Steam Game Server bạn cần một Steam Web-API key. Bạn có thể đăng ký API key tại đây: ", "Current User": "User hiện tại", recent: "Gần đây", - Done: "Done", - Info: "Info", - Security: "Security", + Done: "Hoàn thành", + Info: "Thông tin", + Security: "Bảo mật", "Steam API Key": "Steam API Key", "Shrink Database": "Shrink Database", "Pick a RR-Type...": "Pick a RR-Type...", "Pick Accepted Status Codes...": "Chọn các Codes trạng thái chấp nhận được...", Default: "Mặc định", "HTTP Options": "Tuỳ chọn HTTP", - "Create Incident": "Create Incident", + "Create Incident": "Tạo Incident", Title: "Tiêu đề", Content: "Nội dung", Style: "Style", - info: "info", + info: "thông tin", warning: "cảnh báo", danger: "nguy hiểm", - primary: "primary", + primary: "cơ sở", light: "sáng", dark: "tối", Post: "Post", "Please input title and content": "Hãy nhập tiêu đề và nội dung", - Created: "Created", + Created: "Đã tạo", "Last Updated": "Cập nhật mới nhất", Unpin: "Bỏ ghim", - "Switch to Light Theme": "Chuyển sang Theme Sáng", - "Switch to Dark Theme": "Chuyển sang Theme Tối", + "Switch to Light Theme": "Chuyển sang giao diện Sáng", + "Switch to Dark Theme": "Chuyển sang giao diện Tối", "Show Tags": "Hiện Tags", "Hide Tags": "Ẩn Tags", Description: "Mô tả", - "No monitors available.": "Không có monitor nào.", + "No monitors available.": "Không có kênh theo dõi nào.", "Add one": "Thêm mới", - "No Monitors": "No Monitors", + "No Monitors": "Không có kênh theo dõi", "Untitled Group": "Nhóm không có tiêu đề", - Services: "Services", - Discard: "Discard", - Cancel: "Cancel", + Services: "Dịch vụ", + Discard: "Bỏ", + Cancel: "Hủy", "Powered by": "Được cung cấp bởi", shrinkDatabaseDescription: "Khởi chạy database VACCUM cho SQLite. Nếu database được tạo sau version 1.10.0, AUTO_VACCUM đã được bật sẵn, hành động này không cần thiết.", serwersms: "SerwerSMS.pl", @@ -352,11 +352,11 @@ export default { serwersmsPhoneNumber: "Số điện thoại", serwersmsSenderName: "Tên người gửi SMS (Đã đăng ký qua portal)", "stackfield": "Stackfield", - smtpDkimSettings: "DKIM Settings", - smtpDkimDesc: "Please refer to the Nodemailer DKIM {0} for usage.", - documentation: "documentation", - smtpDkimDomain: "Domain Name", - smtpDkimKeySelector: "Key Selector", + smtpDkimSettings: "Cài đặt xác thực Email(DKIM)", + smtpDkimDesc: "Xem hướng dẫn tại {0}.", + documentation: "Nodemailer DKIM", + smtpDkimDomain: "Mail domain", + smtpDkimKeySelector: "DKIM Key Selector", smtpDkimPrivateKey: "Private Key", smtpDkimHashAlgo: "Hash Algorithm (Tuỳ chọn)", smtpDkimheaderFieldNames: "Header Keys to sign (Tuỳ chọn)",