mirror of
https://github.com/strapi/strapi.git
synced 2025-12-28 07:33:17 +00:00
Add Vietnamese translation (#4414)
* Add Vietnamese translation * chore: tweak vietnamese admin's translations * chore: vietnamese placeholder * feat: vietnamese content manager's translations * chore: plugin documentation's vietnamese translations * chore: plugin email's vietnamese translations * chore: plugin upload's vietnamese translations * chore: plugin users-permissions's vietnamese translations * chore: register vietnamese to language switcher * chore: add vietnamese welcome message
This commit is contained in:
parent
f4069f4dce
commit
8bec836388
3
examples/getstarted/config/locales/vi_vn.json
Normal file
3
examples/getstarted/config/locales/vi_vn.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"welcome": "Chào mừng"
|
||||
}
|
||||
@ -41,6 +41,8 @@ export class LocaleToggle extends React.Component {
|
||||
return 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.1.0/flags/4x3/kr.svg';
|
||||
case 'ja':
|
||||
return 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.1.0/flags/4x3/jp.svg';
|
||||
case 'vi':
|
||||
return 'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.1.0/flags/4x3/vn.svg';
|
||||
default:
|
||||
return `https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.1.0/flags/4x3/${locale}.svg`;
|
||||
}
|
||||
|
||||
@ -81,6 +81,15 @@ describe('<LocaleToggle />', () => {
|
||||
);
|
||||
});
|
||||
|
||||
it('should return the vn flag', () => {
|
||||
const renderedComponent = shallow(<LocaleToggle {...props} />);
|
||||
const { getFlagUrl } = renderedComponent.instance();
|
||||
|
||||
expect(getFlagUrl('vi')).toEqual(
|
||||
'https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.1.0/flags/4x3/vn.svg'
|
||||
);
|
||||
});
|
||||
|
||||
it('should return the locale flag', () => {
|
||||
const renderedComponent = shallow(<LocaleToggle {...props} />);
|
||||
const { getFlagUrl } = renderedComponent.instance();
|
||||
|
||||
@ -24,6 +24,7 @@ import pl from 'react-intl/locale-data/pl';
|
||||
import pt from 'react-intl/locale-data/pt';
|
||||
import ru from 'react-intl/locale-data/ru';
|
||||
import tr from 'react-intl/locale-data/tr';
|
||||
import vi from 'react-intl/locale-data/vi';
|
||||
import zh from 'react-intl/locale-data/zh';
|
||||
|
||||
import trads from './translations';
|
||||
@ -43,6 +44,7 @@ const locales = {
|
||||
pt,
|
||||
ru,
|
||||
tr,
|
||||
vi,
|
||||
zh,
|
||||
};
|
||||
const languages = Object.keys(trads);
|
||||
@ -62,7 +64,7 @@ const translationMessages = reduce(
|
||||
|
||||
return obj;
|
||||
},
|
||||
{},
|
||||
{}
|
||||
);
|
||||
|
||||
export { languages, translationMessages };
|
||||
|
||||
@ -12,6 +12,7 @@ import ptBR from './pt-BR.json';
|
||||
import pt from './pt.json';
|
||||
import ru from './ru.json';
|
||||
import tr from './tr.json';
|
||||
import vi from './vi.json';
|
||||
import zhHans from './zh-Hans.json';
|
||||
import zh from './zh.json';
|
||||
|
||||
@ -30,6 +31,7 @@ const trads = {
|
||||
pt,
|
||||
ru,
|
||||
tr,
|
||||
vi,
|
||||
'zh-Hans': zhHans,
|
||||
zh,
|
||||
};
|
||||
|
||||
219
packages/strapi-admin/admin/src/translations/vi.json
Normal file
219
packages/strapi-admin/admin/src/translations/vi.json
Normal file
@ -0,0 +1,219 @@
|
||||
{
|
||||
"Analytics": "Phân Tích",
|
||||
"Content Manager": "Quản Lý Nội Dung",
|
||||
"Content Type Builder": "Xây Dựng Loại Nội Dung",
|
||||
"Documentation": "Tài liệu",
|
||||
"Email": "Email",
|
||||
"Files Upload": "Tải Tâp Tin Lên",
|
||||
"HomePage.notification.newsLetter.success": "Đăng ký nhận bản tin thành công",
|
||||
"New entry": "Bản ghi mới",
|
||||
"Password": "Mật Khẩu",
|
||||
"Provider": "Nhà Cung Cấp",
|
||||
"ResetPasswordToken": "Cài Lại Chuỗi Khóa Mật Khẩu",
|
||||
"Role": "Vai trò",
|
||||
"Roles & Permissions": "Vai trò và Quyền",
|
||||
"Settings Manager": "Quản Lý Cài Đặt",
|
||||
"Username": "Tên đăng nhập",
|
||||
"Users": "Người dùng",
|
||||
"Users & Permissions": "Người dùng và Phân quyền",
|
||||
"app.components.BlockLink.code": "Code ví dụ",
|
||||
"app.components.BlockLink.code.content": "Học thông qua dự án thực tế phát triển bởi cộng đồng",
|
||||
"app.components.BlockLink.documentation": "Đọc tài liệu",
|
||||
"app.components.BlockLink.documentation.content": "Khám phá khái niệm, tham khảo và hướng dẫn.",
|
||||
"app.components.Button.cancel": "Hủy bỏ",
|
||||
"app.components.Button.save": "Lưu",
|
||||
"app.components.ComingSoonPage.comingSoon": "Sắp có",
|
||||
"app.components.ComingSoonPage.featuresNotAvailable": "Chức năng này đăng được phát triển",
|
||||
"app.components.DownloadInfo.download": "Đang tải về",
|
||||
"app.components.DownloadInfo.text": "Việc này có thể tốn một phút. Cảm ơn bạn vì sự kiên nhẫn.",
|
||||
"app.components.EmptyAttributes.title": "Chưa có trường nhập liệu nào",
|
||||
"app.components.HomePage.button.blog": "XEM THÊM TRÊN BLOG",
|
||||
"app.components.HomePage.button.quickStart": "BẮT ĐẦU HƯỚNG DẪN KHỞI ĐẦU NHANH",
|
||||
"app.components.HomePage.community": "Tìm cộng đồng trên web",
|
||||
"app.components.HomePage.community.content": "Thảo luận với thành viên, người đóng góp và lập trình viên trên những kênh khác nhau.",
|
||||
"app.components.HomePage.create": "Tạo Loại Nội Dung đầu tiên của bạn",
|
||||
"app.components.HomePage.createBlock.content.first": "Những ",
|
||||
"app.components.HomePage.createBlock.content.second": " plugin sẽ giúp bạn định nghĩa cấu trúc các loại nội dung. Nếu bạn thấy bỡ ngỡ, chúng tôi khuyến cáo bạn nên đi theo",
|
||||
"app.components.HomePage.createBlock.content.tutorial": " hướng dẫn.",
|
||||
"app.components.HomePage.cta": "XÁC NHẬN",
|
||||
"app.components.HomePage.newsLetter": "Đăng ký nhận bản tin để được cập nhật về Strapi",
|
||||
"app.components.HomePage.support": "HỖ TRỢ CHÚNG TÔI",
|
||||
"app.components.HomePage.support.content": "Thông qua việc mua Áo thun, bạn sẽ cho phép chúng tôi tiếp tục công việc với dự án để đem đến trải nghiệm tốt nhất cho bạn",
|
||||
"app.components.HomePage.support.link": "LẤY ÁO THUN NGAY BÂY GIỜ",
|
||||
"app.components.HomePage.welcome": "Chào mừng bạn lên tàu!",
|
||||
"app.components.HomePage.welcome.again": "Chào mừng ",
|
||||
"app.components.HomePage.welcomeBlock.content": "Chúng tôi hạnh phúc khi có bạn là một phần của cộng đồng. Chúng tôi liên tục tìm kiếm sự phản hồi, do đó bạn có thể Liên hệ trực tiếp với chúng tôi trên ",
|
||||
"app.components.HomePage.welcomeBlock.content.again": "Chúng tôi hi vọng bạn có tiến triển trên dự án của bạn... Bạn tự do đọc tin tức mới nhất về Strapi. Chúng tôi đang cố gắng hết mức để cải thiện sản phẩm dựa trên phản hồi của bạn.",
|
||||
"app.components.HomePage.welcomeBlock.content.issues": "vấn đề.",
|
||||
"app.components.HomePage.welcomeBlock.content.raise": " hoặc nêu lên ",
|
||||
"app.components.ImgPreview.hint": "Kéo và thả tập tin của bạn vào khu vực này hoặc {browse} để tìm tập tin tải lên",
|
||||
"app.components.ImgPreview.hint.browse": "duyệt",
|
||||
"app.components.InputFile.newFile": "Thêm tập tin mới",
|
||||
"app.components.InputFileDetails.open": "Mở ra ở thẻ mới",
|
||||
"app.components.InputFileDetails.originalName": "Tên gốc:",
|
||||
"app.components.InputFileDetails.remove": "Xoá tập tin này",
|
||||
"app.components.InputFileDetails.size": "Kích thước:",
|
||||
"app.components.InstallPluginPage.Download.title": "Đang tải về...",
|
||||
"app.components.InstallPluginPage.Download.description": "Nó sẽ tốn một vài giây để tải về và cài đặt plugin.",
|
||||
"app.components.InstallPluginPage.InputSearch.label": " ",
|
||||
"app.components.InstallPluginPage.InputSearch.placeholder": "Tìm kiếm một plugin... (vd: xác thực)",
|
||||
"app.components.InstallPluginPage.description": "Mở rộng ứng dụng của bạn dễ dàng",
|
||||
"app.components.InstallPluginPage.helmet": "Chợ - Plugins",
|
||||
"app.components.InstallPluginPage.plugin.support-us.description": "Hỗ trợ chúng tôi bằng cách mua Áo thun Strapi. Việc này sẽ cho phép chúng tôi tiếp tục làm việc cho dự án và cố gắng cho bạn một trải nghiệm tốt nhất có thể!",
|
||||
"app.components.InstallPluginPage.title": "Chợ - Plugins",
|
||||
"app.components.InstallPluginPopup.downloads": "tải về",
|
||||
"app.components.InstallPluginPopup.navLink.avis": "avis",
|
||||
"app.components.InstallPluginPopup.navLink.changelog": "nhật ký thay đổi",
|
||||
"app.components.InstallPluginPopup.navLink.description": "Mô tả",
|
||||
"app.components.InstallPluginPopup.navLink.faq": "hỏi-đáp-thường-gặp",
|
||||
"app.components.InstallPluginPopup.navLink.screenshots": "Ảnh màn hình",
|
||||
"app.components.InstallPluginPopup.noDescription": "Không có mô tả nào",
|
||||
"app.components.LeftMenuFooter.documentation": "Tài liệu",
|
||||
"app.components.LeftMenuFooter.help": "Giúp đỡ",
|
||||
"app.components.LeftMenuFooter.poweredBy": "Cung cấp bởi ",
|
||||
"app.components.LeftMenuLinkContainer.configuration": "Các cấu hình",
|
||||
"app.components.LeftMenuLinkContainer.general": "Chung",
|
||||
"app.components.LeftMenuLinkContainer.installNewPlugin": "Chợ",
|
||||
"app.components.LeftMenuLinkContainer.listPlugins": "Plugins",
|
||||
"app.components.LeftMenuLinkContainer.noPluginsInstalled": "Chưa có plugins nào được cài đặt",
|
||||
"app.components.LeftMenuLinkContainer.plugins": "Plugins",
|
||||
"app.components.ListPluginsPage.description": "Danh sách plugins đã cài trong dự án.",
|
||||
"app.components.ListPluginsPage.helmet.title": "Danh sách plugins",
|
||||
"app.components.ListPluginsPage.title": "Plugins",
|
||||
"app.components.Logout.admin": "Quản lý những nhà quản trị",
|
||||
"app.components.Logout.profile": "Hồ sơ",
|
||||
"app.components.Logout.logout": "Đăng xuất",
|
||||
"app.components.NotFoundPage.back": "Trở về trang chủ",
|
||||
"app.components.NotFoundPage.description": "Không Tìm Thấy",
|
||||
"app.components.Official": "Chính Thức",
|
||||
"app.components.Onboarding.label.completed": "% đã hoàn thành",
|
||||
"app.components.Onboarding.title": "Videos Bắt Đầu",
|
||||
"app.components.PluginCard.Button.label.download": "Tải về",
|
||||
"app.components.PluginCard.Button.label.install": "Đã được cài đặt",
|
||||
"app.components.PluginCard.Button.label.support": "Hỗ trợ chúng tôi",
|
||||
"app.components.PluginCard.compatible": "Tương thích với ứng dụng của bạn",
|
||||
"app.components.PluginCard.compatibleCommunity": "Tương thích với cộng đồng",
|
||||
"app.components.PluginCard.more-details": "Thêm chi tiết",
|
||||
"app.components.PluginCard.PopUpWarning.install.impossible.autoReload.needed": "Chức năng autoReload không hoạt động. Vui lòng chạy ứng dụng của bạn với `yarn develop`.",
|
||||
"app.components.PluginCard.PopUpWarning.install.impossible.environment": "Vì những lý do bảo mật, chỉ một plugin có thể được tải về trong môi trường phát triển.",
|
||||
"app.components.PluginCard.PopUpWarning.install.impossible.confirm": "Tôi hiểu!",
|
||||
"app.components.PluginCard.PopUpWarning.install.impossible.title": "Tải về không khả thi",
|
||||
"app.components.PluginCard.price.free": "Miễn phí",
|
||||
"app.components.PluginCard.settings": "Cài đặt",
|
||||
"app.components.listPlugins.button": "Thêm mới Plugin",
|
||||
"app.components.listPlugins.title.none": "Chưa có plugins nào được cài đặt",
|
||||
"app.components.listPlugins.title.plural": "{number} plugins đã được cài đặt",
|
||||
"app.components.listPlugins.title.singular": "{number} plugin được được cài đặt",
|
||||
"app.components.listPluginsPage.deletePlugin.error": "Một lỗi xảy ra trong khi gỡ bỏ plugin",
|
||||
"app.utils.SelectOption.defaultMessage": " ",
|
||||
"app.utils.defaultMessage": " ",
|
||||
"app.utils.placeholder.defaultMessage": " ",
|
||||
"components.AutoReloadBlocker.description": "Chạy Strapi với một trong các lệnh sau:",
|
||||
"components.AutoReloadBlocker.header": "Tính năng Tải lại bị bắt buộc cho plugin này.",
|
||||
"components.ErrorBoundary.title": "Điều gì đó không ổn...",
|
||||
"components.Input.error.attribute.key.taken": "Giá trị này đã tồn tại",
|
||||
"components.Input.error.attribute.sameKeyAndName": "Không thể bằng nhau",
|
||||
"components.Input.error.attribute.taken": "Trường nhập liệu này đã tồn tại",
|
||||
"components.Input.error.contentTypeName.taken": "Tên này đã tồn tại",
|
||||
"components.Input.error.custom-error": "{errorMessage} ",
|
||||
"components.Input.error.validation.email": "Đây không phải là email",
|
||||
"components.Input.error.validation.json": "Đây không phải là JSON",
|
||||
"components.Input.error.validation.max": "Giá trị quá cao.",
|
||||
"components.Input.error.validation.maxLength": "Giá trị quá dài.",
|
||||
"components.Input.error.validation.min": "Giá trị quá thấp.",
|
||||
"components.Input.error.validation.minLength": "Giá trị quá ngắn.",
|
||||
"components.Input.error.validation.minSupMax": "Không thể là trên mũ",
|
||||
"components.Input.error.validation.regex": "Giá trị không khới với regex.",
|
||||
"components.Input.error.validation.required": "Giá trị này bắt buộc.",
|
||||
"components.InputSelect.option.placeholder": "Chọn ở đây",
|
||||
"components.ListRow.empty": "Không có dữ liệu để hiển thị.",
|
||||
"components.OverlayBlocker.description": "Bạn đang dùng một tính năng mà nó cần phải khởi động lại máy chủ. Vui lòng chờ cho máy chủ khởi động xong.",
|
||||
"components.OverlayBlocker.description.serverError": "Máy chủ nên được khởi động lại, vui lòng kiểm tra nhật ký của bạn trong cửa sổ lệnh",
|
||||
"components.OverlayBlocker.title": "Đang đợi khởi động lại...",
|
||||
"components.OverlayBlocker.title.serverError": "Việc khởi động lại tốn nhiều thời gian hơn mong đợi",
|
||||
"components.PageFooter.select": "bản ghi trên trang",
|
||||
"components.ProductionBlocker.description": "Vì lý do an toàn chúng tôi phải vô hiệu hoá plugin trong các môi trường khác",
|
||||
"components.ProductionBlocker.header": "Plugin này chỉ hiệu lức trong môi trường phát triển",
|
||||
"components.Wysiwyg.ToggleMode.markdown": "Chuyển sang markdown",
|
||||
"components.Wysiwyg.ToggleMode.preview": "Chuyển sang xem trước",
|
||||
"components.Wysiwyg.collapse": "Co lại",
|
||||
"components.Wysiwyg.selectOptions.H1": "Tiêu đề H1",
|
||||
"components.Wysiwyg.selectOptions.H2": "Tiêu đề H2",
|
||||
"components.Wysiwyg.selectOptions.H3": "Tiêu đề H3",
|
||||
"components.Wysiwyg.selectOptions.H4": "Tiêu đề H4",
|
||||
"components.Wysiwyg.selectOptions.H5": "Tiêu đề H5",
|
||||
"components.Wysiwyg.selectOptions.H6": "Tiêu đề H6",
|
||||
"components.Wysiwyg.selectOptions.title": "Thêm một tiêu đề",
|
||||
"components.WysiwygBottomControls.charactersIndicators": "ký tự",
|
||||
"components.WysiwygBottomControls.fullscreen": "Giãn ra",
|
||||
"components.WysiwygBottomControls.uploadFiles": "Kéo và thả các tập tin, dán từ bộ nhớ tạm hay {browse}.",
|
||||
"components.WysiwygBottomControls.uploadFiles.browse": "chọn chúng",
|
||||
"components.popUpWarning.button.cancel": "Hủy bỏ",
|
||||
"components.popUpWarning.button.confirm": "Xác nhận",
|
||||
"components.popUpWarning.message": "Bạn có chắc là bạn muốn xoá nó?",
|
||||
"components.popUpWarning.title": "Vui lòng xác nhận",
|
||||
"notification.error": "Một lỗi đã xảy ra",
|
||||
"notification.error.layout": "Không thể khôi phục",
|
||||
"request.error.model.unknown": "Cấu trúc này không tồn tại",
|
||||
"app.utils.delete": "Xoá",
|
||||
"HomePage.helmet.title": "Trang chủ",
|
||||
"HomePage.welcome.congrats": "Chúc mừng!",
|
||||
"HomePage.welcome.congrats.content": "Bạn đã đăng nhập như là người quản trị đầu tiên. Để khám phá những tính năng mạnh mẽ được cung cấp bởi Strapi.",
|
||||
"HomePage.welcome.congrats.content.bold": "chúng tôi khuyến khích bạn tạo Loại-Nội-Dung của bạn đầu tiên",
|
||||
"HomePage.community": "Tham gia vào Cộng đồng",
|
||||
"HomePage.roadmap": "Xem lộ trình của chúng tôi",
|
||||
"HomePage.greetings": "Chào {name}!",
|
||||
|
||||
"Auth.advanced.allow_register": "",
|
||||
"Auth.privacy-policy-agreement.terms": "các điều khoản",
|
||||
"Auth.privacy-policy-agreement.policy": "chính sách bảo mật",
|
||||
"Auth.form.button.forgot-password": "Gửi Email",
|
||||
"Auth.form.button.forgot-password.success": "Gửi lại",
|
||||
"Auth.form.button.login": "Đăng nhập",
|
||||
"Auth.form.button.register": "Sẵn sàng để bắt đầu",
|
||||
"Auth.form.button.register-success": "Gửi lại",
|
||||
"Auth.form.button.reset-password": "Đổi mật khẩu",
|
||||
"Auth.form.error.blocked": "Tài khoản của bạn bị khóa bởi người quản trị",
|
||||
"Auth.form.error.code.provide": "Mã sai đã được cung cấp.",
|
||||
"Auth.form.error.confirmed": "Email của tài khoản của bạn chưa được xác nhận.",
|
||||
"Auth.form.error.email.invalid": "Eemail sai.",
|
||||
"Auth.form.error.email.provide": "Vui lòng cung cấp tên đăng nhập hoặc email.",
|
||||
"Auth.form.error.email.taken": "Email đã được dùng.",
|
||||
"Auth.form.error.invalid": "Định danh hoặc mật khẩu sai.",
|
||||
"Auth.form.error.noAdminAccess": "Bạn không thể truy cập vào bảng điều hành.",
|
||||
"Auth.form.error.params.provide": "Tham số sai đã được cung cấp.",
|
||||
"Auth.form.error.password.format": "Mật khẩu của bạn không thể chứa ký tự `$` hơn ba lần",
|
||||
"Auth.form.error.password.local": "Người dùng này chưa từng đặt mật khẩu cục bộ, vui lòng đăng nhập thông qua nhà cung cấp đã dùng trong lúc tạo tài khoản ban đầu",
|
||||
"Auth.form.error.password.matching": "Những mật khẩu không khớp.",
|
||||
"Auth.form.error.password.provide": "Vui lòng cung cấp mật khẩu của bạn.",
|
||||
"Auth.form.error.ratelimit": "Thử quá nhiều lần, vui lòng thử lại trong một phút",
|
||||
"Auth.form.error.user.not-exist": "Email này chưa tồn tại.",
|
||||
"Auth.form.error.username.taken": "Tên đăng nhập đã bị lấy.",
|
||||
"Auth.form.forgot-password.email.label": "Nhập email của bạn",
|
||||
"Auth.form.forgot-password.email.label.success": "Email đã gửi thành công đến",
|
||||
"Auth.form.forgot-password.email.placeholder": "mysuperemail@gmail.com",
|
||||
"Auth.form.header.forgot-password": "strapi",
|
||||
"Auth.form.header.login": "strapi",
|
||||
"Auth.form.header.register": "Chào mừng!",
|
||||
"Auth.form.header.register-success": "strapi",
|
||||
"Auth.form.login.password.label": "Mật khẩu",
|
||||
"Auth.form.login.rememberMe.label": "Nhớ tôi",
|
||||
"Auth.form.login.username.label": "Tên đăng nhập",
|
||||
"Auth.form.login.username.placeholder": "John Doe",
|
||||
"Auth.form.register-success.email.label": "Email đã được gửi thành công đến",
|
||||
"Auth.form.register-success.email.placeholder": "mysuperemail@gmail.com",
|
||||
"Auth.form.register.confirmPassword.label": "Xác nhận mật khẩu",
|
||||
"Auth.form.register.email.label": "Email",
|
||||
"Auth.form.register.email.placeholder": "johndoe@gmail.com",
|
||||
"Auth.form.register.news.label": "Cập nhật cho tôi về chức năng mới và những cải thiện sắp tới (thông qua việc này bạn đã chấp nhận {terms} và {policy}).",
|
||||
"Auth.form.register.password.label": "Mật khẩu",
|
||||
"Auth.form.register.username.label": "Tên đăng nhập",
|
||||
"Auth.form.register.username.placeholder": "John Doe",
|
||||
"Auth.header.register.description": "Để hoàn thành việc cài đặt và bảo mật ứng dụng của bạn, vui lòng tạo tài khoản đầu tiên (root admin) bằng cách nhập vào các thông tin cần thiết bên dưới.",
|
||||
"Auth.link.forgot-password": "Quên mật khẩu của bạn?",
|
||||
"Auth.link.ready": "Sẵn sàng đăng nhập?",
|
||||
"app.containers.App.notification.error.init": "Một lỗi đã xảy ra trong khi gửi yêu cầu đến API",
|
||||
"components.Input.error.password.noMatch": "Những mật khẩu không khớp",
|
||||
"form.button.done": "Hoàn thành",
|
||||
"notification.form.error.fields": "Bảng nhập liệu có vài lỗi"
|
||||
}
|
||||
@ -11,6 +11,7 @@ import ptBR from './pt-BR.json';
|
||||
import pt from './pt.json';
|
||||
import ru from './ru.json';
|
||||
import tr from './tr.json';
|
||||
import vi from './vi.json';
|
||||
import zhHans from './zh-Hans.json';
|
||||
import zh from './zh.json';
|
||||
|
||||
@ -28,6 +29,7 @@ const trads = {
|
||||
pt,
|
||||
ru,
|
||||
tr,
|
||||
vi,
|
||||
'zh-Hans': zhHans,
|
||||
zh,
|
||||
};
|
||||
|
||||
@ -0,0 +1 @@
|
||||
{}
|
||||
@ -12,6 +12,7 @@ import ptBR from './pt-BR.json';
|
||||
import pt from './pt.json';
|
||||
import ru from './ru.json';
|
||||
import tr from './tr.json';
|
||||
import vi from './vi.json';
|
||||
import zhHans from './zh-Hans.json';
|
||||
import zh from './zh.json';
|
||||
|
||||
@ -30,6 +31,7 @@ const trads = {
|
||||
pt,
|
||||
ru,
|
||||
tr,
|
||||
vi,
|
||||
'zh-Hans': zhHans,
|
||||
zh,
|
||||
};
|
||||
|
||||
@ -0,0 +1,147 @@
|
||||
{
|
||||
"models": "Loại Nội Dung",
|
||||
"models.numbered": "Loại Nội Dung ({number})",
|
||||
"groups": "Nhóm",
|
||||
"groups.numbered": "Nhóm ({number})",
|
||||
"EditRelations.title": "Dữ Liệu Quan Hệ",
|
||||
"components.AddFilterCTA.add": "Lọc",
|
||||
"components.AddFilterCTA.hide": "Lọc",
|
||||
"components.DraggableAttr.edit": "Nhấn để chỉnh sửa",
|
||||
"components.EmptyAttributesBlock.button": "Đến trang cài đặt",
|
||||
"components.EmptyAttributesBlock.description": "Bạn có thể thay đổi cài đặt của bạn",
|
||||
"components.FieldItem.linkToGroupLayout": "Cài đặt bố cục của nhóm",
|
||||
"components.FilterOptions.FILTER_TYPES.=": "là",
|
||||
"components.FilterOptions.FILTER_TYPES._contains": "chứa",
|
||||
"components.FilterOptions.FILTER_TYPES._containss": "chứa (phân biệt chữ hoa thường)",
|
||||
"components.FilterOptions.FILTER_TYPES._gt": "lớn hơn",
|
||||
"components.FilterOptions.FILTER_TYPES._gte": "lớn hơn hoặc bằng",
|
||||
"components.FilterOptions.FILTER_TYPES._lt": "nhỏ hơn",
|
||||
"components.FilterOptions.FILTER_TYPES._lte": "nhỏ hơn hoặc bằng",
|
||||
"components.FilterOptions.FILTER_TYPES._ne": "không bằng",
|
||||
"components.FilterOptions.FILTER_TYPES._in": "khớp với bất cứ giá trị nào có trong mảng giá trị",
|
||||
"components.FilterOptions.FILTER_TYPES._nin": "không khớp với bất cứ giá trị nào có trong mảng giá trị",
|
||||
"components.FilterOptions.button.apply": "Áp dụng",
|
||||
"components.FiltersPickWrapper.PluginHeader.actions.apply": "Áp dụng",
|
||||
"components.FiltersPickWrapper.PluginHeader.actions.clearAll": "Xóa tất cả",
|
||||
"components.FiltersPickWrapper.PluginHeader.description": "Cài đặt các điều kiện để áp dụng cho việc lọc các bản ghi",
|
||||
"components.FiltersPickWrapper.PluginHeader.title.filter": "Các bộ lọc",
|
||||
"components.FiltersPickWrapper.hide": "Ẩn đi",
|
||||
"components.Group.notification.info.minimum-requirement": "Một trường phải được thêm vào nhóm của bạn để đạt yêu cầu tối thiểu",
|
||||
"components.Group.notification.info.maximum-requirement": "Bạn đã đụng phải giới hạn số trường tối đa",
|
||||
"components.Group.empty.repeatable": "Chưa có bản ghi nào. Nhấn nút bên dưới để thêm.",
|
||||
"components.Group.reset": "Làm lại bản ghi",
|
||||
"components.LimitSelect.itemsPerPage": "Số lượng bản ghi trong trang",
|
||||
"components.Search.placeholder": "Tìm một bản ghi...",
|
||||
"components.TableDelete.delete": "Xóa tất cả",
|
||||
"components.TableDelete.deleteSelected": "Xóa đã chọn",
|
||||
"components.TableDelete.entries.plural": "{number} bản ghi đã chọn",
|
||||
"components.TableDelete.entries.singular": "{number} bản ghi đã chọn",
|
||||
"components.TableEmpty.withFilters": "Không có {contentType} với bộ lọc được dùng",
|
||||
"components.TableEmpty.withSearch": "Không có {contentType} tương ứng với tìm kiếm ({search})...",
|
||||
"components.TableEmpty.withoutFilter": "Không có {contentType}...",
|
||||
|
||||
"containers.Edit.addAnItem": "Thêm một bản ghi...",
|
||||
"containers.Edit.pluginHeader.title.new": "Tạo một Bản ghi",
|
||||
"containers.Edit.clickToJump": "Nhấn để nhảy vào bản ghi",
|
||||
"containers.Edit.delete": "Xóa",
|
||||
"containers.Edit.editing": "Đăng sửa...",
|
||||
"containers.Edit.reset": "Làm lại",
|
||||
"containers.Edit.returnList": "Trở về danh sách",
|
||||
"containers.Edit.seeDetails": "Chi tiết",
|
||||
"containers.Edit.submit": "Lưu",
|
||||
"containers.Edit.Link.Layout": "Cấu hình bố cục",
|
||||
"containers.Edit.Link.Fields": "Chỉnh sửa các trường",
|
||||
"containers.EditView.notification.errors": "Bảng nhập liệu có vài lỗi",
|
||||
"containers.Home.introduction": "Để chỉnh sửa các bản ghi của bạn, đi đến liên kết ở menu bên trái. Plugin này chưa có cách thích hợp để chỉnh sửa các cài đặt và nó vẫn đang được phát triển.",
|
||||
"containers.Home.pluginHeaderDescription": "Quản lý các bản ghi thông qua một giao diện mạnh và đẹp.",
|
||||
"containers.Home.pluginHeaderTitle": "Quản Lý Nội Dung",
|
||||
"containers.List.addAnEntry": "Thêm mới {entity}",
|
||||
"containers.List.errorFetchRecords": "Lỗi",
|
||||
"containers.List.pluginHeaderDescription": "{label} bản ghi đã tìm thấy",
|
||||
"containers.List.pluginHeaderDescription.singular": "{label} bản ghi đã tìm thấy",
|
||||
"containers.ListPage.displayedFields": "Các trường đã được trình bày",
|
||||
"containers.SettingPage.addField": "Thêm trường mới",
|
||||
"containers.SettingPage.addRelationalField": "Thêm mới trường quan hệ",
|
||||
"containers.SettingPage.attributes": "Các trường thuộc tính",
|
||||
"containers.SettingPage.attributes.description": "Định nghĩa thứ tự các thuộc tính",
|
||||
"containers.SettingPage.editSettings.description": "Kéo & thả các trường để xây dựng bố cục",
|
||||
"containers.SettingPage.editSettings.title": "Chỉnh sửa hiển thị (các cài đặt)",
|
||||
"containers.SettingPage.editSettings.entry.title": "Tên bản ghi",
|
||||
"containers.SettingPage.editSettings.entry.title.description": "Cài đặt trường được trình bày trong bản ghi của bạn",
|
||||
"containers.SettingPage.listSettings.description": "Cấu hình các tùy chọn cho loại nội dung này",
|
||||
"containers.SettingPage.listSettings.title": "Hiển thị danh sách (các cài đặt)",
|
||||
"containers.SettingPage.pluginHeaderDescription": "Cấu hình các cài đặt cho riêng Loại Nội Dung này",
|
||||
"containers.SettingPage.relations": "Các trường Quan Hệ",
|
||||
"containers.SettingPage.settings": "Các cài đặt",
|
||||
"containers.SettingPage.layout": "Bố cục",
|
||||
"containers.EditView.Group.add.new": "THÊM MỚI BẢN GHI",
|
||||
"containers.SettingViewModel.pluginHeader.title": "Quản Lý Nội Dung - {name}",
|
||||
"containers.SettingsPage.Block.contentType.description": "Cấu hình các cài đặt riêng",
|
||||
"containers.SettingsPage.Block.contentType.title": "Các Loại Nội Dung",
|
||||
"containers.SettingsPage.Block.generalSettings.description": "Cấu hình các tuỳ chọn mặc định cho Loại Nội Dung của bạn",
|
||||
"containers.SettingsPage.Block.generalSettings.title": "Chung",
|
||||
"containers.SettingsPage.pluginHeaderDescription": "Cấu hình các cài đặt cho tất cả Loại Nội Dung và Nhóm của bạn",
|
||||
"containers.SettingsView.list.title": "Các cấu hình về Trình bày",
|
||||
"containers.SettingsView.list.subtitle": "Cấu hình bố cục và trình bày của các loại nội dung và nhóm của bạn",
|
||||
|
||||
"emptyAttributes.button": "Đi đến hệ thống xây dựng loại nội dung",
|
||||
"emptyAttributes.description": "Thêm trường đầu tiên vào Loại Nội Dung của bạn",
|
||||
"emptyAttributes.title": "Chưa có trường nào hết",
|
||||
"error.attribute.key.taken": "Giá trị này đã tồn tại",
|
||||
"error.attribute.sameKeyAndName": "Không thể bằng nhau",
|
||||
"error.attribute.taken": "Tên trường này đã tồn tại",
|
||||
"error.contentTypeName.taken": "Tên này đã tồn tại",
|
||||
"error.model.fetch": "Một lỗi đã xảy ra trong khi lấy về cấu hình nội dung.",
|
||||
"error.record.create": "Một lỗi đã xảy ra trong khi tạo bản ghi.",
|
||||
"error.record.delete": "Một lỗi đã xảy ra trong khi xoá bản ghi.",
|
||||
"error.record.fetch": "Một lỗi đã xảy ra trong khi lấy về bản ghi.",
|
||||
"error.record.update": "Một lỗi đã xảy ra trong khi cập nhật bản ghi.",
|
||||
"error.records.count": "Một lỗi đã xảy ra trong khi lấy về số lượng bản ghi.",
|
||||
"error.records.fetch": "Một lỗi đã xảy ra trong khi lấy về các bản ghi.",
|
||||
"error.schema.generation": "Một lỗi đã xảy ra trong khi quá trình tạo ra lược đồ.",
|
||||
"error.validation.json": "Đây không phải là JSON",
|
||||
"error.validation.max": "Giá trị quá cao.",
|
||||
"error.validation.maxLength": "Giá trị quá dài.",
|
||||
"error.validation.min": "Giá trị quá thấp.",
|
||||
"error.validation.minLength": "Giá trị quá ngắn.",
|
||||
"error.validation.minSupMax": "Không thể là trên mũ",
|
||||
"error.validation.regex": "Giá trị không khới với regex.",
|
||||
"error.validation.required": "Giá trị này bắt buộc.",
|
||||
|
||||
"form.Input.bulkActions": "Kích hoạt hoạt động gộp",
|
||||
"form.Input.defaultSort": "Thuộc tính sắp xếp mặc định",
|
||||
"form.Input.description": "Mô tả",
|
||||
"form.Input.description.placeholder": "Tên hiển thị trong hồ sơ",
|
||||
"form.Input.editable": "Trường chỉnh sửa được",
|
||||
"form.Input.filters": "Kích hoạt các bộ lọc",
|
||||
"form.Input.label": "Nhãn",
|
||||
"form.Input.label.inputDescription": "Giá trị này ghi đè lên nhãn được trình bày trong phần đầu của bảng",
|
||||
"form.Input.pageEntries": "Bản ghi trong trang",
|
||||
"form.Input.pageEntries.inputDescription": "Lưu ý: Bạn có thể ghi đè lên giá trị này trong trang cài đặt Loại Nội Dung.",
|
||||
"form.Input.placeholder": "Chỗ chờ giá trị",
|
||||
"form.Input.placeholder.placeholder": "Giá trị tuyệt vời của tôi",
|
||||
"form.Input.search": "Kích hoạt tìm kiếm",
|
||||
"form.Input.search.field": "Kích hoạt tìm kiếm cho trường này",
|
||||
"form.Input.sort.field": "Kích hoạt sắp xếp trên trường này",
|
||||
"form.Input.wysiwyg": "Trình bày như là WYSIWYG",
|
||||
|
||||
"global.displayedFields": "Các Trường Đã Được Trình Bày",
|
||||
|
||||
"notification.error.displayedFields": "Bạn cần trình bày ít nhất một trường",
|
||||
"notification.error.relationship.fetch": "Một lỗi đã xảy ra trong khi lấy về mối quan hệ.",
|
||||
"notification.info.SettingPage.disableSort": "Bạn cần có một thuộc tính được phép sắp xếp",
|
||||
"pageNotFound": "Không Tìm Thấy Trang",
|
||||
"plugin.description.long": "Cách nhanh để xem, sửa và xoá dữ liệu trong cơ sở dữ liệu của bạn.",
|
||||
"plugin.description.short": "Cách nhanh để xem, sửa và xoá dữ liệu trong cơ sở dữ liệu của bạn.",
|
||||
"popUpWarning.bodyMessage.contentType.delete": "Bạn có chắc là muốn xoá bản ghi này không?",
|
||||
"popUpWarning.bodyMessage.contentType.delete.all": "Bạn có chắc là muốn xoá các bản ghi này không?",
|
||||
"popUpWarning.button.cancel": "Hủy bỏ",
|
||||
"popUpWarning.button.confirm": "Xác nhận",
|
||||
"popUpWarning.title": "Vui lòng xác nhận",
|
||||
"popUpWarning.warning.cancelAllSettings": "Bạn có chắc là muốn hủy bỏ các thay đổi của bạn?",
|
||||
"popUpWarning.warning.updateAllSettings": "Nó sẽ thay đổi tất cả cài đặt của bạn",
|
||||
"success.record.delete": "Đã xoá",
|
||||
"success.record.save": "Đã lưu",
|
||||
"notification.info.minimumFields": "Bạn cần hiển thị ít nhất một trường",
|
||||
"notification.upload.error": "Một lỗi đã xảy ra trong khi tải lên các tập tin của bạn"
|
||||
}
|
||||
@ -11,6 +11,7 @@ import ptBR from './pt-BR.json';
|
||||
import pt from './pt.json';
|
||||
import ru from './ru.json';
|
||||
import tr from './tr.json';
|
||||
import vi from './vi.json';
|
||||
import zhHans from './zh-Hans.json';
|
||||
import zh from './zh.json';
|
||||
|
||||
@ -28,6 +29,7 @@ const trads = {
|
||||
pt,
|
||||
ru,
|
||||
tr,
|
||||
vi,
|
||||
'zh-Hans': zhHans,
|
||||
zh,
|
||||
};
|
||||
|
||||
29
packages/strapi-plugin-documentation/admin/src/translations/vi.json
Executable file
29
packages/strapi-plugin-documentation/admin/src/translations/vi.json
Executable file
@ -0,0 +1,29 @@
|
||||
{
|
||||
"containers.HomePage.Button.open": "Mở tải liệu",
|
||||
"containers.HomePage.Button.update": "Cập nhật",
|
||||
"containers.HomePage.copied": "Chuỗi khoá đã được sao chép vào bộ nhớ tạm",
|
||||
"containers.HomePage.PluginHeader.title": "Tài liệu - Cài đặt",
|
||||
"containers.HomePage.PluginHeader.description": "Cấu hình cho tài liệu của plugin",
|
||||
"containers.HomePage.Block.title": "Các Phiên Bản",
|
||||
"containers.HomePage.PopUpWarning.message": "Bạn có chắc là muốn xóa phiên bản này không?",
|
||||
"containers.HomePage.PopUpWarning.confirm": "Tôi hiểu",
|
||||
|
||||
"containers.HomePage.form.jwtToken": "Lấy lại chuỗi khóa jwt của bạn",
|
||||
"containers.HomePage.form.jwtToken.description": "Sao chép chuỗi khóa và sử dụng nó trong swagger để truy vấn",
|
||||
"containers.HomePage.form.restrictedAccess": "Truy cập bị giới hạn",
|
||||
"containers.HomePage.form.restrictedAccess.inputDescription": "Làm cho điểm truy cập tài liệu thành riêng tư. Mặc định, truy cập là công khai.",
|
||||
"containers.HomePage.form.password": "Mật khẩu",
|
||||
"containers.HomePage.form.password.inputDescription": "Cài đặt mật khẩu để truy cập tài liệu",
|
||||
"containers.HomePage.form.showGeneratedFiles": "Hiển thị tập tin đã sinh ra",
|
||||
"containers.HomePage.form.showGeneratedFiles.inputDescription": "Hữu ích khi bạn muốn ghi đè lên tài liệu đã sinh ra. \nPlugin này sẽ tạo ra các tập tin phân chia bởi cấu hình và plugin. \nBằng việc kích hoạt tuỳ chọn này, sẽ dễ dàng hơn cho bạn tùy chỉnh tài liệu của bạn.",
|
||||
|
||||
"components.Row.generatedDate": "Lần sinh ra gần nhất",
|
||||
"components.Row.open": "Mở",
|
||||
"components.Row.regenerate": "Sinh lại",
|
||||
|
||||
"error.regenerateDoc": "Một lỗi đã xảy ra trong khi sinh ra tài liệu",
|
||||
"error.noVersion": "Bắt buộc phải có một phiên bản",
|
||||
"error.regenerateDoc.versionMissing": "Phiên bản bạn đang cố sinh ra không tồn tại",
|
||||
"error.deleteDoc.versionMissing": "Phiên bản bạn đang cố xóa không tồn tại.",
|
||||
"notification.update.success": "Các cài đặt đã được cập nhật thành công"
|
||||
}
|
||||
@ -12,6 +12,7 @@ import ptBR from './pt-BR.json';
|
||||
import pt from './pt.json';
|
||||
import ru from './ru.json';
|
||||
import tr from './tr.json';
|
||||
import vi from './vi.json';
|
||||
import zhHans from './zh-Hans.json';
|
||||
import zh from './zh.json';
|
||||
|
||||
@ -30,6 +31,7 @@ const trads = {
|
||||
pt,
|
||||
ru,
|
||||
tr,
|
||||
vi,
|
||||
'zh-Hans': zhHans,
|
||||
zh,
|
||||
};
|
||||
|
||||
11
packages/strapi-plugin-email/admin/src/translations/vi.json
Normal file
11
packages/strapi-plugin-email/admin/src/translations/vi.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"ConfigPage.description": "Cấu hình email plugin",
|
||||
"ConfigPage.title": "Email - Các cài đặt",
|
||||
"EditForm.Input.number.label": "Kích thước tối đa được phép (MB)",
|
||||
"EditForm.Input.select.inputDescription": "Các Email có thể được gửi với nhà cung cấp mặc định (Sendmail) hoặc là nhà cung cấp bên ngoài",
|
||||
"EditForm.Input.select.label": "Các nhà cung cấp",
|
||||
"EditForm.Input.toggle.label": "Kích hoạt gửi email",
|
||||
"notification.config.success": "Các cài đặt đã được cập nhật",
|
||||
"plugin.description.long": "Gửi các email.",
|
||||
"plugin.description.short": "Gửi các email."
|
||||
}
|
||||
@ -12,6 +12,7 @@ import ptBR from './pt-BR.json';
|
||||
import pt from './pt.json';
|
||||
import ru from './ru.json';
|
||||
import tr from './tr.json';
|
||||
import vi from './vi.json';
|
||||
import zhHans from './zh-Hans.json';
|
||||
import zh from './zh.json';
|
||||
|
||||
@ -30,6 +31,7 @@ const trads = {
|
||||
pt,
|
||||
ru,
|
||||
tr,
|
||||
vi,
|
||||
'zh-Hans': zhHans,
|
||||
zh,
|
||||
};
|
||||
|
||||
31
packages/strapi-plugin-upload/admin/src/translations/vi.json
Normal file
31
packages/strapi-plugin-upload/admin/src/translations/vi.json
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
"ConfigPage.description": "Cấu hình plugin tải lên",
|
||||
"ConfigPage.title": "Tải Lên - Các cài đặt",
|
||||
"EditForm.Input.number.label": "Kích thước tối đa được phép (MB)",
|
||||
"EditForm.Input.select.inputDescription": "Các tập tin có thể được tải lên máy chủ của bạn hoặc lên các nhà cung cấp bên ngoài khác.",
|
||||
"EditForm.Input.select.label": "Các nhà cung cấp",
|
||||
"EditForm.Input.toggle.label": "Kích hoạt tải lên tập tin",
|
||||
"EmptyLi.message": "Chưa có tập tin được tải lên",
|
||||
"EntriesNumber.number": "{number} tập tin được tìm thấy",
|
||||
"EntriesNumber.number.plural": "{number} tập tin được tìm thấy",
|
||||
"HomePage.InputSearch.placeholder": "Tìm kiếm một tập tin...",
|
||||
"HomePage.description": "Khám phá tất cả tập tin đã được tải lên",
|
||||
"HomePage.title": "Tải lên",
|
||||
"Li.linkCopied": "Đường dẫn đã được sao chép vào bộ nhớ tạm",
|
||||
"ListHeader.hash": "Chuỗi băm",
|
||||
"ListHeader.name": "Tên",
|
||||
"ListHeader.related": "Liên quan đến",
|
||||
"ListHeader.size": "Kích thước",
|
||||
"ListHeader.type": "Loại",
|
||||
"ListHeader.updated": "Đã cập nhật",
|
||||
"PluginInputFile.link": "duyệt",
|
||||
"PluginInputFile.loading": "Các tập tin của bạn đang được tải lên...",
|
||||
"PluginInputFile.text": "Kéo & thả các tập tin của bạn vào khu vực này hoặc {link} từ một tập tin để tải lên",
|
||||
"Upload.status.empty": "Các tập tin đang trống",
|
||||
"Upload.status.disabled": "Tải lên tập tin đã bị tắt",
|
||||
"Upload.status.sizeLimit": "Tập tin {file} thì lớn hơn giới hạn kích thước đã được cấu hình!",
|
||||
"notification.config.success": "Các cấu hình đã được cập nhật",
|
||||
"notification.delete.success": "Tập tin đã được xoá",
|
||||
"notification.dropFile.success": "Các tập tin của bạn đã được tải lên",
|
||||
"notification.dropFiles.success": "{number} tập tin đã được tải lên"
|
||||
}
|
||||
@ -12,6 +12,7 @@ import ptBR from './pt-BR.json';
|
||||
import pt from './pt.json';
|
||||
import ru from './ru.json';
|
||||
import tr from './tr.json';
|
||||
import vi from './vi.json';
|
||||
import zhHans from './zh-Hans.json';
|
||||
import zh from './zh.json';
|
||||
|
||||
@ -30,6 +31,7 @@ const trads = {
|
||||
pt,
|
||||
ru,
|
||||
tr,
|
||||
vi,
|
||||
'zh-Hans': zhHans,
|
||||
zh,
|
||||
};
|
||||
|
||||
@ -0,0 +1,112 @@
|
||||
{
|
||||
"BoundRoute.title": "Đến tới",
|
||||
"Controller.input.label": "{label} ",
|
||||
"Controller.selectAll": "Chọn tất cả",
|
||||
"Controller.unselectAll": "Bỏ chọn tất cả",
|
||||
"EditForm.inputSelect.description.role": "Đính kèm người dùng mới đã được xác thực vào quyền được chọn.",
|
||||
"EditForm.inputSelect.durations.description": "Số giờ mà người dùng không thể đăng ký.",
|
||||
"EditForm.inputSelect.durations.label": "Thời gian",
|
||||
"EditForm.inputSelect.label.role": "Quyền mặc định cho các người dùng đã được chứng thực",
|
||||
"EditForm.inputSelect.subscriptions.description": "Giới hạn số lượng đăng ký trên địa chỉ IP trên giờ.",
|
||||
"EditForm.inputSelect.subscriptions.label": "Quản lý hạn ngạch đăng ký",
|
||||
"EditForm.inputToggle.description.email": "Không cho phép người dùng tạo nhiều tài khoản có cùng địa chỉ email với nhiều nhà cung cấp chứng thực.",
|
||||
"EditForm.inputToggle.description.email-confirmation": "Khi được kích hoạt (ON), người dùng đăng ký mới nhận được một email xác nhận.",
|
||||
"EditForm.inputToggle.description.email-confirmation-redirection": "Sau khi xác nhận email của bạn, chọn nơi bạn sẽ được đưa về.",
|
||||
"EditForm.inputToggle.description.email-reset-password": "URL của trang lấy lại mật khẩu của ứng dụng của bạn",
|
||||
"EditForm.inputToggle.description.sign-up": "Khi không kích hoạt (OFF), quá trình đăng ký bị cấm. Không ai có thể đăng ký thêm dù dùng bất kỳ nhà cung cấp nào.",
|
||||
"EditForm.inputToggle.label.email": "Một tài khoản trên một địa chỉ email",
|
||||
"EditForm.inputToggle.label.email-confirmation": "Kích hoạt email xác nhận",
|
||||
"EditForm.inputToggle.label.email-confirmation-redirection": "URL đưa về",
|
||||
"EditForm.inputToggle.label.email-reset-password": "Trang lấy lại mật khẩu",
|
||||
"EditForm.inputToggle.label.sign-up": "Kích hoạt đăng ký",
|
||||
"EditPage.cancel": "Hủy bỏ",
|
||||
"EditPage.form.roles": "Chi tiết Vai trò",
|
||||
"EditPage.form.roles.label.description": "Mô tả",
|
||||
"EditPage.form.roles.label.name": "Tên",
|
||||
"EditPage.form.roles.label.users": "Các người dùng đã liên kết với vai trò ({number})",
|
||||
"EditPage.form.roles.name.error": "Giá trị bắt buộc.",
|
||||
"EditPage.header.description": "{description} ",
|
||||
"EditPage.header.description.create": " ",
|
||||
"EditPage.header.title": "{name} ",
|
||||
"EditPage.header.title.create": "Tạo mới một vai trò",
|
||||
"EditPage.notification.permissions.error": "Một lỗi đã xảy ra trong khi lấy về các quyền",
|
||||
"EditPage.notification.policies.error": "Một lỗi đã xảy ra trong khi lấy về các chính sách",
|
||||
"EditPage.notification.role.error": "Một lỗi đã xảy ra trong khi lấy về vai trò",
|
||||
"EditPage.submit": "Lưu",
|
||||
"Email.template.email_confirmation": "Xác nhận địa chỉ email",
|
||||
"Email.template.reset_password": "Lấy lại mật khẩu",
|
||||
"Email.template.success_register": "Đăng ký thành công",
|
||||
"HeaderNav.link.advancedSettings": "Cài đặt nâng cao",
|
||||
"HeaderNav.link.emailTemplates": "Mẫu email",
|
||||
"HeaderNav.link.providers": "Các nhà cung cấp",
|
||||
"HeaderNav.link.roles": "Các Vai trò & Quyền",
|
||||
"HomePage.header.description": "Định nghĩa vai trò và quyền cho các người dùng của bạn.",
|
||||
"HomePage.header.title": "Vai trò & Quyền",
|
||||
"InputSearch.placeholder": "Tìm một người dùng",
|
||||
"List.button.providers": "Thêm Mới Nhà Cung Cấp",
|
||||
"List.button.roles": "Thêm Mới Quyền",
|
||||
"List.title.emailTemplates.plural": "{number} mẫu email có sẵn",
|
||||
"List.title.emailTemplates.singular": "{number} mẫu email có sẵn",
|
||||
"List.title.providers.disabled.plural": "{number} đã không được kích hoạt",
|
||||
"List.title.providers.disabled.singular": "{number} đã không được kích hoạt",
|
||||
"List.title.providers.enabled.plural": "{number} nhà cung cấp đã được kích hoạt và",
|
||||
"List.title.providers.enabled.singular": "{number} nhà cung cấp đã được kích hoạt và",
|
||||
"List.title.roles.plural": "{number} vai trò đã được kích hoạt",
|
||||
"List.title.roles.singular": "{number} vai trò đã được kích hoạt",
|
||||
"Plugin.permissions.application.description": "Định nghĩa tất cả hành động được phép cho dự án của bạn.",
|
||||
"Plugin.permissions.plugins.description": "Định nghĩa tất cả hành động được phép cho {name} plugin.",
|
||||
"Plugins.header.description": "Chỉ các hành động đến bởi một đường dẫn được liệt kê bên dưới.",
|
||||
"Plugins.header.title": "Các Quyền",
|
||||
"Policies.InputSelect.empty": "Rỗng",
|
||||
"Policies.InputSelect.label": "Được phép thực hiện hành động này cho:",
|
||||
"Policies.header.hint": "Chọn các hành động của ứng dựng hoặc hành động của plugin và nhấn vào biểu tượng bánh răng để hiển thị đường đến",
|
||||
"Policies.header.title": "Các cài đặt nâng cao",
|
||||
"PopUpForm.Email.email_templates.inputDescription": "Nếu bạn không chắc sử dụng các biến như thế nào, {link}",
|
||||
"PopUpForm.Email.link.documentation": "kiểm tra tài liệu của chúng tôi.",
|
||||
"PopUpForm.Email.options.from.email.label": "Email người gửi",
|
||||
"PopUpForm.Email.options.from.email.placeholder": "johndoe@gmail.com",
|
||||
"PopUpForm.Email.options.from.name.label": "Tên người gửi",
|
||||
"PopUpForm.Email.options.from.name.placeholder": "John Doe",
|
||||
"PopUpForm.Email.options.message.label": "Thông điệp",
|
||||
"PopUpForm.Email.options.object.label": "Chủ đề",
|
||||
"PopUpForm.Email.options.response_email.label": "Email phản hồi",
|
||||
"PopUpForm.Email.options.response_email.placeholder": "johndoe@gmail.com",
|
||||
"PopUpForm.Email.reset_password.options.message.placeholder": "<p>Vui lòng nhấn liên kết này để xác nhận tài khoản của bạn</p>",
|
||||
"PopUpForm.Email.reset_password.options.object.placeholder": "Vui lòng xác nhận địa chỉ email cho %APP_NAME%",
|
||||
"PopUpForm.Email.success_register.options.message.placeholder": "<p>Vui lòng nhấn liên kết này để xác nhận tài khoản của bạn</p>",
|
||||
"PopUpForm.Email.success_register.options.object.placeholder": "Vui lòng xác nhận địa chỉ email cho %APP_NAME%",
|
||||
"PopUpForm.Email.validation_email.options.message.placeholder": "<p>Vui lòng nhấn liên kết này để xác nhận tài khoản của bạn</p>",
|
||||
"PopUpForm.Email.validation_email.options.object.placeholder": "Vui lòng xác nhận địa chỉ email cho %APP_NAME%",
|
||||
"PopUpForm.Providers.callback.placeholder": "VĂN BẢN",
|
||||
"PopUpForm.Providers.discord.providerConfig.redirectURL": "URL chuyển tiếp để thêm vào các cấu hình ứng dụng Discord",
|
||||
"PopUpForm.Providers.enabled.description": "Nếu không kích hoạt, người dùng sẽ không thể dùng nhà cung cấp này.",
|
||||
"PopUpForm.Providers.enabled.label": "Kích hoạt",
|
||||
"PopUpForm.Providers.facebook.providerConfig.redirectURL": "URL chuyển tiếp để thêm vào các cấu hình ứng dụng Facebook",
|
||||
"PopUpForm.Providers.github.providerConfig.redirectURL": "URL chuyển tiếp để thêm vào các cấu hình ứng dụng GitHub",
|
||||
"PopUpForm.Providers.google.providerConfig.redirectURL": "URL chuyển tiếp để thêm vào các cấu hình ứng dụng Google",
|
||||
"PopUpForm.Providers.instagram.providerConfig.redirectURL": "URL chuyển tiếp để thêm vào các cấu hình ứng dụng Instagram",
|
||||
"PopUpForm.Providers.key.label": "Client ID",
|
||||
"PopUpForm.Providers.key.placeholder": "VĂN BẢN",
|
||||
"PopUpForm.Providers.linkedin2.providerConfig.redirectURL": "URL chuyển tiếp để thêm vào các cấu hình ứng dụng Linkedin",
|
||||
"PopUpForm.Providers.microsoft.providerConfig.redirectURL": "URL chuyển tiếp để thêm vào các cấu hình ứng dụng Microsoft",
|
||||
"PopUpForm.Providers.redirectURL.front-end.label": "URL chuyển tiếp đến ứng dụng bên ngoài của bạn",
|
||||
"PopUpForm.Providers.secret.label": "Client Secret",
|
||||
"PopUpForm.Providers.secret.placeholder": "VĂN BẢN",
|
||||
"PopUpForm.Providers.twitter.providerConfig.redirectURL": "URL chuyển tiếp để thêm vào các cấu hình ứng dụng Twitter",
|
||||
"PopUpForm.button.cancel": "Hủy bỏ",
|
||||
"PopUpForm.button.save": "Lưu",
|
||||
"PopUpForm.header.add.providers": "Thêm Mới Nhà Cung Cấp",
|
||||
"PopUpForm.header.edit.email-templates": "Sửa Các Mẫu Email",
|
||||
"PopUpForm.header.edit.providers": "Sửa Nhà Cung Cấp",
|
||||
"PopUpForm.inputSelect.providers.label": "Chọn Nhà Cung Cấp",
|
||||
|
||||
"components.Input.error.password.length": "Mật khẩu quá ngắn",
|
||||
"notification.error.delete": "Một lỗi đã xảy ra trong khi cố gắng xoá một bản ghi",
|
||||
"notification.error.fetch": "Một lỗi đã xảy ra trong khi cố gắng lấy về dữ liệu",
|
||||
"notification.error.fetchUser": "Một lỗi đã xảy ra trong khi cố gắng lấy về người dùng",
|
||||
"notification.info.emailSent": "Email đã được gửi",
|
||||
"notification.success.delete": "Bản ghi đã được xoá",
|
||||
"notification.success.submit": "Các cấu hình đã được cập nhật",
|
||||
"plugin.description.long": "Bảo vệ API của bạn với quá trình chứng thực đầy đủ dựa trên JWT. Plugin này cũng kèm với chiến lược ACL cho phép bạn quản lý quyền giữa các nhóm người dùng.",
|
||||
"plugin.description.short": "Bảo vệ API của bạn với quá trình chứng thực đầy đủ dựa trên JWT"
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user