diff --git a/.circleci/config.yml b/.circleci/config.yml index 1681a3d82e28..258256aabb0d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,7 @@ jobs: build: <<: *defaults docker: - - image: circleci/node:8 + - image: circleci/node:8.9 steps: - checkout @@ -134,7 +134,7 @@ jobs: test-with-oplog: <<: *defaults docker: - - image: circleci/node:8-browsers + - image: circleci/node:8.9-browsers - image: mongo:3.4 command: [mongod, --nojournal, --noprealloc, --smallfiles, --replSet=rs0] @@ -179,7 +179,7 @@ jobs: test-without-oplog: <<: *defaults docker: - - image: circleci/node:8-browsers + - image: circleci/node:8.9-browsers - image: circleci/mongo:3.4 environment: @@ -208,7 +208,7 @@ jobs: deploy: <<: *defaults docker: - - image: circleci/node:8 + - image: circleci/node:8.9 steps: - attach_workspace: @@ -247,6 +247,7 @@ jobs: bash .circleci/update-releases.sh bash .circleci/docker.sh bash .circleci/snap.sh + bash .circleci/redhat-registry.sh workflows: version: 2 diff --git a/.circleci/redhat-registry.sh b/.circleci/redhat-registry.sh new file mode 100755 index 000000000000..a206af991c19 --- /dev/null +++ b/.circleci/redhat-registry.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -euvo pipefail +IFS=$'\n\t' + +if [[ $CIRCLE_TAG ]]; then + curl -X POST \ + https://connect.redhat.com/api/v2/projects/$REDHAT_REGISTRY_PID/build \ + -H "Authorization: Bearer $REDHAT_REGISTRY_KEY" \ + -H 'Cache-Control: no-cache' \ + -H 'Content-Type: application/json' \ + -d '{"tag":"'$CIRCLE_TAG'"}' +fi diff --git a/.docker/Dockerfile b/.docker/Dockerfile index 08bc27b32bf3..f356f252eda5 100644 --- a/.docker/Dockerfile +++ b/.docker/Dockerfile @@ -1,6 +1,6 @@ FROM rocketchat/base:8 -ENV RC_VERSION 0.63.1 +ENV RC_VERSION 0.64.0-develop MAINTAINER buildmaster@rocket.chat diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index c9f411fbc977..db905f2f947a 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -3,9 +3,6 @@ - -@RocketChat/core - Closes #ISSUE_NUMBER diff --git a/.github/bot-config.yml b/.github/bot-config.yml index 7898d36372c7..2d181373504f 100644 --- a/.github/bot-config.yml +++ b/.github/bot-config.yml @@ -6,9 +6,14 @@ whitelist: - theorenck - JSzaszvari labels: + - "Contributions: welcome" + - "Contributions: only core team" + - "Feature: Request" + - "Feature: Planned" + - "type: bug" + - "help wanted" - duplicate - enhancement - - "help wanted" - invalid - question - wontfix diff --git a/.github/issue-templates/release.md b/.github/issue-templates/release.md new file mode 100644 index 000000000000..6918d52ab621 --- /dev/null +++ b/.github/issue-templates/release.md @@ -0,0 +1,59 @@ +# Release {version} +We are releasing a new version, this issue will keep track of the progress between the first release candidate (20th of each month) to the final release (27th of each month). + +After the 20th of each month we start the release process that ends 7 days after, during that period we enter a Feature Freeze. While in the Feature Freeze, we will only be merging bug fixes and not new features. + +For any regression, open a new issue and link to this one. + + +## Before Release - Preparation - 1 business day before the day 20th +- [x] Create the issue to track the release progress +- [ ] Define the highlights from release PRs as suggestion to be included on Blog Post +- [ ] Talk to the Marketing Team about the Blog Post release +- [ ] Talk to the Documentation Team about the Docs release +- [ ] Sync translations from [LingoHub](https://translate.lingohub.com/rocketchat/rocket-dot-chat/dashboard) + +## Release Candidate 1 - On the 20th +- [ ] Delete branch `release-candidate` +- [ ] Create branch `release-candidate` based on `develop` +- [ ] On branch `release-candidate` run `npm run release` and follow the steps +- [ ] Publish the branch and the generated tag +- [ ] Edit the tag on GitHub and paste the generated History removing the version from the first line and mark the checkbox **This is a pre-release** +- [ ] Ensure the build is passing on CircleCI +- [ ] Ensure the build is passing on Docker Hub + + + +## Final Release - On the 27th +- [ ] Merge `develop` into `release-candidate` branch +- [ ] Create a new branch `release-{version}` based on `release-candidate` +- [ ] On branch `release-{version}` run `npm run release` and follow the steps **TODO: fix the history** +- [ ] Publish only the branch +- [ ] **Draft a new release** on GitHub + - [ ] Enter tag version as {version} + - [ ] Select target **master** + - [ ] Enter release title as {version} + - [ ] Paste the history removing the version from the first line + - [ ] Save as **draft** +- [ ] Create a PR from the branch `release-{version}` with the same history from the tag/release +- [ ] Ensure the build is passing on CircleCI +- [ ] Ensure the build is passing on Docker Hub +- [ ] When build is passing ask for approval +- [ ] When approved merge it! +- [ ] When merged edit the release/tag and publish it + +## After Release - Conclusion - 1 business day after the 27th +- [ ] Check if related issues was closed +- [ ] Check if related issues was assigned to the correct milestone +- [ ] Check with the Marketing Team about the Blog Post release +- [ ] Check with the Documentation Team about the Docs release +- [ ] Create a Sync PR to merge back master to develop +- [ ] Merge Sync PR diff --git a/.openshift/rocket-chat-ephemeral.json b/.openshift/rocket-chat-ephemeral.json index 2c5cd26e68fb..dd25e870ff64 100644 --- a/.openshift/rocket-chat-ephemeral.json +++ b/.openshift/rocket-chat-ephemeral.json @@ -151,7 +151,7 @@ "name": "rocketchat" }, "spec": { - "dockerImageRepository": "registry.connect.redhat.com/rocketchat/rocketchat", + "dockerImageRepository": "${ROCKETCHAT_IMAGE}", "tags": [ { "name": "latest", @@ -241,7 +241,7 @@ "containers": [ { "name": "rocketchat", - "image": "registry.connect.redhat.com/rocketchat/rocketchat:latest", + "image": "${ROCKETCHAT_IMAGE}:latest", "ports": [ { "containerPort": 3000, @@ -424,6 +424,13 @@ "value": "rocketchatdb", "required": true }, + { + "name": "ROCKETCHAT_IMAGE", + "displayName": "RocketChat Image", + "description": "The RocketChat image to use for this deployment", + "required": true, + "value": "rocketchat/rocket.chat" + }, { "name": "MONGODB_ADMIN_PASSWORD", "displayName": "MongoDB Admin Password", diff --git a/.openshift/rocket-chat-persistent.json b/.openshift/rocket-chat-persistent.json index 150347e5165a..fe2a992ef232 100644 --- a/.openshift/rocket-chat-persistent.json +++ b/.openshift/rocket-chat-persistent.json @@ -171,7 +171,7 @@ "name": "rocketchat" }, "spec": { - "dockerImageRepository": "registry.connect.redhat.com/rocketchat/rocketchat", + "dockerImageRepository": "${ROCKETCHAT_IMAGE}", "tags": [ { "name": "latest", @@ -261,7 +261,7 @@ "containers": [ { "name": "rocketchat", - "image": "registry.connect.redhat.com/rocketchat/rocketchat:latest", + "image": "${ROCKETCHAT_IMAGE}:latest", "ports": [ { "containerPort": 3000, @@ -452,6 +452,13 @@ "from": "[a-zA-Z0-9]{16}", "required": true }, + { + "name": "ROCKETCHAT_IMAGE", + "displayName": "RocketChat Image", + "description": "The RocketChat image to use for this deployment", + "required": true, + "value": "rocketchat/rocket.chat" + }, { "name": "VOLUME_CAPACITY", "displayName": "Volume Capacity", diff --git a/.sandstorm/sandstorm-pkgdef.capnp b/.sandstorm/sandstorm-pkgdef.capnp index e904c24b4384..b5e3e9786fe8 100644 --- a/.sandstorm/sandstorm-pkgdef.capnp +++ b/.sandstorm/sandstorm-pkgdef.capnp @@ -21,7 +21,7 @@ const pkgdef :Spk.PackageDefinition = ( appVersion = 62, # Increment this for every release. - appMarketingVersion = (defaultText = "0.63.1"), + appMarketingVersion = (defaultText = "0.64.0-develop"), # Human-readable representation of appVersion. Should match the way you # identify versions of your app in documentation and marketing. diff --git a/.snapcraft/snapcraft.yaml b/.snapcraft/snapcraft.yaml index 21c557095f32..ee09287ce2ef 100644 --- a/.snapcraft/snapcraft.yaml +++ b/.snapcraft/snapcraft.yaml @@ -16,7 +16,7 @@ apps: rocketchat-server: command: startRocketChat daemon: simple - plugs: [network, network-bind] + plugs: [network, network-bind, desktop] rocketchat-mongo: command: startmongo daemon: simple diff --git a/.travis/snap.sh b/.travis/snap.sh index a0be6fc1e43e..c8a57fb46834 100755 --- a/.travis/snap.sh +++ b/.travis/snap.sh @@ -17,7 +17,7 @@ elif [[ $TRAVIS_TAG ]]; then RC_VERSION=$TRAVIS_TAG else CHANNEL=edge - RC_VERSION=0.63.1 + RC_VERSION=0.64.0-develop fi echo "Preparing to trigger a snap release for $CHANNEL channel" diff --git a/HISTORY.md b/HISTORY.md index 23102f27536a..6b32486661bb 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,3 +1,8 @@ + +# 0.64.0-develop (2018-04-07) + + + # 0.63.1 `2018-04-07 · 5 🐛 · 3 👩‍💻👨‍💻` diff --git a/package.json b/package.json index f4f231619594..e88d1abbd7ef 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Rocket.Chat", "description": "The Ultimate Open Source WebChat Platform", - "version": "0.63.1", + "version": "0.64.0-develop", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/" diff --git a/packages/rocketchat-api/server/api.js b/packages/rocketchat-api/server/api.js index c332c67f4575..7f62e48678e8 100644 --- a/packages/rocketchat-api/server/api.js +++ b/packages/rocketchat-api/server/api.js @@ -28,7 +28,8 @@ class API extends Restivus { roles: 0, statusDefault: 0, _updatedAt: 0, - customFields: 0 + customFields: 0, + settings: 0 }; this._config.defaultOptionsEndpoint = function _defaultOptionsEndpoint() { diff --git a/packages/rocketchat-i18n/i18n/vi-VN.i18n.json b/packages/rocketchat-i18n/i18n/vi-VN.i18n.json index db0495186d36..68d07b8c4d5d 100644 --- a/packages/rocketchat-i18n/i18n/vi-VN.i18n.json +++ b/packages/rocketchat-i18n/i18n/vi-VN.i18n.json @@ -2,7 +2,7 @@ "#channel": "kênh ", "0_Errors_Only": "0 - Chỉ lỗi", "1_Errors_and_Information": "1- Lỗi và thông tin", - "2_Erros_Information_and_Debug": "2 - Lỗi, thông tin và gỡ lỗi", + "2_Erros_Information_and_Debug": "2 - Lỗi, thông tin và debug", "403": "Bị cấm", "500": "Lỗi máy chủ", "@username": "@username", @@ -40,24 +40,24 @@ "Accounts_DefaultUsernamePrefixSuggestion": "Tiền tố tên người dùng mặc định", "Accounts_Default_User_Preferences": "Tuỳ chọn Người dùng Mặc định", "Accounts_Default_User_Preferences_audioNotifications": "Thông báo Âm thanh Cảnh báo Mặc định", - "Accounts_Default_User_Preferences_desktopNotifications": "Thông báo về Máy tính để bàn Mặc định", + "Accounts_Default_User_Preferences_desktopNotifications": "Thông báo mặc định cho Máy tính để bàn", "Accounts_Default_User_Preferences_mobileNotifications": "Thông báo mặc định cho Điện thoại di động", "Accounts_Default_User_Preferences_not_available": "Không thể truy xuất Sở thích Người dùng bởi vì chúng chưa được người dùng thiết lập", "Accounts_denyUnverifiedEmail": "Từ chối email chưa xác thực", "Accounts_EmailVerification": "Xác thực email", "Accounts_EmailVerification_Description": "Chắc chắn rằng bạn đã cấu hình thông tin SMTP chính xác trước khi sử dụng tính năng này", - "Accounts_Email_Approved": "[tên]

Tài khoản của bạn đã được chấp thuận.

", - "Accounts_Email_Activated": "[tên]

Tài khoản của bạn đã được kích hoạt.

", - "Accounts_Email_Deactivated": "[tên]

Tài khoản của bạn đã bị vô hiệu hoá.

", + "Accounts_Email_Approved": "[name]

Tài khoản của bạn đã được chấp thuận.

", + "Accounts_Email_Activated": "[name]

Tài khoản của bạn đã được kích hoạt.

", + "Accounts_Email_Deactivated": "[name]

Tài khoản của bạn đã bị vô hiệu hoá.

", "Accounts_Email_Approved_Subject": "Tài khoản được chấp thuận", "Accounts_Email_Activated_Subject": "Đã kích hoạt tài khoản", "Accounts_Email_Deactivated_Subject": "Tài khoản đã ngừng hoạt động", "Accounts_Enrollment_Email": "Email đăng ký", "Accounts_Enrollment_Email_Default": "

Chào mừng đến

[Site_Name]

Truy cập [Site_URL] và trải nghiệm nền tảng chat trực tuyến tốt nhất hiện nay!

", - "Accounts_Enrollment_Email_Description": "Bạn có thể các sử dụng quy tắc sau:
", + "Accounts_Enrollment_Email_Description": "Bạn có thể các sử dụng placeholder sau:
", "Accounts_Enrollment_Email_Subject_Default": "Chào mừng đến [Site_Name]", - "Accounts_Admin_Email_Approval_Needed_Default": "

Người dùng [tên] ([email])đã được đăng ký.

Vui lòng kiểm tra \"Quản trị ->Người dùng\" để kích hoạt hoặc xóa nó.

", - "Accounts_Admin_Email_Approval_Needed_With_Reason_Default": "

Người dùng [tên] ([email])đã được đăng ký.

Lý do: [lý do]

Vui lòng kiểm tra \"Quản trị ->Người dùng\" để kích hoạt hoặc xóa nó.

", + "Accounts_Admin_Email_Approval_Needed_Default": "

Người dùng [name] ([email])đã được đăng ký.

Vui lòng kiểm tra \"Quản trị ->Người dùng\" để kích hoạt hoặc xóa nó.

", + "Accounts_Admin_Email_Approval_Needed_With_Reason_Default": "

Người dùng [name] ([email])đã được đăng ký.

Lý do: [lý do]

Vui lòng kiểm tra \"Quản trị ->Người dùng\" để kích hoạt hoặc xóa nó.

", "Accounts_Admin_Email_Approval_Needed_Subject_Default": "Đã đăng ký người dùng mới và cần phê duyệt", "Accounts_ForgetUserSessionOnWindowClose": "Xóa phiên đăng nhập của người dùng khi đóng cửa sổ", "Accounts_Iframe_api_method": "Phương thức API", @@ -65,7 +65,7 @@ "Accounts_iframe_enabled": "Đã bật", "Accounts_iframe_url": "Iframe Url", "Accounts_LoginExpiration": "Số ngày hết hạn đăng nhập", - "Accounts_ManuallyApproveNewUsers": "Xác thực người dùng mới thủ công", + "Accounts_ManuallyApproveNewUsers": "Xác thực người dùng mới một cách thủ công", "Accounts_OAuth_Custom_Authorize_Path": "Đường dẫn ủy quyền (Authorize)", "Accounts_OAuth_Custom_Button_Color": "Màu của nút", "Accounts_OAuth_Custom_Button_Label_Color": "Màu chữ của nút", @@ -86,41 +86,41 @@ "Accounts_OAuth_Drupal_id": "ID máy khách Drupal oAuth2", "Accounts_OAuth_Drupal_secret": "Drupal oAuth2 Client Secret", "Accounts_OAuth_Facebook": "Đăng nhập qua facebook", - "Accounts_OAuth_Facebook_callback_url": "URL gọi lại Facebook", + "Accounts_OAuth_Facebook_callback_url": "URL callback Facebook", "Accounts_OAuth_Facebook_id": "ID ứng dụng Facebook", - "Accounts_OAuth_Facebook_secret": "Facebook bí mật", + "Accounts_OAuth_Facebook_secret": "Facebook secret", "Accounts_OAuth_Github": "Đã cho phép đăng nhập qua OAuth", - "Accounts_OAuth_Github_callback_url": "URL gọi lại Github", + "Accounts_OAuth_Github_callback_url": "URL callback Github", "Accounts_OAuth_GitHub_Enterprise": "Đã cho phép đăng nhập qua OAuth", - "Accounts_OAuth_GitHub_Enterprise_callback_url": "URL gọi lại GitHub Enterprise", + "Accounts_OAuth_GitHub_Enterprise_callback_url": "URL callback GitHub Enterprise", "Accounts_OAuth_GitHub_Enterprise_id": "Client Id", - "Accounts_OAuth_GitHub_Enterprise_secret": "Khách hàng bí mật", + "Accounts_OAuth_GitHub_Enterprise_secret": "Client Secret", "Accounts_OAuth_Github_id": "Client Id", - "Accounts_OAuth_Github_secret": "Khách hàng bí mật", + "Accounts_OAuth_Github_secret": "Client Secret", "Accounts_OAuth_Gitlab": "Đã cho phép đăng nhập qua OAuth", - "Accounts_OAuth_Gitlab_callback_url": "URL gọi lại GitLab", + "Accounts_OAuth_Gitlab_callback_url": "URL callback GitLab", "Accounts_OAuth_Gitlab_id": "Id GitLab", - "Accounts_OAuth_Gitlab_secret": "Khách hàng bí mật", + "Accounts_OAuth_Gitlab_secret": "Client Secret", "Accounts_OAuth_Google": "Đăng nhập Google", - "Accounts_OAuth_Google_callback_url": "URL gọi lại của Google", + "Accounts_OAuth_Google_callback_url": "URL callback của Google", "Accounts_OAuth_Google_id": "Id của Google", "Accounts_OAuth_Google_secret": "Google Secret", "Accounts_OAuth_Linkedin": "Đăng nhập LinkedIn", - "Accounts_OAuth_Linkedin_callback_url": "URL gọi lại Linkedin", + "Accounts_OAuth_Linkedin_callback_url": "URL callback Linkedin", "Accounts_OAuth_Linkedin_id": "ID LinkedIn", "Accounts_OAuth_Linkedin_secret": "LinkedIn Secret", "Accounts_OAuth_Meteor": "Đăng nhập qua Meteor", - "Accounts_OAuth_Meteor_callback_url": "URL gọi lại của Meteor", + "Accounts_OAuth_Meteor_callback_url": "URL callback của Meteor", "Accounts_OAuth_Meteor_id": "Id Meteor", "Accounts_OAuth_Meteor_secret": "Meteor Secret", "Accounts_OAuth_Tokenpass": "Đăng nhập Tokenpass", - "Accounts_OAuth_Tokenpass_callback_url": "URL gọi lại Tokenpass", + "Accounts_OAuth_Tokenpass_callback_url": "URL callback Tokenpass", "Accounts_OAuth_Tokenpass_id": "Id Tokenpass", "Accounts_OAuth_Tokenpass_secret": "Tokenpass Secret", "Accounts_OAuth_Proxy_host": "Chủ Proxy", "Accounts_OAuth_Twitter": "Đăng nhập qua Twitter", "Accounts_OAuth_Wordpress": "Đăng nhập qua WordPress", - "Accounts_OAuth_Wordpress_callback_url": "URL gọi lại WordPress", + "Accounts_OAuth_Wordpress_callback_url": "URL callback WordPress", "Accounts_PasswordReset": "Đặt lại mật khẩu", "Accounts_Registration_AuthenticationServices_Default_Roles": "Vai trò mặc định của Authentication Services", "Accounts_Registration_AuthenticationServices_Default_Roles_Description": "Các vai trò (phân cách bằng dấu phẩy) của người dùng sau khi đăng ký thông qua authentication services", @@ -130,7 +130,7 @@ "Accounts_RegistrationForm_LinkReplacementText": "Chữ thay cho đường dẫn đến Form đăng ký ", "Accounts_RegistrationForm_Public": "Công khai", "Accounts_RegistrationForm_Secret_URL": "Bí mật", - "Accounts_RegistrationForm_SecretURL": "Đường dẫn bí mật đến form đăng ký", + "Accounts_RegistrationForm_SecretURL": "Đường dẫn Secret form đăng ký", "Accounts_RegistrationForm_SecretURL_Description": "Bạn phải sử dụng một chuỗi ký tự ngẫu nhiên để thêm vào đường dẫn đến form đăng ký. Ví dụ: https://demo.rocket.chat/register/[secret_hash]", "Accounts_RequireNameForSignUp": "Yêu cầu tên khi đăng ký", "Accounts_RequirePasswordConfirmation": "Yêu cầu xác nhận mật khẩu", @@ -143,6 +143,7 @@ "Accounts_UseDefaultBlockedDomainsList": "Sử dụng danh sách tên miền bị chặn mặc định", "Accounts_UseDNSDomainCheck": "Sử dụng DNS Domain Check", "Accounts_UserAddedEmail_Default": "

Chào mừng đến

[Site_Name]

Hãy truy cập [Site_URL] và trải nghiệm giải pháp mã nguồn mở tuyệt vời nhất hiện nay!

Bạn có thể đăng nhập sử dụng hòm thư: [email] và mật khẩu: [password]. Bạn có thể được yêu cầu thay đổi nó sau lần đăng nhập đầu tiên.", + "Accounts_UserAddedEmail_Description": "Bạn có thể sử dụng các placeholder sau:

", "Accounts_UserAddedEmailSubject_Default": "Bạn đã được thêm vào [Site_Name]", "Activate": "Đang hoạt động", "Activity": "Hoạt động", @@ -157,7 +158,7 @@ "add-user-to-joined-room": "Thêm người dùng vào bất kỳ kênh nào đã tham gia", "add-user-to-joined-room_description": "Quyền thêm người dùng vào bất kỳ kênh nào đang tham gia", "add-user_description": "Quyền thêm thành viên mới vào hệ thống thông qua màn hình quản lý thành viên", - "Add_agent": "Thêm nhân viên / đại lý", + "Add_agent": "Thêm nhân viên / agent", "Add_custom_oauth": "Thêm OAuth tùy chỉnh", "Add_Domain": "Thêm tên miền", "Add_files_from": "Thêm các file từ", @@ -175,12 +176,12 @@ "Adult_images_are_not_allowed": "Hình ảnh người lớn không được phép", "After_OAuth2_authentication_users_will_be_redirected_to_this_URL": "Sau khi xác thực OAuth2, người dùng sẽ được chuyển hướng đến URL này", "Agent": "Đặc vụ", - "Agent_added": "Đại lý đã thêm", - "Agent_removed": "Đại lý bị xóa", + "Agent_added": "Agent đã thêm", + "Agent_removed": "Agent bị xóa", "Alerts": "Cảnh báo", "Alias": "Bí danh", - "Alias_Format": "Định dạng bí danh", - "Alias_Format_Description": "Nhập thư từ Slack có bí danh; % s được thay thế bằng tên người dùng của người dùng. Nếu trống rỗng, không có bí danh sẽ được sử dụng.", + "Alias_Format": "Định dạng Alias", + "Alias_Format_Description": "Nhập dữ liệu tin nhắn từ Slack với Alias; % s được thay thế bằng tên của người dùng. Nếu trống, không Alias nào sẽ được sử dụng.", "Alias_Set": "Đặt bí danh", "All": "Tất cả các", "All_channels": "Tất cả các kênh", @@ -195,7 +196,7 @@ "Allow_switching_departments": "Cho phép khách truy cập chuyển bộ phận", "Always_open_in_new_window": "Luôn mở trong cửa sổ mới", "Analytics_features_enabled": "Tính năng Bật", - "Analytics_features_messages_Description": "Theo dõi các sự kiện tùy chỉnh liên quan đến hành động mà người dùng thực hiện trên thư.", + "Analytics_features_messages_Description": "Theo dõi các sự kiện tùy chỉnh liên quan đến hành động mà người dùng thực hiện trên tin nhắn.", "Analytics_features_rooms_Description": "Theo dõi các sự kiện tùy chỉnh liên quan đến các hành động trên kênh hoặc nhóm (tạo, bỏ đi, xóa).", "Analytics_features_users_Description": "Theo dõi các sự kiện tùy chỉnh liên quan đến hành động liên quan đến người dùng (thời gian đặt lại mật khẩu, thay đổi ảnh tiểu sử, v.v.).", "Analytics_Google": "Google Analytics", @@ -205,18 +206,18 @@ "Animals_and_Nature": "Động vật & Thiên nhiên", "Announcement": "Thông báo", "API": "API", - "API_Allow_Infinite_Count": "Cho phép Bắt mọi thứ", - "API_Allow_Infinite_Count_Description": "Nếu các cuộc gọi đến REST API được phép trả lại tất cả mọi thứ trong một cuộc gọi?", + "API_Allow_Infinite_Count": "Cho phép lấy mọi thứ", + "API_Allow_Infinite_Count_Description": "Các lệnh gọi đến REST API được phép trả lại tất cả mọi thứ trong một lần gọi hay không?", "API_Analytics": "phân tích", "API_CORS_Origin": "CORS Xuất xứ", "API_Default_Count": "Count mặc định", "API_Default_Count_Description": "Số đếm mặc định cho kết quả REST API nếu người tiêu dùng không cung cấp bất kỳ.", "API_Drupal_URL": "URL Máy chủ Drupal", "API_Drupal_URL_Description": "Ví dụ: https://domain.com (không bao gồm dấu gạch dưới)", - "API_Embed": "Nhúng các bản xem trước liên kết", + "API_Embed": "Xem trước các link được nhúng", "API_Embed_Description": "Cho dù hiển thị liên kết nhúng có được bật hay không khi người dùng đăng liên kết tới trang web.", - "API_Embed_UserAgent": "Nhúng Người dùng Đại lý", - "API_EmbedCacheExpirationDays": "Nhúng các ngày hết hạn của bộ nhớ cache", + "API_Embed_UserAgent": "Nhúng yêu cầu User Agent", + "API_EmbedCacheExpirationDays": "Nhúng số ngày hết hạn trong bộ nhớ Cache", "API_EmbedDisabledFor": "Vô hiệu hóa Nhúng cho Người dùng", "API_EmbedDisabledFor_Description": "Danh sách tên người dùng đã được phân cách bằng dấu phẩy để vô hiệu các xem trước liên kết được nhúng.", "API_EmbedIgnoredHosts": "Nhúng máy chủ bị Bỏ qua", @@ -225,20 +226,20 @@ "API_EmbedSafePorts_Description": "Danh sách cổng đã được phân cách bằng dấu phẩy cho phép xem trước.", "API_Enable_CORS": "Bật CORS", "API_Enable_Direct_Message_History_EndPoint": "Bật điểm cuối của Lịch sử tin nhắn trực tiếp", - "API_Enable_Direct_Message_History_EndPoint_Description": "Điều này cho phép `/ api / v1 / im.history.others` cho phép xem tin nhắn trực tiếp được gửi bởi những người dùng khác mà người gọi không phải là thành viên của.", - "API_Enable_Shields": "Bật Tấm chắn", - "API_Enable_Shields_Description": "Bật khiên có sẵn tại `/ api / v1 / shield.svg`", + "API_Enable_Direct_Message_History_EndPoint_Description": "Điều này cho phép `/api/v1/im.history.others` xem tin nhắn trực tiếp được gửi bởi những người dùng khác mà người gọi không phải là thành viên.", + "API_Enable_Shields": "Bật Shield", + "API_Enable_Shields_Description": "Bật shield có sẵn tại `/api/v1/shield.svg`", "API_GitHub_Enterprise_URL": "URL Máy chủ", "API_GitHub_Enterprise_URL_Description": "Ví dụ: http://domain.com (không bao gồm dấu gạch dưới)", "API_Gitlab_URL": "URL GitLab", - "API_Shield_Types": "Loại khiên", - "API_Shield_Types_Description": "Các loại khiên để kích hoạt như là một danh sách được phân cách bằng dấu phẩy, chọn từ `trực tuyến`,` kênh` hoặc `*` cho tất cả", + "API_Shield_Types": "Loại Shield", + "API_Shield_Types_Description": "Các loại shield để kích hoạt dưới dạng một danh sách được phân cách bằng dấu phẩy, chọn từ `trực tuyến`,` kênh` hoặc `*` cho tất cả", "API_Token": "Mã thông báo API", "API_Tokenpass_URL": "URL máy chủ Tokenpass", "API_Tokenpass_URL_Description": "Ví dụ: https://domain.com (không bao gồm dấu gạch dưới)", - "API_Upper_Count_Limit": "Số tiền Ghi Tối đa", - "API_Upper_Count_Limit_Description": "Số lượng bản ghi tối đa mà API REST sẽ trở lại (khi không không giới hạn) là gì?", - "API_User_Limit": "Giới hạn Người dùng Thêm vào Tất cả Người dùng vào Kênh", + "API_Upper_Count_Limit": "Số Record Tối đa", + "API_Upper_Count_Limit_Description": "Số lượng record tối đa mà API REST sẽ trả về (khi có giới hạn)?", + "API_User_Limit": "Giới hạn người dùng khi thêm tất cả người dùng vào Kênh", "API_Wordpress_URL": "URL WordPress", "Apiai_Key": "Khóa Api.ai", "Apiai_Language": "Ngôn ngữ Api.ai", @@ -254,13 +255,13 @@ "are_typing": "đang gõ", "Are_you_sure": "Bạn có chắc không?", "Are_you_sure_you_want_to_delete_your_account": "Bạn có chắc rằng bạn muốn xóa tài khoản của bạn?", - "Are_you_sure_you_want_to_disable_Facebook_integration": "Bạn có chắc chắn muốn vô hiệu hoá hội nhập Facebook?", + "Are_you_sure_you_want_to_disable_Facebook_integration": "Bạn có chắc chắn muốn vô hiệu hoá tích hợp Facebook?", "assign-admin-role": "Gán vai trò quản trị", "assign-admin-role_description": "Cho phép gán vai trò quản trị cho người dùng khác", "Assign_admin": "Chỉ định quản trị viên", "at": "tại", "At_least_one_added_token_is_required_by_the_user": "Ít nhất một mã thông báo bổ sung được yêu cầu bởi người dùng", - "AtlassianCrowd": "Đám đông Atlassian", + "AtlassianCrowd": "Atlassian Crowd", "Attachment_File_Uploaded": "File đã được tải lên", "Attribute_handling": "Xử lý thuộc tính", "Audio": "Âm thanh", @@ -280,20 +281,20 @@ "AutoLinker_Email": "Email của AutoLinker", "AutoLinker_Phone": "Điện thoại AutoLinker", "AutoLinker_Phone_Description": "Tự động liên kết với Số điện thoại. ví dụ. `(123) 456-7890`", - "AutoLinker_StripPrefix": "Tiền tố Xoá Tự động Linker", + "AutoLinker_StripPrefix": "Xoá tiền tố AutoLinker", "AutoLinker_StripPrefix_Description": "Hiển thị ngắn. ví dụ. https://rocket.chat => rocket.chat", "AutoLinker_Urls_Scheme": "AutoLinker Scheme: // URL", "AutoLinker_Urls_TLD": "URL TLD Tự động Linker", "AutoLinker_Urls_www": "URL của URL tự động 'URL'", - "AutoLinker_UrlsRegExp": "Biểu thức chính quy URL của URL tự động", + "AutoLinker_UrlsRegExp": "AutoLinker URL Regular Expression", "Automatic_Translation": "Bản dịch tự động", "AutoTranslate_Change_Language_Description": "Thay đổi ngôn ngữ dịch tự động không dịch các thông báo trước.", "AutoTranslate_Enabled": "Bật Tự động Dịch", - "AutoTranslate_Enabled_Description": "Bật tự động dịch sẽ cho phép những người có dịch tự động quyền để tất cả các thư tự động dịch sang ngôn ngữ đã chọn. Có thể áp dụng phí, xem Tài liệu của Google", + "AutoTranslate_Enabled_Description": "Bật tự động dịch sẽ cho phép những người có dịch tự động quyền để tất cả các tin nhắn tự động được dịch sang ngôn ngữ đã chọn. Có thể áp dụng phí, xem Tài liệu của Google", "AutoTranslate_GoogleAPIKey": "Khóa Google API", "Available": "Có sẵn", - "Available_agents": "Các đại lý có sẵn", - "Avatar": "hình đại diện", + "Avatar": "Hình đại diện", + "Available_agents": "Các agent có sẵn", "Avatar_changed_successfully": "Avatar đã thay đổi thành công", "Avatar_URL": "URL Avatar", "Avatar_url_invalid_or_error": "URL cung cấp không hợp lệ hoặc không thể truy cập. Vui lòng thử lại, nhưng với một url khác.", @@ -316,18 +317,18 @@ "ban-user_description": "Cho phép cấm người dùng từ kênh", "Beta_feature_Depends_on_Video_Conference_to_be_enabled": "Tính năng Beta. Phụ thuộc vào Hội nghị Video được kích hoạt.", "Block_User": "Chặn Người dùng", - "Body": "Thân hình", + "Body": "Thân", "bold": "Dũng cảm", "bot_request": "Yêu cầu Bot", "BotHelpers_userFields": "Trường người dùng", "BotHelpers_userFields_Description": "CSV của các trường người dùng có thể được truy cập bằng phương pháp trợ giúp bots.", - "Branch": "Chi nhánh", + "Branch": "Nhánh", "Broadcast_Connected_Instances": "Broadcast Connected Instances", "Bugsnag_api_key": "Khóa API Bugsnag", "Build_Environment": "Xây dựng môi trường", - "bulk-create-c": "Hàng Kênh Tạo Kênh", + "bulk-create-c": "Tạo kênh hàng loạt", "bulk-create-c_description": "Cho phép tạo các kênh với số lượng lớn", - "bulk-register-user": "Hàng Kênh Tạo Kênh", + "bulk-register-user": "Tạo người dùng hành loạt", "bulk-register-user_description": "Cho phép tạo các kênh với số lượng lớn", "busy": "bận", "Busy": "Bận", @@ -355,7 +356,7 @@ "CAS_popup_width": "Độ rộng của Popup Đăng nhập", "CAS_Sync_User_Data_Enabled": "Luôn đồng bộ hóa dữ liệu người dùng", "CAS_Sync_User_Data_Enabled_Description": "Luôn đồng bộ dữ liệu CAS User bên ngoài vào các thuộc tính có sẵn khi đăng nhập. Lưu ý: Các thuộc tính luôn được đồng bộ hóa khi tạo tài khoản.", - "CAS_Sync_User_Data_FieldMap": "Bản đồ Thuộc tính", + "CAS_Sync_User_Data_FieldMap": "FieldMap", "CAS_Sync_User_Data_FieldMap_Description": "Sử dụng đầu vào JSON này để xây dựng thuộc tính nội bộ (khóa) từ các thuộc tính bên ngoài (giá trị). Tên thuộc tính bên ngoài được bao gồm '%' sẽ được dịch trong chuỗi giá trị.
Ví dụ, `{\" email \":\"% email% \",\" name \":\"% firstname%,% lastname% \"}`

Bản đồ thuộc tính luôn được nội suy. Trong CAS 1.0 chỉ có sẵn thuộc tính `username`. Các thuộc tính nội bộ có sẵn là: tên người dùng, tên, email, phòng; phòng là danh sách phòng được cách nhau bằng dấu phẩy để tham gia vào việc tạo người dùng, ví dụ: {\"rooms\": \"% team%,% department%\"} sẽ tham gia vào người dùng CAS khi tạo nhóm của họ và đội.", "CAS_version": "Phiên bản CAS", "CAS_version_Description": "Chỉ sử dụng phiên bản CAS được hỗ trợ được hỗ trợ bởi dịch vụ SS SS của bạn.", @@ -375,7 +376,7 @@ "Channel_Name_Placeholder": "Vui lòng nhập tên kênh ...", "Channel_to_listen_on": "Kênh để lắng nghe", "Channel_Unarchived": "Kênh với tên `#% s` đã được Unarchived thành công", - "Channels": "Kênh truyền hình", + "Channels": "Kênh", "Channels_are_where_your_team_communicate": "Kênh là nơi nhóm của bạn giao tiếp", "Channels_list": "Danh sách các kênh công cộng", "Chat_button": "Nút Trò chuyện", @@ -389,8 +390,8 @@ "Choose_a_room": "Chọn phòng", "Choose_messages": "Chọn tin nhắn", "Choose_the_alias_that_will_appear_before_the_username_in_messages": "Chọn bí danh sẽ xuất hiện trước tên người dùng trong tin nhắn.", - "Choose_the_username_that_this_integration_will_post_as": "Chọn tên người dùng mà hội nhập này sẽ đăng dưới dạng.", - "clean-channel-history": "Lịch sử kênh sạch", + "Choose_the_username_that_this_integration_will_post_as": "Chọn tên người dùng mà tích hợp này sẽ đăng với tư cách.", + "clean-channel-history": "Xoá lịch sử kênh", "clean-channel-history_description": "Cho phép Xóa lịch sử từ các kênh", "clear": "Trong sáng", "Clear_all_unreads_question": "Xóa tất cả các bản ghi không?", @@ -400,10 +401,10 @@ "Click_here_for_more_info": "Bấm vào đây để biết thêm", "Click_to_join": "Nhấp để Tham gia!", "Client_ID": "Client ID", - "Client_Secret": "Khách hàng bí mật", + "Client_Secret": "Client Secret", "Clients_will_refresh_in_a_few_seconds": "Khách hàng sẽ làm mới trong vài giây", - "close": "gần", - "Close": "Gần", + "close": "đóng", + "Close": "Đóng", "close-livechat-room": "Đóng Phòng Livechat", "close-livechat-room_description": "Cho phép đóng kênh LiveChat hiện tại", "close-others-livechat-room": "Đóng Phòng Livechat", @@ -411,11 +412,12 @@ "Closed": "Đóng", "Closed_by_visitor": "Đóng bởi khách truy cập", "Closing_chat": "Trò chuyện kết thúc", + "Collapse": "Thu gọn", "Collapse_Embedded_Media_By_Default": "Thu gọn Media theo mặc định", "Color": "Màu", "Contains_Security_Fixes": "Chứa các bản sửa lỗi bảo mật", "Commands": "Lệnh", - "Comment_to_leave_on_closing_session": "Bình luận để lại trong kỳ họp kết thúc", + "Comment_to_leave_on_closing_session": "Bình luận để lại khi kết thúc phiên", "Common_Access": "Truy cập thông thường", "Compact": "gọn nhẹ", "Confirm_password": "Xác nhận mật khẩu của bạn", @@ -429,12 +431,12 @@ "COPY_TO_CLIPBOARD": "SAO CHÉP VÀO CLIPBOARD", "Count": "Đếm", "Cozy": "Ấm cúng", - "Create": "Tạo nên", + "Create": "Tạo", "create-c": "Tạo kênh công cộng", "create-c_description": "Cho phép tạo các kênh công cộng", "create-d": "Tạo tin nhắn trực tiếp", "create-d_description": "Cho phép bắt đầu tin nhắn trực tiếp", - "create-p": "Tạo kênh cá nhân", + "create-p": "Tạo kênh riêng tư", "create-p_description": "Cho phép tạo kênh riêng", "create-user": "Tạo người dùng", "create-user_description": "Cho phép tạo người dùng", @@ -445,12 +447,12 @@ "Created_at_s_by_s": "Tạo tại % sbởi % s", "Created_at_s_by_s_triggered_by_s": "Tạo tại % sbởi % sđược kích hoạt bởi % s", "CRM_Integration": "Tích hợp CRM", - "CROWD_Reject_Unauthorized": "Từ chối Không hợp lệ", + "CROWD_Reject_Unauthorized": "Từ chối không hợp lệ", "Current_Chats": "Cuộc trò chuyện hiện tại", "Current_Status": "Tình trạng hiện tại", - "Custom": "Tập quán", - "Custom_agent": "Đại lý tùy chỉnh", - "Custom_Emoji": "Custom Emoji", + "Custom": "Tuỳ chỉnh", + "Custom_agent": "Agent tùy chỉnh", + "Custom_Emoji": "Emoji tuỳ chỉnh", "Custom_Emoji_Add": "Thêm Emoji Mới", "Custom_Emoji_Added_Successfully": "Custom emoji đã được thêm thành công", "Custom_Emoji_Delete_Warning": "Xóa một biểu tượng cảm xúc không thể hoàn tác.", @@ -464,7 +466,7 @@ "Custom_oauth_unique_name": "Tuỳ chỉnh tên duy nhất", "Custom_Script_Logged_In": "Tập lệnh Tuỳ chỉnh cho Người dùng đăng nhập", "Custom_Script_Logged_Out": "Tập lệnh Tuỳ chỉnh cho Người dùng đăng nhập", - "Custom_Scripts": "Kịch bản Tuỳ chỉnh", + "Custom_Scripts": "Script Tuỳ chỉnh", "Custom_Sound_Add": "Thêm âm thanh tùy chỉnh", "Custom_Sound_Delete_Warning": "Xóa âm thanh không thể hoàn tác.", "Custom_Sound_Error_Invalid_Sound": "Âm thanh không hợp lệ", @@ -472,7 +474,7 @@ "Custom_Sound_Has_Been_Deleted": "Âm thanh tùy chỉnh đã bị xóa.", "Custom_Sound_Info": "Thông tin âm thanh tùy chỉnh", "Custom_Sound_Saved_Successfully": "Đã lưu âm tùy chỉnh thành công", - "Custom_Sounds": "Âm thanh tùy chỉnh", + "Custom_Sounds": "Âm thanh tuỳ chỉnh", "Custom_Translations": "Bản dịch tùy chỉnh", "Custom_Translations_Description": "Nên là một JSON hợp lệ, trong đó các phím là các ngôn ngữ chứa từ điển của khóa và bản dịch. Ví dụ:
{\n\"en\": {\n\"Kênh\": \"Phòng\"\n},\n\"pt\": {\n\"Kênh\": \"Salas\"\n}\n}", "Customize": "Tùy chỉnh", @@ -491,7 +493,7 @@ "delete-c": "Xóa các kênh công cộng", "delete-c_description": "Cho phép xóa các kênh công cộng", "delete-d": "Xóa tin nhắn trực tiếp", - "delete-d_description": "Cho phép xoá thư trực tiếp", + "delete-d_description": "Cho phép xoá tin nhắn trực tiếp", "delete-message": "Xóa tin nhắn", "delete-message_description": "Cho phép xóa một tin nhắn trong một phòng", "delete-p": "Xóa Kênh Riêng tư", @@ -510,7 +512,7 @@ "Department_removed": "Vụ đã được xóa", "Departments": "Phòng ban", "Deployment_ID": "ID triển khai", - "Description": "Sự miêu tả", + "Description": "Mô tả", "Desktop": "Desktop", "Desktop_Notification_Test": "Kiểm tra thông báo trên máy tính", "Desktop_Notifications": "Thông báo trên màn hình", @@ -523,8 +525,8 @@ "Direct_message_someone": "Gửi tin nhắn trực tiếp cho ai đó", "Direct_Messages": "Tin nhắn trực tiếp", "Direct_Reply": "Trả lời trực tiếp", - "Direct_Reply_Debug": "Gỡ lỗi Trả lời trực tiếp", - "Direct_Reply_Debug_Description": "[Ghi chú] Bật chế độ Gỡ lỗi sẽ hiển thị 'Chữ bằng văn bản Trống' của bạn trong Bảng điều khiển quản trị.", + "Direct_Reply_Debug": "Debug Trả lời trực tiếp", + "Direct_Reply_Debug_Description": "[Ghi chú] Bật chế độ Debug sẽ hiển thị 'Mật khẩu bằng chữ' của bạn trong Bảng điều khiển quản trị.", "Direct_Reply_Delete": "Xóa các email bị chặn", "Direct_Reply_Enable": "Bật trả lời trực tiếp", "Direct_Reply_Frequency": "Tần suất Kiểm tra Email", @@ -537,28 +539,28 @@ "Direct_Reply_Separator": "Phân cách", "Direct_Reply_Separator_Description": "[Chỉ thay đổi nếu bạn biết chính xác mình đang làm gì, tham khảo tài liệu]
Phân cách giữa phần cơ sở và phần nhãn của email", "Direct_Reply_Username": "Tên đăng nhập", - "Direct_Reply_Username_Description": "Vui lòng sử dụng email tuyệt đối, không được phép gắn thẻ, nó sẽ được viết quá", - "Disable_Facebook_integration": "Vô hiệu hoá hội nhập trên Facebook", + "Direct_Reply_Username_Description": "Vui lòng sử dụng email tuyệt đối, không được phép gắn thẻ, nó sẽ được ghi đè lại", + "Disable_Facebook_integration": "Vô hiệu hoá tích hợp trên Facebook", "Disable_Notifications": "Vô hiệu hóa thông báo", "Disable_two-factor_authentication": "Tắt xác thực hai yếu tố", - "Disabled": "Tàn tật", - "Display_unread_counter": "Hiển thị số thư chưa đọc", + "Disabled": "Đã tắt", + "Display_unread_counter": "Hiển thị số tin nhắn chưa đọc", "Display_offline_form": "Hiển thị biểu mẫu ngoại tuyến", "Displays_action_text": "Hiển thị văn bản hành động", "Do_not_display_unread_counter": "Không hiển thị bất kỳ bộ đếm nào của kênh này", "Do_you_want_to_accept": "Bạn có muốn chấp nhận không?", "Do_you_want_to_change_to_s_question": "Bạn có muốn thay đổi thành % s?", - "Domain": "Miền", + "Domain": "Tên miền", "Domain_added": "tên miền đã được thêm", "Domain_removed": "Đã xóa tên miền", "Domains": "Tên miền", "Domains_allowed_to_embed_the_livechat_widget": "Danh sách tên miền được tách bằng dấu phẩy được phép nhúng widget livechat. Để trống để cho phép tất cả các tên miền.", "Download_Snippet": "Tải về", "Drop_to_upload_file": "Thả để tải tệp lên", - "Dry_run": "Chạy khô", + "Dry_run": "Chạy thử", "Dry_run_description": "Sẽ chỉ gửi một email, đến cùng một địa chỉ như trong Từ. Email phải thuộc về một người dùng hợp lệ.", "Duplicate_archived_channel_name": "Đã lưu trữ kênh với tên `#% s` tồn tại", - "Duplicate_archived_private_group_name": "Một Nhóm tư nhân lưu trữ có tên '% s' tồn tại", + "Duplicate_archived_private_group_name": "Một Nhóm riêng tư lưu trữ có tên '% s' tồn tại", "Duplicate_channel_name": "Một Kênh có tên '% s' tồn tại", "Duplicate_private_group_name": "Một nhóm riêng có tên '% s' tồn tại", "Duration": "Thời lượng", @@ -571,7 +573,7 @@ "edit-other-user-info_description": "Cho phép thay đổi tên người dùng, tên người dùng hoặc địa chỉ email.", "edit-other-user-password": "Chỉnh sửa Mật khẩu Người dùng khác", "edit-other-user-password_description": "Cho phép thay đổi mật khẩu của người dùng khác. Yêu cầu sự cho phép chỉnh sửa-người sử dụng-thông tin khác.", - "edit-privileged-setting": "Chỉnh sửa cài đặt đặc quyền", + "edit-privileged-setting": "Chỉnh sửa cài đặt quyền", "edit-privileged-setting_description": "Cho phép chỉnh sửa cài đặt", "edit-room": "Chỉnh sửa Phòng", "edit-room_description": "Cho phép chỉnh sửa tên của phòng, chủ đề, loại (tư nhân hoặc trạng thái công cộng) và trạng thái (hoạt động hoặc lưu trữ)", @@ -585,21 +587,21 @@ "Email": "E-mail", "Email_address_to_send_offline_messages": "Địa chỉ Email để Gửi Thư Ngoại tuyến", "Email_already_exists": "Email đã tồn tại", - "Email_body": "Email thân", + "Email_body": "Thân Email", "Email_Change_Disabled": "Quản trị viên Rocket.Chat của bạn đã vô hiệu hóa việc thay đổi email", - "Email_Footer_Description": "Bạn có thể sử dụng các trình giữ chỗ sau:
", - "Email_from": "Từ", - "Email_Header_Description": "Bạn có thể sử dụng các trình giữ chỗ sau:
", + "Email_Footer_Description": "Bạn có thể sử dụng các placeholder sau:
", + "Email_from": "Gửi từ", + "Email_Header_Description": "Bạn có thể sử dụng các placeholder sau:
", "Email_Notification_Mode": "Thông báo qua Email", "Email_Notification_Mode_All": "Mỗi Đề cập / DM", "Email_Notification_Mode_Disabled": "Tàn tật", "Email_or_username": "Thư điện tử hoặc tên người dùng", "Email_Placeholder": "Hãy điền địa chỉ email của bạn...", "Email_Placeholder_any": "Vui lòng nhập địa chỉ email ...", - "Email_subject": "Môn học", + "Email_subject": "Tiêu đề", "Email_verified": "Email xác minh", "Emoji": "Emoji", - "EmojiCustomFilesystem": "Hệ thống tệp tin Emoji Tuỳ chỉnh", + "EmojiCustomFilesystem": "Hệ thống tập tin Emoji Tuỳ chỉnh", "Empty_title": "Tiêu đề trống", "Enable": "Bật", "Enable_Desktop_Notifications": "Bật Thông báo trên màn hình", @@ -607,14 +609,14 @@ "Enable_two-factor_authentication": "Bật xác thực hai yếu tố", "Enabled": "Đã bật", "Enable_Auto_Away": "Bật Auto Away", - "Encrypted_message": "Thư được mã hóa", + "Encrypted_message": "Tin nhắn được mã hóa", "End_OTR": "Kết thúc OTR", "Enter_a_regex": "Nhập regex", "Enter_a_room_name": "Nhập tên phòng", "Enter_a_username": "Nhập tên người sử dụng", "Enter_Alternative": "Chế độ thay thế (gửi kèm với Enter + Ctrl / Alt / Shift / CMD)", "Enter_authentication_code": "Nhập mã xác thực", - "Enter_Behaviour": "Nhập chính Hành vi", + "Enter_Behaviour": "Hành vi của nút Enter", "Enter_Behaviour_Description": "Điều này thay đổi nếu nhập phím sẽ gửi một tin nhắn hoặc làm một ngắt dòng", "Enter_name_here": "Nhập tên ở đây", "Enter_Normal": "Chế độ thông thường (gửi kèm với Enter)", @@ -631,7 +633,7 @@ "error-could-not-change-username": "Không thể thay đổi tên người dùng", "error-delete-protected-role": "Không thể xóa vai trò được bảo vệ", "error-department-not-found": "Vụ không tìm thấy", - "error-direct-message-file-upload-not-allowed": "Không cho phép chia sẻ tệp trong thư trực tiếp", + "error-direct-message-file-upload-not-allowed": "Không cho phép chia sẻ tệp trong tin nhắn trực tiếp", "error-duplicate-channel-name": "Một kênh có tên '__channel_name__' tồn tại", "error-email-domain-blacklisted": "Tên miền email bị liệt vào danh sách đen", "error-email-send-failed": "Lỗi cố gắng gửi email: __message__", @@ -655,7 +657,7 @@ "error-invalid-file-type": "Loại tệp không hợp lệ", "error-invalid-file-width": "Chiều rộng tệp không hợp lệ", "error-invalid-from-address": "Bạn đã thông báo địa chỉ FROM không hợp lệ.", - "error-invalid-integration": "Hội nhập không hợp lệ", + "error-invalid-integration": "Tích hợp không hợp lệ", "error-invalid-message": "Thông báo không hợp lệ", "error-invalid-method": "Phương pháp không hợp lệ", "error-invalid-name": "Tên không hợp lệ", @@ -675,7 +677,7 @@ "error-invalid-webhook-response": "URL webhook đã phản hồi với trạng thái khác với 200", "error-message-deleting-blocked": "Xóa tin nhắn bị chặn", "error-message-editing-blocked": "Chỉnh sửa tin nhắn bị chặn", - "error-message-size-exceeded": "Kích thước thư vượt quá Message_MaxAllowedSize", + "error-message-size-exceeded": "Kích thước tin nhắn vượt quá Message_MaxAllowedSize", "error-missing-unsubscribe-link": "Bạn phải cung cấp liên kết [hủy đăng ký].", "error-no-tokens-for-this-user": "Không có thẻ bài cho người dùng này", "error-not-allowed": "Không cho phép", @@ -706,53 +708,54 @@ "Everyone_can_access_this_channel": "Mọi người đều có thể truy cập vào kênh này", "Example_s": "Ví dụ: % s", "Exclude_Botnames": "Loại trừ Bots", - "Exclude_Botnames_Description": "Không truyền bá thông điệp từ các chương trình có tên phù hợp với biểu thức chính quy ở trên. Nếu để trống, tất cả các thư từ chương trình sẽ được truyền.", + "Exclude_Botnames_Description": "Không truyền bá tin nhắn từ các bots có tên trùng với Regular Expression ở trên. Nếu để trống, tất cả các tin nhắn từ chương trình sẽ được truyền.", + "Expand": "Mở", "External_Service": "Dịch vụ bên ngoài", "External_Queue_Service_URL": "URL dịch vụ hàng đợi bên ngoài", "Facebook_Page": "Trang Facebook", - "False": "Sai", - "Favorite_Rooms": "Bật Phòng yêu thích", + "False": "Không", + "Favorite_Rooms": "Bật kênh yêu thích", "Favorites": "Yêu thích", "Features_Enabled": "Tính năng Bật", "Field": "Cánh đồng", "Field_removed": "Trường đã bị xóa", "Field_required": "Trường bắt buộc", "File_exceeds_allowed_size_of_bytes": "Tệp vượt quá kích thước cho phép của __size__.", - "File_not_allowed_direct_messages": "Không cho phép chia sẻ tệp trong thư trực tiếp.", + "File_not_allowed_direct_messages": "Không cho phép chia sẻ tệp trong tin nhắn trực tiếp.", "File_type_is_not_accepted": "Loại tệp không được chấp nhận.", "File_uploaded": "File đã được tải lên", "FileUpload": "Tải tệp lên", "FileUpload_Disabled": "Tải tệp lên bị vô hiệu.", - "FileUpload_Enabled": "Đã tải lên tệp lên", - "FileUpload_Enabled_Direct": "Tải lên tệp Bật trong Thư trực tiếp", + "FileUpload_Enabled": "Đã bật", + "FileUpload_Enabled_Direct": "Đã bật Tải tệp lên trong tin nhắn trực tiếp", "FileUpload_File_Empty": "Tập tin trống", - "FileUpload_FileSystemPath": "Đường dẫn Hệ thống", - "FileUpload_GoogleStorage_AccessId": "Id truy cập bộ nhớ Google", - "FileUpload_GoogleStorage_AccessId_Description": "Id Truy cập nói chung ở định dạng email, ví dụ: \"example-test@example.iam.gserviceaccount.com\"", - "FileUpload_GoogleStorage_Bucket": "Tên nhóm lưu trữ của Google", - "FileUpload_GoogleStorage_Bucket_Description": "Tên của nhóm cần tải lên các tệp.", + "FileUpload_FileSystemPath": "Đường dẫn Tệp", + "FileUpload_GoogleStorage_AccessId": "Id truy cập Google Storage", + "FileUpload_GoogleStorage_AccessId_Description": "Id Truy cập nói chung là định dạng email, ví dụ: \"example-test@example.iam.gserviceaccount.com\"", + "FileUpload_GoogleStorage_Bucket": "Tên Bucket Google Storage", + "FileUpload_GoogleStorage_Bucket_Description": "Tên của Bucket cần tải lên các tệp.", "FileUpload_GoogleStorage_Proxy": "Ủy quyền", "FileUpload_GoogleStorage_Proxy_Description": "Proxy truyền tất cả tệp qua máy chủ của bạn thay vì truy cập trực tiếp vào URL của nội dung", - "FileUpload_GoogleStorage_Secret": "Bí mật lưu trữ của Google", + "FileUpload_GoogleStorage_Secret": "Khóa Secret của Lưu Trữ Google", "FileUpload_GoogleStorage_Secret_Description": "Hãy làm theo những hướng dẫn nàyvà dán kết quả tại đây.", "FileUpload_MaxFileSize": "Kích thước Tải lên Tệp Tối đa (bằng byte)", "FileUpload_MediaType_NotAccepted": "Các loại phương tiện không được chấp nhận", - "FileUpload_MediaTypeWhiteList": "Các loại phương tiện được chấp nhận", + "FileUpload_MediaTypeWhiteList": "Các định dạng được chấp nhận", "FileUpload_MediaTypeWhiteListDescription": "Danh sách loại phương tiện được tách bằng dấu phẩy. Để trống để chấp nhận tất cả các loại phương tiện.", "FileUpload_ProtectFiles": "Bảo vệ tệp đã tải lên", "FileUpload_ProtectFilesDescription": "Chỉ những người dùng được chứng thực mới có quyền truy cập", "FileUpload_S3_Acl": "Acl", "FileUpload_S3_AWSAccessKeyId": "Khóa truy cập", - "FileUpload_S3_AWSSecretAccessKey": "Chìa khoá bí mật", - "FileUpload_S3_Bucket": "Tên thùng", + "FileUpload_S3_AWSSecretAccessKey": "Secret Access Key", + "FileUpload_S3_Bucket": "Tên Bucket", "FileUpload_S3_BucketURL": "Địa chỉ URL", "FileUpload_S3_CDN": "Tên miền CDN cho tải xuống", - "FileUpload_S3_ForcePathStyle": "Chế độ Đường dẫn Lực", + "FileUpload_S3_ForcePathStyle": "Chế độ Force Path", "FileUpload_S3_Proxy": "Ủy quyền", "FileUpload_S3_Proxy_Description": "Proxy truyền tất cả tệp qua máy chủ của bạn thay vì truy cập trực tiếp vào URL của nội dung", "FileUpload_S3_Region": "Khu vực", "FileUpload_S3_SignatureVersion": "Phiên bản Chữ ký", - "FileUpload_S3_URLExpiryTimeSpan": "URL hết hạn", + "FileUpload_S3_URLExpiryTimeSpan": "Thời gian hết hạn URL", "FileUpload_S3_URLExpiryTimeSpan_Description": "Thời gian sau đó Amazon S3 tạo URL sẽ không còn giá trị (tính bằng giây). Nếu đặt dưới 5 giây, trường này sẽ bị bỏ qua.", "FileUpload_Storage_Type": "Loại lưu trữ", "First_Channel_After_Login": "Kênh đầu tiên Sau khi đăng nhập", @@ -760,36 +763,36 @@ "Follow_social_profiles": "Thực hiện theo các hồ sơ xã hội của chúng tôi, fork chúng tôi trên github và chia sẻ suy nghĩ của bạn về ứng dụng rocket.chat trên bảng trello của chúng tôi.", "Fonts": "Phông chữ", "Food_and_Drink": "Đồ ăn thức uống", - "Footer": "Footer", - "Footer_Direct_Reply": "Footer Khi Bật Trả lời Trực tiếp", + "Footer": "Cuối trang", + "Footer_Direct_Reply": "Cuối trang khi Bật Trả lời Trực tiếp", "For_more_details_please_check_our_docs": "Để biết thêm chi tiết hãy kiểm tra tài liệu của chúng tôi.", "For_your_security_you_must_enter_your_current_password_to_continue": "Để bảo mật của bạn, bạn phải nhập mật khẩu hiện tại để tiếp tục", - "force-delete-message": "Buộc xóa thư", + "force-delete-message": "Buộc xóa tin nhắn", "force-delete-message_description": "Cho phép xóa một tin nhắn bỏ qua tất cả các hạn chế", "Force_Disable_OpLog_For_Cache": "Vô hiệu hoá OpLog cho Cache", "Force_Disable_OpLog_For_Cache_Description": "Sẽ không sử dụng OpLog để đồng bộ hóa bộ nhớ cache ngay cả khi nó có sẵn", "Force_SSL": "Buộc SSL", "Force_SSL_Description": "* Chú ý! _Force SSL_ không nên được sử dụng với proxy ngược lại. Nếu bạn có một proxy ngược lại, bạn nên làm các redirect THERE. Tùy chọn này tồn tại cho các triển khai như Heroku, không cho phép cấu hình chuyển hướng ở proxy ngược lại.", "Forgot_password": "Quên mật khẩu", - "Forgot_Password_Description": "Bạn có thể sử dụng các trình giữ chỗ sau:
", - "Forgot_Password_Email": "Nhấp vào ở đâyđể đặt lại mật khẩu của bạn.", + "Forgot_Password_Description": "Bạn có thể sử dụng các placeholder sau:
", + "Forgot_Password_Email": "Nhấp vào ở đâyđể đặt lại mật khẩu của bạn.", "Forgot_Password_Email_Subject": "[Site_Name] - Phục hồi mật khẩu", "Forgot_password_section": "Quên mật khẩu", - "Forward": "Phía trước", + "Forward": "Chuyển tiếp", "Forward_chat": "Chuyển tiếp trò chuyện", "Forward_to_department": "Chuyển tiếp tới bộ phận", "Forward_to_user": "Chuyển tiếp tới người dùng", "Frequently_Used": "Thường được sử dụng", "Friday": "Thứ sáu", - "From": "Từ", + "From": "Gửi từ", "From_Email": "Từ Email", - "From_email_warning": "Cảnh báo: Trường Từtùy thuộc vào cài đặt máy chủ thư của bạn.", + "From_email_warning": "Cảnh báo: Trường Từtùy thuộc vào cài đặt máy chủ Email của bạn.", "General": "Chung", "github_no_public_email": "Bạn không có bất kỳ email nào dưới dạng email công khai trong tài khoản GitHub của mình", "Give_a_unique_name_for_the_custom_oauth": "Cho một tên duy nhất cho tùy chỉnh oauth", "Give_the_application_a_name_This_will_be_seen_by_your_users": "Cung cấp cho ứng dụng một cái tên. Người dùng của bạn sẽ nhìn thấy điều này.", "Global": "Toàn cầu", - "Global_Search": "Tìm kiếm toàn cầu", + "Global_Search": "Tìm kiếm chung", "Google_Vision_usage_limit_exceeded": "Đã vượt quá giới hạn sử dụng Google Vision", "GoogleCloudStorage": "Google Cloud Storage", "GoogleNaturalLanguage_ServiceAccount_Description": "Tệp JSON chính của tài khoản dịch vụ. Bạn có thể tìm thêm thông tin [ở đây] (https://cloud.google.com/natural-language/docs/common/auth#set_up_a_service_account)", @@ -800,9 +803,9 @@ "GoogleVision_Enable": "Bật Google Vision", "GoogleVision_Max_Monthly_Calls": "Cuộc gọi hàng tháng tối đa", "GoogleVision_Max_Monthly_Calls_Description": "Sử dụng 0 cho không giới hạn", - "GoogleVision_ServiceAccount": "Tài khoản Dịch vụ Tầm nhìn của Google", + "GoogleVision_ServiceAccount": "Tài khoản Dịch vụ Google Vision", "GoogleVision_ServiceAccount_Description": "Tạo khóa máy chủ (định dạng JSON) và dán nội dung JSON vào đây", - "GoogleVision_Type_Document": "Đoạn văn bản văn bản", + "GoogleVision_Type_Document": "Phát hiện văn bản", "GoogleVision_Type_Faces": "Phát hiện khuôn mặt", "GoogleVision_Type_Labels": "Phát hiện Nhãn", "GoogleVision_Type_Landmarks": "Xác định mốc", @@ -811,13 +814,13 @@ "GoogleVision_Type_SafeSearch": "Tìm kiếm an toàn", "GoogleVision_Type_Similar": "Tìm kiếm Hình ảnh tương tự", "Group_by_Type": "Nhóm theo loại", - "Group_favorites": "Nhóm yêu thích", - "Group_mentions_only": "Nhóm đề cập đến chỉ", - "Guest_Pool": "Bể bơi của khách", + "Group_favorites": "Gom nhóm yêu thích", + "Group_mentions_only": "Chỉ những tin nhóm được đề cập đến", + "Guest_Pool": "Pool khách", "Hash": "Hash", - "Header": "Tiêu đề", + "Header": "Đầu trang", "Header_and_Footer": "Đầu trang và cuối trang", - "Helpers": "Người trợ giúp", + "Helpers": "Helpers", "Hex_Color_Preview": "Xem trước Màu Hex", "Hidden": "Ẩn", "Hide_Avatars": "Ẩn hình đại diện", @@ -835,44 +838,44 @@ "Highlights_How_To": "Để được thông báo khi ai đó đề cập đến một từ hoặc cụm từ, hãy thêm nó vào đây. Bạn có thể tách từ hoặc cụm từ bằng dấu phẩy. Các từ nổi bật không phân biệt chữ hoa chữ thường.", "Highlights_List": "Đánh dấu từ", "History": "Lịch sử", - "Host": "Chủ nhà", + "Host": "Host", "hours": "giờ", "Hours": "Giờ", - "How_friendly_was_the_chat_agent": "Làm thế nào thân thiện là các đại lý trò chuyện?", - "How_knowledgeable_was_the_chat_agent": "Làm thế nào hiểu được các đại lý trò chuyện?", - "How_long_to_wait_after_agent_goes_offline": "Làm thế nào để chờ đợi sau khi đại lý Goes Offline", - "How_responsive_was_the_chat_agent": "Làm thế nào đáp ứng được đại lý trò chuyện?", + "How_friendly_was_the_chat_agent": "Agent trò chuyện có thân thiện không?", + "How_knowledgeable_was_the_chat_agent": "Kiến thức của agent như thế nào?", + "How_long_to_wait_after_agent_goes_offline": "Chờ bao lâu sau khi agent ngoại tuyến", + "How_responsive_was_the_chat_agent": "Agent đáp lại có nhanh không?", "How_satisfied_were_you_with_this_chat": "Bạn cảm thấy hài lòng với cuộc trò chuyện này như thế nào?", - "How_to_handle_open_sessions_when_agent_goes_offline": "Làm thế nào để xử lý phiên mở khi đại lý đi offline", + "How_to_handle_open_sessions_when_agent_goes_offline": "Làm thế nào để xử lý phiên mở khi agent ngoại tuyến", "If_this_email_is_registered": "Nếu email này đã được đăng ký, chúng tôi sẽ gửi hướng dẫn về cách đặt lại mật khẩu của bạn. Nếu bạn không nhận được email sớm, vui lòng quay lại và thử lại.", "If_you_are_sure_type_in_your_password": "Nếu bạn chắc chắn nhập vào mật khẩu của mình:", "If_you_are_sure_type_in_your_username": "Nếu bạn chắc chắn nhập vào tên người dùng của mình:", - "If_you_dont_have_one_send_an_email_to_omni_rocketchat_to_get_yours": "Nếu bạn không có một địa chỉ email gửi tới [omni@rocket.chat] (mailto: omni@rocket.chat) để có được email của bạn.", - "Iframe_Integration": "Tích hợp khung nội tuyến", - "Iframe_Integration_receive_enable": "Bật nhận", - "Iframe_Integration_receive_enable_Description": "Cho phép cửa sổ cha mẹ gửi các lệnh đến Rocket.Chat.", - "Iframe_Integration_receive_origin": "Nhận nguồn gốc", - "Iframe_Integration_receive_origin_Description": "Nguồn gốc có tiền tố giao thức, được phân tách bằng dấu phẩy, được phép nhận các lệnh ví dụ: 'https: // localhost, http: // localhost', hoặc * để cho phép nhận từ bất cứ đâu.", + "If_you_dont_have_one_send_an_email_to_omni_rocketchat_to_get_yours": "Nếu bạn không có hãy gửi email tới [omni@rocket.chat] (mailto: omni@rocket.chat) để lấy.", + "Iframe_Integration": "Tích hợp Iframe", + "Iframe_Integration_receive_enable": "Bật Nhận", + "Iframe_Integration_receive_enable_Description": "Cho phép cửa sổ cha gửi các lệnh đến Rocket.Chat.", + "Iframe_Integration_receive_origin": "Nguồn nhận", + "Iframe_Integration_receive_origin_Description": "Nguồn với tiền tố giao thức, được phân tách bằng dấu phẩy, nơi được phép nhận các lệnh ví dụ: 'https: // localhost, http: // localhost', hoặc * để cho phép nhận từ bất cứ đâu.", "Iframe_Integration_send_enable": "Bật Gửi", "Iframe_Integration_send_enable_Description": "Gửi sự kiện đến cửa sổ chính", - "Iframe_Integration_send_target_origin": "Gửi nguồn gốc đích", - "Iframe_Integration_send_target_origin_Description": "Xuất xứ với tiền tố giao thức, những lệnh nào được gửi đến ví dụ: 'https: // localhost', hoặc * để cho phép gửi đến bất cứ đâu.", + "Iframe_Integration_send_target_origin": "Nguồn đích gửi đến", + "Iframe_Integration_send_target_origin_Description": "Nguồn với tiền tố giao thức, nơi những lệnh được gửi đến ví dụ: 'https: // localhost', hoặc * để cho phép gửi đến bất cứ đâu.", "IMAP_intercepter_already_running": "Bộ phận giải quyết IMAP đã chạy", "IMAP_intercepter_Not_running": "Dấu chấm hỏi IMAP Không chạy", "Impersonate_next_agent_from_queue": "Mạo danh tác nhân kế tiếp từ hàng đợi", "Impersonate_user": "Giả mạo", "Impersonate_user_description": "Khi được bật, các bài đăng tích hợp như là người dùng kích hoạt sự tích hợp", - "Import": "Nhập khẩu", + "Import": "Nhập dữ liệu", "Importer_Archived": "Đã lưu trữ", - "Importer_CSV_Information": "Người nhập khẩu CSV yêu cầu một định dạng cụ thể, vui lòng đọc tài liệu hướng dẫn cách cấu trúc tệp nén của bạn:", + "Importer_CSV_Information": "Nhập dữ liệu bằng CSV yêu cầu một định dạng cụ thể, vui lòng đọc tài liệu hướng dẫn cách cấu trúc tệp nén của bạn:", "Importer_done": "Nhập đầy đủ!", - "Importer_finishing": "Hoàn thiện việc nhập khẩu.", - "Importer_From_Description": "Nhập khẩu __from__ dữ liệu vào Rocket.Chat.", - "Importer_HipChatEnterprise_BetaWarning": "Xin lưu ý rằng nhập này vẫn đang trong quá trình làm việc, hãy báo cáo bất kỳ lỗi nào xảy ra trong GitHub:", + "Importer_finishing": "Hoàn thành việc nhập dữ liệu.", + "Importer_From_Description": "Nhập dữ liệu __from__ vào Rocket.Chat.", + "Importer_HipChatEnterprise_BetaWarning": "Xin lưu ý rằng phần nhập dữ liệu này vẫn đang trong quá trình hoàn thiện, hãy báo cáo bất kỳ lỗi nào xảy ra tại GitHub:", "Importer_HipChatEnterprise_Information": "Tệp được tải lên phải là tệp được giải mã tar.gz, vui lòng đọc tài liệu để biết thêm thông tin:", "Importer_Slack_Users_CSV_Information": "Tệp được tải lên phải là tệp xuất của Người dùng Slack, tệp CSV. Xem ở đây để biết thêm thông tin:", - "Importer_import_cancelled": "Nhập bị hủy.", - "Importer_import_failed": "Đã xảy ra lỗi khi chạy nhập.", + "Importer_import_cancelled": "Nhập dữ liệu bị hủy.", + "Importer_import_failed": "Đã xảy ra lỗi khi chạy.", "Importer_importing_channels": "Nhập các kênh.", "Importer_importing_messages": "Nhập các tin nhắn.", "Importer_importing_started": "Bắt đầu nhập.", @@ -905,26 +908,26 @@ "Integration_disabled": "Tích hợp bị tắt", "Integration_History_Cleared": "Lịch sử tích hợp được xóa thành công", "Integration_Incoming_WebHook": "Tích hợp WebHook", - "Integration_New": "Hội nhập mới", + "Integration_New": "Tích hợp mới", "Integration_Outgoing_WebHook": "Tích hợp WebHook đi", "Integration_Outgoing_WebHook_History": "Lịch sử tích hợp WebHook gửi đi", - "Integration_Outgoing_WebHook_History_Data_Passed_To_Trigger": "Dữ liệu đi qua để hội nhập", + "Integration_Outgoing_WebHook_History_Data_Passed_To_Trigger": "Dữ liệu đi qua để tích hợp", "Integration_Outgoing_WebHook_History_Data_Passed_To_URL": "Dữ liệu được chuyển đến URL", "Integration_Outgoing_WebHook_History_Error_Stacktrace": "Lỗi Stacktrace", "Integration_Outgoing_WebHook_History_Http_Response": "Phản hồi HTTP", "Integration_Outgoing_WebHook_History_Http_Response_Error": "Lỗi phản hồi HTTP", - "Integration_Outgoing_WebHook_History_Messages_Sent_From_Prepare_Script": "Thư được gửi từ Chuẩn bị Bước", - "Integration_Outgoing_WebHook_History_Messages_Sent_From_Process_Script": "Thư gửi từ Bước Phản hồi Quy trình", + "Integration_Outgoing_WebHook_History_Messages_Sent_From_Prepare_Script": "Tin nhắn được gửi từ Bước Chuẩn bị", + "Integration_Outgoing_WebHook_History_Messages_Sent_From_Process_Script": "Tin nhắn gửi từ Bước Phản hồi Quy trình", "Integration_Outgoing_WebHook_History_Time_Ended_Or_Error": "Thời gian kết thúc hoặc lỗi", "Integration_Outgoing_WebHook_History_Time_Triggered": "Tích hợp Thời gian Kích hoạt", "Integration_Outgoing_WebHook_History_Trigger_Step": "Bước kích hoạt cuối cùng", "Integration_Outgoing_WebHook_No_History": "Tích hợp webhook gửi đi này vẫn chưa có lịch sử nào được ghi lại.", "Integration_Retry_Count": "Thử lại đếm", - "Integration_Retry_Count_Description": "Bao nhiêu lần hội nhập nên được thử nếu cuộc gọi đến url không?", + "Integration_Retry_Count_Description": "Bao nhiêu lần tích hợp nên được thử lại nếu cuộc gọi đến url không?", "Integration_Retry_Delay": "Thử lại Trễ", "Integration_Retry_Delay_Description": "Thuật toán trì hoãn nên sử dụng lại? 10^x hoặc 2^xhoặc x*2", "Integration_Retry_Failed_Url_Calls": "Thử lại các cuộc gọi Url Không thành công", - "Integration_Retry_Failed_Url_Calls_Description": "Nên hội nhập thử một khoảng thời gian hợp lý nếu cuộc gọi ra các url không?", + "Integration_Retry_Failed_Url_Calls_Description": "Tích hợp có nên thử một khoảng thời gian hợp lý nếu cuộc gọi ra các url không?", "Integration_Run_When_Message_Is_Edited": "Chạy trên Chỉnh sửa", "Integration_Run_When_Message_Is_Edited_Description": "Sự tích hợp sẽ chạy khi nào thông điệp được chỉnh sửa? Đặt điều này thành false sẽ làm cho việc tích hợp chỉ chạy trên tin nhắn mới.", "Integration_updated": "Tích hợp đã được cập nhật.", @@ -937,17 +940,17 @@ "Integrations_Outgoing_Type_RoomCreated": "Phòng đã tạo (công cộng và riêng tư)", "Integrations_Outgoing_Type_RoomJoined": "Phòng Người dùng Tham gia", "Integrations_Outgoing_Type_RoomLeft": "Phòng Người dùng Còn lại", - "Integrations_Outgoing_Type_SendMessage": "Thư đã gửi", + "Integrations_Outgoing_Type_SendMessage": "Tin nhắn đã gửi", "Integrations_Outgoing_Type_UserCreated": "Người dùng đã tạo", - "InternalHubot": "Nội bộ Hubot", - "InternalHubot_PathToLoadCustomScripts": "Thư mục để tải các tập lệnh", + "InternalHubot": "Hubot nội bộ", + "InternalHubot_PathToLoadCustomScripts": "Thư mục chứa các tập script", "InternalHubot_reload": "Tải lại các tập lệnh", - "InternalHubot_ScriptsToLoad": "Các kịch bản để nạp", + "InternalHubot_ScriptsToLoad": "Các script để nạp", "InternalHubot_ScriptsToLoad_Description": "Vui lòng nhập một danh sách các tập lệnh được phân cách bằng dấu phẩy để tải từ thư mục tùy chỉnh của bạn", "InternalHubot_Username_Description": "Đây phải là tên người dùng hợp lệ của một bot được đăng ký trên máy chủ của bạn.", "InternalHubot_EnableForChannels": "Bật cho các kênh công cộng", - "InternalHubot_EnableForDirectMessages": "Bật cho Thư trực tiếp", - "InternalHubot_EnableForPrivateGroups": "Bật cho Kênh riêng tư", + "InternalHubot_EnableForDirectMessages": "Bật cho tin nhắn trực tiếp", + "InternalHubot_EnableForPrivateGroups": "Bật cho kênh riêng tư", "Invalid_confirm_pass": "Xác nhận mật khẩu không khớp với mật khẩu", "Invalid_email": "Email nhập vào không hợp lệ", "Invalid_Export_File": "Tệp được tải lên không phải là tệp xuất% s hợp lệ.", @@ -965,25 +968,25 @@ "Invitation": "Lời mời", "Invitation_HTML": "HTML mời", "Invitation_HTML_Default": "

Bạn đã được mời đến

[Site_Name]

Đi đến [Site_URL] và thử giải pháp trò chuyện nguồn mở tốt nhất hiện có ngay hôm nay!

", - "Invitation_HTML_Description": "Bạn có thể sử dụng các trình giữ chỗ sau:
", + "Invitation_HTML_Description": "Bạn có thể sử dụng các placeholder sau:
", "Invitation_Subject": "Chủ đề Lời mời", "Invitation_Subject_Default": "Bạn đã được mời tham gia [Site_Name]", "Invite_user_to_join_channel": "Mời một người dùng tham gia kênh này", "Invite_user_to_join_channel_all_from": "Mời tất cả người dùng từ [#channel] tham gia kênh này", "Invite_user_to_join_channel_all_to": "Mời tất cả người dùng từ kênh này tham gia [#channel]", "Invite_Users": "Mời Người dùng", - "IRC_Channel_Join": "Đầu ra của lệnh JOIN.", - "IRC_Channel_Leave": "Đầu ra của lệnh PART.", - "IRC_Channel_Users": "Đầu ra của lệnh NAMES.", + "IRC_Channel_Join": "Kết quả của lệnh JOIN.", + "IRC_Channel_Leave": "Kết quả của lệnh PART.", + "IRC_Channel_Users": "Kết quả của lệnh NAMES.", "IRC_Channel_Users_End": "Kết thúc đầu ra của lệnh NAMES.", "IRC_Description": "Internet Relay Chat (IRC) là một công cụ truyền thông nhóm dựa trên văn bản. Người dùng tham gia các kênh được đặt tên duy nhất, hoặc các phòng, để thảo luận mở. IRC cũng hỗ trợ tin nhắn cá nhân giữa người dùng cá nhân và khả năng chia sẻ tập tin. Gói này tích hợp các lớp chức năng này với Rocket.Chat.", - "IRC_Enabled": "Cố gắng tích hợp hỗ trợ IRC. Thay đổi giá trị này yêu cầu khởi động lại Rocket.Chat.", + "IRC_Enabled": "Thử tích hợp hỗ trợ IRC. Thay đổi giá trị này yêu cầu phải khởi động lại Rocket.Chat.", "IRC_Hostname": "Máy chủ lưu trữ IRC để kết nối.", - "IRC_Login_Fail": "Xuất ra khi kết nối không thành công với máy chủ IRC.", - "IRC_Login_Success": "Kết xuất khi kết nối thành công với máy chủ IRC.", + "IRC_Login_Fail": "Kết quả khi kết nối không thành công với máy chủ IRC.", + "IRC_Login_Success": "Kết quả khi kết nối thành công với máy chủ IRC.", "IRC_Message_Cache_Size": "Giới hạn bộ nhớ cache cho xử lý thư đi.", "IRC_Port": "Cổng kết nối với máy chủ lưu trữ IRC.", - "IRC_Private_Message": "Đầu ra của lệnh PRIVMSG.", + "IRC_Private_Message": "Kết quả của lệnh PRIVMSG.", "IRC_Quit": "Kết quả khi bỏ một phiên IRC.", "is_also_typing": "cũng đang gõ", "is_also_typing_female": "cũng đang gõ", @@ -991,10 +994,10 @@ "is_typing": "đang đánh máy", "is_typing_female": "đang đánh máy", "is_typing_male": "đang đánh máy", - "Issue_Links": "Liên kết trình phát hành", + "Issue_Links": "Liên kết theo dõi sự cố", "IssueLinks_Incompatible": "Cảnh báo: không kích hoạt tính năng này và 'Hex Color Preview' cùng một lúc.", - "IssueLinks_LinkTemplate": "Mẫu cho liên kết phát hành", - "IssueLinks_LinkTemplate_Description": "Mẫu cho liên kết phát hành; % s sẽ được thay thế bằng số phát hành.", + "IssueLinks_LinkTemplate": "Mẫu cho liên kết sự cố", + "IssueLinks_LinkTemplate_Description": "Mẫu cho liên kết sự cố; % s sẽ được thay thế bằng số phát hành.", "It_works": "Nó hoạt động", "Idle_Time_Limit": "Giới hạn thời gian rỗi", "italics": "chữ in nghiêng", @@ -1018,13 +1021,13 @@ "Katex_Dollar_Syntax": "Cho phép cú pháp Dollar", "Katex_Dollar_Syntax_Description": "Cho phép sử dụng các cú pháp $ katex $$ $ và $ inline katex $", "Katex_Enabled": "Bật Katex", - "Katex_Enabled_Description": "Cho phép sử dụng katex cho việc sắp xếp theo học trong các bài viết", - "Katex_Parenthesis_Syntax": "Cho phép cú pháp cú pháp", - "Katex_Parenthesis_Syntax_Description": "Cho phép sử dụng các cú pháp \\ [khối katex] và \\ (nội tuyến katex \\)", + "Katex_Enabled_Description": "Cho phép sử dụng katex cho việc Math Typesetting trong các bài viết", + "Katex_Parenthesis_Syntax": "Cho phép cú pháp chứa ngoặc tròn", + "Katex_Parenthesis_Syntax_Description": "Cho phép sử dụng các cú pháp \\ [katex block] và \\ (katex inline \\)", "Keep_default_user_settings": "Giữ cài đặt mặc định", - "Keyboard_Shortcuts_Edit_Previous_Message": "Chỉnh sửa thư trước", + "Keyboard_Shortcuts_Edit_Previous_Message": "Chỉnh sửa tin nhắn trước", "Keyboard_Shortcuts_Keys_1": "Ctrl+ p", - "Keyboard_Shortcuts_Keys_2": "Mũi tên lên Lên trên", + "Keyboard_Shortcuts_Keys_2": "Mũi tên lên", "Keyboard_Shortcuts_Keys_3": "Command(hoặc Alt) + Mũi tên trái", "Keyboard_Shortcuts_Keys_4": "Command(hoặc Alt) + Mũi tên Lên trên", "Keyboard_Shortcuts_Keys_5": "Command(hoặc Alt) + Mũi tên phải", @@ -1032,7 +1035,7 @@ "Keyboard_Shortcuts_Keys_7": "Shift+ Nhập", "Keyboard_Shortcuts_Move_To_Beginning_Of_Message": "Di chuyển đến đầu tin nhắn", "Keyboard_Shortcuts_Move_To_End_Of_Message": "Di chuyển đến cuối tin nhắn", - "Keyboard_Shortcuts_New_Line_In_Message": "Dòng mới trong đầu vào soạn thư", + "Keyboard_Shortcuts_New_Line_In_Message": "Dòng mới trong phần soạn tin", "Keyboard_Shortcuts_Open_Channel_Slash_User_Search": "Mở kênh / Tìm kiếm người dùng", "Keyboard_Shortcuts_Title": "Các phím tắt bàn phím", "Knowledge_Base": "Kiến thức cơ bản", @@ -1040,14 +1043,14 @@ "Language": "Ngôn ngữ", "Language_Version": "Phiên bản tiếng Anh", "Last_login": "Lân đăng nhập cuôi", - "Last_Message_At": "Thư cuối cùng ở", + "Last_Message_At": "Tin nhắn cuối cùng ở", "Last_seen": "Nhìn thấy lần cuối", - "Layout": "Bố trí", + "Layout": "Bố cục", "Layout_Home_Body": "Trang chủ Body", "Layout_Home_Title": "Tiêu đề Trang chủ", "Layout_Login_Terms": "Điều khoản đăng nhập", "Layout_Privacy_Policy": "Chính sách bảo mật", - "Layout_Sidenav_Footer": "Tiêu điểm Danh mục Side", + "Layout_Sidenav_Footer": "Chân trang sidebar", "Layout_Sidenav_Footer_description": "Kích thước chân trang là 260 x 70px", "Layout_Terms_of_Service": "Điều khoản dịch vụ", "LDAP": "LDAP", @@ -1055,11 +1058,11 @@ "LDAP_Connect_Timeout": "Thời gian chờ kết nối (ms)", "LDAP_Default_Domain": "Tên miền mặc định", "LDAP_Default_Domain_Description": "Nếu được cung cấp Tên miền Mặc định sẽ được sử dụng để tạo một email duy nhất cho người dùng khi email không được nhập từ LDAP. Email sẽ được gắn kết dưới dạng `username @ default_domain` hoặc` unique_id @ default_domain`.
Ví dụ: `rocket.chat`", - "LDAP_Description": "LDAP là một cơ sở dữ liệu có thứ bậc mà nhiều công ty sử dụng để cung cấp một dấu hiệu trên - một cơ sở để chia sẻ một mật khẩu giữa nhiều trang web và dịch vụ. Để biết thông tin cấu hình nâng cao và các ví dụ, vui lòng tham khảo wiki của chúng tôi: https://rocket.chat/docs/administrator-guides/authentication/ldap/.", - "LDAP_BaseDN": "DN cơ sở", - "LDAP_BaseDN_Description": "Tên nổi bật đủ điều kiện (DN) của một cây con LDAP bạn muốn tìm kiếm người dùng và nhóm. Bạn có thể thêm bao nhiêu tùy thích; tuy nhiên, mỗi nhóm phải được xác định trong cùng một cơ sở miền với những người dùng thuộc về nó. Ví dụ: `ou = Người dùng + ou = Dự án, dc = Ví dụ, dc = com`. Nếu bạn chỉ định các nhóm người dùng bị hạn chế, chỉ những người dùng thuộc các nhóm đó mới có phạm vi. Chúng tôi khuyên bạn nên chỉ định mức cao nhất của cây thư mục LDAP làm cơ sở tên miền của bạn và sử dụng bộ lọc tìm kiếm để kiểm soát quyền truy cập.", + "LDAP_Description": "LDAP là một cơ sở dữ liệu có thứ bậc mà nhiều công ty sử dụng để cung cấp single sign on - một cơ sở để chia sẻ một mật khẩu giữa nhiều trang web và dịch vụ. Để biết thông tin cấu hình nâng cao và các ví dụ, vui lòng tham khảo wiki của chúng tôi: https://rocket.chat/docs/administrator-guides/authentication/ldap/.", + "LDAP_BaseDN": "Distinguished Name (DN) cơ sở", + "LDAP_BaseDN_Description": "Distinguished Name (DN) đủ điều kiện của một cây con LDAP bạn muốn tìm kiếm người dùng và nhóm. Bạn có thể thêm bao nhiêu tùy thích; tuy nhiên, mỗi nhóm phải được xác định trong cùng một cơ sở miền với những người dùng thuộc về nó. Ví dụ: `ou = Người dùng + ou = Dự án, dc = Ví dụ, dc = com`. Nếu bạn chỉ định các nhóm người dùng bị hạn chế, chỉ những người dùng thuộc các nhóm đó mới có phạm vi. Chúng tôi khuyên bạn nên chỉ định mức cao nhất của cây thư mục LDAP làm cơ sở tên miền của bạn và sử dụng bộ lọc tìm kiếm để kiểm soát quyền truy cập.", "LDAP_User_Search_Field": "Trường tìm kiếm", - "LDAP_User_Search_Field_Description": "Thuộc tính LDAP xác định người dùng LDAP đã cố gắng xác thực. Trường này phải là `sAMAccountName` cho hầu hết các cài đặt Active Directory, nhưng có thể là` uid` cho các giải pháp LDAP khác, chẳng hạn như OpenLDAP. Bạn có thể sử dụng `mail` để xác định người dùng bằng email hoặc bất kỳ thuộc tính nào bạn muốn.
Bạn có thể sử dụng nhiều giá trị được phân cách bằng dấu phẩy để cho phép người dùng đăng nhập sử dụng nhiều định danh như tên người dùng hoặc email.", + "LDAP_User_Search_Field_Description": "Thuộc tính LDAP xác định người dùng LDAP đang cố gắng xác thực. Trường này phải là `sAMAccountName` cho hầu hết các cài đặt Active Directory, nhưng có thể là` uid` cho các giải pháp LDAP khác, chẳng hạn như OpenLDAP. Bạn có thể sử dụng `mail` để xác định người dùng bằng email hoặc bất kỳ thuộc tính nào bạn muốn.
Bạn có thể sử dụng nhiều giá trị được phân cách bằng dấu phẩy để cho phép người dùng đăng nhập sử dụng nhiều định danh như tên người dùng hoặc email.", "LDAP_User_Search_Filter": "Bộ lọc", "LDAP_User_Search_Filter_Description": "Nếu được chỉ định, chỉ những người dùng phù hợp với bộ lọc này mới được phép đăng nhập. Nếu không có bộ lọc được chỉ định, tất cả người dùng trong phạm vi của tên miền được chỉ định sẽ có thể đăng nhập.
Ví dụ: cho Active Directory `memberOf = cn = ROCKET_CHAT, ou = Nhóm chung '.
Ví dụ: cho OpenLDAP (tìm kiếm kết hợp mở rộng) `ou: dn: = ROCKET_CHAT`.", "LDAP_User_Search_Scope": "Phạm vi", @@ -1073,7 +1076,7 @@ "LDAP_Encryption_Description": "Phương pháp mã hoá được sử dụng để đảm bảo giao tiếp với máy chủ LDAP. Ví dụ bao gồm `plain` (không mã hóa),` SSL / LDAPS` (được mã hóa từ đầu) và `StartTLS` (nâng cấp lên giao tiếp được mã hóa khi kết nối).", "LDAP_Internal_Log_Level": "Mức Đăng nhập Nội bộ", "LDAP_Group_Filter_Enable": "Bật Bộ lọc Nhóm người dùng LDAP", - "LDAP_Group_Filter_Enable_Description": "Hạn chế quyền truy cập vào người dùng trong nhóm LDAP
Có ích cho máy chủ OpenLDAP mà không có lớp phủ không cho phép * memberOf * bộ lọc", + "LDAP_Group_Filter_Enable_Description": "Hạn chế quyền truy cập người dùng trong nhóm LDAP
Có ích cho máy chủ OpenLDAP mà không có lớp overlay không cho phép bộ lọc * memberOf *", "LDAP_Group_Filter_Group_Id_Attribute": "Thuộc tính ID nhóm", "LDAP_Group_Filter_Group_Id_Attribute_Description": "Ví dụ. * OpenLDAP: cn", "LDAP_Group_Filter_Group_Member_Attribute": "Thuộc tính Thành viên Nhóm", @@ -1084,26 +1087,26 @@ "LDAP_Group_Filter_Group_Name_Description": "Tên nhóm mà nó thuộc về người dùng", "LDAP_Group_Filter_ObjectClass": "Nhóm ObjectClass", "LDAP_Group_Filter_ObjectClass_Description": "Lớp đối tượng * * xác định các nhóm.
Ví dụ: OpenLDAP: groupOfUniqueNames", - "LDAP_Host": "Chủ nhà", + "LDAP_Host": "Host", "LDAP_Host_Description": "Máy chủ LDAP, ví dụ: `ldap.example.com` hoặc` 10.0.0.30`.", "LDAP_Idle_Timeout": "Thời gian chờ không hoạt động (ms)", "LDAP_Idle_Timeout_Description": "Có bao nhiêu miligiây đợi sau khi hoạt động LDAP mới nhất cho đến khi đóng kết nối. (Mỗi thao tác sẽ mở một kết nối mới)", "LDAP_Import_Users_Description": "Quá trình đồng bộ hóa True sẽ nhập tất cả người dùng LDAP
*Chú ý* Chỉ định bộ lọc tìm kiếm để không nhập người dùng vượt quá.", - "LDAP_Login_Fallback": "Đăng nhập Giữ lại", - "LDAP_Login_Fallback_Description": "Nếu đăng nhập trên LDAP không thành công, hãy thử đăng nhập vào hệ thống tài khoản mặc định / địa phương. Giúp đỡ khi LDAP bị lỗi vì lý do nào đó.", + "LDAP_Login_Fallback": "Đăng nhập Fallback", + "LDAP_Login_Fallback_Description": "Nếu đăng nhập trên LDAP không thành công sẽ thử đăng nhập vào hệ thống tài khoản mặc định / địa phương. Có ích khi hệ thống LDAP bị lỗi vì lý do nào đó.", "LDAP_Merge_Existing_Users": "Hợp nhất Người dùng Hiện tại", "LDAP_Merge_Existing_Users_Description": "* Chú ý! * Khi nhập một người dùng từ LDAP và người dùng có cùng tên người dùng đã tồn tại thông tin LDAP và mật khẩu sẽ được đặt thành người dùng hiện tại.", - "LDAP_Port": "Hải cảng", + "LDAP_Port": "Port", "LDAP_Port_Description": "Cổng truy cập vào LDAP. ví dụ: `389` hoặc` 636` cho LDAPS", "LDAP_Reconnect": "Kết nối lại", "LDAP_Reconnect_Description": "Cố gắng kết nối lại tự động khi kết nối bị gián đoạn bởi một số lý do trong khi thực hiện các hoạt động", "LDAP_Reject_Unauthorized": "Từ chối Không hợp lệ", "LDAP_Reject_Unauthorized_Description": "Vô hiệu hoá tùy chọn này để cho phép các chứng chỉ không thể xác minh. Thông thường Chứng chỉ Tự ký sẽ yêu cầu tùy chọn này bị vô hiệu hóa để hoạt động", - "LDAP_Sync_User_Avatar": "Hình đại diện Người dùng Đồng bộ hóa", + "LDAP_Sync_User_Avatar": "Đồng bộ hóa Hình đại diện Người dùng", "LDAP_Sync_Now": "Đồng bộ hóa ngay bây giờ", "LDAP_Sync_Now_Description": "Sẽ thực hiện **Background Sync** thay vì chờ **Sync Interval** ngay cả khi **Background Sync** là Sai.
Tác vụ này không đồng bộ, vui lòng xem nhật ký để biết thêm thông tin về quá trình", "LDAP_Background_Sync": "Đồng bộ hóa nền", - "LDAP_Background_Sync_Interval": "Khoảng đồng bộ hóa nền", + "LDAP_Background_Sync_Interval": "Khoảng giữa các lần đồng bộ hóa nền", "LDAP_Background_Sync_Interval_Description": "Khoảng giữa các lần đồng bộ hóa. Ví dụ \"mỗi 24 giờ\" hoặc \"vào ngày đầu tiên trong tuần\", thêm ví dụ tại [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)", "LDAP_Background_Sync_Import_New_Users": "Đồng bộ hóa nền Nhập người dùng mới", "LDAP_Background_Sync_Import_New_Users_Description": "Sẽ nhập tất cả người dùng (dựa trên tiêu chí lọc của bạn) tồn tại trong LDAP và không tồn tại trong Rocket.Chat", @@ -1111,24 +1114,25 @@ "LDAP_Background_Sync_Keep_Existant_Users_Updated_Description": "Sẽ đồng bộ hình đại diện, trường, tên người dùng, v.v ... (dựa trên cấu hình của bạn) của tất cả người dùng đã được nhập từ LDAP trên ** Thời gian đồng bộ hóa **", "LDAP_Sync_User_Data": "Đồng bộ hóa dữ liệu người dùng", "LDAP_Sync_User_Data_Description": "Giữ dữ liệu người dùng đồng bộ với máy chủ trên ** đăng nhập ** hoặc trên ** nền đồng bộ ** (ví dụ: tên, email).", - "LDAP_Sync_User_Data_FieldMap": "Bản đồ lĩnh vực dữ liệu người dùng", - "LDAP_Sync_User_Data_FieldMap_Description": "Định cấu hình cách các trường tài khoản người dùng (như email) được nhập từ một bản ghi trong LDAP (khi tìm thấy).
Ví dụ: `{\" cn \":\" tên \",\" mail \":\" email \"}` sẽ chọn tên người có thể đọc được của một người từ thuộc tính cn và email của họ từ thuộc tính thư. Ngoài ra, có thể sử dụng các biến, ví dụ: `{\" # {givenName} # {sn} \":\" tên \",\" mail \":\" email \"}` sử dụng kết hợp tên và họ của người dùng cho tên trò chơi tên lửa.
Các trường có sẵn trong Rocket.Chat: `name`,` email` và `customFields`.", + "LDAP_Sync_User_Data_FieldMap": "FieldMap dữ liệu người dùng", + "LDAP_Sync_User_Data_FieldMap_Description": "Cấu hình cách các trường tài khoản người dùng (như email) được populate từ một bản ghi trong LDAP (khi tìm thấy).
Ví dụ: `{\" cn \":\" tên \",\" mail \":\" email \"}` sẽ chọn tên người có thể đọc được của một người từ thuộc tính cn và email của họ từ thuộc tính mail. Ngoài ra, có thể sử dụng các biến, ví dụ: `{\" # {givenName} # {sn} \":\" tên \",\" mail \":\" email \"}` sử dụng kết hợp tên và họ của người dùng cho tên Rocket.Chat.
Các trường có sẵn trong Rocket.Chat: `name`,` email` và `customFields`.", "LDAP_Search_Page_Size": "Kích thước Trang Tìm kiếm", "LDAP_Search_Page_Size_Description": "Số mục nhập tối đa mỗi trang kết quả sẽ trở lại để được xử lý", "LDAP_Search_Size_Limit": "Giới hạn Kích thước Tìm kiếm", "LDAP_Search_Size_Limit_Description": "Số mục nhập tối đa để trở lại.
**Chú ý** Số này lớn hơn **Kích thước trang tìm kiếm**", "LDAP_Test_Connection": "Kiểm tra kết nối", "LDAP_Timeout": "Thời gian chờ (ms)", - "LDAP_Timeout_Description": "Bao lâu mileeconds chờ đợi cho một kết quả tìm kiếm trước khi trở lại một lỗi", + "LDAP_Timeout_Description": "Bao lâu mili giây chờ đợi cho một kết quả tìm kiếm trước khi trả về lỗi", "LDAP_Unique_Identifier_Field": "Trường nhận dạng duy nhất", "LDAP_Unique_Identifier_Field_Description": "Trường nào sẽ được sử dụng để liên kết người dùng LDAP và người dùng Rocket.Chat. Bạn có thể thông báo cho nhiều giá trị bằng dấu phẩy để thử lấy giá trị từ bản ghi LDAP.
Giá trị mặc định là `objectGUID, ibm-entryUUID, GUID, dominoUNID, nsuniqueId, uidNumber`", "LDAP_Username_Field": "Trường tên người dùng", "LDAP_Username_Field_Description": "Trường nào sẽ được sử dụng làm tên đăng nhập * cho người dùng mới. Để trống để sử dụng tên người dùng được thông báo trên trang đăng nhập.
Bạn cũng có thể sử dụng các thẻ khuôn mẫu, như `# {givenName}.
Giá trị mặc định là` sAMAccountName`.", "Execute_Synchronization_Now": "Thực hiện đồng bộ ngay bây giờ", - "Lead_capture_email_regex": "Chì email regex lấy chì", - "Lead_capture_phone_regex": "Chì regex chụp điện thoại", - "Least_Amount": "Lượng ít nhất", + "Lead_capture_email_regex": "Lead capture email regex", + "Lead_capture_phone_regex": "Lead capture phone regex", + "Least_Amount": "Số lượng ít nhất", "leave-c": "Rời khỏi kênh", + "leave-d": "Rời khỏi tin nhắn trực tiếp", "leave-p": "Rời khỏi Nhóm Riêng tư", "Leave_Group_Warning": "Bạn có chắc chắn muốn thoát khỏi nhóm \"% s\" không?", "Leave_Livechat_Warning": "Bạn có chắc chắn muốn thoát khỏi livechat với \"% s\" không?", @@ -1139,27 +1143,29 @@ "line": "hàng", "List_of_Channels": "Danh sách Kênh", "List_of_Direct_Messages": "Danh sách các tin nhắn trực tiếp", - "Livechat_agents": "Đại lý Livechat", + "Livechat_agents": "Agent Livechat", "Livechat_AllowedDomainsList": "Tên miền Được Cho phép Trực tiếp", "Livechat_Dashboard": "Bảng điều khiển Livechat", "Livechat_enabled": "Bật Livechat", "Livechat_Facebook_Enabled": "Tích hợp Facebook", "Livechat_Facebook_API_Key": "Khóa API của OmniChannel", - "Livechat_Facebook_API_Secret": "OmniChannel API bí mật", + "Livechat_Facebook_API_Secret": "OmniChannel API Secret", "Livechat_forward_open_chats": "Chuyển tiếp các cuộc trò chuyện mở", "Livechat_forward_open_chats_timeout": "Thời gian chờ (tính bằng giây) để chuyển tiếp cuộc trò chuyện", "Livechat_guest_count": "Khách truy cập", "Livechat_Inquiry_Already_Taken": "Yêu cầu Livechat đã được thực hiện", "Livechat_managers": "Quản lý Livechat", "Livechat_offline": "Livechat offline", + "Livechat_offline_title": "Tiêu đề", + "Livechat_offline_message": "Hướng dẫn", "Livechat_online": "Livechat trực tuyến", - "Livechat_open_inquiery_show_connecting": "Hiển thị thông báo kết nối thay vì nhập khi khách chưa kết nối với đại lý", + "Livechat_open_inquiery_show_connecting": "Hiển thị thông báo kết nối thay vì nhập khi khách chưa kết nối với agent", "Livechat_Queue": "Hàng đợi Livechat", - "Livechat_room_count": "Số phòng trực tiếp", + "Livechat_room_count": "Số phòng Livechat", "Livechat_Routing_Method": "Phương pháp định tuyến Livechat", "Livechat_Take_Confirm": "Bạn có muốn đưa khách hàng này?", "Livechat_title": "Tiêu đề Livechat", - "Livechat_title_color": "Màu nền chủ đề Livechat", + "Livechat_title_color": "Màu nền tiêu đề Livechat", "Livechat_Users": "Người sử dụng Livechat", "Livestream_close": "Đóng Livestream", "Livestream_not_found": "Livestream không có sẵn", @@ -1174,24 +1180,24 @@ "Loading_more_from_history": "Tải thêm từ lịch sử", "Loading_suggestion": "Đang tải đề xuất", "Localization": "Nội địa hoá", - "Log_Exceptions_to_Channel": "Ngoại lệ đăng nhập vào kênh", - "Log_Exceptions_to_Channel_Description": "Một kênh sẽ nhận được tất cả các ngoại lệ bị bắt. Để trống để bỏ qua trường hợp ngoại lệ.", - "Log_File": "Hiển thị tệp và dòng", - "Log_Level": "Mức đăng nhập", - "Log_Package": "Hiển thị gói", - "Log_View_Limit": "Giới hạn Chế độ xem Đăng nhập", + "Log_Exceptions_to_Channel": "Log Exception vào kênh", + "Log_Exceptions_to_Channel_Description": "Một kênh sẽ nhận được tất cả các Exception bắt được. Để trống để bỏ qua Exception.", + "Log_File": "Log tệp và dòng", + "Log_Level": "Mức độ log", + "Log_Package": "Log Package", + "Log_View_Limit": "Log giới hạn view", "Logged_out_of_other_clients_successfully": "Đăng nhập thành công từ các khách hàng khác", "Login": "Đăng nhập", "Login_with": "Đăng nhập với% s", "Logout": "Đăng xuất", "Logout_Others": "Logout Từ Khác Đăng nhập Địa điểm", - "mail-messages": "Tin nhắn Thư", - "mail-messages_description": "Quyền sử dụng tùy chọn thư thư", + "mail-messages": "Mail tin nhắn", + "mail-messages_description": "Quyền sử dụng tùy chọn mail tin nhắn", "Mail_Message_Invalid_emails": "Bạn đã cung cấp một hoặc nhiều email không hợp lệ:% s", "Mail_Message_Missing_to": "Bạn phải chọn một hoặc nhiều người dùng hoặc cung cấp một hoặc nhiều địa chỉ email, được phân cách bằng dấu phẩy.", "Mail_Message_No_messages_selected_select_all": "Bạn chưa chọn bất kỳ tin nhắn nào", - "Mail_Messages": "Tin nhắn Thư", - "Mail_Messages_Instructions": "Chọn thư bạn muốn gửi qua email bằng cách nhấp vào các thư", + "Mail_Messages": "Mail tin nhắn", + "Mail_Messages_Instructions": "Chọn tin nhắn bạn muốn gửi qua email bằng cách nhấp vào các tin nhắn", "Mail_Messages_Subject": "Đây là một phần được chọn của% s tin nhắn", "Mailer": "Mailer", "Mailer_body_tags": "Bạn phảisử dụng [hủy đăng ký] đối với liên kết bỏ đăng ký.
Bạn có thể sử dụng [name], [fname], [lname] cho tên, họ hoặc họ của người dùng, tương ứng.
Bạn có thể sử dụng [email] cho email của người dùng.", @@ -1222,13 +1228,13 @@ "MapView_GMapsAPIKey_Description": "Điều này có thể nhận được từ Bảng điều khiển dành cho nhà phát triển của Google miễn phí.", "Mark_as_read": "Đánh dấu là đã đọc", "Mark_as_unread": "Đánh dấu là chưa đọc", - "Markdown_Headers": "Cho phép tiêu đề Markdown trong thư", - "Markdown_Marked_Breaks": "Bật phép chia đã được đánh dấu", - "Markdown_Marked_GFM": "Bật GFM đã đánh dấu", - "Markdown_Marked_Pedantic": "Bật tính năng đánh dấu đã đánh dấu", - "Markdown_Marked_SmartLists": "Bật danh sách thông minh được đánh dấu", - "Markdown_Marked_Smartypants": "Bật tính năng thông minh đã đánh dấu", - "Markdown_Marked_Tables": "Bật bảng đã đánh dấu", + "Markdown_Headers": "Cho phép tiêu đề Markdown trong tin nhắn", + "Markdown_Marked_Breaks": "Bật Marked Breaks", + "Markdown_Marked_GFM": "Bật Marked GFM", + "Markdown_Marked_Pedantic": "Bật tính năng Marked Padantic", + "Markdown_Marked_SmartLists": "Bật tính năng Marked Smart Lists", + "Markdown_Marked_Smartypants": "Bật tính năng Marked Smartypants", + "Markdown_Marked_Tables": "Bật bảng Marked", "Markdown_Parser": "Trình phân tích Markdown", "Markdown_SupportSchemesForLink": "Gói Hỗ trợ Markdown cho Liên kết", "Markdown_SupportSchemesForLink_Description": "Danh sách các chương trình cho phép", @@ -1244,49 +1250,49 @@ "Merge_Channels": "Hợp nhất Kênh", "Message": "Thông điệp", "Message_AllowBadWordsFilter": "Cho phép lọc các từ xấu bằng tin nhắn", - "Message_AllowDeleting": "Cho phép xóa thư", - "Message_AllowDeleting_BlockDeleteInMinutes": "Chặn thư xóa sau (n) Biên bản", + "Message_AllowDeleting": "Cho phép xóa tin nhắn", + "Message_AllowDeleting_BlockDeleteInMinutes": "Chặn tin nhắn xóa sau (n) phút", "Message_AllowDeleting_BlockDeleteInMinutes_Description": "Nhập 0 để vô hiệu hoá chặn.", - "Message_AllowDirectMessagesToYourself": "Cho phép người dùng tin nhắn trực tiếp đến chính mình", + "Message_AllowDirectMessagesToYourself": "Cho phép người dùng nhắn tin đến chính mình", "Message_AllowEditing": "Cho phép Chỉnh sửa Tin nhắn", - "Message_AllowEditing_BlockEditInMinutes": "Chặn thông báo Chỉnh sửa Sau (n) Biên bản", + "Message_AllowEditing_BlockEditInMinutes": "Chặn thông báo Chỉnh sửa Sau (n) phút", "Message_AllowEditing_BlockEditInMinutesDescription": "Nhập 0 để vô hiệu hoá chặn.", "Message_AllowPinning": "Cho phép Gắn tin nhắn", "Message_AllowPinning_Description": "Cho phép gắn các tin nhắn vào bất kỳ kênh nào.", "Message_AllowSnippeting": "Cho phép Snippeting tin", - "Message_AllowStarring": "Cho phép đối tượng tin nhắn", + "Message_AllowStarring": "Cho phép đánh dấu tin nhắn", "Message_AllowUnrecognizedSlashCommand": "Cho phép các lệnh Slash không được công nhận", "Message_AlwaysSearchRegExp": "Luôn tìm kiếm bằng RegExp", "Message_AlwaysSearchRegExp_Description": "Chúng tôi khuyên bạn nên đặt 'Đúng' nếu ngôn ngữ của bạn không được hỗ trợ trên Tìm kiếm văn bản MongoDB.", "Message_Attachments": "Tin nhắn đính kèm", - "Message_Attachments_GroupAttach": "Tập tin đính kèm nút", - "Message_Attachments_GroupAttachDescription": "Nhóm các biểu tượng này dưới một trình đơn có thể mở rộng. Tận dụng không gian màn hình nhỏ hơn.", + "Message_Attachments_GroupAttach": "Gom nhóm nút đính kèm", + "Message_Attachments_GroupAttachDescription": "Tính năng này nhóm các biểu tượng vào một menu có thể mở rộng. Chiếm ít không gian trên màn hình hơn.", "Message_Audio": "Tin nhắn thoại", - "Message_Audio_bitRate": "Tốc độ Bit Message Audio", + "Message_Audio_bitRate": "Bit Rate âm thanh của tin nhắn", "Message_AudioRecorderEnabled": "Đã bật Trình ghi âm", "Message_AudioRecorderEnabled_Description": "Yêu cầu 'audio / mp3' các tập tin để được chấp nhận một loại phương tiện truyền thông trong cài đặt 'File Upload'.", "Message_BadWordsFilterList": "Thêm từ ngữ xấu vào Danh sách đen", "Message_BadWordsFilterListDescription": "Thêm danh sách các từ xấu được lọc bởi dấu phẩy để lọc", "Message_DateFormat": "Định dạng ngày tháng", "Message_DateFormat_Description": "Xem thêm: Moment.js", - "Message_deleting_blocked": "Không thể xóa thư này nữa", + "Message_deleting_blocked": "Không thể xóa tin nhắn này nữa", "Message_editing": "Chỉnh sửa tin nhắn", - "Message_ErasureType": "Loại Xóa tin nhắn", + "Message_ErasureType": "Loại tin nhắn xóa", "Message_ErasureType_Description": "Xác định phải làm gì với thông báo của người dùng đã xóa tài khoản của họ.", "Message_ErasureType_Keep": "Giữ Tin nhắn và Tên Người dùng", - "Message_ErasureType_Delete": "Xóa Tất cả Thư", + "Message_ErasureType_Delete": "Xóa Tất cả Tin nhắn", "Message_ErasureType_Unlink": "Xóa liên kết giữa người dùng và tin nhắn", "Message_GlobalSearch": "Tìm kiếm toàn cầu", - "Message_GroupingPeriod": "Giai đoạn nhóm (tính bằng giây)", - "Message_GroupingPeriodDescription": "Thông báo sẽ được nhóm với thông báo trước nếu cả hai đều đến từ cùng một người dùng và thời gian trôi qua ít hơn thời gian thông báo bằng giây.", - "Message_HideType_au": "Ẩn thư \"Người dùng của Người dùng\"", - "Message_HideType_mute_unmute": "Ẩn thư \"Người dùng bị ẩn / ẩn danh\"", - "Message_HideType_ru": "Ẩn thư \"Người dùng đã xóa\"", - "Message_HideType_uj": "Ẩn thư \"Tham gia Người dùng\"", - "Message_HideType_ul": "Ẩn thư \"Người dùng Nghỉ phép\"", + "Message_GroupingPeriod": "Thời gian gom nhóm tin nhắn (tính bằng giây)", + "Message_GroupingPeriodDescription": "Tin nhắn sẽ được nhóm với tin nhắn trước nếu cả hai đều đến từ cùng một người gửi và thời gian trôi qua ít hơn thời gian thông báo bằng giây.", + "Message_HideType_au": "Ẩn tin báo \"Người dùng của Người dùng\"", + "Message_HideType_mute_unmute": "Ẩn tin báo \"Người dùng bị ẩn / ẩn danh\"", + "Message_HideType_ru": "Ẩn tin báo \"Người dùng đã xóa\"", + "Message_HideType_uj": "Ẩn tin báo \"Tham gia Người dùng\"", + "Message_HideType_ul": "Ẩn tin báo \"Người dùng Nghỉ phép\"", "Message_info": "Thông tin tin", - "Message_KeepHistory": "Giữ Mỗi Thông Báo Sửa Đổi Lịch", - "Message_MaxAll": "Kích thước kênh tối đa cho TẤT CẢ thông điệp", + "Message_KeepHistory": "Giữ lịch sử thay đỗi mỗi tin nhắn", + "Message_MaxAll": "Kích thước kênh tối đa cho TẤT CẢ tin nhắn", "Message_MaxAllowedSize": "Số ký tự cho phép tối đa mỗi tin nhắn", "Message_pinning": "Pinning tin nhắn", "Message_QuoteChainLimit": "Số lượng báo cáo chuỗi dài nhất", @@ -1294,8 +1300,8 @@ "Message_Read_Receipt_Store_Users": "Chi tiết biên nhận", "Message_Read_Receipt_Store_Users_Description": "Hiển thị biên nhận đã đọc của mỗi người dùng", "Message_removed": "Đã xoá tin nhắn", - "Message_sent_by_email": "Thư được gửi bằng Email", - "Message_SetNameToAliasEnabled": "Đặt tên người dùng thành Bí danh trong thư", + "Message_sent_by_email": "Tin nhắn được gửi bằng Email", + "Message_SetNameToAliasEnabled": "Đặt tên người dùng thành Bí danh trong tin nhắn", "Message_SetNameToAliasEnabled_Description": "Chỉ khi chưa được đặt bí danh. Bí danh bí thư cũ không bị thay đổi nếu người dùng thay đổi tên.", "Message_ShowDeletedStatus": "Hiển thị trạng thái đã Xóa", "Message_ShowEditedStatus": "Hiển thị trạng thái đã chỉnh sửa", @@ -1306,7 +1312,7 @@ "Message_TimeFormat": "Định dạng Thời gian", "Message_TimeFormat_Description": "Xem thêm: Moment.js", "Message_too_long": "Tin nhắn quá dài", - "Message_VideoRecorderEnabled": "Đã bật Trình ghi hình Video", + "Message_VideoRecorderEnabled": "Đã bật tính năng ghi hình Video", "Message_VideoRecorderEnabledDescription": "Yêu cầu tệp 'video / webm' là loại phương tiện được chấp nhận trong cài đặt 'Tải lên tệp'.", "Messages": "Tin nhắn", "Messages_that_are_sent_to_the_Incoming_WebHook_will_be_posted_here": "Thông báo được gửi đến WebHook vào sẽ được đăng ở đây.", @@ -1330,23 +1336,23 @@ "More_unreads": "Thêm unreads", "Move_beginning_message": "`% s` - Di chuyển đến đầu tin nhắn", "Move_end_message": "`% s` - Di chuyển đến cuối tin nhắn", - "Msgs": "Bà bầu", + "Msgs": "Tin nhắn", "multi": "đa", "multi_line": "nhiều dòng", "Mute_all_notifications": "Ẩn tất cả thông báo", "mute-user": "Tắt tiếng Người dùng", "mute-user_description": "Cho phép để ẩn những người dùng khác trong cùng một kênh", - "Mute_Focused_Conversations": "Tắt đàm thoại tập trung", + "Mute_Focused_Conversations": "Tắt thông báo khi đang ở trong cuộc hội thoại", "Mute_someone_in_room": "Ẩn người trong phòng", "Mute_user": "Ẩn người dùng", "Muted": "Ẩn", "My_Account": "Tài khoản của tôi", "My_location": "Vị trí của tôi", "n_messages": "% s tin nhắn", - "N_new_messages": "% s thư mới", + "N_new_messages": "% s tin nhắn mới", "Name": "Tên", "Name_cant_be_empty": "Tên không thể để trống", - "Name_of_agent": "Tên của đại lý", + "Name_of_agent": "Tên của agent", "Name_optional": "Tên (tùy chọn)", "Name_Placeholder": "Xin hãy nhập tên của bạn...", "Navigation_History": "Lịch sử Điều hướng", @@ -1354,9 +1360,9 @@ "New_Custom_Field": "Trường tùy chỉnh mới", "New_Department": "Phòng mới", "New_integration": "Tích hợp mới", - "New_line_message_compose_input": "`% s` - Dòng mới trong đầu vào soạn thư", + "New_line_message_compose_input": "`% s` - Dòng mới trong phần soạn tin nhắn", "New_logs": "Nhật ký mới", - "New_Message_Notification": "Thông báo mới", + "New_Message_Notification": "Thông báo tin nhắn mới", "New_messages": "Các tin nhắn mới", "New_password": "mật khẩu mới", "New_Password_Placeholder": "Vui lòng nhập mật khẩu mới ...", @@ -1365,14 +1371,14 @@ "New_Trigger": "Trình kích hoạt mới", "New_version_available_(s)": "Đã có phiên bản mới (% s)", "New_videocall_request": "Yêu cầu Gọi điện video mới", - "No_available_agents_to_transfer": "Không có đại lý nào có thể chuyển", + "No_available_agents_to_transfer": "Không có agent nào có thể chuyển", "No_channel_with_name_%s_was_found": "Không tìm thấy kênh có tên \"% s\"!", "No_channels_yet": "Bạn chưa thuộc bất kỳ kênh nào", "No_direct_messages_yet": "Không có tin nhắn trực tiếp.", "No_Encryption": "Không có Mã hóa", - "No_group_with_name_%s_was_found": "Không tìm thấy nhóm cá nhân có tên \"% s\"!", - "No_groups_yet": "Bạn chưa có nhóm tư nhân.", - "No_integration_found": "Không có hội nhập được tìm thấy bởi id được cung cấp.", + "No_group_with_name_%s_was_found": "Không tìm thấy nhóm riêng tư có tên \"% s\"!", + "No_groups_yet": "Bạn chưa có Nhóm riêng tư.", + "No_integration_found": "Không có tích hợp nào được tìm thấy bởi id được cung cấp.", "No_livechats": "Bạn không có livechats", "No_mentions_found": "Không đề cập đến", "No_pages_yet_Try_hitting_Reload_Pages_button": "Chưa có trang nào. Hãy thử nhấn nút \"Reload Pages\".", @@ -1380,7 +1386,7 @@ "No_pinned_messages": "Không có tin nhắn được ghim", "No_results_found": "không có kết quả nào được tìm thấy", "No_snippet_messages": "Không có đoạn trích", - "No_starred_messages": "Không có thư được gắn dấu sao", + "No_starred_messages": "Không có tin nhắn được gắn dấu sao", "No_such_command": "Không có lệnh như vậy: `/ __ command__`", "No_user_with_username_%s_was_found": "Không tìm thấy người dùng có tên người dùng \"% s\"!", "Nobody_available": "Không ai có thể", @@ -1394,19 +1400,19 @@ "Nothing_found": "Không kết quả", "Notification_Desktop_Default_For": "Hiển thị Thông báo dành cho máy tính để bàn", "Notification_Duration": "Thời lượng thông báo", - "Notification_Mobile_Default_For": "Đẩy Thông báo Di động cho", + "Notification_Mobile_Default_For": "Push notification Di động cho", "Notifications": "Thông báo", "Notifications_Always_Notify_Mobile": "Luôn báo cho điện thoại di động", "Notifications_Always_Notify_Mobile_Description": "Chọn luôn thông báo cho thiết bị di động bất kể trạng thái hiện diện.", - "Notifications_Duration": "Thông báo_Duration", - "Notifications_Max_Room_Members": "Thành viên Phòng Tối đa Trước khi Vô hiệu hoá Tất cả Thông báo về Thông báo", + "Notifications_Duration": "Thời lượng thông báo", + "Notifications_Max_Room_Members": "Thành viên kênh tối đa trước khi vô hiệu hoá tất cả thông báo", "Notifications_Max_Room_Members_Description": "Số thành viên tối đa trong phòng khi thông báo cho tất cả các tin nhắn bị tắt. Người dùng vẫn có thể thay đổi cài đặt mỗi phòng để nhận tất cả các thông báo trên cơ sở cá nhân. (0 để vô hiệu hóa)", "Notifications_Muted_Description": "Nếu bạn chọn tắt tiếng mọi thứ, bạn sẽ không thấy nổi bật trong phòng trong danh sách khi có tin nhắn mới, ngoại trừ các đề cập. Thông báo tắt tiếng sẽ ghi đè cài đặt thông báo.", "Notifications_Preferences": "Thông báo Preferences", - "Notifications_Sound_Volume": "Thông báo khối lượng âm thanh", + "Notifications_Sound_Volume": "Âm lượng thông báo", "Notify_active_in_this_room": "Thông báo cho người dùng đang hoạt động trong phòng này", "Notify_all_in_this_room": "Thông báo cho tất cả trong phòng này", - "Num_Agents": "# Đại lý", + "Num_Agents": "# Agent", "Number_of_messages": "Số lượng tin nhắn", "OAuth_Application": "Ứng dụng OAuth", "OAuth_Applications": "Ứng dụng OAuth", @@ -1418,15 +1424,15 @@ "Office_hours_enabled": "Bật giờ làm việc", "Office_hours_updated": "Giờ làm việc được cập nhật", "Offline": "Ngoại tuyến", - "Offline_DM_Email": "Tiêu đề Email trực tiếp", - "Offline_Email_Subject_Description": "Bạn có thể sử dụng các trình giữ chỗ sau:
", + "Offline_DM_Email": "Tiêu đề Email khi nhận tin nhắn trực tiếp", + "Offline_Email_Subject_Description": "Bạn có thể sử dụng các placeholder sau:
", "Offline_form": "Mẫu ngoại tuyến", - "Offline_form_unavailable_message": "Ngoại tuyến Biểu mẫu Không sẵn Thư", + "Offline_form_unavailable_message": "Tin nhắn Biểu mẫu Ngoại tuyến", "Offline_Link_Message": "CHUYỂN NHƯỢNG", - "Offline_Mention_All_Email": "Đề cập đến Tất cả Chủ đề Email", - "Offline_Mention_Email": "Đề cập đến Tiêu đề Email", + "Offline_Mention_All_Email": "Tiêu đề Email khi đề cập đến tất cả", + "Offline_Mention_Email": "Tiêu đề Email khi được đề cập đến", "Offline_message": "Tin nhắn ngoại tuyến", - "Offline_success_message": "Tin nhắn thành công ngoại tuyến", + "Offline_success_message": "Tin nhắn ngoại tuyến thành công", "Offline_unavailable": "Không khả dụng ngoại tuyến", "On": "Trên", "Online": "Trực tuyến", @@ -1461,7 +1467,7 @@ "OTR": "OTR", "OTR_is_only_available_when_both_users_are_online": "OTR chỉ khả dụng khi cả người dùng trực tuyến", "Outgoing_WebHook": "WebHook gửi đi", - "Outgoing_WebHook_Description": "Lấy dữ liệu ra khỏi Rocket.Chat trong thời gian thực.", + "Outgoing_WebHook_Description": "Lấy dữ liệu ra khỏi Rocket.Chat theo thời gian thực.", "Override_URL_to_which_files_are_uploaded_This_url_also_used_for_downloads_unless_a_CDN_is_given": "Ghi đè URL mà tệp được tải lên. Url này cũng được sử dụng cho việc tải xuống trừ khi có CDN", "Page_title": "Tiêu đề trang", "Page_URL": "URL Trang", @@ -1486,8 +1492,8 @@ "PiwikAnalytics_domains_Description": "Trong báo cáo 'Outlinks', ẩn các nhấp chuột đến các URL bí danh đã biết. Vui lòng chèn một tên miền trên mỗi dòng và không sử dụng bất kỳ dấu tách.", "PiwikAnalytics_prependDomain": "Prepend Domain", "PiwikAnalytics_prependDomain_Description": "Thêm tên miền trang lên tiêu đề trang khi theo dõi", - "PiwikAnalytics_siteId_Description": "Id trang web để sử dụng để xác định trang web này. Ví dụ: 17", - "PiwikAnalytics_url_Description": "Địa chỉ nơi Piwik cư ngụ, hãy chắc chắn bao gồm dấu gạch chéo. Ví dụ: //piwik.rocket.chat/", + "PiwikAnalytics_siteId_Description": "Id trang web dùng để xác định trang web này. Ví dụ: 17", + "PiwikAnalytics_url_Description": "Địa chỉ Piwik, hãy chắc chắn bao gồm dấu gạch chéo. Ví dụ: //piwik.rocket.chat/", "Placeholder_for_email_or_username_login_field": "Trình giữ chỗ cho trường Đăng nhập Email hoặc Tên đăng nhập", "Placeholder_for_password_login_field": "Trình giữ chỗ cho Trường đăng nhập Mật khẩu", "Please_add_a_comment": "Xin vui lòng thêm một bình luận", @@ -1510,7 +1516,7 @@ "Please_wait_while_OTR_is_being_established": "Vui lòng chờ trong khi OTR đang được thiết lập", "Please_wait_while_your_account_is_being_deleted": "Vui lòng chờ trong khi tài khoản của bạn đang bị xóa ...", "Please_wait_while_your_profile_is_being_saved": "Vui lòng chờ trong khi hồ sơ của bạn đang được lưu ...", - "Port": "Hải cảng", + "Port": "Port", "post-readonly": "Đăng chỉ đọc", "post-readonly_description": "Cho phép đăng tin nhắn trong kênh chỉ đọc", "Post_as": "Đăng dưới", @@ -1523,9 +1529,9 @@ "Privacy": "Bảo mật", "Private": "Riêng tư", "Private_Channel": "Kênh riêng tư", - "Private_Group": "Nhóm tư nhân", - "Private_Groups": "Nhóm tư nhân", - "Private_Groups_list": "Danh sách các nhóm tư nhân", + "Private_Group": "Nhóm riêng tư", + "Private_Groups": "Nhóm riêng tư", + "Private_Groups_list": "Danh sách các Nhóm riêng tư", "Profile": "Hồ sơ", "Profile_details": "Chi tiết hồ sơ", "Profile_picture": "Ảnh đại diện", @@ -1536,10 +1542,10 @@ "Push_apn_cert": "APN Cert", "Push_apn_dev_cert": "AP Dev Dev", "Push_apn_dev_key": "Khóa APN Dev", - "Push_apn_dev_passphrase": "Cụm từ mật khẩu APN Dev", + "Push_apn_dev_passphrase": "Cụm mật khẩu APN Dev", "Push_apn_key": "Khóa APN", - "Push_apn_passphrase": "Cụm từ mật khẩu APN", - "Push_debug": "Gỡ rối", + "Push_apn_passphrase": "Cụm mật khẩu APN", + "Push_debug": "Debug", "Push_enable": "Bật", "Push_enable_gateway": "Bật Gateway", "Push_gateway": "Gateway", @@ -1607,7 +1613,7 @@ "Resend_verification_email": "Gửi lại email xác minh", "Reset": "Cài lại", "Reset_password": "Đặt lại mật khẩu", - "Reset_section_settings": "Đặt lại Cài đặt Phần", + "Reset_section_settings": "Khôi phục cài đặt", "Restart": "Khởi động lại", "Restart_the_server": "Khởi động lại máy chủ", "Retry_Count": "Thử lại đếm", @@ -1659,27 +1665,27 @@ "Same_As_Token_Sent_Via": "Tương tự như \"Token Sent Via\"", "Same_Style_For_Mentions": "Cùng một phong cách để đề cập đến", "SAML": "SAML", - "SAML_Custom_Cert": "Giấy chứng nhận Tuỳ chỉnh", - "SAML_Custom_Entry_point": "Điểm nhập cảnh tùy chỉnh", + "SAML_Custom_Cert": "Tùy chỉnh Chứng nhận", + "SAML_Custom_Entry_point": "Tùy chỉnh Entry Point", "SAML_Custom_Generate_Username": "Tạo Tên đăng nhập", "SAML_Custom_IDP_SLO_Redirect_URL": "URL chuyển hướng của IDP SLO", - "SAML_Custom_Issuer": "Tổ chức phát hành", + "SAML_Custom_Issuer": "Tùy chỉnh Issuer", "SAML_Custom_Logout_Behaviour": "Hành vi đăng xuất", "SAML_Custom_Logout_Behaviour_Terminate_SAML_Session": "Chấm dứt phiên SAML", "SAML_Custom_Logout_Behaviour_End_Only_RocketChat": "Chỉ đăng xuất từ ​​Rocket.Chat", - "SAML_Custom_Private_Key": "Nội dung khóa cá nhân", - "SAML_Custom_Provider": "Nhà cung cấp tuỳ chỉnh", - "SAML_Custom_Public_Cert": "Nội dung công cộng", + "SAML_Custom_Private_Key": "Nội dung Private Key", + "SAML_Custom_Provider": "Tùy chỉnh Provider", + "SAML_Custom_Public_Cert": "Nội dung Cert Contents", "Sandstorm_Powerbox_Share": "Chia sẻ một hạt Sandstorm", "Saturday": "ngày thứ bảy", - "Save": "Tiết kiệm", + "Save": "Lưu", "save-others-livechat-room-info": "Lưu thông tin khác Livechat Thông tin về phòng", "save-others-livechat-room-info_description": "Cho phép lưu thông tin từ các kênh livechat khác", "Save_changes": "Lưu thay đổi", - "Save_Mobile_Bandwidth": "Lưu băng thông di động", + "Save_Mobile_Bandwidth": "Tiết kiệm băng thông dung lượng", "Save_to_enable_this_action": "Lưu để kích hoạt tác vụ này", "Saved": "Đã lưu", - "Saving": "Tiết kiệm", + "Saving": "Đang lưu", "Scan_QR_code": "Sử dụng một ứng dụng xác thực như Google Authenticator, Authy hoặc Duo, quét mã QR. Nó sẽ hiển thị một mã 6 chữ số mà bạn cần nhập vào bên dưới.", "Scan_QR_code_alternative_s": "Nếu bạn không thể quét mã QR, bạn có thể nhập mã thủ công thay vì: __code__", "Scope": "Phạm vi", @@ -1690,7 +1696,7 @@ "Search_Messages": "Tìm kiếm tin nhắn", "Search_Private_Groups": "Tìm kiếm Nhóm riêng tư", "seconds": "giây", - "Secret_token": "Bí mật Token", + "Secret_token": "Secret Token", "Security": "Bảo vệ", "Select_a_department": "Chọn một bộ phận", "Select_a_user": "Chọn người dùng", @@ -1701,23 +1707,23 @@ "Select_service_to_login": "Chọn một dịch vụ để đăng nhập để tải hình của bạn hoặc tải lên một hình ảnh trực tiếp từ máy tính của bạn", "Select_user": "Chọn người dùng", "Select_users": "Chọn người dùng", - "Selected_agents": "Đại lý được chọn", + "Selected_agents": "Agent được chọn", "Send": "Gửi", "Send_a_message": "Gửi tin nhắn", - "Send_a_test_mail_to_my_user": "Gửi thư thử nghiệm tới người dùng của tôi", - "Send_a_test_push_to_my_user": "Gửi một cú nhấn thử tới người dùng của tôi", + "Send_a_test_mail_to_my_user": "Gửi mail thử nghiệm tới người dùng của tôi", + "Send_a_test_push_to_my_user": "Gửi một thông báo thử tới người dùng của tôi", "Send_confirmation_email": "Gửi email xác nhận", - "Send_data_into_RocketChat_in_realtime": "Gửi dữ liệu vào Rocket.Chat trong thời gian thực.", + "Send_data_into_RocketChat_in_realtime": "Gửi dữ liệu vào Rocket.Chat theo thời gian thực.", "Send_email": "Gửi email", "Send_invitation_email": "Gửi email lời mời", "Send_invitation_email_error": "Bạn chưa cung cấp địa chỉ email hợp lệ.", "Send_invitation_email_info": "Bạn có thể gửi nhiều lời mời qua email cùng một lúc.", "Send_invitation_email_success": "Bạn đã gửi thành công thư mời tới các địa chỉ sau:", - "Send_request_on_chat_close": "Gửi yêu cầu về Trò chuyện Đóng", - "Send_request_on_lead_capture": "Gửi yêu cầu khi bắt đầu chụp", - "Send_request_on_offline_messages": "Gửi Yêu cầu Thư Ngoại tuyến", + "Send_request_on_chat_close": "Gửi yêu cầu khi đóng Trò chuyện", + "Send_request_on_lead_capture": "Gửi yêu cầu khi lead capture", + "Send_request_on_offline_messages": "Gửi Yêu cầu Tin nhắn Ngoại tuyến", "Send_request_on_visitor_message": "Gửi yêu cầu về Tin nhắn của khách", - "Send_request_on_agent_message": "Gửi Yêu cầu về Thư tín Đại lý", + "Send_request_on_agent_message": "Gửi Yêu cầu về Tin nhắn Agent", "Send_Test": "Gửi kiểm tra", "Send_welcome_email": "Gửi email chào mừng", "Send_your_JSON_payloads_to_this_URL": "Gửi trọng tải JSON của bạn đến URL này.", @@ -1731,7 +1737,7 @@ "set-owner": "Đặt Chủ đầu tư", "set-owner_description": "Cho phép đặt người dùng khác làm chủ kênh", "set-react-when-readonly": "Đặt Phản hồi khi Chỉ đọc", - "set-react-when-readonly_description": "Cho phép thiết lập khả năng phản ứng với các thư trong một kênh chỉ đọc", + "set-react-when-readonly_description": "Cho phép thiết lập khả năng react với các tin nhắn trong một kênh chỉ đọc", "set-readonly": "Đặt ReadOnly", "set-readonly_description": "Cho phép đặt kênh để đọc kênh duy nhất", "Set_as_leader": "Đặt làm người lãnh đạo", @@ -1743,17 +1749,17 @@ "Shared_Location": "Địa điểm Chia sẻ", "Should_be_a_URL_of_an_image": "Nên là một URL của một hình ảnh.", "Should_exists_a_user_with_this_username": "Người dùng phải đã tồn tại.", - "Show_agent_email": "Hiển thị email đại lý", + "Show_agent_email": "Hiển thị email agent", "Show_all": "Hiển thị tất cả", "Show_Avatars": "Hiển thị hình đại diện", "Show_counter": "Hiển thị bộ đếm", - "Show_room_counter_on_sidebar": "Hiển thị phòng ở trên thanh bên", + "Show_room_counter_on_sidebar": "Hiển thị số phòng ở trên thanh bên", "Show_more": "Cho xem nhiều hơn", "show_offline_users": "hiển thị người dùng ngoại tuyến", "Show_on_registration_page": "Hiển thị trên trang đăng ký", "Show_only_online": "Chỉ hiển thị trực tuyến", - "Show_preregistration_form": "Hiển thị Mẫu đăng ký trước", - "Show_queue_list_to_all_agents": "Hiển thị danh sách hàng đợi cho tất cả các đại lý", + "Show_preregistration_form": "Hiển thị Mẫu đăng ký", + "Show_queue_list_to_all_agents": "Hiển thị danh sách hàng đợi cho tất cả các agent", "Show_the_keyboard_shortcut_list": "Hiển thị danh sách phím tắt", "Showing_archived_results": "

Hiển thị % scác kết quả được lưu trữ

", "Showing_online_users": "Đang hiển thị: __total_showing__, Trực tuyến: __online__, Tổng cộng: __total__ người dùng", @@ -1767,7 +1773,7 @@ "Site_Url_Description": "Ví dụ: https://chat.domain.com/", "Skip": "Bỏ qua", "SlackBridge_error": "SlackBridge đã gặp lỗi khi nhập thư của bạn ở% s:% s", - "SlackBridge_finish": "SlackBridge đã hoàn tất nhập thư ở% s. Vui lòng tải lại để xem tất cả các tin nhắn.", + "SlackBridge_finish": "SlackBridge đã hoàn tất nhập tin nhắn ở% s. Vui lòng tải lại để xem tất cả các tin nhắn.", "SlackBridge_Out_All": "SlackBridge Out All", "SlackBridge_Out_All_Description": "Gửi tin nhắn từ tất cả các kênh hiện có trong Slack và bot đã tham gia", "SlackBridge_Out_Channels": "SlackBridge Out Channels", @@ -1784,12 +1790,12 @@ "Slash_Topic_Description": "Đặt chủ đề", "Slash_Topic_Params": "Bài viết chủ đề", "Smarsh_Email": "Smarsh Email", - "Smarsh_Email_Description": "Địa chỉ Email Khẩn cấp để gửi tệp .eml đến.", - "Smarsh_Enabled": "Khói bật", + "Smarsh_Email_Description": "Địa chỉ Email Smarsh để gửi tệp .eml đến.", + "Smarsh_Enabled": "Bật Smarsh", "Smarsh_Enabled_Description": "Cho dù trình kết nối Eml của Smarsh được bật hay không (cần 'From Email' trong Email -> SMTP).", - "Smarsh_Interval": "Khoảng cách mờ", + "Smarsh_Interval": "Khoảng cách Smarsh", "Smarsh_Interval_Description": "Số lượng thời gian phải chờ đợi trước khi gửi cuộc trò chuyện (nhu cầu 'Từ Email' trong Email -> SMTP).", - "Smarsh_MissingEmail_Email": "Thiếu Email", + "Smarsh_MissingEmail_Email": "Missing Email", "Smarsh_MissingEmail_Email_Description": "Email để hiển thị cho tài khoản người dùng khi địa chỉ email của họ bị thiếu, thường xảy ra với các tài khoản bot.", "Smileys_and_People": "Smileys & Con người", "SMS_Enabled": "Bật SMS", @@ -1809,9 +1815,9 @@ "Sound": "Âm thanh", "Sound_File_mp3": "Tệp âm thanh (mp3)", "SSL": "SSL", - "Star_Message": "Thư sao", - "Starred_Messages": "Thư gắn dấu sao", - "Start": "Khởi đầu", + "Star_Message": "Tin nhắn gắn dấu sao", + "Starred_Messages": "Tin nhắn gắn dấu sao", + "Start": "Bắt đầu", "Start_audio_call": "Bắt đầu cuộc gọi âm thanh", "Start_Chat": "Bắt đầu trò chuyện", "Start_of_conversation": "Bắt đầu cuộc trò chuyện", @@ -1823,35 +1829,35 @@ "Started_a_video_call": "Bắt đầu cuộc gọi điện video", "Statistics": "Số liệu thống kê", "Statistics_reporting": "Gửi Thống kê tới Rocket.Chat", - "Statistics_reporting_Description": "Bằng cách gửi số liệu thống kê của bạn, bạn sẽ giúp chúng tôi xác định có bao nhiêu trường hợp của Rocket.Chat được triển khai, cũng như hiệu quả của hệ thống, vì vậy chúng tôi có thể cải tiến nó hơn nữa. Đừng lo lắng, vì không có thông tin người dùng được gửi và tất cả các thông tin chúng tôi nhận được giữ bí mật.", + "Statistics_reporting_Description": "Bằng cách gửi số liệu thống kê của bạn, bạn sẽ giúp chúng tôi xác định có bao nhiêu thực thể của Rocket.Chat được triển khai, cũng như hiệu quả của hệ thống, từ đó chúng tôi có thể cải tiến nó hơn nữa. Đừng lo lắng, vì không có thông tin người dùng nào được gửi và tất cả các thông tin chúng tôi nhận sẽ được giữ bí mật.", "Stats_Active_Users": "Người dùng đang hoạt động", "Stats_Avg_Channel_Users": "Người dùng Kênh Trung bình", - "Stats_Avg_Private_Group_Users": "Người dùng nhóm cá nhân trung bình", + "Stats_Avg_Private_Group_Users": "Người dùng nhóm riêng tư trung bình", "Stats_Away_Users": "Người sử dụng", "Stats_Max_Room_Users": "Người dùng Phòng Max", "Stats_Non_Active_Users": "Người dùng không hoạt động", "Stats_Offline_Users": "Người dùng Ngoại tuyến", "Stats_Online_Users": "Người dùng trực tuyến", "Stats_Total_Channels": "Tổng số Kênh", - "Stats_Total_Direct_Messages": "Tổng số tin nhắn trực tiếp Phòng", - "Stats_Total_Livechat_Rooms": "Tổng số phòng Livechat", + "Stats_Total_Direct_Messages": "Tổng số kênh tin nhắn trực tiếp", + "Stats_Total_Livechat_Rooms": "Tổng số kênh Livechat", "Stats_Total_Messages": "Tổng tin nhắn", - "Stats_Total_Messages_Channel": "Tổng số thư trong kênh", + "Stats_Total_Messages_Channel": "Tổng số tin nhắn trong kênh", "Stats_Total_Messages_Direct": "Tổng số tin nhắn trong Tin nhắn trực tiếp", "Stats_Total_Messages_Livechat": "Tổng số tin nhắn trong Livechats", "Stats_Total_Messages_PrivateGroup": "Tổng số tin nhắn trong nhóm riêng", - "Stats_Total_Private_Groups": "Tổng số nhóm cá nhân", - "Stats_Total_Rooms": "Tổng số phòng", + "Stats_Total_Private_Groups": "Tổng số nhóm riêng tư", + "Stats_Total_Rooms": "Tổng số kênh", "Stats_Total_Users": "Tổng số người dùng", "Status": "Trạng thái", "Stop_Recording": "Dừng ghi âm", "Store_Last_Message": "Lưu tin cuối cùng", "Store_Last_Message_Sent_per_Room": "Lưu tin cuối cùng được gửi đến mỗi phòng.", "Stream_Cast": "Stream Cast", - "Stream_Cast_Address": "Địa chỉ Cast Cast", - "Stream_Cast_Address_Description": "IP hoặc Máy chủ Rocket.Chat Stream của Trung tâm của bạn. Ví dụ. `192.168.1.1: 3000` hoặc` localhost: 4000`", + "Stream_Cast_Address": "Địa chỉ Stream Cast", + "Stream_Cast_Address_Description": "IP hoặc Máy chủ Rocket.Chat Stream của bạn. Ví dụ. `192.168.1.1: 3000` hoặc` localhost: 4000`", "strike": "đình công", - "Subject": "Môn học", + "Subject": "Tiêu đề", "Submit": "Gửi đi", "Success": "Sự thành công", "Success_message": "Gửi tin thành công", @@ -1872,7 +1878,7 @@ "Test_Connection": "Kiểm tra kết nối", "Test_Desktop_Notifications": "Thử nghiệm Desktop Notifications", "Thank_you_exclamation_mark": "Cảm ơn bạn!", - "Thank_you_for_your_feedback": "Cảm ơn phản hôi của bạn", + "Thank_you_for_your_feedback": "Cảm ơn phản hồi của bạn", "The_application_name_is_required": "Tên ứng dụng là bắt buộc", "The_channel_name_is_required": "Tên kênh là bắt buộc", "The_emails_are_being_sent": "Các email đang được gửi.", @@ -1884,51 +1890,59 @@ "The_user_will_be_removed_from_s": "Người dùng sẽ được gỡ bỏ khỏi% s", "The_user_wont_be_able_to_type_in_s": "Người dùng sẽ không thể gõ% s", "Theme": "Chủ đề", - "theme-color-component-color": "Màu Hợp phần", + "theme-color-component-color": "Màu component", "theme-color-content-background-color": "Màu nền nội dung", "theme-color-custom-scrollbar-color": "Màu thanh cuộn tuỳ chỉnh", "theme-color-error-color": "Màu lỗi", "theme-color-info-font-color": "Màu chữ thông tin", - "theme-color-link-font-color": "Màu phông chữ liên kết", - "theme-color-pending-color": "Màu Đang chờ xử lý", - "theme-color-primary-action-color": "Màu hành động chính", - "theme-color-primary-background-color": "Màu nền chính", - "theme-color-primary-font-color": "Màu chữ chính", + "theme-color-link-font-color": "Màu chữ liên kết", + "theme-color-pending-color": "Màu đang chờ xử lý", + "theme-color-primary-action-color": "Màu hành động cơ bản", + "theme-color-primary-background-color": "Màu nền cơ bản", + "theme-color-primary-font-color": "Màu chữ cơ bản", "theme-color-secondary-action-color": "Màu hành động thứ cấp", - "theme-color-secondary-background-color": "Màu nền phụ", - "theme-color-secondary-font-color": "Màu chữ phụ", + "theme-color-secondary-background-color": "Màu nền thứ cấp", + "theme-color-secondary-font-color": "Màu chữ thứ cấp", "theme-color-selection-color": "Màu lựa chọn", - "theme-color-status-away": "Màu trạng thái đi", - "theme-color-status-busy": "Màu tình trạng bận", + "theme-color-status-away": "Màu trạng thái đi vắng", + "theme-color-status-busy": "Màu trạng thái bận", "theme-color-status-offline": "Màu trạng thái ngoại tuyến", - "theme-color-status-online": "Màu tình trạng trực tuyến", + "theme-color-status-online": "Màu trạng thái trực tuyến", "theme-color-success-color": "Màu thành công", - "theme-color-tertiary-background-color": "Màu nền đại học", - "theme-color-tertiary-font-color": "Màu chữ đại học", - "theme-color-transparent-dark": "Bóng tối trong suốt", - "theme-color-transparent-darker": "Transparent Darker", - "theme-color-transparent-light": "Ánh sáng trong suốt", - "theme-color-transparent-lighter": "Transparent Lighter", - "theme-color-transparent-lightest": "Trong suốt sáng nhất", + "theme-color-tertiary-background-color": "Màu nền thứ ba", + "theme-color-tertiary-font-color": "Màu chữ thứ ba", + "theme-color-transparent-dark": "Trong suốt (màu tối)", + "theme-color-transparent-darker": "Trong suốt (màu tối hơn)", + "theme-color-transparent-light": "Trong suốt (màu sáng)", + "theme-color-transparent-lighter": "Trong suốt (màu sáng hơn)", + "theme-color-transparent-lightest": "Trong suốt (màu sáng nhất)", "theme-color-unread-notification-color": "Màu thông báo chưa đọc", - "theme-color-rc-color-error": "lỗi", - "theme-color-rc-color-error-light": "Lỗi ánh sáng", + "theme-color-rc-color-error": "Lỗi", + "theme-color-rc-color-error-light": "Lỗi (màu sáng)", "theme-color-rc-color-alert": "Cảnh báo", - "theme-color-rc-color-alert-light": "Ánh sáng Báo động", - "theme-color-rc-color-success": "Sự thành công", - "theme-color-rc-color-success-light": "Ánh sáng thành công", - "theme-color-rc-color-button-primary": "Nút chính", - "theme-color-rc-color-button-primary-light": "Nút đèn tiểu", - "theme-color-rc-color-primary": "Sơ cấp", - "theme-color-rc-color-primary-darkest": "Tiểu học đen tối nhất", - "theme-color-rc-color-primary-dark": "Tối tiểu học", - "theme-color-rc-color-primary-light": "Ánh sáng chính", - "theme-color-rc-color-primary-light-medium": "Trung bình nhẹ", - "theme-color-rc-color-primary-lightest": "Nhỏ nhất", - "theme-color-rc-color-content": "Nội dung", + "theme-color-rc-color-alert-light": "Cảnh báo (màu sáng)", + "theme-color-rc-color-success": "Thành công", + "theme-color-rc-color-success-light": "Thành công (màu sáng)", + "theme-color-rc-color-button-primary": "Màu nút cơ bản", + "theme-color-rc-color-button-primary-light": "Màu nút cơ bản (màu sáng)", + "theme-color-rc-color-alert-message-primary": "Màu alert cơ bản", + "theme-color-rc-color-alert-message-primary-background": "Màu nền alert cơ bản", + "theme-color-rc-color-alert-message-secondary": "Màu alert thứ cấp", + "theme-color-rc-color-alert-message-secondary-background": "Màu nền alert thứ cấp", + "theme-color-rc-color-alert-message-warning": "Màu alert cảnh báo", + "theme-color-rc-color-alert-message-warning-background": "Màu nền alert cảnh báo", + "theme-color-rc-color-primary": "Cơ bản", + "theme-color-rc-color-primary-darkest": "Cơ bản (màu tối nhất)", + "theme-color-rc-color-primary-dark": "Cơ bản (màu tối)", + "theme-color-rc-color-primary-light": "Cơ bản (màu sáng)", + "theme-color-rc-color-primary-light-medium": "Cơ bản (màu sáng trung bình)", + "theme-color-rc-color-primary-lightest": "Cơ bản (màu sáng nhất)", + "theme-color-rc-color-content": "Màu nội dung", + "theme-color-rc-color-link-active": "Màu chữ liên kết active", "theme-custom-css": "CSS tùy chỉnh", - "theme-font-body-font-family": "Gia đình cơ thể chữ", - "There_are_no_agents_added_to_this_department_yet": "Chưa có đại lý nào được thêm vào bộ phận này.", + "theme-font-body-font-family": "Font family chữ body", + "theme-color-attention-color": "Màu chú ý", + "There_are_no_agents_added_to_this_department_yet": "Chưa có agent nào được thêm vào bộ phận này.", "There_are_no_applications": "Không có ứng dụng oAuth nào được thêm vào.", "There_are_no_integrations": "Không có tích hợp", "There_are_no_users_in_this_role": "Không có người dùng nào trong vai trò này.", @@ -1940,13 +1954,14 @@ "This_room_has_been_unarchived_by__username_": "Phòng này đã được hủy lưu trữ bởi __username__", "Thursday": "Thứ năm", "Time_in_seconds": "Thời gian tính bằng giây", - "Title": "Chức vụ", + "Title": "Tiêu đề", "Title_bar_color": "Màu thanh tiêu đề", "Title_bar_color_offline": "Màu thanh tiêu đề không giới hạn", "Title_offline": "Tiêu đề ngoại tuyến", "To_install_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "Để cài đặt Rocket.Chat Livechat trong trang web của bạn, hãy sao chép & dán mã này vào cuối < / body >trên trang web của bạn.", "to_see_more_details_on_how_to_integrate": "để xem thêm chi tiết về cách tích hợp.", "To_users": "Cho người dùng", + "To_additional_emails": "Đến email khác", "Toggle_original_translated": "Chuyển đổi bản gốc / dịch", "Token_Access": "Truy cập Token", "Token_Controlled_Access": "Truy cập có Kiểm soát Token", @@ -1961,7 +1976,7 @@ "Tokens_Required_Input_Error": "Mã thông báo đã nhập không hợp lệ.", "Tokens_Required_Input_Placeholder": "Tên nội dung mã thông báo", "Topic": "Đề tài", - "Transcript_Enabled": "Hỏi người xem nếu họ muốn bản ghi lại sau khi trò chuyện đã kết thúc", + "Transcript_Enabled": "Hỏi Khách xem nếu họ muốn bản ghi lại sau khi trò chuyện đã kết thúc", "Transcript_message": "Thông báo để hiển thị khi Yêu cầu Bản ghi", "Transcript_of_your_livechat_conversation": "Bản ghi cuộc trò chuyện livechat của bạn.", "Translated": "Đã dịch", @@ -1970,7 +1985,7 @@ "Trigger_removed": "Đã kích hoạt trình kích hoạt", "Trigger_Words": "Những từ kích hoạt", "Triggers": "Gây nên", - "True": "Thật", + "True": "Có", "Tuesday": "Thứ ba", "Turn_ON": "Bật", "Turn_OFF": "Tắt", @@ -1985,10 +2000,10 @@ "Type_your_name": "Gõ tên của bạn", "Type_your_new_password": "Nhập mật khẩu mới của bạn", "UI_Allow_room_names_with_special_chars": "Cho phép các ký tự đặc biệt trong tên phòng", - "UI_Click_Direct_Message": "Nhấp để tạo Nhắn tin Trực tiếp", - "UI_Click_Direct_Message_Description": "Bỏ qua tab hồ sơ mở, thay vì đi thẳng vào cuộc trò chuyện", - "UI_DisplayRoles": "Vai trò hiển thị", - "UI_Merge_Channels_Groups": "Hợp nhất các nhóm cá nhân với các kênh", + "UI_Click_Direct_Message": "Nhấp để tạo tin nhắn trực tiếp", + "UI_Click_Direct_Message_Description": "Bỏ qua tab hồ sơ, thay vào đó đi thẳng vào cuộc trò chuyện", + "UI_DisplayRoles": "Hiển thị vai trò", + "UI_Merge_Channels_Groups": "Hợp nhất các nhóm riêng tư với các kênh", "UI_Unread_Counter_Style": "Kiểu truy cập chưa đọc", "UI_Use_Name_Avatar": "Sử dụng Tên đầy đủ để tạo Hình đại diện Mặc định", "UI_Use_Real_Name": "Sử dụng tên thật", @@ -2002,12 +2017,12 @@ "Unnamed": "Vô danh", "Unpin_Message": "Bỏ gắn thông báo", "Unread_on_top": "Chưa đọc trên đầu trang", - "Unread_Count": "Số chưa đọc", - "Unread_Count_DM": "Chưa đọc Đếm Thư Trực tiếp", + "Unread_Count": "Đếm chưa đọc", + "Unread_Count_DM": "Đếm chưa đọc tin nhắn Trực tiếp", "Unread_Messages": "Tin nhắn chưa đọc", "Unread_Rooms": "Phòng chưa đọc", "Unread_Rooms_Mode": "Chế độ Phòng chưa đọc", - "Unread_Tray_Icon_Alert": "Không thông báo biểu tượng khay chứa", + "Unread_Tray_Icon_Alert": "Biểu tượng tin nhắn chưa đọc", "Unstar_Message": "Xóa dấu sao", "Updated_at": "Cập nhật tại", "Update_your_RocketChat": "Cập nhật Rocket.Chat của bạn", @@ -2041,7 +2056,7 @@ "User_added": "Người dùng đã thêm", "User_added_by": "Người dùng __user_added__được thêm bởi __user_by__.", "User_added_successfully": "Người dùng thành công", - "User_and_group_mentions_only": "Chỉ người dùng và nhóm đề cập đến", + "User_and_group_mentions_only": "Chỉ những tin người dùng và nhóm đề cập đến", "User_default": "Mặc định của người dùng", "User_doesnt_exist": "Không có người dùng nào tồn tại với tên `@% s`.", "User_has_been_activated": "Người dùng đã được kích hoạt", @@ -2063,7 +2078,7 @@ "User_left_male": "Đã rời khỏi kênh.", "User_logged_out": "Người dùng đã đăng xuất", "User_management": "Quản lý người dùng", - "User_mentions_only": "Người dùng chỉ đề cập đến", + "User_mentions_only": "Chỉ tin nhắn người dùng được đề cập đến", "User_muted": "Tắt tiếng của người dùng", "User_muted_by": "Người dùng __user_muted__bỏ qua bởi __user_by__.", "User_not_found": "Người dùng không tìm thấy", @@ -2098,15 +2113,15 @@ "User_uploaded_a_file_to_you": "__username__đã gửi cho bạn tệp:", "Username_title": "Đăng ký tên người dùng", "Username_wants_to_start_otr_Do_you_want_to_accept": "__userername__ muốn bắt đầu OTR. Bạn có muốn chấp nhận không?", - "Users": "Người sử dụng", + "Users": "Người dùng", "Users_added": "Người dùng đã được thêm vào", "Users_in_role": "Người dùng có vai trò", "UTF8_Names_Slugify": "UTF8 Tên Slugify", "UTF8_Names_Validation": "UTF8 Tên xác nhận", "UTF8_Names_Validation_Description": "RegExp sẽ được sử dụng để xác thực tên người dùng và tên kênh", "Validate_email_address": "Xác nhận Địa chỉ Email", - "Verification": "xác minh", - "Verification_Description": "Bạn có thể sử dụng các trình giữ chỗ sau:
", + "Verification": "Xác minh", + "Verification_Description": "Bạn có thể sử dụng các placeholder sau:
", "Verification_Email": "Nhấp vào ở đâyđể xác minh tài khoản của bạn.", "Verification_email_sent": "Gửi email xác minh", "Verification_Email_Subject": "[Site_Name] - Xác minh tài khoản của bạn", @@ -2142,10 +2157,10 @@ "view-other-user-channels_description": "Cho phép xem các kênh thuộc sở hữu của người dùng khác", "view-outside-room": "Nhìn ra bên ngoài phòng", "view-p-room": "Xem Phòng Riêng", - "view-p-room_description": "Cho phép xem các kênh cá nhân", - "view-privileged-setting": "Xem cài đặt ưu tiên", + "view-p-room_description": "Cho phép xem các kênh riêng tư", + "view-privileged-setting": "Xem cài đặt quyền", "view-privileged-setting_description": "Cho phép xem cài đặt", - "view-room-administration": "Quản trị Phòng Phòng", + "view-room-administration": "Quản trị phòng", "view-room-administration_description": "Cho phép xem thống kê tin nhắn công cộng, riêng tư và trực tiếp. Không bao gồm khả năng xem các cuộc hội thoại hoặc lưu trữ", "view-statistics": "Xem Thống kê", "view-statistics_description": "Cho phép xem thống kê hệ thống như số người dùng đăng nhập, số phòng, thông tin hệ điều hành", @@ -2176,7 +2191,7 @@ "WebRTC_group_video_call_from_%s": "Cuộc gọi video nhóm từ% s", "WebRTC_monitor_call_from_%s": "Theo dõi cuộc gọi từ% s", "WebRTC_Enable_Channel": "Bật cho các kênh công cộng", - "WebRTC_Enable_Direct": "Bật cho Thư trực tiếp", + "WebRTC_Enable_Direct": "Bật cho tin nhắn trực tiếp", "WebRTC_Enable_Private": "Bật cho Kênh riêng tư", "WebRTC_Servers": "STUN / TURN Servers", "WebRTC_Servers_Description": "Một danh sách các máy chủ STUN và TURN được phân cách bằng dấu phẩy.
Tên người dùng, mật khẩu và cổng được phép ở định dạng `username:password@stun:host:port` hoặc `username:password@turn:host:port`.", @@ -2227,9 +2242,9 @@ "Your_email_has_been_queued_for_sending": "Email của bạn đã được xếp hàng đợi để gửi", "Your_entry_has_been_deleted": "Mục nhập của bạn đã bị xóa.", "Your_file_has_been_deleted": "Tệp của bạn đã bị xóa.", - "Your_mail_was_sent_to_s": "Thư của bạn đã được gửi tới% s", + "Your_mail_was_sent_to_s": "MAil của bạn đã được gửi tới% s", "your_message": "tin nhắn của bạn", "your_message_optional": "tin nhắn của bạn (tùy chọn)", "Your_password_is_wrong": "Mật khẩu của bạn sai!", "Your_push_was_sent_to_s_devices": "Đã được gửi tới % thiết bị" -} \ No newline at end of file +} diff --git a/packages/rocketchat-integrations/server/api/api.js b/packages/rocketchat-integrations/server/api/api.js index 19a3617e73d5..5ee84fa51e50 100644 --- a/packages/rocketchat-integrations/server/api/api.js +++ b/packages/rocketchat-integrations/server/api/api.js @@ -1,4 +1,4 @@ -/* globals Api Meteor Restivus logger processWebhookMessage*/ +/* globals Meteor Restivus logger processWebhookMessage*/ // TODO: remove globals import _ from 'underscore'; @@ -6,6 +6,57 @@ import s from 'underscore.string'; import vm from 'vm'; import moment from 'moment'; +const Api = new Restivus({ + enableCors: true, + apiPath: 'hooks/', + auth: { + user() { + const payloadKeys = Object.keys(this.bodyParams); + const payloadIsWrapped = (this.bodyParams && this.bodyParams.payload) && payloadKeys.length === 1; + if (payloadIsWrapped && this.request.headers['content-type'] === 'application/x-www-form-urlencoded') { + try { + this.bodyParams = JSON.parse(this.bodyParams.payload); + } catch ({message}) { + return { + error: { + statusCode: 400, + body: { + success: false, + error: message + } + } + }; + } + } + + this.integration = RocketChat.models.Integrations.findOne({ + _id: this.request.params.integrationId, + token: decodeURIComponent(this.request.params.token) + }); + + if (!this.integration) { + logger.incoming.info('Invalid integration id', this.request.params.integrationId, 'or token', this.request.params.token); + + return { + error: { + statusCode: 404, + body: { + success: false, + error: 'Invalid integration id or token provided.' + } + } + }; + } + + const user = RocketChat.models.Users.findOne({ + _id: this.integration.userId + }); + + return { user }; + } + } +}); + const compiledScripts = {}; function buildSandbox(store = {}) { const sandbox = { @@ -41,78 +92,45 @@ function buildSandbox(store = {}) { function getIntegrationScript(integration) { const compiledScript = compiledScripts[integration._id]; - if ((compiledScript != null) && +compiledScript._updatedAt === +integration._updatedAt) { + if (compiledScript && +compiledScript._updatedAt === +integration._updatedAt) { return compiledScript.script; } + const script = integration.scriptCompiled; - const {sandbox, store} = buildSandbox(); + const { sandbox, store } = buildSandbox(); try { logger.incoming.info('Will evaluate script of Trigger', integration.name); logger.incoming.debug(script); + const vmScript = vm.createScript(script, 'script.js'); vmScript.runInNewContext(sandbox); - if (sandbox.Script != null) { + if (sandbox.Script) { compiledScripts[integration._id] = { script: new sandbox.Script(), store, _updatedAt: integration._updatedAt }; + return compiledScripts[integration._id].script; } - } catch ({stack}) { + } catch ({ stack }) { logger.incoming.error('[Error evaluating Script in Trigger', integration.name, ':]'); logger.incoming.error(script.replace(/^/gm, ' ')); logger.incoming.error('[Stack:]'); logger.incoming.error(stack.replace(/^/gm, ' ')); throw RocketChat.API.v1.failure('error-evaluating-script'); } - if (sandbox.Script == null) { + + if (!sandbox.Script) { logger.incoming.error('[Class "Script" not in Trigger', integration.name, ']'); throw RocketChat.API.v1.failure('class-script-not-found'); } } -Api = new Restivus({ - enableCors: true, - apiPath: 'hooks/', - auth: { - user() { - const payloadKeys = Object.keys(this.bodyParams); - const payloadIsWrapped = (this.bodyParams && this.bodyParams.payload) && payloadKeys.length === 1; - if (payloadIsWrapped && this.request.headers['content-type'] === 'application/x-www-form-urlencoded') { - try { - this.bodyParams = JSON.parse(this.bodyParams.payload); - } catch ({message}) { - return { - error: { - statusCode: 400, - body: { - success: false, - error: message - } - } - }; - } - } - this.integration = RocketChat.models.Integrations.findOne({ - _id: this.request.params.integrationId, - token: decodeURIComponent(this.request.params.token) - }); - if (this.integration == null) { - logger.incoming.info('Invalid integration id', this.request.params.integrationId, 'or token', this.request.params.token); - return; - } - const user = RocketChat.models.Users.findOne({ - _id: this.integration.userId - }); - return {user}; - } - } -}); - function createIntegration(options, user) { logger.incoming.info('Add integration', options.name); logger.incoming.debug(options); + Meteor.runAsUser(user._id, function() { switch (options['event']) { case 'newMessageOnChannel': @@ -142,18 +160,22 @@ function createIntegration(options, user) { }); } }); + return RocketChat.API.v1.success(); } function removeIntegration(options, user) { logger.incoming.info('Remove integration'); logger.incoming.debug(options); + const integrationToRemove = RocketChat.models.Integrations.findOne({ urls: options.target_url }); + Meteor.runAsUser(user._id, () => { return Meteor.call('deleteOutgoingIntegration', integrationToRemove._id); }); + return RocketChat.API.v1.success(); } @@ -176,7 +198,7 @@ function executeIntegrationRest() { emoji: this.integration.emoji }; - if (this.integration.scriptEnabled === true && this.integration.scriptCompiled && this.integration.scriptCompiled.trim() !== '') { + if (this.integration.scriptEnabled && this.integration.scriptCompiled && this.integration.scriptCompiled.trim() !== '') { let script; try { script = getIntegrationScript(this.integration); @@ -243,7 +265,7 @@ function executeIntegrationRest() { // TODO: Turn this into an option on the integrations - no body means a success // TODO: Temporary fix for https://github.com/RocketChat/Rocket.Chat/issues/7770 until the above is implemented - if (!this.bodyParams) { + if (!this.bodyParams || (_.isEmpty(this.bodyParams) && !this.integration.scriptEnabled)) { // return RocketChat.API.v1.failure('body-empty'); return RocketChat.API.v1.success(); } diff --git a/packages/rocketchat-lib/rocketchat.info b/packages/rocketchat-lib/rocketchat.info index eb0c811e983b..d4df12e18636 100644 --- a/packages/rocketchat-lib/rocketchat.info +++ b/packages/rocketchat-lib/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "0.63.1" + "version": "0.64.0-develop" } diff --git a/packages/rocketchat-lib/server/models/Subscriptions.js b/packages/rocketchat-lib/server/models/Subscriptions.js index bf25d7c0532f..611a4c0c8432 100644 --- a/packages/rocketchat-lib/server/models/Subscriptions.js +++ b/packages/rocketchat-lib/server/models/Subscriptions.js @@ -44,7 +44,7 @@ class ModelSubscriptions extends RocketChat.models._Base { findOneByRoomNameAndUserId(team, roomName, userId) { if (this.useCache) { - return this.cache.findByIndex('name,team,u._id', [team, roomName, userId]).fetch(); + return this.cache.findByIndex('name,team,u._id', [roomName, team, userId]).fetch(); } const query = { name: roomName,