7286 lines
306 KiB
JSON
7286 lines
306 KiB
JSON
{
|
||
"softwareAcknowledgments": {
|
||
"message": "Nhìn nhận về Phần mềm",
|
||
"description": "Shown in the about box for the link to software acknowledgments"
|
||
},
|
||
"privacyPolicy": {
|
||
"message": "Điều khoản và Chính sách bảo mật",
|
||
"description": "Shown in the about box for the link to https://signal.org/legal"
|
||
},
|
||
"copyErrorAndQuit": {
|
||
"message": "Sao chép lỗi và thoát",
|
||
"description": "Shown in the top-level error popup, allowing user to copy the error text and close the app"
|
||
},
|
||
"unknownContact": {
|
||
"message": "Liên hệ không rõ",
|
||
"description": "Shown as the name of a contact if we don't have any displayable information about them"
|
||
},
|
||
"unknownGroup": {
|
||
"message": "Nhóm chưa biết",
|
||
"description": "Shown as the name of a group if we don't have any information about it"
|
||
},
|
||
"databaseError": {
|
||
"message": "Lỗi Cơ sở dữ liệu",
|
||
"description": "Shown in a popup if the database cannot start up properly"
|
||
},
|
||
"deleteAndRestart": {
|
||
"message": "Xóa tất cả dữ liệu và khởi động lại",
|
||
"description": "Shown in a popup if the database cannot start up properly; allows user to delete database and restart"
|
||
},
|
||
"mainMenuFile": {
|
||
"message": "&Tập tin",
|
||
"description": "The label that is used for the File menu in the program main menu. The '&' indicates that the following letter will be used as the keyboard 'shortcut letter' for accessing the menu with the Alt-<letter> combination."
|
||
},
|
||
"mainMenuCreateStickers": {
|
||
"message": "Tạo/ tải lên gói nhãn dán",
|
||
"description": "The label that is used for the Create/upload sticker pack option in the File menu in the program main menu. The '&' indicates that the following letter will be used as the keyboard 'shortcut letter' for accessing the menu with the Alt-<letter> combination."
|
||
},
|
||
"mainMenuEdit": {
|
||
"message": "&Sửa ",
|
||
"description": "The label that is used for the Edit menu in the program main menu. The '&' indicates that the following letter will be used as the keyboard 'shortcut letter' for accessing the menu with the Alt-<letter> combination."
|
||
},
|
||
"mainMenuView": {
|
||
"message": "&Xem",
|
||
"description": "The label that is used for the View menu in the program main menu. The '&' indicates that the following letter will be used as the keyboard 'shortcut letter' for accessing the menu with the Alt-<letter> combination."
|
||
},
|
||
"mainMenuWindow": {
|
||
"message": "&Cửa sổ",
|
||
"description": "The label that is used for the Window menu in the program main menu. The '&' indicates that the following letter will be used as the keyboard 'shortcut letter' for accessing the menu with the Alt-<letter> combination."
|
||
},
|
||
"mainMenuHelp": {
|
||
"message": "&Hỗ trợ",
|
||
"description": "The label that is used for the Help menu in the program main menu. The '&' indicates that the following letter will be used as the keyboard 'shortcut letter' for accessing the menu with the Alt-<letter> combination."
|
||
},
|
||
"mainMenuSettings": {
|
||
"message": "Tùy chỉnh...",
|
||
"description": "The label that is used for the Preferences menu in the program main menu. This should be consistent with the standard naming for ‘Preferences’ on the operating system."
|
||
},
|
||
"appMenuServices": {
|
||
"message": "Dịch vụ",
|
||
"description": "Application menu item for macOS 'Services'"
|
||
},
|
||
"appMenuHide": {
|
||
"message": "Ẩn",
|
||
"description": "Application menu command to hide the window"
|
||
},
|
||
"appMenuHideOthers": {
|
||
"message": "Ẩn các Cửa sổ khác",
|
||
"description": "Application menu command to hide all other windows"
|
||
},
|
||
"appMenuUnhide": {
|
||
"message": "Hiển thị Tất cả",
|
||
"description": "Application menu command to show all application windows"
|
||
},
|
||
"appMenuQuit": {
|
||
"message": "Thoát Signal",
|
||
"description": "Application menu command to close the application"
|
||
},
|
||
"editMenuUndo": {
|
||
"message": "Hoàn tác",
|
||
"description": "Edit menu command to remove recently-typed text"
|
||
},
|
||
"editMenuRedo": {
|
||
"message": "Làm lại",
|
||
"description": "Edit menu command to restore previously undone typed text"
|
||
},
|
||
"editMenuCut": {
|
||
"message": "Cắt",
|
||
"description": "Edit menu command to remove selected text and add it to clipboard"
|
||
},
|
||
"editMenuCopy": {
|
||
"message": "Sao chép",
|
||
"description": "Edit menu command to add selected text to clipboard"
|
||
},
|
||
"editMenuPaste": {
|
||
"message": "Dán",
|
||
"description": "Edit menu command to insert text from clipboard at cursor location"
|
||
},
|
||
"editMenuPasteAndMatchStyle": {
|
||
"message": "Dán và Hợp với phong cách",
|
||
"description": "Edit menu command to insert text from clipboard at cursor location, taking only text and not style information"
|
||
},
|
||
"editMenuDelete": {
|
||
"message": "Xóa",
|
||
"description": "Edit menu command to remove the selected text"
|
||
},
|
||
"editMenuSelectAll": {
|
||
"message": "Chọn Tất cả",
|
||
"description": "Edit menu command to select all of the text in selected text box"
|
||
},
|
||
"editMenuStartSpeaking": {
|
||
"message": "Bắt đầu nói",
|
||
"description": "Edit menu item under 'speech' to start dictation"
|
||
},
|
||
"editMenuStopSpeaking": {
|
||
"message": "Dừng nói",
|
||
"description": "Edit menu item under 'speech' to stop dictation"
|
||
},
|
||
"windowMenuClose": {
|
||
"message": "Đóng Cửa sổ",
|
||
"description": "Window menu command to close the current window"
|
||
},
|
||
"windowMenuMinimize": {
|
||
"message": "Thu nhỏ",
|
||
"description": "Window menu command to minimize the current window"
|
||
},
|
||
"windowMenuZoom": {
|
||
"message": "Thu phóng",
|
||
"description": "Window menu command to make the current window the size of the whole screen"
|
||
},
|
||
"windowMenuBringAllToFront": {
|
||
"message": "Đưa Tất cả cửa sổ ra Trước",
|
||
"description": "Window menu command to bring all windows of current application to front"
|
||
},
|
||
"viewMenuResetZoom": {
|
||
"message": "Kích cỡ Thực tế",
|
||
"description": "View menu command to go back to the default zoom"
|
||
},
|
||
"viewMenuZoomIn": {
|
||
"message": "Phóng to",
|
||
"description": "View menu command to make everything bigger"
|
||
},
|
||
"viewMenuZoomOut": {
|
||
"message": "Thu nhỏ",
|
||
"description": "View menu command to make everything smaller"
|
||
},
|
||
"viewMenuToggleFullScreen": {
|
||
"message": "Bật tắt chế độ Toàn màn hình",
|
||
"description": "View menu command to enter or leave Full Screen mode"
|
||
},
|
||
"viewMenuToggleDevTools": {
|
||
"message": "Bật tắt Công cụ Nhà phát triển",
|
||
"description": "View menu command to show or hide the developer tools"
|
||
},
|
||
"menuSetupAsNewDevice": {
|
||
"message": "Thiết lập như Thiết bị Mới",
|
||
"description": "When the application is not yet set up, menu option to start up the set up as fresh device"
|
||
},
|
||
"menuSetupAsStandalone": {
|
||
"message": "Thiết lập như Thiết bị Độc lập",
|
||
"description": "Only available on development modes, menu option to open up the standalone device setup sequence"
|
||
},
|
||
"messageContextMenuButton": {
|
||
"message": "Các thao tác khác",
|
||
"description": "Label for context button next to each message"
|
||
},
|
||
"contextMenuCopyLink": {
|
||
"message": "Sao chép Đường dẫn",
|
||
"description": "Shown in the context menu for a link to indicate that the user can copy the link"
|
||
},
|
||
"contextMenuCopyImage": {
|
||
"message": "Sao chép Ảnh",
|
||
"description": "Shown in the context menu for an image to indicate that the user can copy the image"
|
||
},
|
||
"contextMenuNoSuggestions": {
|
||
"message": "Không có Gợi ý",
|
||
"description": "Shown in the context menu for a misspelled word to indicate that there are no suggestions to replace the misspelled word"
|
||
},
|
||
"avatarMenuViewArchive": {
|
||
"message": "Xem Lưu trữ",
|
||
"description": "One of the menu options available in the Avatar popup menu"
|
||
},
|
||
"avatarMenuChatColors": {
|
||
"message": "Màu Cuộc trò chuyện",
|
||
"description": "One of the menu options available in the Avatar popup menu"
|
||
},
|
||
"avatarMenuUpdateAvailable": {
|
||
"message": "Cập nhật Signal",
|
||
"description": "One of the menu options available in the Avatar popup menu"
|
||
},
|
||
"loading": {
|
||
"message": "Đang tải...",
|
||
"description": "Message shown on the loading screen before we've loaded any messages"
|
||
},
|
||
"optimizingApplication": {
|
||
"message": "Tối ưu hóa ứng dụng...",
|
||
"description": "Message shown on the loading screen while we are doing application optimizations"
|
||
},
|
||
"migratingToSQLCipher": {
|
||
"message": "Tối ưu hóa tin nhắn... hoàn thành $status$.",
|
||
"description": "Message shown on the loading screen while we are doing application optimizations",
|
||
"placeholders": {
|
||
"status": {
|
||
"content": "$1",
|
||
"example": "45/200"
|
||
}
|
||
}
|
||
},
|
||
"archivedConversations": {
|
||
"message": "Các cuộc trò chuyện đã lưu trữ",
|
||
"description": "Shown in place of the search box when showing archived conversation list"
|
||
},
|
||
"LeftPane--pinned": {
|
||
"message": "Đã ghim",
|
||
"description": "Shown as a header for pinned conversations in the left pane"
|
||
},
|
||
"LeftPane--chats": {
|
||
"message": "Trò chuyện",
|
||
"description": "Shown as a header for non-pinned conversations in the left pane"
|
||
},
|
||
"archiveHelperText": {
|
||
"message": "Các cuộc trò chuyện này được lưu trữ và chỉ xuất hiện trong Hộp thư đến nếu nhận được tin nhắn mới.",
|
||
"description": "Shown at the top of the archived conversations list in the left pane"
|
||
},
|
||
"noArchivedConversations": {
|
||
"message": "No archived conversations.",
|
||
"description": "Shown at the top of the archived conversations list in the left pane if there is no any archived conversation"
|
||
},
|
||
"archiveConversation": {
|
||
"message": "Lưu trữ",
|
||
"description": "Shown in menu for conversation, and moves conversation out of main conversation list"
|
||
},
|
||
"markUnread": {
|
||
"message": "Đánh dấu chưa đọc",
|
||
"description": "Shown in menu for conversation, and marks conversation as unread"
|
||
},
|
||
"moveConversationToInbox": {
|
||
"message": "Bỏ lưu trữ",
|
||
"description": "Undoes Archive Conversation action, and moves archived conversation back to the main conversation list"
|
||
},
|
||
"pinConversation": {
|
||
"message": "Ghim Cuộc trò chuyện",
|
||
"description": "Shown in menu for conversation, and pins the conversation to the top of the conversation list"
|
||
},
|
||
"unpinConversation": {
|
||
"message": "Bỏ ghim Cuộc trò chuyện",
|
||
"description": "Undoes Archive Conversation action, and unpins the conversation from the top of the conversation list"
|
||
},
|
||
"pinnedConversationsFull": {
|
||
"message": "Bạn chỉ có thể ghim tối đa 4 cuộc trò chuyện",
|
||
"description": "Shown in a toast when a user attempts to pin more than the maximum number of chats"
|
||
},
|
||
"chooseDirectory": {
|
||
"message": "Chọn thư mục",
|
||
"description": "Button to allow the user to find a folder on disk"
|
||
},
|
||
"chooseFile": {
|
||
"message": "Chọn tập tin",
|
||
"description": "Button to allow the user to find a file on disk"
|
||
},
|
||
"loadDataHeader": {
|
||
"message": "Tải dữ liệu của bạn",
|
||
"description": "Header shown on the first screen in the data import process"
|
||
},
|
||
"loadDataDescription": {
|
||
"message": "Bạn vừa hoàn thành quá trình xuất dữ liệu, các liên hệ và tin nhắn của bạn vẫn còn trên máy tính của bạn. Hãy chọn thư mục chứa dữ liệu Signal đã lưu của bạn.",
|
||
"description": "Introduction to the process of importing messages and contacts from disk"
|
||
},
|
||
"importChooserTitle": {
|
||
"message": "Chọn thư mục chứa dữ liệu đã xuất",
|
||
"description": "Title of the popup window used to select data previously exported"
|
||
},
|
||
"importErrorHeader": {
|
||
"message": "Đã xảy ra lỗi!",
|
||
"description": "Header of the error screen after a failed import"
|
||
},
|
||
"importingHeader": {
|
||
"message": "Đang tải liên hệ và tin nhắn",
|
||
"description": "Header of screen shown as data is import"
|
||
},
|
||
"importErrorFirst": {
|
||
"message": "Hãy đảm bảo bạn đã chọn đúng thư mục chứa dữ liệu Signal đã lưu. Tên của thư mục phải bắt đầu bằng 'Signal Export'. Bạn có thể lưu một bản sao mới của dữ liệu từ ứng dụng Chrome.",
|
||
"description": "Message shown if the import went wrong; first paragraph"
|
||
},
|
||
"importErrorSecond": {
|
||
"message": "Nếu các bước này không phù hợp với bạn, vui lòng gửi nhật ký gỡ lỗi ( Xem -> Nhật ký Gỡ lỗi) để chúng tôi có thể giúp bạn chuyển đi!",
|
||
"description": "Message shown if the import went wrong; second paragraph"
|
||
},
|
||
"importAgain": {
|
||
"message": "Chọn thư mục và thử lại",
|
||
"description": "Button shown if the user runs into an error during import, allowing them to start over"
|
||
},
|
||
"importCompleteHeader": {
|
||
"message": "Thành công!",
|
||
"description": "Header shown on the screen at the end of a successful import process"
|
||
},
|
||
"importCompleteStartButton": {
|
||
"message": "Bắt đầu sử dụng Signal Desktop",
|
||
"description": "Button shown at end of successful import process, nothing left but a restart"
|
||
},
|
||
"importCompleteLinkButton": {
|
||
"message": "Liên kết thiết bị này với điện thoại của bạn",
|
||
"description": "Button shown at end of successful 'light' import process, so the standard linking process still needs to happen"
|
||
},
|
||
"selectedLocation": {
|
||
"message": "địa điểm đã chọn của bạn",
|
||
"description": "Message shown as the export location if we didn't capture the target directory"
|
||
},
|
||
"upgradingDatabase": {
|
||
"message": "Đang nâng cấp dữ liệu. Cần một chút thời gian...",
|
||
"description": "Message shown on the loading screen when we're changing database structure on first run of a new version"
|
||
},
|
||
"loadingMessages": {
|
||
"message": "Đang tải tin nhắn. Đã được $count$...",
|
||
"description": "Message shown on the loading screen when we're catching up on the backlog of messages",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"view": {
|
||
"message": "Xem",
|
||
"description": "Used as a label on a button allowing user to see more information"
|
||
},
|
||
"youLeftTheGroup": {
|
||
"message": "Bạn không còn là thành viên của nhóm.",
|
||
"description": "Displayed when a user can't send a message because they have left the group"
|
||
},
|
||
"invalidConversation": {
|
||
"message": "Nhóm này không có hiệu lực. Xin hãy tạo nhóm mới.",
|
||
"description": "Displayed when a user can't send a message because something has gone wrong in the conversation."
|
||
},
|
||
"scrollDown": {
|
||
"message": "Cuộn xuống cuối cuộc trò chuyện",
|
||
"description": "Alt text for button to take user down to bottom of conversation, shown when user scrolls up"
|
||
},
|
||
"messagesBelow": {
|
||
"message": "Tin nhắn mới bên dưới",
|
||
"description": "Alt text for button to take user down to bottom of conversation with more than one message out of screen"
|
||
},
|
||
"unreadMessage": {
|
||
"message": "1 Tin nhắn Chưa đọc",
|
||
"description": "Text for unread message separator, just one message"
|
||
},
|
||
"unreadMessages": {
|
||
"message": "$count$ Tin nhắn Chưa đọc",
|
||
"description": "Text for unread message separator, with count",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"messageHistoryUnsynced": {
|
||
"message": "Vì sự bảo mật của bạn, lịch sử trò chuyện không được chuyển sang các thiết bị mới được liên kết.",
|
||
"description": "Shown in the conversation history when a user links a new device to explain what is not supported."
|
||
},
|
||
"youMarkedAsVerified": {
|
||
"message": "Bạn đã đánh dấu Số An toàn của bạn với $name$ là đã được xác minh",
|
||
"description": "Shown in the conversation history when the user marks a contact as verified.",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"youMarkedAsNotVerified": {
|
||
"message": "Bạn đã đánh dấu Số An toàn của bạn với$name$ là chưa được xác minh",
|
||
"description": "Shown in the conversation history when the user marks a contact as not verified, whether on the Safety Number screen or by dismissing a banner or dialog.",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"youMarkedAsVerifiedOtherDevice": {
|
||
"message": "Bạn đã đánh dấu Số An toàn của bạn với $name$ là đã được xác minh từ thiết bị khác",
|
||
"description": "Shown in the conversation history when we discover that the user marked a contact as verified on another device.",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"youMarkedAsNotVerifiedOtherDevice": {
|
||
"message": "Bạn đã đánh dấu Số An toàn của bạn với $name$ là chưa được xác minh từ thiế bị khác",
|
||
"description": "Shown in the conversation history when we discover that the user marked a contact as not verified on another device.",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"membersNeedingVerification": {
|
||
"message": "Số an toàn của bạn với các thành viên nhóm này đã được thay đổi từ lần xác minh cuối cùng của bạn. Nhấp vào một thành viên trong nhóm để xem số an toàn mới của bạn đối với họ.",
|
||
"description": "When there are multiple previously-verified group members with safety number changes, a banner will be shown. The list of contacts with safety number changes is shown, and this text introduces that list."
|
||
},
|
||
"changedRightAfterVerify": {
|
||
"message": "Số an toàn bạn đang cố để xác minh đã thay đổi. Xin hãy xem lại số an toàn mới của bạn với $name1$. Xin nhớ rằng, thay đổi này có thể có nghĩa là có người đang cố gắng chặn liên lạc của bạn hoặc đơn giản là $name2$ đã cài đặt lại Signal.",
|
||
"description": "Shown on the safety number screen when the user has selected to verify/unverify a contact's safety number, and we immediately discover a safety number change",
|
||
"placeholders": {
|
||
"name1": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"name2": {
|
||
"content": "$2",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"changedVerificationWarning": {
|
||
"message": "Những người này có thể đã cài lại ứng dụng hoặc thay đổi thiết bị. Vui lòng xác minh lại mã số an toàn để đảm bảo riêng tư.",
|
||
"description": "Shown on confirmation dialog when user attempts to send a message"
|
||
},
|
||
"safetyNumberChangeDialog__pending-messages": {
|
||
"message": "Send pending messages",
|
||
"description": "Shown on confirmation dialog when user attempts to send a message in the outbox"
|
||
},
|
||
"identityKeyErrorOnSend": {
|
||
"message": "Số an toàn bạn đang cố để xác minh đã thay đổi. Xin hãy xem lại số an toàn mới của bạn với $name1$. Xin nhớ rằng, thay đổi này có thể có nghĩa là có người đang cố gắng chặn liên lạc của bạn hoặc đơn giản là $name2$ đã cài đặt lại Signal. Bạn nên xác minh lại số an toàn của mình với liên hệ này.",
|
||
"description": "Shown when user clicks on a failed recipient in the message detail view after an identity key change",
|
||
"placeholders": {
|
||
"name1": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"name2": {
|
||
"content": "$2",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"sendAnyway": {
|
||
"message": "Vẫn tiếp tục gửi",
|
||
"description": "Used on a warning dialog to make it clear that it might be risky to send the message."
|
||
},
|
||
"callAnyway": {
|
||
"message": "Vẫn tiếp tục Gọi",
|
||
"description": "Used on a warning dialog to make it clear that it might be risky to call the conversation."
|
||
},
|
||
"continueCall": {
|
||
"message": "Tiếp tục Cuộc gọi",
|
||
"description": "Used on a warning dialog to make it clear that it might be risky to continue the group call."
|
||
},
|
||
"noLongerVerified": {
|
||
"message": "Số an toàn của bạn với $name$ đã được thay đổi và không còn được xác minh. Nhấp vào đây để hiển thị.",
|
||
"description": "Shown in conversation banner when user's safety number has changed, but they were previously verified.",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"multipleNoLongerVerified": {
|
||
"message": "Số an toàn của bạn với nhiều thành viên của nhóm này đã được thay đổi và không còn được xác minh. Nhấp vào đây để hiển thị.",
|
||
"description": "Shown in conversation banner when more than one group member's safety number has changed, but they were previously verified."
|
||
},
|
||
"debugLogExplanation": {
|
||
"message": "When you click Submit, your log will be posted online for 30 days at a unique, unpublished URL. You may Save it locally first.",
|
||
"description": "Description of what will happen with your debug log"
|
||
},
|
||
"debugLogError": {
|
||
"message": "Đã xảy ra sự cố với quá trình tải lên! Vui lòng gửi email tới support@signal.org và đính kèm nhật ký của bạn dưới dạng tệp văn bản.",
|
||
"description": "Error message a recommendations if debug log upload fails"
|
||
},
|
||
"debugLogSuccess": {
|
||
"message": "Đã gửi nhật ký gỡ lỗi",
|
||
"description": "Title of the success page for submitting a debug log"
|
||
},
|
||
"debugLogSuccessNextSteps": {
|
||
"message": "Debug log uploaded. When you contact support, copy the URL below and attach it along with a description of the problem you saw and steps to reproduce it.",
|
||
"description": "Explanation of next steps to take when submitting debug log"
|
||
},
|
||
"debugLogLogIsIncomplete": {
|
||
"message": "... to see the full log, click Save",
|
||
"description": "Shown as the text for the copy button on the debug log screen"
|
||
},
|
||
"debugLogCopy": {
|
||
"message": "Sao chép Đường dẫn",
|
||
"description": "Shown as the text for the copy button on the debug log screen"
|
||
},
|
||
"debugLogSave": {
|
||
"message": "Lưu",
|
||
"description": "Shown as the text for the download button on the debug log screen"
|
||
},
|
||
"debugLogLinkCopied": {
|
||
"message": "Đường dẫn đã được sao chép vào bộ nhớ tạm",
|
||
"description": "Shown in a toast to let the user know that the link to the debug log has been copied to their clipboard"
|
||
},
|
||
"reportIssue": {
|
||
"message": "Liên lạc Hỗ trợ",
|
||
"description": "Link to open the issue tracker"
|
||
},
|
||
"gotIt": {
|
||
"message": "Đã rõ!",
|
||
"description": "Label for a button that dismisses a dialog. The user clicks it to confirm that they understand the message in the dialog."
|
||
},
|
||
"submit": {
|
||
"message": "Gửi",
|
||
"description": ""
|
||
},
|
||
"acceptNewKey": {
|
||
"message": "Chấp nhận",
|
||
"description": "Label for a button to accept a new safety number"
|
||
},
|
||
"verify": {
|
||
"message": "Đánh dấu đã xác minh",
|
||
"description": ""
|
||
},
|
||
"unverify": {
|
||
"message": "Đánh dấu chưa xác minh",
|
||
"description": ""
|
||
},
|
||
"isVerified": {
|
||
"message": "Bạn đã xác minh số an toàn của bạn với $name$",
|
||
"description": "Summary state shown at top of the safety number screen if user has verified contact.",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"isNotVerified": {
|
||
"message": "Bạn chưa xác minh số an toàn của bạn với $name$.",
|
||
"description": "Summary state shown at top of the safety number screen if user has not verified contact.",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"verified": {
|
||
"message": "Đã xác minh",
|
||
"description": ""
|
||
},
|
||
"newIdentity": {
|
||
"message": "Số an toàn mới",
|
||
"description": "Header for a key change dialog"
|
||
},
|
||
"identityChanged": {
|
||
"message": "Số an toàn của bạn với người (liên lạc) này đã thay đổi. Điều này có nghĩa là ai đó đang cố chặn liên lạc của bạn, hoặc đơn giản là người (liên lạc) này đã cài đặt lại Signal. Bạn có thể muốn xác minh số an toàn mới bên dưới.",
|
||
"description": ""
|
||
},
|
||
"incomingError": {
|
||
"message": "Lỗi xử lý tin nhắn đến",
|
||
"description": ""
|
||
},
|
||
"media": {
|
||
"message": "Đa phương tiện",
|
||
"description": "Header of the default pane in the media gallery, showing images and videos"
|
||
},
|
||
"mediaEmptyState": {
|
||
"message": "Bạn không có tập tin đa phương tiện nào trong cuộc trò chuyện này",
|
||
"description": "Message shown to user in the media gallery when there are no messages with media attachments (images or video)"
|
||
},
|
||
"allMedia": {
|
||
"message": "Tất cả Tập tin đa phương tiện",
|
||
"description": "Header for the media gallery"
|
||
},
|
||
"documents": {
|
||
"message": "Tài liệu",
|
||
"description": "Header of the secondary pane in the media gallery, showing every non-media attachment"
|
||
},
|
||
"documentsEmptyState": {
|
||
"message": "Bạn không có tài liệu nào trong cuộc trò chuyện này",
|
||
"description": "Message shown to user in the media gallery when there are no messages with document attachments (anything other than images or video)"
|
||
},
|
||
"today": {
|
||
"message": "Hôm nay",
|
||
"description": "The string \"today\""
|
||
},
|
||
"yesterday": {
|
||
"message": "Ngày hôm qua",
|
||
"description": "The string \"yesterday\""
|
||
},
|
||
"thisWeek": {
|
||
"message": "Tuần này",
|
||
"description": "Section header in the media gallery"
|
||
},
|
||
"thisMonth": {
|
||
"message": "Tháng này",
|
||
"description": "Section header in the media gallery"
|
||
},
|
||
"unsupportedAttachment": {
|
||
"message": "Dạng tập tin đính kèm không được hỗ trợ. Nhấp để lưu.",
|
||
"description": "Displayed for incoming unsupported attachment"
|
||
},
|
||
"clickToSave": {
|
||
"message": "Nhấp để lưu",
|
||
"description": "Hover text for attachment filenames"
|
||
},
|
||
"unnamedFile": {
|
||
"message": "Tập tin Không có tên",
|
||
"description": "Hover text for attachment filenames"
|
||
},
|
||
"voiceMessage": {
|
||
"message": "Tin nhắn Thoại",
|
||
"description": "Name for a voice message attachment"
|
||
},
|
||
"dangerousFileType": {
|
||
"message": "Tập tin đính kèm không khả dụng vì lý do bảo mật",
|
||
"description": "Shown in toast when user attempts to send .exe file, for example"
|
||
},
|
||
"loadingPreview": {
|
||
"message": "Đang tải Bản xem trước...",
|
||
"description": "Shown while Signal Desktop is fetching metadata for a url in composition area"
|
||
},
|
||
"stagedPreviewThumbnail": {
|
||
"message": "Bản nháp hình thu nhỏ liên kết bản xem trước cho $domain$",
|
||
"description": "Shown while Signal Desktop is fetching metadata for a url in composition area",
|
||
"placeholders": {
|
||
"path": {
|
||
"content": "$1",
|
||
"example": "instagram.com"
|
||
}
|
||
}
|
||
},
|
||
"previewThumbnail": {
|
||
"message": "Hình thu nhỏ liên kết bản xem trước cho $domain$",
|
||
"description": "Shown while Signal Desktop is fetching metadata for a url in composition area",
|
||
"placeholders": {
|
||
"domain": {
|
||
"content": "$1",
|
||
"example": "instagram.com"
|
||
}
|
||
}
|
||
},
|
||
"stagedImageAttachment": {
|
||
"message": "Bản nháp tập tin ảnh đính kèm: $path$",
|
||
"description": "Alt text for staged attachments",
|
||
"placeholders": {
|
||
"path": {
|
||
"content": "$1",
|
||
"example": "dog.jpg"
|
||
}
|
||
}
|
||
},
|
||
"decryptionErrorToast": {
|
||
"message": "Máy tính để bàn gặp lỗi giải mã từ $name$, thiết bị $deviceId$",
|
||
"description": "An error popup when we haven't added an in-timeline error for decryption error, only for beta/internal users.",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "John"
|
||
},
|
||
"deviceId": {
|
||
"content": "$1",
|
||
"example": "2"
|
||
}
|
||
}
|
||
},
|
||
"decryptionErrorToastAction": {
|
||
"message": "Gửi nhật ký",
|
||
"description": "Label for the decryption error toast button"
|
||
},
|
||
"oneNonImageAtATimeToast": {
|
||
"message": "Khi bao gồm một tập tin đính kèm không phải hình ảnh, giới hạn là một tập tin đính kèm cho mỗi tin nhắn.",
|
||
"description": "An error popup when the user has attempted to add an attachment"
|
||
},
|
||
"cannotMixImageAndNonImageAttachments": {
|
||
"message": "Bạn không thể kết hợp tập tin không phải hình ảnh và tập tin hình ảnh đính kèm trong cùng một tin nhắn.",
|
||
"description": "An error popup when the user has attempted to add an attachment"
|
||
},
|
||
"maximumAttachments": {
|
||
"message": "Bạn không thể thêm bất kì tập tin đính kèm nào cho tin nhắn này.",
|
||
"description": "An error popup when the user has attempted to add an attachment"
|
||
},
|
||
"fileSizeWarning": {
|
||
"message": "Rất tiếc, tập tin đã chọn vượt quá giới hạn kích thước của tin nhắn.",
|
||
"description": ""
|
||
},
|
||
"unableToLoadAttachment": {
|
||
"message": "Không thể tải tập tin đính kèm đã chọn.",
|
||
"description": ""
|
||
},
|
||
"disconnected": {
|
||
"message": "Đã ngắt kết nối",
|
||
"description": "Displayed when the desktop client cannot connect to the server."
|
||
},
|
||
"connecting": {
|
||
"message": "Đang kết nối...",
|
||
"description": "Displayed when the desktop client is currently connecting to the server."
|
||
},
|
||
"connect": {
|
||
"message": "Nhấp chuột để kết nối lại.",
|
||
"description": "Shown to allow the user to manually attempt a reconnect."
|
||
},
|
||
"connectingHangOn": {
|
||
"message": "Không nên dài đâu",
|
||
"description": "Subtext description for when the client is connecting to the server."
|
||
},
|
||
"offline": {
|
||
"message": "Ngoại tuyến",
|
||
"description": "Displayed when the desktop client has no network connection."
|
||
},
|
||
"checkNetworkConnection": {
|
||
"message": "Kiểm tra kết nối mạng của bạn.",
|
||
"description": "Obvious instructions for when a user's computer loses its network connection"
|
||
},
|
||
"submitDebugLog": {
|
||
"message": "Nhật ký gỡ lỗi",
|
||
"description": "Menu item and header text for debug log modal (sentence case)"
|
||
},
|
||
"debugLog": {
|
||
"message": "Nhật ký Gỡ lỗi",
|
||
"description": "View menu item to open the debug log (title case)"
|
||
},
|
||
"forceUpdate": {
|
||
"message": "Buộc Cập nhật ",
|
||
"description": "View menu item to force the app to update download and install"
|
||
},
|
||
"helpMenuShowKeyboardShortcuts": {
|
||
"message": "Hiện Phím tắt bàn phím",
|
||
"description": "Item under the help menu, pops up a screen showing the application's keyboard shortcuts"
|
||
},
|
||
"contactUs": {
|
||
"message": "Liên lạc chúng tôi",
|
||
"description": "Item under the help menu, takes you to the contact us support page"
|
||
},
|
||
"goToReleaseNotes": {
|
||
"message": "Chuyển đến Ghi chú Phát hành",
|
||
"description": "Item under the help menu, takes you to GitHub page for release notes"
|
||
},
|
||
"goToForums": {
|
||
"message": "Chuyển đến Diễn đàn",
|
||
"description": "Item under the Help menu, takes you to the forums"
|
||
},
|
||
"goToSupportPage": {
|
||
"message": "Chuyển đến Trang Hỗ trợ",
|
||
"description": "Item under the Help menu, takes you to the support page"
|
||
},
|
||
"joinTheBeta": {
|
||
"message": "Tham gia bản Beta",
|
||
"description": "Item under the Help menu, takes you to an article describing how to install the beta release of Signal Desktop"
|
||
},
|
||
"signalDesktopPreferences": {
|
||
"message": "Quyền ưu tiên Signal Desktop",
|
||
"description": "Title of the window that pops up with Signal Desktop preferences in it"
|
||
},
|
||
"signalDesktopStickerCreator": {
|
||
"message": "Tác giả gói nhãn dán",
|
||
"description": "Title of the window that pops up with Signal Desktop preferences in it"
|
||
},
|
||
"aboutSignalDesktop": {
|
||
"message": "Giới thiệu Signal Desktop",
|
||
"description": "Item under the Help menu, which opens a small about window"
|
||
},
|
||
"screenShareWindow": {
|
||
"message": "Chia sẻ màn hình",
|
||
"description": "Title for screen sharing window"
|
||
},
|
||
"speech": {
|
||
"message": "Nói",
|
||
"description": "Item under the Edit menu, with 'start/stop speaking' items below it"
|
||
},
|
||
"show": {
|
||
"message": "Hiển thị",
|
||
"description": "Command under Window menu, to show the window"
|
||
},
|
||
"hide": {
|
||
"message": "Ẩn",
|
||
"description": "Command in the tray icon menu, to hide the window"
|
||
},
|
||
"quit": {
|
||
"message": "Thoát",
|
||
"description": "Command in the tray icon menu, to quit the application"
|
||
},
|
||
"signalDesktop": {
|
||
"message": "Signal Desktop",
|
||
"description": "Tooltip for the tray icon"
|
||
},
|
||
"search": {
|
||
"message": "Tìm kiếm",
|
||
"description": "Placeholder text in the search input"
|
||
},
|
||
"clearSearch": {
|
||
"message": "Xoá Tìm kiếm",
|
||
"description": "Aria label for clear search button"
|
||
},
|
||
"searchIn": {
|
||
"message": "Tình kiếm cuộc trò chuyện",
|
||
"description": "Shown in the search box before text is entered when searching in a specific conversation"
|
||
},
|
||
"noSearchResults": {
|
||
"message": "Không có kết quả cho \"$searchTerm$\"",
|
||
"description": "Shown in the search left pane when no results were found",
|
||
"placeholders": {
|
||
"searchTerm": {
|
||
"content": "$1",
|
||
"example": "dog"
|
||
}
|
||
}
|
||
},
|
||
"noSearchResults--sms-only": {
|
||
"message": "Liên hệ SMS/MMS không có sẵn trên Desktop.",
|
||
"description": "Shown in the search left pane when no results were found and primary device has SMS/MMS handling enabled"
|
||
},
|
||
"noSearchResultsInConversation": {
|
||
"message": "Không có kết quả cho \"$searchTerm$\" trong $conversationName$",
|
||
"description": "Shown in the search left pane when no results were found",
|
||
"placeholders": {
|
||
"searchTerm": {
|
||
"content": "$1",
|
||
"example": "dog"
|
||
},
|
||
"conversationName": {
|
||
"content": "$2",
|
||
"example": "Friends"
|
||
}
|
||
}
|
||
},
|
||
"conversationsHeader": {
|
||
"message": "Cuộc trò chuyện",
|
||
"description": "Shown to separate the types of search results"
|
||
},
|
||
"contactsHeader": {
|
||
"message": "Danh bạ",
|
||
"description": "Shown to separate the types of search results"
|
||
},
|
||
"groupsHeader": {
|
||
"message": "Nhóm",
|
||
"description": "Shown to separate the types of search results"
|
||
},
|
||
"messagesHeader": {
|
||
"message": "Tin nhắn",
|
||
"description": "Shown to separate the types of search results"
|
||
},
|
||
"findByUsernameHeader": {
|
||
"message": "Find by username",
|
||
"description": "Shown when search could be a valid username, with one sub-item that will kick off the search"
|
||
},
|
||
"findByPhoneNumberHeader": {
|
||
"message": "Find by phone number",
|
||
"description": "Shown when search could be a valid phone number, with one sub-item that will kick off the search"
|
||
},
|
||
"at-username": {
|
||
"message": "@$username$",
|
||
"description": "@ added to username to signify it as a username. Should it be on the right in your language?",
|
||
"placeholders": {
|
||
"username": {
|
||
"content": "$1",
|
||
"example": "sammy45"
|
||
}
|
||
}
|
||
},
|
||
"welcomeToSignal": {
|
||
"message": "Chào mừng đến với Signal",
|
||
"description": ""
|
||
},
|
||
"whatsNew": {
|
||
"message": "Nhìn xem $whatsNew$ trong bản cập nhật này",
|
||
"description": "Shown in the main window",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "what's new"
|
||
}
|
||
}
|
||
},
|
||
"viewReleaseNotes": {
|
||
"message": "có gì mới",
|
||
"description": "Clickable link that displays the latest release notes"
|
||
},
|
||
"selectAContact": {
|
||
"message": "Chọn một liên hệ hoặc nhóm để bắt đầu trò chuyện.",
|
||
"description": ""
|
||
},
|
||
"typingAlt": {
|
||
"message": "Nhập hoạt ảnh cho cuộc trò chuyện này",
|
||
"description": "Used as the 'title' attribute for the typing animation"
|
||
},
|
||
"contactInAddressBook": {
|
||
"message": "Người này có trong danh bạ của bạn.",
|
||
"description": "Description of icon denoting that contact is from your address book"
|
||
},
|
||
"contactAvatarAlt": {
|
||
"message": "Ảnh đại diện cho liên lạc $name$",
|
||
"description": "Used in the alt tag for the image avatar of a contact",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "John"
|
||
}
|
||
}
|
||
},
|
||
"sendMessageToContact": {
|
||
"message": "Gửi Tin nhắn",
|
||
"description": "Shown when you are sent a contact and that contact has a signal account"
|
||
},
|
||
"home": {
|
||
"message": "nhà",
|
||
"description": "Shown on contact detail screen as a label for an address/phone/email"
|
||
},
|
||
"work": {
|
||
"message": "công việc",
|
||
"description": "Shown on contact detail screen as a label for an address/phone/email"
|
||
},
|
||
"mobile": {
|
||
"message": "di động",
|
||
"description": "Shown on contact detail screen as a label for a phone or email"
|
||
},
|
||
"email": {
|
||
"message": "email",
|
||
"description": "Generic label shown if contact email has custom type but no label"
|
||
},
|
||
"phone": {
|
||
"message": "số điện thoại",
|
||
"description": "Generic label shown if contact phone has custom type but no label"
|
||
},
|
||
"address": {
|
||
"message": "địa chỉ",
|
||
"description": "Generic label shown if contact address has custom type but no label"
|
||
},
|
||
"poBox": {
|
||
"message": "Hộp thư",
|
||
"description": "When rendering an address, used to provide context to a post office box"
|
||
},
|
||
"downloading": {
|
||
"message": "Đang tải xuống",
|
||
"description": "Shown in the message bubble while a long message attachment is being downloaded"
|
||
},
|
||
"downloadAttachment": {
|
||
"message": "Tải Tập tin đính kèm",
|
||
"description": "Shown in a message's triple-dot menu if there isn't room for a dedicated download button"
|
||
},
|
||
"reactToMessage": {
|
||
"message": "Bày tỏ về tin nhắn",
|
||
"description": "Shown in triple-dot menu next to message to allow user to react to the associated message"
|
||
},
|
||
"replyToMessage": {
|
||
"message": "Trả lời Tin nhắn",
|
||
"description": "Shown in triple-dot menu next to message to allow user to start crafting a message with a quotation"
|
||
},
|
||
"originalMessageNotFound": {
|
||
"message": "Không tìm thấy tin nhắn ban đầu",
|
||
"description": "Shown in quote if reference message was not found as message was initially downloaded and processed"
|
||
},
|
||
"originalMessageNotAvailable": {
|
||
"message": "Tin nhắn ban đầu không còn khả dụng",
|
||
"description": "Shown in toast if user clicks on quote that references message no longer in database"
|
||
},
|
||
"messageFoundButNotLoaded": {
|
||
"message": "Đã tìm thấy tin nhắn gốc, nhưng không tải dược. Cuộn lên để tải nó.",
|
||
"description": "Shown in toast if user clicks on quote references messages not loaded in view, but in database"
|
||
},
|
||
"voiceRecording--start": {
|
||
"message": "Bắt đầu ghi âm tin nhắn thoại",
|
||
"description": "Tooltip for microphone button to start voice message"
|
||
},
|
||
"voiceRecording--complete": {
|
||
"message": "Hoàn thành việc gửi tin nhắn thoại",
|
||
"description": "Tooltip for green complete voice message and send"
|
||
},
|
||
"voiceRecording--cancel": {
|
||
"message": "Hủy tin nhắn thoại",
|
||
"description": "Tooltip for red button to cancel voice message"
|
||
},
|
||
"voiceRecordingInterruptedMax": {
|
||
"message": "Việc thu âm tin nhắn thoại dừng lại vì đã đạt mức giới hạn số lần tối đa.",
|
||
"description": "Confirmation dialog message for when the voice recording is interrupted due to max time limit"
|
||
},
|
||
"voiceRecordingInterruptedBlur": {
|
||
"message": "Việc thu âm tin nhắn thoại dừng vì bạn chuyển sang một ứng dụng khác.",
|
||
"description": "Confirmation dialog message for when the voice recording is interrupted due to app losing focus"
|
||
},
|
||
"voiceNoteLimit": {
|
||
"message": "Voice messages are limited to one hour. Recording will stop if you switch to another app.",
|
||
"description": "Shown in toast to warn user about limited time and that window must be in focus"
|
||
},
|
||
"voiceNoteMustBeOnlyAttachment": {
|
||
"message": "Tin nhắn thoại chỉ được có một tệp đính kèm.",
|
||
"description": "Shown in toast if tries to record a voice note with any staged attachments"
|
||
},
|
||
"voiceNoteError": {
|
||
"message": "Có lỗi xảy ra đối với việc ghi âm tin nhắn thoại",
|
||
"description": "Shown in a dialog to inform user that we experienced an unrecoverable error"
|
||
},
|
||
"attachmentSaved": {
|
||
"message": "Đã lưu đính kèm.",
|
||
"description": "Shown after user selects to save to downloads"
|
||
},
|
||
"attachmentSavedShow": {
|
||
"message": "Hiển thị trong thư mục",
|
||
"description": "Button label for showing the attachment in your file system"
|
||
},
|
||
"you": {
|
||
"message": "Bạn",
|
||
"description": "Shown when the user represented is the current user."
|
||
},
|
||
"replyingTo": {
|
||
"message": "Đang trả lời cho $name$",
|
||
"description": "Shown in iOS theme when you or someone quotes to a message which is not from you",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "John"
|
||
}
|
||
}
|
||
},
|
||
"audioPermissionNeeded": {
|
||
"message": "Để gửi tập tin âm thanh, hãy chắc chắn rằng Signal Desktop được phép truy cập micro.",
|
||
"description": "Shown if the user attempts to send an audio message without audio permissions turned on"
|
||
},
|
||
"audioCallingPermissionNeeded": {
|
||
"message": "Để thực hiện cuộc gọi, bạn cần phải cho phép Signal Desktop truy cập microphone của bạn.",
|
||
"description": "Shown if the user attempts access the microphone for calling without audio permissions turned on"
|
||
},
|
||
"videoCallingPermissionNeeded": {
|
||
"message": "Để thực hiện cuộc gọi video, bạn cần phải cho phép Signal Desktop truy cập camera của bạn.",
|
||
"description": "Shown if the user attempts access the camera for video calling without video permissions turned on"
|
||
},
|
||
"allowAccess": {
|
||
"message": "Cho phép Truy cập",
|
||
"description": "Button shown in popup asking to enable microphone/video permissions to send audio messages"
|
||
},
|
||
"showSettings": {
|
||
"message": "Hiển thị Cài đặt",
|
||
"description": "A button shown in dialog requesting the user to turn on audio permissions"
|
||
},
|
||
"audio": {
|
||
"message": "Âm thanh",
|
||
"description": "Shown in a quotation of a message containing an audio attachment if no text was originally provided with that attachment"
|
||
},
|
||
"video": {
|
||
"message": "Video",
|
||
"description": "Shown in a quotation of a message containing a video if no text was originally provided with that video"
|
||
},
|
||
"photo": {
|
||
"message": "Ảnh",
|
||
"description": "Shown in a quotation of a message containing a photo if no text was originally provided with that image"
|
||
},
|
||
"text": {
|
||
"message": "Văn bản",
|
||
"description": "Label for the word 'text'"
|
||
},
|
||
"cannotUpdate": {
|
||
"message": "Không thể Cập nhật",
|
||
"description": "Shown as the title of our update error dialogs on windows"
|
||
},
|
||
"muted": {
|
||
"message": "Đã tắt tiếng",
|
||
"description": "Shown in a button when a conversation is muted"
|
||
},
|
||
"mute": {
|
||
"message": "Im lặng",
|
||
"description": "Shown in a button when a conversation is unmuted and can be muted"
|
||
},
|
||
"cannotUpdateDetail": {
|
||
"message": "Signal couldn't update. $retry$ or visit $url$ to install it manually. Then, $support$ about this problem",
|
||
"description": "Shown if a general error happened while trying to install update package",
|
||
"placeholders": {
|
||
"retry": {
|
||
"content": "$2",
|
||
"example": "retry update"
|
||
},
|
||
"url": {
|
||
"content": "$2",
|
||
"example": "https://signal.org/download"
|
||
},
|
||
"support": {
|
||
"content": "$3",
|
||
"example": "contact support"
|
||
}
|
||
}
|
||
},
|
||
"cannotUpdateRequireManualDetail": {
|
||
"message": "Signal couldn't update. Visit $url$ to install it manually. Then, $support$ about this problem",
|
||
"description": "Shown if a general error happened while trying to install update package and manual update is required",
|
||
"placeholders": {
|
||
"url": {
|
||
"content": "$2",
|
||
"example": "https://signal.org/download"
|
||
},
|
||
"support": {
|
||
"content": "$3",
|
||
"example": "contact support"
|
||
}
|
||
}
|
||
},
|
||
"readOnlyVolume": {
|
||
"message": "Signal Desktop đang trong tình trạng cách ly trên macOS, và sẽ không thể tự-cập nhật được. Xin hãy dời $app$ đến $folder$ với ứng dụng Finder.",
|
||
"description": "Shown on MacOS if running on a read-only volume and we cannot update",
|
||
"placeholders": {
|
||
"app": {
|
||
"content": "$1",
|
||
"example": "Signal.app"
|
||
},
|
||
"folder": {
|
||
"content": "$2",
|
||
"example": "/Applications"
|
||
}
|
||
}
|
||
},
|
||
"ok": {
|
||
"message": "OK",
|
||
"description": ""
|
||
},
|
||
"cancel": {
|
||
"message": "Hủy",
|
||
"description": ""
|
||
},
|
||
"discard": {
|
||
"message": "Bỏ",
|
||
"description": ""
|
||
},
|
||
"failedToSend": {
|
||
"message": "Không gửi được đến một số người nhận. Kiểm tra kết nối mạng của bạn.",
|
||
"description": ""
|
||
},
|
||
"error": {
|
||
"message": "Lỗi",
|
||
"description": ""
|
||
},
|
||
"messageDetail": {
|
||
"message": "Chi tiết Tin nhắn",
|
||
"description": ""
|
||
},
|
||
"delete": {
|
||
"message": "Xóa",
|
||
"description": ""
|
||
},
|
||
"accept": {
|
||
"message": "Chấp nhận",
|
||
"description": ""
|
||
},
|
||
"forward": {
|
||
"message": "Chuyển tiếp",
|
||
"description": ""
|
||
},
|
||
"done": {
|
||
"message": "Xong",
|
||
"description": "Label for done"
|
||
},
|
||
"on": {
|
||
"message": "Bật",
|
||
"description": "Label for when something is turned on"
|
||
},
|
||
"off": {
|
||
"message": "Tắt",
|
||
"description": "Label for when something is turned off"
|
||
},
|
||
"deleteWarning": {
|
||
"message": "Tin nhắn này sẽ được xoá khỏi thiết bị này.",
|
||
"description": "Text shown in the confirmation dialog for deleting a message locally"
|
||
},
|
||
"deleteForEveryoneWarning": {
|
||
"message": "Tin nhắn này sẽ được xóa cho tất cả thành viên nhóm nếu họ đang dùng phiên bản Signal mới. Họ cũng có thể biết rằng bạn đã xóa tin nhắn.",
|
||
"description": "Text shown in the confirmation dialog for deleting a message for everyone"
|
||
},
|
||
"from": {
|
||
"message": "Từ",
|
||
"description": "Label for the sender of a message"
|
||
},
|
||
"to": {
|
||
"message": "Đến",
|
||
"description": "Label for the receiver of a message"
|
||
},
|
||
"toJoiner": {
|
||
"message": "đến",
|
||
"description": "Joiner for message search results - like 'Jon' to 'Friends Group'"
|
||
},
|
||
"sent": {
|
||
"message": "Đã gửi",
|
||
"description": "Label for the time a message was sent"
|
||
},
|
||
"received": {
|
||
"message": "Đã nhận",
|
||
"description": "Label for the time a message was received"
|
||
},
|
||
"sendMessage": {
|
||
"message": "Gửi tin nhắn",
|
||
"description": "Placeholder text in the message entry field"
|
||
},
|
||
"groupMembers": {
|
||
"message": "Thành viên nhóm",
|
||
"description": ""
|
||
},
|
||
"showMembers": {
|
||
"message": "Hiển thị thành viên",
|
||
"description": ""
|
||
},
|
||
"showSafetyNumber": {
|
||
"message": "Xem số an toàn",
|
||
"description": ""
|
||
},
|
||
"viewRecentMedia": {
|
||
"message": "Xem các tập đa phương tiện gần đây",
|
||
"description": "This is a menu item for viewing all media (images + video) in a conversation, using the imperative case, as in a command."
|
||
},
|
||
"verifyHelp": {
|
||
"message": "Để xác minh tính bảo mật của mã hóa end-to-end của bạn với $name$, hãy so sánh các số ở trên với thiết bị của họ.",
|
||
"description": "",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "John"
|
||
}
|
||
}
|
||
},
|
||
"theirIdentityUnknown": {
|
||
"message": "Bạn chưa trao đổi tin nhắn nào với liên hệ này. Số an toàn của bạn với họ sẽ được cung cấp sau tin nhắn đầu tiên.",
|
||
"description": ""
|
||
},
|
||
"back": {
|
||
"message": "Trở lại",
|
||
"description": "Generic label for back"
|
||
},
|
||
"goBack": {
|
||
"message": "Quay lại",
|
||
"description": "Label for back button in a conversation"
|
||
},
|
||
"moreInfo": {
|
||
"message": "Thông tin khác",
|
||
"description": "Shown on the drop-down menu for an individual message, takes you to message detail screen"
|
||
},
|
||
"retrySend": {
|
||
"message": "Thử Gửi lại",
|
||
"description": "Shown on the drop-down menu for an individual message, but only if it is an outgoing message that failed to send"
|
||
},
|
||
"retryDeleteForEveryone": {
|
||
"message": "Retry Delete for Everyone",
|
||
"description": "Shown on the drop-down menu for an individual message, but only if a previous delete for everyone failed to send"
|
||
},
|
||
"forwardMessage": {
|
||
"message": "Chuyển tiếp tin nhắn",
|
||
"description": "Shown on the drop-down menu for an individual message, forwards a message"
|
||
},
|
||
"deleteMessage": {
|
||
"message": "Xoá tin nhắn này cho tôi",
|
||
"description": "Shown on the drop-down menu for an individual message, deletes single message"
|
||
},
|
||
"deleteMessageForEveryone": {
|
||
"message": "Xoá tin nhắn này cho tất cả mọi người",
|
||
"description": "Shown on the drop-down menu for an individual message, deletes single message for everyone"
|
||
},
|
||
"deleteMessages": {
|
||
"message": "Xóa",
|
||
"description": "Menu item for deleting messages, title case."
|
||
},
|
||
"deleteConversationConfirmation": {
|
||
"message": "Xóa cuộc trò chuyện này vĩnh viễn?",
|
||
"description": "Confirmation dialog text that asks the user if they really wish to delete the conversation. Answer buttons use the strings 'ok' and 'cancel'. The deletion is permanent, i.e. it cannot be undone."
|
||
},
|
||
"sessionEnded": {
|
||
"message": "Thiết lập lại phiên bảo mật",
|
||
"description": "This is a past tense, informational message. In other words, your secure session has been reset."
|
||
},
|
||
"ChatRefresh--notification": {
|
||
"message": "Đã làm mới phiên trò chuyện",
|
||
"description": "Shown in timeline when a error happened, and the session was automatically reset."
|
||
},
|
||
"ChatRefresh--learnMore": {
|
||
"message": "Tìm hiểu thêm",
|
||
"description": "Shown in timeline when session is automatically reset, to provide access to a popup info dialog"
|
||
},
|
||
"ChatRefresh--summary": {
|
||
"message": "Signal sử dụng bảo mật hai chiều và đôi khi sẽ cần làm mới phiên trò chuyện của bạn. Việc này không ảnh hưởng sự bảo mật của cuộc trò chuyện của bạn nhưng bạn có thể bị nhỡ tin nhắn từ liên hệ này và bạn có thể hỏi họ gửi lại.",
|
||
"description": "Shown on explainer dialog available from chat session refreshed timeline events"
|
||
},
|
||
"ChatRefresh--contactSupport": {
|
||
"message": "Liên lạc Hỗ trợ",
|
||
"description": "Shown on explainer dialog available from chat session refreshed timeline events"
|
||
},
|
||
"DeliveryIssue--preview": {
|
||
"message": "Vấn đề truyền tải",
|
||
"description": "Shown in left pane preview when message delivery issue happens"
|
||
},
|
||
"DeliveryIssue--notification": {
|
||
"message": "Một tin nhắn từ $sender$ không thể được gửi",
|
||
"description": "Shown in timeline when message delivery issue happens",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"DeliveryIssue--learnMore": {
|
||
"message": "Tìm hiểu thêm",
|
||
"description": "Shown in timeline when message delivery issue happens, to provide access to a popup info dialog"
|
||
},
|
||
"DeliveryIssue--title": {
|
||
"message": "Lỗi chuyên",
|
||
"description": "Shown on explainer dialog available from delivery issue timeline events"
|
||
},
|
||
"DeliveryIssue--summary": {
|
||
"message": "Một tin nhắn, nhãn dán, phản ứng, nhãn đã đọc hoặc đa phương tiện không thể được gửi đến bạn từ $sender$. Họ có thể đã cố gửi cho bạn trực tiếp, hoặc trong một nhóm.",
|
||
"description": "Shown on explainer dialog available from delivery issue timeline events in 1:1 conversations",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"DeliveryIssue--summary--group": {
|
||
"message": "Tin nhắn, nhãn dán, biểu cảm, biên nhận đã đọc hoặc phương tiện không thể gửi đến bạn từ $sender$ trong cuộc hội thoại này.",
|
||
"description": "Shown on explainer dialog available from delivery issue timeline events in groups",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"ChangeNumber--notification": {
|
||
"message": "$sender$thay đổi số điện thoại của họ",
|
||
"description": "Shown in timeline when a member of a conversation changes their phone number",
|
||
"placeholders": {
|
||
"sender": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
}
|
||
}
|
||
},
|
||
"quoteThumbnailAlt": {
|
||
"message": "Hình thu nhỏ của hình ảnh từ tin nhắn được trích dẫn",
|
||
"description": "Used in alt tag of thumbnail images inside of an embedded message quote"
|
||
},
|
||
"imageAttachmentAlt": {
|
||
"message": "Ảnh đã được đính kèm vào tin nhắn",
|
||
"description": "Used in alt tag of image attachment"
|
||
},
|
||
"videoAttachmentAlt": {
|
||
"message": "Hình chụp của video đã được đính kèm vào tin nhắn",
|
||
"description": "Used in alt tag of video attachment preview"
|
||
},
|
||
"lightboxImageAlt": {
|
||
"message": "Hình đã được gửi vào cuộc trò chuyện",
|
||
"description": "Used in the alt tag for the image shown in a full-screen lightbox view"
|
||
},
|
||
"imageCaptionIconAlt": {
|
||
"message": "Biểu tượng cho biết hình ảnh này có chú thích",
|
||
"description": "Used for the icon layered on top of an image in message bubbles"
|
||
},
|
||
"save": {
|
||
"message": "Lưu",
|
||
"description": "Used on save buttons"
|
||
},
|
||
"reset": {
|
||
"message": "Đặt lại",
|
||
"description": "Used on reset buttons"
|
||
},
|
||
"fileIconAlt": {
|
||
"message": "Biểu tượng tập tin",
|
||
"description": "Used in the media gallery documents tab to visually represent a file"
|
||
},
|
||
"installWelcome": {
|
||
"message": "Chào mừng đến với Signal Desktop",
|
||
"description": "Welcome title on the install page"
|
||
},
|
||
"installTagline": {
|
||
"message": "Sự riêng tư là khả thi. Signal khiến điều đó trở nên dễ dàng.",
|
||
"description": "Tagline displayed under 'installWelcome' string on the install page"
|
||
},
|
||
"linkedDevices": {
|
||
"message": "Các thiết bị Được liên kết",
|
||
"description": "Used in the guidance to help people find the 'link new device' area of their Signal mobile app"
|
||
},
|
||
"linkNewDevice": {
|
||
"message": "Liên kết Thiết bị Mới",
|
||
"description": "The menu option shown in Signal iOS to add a new linked device"
|
||
},
|
||
"Install__scan-this-code": {
|
||
"message": "Quét mã này trong ứng dụng Signal trên điện thoại của bạn.",
|
||
"description": "Title of the device link screen. Also used as alt text for the QR code on the device link screen"
|
||
},
|
||
"Install__instructions__1": {
|
||
"message": "Mở Signal trên điện thoại của bạn",
|
||
"description": "Instructions on the device link screen"
|
||
},
|
||
"Install__instructions__2": {
|
||
"message": "Nhấn vào $settings$. sau đó nhấn $linkedDevices$",
|
||
"description": "Instructions on the device link screen",
|
||
"placeholders": {
|
||
"settings": {
|
||
"content": "$1",
|
||
"example": "<strong>Settings</strong>"
|
||
},
|
||
"linkedDevices": {
|
||
"content": "$2",
|
||
"example": "<strong>Linked Devices</strong>"
|
||
}
|
||
}
|
||
},
|
||
"Install__instructions__2__settings": {
|
||
"message": "Cài đặt",
|
||
"description": "Part of the 2nd instruction on the device link screen"
|
||
},
|
||
"Install__instructions__3": {
|
||
"message": "Nhấn $plusButton$(Android) hoặc $linkNewDevice$ (iPhone)",
|
||
"description": "Instructions on the device link screen",
|
||
"placeholders": {
|
||
"plusButton": {
|
||
"content": "$1",
|
||
"example": "<PlusButton />"
|
||
},
|
||
"linkNewDevice": {
|
||
"content": "$2",
|
||
"example": "<strong>Link New Device</strong>"
|
||
}
|
||
}
|
||
},
|
||
"Install__qr-failed": {
|
||
"message": "Không thể tải mã QR. Kiểm tra đường truyền internet của bạn và thử lại.$learnMore$",
|
||
"description": "Shown on the install screen if the QR code fails to load",
|
||
"placeholders": {
|
||
"learnMore": {
|
||
"content": "$1",
|
||
"example": "<a>Learn more</a>"
|
||
}
|
||
}
|
||
},
|
||
"Install__qr-failed__learn-more": {
|
||
"message": "Tìm hiểu thêm",
|
||
"description": "Shown on the install screen if the QR code fails to load"
|
||
},
|
||
"Install__support-link": {
|
||
"message": "Cần hỗ trợ?",
|
||
"description": "Shown on the install screen. Link takes users to a support page"
|
||
},
|
||
"Install__choose-device-name__description": {
|
||
"message": "Bạn sẽ thấy tên này dưới \"Thiết Bị Được Liên Kết\" trên điện thoại của bạn",
|
||
"description": "The subheader shown on the 'choose device name' screen in the device linking process"
|
||
},
|
||
"Install__choose-device-name__placeholder": {
|
||
"message": "Máy tính của tôi",
|
||
"description": "The placeholder for the 'choose device name' input"
|
||
},
|
||
"Preferences--device-name": {
|
||
"message": "Tên thiết bị",
|
||
"description": "The label in settings panel shown for the user-provided name for this desktop instance"
|
||
},
|
||
"chooseDeviceName": {
|
||
"message": "Chọn tên cho thiết bị này",
|
||
"description": "The header shown on the 'choose device name' screen in the device linking process"
|
||
},
|
||
"finishLinkingPhone": {
|
||
"message": "Hoàn tất liên kết điện thoại",
|
||
"description": "The text on the button to finish the linking process, after choosing the device name"
|
||
},
|
||
"initialSync": {
|
||
"message": "Đồng bộ các liên lạc và nhóm",
|
||
"description": "Shown during initial link while contacts and groups are being pulled from mobile device"
|
||
},
|
||
"initialSync__subtitle": {
|
||
"message": "Chú ý: Lịch sử trò chuyện của bạn sẽ không được đồng bộ trên thiết bị này",
|
||
"description": "Shown during initial link while contacts and groups are being pulled from mobile device"
|
||
},
|
||
"installConnectionFailed": {
|
||
"message": "Không thể kết nối đến máy chủ.",
|
||
"description": "Displayed when we can't connect to the server."
|
||
},
|
||
"installTooManyDevices": {
|
||
"message": "Rất tiếc, bạn có quá nhiều thiết bị đã được liên kết. Hãy thử gỡ bỏ vài thiết bị.",
|
||
"description": ""
|
||
},
|
||
"installTooOld": {
|
||
"message": "Cập nhật Signal trên thiết bị này để kết nối với điện thoại của bạn.",
|
||
"description": ""
|
||
},
|
||
"installErrorHeader": {
|
||
"message": "Đã xảy ra lỗi!",
|
||
"description": ""
|
||
},
|
||
"installUnknownError": {
|
||
"message": "Có lỗi không mong muốn xảy ra. Xin hãy thử lại.",
|
||
"description": ""
|
||
},
|
||
"installTryAgain": {
|
||
"message": "Thử lại",
|
||
"description": ""
|
||
},
|
||
"Preferences--theme": {
|
||
"message": "Chủ đề",
|
||
"description": "Header for theme settings"
|
||
},
|
||
"calling": {
|
||
"message": "Đang gọi",
|
||
"description": "Header for calling options on the settings screen"
|
||
},
|
||
"calling__call-back": {
|
||
"message": "Gọi lại",
|
||
"description": "Button to call someone back"
|
||
},
|
||
"calling__call-again": {
|
||
"message": "Gọi Lại",
|
||
"description": "Button to call someone again"
|
||
},
|
||
"calling__start": {
|
||
"message": "Bắt đầu Cuộc gọi",
|
||
"description": "Button label in the call lobby for starting a call"
|
||
},
|
||
"calling__join": {
|
||
"message": "Tham gia Cuộc gọi",
|
||
"description": "Button label in the call lobby for joining a call"
|
||
},
|
||
"calling__return": {
|
||
"message": "Quay về Cuộc gọi",
|
||
"description": "Button label in the call lobby for returning to a call"
|
||
},
|
||
"calling__lobby-automatically-muted-because-there-are-a-lot-of-people": {
|
||
"message": "Microphone bị tắt do kích thước cuộc gọi quá lớn",
|
||
"description": "Shown in a call lobby toast if there are a lot of people already on the call"
|
||
},
|
||
"calling__call-is-full": {
|
||
"message": "Cuộc gọi đã đầy",
|
||
"description": "Text in the call lobby when you can't join because the call is full"
|
||
},
|
||
"calling__button--video__label": {
|
||
"message": "Máy ảnh",
|
||
"description": "Label under the video button"
|
||
},
|
||
"calling__button--video-disabled": {
|
||
"message": "Đã tắt Camera",
|
||
"description": "Button tooltip label when the camera is disabled"
|
||
},
|
||
"calling__button--video-off": {
|
||
"message": "Tắt camera",
|
||
"description": "Button tooltip label for turning off the camera"
|
||
},
|
||
"calling__button--video-on": {
|
||
"message": "Bật camera",
|
||
"description": "Button tooltip label for turning on the camera"
|
||
},
|
||
"calling__button--audio__label": {
|
||
"message": "Im lặng",
|
||
"description": "Label under the audio button"
|
||
},
|
||
"calling__button--audio-disabled": {
|
||
"message": "Microphone đã được tắt",
|
||
"description": "Button tooltip label when the microphone is disabled"
|
||
},
|
||
"calling__button--audio-off": {
|
||
"message": "Tắt micro",
|
||
"description": "Button tooltip label for turning off the microphone"
|
||
},
|
||
"calling__button--audio-on": {
|
||
"message": "Bật micro",
|
||
"description": "Button tooltip label for turning on the microphone"
|
||
},
|
||
"calling__button--presenting__label": {
|
||
"message": "Chia sẻ",
|
||
"description": "Label under the share screen button"
|
||
},
|
||
"calling__button--presenting-disabled": {
|
||
"message": "Tắt chế độ trình bày",
|
||
"description": "Button tooltip label for when screen sharing is disabled"
|
||
},
|
||
"calling__button--presenting-on": {
|
||
"message": "Bắt đầu trình bày",
|
||
"description": "Button tooltip label for starting to share screen"
|
||
},
|
||
"calling__button--presenting-off": {
|
||
"message": "Ngưng trình bày",
|
||
"description": "Button tooltip label for stopping screen sharing"
|
||
},
|
||
"calling__button--ring__label": {
|
||
"message": "Rung chuông",
|
||
"description": "Label under the ring button"
|
||
},
|
||
"calling__button--ring__disabled-because-group-is-too-large": {
|
||
"message": "Nhóm quá lớn để rung chuông các thành viên",
|
||
"description": "Button tooltip label when you can't ring because the group is too large"
|
||
},
|
||
"calling__button--ring__off": {
|
||
"message": "Thông báo, không đổ chuông",
|
||
"description": "Button tooltip label for turning ringing off"
|
||
},
|
||
"calling__button--ring__on": {
|
||
"message": "Bật đổ chuông",
|
||
"description": "Button tooltip label for turning ringing on"
|
||
},
|
||
"calling__your-video-is-off": {
|
||
"message": "Camera của bạn đang tắt",
|
||
"description": "Label in the calling lobby indicating that your camera is off"
|
||
},
|
||
"calling__pre-call-info--empty-group": {
|
||
"message": "Không có ai khác đang ở đây",
|
||
"description": "Shown in the calling lobby to describe who is in the call"
|
||
},
|
||
"calling__pre-call-info--1-person-in-call": {
|
||
"message": "$first$ đang trong cuộc gọi này",
|
||
"description": "Shown in the calling lobby to describe who is in the call",
|
||
"placeholders": {
|
||
"first": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
}
|
||
}
|
||
},
|
||
"calling__pre-call-info--another-device-in-call": {
|
||
"message": "Một trong các thiết bị của bạn đang trong cuộc gọi này",
|
||
"description": "Shown in the calling lobby to describe when it is just you"
|
||
},
|
||
"calling__pre-call-info--2-people-in-call": {
|
||
"message": "$first$ và $second$ đang trong cuộc gọi này",
|
||
"description": "Shown in the calling lobby to describe who is in the call",
|
||
"placeholders": {
|
||
"first": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
},
|
||
"second": {
|
||
"content": "$2",
|
||
"example": "Cayce"
|
||
}
|
||
}
|
||
},
|
||
"calling__pre-call-info--3-people-in-call": {
|
||
"message": "$first$, $second$, và $third$ \u001dđang trong cuộc gọi này",
|
||
"description": "Shown in the calling lobby to describe who is in the call",
|
||
"placeholders": {
|
||
"first": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
},
|
||
"second": {
|
||
"content": "$2",
|
||
"example": "Cayce"
|
||
},
|
||
"third": {
|
||
"content": "$3",
|
||
"example": "April"
|
||
}
|
||
}
|
||
},
|
||
"calling__pre-call-info--many-people-in-call": {
|
||
"message": "$first$, $second$, và $others$ người khác đang trong cuộc điện thoại này",
|
||
"description": "Shown in the calling lobby to describe who is in the call",
|
||
"placeholders": {
|
||
"first": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
},
|
||
"second": {
|
||
"content": "$2",
|
||
"example": "Cayce"
|
||
},
|
||
"others": {
|
||
"content": "$3",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"calling__pre-call-info--will-ring-1": {
|
||
"message": "Signal sẽ đổ chuông $person$",
|
||
"description": "Shown in the calling lobby to describe who will be rung",
|
||
"placeholders": {
|
||
"person": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
}
|
||
}
|
||
},
|
||
"calling__pre-call-info--will-ring-2": {
|
||
"message": "Signal sẽ đổ chuông $first$ và $second$",
|
||
"description": "Shown in the calling lobby to describe who will be rang",
|
||
"placeholders": {
|
||
"first": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
},
|
||
"second": {
|
||
"content": "$2",
|
||
"example": "Cayce"
|
||
}
|
||
}
|
||
},
|
||
"calling__pre-call-info--will-ring-3": {
|
||
"message": "Signal sẽ đổ chuông $first$, $second$, và $third$",
|
||
"description": "Shown in the calling lobby to describe who will be rang",
|
||
"placeholders": {
|
||
"first": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
},
|
||
"second": {
|
||
"content": "$2",
|
||
"example": "Cayce"
|
||
},
|
||
"third": {
|
||
"content": "$3",
|
||
"example": "April"
|
||
}
|
||
}
|
||
},
|
||
"calling__pre-call-info--will-ring-many": {
|
||
"message": "Signal sẽ đổ chuông $first$, $second$, và $others$ khác",
|
||
"description": "Shown in the calling lobby to describe who will be rang",
|
||
"placeholders": {
|
||
"person": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
},
|
||
"second": {
|
||
"content": "$2",
|
||
"example": "Cayce"
|
||
},
|
||
"others": {
|
||
"content": "$3",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"calling__pre-call-info--will-notify-1": {
|
||
"message": "$person$ sẽ được thông báo",
|
||
"description": "Shown in the calling lobby to describe who will be notified",
|
||
"placeholders": {
|
||
"person": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
}
|
||
}
|
||
},
|
||
"calling__pre-call-info--will-notify-2": {
|
||
"message": "$first$ và $second$ sẽ được thông báo",
|
||
"description": "Shown in the calling lobby to describe who will be notified",
|
||
"placeholders": {
|
||
"first": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
},
|
||
"second": {
|
||
"content": "$2",
|
||
"example": "Cayce"
|
||
}
|
||
}
|
||
},
|
||
"calling__pre-call-info--will-notify-3": {
|
||
"message": "$first$, $second$, và $third$ sẽ được thông báo.",
|
||
"description": "Shown in the calling lobby to describe who will be notified",
|
||
"placeholders": {
|
||
"first": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
},
|
||
"second": {
|
||
"content": "$2",
|
||
"example": "Cayce"
|
||
},
|
||
"third": {
|
||
"content": "$3",
|
||
"example": "April"
|
||
}
|
||
}
|
||
},
|
||
"calling__pre-call-info--will-notify-many": {
|
||
"message": "$first$, $second$, và $others$ khác sẽ được thông báo",
|
||
"description": "Shown in the calling lobby to describe who will be notified",
|
||
"placeholders": {
|
||
"person": {
|
||
"content": "$1",
|
||
"example": "Sam"
|
||
},
|
||
"second": {
|
||
"content": "$2",
|
||
"example": "Cayce"
|
||
},
|
||
"others": {
|
||
"content": "$3",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"calling__in-this-call--zero": {
|
||
"message": "Không có ai khác đang ở đây",
|
||
"description": "Shown in the participants list to describe how many people are in the call"
|
||
},
|
||
"calling__in-this-call--one": {
|
||
"message": "Trong cuộc gọi này · 1 người",
|
||
"description": "Shown in the participants list to describe how many people are in the call"
|
||
},
|
||
"calling__in-this-call--many": {
|
||
"message": "Đang trong cuộc điện thoại · $people$ người",
|
||
"description": "Shown in the participants list to describe how many people are in the call",
|
||
"placeholders": {
|
||
"people": {
|
||
"content": "$1",
|
||
"example": "15"
|
||
}
|
||
}
|
||
},
|
||
"calling__you-have-blocked": {
|
||
"message": "Bạn đã chặn $name$",
|
||
"description": "when you block someone and cannot view their video",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Henry Richard"
|
||
}
|
||
}
|
||
},
|
||
"calling__block-info": {
|
||
"message": "Bạn sẽ không nhận được âm thanh hoặc video từ họ và họ sẽ không nhận được các dữ liệu này của bạn.",
|
||
"description": "Shown in the modal dialog to describe how blocking works in a group call"
|
||
},
|
||
"calling__overflow__scroll-up": {
|
||
"message": "Kéo lên",
|
||
"description": "Label for the \"scroll up\" button in a call's overflow area"
|
||
},
|
||
"calling__overflow__scroll-down": {
|
||
"message": "Kéo xuống",
|
||
"description": "Label for the \"scroll down\" button in a call's overflow area"
|
||
},
|
||
"calling__presenting--notification-title": {
|
||
"message": "Bạn đang trình bày với mọi người.",
|
||
"description": "Title for the share screen notification"
|
||
},
|
||
"calling__presenting--notification-body": {
|
||
"message": "Nhấn vào đây để trả lời cuộc điện thoại khi bạn sẵn sàng ngưng trình bày.",
|
||
"description": "Body text for the share screen notification"
|
||
},
|
||
"calling__presenting--info": {
|
||
"message": "Signal đang chia sẻ $window$.",
|
||
"description": "Text that appears in the screen sharing controller to inform person that they are presenting",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Application"
|
||
}
|
||
}
|
||
},
|
||
"calling__presenting--stop": {
|
||
"message": "Ngưng chia sẻ",
|
||
"description": "Button for stopping screen sharing"
|
||
},
|
||
"calling__presenting--you-stopped": {
|
||
"message": "Bạn đã ngưng trình bày",
|
||
"description": "Toast that appears when someone stops presenting"
|
||
},
|
||
"calling__presenting--person-ongoing": {
|
||
"message": "$name$ đang trình bày",
|
||
"description": "Title of call when someone is presenting",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Maddie"
|
||
}
|
||
}
|
||
},
|
||
"calling__presenting--person-stopped": {
|
||
"message": "$name$ đã ngưng trình bày",
|
||
"description": "Toast that appears when someone stops presenting",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Maddie"
|
||
}
|
||
}
|
||
},
|
||
"calling__presenting--permission-title": {
|
||
"message": "Cần sự cho phép",
|
||
"description": "Shown as the title for the modal that requests screen recording permissions"
|
||
},
|
||
"calling__presenting--macos-permission-description": {
|
||
"message": "Signal cần sự cho phép để truy cập ghi màn hình của máy tính của bạn.",
|
||
"description": "Shown as the description for the modal that requests screen recording permissions"
|
||
},
|
||
"calling__presenting--permission-instruction-step1": {
|
||
"message": "Đi đến Tuỳ chỉnh Hệ thống.",
|
||
"description": "Shown as the description for the modal that requests screen recording permissions"
|
||
},
|
||
"calling__presenting--permission-instruction-step2": {
|
||
"message": "Nhấn vào biểu tượng ổ khoá ở góc bên trái phía dưới và nhập mật khẩu máy tính của bạn.",
|
||
"description": "Shown as the description for the modal that requests screen recording permissions"
|
||
},
|
||
"calling__presenting--permission-instruction-step3": {
|
||
"message": "Phía bên tay phải, đánh dấu vào ô cạnh chữ Signal. Nếu bạn không thấy Signal trong danh sách, nhấn dấu + để thêm vào.",
|
||
"description": "Shown as the description for the modal that requests screen recording permissions"
|
||
},
|
||
"calling__presenting--permission-open": {
|
||
"message": "Mở Tuỳ chỉnh Hệ thống.",
|
||
"description": "The button that opens your system preferences for the needs screen record permissions modal"
|
||
},
|
||
"calling__presenting--permission-cancel": {
|
||
"message": "Bỏ qua",
|
||
"description": "The cancel button for the needs screen record permissions modal"
|
||
},
|
||
"alwaysRelayCallsDescription": {
|
||
"message": "Luôn chuyển tiếp cuộc gọi",
|
||
"description": "Description of the always relay calls setting"
|
||
},
|
||
"alwaysRelayCallsDetail": {
|
||
"message": "Chuyển tiếp tất cả cuộc gọi qua máy chủ Signal để tránh lộ địa chỉ IP với đối tác. Bật tính năng này sẽ giảm chất lượng cuộc gọi.",
|
||
"description": "Details describing the always relay calls setting"
|
||
},
|
||
"permissions": {
|
||
"message": "Quyền",
|
||
"description": "Header for permissions section of settings"
|
||
},
|
||
"mediaPermissionsDescription": {
|
||
"message": "Cho phép truy cập microphone",
|
||
"description": "Description of the media permission description"
|
||
},
|
||
"mediaCameraPermissionsDescription": {
|
||
"message": "Cho phép truy cập camera",
|
||
"description": "Description of the media permission description"
|
||
},
|
||
"general": {
|
||
"message": "Tổng quát",
|
||
"description": "Header for general options on the settings screen"
|
||
},
|
||
"spellCheckDescription": {
|
||
"message": "Văn bản kiểm tra chính tả được nhập vào hộp soạn thư",
|
||
"description": "Description of the spell check setting"
|
||
},
|
||
"spellCheckWillBeEnabled": {
|
||
"message": "Kiểm tra chính tả sẽ được bật lên lần tiếp theo Signal khởi động.",
|
||
"description": "Shown when the user enables spellcheck to indicate that they must restart Signal."
|
||
},
|
||
"spellCheckWillBeDisabled": {
|
||
"message": "Kiểm tra chính tả đã được tắt lần tiếp theo Signal khởi động.",
|
||
"description": "Shown when the user disables spellcheck to indicate that they must restart Signal."
|
||
},
|
||
"SystemTraySetting__minimize-to-system-tray": {
|
||
"message": "Thu nhỏ vào thanh hệ thống",
|
||
"description": "In the settings, shown next to the checkbox option for minimizing to the system tray"
|
||
},
|
||
"SystemTraySetting__minimize-to-and-start-in-system-tray": {
|
||
"message": "Bắt đầu thu nhỏ vào thanh hệ thống",
|
||
"description": "In the settings, shown next to the checkbox option for starting in the system tray"
|
||
},
|
||
"autoLaunchDescription": {
|
||
"message": "Mở khi đăng nhập máy tính",
|
||
"description": "Description for the automatic launch setting"
|
||
},
|
||
"clearDataHeader": {
|
||
"message": "Xóa dữ liệu ứng dụng",
|
||
"description": "Header in the settings dialog for the section dealing with data deletion"
|
||
},
|
||
"clearDataExplanation": {
|
||
"message": "Thao tác này sẽ xóa tất cả dữ liệu trong ứng dụng, xóa tất cả các tin nhắn và thông tin tài khoản đã lưu.",
|
||
"description": "Text describing what the clear data button will do."
|
||
},
|
||
"clearDataButton": {
|
||
"message": "Xóa dữ liệu",
|
||
"description": "Button in the settings dialog starting process to delete all data"
|
||
},
|
||
"deleteAllDataHeader": {
|
||
"message": "Xóa tất cả dữ liệu ?",
|
||
"description": "Header of the full-screen delete data confirmation screen"
|
||
},
|
||
"deleteAllDataBody": {
|
||
"message": "Bạn sắp xóa tất cả thông tin tài khoản đã lưu của ứng dụng này, bao gồm tất cả các liên hệ và tất cả các tin nhắn. Bạn luôn có thể liên kết lại với thiết bị di động của mình, nhưng điều đó sẽ giúp không khôi phục các tin nhắn đã xóa.",
|
||
"description": "Text describing what exactly will happen if the user clicks the button to delete all data"
|
||
},
|
||
"deleteAllDataButton": {
|
||
"message": "Xóa tất cả dữ liệu",
|
||
"description": "Text of the button that deletes all data"
|
||
},
|
||
"deleteAllDataProgress": {
|
||
"message": "Ngắt kết nối và xóa toàn bộ dữ liệu",
|
||
"description": "Message shown to user when app is disconnected and data deleted"
|
||
},
|
||
"deleteOldIndexedDBData": {
|
||
"message": "Bạn có dữ liệu cũ từ một lần cài đặt trước của Signal Desktop. Nếu bạn chọn để tiếp tục, dữ liệu sẽ bị xoá và bạn sẽ bắt đầu lại từ đầu.",
|
||
"description": "Shown if user last ran Signal Desktop before October 2018"
|
||
},
|
||
"deleteOldData": {
|
||
"message": "Xoá Dữ liệu Cũ",
|
||
"description": "Button to make the delete happen"
|
||
},
|
||
"notifications": {
|
||
"message": "Thông báo",
|
||
"description": "Header for notification settings"
|
||
},
|
||
"notificationSettingsDialog": {
|
||
"message": "Khi tin nhắn đến, hiển thị các thông báo thể hiện:",
|
||
"description": "Explain the purpose of the notification settings"
|
||
},
|
||
"disableNotifications": {
|
||
"message": "Tắt thông báo",
|
||
"description": "Label for disabling notifications"
|
||
},
|
||
"nameAndMessage": {
|
||
"message": "Tên, nội dung, và hành động",
|
||
"description": "Label for setting notifications to display name and message text"
|
||
},
|
||
"noNameOrMessage": {
|
||
"message": "Không có tên hoặc nội dung",
|
||
"description": "Label for setting notifications to display no name and no message text"
|
||
},
|
||
"nameOnly": {
|
||
"message": "Chỉ tên",
|
||
"description": "Label for setting notifications to display sender name only"
|
||
},
|
||
"newMessage": {
|
||
"message": "Tin nhắn Mới",
|
||
"description": "Displayed in notifications for only 1 message"
|
||
},
|
||
"notificationSenderInGroup": {
|
||
"message": "$sender$ trong $group$",
|
||
"description": "Displayed in notifications for messages in a group",
|
||
"placeholders": {
|
||
"sender": {
|
||
"content": "$1",
|
||
"example": "John"
|
||
},
|
||
"group": {
|
||
"content": "$1",
|
||
"example": "NYC Rock Climbers"
|
||
}
|
||
}
|
||
},
|
||
"notificationReaction": {
|
||
"message": "$sender$đã bày tỏ $emoji$ trong tin nhắn của bạn",
|
||
"description": "",
|
||
"placeholders": {
|
||
"sender": {
|
||
"content": "$1",
|
||
"example": "John"
|
||
},
|
||
"emoji": {
|
||
"content": "$2",
|
||
"example": "👍"
|
||
}
|
||
}
|
||
},
|
||
"notificationReactionMessage": {
|
||
"message": "$sender$ đã phản hồi $emoji$ cho: $message$",
|
||
"description": "",
|
||
"placeholders": {
|
||
"sender": {
|
||
"content": "$1",
|
||
"example": "John"
|
||
},
|
||
"emoji": {
|
||
"content": "$2",
|
||
"example": "👍"
|
||
},
|
||
"message": {
|
||
"content": "$3",
|
||
"example": "Sounds good."
|
||
}
|
||
}
|
||
},
|
||
"sendFailed": {
|
||
"message": "Không gửi được",
|
||
"description": "Shown on outgoing message if it fails to send"
|
||
},
|
||
"deleteFailed": {
|
||
"message": "Delete failed",
|
||
"description": "Shown on a message which was deleted for everyone if the delete wasn't successfully sent to anyone"
|
||
},
|
||
"sendPaused": {
|
||
"message": "Tạm dừng nhắn tin",
|
||
"description": "Shown on outgoing message if it cannot be sent immediately"
|
||
},
|
||
"partiallySent": {
|
||
"message": "Gửi một phần, nhấn vào để xem chi tiết",
|
||
"description": "Shown on outgoing message if it is partially sent"
|
||
},
|
||
"partiallyDeleted": {
|
||
"message": "Partially deleted, click to retry",
|
||
"description": "Shown on a message which was deleted for everyone if the delete wasn't successfully sent to everyone"
|
||
},
|
||
"showMore": {
|
||
"message": "Chi tiết",
|
||
"description": "Displays the details of a key change"
|
||
},
|
||
"showLess": {
|
||
"message": "Ẩn chi tiết",
|
||
"description": "Hides the details of a key change"
|
||
},
|
||
"learnMore": {
|
||
"message": "Tìm hiểu thêm về việc xác minh các số an toàn",
|
||
"description": "Text that links to a support article on verifying safety numbers"
|
||
},
|
||
"expiredWarning": {
|
||
"message": "Phiên bản này của Signal Desktop đã hết hạn. Vui lòng nâng cấp lên phiên bản mới nhất để tiếp tục nhắn tin.",
|
||
"description": "Warning notification that this version of the app has expired"
|
||
},
|
||
"upgrade": {
|
||
"message": "Nhấn để truy cập signal.org/download",
|
||
"description": "Label text for button to upgrade the app to the latest version"
|
||
},
|
||
"mediaMessage": {
|
||
"message": "Tin nhắn Đa phương tiện",
|
||
"description": "Description of a message that has an attachment and no text, displayed in the conversation list as a preview."
|
||
},
|
||
"unregisteredUser": {
|
||
"message": "Số chưa đăng ký",
|
||
"description": "Error message displayed when sending to an unregistered user."
|
||
},
|
||
"sync": {
|
||
"message": "Nhập danh bạ",
|
||
"description": "Label for contact and group sync settings"
|
||
},
|
||
"syncExplanation": {
|
||
"message": "Nhập tất cả liên hệ và nhóm của Signal từ thiết bị di động của bạn.",
|
||
"description": "Explanatory text for sync settings"
|
||
},
|
||
"lastSynced": {
|
||
"message": "Lần nhập cuối cùng lúc",
|
||
"description": "Label for date and time of last sync operation"
|
||
},
|
||
"syncNow": {
|
||
"message": "Nhập ngay",
|
||
"description": "Label for a button that syncs contacts and groups from your phone"
|
||
},
|
||
"syncing": {
|
||
"message": "Đang nhập...",
|
||
"description": "Label for a disabled sync button while sync is in progress."
|
||
},
|
||
"syncFailed": {
|
||
"message": "Nhập không thành công. Hãy chắc chắn rằng máy tính và điện thoại của bạn đã kết nối internet.",
|
||
"description": "Informational text displayed if a sync operation times out."
|
||
},
|
||
"timestamp_s": {
|
||
"message": "vừa xong",
|
||
"description": "Brief timestamp for messages sent less than a minute ago. Displayed in the conversation list and message bubble."
|
||
},
|
||
"timestamp_m": {
|
||
"message": "1 phút",
|
||
"description": "Brief timestamp for messages sent about one minute ago. Displayed in the conversation list and message bubble."
|
||
},
|
||
"timestamp_h": {
|
||
"message": "1 giờ",
|
||
"description": "Brief timestamp for messages sent about one hour ago. Displayed in the conversation list and message bubble."
|
||
},
|
||
"hoursAgo": {
|
||
"message": "$hours$ giờ ",
|
||
"description": "Contracted form of 'X hours ago' which works both for singular and plural",
|
||
"placeholders": {
|
||
"hours": {
|
||
"content": "$1",
|
||
"example": "2"
|
||
}
|
||
}
|
||
},
|
||
"minutesAgo": {
|
||
"message": "$minutes$ phút",
|
||
"description": "Contracted form of 'X minutes ago' which works both for singular and plural",
|
||
"placeholders": {
|
||
"minutes": {
|
||
"content": "$1",
|
||
"example": "10"
|
||
}
|
||
}
|
||
},
|
||
"justNow": {
|
||
"message": "Vừa xong",
|
||
"description": "Shown if a message is very recent, less than 60 seconds old"
|
||
},
|
||
"timestampFormat_M": {
|
||
"message": "Tháng Ngày",
|
||
"description": "Timestamp format string for displaying month and day (but not the year) of a date within the current year, ex: use 'MMM D' for 'Aug 8', or 'D MMM' for '8 Aug'."
|
||
},
|
||
"timestampFormat__long__today": {
|
||
"message": "[Today] LT",
|
||
"description": "Timestamp format string for displaying \"Today\" and the time"
|
||
},
|
||
"timestampFormat__long__yesterday": {
|
||
"message": "[Yesterday] LT",
|
||
"description": "Timestamp format string for displaying \"Yesterday\" and the time"
|
||
},
|
||
"messageBodyTooLong": {
|
||
"message": "Tin nhắn quá dài.",
|
||
"description": "Shown if the user tries to send more than 64kb of text"
|
||
},
|
||
"unblockToSend": {
|
||
"message": "Bỏ chặn người (liên lạc) này để gửi tin nhắn.",
|
||
"description": "Brief message shown when trying to message a blocked number"
|
||
},
|
||
"unblockGroupToSend": {
|
||
"message": "Bỏ chặn nhóm này để gửi tin nhắn.",
|
||
"description": "Brief message shown when trying to message a blocked group"
|
||
},
|
||
"youChangedTheTimer": {
|
||
"message": "Bạn đã cài đặt thời gian tin nhắn tạm thời thành $time$.",
|
||
"description": "Message displayed when you change the message expiration timer in a conversation.",
|
||
"placeholders": {
|
||
"time": {
|
||
"content": "$1",
|
||
"example": "10m"
|
||
}
|
||
}
|
||
},
|
||
"timerSetOnSync": {
|
||
"message": "Đã cập nhật thời gian tin nhắn tạm thời thành $time$.",
|
||
"description": "Message displayed when timer is set on initial link of desktop device.",
|
||
"placeholders": {
|
||
"time": {
|
||
"content": "$1",
|
||
"example": "10m"
|
||
}
|
||
}
|
||
},
|
||
"timerSetByMember": {
|
||
"message": "Một thành viên đã cài đặt thời gian tin nhắn tạm thời là $time$.",
|
||
"description": "Message displayed when timer is by an unknown group member.",
|
||
"placeholders": {
|
||
"time": {
|
||
"content": "$1",
|
||
"example": "10m"
|
||
}
|
||
}
|
||
},
|
||
"theyChangedTheTimer": {
|
||
"message": "$name$ đã cài đặt thời gian tin nhắn tạm thời thành $time$.",
|
||
"description": "Message displayed when someone else changes the message expiration timer in a conversation.",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"time": {
|
||
"content": "$2",
|
||
"example": "10m"
|
||
}
|
||
}
|
||
},
|
||
"disappearingMessages__off": {
|
||
"message": "tắt",
|
||
"description": "Label for option to turn off message expiration in the timer menu"
|
||
},
|
||
"disappearingMessages": {
|
||
"message": "Xóa (tự động) tin nhắn",
|
||
"description": "Conversation menu option to enable disappearing messages. Title of the settings section for Disappearing Messages. Label of the disappearing timer select in group creation flow"
|
||
},
|
||
"disappearingMessagesDisabled": {
|
||
"message": "Đã tắt tin nhắn tạm thời",
|
||
"description": "Displayed in the left pane when the timer is turned off"
|
||
},
|
||
"disappearingMessagesDisabledByMember": {
|
||
"message": "Một thành viên đã tắt tin nhắn tạm thời.",
|
||
"description": "Displayed in the left pane when the timer is turned off"
|
||
},
|
||
"disabledDisappearingMessages": {
|
||
"message": "$name$ đã tắt tin nhắn tạm thời.",
|
||
"description": "Displayed in the conversation list when the timer is turned off",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "John"
|
||
}
|
||
}
|
||
},
|
||
"youDisabledDisappearingMessages": {
|
||
"message": "Bạn đã tắt chế độ tin nhắn tạm thời.",
|
||
"description": "Displayed in the conversation list when the timer is turned off"
|
||
},
|
||
"timerSetTo": {
|
||
"message": "Thời gian được đặt thành $time$",
|
||
"description": "Displayed in the conversation list when the timer is updated by some automatic action, or in the left pane",
|
||
"placeholders": {
|
||
"time": {
|
||
"content": "$1",
|
||
"example": "1w"
|
||
}
|
||
}
|
||
},
|
||
"audioNotificationDescription": {
|
||
"message": "Phát âm thanh thông báo",
|
||
"description": "Description for audio notification setting"
|
||
},
|
||
"callRingtoneNotificationDescription": {
|
||
"message": "Phát âm thanh gọi điện",
|
||
"description": "Description for call ringtone notification setting"
|
||
},
|
||
"callSystemNotificationDescription": {
|
||
"message": "Hiện thông báo cuộc gọi",
|
||
"description": "Description for call notification setting"
|
||
},
|
||
"incomingCallNotificationDescription": {
|
||
"message": "Cho phép cuộc gọi đến",
|
||
"description": "Description for incoming calls setting"
|
||
},
|
||
"contactChangedProfileName": {
|
||
"message": "$sender$ đổi tên đại diện của họ từ $oldProfile$ thành $newProfile$.",
|
||
"description": "Description for incoming calls setting",
|
||
"placeholders": {
|
||
"sender": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"oldProfile": {
|
||
"content": "$2",
|
||
"example": ".x8Skillz8x."
|
||
},
|
||
"newProfile": {
|
||
"content": "$3",
|
||
"example": "Bob Smith"
|
||
}
|
||
}
|
||
},
|
||
"changedProfileName": {
|
||
"message": "$oldProfile$ đã đổi tên đại diện của họ thành $newProfile$.",
|
||
"description": "Shown when a contact not in your address book changes their profile name",
|
||
"placeholders": {
|
||
"oldProfile": {
|
||
"content": "$2",
|
||
"example": ".x8Skillz8x."
|
||
},
|
||
"newProfile": {
|
||
"content": "$3",
|
||
"example": "Bob Smith"
|
||
}
|
||
}
|
||
},
|
||
"SafetyNumberModal__title": {
|
||
"message": "Xác minh Số An toàn",
|
||
"description": "Title for the modal for safety number verification"
|
||
},
|
||
"safetyNumberChanged": {
|
||
"message": "Số An toàn đã được thay đổi",
|
||
"description": "A notification shown in the conversation when a contact reinstalls"
|
||
},
|
||
"safetyNumberChanges": {
|
||
"message": "Các thay đổi về Mã số an toàn",
|
||
"description": "Title for safety number changed modal"
|
||
},
|
||
"safetyNumberChangedGroup": {
|
||
"message": "Số An toàn với $name$ đã thay đổi",
|
||
"description": "A notification shown in a group conversation when a contact reinstalls, showing the contact name",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "John"
|
||
}
|
||
}
|
||
},
|
||
"verifyNewNumber": {
|
||
"message": "Xác minh Số An toàn",
|
||
"description": "Label on button included with safety number change notification in the conversation"
|
||
},
|
||
"cannotGenerateSafetyNumber": {
|
||
"message": "Người dùng này không thể được xác minh cho tới khi bạn đã nhắn tin với họ.",
|
||
"description": "Shown on the safety number screen if you have never exchanged messages with that contact"
|
||
},
|
||
"yourSafetyNumberWith": {
|
||
"message": "Số an toàn của bạn với $name1$:",
|
||
"description": "Heading for safety number view",
|
||
"placeholders": {
|
||
"name1": {
|
||
"content": "$1",
|
||
"example": "John"
|
||
}
|
||
}
|
||
},
|
||
"themeLight": {
|
||
"message": "Sáng",
|
||
"description": "Label text for light theme (normal)"
|
||
},
|
||
"themeDark": {
|
||
"message": "Tối",
|
||
"description": "Label text for dark theme"
|
||
},
|
||
"themeSystem": {
|
||
"message": "Hệ thống",
|
||
"description": "Label text for system theme"
|
||
},
|
||
"noteToSelf": {
|
||
"message": "Ghi chú",
|
||
"description": "Name for the conversation with your own phone number"
|
||
},
|
||
"noteToSelfHero": {
|
||
"message": "Bạn có thể thêm ghi chú trong cuộc trò chuyện này. Nếu tài khoản của bạn có thiết bị liên kết, ghi chú cũng sẽ được đồng bộ.",
|
||
"description": "Description for the Note to Self conversation"
|
||
},
|
||
"notificationDrawAttention": {
|
||
"message": "Chú ý vào cửa sổ này khi có thông báo đến",
|
||
"description": "Label text for the setting that controls whether new notifications draw attention to the window"
|
||
},
|
||
"hideMenuBar": {
|
||
"message": "Ẩn thanh menu",
|
||
"description": "Label text for menu bar visibility setting"
|
||
},
|
||
"startConversation": {
|
||
"message": "Bắt đầu cuộc trò chuyện mới...",
|
||
"description": "Label underneath number a user enters that is not an existing contact"
|
||
},
|
||
"newConversation": {
|
||
"message": "Cuộc trò chuyện mới",
|
||
"description": "Label for header when starting a new conversation"
|
||
},
|
||
"stories": {
|
||
"message": "Stories",
|
||
"description": "Label for header to go to stories view"
|
||
},
|
||
"contactSearchPlaceholder": {
|
||
"message": "Tìm kiếm bằng tên hoặc số điện thoại",
|
||
"description": "Placeholder to use when searching for contacts in the composer"
|
||
},
|
||
"noContactsFound": {
|
||
"message": "Không tìm thấy liên hệ",
|
||
"description": "Label shown when there are no contacts to compose to"
|
||
},
|
||
"noConversationsFound": {
|
||
"message": "Không tìm thấy cuộc trò chuyện",
|
||
"description": "Label shown when there are no conversations to compose to"
|
||
},
|
||
"Toast--failed-to-fetch-username": {
|
||
"message": "Không tìm nạp được tên người dùng. Kiểm tra kết nối của bạn và thử lại.",
|
||
"description": "Shown if request to Signal servers to find username fails"
|
||
},
|
||
"Toast--failed-to-fetch-phone-number": {
|
||
"message": "Failed to fetch phone number. Check your connection and try again.",
|
||
"description": "Shown if request to Signal servers to find phone number fails"
|
||
},
|
||
"startConversation--username-not-found": {
|
||
"message": "Không tìm thấy người dùng. $atUsername$ không phải là người dùng Signal; đảm bảo rằng bạn đã nhập tên người dùng hoàn chỉnh.",
|
||
"description": "Shown in dialog if username is not found. Note that 'username' will be the output of at-username",
|
||
"placeholders": {
|
||
"atUsername": {
|
||
"content": "$1",
|
||
"example": "@alex"
|
||
}
|
||
}
|
||
},
|
||
"startConversation--phone-number-not-found": {
|
||
"message": "User not found. \"$phoneNumber$\" is not a Signal user.",
|
||
"description": "Shown in dialog if phone number is not found.",
|
||
"placeholders": {
|
||
"phoneNumber": {
|
||
"content": "$1",
|
||
"example": "+1 203-123-4567"
|
||
}
|
||
}
|
||
},
|
||
"startConversation--phone-number-not-valid": {
|
||
"message": "User not found. \"$phoneNumber$\" is not a valid phone number.",
|
||
"description": "Shown in dialog if phone number is not valid.",
|
||
"placeholders": {
|
||
"phoneNumber": {
|
||
"content": "$1",
|
||
"example": "+1 203-123-4567"
|
||
}
|
||
}
|
||
},
|
||
"chooseGroupMembers__title": {
|
||
"message": "Chọn thành viên",
|
||
"description": "The title for the 'choose group members' left pane screen"
|
||
},
|
||
"chooseGroupMembers__back-button": {
|
||
"message": "Trở lại",
|
||
"description": "Used as alt-text of the back button on the 'choose group members' left pane screen"
|
||
},
|
||
"chooseGroupMembers__skip": {
|
||
"message": "Bỏ qua",
|
||
"description": "The 'skip' button text in the 'choose group members' left pane screen"
|
||
},
|
||
"chooseGroupMembers__next": {
|
||
"message": "Tiếp",
|
||
"description": "The 'next' button text in the 'choose group members' left pane screen"
|
||
},
|
||
"chooseGroupMembers__maximum-group-size__title": {
|
||
"message": "Đã đạt kích cỡ nhóm tối đa ",
|
||
"description": "Shown in the alert when you add the maximum number of group members"
|
||
},
|
||
"chooseGroupMembers__maximum-group-size__body": {
|
||
"message": "Nhóm Signal có thể có tối đa $max$ thành viên.",
|
||
"description": "Shown in the alert when you add the maximum number of group members",
|
||
"placeholders": {
|
||
"max": {
|
||
"content": "$1",
|
||
"example": "1000"
|
||
}
|
||
}
|
||
},
|
||
"chooseGroupMembers__maximum-recommended-group-size__title": {
|
||
"message": "Đã đạt giới hạn thành viên được khuyến nghị",
|
||
"description": "Shown in the alert when you add the maximum recommended number of group members"
|
||
},
|
||
"chooseGroupMembers__maximum-recommended-group-size__body": {
|
||
"message": "Nhóm Signal hoạt động tốt nhất với $max$ thành viên hoặc ít hơn. Thêm nhiều thành viên hơn sẽ gây trì hoãn trong việc nhận và gửi tin nhắn.",
|
||
"description": "Shown in the alert when you add the maximum recommended number of group members",
|
||
"placeholders": {
|
||
"max": {
|
||
"content": "$1",
|
||
"example": "150"
|
||
}
|
||
}
|
||
},
|
||
"setGroupMetadata__title": {
|
||
"message": "Đặt tên nhóm này",
|
||
"description": "The title for the 'set group metadata' left pane screen"
|
||
},
|
||
"setGroupMetadata__back-button": {
|
||
"message": "Quay về chọn thành viên",
|
||
"description": "Used as alt-text of the back button on the 'set group metadata' left pane screen"
|
||
},
|
||
"setGroupMetadata__group-name-placeholder": {
|
||
"message": "Tên nhóm (bắt buộc)",
|
||
"description": "The placeholder for the group name placeholder"
|
||
},
|
||
"setGroupMetadata__group-description-placeholder": {
|
||
"message": "Miêu tả",
|
||
"description": "The placeholder for the group description"
|
||
},
|
||
"setGroupMetadata__create-group": {
|
||
"message": "Tạo",
|
||
"description": "The 'create group' button text in the 'set group metadata' left pane screen"
|
||
},
|
||
"setGroupMetadata__members-header": {
|
||
"message": "Thành viên",
|
||
"description": "The header for the members list in the 'set group metadata' left pane screen"
|
||
},
|
||
"setGroupMetadata__error-message": {
|
||
"message": "Nhóm này không thể được tạo. Kiểm tra kết nối của bạn và thử lại.",
|
||
"description": "Shown in the modal when we can't create a group"
|
||
},
|
||
"updateGroupAttributes__title": {
|
||
"message": "Chỉnh sửa nhóm",
|
||
"description": "Shown in the modal when we want to update a group"
|
||
},
|
||
"updateGroupAttributes__error-message": {
|
||
"message": "Cập nhật nhóm không thành công. Kiểm tra kết nối của bạn và thử lại.",
|
||
"description": "Shown in the modal when we can't update a group"
|
||
},
|
||
"notSupportedSMS": {
|
||
"message": "Tin nhắn SMS/MMS không được hỗ trợ.",
|
||
"description": "Label underneath number informing user that SMS is not supported on desktop"
|
||
},
|
||
"newPhoneNumber": {
|
||
"message": "Nhập số điện thoại để thêm một liên hệ.",
|
||
"description": "Placeholder for adding a new number to a contact"
|
||
},
|
||
"invalidNumberError": {
|
||
"message": "Số không hợp lệ",
|
||
"description": "When a person inputs a number that is invalid"
|
||
},
|
||
"unlinkedWarning": {
|
||
"message": "Nhấp để liên kết lại Signal Desktop với thiết bị di động của bạn để tiếp tục nhắn tin.",
|
||
"description": ""
|
||
},
|
||
"unlinked": {
|
||
"message": "Đã bỏ liên kết",
|
||
"description": ""
|
||
},
|
||
"relink": {
|
||
"message": "Tái liên kết",
|
||
"description": ""
|
||
},
|
||
"autoUpdateNewVersionTitle": {
|
||
"message": "Cập nhật có sẵn",
|
||
"description": ""
|
||
},
|
||
"autoUpdateRetry": {
|
||
"message": "Retry update",
|
||
"description": ""
|
||
},
|
||
"autoUpdateContactSupport": {
|
||
"message": "contact support",
|
||
"description": ""
|
||
},
|
||
"autoUpdateNewVersionMessage": {
|
||
"message": "Nhấp để khởi động lại Signal",
|
||
"description": ""
|
||
},
|
||
"downloadNewVersionMessage": {
|
||
"message": "Nhấp để tải bản cập nhật",
|
||
"description": ""
|
||
},
|
||
"downloadFullNewVersionMessage": {
|
||
"message": "Signal couldn’t update. Click to try again.",
|
||
"description": "Shown in update dialog when partial update fails and we have to ask user to download full update"
|
||
},
|
||
"autoUpdateNewVersionInstructions": {
|
||
"message": "Nhấn Khởi động lại Signal để áp dụng bản cập nhật.",
|
||
"description": ""
|
||
},
|
||
"autoUpdateRestartButtonLabel": {
|
||
"message": "Khởi động lại Signal",
|
||
"description": ""
|
||
},
|
||
"autoUpdateLaterButtonLabel": {
|
||
"message": "Lúc khác",
|
||
"description": ""
|
||
},
|
||
"autoUpdateIgnoreButtonLabel": {
|
||
"message": "Bỏ qua bản cập nhật",
|
||
"description": ""
|
||
},
|
||
"leftTheGroup": {
|
||
"message": "$name$ đã rời nhóm.",
|
||
"description": "Shown in the conversation history when a single person leaves the group",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"multipleLeftTheGroup": {
|
||
"message": "$name$ đã rời nhóm.",
|
||
"description": "Shown in the conversation history when multiple people leave the group",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Alice, Bob"
|
||
}
|
||
}
|
||
},
|
||
"updatedTheGroup": {
|
||
"message": "$name$ đã cập nhật nhóm.",
|
||
"description": "Shown in the conversation history when someone updates the group",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"youUpdatedTheGroup": {
|
||
"message": "Bạn đã cập nhật nhóm.",
|
||
"description": "Shown in the conversation history when you update a group"
|
||
},
|
||
"updatedGroupAvatar": {
|
||
"message": "Ảnh đại diện của nhóm đã được cập nhật.",
|
||
"description": "Shown in the conversation history when someone updates the group"
|
||
},
|
||
"titleIsNow": {
|
||
"message": "Tên của nhóm bây giờ là '$name$'.",
|
||
"description": "Shown in the conversation history when someone changes the title of the group",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Book Club"
|
||
}
|
||
}
|
||
},
|
||
"youJoinedTheGroup": {
|
||
"message": "Bạn đã tham gia nhóm.",
|
||
"description": "Shown in the conversation history when you are added to a group."
|
||
},
|
||
"joinedTheGroup": {
|
||
"message": "$name$ đã tham gia nhóm.",
|
||
"description": "Shown in the conversation history when a single person joins the group",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"multipleJoinedTheGroup": {
|
||
"message": "$names$ đã tham gia nhóm.",
|
||
"description": "Shown in the conversation history when more than one person joins the group",
|
||
"placeholders": {
|
||
"names": {
|
||
"content": "$1",
|
||
"example": "Alice, Bob"
|
||
}
|
||
}
|
||
},
|
||
"ConversationList__aria-label": {
|
||
"message": "Cuộc trò chuyện với $title$, $unreadCount$ tin nhắn mới, tin nhắn cuối cùng: $lastMessage$.",
|
||
"description": "Aria label for the conversation list item",
|
||
"placeholders": {
|
||
"title": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
},
|
||
"unreadCount": {
|
||
"content": "$2",
|
||
"example": "23"
|
||
},
|
||
"lastMessage": {
|
||
"content": "$3",
|
||
"example": "How about Friday?"
|
||
}
|
||
}
|
||
},
|
||
"ConversationList__last-message-undefined": {
|
||
"message": "Tin nhắn cuối cùng có thể đã bị xóa.",
|
||
"description": "For aria-label within conversation list. Describes if last message is not defined."
|
||
},
|
||
"BaseConversationListItem__aria-label": {
|
||
"message": "Chuyển đến cuộc trò chuyện với $title$",
|
||
"description": "Aria label for the conversation list item button",
|
||
"placeholders": {
|
||
"title": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"ConversationListItem--message-request": {
|
||
"message": "Yêu cầu gửi Tin nhắn",
|
||
"description": "Preview shown for conversation if the user has not yet accepted an incoming message request"
|
||
},
|
||
"ConversationListItem--draft-prefix": {
|
||
"message": "Nháp:",
|
||
"description": "Prefix shown in italic in conversation view when a draft is saved"
|
||
},
|
||
"message--getNotificationText--gif": {
|
||
"message": "Ảnh GIF",
|
||
"description": "Shown in notifications and in the left pane when a GIF is received."
|
||
},
|
||
"message--getNotificationText--photo": {
|
||
"message": "Ảnh",
|
||
"description": "Shown in notifications and in the left pane when a photo is received."
|
||
},
|
||
"message--getNotificationText--video": {
|
||
"message": "Video",
|
||
"description": "Shown in notifications and in the left pane when a video is received."
|
||
},
|
||
"message--getNotificationText--voice-message": {
|
||
"message": "Tin nhắn Thoại",
|
||
"description": "Shown in notifications and in the left pane when a voice message is received."
|
||
},
|
||
"message--getNotificationText--audio-message": {
|
||
"message": "Tin nhắn âm thanh",
|
||
"description": "Shown in notifications and in the left pane when an audio message is received."
|
||
},
|
||
"message--getNotificationText--file": {
|
||
"message": "Tệp",
|
||
"description": "Shown in notifications and in the left pane when a generic file is received."
|
||
},
|
||
"message--getNotificationText--stickers": {
|
||
"message": "Nhãn dán tin nhắn",
|
||
"description": "Shown in notifications and in the left pane instead of sticker image."
|
||
},
|
||
"message--getNotificationText--text-with-emoji": {
|
||
"message": "$emoji$ $text$",
|
||
"description": "Shown in notifications and in the left pane when text has an emoji. Probably always [emoji] [text] on LTR languages and [text] [emoji] on RTL languages.",
|
||
"placeholders": {
|
||
"emoji": {
|
||
"content": "$1",
|
||
"example": "📷"
|
||
},
|
||
"text": {
|
||
"content": "$2",
|
||
"example": "Photo"
|
||
}
|
||
}
|
||
},
|
||
"message--getDescription--unsupported-message": {
|
||
"message": "Tin nhắn không được hỗ trợ",
|
||
"description": "Shown in notifications and in the left pane when a message has features too new for this signal install."
|
||
},
|
||
"message--getDescription--disappearing-media": {
|
||
"message": "Đa phương tiện xem một lần",
|
||
"description": "Shown in notifications and in the left pane after view-once message is deleted. Also shown when quoting a view once media."
|
||
},
|
||
"message--getDescription--disappearing-photo": {
|
||
"message": "Ảnh xem một lần",
|
||
"description": "Shown in notifications and in the left pane when a message is a view once photo. Also shown when quoting a view once photo."
|
||
},
|
||
"message--getDescription--disappearing-video": {
|
||
"message": "Video xem một lần",
|
||
"description": "Shown in notifications and in the left pane when a message is a view once video. Also shown when quoting a view once video."
|
||
},
|
||
"message--deletedForEveryone": {
|
||
"message": "Tin nhắn này đã bị xóa.",
|
||
"description": "Shown in a message's bubble when the message has been deleted for everyone."
|
||
},
|
||
"message--giftBadge--unopened": {
|
||
"message": "View this message on mobile to open it",
|
||
"description": "Shown in a message's bubble when you've received a gift badge from a contact"
|
||
},
|
||
"message--giftBadge--unopened--label": {
|
||
"message": "Gift",
|
||
"description": "Shown in a message's bubble when you've received a gift badge from a contact"
|
||
},
|
||
"message--giftBadge--unopened--toast--incoming": {
|
||
"message": "Check your phone to open gift",
|
||
"description": "Shown when you've clicked on an incoming gift badge you haven't yet redeemed"
|
||
},
|
||
"message--giftBadge--unopened--toast--outgoing": {
|
||
"message": "Check your phone to view your gift",
|
||
"description": "Shown when you've clicked on an outgoing gift badge"
|
||
},
|
||
"message--giftBadge--preview--unopened": {
|
||
"message": "You received a gift",
|
||
"description": "Shown to label the gift badge in notifications and the left pane"
|
||
},
|
||
"message--giftBadge--preview--redeemed": {
|
||
"message": "You redeemed a gift badge",
|
||
"description": "Shown to label the redeemed gift badge in notifications and the left pane"
|
||
},
|
||
"message--giftBadge--preview--sent": {
|
||
"message": "You sent a gift badge",
|
||
"description": "Shown to label a gift badge you've sent in notifications and the left pane"
|
||
},
|
||
"message--giftBadge": {
|
||
"message": "Gift Badge",
|
||
"description": "Shown to label the gift badge you've redeemed on another device"
|
||
},
|
||
"quote--giftBadge": {
|
||
"message": "Gift",
|
||
"description": "Shown to label a gift badge you've replied to"
|
||
},
|
||
"message--giftBadge--remaining--days": {
|
||
"message": "$days$ days remaining",
|
||
"description": "Describes how long remains for the gift badge you've redeemed on another device (only rendered for days > 1)",
|
||
"placeholders": {
|
||
"days": {
|
||
"content": "$1",
|
||
"example": "58"
|
||
}
|
||
}
|
||
},
|
||
"message--giftBadge--remaining--hours": {
|
||
"message": "$hours$ hours remaining",
|
||
"description": "Describes how long remains for the gift badge you've redeemed on another device (only rendered for hours > 1)",
|
||
"placeholders": {
|
||
"hours": {
|
||
"content": "$1",
|
||
"example": "23"
|
||
}
|
||
}
|
||
},
|
||
"message--giftBadge--remaining--minutes": {
|
||
"message": "$minutes$ minutes remaining",
|
||
"description": "Describes how long remains for the gift badge you've redeemed on another device (only rendered for minutes > 1)",
|
||
"placeholders": {
|
||
"minutes": {
|
||
"content": "$1",
|
||
"example": "45"
|
||
}
|
||
}
|
||
},
|
||
"message--giftBadge--remaining--one-minute": {
|
||
"message": "1 minute remaining",
|
||
"description": "Describes how long remains for the gift badge you've redeemed on another device"
|
||
},
|
||
"message--giftBadge--expired": {
|
||
"message": "Expired",
|
||
"description": "Shows that a gift badge is expired"
|
||
},
|
||
"message--giftBadge--view": {
|
||
"message": "Xem",
|
||
"description": "Shown when you've sent a gift badge to someone then opened it"
|
||
},
|
||
"message--giftBadge--redeemed": {
|
||
"message": "Redeemed",
|
||
"description": "Shown when you've redeemed the gift badge on another device"
|
||
},
|
||
"modal--giftBadge--title": {
|
||
"message": "Cảm ơn bạn đã đống góp!",
|
||
"description": "The title of the outgoing gift badge detail dialog"
|
||
},
|
||
"modal--giftBadge--description": {
|
||
"message": "You've gifted a badge to $name$. When they accept, they'll be given a choice to show or hide their badge.",
|
||
"description": "The description of the outgoing gift badge detail dialog",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Paige Hall"
|
||
}
|
||
}
|
||
},
|
||
"stickers--toast--InstallFailed": {
|
||
"message": "Không thể cài đặt gói nhãn dán",
|
||
"description": "Shown in a toast if the user attempts to install a sticker pack and it fails"
|
||
},
|
||
"stickers--StickerManager--InstalledPacks": {
|
||
"message": "Các gói nhãn dán đã cài đặt",
|
||
"description": "Shown in the sticker pack manager above your installed sticker packs."
|
||
},
|
||
"stickers--StickerManager--InstalledPacks--Empty": {
|
||
"message": "Không có nhãn dán nào được cài đặt",
|
||
"description": "Shown in the sticker pack manager when you don't have any installed sticker packs."
|
||
},
|
||
"stickers--StickerManager--BlessedPacks": {
|
||
"message": "Tuyển tập Nghệ sĩ Signal",
|
||
"description": "Shown in the sticker pack manager above the default sticker packs."
|
||
},
|
||
"stickers--StickerManager--BlessedPacks--Empty": {
|
||
"message": "Không có sẵn nhãn dán Nghệ sĩ Signal",
|
||
"description": "Shown in the sticker pack manager when there are no blessed sticker packs available."
|
||
},
|
||
"stickers--StickerManager--ReceivedPacks": {
|
||
"message": "Các Nhãn dán Bạn Đã nhận được",
|
||
"description": "Shown in the sticker pack manager above sticker packs which you have received in messages."
|
||
},
|
||
"stickers--StickerManager--ReceivedPacks--Empty": {
|
||
"message": "Nhãn dán từ các tin nhắn đến sẽ xuất hiện ở đây",
|
||
"description": "Shown in the sticker pack manager when you have not received any sticker packs in messages."
|
||
},
|
||
"stickers--StickerManager--Install": {
|
||
"message": "Cài đặt",
|
||
"description": "Shown in the sticker pack manager next to sticker packs which can be installed."
|
||
},
|
||
"stickers--StickerManager--Uninstall": {
|
||
"message": "Gỡ cài đặt",
|
||
"description": "Shown in the sticker pack manager next to sticker packs which are already installed."
|
||
},
|
||
"stickers--StickerManager--UninstallWarning": {
|
||
"message": "Bạn có thể sẽ không cài lại được gói nhãn dán này nếu bạn không còn tin nhắn nguồn.",
|
||
"description": "Shown in the sticker pack manager next to sticker packs which are already installed."
|
||
},
|
||
"stickers--StickerManager--Introduction--Image": {
|
||
"message": "Xin giới thiệu nhãn dán: Bandit the Cat",
|
||
"description": "Alt text on a tooltip image when the user upgrades to a version of Signal supporting stickers."
|
||
},
|
||
"stickers--StickerManager--Introduction--Title": {
|
||
"message": "Xin giới thiệu Nhãn dán",
|
||
"description": "Shown as the title on a tooltip when the user upgrades to a version of Signal supporting stickers."
|
||
},
|
||
"stickers--StickerManager--Introduction--Body": {
|
||
"message": "Tại sao phải sử dụng từ ngữ khi mà bạn có thể sử dụng nhãn dán?",
|
||
"description": "Shown as the body on a tooltip when the user upgrades to a version of Signal supporting stickers."
|
||
},
|
||
"stickers--StickerPicker--Open": {
|
||
"message": "Mở bộ chọn nhãn dán",
|
||
"description": "Label for the open button for the sticker picker"
|
||
},
|
||
"stickers--StickerPicker--AddPack": {
|
||
"message": "Đã thêm bộ nhãn dán",
|
||
"description": "Label for the add pack button in the sticker picker"
|
||
},
|
||
"stickers--StickerPicker--NextPage": {
|
||
"message": "Trang Tiếp theo",
|
||
"description": "Label for the next page button in the sticker picker"
|
||
},
|
||
"stickers--StickerPicker--PrevPage": {
|
||
"message": "Trang Trước",
|
||
"description": "Label for the previous page button in the sticker picker"
|
||
},
|
||
"stickers--StickerPicker--Recents": {
|
||
"message": "Nhãn dán Gần đây",
|
||
"description": "Label for the recent stickers button in the sticker picker"
|
||
},
|
||
"stickers--StickerPicker--DownloadError": {
|
||
"message": "Một vài nhãn dán đã không thể tải xuống.",
|
||
"description": "Shown in the sticker picker when one or more stickers could not be downloaded."
|
||
},
|
||
"stickers--StickerPicker--DownloadPending": {
|
||
"message": "Cài đặt gói nhãn dán...",
|
||
"description": "Shown in the sticker picker when one or more stickers are still downloading."
|
||
},
|
||
"stickers--StickerPicker--Empty": {
|
||
"message": "Không tìm thấy nhãn dán",
|
||
"description": "Shown in the sticker picker when there are no stickers to show."
|
||
},
|
||
"stickers--StickerPicker--Hint": {
|
||
"message": "Gói nhãn dán mới từ tin nhắn của bạn có sẵn để cài đặt",
|
||
"description": "Shown in the sticker picker the first time you have received new packs you can install."
|
||
},
|
||
"stickers--StickerPicker--NoPacks": {
|
||
"message": "Không tìm thấy gói nhãn dán ",
|
||
"description": "Shown in the sticker picker when there are no installed sticker packs."
|
||
},
|
||
"stickers--StickerPicker--NoRecents": {
|
||
"message": "Các nhãn dán mói được sử dụng sẽ xuất hiện ở đây.",
|
||
"description": "Shown in the sticker picker when there are no recent stickers to show."
|
||
},
|
||
"stickers--StickerPreview--Title": {
|
||
"message": "Gói Nhãn dán",
|
||
"description": "The title that appears in the sticker pack preview modal."
|
||
},
|
||
"stickers--StickerPreview--Error": {
|
||
"message": "Lỗi khi mở gói nhãn dán. Kiểm tra kết nối internet của bạn và thử lại.",
|
||
"description": "The message that appears in the sticker preview modal when there is an error."
|
||
},
|
||
"EmojiPicker--empty": {
|
||
"message": "Không tìm thấy biểu tượng cảm xúc",
|
||
"description": "Shown in the emoji picker when a search yields 0 results."
|
||
},
|
||
"EmojiPicker--search-placeholder": {
|
||
"message": "Tìm kiếm Biểu tượng cảm xúc",
|
||
"description": "Shown as a placeholder inside the emoji picker search field."
|
||
},
|
||
"EmojiPicker--skin-tone": {
|
||
"message": "Màu da $tone$",
|
||
"description": "Shown as a tooltip over the emoji tone buttons.",
|
||
"placeholders": {
|
||
"status": {
|
||
"content": "$1",
|
||
"example": "2"
|
||
}
|
||
}
|
||
},
|
||
"EmojiPicker__button--recents": {
|
||
"message": "Gần đây",
|
||
"description": "Label for recents emoji picker button"
|
||
},
|
||
"EmojiPicker__button--emoji": {
|
||
"message": "Emoji",
|
||
"description": "Label for emoji emoji picker button"
|
||
},
|
||
"EmojiPicker__button--animal": {
|
||
"message": "Thú vật",
|
||
"description": "Label for animal emoji picker button"
|
||
},
|
||
"EmojiPicker__button--food": {
|
||
"message": "Thức ăn",
|
||
"description": "Label for food emoji picker button"
|
||
},
|
||
"EmojiPicker__button--activity": {
|
||
"message": "Hoạt động",
|
||
"description": "Label for activity emoji picker button"
|
||
},
|
||
"EmojiPicker__button--travel": {
|
||
"message": "Du lịch",
|
||
"description": "Label for travel emoji picker button"
|
||
},
|
||
"EmojiPicker__button--object": {
|
||
"message": "Vật dụng",
|
||
"description": "Label for object emoji picker button"
|
||
},
|
||
"EmojiPicker__button--symbol": {
|
||
"message": "Biểu tượng",
|
||
"description": "Label for symbol emoji picker button"
|
||
},
|
||
"EmojiPicker__button--flag": {
|
||
"message": "Cờ",
|
||
"description": "Label for flag emoji picker button"
|
||
},
|
||
"confirmation-dialog--Cancel": {
|
||
"message": "Hủy",
|
||
"description": "Appears on the cancel button in confirmation dialogs."
|
||
},
|
||
"MessageBody--read-more": {
|
||
"message": "Đọc thêm",
|
||
"description": "When a message is too long this is the affordance to expand the message"
|
||
},
|
||
"Message--unsupported-message": {
|
||
"message": "$contact$ đã gửi cho bạn một tin nhắn nhưng không thể xử lý hoặc hiển thị vì sử dụng tính năng Signal mới.",
|
||
"description": "",
|
||
"placeholders": {
|
||
"contact": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"Message--unsupported-message-ask-to-resend": {
|
||
"message": "Bạn có thể yêu cầu $contact$ gửi lại tin nhắn này khi bạn đang sử dụng phiên bản Signal mới cập nhật.",
|
||
"description": "",
|
||
"placeholders": {
|
||
"contact": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"Message--from-me-unsupported-message": {
|
||
"message": "Một trong những thiết bị của bạn đã gửi một tin nhắn không thể xử lý hoặc hiển thị vì sử dụng tính năng Signal mới.",
|
||
"description": ""
|
||
},
|
||
"Message--from-me-unsupported-message-ask-to-resend": {
|
||
"message": "Các tin nhắn như thế này trong tương lai sẽ được đồng bộ hóa khi bạn đang sử dụng phiên bản Signal cập nhật.",
|
||
"description": ""
|
||
},
|
||
"Message--update-signal": {
|
||
"message": "Cập nhật Signal",
|
||
"description": "Text for a button which will take user to Signal download page"
|
||
},
|
||
"Message--tap-to-view-expired": {
|
||
"message": "Đã xem",
|
||
"description": "Text shown on messages with with individual timers, after user has viewed it"
|
||
},
|
||
"Message--tap-to-view--outgoing": {
|
||
"message": "Đa phương tiện",
|
||
"description": "Text shown on outgoing messages with with individual timers (inaccessible)"
|
||
},
|
||
"Message--tap-to-view--incoming--expired-toast": {
|
||
"message": "Bạn đã sẵn sàng xem ảnh này",
|
||
"description": "Shown when user clicks on an expired incoming view-once bubble"
|
||
},
|
||
"Message--tap-to-view--outgoing--expired-toast": {
|
||
"message": "Tin nhắn xem một lần không lưu trong lịch sử cuộc hội thoại",
|
||
"description": "Shown when user clicks on an expired outgoing view-once bubble"
|
||
},
|
||
"Message--tap-to-view--incoming": {
|
||
"message": "Xem ảnh",
|
||
"description": "Text shown on photo messages with with individual timers, before user has viewed it"
|
||
},
|
||
"Message--tap-to-view--incoming-video": {
|
||
"message": "Xem video",
|
||
"description": "Text shown on video messages with with individual timers, before user has viewed it"
|
||
},
|
||
"Conversation--getDraftPreview--attachment": {
|
||
"message": "(tập tin đính kèm)",
|
||
"description": "Text shown in left pane as preview for conversation with saved a saved draft message"
|
||
},
|
||
"Conversation--getDraftPreview--quote": {
|
||
"message": "(trích dẫn)",
|
||
"description": "Text shown in left pane as preview for conversation with saved a saved draft message"
|
||
},
|
||
"Conversation--getDraftPreview--draft": {
|
||
"message": "(nháp)",
|
||
"description": "Text shown in left pane as preview for conversation with saved a saved draft message"
|
||
},
|
||
"Keyboard--navigate-by-section": {
|
||
"message": "Xem qua từng mục",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--previous-conversation": {
|
||
"message": "Cuộc trò chuyện trước",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--next-conversation": {
|
||
"message": "Cuộc trò chuyện tiếp theo",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--previous-unread-conversation": {
|
||
"message": "Xem trước cuộc trò chuyện chưa đọc",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--next-unread-conversation": {
|
||
"message": "Cuộc trò chuyện chưa đọc tiếp theo",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--preferences": {
|
||
"message": "Tùy chỉnh",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--open-conversation-menu": {
|
||
"message": "Mở menu cuộc trò chuyện",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--new-conversation": {
|
||
"message": "Bắt đầu cuộc trò chuyện mới",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--archive-conversation": {
|
||
"message": "Lưu trữ cuộc trò chuyện",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--unarchive-conversation": {
|
||
"message": "Bỏ lưu trữ cuộc trò chuyện",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--search": {
|
||
"message": "Tìm kiếm",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--search-in-conversation": {
|
||
"message": "Tìm kiếm trong cuộc trò chuyện",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--focus-composer": {
|
||
"message": "Trình soạn thảo tập trung",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--open-all-media-view": {
|
||
"message": "Xem tất cả tệp đa phương tiện",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--open-emoji-chooser": {
|
||
"message": "Mở bảng chọn emoji",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--open-sticker-chooser": {
|
||
"message": "Mở bảng chọn nhãn dán",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--begin-recording-voice-note": {
|
||
"message": "Bắt đầu ghi tin nhắn âm thanh",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--default-message-action": {
|
||
"message": "Thao tác mặc định cho tin nhắn được chọn",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--view-details-for-selected-message": {
|
||
"message": "Xem chi tiết tin nhắn đã chọn",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--toggle-reply": {
|
||
"message": "Bật tắt trả lời cho tin nhắn đã chọn",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--toggle-reaction-picker": {
|
||
"message": "\u001dChuyển đổi bộ chọn emoji phản hồi cho tin nhắn đã chọn",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--save-attachment": {
|
||
"message": "Lưu tệp đính kèm từ tin nhắn đã chọn",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--delete-message": {
|
||
"message": "Xóa tin nhắn đã chọn",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--add-newline": {
|
||
"message": "Thêm dòng vào tin nhắn",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--expand-composer": {
|
||
"message": "Mở rộng ô soạn thảo",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--send-in-expanded-composer": {
|
||
"message": "Gửi (trong ô soạn thảo mở rộng)",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--attach-file": {
|
||
"message": "Đính kèm tệp",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--remove-draft-link-preview": {
|
||
"message": "Bỏ xem trước liên kết nháp",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--remove-draft-attachments": {
|
||
"message": "Bỏ tất cả tệp đính kèm nháp",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--conversation-by-index": {
|
||
"message": "Nhảy đến cuộc trò chuyện",
|
||
"description": "A shortcut allowing direct navigation to conversations 1 to 9 in list"
|
||
},
|
||
"Keyboard--Key--ctrl": {
|
||
"message": "Ctrl",
|
||
"description": "Key shown in shortcut combination in shortcuts guide"
|
||
},
|
||
"Keyboard--Key--option": {
|
||
"message": "Option",
|
||
"description": "Key shown in shortcut combination in shortcuts guide"
|
||
},
|
||
"Keyboard--Key--alt": {
|
||
"message": "Alt",
|
||
"description": "Key shown in shortcut combination in shortcuts guide"
|
||
},
|
||
"Keyboard--Key--shift": {
|
||
"message": "Shift",
|
||
"description": "Key shown in shortcut combination in shortcuts guide"
|
||
},
|
||
"Keyboard--Key--enter": {
|
||
"message": "Nhập",
|
||
"description": "Key shown in shortcut combination in shortcuts guide"
|
||
},
|
||
"Keyboard--Key--tab": {
|
||
"message": "Thẻ",
|
||
"description": "Key shown in shortcut combination in shortcuts guide"
|
||
},
|
||
"Keyboard--Key--one-to-nine-range": {
|
||
"message": "1 đến 9",
|
||
"description": "Expresses that 1, 2, 3, up to 9 are available shortcut keys"
|
||
},
|
||
"Keyboard--header": {
|
||
"message": "Phím tắt bàn phím",
|
||
"description": "Title header of the keyboard shortcuts guide"
|
||
},
|
||
"Keyboard--navigation-header": {
|
||
"message": "Đường dẫn",
|
||
"description": "Header of the keyboard shortcuts guide - navigation section"
|
||
},
|
||
"Keyboard--messages-header": {
|
||
"message": "Tin nhắn",
|
||
"description": "Header of the keyboard shortcuts guide - messages section"
|
||
},
|
||
"Keyboard--composer-header": {
|
||
"message": "Trường soạn thảo",
|
||
"description": "Header of the keyboard shortcuts guide - composer section"
|
||
},
|
||
"Keyboard--scroll-to-top": {
|
||
"message": "Kéo lên trên cùng",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--scroll-to-bottom": {
|
||
"message": "Kéo xuống dưới cùng",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--close-curent-conversation": {
|
||
"message": "Đóng cuộc trò chuyện này",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--calling-header": {
|
||
"message": "Đang gọi",
|
||
"description": "Header of the keyboard shortcuts guide - calling section"
|
||
},
|
||
"Keyboard--toggle-audio": {
|
||
"message": "Chuyển đổi bật tắt tắt tiếng",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--toggle-video": {
|
||
"message": "Chuyển đổi bật tắt video ",
|
||
"description": "Shown in the shortcuts guide"
|
||
},
|
||
"Keyboard--accept-video-call": {
|
||
"message": "Accept call with video",
|
||
"description": "Shown in the calling keyboard shortcuts guide"
|
||
},
|
||
"Keyboard--accept-audio-call": {
|
||
"message": "Accept call with audio",
|
||
"description": "Shown in the calling keyboard shortcuts guide"
|
||
},
|
||
"Keyboard--start-audio-call": {
|
||
"message": "Bắt đầu cuộc gọi âm thanh",
|
||
"description": "Shown in the calling keyboard shortcuts guide"
|
||
},
|
||
"Keyboard--start-video-call": {
|
||
"message": "Bắt đầu cuộc gọi video",
|
||
"description": "Shown in the calling keyboard shortcuts guide"
|
||
},
|
||
"Keyboard--decline-call": {
|
||
"message": "Từ chối cuộc gọi",
|
||
"description": "Shown in the calling keyboard shortcuts guide"
|
||
},
|
||
"Keyboard--hang-up": {
|
||
"message": "Kết thúc cuộc gọi",
|
||
"description": "Shown in the calling keyboard shortcuts guide"
|
||
},
|
||
"close-popup": {
|
||
"message": "Đóng cửa sổ popup",
|
||
"description": "Used as alt text for any button closing a popup"
|
||
},
|
||
"add-image-attachment": {
|
||
"message": "Thêm hình ảnh đính kèm",
|
||
"description": "Used in draft attachment list for the big 'add new attachment' button"
|
||
},
|
||
"remove-attachment": {
|
||
"message": "Bỏ tệp đính kèm",
|
||
"description": "Used in draft attachment list to remove an individual attachment"
|
||
},
|
||
"backToInbox": {
|
||
"message": "Trở về hộp thư đến",
|
||
"description": "Used as alt-text of button on archived conversations screen"
|
||
},
|
||
"conversationArchived": {
|
||
"message": "Đã lưu cuộc hội thoại",
|
||
"description": "A toast that shows up when user archives a conversation"
|
||
},
|
||
"conversationArchivedUndo": {
|
||
"message": "Hoàn tác",
|
||
"description": "Undo button for archiving a conversation"
|
||
},
|
||
"conversationReturnedToInbox": {
|
||
"message": "Cuộc trò chuyện chuyển về hộp thư đến",
|
||
"description": "A toast that shows up when the user unarchives a conversation"
|
||
},
|
||
"conversationMarkedUnread": {
|
||
"message": "Cuộc trò chuyện đã được đánh dấu chưa đọc",
|
||
"description": "A toast that shows up when user marks a conversation as unread"
|
||
},
|
||
"StickerCreator--title": {
|
||
"message": "Tác giả gói nhãn dán",
|
||
"description": "The title of the Sticker Pack Creator window"
|
||
},
|
||
"StickerCreator--DropZone--staticText": {
|
||
"message": "Nhấn để thêm ảnh hoặc kéo thả vào đây",
|
||
"description": "Text which appears on the Sticker Creator drop zone when there is no active drag"
|
||
},
|
||
"StickerCreator--DropZone--activeText": {
|
||
"message": "Kéo thả ảnh vào đây",
|
||
"description": "Text which appears on the Sticker Creator drop zone when there is an active drag"
|
||
},
|
||
"StickerCreator--Preview--title": {
|
||
"message": "Gói nhãn dán",
|
||
"description": "The 'title' of the sticker pack preview 'modal'"
|
||
},
|
||
"StickerCreator--ConfirmDialog--cancel": {
|
||
"message": "Hủy",
|
||
"description": "The default text for the confirm dialog cancel button"
|
||
},
|
||
"StickerCreator--CopyText--button": {
|
||
"message": "Sao chép",
|
||
"description": "The text which appears on the copy button for the sticker creator share screen"
|
||
},
|
||
"StickerCreator--ShareButtons--facebook": {
|
||
"message": "Facebook",
|
||
"description": "Title for Facebook button"
|
||
},
|
||
"StickerCreator--ShareButtons--twitter": {
|
||
"message": "Twitter",
|
||
"description": "Title for Twitter button"
|
||
},
|
||
"StickerCreator--ShareButtons--pinterest": {
|
||
"message": "Pinterest",
|
||
"description": "Title for Pinterest button"
|
||
},
|
||
"StickerCreator--ShareButtons--whatsapp": {
|
||
"message": "WhatApp",
|
||
"description": "Title for WhatsApp button"
|
||
},
|
||
"StickerCreator--AppStage--next": {
|
||
"message": "Tiếp",
|
||
"description": "Default text for the next button on all stages of the sticker creator"
|
||
},
|
||
"StickerCreator--AppStage--prev": {
|
||
"message": "Trở lại",
|
||
"description": "Default text for the previous button on all stages of the sticker creator"
|
||
},
|
||
"StickerCreator--DropStage--title": {
|
||
"message": "Thêm nhãn dán của bạn",
|
||
"description": "Title for the drop stage of the sticker creator"
|
||
},
|
||
"StickerCreator--DropStage--removeSticker": {
|
||
"message": "Gỡ nhãn dán",
|
||
"description": "Label for the X button used to remove a staged sticker"
|
||
},
|
||
"StickerCreator--DropStage--dragDrop": {
|
||
"message": "Nhấp hoặc kéo/thả một tệp để thêm một nhãn dán",
|
||
"description": "Shown on the + section of the file addition stage of sticker pack creation"
|
||
},
|
||
"StickerCreator--DropStage--help": {
|
||
"message": "Nhãn dán phải có định dạng PNG, APNG, hoặc WebP với ảnh nền trong suốt và 512x512 pixel. \bBản lề gợi ý là 16px.",
|
||
"description": "Help text for the drop stage of the sticker creator"
|
||
},
|
||
"StickerCreator--DropStage--showMargins": {
|
||
"message": "Hiển thị lề",
|
||
"description": "Text for the show margins toggle on the drop stage of the sticker creator"
|
||
},
|
||
"StickerCreator--DropStage--addMore": {
|
||
"message": "Thêm $count$ hoặc nhiều hơn",
|
||
"description": "Text to show user how many more stickers they must add",
|
||
"placeholders": {
|
||
"hashtag": {
|
||
"content": "$1",
|
||
"example": "4"
|
||
}
|
||
}
|
||
},
|
||
"StickerCreator--EmojiStage--title": {
|
||
"message": "Gán emoji vào mỗi nhãn dán",
|
||
"description": "Title for the drop stage of the sticker creator"
|
||
},
|
||
"StickerCreator--EmojiStage--help": {
|
||
"message": "Thao tác này sẽ giúp gợi ý nhãn dán khi bạn đang nhắn tin.",
|
||
"description": "Help text for the drop stage of the sticker creator"
|
||
},
|
||
"StickerCreator--MetaStage--title": {
|
||
"message": "Chỉ một vài chi tiết nữa...",
|
||
"description": "Title for the meta stage of the sticker creator"
|
||
},
|
||
"StickerCreator--MetaStage--Field--title": {
|
||
"message": "Tiêu đề",
|
||
"description": "Label for the title input of the meta stage of the sticker creator"
|
||
},
|
||
"StickerCreator--MetaStage--Field--author": {
|
||
"message": "Tác giả",
|
||
"description": "Label for the author input of the meta stage of the sticker creator"
|
||
},
|
||
"StickerCreator--MetaStage--Field--cover": {
|
||
"message": "Ảnh đại diện",
|
||
"description": "Label for the cover image picker of the meta stage of the sticker creator"
|
||
},
|
||
"StickerCreator--MetaStage--Field--cover--help": {
|
||
"message": "Đây là ảnh đại diện khi bạn chia sẻ gói nhãn dán",
|
||
"description": "Help text for the cover image picker of the meta stage of the sticker creator"
|
||
},
|
||
"StickerCreator--MetaStage--ConfirmDialog--title": {
|
||
"message": "Bạn có chắc muốn tải lên gói nhãn dán này?",
|
||
"description": "Title for the confirm dialog on the meta stage of the sticker creator"
|
||
},
|
||
"StickerCreator--MetaStage--ConfirmDialog--confirm": {
|
||
"message": "Tải lên",
|
||
"description": "Text for the upload button in the confirmation dialog on the meta stage of the sticker creator"
|
||
},
|
||
"StickerCreator--MetaStage--ConfirmDialog--text": {
|
||
"message": "Bạn sẽ không thể chỉnh sửa hay xóa gói nhãn dán sau khi tải lên",
|
||
"description": "The text inside the confirmation dialog on the meta stage of the sticker creator"
|
||
},
|
||
"StickerCreator--UploadStage--title": {
|
||
"message": "Tạo gói nhãn dán của bạn",
|
||
"description": "Title for the upload stage of the sticker creator"
|
||
},
|
||
"StickerCreator--UploadStage-uploaded": {
|
||
"message": "Đã tải lên $count$ trên tổng số $total$",
|
||
"description": "Title for the upload stage of the sticker creator",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "3"
|
||
},
|
||
"total": {
|
||
"content": "$2",
|
||
"example": "20"
|
||
}
|
||
}
|
||
},
|
||
"StickerCreator--ShareStage--title": {
|
||
"message": "Chúc mừng! Bạn đã tạo một gói nhãn dán.",
|
||
"description": "Title for the share stage of the sticker creator"
|
||
},
|
||
"StickerCreator--ShareStage--help": {
|
||
"message": "Truy cập nhãn dán mới thông qua icon nhãn dán, hoặc chia sẻ với bạn bè bằng cách sử dụng đường dẫn bên dưới.",
|
||
"description": "Help text for the share stage of the sticker creator"
|
||
},
|
||
"StickerCreator--ShareStage--callToAction": {
|
||
"message": "Dùng hashtag $hashtag$ để giúp mọi người tìm thấy URL của những gói nhãn dán bạn muốn chia sẻ.",
|
||
"description": "Call to action text for the share stage of the sticker creator",
|
||
"placeholders": {
|
||
"hashtag": {
|
||
"content": "$1",
|
||
"example": "<strong>#makeprivacystick</strong>"
|
||
}
|
||
}
|
||
},
|
||
"StickerCreator--ShareStage--copyTitle": {
|
||
"message": "URL gói nhãn dán",
|
||
"description": "Title for the copy button on the share stage of the sticker creator"
|
||
},
|
||
"StickerCreator--ShareStage--close": {
|
||
"message": "Đóng",
|
||
"description": "Text for the close button on the share stage of the sticker creator"
|
||
},
|
||
"StickerCreator--ShareStage--createAnother": {
|
||
"message": "Tạo gói nhãn dán khác",
|
||
"description": "Text for the create another sticker pack button on the share stage of the sticker creator"
|
||
},
|
||
"StickerCreator--ShareStage--socialMessage": {
|
||
"message": "Xem gói nhãn dán tôi vừa tạo cho Signal. #makeprivacystick",
|
||
"description": "Text which is shared to social media platforms for sticker packs"
|
||
},
|
||
"StickerCreator--Toasts--imagesAdded": {
|
||
"message": "Đã thêm $count$ ảnh",
|
||
"description": "Text for the toast when images are added to the sticker creator",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "3"
|
||
}
|
||
}
|
||
},
|
||
"StickerCreator--Toasts--animated": {
|
||
"message": "Nhãn dán động hiện thời chưa được hỗ trợ",
|
||
"description": "Text for the toast when an image that is animated was dropped on the sticker creator"
|
||
},
|
||
"StickerCreator--Toasts--tooLarge": {
|
||
"message": "Ảnh quá lớn",
|
||
"description": "Text for the toast when an image that is too large was dropped on the sticker creator"
|
||
},
|
||
"StickerCreator--Toasts--errorProcessing": {
|
||
"message": "Lỗi trong việc xử lý ảnh",
|
||
"description": "Text for the toast when an image cannot be processed was dropped on the sticker creator with a generic error"
|
||
},
|
||
"StickerCreator--Toasts--APNG--notSquare": {
|
||
"message": "Bộ nhãn dán động PNG phải là hình vuông",
|
||
"description": "Text for the toast when someone tries to upload a non-square APNG"
|
||
},
|
||
"StickerCreator--Toasts--mustLoopForever": {
|
||
"message": "Bộ nhãn dán động phải lặp lại liên tục",
|
||
"description": "Text for the toast when an image in the sticker creator does not animate forever"
|
||
},
|
||
"StickerCreator--Toasts--APNG--dimensionsTooLarge": {
|
||
"message": "Kích cỡ Nhãn dán động PNG quá lớn",
|
||
"description": "Text for the toast when an APNG image in the sticker creator is too large"
|
||
},
|
||
"StickerCreator--Toasts--APNG--dimensionsTooSmall": {
|
||
"message": "Kích cỡ Nhãn dán động PNG quá nhỏ",
|
||
"description": "Text for the toast when an APNG image in the sticker creator is too small"
|
||
},
|
||
"StickerCreator--Toasts--errorUploading": {
|
||
"message": "Lỗi trong việc tải nhãn dán lên: $message$",
|
||
"description": "Text for the toast when a sticker pack cannot be uploaded",
|
||
"placeholders": {
|
||
"message": {
|
||
"content": "$1",
|
||
"example": "Not connected"
|
||
}
|
||
}
|
||
},
|
||
"StickerCreator--Toasts--linkedCopied": {
|
||
"message": "Đã sao chép liên kết",
|
||
"description": "Text for the toast when a link for sharing is copied from the Sticker Creator"
|
||
},
|
||
"StickerCreator--StickerPreview--light": {
|
||
"message": "Nhãn dán trên nền sáng",
|
||
"description": "Text for the sticker preview for the light theme"
|
||
},
|
||
"StickerCreator--StickerPreview--dark": {
|
||
"message": "Nhãn dán trên nền tối",
|
||
"description": "Text for the sticker preview for the dark theme"
|
||
},
|
||
"StickerCreator--Authentication--error": {
|
||
"message": "Vui lòng cài Signal trên điện thoại và máy tính để sử dụng Công cụ tạo nhãn dán Signal",
|
||
"description": "The error message which appears when the user has not linked their account and attempts to use the Sticker Creator"
|
||
},
|
||
"Reactions--remove": {
|
||
"message": "Gỡ biẻu cảm",
|
||
"description": ""
|
||
},
|
||
"Reactions--error": {
|
||
"message": "Lỗi trong việc gửi sự bày tỏ. Xin thử lại",
|
||
"description": "Shown when a reaction fails to send"
|
||
},
|
||
"Reactions--more": {
|
||
"message": "Thêm",
|
||
"description": "Use in the reaction picker as the alt text for the 'more' button"
|
||
},
|
||
"ReactionsViewer--all": {
|
||
"message": "Tất cả",
|
||
"description": "Shown in reaction viewer as the title for the 'all' category"
|
||
},
|
||
"MessageRequests--message-direct": {
|
||
"message": "Cho phép $name$ nhắn tin cho bạn và chia sẻ tên và ảnh của bạn với họ? Họ sẽ không biết bạn đã xem tin nhắn của họ cho tới khi bạn đồng ý.",
|
||
"description": "Shown as the message for a message request in a direct message",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Cayce"
|
||
}
|
||
}
|
||
},
|
||
"MessageRequests--message-direct-blocked": {
|
||
"message": "Cho phép $name$ nhắn tin cho bạn và chia sẻ tên và ảnh của bạn với họ? Bạn sẽ không nhận được tin nhắn nào cho tới khi bạn ngưng chặn họ.",
|
||
"description": "Shown as the message for a message request in a direct message with a blocked account",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Cayce"
|
||
}
|
||
}
|
||
},
|
||
"MessageRequests--message-group": {
|
||
"message": "Tham gia nhóm này và chia sẻ tên và ảnh của bạn với các thành viên nhóm? Họ sẽ không biết bạn đã đọc tin nhắn của họ cho tới khi bạn đồng ý.",
|
||
"description": "Shown as the message for a message request in a group"
|
||
},
|
||
"MessageRequests--message-group-blocked": {
|
||
"message": "Bỏ chặn nhóm này và chia sẻ tên và ảnh đại diện của bạn với thành viên nhóm? Bạn sẽ không nhận thêm tin nhắn mới cho tới khi bạn bỏ chặn họ.",
|
||
"description": "Shown as the message for a message request in a blocked group"
|
||
},
|
||
"MessageRequests--block": {
|
||
"message": "Chặn",
|
||
"description": "Shown as a button to let the user block a message request"
|
||
},
|
||
"MessageRequests--unblock": {
|
||
"message": "Bỏ chặn",
|
||
"description": "Shown as a button to let the user unblock a message request"
|
||
},
|
||
"MessageRequests--unblock-direct-confirm-title": {
|
||
"message": "Bỏ chặn $name$?",
|
||
"description": "Shown as a button to let the user unblock a message request",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Cayce Pollard"
|
||
}
|
||
}
|
||
},
|
||
"MessageRequests--unblock-direct-confirm-body": {
|
||
"message": "Các bạn sẽ có thể nhắn tin và gọi cho nhau.",
|
||
"description": "Shown as the body in the confirmation modal for unblocking a private message request"
|
||
},
|
||
"MessageRequests--unblock-group-confirm-body": {
|
||
"message": "Các thành viên trong nhóm có thể thêm lại bạn vào nhóm.",
|
||
"description": "Shown as the body in the confirmation modal for unblocking a group message request"
|
||
},
|
||
"MessageRequests--block-and-report-spam": {
|
||
"message": "Báo cáo Tin nhắn rác và Chặn",
|
||
"description": "Shown as a button to let the user block a message request and report spam"
|
||
},
|
||
"MessageRequests--block-and-report-spam-success-toast": {
|
||
"message": "Đã chặn và báo cáo spam.",
|
||
"description": "Shown in a toast when you successfully block a user and report them as spam"
|
||
},
|
||
"MessageRequests--block-direct-confirm-title": {
|
||
"message": "Chặn $name$?",
|
||
"description": "Shown as the title in the confirmation modal for blocking a private message request",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Cayce Pollard"
|
||
}
|
||
}
|
||
},
|
||
"MessageRequests--block-direct-confirm-body": {
|
||
"message": "Người dùng bị chặn sẽ không thể gọi hoặc gửi tin nhắn cho bạn.",
|
||
"description": "Shown as the body in the confirmation modal for blocking a private message request"
|
||
},
|
||
"MessageRequests--block-group-confirm-title": {
|
||
"message": "Chặn và Rời $group$?",
|
||
"description": "Shown as the title in the confirmation modal for blocking a group message request",
|
||
"placeholders": {
|
||
"group": {
|
||
"content": "$1",
|
||
"example": "Friends 🌿"
|
||
}
|
||
}
|
||
},
|
||
"MessageRequests--block-group-confirm-body": {
|
||
"message": "Bạn sẽ không thể nhận được tin nhắn hoặc cập nhật từ nhóm này và các thành viên sẽ không thể thêm bạn vào lại nhóm này.",
|
||
"description": "Shown as the body in the confirmation modal for blocking a group message request"
|
||
},
|
||
"MessageRequests--delete": {
|
||
"message": "Xóa",
|
||
"description": "Shown as a button to let the user delete any message request"
|
||
},
|
||
"MessageRequests--delete-direct-confirm-title": {
|
||
"message": "Xoá cuộc hội thoại?",
|
||
"description": "Shown as the title in the confirmation modal for deleting a private message request"
|
||
},
|
||
"MessageRequests--delete-direct-confirm-body": {
|
||
"message": "Cuộc trò chuyện này sẽ bị xóa trên tất cả các thiết bị của bạn.",
|
||
"description": "Shown as the body in the confirmation modal for deleting a private message request"
|
||
},
|
||
"MessageRequests--delete-group-confirm-title": {
|
||
"message": "Xoá và Rời $group$?",
|
||
"description": "Shown as the title in the confirmation modal for deleting a group message request",
|
||
"placeholders": {
|
||
"group": {
|
||
"content": "$1",
|
||
"example": "Friends 🌿"
|
||
}
|
||
}
|
||
},
|
||
"MessageRequests--delete-direct": {
|
||
"message": "Xóa",
|
||
"description": "Shown as a button to let the user delete a direct message request"
|
||
},
|
||
"MessageRequests--delete-group": {
|
||
"message": "Xoá và Rời",
|
||
"description": "Shown as a button to let the user delete a group message request"
|
||
},
|
||
"MessageRequests--delete-group-confirm-body": {
|
||
"message": "Bạn sẽ rời nhóm, và lịch sử trò chuyện sẽ bị xóa trên tất cả các thiết bị của bạn.",
|
||
"description": "Shown as the body in the confirmation modal for deleting a group message request"
|
||
},
|
||
"MessageRequests--accept": {
|
||
"message": "Chấp nhận",
|
||
"description": "Shown as a button to let the user accept a message request"
|
||
},
|
||
"MessageRequests--continue": {
|
||
"message": "Tiếp tục",
|
||
"description": "Shown as a button to share your profile, necessary to continue messaging in a conversation"
|
||
},
|
||
"MessageRequests--profile-sharing--group": {
|
||
"message": "Tiếp tục cuộc trò chuyện của bạn với nhóm này và chia sẻ tên và ảnh của bạn với các thành viên nhóm? $learnMore$",
|
||
"description": "Shown when user hasn't shared their profile in a group yet",
|
||
"placeholders": {
|
||
"learnMore": {
|
||
"content": "$1",
|
||
"example": "Learn More."
|
||
}
|
||
}
|
||
},
|
||
"MessageRequests--profile-sharing--direct": {
|
||
"message": "Tiếp tục cuộc trò chuyện của bạn với $firstName$ và chia sẻ tên và ảnh của bạn với họ? $learnMore$",
|
||
"description": "Shown when user hasn't shared their profile in a 1:1 conversation yet",
|
||
"placeholders": {
|
||
"firstName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
},
|
||
"learnMore": {
|
||
"content": "$2",
|
||
"example": "Learn More."
|
||
}
|
||
}
|
||
},
|
||
"MessageRequests--learn-more": {
|
||
"message": "Tìm hiểu thêm.",
|
||
"description": "Shown at the end of profile sharing messages as a link."
|
||
},
|
||
"ConversationHero--members": {
|
||
"message": "$count$ thành viên",
|
||
"description": "Specifies the number of members in a group conversation",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "22"
|
||
}
|
||
}
|
||
},
|
||
"ConversationHero--members-1": {
|
||
"message": "1 thành viên",
|
||
"description": "Specifies the number of members in a group conversation when there is one member",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "22"
|
||
}
|
||
}
|
||
},
|
||
"member-of-1-group": {
|
||
"message": "Thành viên của $group$",
|
||
"description": "Shown in the conversation hero to indicate this user is a member of a mutual group",
|
||
"placeholders": {
|
||
"group": {
|
||
"content": "$1",
|
||
"example": "NYC Rock Climbers"
|
||
}
|
||
}
|
||
},
|
||
"member-of-2-groups": {
|
||
"message": "Thành viên của $group1$ và $group2$",
|
||
"description": "Shown in the conversation hero to indicate this user is a member of two mutual groups",
|
||
"placeholders": {
|
||
"group1": {
|
||
"content": "$1",
|
||
"example": "NYC Rock Climbers"
|
||
},
|
||
"group2": {
|
||
"content": "$2",
|
||
"example": "Dinner Party"
|
||
}
|
||
}
|
||
},
|
||
"member-of-3-groups": {
|
||
"message": "Thành viên của $group1$, $group2$, và $group3$",
|
||
"description": "Shown in the conversation hero to indicate this user is a member of three mutual groups",
|
||
"placeholders": {
|
||
"group1": {
|
||
"content": "$1",
|
||
"example": "NYC Rock Climbers"
|
||
},
|
||
"group2": {
|
||
"content": "$2",
|
||
"example": "Dinner Party"
|
||
},
|
||
"group3": {
|
||
"content": "$3",
|
||
"example": "Friends 🌿"
|
||
}
|
||
}
|
||
},
|
||
"member-of-more-than-3-groups--one-more": {
|
||
"message": "Thành viên của $group1$, $group2$, $group3$ và một thành viên khác",
|
||
"description": "Shown in the conversation hero to indicate this user is a member of four mutual groups",
|
||
"placeholders": {
|
||
"group1": {
|
||
"content": "$1",
|
||
"example": "NYC Rock Climbers"
|
||
},
|
||
"group2": {
|
||
"content": "$2",
|
||
"example": "Dinner Party"
|
||
},
|
||
"group3": {
|
||
"content": "$3",
|
||
"example": "Friends 🌿"
|
||
}
|
||
}
|
||
},
|
||
"member-of-more-than-3-groups--multiple-more": {
|
||
"message": "Thành viên của $group1$, $group2$, $group3$ và $remainingCount$ nhóm khác",
|
||
"description": "Shown in the conversation hero to indicate this user is a member of 5+ mutual groups.",
|
||
"placeholders": {
|
||
"group1": {
|
||
"content": "$1",
|
||
"example": "NYC Rock Climbers"
|
||
},
|
||
"group2": {
|
||
"content": "$2",
|
||
"example": "Dinner Party"
|
||
},
|
||
"group3": {
|
||
"content": "$3",
|
||
"example": "Friends 🌿"
|
||
},
|
||
"remainingCount": {
|
||
"content": "$4",
|
||
"example": "3"
|
||
}
|
||
}
|
||
},
|
||
"ConversationHero--membership-added": {
|
||
"message": "$name$ đã thêm bạn vào nhóm.",
|
||
"description": "Shown Indicates that you were added to a group by a given individual.",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Jeff Smith"
|
||
}
|
||
}
|
||
},
|
||
"no-groups-in-common": {
|
||
"message": "Không có nhóm chung",
|
||
"description": "Shown to indicate this user is not a member of any groups"
|
||
},
|
||
"no-groups-in-common-warning": {
|
||
"message": "Không có nhóm chung. Hãy xem xét yêu cầu thật kĩ lưỡng.",
|
||
"description": "When a user has no common groups, show this warning"
|
||
},
|
||
"acceptCall": {
|
||
"message": "Trả lời",
|
||
"description": "Shown in tooltip for the button to accept a call (audio or video)"
|
||
},
|
||
"acceptCallWithoutVideo": {
|
||
"message": "Trả lời thoại",
|
||
"description": "Shown in tooltip for the button to accept a video call without video"
|
||
},
|
||
"declineCall": {
|
||
"message": "Từ chối",
|
||
"description": "Shown in tooltip for the button to decline a call (audio or video)"
|
||
},
|
||
"declinedIncomingAudioCall": {
|
||
"message": "Bạn đã từ chối cuộc gọi âm thanh",
|
||
"description": "Shown in conversation history when you declined an incoming audio call"
|
||
},
|
||
"declinedIncomingVideoCall": {
|
||
"message": "Bạn đã từ chối cuộc gọi video",
|
||
"description": "Shown in conversation history when you declined an incoming video call"
|
||
},
|
||
"acceptedIncomingAudioCall": {
|
||
"message": "Cuộc gọi âm thanh đang đến",
|
||
"description": "Shown in conversation history when you accepted an incoming audio call"
|
||
},
|
||
"acceptedIncomingVideoCall": {
|
||
"message": "Cuộc gọi video đang đến",
|
||
"description": "Shown in conversation history when you accepted an incoming video call"
|
||
},
|
||
"missedIncomingAudioCall": {
|
||
"message": "Cuộc gọi âm thanh bị nhỡ",
|
||
"description": "Shown in conversation history when you missed an incoming audio call"
|
||
},
|
||
"missedIncomingVideoCall": {
|
||
"message": "Cuộc gọi video bị nhỡ",
|
||
"description": "Shown in conversation history when you missed an incoming video call"
|
||
},
|
||
"acceptedOutgoingAudioCall": {
|
||
"message": "Cuộc gọi âm thanh đang gọi đi",
|
||
"description": "Shown in conversation history when you made an outgoing audio call"
|
||
},
|
||
"acceptedOutgoingVideoCall": {
|
||
"message": "Cuộc gọi video đang gọi đi",
|
||
"description": "Shown in conversation history when you made an outgoing video call"
|
||
},
|
||
"missedOrDeclinedOutgoingAudioCall": {
|
||
"message": "Cuộc gọi âm thanh không được trả lời",
|
||
"description": "Shown in conversation history when your audio call is missed or declined"
|
||
},
|
||
"missedOrDeclinedOutgoingVideoCall": {
|
||
"message": "Cuộc gọi video không được trả lời",
|
||
"description": "Shown in conversation history when your video call is missed or declined"
|
||
},
|
||
"incomingAudioCall": {
|
||
"message": "Cuộc gọi âm thanh đang đến...",
|
||
"description": "Shown in both the incoming call bar and notification for an incoming audio call"
|
||
},
|
||
"incomingVideoCall": {
|
||
"message": "Cuộc gọi video đang đến...",
|
||
"description": "Shown in both the incoming call bar and notification for an incoming video call"
|
||
},
|
||
"incomingGroupCall__ringing-you": {
|
||
"message": "$ringer$ đang gọi bạn",
|
||
"description": "Shown in the incoming call bar when someone is ringing you for a group call",
|
||
"placeholders": {
|
||
"ringer": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"incomingGroupCall__ringing-1-other": {
|
||
"message": "$ringer$ đang gọi bạn và $otherMember$",
|
||
"description": "Shown in the incoming call bar when someone is ringing you for a group call",
|
||
"placeholders": {
|
||
"ringer": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
},
|
||
"otherMember": {
|
||
"content": "$2",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"incomingGroupCall__ringing-2-others": {
|
||
"message": "$ringer$ đang gọi bạn và, $first$, và $second$",
|
||
"description": "Shown in the incoming call bar when someone is ringing you for a group call",
|
||
"placeholders": {
|
||
"ringer": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
},
|
||
"first": {
|
||
"content": "$2",
|
||
"example": "Bob"
|
||
},
|
||
"second": {
|
||
"content": "$3",
|
||
"example": "Charlie"
|
||
}
|
||
}
|
||
},
|
||
"incomingGroupCall__ringing-3-others": {
|
||
"message": "$ringer$ đang gọi bạn, $first$, $second$, và 1 người khác",
|
||
"description": "Shown in the incoming call bar when someone is ringing you for a group call",
|
||
"placeholders": {
|
||
"ringer": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
},
|
||
"first": {
|
||
"content": "$2",
|
||
"example": "Bob"
|
||
},
|
||
"second": {
|
||
"content": "$3",
|
||
"example": "Charlie"
|
||
}
|
||
}
|
||
},
|
||
"incomingGroupCall__ringing-many": {
|
||
"message": "$ringer$ đang gọi bạn, $first$, $second$, và $remaining$ người khác",
|
||
"description": "Shown in the incoming call bar when someone is ringing you for a group call",
|
||
"placeholders": {
|
||
"ringer": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
},
|
||
"first": {
|
||
"content": "$2",
|
||
"example": "Bob"
|
||
},
|
||
"second": {
|
||
"content": "$3",
|
||
"example": "Charlie"
|
||
},
|
||
"remaining": {
|
||
"content": "$4",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"outgoingCallRinging": {
|
||
"message": "Đang đổ chuông...",
|
||
"description": "Shown in the call screen when placing an outgoing call that is now ringing"
|
||
},
|
||
"makeOutgoingCall": {
|
||
"message": "Bắt đầu cuộc gọi",
|
||
"description": "Title for the call button in a conversation"
|
||
},
|
||
"makeOutgoingVideoCall": {
|
||
"message": "Bắt đầu cuộc gọi video",
|
||
"description": "Title for the video call button in a conversation"
|
||
},
|
||
"joinOngoingCall": {
|
||
"message": "Tham gia",
|
||
"description": "Text that appears in a group when a call is active"
|
||
},
|
||
"callNeedPermission": {
|
||
"message": "$title$ sẽ nhận được yêu cầu nhắn tin từ bạn. Bạn có thể gọi một khi yêu cầu nhắn tin của bạn đã được đồng ý.",
|
||
"description": "Shown when a call is rejected because the other party hasn't approved the message/call request",
|
||
"placeholders": {
|
||
"title": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"callReconnecting": {
|
||
"message": "Đang kết nối lại...",
|
||
"description": "Shown in the call screen when the call is reconnecting due to network issues"
|
||
},
|
||
"callDuration": {
|
||
"message": "Signal $duration$",
|
||
"description": "Shown in the call screen to indicate how long the call has been connected",
|
||
"placeholders": {
|
||
"duration": {
|
||
"content": "$1",
|
||
"example": "00:01"
|
||
}
|
||
}
|
||
},
|
||
"callingDeviceSelection__settings": {
|
||
"message": "Cài đặt",
|
||
"description": "Title for device selection settings"
|
||
},
|
||
"calling__participants": {
|
||
"message": "$people$ trong cuộc gọi",
|
||
"description": "Title for participants list toggle",
|
||
"placeholders": {
|
||
"people": {
|
||
"content": "$1",
|
||
"example": "16"
|
||
}
|
||
}
|
||
},
|
||
"calling__call-notification__ended": {
|
||
"message": "Cuộc gọi nhóm đã kết thúc",
|
||
"description": "Notification message when a group call has ended"
|
||
},
|
||
"calling__call-notification__started-by-someone": {
|
||
"message": "Một cuộc gọi nhóm đã được bắt đầu",
|
||
"description": "Notification message when a group call has started, but we don't know who started it"
|
||
},
|
||
"calling__call-notification__started-by-you": {
|
||
"message": "Bạn đã bắt đầu cuộc gọi nhóm",
|
||
"description": "Notification message when a group call has started by you"
|
||
},
|
||
"calling__call-notification__started": {
|
||
"message": "$name$ đã bắt đầu cuộc gọi nhóm",
|
||
"description": "Notification message when a group call has started",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"calling__in-another-call-tooltip": {
|
||
"message": "Bạn đã đang ở trong một cuộc gọi",
|
||
"description": "Tooltip in disabled notification button when you're on another call"
|
||
},
|
||
"calling__call-notification__button__call-full-tooltip": {
|
||
"message": "Cuộc gọi đã đạt giới hạn $max$ người tham dự",
|
||
"description": "Tooltip in disabled notification button when the call is full",
|
||
"placeholders": {
|
||
"max": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"calling__pip--on": {
|
||
"message": "Thu nhỏ cuộc gọi",
|
||
"description": "Title for picture-in-picture toggle"
|
||
},
|
||
"calling__pip--off": {
|
||
"message": "Phóng toàn màn hình cuộc gọi",
|
||
"description": "Title for picture-in-picture toggle"
|
||
},
|
||
"calling__switch-view--to-grid": {
|
||
"message": "Chuyển sang xem dạng lưới",
|
||
"description": "Title for grid/speaker view toggle when on a call"
|
||
},
|
||
"calling__switch-view--to-speaker": {
|
||
"message": "Chuyển sang xem người nói",
|
||
"description": "Title for grid/speaker view toggle when on a call"
|
||
},
|
||
"calling__hangup": {
|
||
"message": "Rời cuộc gọi",
|
||
"description": "Title for hang up button"
|
||
},
|
||
"calling__SelectPresentingSourcesModal--title": {
|
||
"message": "Chia sẻ màn hình của bạn",
|
||
"description": "Title for the select your screen sharing sources modal"
|
||
},
|
||
"calling__SelectPresentingSourcesModal--confirm": {
|
||
"message": "Bắt đầu chia sẻ",
|
||
"description": "Confirm button for sharing screen modal"
|
||
},
|
||
"calling__SelectPresentingSourcesModal--entireScreen": {
|
||
"message": "Toàn bộ màn hình",
|
||
"description": "Title for the select your screen sharing sources modal and 'Entire Screen' source"
|
||
},
|
||
"calling__SelectPresentingSourcesModal--screen": {
|
||
"message": "Màn hình $id$",
|
||
"description": "Title for `Screen #N` source in screen sharing sources modal and overlay",
|
||
"placeholders": {
|
||
"id": {
|
||
"content": "$1",
|
||
"example": "1"
|
||
}
|
||
}
|
||
},
|
||
"calling__SelectPresentingSourcesModal--window": {
|
||
"message": "Một cửa sổ",
|
||
"description": "Title for the select your screen sharing sources modal"
|
||
},
|
||
"callingDeviceSelection__label--video": {
|
||
"message": "Video",
|
||
"description": "Label for video input selector"
|
||
},
|
||
"callingDeviceSelection__label--audio-input": {
|
||
"message": "Microphone",
|
||
"description": "Label for audio input selector"
|
||
},
|
||
"callingDeviceSelection__label--audio-output": {
|
||
"message": "Loa",
|
||
"description": "Label for audio output selector"
|
||
},
|
||
"callingDeviceSelection__select--no-device": {
|
||
"message": "Không có thiết bị có sẵn",
|
||
"description": "Message for when there are no available devices to select for input/output audio or video"
|
||
},
|
||
"callingDeviceSelection__select--default": {
|
||
"message": "Mặc định",
|
||
"description": "Shown when the device is the default device"
|
||
},
|
||
"muteNotificationsTitle": {
|
||
"message": "Tắt tiếng thông báo",
|
||
"description": "Label for the mute notifications drop-down selector"
|
||
},
|
||
"notMuted": {
|
||
"message": "Bỏ tắt tiếng thông báo",
|
||
"description": "Label when the conversation is not muted"
|
||
},
|
||
"muteHour": {
|
||
"message": "Tắt tiếng một giờ",
|
||
"description": "Label for muting the conversation"
|
||
},
|
||
"muteEightHours": {
|
||
"message": "Tắt tiếng trong tám tiếng",
|
||
"description": "Label for muting the conversation"
|
||
},
|
||
"muteDay": {
|
||
"message": "Tắt tiếng một ngày",
|
||
"description": "Label for muting the conversation"
|
||
},
|
||
"muteWeek": {
|
||
"message": "Tắt tiếng một tuần",
|
||
"description": "Label for muting the conversation"
|
||
},
|
||
"muteAlways": {
|
||
"message": "Tắt tiếng luôn luôn",
|
||
"description": "Label for muting the conversation"
|
||
},
|
||
"unmute": {
|
||
"message": "Bỏ tắt tiếng",
|
||
"description": "Label for unmuting the conversation"
|
||
},
|
||
"muteExpirationLabelAlways": {
|
||
"message": "Đã tắt tiếng luôn luôn",
|
||
"description": "Shown in the mute notifications submenu whenever a conversation has been muted"
|
||
},
|
||
"muteExpirationLabel": {
|
||
"message": "Tắt tiếng cho tới $duration$",
|
||
"description": "Shown in the mute notifications submenu whenever a conversation has been muted",
|
||
"placeholders": {
|
||
"duration": {
|
||
"content": "$1",
|
||
"example": "10/23/2023, 7:10 PM"
|
||
}
|
||
}
|
||
},
|
||
"EmojiButton__label": {
|
||
"message": "Emoji",
|
||
"description": "Label for emoji button"
|
||
},
|
||
"ErrorModal--title": {
|
||
"message": "Đã xảy ra lỗi!",
|
||
"description": "Title of popup dialog when user-initiated task has gone wrong"
|
||
},
|
||
"ErrorModal--description": {
|
||
"message": "Xin hãy thử lại hoặc liên hệ hỗ trợ.",
|
||
"description": "Description text in popup dialog when user-initiated task has gone wrong"
|
||
},
|
||
"Confirmation--confirm": {
|
||
"message": "OK",
|
||
"description": "Button to dismiss popup dialog when user-initiated task has gone wrong"
|
||
},
|
||
"unknown-sgnl-link": {
|
||
"message": "Xin lỗi, đường dẫn sgnl:// không đúng!",
|
||
"description": "Shown if you click on a sgnl:// link not currently supported by Desktop"
|
||
},
|
||
"GroupV2--cannot-send": {
|
||
"message": "Bạn không thể gửi tin nhắn cho nhóm đó.",
|
||
"description": "Shown in toast when you attempt to forward a message to an announcement only group"
|
||
},
|
||
"GroupV2--cannot-start-group-call": {
|
||
"message": "Chỉ quản trị viên của nhóm mới có thể bắt đầu cuộc gọi.",
|
||
"description": "Shown in toast when a non-admin starts a group call in an announcements only group"
|
||
},
|
||
"GroupV2--join--invalid-link--title": {
|
||
"message": "Đường dẫn \u001dVô hiệu lực",
|
||
"description": "Shown if we are unable to parse a group link"
|
||
},
|
||
"GroupV2--join--invalid-link": {
|
||
"message": "Đây không phải là một đường dẫn nhóm có hiệu lực. Đảm bảo là toàn bộ đường dẫn được giữ nguyên và chính xác trước khi thử tham gia.",
|
||
"description": "Shown if we are unable to parse a group link"
|
||
},
|
||
"GroupV2--join--prompt": {
|
||
"message": "Bạn có muốn tham gia nhóm này và công khai tên và ảnh đại diện với các thành viên trong nhóm?",
|
||
"description": "Shown when you click on a group link to confirm"
|
||
},
|
||
"GroupV2--join--already-in-group": {
|
||
"message": "Bạn đã ở trong nhóm này rồi.",
|
||
"description": "Shown if you click a group link for a group where you're already a member"
|
||
},
|
||
"GroupV2--join--already-awaiting-approval": {
|
||
"message": "Bạn đã gửi yêu cầu chấp duyệt để tham gia nhóm này.",
|
||
"description": "Shown if you click a group link for a group where you've already requested approval'"
|
||
},
|
||
"GroupV2--join--unknown-link-version--title": {
|
||
"message": "Không rõ phiên bản đường dẫn",
|
||
"description": "This group link is no longer valid."
|
||
},
|
||
"GroupV2--join--unknown-link-version": {
|
||
"message": "Đường dẫn này không được hỗ trợ bởi phiên bản Signal Desktop này.",
|
||
"description": "Shown if you click a group link and we can't get information about it"
|
||
},
|
||
"GroupV2--join--link-revoked--title": {
|
||
"message": "Không thể Tham gia Nhóm",
|
||
"description": "Shown if you click a group link and we can't get information about it"
|
||
},
|
||
"GroupV2--join--link-revoked": {
|
||
"message": "Đường dẫn nhóm không còn hiệu lực.",
|
||
"description": "Shown if you click a group link and we can't get information about it"
|
||
},
|
||
"GroupV2--join--link-forbidden--title": {
|
||
"message": "Không thể Tham gia Nhóm",
|
||
"description": "Shown if you click a group link and you have been forbidden from joining via the link"
|
||
},
|
||
"GroupV2--join--link-forbidden": {
|
||
"message": "You can't join this group via the group link because an admin removed you.",
|
||
"description": "Shown if you click a group link and you have been forbidden from joining via the link"
|
||
},
|
||
"GroupV2--join--prompt-with-approval": {
|
||
"message": "Một người quản lý của nhóm này phải chấp duyệt yêu cầu của bạn trước khi bạn có thể tham gia nhóm này. Nếu được duyệt, tên và ảnh của bạn sẽ được chia sẻ với các thành viên nhóm.",
|
||
"description": "Shown when you click on a group link to confirm, if it requires admin approval"
|
||
},
|
||
"GroupV2--join--join-button": {
|
||
"message": "Tham gia",
|
||
"description": "The button to join the group"
|
||
},
|
||
"GroupV2--join--request-to-join-button": {
|
||
"message": "Yêu cầu để Tham gia",
|
||
"description": "The button to join the group, if approval is required"
|
||
},
|
||
"GroupV2--join--cancel-request-to-join": {
|
||
"message": "Hủy yêu cầu",
|
||
"description": "The button to cancel request to join the group"
|
||
},
|
||
"GroupV2--join--cancel-request-to-join--confirmation": {
|
||
"message": "Huỷ yêu cầu tham gia nhóm này của bạn?",
|
||
"description": "A confirmation message that shows after you click the button"
|
||
},
|
||
"GroupV2--join--cancel-request-to-join--yes": {
|
||
"message": "Có",
|
||
"description": "Choosing to continue in the cancel join confirmation dialog"
|
||
},
|
||
"GroupV2--join--cancel-request-to-join--no": {
|
||
"message": "Không",
|
||
"description": "Choosing not to continue in the cancel join confirmation dialog"
|
||
},
|
||
"GroupV2--join--member-count--single": {
|
||
"message": "1 thành viên",
|
||
"description": "Shown in the metadata section if group has just one member"
|
||
},
|
||
"GroupV2--join--member-count--multiple": {
|
||
"message": "$count$ thành viên",
|
||
"description": "Shown in the metadata section if group has more than one member",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "12"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--join--group-metadata": {
|
||
"message": "Nhóm · $memberCount$",
|
||
"description": "A holder for two pieces of information - the type of conversation, and the member count",
|
||
"placeholders": {
|
||
"memberCount": {
|
||
"content": "$1",
|
||
"example": "12 members"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--join--requested": {
|
||
"message": "Yêu cầu tham gia nhóm của bạn đã được gửi tới admin nhóm. Bạn sẽ được thông báo khi họ chọn hành động.",
|
||
"description": "Shown in composition area when you've requested to join a group"
|
||
},
|
||
"GroupV2--join--general-join-failure--title": {
|
||
"message": "Lỗi Đường dẫn",
|
||
"description": "Shown if something went wrong when you try to join via a group link"
|
||
},
|
||
"GroupV2--join--general-join-failure": {
|
||
"message": "Không thể vào nhóm. Thử lại sau.",
|
||
"description": "Shown if something went wrong when you try to join via a group link"
|
||
},
|
||
"GroupV2--admin": {
|
||
"message": "Quản trị viên",
|
||
"description": "Label for a group administrator"
|
||
},
|
||
"GroupV2--only-admins": {
|
||
"message": "Chỉ có Quản trị viên",
|
||
"description": "Label for group administrators -- used in drop-downs to select permissions that apply to admins"
|
||
},
|
||
"GroupV2--all-members": {
|
||
"message": "Tất cả thành viên",
|
||
"description": "Label for describing the general non-privileged members of a group"
|
||
},
|
||
"updating": {
|
||
"message": "Đang cập nhật...",
|
||
"description": "Shown along with a spinner when an update operation takes longer than one second"
|
||
},
|
||
"GroupV2--create--you": {
|
||
"message": "Bạn đã tạo nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--create--other": {
|
||
"message": "$memberName$ đã tạo nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--create--unknown": {
|
||
"message": "Nhóm đã được tạo.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--title--change--other": {
|
||
"message": "$memberName$ đã thay đổi tên nhóm thành \"$newTitle$\".",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"newTitle": {
|
||
"content": "$2",
|
||
"example": "Saturday Hiking"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--title--change--you": {
|
||
"message": "Bạn đã thay đổi tên nhóm thành \"$newTitle$\".",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"newTitle": {
|
||
"content": "$1",
|
||
"example": "Saturday Hiking"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--title--change--unknown": {
|
||
"message": "Một thành viên đã thay đổi tên nhóm thành \"$newTitle$\".",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"newTitle": {
|
||
"content": "$1",
|
||
"example": "Saturday Hiking"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--title--remove--other": {
|
||
"message": "$memberName$ đã \u001dgỡ bỏ tên nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--title--remove--you": {
|
||
"message": "Bạn đã xoá tên nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--title--remove--unknown": {
|
||
"message": "Một thành viên đã gỡ bỏ tên nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--avatar--change--other": {
|
||
"message": "$memberName$ đã thay đổi ảnh đại diện nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--avatar--change--you": {
|
||
"message": "Bạn đã đổi ảnh nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--avatar--change--unknown": {
|
||
"message": "Một thành viên đã thay đổi ảnh đại diện nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--avatar--remove--other": {
|
||
"message": "$memberName$ đã gỡ bỏ ảnh đại diện nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--avatar--remove--you": {
|
||
"message": "Bạn đã gỡ bỏ ảnh đại diện nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--avatar--remove--unknown": {
|
||
"message": "Một thành viên đã gỡ bỏ ảnh đại diện nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--access-attributes--admins--other": {
|
||
"message": "$adminName$ đã thay đổi người có thể chỉnh sửa thông tin nhóm sang \"Chỉ có admin.\"",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--access-attributes--admins--you": {
|
||
"message": "Bạn đã thay đổi người có thể chỉnh sửa thông tin nhóm thành \"Chỉ có admin.\"",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--access-attributes--admins--unknown": {
|
||
"message": "Một admin đã thay đổi người có thể chỉnh sửa thông tin nhóm thành \"Chỉ admin\".",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--access-attributes--all--other": {
|
||
"message": "$adminName$ đã thay đổi người có thể chỉnh sửa thông tin nhóm thành \"Tất cả thành viên.\"",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--access-attributes--all--you": {
|
||
"message": "Bạn đã thay đổi người có thể chỉnh sửa thông tin nhóm thành \"All members.\"",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--access-attributes--all--unknown": {
|
||
"message": "Một admin đã thay đổi người có thể chỉnh sửa thông tin nhóm thành \"Tất cả thành viên.\"",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--access-members--admins--other": {
|
||
"message": "$adminName$ đã thay đổi người có thể chỉnh sửa thành viên nhóm thành \"Chỉ admin.\"",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--access-members--admins--you": {
|
||
"message": "Bạn đã thay đổi người có thể chỉnh sửa thành viên nhóm thành \"Chỉ admin.\"",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--access-members--admins--unknown": {
|
||
"message": "Một admin đã thay đổi người có thể chỉnh sửa thành viên nhóm thành \"Chỉ admin.\"",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--access-members--all--other": {
|
||
"message": "$adminName$ đã thay đổi người có thể chỉnh sửa thành viên nhóm thành \"Tất cả thành viên.\"",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--access-members--all--you": {
|
||
"message": "Bạn đã thay đổi người có thể chỉnh sửa thành viên nhóm thành \"Tất cả thành viên.\"",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--access-members--all--unknown": {
|
||
"message": "Một admin đã thay đổi người có thể chỉnh sửa thành viên nhóm thành \"Tất cả thành viên.\"",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--access-invite-link--disabled--you": {
|
||
"message": "Bạn đã tắt chấp duyệt của người quản lý cho đường dẫn nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--access-invite-link--disabled--other": {
|
||
"message": "$adminName$ đã tắt chấp duyệt của người quản lý cho đường dẫn nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--access-invite-link--disabled--unknown": {
|
||
"message": "Chấp duyệt của người quản lý cho đường dẫn nhóm đã được tắt.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--access-invite-link--enabled--you": {
|
||
"message": "Bạn đã bật chấp duyệt của người quản lý cho đường dẫn nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--access-invite-link--enabled--other": {
|
||
"message": "$adminName$ đã bật chấp duyệt của người quản lý cho đường dẫn nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--access-invite-link--enabled--unknown": {
|
||
"message": "Chấp duyệt của người quản lý cho đường dẫn nhóm đã được bật.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--member-add--invited--you": {
|
||
"message": "Bạn đã thêm thành viên được mời $inviteeName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add--invited--other": {
|
||
"message": "$memberName$ đã thêm thành viên được mời $inviteeName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
},
|
||
"inviteeName": {
|
||
"content": "$2",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add--invited--unknown": {
|
||
"message": "Một thành viên đã thêm thành viên được mời $inviteeName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add--from-invite--other": {
|
||
"message": "$inviteeName$ chấp nhận lời mời vào nhóm từ $inviterName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
},
|
||
"inviterName": {
|
||
"content": "$2",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add--from-invite--other-no-from": {
|
||
"message": "$inviteeName$ chấp nhận một lời mời vào nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add--from-invite--you": {
|
||
"message": "Bạn đã chấp nhận một lời mời vào nhóm từ $inviterName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviterName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add--from-invite--you-no-from": {
|
||
"message": "Bạn đã chấp nhận thư mời vào nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--member-add--from-invite--from-you": {
|
||
"message": "$inviteeName$ đã chấp nhận lời mời vào nhóm của bạn.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add--other--other": {
|
||
"message": "$adderName$ đã thêm $addeeName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adderName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"addeeName": {
|
||
"content": "$2",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add--other--you": {
|
||
"message": "Bạn đã thêm $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add--other--unknown": {
|
||
"message": "Một thành viên đã thêm $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add--you--other": {
|
||
"message": "$memberName$ đã thêm bạn vào nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add--you--you": {
|
||
"message": "Bạn đã tham gia nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--member-add--you--unknown": {
|
||
"message": "Bạn đã được thêm vào nhóm. ",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--member-add-from-link--you--you": {
|
||
"message": "Bạn đã tham gia nhóm qua đường dẫn nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--member-add-from-link--other": {
|
||
"message": "$memberName$ đã tham gia nhóm qua đường dẫn nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add-from-admin-approval--you--other": {
|
||
"message": "$adminName$ đã chấp duyệt yêu cầu tham gia nhóm của bạn.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add-from-admin-approval--you--unknown": {
|
||
"message": "Yêu cầu tham gia nhóm của bạn đã được chấp nhận.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--member-add-from-admin-approval--other--you": {
|
||
"message": "Bạn đã chấp duyệt yêu cầu tham gia nhóm từ $joinerName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"joinerName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add-from-admin-approval--other--other": {
|
||
"message": "$adminName$ đã chấp duyệt yêu cầu tham gia nhóm từ $joinerName$. ",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"joinerName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-add-from-admin-approval--other--unknown": {
|
||
"message": "Yêu cầu để tham gia nhóm từ $joinerName$ đã được chấp duyệt.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"joinerName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-remove--other--other": {
|
||
"message": "$adminName$ đã gỡ bỏ $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"memberName": {
|
||
"content": "$2",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-remove--other--self": {
|
||
"message": "$memberName$ đã rời nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-remove--other--you": {
|
||
"message": "Bạn đã gỡ bỏ $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-remove--other--unknown": {
|
||
"message": "Một thành viên đã gỡ bỏ $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-remove--you--other": {
|
||
"message": "$adminName$ đã gỡ bỏ bạn.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-remove--you--you": {
|
||
"message": "Bạn đã rời nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--member-remove--you--unknown": {
|
||
"message": "Bạn đã bị loại bỏ khỏi nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--member-privilege--promote--other--other": {
|
||
"message": "$adminName$ đã đặt $memberName$ làm admin.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"memberName": {
|
||
"content": "$2",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-privilege--promote--other--you": {
|
||
"message": "Bạn đã đặt $memberName$ làm admin.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-privilege--promote--other--unknown": {
|
||
"message": "Một admin đã đặt $memberName$ làm admin.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-privilege--promote--you--other": {
|
||
"message": "$adminName$ đã đặt bạn làm admin.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-privilege--promote--you--unknown": {
|
||
"message": "Một admin đã đặt bạn làm admin.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--member-privilege--demote--other--other": {
|
||
"message": "$adminName$ đã thu hồi quyền quản trị của bạn cho $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"memberName": {
|
||
"content": "$2",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-privilege--demote--other--you": {
|
||
"message": "Bạn đã thu hồi quyền quản trị của $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-privilege--demote--other--unknown": {
|
||
"message": "Một admin đã thu hồi quyền quản trị của $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-privilege--demote--you--other": {
|
||
"message": "$adminName$ đã thu hồi quyền quản trị của bạn.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--member-privilege--demote--you--unknown": {
|
||
"message": "Một admin đã thu hồi quyền quản trị của bạn.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--pending-add--one--other--other": {
|
||
"message": "$memberName$ đã mời 1 người vào nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-add--one--other--you": {
|
||
"message": "Bạn đã mời $inviteeName$ vào nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-add--one--other--unknown": {
|
||
"message": "Một người đã được mời vào nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-add--one--you--other": {
|
||
"message": "$memberName$ đã mời bạn vào nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-add--one--you--unknown": {
|
||
"message": "Bạn đã được mời vào nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--pending-add--many--other": {
|
||
"message": "$memberName$ đã mời $count$ người vào nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"count": {
|
||
"content": "$2",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-add--many--you": {
|
||
"message": "Bạn đã mời $count$ người vào nhóm. ",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-add--many--unknown": {
|
||
"message": "$count$ người đã được mời vào nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--decline--other": {
|
||
"message": "1 người được mời bởi $memberName$ đã từ chối \u001d\u001dlời mời vào nhóm. ",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--decline--you": {
|
||
"message": "$inviteeName$ đã từ chối lời mời tham gia nhóm của bạn.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--decline--from-you": {
|
||
"message": "Bạn đã từ chối lời mời vào nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--pending-remove--decline--unknown": {
|
||
"message": "1 người đã từ chối lời mời tham gia nhóm của họ.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--pending-remove--revoke--one--other": {
|
||
"message": "$memberName$ đã thu hồi lời mời vào nhóm cho 1 người.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke--one--you": {
|
||
"message": "Bạn đã thu hồi lời mời vào nhóm cho 1 người.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-own--to-you": {
|
||
"message": "$inviterName$ đã thu hồi lời mời cho bạn.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviterName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-own--unknown": {
|
||
"message": "$inviterName$ đã thu hồi lời mời của họ cho 1 người.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviterName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke--one--unknown": {
|
||
"message": "Một admin đã thu hồi lời mời vào nhóm cho 1 người.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke--many--other": {
|
||
"message": "$memberName$ đã thu hồi lời mời vào nhóm cho $count$ người.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"count": {
|
||
"content": "$2",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke--many--you": {
|
||
"message": "Bạn đã thu hồi lời mời vào nhóm cho $count$ người.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke--many--unknown": {
|
||
"message": "Một admin đã thu hồi lời mời vào nhóm cho $count$ người.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from--one--other": {
|
||
"message": "$adminName$ đã thu hồi lời mời vào nhóm cho 1 người được mời bởi $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"memberName": {
|
||
"content": "$2",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from--one--you": {
|
||
"message": "Bạn đã thu hồi lời mời vào nhóm cho 1 người được mời bởi $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from--one--unknown": {
|
||
"message": "Một admin đã thu hồi lời mời vào nhóm cho 1 người được mời bởi $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"memberName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from-you--one--other": {
|
||
"message": "$adminName$ đã thu hồi lời mời vào nhóm bạn đã gửi cho $inviteeName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from-you--one--you": {
|
||
"message": "Bạn đã huỷ bỏ lời mời cho $inviteeName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from-you--one--unknown": {
|
||
"message": "Một admin đã thu hồi lời mời vào nhóm bạn gửi cho $inviteeName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"inviteeName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from--many--other": {
|
||
"message": "$adminName$ đã thu hồi lời mời vào nhóm cho $count$ người đã được mời bởi $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"memberName": {
|
||
"content": "$2",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from--many--you": {
|
||
"message": "Bạn đã thu hồi lời mời vào nhóm cho $count$ người được mời bởi $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
},
|
||
"memberName": {
|
||
"content": "$2",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from--many--unknown": {
|
||
"message": "Một admin đã thu hồi lời mời vào nhóm cho $count$ người được mời bởi $memberName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
},
|
||
"memberName": {
|
||
"content": "$2",
|
||
"example": "Bob"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from-you--many--other": {
|
||
"message": "$adminName$ đã thu hồi lời mời vào nhóm bạn gửi cho $count$ người.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"count": {
|
||
"content": "$2",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from-you--many--you": {
|
||
"message": "Bạn đã huỷ lời mời của bạn cho $count$ người.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--pending-remove--revoke-invite-from-you--many--unknown": {
|
||
"message": "Một admin đã thu hồi lời mời vào nhóm bạn đã gửi cho $count$ người.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--admin-approval-add-one--you": {
|
||
"message": "Bạn đã gửi yêu cầu tham gia nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--admin-approval-add-one--other": {
|
||
"message": "$joinerName$ đã yêu cầu để tham gia qua đường dẫn nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"joinerName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--admin-approval-remove-one--you--you": {
|
||
"message": "Bạn đã hủy yêu cầu tham gia nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--admin-approval-remove-one--you--unknown": {
|
||
"message": "Yêu cầu tham gia nhóm của bạn đã bị từ chối bởi một quản trị viên.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--admin-approval-remove-one--other--you": {
|
||
"message": "Bạn đã từ chối yêu cầu tham gia nhóm từ $joinerName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"joinerName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--admin-approval-remove-one--other--own": {
|
||
"message": "$joinerName$ đã huỷ yêu cầu tham gia nhóm của họ.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"joinerName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--admin-approval-remove-one--other--other": {
|
||
"message": "$adminName$ từ chối yêu cầu tham gia nhóm từ $joinerName$.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Bob"
|
||
},
|
||
"joinerName": {
|
||
"content": "$2",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--admin-approval-bounce--one": {
|
||
"message": "$joinerName$ requested and cancelled their request to join via the group link",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"joinerName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--admin-approval-bounce": {
|
||
"message": "$joinerName$ requested and cancelled $numberOfRequests$ requests to join via the group link",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"joinerName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
},
|
||
"numberOfRequests": {
|
||
"content": "$1",
|
||
"example": "3"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--group-link-add--disabled--you": {
|
||
"message": "Bạn đã bật đường dẫn nhóm mà không cần chấp duyệt của người quản lý.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--group-link-add--disabled--other": {
|
||
"message": "$adminName$ đã bật đường dẫn nhóm mà không cần chấp duyệt của người quản lý.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--group-link-add--disabled--unknown": {
|
||
"message": "Đường dẫn nhóm đã được bật đường dẫn nhóm mà không cần chấp duyệt của người quản lý.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--group-link-add--enabled--you": {
|
||
"message": "Bạn đã bật đường dẫn nhóm mà cần chấp duyệt của người quản lý.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--group-link-add--enabled--other": {
|
||
"message": "$adminName$ đã bật đường dẫn nhóm mà cần chấp duyệt của người quản lý.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--group-link-add--enabled--unknown": {
|
||
"message": "Đường dẫn nhóm đã được bật đường dẫn nhóm mà cần chấp duyệt của người quản lý.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--group-link-remove--you": {
|
||
"message": "Bạn đã tắt đường dẫn nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--group-link-remove--other": {
|
||
"message": "$adminName$ đã tắt đường dẫn nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--group-link-remove--unknown": {
|
||
"message": "Đường dẫn nhóm đã được tắt.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--group-link-reset--you": {
|
||
"message": "Bạn đã đặt lại đường dẫn nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--group-link-reset--other": {
|
||
"message": "$adminName$ đã cài lại đường dẫn nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--group-link-reset--unknown": {
|
||
"message": "Đường dẫn nhóm đã được đặt lại.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--description--remove--you": {
|
||
"message": "Bạn đã gỡ bỏ miêu tả nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--description--remove--other": {
|
||
"message": "$memberName$ đã gỡ bỏ miêu tả nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--description--remove--unknown": {
|
||
"message": "Miêu tả nhóm đã được gỡ bỏ.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--description--change--you": {
|
||
"message": "Bạn đã sửa mô tả nhóm",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--description--change--other": {
|
||
"message": "$memberName$ đã thay đổi miêu tả nhóm.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--description--change--unknown": {
|
||
"message": "Miêu tả nhóm đã được thay đổi.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--announcements--admin--you": {
|
||
"message": "Bạn đã thay đổi cài đặt nhóm để chỉ cho phép người quản trị gửi tin nhắn.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--announcements--admin--other": {
|
||
"message": "$memberName$ đã thay đổi cài đặt nhóm để chỉ cho phép quản trị viên gửi tin nhắn.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--announcements--admin--unknown": {
|
||
"message": "Nhóm đã được thay đổi để chỉ cho phép quản trị viên gửi tin nhắn.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--announcements--member--you": {
|
||
"message": "Bạn đã thay đổi cài đặt nhóm để cho phép tất cả thành viên gửi tin nhắn.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV2--announcements--member--other": {
|
||
"message": "$memberName$ đã thay đổi cài đặt nhóm để cho phép tất cả các thành viên gửi tin nhắn.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes",
|
||
"placeholders": {
|
||
"adminName": {
|
||
"content": "$1",
|
||
"example": "Alice"
|
||
}
|
||
}
|
||
},
|
||
"GroupV2--announcements--member--unknown": {
|
||
"message": "Nhóm đã được thay đổi để cho phép tất cả các thành viên gửi tin nhắn.",
|
||
"description": "Shown in timeline or conversation preview when v2 group changes"
|
||
},
|
||
"GroupV1--Migration--disabled": {
|
||
"message": "Nâng cấp nhóm này để kích hoạt các tính năng mới như @nhắc tên và admin. Các thành viên chưa có chia sẻ tên và ảnh của họ trong nhóm này sẽ được mời tham gia. $learnMore$",
|
||
"description": "Shown instead of composition area when user is forced to migrate a legacy group (GV1).",
|
||
"placeholders": {
|
||
"learnMore": {
|
||
"content": "$1",
|
||
"example": "Learn more."
|
||
}
|
||
}
|
||
},
|
||
"GroupV1--Migration--was-upgraded": {
|
||
"message": "Nhóm này đã được nâng cấp Nhóm Mới.",
|
||
"description": "Shown in timeline when a legacy group (GV1) is upgraded to a new group (GV2)"
|
||
},
|
||
"GroupV1--Migration--learn-more": {
|
||
"message": "Tìm hiểu thêm",
|
||
"description": "Shown on a bubble below a 'group was migrated' timeline notification, or as button on Migrate dialog"
|
||
},
|
||
"GroupV1--Migration--migrate": {
|
||
"message": "Nâng cấp",
|
||
"description": "Shown on Migrate dialog to kick off the process"
|
||
},
|
||
"GroupV1--Migration--info--title": {
|
||
"message": "Nhóm Mới là gì?",
|
||
"description": "Shown on Learn More popup after GV1 migration"
|
||
},
|
||
"GroupV1--Migration--migrate--title": {
|
||
"message": "Nâng cấp lên Nhóm Mới",
|
||
"description": "Shown on Migration popup after choosing to migrate group"
|
||
},
|
||
"GroupV1--Migration--info--summary": {
|
||
"message": "Nhóm Mới có các tính năng như @nhắc và admin nhóm, và sẽ hỗ trợ nhiều tính năng trong tương lai.",
|
||
"description": "Shown on Learn More popup after or Migration popup before GV1 migration"
|
||
},
|
||
"GroupV1--Migration--info--keep-history": {
|
||
"message": "Tất cả lịch sử tin nhắn và đa phương tiện đã được giữ lại trước khi cập nhật.",
|
||
"description": "Shown on Learn More popup after GV1 migration"
|
||
},
|
||
"GroupV1--Migration--migrate--keep-history": {
|
||
"message": "Tất cả lịch sử tin nhắn và đa phương tiện sẽ được giữ lại từ trước khi nâng cấp.",
|
||
"description": "Shown on Migration popup before GV1 migration"
|
||
},
|
||
"GroupV1--Migration--info--invited--you": {
|
||
"message": "Bạn sẽ cần phải chấp nhận lời mời để tham gia nhóm này một lần nữa, và sẽ không nhận tin nhắn nhóm cho tới khi bạn chấp nhận.",
|
||
"description": "Shown on Learn More popup after GV1 migration"
|
||
},
|
||
"GroupV1--Migration--info--invited--many": {
|
||
"message": "Những thành viên này sẽ cần đồng ý lời mời tham gia nhóm trở lại, và sẽ không nhận được tin nhắn cho tới khi họ đồng ý:",
|
||
"description": "Shown on Learn More popup after or Migration popup before GV1 migration"
|
||
},
|
||
"GroupV1--Migration--info--invited--one": {
|
||
"message": "Thành viên này cần đồng ý lời mời tham gia nhóm trở lại, và sẽ không nhận được tin nhắn cho tới khi họ đồng ý:",
|
||
"description": "Shown on Learn More popup after or Migration popup before GV1 migration"
|
||
},
|
||
"GroupV1--Migration--info--removed--before--many": {
|
||
"message": "Những thành viên này không thể tham gia các Nhóm Mới, và sẽ bị gỡ bỏ khỏi nhóm:",
|
||
"description": "Shown on Learn More popup after or Migration popup before GV1 migration"
|
||
},
|
||
"GroupV1--Migration--info--removed--before--one": {
|
||
"message": "Thành viên này không thể tham gia các Nhóm Mới, và sẽ bị gỡ bỏ khỏi nhóm:",
|
||
"description": "Shown on Learn More popup after or Migration popup before GV1 migration"
|
||
},
|
||
"GroupV1--Migration--info--removed--after--many": {
|
||
"message": "Những thành viên này không có khả năng tham gia Nhóm Mới, và đã bị loại bỏ khỏi nhóm:",
|
||
"description": "Shown on Learn More popup after or Migration popup before GV1 migration"
|
||
},
|
||
"GroupV1--Migration--info--removed--after--one": {
|
||
"message": "Thành viên này không có khả năng tham gia Nhóm Mới, và đã được loại bỏ khỏi nhóm:",
|
||
"description": "Shown on Learn More popup after or Migration popup before GV1 migration"
|
||
},
|
||
"GroupV1--Migration--invited--you": {
|
||
"message": "Bạn không thể được thêm vào Nhóm Mới và đã được mời tham dự.",
|
||
"description": "Shown in timeline when a group is upgraded and you were invited instead of added"
|
||
},
|
||
"GroupV1--Migration--invited--one": {
|
||
"message": "$contact$ không thể được thêm vào Nhóm Mới và đã được mời tham gia.",
|
||
"description": "Shown in timeline when a group is upgraded and one person was invited, instead of added",
|
||
"placeholders": {
|
||
"contact": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"GroupV1--Migration--invited--many": {
|
||
"message": "$count$ thành viên không thể được thêm vào Nhóm Mới và đã được mời tham gia.",
|
||
"description": "Shown in timeline when a group is upgraded and some people were invited, instead of added",
|
||
"placeholders": {
|
||
"contact": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"GroupV1--Migration--removed--one": {
|
||
"message": "$contact$ đã được loại bỏ khỏi nhóm.",
|
||
"description": "Shown in timeline when a group is upgraded and one person was removed entirely during the upgrade",
|
||
"placeholders": {
|
||
"contact": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"GroupV1--Migration--removed--many": {
|
||
"message": "$count$ thành viên đã được loại bỏ khỏi nhóm.",
|
||
"description": "Shown in timeline when a group is upgraded and some people were removed entirely during the upgrade",
|
||
"placeholders": {
|
||
"contact": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"close": {
|
||
"message": "Đóng",
|
||
"description": "Generic close label"
|
||
},
|
||
"previous": {
|
||
"message": "trước",
|
||
"description": "Generic previous label"
|
||
},
|
||
"next": {
|
||
"message": "tiếp theo",
|
||
"description": "Generic next label"
|
||
},
|
||
"BadgeDialog__become-a-sustainer-button": {
|
||
"message": "Trở thành người quyên góp",
|
||
"description": "In the badge dialog. This button is shown under sustainer badges, taking users to some instructions"
|
||
},
|
||
"BadgeSustainerInstructions__header": {
|
||
"message": "Trở thành người quyên góp",
|
||
"description": "In the instructions for becoming a sustainer. The heading."
|
||
},
|
||
"BadgeSustainerInstructions__subheader": {
|
||
"message": "Signal được hỗ trợ bởi những người như bạn. Đóng góp và nhận huy hiệu.",
|
||
"description": "In the instructions for becoming a sustainer. The subheading."
|
||
},
|
||
"BadgeSustainerInstructions__instructions__1": {
|
||
"message": "Mở Signal trên điện thoại của bạn",
|
||
"description": "In the instructions for becoming a sustainer. First instruction."
|
||
},
|
||
"BadgeSustainerInstructions__instructions__2": {
|
||
"message": "Nhấn vào ảnh đại diện của bạn ở góc trên bên trái để mở Cài đặt",
|
||
"description": "In the instructions for becoming a sustainer. Second instruction."
|
||
},
|
||
"BadgeSustainerInstructions__instructions__3": {
|
||
"message": "Nhấn vào \"Trở thành người hỗ trợ\" và đăng ký",
|
||
"description": "In the instructions for becoming a sustainer. Third instruction."
|
||
},
|
||
"CompositionArea--expand": {
|
||
"message": "Mở rộng",
|
||
"description": "Aria label for expanding composition area"
|
||
},
|
||
"CompositionArea--attach-file": {
|
||
"message": "Đính kèm tệp",
|
||
"description": "Aria label for file attachment button in composition area"
|
||
},
|
||
"CompositionArea--sms-only__title": {
|
||
"message": "Người này đang không dùng Signal",
|
||
"description": "Title for the composition area for the SMS-only contact"
|
||
},
|
||
"CompositionArea--sms-only__body": {
|
||
"message": "Signal Desktop không hỗ trợ nhắn tin cho các liên hệ ngoài-Signal. Hãy hỏi người này cài đặt Signal để có trải nghiệm nhắn tin bảo mật hơn.",
|
||
"description": "Body for the composition area for the SMS-only contact"
|
||
},
|
||
"CompositionArea--sms-only__spinner-label": {
|
||
"message": "Kiểm tra trạng thái đăng kí của liên hệ",
|
||
"description": "Displayed while checking if the contact is SMS-only"
|
||
},
|
||
"countMutedConversationsDescription": {
|
||
"message": "Bao gồm các cuộc hội thoại bị tắt tiếng vào số lượng huy hiệu",
|
||
"description": "Description for counting muted conversations in badge setting"
|
||
},
|
||
"ContactModal--message": {
|
||
"message": "Tin nhắn",
|
||
"description": "Button text for send message button in Group Contact Details modal"
|
||
},
|
||
"ContactModal--rm-admin": {
|
||
"message": "Bỏ quyền quản trị",
|
||
"description": "Button text for removing as admin button in Group Contact Details modal"
|
||
},
|
||
"ContactModal--make-admin": {
|
||
"message": "Đặt admin",
|
||
"description": "Button text for make admin button in Group Contact Details modal"
|
||
},
|
||
"ContactModal--make-admin-info": {
|
||
"message": "$contact$ sẽ có thể chỉnh sửa nhóm và các thành viên nhóm.",
|
||
"description": "Shown in a confirmation dialog when you are about to grant admin privileges to someone",
|
||
"placeholders": {
|
||
"contact": {
|
||
"content": "$1",
|
||
"example": "Homer"
|
||
}
|
||
}
|
||
},
|
||
"ContactModal--rm-admin-info": {
|
||
"message": "Xóa $contact$ với tư cách quản trị viên của nhóm?",
|
||
"description": "Shown in a confirmation dialog when you are about to remove admin privileges from someone",
|
||
"placeholders": {
|
||
"contact": {
|
||
"content": "$1",
|
||
"example": "Homer"
|
||
}
|
||
}
|
||
},
|
||
"ContactModal--remove-from-group": {
|
||
"message": "Loại bỏ khỏi nhóm",
|
||
"description": "Button text for remove from group button in Group Contact Details modal"
|
||
},
|
||
"showChatColorEditor": {
|
||
"message": "Màu trò chuyện",
|
||
"description": "This is a button in the conversation context menu to show the chat color editor"
|
||
},
|
||
"showConversationDetails": {
|
||
"message": "Cài đặt nhóm",
|
||
"description": "This is a button in the conversation context menu to show group settings"
|
||
},
|
||
"showConversationDetails--direct": {
|
||
"message": "Cài đặt trò chuyện",
|
||
"description": "This is a button in the conversation context menu to show chat settings"
|
||
},
|
||
"ConversationDetails__unmute--title": {
|
||
"message": "Bật tiếng cuộc trò chuyện này?",
|
||
"description": "Title for the modal to unmute a chat"
|
||
},
|
||
"ConversationDetails--group-link": {
|
||
"message": "Đường dẫn nhóm",
|
||
"description": "This is the label for the group link management panel"
|
||
},
|
||
"ConversationDetails--disappearing-messages-label": {
|
||
"message": "Tin nhắn tự hủy",
|
||
"description": "This is the label for the disappearing messages setting panel"
|
||
},
|
||
"ConversationDetails--disappearing-messages-info--group": {
|
||
"message": "Khi được bật, tin nhắn được gửi và nhận trong nhóm này sẽ biến mất sau khi chúng được xem.",
|
||
"description": "This is the info about the disappearing messages setting, in groups"
|
||
},
|
||
"ConversationDetails--disappearing-messages-info--direct": {
|
||
"message": "Khi được bật, các tin nhắn được gửi và nhận trong cuộc trò chuyện 1:1 này sẽ biến mất sau khi chúng được nhìn thấy.",
|
||
"description": "This is the info about the disappearing messages setting, for direct conversations"
|
||
},
|
||
"ConversationDetails--notifications": {
|
||
"message": "Thông báo",
|
||
"description": "This is the label for notifications in the conversation details screen"
|
||
},
|
||
"ConversationDetails--group-info-label": {
|
||
"message": "Ai có thể sửa thông tin nhóm",
|
||
"description": "This is the label for the 'who can edit the group' panel"
|
||
},
|
||
"ConversationDetails--group-info-info": {
|
||
"message": "Chọn ai có thể tuỳ chỉnh tên nhóm, ảnh, miêu tả, và đồng hồ đếm tin nhắn biến mất.",
|
||
"description": "This is the additional info for the 'who can edit the group' panel"
|
||
},
|
||
"ConversationDetails--add-members-label": {
|
||
"message": "Ai có thể thêm thành viên",
|
||
"description": "This is the label for the 'who can add members' panel"
|
||
},
|
||
"ConversationDetails--add-members-info": {
|
||
"message": "Chọn người có thể thêm thành viên vào nhóm này.",
|
||
"description": "This is the additional info for the 'who can add members' panel"
|
||
},
|
||
"ConversationDetails--announcement-label": {
|
||
"message": "Ai có thể giử tin nhắn",
|
||
"description": "This is the additional info for the 'who can send messages' panel"
|
||
},
|
||
"ConversationDetails--announcement-info": {
|
||
"message": "Chọn người có thể gửi tin nhắn cho nhóm.",
|
||
"description": "This is the additional info for the 'who can send messages' panel"
|
||
},
|
||
"ConversationDetails--requests-and-invites": {
|
||
"message": "Yêu cầu & Lời mời",
|
||
"description": "This is a button to display which members have been invited but have not joined yet"
|
||
},
|
||
"ConversationDetailsActions--leave-group": {
|
||
"message": "Rời nhóm",
|
||
"description": "This is a button to leave a group"
|
||
},
|
||
"ConversationDetailsActions--block-group": {
|
||
"message": "Chặn nhóm",
|
||
"description": "This is a button to block a group"
|
||
},
|
||
"ConversationDetailsActions--leave-group-must-choose-new-admin": {
|
||
"message": "Trước khi rời nhóm, bạn phải chọn ít nhất một quản trị viên mới cho nhóm này.",
|
||
"description": "Shown if, before leaving a group, you need to choose an admin"
|
||
},
|
||
"ConversationDetailsActions--leave-group-modal-title": {
|
||
"message": "Bạn có chắc chắn muốn rời khỏi nhóm?",
|
||
"description": "This is the modal title for confirming leaving a group"
|
||
},
|
||
"ConversationDetailsActions--leave-group-modal-content": {
|
||
"message": "Bạn sẽ không thể gửi hoặc nhận tin nhắn trong nhóm này nữa.",
|
||
"description": "This is the modal content for confirming leaving a group"
|
||
},
|
||
"ConversationDetailsActions--leave-group-modal-confirm": {
|
||
"message": "Rời khỏi",
|
||
"description": "This is the modal button to confirm leaving a group"
|
||
},
|
||
"ConversationDetailsActions--block-group-modal-title": {
|
||
"message": "Chặn và Rời Nhóm \"$groupName$\"?",
|
||
"description": "This is the modal title for confirming blocking a group",
|
||
"placeholders": {
|
||
"groupName": {
|
||
"content": "$1",
|
||
"example": "Our Conversation"
|
||
}
|
||
}
|
||
},
|
||
"ConversationDetailsActions--block-group-modal-content": {
|
||
"message": "Bạn sẽ không còn nhận tin nhắn hay cập nhật từ nhóm này nữa.",
|
||
"description": "This is the modal content for confirming blocking a group"
|
||
},
|
||
"ConversationDetailsActions--block-group-modal-confirm": {
|
||
"message": "Chặn",
|
||
"description": "This is the modal button to confirm blocking a group"
|
||
},
|
||
"ConversationDetailsHeader--members": {
|
||
"message": "$number$ thành viên",
|
||
"description": "This is the number of members in a group",
|
||
"placeholders": {
|
||
"number": {
|
||
"content": "$1",
|
||
"example": "10"
|
||
}
|
||
}
|
||
},
|
||
"ConversationDetailsMediaList--shared-media": {
|
||
"message": "Tệp đa phương tiện đã chia sẻ",
|
||
"description": "Title for the media thumbnails in the conversation details screen"
|
||
},
|
||
"ConversationDetailsMediaList--show-all": {
|
||
"message": "Xem tất cả",
|
||
"description": "This is a button on the conversation details to show all media"
|
||
},
|
||
"ConversationDetailsMembershipList--title": {
|
||
"message": "$number$ thành viên",
|
||
"description": "The title of the membership list panel",
|
||
"placeholders": {
|
||
"number": {
|
||
"content": "$1",
|
||
"example": "10"
|
||
}
|
||
}
|
||
},
|
||
"ConversationDetailsMembershipList--add-members": {
|
||
"message": "Thêm thành viên",
|
||
"description": "The button that you can click to add new members"
|
||
},
|
||
"ConversationDetailsMembershipList--show-all": {
|
||
"message": "Xem tất cả",
|
||
"description": "This is a button on the conversation details to show all members"
|
||
},
|
||
"ConversationNotificationsSettings__mentions__label": {
|
||
"message": "Nhắc tên",
|
||
"description": "In the conversation notifications settings, this is the label for the mentions option"
|
||
},
|
||
"ConversationNotificationsSettings__mentions__info": {
|
||
"message": "Nhận thông báo khi bạn được đề cập trong các cuộc trò chuyện bị tắt tiếng",
|
||
"description": "In the conversation notifications settings, this is the sub-label for the mentions option"
|
||
},
|
||
"ConversationNotificationsSettings__mentions__select__always-notify": {
|
||
"message": "Luôn luôn thông báo",
|
||
"description": "In the conversation notifications settings, this is the option that always notifies you for @mentions"
|
||
},
|
||
"ConversationNotificationsSettings__mentions__select__dont-notify-for-mentions-if-muted": {
|
||
"message": "Không thông báo nếu bị tắt tiếng",
|
||
"description": "In the conversation notifications settings, this is the option that doesn't notify you for @mentions if the conversation is muted"
|
||
},
|
||
"GroupLinkManagement--clipboard": {
|
||
"message": "Đường dẫn nhóm đã được sao chép.",
|
||
"description": "Shown in a toast when a user selects to copy group link"
|
||
},
|
||
"GroupLinkManagement--share": {
|
||
"message": "Sao chép đường dẫn",
|
||
"description": "This lets users share their group link"
|
||
},
|
||
"GroupLinkManagement--confirm-reset": {
|
||
"message": "Bạn có muốn cài lại đường dẫn nhóm? Người dùng khác sẽ không thể tham gia nhóm bằng đường dẫn hiện tại.",
|
||
"description": "Shown in the confirmation dialog when an admin is about to reset the group link"
|
||
},
|
||
"GroupLinkManagement--reset": {
|
||
"message": "Cài lại đường dẫn",
|
||
"description": "This lets users generate a new group link"
|
||
},
|
||
"GroupLinkManagement--approve-label": {
|
||
"message": "Chấp nhận thành viên mới",
|
||
"description": "Title for the approve new members select area"
|
||
},
|
||
"GroupLinkManagement--approve-info": {
|
||
"message": "Yêu cầu người quản lý chấp duyệt thành viên mới tham gia qua đường dẫn nhóm",
|
||
"description": "Description for the approve new members select area"
|
||
},
|
||
"PendingInvites--tab-requests": {
|
||
"message": "Yêu cầu ($count$)",
|
||
"description": "Label for the tab to view pending requests",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "4"
|
||
}
|
||
}
|
||
},
|
||
"PendingInvites--tab-invites": {
|
||
"message": "Lời mời ($count$)",
|
||
"description": "Label for the tab to view pending invites",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "2"
|
||
}
|
||
}
|
||
},
|
||
"PendingRequests--approve-for": {
|
||
"message": "Chấp duyệt yêu cầu từ \"$name$\"?",
|
||
"description": "This is the modal content when confirming approving a group request to join",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Meowsy Purrington"
|
||
}
|
||
}
|
||
},
|
||
"PendingRequests--deny-for": {
|
||
"message": "Từ chối yêu cầu từ \"$name$\"?",
|
||
"description": "This is the modal content when confirming denying a group request to join",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Meowsy Purrington"
|
||
}
|
||
}
|
||
},
|
||
"PendingRequests--deny-for--with-link": {
|
||
"message": "Deny request from \"$name$\"? They will not be able to request to join via the group link again.",
|
||
"description": "This is the modal content when confirming denying a group request to join",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Meowsy Purrington"
|
||
}
|
||
}
|
||
},
|
||
"PendingInvites--invites": {
|
||
"message": "Được mời bởi bạn",
|
||
"description": "This is the title list of all invites"
|
||
},
|
||
"PendingInvites--invited-by-you": {
|
||
"message": "Được mời bởi bạn",
|
||
"description": "This is the title for the list of members you have invited"
|
||
},
|
||
"PendingInvites--invited-by-others": {
|
||
"message": "Được mời bởi người khác",
|
||
"description": "This is the title for the list of members who have invited other people"
|
||
},
|
||
"PendingInvites--invited-count": {
|
||
"message": "Được mời bởi $number$",
|
||
"description": "This is the label for the number of members someone has invited",
|
||
"placeholders": {
|
||
"number": {
|
||
"content": "$1",
|
||
"example": "3"
|
||
}
|
||
}
|
||
},
|
||
"PendingInvites--revoke-for-label": {
|
||
"message": "Thu hồi lời mời tham gia nhóm",
|
||
"description": "This is aria label for revoking a group invite icon"
|
||
},
|
||
"PendingInvites--revoke-for": {
|
||
"message": "Thu hồi lời mời tham gia nhóm cho \"$name$\"?",
|
||
"description": "This is the modal content when confirming revoking a single invite",
|
||
"placeholders": {
|
||
"number": {
|
||
"content": "$1",
|
||
"example": "3"
|
||
},
|
||
"name": {
|
||
"content": "$2",
|
||
"example": "Fred Riley III"
|
||
}
|
||
}
|
||
},
|
||
"PendingInvites--revoke-from-singular": {
|
||
"message": "Thu hồi 1 lời mời gửi bởi \"$name$\"?",
|
||
"description": "This is the modal content when confirming revoking a single invite",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$2",
|
||
"example": "Fred Riley III"
|
||
}
|
||
}
|
||
},
|
||
"PendingInvites--revoke-from-plural": {
|
||
"message": "Thu hồi $number$ lời mời gửi bởi \"$name$\"?",
|
||
"description": "This is the modal content when confirming revoking multiple invites",
|
||
"placeholders": {
|
||
"number": {
|
||
"content": "$1",
|
||
"example": "3"
|
||
},
|
||
"name": {
|
||
"content": "$2",
|
||
"example": "Fred Riley III"
|
||
}
|
||
}
|
||
},
|
||
"PendingInvites--revoke": {
|
||
"message": "Thu hồi",
|
||
"description": "This is the modal button to confirm revoking invites"
|
||
},
|
||
"PendingRequests--approve": {
|
||
"message": "Chấp duyệt Yêu cầu",
|
||
"description": "This is the modal button to approve group request to join"
|
||
},
|
||
"PendingRequests--deny": {
|
||
"message": "Từ chối Yêu cầu",
|
||
"description": "This is the modal button to deny group request to join"
|
||
},
|
||
"PendingRequests--info": {
|
||
"message": "Những người trên danh sách này đang cố tham gia \"$name$\" qua đường dẫn nhóm.",
|
||
"description": "Information shown below the pending admin approval list",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Tahoe List"
|
||
}
|
||
}
|
||
},
|
||
"PendingInvites--info": {
|
||
"message": "Chi tiết về những người được mời tham gia nhóm này sẽ không được hiện cho đến khi họ tham gia. Những người được mời sẽ chỉ thấy các tin nhắn sau khi họ tham gia nhóm.",
|
||
"description": "Information shown below the invite list"
|
||
},
|
||
"PendingRequests--block--button": {
|
||
"message": "Block request",
|
||
"description": "Shown in timeline if users cancel their request to join a group via a group link"
|
||
},
|
||
"PendingRequests--block--title": {
|
||
"message": "Block request?",
|
||
"description": "Title of dialog to block a user from requesting to join via the link again"
|
||
},
|
||
"PendingRequests--block--contents": {
|
||
"message": "$name$ will not be able to join or request to join this group via the group link. They can still be added to the group manually.",
|
||
"description": "Details of dialog to block a user from requesting to join via the link again",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Annoying Person"
|
||
}
|
||
}
|
||
},
|
||
"PendingRequests--block--confirm": {
|
||
"message": "Block Request",
|
||
"description": "Confirmation button of dialog to block a user from requesting to join via the link again"
|
||
},
|
||
"AvatarInput--no-photo-label--group": {
|
||
"message": "Thêm ảnh nhóm",
|
||
"description": "The label for the avatar uploader when no group photo is selected"
|
||
},
|
||
"AvatarInput--no-photo-label--profile": {
|
||
"message": "Thêm một ảnh",
|
||
"description": "The label for the avatar uploader when no profile photo is selected"
|
||
},
|
||
"AvatarInput--change-photo-label": {
|
||
"message": "Đổi ảnh",
|
||
"description": "The label for the avatar uploader when a photo is selected"
|
||
},
|
||
"AvatarInput--upload-photo-choice": {
|
||
"message": "Đăng tải ảnh",
|
||
"description": "The button text when you click on an uploaded avatar and want to upload a new one"
|
||
},
|
||
"AvatarInput--remove-photo-choice": {
|
||
"message": "Gỡ ảnh",
|
||
"description": "The button text when you click on an uploaded avatar and want to remove it"
|
||
},
|
||
"ContactPill--remove": {
|
||
"message": "Gỡ bỏ liên hệ",
|
||
"description": "The label for the 'remove' button on the contact pill"
|
||
},
|
||
"ComposeErrorDialog--close": {
|
||
"message": "OK",
|
||
"description": "The text on the button when there's an error in the composer"
|
||
},
|
||
"NewlyCreatedGroupInvitedContactsDialog--title--one": {
|
||
"message": "Lời mời đã được gửi",
|
||
"description": "When creating a new group and inviting users, this is shown in the dialog"
|
||
},
|
||
"NewlyCreatedGroupInvitedContactsDialog--title--many": {
|
||
"message": "$count$ lời mời đã được gửi",
|
||
"description": "When creating a new group and inviting users, this is shown in the dialog",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "3"
|
||
}
|
||
}
|
||
},
|
||
"NewlyCreatedGroupInvitedContactsDialog--body--user-paragraph--one": {
|
||
"message": "$name$ không thể được thêm tự động vào nhóm này bởi bạn.",
|
||
"description": "When creating a new group and inviting users, this is shown in the dialog",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Jane Doe"
|
||
}
|
||
}
|
||
},
|
||
"NewlyCreatedGroupInvitedContactsDialog--body--user-paragraph--many": {
|
||
"message": "Những người dùng này không thể được thêm tự động vào nhóm này bởi bạn.",
|
||
"description": "When creating a new group and inviting users, this is shown in the dialog"
|
||
},
|
||
"NewlyCreatedGroupInvitedContactsDialog--body--info-paragraph": {
|
||
"message": "Họ đã được mời để tham gia, và sẽ không thấy các tin nhắn nhóm cho đến khi họ đồng ý.",
|
||
"description": "When creating a new group and inviting users, this is shown in the dialog"
|
||
},
|
||
"NewlyCreatedGroupInvitedContactsDialog--body--learn-more": {
|
||
"message": "Tìm hiểu thêm",
|
||
"description": "When creating a new group and inviting users, this is shown in the dialog"
|
||
},
|
||
"AddGroupMembersModal--title": {
|
||
"message": "Thêm thành viên",
|
||
"description": "When adding new members to an existing group, this is shown in the dialog"
|
||
},
|
||
"AddGroupMembersModal--continue-to-confirm": {
|
||
"message": "Cập nhật",
|
||
"description": "When adding new members to an existing group, this is shown in the dialog"
|
||
},
|
||
"AddGroupMembersModal--confirm-title--one": {
|
||
"message": "Thêm $person$ vào \"$group$\"?",
|
||
"description": "When adding new members to an existing group, this is shown in the confirmation dialog",
|
||
"placeholders": {
|
||
"person": {
|
||
"content": "$1",
|
||
"example": "Jane Doe"
|
||
},
|
||
"group": {
|
||
"content": "$2",
|
||
"example": "Tahoe Trip"
|
||
}
|
||
}
|
||
},
|
||
"AddGroupMembersModal--confirm-title--many": {
|
||
"message": "Thêm $count$ thành viên vào \"$group$\"?",
|
||
"description": "When adding new members to an existing group, this is shown in the confirmation dialog",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
},
|
||
"group": {
|
||
"content": "$2",
|
||
"example": "Tahoe Trip"
|
||
}
|
||
}
|
||
},
|
||
"AddGroupMembersModal--confirm-button--one": {
|
||
"message": "Thêm thành viên",
|
||
"description": "When adding new members to an existing group, this is shown on the confirmation dialog button"
|
||
},
|
||
"AddGroupMembersModal--confirm-button--many": {
|
||
"message": "Thêm thành viên",
|
||
"description": "When adding new members to an existing group, this is shown on the confirmation dialog button"
|
||
},
|
||
"createNewGroupButton": {
|
||
"message": "Tạo nhóm mới",
|
||
"description": "The text of the button to create new groups"
|
||
},
|
||
"selectContact": {
|
||
"message": "Chọn liên hệ $name$",
|
||
"description": "The label for contact checkboxes that are non-selected (clicking them should select the contact)",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "John"
|
||
}
|
||
}
|
||
},
|
||
"deselectContact": {
|
||
"message": "Bỏ chọn liên hệ $name$",
|
||
"description": "The label for contact checkboxes that are selected (clicking them should de-select the contact)",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "John"
|
||
}
|
||
}
|
||
},
|
||
"cannotSelectContact": {
|
||
"message": "Không thể lựa chọn liên hệ $name$",
|
||
"description": "The label for contact checkboxes that are disabled",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "John"
|
||
}
|
||
}
|
||
},
|
||
"alreadyAMember": {
|
||
"message": "Đã là thành viên",
|
||
"description": "The label for contact checkboxes that are disabled because they're already a member"
|
||
},
|
||
"MessageAudio--play": {
|
||
"message": "Phát đính kèm âm thanh",
|
||
"description": "Aria label for audio attachment's Play button"
|
||
},
|
||
"MessageAudio--pause": {
|
||
"message": "Ngưng phát đính kèm âm thanh",
|
||
"description": "Aria label for audio attachment's Pause button"
|
||
},
|
||
"MessageAudio--download": {
|
||
"message": "Tải đính kèm âm thanh",
|
||
"description": "Aria label for audio attachment's Download button"
|
||
},
|
||
"MessageAudio--pending": {
|
||
"message": "Đang tải đính kèm âm thanh...",
|
||
"description": "Aria label for pending audio attachment spinner"
|
||
},
|
||
"MessageAudio--slider": {
|
||
"message": "Thời gian phát lại của đính kèm âm thanh",
|
||
"description": "Aria label for audio attachment's playback time slider"
|
||
},
|
||
"emptyInboxMessage": {
|
||
"message": "Nhấn $composeIcon$ ở trên và tìm các liên hệ hoặc nhóm của bạn để nhắn tin.",
|
||
"description": "Shown in the left-pane when the inbox is empty",
|
||
"placeholders": {
|
||
"composeIcon": {
|
||
"content": "$1",
|
||
"example": "compose button"
|
||
}
|
||
}
|
||
},
|
||
"composeIcon": {
|
||
"message": "nút soạn thảo",
|
||
"description": "Shown in the left-pane when the inbox is empty. Describes the button that composes a new message."
|
||
},
|
||
"ForwardMessageModal--continue": {
|
||
"message": "Tiếp tục",
|
||
"description": "aria-label for the 'next' button in the forward a message modal dialog"
|
||
},
|
||
"TimelineDateHeader--date-in-last-6-months": {
|
||
"message": "ddd, MMM D",
|
||
"description": "Moment.js format for date headers in the message timeline, for dates <6 months old. See https://momentjs.com/docs/#/displaying/format/."
|
||
},
|
||
"TimelineDateHeader--date-older-than-6-months": {
|
||
"message": "MMM D, YYYY",
|
||
"description": "Moment.js format for date headers in the message timeline, for dates >=6 months old. See https://momentjs.com/docs/#/displaying/format/."
|
||
},
|
||
"MessageRequestWarning__learn-more": {
|
||
"message": "Tìm hiểu thêm",
|
||
"description": "Shown on the message request warning. Clicking this button will open a dialog with more information"
|
||
},
|
||
"MessageRequestWarning__dialog__details": {
|
||
"message": "Bạn không có chung nhóm nào với người này. Xem qua các yêu cầu cẩn thận trước khi đồng ý để tránh các tin nhắn không muốn.",
|
||
"description": "Shown in the message request warning dialog. Gives more information about message requests"
|
||
},
|
||
"MessageRequestWarning__dialog__learn-even-more": {
|
||
"message": "Về Yêu cầu Nhắn tin",
|
||
"description": "Shown in the message request warning dialog. Clicking this button will open a page on Signal's support site"
|
||
},
|
||
"ContactSpoofing__same-name": {
|
||
"message": "Xem lại các yêu cầu cẩn thận. Signal tìm thấy một liên hệ khác với cùng tên. $link$",
|
||
"description": "Shown in the timeline warning when you have a message request from someone with the same name as someone else",
|
||
"placeholders": {
|
||
"link": {
|
||
"content": "$1",
|
||
"example": "Review request"
|
||
}
|
||
}
|
||
},
|
||
"ContactSpoofing__same-name-in-group": {
|
||
"message": "$count$ thành viên nhóm có cùng tên. $link$",
|
||
"description": "Shown in the timeline warning when you multiple group members have the same name",
|
||
"placeholders": {
|
||
"count": {
|
||
"content": "$1",
|
||
"example": "3"
|
||
},
|
||
"link": {
|
||
"content": "$2",
|
||
"example": "Tap to review"
|
||
}
|
||
}
|
||
},
|
||
"ContactSpoofing__same-name__link": {
|
||
"message": "Xem lại yêu cầu",
|
||
"description": "Shown in the timeline warning when you have a message request from someone with the same name as someone else"
|
||
},
|
||
"ContactSpoofing__same-name-in-group__link": {
|
||
"message": "Nhấn để xem",
|
||
"description": "Shown in the timeline warning when you multiple group members have the same name"
|
||
},
|
||
"ContactSpoofingReviewDialog__title": {
|
||
"message": "Xem lại yêu cầu",
|
||
"description": "Title for the contact name spoofing review dialog"
|
||
},
|
||
"ContactSpoofingReviewDialog__description": {
|
||
"message": "Nếu bạn không chắc yêu cầu từ người nào, xem các liên hệ bên dưới và chọn hành động.",
|
||
"description": "Description for the contact spoofing review dialog"
|
||
},
|
||
"ContactSpoofingReviewDialog__possibly-unsafe-title": {
|
||
"message": "Yêu cầu",
|
||
"description": "Header in the contact spoofing review dialog, shown above the potentially-unsafe user"
|
||
},
|
||
"ContactSpoofingReviewDialog__safe-title": {
|
||
"message": "Liên hệ của bạn",
|
||
"description": "Header in the contact spoofing review dialog, shown above the \"safe\" user"
|
||
},
|
||
"ContactSpoofingReviewDialog__group__title": {
|
||
"message": "Xem lại thành viên",
|
||
"description": "Title for the contact name spoofing review dialog in groups"
|
||
},
|
||
"ContactSpoofingReviewDialog__group__description": {
|
||
"message": "$count$ thành viên nhóm có tên giống nhau. Xem lại các thành viên bên dưới hoặc chọn để thực hiện hành động.",
|
||
"description": "Description for the group contact spoofing review dialog"
|
||
},
|
||
"ContactSpoofingReviewDialog__group__members-header": {
|
||
"message": "Thành viên",
|
||
"description": "Header in the group contact spoofing review dialog. After this header, there will be a list of members"
|
||
},
|
||
"ContactSpoofingReviewDialog__group__name-change-info": {
|
||
"message": "Gần đây vừa đổi tên hồ sơ đại diện của họ từ $oldName$ sang $newName$",
|
||
"description": "In the group contact spoofing review dialog, this text is shown when someone has changed their name recently",
|
||
"placeholders": {
|
||
"oldName": {
|
||
"content": "$1",
|
||
"example": "Jane Doe"
|
||
},
|
||
"newName": {
|
||
"content": "$2",
|
||
"example": "Doe Jane"
|
||
}
|
||
}
|
||
},
|
||
"RemoveGroupMemberConfirmation__remove-button": {
|
||
"message": "Xóa khỏi nhóm",
|
||
"description": "When confirming the removal of a group member, show this text in the button"
|
||
},
|
||
"RemoveGroupMemberConfirmation__description": {
|
||
"message": "Loại bỏ \"$name$\" khỏi nhóm?",
|
||
"description": "When confirming the removal of a group member, show this text in the dialog",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Jane Doe"
|
||
}
|
||
}
|
||
},
|
||
"RemoveGroupMemberConfirmation__description__with-link": {
|
||
"message": "Remove \"$name$\" from the group? They will not be able to rejoin via the group link.",
|
||
"description": "When confirming the removal of a group member, show this text in the dialog",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Jane Doe"
|
||
}
|
||
}
|
||
},
|
||
"CaptchaDialog__title": {
|
||
"message": "Hãy xác minh để tiếp tục nhắn tin.",
|
||
"description": "Header in the captcha dialog"
|
||
},
|
||
"CaptchaDialog__first-paragraph": {
|
||
"message": "Để hạn chế spam trên Signal, vui lòng thực hiện xác minh.",
|
||
"description": "First paragraph in the captcha dialog"
|
||
},
|
||
"CaptchaDialog__second-paragraph": {
|
||
"message": "Sau khi xác minh, bạn có thể tiếp tục nhắn tin. Những tin nhắn đang tạm dừng sẽ được tự động gửi.",
|
||
"description": "First paragraph in the captcha dialog"
|
||
},
|
||
"CaptchaDialog--can-close__title": {
|
||
"message": "Tiếp tục mà không cần xác minh?",
|
||
"description": "Header in the captcha dialog that can be closed"
|
||
},
|
||
"CaptchaDialog--can-close__body": {
|
||
"message": "Nếu bạn chọn để bỏ qua xác minh, bạn có thể bỏ lỡ tin nhắn từ người khác và tin nhắn của bạn có thể sẽ không gửi được.",
|
||
"description": "Body of the captcha dialog that can be closed"
|
||
},
|
||
"CaptchaDialog--can_close__skip-verification": {
|
||
"message": "Bỏ qua xác minh",
|
||
"description": "Skip button of the captcha dialog that can be closed"
|
||
},
|
||
"verificationComplete": {
|
||
"message": "Xác minh hoàn tất.",
|
||
"description": "Displayed after successful captcha"
|
||
},
|
||
"verificationFailed": {
|
||
"message": "Xác minh không thành công. Xin thử lại sau.",
|
||
"description": "Displayed after unsuccessful captcha"
|
||
},
|
||
"deleteForEveryoneFailed": {
|
||
"message": "Xoá tin nhắn cho mọi người không thành công. Xin thử lại sau.",
|
||
"description": "Displayed when delete-for-everyone has failed to send to all recipients"
|
||
},
|
||
"ChatColorPicker__delete--title": {
|
||
"message": "Xoá màu",
|
||
"description": "Confirm title for deleting custom color"
|
||
},
|
||
"ChatColorPicker__delete--message": {
|
||
"message": "Màu tuỳ chọn này được dùng trong $num$ cuộc trò chuyện. Bạn có muốn xoá cho tất cả các cuộc trò chuyện?",
|
||
"description": "Confirm message for deleting custom color",
|
||
"placeholders": {
|
||
"num": {
|
||
"content": "$1",
|
||
"example": "5"
|
||
}
|
||
}
|
||
},
|
||
"ChatColorPicker__global-chat-color": {
|
||
"message": "Màu cuộc trò chuyện chung",
|
||
"description": "Modal title for the chat color picker and editor for all conversations"
|
||
},
|
||
"ChatColorPicker__menu-title": {
|
||
"message": "Màu Cuộc trò chuyện",
|
||
"description": "View title for the chat color picker and editor"
|
||
},
|
||
"ChatColorPicker__reset": {
|
||
"message": "Cài lại màu cuộc trò chuyện",
|
||
"description": "Button label for resetting chat colors"
|
||
},
|
||
"ChatColorPicker__resetDefault": {
|
||
"message": "Cài lại các Màu Cuộc trò chuyện",
|
||
"description": "Confirmation dialog title for resetting all chat colors or only the global default one"
|
||
},
|
||
"ChatColorPicker__resetAll": {
|
||
"message": "Cài lại tất cả các màu cuộc trò chuyện",
|
||
"description": "Button label for resetting all chat colors"
|
||
},
|
||
"ChatColorPicker__confirm-reset-default": {
|
||
"message": "Cài lại mặc định",
|
||
"description": "Button label for resetting only global chat color"
|
||
},
|
||
"ChatColorPicker__confirm-reset": {
|
||
"message": "Đặt lại",
|
||
"description": "Confirm button label for resetting chat colors"
|
||
},
|
||
"ChatColorPicker__confirm-reset-message": {
|
||
"message": "Bạn có muốn ghi đè tất cả các màu trò chuyện?",
|
||
"description": "Modal message text for confirming resetting of chat colors"
|
||
},
|
||
"ChatColorPicker__custom-color--label": {
|
||
"message": "Hiện bảng chỉnh sửa màu tuỳ chỉnh",
|
||
"description": "aria-label for custom color editor button"
|
||
},
|
||
"ChatColorPicker__sampleBubble1": {
|
||
"message": "Đây là mẫu xem trước của màu cuộc trò chuyện.",
|
||
"description": "An example message bubble for selecting the chat color"
|
||
},
|
||
"ChatColorPicker__sampleBubble2": {
|
||
"message": "Một bong bóng khác.",
|
||
"description": "An example message bubble for selecting the chat color"
|
||
},
|
||
"ChatColorPicker__sampleBubble3": {
|
||
"message": "Màu này chỉ có bạn thấy được.",
|
||
"description": "An example message bubble for selecting the chat color"
|
||
},
|
||
"ChatColorPicker__context--edit": {
|
||
"message": "Tuỳ chỉnh màu",
|
||
"description": "Option in the custom color bubble context menu"
|
||
},
|
||
"ChatColorPicker__context--duplicate": {
|
||
"message": "Sao chép",
|
||
"description": "Option in the custom color bubble context menu"
|
||
},
|
||
"ChatColorPicker__context--delete": {
|
||
"message": "Xóa",
|
||
"description": "Option in the custom color bubble context menu"
|
||
},
|
||
"CustomColorEditor__solid": {
|
||
"message": "Đặc",
|
||
"description": "Tab label for selecting solid colors"
|
||
},
|
||
"CustomColorEditor__gradient": {
|
||
"message": "Theo nhiệt độ",
|
||
"description": "Tab label for selecting a gradient"
|
||
},
|
||
"CustomColorEditor__hue": {
|
||
"message": "Sắc",
|
||
"description": "Label for the hue slider"
|
||
},
|
||
"CustomColorEditor__saturation": {
|
||
"message": "Bão hoà",
|
||
"description": "Label for the saturation slider"
|
||
},
|
||
"CustomColorEditor__title": {
|
||
"message": "Màu tuỳ chỉnh",
|
||
"description": "Modal title for the custom color editor"
|
||
},
|
||
"customDisappearingTimeOption": {
|
||
"message": "Thời gian tuỳ chỉnh...",
|
||
"description": "Text for an option in Disappearing Messages menu and Conversation Details Disappearing Messages setting when no user value is available"
|
||
},
|
||
"selectedCustomDisappearingTimeOption": {
|
||
"message": "Thời gian tuỳ chỉnh",
|
||
"description": "Text for an option in Conversation Details Disappearing Messages setting when user previously selected custom time"
|
||
},
|
||
"DisappearingTimeDialog__label--value": {
|
||
"message": "Number",
|
||
"description": "aria-label for the number select box"
|
||
},
|
||
"DisappearingTimeDialog__label--units": {
|
||
"message": "Unit of time",
|
||
"description": "aria-label for the units of time select box"
|
||
},
|
||
"DisappearingTimeDialog__title": {
|
||
"message": "Thời gian Tuỳ chỉnh",
|
||
"description": "Title for the custom disappearing message timeout dialog"
|
||
},
|
||
"DisappearingTimeDialog__body": {
|
||
"message": "Chọn thời gian tuỳ chỉnh cho tin nhắn biến mất.",
|
||
"description": "Body for the custom disappearing message timeout dialog"
|
||
},
|
||
"DisappearingTimeDialog__set": {
|
||
"message": "Cài",
|
||
"description": "Text for the dialog button confirming the custom disappearing message timeout"
|
||
},
|
||
"DisappearingTimeDialog__seconds": {
|
||
"message": "Giây",
|
||
"description": "Name of the 'seconds' unit select for the custom disappearing message timeout dialog"
|
||
},
|
||
"DisappearingTimeDialog__minutes": {
|
||
"message": "Phút",
|
||
"description": "Name of the 'minutes' unit select for the custom disappearing message timeout dialog"
|
||
},
|
||
"DisappearingTimeDialog__hours": {
|
||
"message": "Giờ",
|
||
"description": "Name of the 'hours' unit select for the custom disappearing message timeout dialog"
|
||
},
|
||
"DisappearingTimeDialog__days": {
|
||
"message": "Ngày",
|
||
"description": "Name of the 'days' unit select for the custom disappearing message timeout dialog"
|
||
},
|
||
"DisappearingTimeDialog__weeks": {
|
||
"message": "Tuần",
|
||
"description": "Name of the 'weeks' unit select for the custom disappearing message timeout dialog"
|
||
},
|
||
"settings__DisappearingMessages__footer": {
|
||
"message": "Đặt đồng hồ tin nhắn biến mất mặc định cho tất cả các cuộc trò chuyện mới bắt đầu bởi bạn.",
|
||
"description": "Footer for the Disappearing Messages settings section"
|
||
},
|
||
"settings__DisappearingMessages__timer__label": {
|
||
"message": "Đồng hồ mặc định cho tất cả cuộc trò chuyện mới",
|
||
"description": "Label for the Disappearing Messages default timer setting"
|
||
},
|
||
"UniversalTimerNotification__text": {
|
||
"message": "Thời gian biến mất tin nhắn sẽ được cài thành $timeValue$ khi bạn nhắn tin họ.",
|
||
"description": "A message displayed when default disappearing message timeout is about to be applied",
|
||
"placeholders": {
|
||
"timeValue": {
|
||
"content": "$1",
|
||
"example": "1 week"
|
||
}
|
||
}
|
||
},
|
||
"ErrorBoundaryNotification__text": {
|
||
"message": "Không thể hiển thị tin nhắn này. Nhấp để gửi nhật ký gỡ lỗi.",
|
||
"description": "An error notification displayed when message fails to render due to an internal error"
|
||
},
|
||
"GroupDescription__read-more": {
|
||
"message": "đọc thêm",
|
||
"description": "Button text when the group description is too long"
|
||
},
|
||
"EditConversationAttributesModal__description-warning": {
|
||
"message": "Miêu tả nhóm sẽ được nhìn thấy bởi thành viên của nhóm này và những người đã được mời.",
|
||
"description": "Label text shown when editing group description"
|
||
},
|
||
"ConversationDetailsHeader--add-group-description": {
|
||
"message": "Thêm miêu tả nhóm...",
|
||
"description": "Placeholder text in the details header for those that can edit the group description"
|
||
},
|
||
"MediaQualitySelector--button": {
|
||
"message": "Chọn chất lượng đa phương tiện",
|
||
"description": "aria-label for the media quality selector button"
|
||
},
|
||
"MediaQualitySelector--title": {
|
||
"message": "Chất lượng Đa phương tiện",
|
||
"description": "Popup selector title"
|
||
},
|
||
"MediaQualitySelector--standard-quality-title": {
|
||
"message": "Tiêu chuẩn",
|
||
"description": "Title for option for standard quality"
|
||
},
|
||
"MediaQualitySelector--standard-quality-description": {
|
||
"message": "Nhanh hơn, ít dữ liệu",
|
||
"description": "Description of standard quality selector"
|
||
},
|
||
"MediaQualitySelector--high-quality-title": {
|
||
"message": "Cao",
|
||
"description": "Title for option for high quality"
|
||
},
|
||
"MediaQualitySelector--high-quality-description": {
|
||
"message": "Chậm hơn, nhiều dữ liệu",
|
||
"description": "Description of high quality selector"
|
||
},
|
||
"MessageDetailsHeader--Failed": {
|
||
"message": "Chưa gửi",
|
||
"description": "In the message details screen, shown above contacts where the message failed to deliver"
|
||
},
|
||
"MessageDetailsHeader--Pending": {
|
||
"message": "Đang chờ",
|
||
"description": "In the message details screen, shown above contacts where the message is still sending"
|
||
},
|
||
"MessageDetailsHeader--Sent": {
|
||
"message": "Gửi từ",
|
||
"description": "In the message details screen, shown above contacts where the message has been sent (but not delivered, read, or viewed)"
|
||
},
|
||
"MessageDetailsHeader--Delivered": {
|
||
"message": "Đã chuyển tới",
|
||
"description": "In the message details screen, shown above contacts who have received your message"
|
||
},
|
||
"MessageDetailsHeader--Read": {
|
||
"message": "Đã đọc bởi",
|
||
"description": "In the message details screen, shown above contacts who have read this message"
|
||
},
|
||
"MessageDetailsHeader--Viewed": {
|
||
"message": "Được xem bởi",
|
||
"description": "In the message details screen, shown above contacts who have viewed this message"
|
||
},
|
||
"ProfileEditor--about": {
|
||
"message": "Thông tin",
|
||
"description": "Default text for about field"
|
||
},
|
||
"ProfileEditor--username": {
|
||
"message": "Tên người dùng",
|
||
"description": "Default text for username field"
|
||
},
|
||
"ProfileEditor--username--placeholder": {
|
||
"message": "Nhập tên người dùng",
|
||
"description": "Placeholder for the username field"
|
||
},
|
||
"ProfileEditor--username--helper": {
|
||
"message": "Tên người dùng trên Signal là không bắt buộc. Nếu bạn chọn tạo một tên người dùng, những người dùng Signal khác sẽ có thể tìm được bạn bằng tên này và liên lạc với bạn mà không cần biết số điện thoại của bạn.",
|
||
"description": "Shown on the edit username screen"
|
||
},
|
||
"ProfileEditor--username--check-characters": {
|
||
"message": "Tên người dùng chỉ có thể chứa a-z, 0-9 và _",
|
||
"description": "Shown if user has attempted to use forbidden characters"
|
||
},
|
||
"ProfileEditor--username--check-starting-character": {
|
||
"message": "Tên người dùng không được bắt đầu bằng số.",
|
||
"description": "Shown if user has attempted to begin their username with a number"
|
||
},
|
||
"ProfileEditor--username--check-character-min": {
|
||
"message": "Tên người dùng phải có ít nhất $min$ ký tự.",
|
||
"description": "Shown if user has attempted to enter a username with too few characters - currently min is 3",
|
||
"placeholders": {
|
||
"min": {
|
||
"content": "$1",
|
||
"example": "3"
|
||
}
|
||
}
|
||
},
|
||
"ProfileEditor--username--check-character-max": {
|
||
"message": "Tên người dùng phải có tối đa $max$ ký tự.",
|
||
"description": "Shown if user has attempted to enter a username with too many characters - currently min is 25",
|
||
"placeholders": {
|
||
"max": {
|
||
"content": "$1",
|
||
"example": "25"
|
||
}
|
||
}
|
||
},
|
||
"ProfileEditor--username--check-username-taken": {
|
||
"message": "Tên người dùng này đã được sử dụng.",
|
||
"description": "Shown if user has attempted to save a username which is not available"
|
||
},
|
||
"ProfileEditor--username--general-error": {
|
||
"message": "Tên người dùng của bạn không thể lưu. Kiểm tra kết nối của bạn và thử lại.",
|
||
"description": "Shown if something unknown has gone wrong with username save."
|
||
},
|
||
"ProfileEditor--username--delete-general-error": {
|
||
"message": "Tên người dùng của bạn không thể xóa. Kiểm tra kết nối của bạn và thử lại.",
|
||
"description": "Shown if something unknown has gone wrong with username delete."
|
||
},
|
||
"ProfileEditor--username--delete-username": {
|
||
"message": "Xóa tên người dùng",
|
||
"description": "Shown as aria label for trash icon next to username"
|
||
},
|
||
"ProfileEditor--username--confirm-delete-body": {
|
||
"message": "Thao tác này sẽ xóa tên người dùng của bạn, cho phép người dùng khác xác nhận quyền sở hữu. Bạn có chắc không?",
|
||
"description": "Shown in dialog body if user has saved an empty string to delete their username"
|
||
},
|
||
"ProfileEditor--username--confirm-delete-button": {
|
||
"message": "Xóa",
|
||
"description": "Shown in dialog button if user has saved an empty string to delete their username"
|
||
},
|
||
"ProfileEditor--about-placeholder": {
|
||
"message": "Viết vài điều về bản thân bạn...",
|
||
"description": "Placeholder text for about input field"
|
||
},
|
||
"ProfileEditor--first-name": {
|
||
"message": "Tên Đầu (Bắt buộc)",
|
||
"description": "Placeholder text for first name field"
|
||
},
|
||
"ProfileEditor--last-name": {
|
||
"message": "Tên Họ (Không bắt buộc)",
|
||
"description": "Placeholder text for last name field"
|
||
},
|
||
"ConfirmDiscardDialog--discard": {
|
||
"message": "Bạn có muốn bỏ các thay đổi này?",
|
||
"description": "ConfirmationDialog text for discarding changes"
|
||
},
|
||
"ProfileEditor--info": {
|
||
"message": "Hồ sơ của bạn đã được mã hóa. Hồ sơ của bạn và các thay đổi đối với hồ sơ sẽ hiển thị với các liên hệ của bạn và khi bạn bắt đầu hoặc chấp nhận các cuộc trò chuyện mới. $learnMore$",
|
||
"description": "Information shown at the bottom of the profile editor section",
|
||
"placeholders": {
|
||
"learnMore": {
|
||
"content": "$1",
|
||
"example": "Learn More."
|
||
}
|
||
}
|
||
},
|
||
"ProfileEditor--learnMore": {
|
||
"message": "Tìm hiểu thêm",
|
||
"description": "Text that links to a support article"
|
||
},
|
||
"Bio--speak-freely": {
|
||
"message": "Nói chuyện tự do",
|
||
"description": "A default bio option"
|
||
},
|
||
"Bio--encrypted": {
|
||
"message": "Đã được mã hóa",
|
||
"description": "A default bio option"
|
||
},
|
||
"Bio--free-to-chat": {
|
||
"message": "Rảnh để trò chuyện",
|
||
"description": "A default bio option"
|
||
},
|
||
"Bio--coffee-lover": {
|
||
"message": "Nghiện cà phê",
|
||
"description": "A default bio option"
|
||
},
|
||
"Bio--taking-break": {
|
||
"message": "Đang nghỉ ngơi",
|
||
"description": "A default bio option"
|
||
},
|
||
"ProfileEditorModal--profile": {
|
||
"message": "Hồ sơ",
|
||
"description": "Title for profile editing"
|
||
},
|
||
"ProfileEditorModal--name": {
|
||
"message": "Tên của Bạn",
|
||
"description": "Title for editing your name"
|
||
},
|
||
"ProfileEditorModal--about": {
|
||
"message": "Thông tin",
|
||
"description": "Title for about editing"
|
||
},
|
||
"ProfileEditorModal--avatar": {
|
||
"message": "Hình đại diện của bạn",
|
||
"description": "Title for profile avatar editing"
|
||
},
|
||
"ProfileEditorModal--username": {
|
||
"message": "Tên người dùng",
|
||
"description": "Title for username editing"
|
||
},
|
||
"ProfileEditorModal--error": {
|
||
"message": "Hồ sơ của bạn không thể cập nhật. Vui lòng thử lại.",
|
||
"description": "Error message when something goes wrong updating your profile."
|
||
},
|
||
"AnnouncementsOnlyGroupBanner--modal": {
|
||
"message": "Nhắn tin cho quản trị viên",
|
||
"description": "Modal title for the list of admins in a group"
|
||
},
|
||
"AnnouncementsOnlyGroupBanner--announcements-only": {
|
||
"message": "Chỉ $admins$ có thể gửi tin nhắn",
|
||
"description": "Displayed if sending of messages is disabled to non-admins",
|
||
"placeholders": {
|
||
"admins": {
|
||
"content": "$1",
|
||
"example": "admins"
|
||
}
|
||
}
|
||
},
|
||
"AnnouncementsOnlyGroupBanner--admins": {
|
||
"message": "người quản trị",
|
||
"description": "Clickable text describing administrators of a group, used in the message an admin label"
|
||
},
|
||
"AvatarEditor--choose": {
|
||
"message": "Chọn Anhr đại diện",
|
||
"description": "Label for the avatar selector"
|
||
},
|
||
"AvatarColorPicker--choose": {
|
||
"message": "Chọn một màu sắc",
|
||
"description": "Label for when you need to choose your fighter, err color"
|
||
},
|
||
"LeftPaneSetGroupMetadataHelper__avatar-modal-title": {
|
||
"message": "Hình đại diện nhóm",
|
||
"description": "Title for the avatar picker in the group creation flow"
|
||
},
|
||
"Preferences__button--general": {
|
||
"message": "Chung",
|
||
"description": "Button to switch the settings view"
|
||
},
|
||
"Preferences__button--appearance": {
|
||
"message": "Diện mạo",
|
||
"description": "Button to switch the settings view"
|
||
},
|
||
"Preferences__button--chats": {
|
||
"message": "Trò chuyện",
|
||
"description": "Button to switch the settings view (and a title of pane)"
|
||
},
|
||
"Preferences__button--calls": {
|
||
"message": "Cuộc gọi",
|
||
"description": "Button to switch the settings view"
|
||
},
|
||
"Preferences__button--notifications": {
|
||
"message": "Thông báo",
|
||
"description": "Button to switch the settings view"
|
||
},
|
||
"Preferences__button--privacy": {
|
||
"message": "Riêng tư",
|
||
"description": "Button to switch the settings view"
|
||
},
|
||
"Preferences--lastSynced": {
|
||
"message": "Lần nhập cuối cùng vào lúc $date$ $time$",
|
||
"description": "Label for date and time of last sync operation",
|
||
"placeholders": {
|
||
"date": {
|
||
"content": "$1",
|
||
"example": "6/9/2020"
|
||
},
|
||
"time": {
|
||
"content": "$2",
|
||
"example": "7:37:25 PM"
|
||
}
|
||
}
|
||
},
|
||
"Preferences--system": {
|
||
"message": "Hệ thống",
|
||
"description": "Title for system type settings"
|
||
},
|
||
"Preferences--zoom": {
|
||
"message": "Mức độ phóng to",
|
||
"description": "Label for changing the zoom level"
|
||
},
|
||
"Preferences__link-previews--title": {
|
||
"message": "Tạo xem trước liên kết",
|
||
"description": "Title for the generate link previews setting"
|
||
},
|
||
"Preferences__link-previews--description": {
|
||
"message": "Để thay đổi cài đặt này, hãy mở ứng dụng Signal trên thiết bị di động của bạn và điều hướng đến Cài đặt> Trò chuyện",
|
||
"description": "Description for the generate link previews setting"
|
||
},
|
||
"Preferences--advanced": {
|
||
"message": "Nâng cao",
|
||
"description": "Title for advanced settings"
|
||
},
|
||
"Preferences--notification-content": {
|
||
"message": "Nội dung thông báo",
|
||
"description": "Label for the notification content setting select box"
|
||
},
|
||
"Preferences--blocked": {
|
||
"message": "Đã chặn",
|
||
"description": "Label for blocked contacts setting"
|
||
},
|
||
"Preferences--blocked-count-singular": {
|
||
"message": "$num$ liên hệ",
|
||
"description": "Number of contacts blocked singular",
|
||
"placeholders": {
|
||
"num": {
|
||
"content": "$1",
|
||
"example": "1"
|
||
}
|
||
}
|
||
},
|
||
"Preferences--blocked-count-plural": {
|
||
"message": "$num$ các liên hệ",
|
||
"description": "Number of contacts blocked plural",
|
||
"placeholders": {
|
||
"num": {
|
||
"content": "$1",
|
||
"example": "20"
|
||
}
|
||
}
|
||
},
|
||
"Preferences__who-can--title": {
|
||
"message": "Ai có thể...",
|
||
"description": "Title for the 'who can do X' setting"
|
||
},
|
||
"Preferences__privacy--description": {
|
||
"message": "Để thay đổi các cài đặt này, hãy mở ứng dụng Signal trên thiết bị di động của bạn và điều hướng đến Cài đặt> Quyền riêng tư",
|
||
"description": "Description for the 'who can do X' setting"
|
||
},
|
||
"Preferences__who-can--everybody": {
|
||
"message": "Tất cả mọi người",
|
||
"description": "Option for who can see my X select"
|
||
},
|
||
"Preferences__who-can--contacts": {
|
||
"message": "Liên hệ của Tôi",
|
||
"description": "Option for who can see my X select"
|
||
},
|
||
"Preferences__who-can--nobody": {
|
||
"message": "Không ai",
|
||
"description": "Option for who can see my X select"
|
||
},
|
||
"Preferences--messaging": {
|
||
"message": "Nhắn tin",
|
||
"description": "Title for the messaging settings"
|
||
},
|
||
"Preferences--see-me": {
|
||
"message": "Thấy số điện thoại của tôi",
|
||
"description": "Label for the see my phone number setting"
|
||
},
|
||
"Preferences--find-me": {
|
||
"message": "Tìm tôi theo số điện thoại của tôi",
|
||
"description": "Label for the find me by my phone number setting"
|
||
},
|
||
"Preferences--read-receipts": {
|
||
"message": "Thông báo đã xem",
|
||
"description": "Label for the read receipts setting"
|
||
},
|
||
"Preferences--typing-indicators": {
|
||
"message": "Thông báo đang nhập",
|
||
"description": "Label for the typing indicators setting"
|
||
},
|
||
"Preferences--updates": {
|
||
"message": "Cập nhật",
|
||
"description": "Header for settings having to do with updates"
|
||
},
|
||
"Preferences__download-update": {
|
||
"message": "Tự động tải các bản cập nhật",
|
||
"description": "Label for checkbox for the auto download updates setting"
|
||
},
|
||
"Preferences__enable-notifications": {
|
||
"message": "Bật thông báo",
|
||
"description": "Label for checkbox for the notifications setting"
|
||
},
|
||
"Preferences__devices": {
|
||
"message": "Các thiết bị",
|
||
"description": "Label for Device list in call settings pane"
|
||
},
|
||
"DialogUpdate--version-available": {
|
||
"message": "Cập nhật liên phiên bản $version$ có sẵn",
|
||
"description": "Tooltip for new update available",
|
||
"placeholders": {
|
||
"status": {
|
||
"content": "$1",
|
||
"example": "v7.7.7"
|
||
}
|
||
}
|
||
},
|
||
"NSIS__retry-dialog--first-line": {
|
||
"message": "Signal không thể đóng",
|
||
"description": "First line of the dialog displayed when Windows installer can't close application automatically and needs user intervention to complete the installation."
|
||
},
|
||
"NSIS__retry-dialog--second-line": {
|
||
"message": "Vui lòng đóng nó theo cách thủ công và nhấp vào Thử lại để tiếp tục.",
|
||
"description": "Second line of the dialog displayed when Windows installer can't close application automatically and needs user intervention to complete the installation."
|
||
},
|
||
"NSIS__appRunning": {
|
||
"message": "$appName$ is running.\nClick OK to close it.\nIf it doesn't close, try closing it manually.",
|
||
"description": "The contents of a dialog displayed when Windows installer detect that the application is running and asks user to close it. Note: please keep the line breaks so that the text occupies three separate lines",
|
||
"placeholders": {
|
||
"appName": {
|
||
"content": "$1",
|
||
"example": "Signal"
|
||
}
|
||
}
|
||
},
|
||
"NSIS__decompressionFailed": {
|
||
"message": "Failed to decompress files. Please try running the installer again.",
|
||
"description": "Displayed when Windows installer cannot decompress application files"
|
||
},
|
||
"NSIS__uninstallFailed": {
|
||
"message": "Failed to uninstall old application files. Please try running the installer again.",
|
||
"description": "Displayed when Windows installer cannot uninstall the old application"
|
||
},
|
||
"CrashReportDialog__title": {
|
||
"message": "Ứng dụng bị trở ngại",
|
||
"description": "A title of the dialog displayed when starting an application after a recent crash"
|
||
},
|
||
"CrashReportDialog__body": {
|
||
"message": "Signal sẽ tự khởi động lại sau khi bị lỗi. Bạn có thể thông báo lỗi này để giúp Signal tìm hiểu và khắc phục.",
|
||
"description": "The body of the dialog displayed when starting an application after a recent crash"
|
||
},
|
||
"CrashReportDialog__submit": {
|
||
"message": "Gửi",
|
||
"description": "A button label for submission of the crash reporter data after a recent crash"
|
||
},
|
||
"CrashReportDialog__erase": {
|
||
"message": "Không Gửi",
|
||
"description": "A button label for erasure of the crash reporter data after a recent crash and continuing to start the app"
|
||
},
|
||
"CustomizingPreferredReactions__title": {
|
||
"message": "Tuỳ chỉnh phản ứng",
|
||
"description": "Shown in the header of the modal for customizing the preferred reactions. Also shown in the tooltip for the button that opens this modal."
|
||
},
|
||
"CustomizingPreferredReactions__subtitle": {
|
||
"message": "Nhấp để thay thế một biểu tượng cảm xúc",
|
||
"description": "Instructions in the modal for customizing the preferred reactions."
|
||
},
|
||
"CustomizingPreferredReactions__had-save-error": {
|
||
"message": "Đã xảy ra lỗi khi lưu cài đặt của bạn. Vui lòng thử lại.",
|
||
"description": "Shown if there is an error when saving your preferred reaction settings. Should be very rare to see this message."
|
||
},
|
||
"MediaEditor__control--draw": {
|
||
"message": "Kéo",
|
||
"description": "Label for the draw button in the media editor"
|
||
},
|
||
"MediaEditor__control--text": {
|
||
"message": "Thêm ký tự",
|
||
"description": "Label for the text button in the media editor"
|
||
},
|
||
"MediaEditor__control--sticker": {
|
||
"message": "Nhãn dán",
|
||
"description": "Label for the sticker button in the media editor"
|
||
},
|
||
"MediaEditor__control--crop": {
|
||
"message": "Cắt và xoay",
|
||
"description": "Label for the crop & rotate button in the media editor"
|
||
},
|
||
"MediaEditor__control--undo": {
|
||
"message": "Hoàn tác",
|
||
"description": "Label for the undo button in the media editor"
|
||
},
|
||
"MediaEditor__control--redo": {
|
||
"message": "Làm lại",
|
||
"description": "Label for the redo button in the media editor"
|
||
},
|
||
"MediaEditor__text--regular": {
|
||
"message": "Bình thường",
|
||
"description": "Describes what attribute the color picker will change on the text"
|
||
},
|
||
"MediaEditor__text--highlight": {
|
||
"message": "Làm nổi bật",
|
||
"description": "Describes what attribute the color picker will change on the text"
|
||
},
|
||
"MediaEditor__text--outline": {
|
||
"message": "Đường viền",
|
||
"description": "Describes what attribute the color picker will change on the text"
|
||
},
|
||
"MediaEditor__text--underline": {
|
||
"message": "Đường gạch chân",
|
||
"description": "Describes what attribute the color picker will change on the text"
|
||
},
|
||
"MediaEditor__draw--pen": {
|
||
"message": "Bút",
|
||
"description": "Type of brush to free draw"
|
||
},
|
||
"MediaEditor__draw--highlighter": {
|
||
"message": "Bút đánh dấu",
|
||
"description": "Type of brush to free draw"
|
||
},
|
||
"MediaEditor__draw--thin": {
|
||
"message": "Gầy",
|
||
"description": "Tip width of the brush"
|
||
},
|
||
"MediaEditor__draw--regular": {
|
||
"message": "Bình thường",
|
||
"description": "Tip width of the brush"
|
||
},
|
||
"MediaEditor__draw--medium": {
|
||
"message": "Vừa",
|
||
"description": "Tip width of the brush"
|
||
},
|
||
"MediaEditor__draw--heavy": {
|
||
"message": "Nặng",
|
||
"description": "Tip width of the brush"
|
||
},
|
||
"MediaEditor__crop--reset": {
|
||
"message": "Đặt lại",
|
||
"description": "Reset the crop state"
|
||
},
|
||
"MediaEditor__crop--rotate": {
|
||
"message": "Xoay",
|
||
"description": "Rotate the canvas"
|
||
},
|
||
"MediaEditor__crop--flip": {
|
||
"message": "Ghim",
|
||
"description": "Flip/mirror the canvas"
|
||
},
|
||
"MediaEditor__crop--lock": {
|
||
"message": "Khóa",
|
||
"description": "Lock the aspect ratio"
|
||
},
|
||
"MediaEditor__crop--crop": {
|
||
"message": "Cắt",
|
||
"description": "Performs the crop"
|
||
},
|
||
"MyStories__title": {
|
||
"message": "My Stories",
|
||
"description": "Title for the my stories list"
|
||
},
|
||
"MyStories__story": {
|
||
"message": "Your story",
|
||
"description": "aria-label for each one of your stories"
|
||
},
|
||
"MyStories__download": {
|
||
"message": "Download story",
|
||
"description": "aria-label for the download button"
|
||
},
|
||
"MyStories__more": {
|
||
"message": "More options",
|
||
"description": "aria-label for the more button"
|
||
},
|
||
"MyStories__views--singular": {
|
||
"message": "$num$ view",
|
||
"description": "Number of views your story has",
|
||
"placeholders": {
|
||
"num": {
|
||
"content": "$1",
|
||
"example": "1"
|
||
}
|
||
}
|
||
},
|
||
"MyStories__views--plural": {
|
||
"message": "$num$ views",
|
||
"description": "Number of views your story has",
|
||
"placeholders": {
|
||
"num": {
|
||
"content": "$1",
|
||
"example": "16"
|
||
}
|
||
}
|
||
},
|
||
"MyStories__replies--singular": {
|
||
"message": "$num$ reply",
|
||
"description": "Number of replies your story has",
|
||
"placeholders": {
|
||
"num": {
|
||
"content": "$1",
|
||
"example": "1"
|
||
}
|
||
}
|
||
},
|
||
"MyStories__replies--plural": {
|
||
"message": "$num$ replies",
|
||
"description": "Number of replies your story has",
|
||
"placeholders": {
|
||
"num": {
|
||
"content": "$1",
|
||
"example": "3"
|
||
}
|
||
}
|
||
},
|
||
"MyStories__delete": {
|
||
"message": "Delete this story? It will also be deleted for everyone who received it.",
|
||
"description": "Confirmation dialog description text for deleting a story"
|
||
},
|
||
"Stories__title": {
|
||
"message": "Stories",
|
||
"description": "Title for the stories list"
|
||
},
|
||
"Stories__mine": {
|
||
"message": "My Stories",
|
||
"description": "Label for your stories"
|
||
},
|
||
"Stories__add": {
|
||
"message": "Add a story",
|
||
"description": "Description hint to add a story"
|
||
},
|
||
"Stories__hidden-stories": {
|
||
"message": "Hidden stories",
|
||
"description": "Button label to go to hidden stories pane"
|
||
},
|
||
"Stories__list-empty": {
|
||
"message": "No recent stories to show right now",
|
||
"description": "Description for when there are no stories to show"
|
||
},
|
||
"Stories__placeholder--text": {
|
||
"message": "Click to view a story",
|
||
"description": "Placeholder label for the story view"
|
||
},
|
||
"Stories__from-to-group": {
|
||
"message": "$name$ to $group$",
|
||
"description": "Title for someone sending a story to a group",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Elle"
|
||
},
|
||
"group": {
|
||
"content": "$2",
|
||
"example": "Family"
|
||
}
|
||
}
|
||
},
|
||
"StoryViewer__pause": {
|
||
"message": "Tạm ngưng",
|
||
"description": "Aria label for pausing a story"
|
||
},
|
||
"StoryViewer__play": {
|
||
"message": "Chạy",
|
||
"description": "Aria label for playing a story"
|
||
},
|
||
"StoryViewer__reply": {
|
||
"message": "Trả lời",
|
||
"description": "Button label to reply to a story"
|
||
},
|
||
"StoryViewer__reply-group": {
|
||
"message": "Reply to Group",
|
||
"description": "Button label to reply to a group story"
|
||
},
|
||
"StoryViewer__mute": {
|
||
"message": "Tắt tiếng",
|
||
"description": "Aria label for muting stories"
|
||
},
|
||
"StoryViewer__unmute": {
|
||
"message": "Bỏ tắt tiếng",
|
||
"description": "Aria label for unmuting stories"
|
||
},
|
||
"StoryViewsNRepliesModal__no-replies": {
|
||
"message": "No replies yet",
|
||
"description": "Placeholder text for when there are no replies"
|
||
},
|
||
"StoryViewsNRepliesModal__tab--views": {
|
||
"message": "Views",
|
||
"description": "Title for views tab"
|
||
},
|
||
"StoryViewsNRepliesModal__tab--replies": {
|
||
"message": "Replies",
|
||
"description": "Title for replies tab"
|
||
},
|
||
"StoryViewsNRepliesModal__react": {
|
||
"message": "React to story",
|
||
"description": "aria-label for reaction button"
|
||
},
|
||
"StoryViewsNRepliesModal__reacted": {
|
||
"message": "Reacted to the story",
|
||
"description": "Description of someone reacting to a story"
|
||
},
|
||
"StoryListItem__label": {
|
||
"message": "Story",
|
||
"description": "aria-label for the story list button"
|
||
},
|
||
"StoryListItem__unhide": {
|
||
"message": "Show stories",
|
||
"description": "Label for menu item to un-hide the story"
|
||
},
|
||
"StoryListItem__hide": {
|
||
"message": "Hide story",
|
||
"description": "Label for menu item to hide the story"
|
||
},
|
||
"StoryListItem__go-to-chat": {
|
||
"message": "Go to chat",
|
||
"description": "Label for menu item to go to conversation"
|
||
},
|
||
"StoryListItem__hide-modal--body": {
|
||
"message": "Hide story? New story updates from $name$ won’t appear at the top of the stories list anymore.",
|
||
"description": "Body for the confirmation dialog for hiding a story"
|
||
},
|
||
"StoryListItem__hide-modal--confirm": {
|
||
"message": "Ẩn",
|
||
"description": "Action button for the confirmation dialog to hide a story"
|
||
},
|
||
"StoryImage__error": {
|
||
"message": "Error displaying image",
|
||
"description": "aria-label for image errors"
|
||
},
|
||
"TextAttachment__preview__link": {
|
||
"message": "Visit link",
|
||
"description": "Title for the link preview tooltip"
|
||
},
|
||
"Quote__story": {
|
||
"message": "Story",
|
||
"description": "Title for replies to stories"
|
||
},
|
||
"Quote__story-reaction": {
|
||
"message": "Reacted to a story from $name$",
|
||
"description": "Label for when a person reacts to a story",
|
||
"placeholders": {
|
||
"name": {
|
||
"content": "$1",
|
||
"example": "Charlie"
|
||
}
|
||
}
|
||
},
|
||
"Quote__story-reaction--yours": {
|
||
"message": "Reacted to your story",
|
||
"description": "Label for when a person reacts to your story"
|
||
},
|
||
"Quote__story-reaction--single": {
|
||
"message": "Reacted to a story",
|
||
"description": "Used whenever we can't find a user's first name"
|
||
},
|
||
"Quote__story-unavailable": {
|
||
"message": "No longer available",
|
||
"description": "Label for when a story is not found"
|
||
},
|
||
"WhatsNew__modal-title": {
|
||
"message": "Có gì mới",
|
||
"description": "Title for the whats new modal"
|
||
},
|
||
"WhatsNew__bugfixes": {
|
||
"message": "Phiên bản này có một số chỉnh sửa nhỏ và sửa lỗi để giữ cho Signal hoạt động mượt mà.",
|
||
"description": "Release notes for releases that only include bug fixes"
|
||
},
|
||
"WhatsNew__v5.40--1": {
|
||
"message": "Bug fixes including a fix to an issue that would sometimes make it difficult to click on menus. ",
|
||
"description": "Release notes for v5.40"
|
||
},
|
||
"WhatsNew__v5.40--2": {
|
||
"message": "Thanks to our open source contributors $dsanders11$ and $yusufsahinhamza$ for contributing to these improvements.",
|
||
"description": "Release notes for v5.40",
|
||
"placeholders": {
|
||
"dsanders11": {
|
||
"content": "$1",
|
||
"example": "dsanders11"
|
||
},
|
||
"yusufsahinhamza": {
|
||
"content": "$2",
|
||
"example": "yusufsahinhamza"
|
||
}
|
||
}
|
||
}
|
||
}
|