diff --git a/package.json b/package.json
index 05164fc3..5003b866 100644
--- a/package.json
+++ b/package.json
@@ -52,6 +52,7 @@
"es",
"fr",
"it",
+ "vi",
"ko",
"ro",
"ru",
diff --git a/service-worker.js b/service-worker.js
index 006fa1fe..0c6004f3 100644
--- a/service-worker.js
+++ b/service-worker.js
@@ -22,6 +22,10 @@ const i18n = {
'new_message': "Nouveau message",
'new_chat': "Nouvelle conversation",
},
+ 'vi': {
+ 'new_message': "Tin nhắn mới",
+ 'new_chat': "Cuộc trò chuyện mới",
+ },
'es': {
'new_message': "Nuevo mensaje",
'new_chat': "Nueva conversación",
diff --git a/src/i18n.min/vi.json b/src/i18n.min/vi.json
new file mode 100644
index 00000000..709de075
--- /dev/null
+++ b/src/i18n.min/vi.json
@@ -0,0 +1 @@
+{"action_block_contact":"Chặn liên hệ","action_cancel":"hủy","action_clear_messages":"Xóa tin nhắn","action_delete_messages":"Xóa tin nhắn cho tất cả","action_leave_chat":"Rời cuộc trò chuyện","action_report_chat":"Báo cáo cuộc trò chuyện","archived_contacts":"Liên hệ đã lưu trữ ({count})","badge_danger":"Không đáng tin","badge_owner":"chủ sở hữu","badge_staff":"Được quản lý bởi nhân viên","badge_verified":"Đã xác minh/chính thức","badge_you":"bạn","block_contact_warning":"Bạn có chắc muốn chặn liên hệ này?","blocked_contacts_link":"Liên hệ bị chặn ({count})","button_add_members":"Thêm thành viên","button_cancel":"Hủy","button_confirm":"Xác nhận","button_create":"Tạo","button_delete_account":"Xóa tài khoản","button_edit":"Sửa","button_logout":"Đăng xuất","button_ok":"OK","button_reset":"Đặt lại","button_send_request":"Gửi yêu cầu","button_sign_in":"Đăng nhập","button_sign_up":"Đăng ký","button_subscribe":"Theo dõi","button_update":"Cập nhật","cannot_initiate_file_upload":"Không thể bắt đầu tải tệp lên.","channel":"kênh","channel_prompt":"Đây là một kênh","chat_invitation":"Bạn được mời bắt đầu cuộc trò chuyện mới. Bạn muốn làm gì?","chat_invitation_accept":"Chấp nhận","chat_invitation_block":"Chặn","chat_invitation_ignore":"Bỏ qua","clear_messages_warning":"Bạn có chắc muốn xóa tất cả tin nhắn? Hành động này không thể hoàn tác.","code_doesnot_match":"Mã không khớp","contacts_not_found":"Bạn chưa có cuộc trò chuyện nào
¯∖_(ツ)_/¯","contacts_not_found_short":"Không có liên hệ nào khớp với ''{query}''","credential_email_prompt":"Email đăng ký của bạn","delete_account":"Xóa tài khoản","delete_account_warning":"Bạn có chắc muốn xóa tài khoản? Hành động này không thể hoàn tác.","delete_messages_warning":"Bạn có chắc muốn xóa tất cả tin nhắn cho mọi người? Hành động này không thể hoàn tác.","download_action":"tải xuống","drafty_attachment":"Tệp đính kèm","drafty_form":"Biểu mẫu:","drafty_image":"Hình ảnh","email_dative":"email","email_prompt":"Email, ví dụ jdoe@example.com","enable_peers_messaging":"Bật","enter_confirmation_code_prompt":"Mã xác nhận","error_invalid_id":"ID không hợp lệ","file_attachment_too_large":"Kích thước tệp {size} vượt quá giới hạn {limit}.","forgot_password_link":"Quên mật khẩu?","full_name_prompt":"Họ và tên, ví dụ John Doe","granted_permissions":"Đã cấp","group_has_no_members":"Không có thành viên","group_user_id_prompt":"ID nhóm hoặc người dùng","image_caption_prompt":"Chú thích hình ảnh","invalid_content":"nội dung không hợp lệ","invalid_security_token":"Mã bảo mật không hợp lệ","label_client":"Client:","label_content_type":"Kiểu nội dung:","label_default_access_mode":"Chế độ truy cập mặc định:","label_file_name":"Tên tệp:","label_group_members":"Thành viên nhóm:","label_incognito_mode":"Chế độ ẩn danh:","label_message_sound":"Âm thanh tin nhắn:","label_muting_topic":"Đã tắt:","label_other_user":"Khác","label_password":"Mật khẩu","label_permissions":"Quyền:","label_private":"Chỉ bạn nhìn thấy","label_push_notifications":"Cảnh báo thông báo:","label_push_notifications_disabled":"Cảnh báo thông báo (yêu cầu HTTPS):","label_reset_password":"Gửi email đặt lại mật khẩu:","label_sdk":"SDK:","label_server":"Máy chủ:","label_server_address":"Địa chỉ máy chủ:","label_server_to_use":"Máy chủ sử dụng:","label_size":"Kích thước:","label_topic_name":"Tên","label_user_contacts":"Danh bạ","label_user_id":"ID:","label_wire_transport":"Giao thức truyền tải:","label_you":"Bạn:","label_your_name":"Tên của bạn","label_your_permissions":"Quyền của bạn:","last_seen_timestamp":"Lần cuối hoạt động","leave_chat_warning":"Bạn có chắc muốn rời cuộc trò chuyện này?","link_contact_us":"Liên hệ chúng tôi","link_privacy_policy":"Chính sách quyền riêng tư","link_terms_of_service":"Điều khoản dịch vụ","login_prompt":"Đăng nhập","menu_item_archive_topic":"Lưu trữ","menu_item_block":"Chặn","menu_item_clear_messages":"Xóa tin nhắn","menu_item_clear_messages_for_all":"Xóa cho tất cả","menu_item_delete":"Xóa","menu_item_delete_for_all":"Xóa cho tất cả","menu_item_delete_topic":"Xóa","menu_item_edit_permissions":"Sửa quyền","menu_item_info":"Thông tin","menu_item_member_delete":"Xóa","menu_item_mute":"Tắt thông báo","menu_item_reply":"Trả lời","menu_item_restore_topic":"Khôi phục","menu_item_send_retry":"Thử lại","menu_item_unblock":"Bỏ chặn","menu_item_unmute":"Bật thông báo","message_sending":"đang gửi...","message_sending_failed":"thất bại","messages_not_readable":"không có quyền xem tin nhắn","messaging_disabled_prompt":"Tin nhắn bị tắt","more_online_members":"+{overflow} nữa","new_message_prompt":"Tin nhắn mới","new_password_placeholder":"Nhập mật khẩu mới","no_connection":"Không có kết nối","no_contacts":"Bạn chưa có liên hệ nào :-(","numeric_confirmation_code_prompt":"Chỉ số","online_now":"đang online","password_prompt":"Mật khẩu","password_unchanged_prompt":"Không thay đổi","peers_messaging_disabled":"Tin nhắn của người kia đã bị tắt.","permission_admin":"Phê duyệt ({val})","permission_delete":"Xóa ({val})","permission_join":"Tham gia ({val})","permission_owner":"Chủ sở hữu ({val})","permission_pres":"Nhận thông báo ({val})","permission_read":"Đọc ({val})","permission_share":"Chia sẻ ({val})","permission_write":"Ghi ({val})","phone_dative":"điện thoại","private_editing_placeholder":"Chỉ mình bạn nhìn thấy","push_init_failed":"Khởi tạo thông báo đẩy thất bại","reconnect_countdown":"Mất kết nối. Kết nối lại sau {seconds}…","reconnect_now":"Thử ngay","reload_update":"Tải lại","report_chat_warning":"Bạn có chắc muốn chặn và báo cáo cuộc trò chuyện này?","requested_permissions":"Đã yêu cầu","save_attachment":"lưu","search_for_contacts":"Dùng tìm kiếm để tìm liên hệ","search_no_results":"Không có kết quả nào","search_placeholder":"Liệt kê như email:alice@example.com, tel:17025550003...","sidepanel_title_acc_notifications":"Thông báo","sidepanel_title_acc_support":"Hỗ trợ","sidepanel_title_account_settings":"Cài đặt tài khoản","sidepanel_title_archive":"Cuộc trò chuyện đã lưu trữ","sidepanel_title_blocked":"Cuộc trò chuyện bị chặn","sidepanel_title_cred":"Xác nhận thông tin","sidepanel_title_login":"Đăng nhập","sidepanel_title_newtpk":"Bắt đầu cuộc trò chuyện mới","sidepanel_title_register":"Tạo tài khoản","sidepanel_title_reset":"Đặt lại mật khẩu","sidepanel_title_settings":"Cài đặt","stay_logged_in":"Giữ tôi đăng nhập","tabtitle_find_user":"tìm","tabtitle_group_by_id":"theo id","tabtitle_new_group":"nhóm mới","tags_editor_no_tags":"Thêm vài thẻ","tags_not_found":"Chưa có thẻ nào. Hãy thêm một vài thẻ.","title_all_contacts":"Tất cả liên hệ","title_group_members":"Thành viên nhóm","title_manage_tags":"Quản lý","title_not_found":"Không tìm thấy","title_permissions":"Quyền","title_tag_manager":"Thẻ (tìm kiếm & khám phá)","topic_block_warning":"Bạn có chắc muốn chặn cuộc trò chuyện này?","topic_delete_warning":"Bạn có chắc muốn xóa cuộc trò chuyện này? Hành động này không thể hoàn tác.","topic_name_editing_placeholder":"Tên nhóm tự do","unnamed_topic":"Chưa đặt tên","update_available":"Có bản cập nhật.","upload_finishing":"đang hoàn tất...","user_not_found":"Không tìm thấy","description_editing_placeholder":"Mô tả tùy chọn","label_description":"Mô tả","button_security":"Bảo mật","panel_title_crop":"Kéo để điều chỉnh","panel_title_general":"Chung","panel_title_members":"Thành viên","panel_title_security":"Bảo mật","panel_title_info":"Thông tin","permissions_anonymous":"Ẩn danh","permissions_authenticated":"Đã xác thực","topic_delete":"Xóa cuộc trò chuyện","permissions_user":"Quyền của người dùng","password_reset_email_sent":"Email chứa mã bảo mật đã được gửi.","label_unarchive_topic":"Đã lưu trữ:","menu_item_forward":"Chuyển tiếp","forward_to":"Chuyển tiếp đến","forward_to_search_placeholder":"Tìm kiếm liên hệ","label_new_password":"Mật khẩu mới","drafty_unknown":"Không hỗ trợ","calls_incoming":"Cuộc gọi đến","calls_outgoing":"Cuộc gọi đi","calls_you_label":"Bạn","menu_item_video_call":"Gọi video","already_in_call":"Bạn đang có một cuộc gọi đang diễn ra!","call_cancelled":"đã hủy","call_missed":"bỏ lỡ","call_declined":"từ chối","call_disconnected":"mất kết nối","label_use_secure_connection":"Sử dụng kết nối bảo mật","cred_confirmed_successfully":"Xác nhận thành công","menu_item_edit":"Sửa","editing_message":"Đang sửa","message_edited_marker":", đã sửa","icon_title_add_image":"Thêm hình ảnh","icon_title_attach_file":"Đính kèm tệp","icon_title_delete":"Xóa","icon_title_pause":"Tạm dừng","icon_title_play":"Phát","icon_title_record_voice":"Ghi âm tin nhắn","icon_title_resume":"Tiếp tục","icon_title_send":"Gửi tin nhắn","drag_file":"Kéo tệp vào đây","drafty_video":"Video","call_in_progress":"đang diễn ra","menu_item_audio_call":"Gọi","unrecognized_video_format":"Không nhận dạng được định dạng video này","loading_note":"Đang tải...","password_i_have_code":"Tôi có mã","label_reset_password_tel":"Gửi SMS đặt lại mật khẩu:","mobile_phone_number":"Số điện thoại di động","password_reset_sms_sent":"Tin nhắn chứa mã bảo mật đã được gửi.","mobile_number_required":"Cần số điện thoại di động","current_email":"Email hiện tại","current_phone":"Số điện thoại hiện tại","new_email":"Email mới","new_phone_number":"Số điện thoại mới","change_email":"Đổi email","change_phone":"Đổi số điện thoại","call_busy":"bận","failed_to_init_audio":"Không thể khởi tạo ghi âm","password_reset_success":"Đặt lại mật khẩu thành công","scan_qr_code":"Quét mã QR"}
\ No newline at end of file
diff --git a/src/i18n/vi.json b/src/i18n/vi.json
new file mode 100644
index 00000000..7eb657a3
--- /dev/null
+++ b/src/i18n/vi.json
@@ -0,0 +1,1651 @@
+{
+ "action_block_contact": {
+ "translation": "Chặn liên hệ",
+ "defaultMessage": "Block Contact",
+ "description": "Flat button [Block Contact]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_cancel": {
+ "translation": "hủy",
+ "defaultMessage": "cancel",
+ "description": "Call to action [cancel]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_clear_messages": {
+ "translation": "Xóa tin nhắn",
+ "defaultMessage": "Clear Messages",
+ "description": "Flat button [Clear Messages] (soft-delete messages)",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_delete_messages": {
+ "translation": "Xóa tin nhắn cho tất cả",
+ "defaultMessage": "Clear Messages for All",
+ "description": "Flat button [Clear for All] (hard-delete all messages)",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_leave_chat": {
+ "translation": "Rời cuộc trò chuyện",
+ "defaultMessage": "Leave Conversation",
+ "description": "Flat button [Leave Conversation]",
+ "missing": false,
+ "obsolete": false
+ },
+ "action_report_chat": {
+ "translation": "Báo cáo cuộc trò chuyện",
+ "defaultMessage": "Report Conversation",
+ "description": "Flat button [Report Group]",
+ "missing": false,
+ "obsolete": false
+ },
+ "archived_contacts": {
+ "translation": "Liên hệ đã lưu trữ ({count})",
+ "defaultMessage": "Archived contacts ({count})",
+ "description": "Label for archived chats",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_danger": {
+ "translation": "Không đáng tin",
+ "defaultMessage": "Untrustworthy",
+ "description": "Suspicious or untrustworthy account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_owner": {
+ "translation": "chủ sở hữu",
+ "defaultMessage": "owner",
+ "description": "Badge for indicating the owner",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_staff": {
+ "translation": "Được quản lý bởi nhân viên",
+ "defaultMessage": "Staff-managed",
+ "description": "Explanation of a staff-managed account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_verified": {
+ "translation": "Đã xác minh/chính thức",
+ "defaultMessage": "Verified/official",
+ "description": "Explanation of a verified account or topic badge",
+ "missing": false,
+ "obsolete": false
+ },
+ "badge_you": {
+ "translation": "bạn",
+ "defaultMessage": "you",
+ "description": "Badge for indicating the current user",
+ "missing": false,
+ "obsolete": false
+ },
+ "block_contact_warning": {
+ "translation": "Bạn có chắc muốn chặn liên hệ này?",
+ "defaultMessage": "Are you sure you want to block this contact?",
+ "description": "Alert dialog warning when blocking a contact.",
+ "missing": false,
+ "obsolete": false
+ },
+ "blocked_contacts_link": {
+ "translation": "Liên hệ bị chặn ({count})",
+ "defaultMessage": "Blocked contacts ({count})",
+ "description": "Blocked contacts link",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_add_members": {
+ "translation": "Thêm thành viên",
+ "defaultMessage": "Add members",
+ "description": "Flat button [Add members] (to topic)",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_cancel": {
+ "translation": "Hủy",
+ "defaultMessage": "Cancel",
+ "description": "Button [Cancel]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_confirm": {
+ "translation": "Xác nhận",
+ "defaultMessage": "Confirm",
+ "description": "Button [Confirm]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_create": {
+ "translation": "Tạo",
+ "defaultMessage": "Create",
+ "description": "Button [Create]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_delete_account": {
+ "translation": "Xóa tài khoản",
+ "defaultMessage": "Delete account",
+ "description": "Button [Delete account]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_edit": {
+ "translation": "Sửa",
+ "defaultMessage": "Edit",
+ "description": "Call to action [Edit]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_logout": {
+ "translation": "Đăng xuất",
+ "defaultMessage": "Logout",
+ "description": "Button [Logout]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_ok": {
+ "translation": "OK",
+ "defaultMessage": "OK",
+ "description": "Button [OK]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_reset": {
+ "translation": "Đặt lại",
+ "defaultMessage": "Reset",
+ "description": "Button [Reset]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_send_request": {
+ "translation": "Gửi yêu cầu",
+ "defaultMessage": "Send request",
+ "description": "Button [Send request]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_sign_in": {
+ "translation": "Đăng nhập",
+ "defaultMessage": "Sign in",
+ "description": "Button [Sign In]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_sign_up": {
+ "translation": "Đăng ký",
+ "defaultMessage": "Sign up",
+ "description": "Create account button [Sign Up]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_subscribe": {
+ "translation": "Theo dõi",
+ "defaultMessage": "Subscribe",
+ "description": "Button [Subscribe]",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_update": {
+ "translation": "Cập nhật",
+ "defaultMessage": "Update",
+ "description": "Button [Update]",
+ "missing": false,
+ "obsolete": false
+ },
+ "cannot_initiate_file_upload": {
+ "translation": "Không thể bắt đầu tải tệp lên.",
+ "defaultMessage": "Cannot initiate file upload.",
+ "description": "Generic error messagewhen attachment fails",
+ "missing": false,
+ "obsolete": false
+ },
+ "channel": {
+ "translation": "kênh",
+ "defaultMessage": "channel",
+ "description": "Subtitle shown for channels in MessagesView instead of last seen",
+ "missing": false,
+ "obsolete": false
+ },
+ "channel_prompt": {
+ "translation": "Đây là một kênh",
+ "defaultMessage": "This is a channel",
+ "description": "Checkbox label when creating a channel",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation": {
+ "translation": "Bạn được mời bắt đầu cuộc trò chuyện mới. Bạn muốn làm gì?",
+ "defaultMessage": "You are invited to start a new chat. What would you like to do?",
+ "description": "New chat invitation message: [Accept] [Ignore] [Block].",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_accept": {
+ "translation": "Chấp nhận",
+ "defaultMessage": "Accept",
+ "description": "Action [Accept] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_block": {
+ "translation": "Chặn",
+ "defaultMessage": "Block",
+ "description": "Action [Block] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "chat_invitation_ignore": {
+ "translation": "Bỏ qua",
+ "defaultMessage": "Ignore",
+ "description": "Action [Ignore] for chat invitation.",
+ "missing": false,
+ "obsolete": false
+ },
+ "clear_messages_warning": {
+ "translation": "Bạn có chắc muốn xóa tất cả tin nhắn? Hành động này không thể hoàn tác.",
+ "defaultMessage": "Are you sure you want to clear all messages? It cannot be undone.",
+ "description": "Alert dialog warning when deleting all messages.",
+ "missing": false,
+ "obsolete": false
+ },
+ "code_doesnot_match": {
+ "translation": "Mã không khớp",
+ "defaultMessage": "Code does not match",
+ "description": "Error message when the credential validation code is incorrect.",
+ "missing": false,
+ "obsolete": false
+ },
+ "contacts_not_found": {
+ "translation": "Bạn chưa có cuộc trò chuyện nào
¯∖_(ツ)_/¯",
+ "defaultMessage": "You have no chats
¯∖_(ツ)_/¯",
+ "description": "HTML message shown in ContactList when no contacts are found",
+ "missing": false,
+ "obsolete": false
+ },
+ "contacts_not_found_short": {
+ "translation": "Không có liên hệ nào khớp với ''{query}''",
+ "defaultMessage": "No contacts match ''{query}''",
+ "description": "Shown in ContactsView when search returned no results",
+ "missing": false,
+ "obsolete": false
+ },
+ "credential_email_prompt": {
+ "translation": "Email đăng ký của bạn",
+ "defaultMessage": "Your registration email",
+ "description": "Placeholder for entering email",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_account": {
+ "translation": "Xóa tài khoản",
+ "defaultMessage": "Delete account",
+ "description": "Title for delete account warning",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_account_warning": {
+ "translation": "Bạn có chắc muốn xóa tài khoản? Hành động này không thể hoàn tác.",
+ "defaultMessage": "Are you sure you want to delete your account? It cannot be undone.",
+ "description": "Warning message when deleting an account",
+ "missing": false,
+ "obsolete": false
+ },
+ "delete_messages_warning": {
+ "translation": "Bạn có chắc muốn xóa tất cả tin nhắn cho mọi người? Hành động này không thể hoàn tác.",
+ "defaultMessage": "Are you sure you want to delete all messages for everyone? It cannot be undone.",
+ "description": "Alert dialog warning when hard-deleting all messages.",
+ "missing": false,
+ "obsolete": false
+ },
+ "download_action": {
+ "translation": "tải xuống",
+ "defaultMessage": "download",
+ "description": "Call to action [download]",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_attachment": {
+ "translation": "Tệp đính kèm",
+ "defaultMessage": "Attachment",
+ "description": "Comment for attachment in Drafty",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_form": {
+ "translation": "Biểu mẫu:",
+ "defaultMessage": "Form:",
+ "description": "Comment for form in Drafty",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_image": {
+ "translation": "Hình ảnh",
+ "defaultMessage": "Picture",
+ "description": "Comment for embedded images in Drafty",
+ "missing": false,
+ "obsolete": false
+ },
+ "email_dative": {
+ "translation": "email",
+ "defaultMessage": "email",
+ "description": "Dative case of 'email', i.e. 'email' in 'by email'",
+ "missing": false,
+ "obsolete": false
+ },
+ "email_prompt": {
+ "translation": "Email, ví dụ jdoe@example.com",
+ "defaultMessage": "Email, e.g. jdoe@example.com",
+ "description": "Input placeholder for email entry",
+ "missing": false,
+ "obsolete": false
+ },
+ "enable_peers_messaging": {
+ "translation": "Bật",
+ "defaultMessage": "Enable",
+ "description": "Call to action to enable peer's messaging",
+ "missing": false,
+ "obsolete": false
+ },
+ "enter_confirmation_code_prompt": {
+ "translation": "Mã xác nhận",
+ "defaultMessage": "Confirmation code",
+ "description": "Request to enter confirmation code",
+ "missing": false,
+ "obsolete": false
+ },
+ "error_invalid_id": {
+ "translation": "ID không hợp lệ",
+ "defaultMessage": "Invalid ID",
+ "description": "Error message",
+ "missing": false,
+ "obsolete": false
+ },
+ "file_attachment_too_large": {
+ "translation": "Kích thước tệp {size} vượt quá giới hạn {limit}.",
+ "defaultMessage": "The file size {size} exceeds the {limit} limit.",
+ "description": "Error message when attachment is too large",
+ "missing": false,
+ "obsolete": false
+ },
+ "forgot_password_link": {
+ "translation": "Quên mật khẩu?",
+ "defaultMessage": "Forgot password?",
+ "description": "Link to Reset password form",
+ "missing": false,
+ "obsolete": false
+ },
+ "full_name_prompt": {
+ "translation": "Họ và tên, ví dụ John Doe",
+ "defaultMessage": "Full name, e.g. John Doe",
+ "description": "Input placeholder for person's full name",
+ "missing": false,
+ "obsolete": false
+ },
+ "granted_permissions": {
+ "translation": "Đã cấp",
+ "defaultMessage": "Granted",
+ "description": "Title for permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "group_has_no_members": {
+ "translation": "Không có thành viên",
+ "defaultMessage": "No members",
+ "description": "Shown in place of group members",
+ "missing": false,
+ "obsolete": false
+ },
+ "group_user_id_prompt": {
+ "translation": "ID nhóm hoặc người dùng",
+ "defaultMessage": "Group or User ID",
+ "description": "Prompt for entering user or group ID",
+ "missing": false,
+ "obsolete": false
+ },
+ "image_caption_prompt": {
+ "translation": "Chú thích hình ảnh",
+ "defaultMessage": "Image caption",
+ "description": "Prompt in SendMessage for attached image",
+ "missing": false,
+ "obsolete": false
+ },
+ "invalid_content": {
+ "translation": "nội dung không hợp lệ",
+ "defaultMessage": "invalid content",
+ "description": "Shown when the message is unreadable",
+ "missing": false,
+ "obsolete": false
+ },
+ "invalid_security_token": {
+ "translation": "Mã bảo mật không hợp lệ",
+ "defaultMessage": "Invalid security token",
+ "description": "Error message when resetting password.",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_client": {
+ "translation": "Client:",
+ "defaultMessage": "Client:",
+ "description": "Label for a client version",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_content_type": {
+ "translation": "Kiểu nội dung:",
+ "defaultMessage": "Content type:",
+ "description": "Label for file content type (mime)",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_default_access_mode": {
+ "translation": "Chế độ truy cập mặc định:",
+ "defaultMessage": "Default access mode:",
+ "description": "Label for default access mode",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_file_name": {
+ "translation": "Tên tệp:",
+ "defaultMessage": "File name:",
+ "description": "Label for a file name",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_group_members": {
+ "translation": "Thành viên nhóm:",
+ "defaultMessage": "Group members:",
+ "description": "Section title or label",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_incognito_mode": {
+ "translation": "Chế độ ẩn danh:",
+ "defaultMessage": "Incognito mode:",
+ "description": "Label for incognito mode toggle",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_message_sound": {
+ "translation": "Âm thanh tin nhắn:",
+ "defaultMessage": "Message sound:",
+ "description": "Label for message sounds toggle",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_muting_topic": {
+ "translation": "Đã tắt:",
+ "defaultMessage": "Muted:",
+ "description": "Label for Muting/unmuting the topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_other_user": {
+ "translation": "Khác",
+ "defaultMessage": "Other",
+ "description": "Label for the other user when the user is unnamed",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_password": {
+ "translation": "Mật khẩu",
+ "defaultMessage": "Password",
+ "description": "Label for password editing",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_permissions": {
+ "translation": "Quyền:",
+ "defaultMessage": "Permissions:",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_private": {
+ "translation": "Chỉ bạn nhìn thấy",
+ "defaultMessage": "Private comment",
+ "description": "Label for editing 'private'",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_push_notifications": {
+ "translation": "Cảnh báo thông báo:",
+ "defaultMessage": "Notification alerts:",
+ "description": "Label for push notifications switch",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_push_notifications_disabled": {
+ "translation": "Cảnh báo thông báo (yêu cầu HTTPS):",
+ "defaultMessage": "Notification alerts (requires HTTPS):",
+ "description": "Label for push notifications switch",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_reset_password": {
+ "translation": "Gửi email đặt lại mật khẩu:",
+ "defaultMessage": "Send a password reset email",
+ "description": "Label for password reset field",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_sdk": {
+ "translation": "SDK:",
+ "defaultMessage": "SDK:",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server": {
+ "translation": "Máy chủ:",
+ "defaultMessage": "Server:",
+ "description": "Label for a server version",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server_address": {
+ "translation": "Địa chỉ máy chủ:",
+ "defaultMessage": "Server address:",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_server_to_use": {
+ "translation": "Máy chủ sử dụng:",
+ "defaultMessage": "Server to use:",
+ "description": "Label for server selector in SettingsView",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_size": {
+ "translation": "Kích thước:",
+ "defaultMessage": "Size:",
+ "description": "Label for file size",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_topic_name": {
+ "translation": "Tên",
+ "defaultMessage": "Name",
+ "description": "Label for editing topic name",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_user_contacts": {
+ "translation": "Danh bạ",
+ "defaultMessage": "Contacts",
+ "description": "Label for user contacts",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_user_id": {
+ "translation": "ID:",
+ "defaultMessage": "ID:",
+ "description": "Label for user address (ID)",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_wire_transport": {
+ "translation": "Giao thức truyền tải:",
+ "defaultMessage": "Wire transport:",
+ "description": "Label for wire transport selection in SettingsView",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_you": {
+ "translation": "Bạn:",
+ "defaultMessage": "You:",
+ "description": "Label for the current user",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_your_name": {
+ "translation": "Tên của bạn",
+ "defaultMessage": "Your name",
+ "description": "Label for full name editing",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_your_permissions": {
+ "translation": "Quyền của bạn:",
+ "defaultMessage": "Your permissions:",
+ "description": "Label for current user permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "last_seen_timestamp": {
+ "translation": "Lần cuối hoạt động",
+ "defaultMessage": "Last seen",
+ "description": "Label for the timestamp of when the user or topic was last online",
+ "missing": false,
+ "obsolete": false
+ },
+ "leave_chat_warning": {
+ "translation": "Bạn có chắc muốn rời cuộc trò chuyện này?",
+ "defaultMessage": "Are you sure you want to leave this conversation?",
+ "description": "Alert dialog warning when unsubscribing from a chat.",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_contact_us": {
+ "translation": "Liên hệ chúng tôi",
+ "defaultMessage": "Contact Us",
+ "description": "Ancor text for contacting us by email",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_privacy_policy": {
+ "translation": "Chính sách quyền riêng tư",
+ "defaultMessage": "Privacy Policy",
+ "description": "Ancor text for privacy policy link",
+ "missing": false,
+ "obsolete": false
+ },
+ "link_terms_of_service": {
+ "translation": "Điều khoản dịch vụ",
+ "defaultMessage": "Terms of Service",
+ "description": "Ancor text for terms of service link",
+ "missing": false,
+ "obsolete": false
+ },
+ "login_prompt": {
+ "translation": "Đăng nhập",
+ "defaultMessage": "Login",
+ "description": "Placeholer for username/login",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_archive_topic": {
+ "translation": "Lưu trữ",
+ "defaultMessage": "Archive",
+ "description": "Move topic from the list of active chats to archive",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_block": {
+ "translation": "Chặn",
+ "defaultMessage": "Block",
+ "description": "Block topic or user",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_clear_messages": {
+ "translation": "Xóa tin nhắn",
+ "defaultMessage": "Clear messages",
+ "description": "Delete all messages",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_clear_messages_for_all": {
+ "translation": "Xóa cho tất cả",
+ "defaultMessage": "Clear for All",
+ "description": "Delete all message(s) for all members",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete": {
+ "translation": "Xóa",
+ "defaultMessage": "Delete",
+ "description": "Delete selected messages",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete_for_all": {
+ "translation": "Xóa cho tất cả",
+ "defaultMessage": "Delete for All",
+ "description": "Delete selected message(s) for all members",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_delete_topic": {
+ "translation": "Xóa",
+ "defaultMessage": "Delete",
+ "description": "Delete entire topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_edit_permissions": {
+ "translation": "Sửa quyền",
+ "defaultMessage": "Edit permissions",
+ "description": "Menu item [Edit permissions]",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_info": {
+ "translation": "Thông tin",
+ "defaultMessage": "Info",
+ "description": "Show extended topic information",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_member_delete": {
+ "translation": "Xóa",
+ "defaultMessage": "Remove",
+ "description": "Remove user from topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_mute": {
+ "translation": "Tắt thông báo",
+ "defaultMessage": "Mute",
+ "description": "Turn off notifications",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_reply": {
+ "translation": "Trả lời",
+ "defaultMessage": "Reply",
+ "description": "Reply to message",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_restore_topic": {
+ "translation": "Khôi phục",
+ "defaultMessage": "Restore",
+ "description": "Restore topic from archive",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_send_retry": {
+ "translation": "Thử lại",
+ "defaultMessage": "Retry",
+ "description": "Retry sending message",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_unblock": {
+ "translation": "Bỏ chặn",
+ "defaultMessage": "Unblock",
+ "description": "Unblock topic or user",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_unmute": {
+ "translation": "Bật thông báo",
+ "defaultMessage": "Unmute",
+ "description": "Turn notifications on",
+ "missing": false,
+ "obsolete": false
+ },
+ "message_sending": {
+ "translation": "đang gửi...",
+ "defaultMessage": "sending...",
+ "description": "Message being sent, in place of time stamp",
+ "missing": false,
+ "obsolete": false
+ },
+ "message_sending_failed": {
+ "translation": "thất bại",
+ "defaultMessage": "failed",
+ "description": "Failed to send message, in place of time stamp",
+ "missing": false,
+ "obsolete": false
+ },
+ "messages_not_readable": {
+ "translation": "không có quyền xem tin nhắn",
+ "defaultMessage": "no access to messages",
+ "description": "Message shown in topic without the read access",
+ "missing": false,
+ "obsolete": false
+ },
+ "messaging_disabled_prompt": {
+ "translation": "Tin nhắn bị tắt",
+ "defaultMessage": "Messaging disabled",
+ "description": "Prompt in SendMessage in read-only topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "more_online_members": {
+ "translation": "+{overflow} nữa",
+ "defaultMessage": "+{overflow} more",
+ "description": "Shown in MessagesView title bar when the number of online subscribers exceeds MAX_ONLINE_IN_TOPIC",
+ "missing": false,
+ "obsolete": false
+ },
+ "new_message_prompt": {
+ "translation": "Tin nhắn mới",
+ "defaultMessage": "New message",
+ "description": "Prompt in send message field",
+ "missing": false,
+ "obsolete": false
+ },
+ "new_password_placeholder": {
+ "translation": "Nhập mật khẩu mới",
+ "defaultMessage": "Enter new password",
+ "description": "Placeholder for entering new password",
+ "missing": false,
+ "obsolete": false
+ },
+ "no_connection": {
+ "translation": "Không có kết nối",
+ "defaultMessage": "No connection",
+ "description": "Warning that the user is offline.",
+ "missing": false,
+ "obsolete": false
+ },
+ "no_contacts": {
+ "translation": "Bạn chưa có liên hệ nào :-(",
+ "defaultMessage": "You have no contacts :-(",
+ "description": "Shown in ContactsView when the user has no contacts",
+ "missing": false,
+ "obsolete": false
+ },
+ "numeric_confirmation_code_prompt": {
+ "translation": "Chỉ số",
+ "defaultMessage": "Numbers only",
+ "description": "Prompt for numeric conformation code",
+ "missing": false,
+ "obsolete": false
+ },
+ "online_now": {
+ "translation": "đang online",
+ "defaultMessage": "online now",
+ "description": "Indicator that the user or topic is currently online",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_prompt": {
+ "translation": "Mật khẩu",
+ "defaultMessage": "Password",
+ "description": "Placeholder/prompt for entering password",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_unchanged_prompt": {
+ "translation": "Không thay đổi",
+ "defaultMessage": "Unchanged",
+ "description": "Message in editor while password is unchanged",
+ "missing": false,
+ "obsolete": false
+ },
+ "peers_messaging_disabled": {
+ "translation": "Tin nhắn của người kia đã bị tắt.",
+ "defaultMessage": "Peer's messaging is disabled.",
+ "description": "Shown when the p2p peer's messaging is disabled",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_admin": {
+ "translation": "Phê duyệt ({val})",
+ "defaultMessage": "Approve ({val})",
+ "description": "Name of A permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_delete": {
+ "translation": "Xóa ({val})",
+ "defaultMessage": "Delete ({val})",
+ "description": "Name of D permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_join": {
+ "translation": "Tham gia ({val})",
+ "defaultMessage": "Join ({val})",
+ "description": "Name of J permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_owner": {
+ "translation": "Chủ sở hữu ({val})",
+ "defaultMessage": "Owner ({val})",
+ "description": "Name of O permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_pres": {
+ "translation": "Nhận thông báo ({val})",
+ "defaultMessage": "Get notified ({val})",
+ "description": "Name of P permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_read": {
+ "translation": "Đọc ({val})",
+ "defaultMessage": "Read ({val})",
+ "description": "Name of R permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_share": {
+ "translation": "Chia sẻ ({val})",
+ "defaultMessage": "Share ({val})",
+ "description": "Name of S permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "permission_write": {
+ "translation": "Ghi ({val})",
+ "defaultMessage": "Write ({val})",
+ "description": "Name of W permission",
+ "missing": false,
+ "obsolete": false
+ },
+ "phone_dative": {
+ "translation": "điện thoại",
+ "defaultMessage": "phone",
+ "description": "Dative case of 'phone', i.e. 'phone' in 'by phone'",
+ "missing": false,
+ "obsolete": false
+ },
+ "private_editing_placeholder": {
+ "translation": "Chỉ mình bạn nhìn thấy",
+ "defaultMessage": "Visible to you only",
+ "description": "Placeholder for editing 'private'",
+ "missing": false,
+ "obsolete": false
+ },
+ "push_init_failed": {
+ "translation": "Khởi tạo thông báo đẩy thất bại",
+ "defaultMessage": "Failed to initialize push notifications",
+ "description": "Error message when push notifications have failed to initialize.",
+ "missing": false,
+ "obsolete": false
+ },
+ "reconnect_countdown": {
+ "translation": "Mất kết nối. Kết nối lại sau {seconds}…",
+ "defaultMessage": "Disconnected. Reconnecting in {seconds}…",
+ "description": "Message shown when an app update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "reconnect_now": {
+ "translation": "Thử ngay",
+ "defaultMessage": "Try now",
+ "description": "Prompt for reconnecting now",
+ "missing": false,
+ "obsolete": false
+ },
+ "reload_update": {
+ "translation": "Tải lại",
+ "defaultMessage": "Reload",
+ "description": "Call to action to reload application when update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "report_chat_warning": {
+ "translation": "Bạn có chắc muốn chặn và báo cáo cuộc trò chuyện này?",
+ "defaultMessage": "Are you sure you want to block and report this conversation?",
+ "description": "Alert dialog warning when reporting a conversation for abuse",
+ "missing": false,
+ "obsolete": false
+ },
+ "requested_permissions": {
+ "translation": "Đã yêu cầu",
+ "defaultMessage": "Requested",
+ "description": "Title for permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "save_attachment": {
+ "translation": "lưu",
+ "defaultMessage": "save",
+ "description": "Call to save an attachment",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_for_contacts": {
+ "translation": "Dùng tìm kiếm để tìm liên hệ",
+ "defaultMessage": "Use search to find contacts",
+ "description": "Text shown in contacts view when user entered no search query.",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_no_results": {
+ "translation": "Không có kết quả nào",
+ "defaultMessage": "Search returned no results",
+ "description": "Text shown in contacts view when query returned no results.",
+ "missing": false,
+ "obsolete": false
+ },
+ "search_placeholder": {
+ "translation": "Liệt kê như email:alice@example.com, tel:17025550003...",
+ "defaultMessage": "List like alice@example.com, +17025550003...",
+ "description": "Placeholder in contacts search field",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_acc_notifications": {
+ "translation": "Thông báo",
+ "defaultMessage": "Notifications",
+ "description": "Sidepanel title for AccNotificationsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_acc_support": {
+ "translation": "Hỗ trợ",
+ "defaultMessage": "Support",
+ "description": "Sidepanel title for AccSupportView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_account_settings": {
+ "translation": "Cài đặt tài khoản",
+ "defaultMessage": "Account Settings",
+ "description": "Sidepanel title for AccountSettingsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_archive": {
+ "translation": "Cuộc trò chuyện đã lưu trữ",
+ "defaultMessage": "Archived Chats",
+ "description": "Sidepanel title for ContactsView-Archive.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_blocked": {
+ "translation": "Cuộc trò chuyện bị chặn",
+ "defaultMessage": "Blocked Chats",
+ "description": "Sidepanel title for ContactsView-Blocked.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_cred": {
+ "translation": "Xác nhận thông tin",
+ "defaultMessage": "Confirm Credentials",
+ "description": "Sidepanel title for ValidationView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_login": {
+ "translation": "Đăng nhập",
+ "defaultMessage": "Sign In",
+ "description": "Sidepanel title for LoginView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_newtpk": {
+ "translation": "Bắt đầu cuộc trò chuyện mới",
+ "defaultMessage": "Start New Chat",
+ "description": "Sidepanel title for NewTopicView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_register": {
+ "translation": "Tạo tài khoản",
+ "defaultMessage": "Create Account",
+ "description": "Sidepanel title for CreateAccountView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_reset": {
+ "translation": "Đặt lại mật khẩu",
+ "defaultMessage": "Reset Password",
+ "description": "Sidepanel title for PasswordResetView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "sidepanel_title_settings": {
+ "translation": "Cài đặt",
+ "defaultMessage": "Settings",
+ "description": "Sidepanel title for SettingsView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "stay_logged_in": {
+ "translation": "Giữ tôi đăng nhập",
+ "defaultMessage": "Stay logged in",
+ "description": "Label for a checkbox",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_find_user": {
+ "translation": "tìm",
+ "defaultMessage": "find",
+ "description": "Tab title Find",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_group_by_id": {
+ "translation": "theo id",
+ "defaultMessage": "by id",
+ "description": "Tab title Find topic by ID",
+ "missing": false,
+ "obsolete": false
+ },
+ "tabtitle_new_group": {
+ "translation": "nhóm mới",
+ "defaultMessage": "new group",
+ "description": "Tab title New Group",
+ "missing": false,
+ "obsolete": false
+ },
+ "tags_editor_no_tags": {
+ "translation": "Thêm vài thẻ",
+ "defaultMessage": "Add some tags",
+ "description": "Tag editor prompt when no tags are found.",
+ "missing": false,
+ "obsolete": false
+ },
+ "tags_not_found": {
+ "translation": "Chưa có thẻ nào. Hãy thêm một vài thẻ.",
+ "defaultMessage": "No tags defined. Add some.",
+ "description": "",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_all_contacts": {
+ "translation": "Tất cả liên hệ",
+ "defaultMessage": "All Contacts",
+ "description": "Section title [All Contacts]",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_group_members": {
+ "translation": "Thành viên nhóm",
+ "defaultMessage": "Group Members",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_manage_tags": {
+ "translation": "Quản lý",
+ "defaultMessage": "Manage",
+ "description": "Section title for the list of tags",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_not_found": {
+ "translation": "Không tìm thấy",
+ "defaultMessage": "Not found",
+ "description": "Title shown when topic is not found",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_permissions": {
+ "translation": "Quyền",
+ "defaultMessage": "Permissions",
+ "description": "Section title",
+ "missing": false,
+ "obsolete": false
+ },
+ "title_tag_manager": {
+ "translation": "Thẻ (tìm kiếm & khám phá)",
+ "defaultMessage": "Tags (search & discovery)",
+ "description": "Section title for TagManager",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_block_warning": {
+ "translation": "Bạn có chắc muốn chặn cuộc trò chuyện này?",
+ "defaultMessage": "Are you sure you want to block this conversation?",
+ "description": "Alert warning when blocking a topic.",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_delete_warning": {
+ "translation": "Bạn có chắc muốn xóa cuộc trò chuyện này? Hành động này không thể hoàn tác.",
+ "defaultMessage": "Are you sure you want to delete this conversation? It cannot be undone.",
+ "description": "Alert warning when deleting entire topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_name_editing_placeholder": {
+ "translation": "Tên nhóm tự do",
+ "defaultMessage": "Freeform name of the group",
+ "description": "Prompt for entering topic name",
+ "missing": false,
+ "obsolete": false
+ },
+ "unnamed_topic": {
+ "translation": "Chưa đặt tên",
+ "defaultMessage": "Unnamed",
+ "description": "Title shown when the topic has no name",
+ "missing": false,
+ "obsolete": false
+ },
+ "update_available": {
+ "translation": "Có bản cập nhật.",
+ "defaultMessage": "Update available.",
+ "description": "Message shown when an app update is available.",
+ "missing": false,
+ "obsolete": false
+ },
+ "upload_finishing": {
+ "translation": "đang hoàn tất...",
+ "defaultMessage": "finishing...",
+ "description": "Notification that upload is finishing",
+ "missing": false,
+ "obsolete": false
+ },
+ "user_not_found": {
+ "translation": "Không tìm thấy",
+ "defaultMessage": "Not found",
+ "description": "In place of a user's full name when the user is not found.",
+ "missing": false,
+ "obsolete": false
+ },
+ "description_editing_placeholder": {
+ "translation": "Mô tả tùy chọn",
+ "defaultMessage": "Description (optional)",
+ "description": "Placeholder for editing topic description",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_description": {
+ "translation": "Mô tả",
+ "defaultMessage": "Description",
+ "description": "Label for editing topic description",
+ "missing": false,
+ "obsolete": false
+ },
+ "button_security": {
+ "translation": "Bảo mật",
+ "defaultMessage": "Security",
+ "description": "Navigaton button for security panel.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_crop": {
+ "translation": "Kéo để điều chỉnh",
+ "defaultMessage": "Drag to Adjust",
+ "description": "Title for AvatarCropView.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_general": {
+ "translation": "Chung",
+ "defaultMessage": "General",
+ "description": "Title for TopicCommon.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_members": {
+ "translation": "Thành viên",
+ "defaultMessage": "Members",
+ "description": "Title for managing group members view.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_security": {
+ "translation": "Bảo mật",
+ "defaultMessage": "Security",
+ "description": "Title for TopicSecirity and AccSecurity.",
+ "missing": false,
+ "obsolete": false
+ },
+ "panel_title_info": {
+ "translation": "Thông tin",
+ "defaultMessage": "Info",
+ "description": "Title for InfoView",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_anonymous": {
+ "translation": "Ẩn danh",
+ "defaultMessage": "Anonymous",
+ "description": "Title for editing default anonymous permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_authenticated": {
+ "translation": "Đã xác thực",
+ "defaultMessage": "Authenticated",
+ "description": "Title for editing default authenticated permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "topic_delete": {
+ "translation": "Xóa cuộc trò chuyện",
+ "defaultMessage": "Delete Conversation",
+ "description": "Alert title when deleting the topic.",
+ "missing": false,
+ "obsolete": false
+ },
+ "permissions_user": {
+ "translation": "Quyền của người dùng",
+ "defaultMessage": "User's Permissions",
+ "description": "Title for editing user's permissions",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_reset_email_sent": {
+ "translation": "Email chứa mã bảo mật đã được gửi.",
+ "defaultMessage": "An email with security code has been sent.",
+ "description": "Notification that the email with password reset instructions has been sent",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_unarchive_topic": {
+ "translation": "Đã lưu trữ:",
+ "defaultMessage": "Archived:",
+ "description": "Label for unarchiving the topic",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_forward": {
+ "translation": "Chuyển tiếp",
+ "defaultMessage": "Forward",
+ "description": "Forward message",
+ "missing": false,
+ "obsolete": false
+ },
+ "forward_to": {
+ "translation": "Chuyển tiếp đến",
+ "defaultMessage": "Forward to",
+ "missing": false,
+ "obsolete": false
+ },
+ "forward_to_search_placeholder": {
+ "translation": "Tìm kiếm liên hệ",
+ "defaultMessage": "Search contacts",
+ "description": "Contact search prompt when forwarding a message.",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_new_password": {
+ "translation": "Mật khẩu mới",
+ "defaultMessage": "New password",
+ "description": "Label for entering a new password",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_unknown": {
+ "translation": "Không hỗ trợ",
+ "defaultMessage": "Unsupported",
+ "description": "Unsupported entity in drafty",
+ "missing": false,
+ "obsolete": false
+ },
+ "calls_incoming": {
+ "translation": "Cuộc gọi đến",
+ "defaultMessage": "Incoming call",
+ "description": "Incoming call label",
+ "missing": false,
+ "obsolete": false
+ },
+ "calls_outgoing": {
+ "translation": "Cuộc gọi đi",
+ "defaultMessage": "Outgoing call",
+ "description": "Outgoing call label",
+ "missing": false,
+ "obsolete": false
+ },
+ "calls_you_label": {
+ "translation": "Bạn",
+ "defaultMessage": "You",
+ "description": "Shown over the local video screen",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_video_call": {
+ "translation": "Gọi video",
+ "defaultMessage": "Video call",
+ "description": "Start video call",
+ "missing": false,
+ "obsolete": false
+ },
+ "already_in_call": {
+ "translation": "Bạn đang có một cuộc gọi đang diễn ra!",
+ "defaultMessage": "You already in an ongoing call!",
+ "description": "Error message when the user tried to accept a new call without finishing pervious one",
+ "missing": false,
+ "obsolete": false
+ },
+ "call_cancelled": {
+ "translation": "đã hủy",
+ "defaultMessage": "cancelled",
+ "description": "Label for cancelled outgoing call",
+ "missing": false,
+ "obsolete": false
+ },
+ "call_missed": {
+ "translation": "bỏ lỡ",
+ "defaultMessage": "missed",
+ "description": "Label for missed incoming call",
+ "missing": false,
+ "obsolete": false
+ },
+ "call_declined": {
+ "translation": "từ chối",
+ "defaultMessage": "declined",
+ "description": "Label for declined call",
+ "missing": false,
+ "obsolete": false
+ },
+ "call_disconnected": {
+ "translation": "mất kết nối",
+ "defaultMessage": "disconnected",
+ "description": "Label for disconnected call",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_use_secure_connection": {
+ "translation": "Sử dụng kết nối bảo mật",
+ "defaultMessage": "Use secure connection",
+ "description": "Label for WS/WSS connection type in SettingsView",
+ "missing": false,
+ "obsolete": false
+ },
+ "cred_confirmed_successfully": {
+ "translation": "Xác nhận thành công",
+ "defaultMessage": "Confirmed successfully",
+ "description": "Notification message that the credential was successfully validated.",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_edit": {
+ "translation": "Sửa",
+ "defaultMessage": "Edit",
+ "description": "Edit message",
+ "missing": false,
+ "obsolete": false
+ },
+ "editing_message": {
+ "translation": "Đang sửa",
+ "defaultMessage": "Editing",
+ "description": "Title over message editing preview",
+ "missing": false,
+ "obsolete": false
+ },
+ "message_edited_marker": {
+ "translation": ", đã sửa",
+ "defaultMessage": ", edited",
+ "description": "Marker indicating that the message was edited",
+ "missing": false,
+ "obsolete": false
+ },
+ "icon_title_add_image": {
+ "translation": "Thêm hình ảnh",
+ "defaultMessage": "Add image",
+ "description": "Icon tool tip for attaching an image",
+ "missing": false,
+ "obsolete": false
+ },
+ "icon_title_attach_file": {
+ "translation": "Đính kèm tệp",
+ "defaultMessage": "Attach file",
+ "description": "Icon tool tip for attaching a file",
+ "missing": false,
+ "obsolete": false
+ },
+ "icon_title_delete": {
+ "translation": "Xóa",
+ "defaultMessage": "Delete recording",
+ "description": "Icon tool tip for deleting recorded audio",
+ "missing": false,
+ "obsolete": false
+ },
+ "icon_title_pause": {
+ "translation": "Tạm dừng",
+ "defaultMessage": "Pause playback",
+ "description": "Icon tool tip for pausing audio playback",
+ "missing": false,
+ "obsolete": false
+ },
+ "icon_title_play": {
+ "translation": "Phát",
+ "defaultMessage": "Play recording",
+ "description": "Icon tool tip for starting audio playback",
+ "missing": false,
+ "obsolete": false
+ },
+ "icon_title_record_voice": {
+ "translation": "Ghi âm tin nhắn",
+ "defaultMessage": "Record voice message",
+ "description": "Icon tool tip for recording a voice message",
+ "missing": false,
+ "obsolete": false
+ },
+ "icon_title_resume": {
+ "translation": "Tiếp tục",
+ "defaultMessage": "Resume playback",
+ "description": "Icon tool tip for resuming audio playback",
+ "missing": false,
+ "obsolete": false
+ },
+ "icon_title_send": {
+ "translation": "Gửi tin nhắn",
+ "defaultMessage": "Send message",
+ "description": "Icon tool tip for sending a message",
+ "missing": false,
+ "obsolete": false
+ },
+ "drag_file": {
+ "translation": "Kéo tệp vào đây",
+ "defaultMessage": "Drag file here",
+ "description": "Prompt on the file drag-n-drop overlay banner",
+ "missing": false,
+ "obsolete": false
+ },
+ "drafty_video": {
+ "translation": "Video",
+ "defaultMessage": "Video recording",
+ "description": "Comment for videos embedded in Drafty",
+ "missing": false,
+ "obsolete": false
+ },
+ "call_in_progress": {
+ "translation": "đang diễn ra",
+ "defaultMessage": "in progress",
+ "description": "Label for call in progress",
+ "missing": false,
+ "obsolete": false
+ },
+ "menu_item_audio_call": {
+ "translation": "Gọi",
+ "defaultMessage": "Call",
+ "description": "Start audio call",
+ "missing": false,
+ "obsolete": false
+ },
+ "unrecognized_video_format": {
+ "translation": "Không nhận dạng được định dạng video này",
+ "defaultMessage": "Format of this video is not recognized",
+ "description": "Error message when uploaded video is invalid",
+ "missing": false,
+ "obsolete": false
+ },
+ "loading_note": {
+ "translation": "Đang tải...",
+ "defaultMessage": "Loading...",
+ "description": "Message shown when component is loading",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_i_have_code": {
+ "translation": "Tôi có mã",
+ "defaultMessage": "I have code",
+ "description": "Call to open field to enter password reset code",
+ "missing": false,
+ "obsolete": false
+ },
+ "label_reset_password_tel": {
+ "translation": "Gửi SMS đặt lại mật khẩu:",
+ "defaultMessage": "Send SMS to reset password",
+ "description": "Label for password reset field by phone",
+ "missing": false,
+ "obsolete": false
+ },
+ "mobile_phone_number": {
+ "translation": "Số điện thoại di động",
+ "defaultMessage": "Mobile phone number",
+ "description": "Prompt for entering a mobile phone number",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_reset_sms_sent": {
+ "translation": "Tin nhắn chứa mã bảo mật đã được gửi.",
+ "defaultMessage": "A text message with security code has been sent.",
+ "description": "Notification that the SMS with password reset instructions has been sent",
+ "missing": false,
+ "obsolete": false
+ },
+ "mobile_number_required": {
+ "translation": "Cần số điện thoại di động",
+ "defaultMessage": "Mobile phone number required",
+ "description": "Error message",
+ "missing": false,
+ "obsolete": false
+ },
+ "current_email": {
+ "translation": "Email hiện tại",
+ "defaultMessage": "Current email",
+ "description": "Label for old email",
+ "missing": false,
+ "obsolete": false
+ },
+ "current_phone": {
+ "translation": "Số điện thoại hiện tại",
+ "defaultMessage": "Current phone number",
+ "description": "Label for old phone",
+ "missing": false,
+ "obsolete": false
+ },
+ "new_email": {
+ "translation": "Email mới",
+ "defaultMessage": "New email",
+ "description": "Prompt for entering a new email",
+ "missing": false,
+ "obsolete": false
+ },
+ "new_phone_number": {
+ "translation": "Số điện thoại mới",
+ "defaultMessage": "New phone number",
+ "description": "Prompt for entering a new telephone number",
+ "missing": false,
+ "obsolete": false
+ },
+ "change_email": {
+ "translation": "Đổi email",
+ "defaultMessage": "Change email",
+ "description": "Prompt to change current email",
+ "missing": false,
+ "obsolete": false
+ },
+ "change_phone": {
+ "translation": "Đổi số điện thoại",
+ "defaultMessage": "Change phone number",
+ "description": "Prompt to change current phone number",
+ "missing": false,
+ "obsolete": false
+ },
+ "call_busy": {
+ "translation": "bận",
+ "defaultMessage": "busy",
+ "description": "Label for busy call line",
+ "missing": false,
+ "obsolete": false
+ },
+ "failed_to_init_audio": {
+ "translation": "Không thể khởi tạo ghi âm",
+ "defaultMessage": "Failed to initialize audio recording",
+ "description": "Error message when audio is not available",
+ "missing": false,
+ "obsolete": false
+ },
+ "password_reset_success": {
+ "translation": "Đặt lại mật khẩu thành công",
+ "defaultMessage": "Password reset successfully",
+ "description": "Notification message that the password was successfully reset.",
+ "missing": false,
+ "obsolete": false
+ },
+ "scan_qr_code": {
+ "translation": "Quét mã QR",
+ "defaultMessage": "Scan QR Code",
+ "description": "Title for scanning QR code",
+ "missing": false,
+ "obsolete": false
+ }
+}
diff --git a/src/index.js b/src/index.js
index 068fdf24..6503f0ee 100644
--- a/src/index.js
+++ b/src/index.js
@@ -30,6 +30,7 @@ const messageLoader = {
'es': _ => import('./i18n.min/es.json'),
'fr': _ => import('./i18n.min/fr.json'),
'it': _ => import('./i18n.min/it.json'),
+ 'vi': _ => import('./i18n.min/vi.json'),
'ko': _ => import('./i18n.min/ko.json'),
'ro': _ => import('./i18n.min/ro.json'),
'ru': _ => import('./i18n.min/ru.json'),