Fix a few lowhaning TODOs

This commit is contained in:
Johannes Zellner
2025-03-28 16:09:58 +01:00
parent 79093bf61c
commit 3df0e6fda1
7 changed files with 107 additions and 43 deletions

View File

@@ -286,7 +286,8 @@
"users": "Người dùng",
"name": "Tên",
"newGroupAction": "Nhóm mới",
"title": "Nhóm"
"title": "Nhóm",
"count": "Tổng số nhóm: {{ count }}"
},
"newUserAction": "Người dùng mới",
"title": "Chỉ mục Người dùng",
@@ -454,7 +455,8 @@
"copyNow": "Xin copy mã API này bây giờ. Nó sẽ không được hiển thị lại vì lý do an ninh.",
"generateToken": "Tạo mã API",
"name": "Tên cho mã API",
"access": "Truy cập API"
"access": "Truy cập API",
"allowedIpRanges": "Dãy IP cho phép"
},
"enable2FAAction": "Bật xác minh hai bước",
"primaryEmail": "Email chính",
@@ -480,7 +482,9 @@
"neverUsed": "chưa từng dùng",
"readonly": "Chỉ đọc",
"scope": "Mức độ bao phủ",
"readwrite": "Đọc và Ghi"
"readwrite": "Đọc và Ghi",
"allowedIpRangesPlaceholder": "IP hoặc Subnet viết cách ra bởi dấu phẩy",
"allowedIpRanges": "IP cho phép"
},
"loginTokens": {
"title": "Mã đăng nhập",
@@ -520,7 +524,7 @@
"backups": {
"location": {
"title": "Nơi sao lưu",
"description": "Cloudron sao lưu toàn bộ hệ thống của bạn vào nơi sao lưu được cài đặt.",
"description": "Một bản sao lưu toàn phần của hệ thống được lưu vào vị trí lưu trữ theo định dạng được cấu hình.",
"configure": "Cấu hình",
"format": "Định dạng lưu trữ",
"endpoint": "Điểm Endpoint",
@@ -579,7 +583,8 @@
"privateKey": "Mật mã riêng",
"diskPath": "Đường dẫn đến ổ đĩa",
"cifsSealSupport": "Dùng mã hoá SEAL. Cần SMB thấp nhất là phiên bản v3",
"encryptFilenames": "Mã hoá tên tập tin"
"encryptFilenames": "Mã hoá tên tập tin",
"preserveAttributesLabel": "Giữ nguyên thuộc tính của tập tin"
},
"cleanupBackups": {
"description": "Các bản sao lưu được dọn sạch tự động dựa trên thời gian lưu giữ. Thao tác này sẽ xoá ngay lập tức các bản sao lưu đang có.",
@@ -628,7 +633,7 @@
"configure": "Cấu hình",
"retentionPolicy": "Thời gian lưu giữ",
"schedule": "Lịch sao lưu",
"description": "Cloudron sao lưu toàn bộ hệ thống của bạn dựa vào định kỳ sao lưu đã lên lịch và giữ các bản sao lưu theo thời gian lưu giữ đã định.",
"description": "Một bản sao lưu toàn phần của hệ thống được tạo ra dựa trên Lịch Sao Lưu đặt theo <a href=\"/#/settings\">Múi giờ Hệ thống</a>. Các bản sao lưu cũ được xóa bỏ dựa trên Chính Sách Lưu Giữ.",
"title": "Lịch sao lưu và thời gian lưu giữ"
},
"check": {
@@ -643,6 +648,27 @@
"title": "Chỉnh sửa Bản sao lưu",
"label": "Nhãn",
"remotePath": "Đường dẫn"
},
"archives": {
"info": "Thông tin",
"title": "Kho Lưu Trữ App",
"location": "Nơi lưu trữ"
},
"deleteArchiveDialog": {
"description": "Sau khi xóa, bản lưu trữ sẽ được dọn dẹp dựa trên chính sách sao lưu.",
"title": "Xóa Lưu trữ của {{appTitle}} ({{fqdn}})"
},
"restoreArchiveDialog": {
"title": "Khôi phục từ Lưu Trữ",
"description": "Việc này sẽ cài đặt {{appId}} tại vị trí được xác định từ bản sao lưu hồi {{creationTime}}.",
"restoreAction": "Khôi phục",
"restoreActionOverwrite": "Khôi phục và tạo DNS mới"
},
"archive": {
"description": "Những lưu trữ app bị xóa sẽ được dọn dẹp dựa trên chính sách sao lưu."
},
"deleteArchive": {
"deleteAction": "Xóa"
}
},
"login": {
@@ -759,7 +785,7 @@
},
"noopNonAdminDomainWarning": "Cloudron không thể cung cấp dịch vụ gửi mail cho các app trên tên miền này khi chế độ email chưa được bật.",
"noopAdminDomainWarning": "Cloudron không thể gửi link mời người dùng, đặt lại mật khẩu hay gửi các thông báo khác khi chế độ email chưa được bật trên tên miền chính",
"description": "Cloudron sẽ dùng mail server này (Smart host) để gửi mail ra cho các app cài trên tên miền.",
"description": "Mail server này (Smart host) sẽ được dùng để gửi mail ra cho các app được cài đặt trên tên miền này.",
"title": "Hệ thống relay chuyển mail ra ngoài"
},
"mailboxboxDialog": {
@@ -897,7 +923,7 @@
"configure": "Cấu hình",
"interface": "Tên giao diện mạng",
"provider": "Nhà cung cấp",
"description": "Cloudron dùng địa chỉ IPv4 này để cài đặt các bản ghi A của DNS.",
"description": "Địa chỉ IPv4 này được dùng để cài đặt các bản ghi A của DNS.",
"title": "IPv4",
"address": "Địa chỉ IP"
},
@@ -908,7 +934,7 @@
"ipv6": {
"address": "Địa chỉ IPv6",
"title": "IPv6",
"description": "Cloudron dùng địa chỉ IPv6 này để chỉnh các bản ghi DNS AAAA.\n"
"description": "Địa chỉ IPv6 này được dùng để cài đặt các bản ghi DNS AAAA."
},
"configureIpv6": {
"title": "Cài đặt nhà cung cấp IPv6"
@@ -924,9 +950,9 @@
"typeFilterHeader": "Tất cả sự kiện",
"solrConfig": {
"notEnoughMemory": "Xin dành ra ít nhất 3GB cho mail server để bật Solr.",
"enableSolrCheckbox": "Bật tìm kiếm văn bản bằng Solr",
"description": "Solr có thể được dùng để tìm kiếm nhanh văn bản trong mail. Solr chỉ có thể chạy khi <a href=\"/#/services\" target=\"_blank\">mail service</a> được chia ít nhất 3GB RAM.",
"title": "Tìm kiếm dạng văn bản đầy đủ (Solr)"
"enableSolrCheckbox": "Bật tìm kiếm dạng văn bản đầy đủ",
"description": "Solr &amp; Tika có thể được dùng để tìm kiếm dạng văn bản đầy đủ nhanh chóng cho email và đính kèm. Solr chỉ có thể hoạt động khi <a href=\"/#/services\" target=\"_blank\">dịch vụ email</a> được chia ít nhất 3GB RAM.",
"title": "Tìm kiếm dạng văn bản đầy đủ"
},
"testMailDialog": {
"sendAction": "Gửi",
@@ -986,7 +1012,7 @@
"rcptTo": "Gửi cho"
},
"settings": {
"solrFts": "Tìm kiếm dạng văn bản đầy đủ (Solr)",
"solrFts": "Tìm kiếm dạng văn bản đầy đủ",
"solrNotRunning": "Đang ngừng",
"solrRunning": "Đang chạy",
"solrEnabled": "Đã bật",
@@ -1190,11 +1216,14 @@
"changeScheduleAction": "Thay đổi lịch cập nhật",
"showLogsAction": "Hiển thị log",
"version": "Phiên bản hệ thống",
"title": "Cập nhật"
"title": "Cập nhật",
"disabled": "Đã tắt",
"schedule": "Lịch cập nhật",
"description": "Cập nhật Hệ thống và Ứng dụng được thực hiện tự động dựa trên Lịch cập nhật trong <a href=\"/#/settings\">Múi giờ hệ thống</a>."
},
"timezone": {
"description": "Múi giờ hiện tại là ở <b>{{ timeZone }}</b>. Cài đặt này được dùng cho tác vụ sao lưu và cập nhật. Dấu thời gian hiện ở giao diện được hiển thị theo múi giờ của trình duyệt hiện dùng.",
"title": "Múi giờ"
"title": "Múi giờ hệ thống"
},
"appstoreAccount": {
"subscriptionReactivateAction": "Kích hoạt lại gói đăng ký",
@@ -1227,7 +1256,7 @@
"memoryLimit": "Giới hạn bộ nhớ",
"memoryUsage": "Dung lượng bộ nhớ sử dụng",
"service": "Dịch vụ",
"description": "Những dịch vụ trong Cloudron mang đến các tính năng như cơ sở dữ liệu, email và xác thực.",
"description": "Các dịch vụ dùng cho những tính năng như cơ sở dữ liệu, email và xác thực.",
"title": "Dịch vụ",
"refresh": "Làm mới (refresh)"
},
@@ -1371,7 +1400,20 @@
"dismissTooltip": "Xoá",
"nonePending": "Đã xem tất cả!",
"title": "Thông báo",
"markAllAsRead": "Đánh dấu đã xem qua tất cả"
"markAllAsRead": "Đánh dấu đã xem qua tất cả",
"settings": {
"appOutOfMemory": "App đã chạy hết bộ nhớ",
"appDown": "App bị sụp nguồn",
"title": "Cài đặt thông báo",
"backupFailed": "Sao lưu thất bại",
"certificateRenewalFailed": "Gia hạn chứng chỉ thất bại",
"appUp": "App đã hoạt động trở lại bình thường",
"rebootRequired": "Cần khởi động lại máy chủ",
"cloudronUpdateFailed": "Cập nhật Cloudron thất bại"
},
"settingsDialog": {
"description": "Quản lý các ưu tiên nhận thông báo của bạn ở đây. Cloudron sẽ gửi email cho những sự kiện thông báo được chọn đến địa chỉ email chính của bạn."
}
},
"domains": {
"removeDialog": {
@@ -1432,7 +1474,13 @@
"ovhAppSecret": "Mã bí mật App",
"ovhEndpoint": "Điểm Endpoint",
"ovhConsumerKey": "Mã Khách hàng",
"ovhAppKey": "Mã App"
"ovhAppKey": "Mã App",
"gandiTokenType": "Loại mã",
"gandiTokenTypeApiKey": "Mã API (Đã loại bỏ)",
"gandiTokenTypePAT": "Mã truy cập cá nhân (PAT)",
"inwxUsername": "Tên đăng nhập",
"inwxPassword": "Mật khẩu",
"customNameservers": "Tên miền sử dụng nameserver riêng"
},
"subscriptionRequired": {
"description": "Để thêm tên miền, hãy đăng ký gói trả phí.",
@@ -1449,7 +1497,7 @@
"renewCerts": {
"showLogsAction": "Hiển thị log",
"renewAllAction": "Gia hạn tất cả CCS",
"description": "Cloudron gia hạn tự động chứng chỉ số của Lets Encrypt. Sử dụng lựa chọn này để kích hoạt lệnh gia hạn ngay lập tức.",
"description": "Chứng chỉ số Lets Encrypt được gia hạn tự động. Dùng lựa chọn này để kích hoạt lệnh gia hạn ngay lập tức.",
"title": "Gia hạn chứng chỉ số"
},
"title": "Tên miền & CCS",
@@ -1486,12 +1534,12 @@
"uninstall": {
"uninstall": {
"uninstallAction": "Xoá",
"description": "Việc này sẽ xóa app ngay lập tức và tất cả dữ liệu. Trang sẽ không còn truy cập được sau khi xóa.",
"description": "Việc này sẽ gỡ cài đặt app và xóa tất cả dữ liệu trong app. Các bản sao lưu sẽ được dọn dẹp dựa trên chính sách sao lưu.",
"title": "Xoá"
},
"startStop": {
"stopAction": "Dừng app",
"startAction": "Chạy app",
"stopAction": "Dừng",
"startAction": "Khởi động",
"description": "App có thể được dừng chạy để bảo tồn tài nguyên server thay vì xoá app. Những bản sao lưu tương lai sẽ không bao gồm những thay đổi từ thời điểm này đến bản sao lưu kề cận nhất. Vì lý do này, bạn nên tạo một bản sao lưu trước khi cho dừng app.",
"title": "Chạy / Dừng"
}
@@ -1503,7 +1551,7 @@
"disableRecoveryModeAction": "Tắt chế độ phục hồi",
"enableRecoveryModeAction": "Bật chế độ phục hồi",
"title": "Khôi phục khi app bị sụp",
"restartAction": "Khởi động lại app"
"restartAction": "Khởi động lại"
},
"taskError": {
"retryAction": "Thử lại tác vụ {{ task }}",
@@ -1517,7 +1565,7 @@
"disableAction": "Tắt chế độ sao lưu tự động",
"disabled": "Sao lưu tự động hiện đang tắt.",
"enabled": "Sao lưu tự động đang được bật.",
"description": "Cloudron định kỳ tạo ra bản sao lưu dựa trên cài đặt trong phần <a href=\"{{ backupLink }}\">sao lưu</a> .",
"description": "Các bản sao lưu được tự động tạo ra dựa trên <a href=\"{{ backupLink }}\">Lịch sao lưu</a> .",
"title": "Bản sao lưu tự động"
},
"import": {
@@ -1579,7 +1627,7 @@
},
"from": {
"saveAction": "Lưu",
"mailboxPlaceholder": "Để trống để dùng giá trị mặc định của hệ thống",
"mailboxPlaceholder": "Tên Hộp thư",
"description": "Lựa chọn này cài đặt tên địa chỉ mà app sẽ gửi mail ra. App này đã được cài đặt để gửi mail trong phần cài đặt {{ domain }}'s <a href=\"\\{{ domainConfigLink }}\\\">Mail gửi ra</a>.",
"title": "Địa chỉ mail GỬI TỪ (FROM)",
"enable": "Dùng Mail Cloudron để gửi mail",
@@ -1616,7 +1664,7 @@
"addMountAction": "Gắn thêm một volume vào",
"noMounts": "Không có volume được gắn thêm.",
"volume": "Volume",
"title": "Thư mục mount thêm",
"title": "Volume gắn thêm",
"readOnly": "Chỉ cho phép đọc",
"permissions": {
"readOnly": "Chỉ cho phép đọc",
@@ -1817,6 +1865,17 @@
"notes": {
"title": "Ghi chú của Admin"
}
},
"archive": {
"title": "Kho lưu trữ",
"description": "Bản cập nhật mới nhất sẽ được thêm vào <a href=\"/#backups\">Kho lưu trữ</a>. App sẽ được gỡ bỏ sau đó, nhưng vẫn có thể được khôi phục từ Mục Sao lưu. Những bản sao lưu trước đó sẽ được dọn dẹp dựa trên chính sách sao lưu.",
"action": "Kho lưu trữ",
"latestBackupInfo": "Bản sao lưu mới nhất được tạo lúc {{date}}.",
"noBackup": "App chưa có bản sao lưu. Cần một bản sao lưu gần nhất để lưu trữ."
},
"archiveDialog": {
"title": "Lưu trữ {{app}}",
"description": "Việc này sẽ xóa app và đặt bản sao lưu app mới nhất được tạo ra lúc {{date}} trong Kho lưu trữ App."
}
},
"volumes": {
@@ -1933,12 +1992,12 @@
},
"oidc": {
"newClientDialog": {
"title": "Thêm client",
"description": "Thêm cài đặt client kết nối OpenID mới.",
"createAction": "Tạo"
"title": "Thêm OIDC client",
"description": "Nhập cài đặt OIDC client mới",
"createAction": "Thêm"
},
"client": {
"loginRedirectUri": "Đường dẫn callback khi đăng nhập (viết cách ra bởi dấu phẩy nếu có nhiều hơn một)",
"loginRedirectUri": "Đường dẫn callback khi đăng nhập (viết cách ra bởi dấu phẩy)",
"name": "Tên",
"id": "ID client",
"secret": "Mật khẩu client",
@@ -1957,7 +2016,7 @@
},
"deleteClientDialog": {
"title": "Chắc chắn muốn xoá client {{ client }}?",
"description": "Thao tác này sẽ ngắt kết nối tất cả app OpenID bên ngoài có trong Cloudron sử dụng ID client này."
"description": "Xóa OIDC client này sẽ vô hiệu hóa tất cả mã truy cập. Những app sử dụng OIDC client này sẽ không còn xác minh được theo cách này nữa."
},
"env": {
"discoveryUrl": "Đường dẫn Tìm kiếm",