From c36563a2056ecc7941729be9e418a837817fb1fc Mon Sep 17 00:00:00 2001 From: Berkan Sasmaz Date: Mon, 18 Dec 2023 20:20:02 +0300 Subject: [PATCH] AUTO: Add missing localizations for vi --- .../Account/Localization/Resources/vi.json | 3 +- .../Admin/Localization/Resources/vi.json | 242 +++++- .../Base/Localization/Resources/vi.json | 191 ++++- .../Blog/Localization/Resources/vi.json | 8 + .../Commercial/Localization/Resources/vi.json | 725 +++++++++++++++++- .../Community/Localization/Resources/vi.json | 130 +++- .../Docs/Localization/Resources/vi.json | 9 + .../Support/Localization/Resources/vi.json | 6 + .../Www/Localization/Resources/vi.json | 166 +++- .../Abp/MultiTenancy/Localization/vi.json | 9 + .../Localization/Resources/AbpUi/vi.json | 10 +- .../Volo/Abp/Validation/Localization/vi.json | 2 + .../TestResources/Base/Validation/vi.json | 9 +- .../Localization/TestResources/Source/vi.json | 9 +- .../Account/Localization/Resources/vi.json | 3 + .../Abp/AuditLogging/Localization/vi.json | 83 ++ .../Blogging/Localization/Resources/vi.json | 29 +- .../CmsKit/Localization/Resources/vi.json | 70 +- .../Docs/ApplicationContracts/vi.json | 4 +- .../Volo/Docs/Localization/Domain/vi.json | 3 +- .../Localization/Domain/vi.json | 7 +- .../Volo/Abp/Identity/Localization/vi.json | 11 +- .../Localization/Resources/vi.json | 1 + .../Localization/OpenIddict/vi.json | 15 + .../Localization/Domain/vi.json | 5 +- .../Resources/AbpSettingManagement/vi.json | 16 +- .../Localization/Resources/vi.json | 1 + 27 files changed, 1711 insertions(+), 56 deletions(-) create mode 100644 abp_io/AbpIoLocalization/AbpIoLocalization/Blog/Localization/Resources/vi.json create mode 100644 abp_io/AbpIoLocalization/AbpIoLocalization/Docs/Localization/Resources/vi.json create mode 100644 abp_io/AbpIoLocalization/AbpIoLocalization/Support/Localization/Resources/vi.json create mode 100644 framework/src/Volo.Abp.MultiTenancy.Abstractions/Volo/Abp/MultiTenancy/Localization/vi.json create mode 100644 modules/audit-logging/src/Volo.Abp.AuditLogging.Domain.Shared/Volo/Abp/AuditLogging/Localization/vi.json create mode 100644 modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo/Abp/OpenIddict/Localization/OpenIddict/vi.json diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/vi.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/vi.json index a8bcbee2eb..ccf5fa40bc 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/vi.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/vi.json @@ -11,6 +11,7 @@ "CommercialSupportWebSite": "Trang web hỗ trợ thương mại", "CommunityWebSite": "Trang web cộng đồng ABP", "ManageAccount": "Tài khoản của tôi | ABP.IO", - "ManageYourAccount": "Quản lý tài khoản của bạn" + "ManageYourProfile": "Quản lý hồ sơ của bạn", + "ReturnToApplication": "Quay lại ứng dụng" } } \ No newline at end of file diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/vi.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/vi.json index bcaa3cea5d..1d00ba855e 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/vi.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/vi.json @@ -220,6 +220,7 @@ "SuccessfullyReIndexAllPosts": "Tất cả các bài viết đã được lập chỉ mục lại thành công.", "Permission:FullSearch": "Tìm kiếm toàn văn", "Menu:CliAnalytics": "Cli Analytics", + "Menu:Reports": "Báo cáo", "TemplateName": "Tên mẫu", "TemplateVersion": "Phiên bản mẫu", "DatabaseProvider": "Nhà cung cấp cơ sở dữ liệu", @@ -231,8 +232,10 @@ "UiFramework": "Khung Ui", "Options": "Tùy chọn", "CliAnalytics": "Cli Analytics", + "Reports": "Báo cáo", "Permission:CliAnalyticses": "Cli Analyticses", "Permission:CliAnalytics": "Cli Analytics", + "Permission:Reports": "Báo cáo", "Search": "Tìm kiếm", "ClearFilter": "LÀm sạch bộ lọc", "LicensePrivateKey": "Cấp phép khóa cá nhân", @@ -316,14 +319,12 @@ "TrialLicenseStatusFilter": "Trạng thái", "TrialLicenseStartDateFilter": "Ngày bắt đầu", "TrialLicenseEndDateFilter": "Ngày cuối", - "FirsName": "Tên đầu tiên", + "FirstName": "Tên đầu tiên", "LastName": "Họ", "StartDate": "Ngày bắt đầu", "EndDate": "Ngày cuối", "PurchasedDate": "Ngày mua", "OrganizationDetail": "Chi tiết tổ chức", - "SendActivationMail": "Gửi thư kích hoạt", - "ActivationMailSentSuccessfully": "Đã gửi thư kích hoạt thành công!", "TrialLicenseStatus": "Trạng thái giấy phép dùng thử", "TrialLicenseDetail": "Chi tiết Giấy phép Thử nghiệm", "AcceptsMarketingCommunications": "Truyền thông Tiếp thị", @@ -337,17 +338,228 @@ "Expired": "Hết hạn", "TrialLicenseDeletionWarningMessage": "Bạn có chắc chắn muốn xóa giấy phép dùng thử không? Giấy phép dùng thử, tổ chức, tài khoản hỗ trợ sẽ bị xóa!", "LicenseCategoryFilter": "Loại giấy phép", - "Volo.AbpIo.Commercial:030000": "Bạn đã sử dụng thời gian dùng thử của mình.", - "Volo.AbpIo.Commercial:030001": "Tên tổ chức này đã tồn tại.", - "Volo.AbpIo.Commercial:030002": "Sau khi được kích hoạt, không thể đặt giấy phép dùng thử thành yêu cầu!", - "Volo.AbpIo.Commercial:030003": "Không có tình trạng như vậy!", - "Volo.AbpIo.Commercial:030004": "Không thể thay đổi trạng thái do lỗi không mong muốn!", - "Volo.AbpIo.Commercial:030005": "Ngày bắt đầu và ngày kết thúc có thể được cập nhật khi giấy phép dùng thử ở trạng thái -activate-!", - "Volo.AbpIo.Commercial:030006": "Ngày kết thúc phải luôn lớn hơn ngày bắt đầu!", - "Volo.AbpIo.Commercial:030007": "Giấy phép dùng thử này đã được kích hoạt một lần!", - "Volo.AbpIo.Commercial:030008": "Ngày mua chỉ có thể được đặt khi trạng thái là Đã mua!", - "Volo.AbpIo.Commercial:030009": "Không tìm thấy người dùng!", - "Volo.AbpIo.Commercial:030010": "Để mua giấy phép dùng thử, trước tiên bạn cần kích hoạt giấy phép dùng thử của mình!", - "Volo.AbpIo.Commercial:030011": "Bạn không thể xóa giấy phép dùng thử khi nó đã được mua!" + "Permission:SendWelcomeEmail": "Gửi email chào mừng", + "SendWelcomeEmail": "Gửi email chào mừng", + "SendWelcomeEmailWarningMessage": "Bạn có chắc chắn muốn gửi email chào mừng tới các thành viên của tổ chức không?", + "SendWelcomeEmailSuccessMessage": "Email chào mừng đã được gửi thành công!", + "Activate": "Kích hoạt", + "ActivateTrialLicenseWarningMessage": "Khi bạn kích hoạt giấy phép dùng thử, một email chào mừng sẽ được gửi đến người dùng. Bạn có muốn kích hoạt nó không?", + "ActivateTrialLicenseSuccessMessage": "Kích hoạt thành công và email chào mừng được gửi đến các thành viên tổ chức.", + "PaymentRequestId": "Id yêu cầu thanh toán", + "AdditionalDeveloperCount": "Số lượng nhà phát triển bổ sung", + "LicensePrice": "Giá giấy phép", + "PurchaseDate": "Ngày mua", + "IsAbpBookDownloaded": "Đã tải xuống Sách ABP thành thạo?", + "IsMasteringAbpBookDownloadEnabled": "Đã bật tải xuống sách ABP", + "Permission:Accounting:CustomPaymentLinkGenerator": "Liên kết thanh toán tùy chỉnh", + "CustomPaymentLink": "Liên kết thanh toán tùy chỉnh", + "Menu:CustomPaymentLink": "Liên kết thanh toán tùy chỉnh", + "Amount": "Số lượng", + "GenerateCustomPaymentLink": "Tạo liên kết thanh toán tùy chỉnh", + "GeneratedPaymentLink": "Liên kết thanh toán được tạo", + "CopyText": "Sao chép văn bản", + "Permission:CommunityEvents": "Sự kiện", + "Menu:Events": "Sự kiện", + "Events": "Sự kiện", + "EventType": "Loại sự kiện", + "Number": "Con số", + "RegistrationURL": "URL đăng ký", + "URL": "URL", + "EventDeletionConfirmationMessage": "Bạn có chắc chắn muốn xóa sự kiện này?", + "Enum:EventType:0": "Tọa đàm cộng đồng", + "CreateAnEvent": "Tạo sự kiện", + "Permission:CommunitySpeakers": "Diễn giả", + "CreateASpeaker": "Tạo một loa", + "Speakers": "Diễn giả", + "Image": "Hình ảnh", + "GithubURL": "URL Github", + "SpeakerDeletionConfirmationMessage": "Bạn có chắc chắn muốn xóa loa này không?", + "Menu:Speakers": "Diễn giả", + "ChooseSpeakerImage": "Chọn hình ảnh loa...", + "SpeakerImage": "Hình ảnh loa", + "AddSpeaker": "Thêm loa", + "ShowPurchaseItemsOfOrganizations": "Mua đồ", + "Enum:OrganizationPurchaseState:0": "Chưa giao", + "Enum:OrganizationPurchaseState:1": "Đã giao hàng", + "PurchaseItems": "Mua đồ", + "SuccessfullyUpdated": "Cập nhật thành công", + "SuccessfullyAdded": "Thêm thành công", + "PurchaseState": "Trạng thái mua hàng", + "ShowBetweenDayCount": "Hiển thị giữa các ngày", + "PurchaseOrder": "Đơn đặt hàng", + "ShowCreateInvoiceOfOrganization": "Tạo hóa đơn", + "ShowCreateQuotationOfOrganization": "Tạo báo giá", + "BookDiscounts": "Giảm giá sách", + "Permission:BookDiscount": "Giảm giá sách", + "Menu:BookDiscounts": "Giảm giá sách", + "BookType": "Loại sách", + "PurchasePlatform": "Nền tảng mua hàng", + "StartTime": "Thời gian bắt đầu", + "EndTime": "Thời gian kết thúc", + "CreateABookDiscount": "Tạo giảm giá sách", + "BookDiscountDeletionConfirmationMessage": "Bạn có chắc chắn muốn xóa giảm giá cuốn sách này?", + "CustomPaymentFlexSwitchDescription": "Có giấy phép", + "AllowFeatureUpgradeOnLicenseExpire": "Cho phép nâng cấp tính năng khi giấy phép hết hạn", + "Deleted{0}": "[Đã xóa {0}]", + "Tags": "Thẻ", + "SetTagsInfo": "Các thẻ phải được phân tách bằng dấu phẩy. Ví dụ: CSharp, Entity Framework", + "RejectTrialLicenseWarningMessage": "Bạn có chắc chắn muốn từ chối yêu cầu cấp phép dùng thử này không?", + "ExportToExcel": "Xuất sang Excel", + "OverallTotalPrice": "Tổng giá", + "OverallDiscountPrice": "Giá chiết khấu chung", + "OverallDiscountText": "Văn bản giảm giá tổng thể", + "SelectReport": "- Chọn Báo cáo -", + "NoDataAvailable": "Không có dữ liệu", + "StatisticsOfCachedContents": "Thống kê nội dung gói NuGet được lưu trong bộ nhớ cache cho nuget.abp.io", + "Compact": "gọn nhẹ", + "EditSettings": "Chỉnh sửa cài đặt", + "CurrentEstimatedSize": "Kích thước ước tính hiện tại", + "CurrentEntryCount": "Số lượng mục nhập hiện tại", + "TotalHits": "Tổng số lượt truy cập", + "TotalMisses": "Tổng số lần trượt", + "NoResponseFrom": "Không có phản hồi từ", + "ContentCacheSlidingExpirationByDay": "Hết hạn trượt bộ đệm nội dung theo ngày", + "MaxDaysForCaching": "Số ngày tối đa để lưu vào bộ nhớ đệm", + "Enabled": "Đã bật", + "Menu:NugetPackagesContentCache": "Bộ nhớ đệm NuGet", + "NugetPackagesContentCache": "Bộ đệm nội dung NuGet", + "SlidingExpritionByDayInfo": "Nhận hoặc đặt khoảng thời gian một mục bộ đệm có thể không hoạt động (ví dụ: không được truy cập) trước khi nó bị xóa. Điều này sẽ không kéo dài thời gian tồn tại của mục nhập vượt quá thời hạn tuyệt đối.", + "MaxDaysForCachingInfo": "Nhận hoặc đặt thời gian hết hạn tuyệt đối, liên quan đến thời điểm hiện tại.", + "CurrentEstimatedSizeInfo": "Cho biết tổng kích thước nội dung của tất cả các gói NuGet hiện có trong bộ nhớ đệm ước tính", + "CurrentEntryCountInfo": "Cho biết số lượng phiên bản hiện có trong bộ nhớ đệm.", + "TotalHitsInfo": "Cho biết tổng số bộ nhớ đệm bị lỗi. Lần truy cập bộ đệm xảy ra khi một tệp được yêu cầu từ bộ đệm và bộ đệm có thể đáp ứng yêu cầu đó.", + "TotalMissesInfo": "Cho biết tổng số lần truy cập bộ đệm. Lỗi bộ đệm là khi bộ đệm không chứa nội dung được yêu cầu.", + "Permission:VersionHistory": "Lịch sử phiên bản", + "Caches": "Bộ nhớ đệm", + "VersionHistories": "Lịch sử phiên bản", + "Version": "Phiên bản", + "PublishDate": "Ngày xuất bản", + "IsStableVersion": "Phiên bản ổn định", + "IsActive": "Tích cực", + "NewVersion": "Phiên bản mới", + "VersionHistoryDeletionConfirmationMessage": "Bạn có chắc chắn muốn xóa phiên bản này?", + "CreateAbpConsultantLogoInfo": "Kích thước tệp tối đa: 1MB
Các loại tệp được hỗ trợ: jpg, jpeg, png, SVG, WebP", + "UrlCode": "Mã Url", + "Clear": "Thông thoáng", + "Permission:AbpConsultant": "Tư vấn ABP", + "Menu:AbpConsultants": "Tư vấn ABP", + "CreateAbpConsultant": "Tạo tư vấn ABP", + "UrlCodeIsNotAvailable": "Mã Url được sử dụng bởi Tư vấn viên ABP khác.", + "AbpConsultants": "Tư vấn ABP", + "AbpConsultant": "Tư vấn ABP", + "AbpConsultantEdit": "Chỉnh sửa Tư vấn ABP", + "AbpConsultantCreate": "Tạo tư vấn ABP", + "WhoWeAreItem": "Chúng tôi là ai", + "FieldIsRequired": "{0} là bắt buộc.", + "FieldIsNotValid": "{0} không hợp lệ.", + "InterestedLicenseType": "Loại giấy phép quan tâm", + "MoveWaitList": "Di chuyển đến danh sách chờ", + "CommunityLinkTitle": "Mở trên trang web cộng đồng", + "CommunityLink": "Liên kết cộng đồng", + "ReloadFromSource": "Tải lại từ nguồn", + "ReloadFromSourceConfirmationMessage": "Bài đăng này sẽ được làm mới từ "{0}". Bạn có muốn tiếp tục?", + "UnitPrice": "Đơn giá", + "OverallDiscountAmount": "Tổng số tiền chiết khấu", + "DiscountAmount": "Số tiền chiết khấu", + "FullChangeHistory": "Lịch sử thay đổi hoàn toàn", + "Permission:RefreshReleaseLogs": "Làm mới nhật ký phát hành", + "ReleaseLogs": "Nhật ký phát hành", + "AuthorUserName": "Tên người dùng tác giả", + "Type": "Kiểu", + "TotalDiscount": "Tổng khấu trừ", + "SubTotal": "Tổng phụ", + "TotalDue": "Tổng số tiền đến hạn", + "QuotationNo": "Báo giá số", + "ValidTill": "Có giá trị đến", + "QuotationNote": "Báo giá", + "QuotationTemplate.Address:": "Địa chỉ:", + "QuotationTemplate.VATNo:": "Số thuế GTGT:", + "QuotationTemplate.Phone:": "Điện thoại:", + "QuotationTemplate.E-mail:": "E-mail:", + "QuotationTemplate.Quotation": "Trích dẫn", + "QuotationTemplate.To": "ĐẾN", + "QuotationTemplate.Details": "Chi tiết", + "QuotationTemplate.QuotationNo:": "Trích dẫn #:", + "QuotationTemplate.IssueDate:": "Ngày phát hành:", + "QuotationTemplate.ValidTill:": "Hợp lệ cho đến:", + "QuotationTemplate.ValidDays": "{0} ngày", + "QuotationTemplate.Description": "Sự miêu tả", + "QuotationTemplate.UnitPrice": "Đơn giá", + "QuotationTemplate.Qty": "Số lượng", + "QuotationTemplate.Discount": "Giảm giá", + "QuotationTemplate.Total": "Tổng cộng", + "QuotationTemplate.Notes": "Ghi chú", + "QuotationTemplate.SubTotal:": "Tổng phụ :", + "QuotationTemplate.Tax/VAT:": "Thuế / Vat (%{0}):", + "QuotationTemplate.TotalDiscount:": "Tổng khấu trừ :", + "QuotationTemplate.TOTALDUE:": "TỔNG NỢ:", + "QuotationTemplate.BankAccount": "Bạn có thể tìm thấy thông tin tài khoản ngân hàng của chúng tôi tại {0}", + "Permission:Raffles": "Xổ số", + "Permission:Draw": "Vẽ tranh", + "Menu:Raffles": "Xổ số", + "RaffleIsNotDrawable": "Xổ số không rút được", + "WinnerCountMustBeGreaterThanZero": "Số người chiến thắng phải lớn hơn 0", + "FullDescription": "Mô tả đầy đủ", + "VisibilityStartDate": "Ngày bắt đầu hiển thị", + "VisibilityEndDate": "Ngày kết thúc hiển thị", + "RaffleDate": "Ngày xổ số", + "SubscriptionCode": "Mã đăng ký", + "GroupCode": "Mã nhóm", + "MaxWinnerCount": "Số người chiến thắng tối đa", + "ReDraw": "Vẽ lại", + "EditRaffle": "Chỉnh sửa xổ số", + "Raffles": "Xổ số", + "CreateARaffle": "Tạo một cuộc xổ số", + "Draw": "Vẽ tranh", + "Enum:RaffleStatus:0": "Tích cực", + "Enum:RaffleStatus:1": "Kế tiếp", + "Enum:RaffleStatus:2": "Quá khứ", + "DrawDone": "Vẽ xong", + "HomePageShowType": "Trang chủ Loại hiển thị", + "None": "Không có", + "Card": "Thẻ", + "Horizontal": "Nằm ngang", + "Winners": "Người chiến thắng", + "StartDateMustBeLessThanEndDate": "Ngày bắt đầu phải nhỏ hơn ngày kết thúc", + "VisibilityStartDateMustBeLessThanVisibilityEndDate": "Ngày bắt đầu hiển thị phải nhỏ hơn ngày kết thúc hiển thị", + "StartDateMustBeGreaterThanVisibilityStartDate": "Ngày bắt đầu phải lớn hơn ngày bắt đầu hiển thị", + "EndDateMustBeLessThanVisibilityEndDate": "Ngày kết thúc phải nhỏ hơn ngày kết thúc hiển thị", + "DrawnDone": "Đã vẽ xong", + "AddColor": "Thêm màu", + "Colors": "Màu sắc", + "RemoveColor": "Xóa màu", + "MaxColorCountWarning": "Bạn có thể thêm tối đa {0} màu", + "MinColorCountWarning": "Bạn phải thêm ít nhất {0} màu", + "RaffleDeletionConfirmationMessage": "Bạn có chắc chắn muốn xóa xổ số này không?", + "CreateRaffle": "Tạo xổ số", + "RemoveImage": "Xóa hình ảnh", + "SuccessfullySaved": "Lưu thành công", + "Menu:CommunityTalks": "Tọa đàm cộng đồng", + "Menu:Conferences": "Hội nghị", + "Menu:OtherLiveEvents": "Sự kiện trực tiếp khác", + "Menu:SponsoredConferences": "Hội nghị được tài trợ", + "Logo": "Logo", + "Slug": "sên", + "CompanyUrl": "Url công ty", + "TalkTitle": "Tiêu đề cuộc nói chuyện", + "AbstractTopic": "Chủ đề trừu tượng", + "Bio": "Tiểu sử", + "LinkedIn": "LinkedIn", + "Github": "Github", + "Twitch": "giật", + "Youtube": "Youtube", + "Twitter": "Twitter", + "PersonalWebsite": "Trang web cá nhân", + "VideoId": "Mã video", + "Order": "Đặt hàng", + "Image1x1": "Hình ảnh 1x1", + "Image16x9": "Hình ảnh 16x9", + "Banner": "Ngọn cờ", + "Speaker": "Loa", + "SessionDate": "Ngày phiên", + "AddSession": "Thêm phiên", + "AddSponsor": "Thêm nhà tài trợ", + "SponsorLogo": "Logo nhà tài trợ", + "RegistrationUrl": "Url đăng ký" } } \ No newline at end of file diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/vi.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/vi.json index 0def5d45a4..d821a56fa5 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/vi.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/vi.json @@ -14,6 +14,23 @@ "Volo.AbpIo.Domain:020002": "Không thể xóa Gói NPM này vì Mô-đun \"{Modules}\" đang sử dụng gói này.", "Volo.AbpIo.Domain:020003": "Không thể xóa Gói NPM này vì Mô-đun \"{Modules}\" đang sử dụng gói này và \"{NugetPackages}\" Các Gói Nuget phụ thuộc vào gói này.", "Volo.AbpIo.Domain:020004": "Không thể xóa Gói Nuget này vì Mô-đun \"{Modules}\" đang sử dụng gói này.", + "Volo.AbpIo.Domain:030000": "Bạn đã hoàn thành thời gian dùng thử của mình.", + "Volo.AbpIo.Domain:030001": "Tên tổ chức này đã tồn tại.", + "Volo.AbpIo.Domain:030002": "Sau khi kích hoạt, bạn không thể chuyển giấy phép dùng thử sang trạng thái -requested-!", + "Volo.AbpIo.Domain:030003": "Không có trạng thái như vậy!", + "Volo.AbpIo.Domain:030004": "Không thể thay đổi trạng thái do xảy ra lỗi không mong muốn!", + "Volo.AbpIo.Domain:030005": "Ngày bắt đầu và ngày kết thúc có thể được cập nhật khi giấy phép dùng thử ở trạng thái -kích hoạt-!", + "Volo.AbpIo.Domain:030006": "Ngày kết thúc phải lớn hơn ngày bắt đầu!", + "Volo.AbpIo.Domain:030007": "Giấy phép dùng thử này đã được kích hoạt!", + "Volo.AbpIo.Domain:030008": "Ngày mua chỉ có thể được đặt khi trạng thái là -đã mua-!", + "Volo.AbpIo.Domain:030009": "Không tìm thấy người dùng!", + "Volo.AbpIo.Domain:030010": "Để mua giấy phép dùng thử, trước tiên bạn cần kích hoạt giấy phép dùng thử của mình!", + "Volo.AbpIo.Domain:030011": "Bạn không thể xóa giấy phép dùng thử khi nó được mua!", + "Volo.AbpIo.Domain:030012": "Người dùng chỉ được quyền có 1 thời gian dùng thử miễn phí. Bạn đã sử dụng giấy phép dùng thử của mình.", + "Volo.AbpIo.Domain:030013": "Người dùng có giấy phép đang hoạt động không thể bắt đầu giấy phép dùng thử.", + "Volo.AbpIo.Domain:040000": "Đo từ xa đã tồn tại!.", + "Volo.AbpIo.Domain:070000": "Tên tổ chức chỉ có thể chứa các chữ cái Latinh, số, dấu chấm và dấu gạch nối!", + "Volo.AbpIo.Domain:070001": "Tên công ty chỉ có thể chứa các chữ cái Latinh, số, dấu chấm, dấu cách và dấu gạch nối!", "WantToLearn?": "Muốn học?", "ReadyToGetStarted?": "Sẵn sàng để bắt đầu?", "JoinOurCommunity": "Tham gia cộng đồng của chúng tôi", @@ -39,6 +56,178 @@ "TrialLicensePeriodHasExpired": "Thời hạn giấy phép dùng thử của bạn đã hết hạn {0} ngày trước.", "TrialLicensePeriodWillExpire": "Thời gian cấp phép dùng thử của bạn sẽ hết hạn sau {0} ngày.", "TrialLicensePeriodExpireToday": "Thời gian cấp phép dùng thử của bạn sẽ hết hạn vào ngày hôm nay.", - "PurchaseNow": "Mua ngay!" + "PurchaseNow": "Mua ngay!", + "LatestReleaseLogs": "Nhật ký phát hành mới nhất", + "RoadMap": "Bản đồ đường đi", + "FAQ": "Câu hỏi thường gặp", + "SourceCode": "Mã nguồn", + "SeeAllPosts": "Xem tất cả bài viết", + "Contribute": "Đóng góp", + "LiveDemo": "Bản thử trực tiếp", + "GetLicense": "Nhận giấy phép", + "OpenSource": "Mã nguồn mở", + "WebApplication": "Ứng dụng web", + "MeetTheABP": "Gặp gỡ ABP", + "CompleteWebDevelopment": "Phát triển web hoàn chỉnh", + "Platform": "Nền tảng", + "ABPDescription": "Một framework mã nguồn mở để phát triển ứng dụng web cho ASP.NET Core. Nó cung cấp cơ sở hạ tầng hoàn chỉnh bằng cách tuân theo các phương pháp phát triển phần mềm tốt nhất.", + "StrongInfrastructure": "Cơ sở hạ tầng mạnh mẽ", + "CompleteArchitecture": "Kiến trúc hoàn chỉnh", + "DeveloperFocused": "Tập trung vào nhà phát triển", + "ShareYourExperiences": "Chia sẻ kinh nghiệm của bạn với ABP Framework", + "LatestPosts": "Bài viết mới nhất", + "LatestVideos": "Những video mới nhất", + "Views": "Lượt xem", + "LearnLatestNewsAboutABPFramework": "Nhận thông tin về các diễn biến trong ABP như bản phát hành mới, nguồn miễn phí, bài đăng, v.v.", + "DeveloperTools": "Những công cụ phát triển", + "StartupTemplates": "Mẫu khởi động", + "ApplicationModules": "Mô-đun ứng dụng", + "UI": "giao diện người dùng", + "Themes": "Chủ đề", + "Premium": "Phần thưởng", + "PrivacyPolicy": "Chính sách bảo mật", + "TermsAndConditions": "Điều khoản và điều kiện", + "WouldLikeToReceiveMarketingMaterials": "Tôi muốn nhận tài liệu tiếp thị như ưu đãi sản phẩm và ưu đãi đặc biệt.", + "JoinOurMarketingNewsletter": "Tham gia bản tin tiếp thị của chúng tôi", + "CommunityPrivacyPolicyConfirmation": "Tôi đồng ý với Điều khoản & Điều kiện và Chính sách quyền riêng tư .", + "WouldLikeToReceiveNotification": "Tôi muốn nhận tin tức mới nhất từ các trang web abp.io.", + "CommercialNewsletterConfirmationMessage": "Tôi đồng ý với Điều khoản & Điều kiệnChính sách quyền riêng tư .", + "FreeDDDEBook": "Sách điện tử DDD miễn phí", + "AdditionalServices": "Dịch vụ bổ sung", + "Learn": "Học hỏi", + "AccountOverview": "tổng quan vê tai khoản", + "MyOrganizations": "Tổ chức của tôi", + "MySupportQuestions": "Câu hỏi hỗ trợ của tôi", + "MyProfile": "Thông tin của tôi", + "Logout": "Đăng xuất", + "Home": "Trang chủ", + "Posts": "bài viết", + "Videos": "Video", + "JoinTheABPCommunity": "Tham gia cộng đồng ABP", + "SubmitYourPost": "Gửi bài viết của bạn", + "Modules": "Mô-đun", + "Tools": "Công cụ", + "Pricing": "Định giá", + "ChangeLogs": "Nhật ký thay đổi", + "SubscribeToNewsletter": "Đăng ký nhận bản tin", + "SubscribeToNewsletterDescription": "Nhận thông tin về các diễn biến trong ABP như bản phát hành mới, nguồn miễn phí, bài đăng, v.v.", + "EmailAddress": "Địa chỉ email", + "Subscribe": "Đặt mua", + "WelcomeToABP": "Chào mừng đến với ABP", + "EULA": "EULA", + "ABPCommercialIntroductionMessage": "Các mô-đun ứng dụng dựng sẵn, mẫu khởi động nâng cao, công cụ phát triển ứng dụng nhanh chóng, chủ đề giao diện người dùng chuyên nghiệp và hỗ trợ cao cấp.", + "MasteringAbpFrameworkEBook": "Nắm vững khung ABP", + "MasteringTheABPFrameworkExplanation": "Được viết bởi người tạo ra ABP Framework, cuốn sách này sẽ giúp bạn có được sự hiểu biết đầy đủ về framework và các kỹ thuật phát triển ứng dụng web hiện đại.", + "Speakers": "Diễn giả", + "PreviousEvents": "Sự kiện trước đó", + "WatchTheEvent": "Xem sự kiện", + "RegisterNow": "Đăng ký ngay", + "ThereIsNoEvent": "Không có sự kiện nào", + "Events": "Sự kiện", + "Volo.AbpIo.Domain:080000": "Đã có một mặt hàng mua có tên "{Name}"", + "MasteringAbpFrameworkBook": "Sách: Làm chủ khung ABP", + "ABPIO-CommonPreferenceDefinition": "Nhận tin tức mới nhất về Nền tảng ABP như bài đăng, sự kiện mới và hơn thế nữa.", + "BuiltOn": "Tích hợp sẵn", + "AbpFramework": "Khung ABP", + "Volo.AbpIo.Domain:080001": "Thời gian bắt đầu không được lớn hơn Thời gian kết thúc", + "Enum:BookType:0": "Nắm vững khung ABP", + "Enum:PurchasePlatform:0": "Amazon", + "Enum:PurchasePlatform:1": "gói", + "Copied": "Đã sao chép!", + "CouldNotCopy": "Không thể sao chép!", + "CopyNotSupportByYourBrowser": "Tính năng này không hoạt động trên trình duyệt bạn đang sử dụng.", + "City": "Thành phố", + "ZipCode": "Mã Bưu Chính", + "Address": "Địa chỉ", + "Homepage": "Trang chủ", + "Year": "Năm", + "Year_Plural": "Năm", + "Copyright": "Bản quyền © {1}", + "DomainDrivenDesign": "Thiết kế hướng tên miền", + "CrossCuttingConcerns": "Mối quan tâm xuyên suốt", + "AbpCommunity": "Cộng đồng ABP", + "Footer_GithubStarCount": "{0} Dấu sao trên GitHub", + "Footer_NugetDownloadCount": "{0} Tải xuống trên NuGet", + "AbpDescription": "ABP là một khung ứng dụng nguồn mở tập trung vào phát triển ứng dụng web dựa trên AspNet Core. Đừng lặp lại chính mình, hãy tập trung vào mã doanh nghiệp của riêng bạn.", + "Layout_AbpFramework_MetaTitle": "Khung ABP | Khung ứng dụng web nguồn mở cho ASP.NET Core", + "CommunityTalks_CountdownDays": "ngày", + "CommunityTalks_CountdownHours": "giờ", + "CommunityTalks_CountdownMinutes": "tối thiểu", + "CommunityTalks_CountdownSeconds": "Giây", + "SeePreviousEvents": "Xem sự kiện trước đó", + "CookieConsent_Accept": "Chấp nhận", + "CookieConsent_Explanation_1": "Chúng tôi sử dụng cookie để mang đến cho bạn trải nghiệm tốt nhất trên trang web của chúng tôi.", + "CookieConsent_Explanation_2": "Nếu bạn tiếp tục duyệt, nghĩa là bạn đồng ý với Chính sách quyền riêng tư và chính sách cookie của chúng tôi. .", + "Error_Page_400_Title": "Đã xảy ra sự cố khi phục vụ trang được yêu cầu.", + "Error_Page_400_Description_1": "Thông thường, điều này có nghĩa là đã xảy ra lỗi không mong muốn khi xử lý yêu cầu của bạn.", + "Error_Page_400_Description_2": "Nếu sự cố vẫn tiếp diễn, hãy liên hệ với chúng tôi theo địa chỉ info@abp.io và chúng tôi sẽ giúp bạn thực hiện.", + "GoToHomepage": "Đi đến trang chủ", + "Error_Page_404_Title": "Không tìm thấy trang!", + "Error_Page_404_Description_1": "Đây không phải là trang web bạn đang tìm kiếm.", + "Error_Page_500_Title": "Có vẻ như đã xảy ra sự cố!", + "Error_Page_500_Description_1": "Chúng tôi tự động theo dõi những lỗi này nhưng nếu sự cố vẫn tiếp diễn, vui lòng
liên hệ chúng tôi. Trong lúc chờ đợi, hãy thử làm mới.", + "Error_Page_500_Description_2": "Liên hệ với chúng tôi tại info@abp.io .", + "Books": "Sách", + "ABPDiscordServer": "Máy chủ bất hòa ABP", + "ABPCommunityTalks": "Tọa đàm cộng đồng ABP", + "ABPCommunityPosts": "Bài đăng trên cộng đồng ABP", + "BuyAndGetMonths": "MUA 12 THÁNG, NHẬN 14 THÁNG!", + "GetYourDeal": "Nhận ưu đãi của bạn", + "BuyOrRenewLicense": "Mua hoặc gia hạn giấy phép ngay bây giờ và nhận thêm 2 tháng!", + "BuyOrRenewLicenseToGetExtra2Months": "Mua hoặc gia hạn giấy phép ngay bây giờ và nhận thêm 2 tháng! NHANH LÊN! ⏰ Ngày cuối cùng: {0}", + "HurryUp": "NHANH LÊN!", + "LastDay": "Ngày cuối cùng: {0}", + "BuyNewLicenseBetweenDatesToGetBenefit": "Mua giấy phép mới trong khoảng thời gian từ {0} đến {1} để nhận được lợi ích thêm 2 tháng!", + "CheckAllCommunityTalks": "Kiểm tra tất cả bài đăng trên cộng đồng", + "ReadMore": "Đọc thêm", + "ContinueReading": "Tiếp tục đọc", + "Post": "Bưu kiện", + "ExploreTheContentsCreatedByTheCoreABPTeamAndTheABPCommunity": "Khám phá nội dung được tạo bởi nhóm ABP cốt lõi và cộng đồng ABP.", + "WelcomeFallCampaign": "Chào mừng chiến dịch mùa thu!", + "GiveAwayForNewPurchases": "Chương trình đào tạo trong lớp phát triển ứng dụng sẽ được tặng cho những lần mua hàng mới!", + "BlackFriday": "THỨ SÁU ĐEN", + "ValidForExistingCustomers": "Cũng có giá trị đối với
khách hàng hiện tại!", + "SaveUpTo": "TIẾT KIỆM LÊN ĐẾN ${0}K", + "ImplementingDDD": "Triển khai thiết kế hướng tên miền", + "ExploreTheEBook": "Khám phá sách điện tử", + "ExploreTheBook": "Khám phá cuốn sách", + "ConsultantType": "Loại hình tư vấn", + "Expert": "Chuyên gia ABP", + "Partner": "Đối tác ABP", + "Industry": "Ngành công nghiệp", + "Location": "Vị trí", + "Contact": "Liên hệ", + "Partner_Year": "Năm hợp tác", + "Info": "Thông tin", + "SpokenLanguages": "Ngôn ngữ nói", + "SocialMedia": "Truyền thông xã hội", + "Activity": "Hoạt động", + "Type": "Kiểu", + "Contribution": "Sự đóng góp", + "WhoWeAre": "Chúng ta là ai", + "Icons": "Biểu tượng", + "Url": "Url", + "Icon": "Biểu tượng", + "RecentActivities": "Hoạt động gần đây", + "SpringCampaign": "Chào mừng
Giảm giá mùa xuân!", + "SpringCampaign2": "Giới hạn
Ưu đãi thời gian!
", + "AboutUs": "Về chúng tôi", + "HowItWorks": "Làm thế nào nó hoạt động?", + "ReleaseNotes": "Ghi chú phát hành", + "DetailedChangeNotes": "Ghi chú thay đổi chi tiết", + "SeeTrainings": "Xem đào tạo", + "NoContent": "Không có nội dung", + "More": "Hơn", + "WhyABPIOPlatform": "Tại sao nên sử dụng nền tảng ABP.IO?", + "AbpStudio": "Studio ABP", + "ExtraMonths": "{0} THÊM THÁNG", + "RSS": "RSS", + "RSSFeed": "Nguồn cấp dữ liệu RSS", + "Articles": "Bài viết", + "Organizations": "Tổ chức", + "ManageAccount": "Quản lý tài khoản", + "CommunityProfile": "Hồ sơ cộng đồng", + "BlogProfile": "Hồ sơ blog", + "Tickets": "Vé" } } \ No newline at end of file diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Blog/Localization/Resources/vi.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Blog/Localization/Resources/vi.json new file mode 100644 index 0000000000..1c400cdd74 --- /dev/null +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Blog/Localization/Resources/vi.json @@ -0,0 +1,8 @@ +{ + "culture": "vi", + "texts": { + "AbpTitle": "Đọc tất cả bài viết trên blog", + "AbpDescription": "ABP là một khung ứng dụng nguồn mở tập trung vào phát triển ứng dụng web dựa trên AspNet Core. Đừng lặp lại chính mình, hãy tập trung vào mã doanh nghiệp của riêng bạn.", + "AbpDefinition": "Blog ABP để phát triển .NET, đa nền tảng, mẫu ứng dụng ASP.NET, tin tức liên quan đến ABP và hơn thế nữa..." + } +} \ No newline at end of file diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/vi.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/vi.json index 05658075db..d5f9faf40c 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/vi.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/vi.json @@ -9,15 +9,18 @@ "QuestionCount": "Còn lại/tổng số câu hỏi", "Unlimited": "Vô hạn", "Owners": "Những chủ sở hữu", + "Owner": "Người sở hữu", "AddMember": "Thêm thành viên", - "AddOwner": "Thêm chủ sở hữu", - "AddDeveloper": "Thêm nhà phát triển", + "AddNewOwner": "Thêm chủ sở hữu mới", + "AddNewDeveloper": "Thêm nhà phát triển mới", "UserName": "tên tài khoản", "Name": "Tên", "EmailAddress": "Địa chỉ email", "Developers": "Nhà phát triển", "LicenseType": "Loại giấy phép", "Manage": "Quản lý", + "SetDefault": "Đặt làm mặc định", + "DefaultOrganization": "Mặc định", "StartDate": "Ngày bắt đầu", "EndDate": "Ngày cuối", "Modules": "Mô-đun", @@ -62,8 +65,6 @@ "Themes": "Chủ đề", "JoinOurNewsletter": "Tham gia bản tin của chúng tôi", "Send": "Gửi", - "Learn": "Học", - "AdditionalServices": "Dịch vụ bổ sung", "WhatIsABPFramework": "KHUNG ABP LÀ GÌ?", "OpenSourceBaseFramework": "Khung cơ sở nguồn mở", "ABPFrameworkExplanation": "

ABP Commercial dựa trên ABP Framework, một khuôn khổ ứng dụng web nguồn mở và do cộng đồng điều khiển cho ASP.NET Core.

ABP Framework cung cấp một cơ sở hạ tầng tuyệt vời để viết và mã có thể kiểm tra với các phương pháp hay nhất.

Được xây dựng và tích hợp với các công cụ phổ biến mà bạn đã biết. Đường cong học tập thấp, dễ dàng thích nghi, phát triển thoải mái.

", @@ -129,6 +130,8 @@ "TellUsWhatYouNeed": "Hãy cho chúng tôi những gì bạn cần.", "YourMessage": "Tin nhắn của bạn", "YourFullName": "Tên đầy đủ của bạn", + "FirstNameField": "Tên đầu tiên", + "LastNameField": "Họ", "EmailField": "Địa chỉ email", "YourEmailAddress": "Địa chỉ email của bạn", "ValidEmailAddressIsRequired": "Địa chỉ email hợp lệ là bắt buộc", @@ -161,6 +164,8 @@ "SearchQuestionPlaceholder": "Tìm kiếm trong các câu hỏi thường gặp", "WhatIsTheABPCommercial": "ABP thương mại là gì?", "WhatAreDifferencesThanAbpFramework": "Sự khác biệt giữa Khung ABP nguồn mở và ABP Thương mại là gì?", + "AbpCommercialMetaTitle": "{0} | Thương mại ABP", + "AbpCommercialMetaDescription": "Nền tảng phát triển web toàn diện trên ABP Framework với các mô-đun dựng sẵn, mẫu khởi động, công cụ phát triển nhanh, chủ đề giao diện người dùng chuyên nghiệp và hỗ trợ cao cấp.", "ABPCommercialExplanation": "ABP Commercial là một tập hợp các mô-đun, công cụ, chủ đề và dịch vụ cao cấp được xây dựng dựa trên khung ABP mã nguồn mở. ABP Commercial đang được phát triển và hỗ trợ bởi cùng một nhóm đứng sau khuôn khổ ABP.", "WhatAreDifferencesThanABPFrameworkExplanation": "

Khung ABP là một khung phát triển ứng dụng mô-đun, có thể chủ đề, tương thích với dịch vụ vi mô cho ASP.NET Core. Nó cung cấp một kiến trúc hoàn chỉnh và một cơ sở hạ tầng mạnh mẽ để khiến bạn tập trung vào mã kinh doanh của riêng mình hơn là lặp lại chính mình cho mọi dự án mới. Nó dựa trên các phương pháp hay nhất về phát triển phần mềm và các công cụ phổ biến mà bạn đã biết.

Khung ABP hoàn toàn miễn phí, mã nguồn mở và hướng tới cộng đồng. Nó cũng cung cấp một chủ đề miễn phí và một số mô-đun được tạo sẵn (ví dụ: quản lý danh tính và quản lý người thuê).

", "VisitTheFrameworkVSCommercialDocument": "Truy cập liên kết sau để biết thêm thông tin {1} ", @@ -182,6 +187,7 @@ "ChangingLicenseType": "Tôi có thể nâng cấp loại giấy phép của mình sau này không?", "ChangingLicenseTypeExplanation": "Bạn có thể nâng cấp lên giấy phép cao hơn bằng cách trả khoản chênh lệch trong thời hạn giấy phép đang hoạt động của mình. Khi bạn nâng cấp lên gói giấy phép cao hơn, bạn sẽ nhận được những lợi ích của gói mới, nhưng việc nâng cấp giấy phép không thay đổi ngày hết hạn của giấy phép. Bên cạnh đó, bạn cũng có thể thêm chỗ ngồi cho nhà phát triển mới vào giấy phép hiện có của mình, hãy xem \"Có bao nhiêu nhà phát triển có thể làm việc trên ABP Commercial?\"", "LicenseExtendUpgradeDiff": "Sự khác biệt giữa gia hạn giấy phép và nâng cấp là gì?", + "LicenseExtendUpgradeDiffExplanation": "Gia hạn: Bằng cách gia hạn/gia hạn giấy phép của mình, bạn sẽ tiếp tục nhận được hỗ trợ cao cấp và nhận được các bản cập nhật lớn hoặc nhỏ cho các mô-đun và chủ đề. Ngoài ra, bạn sẽ có thể tiếp tục tạo các dự án mới. Và bạn vẫn có thể sử dụng ABP Suite, giúp tăng tốc độ phát triển của bạn. Khi bạn gia hạn giấy phép, 1 năm sẽ được cộng vào ngày hết hạn giấy phép của bạn.
Nâng cấp: Bằng cách nâng cấp giấy phép của bạn, bạn sẽ được thăng cấp lên gói giấy phép cao hơn, điều này sẽ cho phép bạn nhận được các lợi ích bổ sung. Kiểm tra bảng so sánh giấy phép để thấy sự khác biệt giữa các gói giấy phép. Mặt khác, khi bạn nâng cấp, ngày hết hạn giấy phép của bạn sẽ không thay đổi! Để gia hạn ngày hết hạn giấy phép, bạn cần gia hạn giấy phép của mình.", "LicenseRenewalCost": "Chi phí gia hạn giấy phép sau 1 năm là bao nhiêu?", "LicenseRenewalCostExplanation": "Giá gia hạn (gia hạn) của Giấy phép nhóm tiêu chuẩn là $ {0}, Giấy phép kinh doanh tiêu chuẩn là $ {1} và Giấy phép doanh nghiệp tiêu chuẩn là $ {2}. Nếu bạn đã là khách hàng, hãy đăng nhập vào tài khoản của bạn để xem lại giá gia hạn hiện có.", "HowDoIRenewMyLicense": "Làm cách nào để gia hạn giấy phép của tôi?", @@ -193,9 +199,20 @@ "IsSourceCodeIncludedExplanation4": "

Bao gồm mã nguồn của mô-đun vào giải pháp của bạn mang lại cho bạn quyền tự do tối đa để tùy chỉnh mô-đun đó. Tuy nhiên, sau đó sẽ không thể tự động nâng cấp mô-đun khi phiên bản mới được phát hành.

Không có giấy phép nào bao gồm mã nguồn ABP Suite, là một công cụ bên ngoài tạo mã cho bạn và hỗ trợ cho sự phát triển của bạn.

Xem trang giá cả để biết những khác biệt khác giữa các loại giấy phép.

", "ChangingDevelopers": "Tôi có thể thay đổi các nhà phát triển đã đăng ký của tổ chức của mình trong tương lai không?", "ChangingDevelopersExplanation": "Ngoài việc thêm các nhà phát triển mới vào giấy phép của mình, bạn cũng có thể thay đổi các nhà phát triển hiện có (bạn có thể xóa một nhà phát triển và thêm một nhà phát triển mới vào cùng một chỗ ngồi) mà không phải trả thêm bất kỳ chi phí nào.", + "WhatHappensWhenLicenseEnds": "Điều gì xảy ra khi thời hạn giấy phép của tôi kết thúc?", + "WhatHappensWhenLicenseEndsExplanation1": "Giấy phép thương mại ABP là giấy phép vĩnh viễn . Sau khi giấy phép hết hạn, bạn có thể tiếp tục phát triển dự án của mình. Và bạn không bắt buộc phải gia hạn giấy phép của mình. Giấy phép của bạn đi kèm với gói hỗ trợ và cập nhật một năm. Để tiếp tục nhận được các tính năng mới, cải tiến hiệu suất, sửa lỗi, hỗ trợ và tiếp tục sử dụng ABP Suite, bạn cần gia hạn giấy phép của mình. Khi giấy phép của bạn hết hạn;", + "WhatHappensWhenLicenseEndsExplanation2": "Bạn không thể tạo các giải pháp mới bằng ABP Commercial nhưng bạn có thể tiếp tục phát triển các ứng dụng hiện có của mình mãi mãi.", + "WhatHappensWhenLicenseEndsExplanation3": "Bạn sẽ có thể nhận được bản cập nhật cho các mô-đun và chủ đề trong phiên bản NHỎ của mình (ngoại trừ phiên bản RC hoặc Bản xem trước). Ví dụ: nếu bạn đang sử dụng phiên bản v3.2.0 của một mô-đun, bạn vẫn có thể nhận được các bản cập nhật cho v3.2.x (v3.2.1, v3.2.5... v.v.) của mô-đun đó. Nhưng bạn không thể nhận được bản cập nhật cho phiên bản chính hoặc phụ tiếp theo (như v3.3.0, v3.3.3, 4.xx. v.v.). Ví dụ: khi giấy phép của bạn hết hạn, bản phát hành mới nhất là v4.4.3 và sau đó, nó đã xuất bản cả phiên bản 4.4.4 và phiên bản 4.5.0, bạn sẽ có thể truy cập v4.4.X nhưng bạn sẽ không thể truy cập được. truy cập v4.5.X.", + "WhatHappensWhenLicenseEndsExplanation4": "Bạn không thể cài đặt các mô-đun và chủ đề mới được thêm vào nền tảng Thương mại ABP sau khi giấy phép của bạn hết hạn.", + "WhatHappensWhenLicenseEndsExplanation5": "Bạn không thể sử dụng ABP Suite.", + "WhatHappensWhenLicenseEndsExplanation6": "Bạn không thể nhận được hỗ trợ cao cấp nữa.", + "WhatHappensWhenLicenseEndsExplanation7": "Bạn có thể gia hạn (gia hạn) giấy phép của mình nếu muốn tiếp tục nhận được những lợi ích này. Nếu bạn gia hạn giấy phép của mình trong vòng {3} ngày sau khi giấy phép hết hạn, các khoản giảm giá sau sẽ được áp dụng: Giấy phép nhóm {0}; Giấy phép kinh doanh {1}; Giấy phép Doanh nghiệp {2}.", + "discountForYears": "Giảm giá {0}% trong {1} năm", + "WhatHappensWhenLicenseEndsExplanation8": "Các dự án ABP bạn tạo không được lưu trữ trên máy chủ của chúng tôi. Vì vậy, bạn có trách nhiệm giữ lại mã nguồn mình tải xuống. Khi giấy phép của bạn hết hạn, bạn sẽ không có cách nào lấy được mã nguồn dự án ABP đã tạo.", "WhenShouldIRenewMyLicense": "Khi nào tôi nên gia hạn giấy phép của mình?", "WhenShouldIRenewMyLicenseExplanation": "Nếu bạn gia hạn giấy phép của mình trong vòng {3} ngày sau khi giấy phép của bạn hết hạn, các chiết khấu sau sẽ được áp dụng: Giảm giá {0}% cho Giấy phép Nhóm, Giảm giá {1}% Giấy phép Kinh doanh, Giảm giá {2}% Giấy phép Doanh nghiệp . Nếu bạn gia hạn giấy phép {3} ngày sau ngày giấy phép hết hạn, giá gia hạn sẽ giống như giá mua giấy phép và sẽ không có chiết khấu khi gia hạn của bạn.", "TrialPlan": "Bạn có kế hoạch dùng thử không?", + "TrialPlanExplanation": "Có, để bắt đầu dùng thử miễn phí, hãy liên hệ với marketing@volosoft.com . Chúng tôi cũng cung cấp cam kết hoàn tiền trong 30 ngày cho giấy phép Nhóm mà không cần thắc mắc! Bạn có thể yêu cầu hoàn lại tiền đầy đủ trong vòng 30 ngày đầu tiên kể từ ngày mua giấy phép. Chúng tôi hoàn lại 60% trong vòng 30 ngày đối với giấy phép Kinh doanh và Doanh nghiệp. Điều này là do giấy phép Doanh nghiệp và Doanh nghiệp chứa mã nguồn đầy đủ của tất cả các mô-đun và chủ đề.", "DoYouAcceptBankWireTransfer": "Bạn có chấp nhận chuyển khoản ngân hàng không?", "DoYouAcceptBankWireTransferExplanation": "Có, chúng tôi chấp nhận chuyển khoản ngân hàng.
Sau khi gửi phí cấp phép qua chuyển khoản ngân hàng, hãy gửi email cho chúng tôi theo địa chỉ accounting@abp.io biên lai của bạn và loại giấy phép được yêu cầu. Thông tin tài khoản ngân hàng quốc tế của chúng tôi:", "HowToUpgrade": "Làm thế nào để nâng cấp các ứng dụng hiện có khi có phiên bản mới?", @@ -352,37 +369,721 @@ "WeWillSendYouADownloadLink": "Một liên kết để tải xuống sách điện tử đã được gửi tới {0}.
Hãy kiểm tra hộp thư đến/hộp thư rác/hộp thư rác của bạn!", "InvalidFormInputs": "Vui lòng nhập thông tin hợp lệ được chỉ định trên biểu mẫu.", "DDDBookEmailBody": "Cảm ơn bạn.
Để tải xuống sách của bạn, hãy nhấp vào đây .", - "FreeDDDEBook": "Sách điện tử DDD miễn phí", "StartFree": "Bắt đầu miễn phí", "FreeTrial": "Bản dùng thử miễn phí", "AcceptsMarketingCommunications": " Có, tôi muốn nhận thông báo tiếp thị thương mại của ABP.", "PurposeOfUsage": "Mục đích sử dụng", - "Industry": "Ngành công nghiệp", "Choose": "- Lựa chọn -", "CompanyOrganizationName": "Tên của Công ty/Tổ chức", "CompanySize": "Quy mô công ty", "Next": "Kế tiếp", "StartTrial": "Bắt đầu bản dùng thử miễn phí của tôi", - "ContactUsIssues": "Liên hệ với chúng tôi nếu bạn có bất kỳ vấn đề nào", + "ContactUsQuestions": "Liên hệ với chúng tôi nếu bạn có bất kỳ câu hỏi", "TrialActivatedWarning": "Người dùng chỉ có quyền có 1 thời gian dùng thử miễn phí. Bạn đã sử dụng thời gian dùng thử của mình.", + "ActivationRequirement": "Bạn chỉ còn một bước nữa là bắt đầu dùng thử.
Sau khi kiểm tra thông tin của bạn, chúng tôi sẽ kích hoạt giấy phép của bạn. Sau khi giấy phép của bạn được kích hoạt, chúng tôi sẽ gửi email đến {0} . Đừng lo lắng, quá trình này sẽ không mất nhiều thời gian!", "SaveAndDownload": "Lưu và tải xuống", "CompanyNameValidationMessage": "Tên công ty quá dài!", "AddressValidationMessage": "Địa chỉ quá dài!", "TaxNoValidationMessage": "THUẾ/VAT Không quá dài!", "NotesValidationMessage": "Trường ghi chú quá dài!", "CheckYourBillingInfo": "Bạn chỉ có thể tạo hóa đơn một lần! Kiểm tra thông tin thanh toán của bạn trước khi tạo hóa đơn.", - "Volo.AbpIo.Commercial:030000": "Bạn đã sử dụng thời gian dùng thử của mình.", - "Volo.AbpIo.Commercial:030001": "Tên tổ chức này đã tồn tại.", "StartYourFreeTrial": "Bắt đầu bản dùng thử miễn phí của bạn", "TrialLicenseModelInvalidErrorMessage": "Một trong các trường sau không hợp lệ: Tên quốc gia, Quy mô công ty, Ngành hoặc Mục đích sử dụng.", "Trial": "Sự thử nghiệm", "Purchased": "Đã mua", - "PurchaseLicense": "Mua {0} giấy phép", + "PurchaseNow": "Mua ngay", "PurchaseTrialLicenseMessage": "Ngày hết hạn giấy phép của bạn là {0}.
Nếu bạn muốn tiếp tục sử dụng các dự án bạn đã tạo trong thời gian dùng thử miễn phí, bạn cần thay đổi khóa cấp phép trong các tệp appsettings.secrets.json của mình. Đây là khóa cấp phép của bạn:", "TrialLicenseExpireMessage": "Bạn đang sử dụng giấy phép dùng thử và giấy phép dùng thử của bạn sẽ hết hạn vào {0}.", "TryForFree": "Thử miễn phí", "TrialLicenseExpiredInfo": "Thời gian cấp phép dùng thử của bạn đã hết hạn!", - "CommercialNewsletterConfirmationMessage": "Tôi đồng ý với Điều khoản & điều kiện Chính sách quyền riêng tư .", - "BlackFridayDiscount": "Giảm giá Black Friday" + "DowngradeLicensePlan": "Tôi có thể hạ cấp xuống gói giấy phép thấp hơn trong tương lai không?", + "DowngradeLicensePlanExplanation": "Bạn không thể hạ cấp gói giấy phép hiện tại của mình. Nhưng bạn có thể mua gói cấp phép mới thấp hơn và tiếp tục phát triển trên giấy phép mới. Sau khi mua giấy phép thấp hơn, bạn chỉ cần đăng nhập vào gói giấy phép mới của mình thông qua lệnh ABP CLI: ` abp login -o `.", + "LicenseTransfer": "Giấy phép có thể được chuyển từ nhà phát triển này sang nhà phát triển khác không?", + "LicenseTransferExplanation": "Đúng! Khi bạn mua giấy phép, bạn trở thành người giữ giấy phép, do đó bạn sẽ có quyền truy cập vào trang quản lý tổ chức. Một tổ chức có vai trò chủ sở hữu và nhà phát triển. Chủ sở hữu có thể quản lý chỗ của nhà phát triển và chỉ định nhà phát triển. Mỗi nhà phát triển được chỉ định sẽ đăng nhập thông qua lệnh ABP CLI vào hệ thống và sẽ có quyền phát triển và hỗ trợ.", + "UserOwnerDescription": "'Chủ sở hữu' của tổ chức là quản trị viên của tài khoản này. Anh ấy/cô ấy quản lý tổ chức bằng cách mua giấy phép và phân bổ các nhà phát triển. 'Chủ sở hữu' không thể viết mã trong các dự án Thương mại ABP, không thể tải xuống các dự án mẫu ABP và không thể đặt câu hỏi trên trang web hỗ trợ. Nếu muốn làm tất cả những điều này, bạn cũng phải thêm mình làm nhà phát triển.", + "UserDeveloperDescription": "'Nhà phát triển' có thể viết mã trong các dự án Thương mại ABP, tải xuống các dự án mẫu ABP và đặt câu hỏi trên trang web hỗ trợ. Mặt khác, 'Nhà phát triển' không thể quản lý tổ chức này.", + "RemoveCurrentUserFromOrganizationWarningMessage": "Bạn đang loại bỏ chính mình khỏi tổ chức của chính bạn. Bạn sẽ không thể quản lý tổ chức này nữa, bạn có xác nhận không?", + "RenewExistingOrganizationOrCreateNewOneMessage": "Bạn có thể gia hạn giấy phép cho (các) tổ chức của mình bằng cách nhấp vào (các) nút "Gia hạn ngay" bên dưới và do đó bạn có thể gia hạn ngày hết hạn giấy phép thêm 1 năm. Nếu bạn tiếp tục thanh toán, bạn sẽ có một tổ chức mới. Bạn có muốn tiếp tục với một tổ chức mới?", + "PurchaseTrialOrganizationOrCreateNewOneMessage": "Bạn có giấy phép dùng thử. Để mua giấy phép dùng thử, hãy nhấp vào nút Mua ngay. Nếu bạn tiếp tục thanh toán, bạn sẽ có một tổ chức mới. Bạn có muốn tiếp tục với một tổ chức mới?", + "ExtendNow": "Gia hạn ngay bây giờ", + "CreateNewOrganization": "Tạo một tổ chức mới", + "RenewLicenseEarly": "Nếu tôi gia hạn giấy phép sớm, tôi có được nhận cả năm không?", + "RenewLicenseEarylExplanation": "Khi bạn gia hạn giấy phép trước ngày hết hạn giấy phép, 1 năm sẽ được cộng vào ngày hết hạn giấy phép của bạn. Ví dụ: nếu giấy phép của bạn hết hạn vào ngày {0}-06-06 và bạn gia hạn giấy phép vào ngày {0}-01-01 thì ngày hết hạn giấy phép mới của bạn sẽ là {1}-06-06.", + "OpenSourceWebApplication": "Ứng dụng web nguồn mở", + "CompleteWebDevelopment": "Phát triển web hoàn chỉnh", + "ABPFrameworkDescription": "ABP Framework là cơ sở hạ tầng hoàn chỉnh để tạo các ứng dụng web hiện đại bằng cách tuân theo các quy ước và thực tiễn tốt nhất về phát triển phần mềm.", + "CommunityDescription": "Chia sẻ kinh nghiệm của bạn với ABP Framework!", + "GetStarted": "Bắt đầu", + "Views": "lượt xem", + "LatestPosts": "Bài viết mới nhất", + "PreBuiltApplication": "Ứng dụng dựng sẵn", + "DatabaseProviders": "Nhà cung cấp cơ sở dữ liệu", + "UIFrameworks": "Khung giao diện người dùng", + "UsefulLinks": "Liên kết hữu ích", + "Platform": "Nền tảng", + "CoolestCompaniesUseABPCommercial": "Những công ty tuyệt vời nhất đã sử dụng ABP Commercial.", + "UserInterface": "Giao diện người dùng", + "APIGateway": "Cổng API", + "Microservice": "Dịch vụ vi mô", + "Database": "Cơ sở dữ liệu", + "Architecture": "Ngành kiến trúc", + "MicroserviceArchitectureExplanation": "Đây là kiến trúc giải pháp hoàn chỉnh bao gồm nhiều ứng dụng, cổng API, vi dịch vụ và cơ sở dữ liệu để xây dựng giải pháp vi dịch vụ có thể mở rộng bằng các công nghệ mới nhất.", + "BusinessLogic": "Logic kinh doanh", + "DataAccessLayer": "Lớp truy cập dữ liệu", + "Monolith": "Đá nguyên khối", + "ModularArchitectureExplanation": "Mẫu khởi động này cung cấp kiến trúc giải pháp phân lớp, mô-đun và dựa trên DDD để xây dựng một cơ sở mã rõ ràng và có thể bảo trì.", + "SeeDetails": "Xem chi tiết", + "SeeDocumentation": "Kiểm tra tài liệu", + "Bs5Compatible": "Chủ đề chuyên nghiệp tương thích Bootstrap 5, hoàn hảo cho trang web quản trị của bạn.", + "LeptonXTheme": "Chủ đề LeptonX", + "LeptonXDark": "LeptonX tối", + "LeptonXLight": "Ánh sáng LeptonX", + "LeptonXSemiDark": "LeptonX Nửa tối", + "BuiltOnBs5Library": "Được xây dựng trên thư viện Bootstrap 5", + "FullyCompatibleWithBs5": "Tương thích 100% với cấu trúc HTML và các lớp CSS của Bootstrap 5", + "ResponsiveAndMobileCompatible": "Hỗ trợ RTL đáp ứng, tương thích với thiết bị di động", + "ProvidesStylesForDatatables": "Cung cấp các kiểu cho Datatables", + "MultipleLayoutOptions": "Nhiều tùy chọn bố cục", + "EasilyInstallAndUpgrade": "Dễ dàng cài đặt và nâng cấp", + "SupportForum": "Diễn đàn hỗ trợ", + "TrustedBy": "Được tin cậy bởi", + "OurPricing": "Giá của chúng tôi", + "Plans": "Các kế hoạch", + "NameSurname": "Tên họ", + "Unspecified": "Không xác định", + "LicenceType": "Loại giấy phép", + "LicenseDiscountWarning": "TRANG GIẢM GIÁ NÀY SỬ DỤNG MÃ GIẢM GIÁ MẶC ĐỊNH VÀ DÀNH CHO NHÀ PHÁT TRIỂN VOLOSOFT. CÁC LIÊN KẾT MUA BÊN DƯỚI KHÔNG HOẠT ĐỘNG.", + "DiscountedLicenseExplanation": "Giá giấy phép này dành cho các công ty khởi nghiệp nhỏ, nhà phát triển cá nhân, sinh viên, tổ chức và dự án phi lợi nhuận!", + "General": "Tổng quan", + "License": "Giấy phép", + "Development": "Phát triển", + "Payment": "Sự chi trả", + "WatchExplainerVideo": "Chúng ta hãy gặp nhau đi! Xem video giải thích", + "LightDarkAndSemiDarkThemes": "Ánh sáng, bóng tối và nửa tối", + "LeptonXThemeExplanation": "Chủ đề Lepton có thể thay đổi chủ đề theo cài đặt hệ thống của bạn.", + "PRO": "CHUYÊN NGHIỆP", + "WelcomeToABPCommercial": "Chào mừng đến với ABP Thương mại!", + "YourAccountDetails": "Chi tiết về tài khoản của bạn", + "OrganizationName": "tên tổ chức", + "AddDevelopers": "Thêm nhà phát triển", + "StartDevelopment": "Bắt đầu phát triển", + "CreateAndRunApplicationUsingStartupTemplate": "Tìm hiểu cách tạo và chạy một ứng dụng web mới bằng mẫu khởi động Thương mại ABP.", + "CommunityDescription2": "Community.abp.io là nơi mọi người có thể chia sẻ các bài viết liên quan đến ABP. Tìm kiếm các bài viết, hướng dẫn, mẫu mã, nghiên cứu điển hình và gặp gỡ những người có cùng quan điểm với bạn.", + "UseABPSuiteExplanation": "Sử dụng ABP Suite để tải xuống mã nguồn của mô-đun và chủ đề.", + "ManageModulesWithSuite": "Bạn cũng có thể quản lý các mô-đun ABP của mình bằng Suite.", + "LearnHowToInstallSuite": "Tìm hiểu cách cài đặt và sử dụng ABP Suite.", + "SeeMore": "Xem thêm", + "SeeLess": "Thấy ít", + "LayeredSolutionStructure": "Cấu trúc giải pháp phân lớp", + "LayeredSolutionStructureExplanation": "Giải pháp được phân lớp dựa trên các nguyên tắc và mẫu Thiết kế hướng tên miền để tách logic kinh doanh của bạn khỏi cơ sở hạ tầng và tích hợp, đồng thời tối đa hóa khả năng bảo trì và tái sử dụng mã. ABP Framework đã cung cấp các bản tóm tắt, lớp cơ sở và hướng dẫn để triển khai DDD thực sự cho ứng dụng của bạn.", + "MultipleUIOptions": "Nhiều tùy chọn giao diện người dùng", + "MultipleUIOptionsExplanation": "Chúng tôi yêu thích những cách khác nhau để tạo Giao diện người dùng. Giải pháp khởi động này cung cấp ba tùy chọn khung giao diện người dùng khác nhau cho ứng dụng doanh nghiệp của bạn.", + "MultipleDatabaseOptions": "Nhiều tùy chọn cơ sở dữ liệu", + "MultipleDatabaseOptionsExplanation": "Bạn có hai tùy chọn nhà cung cấp cơ sở dữ liệu (ngoài việc sử dụng cả hai trong một ứng dụng). Sử dụng Entity Framework Core để làm việc với mọi cơ sở dữ liệu quan hệ và tùy ý sử dụng Dapper khi bạn cần viết các truy vấn cấp thấp để có hiệu suất tốt hơn. MongoDB là một tùy chọn khác nếu bạn cần sử dụng cơ sở dữ liệu NoSQL dựa trên tài liệu. Mặc dù các nhà cung cấp này được tích hợp tốt, trừu tượng hóa và được cấu hình sẵn nhưng bạn thực sự có thể tương tác với bất kỳ hệ thống cơ sở dữ liệu nào mà bạn có thể sử dụng với .NET.", + "ModularArchitectureExplanation2": "Tính mô-đun là công dân hạng nhất trong nền tảng ABP.IO. Tất cả các chức năng của ứng dụng được chia thành các mô-đun tùy chọn riêng biệt. Giải pháp khởi động đã được cài đặt sẵn các mô-đun thương mại cơ bản của ABP . Bạn cũng có thể tạo các mô-đun của riêng mình để xây dựng hệ thống mô-đun cho ứng dụng của riêng bạn.", + "MultiTenancyForSaasBusiness": "Nhiều người thuê cho doanh nghiệp SaaS của bạn", + "MultiTenancyForSaasBusinessExplanation": "ABP Commercial cung cấp một hệ thống nhiều bên thuê hoàn chỉnh, từ đầu đến cuối để tạo ra các hệ thống SaaS (Phần mềm dưới dạng dịch vụ) của bạn. Nó cho phép người thuê chia sẻ hoặc có cơ sở dữ liệu của riêng họ với hệ thống di chuyển và tạo cơ sở dữ liệu nhanh chóng.", + "MicroserviceStartupSolution": "Giải pháp khởi nghiệp microservice", + "MicroserviceArchitectureExplanation2": "Bạn có thể lấy nó cho hệ thống vi dịch vụ tiếp theo của mình để tận dụng giải pháp cơ sở dựng sẵn và trải nghiệm chắt lọc.", + "PreIntegratedTools": "Được tích hợp sẵn vào các công cụ phổ biến", + "PreIntegratedToolsExplanation": "Giải pháp này đã được tích hợp vào các công cụ và công nghệ tiêu chuẩn ngành, đồng thời bạn luôn có thể thay đổi chúng và tích hợp với các công cụ yêu thích của mình.", + "SingleSignOnAuthenticationServer": "Máy chủ xác thực đăng nhập một lần", + "SingleSignOnAuthenticationServerExplanation": "Giải pháp này có một ứng dụng máy chủ xác thực được các ứng dụng khác sử dụng làm máy chủ đăng nhập một lần với các tính năng quản lý quyền truy cập API. Nó dựa trên IdentityServer.", + "WebAppsWithGateways": "2 ứng dụng web có 2 cổng API", + "WebAppsWithGatewaysExplanation": "Giải pháp chứa hai ứng dụng web, mỗi ứng dụng có một cổng API chuyên dụng (BFF - Mẫu phụ trợ cho giao diện người dùng).", + "BackOfficeApplication": "Ứng dụng văn phòng hỗ trợ", + "BackOfficeApplicationExplanation": "Ứng dụng web thực tế của hệ thống của bạn, với nhiều tùy chọn khung giao diện người dùng. Bạn có thể tạo bất kỳ loại ứng dụng kinh doanh nào.", + "LandingWebsite": "Trang web đích", + "LandingWebsiteExplanation": "Một trang web công cộng/đích chung có thể được sử dụng cho nhiều mục đích, như giới thiệu công ty của bạn, bán sản phẩm của bạn, v.v.", + "ABPFrameworkEBook": "Làm chủ sách điện tử ABP Framework", + "MasteringAbpFrameworkEBookDescription": "Bao gồm trong giấy phép thương mại ABP của bạn", + "FullName": "Họ và tên", + "LicenseTypeNotCorrect": "Loại giấy phép không đúng!", + "Trainings": "đào tạo", + "ChooseTrainingPlaceholder": "Lựa chọn đào tạo...", + "DoYouNeedTrainings": "Bạn có cần một trong những khóa đào tạo này không?", + "DoYouNeedTraining": "Bạn có cần đào tạo về {0} không?", + "GetInTouchUs": "Hãy liên lạc với chúng tôi", + "ForMoreInformationClickHere": "Để biết thêm thông tin, bấm vào đây.", + "ForMoreInformationClickHereByClass": "Để biết thêm thông tin, bấm vào đây.", + "IsGetOnboardingTraining": "Bạn có muốn được đào tạo về triển khai và phát triển ứng dụng web không?", + "OnboardingWebApplicationDevelopmentTrainingMessage": "Để lên lịch lịch đào tạo của bạn, vui lòng liên hệ với {0} sau khi tạo tổ chức", + "CustomPurchaseMessage": "Đối với bước tiếp theo, hãy nhấp vào {0} để liên hệ với chúng tôi.", + "Note": "Ghi chú", + "AdditionalNote": "Ghi chú bổ sung", + "OnboardingTrainingFaqTitle": "Bạn có được đào tạo hội nhập ABP không?", + "OnboardingTrainingFaqExplanation": "Có, chúng tôi có Dịch vụ đào tạo ABP để giúp bạn bắt đầu dự án ABP của mình nhanh chóng. Bạn sẽ tìm hiểu về ABP từ một thành viên nhóm nòng cốt của ABP và bạn sẽ có được các kỹ năng để bắt đầu dự án ABP của mình. Trong khóa đào tạo giới thiệu, chúng tôi sẽ giải thích cách thiết lập môi trường phát triển của bạn, cài đặt các công cụ cần thiết và tạo trang CRUD đầy đủ chức năng. Khóa đào tạo sẽ diễn ra trực tiếp và ứng dụng Zoom sẽ được sử dụng, chúng tôi sẵn sàng sử dụng các nền tảng họp trực tuyến khác. Ngôn ngữ đào tạo sẽ là tiếng Anh. Bạn cũng có thể đặt câu hỏi về ABP trong các buổi học. Sẽ sắp xếp thời gian thuận tiện cho cả hai bên. Để biết thêm thông tin, hãy liên hệ với chúng tôi tại info@abp.io .", + "AddBasket": "Thêm vào giỏ", + "SendTrainingRequest": "Gửi yêu cầu đào tạo", + "OnlyEnglishVersionOfThisDocumentIsTheRecentAndValid": "* Phiên bản tiếng Anh của tài liệu này là phiên bản cập nhật nhất và phiên bản tiếng Anh sẽ được ưu tiên trong mọi tranh chấp.", + "Pricing_Page_Title": "Giá & Gói", + "Pricing_Page_Description": "Chọn các tính năng và chức năng mà doanh nghiệp của bạn cần ngay hôm nay. Mua giấy phép thương mại ABP và tạo dự án không giới hạn.", + "Pricing_Page_HurryUp": "Nhanh lên!", + "Pricing_Page_BuyLicense": "Mua giấy phép với giá năm 2021 cho đến ngày 16 tháng 1!", + "Pricing_Page_ValidForExistingCustomers": "Cũng có giá trị cho khách hàng hiện tại và gia hạn giấy phép.", + "Pricing_Page_Hint1": "Giá giấy phép bao gồm một số lượng chỗ nhất định của nhà phát triển. Nếu bạn có nhiều nhà phát triển hơn, bạn luôn có thể mua thêm chỗ.", + "Pricing_Page_Hint2": "Bạn có thể mua thêm giấy phép dành cho nhà phát triển ngay bây giờ hoặc trong tương lai. Giấy phép dựa trên chỗ ngồi, vì vậy bạn có thể chuyển chỗ từ nhà phát triển này sang nhà phát triển khác.", + "Pricing_Page_Hint3": "Bạn có thể phát triển số lượng sản phẩm khác nhau không giới hạn với giấy phép của mình.", + "Pricing_Page_Hint4": "ABP Suite là một công cụ hỗ trợ sự phát triển của bạn nhằm cải thiện năng suất của bạn. Nó hỗ trợ tạo các trang CRUD và tạo các dự án mới.", + "Pricing_Page_Hint5": "Bạn có thể sử dụng tất cả các mô-đun dựng sẵn trong ứng dụng của mình.", + "Pricing_Page_Hint6": "Bạn có thể sử dụng tất cả các chủ đề dựng sẵn trong ứng dụng của mình.", + "Pricing_Page_Hint7": "Mẫu khởi động là một giải pháp Visual Studio giúp bạn bắt đầu dự án của mình. Tất cả các mô-đun cơ bản đều được thêm và cấu hình sẵn cho bạn.", + "Pricing_Page_Hint8": "Sách điện tử Mastering ABP Framework giải thích cách triển khai các giải pháp .NET bằng các phương pháp hay nhất. Nó được bán trên Amazon.com và bạn có thể tải xuống sách miễn phí với giấy phép của mình.", + "Pricing_Page_Hint9": "Bạn có thể tải xuống mã nguồn của bất kỳ mô-đun nào. Bạn có thể muốn thêm mã nguồn vào giải pháp của mình để thực hiện những thay đổi căn bản hoặc chỉ giữ nó cho riêng mình vì lý do bảo mật.", + "Pricing_Page_Hint10": "Giấy phép có giá trị trọn đời. Điều đó có nghĩa là bạn có thể tiếp tục phát triển ứng dụng của mình mãi mãi. Quyền truy cập vào phiên bản mới nhất và nhận hỗ trợ được cấp trong thời hạn giấy phép (1 năm trừ khi bạn gia hạn).", + "Pricing_Page_Hint11": "Không có hạn chế về triển khai! Bạn có thể triển khai tới bao nhiêu máy chủ tùy thích, bao gồm cả dịch vụ đám mây hoặc tại chỗ.", + "Pricing_Page_Hint12": "Bạn có thể cập nhật các mô-đun, chủ đề và công cụ lên phiên bản mới nhất trong thời hạn giấy phép còn hiệu lực của mình. Sau khi giấy phép của bạn hết hạn, bạn cần gia hạn giấy phép để tiếp tục nhận được các bản cập nhật sửa lỗi, tính năng mới và cải tiến.", + "Pricing_Page_Hint13": "Bạn có thể nhận được hỗ trợ cao cấp trong một năm (bạn có thể gia hạn giấy phép của mình để gia hạn).", + "Pricing_Page_Hint14": "Giấy phép Nhóm và Doanh nghiệp có giới hạn số lượng sự cố/câu hỏi. Nếu bạn mua thêm giấy phép dành cho nhà phát triển, giới hạn sự cố của bạn sẽ tăng thêm {0} (đối với Giấy phép nhóm) hoặc {1} (đối với Giấy phép kinh doanh) cho mỗi nhà phát triển.", + "Pricing_Page_Hint15": "Chỉ Giấy phép Doanh nghiệp mới bao gồm hỗ trợ riêng tư. Bạn có thể gửi e-mail trực tiếp đến Nhóm ABP hoặc đặt câu hỏi trên support.abp.io với tùy chọn vé riêng. Vé riêng không được hiển thị cho công chúng.", + "Pricing_Page_Hint16": "Bạn có thể tải xuống mã nguồn của tất cả các chủ đề ABP. Bạn có thể muốn thêm mã nguồn vào giải pháp của mình để thực hiện những thay đổi căn bản hoặc chỉ giữ nó cho riêng mình vì lý do bảo mật.", + "Pricing_Page_Testimonial_1": "ABP Commercial đã cho phép SC Ventures cung cấp nền tảng SaaS cơ sở dữ liệu silo dành cho nhiều bên thuê cấp ngân hàng trong 9 tháng để hỗ trợ các khoản phải thu/tài khoản phải trả tài trợ cho chuỗi cung ứng cho các hóa đơn có giá trị quan trọng từ nhiều điểm neo tích hợp. Tính mô-đun của ABP giúp nhóm có thể phân phối trong thời gian kỷ lục, vượt qua tất cả VAPT và triển khai ngăn xếp dịch vụ vi mô được đóng gói thông qua CI/CD và quy trình đầy đủ vào sản xuất.", + "Pricing_Page_Testimonial_2": "Chúng tôi thấy giá trị của việc sử dụng ABP Commercial để giảm chi phí cho các dự án phát triển tùy chỉnh. Nhóm có thể thống nhất mẫu mã trong các luồng dự án khác nhau. Chúng tôi nhận thấy khuôn khổ này có nhiều tiềm năng hơn để chúng tôi xây dựng các tính năng mới nhanh hơn trước. Chúng tôi tin tưởng rằng chúng tôi sẽ liên tục thấy được giá trị của việc tận dụng ABP Commercial.", + "Pricing_Page_Testimonial_3": "Chúng tôi yêu ABP. Chúng ta không cần phải viết mọi thứ từ đầu. Chúng tôi bắt đầu từ những tính năng có sẵn và chỉ tập trung vào những gì chúng tôi thực sự cần viết. Ngoài ra, ABP có kiến trúc tốt và mã có chất lượng cao với ít lỗi hơn. Nếu phải tự viết mọi thứ mình cần, chúng ta có thể phải mất nhiều năm. Một điều nữa mà chúng tôi thích là phiên bản mới, bản sửa lỗi hoặc cải tiến sẽ xuất hiện rất sớm mỗi tuần. Chúng tôi không chờ đợi quá lâu.", + "Pricing_Page_Testimonial_4": "ABP Commercial là một sản phẩm tuyệt vời được giới thiệu. Các sản phẩm thương mại được tung ra thị trường cho khách hàng của chúng tôi trên một nền tảng có thể cấu hình duy nhất. Bước tiến bắt đầu là khuôn khổ và công cụ cung cấp cho bất kỳ nhóm nào đều đáng giá từng xu. ABP Commercial phù hợp nhất với nhu cầu của chúng tôi.", + "Pricing_Page_Testimonial_5": "ABP Framework không chỉ là một framework mà còn là một hướng dẫn để phát triển/quản lý dự án vì nó cung cấp đào tạo về DDD, GenericRepository, DI, Microservice và Modul. Ngay cả khi bạn không sử dụng chính khung này, bạn vẫn có thể tự phát triển với docs.abp.io được chuẩn bị kỹ lưỡng và chuyên nghiệp (OpenIddict, Redis, Quartz, v.v.). Bởi vì nhiều thứ được xây dựng sẵn nên nó rút ngắn đáng kể thời gian phát triển dự án (chẳng hạn như trang đăng nhập, xử lý ngoại lệ, lọc dữ liệu, gieo hạt, ghi nhật ký kiểm tra, bản địa hóa, bộ điều khiển API tự động, v.v.). Lấy ví dụ từ ứng dụng của chúng tôi, tôi đã sử dụng Local Event Bus để kiểm soát hàng tồn kho. Vì vậy, tôi có thể quản lý việc di chuyển đơn hàng bằng cách viết trình xử lý hàng tồn kho. Thật tuyệt vời khi không mất thời gian cho CreationTime, CreatorId. Chúng đang được điền tự động.", + "Pricing_Page_Testimonial_6": "ABP Framework là một framework tốt nhưng nó cần thời gian để hiểu các lớp, lớp và thư viện khác nhau mà nó sử dụng (đặc biệt là ABP). Tôi đã dành rất nhiều thời gian để đọc cơ sở mã, nhưng ABP Commercial đã giúp chúng tôi tiết kiệm thời gian trong việc tạo các thực thể đặc biệt của dự án (AR) và kho lưu trữ được liên kết với từng thực thể đó. Tôi cũng thích cách tiếp cận được sử dụng trong ABP rất thuần thục; chúng tôi biết là dựa trên DDD và nguyên khối.", + "Pricing_Page_Testimonial_7": "Khi mới khởi nghiệp, chúng tôi cần lặp lại nhanh chóng và dành thời gian tối thiểu cho các tính năng soạn sẵn và không cốt lõi. \n Các kỹ sư của chúng tôi bao gồm từ kỹ sư có kinh nghiệm cao đến kỹ sư cấp dưới và chúng tôi cần có sự hiểu biết chung cũng như cách chia sẻ kiến thức về lĩnh vực và kỹ thuật, ABP đã cho phép chúng tôi làm điều này nhờ có tài liệu và hướng dẫn tuyệt vời của họ. \n Có những điều chúng tôi không phải lo lắng vì chúng hoạt động tốt với ABP. \n ABP đã giúp chúng tôi hợp lý hóa quá trình tạo mẫu và phát triển nhanh chóng, chỉ mất chưa đầy 4 tuần từ khi bắt đầu tính năng đến sản xuất. Với tất cả các tính năng cao cấp được bao gồm trong giấy phép, ABP đã cung cấp cho chúng tôi "Khởi động trong hộp" về Mặt Kỹ thuật Phần mềm.", + "Pricing_Page_Testimonial_8": "Tôi muốn giới thiệu quảng cáo ABP cho tất cả những ai muốn mở rộng phạm vi sản phẩm có sẵn cho khách hàng của họ. Thật tuyệt vời khi cần sử dụng môi trường doanh nghiệp phân tán (Angular, WPF, Win&Linux). Ngoài các sản phẩm của họ, chúng tôi yêu thích sự hỗ trợ của họ, điều này giúp công việc của chúng tôi nhanh hơn và dễ dàng hơn. Chúng tôi biết rằng chúng tôi đã tìm được một đối tác tuyệt vời cho tương lai, người sẽ hỗ trợ chúng tôi mở rộng hoạt động kinh doanh.", + "Pricing_Page_Testimonial_9": "Chúng tôi là một công ty gồm 2 nhân viên đã kinh doanh hơn 20 năm. \n Theo kinh nghiệm của chúng tôi với ABP Commercial, một khách hàng đã tiếp cận chúng tôi và yêu cầu chúng tôi phát triển một ứng dụng nhân sự mới trong môi trường hiện đại để thay thế ứng dụng Access đã 25 năm tuổi của họ. Chúng tôi quyết định chuyển từ giải pháp máy tính để bàn sang giải pháp dựa trên web. \n \n Vào thời điểm đó, chúng tôi có rất ít kiến thức về ứng dụng web và .NET, nhưng chúng tôi tình cờ biết đến ABP Commercial và với sự trợ giúp của ABP Framework, tài liệu kỹ thuật và ABP Suite, chúng tôi không chỉ có thể phát triển ứng dụng để thông số kỹ thuật của khách hàng mà còn hoạt động thành công trong môi trường .NET trong vòng một năm.", + "AbpBookDownloadArea_ClaimYourEBook": "Yêu cầu Sách điện tử về Khung làm chủ ABP của bạn", + "AddMemberModal_Warning_1": "Nếu tên người dùng bạn đang cố gắng thêm không tồn tại trong hệ thống, vui lòng yêu cầu thành viên trong nhóm của bạn đăng ký trên {0} và chia sẻ tên người dùng tài khoản của họ với bạn.", + "MyOrganizations_Detail_WelcomeMessage": "Chào mừng đến với tổ chức của bạn, {0}", + "MyOrganizations_Detail_OrganizationManagement": "Quản lý tổ chức", + "OrganizationDisplayName": "Tên hiển thị của tổ chức", + "MyOrganizations_Detail_EditDisplayName": "Chỉnh sửa tên hiển thị", + "MyOrganizations_Detail_UpgradeYourLicense": "Nâng cấp giấy phép của bạn", + "MyOrganizations_Detail_LicenseStartAndExpiryDate": "Ngày bắt đầu giấy phép - Ngày hết hạn", + "MyOrganizations_Detail_OwnerRightInfo": "Bạn đang sử dụng {0} trong số {1} quyền chủ sở hữu của mình.", + "MyOrganizations_Detail_CopyApiKey": "Sao chép chìa khóa", + "MyOrganizations_Detail_ApiKeyDescription": "Khóa API là mã thông báo của các gói PRO được lưu trữ trên {1}.", + "MyOrganizations_Detail_YourPrivateNugetSource": "Nguồn NuGet riêng của bạn là {0}", + "MyOrganizations_Detail_PrivateNugetSourceWarning": "Điều này sẽ tự động được thêm dưới dạng nguồn cấp dữ liệu vào NuGet.Config trong giải pháp ABP của bạn. Không chia sẻ khóa riêng của bạn với người dùng trái phép!", + "MyOrganizations_Detail_DeveloperSeatInfo": "Bạn đang sử dụng {0} trong số {1} chỗ dành cho nhà phát triển của mình.", + "NeedMoreSeatsForYourTeam": "Cần thêm chỗ ngồi cho đội của bạn?", + "MyOrganizations_Detail_PricePerYear": "{0} / mỗi năm", + "MyOrganizations_Detail_PurchaseDeveloperSeats": "Mua chỗ dành cho nhà phát triển", + "Invoices": "Hóa đơn", + "RequestInvoice": "Yêu cầu hoá đơn", + "OrderNumber": "Số thứ tự", + "Date": "Ngày", + "Products": "Các sản phẩm", + "TotalPrice": "Tổng giá", + "ThereIsNoInvoice": "Không có hóa đơn", + "MyOrganizations_Detail_PaymentProviderInfo": "Nếu bạn đã mua giấy phép của mình thông qua cổng {0} , nó sẽ gửi hóa đơn PDF đến địa chỉ email của bạn, xem hóa đơn {0}.", + "MyOrganizations_Detail_PayUInfo": "Nếu bạn đã mua qua cổng Iyzico , hãy nhấp vào nút "Yêu cầu hóa đơn" và điền thông tin thanh toán.", + "MyOrganizations_Detail_ConclusionInfo": "Yêu cầu hóa đơn của bạn sẽ được hoàn tất trong vòng {0} ngày làm việc.", + "ExtendYourLicense": "Gia hạn giấy phép {0} của bạn", + "Continue": "Tiếp tục", + "PurchaseLicense": "Mua {0} giấy phép", + "DownloadInvoiceModal_DownloadInvoice": "Tải hóa đơn xuống", + "DownloadInvoiceModal_SaveInformationOnlyOnce": "Bạn chỉ có thể lưu thông tin thanh toán của mình một lần.", + "InvoiceModal_EnterCompanyName": "Nhập tên công ty hợp pháp của bạn...", + "InvoiceModal_EnterCompanyAddress": "Nhập địa chỉ công ty hợp pháp của bạn...", + "InvoiceModal_EnterTaxNumber": "Nhập số thuế/thuế VAT của bạn nếu có...", + "RequestInvoiceModal_EnterNotes": "Nhập tin nhắn bổ sung về hóa đơn của bạn...", + "PrePayment_PayWithIyzico": "Bạn sẽ thanh toán bằng Iyzico", + "ContinueToCheckout": "Tiếp tục thanh toán", + "PrePayment_IyzicoRedirectionInfo": "Bạn sẽ được chuyển hướng đến Cổng thanh toán Iyzico để hoàn tất giao dịch mua hàng của mình một cách an toàn.", + "PrePayment_IyzicoAcceptVisaAndMasterCard": "Iyzico chấp nhận Visa và MasterCard.", + "Purchase": "Mua", + "AcceptTermsAndConditions": "Tôi đã đọc, hiểu và chấp nhận chính sách bảo mật , điều khoản & điều kiện cũng như EULA.", + "AcceptTermsAndConditionsWarningMessage": "Vui lòng chấp nhận chính sách quyền riêng tư và các điều khoản & điều kiện", + "SelectGatewayToContinue": "Vui lòng chọn một Cổng để tiếp tục!", + "GatewaySelection_SelectGateway": "Chọn Cổng thanh toán", + "GatewaySelection_RedirectionMessage": "Tiếp theo, bạn sẽ được chuyển hướng đến trang web của cổng thanh toán đã chọn để thực hiện giao dịch.", + "PaymentSucceed_PaymentSuccessMessage": "Thanh toán thành công", + "PaymentSucceed_ThanksForPurchase": "Cám ơn vì đã mua hàng!", + "PaymentSucceed_CreateYourOrganization": "Tạo tổ chức của bạn", + "PaymentSucceed_AddMeAsDeveloper": "Tôi cũng là nhà phát triển, hãy thêm tôi làm nhà phát triển vào tổ chức của tôi.", + "PaymentSucceed_CreateOrganization": "Tạo tổ chức", + "PaymentSucceed_OrganizationDescription": "Một tổ chức bao gồm các nhà phát triển và chủ sở hữu. Các nhà phát triển là những người dùng viết mã cho dự án ABP và sẽ được hưởng lợi từ trang web {1} . Chủ sở hữu là người dùng phân bổ quyền của nhà phát triển và quản lý việc cấp phép.", + "PaymentSucceed_ViewOrganization": "Bấm vào đây để xem tổ chức", + "Purchase_TotalAnnualPrice": "TỔNG (phí hàng năm)", + "Purchase_TrainingPrice": "Giá đào tạo", + "Purchase_OnboardingTraining": "Đào tạo trực tiếp về đào tạo trực tiếp & phát triển ứng dụng web", + "TotalDeveloperPrice": "Tổng giá nhà phát triển", + "Purchase_PricePerDeveloper": "{0} {1} cho mỗi nhà phát triển", + "Purchase_IncludedDeveloperInfo": "Đã bao gồm {0} {1}.", + "Purchase_LicenseExtraDeveloperPurchaseMessage": "Giấy phép {0} bao gồm các nhà phát triển {1}. Bạn có thể thêm các nhà phát triển bổ sung.", + "StartupTemplates_Page_Title": "Mẫu khởi động ABP", + "StartupTemplates_Page_Description": "ABP Commercial cho phép bạn xây dựng các giải pháp với mọi mức độ phức tạp. Nó cung cấp hai giải pháp khởi động được xây dựng sẵn chính. Bạn có thể chọn giải pháp phù hợp nhất với yêu cầu của mình và xây dựng giải pháp tùy chỉnh của riêng mình dựa trên giải pháp đó.", + "MicroserviceStartupSolutionForDotnet": "Giải pháp khởi động microservice cho .NET", + "MonolithSolutionForDotnet": "Giải pháp nguyên khối (mô-đun) cho .NET", + "TrainingDetailsHeaderInfo_TrainingHour": "{0} giờ", + "Trainings_Content": "Nội dung đào tạo", + "Trial_Page_StartYourFreeTrial": "Bắt đầu dùng thử miễn phí của bạn", + "TrialLicenseFeatures": "Bạn sẽ có thể hưởng lợi từ tất cả các tính năng thương mại của ABP", + "TrialPeriodDays": "Bạn sẽ có Giấy phép nhóm {0} ngày", + "TrialForumSupportIncident": "Bạn sẽ gặp {0} sự cố hỗ trợ diễn đàn", + "Contact_Page_Title": "Liên hệ với Nhóm phát triển ABP", + "Contact_Page_Description": "Hãy liên hệ với nhóm Phát triển ABP nếu bạn cần bất kỳ trợ giúp nào hoặc chia sẻ suy nghĩ và ý kiến của mình! Nhóm hỗ trợ ABP sẵn sàng trợ giúp.", + "Demo_Page_Title": "Tạo bản trình diễn", + "Demo_Page_Description": "Tạo bản demo miễn phí để xem ứng dụng mẫu được tạo bằng mẫu khởi động Thương mại ABP. Đừng lặp lại chính mình cho các yêu cầu ứng dụng phổ biến.", + "Discounted_Page_Title": "Giá chiết khấu", + "Discounted_Page_Description": "Chọn các tính năng và chức năng mà doanh nghiệp của bạn cần ngay hôm nay. Mua giấy phép thương mại ABP và tạo dự án không giới hạn", + "Faq_Page_Title": "Câu hỏi thường gặp (FAQ)", + "Faq_Page_Description": "Bạn có câu hỏi nào không? Tìm kiếm các câu hỏi thường gặp hoặc đặt câu hỏi cho chúng tôi bằng cách sử dụng biểu mẫu liên hệ.", + "Faq_Page_SwiftCode": "Mã SWIFT", + "Faq_Page_BankName": "Tên ngân hàng", + "Faq_Page_AccountName": "Tên tài khoản", + "Faq_Page_AccountNumber": "Số tài khoản", + "Faq_Page_Currency": "Tiền tệ", + "Faq_Page_VatNumber": "số thuế GTGT", + "Faq_Page_OtherCurrenciesInfo": "Đối với các loại tiền tệ khác, xem tất cả tài khoản", + "ProjectCreatedSuccess_Page_Title": "Dự án của bạn đã được tạo", + "ProjectCreatedSuccess_Page_Description": "Dự án ABP của bạn đã được tạo thành công!", + "Suite_Page_Title": "Bộ ABP", + "Suite_Page_Description": "ABP Commercial cung cấp công cụ phát triển ứng dụng nhanh chóng để tăng năng suất của nhà phát triển. ABP Suite cho phép bạn tạo các trang CRUD một cách dễ dàng.", + "Themes_Page_Title": "Chủ đề ABP", + "Themes_Page_Description": "ABP Commercial cung cấp nhiều chủ đề giao diện người dùng hiện đại, chuyên nghiệp. Tạo bản demo miễn phí để có cái nhìn nhanh về giao diện người dùng.", + "Tools_Page_Title": "Công cụ phát triển ứng dụng nhanh chóng", + "Tools_Page_Description": "ABP Commercial cung cấp công cụ phát triển ứng dụng nhanh chóng để tăng năng suất của nhà phát triển. ABP Suite cho phép bạn tạo các trang CRUD một cách dễ dàng.", + "DeveloperPrice": "Giá nhà phát triển", + "AdditionalDeveloperPaymentInfoSection_AdditionalDevelopers": "{0} nhà phát triển", + "LicenseRemainingDays": "trong {0} ngày", + "ExtendPaymentInfoSection_Description": "Bằng cách gia hạn/gia hạn giấy phép, bạn sẽ tiếp tục nhận được hỗ trợ cao cấp . Bạn cũng sẽ có thể nhận được các bản cập nhật lớn hoặc nhỏ cho các mô-đun và chủ đề. Bạn sẽ có thể tiếp tục tạo các dự án mới. Và bạn vẫn có thể sử dụng ABP Suite để tăng tốc độ phát triển của mình.", + "LicenseRenewalPrice": "Giá gia hạn giấy phép", + "LicensePrice": "Giá giấy phép", + "TrialLicensePaymentInfoSection_Description": "Mua giấy phép: Bằng cách mua giấy phép, bạn sẽ tiếp tục nhận được hỗ trợ cao cấp . Bạn cũng sẽ có thể nhận được các bản cập nhật lớn hoặc nhỏ cho các mô-đun và chủ đề. Bạn sẽ có thể tiếp tục tạo các dự án mới. Và bạn vẫn có thể sử dụng ABP Suite để tăng tốc độ phát triển của mình.
Xem bảng so sánh giấy phép để kiểm tra sự khác biệt giữa các loại giấy phép.", + "SelectTargetLicense": "Chọn giấy phép mục tiêu", + "UpgradePaymentInfoSection_ExtendMyLicenseForOneYear": "Có, gia hạn giấy phép của tôi thêm 1 năm.", + "UpgradePaymentInfoSection_WantToExtendLicense": "Bạn có muốn gia hạn giấy phép của mình thêm 1 năm nữa không?", + "UpgradePaymentInfoSection_UpgradingWillNotExtendLicense": "Việc nâng cấp sẽ không kéo dài ngày hết hạn giấy phép của bạn!", + "UpgradePaymentInfoSection_LicenseUpgradeDescription": "Bằng cách nâng cấp giấy phép của bạn, bạn sẽ được thăng cấp lên loại giấy phép cao hơn, điều này sẽ cho phép bạn nhận được các lợi ích bổ sung. Xem bảng so sánh giấy phép để kiểm tra sự khác biệt giữa các loại giấy phép.", + "Landing_Page_CustomerStories": "Câu chuyện khách hàng", + "Landing_Page_OurGreatCustomers": "Khách hàng tuyệt vời của chúng tôi", + "Landing_Page_WebApplicationFramework": "Khung ứng dụng web", + "Landing_Page_WebDevelopmentPlatform": "Nền tảng phát triển web", + "Landing_Page_CompleteWebDevelopmentPlatform": "Nền tảng phát triển web hoàn chỉnh", + "Landing_Page_TryFreeDemo": "Dùng thử bản demo miễn phí", + "Landing_Page_StartingPointForWebApplications": "Điểm khởi đầu cho các ứng dụng web dựa trên ASP.NET Core! Nó dựa trên ABP Framework để phát triển web tốt nhất.", + "Landing_Page_AbpProvidesSoftwareInfrastructure": "ABP Framework cung cấp cơ sở hạ tầng phần mềm để phát triển các ứng dụng web xuất sắc với các phương pháp hay nhất.", + "Landing_Page_MicroserviceCompatibleArchitecture": "Kiến trúc tương thích microservice", + "Landing_Page_PreBuiltApplicationModulesAndThemes": "Mô-đun và chủ đề ứng dụng dựng sẵn", + "Landing_Page_MultiTenantArchitecture": "Kiến trúc nhiều người thuê", + "Landing_Page_MultiTenancyDescription": "Ứng dụng SaaS được thực hiện dễ dàng! Tích hợp nhiều hình thức thuê từ cơ sở dữ liệu đến giao diện người dùng.", + "Landing_Page_DDDIntroduction": "Được thiết kế và phát triển dựa trên các mẫu và nguyên tắc DDD. Cung cấp mô hình phân lớp cho ứng dụng của bạn.", + "Landing_Page_CrossCuttingConcernsInfo": "Cơ sở hạ tầng hoàn chỉnh để ủy quyền, xác thực, xử lý ngoại lệ, lưu vào bộ nhớ đệm, ghi nhật ký kiểm tra, quản lý giao dịch và hơn thế nữa.", + "Landing_Page_PreBuiltApplicationModules": "Mô-đun ứng dụng dựng sẵn bao gồm hầu hết các yêu cầu ứng dụng web phổ biến.", + "Landing_Page_ChatModule": "Trò chuyện", + "Landing_Page_DocsModule": "Tài liệu", + "Landing_Page_FileManagementModule": "Quản lý tập tin", + "Landing_Page_CustomerStory_1": "ABP Commercial đã cho phép SC Ventures cung cấp nền tảng SaaS cơ sở dữ liệu silo dành cho nhiều bên thuê cấp ngân hàng trong 9 tháng để hỗ trợ các khoản phải thu/tài khoản phải trả tài trợ cho chuỗi cung ứng cho các hóa đơn có giá trị quan trọng từ nhiều điểm neo tích hợp. Tính mô-đun của ABP giúp nhóm có thể phân phối trong thời gian kỷ lục, vượt qua tất cả VAPT và triển khai ngăn xếp dịch vụ vi mô được đóng gói thông qua CI/CD và quy trình đầy đủ vào sản xuất.", + "Landing_Page_CustomerStory_2": "Chúng tôi thấy giá trị của việc sử dụng ABP Commercial để giảm chi phí chung cho các dự án phát triển tùy chỉnh. Nhóm có thể thống nhất mẫu mã trong các luồng dự án khác nhau. Chúng tôi nhận thấy có nhiều tiềm năng hơn trong khuôn khổ để chúng tôi xây dựng các tính năng mới nhanh hơn trước. Chúng tôi tin tưởng rằng chúng tôi sẽ liên tục thấy được giá trị của việc tận dụng ABP Commercial.", + "Landing_Page_CustomerStory_3": "Chúng tôi yêu ABP. Chúng ta không cần phải viết mọi thứ từ đầu. Chúng tôi bắt đầu từ những tính năng có sẵn và chỉ tập trung vào những gì chúng tôi thực sự cần viết. Ngoài ra, ABP có kiến trúc tốt và mã có chất lượng cao với ít lỗi hơn. Nếu phải tự viết mọi thứ mình cần, chúng ta có thể phải mất nhiều năm. Một điều nữa mà chúng tôi thích là phiên bản mới hoặc bản sửa lỗi hoặc cải tiến sẽ sớm ra mắt \n mỗi tuần. Chúng tôi không chờ đợi quá lâu.", + "Landing_Page_CustomerStory_4": "ABP Commercial là một sản phẩm tuyệt vời được giới thiệu. Các sản phẩm thương mại được tung ra thị trường cho khách hàng của chúng tôi trên một nền tảng có thể cấu hình duy nhất. Bước tiến bắt đầu là khuôn khổ và công cụ cung cấp cho bất kỳ nhóm nào đều đáng giá từng xu. ABP Commercial phù hợp nhất với nhu cầu của chúng tôi.", + "Landing_Page_AdditionalServices": "Giấy phép tùy chỉnh hoặc số lượng lớn, giới thiệu, đào tạo & hỗ trợ trực tiếp, phát triển dự án tùy chỉnh, chuyển các dự án hiện có và hơn thế nữa...", + "Landing_Page_IncludedDeveloperLicenses": "Đã bao gồm {0} giấy phép nhà phát triển", + "Landing_Page_SeeOnDemo": "Xem trên Demo", + "Landing_Page_LeptonThemes": "Chủ đề Lepton", + "Landing_Page_AccountModuleDescription_1": "Mô-đun này triển khai hệ thống xác thực cho một ứng dụng;", + "Landing_Page_AccountModuleDescription_2": "Cung cấp một trang đăng nhập với tên người dùng và mật khẩu", + "Landing_Page_AccountModuleDescription_3": "Cung cấp một trang đăng ký để tạo một tài khoản mới.", + "Landing_Page_AccountModuleDescription_4": "Cung cấp trang quên mật khẩu để gửi liên kết đặt lại mật khẩu dưới dạng e-mail.", + "Landing_Page_AccountModuleDescription_5": "Cung cấp chức năng xác nhận email với giao diện người dùng.", + "Landing_Page_AccountModuleDescription_6": "Triển khai xác thực hai yếu tố (SMS và e-mail).", + "Landing_Page_AccountModuleDescription_7": "Triển khai khóa người dùng (khóa tài khoản trong khoảng thời gian đã đặt khi xảy ra một số lần đăng nhập không thành công do thông tin xác thực không hợp lệ trong một khoảng thời gian nhất định).", + "Landing_Page_AccountModuleDescription_8": "Triển khai giao diện người dùng và chức năng của máy chủ xác thực Identity Server .", + "Landing_Page_AccountModuleDescription_9": "Cho phép chuyển đổi giữa các người thuê trong môi trường nhiều người thuê.", + "Landing_Page_AccountModuleDescription_10": "Cho phép thay đổi ngôn ngữ UI của ứng dụng.", + "Landing_Page_AuditLoggingModuleDescription_1": "Mô-đun này cung cấp giao diện người dùng báo cáo nhật ký kiểm tra cho cơ sở hạ tầng kiểm tra. Cho phép tìm kiếm, lọc và hiển thị các mục nhật ký kiểm tra và nhật ký thay đổi thực thể.", + "Landing_Page_AuditLoggingModuleDescription_2": "Mục nhập nhật ký kiểm tra bao gồm dữ liệu quan trọng về từng yêu cầu của khách hàng:", + "Landing_Page_AuditLoggingModuleDescription_3": "URL, Trình duyệt, địa chỉ IP, tên khách hàng", + "Landing_Page_AuditLoggingModuleDescription_4": "Người dùng", + "Landing_Page_AuditLoggingModuleDescription_5": "Phương thức HTTP, mã trạng thái trả về HTTP", + "Landing_Page_AuditLoggingModuleDescription_6": "Thành công/thất bại, chi tiết ngoại lệ nếu có", + "Landing_Page_AuditLoggingModuleDescription_7": "Yêu cầu thời gian thực hiện", + "Landing_Page_AuditLoggingModuleDescription_8": "Các thực thể đã được tạo, xóa hoặc cập nhật trong yêu cầu này (với các thuộc tính đã thay đổi).", + "Landing_Page_BloggingModuleDescription_1": "Mô-đun này thêm một blog đơn giản vào ứng dụng ABP của bạn;", + "Landing_Page_BloggingModuleDescription_2": "Cho phép tạo nhiều blog trong một ứng dụng.", + "Landing_Page_BloggingModuleDescription_3": "Hỗ trợ định dạng Markdown.", + "Landing_Page_BloggingModuleDescription_4": "Cho phép viết bình luận cho một bài viết.", + "Landing_Page_BloggingModuleDescription_5": "Cho phép gán thẻ cho bài viết trên blog.", + "Landing_Page_BloggingModuleDescription_6": "Xem trang web blog.abp.io làm ví dụ trực tiếp về mô-đun viết blog.", + "Landing_Page_ChatModuleDescription_1": "Mô-đun này được sử dụng để nhắn tin theo thời gian thực giữa những người dùng trong ứng dụng.", + "Landing_Page_ChatModuleDescription_2": "Nhắn tin thời gian thực trên trang trò chuyện.", + "Landing_Page_ChatModuleDescription_3": "Tìm kiếm người dùng trong ứng dụng cho các cuộc trò chuyện mới.", + "Landing_Page_ChatModuleDescription_4": "Danh sách liên lạc cho các cuộc trò chuyện gần đây.", + "Landing_Page_ChatModuleDescription_5": "Thông báo tin nhắn mới khi người dùng đang xem một trang khác.", + "Landing_Page_ChatModuleDescription_6": "Huy hiệu tổng số tin nhắn chưa đọc trên biểu tượng menu.", + "Landing_Page_ChatModuleDescription_7": "Số lượng tin nhắn chưa đọc cho mỗi cuộc trò chuyện.", + "Landing_Page_ChatModuleDescription_8": "Cuộc trò chuyện được tải lười biếng.", + "Landing_Page_DocsModuleDescription_1": "Mô-đun này được sử dụng để tạo các trang web tài liệu kỹ thuật;", + "Landing_Page_DocsModuleDescription_2": "Tích hợp GitHub tích hợp: Trực tiếp viết và quản lý tài liệu trên GitHub.", + "Landing_Page_DocsModuleDescription_3": "Hỗ trợ phiên bản được tích hợp trực tiếp vào các bản phát hành GitHub.", + "Landing_Page_DocsModuleDescription_4": "Hỗ trợ đa ngôn ngữ (có hỗ trợ dự phòng cho ngôn ngữ mặc định).", + "Landing_Page_DocsModuleDescription_5": "Hỗ trợ các định dạng Markdown và HTML.", + "Landing_Page_DocsModuleDescription_6": "Cung cấp phần điều hướng và phần phác thảo .", + "Landing_Page_DocsModuleDescription_7": "Cho phép lưu trữ nhiều tài liệu dự án trong một ứng dụng.", + "Landing_Page_DocsModuleDescription_8": "Liên kết đến tệp trên GitHub, vì vậy bất kỳ ai cũng có thể dễ dàng đóng góp bằng cách nhấp vào liên kết Chỉnh sửa .", + "Landing_Page_DocsModuleDescription_9": "Ngoài nguồn GitHub, cho phép chỉ cần sử dụng một thư mục làm nguồn tài liệu.", + "Landing_Page_FileManagementModuleDescription_1": "Tải lên, tải xuống và sắp xếp các tệp theo cấu trúc thư mục phân cấp.", + "Landing_Page_FileManagementModuleDescription_2": "Mô-đun này được sử dụng để tải lên, tải xuống và sắp xếp các tệp theo cấu trúc thư mục phân cấp. Nó cũng tương thích với nhiều đối tượng thuê và bạn có thể xác định tổng giới hạn kích thước cho đối tượng thuê của mình.", + "Landing_Page_FileManagementModuleDescription_3": "Mô-đun này dựa trên hệ thống Lưu trữ BLOB , vì vậy nó có thể sử dụng các nhà cung cấp lưu trữ khác nhau để lưu trữ nội dung tệp.", + "Landing_Page_IdentityModuleDescription_1": "Mô-đun này triển khai hệ thống Người dùng và Vai trò của một ứng dụng;", + "Landing_Page_IdentityModuleDescription_2": "Được xây dựng trên thư viện ASP.NET Core Identity của Microsoft .", + "Landing_Page_IdentityModuleDescription_3": "Quản lý vai tròngười dùng trong hệ thống. Một người dùng được phép có nhiều vai trò .", + "Landing_Page_IdentityModuleDescription_4": "Đặt quyền ở cấp độ vai trò và người dùng.", + "Landing_Page_IdentityModuleDescription_5": "Bật/tắt xác thực hai yếu tốkhóa người dùng cho mỗi người dùng.", + "Landing_Page_IdentityModuleDescription_6": "Quản lý hồ sơ người dùngmật khẩu cơ bản.", + "Landing_Page_IdentityModuleDescription_7": "Quản lý các loại xác nhận quyền sở hữu trong hệ thống, đặt xác nhận quyền sở hữu theo vai trò và người dùng.", + "Landing_Page_IdentityModuleDescription_8": "Trang cài đặt để quản lý độ phức tạp của mật khẩu , đăng nhập, tài khoản và khóa của người dùng.", + "Landing_Page_IdentityModuleDescription_9": "Hỗ trợ xác thực LDAP .", + "Landing_Page_IdentityModuleDescription_10": "Cung cấp xác minh email và số điện thoại .", + "Landing_Page_IdentityModuleDescription_11": "Hỗ trợ tích hợp đăng nhập xã hội (Twitter, Facebook, GitHub, v.v.).", + "Landing_Page_IdentityModuleDescription_12": "Quản lý các đơn vị tổ chức trong hệ thống.", + "Landing_Page_PaymentModuleDescription_1": "Cung cấp tích hợp cho các cổng thanh toán khác nhau.", + "Landing_Page_PaymentModuleDescription_2": "Mô-đun này cung cấp khả năng tích hợp cho các cổng thanh toán, do đó bạn có thể dễ dàng nhận thanh toán từ khách hàng của mình.", + "Landing_Page_PaymentModuleDescription_3": "Mô-đun này hỗ trợ các cổng thanh toán sau", + "Welcome_Page_UseSameCredentialForCommercialWebsites": "Sử dụng thông tin đăng nhập giống nhau cho cả Commercial.abp.iosupport.abp.io .", + "WatchCrudPagesVideo": "Xem Video "Tạo trang CRUD với ABP Suite"!", + "WatchGeneratingFromDatabaseVideo": "Xem video "ABP Suite: Tạo trang CRUD từ các bảng cơ sở dữ liệu hiện có"!", + "WatchTakeCloserLookVideo": "Hãy xem Video "Xem xét kỹ hơn về quá trình tạo mã: ABP Suite"!", + "ConfirmedEmailAddressRequiredToStartTrial": "Bạn phải có địa chỉ email đã được xác nhận để bắt đầu cấp giấy phép dùng thử.", + "EmailVerificationMailNotSent": "Thư xác minh email không thể gửi.", + "GetConfirmationEmail": "Nhấp vào đây để nhận email xác minh nếu bạn chưa nhận được email trước đó.", + "WhichLicenseTypeYouAreInterestedIn": "Loại giấy phép nào bạn quan tâm?", + "DontTakeOurWordForIt": "Đừng tin lời chúng tôi...", + "ReadAbpCommercialUsersWantYouToKnow": "Đọc những điều người dùng thương mại ABP muốn bạn biết", + "Testimonial_ShortDescription_1": "Tính mô-đun của ABP giúp nhóm có thể phân phối kịp thời.", + "Testimonial_ShortDescription_2": "Xây dựng các tính năng mới nhanh hơn trước.", + "Testimonial_ShortDescription_3": "Chúng tôi bắt đầu từ những tính năng có sẵn và chỉ tập trung vào những gì chúng tôi thực sự cần viết.", + "Testimonial_ShortDescription_4": "ABP Commercial phù hợp nhất với nhu cầu của chúng tôi.", + "OnlineReviewersOnAbpCommercial": "Đánh giá trực tuyến về ABP Commercial", + "SeeWhatToldAboutAbpCommercial": "Xem những gì đã được nói về ABP Commercial và viết suy nghĩ của bạn nếu bạn muốn.", + "BlazoriseLicense": "Chúng ta có cần mua giấy phép Blazorise không?", + "BlazoriseLicenseExplanation": "Chúng tôi có thỏa thuận giữa Volosoft và Megabit, với thỏa thuận này giấy phép Blazorise đi kèm với các sản phẩm Thương mại của ABP, do đó khách hàng của chúng tôi không cần phải mua thêm giấy phép Blazorise.", + "ExtendPaymentInfoSection_DeveloperPrice": "{0}x (các) Nhà phát triển bổ sung", + "ExtendPaymentInfoSection_DiscountRate": "Giảm giá {0}%", + "TotalNetPrice": "Tổng giá ròng", + "EFCore": "Lõi khung thực thể", + "All": "Tất cả", + "Mvc": "MVC", + "DataBaseProvider": "Nhà cung cấp dữ liệu", + "UIFramework": "Khung giao diện người dùng", + "LeptonXThemeForDashboard": "Chủ đề LeptonX cho Bảng điều khiển quản trị của bạn bằng", + "AbpPlatform": "Nền tảng ABP", + "YouDeserveGoodUXUI": "Bạn xứng đáng có giao diện người dùng tốt và UX tốt hơn. Chủ đề LeptonX của ABP sẵn sàng phục vụ nó.", + "ViewLiveDemo": "Xem bản demo chủ đề trực tiếp", + "GetLeptonX": "Nhận LeptonX ngay", + "SeeLeptonXDocumentation": "Xem tài liệu LeptonX", + "SeeLeptonDocumentation": "Xem tài liệu Lepton", + "SimplifiedMenu": "Thực đơn đơn giản", + "SimplifiedMenuDescription": "Bạn có thể dễ dàng tìm thấy trang bạn đang tìm kiếm bằng cách lọc menu", + "YourFavoritePages": "Các trang yêu thích của bạn trong tầm tay của bạn", + "YourFavoritePagesDescription": "Dễ dàng thêm hoặc xóa trang khỏi mục yêu thích bằng cách nhấp vào biểu tượng ngôi sao ở góc trên bên phải của trang.", + "BreadCrumbs": "Breadcrumb để chuyển đổi liền mạch", + "BreadCrumbsDescription": "Sử dụng Breadcrumb, bạn có thể chuyển sang các trang ở cùng cấp độ chỉ bằng một cú nhấp chuột, ngay cả khi menu bên trái bị đóng và nó hoạt động trên máy tính bảng và thiết bị di động!", + "YourMenu": "Thực đơn của bạn như bạn muốn", + "YourMenuDescription": "Tùy chỉnh các biểu tượng có thể nhấp trực tiếp và hộp thả xuống trên menu người dùng theo ý muốn. Menu người dùng hoàn toàn có thể tùy chỉnh theo nhu cầu của bạn", + "RtlSupport": "Hỗ trợ RTL cho ngôn ngữ của bạn", + "RtlSupportDescription": "Chủ đề LeptonX hỗ trợ RTL cho ngôn ngữ của bạn. Các tùy chọn ngôn ngữ nằm trong menu cài đặt để bạn thay đổi ngôn ngữ.", + "YourColors": "Màu sắc của bạn trên giao diện người dùng bảng điều khiển quản trị viên của bạn", + "YourColorsDescription": "Chủ đề LeptonX hoạt động theo tùy chọn hệ thống của bạn và có chủ đề sáng trên bảng điều khiển, chủ đề tối trên bảng điều khiển và các tùy chọn chủ đề nửa tối trên bảng điều khiển.", + "ArrangeContentWidth": "Dễ dàng sắp xếp chiều rộng nội dung của bạn", + "ArrangeContentWidthDescription": "Dễ dàng thay đổi độ rộng của khu vực nội dung của bạn.", + "LeptonXCompatibleWith": "Chủ đề LeptonX tương thích với", + "MobileResponsiveTemplate": "Mẫu đáp ứng trên thiết bị di động", + "MobileResponsiveTemplateDescription1": "Truy cập bảng điều khiển quản trị LeptonX của bạn từ bất kỳ thiết bị nào bạn thích.", + "MobileResponsiveTemplateDescription2": "Nó được thiết kế để bạn có thể dễ dàng sử dụng trên mọi thiết bị của mình. Nó đáp ứng trên các thiết bị di động và kích thước máy tính bảng.", + "TopMenuLayoutOption": "Tùy chọn bố cục menu trên cùng", + "TopMenuLayoutOptionDescription1": "Nếu bạn muốn thiết lập trang web của mình với cùng một bảng điều khiển quản trị viên, bạn có thể thực hiện điều đó với Chủ đề LeptonX!", + "TopMenuLayoutOptionDescription2": "Chỉ cần thử bố cục menu trên cùng của LeptonX để biến điều đó thành hiện thực!", + "EasilyCustomizable": "Dễ dàng tùy chỉnh cho màu sắc thương hiệu của bạn", + "EasilyCustomizableDescription1": "Bạn có thể tùy chỉnh chủ đề LeptonX chỉ bằng một vài biến SCSS. Không ghi đè, không tải CSS bổ sung!", + "EasilyCustomizableDescription2": "Với LeptonX, bạn có thể sắp xếp bảng điều khiển quản trị của mình theo cách bạn muốn.", + "IndependentLayout": "Khu vực nội dung và bố cục độc lập", + "IndependentLayoutDescription1": "Cơ sở hạ tầng bố cục của LeptonX được thiết kế hoàn toàn tách biệt với nội dung.", + "IndependentLayoutDescription2": "Điều này có nghĩa là bạn có thể tự do thiết kế dự án của mình với cấu trúc nội dung khác ngoài Bootstrap nếu muốn.", + "MostUsedLibraries": "Thư viện được sử dụng nhiều nhất được tích hợp với LeptonX", + "MostUsedLibrariesDescription1": "LeptonX chứa các thư viện được sử dụng nhiều nhất của bạn. Nó cho phép bạn sử dụng các thư viện như ApexCharts, DataTables, DropZone, FullCalender, JSTree, Select2 và Toastr một cách dễ dàng.", + "MostUsedLibrariesDescription2": "LeptonX cũng hỗ trợ các thư viện dành riêng cho MVC Angular và Blazor.", + "CreateAndCustomize": "Tạo và tùy chỉnh các trang bạn cần trong vài giây với các trang tùy chỉnh LeptonX", + "CreateAndCustomizeDescription": "Bằng cách sử dụng Chủ đề LeptonX, bạn cũng có quyền truy cập vào nhiều trang HTML được tạo sẵn. Chúng bao gồm nhiều trang như trang đăng nhập, blog, Câu hỏi thường gặp, danh sách đăng ký, hóa đơn, giá cả và quản lý tệp.", + "LeptonThemeForAdmin": "Chủ đề Lepton cho bảng điều khiển quản trị viên của bạn bằng cách", + "LeptonThemeForAdminDescription": "Chủ đề Lepton vẫn có sẵn và sẽ được duy trì. Nếu bạn muốn chuyển sang Chủ đề LeptonX với tư cách là người dùng Chủ đề Lepton, bạn có thể xem tài liệu để tìm hiểu cách thực hiện.", + "LeptonCompatibleWith": "Chủ đề Lepton tương thích với", + "BlackFridayDiscount": "Giảm giá Black Friday", + "UpgradePaymentInfoSection_DeveloperPrice": "{0} dành cho {1} nhà phát triển bổ sung", + "Upgrade": "Nâng cấp", + "Renewal": "Sự đổi mới", + "UpgradePaymentInfoSection_LicensePrice": "giấy phép {0}", + "UpgradePaymentInfoSection_LicenseRenewalPrice": "Gia hạn giấy phép", + "Total": "Tổng cộng", + "SupportPolicyFaqTitle": "Chính sách hỗ trợ của bạn là gì?", + "SupportPolicyFaqExplanation": "Chúng tôi chỉ hỗ trợ phiên bản hoạt động và phiên bản chính trước đó. Chúng tôi không đảm bảo phát hành bản vá cho phiên bản chính thứ 3 trở lên. Ví dụ: nếu phiên bản hoạt động là 7.0.0, chúng tôi sẽ phát hành bản vá cho cả 6.xx và 7.xx. Ngoài ra, chúng tôi chỉ hỗ trợ các vấn đề liên quan đến ABP Framework và ABP Commercial. Điều đó có nghĩa là không có hỗ trợ nào được cung cấp cho các ứng dụng của bên thứ 3, dịch vụ đám mây và các thư viện ngoại vi khác được các sản phẩm ABP sử dụng. Chúng tôi sẽ sử dụng những nỗ lực hợp lý về mặt thương mại để cung cấp cho khách hàng sự hỗ trợ kỹ thuật trong giờ làm việc chính thức của "Volosoft Bilisim AS". Mặt khác, chúng tôi không cam kết về thời gian phản hồi theo thỏa thuận cấp độ dịch vụ (SLA), nhưng chúng tôi sẽ cố gắng phản hồi các vấn đề kỹ thuật nhanh nhất có thể trong giờ làm việc chính thức của mình. Trừ khi có thỏa thuận đặc biệt với khách hàng, chúng tôi chỉ cung cấp hỗ trợ tại https://support.abp.io. Chúng tôi cũng có hỗ trợ qua email riêng, chỉ dành cho người có Giấy phép Doanh nghiệp.", + "TotalDevelopers": "Tổng số {0} nhà phát triển", + "CustomPurchaseExplanation": "Phù hợp với nhu cầu cụ thể của bạn", + "WhereDidYouHearAboutUs": "Bạn đã nghe về chúng tôi ở đâu?", + "Twitter": "Twitter", + "Facebook": "Facebook", + "Youtube": "YouTube", + "Google": "Google", + "Github": "GitHub", + "Friend": "Từ một người bạn", + "Other": "Khác", + "WhereDidYouHearAboutUs_explain": "Chỉ định ...", + "DeletingMemberWarningMessage": ""{0}" sẽ bị xóa khỏi danh sách nhà phát triển. Nếu muốn, sau này bạn có thể chỉ định chỗ trống này cho nhà phát triển khác.", + "AdditionalInfo": "Nếu số ghế dành cho nhà phát triển vượt quá yêu cầu của bạn, bạn có thể giảm chúng. Bạn có thể gửi email theo địa chỉ info@abp.io để xóa một số vị trí dành cho nhà phát triển của mình. Việc xóa chỗ dành cho nhà phát triển chưa sử dụng sẽ giảm chi phí gia hạn giấy phép. Nếu muốn, bạn có thể mua lại các giấy phép bổ sung dành cho nhà phát triển trong thời hạn giấy phép còn hiệu lực của mình. Lưu ý rằng, vì có {0} nhà phát triển trong gói giấy phép này nên bạn không thể giảm con số này.", + "LinkExpiredErrorMessage": "Liên kết bạn đang cố truy cập đã hết hạn.", + "ExpirationDate": "Ngày hết hạn", + "SpringCampaignDiscount": "Giảm giá chiến dịch mùa xuân", + "WhyUseAbpIoPlatform": "Tại sao tôi nên sử dụng Nền tảng ABP.IO thay vì tạo giải pháp mới từ đầu?", + "WhyUseAbpIoPlatformFaqExplanation": "Xem trang đó để được giải thích chi tiết về lý do tại sao việc sử dụng Nền tảng ABP.IO lại có lợi thế đáng kể so với việc bạn tự mình làm mọi việc.", + "EulaPageTitle": "Thỏa thuận cấp phép người dùng cuối (EULA)", + "PrivacyPolicyPageTitle": "Chính sách bảo mật - Chính sách cookie", + "TermsConditionsPageTitle": "Các điều khoản và điều kiện", + "TrainingsPageTitle": "Gói đào tạo ABP", + "ModulesPageTitle": "Mô-đun ứng dụng dựng sẵn ABP", + "Volo.AbpIo.Commercial:040001": "Khóa truy cập API không chính xác.", + "GetLepton": "Nhận Lepton ngay", + "MyOrganizations_Detail_LicenseStartDate": "Ngày bắt đầu giấy phép", + "MyOrganizations_Detail_LicenseExpiryDate": "Ngày hết hạn", + "BlazoriseSupport": "Làm cách nào để nhận được mã bản quyền Blazorise và sự hỗ trợ từ nhóm Blazorise?", + "BlazoriseSupportExplanation": "Hãy thực hiện theo các bước bên dưới để nhận được hỗ trợ từ nhóm Blazorise và nhận mã cấp phép Blazorise của bạn:", + "BlazoriseSupportExplanation1": "Đăng ký tài khoản mới tại blazorise.com/support/register bằng cùng địa chỉ email với tài khoản abp.io của bạn. Để trống mục "Khóa cấp phép". Đó phải là địa chỉ email giống với tài khoản email của bạn trên abp.io.", + "BlazoriseSupportExplanation2": "Xác minh địa chỉ email của bạn bằng cách kiểm tra hộp thư điện tử của bạn. Hãy kiểm tra hộp thư rác nếu bạn không thấy email trong hộp thư đến của mình!", + "BlazoriseSupportExplanation3": "Đăng nhập vào trang web hỗ trợ Blazorise tại blazorise.com/support/login .", + "BlazoriseSupportExplanation4": "Nếu bạn có giấy phép Thương mại ABP đang hoạt động, bạn cũng sẽ có giấy phép Blazorise PRO. Bạn có thể lấy mã cấp phép Blazorise của mình tại blazorise.com/support/user/manage/license .", + "BlazoriseSupportExplanation5": "Bạn có thể đăng câu hỏi của mình trên trang web hỗ trợ và tạo mã thông báo sản phẩm cho ứng dụng của mình.", + "AbpLiveTrainingPackages": "Gói đào tạo trực tiếp ABP", + "Releases": "phát hành", + "ReleasesDescription": "Nhật ký phát hành của ABP Commercial.", + "ReleaseDate": "Ngày phát hành", + "Labels": "Nhãn", + "PreRelease": "Phát hành trước", + "AllTypes": "Các loại", + "Enhancement": "Sự nâng cao", + "Bug": "Sâu bọ", + "Feature": "Tính năng", + "AllUIs": "Tất cả giao diện người dùng", + "MVC": "MVC", + "BlazorServer": "Máy chủ Blazor", + "MAUI": "MAUI", + "HowItWorks_Page_Title": "Làm thế nào nó hoạt động?", + "HowItWorks_Page_Description": "ABP Framework mở rộng nền tảng .NET. Vì vậy, mọi điều bạn có thể làm với giải pháp .NET đơn giản đều có thể thực hiện được với ABP Framework. Điều đó giúp bạn dễ dàng bắt đầu với thời gian học tập thấp.", + "HowItWorks_Description1": "ABP Framework mở rộng nền tảng .NET. Vì vậy, mọi điều bạn có thể làm với giải pháp .NET đơn giản đều có thể thực hiện được với ABP Framework. Điều đó giúp bạn dễ dàng bắt đầu với thời gian học tập thấp.", + "HowItWorks_Description2": "Khi bạn bắt đầu tìm hiểu và sử dụng các tính năng của ABP Framework, việc phát triển phần mềm của bạn sẽ thú vị hơn bao giờ hết.", + "HowItWorks_Description3": "Về cơ bản, trang này giải thích cách bạn sử dụng Nền tảng ABP.IO với tư cách là nhà phát triển .NET.", + "CreateANewSolution": "Tạo một giải pháp .NET mới", + "CreateANewSolution_Description1": "Mọi thứ bắt đầu bằng việc tạo một giải pháp .NET tích hợp ABP mới.", + "StartWithStartupTemplates": "Bắt đầu một trong các mẫu giải pháp khởi động dựng sẵn", + "SimpleMonolithApplicationTemplate": "Mẫu ứng dụng nguyên khối đơn giản", + "LayeredApplicationTemplate": "Mẫu ứng dụng xếp lớp", + "MicroserviceSolutionTemplate": "Mẫu giải pháp microservice", + "CreateEmptySolutionAndUseAbp": "Hoặc tạo một giải pháp .NET trống mới và tự cài đặt các gói ABP NuGet & NPM.", + "CreatingSolutionWithMultipleOptions": "Có nhiều tùy chọn Giao diện người dùng và Cơ sở dữ liệu trong khi tạo giải pháp mới.", + "UIFrameworkOptions": "Tùy chọn khung giao diện người dùng", + "DotnetSolutionWithoutDependency": "Giờ đây, bạn đã có giải pháp .NET thông thường trên máy tính cục bộ của mình mà không phụ thuộc vào nền tảng đám mây hoặc dịch vụ bên ngoài.", + "CheckTheDocumentForDetails": "Bạn có thể kiểm tra tài liệu {1} để biết chi tiết.", + "UIAndDatabaseIndependent": "ABP có thể hoạt động với mọi giao diện người dùng và bất kỳ nhà cung cấp cơ sở dữ liệu nào được .NET hỗ trợ. \n Tuy nhiên, các nhà cung cấp cơ sở dữ liệu và giao diện người dùng này được tích hợp sẵn và được ghi chép đầy đủ.", + "InstallAbpModules": "Cài đặt mô-đun ABP", + "DevelopYourSolution": "Phát triển giải pháp của bạn", + "DeployAnywhere": "Triển khai mọi nơi", + "InstallAbpModule_Description1": "ABP là một khung phát triển ứng dụng mô-đun. Các mẫu giải pháp khởi động đã được cài đặt sẵn các mô-đun thiết yếu. \n Nhưng có nhiều mô-đun ứng dụng hơn mà bạn có thể muốn sử dụng trong giải pháp của mình.", + "InstallAbpModule_Description2": "Mỗi mô-đun bao gồm một số gói NuGet và NPM và có tài liệu cài đặt. ABP Suite thực hiện hầu hết công việc một cách tự động, sau đó bạn định cấu hình hoặc tinh chỉnh mô-đun theo cách thủ công dựa trên tài liệu của nó.", + "DevelopYourSolution_Description1": "Cơ sở hạ tầng của ABP giúp bạn tập trung vào mã doanh nghiệp của riêng mình bằng cách tự động hóa công việc lặp đi lặp lại và cung cấp các tính năng ứng dụng và cơ sở hạ tầng dựng sẵn.", + "DevelopYourSolution_Description2": "Trong khối mã sau, bạn có thể thấy cách Khung ABP tích hợp liền mạch vào mã của bạn và tự động hóa các tác vụ lặp đi lặp lại cho bạn.", + "DevelopYourSolution_Description3": "Ngay cả trong khối shortcode này, ABP cũng làm được rất nhiều thứ cho bạn.", + "DevelopYourSolution_Description4": "Nó cung cấp các lớp cơ sở để áp dụng các quy ước, như chèn phụ thuộc \n . Các dịch vụ kho lưu trữ chung \n cung cấp một cách thức \n thuận tiện để tương tác với cơ sở dữ liệu. Ủy quyền khai báo \n hoạt động với hệ thống cấp phép được tinh chỉnh.", + "DevelopYourSolution_Description5": "ABP hoàn toàn tự động hóa đơn vị công việc \n (để kết nối cơ sở dữ liệu và quản lý giao dịch), xử lý ngoại lệ \n , xác thực \n \n và ghi nhật ký kiểm tra . Nó cung cấp nhiều khối xây dựng hơn để đơn giản hóa các tác vụ phát triển hàng ngày của bạn và tập trung vào mã của riêng bạn trong khi tạo các ứng dụng \n sẵn sàng sản xuất.", + "DevelopYourSolution_Description6": "Bạn có thể tưởng tượng khối mã đó có thể dài và phức tạp đến mức nào nếu bạn thực hiện tất cả theo cách thủ công.", + "SuiteCrudGenerationInFewSeconds": "Ngoài việc mã hóa thủ công giải pháp của mình, bạn có thể tạo các trang CRUD nâng cao hoạt động hoàn chỉnh trong vài phút bằng cách sử dụng công cụ ABP Suite. Nó tạo mã vào giải pháp của bạn để bạn có thể tinh chỉnh mã dựa trên yêu cầu tùy chỉnh của mình.", + "DeployAnywhere_Description1": "Vào cuối ngày, bạn có một giải pháp .NET thuần túy. Bạn có thể triển khai giải pháp của mình tới máy chủ của riêng mình, lên nền tảng đám mây, tới Kubernetes hoặc bất cứ nơi nào bạn muốn. Bạn có thể triển khai tới bao nhiêu máy chủ tùy thích. ABP là một công cụ bất khả tri về môi trường triển khai.", + "ExpertiseAbpFramework": "Kiến thức chuyên môn về Khung ABP", + "ExpertiseAbpFramework_Description1": "Bạn muốn vượt xa những điều cơ bản và có được kiến thức chuyên môn với Nền tảng ABP.IO?", + "FreeDownload": "Tải xuống miễn phí", + "Read": "Đọc", + "HavingTrouble": "Gặp rắc rối?", + "HavingTrouble_Description1": "Bạn có gặp vấn đề với việc phát triển giải pháp của mình không? Chúng tôi ở đây! Sử dụng nền tảng Hỗ trợ ABP \n hoặc gửi email để nhận trợ giúp trực tiếp từ các thành viên nhóm Core ABP Framework.", + "WeAreHereToHelp_Description1": "Bạn có thể duyệt qua các chủ đề trợ giúp của chúng tôi hoặc tìm kiếm trong các câu hỏi thường gặp, \n hoặc bạn có thể đặt câu hỏi cho chúng tôi bằng cách sử dụng biểu mẫu liên hệ.", + "OtherModules": "Các mô-đun khác", + "OtherModules_Description1": "Tài khoản, Ghi nhật ký kiểm tra, Trò chuyện, Bộ CMS, Quản lý tệp, Biểu mẫu, GDPR, Danh tính, Quản lý ngôn ngữ, Thanh toán, Saas, v.v...", + "HowItWorks_DatabaseProviderOptions": "Tùy chọn nhà cung cấp cơ sở dữ liệu", + "SeeFAQ": "Xem câu hỏi thường gặp", + "ReleaseLogs": "Nhật ký phát hành", + "ReleaseLogs_Tag": "{0} Nhật ký phát hành", + "ReleaseLogs_Pr": "Kéo Yêu cầu #{0} - {1}", + "NoLabels": "Không nhãn hiệu", + "DoesTheSubscriptionRenewAutomatically": "Đăng ký có tự động gia hạn không?", + "DoesTheSubscriptionRenewAutomaticallyExplanation": "ABP Commercial không có mô hình thanh toán tự động gia hạn. Do đó, đăng ký của bạn sẽ không được tự động gia hạn khi kết thúc thời hạn cấp phép. Nếu muốn tiếp tục hưởng các quyền lợi của ABP Commercial, bạn cần gia hạn thủ công tại trang quản lý tổ chức . Nếu bạn có nhiều tổ chức, hãy nhấp vào nút "Quản lý" tại tổ chức sắp hết hạn của bạn, sau đó nhấp vào nút "Gia hạn ngay" để gia hạn giấy phép của bạn. Bạn cũng có thể muốn xem phần Điều gì xảy ra khi giấy phép của tôi hết hạn? phần.", + "ExtraQuestionCreditsFaqTitle": "Tôi có thể mua thêm tín dụng câu hỏi hỗ trợ không?", + "ExtraQuestionCreditsFaqExplanation": "Vâng, bạn có thể. Để mua thêm tín dụng câu hỏi, hãy gửi e-mail đến info@abp.io kèm theo tên tổ chức của bạn. Đây là bảng giá cho các khoản tín dụng câu hỏi bổ sung:
  • Gói 50 câu hỏi $999
  • Gói 25 câu hỏi $625
  • Gói 15 câu hỏi $450
", + "AlreadyBetaTester": "Bạn đã tham gia chương trình thử nghiệm beta.", + "AbpStudio": "Studio ABP", + "AbpStudio_Description": "ABP Studio vẫn đang được phát triển. Bạn có thể điền vào biểu mẫu bên dưới để trở thành một trong những người dùng đầu tiên.", + "AbpStudio_Description1": "ABP Studio là một ứng dụng máy tính để bàn đa nền tảng dành cho các nhà phát triển ABP.", + "AbpStudio_Description2": "Nó được tích hợp tốt với ABP Framework và nhằm mục đích cung cấp một môi trường phát triển thoải mái cho bạn bằng cách tự động hóa mọi thứ, cung cấp thông tin chi tiết về giải pháp của bạn, giúp việc phát triển, chạytriển khai các giải pháp của bạn dễ dàng hơn nhiều.", + "AbpStudio_ComingSoon": "Sắp ra mắt Ngày phát hành beta dự kiến: Quý 4 năm 2023.", + "AbpStudio_PlannedPreviewDate": "Ngày phát hành bản xem trước dự kiến: Quý 4 năm 2023.", + "BetaRequest": "Yêu cầu thử nghiệm", + "CreateNewSolutions": "Tạo giải pháp mới", + "CreateNewSolutions_Description1": "Bạn có thể tạo từ các ứng dụng đơn giản đến các giải pháp nguyên khối mô-đun hoặc microservice một cách dễ dàng với rất nhiều tùy chọn. Bạn nhận được giải pháp phần mềm cơ sở đầy đủ, sẵn sàng sản xuất cho doanh nghiệp của mình.", + "ArchitectYourSolutions": "Kiến trúc sư giải pháp của bạn", + "ArchitectYourSolutions_Description1": "Xây dựng cấu trúc giải pháp nguyên khối-mô-đun và vi dịch vụ dễ dàng hơn bằng cách tạo mô-đun hoặc dịch vụ và thiết lập mối quan hệ giữa chúng. Bạn cũng có thể cài đặt hoặc gỡ cài đặt các mô-đun ứng dụng dựng sẵn.", + "ExploreYourSolution": "Khám phá giải pháp của bạn", + "ExploreYourSolution_Description1": "ABP Studio hiển thị chế độ xem cấp cao về các thành phần trong giải pháp của bạn và các mô-đun mà giải pháp của bạn phụ thuộc vào. Bạn có thể khám phá các thực thể, dịch vụ, API HTTP và nhiều hơn thế nữa mà không cần mở cơ sở mã của mình.", + "RunMultiApplicationOrMicroserviceSolutionsInABreeze": "Chạy các giải pháp đa ứng dụng hoặc vi dịch vụ một cách nhanh chóng", + "RunMultiApplicationOrMicroserviceSolutionsInABreeze_Description1": "Chạy một, nhiều hoặc tất cả các dịch vụ chỉ bằng một cú nhấp chuột. Bằng cách này, rất dễ dàng để dừng một dịch vụ, chạy nó trong Visual Studio để kiểm tra hoặc gỡ lỗi .", + "RunMultiApplicationOrMicroserviceSolutionsInABreeze_Description2": "Xem danh sách dịch vụ, xem Yêu cầu HTTP theo thời gian thựcsố lượng ngoại lệ cho từng dịch vụ.", + "RunMultiApplicationOrMicroserviceSolutionsInABreeze_Description3": "Xem tất cả thông tin chi tiết về tất cả các yêu cầu HTTP đến bất kỳ dịch vụ nào.", + "RunMultiApplicationOrMicroserviceSolutionsInABreeze_Description4": "Khám phá chi tiết ngoại lệ theo thời gian thực trong bất kỳ dịch vụ nào, dễ dàng lọc và tìm kiếm.", + "RunMultiApplicationOrMicroserviceSolutionsInABreeze_Description5": "Hiển thị nhật ký ứng dụng , lọc theo cấp độ nhật ký hoặc tìm kiếm theo văn bản..", + "RunMultiApplicationOrMicroserviceSolutionsInABreeze_Description6": "Duyệt qua giao diện người dùng của ứng dụng của bạn mà không cần rời khỏi trình chạy giải pháp.", + "IntegrateToYourKubernetesCluster": "Tích hợp với Cụm Kubernetes của bạn", + "IntegrateToYourKubernetesCluster_Description1": "Kết nối môi trường phát triển cục bộ của bạn với cụm Kubernetes cục bộ hoặc từ xa , trong đó cụm đó đã chạy giải pháp vi dịch vụ của bạn.", + "IntegrateToYourKubernetesCluster_Description2": "Truy cập bất kỳ dịch vụ nào trong Kubernetes với tên dịch vụ là DNS, giống như chúng đang chạy trên máy tính cục bộ của bạn.", + "IntegrateToYourKubernetesCluster_Description3": "Chặn bất kỳ dịch vụ nào trong cụm đó, do đó, tất cả lưu lượng truy cập đến dịch vụ bị chặn sẽ tự động được chuyển hướng đến dịch vụ đang chạy trên máy cục bộ của bạn . Khi dịch vụ của bạn cần sử dụng bất kỳ dịch vụ nào trong Kubernetes, lưu lượng truy cập sẽ được chuyển hướng trở lại cụm, giống như dịch vụ cục bộ của bạn đang chạy bên trong Kubernetes.", + "GetInformed": "Nhận thông tin", + "Studio_GetInformed_Description1": "Để lại thông tin liên hệ của bạn để được thông báodùng thử trước khi ABP Studio ra mắt.", + "Studio_GetInformed_Description2": "Ngày phát hành bản xem trước dự kiến: Quý 3 năm 2023.", + "ThankYou!": "Cảm ơn!", + "SendBetaRequest": "Gửi yêu cầu Beta", + "YouJoinedTheBetaTesterProgram": "Bạn đã tham gia chương trình thử nghiệm beta của ABP Studio.", + "PricingExplanation2": "Đảm bảo hoàn tiền trong 30 ngày — Tìm hiểu thêm", + "MoneyBackGuaranteeText": "* Đảm bảo hoàn tiền trong 30 ngày cho tất cả các giấy phép! Hoàn tiền 100% cho Nhóm, hoàn tiền 60% cho giấy phép Kinh doanh và Doanh nghiệp trong vòng 30 ngày.", + "MobileApplicationStartupTemplates": "Mẫu khởi động ứng dụng di động", + "MobileApplicationStartupTemplates_Description1": "Các mẫu khởi động ứng dụng di động tích hợp cho các giải pháp Thương mại ABP của bạn.", + "CreatePowerfulLineOfBusinessApplicationsUsingABPMobileStartupTemplates": "Tạo các ứng dụng kinh doanh mạnh mẽ bằng cách sử dụng Mẫu khởi động di động ABP", + "CreatePowerfulLineOfBusinessApplicationsUsingABPMobileStartupTemplates_Description1": "ABP Commercial cung cấp hai mẫu khởi động ứng dụng di động được triển khai bằng React Native.NET MAUI. Khi tạo giải pháp dựa trên ABP mới, bạn cũng sẽ có các ứng dụng khởi động cơ bản được kết nối với API phụ trợ của mình.", + "CreatePowerfulLineOfBusinessApplicationsUsingABPMobileStartupTemplates_Description2": "Ứng dụng có chu trình mã thông báo xác thực được xây dựng sẵn, hỗ trợ đa ngôn ngữ, hỗ trợ nhiều người thuê, đăng nhập, quên mật khẩu, quản lý hồ sơ và trang quản lý người dùng . Bạn có thể thêm logic kinh doanh của riêng mình và tùy chỉnh nó dựa trên yêu cầu của bạn.", + "TwoFrameworkOptions": "Hai tùy chọn khung", + "TwoFrameworkOptions_Description": "ABP cung cấp cả mẫu khởi động di động React Native.NET MAUI . Bằng cách này, bạn có thể chọn một trong những phù hợp nhất với nhu cầu của bạn. Cả hai ứng dụng đều sử dụng lại mã ở tỷ lệ cao nhất giữa nền tảng iOS và Android.", + "PreIntegratedToYourBackend": "Được tích hợp sẵn vào phần cuối của bạn", + "PreIntegratedToYourBackend_Description": "Các ứng dụng ABP Mobile được tích hợp sẵn vào API phụ trợ của bạn. Nó nhận được mã thông báo xác thực hợp lệ từ máy chủ và thực hiện các yêu cầu được xác thực.", + "MultiLanguage": "Đa ngôn ngữ", + "MultiLanguage_Description": "Nó đã hỗ trợ hơn 10 ngôn ngữ. Bạn cũng có thể thêm các ngôn ngữ tiếp theo.", + "Arabic": "tiếng Ả Rập", + "Czech": "tiếng Séc", + "English": "Tiếng Anh", + "Hungarian": "người Hungary", + "Finnish": "tiếng Phần Lan", + "French": "người Pháp", + "Hindi": "Tiếng Hindi", + "Portuguese": "tiếng Bồ Đào Nha", + "Italian": "người Ý", + "Russian": "tiếng Nga", + "Slovak": "Tiếng Slovak", + "Turkish": "tiếng Thổ Nhĩ Kỳ", + "EngageAndRetainYourCustomersWithABPMobileApps": "Thu hút và giữ chân khách hàng của bạn bằng ứng dụng di động ABP", + "EngageAndRetainYourCustomersWithABPMobileApps_Description1": "Khách hàng của bạn muốn quản lý sản phẩm và đăng ký của họ từ mọi nơi, mọi lúc. Điều đó đòi hỏi các tổ chức phải tạo ra các ứng dụng di động cho phép khách hàng thực hiện yêu cầu của họ một cách nhanh chóng và liền mạch.", + "EngageAndRetainYourCustomersWithABPMobileApps_Description2": "Với ứng dụng ABP Mobile, bạn có thể tạo các ứng dụng di động gốc chất lượng cao cho Android và iOS… Sử dụng một cơ sở mã duy nhất mà không ảnh hưởng đến tính bảo mật, chất lượng hoặc khả năng mở rộng.", + "OneCodeBaseMultipleDevices": "Một cơ sở mã Nhiều thiết bị", + "OneCodeBaseMultipleDevices_Description": "Các ứng dụng ABP Mobile đa nền tảng. Chúng sẵn sàng để được cài đặt và chạy trên các thiết bị iOS và Android, đồng thời chúng thích ứng với các kiểu dáng khác nhau bằng cách sử dụng một cơ sở mã duy nhất. Nhà phát triển chỉ cần tạo giao diện người dùng và mã giao diện người dùng một lần, không cần điều chỉnh mã cho từng thiết bị bạn muốn hỗ trợ.", + "ComesWithTheSourceCode": "Đi kèm với mã nguồn", + "ComesWithTheSourceCode_Description": "Các ứng dụng di động được cung cấp mã nguồn. Dễ dàng tùy chỉnh UX/UI của ứng dụng của bạn để đáp ứng các nguyên tắc xây dựng thương hiệu.", + "Purchase_OneYearPrice": "Giá 1 năm", + "Purchase_DeveloperSeatCount": "Số chỗ dành cho nhà phát triển", + "Purchase_DevelopersAlreadyIncluded": "{0} nhà phát triển đã được bao gồm", + "1Year": "1 năm", + "{0}Years": "{0} năm", + "1YearLicense": "Giấy phép 1 năm", + "{0}YearsLicense": "Giấy phép {0} năm", + "1AdditionalDeveloper": "1 nhà phát triển bổ sung", + "{0}AdditionalDevelopers": "{0} Nhà phát triển bổ sung", + "Discount": "Giảm giá ({0}%)", + "Summary": "Bản tóm tắt", + "TrainingPack": "Gói đào tạo", + "TrainingPackDiscount": "Giảm giá gói đào tạo", + "Purchase_OnboardingTraining_Description": "Gói đào tạo trực tiếp này áp dụng cho lớp 8 học viên và mức giảm giá này chỉ có hiệu lực khi mua bằng giấy phép mới. Tìm hiểu thêm", + "Purchase_Save": "{0}% Tiết kiệm {1} {2}", + "RemoveBasket": "Xóa khỏi giỏ", + "WhyABPIOPlatform?": "Tại sao nên sử dụng nền tảng ABP.IO ?", + "DocumentAim": "Tài liệu này nhằm trả lời câu hỏi lớn:", + "DocumentAim_Description": ""Tại sao bạn nên sử dụng Nền tảng ABP.IO thay vì tạo giải pháp mới từ đầu?"", + "DocumentAim_Description2": "Tài liệu này giới thiệu những thách thức trong việc xây dựng giải pháp phần mềm hiện đại và giải thích cách ABP giải quyết những thách thức này.", + "CreatingANewSolution": "Tạo một giải pháp mới", + "CreatingANewSolution_Description": "Khi cần bắt đầu một giải pháp mới, có rất nhiều câu hỏi bạn cần tự hỏi mình và bạn nên dành nhiều thời gian trước khi bắt đầu viết mã kinh doanh đầu tiên của mình.", + "CreatingAnEmptySolution": "Tạo một giải pháp trống", + "THEPROBLEM": "VẤN ĐỀ", + "CreatingAnEmptySolution_THEPROBLEM_Description": "Ngay cả việc tạo ra một giải pháp gần như trống rỗng cũng là một thách thức;", + "CreatingAnEmptySolution_THEPROBLEM_Description2": "Bạn tổ chức cơ sở mã của mình cho các dự án như thế nào?", + "CreatingAnEmptySolution_THEPROBLEM_Description3": "Các lớp là gì và chúng tương tác như thế nào?", + "CreatingAnEmptySolution_THEPROBLEM_Description4": "Làm cách nào để tích hợp với thư viện và hệ thống của bên thứ 3?", + "CreatingAnEmptySolution_THEPROBLEM_Description5": "Làm cách nào để thiết lập các bài kiểm tra tự động?", + "ABPSOLUTION": "GIẢI PHÁP ABP", + "CreatingAnEmptySolution_ABPSOLUTION_Description": "ABP cung cấp giải pháp khởi động có kiến trúc tốt, phân lớp và sẵn sàng sản xuất dựa trên các nguyên tắc Thiết kế hướng miền . Giải pháp này cũng bao gồm một đơn vị được cấu hình sẵn và các dự án thử nghiệm tích hợp cho từng lớp.", + "CommonLibraries": "Thư viện chung", + "CommonLibraries_THEPROBLEM_Description": "Bạn nên sử dụng thư viện nào để triển khai các yêu cầu chung? Hệ sinh thái phát triển phần mềm rất năng động, khiến việc theo kịp các công cụ, thư viện, xu hướng và cách tiếp cận mới nhất trở nên khó khăn.", + "CommonLibraries_ABPSOLUTION_Description": "ABP tích hợp sẵn các thư viện phổ biến, hoàn thiện và cập nhật vào giải pháp. Bạn không cần phải mất thời gian tích hợp chúng hoặc khiến chúng giao tiếp với nhau. Chúng hoạt động bình thường ngay từ đầu.", + "UITheme&Layout": "Chủ đề & bố cục giao diện người dùng", + "UITheme&Layout_THEPROBLEM_Description": "Khi giải quyết các mối lo ngại về giao diện người dùng, một loạt thách thức sẽ xuất hiện. Chúng bao gồm việc thiết lập nền tảng cho bộ giao diện người dùng đáp ứng, hiện đại và có thể thích ứng với giao diện nhất quán và một loạt các tính năng như menu điều hướng, tiêu đề, thanh công cụ, chân trang, tiện ích, v.v.", + "UITheme&Layout_THEPROBLEM_Description2": "Ngay cả khi bạn chọn một chủ đề được thiết kế sẵn, việc tích hợp liền mạch nó vào dự án của bạn có thể cần nhiều ngày phát triển. Một trở ngại nữa nằm ở việc nâng cấp các chủ đề như vậy. Thông thường, cấu trúc HTML/CSS của chủ đề trở nên gắn bó với mã giao diện người dùng của bạn, hiển thị các thay đổi chủ đề trong tương lai hoặc nâng cấp các tác vụ phức tạp. Sự đan xen giữa mã và thiết kế này làm phức tạp tính linh hoạt của việc thực hiện các điều chỉnh về sau.", + "UITheme&Layout_ABPSOLUTION_Description": "ABP Framework cung cấp một hệ thống tạo chủ đề đặc biệt giúp giải phóng mã giao diện người dùng của bạn khỏi các ràng buộc về chủ đề. Các chủ đề tồn tại riêng biệt, được đóng gói dưới dạng gói NuGet hoặc NPM, khiến việc cài đặt hoặc nâng cấp chủ đề chỉ mất vài phút. Trong khi bạn giữ lại tùy chọn phát triển chủ đề tùy chỉnh của mình hoặc tích hợp chủ đề hiện có, ABP Commercial giới thiệu một bộ sưu tập các chủ đề hiện đại và tinh tế.", + "UITheme&Layout_ABPSOLUTION_Description2": "Ngoài ra, còn có các nhà cung cấp thành phần UI như Telerik và DevExpress. Tuy nhiên, những nhà cung cấp này chủ yếu cung cấp các thành phần riêng lẻ, đặt trách nhiệm thiết lập hệ thống bố trí của bạn lên vai bạn. Khi làm việc trong các dự án dựa trên ABP, bạn có thể kết hợp liền mạch các thư viện này, tương tự như cách bạn thực hiện trong bất kỳ dự án nào khác.", + "TestInfrastructure": "Cơ sở hạ tầng thử nghiệm", + "TestInfrastructure_THEPROBLEM_Description": "Thiết lập một môi trường thử nghiệm mạnh mẽ là một nỗ lực tốn thời gian. Nó bao gồm việc thiết lập các dự án thử nghiệm chuyên dụng trong giải pháp của bạn, lựa chọn cẩn thận các công cụ cần thiết, tạo các mô hình dịch vụ và cơ sở dữ liệu, tạo các lớp cơ sở thiết yếu và các dịch vụ tiện ích để giảm thiểu mã dư thừa trong các thử nghiệm và giải quyết các nhiệm vụ liên quan khác nhau.", + "TestInfrastructure_ABPSOLUTION_Description": "Mẫu khởi động ABP được trang bị sẵn các dự án thử nghiệm đã được định cấu hình, hợp lý hóa quy trình cho bạn. Điều này có nghĩa là ngay từ ngày đầu tiên, bạn có thể dễ dàng bắt đầu viết mã kiểm tra tích hợp hoặc đơn vị ban đầu của mình mà không bị chậm trễ.", + "CodingStandards&Training": "Tiêu chuẩn và đào tạo mã hóa", + "CodingStandards&Training_THEPROBLEM_Description": "Sau khi thiết lập giải pháp để phát triển, bạn thường phải hướng dẫn các nhà phát triển cách hệ thống hoạt động và cách xây dựng nó bằng các phương pháp đã được thống nhất. Ngay cả khi bạn đào tạo họ, việc cập nhật tài liệu vẫn có thể khó khăn. Theo thời gian, mỗi nhà phát triển có thể viết mã theo cách riêng của họ, khiến các quy tắc viết mã trở nên khác nhau.", + "CodingStandards&Training_ABPSOLUTION_Description": "Giải pháp ABP đã được sắp xếp gọn gàng và có giải thích rõ ràng. Hướng dẫn và hướng dẫn từng bước chỉ cho bạn chính xác cách làm việc trên dự án ABP.", + "KeepingYourSolutionUpToDate": "Luôn cập nhật giải pháp của bạn", + "KeepingYourSolutionUpToDate_THEPROBLEM_Description": "Sau khi bắt đầu phát triển, bạn phải theo dõi các phiên bản mới của thư viện bạn sử dụng để nâng cấp và vá lỗi.", + "KeepingYourSolutionUpToDate_ABPSOLUTION_Description": "Chúng tôi thường xuyên cập nhật tất cả các gói lên phiên bản mới nhất và kiểm tra chúng trước khi phát hành ổn định. Khi bạn cập nhật ABP Framework, tất cả các phần phụ thuộc của nó sẽ được nâng cấp lên công nghệ biên.", + "DRY": "Đừng lặp lại chính mình!", + "DRY_Description": "Việc tạo ra một giải pháp cơ bản cần có thời gian đáng kể và đòi hỏi kinh nghiệm kiến trúc tốt. Tuy nhiên, đây chỉ là sự khởi đầu! Khi bắt đầu phát triển, bạn có thể sẽ phải viết rất nhiều mã lặp đi lặp lại; Sẽ thật tuyệt nếu tất cả điều này có thể được xử lý tự động.", + "DRY_Description2": "ABP tự động hóa và đơn giản hóa việc lặp lại mã nhiều nhất có thể bằng cách tuân theo quy ước về nguyên tắc cấu hình. Tuy nhiên, nó không hạn chế bạn khi cần chuyển sang số tay. Quyền kiểm soát luôn nằm trong tay bạn.", + "Authentication": "Xác thực", + "Authentication_THEPROBLEM_Description": "Đăng nhập một lần, Tích hợp Active Directory / LDAP, tích hợp OpenIddict, đăng nhập mạng xã hội, xác thực hai yếu tố, quên/đặt lại mật khẩu, kích hoạt email, đăng ký người dùng mới, kiểm soát độ phức tạp của mật khẩu, khóa tài khoản khi thử không thành công, hiển thị các lần đăng nhập không thành công... v.v... Chúng tôi biết rằng tất cả những yêu cầu chung này đều quen thuộc với bạn. Bạn không cô đơn!", + "Authentication_ABPSOLUTION_Description": "ABP Framework và phiên bản thương mại cung cấp tất cả nội dung tiêu chuẩn này được triển khai sẵn cho bạn dưới dạng mô-đun tài khoản có thể sử dụng lại. Bạn chỉ cần kích hoạt và cấu hình những gì bạn cần.", + "CrossCuttingConcerns": "Mối quan tâm xuyên suốt", + "CrossCuttingConcerns_THEPROBLEM_Description": "Mối quan tâm xuyên suốt là logic lặp lại cơ bản cần được triển khai cho từng trường hợp sử dụng. Vài ví dụ;", + "CrossCuttingConcerns_THEPROBLEM_Description2": "Bắt đầu giao dịch, cam kết thành công và khôi phục lỗi.", + "CrossCuttingConcerns_THEPROBLEM_Description3": "Xử lý và báo cáo các trường hợp ngoại lệ, trả về phản hồi lỗi thích hợp cho máy khách và xử lý các trường hợp lỗi ở phía máy khách.", + "CrossCuttingConcerns_THEPROBLEM_Description4": "Triển khai ủy quyền và xác thực, trả lại phản hồi thích hợp và xử lý những phản hồi này ở phía khách hàng.", + "CrossCuttingConcerns_ABPSOLUTION_Description": "ABP Framework tự động hóa hoặc đơn giản hóa tất cả các mối quan tâm xuyên suốt phổ biến. Bạn chỉ viết mã quan trọng cho doanh nghiệp của mình và ABP xử lý phần còn lại theo quy ước.", + "ArchitecturalInfrastructure": "Hạ tầng kiến trúc", + "ArchitecturalInfrastructure_THEPROBLEM_Description": "Bạn thường cần xây dựng cơ sở hạ tầng để triển khai kiến trúc của mình đúng cách. Ví dụ: bạn thường triển khai mẫu Kho lưu trữ. Bạn xác định một số lớp cơ sở để đơn giản hóa và tiêu chuẩn hóa nhằm tạo ra các thực thể, dịch vụ, bộ điều khiển và các đối tượng khác.", + "ArchitecturalInfrastructure_ABPSOLUTION_Description": "ABP Framework cung cấp tất cả những điều này và hơn thế nữa. Nó đã trưởng thành và được ghi chép đầy đủ.", + "EnterpriseApplicationRequirements": "Yêu cầu ứng dụng doanh nghiệp", + "EnterpriseApplicationRequirements_THEPROBLEM_Description": "Có rất nhiều yêu cầu bạn phải thực hiện nhiều lần trong mọi ứng dụng kinh doanh;", + "EnterpriseApplicationRequirements_THEPROBLEM_Description2": "Hệ thống phân quyền chi tiết và quản lý quyền trên UI dựa trên vai trò và người dùng.", + "EnterpriseApplicationRequirements_THEPROBLEM_Description3": "Viết nhật ký kiểm tra và lịch sử thực thể để theo dõi khi người dùng sửa đổi bản ghi cơ sở dữ liệu.", + "EnterpriseApplicationRequirements_THEPROBLEM_Description4": "Thực hiện xóa mềm các thực thể của bạn để chúng được đánh dấu là đã xóa thay vì xóa vật lý khỏi cơ sở dữ liệu và tự động lọc các thực thể đã xóa theo truy vấn của bạn.", + "EnterpriseApplicationRequirements_THEPROBLEM_Description5": "Tạo các phần tóm tắt và trình bao bọc để sử dụng API phụ trợ của bạn từ mã giao diện người dùng.", + "EnterpriseApplicationRequirements_THEPROBLEM_Description6": "Xếp hàng và thực hiện các công việc nền.", + "EnterpriseApplicationRequirements_THEPROBLEM_Description7": "Xử lý nhiều múi giờ trong một hệ thống toàn cầu.", + "EnterpriseApplicationRequirements_THEPROBLEM_Description8": "Chia sẻ xác thực, bản địa hóa, logic ủy quyền giữa máy chủ và máy khách.", + "EnterpriseApplicationRequirements_ABPSOLUTION_Description": "ABP cung cấp cơ sở hạ tầng để thực hiện các yêu cầu đó một cách dễ dàng. Một lần nữa, bạn không dành thời gian quý báu của mình để thực hiện lại tất cả những điều này.", + "GeneratingInitialCode&Tooling": "Tạo mã và công cụ ban đầu", + "GeneratingInitialCode&Tooling_THEPROBLEM_Description": "Bạn sẽ xây dựng nhiều trang tương tự trong một ứng dụng web thông thường. Hầu hết trong số họ sẽ thực hiện các hoạt động CRUD tương tự. Việc tạo nhiều trang như vậy rất tẻ nhạt và dễ xảy ra lỗi.", + "GeneratingInitialCode&Tooling_ABPSOLUTION_Description": "ABP Suite có thể tạo trang CRUD đầy đủ cho các thực thể của bạn trong vài giây. Mã được tạo ra được xếp lớp và sạch sẽ. Tất cả các yêu cầu xác nhận và ủy quyền tiêu chuẩn đều được thực hiện. Ngoài ra, các lớp kiểm tra đơn vị được tạo ra. Khi bạn có được một trang đang chạy hoàn chỉnh, bạn có thể sửa đổi nó theo yêu cầu kinh doanh của mình.", + "IntegratingTo3rdPartyLibrariesAndSystems": "Tích hợp với các thư viện và hệ thống của bên thứ 3", + "IntegratingTo3rdPartyLibrariesAndSystems_THEPROBLEM_Description": "Hầu hết các thư viện đều được thiết kế ở cấp độ thấp và bạn thường thực hiện một số công việc để tích hợp chúng đúng cách mà không lặp lại cùng một mã cấu hình và tích hợp ở mọi nơi trong giải pháp của mình. Ví dụ: giả sử bạn phải sử dụng RabbitMQ để triển khai bus sự kiện phân tán của mình. Tất cả những gì bạn muốn làm là; gửi tin nhắn đến hàng đợi và xử lý các tin nhắn đến. Nhưng bạn cần hiểu các kiểu nhắn tin, hàng đợi và chi tiết trao đổi. Để viết mã hiệu quả, bạn phải tạo một nhóm để quản lý các kết nối, ứng dụng khách và kênh. Bạn cũng phải xử lý các trường hợp ngoại lệ, tin nhắn ACK, kết nối lại với RabbitMQ khi gặp lỗi và hơn thế nữa.", + "IntegratingTo3rdPartyLibrariesAndSystems_ABPSOLUTION_Description": "Ví dụ: tích hợp Bus sự kiện phân tán RabbitMQ của ABP tóm tắt tất cả các chi tiết này. Bạn gửi và nhận tin nhắn mà không có sự hối hả và nhộn nhịp. Bạn có cần viết mã cấp thấp không? Không vấn đề gì, bạn luôn có thể làm điều đó. ABP không hạn chế bạn khi cần sử dụng các tính năng cấp thấp của thư viện bạn đang sử dụng.", + "WhyNotBuildYourOwnFramework?": "Tại sao không xây dựng khuôn khổ của riêng bạn?", + "WhyNotBuildYourOwnFramework_THEPROBLEM_Description": "Tất cả cơ sở hạ tầng, ngay cả theo cách đơn giản nhất, đều mất rất nhiều thời gian để xây dựng, bảo trì và ghi chép. Nó sẽ lớn hơn theo thời gian và việc duy trì nó trong giải pháp của bạn trở nên khó khăn hơn. Việc tách chúng thành một dự án có thể sử dụng lại là điểm khởi đầu để xây dựng khuôn khổ nội bộ của riêng bạn.", + "WhyNotBuildYourOwnFramework_THEPROBLEM_Description2": "Xây dựng, ghi chép, đào tạo và duy trì một khuôn khổ nội bộ thực sự khó khăn. Nếu bạn không có một nhóm khung chuyên dụng, có kinh nghiệm, khung nội bộ của bạn sẽ nhanh chóng trở thành một mã kế thừa không có giấy tờ mà không ai có thể hiểu và duy trì được nữa. Mặt khác, các framework này thường được phát triển bởi một hoặc hai nhà phát triển trong nhóm. Và những người này đang trở thành một hầm chứa kiến thức. Điều đó tốt cho họ nhưng lại không tốt cho công ty vì họ là điểm thất bại duy nhất của dự án -SPOF- . Một khi họ rời công ty, dự án sẽ đi xuống một cách đáng kể.", + "WhyNotBuildYourOwnFramework_ABPSOLUTION_Description": "ABP Framework là một khung ứng dụng chung, được hướng dẫn bởi cộng đồng, được ghi chép đầy đủ và hoàn thiện. Một nhóm các nhà phát triển giàu kinh nghiệm đang làm việc chăm chỉ để giữ cho nó luôn cập nhật, dễ hiểu và thoải mái khi sử dụng. Việc sử dụng khung ổn định như vậy sẽ giúp bạn tập trung vào mã doanh nghiệp của riêng mình và nhận trợ giúp về khung từ các chuyên gia bất cứ khi nào bạn cần.", + "ArchitecturalInfrastructure_Description": "Các ứng dụng SaaS, hệ thống mô-đun hoặc microservice là những mô hình phần mềm doanh nghiệp được sử dụng nhiều nhất. Việc xây dựng những hệ thống như vậy không chỉ đòi hỏi sự hiểu biết và kinh nghiệm tốt mà còn đòi hỏi cơ sở hạ tầng phần mềm mạnh mẽ. Nếu không, bạn sẽ phải tốn rất nhiều công sức để hỗ trợ các chi tiết kiến trúc này trong cơ sở mã của mình.", + "Modularity": "Tính mô đun", + "Modularity_THEPROBLEM_Description": "Xây dựng một hệ thống mô-đun thực sự không hề dễ dàng! Tất cả các khía cạnh của hệ thống (cơ sở dữ liệu, thực thể, API, trang/thành phần giao diện người dùng) có thể được chia thành các mô-đun và mỗi mô-đun có thể được sử dụng lại mà không cần các mô-đun khác. ASP.NET Core đơn giản không cung cấp kiến trúc mô-đun như vậy. Nếu bạn cần nó, bạn nên suy nghĩ về nó từ đầu.", + "Modularity_ABPSOLUTION_Description": "ABP Framework ra đời là một cấu trúc phát triển ứng dụng mô-đun. Mọi tính năng trong framework đều được phát triển để tương thích với tính mô-đun. Tài liệu và hướng dẫn giải thích cách phát triển các mô-đun có thể sử dụng lại theo cách tiêu chuẩn.", + "SaaSMultiTenancy": "SaaS / Nhiều người thuê", + "SaaSMultiTenancy_THEPROBLEM_Description": "Multi-Tenancy là cách phổ biến để triển khai hệ thống SaaS. Tuy nhiên, việc triển khai cơ sở hạ tầng nhiều người thuê nhất quán có thể trở nên phức tạp.", + "SaaSMultiTenancy_ABPSOLUTION_Description": "ABP Framework cung cấp cơ sở hạ tầng nhiều bên thuê hoàn chỉnh và độ phức tạp trừu tượng từ mã doanh nghiệp của bạn. Mã ứng dụng của bạn hầu như sẽ nhận biết được nhiều đối tượng thuê, trong khi ABP Framework sẽ tự động tách biệt cơ sở dữ liệu, bộ đệm và các chi tiết khác của các đối tượng thuê với nhau. Nó hỗ trợ cơ sở dữ liệu duy nhất, cơ sở dữ liệu cho mỗi người thuê và các phương pháp kết hợp. Nó định cấu hình đúng các thư viện như Microsoft Identity và OpenIddict, những thư viện này thường không tương thích với nhiều bên thuê.", + "Microservices": "Dịch vụ vi mô", + "Microservices_THEPROBLEM_Description": "Xây dựng hệ thống vi dịch vụ yêu cầu nhiều chi tiết về cơ sở hạ tầng: Xác thực và ủy quyền cho các ứng dụng và vi dịch vụ cũng như triển khai các mẫu giao tiếp đồng bộ và nhắn tin không đồng bộ (Rest/GRPC) giữa các vi dịch vụ là những vấn đề cơ bản nhất.", + "Microservices_ABPSOLUTION_Description": "Khung ABP cung cấp các dịch vụ, hướng dẫn và mẫu để giúp bạn triển khai giải pháp vi dịch vụ của mình bằng các công cụ tiêu chuẩn ngành.", + "Microservices_ABPSOLUTION_Description2": "ABP Commercial thậm chí còn tiến thêm một bước nữa và cung cấp mẫu khởi động hoàn chỉnh để khởi động giải pháp vi dịch vụ của bạn.", + "PreBuiltModules": "Mô-đun dựng sẵn", + "PreBuiltModules_THEPROBLEM_Description": "Tất cả chúng ta đều có những yêu cầu kinh doanh tương tự nhưng hơi khác nhau. Tuy nhiên, tất cả chúng ta nên phát minh lại bánh xe vì không mã của ai có thể trực tiếp hoạt động trong giải pháp của chúng ta. Chúng đều là những phần được nhúng của một giải pháp lớn hơn.", + "PreBuiltModules_ABPSOLUTION_Description": "Các mô-đun thương mại của ABP cung cấp nhiều mô-đun ứng dụng có thể tái sử dụng như thanh toán, trò chuyện, quản lý tệp, báo cáo nhật ký kiểm tra... v.v. Tất cả các mô-đun này đều dễ dàng được cài đặt vào giải pháp của bạn và hoạt động trực tiếp. Chúng tôi liên tục bổ sung thêm nhiều mô-đun.", + "PreBuiltModules_ABPSOLUTION_Description2": "Tất cả các mô-đun được thiết kế để có thể tùy chỉnh theo yêu cầu kinh doanh của bạn. Nếu cần kiểm soát hoàn toàn, bạn có thể tải xuống mã nguồn đầy đủ của bất kỳ mô-đun nào và tùy chỉnh hoàn toàn dựa trên yêu cầu kinh doanh cụ thể của mình.", + "ABPCommunity": "Cộng đồng ABP", + "ABPCommunity_Description": "Cuối cùng, việc ở trong một cộng đồng lớn nơi mọi người tuân theo các phong cách và nguyên tắc mã hóa giống nhau cũng như chia sẻ cơ sở hạ tầng chung sẽ mang lại sức mạnh khi bạn gặp khó khăn hoặc cần trợ giúp về các quyết định thiết kế. Vì chúng tôi viết mã giống nhau nên chúng tôi có thể giúp đỡ lẫn nhau tốt hơn nhiều. ABP là một dự án được cộng đồng hỗ trợ với hơn 10 nghìn sao trên GitHub.", + "ABPCommunity_Description2": "Thật dễ dàng để chia sẻ mã hoặc thậm chí các thư viện có thể sử dụng lại giữa các nhà phát triển ABP. Một đoạn mã phù hợp với bạn cũng sẽ phù hợp với những người khác. Có rất nhiều mẫu và hướng dẫn mà bạn có thể trực tiếp triển khai cho ứng dụng của mình.", + "ABPCommunity_Description3": "Khi bạn thuê một nhà phát triển đã từng làm việc với kiến trúc ABP trước đây sẽ hiểu ngay giải pháp của bạn và bắt đầu phát triển trong thời gian rất ngắn.", + "WhyAbpIo_Page_Title": "Tại sao nên sử dụng nền tảng ABP.IO?", + "AbpStudio_Page_Title": "Studio ABP", + "CampaignInfo": "Mua giấy phép mới hoặc gia hạn giấy phép hiện tại của bạn và nhận thêm 2 tháng mà không phải trả thêm phí! Ưu đãi này có giá trị cho tất cả các gói giấy phép. Đảm bảo bạn tận dụng khuyến mãi trong thời gian giới hạn này để mở rộng quyền truy cập vào các tính năng và nâng cấp cao cấp.", + "HurryUpLastDay": "Nhanh lên! Ngày cuối cùng: {0}", + "CreatingCRUDPagesWithABPSuite": "Tạo trang CRUD bằng ABP Suite", + "Testimonials": "Lời chứng thực", + "MultipleYearDiscount": "Giảm giá nhiều năm", + "CampaignDiscountText": "Giảm giá Thứ Sáu Đen", + "CampaignDiscountName": "Thứ sáu đen", + "CampaignName:BlackFriday": "Thứ sáu đen" } } \ No newline at end of file diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/vi.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/vi.json index d3b8cd2d4b..f6f794223e 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/vi.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/vi.json @@ -13,7 +13,6 @@ "Status": "Trạng thái", "ContentSource": "Nguồn nội dung", "Details": "Thông tin chi tiết", - "Url": "Url", "Title": "Tiêu đề", "CreationTime": "Thời gian sáng tạo", "Save": "Cứu", @@ -29,23 +28,22 @@ "ContributionGuide": "Hướng dẫn đóng góp", "BugReport": "Báo cáo lỗi", "SeeAllPosts": "Xem tất cả các bài viết", - "WelcomeToABPCommunity!": "Chào mừng đến với Cộng đồng ABP!", - "MyProfile": "Thông tin của tôi", - "MyOrganizations": "Tổ chức của tôi", + "WelcomeToABP": "Chào mừng đến với ABP", "EmailNotValid": "Vui lòng nhập một địa chỉ email hợp lệ.", "FeatureRequest": "Yêu cầu tính năng", "CreatePostTitleInfo": "Tiêu đề của bài đăng sẽ được hiển thị trên danh sách bài đăng.", "CreatePostSummaryInfo": "Một bản tóm tắt ngắn của bài đăng sẽ được hiển thị trên danh sách bài đăng.", - "CreatePostCoverInfo": "Để tạo một bài viết hiệu quả, hãy thêm ảnh bìa. Tải lên hình ảnh tỷ lệ khung hình 16: 9 để có chế độ xem tốt nhất. Kích thước tệp tối đa: 1MB.", + "CreatePostCoverInfo": "Để tạo một bài đăng hiệu quả, hãy thêm ảnh bìa. Tải lên hình ảnh tỷ lệ khung hình 16: 9 để có chế độ xem tốt nhất. Kích thước tệp tối đa: 1MB.", "ThisExtensionIsNotAllowed": "Phần mở rộng này không được phép.", "TheFileIsTooLarge": "Tệp quá lớn.", "GoToThePost": "Đi tới Bài báo", + "GoToTheVideo": "Đi tới Video", "Contribute": "Đóng góp", "OverallProgress": "Tiến độ tổng thể", "Done": "Xong", "Open": "Mở ra", "Closed": "Đã đóng cửa", - "LatestQuestionOnThe": "Câu hỏi mới nhất về", + "RecentQuestionFrom": "Câu hỏi gần đây từ {0}", "Stackoverflow": "Stackoverflow", "Votes": "phiếu bầu", "Answer": "Bài giải", @@ -59,7 +57,7 @@ "QuestionItemErrorMessage": "Không thể nhận chi tiết câu hỏi mới nhất từ Stackoverflow.", "Oops": "Giáo sư!", "CreatePostSuccessMessage": "Bài báo đã được gửi thành công. Nó sẽ được xuất bản sau khi nhận xét từ quản trị viên trang web.", - "ChooseCoverImage": "Chọn ảnh bìa ...", + "Browse": "Duyệt qua", "CoverImage": "Ảnh bìa", "ShareYourExperiencesWithTheABPFramework": "Chia sẻ kinh nghiệm của bạn với ABP Framework!", "Optional": "Không bắt buộc", @@ -88,6 +86,8 @@ "PostRequestFromGithubIssue": "Không có bất kỳ yêu cầu bài viết bây giờ.", "LatestPosts": "Bài viết mới nhất", "ArticleRequests": "Yêu cầu bài viết", + "ArticleRequestsDescription": "Bạn muốn xem một nội dung cụ thể ở đây? Bạn có thể yêu cầu cộng đồng tạo ra nó!", + "LatestContentRequests": "Yêu cầu nội dung mới nhất", "AllPostRequests": "Xem tất cả các yêu cầu bài viết", "SubscribeToTheNewsletter": "Đăng ký nhận bản tin", "NewsletterEmailDefinition": "Nhận thông tin về các diễn biến trong ABP như các bản phát hành mới, các nguồn miễn phí, các bài báo và hơn thế nữa.", @@ -115,7 +115,6 @@ "VideoUrl": "Url video", "GithubPostUrl": "Url bài viết trên Github", "ExternalPostUrl": "Url bài viết bên ngoài", - "CreatePostCoverInfo": "Để tạo một bài đăng hiệu quả, hãy thêm ảnh bìa. Tải lên hình ảnh tỷ lệ khung hình 16: 9 để có chế độ xem tốt nhất. Kích thước tệp tối đa: 1MB.", "ThankYouForContribution": "Cảm ơn bạn đã đóng góp cho Cộng đồng ABP.", "GithubPost": "Bài báo trên Github", "GithubPostSubmitStepOne": " 1. Viết một bài báo trên bất kỳ kho lưu trữ GitHub công khai nào với định dạng Markdown. ví dụ ", @@ -143,6 +142,119 @@ "Volo.AbpIo.Domain:060001": "URL nguồn (\"{PostUrl}\") không phải là URL Github", "Volo.AbpIo.Domain:060002": "Nội dung Bài viết không có sẵn từ tài nguyên Github (\"{PostUrl}\").", "Volo.AbpIo.Domain:060003": "Không tìm thấy nội dung bài viết!", - "IConsentToMedium": "Tôi đồng ý với việc xuất bản bài đăng này tại https://medium.com/volosoft." + "SeeMore": "Xem thêm", + "JoinTheABPCommunity": "Tham gia cộng đồng ABP", + "ABPCommunityTalks": "Tọa đàm cộng đồng ABP", + "LiveDemo": "Bản thử trực tiếp", + "GetLicense": "Nhận giấy phép", + "GetStarted": "Bắt đầu", + "SourceCode": "Mã nguồn", + "LeaveComment": "Để lại bình luận", + "ShowMore": "Cho xem nhiều hơn", + "NoPublishedPostsYet": "Chưa có bài viết nào được xuất bản.", + "Name": "Tên", + "Surname": "Họ", + "WebSite": "Trang mạng", + "FullURL": "URL đầy đủ", + "JobTitle": "Chức danh", + "Prev": "Trước đó", + "Previous": "Trước", + "Next": "Kế tiếp", + "Share": "Chia sẻ", + "SortBy": "Sắp xếp theo", + "NoPublishedEventsYet": "Chưa có sự kiện nào được công bố.", + "SubscribeYoutubeChannel": "Đăng ký kênh Youtube", + "Enum:EventType:0": "Cuộc nói chuyện", + "MemberNotPublishedPostYet": "Thành viên này chưa xuất bản bất kỳ bài viết nào.", + "TimeAgo": "{0} trước", + "Discord_Page_JoinCommunityMessage": "Tham gia cộng đồng bất hòa ABP", + "Discord_Page_Announce": "Chúng tôi vui mừng thông báo về Máy chủ bất hòa cộng đồng ABP!", + "Discord_Page_Description_1": "Cộng đồng ABP đã phát triển kể từ ngày đầu tiên. Chúng tôi muốn tiến tới bước tiếp theo bằng cách tạo máy chủ ABP Discord chính thức để Cộng đồng ABP có thể tương tác với nhau bằng cách sử dụng tính năng nhắn tin tức thời tuyệt vời.", + "Discord_Page_Description_2": "ABP Community Discord Server là nơi bạn có thể giới thiệu các sáng tạo của mình bằng ABP Framework, chia sẻ các mẹo hiệu quả với bạn, cập nhật những tin tức và thông báo mới nhất về ABP Framework, chỉ cần trò chuyện với các thành viên cộng đồng để trao đổi ý tưởng và giải trí!", + "Discord_Page_Description_3": "Máy chủ Discord Cộng đồng ABP này là máy chủ chính thức có Nhóm cốt lõi ABP có mặt trên máy chủ để giám sát.", + "Discord_Page_JoinToServer": "Tham gia máy chủ bất hòa ABP", + "Events_Page_MetaTitle": "Sự kiện cộng đồng ABP", + "Events_Page_MetaDescription": "Các chương trình trực tiếp do Nhóm ABP tổ chức là các phiên thông thường có đầy đủ nội dung cộng đồng, trình diễn, hỏi đáp và thảo luận xung quanh những gì đang diễn ra trong ABP.", + "Events_Page_Title": "Tọa đàm cộng đồng ABP", + "Members_Page_WritingFromUser": "Đọc bài viết của {0} trên Cộng đồng ABP.", + "Post_Create_Page_MetaTitle": "Bài viết mới", + "Post_Create_Page_MetaDescription": "Tạo bài đăng của bạn để chia sẻ kinh nghiệm của bạn về khung ABP và đóng góp cho Cộng đồng ABP.", + "Post_Create_Page_CreateNewPost": "Tạo bài đăng mới", + "Post_Index_Page_MetaDescription": "Mục đích của Cộng đồng ABP là tạo ra môi trường đóng góp cho các nhà phát triển sử dụng khung ABP.", + "Layout_Title": "{0} | Cộng đồng ABP", + "Layout_MetaDescription": "Một trung tâm dành cho ABP Framework, .NET và phát triển phần mềm. Truy cập các bài viết, hướng dẫn, tin tức và đóng góp cho cộng đồng ABP.", + "Index_Page_CommunityIntroduction": "Đây là trung tâm dành cho ABP Framework, .NET và phát triển phần mềm. Bạn có thể đọc các bài viết, xem video hướng dẫn, nhận thông tin về tiến trình phát triển của ABP và các sự kiện liên quan đến ABP, giúp đỡ các nhà phát triển khác và chia sẻ kiến thức chuyên môn của bạn với cộng đồng ABP.", + "TagsInArticle": "Thẻ trong bài viết", + "IConsentToMedium": "Tôi đồng ý với việc xuất bản bài đăng này tại https://medium.com/volosoft.", + "SearchResultsFor": "Kết quả tìm kiếm cho "{0}"", + "SeeMoreVideos": "Xem thêm video", + "DiscordPageTitle": "Cộng đồng bất hòa ABP", + "ViewVideo": "Xem video", + "AbpCommunityTitleContent": "Cộng đồng ABP - Khung ABP mã nguồn mở", + "CommunitySlogan": "Một nền tảng cộng đồng độc đáo dành cho những người yêu thích ABP", + "RaffleIsNotActive": "Xổ số không hoạt động", + "YouAreAlreadyJoinedToThisRaffle": "Bạn đã tham gia xổ số này", + "InvalidSubscriptionCode": "Mã đăng ký không hợp lệ", + "Raffle:{0}": "Xổ số: {0}", + "Join": "Tham gia", + "Leave": "Rời khỏi", + "LoginToJoin": "Đăng nhập để tham gia", + "ToEnd:": "Để kết thúc:", + "ToStart:": "Để bắt đầu:", + "days": "ngày", + "hrs": "giờ", + "min": "phút", + "sec": "giây", + "Winners": "Người chiến thắng", + "To{0}LuckyWinners": "tới {0} người chiến thắng may mắn", + "ActiveRaffles": "Xổ số đang hoạt động", + "UpcomingRaffles": "Xổ số sắp tới", + "CompletedRaffles": "Xổ số đã hoàn thành", + "NoActiveRaffleTitle": "Không có xổ số hoạt động có sẵn tại thời điểm này.", + "NoActiveRaffleDescription": "Không có xổ số hoạt động có sẵn tại thời điểm này.", + "RaffleSubscriptionCodeInputMessage": "Xổ số này yêu cầu mã đăng ký. Vui lòng nhập mã đăng ký bên dưới:", + "RaffleSubscriptionCodeInputErrorMessage": "Mã đăng ký không chính xác. Vui lòng thử lại.", + "GoodJob!": "Làm tốt lắm!", + "RaffleJoinSuccessMessage": "Bạn đã đăng ký tham gia xổ số thành công. Bạn sẽ được thông báo qua email nếu bạn giành được giải thưởng!", + "RaffleLoginAndRegisterMessage": "Bạn nên đăng nhập để tham gia xổ số. Bạn có thể tạo một tài khoản miễn phí nếu chưa đăng ký.", + "Ok": "Được rồi", + "SeeDetails": "Xem chi tiết", + "WaitingForTheDraw": "Chờ bốc thăm", + "AllAttendees": "Tất cả người tham dự", + "SeeRaffleDetail": "Xem chi tiết xổ số", + "SeeRaffle": "Xem xổ số", + "ParticipationIsComplete!": "Việc tham gia đã hoàn tất!", + "ABPCoreDevelopmentTeam": "Nhóm phát triển cốt lõi của ABP", + "RegisterTheEvent": "Đăng ký sự kiện", + "GoToConferencePage": "Tới trang hội nghị", + "BuyTicket": "Mua vé", + "SeeEvent": "Xem sự kiện", + "PreviousEvents": "Sự kiện trước đó", + "OtherLiveEvents": "Sự kiện trực tiếp khác", + "SponsoredConferences": "Hội nghị được tài trợ", + "SponsoredConferencesDescription": "Chúng tôi rất vinh dự được hỗ trợ các cộng đồng và sự kiện .NET dành cho các nhà phát triển phần mềm.", + "UpcomingEvents": "sự kiện sắp tới", + "UpcomingCommunityTalkEventDescription": "Các chương trình trực tiếp do Nhóm ABP tổ chức là các phiên thông thường có đầy đủ nội dung cộng đồng, trình diễn, hỏi đáp và thảo luận xung quanh những gì đang diễn ra trong ABP.", + "UpcomingConferenceEventDescription": "Hội nghị ABP .NET là một sự kiện ảo dành cho cộng đồng Nhà phát triển .NET cùng nhau lắng nghe các cuộc nói chuyện về thế giới .NET, các phương pháp phát triển phần mềm phổ biến và ABP Framework nguồn mở.", + "LastOneYear": "1 năm qua", + "AllTimes": "Tất cả thời gian", + "TopContributors": "những người đóng góp hàng đầu", + "{0}Posts": "{0} bài đăng", + "LATESTPOSTS": "BÀI VIẾT MỚI NHẤT", + "NoContributorsFound": "Không tìm thấy người đóng góp!", + "LatestPost": "Bài đăng Mới nhất", + "MEMBERSINCE{0}": "THÀNH VIÊN KỂ TỪ {0}", + "CopyLink": "Sao chép đường dẫn", + "ShareOnTwitter": "Chia sẽ trên Twitter", + "ShareOnLinkedIn": "Chia sẻ trên LinkedIn", + "MoreFrom{0}": "Thông tin khác từ {0}", + "SeeAllFrom{0}": "Xem tất cả từ {0}", + "MostWatched": "Xem nhiều nhất", + "Articles({0})": "Bài viết ({0})", + "Videos({0})": "Video ({0})", + "LatestArticles": "Bài viết mới nhất", + "RaffleHeader": "Xin chào Thành viên Cộng đồng ABP!", + "RafflesInfo": "
Đây là trang xổ số dành riêng để thể hiện sự đánh giá cao của chúng tôi đối với bạn vì đã trở thành Thành viên cộng đồng tích cực. Chúng tôi tổ chức các buổi nói chuyện cộng đồng ABP , Hội nghị ABP .NET , tham dự hoặc tài trợ cho các sự kiện liên quan đến .NET mà trong đó chúng tôi tặng một số quà tặng.

Bạn có thể theo dõi trang này để xem các cuộc xổ số sắp tới, tham dự hoặc xem các cuộc xổ số trước đây mà chúng tôi rút ra bao gồm cả những người chiến thắng.

Cảm ơn bạn đã là thành viên tích cực! Hẹn gặp lại các bạn trong đợt xổ số sắp tới.", + "RafflesInfoTitle": "Xổ số cộng đồng ABP" } } \ No newline at end of file diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Docs/Localization/Resources/vi.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Docs/Localization/Resources/vi.json new file mode 100644 index 0000000000..331f2abd1f --- /dev/null +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Docs/Localization/Resources/vi.json @@ -0,0 +1,9 @@ +{ + "culture": "vi", + "texts": { + "Buy": "Mua", + "SeeBookDetails": "Xem chi tiết sách", + "MasteringAbpFrameworkEBookDescription": "Cuốn sách này sẽ giúp bạn có được sự hiểu biết đầy đủ về framework và các kỹ thuật phát triển ứng dụng web hiện đại.", + "Feedback": "Nhận xét" + } +} \ No newline at end of file diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Support/Localization/Resources/vi.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Support/Localization/Resources/vi.json new file mode 100644 index 0000000000..ba0f8a7973 --- /dev/null +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Support/Localization/Resources/vi.json @@ -0,0 +1,6 @@ +{ + "culture": "vi", + "texts": { + "FAQ": "Câu hỏi thường gặp" + } +} \ No newline at end of file diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/vi.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/vi.json index 1092c8d9c0..c94d99d592 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/vi.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/vi.json @@ -174,6 +174,8 @@ "CreateProjectWizard": "Trình hướng dẫn này tạo một dự án mới từ mẫu khởi động được định cấu hình thích hợp để bắt đầu dự án của bạn.", "TieredOption": "Tạo ra một giải pháp phân cấp trong đó các lớp API Web và Http được tách biệt về mặt vật lý. Nếu không được chọn, hãy tạo một giải pháp phân lớp ít phức tạp hơn và phù hợp với hầu hết các tình huống.", "SeparateIdentityServerOption": "Tách phía máy chủ thành hai ứng dụng: Ứng dụng đầu tiên dành cho máy chủ nhận dạng và ứng dụng thứ hai dành cho API HTTP phía máy chủ của bạn.", + "SeparateAuthenticationServerOption": "Tách phía máy chủ thành hai ứng dụng: Ứng dụng thứ nhất dành cho máy chủ xác thực và ứng dụng thứ hai dành cho API HTTP phía máy chủ của bạn.", + "ProgressiveWebApplicationOption": "Chỉ định dự án là Ứng dụng web lũy tiến", "UseslatestPreVersion": "Sử dụng phiên bản phát hành trước mới nhất", "ReadTheDocumentation": " Đọc Tài liệu ", "Documentation": "Tài liệu", @@ -214,7 +216,11 @@ "SeeDocs": "Xem tài liệu", "None": "Không có", "Application": "Ứng dụng", + "ApplicationExplanation": "Tạo giải pháp phân lớp đầy đủ dựa trên thực tiễn Thiết kế theo hướng miền. Được đề xuất cho các dự án dài hạn cần cơ sở mã có thể mở rộng và bảo trì.", + "ApplicationNoLayer": "Ứng dụng (một lớp)", + "ApplicationNoLayerExplanation": "Tạo một ứng dụng web một lớp. Được đề xuất để xây dựng một ứng dụng có kiến trúc đơn giản và dễ hiểu hơn.", "Module": "Mô-đun", + "ModuleExplanation": "Tạo ra một giải pháp mô-đun ứng dụng được phân lớp đầy đủ, có thể tái sử dụng. Bạn có thể sử dụng tùy chọn này để tạo mô-đun cho ứng dụng mô-đun của mình.", "PackageName": "Tên gói hàng", "LicenseURL": "URL giấy phép", "License": "Giấy phép", @@ -274,8 +280,166 @@ "FirstEdition": "Ấn bản đầu tiên", "ThankYou": "Cảm ơn bạn!", "CheckboxMandatory": "Bạn cần kiểm tra điều này để tiếp tục!", + "UserInterface": "Giao diện người dùng", + "APIGateway": "Cổng API", + "Database": "Cơ sở dữ liệu", + "Saas": "Saas", + "OpenSourceWebApp": "Mã nguồn mở
ứng dụng web", + "Framework": "Khung", + "AuditLoggingExplanation": "Tự động theo dõi tất cả các hoạt động và thay đổi dữ liệu trong hệ thống của bạn.", + "AbpNewCommandExplanation": "Tạo các giải pháp mới bằng cách sử dụng các mẫu khởi động ABP.", + "AbpAddModuleCommandExplanation": "Cài đặt các mô-đun ứng dụng dựng sẵn vào giải pháp của bạn", + "AbpUpdateCommandExplanation": "Tự động cập nhật tất cả các gói NuGet và NPM liên quan đến ABP trong giải pháp của bạn.", + "ExploreAllCLICommands": "Khám phá tất cả các lệnh CLI", + "ExploreDocumentationAndGuides": "Khám phá các tài liệu và hướng dẫn toàn diện.", + "Documentations": "Tài liệu", + "Views": "Lượt xem", + "EnterYouEmailToGetNews": "Nhập email của bạn để nhận tin tức mới nhất về ABP Framework", + "Tiered": "theo cấp bậc", + "SeparateIdentityServer": "Máy chủ nhận dạng riêng biệt", + "SeparateAuthenticationServer": "Máy chủ xác thực riêng biệt", + "ProgressiveWebApplication": "Ứng dụng web tiến bộ", + "Preview": "Xem trước", + "CreateANewSolution": "Tạo một giải pháp mới", + "ABPFrameworkFeatures": "Tính năng của khung ABP", + "Commercial": "Thuộc về thương mại", + "ThirdPartyTools": "Công cụ của bên thứ ba", + "Back": "Mặt sau", + "Community": "Cộng đồng", + "SeeMore": "Xem thêm", + "DetailsOfTheEBook": "Chi tiết về Sách điện tử", + "JoinOurMarketingNewsletter": "Tham gia bản tin tiếp thị của chúng tôi", + "FrameworkNewsletterConfirmationMessage": "Tôi đồng ý với Điều khoản & Điều kiệnChính sách quyền riêng tư .", + "GetYourFreeEBook": "Nhận sách điện tử DDD miễn phí của bạn", + "EverythingYouNeedToKnow": "Mọi thư bạn cân biêt.", + "PreOrderNow": "Đặt mua ngay", + "UITheming": "Chủ đề giao diện người dùng", + "UIThemingExplanation": "Tạo các chủ đề và bố cục giao diện người dùng có thể sử dụng lại hoặc sử dụng một trong các chủ đề giao diện người dùng được tạo sẵn.", + "DataFilteringExplanation2": "Tự động lọc truy vấn từ cơ sở dữ liệu để dễ dàng triển khai các mẫu như xóa mềm và nhiều bên thuê.", + "NeedHelp": "Cần giúp đỡ?", + "GiveYourProjectAName": "Đặt tên cho dự án của bạn", + "SelectProjectType": "Chọn loại dự án", + "SelectUIFramework": "Chọn khung giao diện người dùng", + "SelectDatabaseProvider": "Chọn nhà cung cấp cơ sở dữ liệu", + "SelectDatabaseManagementSystem": "Chọn hệ thống quản lý cơ sở dữ liệu", + "InstallingTheABPCLI": "Cài đặt ABP CLI", + "CreateYourProjectNow": "Tạo dự án của bạn ngay bây giờ", + "OrderOn": "Đặt hàng trên {0}", + "DownloadFreeDDDBook": "Tải xuống sách DDD miễn phí", + "WhatIsABPFramework": "Khung ABP là gì?", + "TenantDatabase": "Cơ sở dữ liệu về người thuê {0}", + "SharedDatabase": "Cơ sở dữ liệu dùng chung", + "ConnectionResolver": "Trình giải quyết kết nối", + "TenantBasedDataFilter": "Bộ lọc dữ liệu dựa trên đối tượng thuê", + "ApplicationCode": "Mã ứng dụng", + "TenantResolution": "Giải pháp của người thuê nhà", + "TenantUser": "Người thuê {0} người dùng", + "CardTitle": "Tiêu đề thẻ", + "View": "Xem", + "Model": "Người mẫu", + "Email": "E-mail", + "Password": "Mật khẩu", + "Address": "Địa chỉ", + "Gender": "Giới tính", + "Male": "Nam giới", + "Female": "Nữ giới", + "Submit": "Nộp", + "Unspecified": "Không xác định", + "StaticFileMiddleware": "Phần mềm trung gian tệp tĩnh", + "RazorViewEngine": "Công cụ xem dao cạo", + "PhysicalFiles": "Tệp vật lý (wwwroot)", + "EmbeddedFiles": "Tệp nhúng (DLL)", + "DynamicFiles": "Tệp động (Bộ nhớ)", + "BuildSolutionsWithAbp": "Xây dựng các giải pháp .NET có thể bảo trì bằng cách làm theo các phương pháp hay nhất về phát triển phần mềm bằng cách sử dụng ABP.", + "BuyOnAmazon": "Mua trên Amazon", + "BuyOnPackt": "Mua trên Packt", + "Discounted": "Giảm giá", + "MasteringAbpFramework_Book_KeyFeatures": "Các tính năng chính", + "MasteringAbpFramework_Book_Key_Features_Description_1": "Xây dựng các giải pháp phần mềm mạnh mẽ, có thể bảo trì, mô-đun và có thể mở rộng bằng ABP Framework.", + "MasteringAbpFramework_Book_Key_Features_Description_2": "Tìm hiểu cách triển khai các nguyên tắc RẮN và thiết kế theo hướng miền trong các ứng dụng web của bạn.", + "MasteringAbpFramework_Book_Key_Features_Description_3": "Khám phá cách ABP Framework tăng tốc chu kỳ phát triển của bạn bằng cách tự động hóa các tác vụ lặp đi lặp lại.", + "MasteringAbpFramework_Book_Description": "Mô tả cuốn sách", + "MasteringAbpFramework_Book_Description_Details_1": "ABP Framework là một cơ sở hạ tầng hoàn chỉnh để tạo các ứng dụng web hiện đại bằng cách tuân theo các quy ước và thực tiễn tốt nhất về phát triển phần mềm \n . Với khuôn khổ và hệ sinh thái cấp cao của ABP, bạn có thể \n triển khai nguyên tắc Đừng lặp lại chính mình (DRY) và tập trung vào mã doanh nghiệp của mình.", + "MasteringAbpFramework_Book_Description_Details_2": "Được viết bởi người tạo ra ABP Framework, cuốn sách này sẽ giúp bạn có được sự hiểu biết đầy đủ về khung \n và các kỹ thuật phát triển ứng dụng web hiện đại. Với phần giải thích từng bước về các khái niệm \n thiết yếu và các ví dụ thực tế, bạn sẽ hiểu các yêu cầu của giải pháp web hiện đại và cách ABP \n Framework khiến việc phát triển các giải pháp của riêng bạn trở nên thú vị như thế nào. Bạn sẽ khám phá các yêu cầu chung của việc phát triển ứng dụng web doanh nghiệp \n và khám phá cơ sở hạ tầng do ABP cung cấp. Xuyên suốt cuốn sách \n , bạn sẽ nắm bắt được các phương pháp hay nhất về phát triển phần mềm để xây dựng các giải pháp web \n theo mô-đun và có thể bảo trì.", + "MasteringAbpFramework_Book_Description_Details_3": "Đến cuối cuốn sách này, bạn sẽ có thể tạo một giải pháp web hoàn chỉnh, dễ phát triển, bảo trì và thử nghiệm \n .", + "MasteringAbpFramework_Book_WhatYouWillLearn": "Bạn sẽ học được gì", + "MasteringAbpFramework_Book_What_You_Will_Learn_1": "Thiết lập môi trường phát triển và bắt đầu với ABP Framework.", + "MasteringAbpFramework_Book_What_You_Will_Learn_2": "Làm việc với Entity Framework Core và MongoDB để phát triển lớp truy cập dữ liệu của bạn.", + "MasteringAbpFramework_Book_What_You_Will_Learn_3": "Hiểu các mối quan tâm xuyên suốt và cách ABP tự động hóa các nhiệm vụ lặp đi lặp lại.", + "MasteringAbpFramework_Book_What_You_Will_Learn_4": "Nắm bắt được cách triển khai thiết kế hướng miền với ABP Framework.", + "MasteringAbpFramework_Book_What_You_Will_Learn_5": "Xây dựng các trang và thành phần giao diện người dùng với ASP.NET Core MVC (Trang dao cạo) và Blazor.", + "MasteringAbpFramework_Book_What_You_Will_Learn_6": "Làm việc với nhiều bên thuê để tạo các ứng dụng web mô-đun.", + "MasteringAbpFramework_Book_What_You_Will_Learn_7": "Hiểu tính mô-đun và tạo các mô-đun ứng dụng có thể tái sử dụng.", + "MasteringAbpFramework_Book_What_You_Will_Learn_8": "Viết các bài kiểm tra đơn vị, tích hợp và giao diện người dùng bằng ABP Framework.", + "MasteringAbpFramework_Book_WhoIsThisBookFor": "Cuốn sách này dành cho ai", + "MasteringAbpFramework_Book_WhoIsThisBookFor_Description": "Cuốn sách này dành cho các nhà phát triển web muốn tìm hiểu kiến trúc phần mềm và các phương pháp hay nhất để xây dựng các giải pháp dựa trên web có thể bảo trì \n bằng cách sử dụng các công nghệ của Microsoft và ABP Framework. Kiến thức cơ bản về C# \n và ASP.NET Core là cần thiết để bắt đầu với cuốn sách này.", + "ComputersAndTechnology": "Máy tính & Công nghệ", + "BuildingMicroserviceSolutions": "Xây dựng giải pháp microservice", + "MicroserviceBookPracticalGuide": "Cuốn sách này là hướng dẫn tham khảo để phát triển và quản lý các ứng dụng dựa trên vi dịch vụ bằng Khung ABP. Nó tham khảo Ứng dụng tham chiếu mẫu .NET Microservice : eShopOnContainers và thảo luận về các phương pháp triển khai và thiết kế kiến trúc bằng cách sử dụng ABP Framework. Đến cuối cuốn sách này, bạn sẽ tìm hiểu cách ABP tiếp cận các vấn đề phức tạp phổ biến của vi dịch vụ như ủy quyền, giao dịch phân tán, liên lạc giữa các vi dịch vụ, triển khai, v.v.", + "IntroducingTheSolution": "Giới thiệu Giải pháp eShopOnAbp", + "RunningTheSolution": "Chạy giải pháp", + "UnderstandingTheAuthenticationSystem": "Hiểu hệ thống xác thực", + "ExploringTheApplications": "Khám phá các ứng dụng", + "UnderstandingTheAPIGateways": "Hiểu các cổng API", + "DevelopingTheMicroservices": "Phát triển microservice", + "UnderstandingTheInfrastructure": "Hiểu cơ sở hạ tầng", + "DiggingInTheUseCases": "Đào sâu vào các trường hợp sử dụng", + "DeployingTheSolution": "Triển khai giải pháp", + "ThisBookIsInDraftStageAndIsNotCompletedYet": "Cuốn sách này đang ở giai đoạn phác thảo và chưa hoàn thiện.", + "Authors": "tác giả", + "MicroserviceEBook": "Sách điện tử microservice", "SelectUITheme": "Chọn chủ đề giao diện người dùng", + "LeptonXLiteTheme": "Chủ đề LeptonX Lite", + "BasicTheme": "Chủ đề cơ bản", + "LeptonXLiteThemeInfo": "Một chủ đề giao diện người dùng Bootstrap hiện đại và phong cách. Lý tưởng nếu bạn muốn có một chủ đề giao diện người dùng sẵn sàng cho sản xuất. Đây là chủ đề mới nhất và là chủ đề mặc định.", + "BasicThemeInfo": "Chủ đề giao diện người dùng tối giản với màu sắc và kiểu dáng Bootstrap đơn giản. Lý tưởng nếu bạn xây dựng chủ đề giao diện người dùng của riêng mình.", + "SeeDocumentation": "Xem tài liệu .", + "SeeFullScreen": "🖼️ Xem ảnh chụp màn hình", + "BuildingMicroserviceSolutionsShortDescription": "Cuốn sách này là hướng dẫn tham khảo để phát triển và quản lý các ứng dụng dựa trên vi dịch vụ bằng Khung ABP.", + "InstallAbpCliMessage": "Cài đặt ABP CLI trong thiết bị đầu cuối dòng lệnh, nếu bạn chưa cài đặt nó trước đó:", + "Terminal": "Phần cuối", + "Copy": "Sao chép", + "RunTheFollowingCommand": "Chạy lệnh sau trong thiết bị đầu cuối dòng lệnh:", + "ChangeSolutionOptionsBelow": "Bạn có thể thay đổi các tùy chọn giải pháp bên dưới.", + "MultiLayerApplication": "Nhiều lớp
Ứng dụng", + "MultiLayerApplicationExplanation1": "Tạo giải pháp phân lớp đầy đủ dựa trên thực tiễn Thiết kế theo hướng miền.", + "MultiLayerApplicationExplanation2": "Được đề xuất cho các dự án dài hạn cần cơ sở mã có thể mở rộng và bảo trì.", + "SingleLayerApplication": "Lớp đơn
Ứng dụng", + "SingleLayerApplicationExplanation1": "Tạo một ứng dụng web một lớp.", + "SingleLayerApplicationExplanation2": "Được đề xuất để xây dựng một ứng dụng có kiến trúc đơn giản và dễ hiểu hơn.", + "ApplicationModule": "Ứng dụng
mô-đun", + "SeeTheScreenshot": "Xem ảnh chụp màn hình", + "ApplicationModuleExplanation1": "Tạo ra một giải pháp mô-đun ứng dụng được phân lớp đầy đủ, có thể tái sử dụng.", + "ApplicationModuleExplanation2": "Bạn có thể sử dụng tùy chọn này để tạo mô-đun cho ứng dụng mô-đun của mình.", + "Expert_": "Chuyên gia", + "Partner_": "quan hệ đối tác", + "WebSite": "Trang mạng", + "Expert_Year": "Năm chuyên môn", + "CompanyInfo": "Thông tin công ty", + "Date": "Ngày", + "WhoWeAre_Partner": "Chúng ta là ai", + "WhoWeAre_Expert": "Về tôi", "CreateSolutionFolder": "Tạo thư mục giải pháp", - "CreateSolutionFolderOption": "Chỉ định xem dự án sẽ nằm trong một thư mục mới trong thư mục đầu ra hay trực tiếp trong thư mục đầu ra." + "CreateSolutionFolderOption": "Chỉ định xem dự án sẽ nằm trong một thư mục mới trong thư mục đầu ra hay trực tiếp trong thư mục đầu ra.", + "BooksPageTitle": "Sách ABP", + "PackageDetailPage_NuGetPackageInstallationOptions": "Có ba cách để cài đặt gói NuGet {0} vào dự án của bạn", + "PackageDetailPage_InstallingWithABPCLI": "1: Cài đặt bằng ABP CLI", + "PackageDetailPage_InstallingWithABPCLIDescription1": "Nếu bạn chưa cài đặt ABP CLI , trước tiên hãy cài đặt bằng cách thực hiện lệnh sau trong thiết bị đầu cuối dòng lệnh", + "PackageDetailPage_InstallingWithABPCLIDescription2": "Sau khi bạn đã cài đặt ABP CLI, hãy mở một thiết bị đầu cuối dòng lệnh ở vị trí của dự án (tệp .csproj ) mà bạn muốn cài đặt và thực hiện lệnh sau", + "PackageDetailPage_InstallingWithABPCLIDescription3": "Nó sẽ thêm tham chiếu gói {0} vào dự án của bạn và phần phụ thuộc {1} vào lớp mô-đun của bạn.", + "PackageDetailPage_ManualInstallation": "2: Cài đặt bằng Dotnet CLI", + "PackageDetailPage_ManualInstallationDescription1": "Thêm tham chiếu gói NuGet {0} vào dự án của bạn bằng IDE hoặc thực thi lệnh sau", + "PackageDetailPage_ManualInstallationDescription2": "Sau đó thêm phần phụ thuộc {0} vào lớp mô-đun của bạn như trong ví dụ sau", + "PackageDetailPage_SeeDocumentation": "Xem tài liệu để tìm hiểu cách sử dụng gói này trong ứng dụng của bạn.", + "PackageDetailPage_InstallingUsingPMC": "3: Cài đặt bằng Bảng điều khiển quản lý gói", + "PackageDetailPage_InstallingUsingPMCDescription1": "Mở Bảng điều khiển quản lý gói trong Visual Studio (Công cụ -> Trình quản lý gói Nuget -> Bảng điều khiển quản lý gói) và thực hiện lệnh sau", + "UIOptions": "Tùy chọn giao diện người dùng", + "Testimonials": "Lời chứng thực", + "CoolestCompaniesUseABPFramework": "Các công ty tuyệt vời nhất sử dụng ABP Framework", + "Index_Page_Testimonial_1": "ABP Framework không chỉ là một công cụ mà còn là chất xúc tác đã thúc đẩy sự phát triển của tôi với tư cách là một nhà phát triển. Nó giúp tôi có thể xây dựng các tính năng mới nhanh hơn bao giờ hết, gợi nhớ đến trải nghiệm của những người dùng khác. Mẫu mã hóa hợp nhất đã sắp xếp hợp lý các dự án của tôi, giúp tôi có nhiều thời gian hơn để tập trung vào việc tạo thay vì xử lý sự cố. \n Tôi có thể nói rằng Khung ABP đã là nền tảng cho hành trình chuyên nghiệp ban đầu của tôi. Nó đã tạo điều kiện thuận lợi cho quá trình chuyển đổi của tôi từ một nhà phát triển đầy tham vọng trở thành một chuyên gia tự tin, sẵn sàng tạo dấu ấn trong thế giới phần mềm. Tôi rất mong chờ những dự án thú vị đang chờ đợi mình vì biết rằng ABP sẽ ở đó để hướng dẫn tôi. Nó không chỉ là một sản phẩm; đó là một đối tác trong sự thành công.", + "Index_Page_Testimonial_2": "ABP Framework không chỉ là một framework mà còn là một hướng dẫn để phát triển/quản lý dự án vì nó cung cấp các khóa đào tạo về DDD, GenericRepository, DI, Microservice, moduleity. Ngay cả khi bạn không sử dụng framework, bạn vẫn có thể tự phát triển với docs.abp.io được chuẩn bị kỹ lưỡng và chuyên nghiệp. (OpenIddict, Redis, Quartz, v.v.) \n Bởi vì có nhiều thứ được xây dựng sẵn nên nó rút ngắn đáng kể thời gian phát triển dự án. (Chẳng hạn như trang đăng nhập, xử lý ngoại lệ, lọc dữ liệu, ghi nhật ký kiểm tra, bản địa hóa, bộ điều khiển api tự động, v.v.) \n Là một ví dụ từ ứng dụng của chúng tôi, tôi đã sử dụng Local Event Bus để kiểm soát hàng tồn kho. Vì vậy, tôi có thể quản lý việc di chuyển đơn hàng bằng cách viết trình xử lý hàng tồn kho. \n Thật tuyệt vời khi không lãng phí thời gian cho CreationTime, CreatorId. Chúng được điền tự động.", + "VideosLoginAndRegisterMessage": "Bạn phải đăng nhập để xem video. Bạn có thể tạo một tài khoản để xem nếu chưa có.", + "Filter": "Lọc", + "VideoCourses": "Khóa học video" } } \ No newline at end of file diff --git a/framework/src/Volo.Abp.MultiTenancy.Abstractions/Volo/Abp/MultiTenancy/Localization/vi.json b/framework/src/Volo.Abp.MultiTenancy.Abstractions/Volo/Abp/MultiTenancy/Localization/vi.json new file mode 100644 index 0000000000..af56e729e6 --- /dev/null +++ b/framework/src/Volo.Abp.MultiTenancy.Abstractions/Volo/Abp/MultiTenancy/Localization/vi.json @@ -0,0 +1,9 @@ +{ + "culture": "vi", + "texts": { + "TenantNotFoundMessage": "Không tìm thấy người thuê nhà!", + "TenantNotFoundDetails": "Không có đối tượng thuê nào có id hoặc tên đối tượng thuê: {0}", + "TenantNotActiveMessage": "Người thuê nhà không hoạt động!", + "TenantNotActiveDetails": "Đối tượng thuê không hoạt động với id hoặc tên đối tượng thuê: {0}" + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/vi.json b/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/vi.json index 581964a9b8..d352b69ca2 100644 --- a/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/vi.json +++ b/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/vi.json @@ -51,6 +51,12 @@ "ManageYourAccount": "Quản lý tài khoản của bạn", "OthersGroup": "Khác", "Today": "Hôm nay", - "Apply": "Áp dụng" + "Apply": "Áp dụng", + "InternetConnectionInfo": "Các hoạt động không thể được thực hiện. Kết nối internet của bạn hiện không khả dụng.", + "CopiedToTheClipboard": "Đã sao chép vào bảng nhớ tạm", + "AddNew": "Thêm mới", + "ProfilePicture": "Ảnh đại diện", + "Theme": "chủ đề", + "NotAssigned": "Không được chỉ định" } -} +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/vi.json b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/vi.json index 984f5c2e2b..88dffdfc6d 100644 --- a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/vi.json +++ b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/vi.json @@ -27,6 +27,8 @@ "ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf{0}": "Trường này phải là một kiểu chuỗi hoặc mảng có độ dài tối thiểu là '{0}'.", "ThisFieldIsNotAValidPhoneNumber.": "Trường này không phải là số điện thoại hợp lệ.", "ThisFieldMustBeBetween{0}And{1}": "Trường này phải nằm trong khoảng từ {0} đến {1}.", + "ThisFieldMustBeGreaterThanOrEqual{0}": "Trường này phải lớn hơn hoặc bằng {0}.", + "ThisFieldMustBeLessOrEqual{0}": "Trường này phải nhỏ hơn hoặc bằng {0}.", "ThisFieldMustMatchTheRegularExpression{0}": "Trường này phải khớp với biểu thức chính quy '{0}'.", "ThisFieldIsRequired.": "Trường này là bắt buộc.", "ThisFieldMustBeAStringWithAMaximumLengthOf{0}": "Trường này phải là một chuỗi có độ dài tối đa là {0}.", diff --git a/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/Validation/vi.json b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/Validation/vi.json index 583eebab13..9eb18c7c62 100644 --- a/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/Validation/vi.json +++ b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/Validation/vi.json @@ -2,6 +2,11 @@ "culture": "vi", "texts": { "ThisFieldIsRequired": "Trường này là bắt buộc", - "MaxLenghtErrorMessage": "Trường này có thể có tối đa là '{0}' kí tự" + "MaxLenghtErrorMessage": "Trường này có thể có tối đa là '{0}' kí tự", + "Enum:BookType.Undefined": "Không xác định từ tài nguyên xác thực", + "Enum:BookType.0": "Không xác định với giá trị 0 từ ValidationResource", + "BookType.Adventure": "Cuộc phiêu lưu từ tài nguyên xác thực", + "BookType.1": "Cuộc phiêu lưu với giá trị 1 từ ValidationResource", + "Biography": "Tiểu sử từ Nguồn xác thực" } -} +} \ No newline at end of file diff --git a/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Source/vi.json b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Source/vi.json index 6f5bff743c..807d832b3f 100644 --- a/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Source/vi.json +++ b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Source/vi.json @@ -6,6 +6,11 @@ "CarPlural": "Cars", "MaxLenghtErrorMessage": "Kích thước trường này có tối đa '{0}' kí tự", "Universe": "Vũ trụ", - "FortyTwo": "Bốn mươi hai" + "FortyTwo": "Bốn mươi hai", + "Enum:BookType.Undefined": "Không xác định", + "Enum:BookType.0": "Không xác định với giá trị 0", + "BookType.Adventure": "Cuộc phiêu lưu", + "BookType.1": "Cuộc phiêu lưu có giá trị 1", + "Biography": "Tiểu sử" } -} +} \ No newline at end of file diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/vi.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/vi.json index eae396b011..600ce9fa4f 100644 --- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/vi.json +++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/vi.json @@ -1,6 +1,7 @@ { "culture": "vi", "texts": { + "Menu:Account": "Tài khoản", "UserName": "Tên đăng nhập", "EmailAddress": "Địa chỉ email", "UserNameOrEmailAddress": "Tên đăng nhập hoặc địa chỉ email", @@ -33,6 +34,8 @@ "DisplayName:PhoneNumber": "Số điện thoại", "PersonalSettings": "Thiết lập cá nhân", "PersonalSettingsSaved": "Đã lưu cài đặt cá nhân", + "PersonalSettingsChangedConfirmationModalTitle": "Thông tin cá nhân đã thay đổi", + "PersonalSettingsChangedConfirmationModalDescription": "Nếu bạn muốn áp dụng những thay đổi này, bạn phải đăng nhập. Bạn có muốn đăng xuất không?", "PasswordChanged": "mật khẩu đã được thay đổi", "NewPasswordConfirmFailed": "Vui lòng xác nhận mật khẩu mới.", "NewPasswordSameAsOld": "Mật khẩu mới không được giống như mật khẩu cũ.", diff --git a/modules/audit-logging/src/Volo.Abp.AuditLogging.Domain.Shared/Volo/Abp/AuditLogging/Localization/vi.json b/modules/audit-logging/src/Volo.Abp.AuditLogging.Domain.Shared/Volo/Abp/AuditLogging/Localization/vi.json new file mode 100644 index 0000000000..03e68947c8 --- /dev/null +++ b/modules/audit-logging/src/Volo.Abp.AuditLogging.Domain.Shared/Volo/Abp/AuditLogging/Localization/vi.json @@ -0,0 +1,83 @@ +{ + "culture": "vi", + "texts": { + "Permission:AuditLogging": "Ghi nhật ký kiểm tra", + "Permission:AuditLogs": "Nhật ký kiểm tra", + "Menu:AuditLogging": "Nhật ký kiểm tra", + "AuditLogs": "Nhật ký kiểm tra", + "HttpStatus": "Trạng thái HTTP", + "HttpMethod": "Phương thức HTTP", + "HttpMethodFilter": "Bộ lọc phương thức HTTP", + "HttpRequest": "Yêu cầu HTTP", + "User": "Người dùng", + "UserNameFilter": "Bộ lọc người dùng", + "HasException": "Có ngoại lệ", + "IpAddress": "Địa chỉ IP", + "Time": "Thời gian", + "Date": "Ngày", + "Duration": "Khoảng thời gian", + "Detail": "Chi tiết", + "Overall": "Tổng thể", + "Actions": "hành động", + "ClientIpAddress": "Địa chỉ IP của khách hàng", + "ClientName": "Tên khách hàng", + "BrowserInfo": "Thông tin trình duyệt", + "Url": "URL", + "UserName": "Tên tài khoản", + "TenantImpersonator": "Người mạo danh người thuê nhà", + "UserImpersonator": "Người mạo danh người dùng", + "UrlFilter": "Bộ lọc URL", + "Exceptions": "Ngoại lệ", + "Comments": "Bình luận", + "HttpStatusCode": "Mã trạng thái HTTP", + "HttpStatusCodeFilter": "Bộ lọc mã trạng thái HTTP", + "ServiceName": "Dịch vụ", + "MethodName": "Phương pháp", + "CorrelationId": "Id tương quan", + "ApplicationName": "Tên ứng dụng", + "ExecutionDuration": "Khoảng thời gian", + "ExtraProperties": "Thuộc tính bổ sung", + "MaxDuration": "Tối đa. Khoảng thời gian", + "MinDuration": "Tối thiểu. Khoảng thời gian", + "MinMaxDuration": "Thời lượng (Tối thiểu - Tối đa)", + "{0}Milliseconds": "{0} mili giây", + "ExecutionTime": "Thời gian", + "Parameters": "Thông số", + "EntityTypeFullName": "Loại thực thể Tên đầy đủ", + "Entity": "Thực thể", + "ChangeType": "Đổi loại", + "ChangeTime": "Thời gian", + "NewValue": "Giá trị mới", + "OriginalValue": "Giá trị gốc", + "PropertyName": "Tên tài sản", + "PropertyTypeFullName": "Loại tài sản Tên đầy đủ", + "Yes": "Đúng", + "No": "KHÔNG", + "Changes": "Thay đổi", + "AverageExecutionDurationInLogsPerDay": "Thời gian thực hiện trung bình", + "AverageExecutionDurationInMilliseconds": "Thời gian thực hiện trung bình tính bằng mili giây", + "ErrorRateInLogs": "Tỷ lệ lỗi trong nhật ký", + "Success": "Thành công", + "Fault": "Lỗi", + "NoChanges": "Không thay đổi)", + "EntityChanges": "Thay đổi thực thể", + "EntityId": "ID phap nhân", + "EntityChangeStartTime": "Ngày thay đổi tối thiểu", + "EntityChangeEndTime": "Ngày thay đổi tối đa", + "EntityHistory": "Lịch sử thực thể", + "DaysAgoTitle": "{0} {1}.", + "DaysAgoWithUserTitle": "{0} {1} của {2}.", + "Created": "Tạo", + "Updated": "Đã cập nhật", + "Deleted": "Đã xóa", + "ChangeHistory": "thay đổi lịch sử", + "FullChangeHistory": "Lịch sử thay đổi hoàn toàn", + "ChangeDetails": "Thay đổi chi tiết", + "DurationMs": "Thời lượng (ms)", + "StartDate": "Ngày bắt đầu", + "EndDate": "Ngày cuối", + "Feature:AuditLoggingGroup": "Ghi nhật ký kiểm tra", + "Feature:AuditLoggingEnable": "Đã bật trang ghi nhật ký kiểm tra", + "Feature:AuditLoggingEnableDescription": "Kích hoạt trang ghi nhật ký kiểm tra trong ứng dụng." + } +} \ No newline at end of file diff --git a/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/vi.json b/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/vi.json index 1caf95b634..d45bdeadfa 100644 --- a/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/vi.json +++ b/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/vi.json @@ -19,12 +19,19 @@ "ReplyTo": "Trả lời {0}", "ContinueReading": "Tiếp tục đọc", "DaysAgo": "{0} ngày trước", + "DayAgo": "{0} ngày trước", "YearsAgo": "{0} năm trước", + "YearAgo": "{0} năm trước", "MonthsAgo": "{0} tháng trước", + "MonthAgo": "{0} tháng trước", "WeeksAgo": "{0} tuần trước", + "WeekAgo": "{0} tuần trước", "MinutesAgo": "{0} phút trước", + "MinuteAgo": "{0} phút trước", "SecondsAgo": "{0} giây trước", + "SecondAgo": "{0} giây trước", "HoursAgo": "{0} giờ trước", + "HourAgo": "{0} giờ trước", "Now": "bây giờ", "Content": "Nội dung", "SeeAll": "Xem tất cả", @@ -56,6 +63,26 @@ "ShareOn": "Chia sẻ", "TitleLengthWarning": "Giữ kích thước tiêu đề của bạn dưới 60 ký tự để thân thiện với SEO!", "ClearCache": "Xóa bộ nhớ cache", - "ClearCacheConfirmationMessage": "Bạn có chắc chắn muốn xóa bộ nhớ cache không?" + "ClearCacheConfirmationMessage": "Bạn có chắc chắn muốn xóa bộ nhớ cache không?", + "MarkdownSupported": "Đánh dấu được hỗ trợ", + "FileUploadInfo": "Kéo, thả hoặc dán hình ảnh đã sao chép.", + "PostDescriptionHint": "* Sẽ được hiển thị trong bản xem trước liên kết bài viết, hỗ trợ HTML", + "ReadMore": "Tiếp tục đọc", + "MemberNotPublishedPostYet": "Chưa có bài viết nào!", + "UpdateUserWebSiteInfo": "Ví dụ: https://johndoe.com", + "UpdateUserTwitterInfo": "Ví dụ: johndoe", + "UpdateUserGithubInfo": "Ví dụ: johndoe", + "UpdateUserLinkedinInfo": "Ví dụ: https://www.linkedin.com/...", + "UpdateUserCompanyInfo": "Ví dụ: Volosoft", + "UpdateUserJobTitleInfo": "Ví dụ: Nhà phát triển phần mềm", + "WebSite": "Trang mạng", + "UserName": "tên tài khoản", + "FullURL": "URL đầy đủ", + "JobTitle": "Chức danh", + "PersonalWebsite": "TRANG WEB CÁ NHÂN", + "EditProfile": "Chỉnh sửa hồ sơ", + "MoreFromBlog": "Xem thêm từ blog", + "MoreFromUser": "Thông tin khác từ {0}", + "BlogPosts": "bài viết" } } \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/vi.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/vi.json index 09ae8f3a9c..ab943e8b91 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/vi.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/vi.json @@ -15,7 +15,6 @@ "CmsKit.Ratings": "Xếp hạng", "CmsKit.Reactions": "Phản ứng", "CmsKit.Tags": "Thẻ", - "CmsKit.BlogPost.PreventXssFeature": "Ngăn chặn XSS", "CmsKit:0002": "Nội dung đã tồn tại!", "CmsKit:0003": "Thực thể {0} không thể gắn thẻ.", "CmsKit:Blog:0001": "Sên đã cho ({Slug}) đã tồn tại!", @@ -87,6 +86,7 @@ "Permission:BlogPostManagement.Create": "Tạo ra", "Permission:BlogPostManagement.Delete": "Xóa bỏ", "Permission:BlogPostManagement.Update": "Cập nhật", + "Permission:BlogPostManagement.Publish": "Công bố", "Permission:CmsKit": "CmsKit", "Permission:Comments": "Quản lý bình luận", "Permission:Comments.Delete": "Xóa bỏ", @@ -113,10 +113,14 @@ "Permission:PageManagement:Create": "Tạo ra", "Permission:PageManagement:Delete": "Xóa bỏ", "Permission:PageManagement:Update": "Cập nhật", + "Permission:PageManagement:SetAsHomePage": "Đặt làm trang chủ", "Permission:TagManagement": "Quản lý thẻ", "Permission:TagManagement.Create": "Tạo ra", "Permission:TagManagement.Delete": "Xóa bỏ", "Permission:TagManagement.Update": "Cập nhật", + "Permission:GlobalResources": "Tài nguyên toàn cầu", + "Permission:CmsKitPublic": "CmsKit công khai", + "Permission:Comments.DeleteAll": "Xóa hết", "PickYourReaction": "Chọn phản ứng của bạn", "Rating": "Xếp hạng", "RatingUndoMessage": "Xếp hạng của bạn sẽ được hoàn tác.", @@ -131,6 +135,7 @@ "SelectAll": "Chọn tất cả", "Send": "Gửi", "SendMessage": "Gửi tin nhắn", + "SelectedAuthor": "Tác giả", "ShortDescription": "Mô tả ngắn", "Slug": "Sên", "Source": "Nguồn", @@ -161,6 +166,67 @@ "YourFullName": "Tên đầy đủ của bạn", "YourMessage": "Tin nhắn của bạn", "YourReply": "Câu trả lời của bạn", - "ThisPartOfContentCouldntBeLoaded": "Phần này của nội dung không thể được tải." + "MarkdownSupported": "Hỗ trợ đánh dấu .", + "GlobalResources": "Tài nguyên toàn cầu", + "SavedSuccessfully": "đã lưu thành công", + "CmsKit.BlogPost.Status.0": "Bản nháp", + "CmsKit.BlogPost.Status.1": "Được phát hành", + "CmsKit.BlogPost.Status.2": "Đang chờ xem xét", + "BlogPostPublishConfirmationMessage": "Bạn có chắc chắn xuất bản bài đăng trên blog "{0}" không?", + "SuccessfullyPublished": "Đã xuất bản thành công!", + "Draft": "Bản nháp", + "Publish": "Công bố", + "BlogPostDraftConfirmationMessage": "Bạn có chắc chắn đặt bài đăng blog "{0}" làm bản nháp không?", + "BlogPostSendToReviewConfirmationMessage": "Bạn có chắc chắn gửi bài đăng blog "{0}" tới quản trị viên xem xét để xuất bản không?", + "SaveAsDraft": "Lưu dưới dạng bản nháp", + "SendToReview": "Gửi để xem xét", + "SendToReviewToPublish": "Gửi để xem xét để xuất bản", + "BlogPostSendToReviewSuccessMessage": "Bài đăng trên blog "{0}" đã được gửi tới quản trị viên để xuất bản.", + "HasBlogPostWaitingForReviewMessage": "Bạn có một bài đăng trên blog đang chờ xem xét. Bấm vào để liệt kê.", + "SelectAStatus": "Chọn một trạng thái", + "Status": "Trạng thái", + "CmsKit.BlogPost.ScrollIndex": "Thanh điều hướng nhanh trong bài viết blog", + "CmsKit.BlogPost.PreventXssFeature": "Ngăn chặn XSS", + "Add": "Thêm vào", + "AddWidget": "Thêm tiện ích", + "PleaseConfigureWidgets": "Vui lòng định cấu hình tiện ích", + "SelectAnAuthor": "Chọn một tác giả", + "InThisDocument": "Trong tài liệu này", + "GoToTop": "Lên đầu trang", + "SetAsHomePage": "Thay đổi trạng thái trang chủ", + "CompletedSettingAsHomePage": "Đặt làm trang chủ", + "IsHomePage": "là trang chủ", + "RemovedSettingAsHomePage": "Đã xóa cài đặt trang chủ", + "Feature:CmsKitGroup": "Bộ Cms", + "Feature:BlogEnable": "Bài viết trên blog", + "Feature:BlogEnableDescription": "Hệ thống blogpost của CMS Kit cho phép tạo blog và bài đăng động trong ứng dụng.", + "Feature:CommentEnable": "Bình luận", + "Feature:CommentEnableDescription": "Hệ thống bình luận của CMS Kit cho phép bình luận về các thực thể như BlogPost.", + "Feature:GlobalResourceEnable": "Nguồn lực toàn cầu", + "Feature:GlobalResourceEnableDescription": "Tính năng tài nguyên toàn cầu của CMS Kit cho phép quản lý các kiểu và tập lệnh toàn cầu.", + "Feature:MenuEnable": "Thực đơn", + "Feature:MenuEnableDescription": "Hệ thống menu động của CMS Kit cho phép thêm/xóa menu ứng dụng một cách linh hoạt.", + "Feature:PageEnable": "Phân trang", + "Feature:PageEnableDescription": "Hệ thống trang của CMS Kit cho phép tạo các trang tĩnh với URL cụ thể.", + "Feature:RatingEnable": "Xếp hạng", + "Feature:RatingEnableDescription": "Hệ thống xếp hạng của Bộ công cụ CMS cho phép người dùng xếp hạng các thực thể như BlogPost.", + "Feature:ReactionEnable": "Sự phản ứng lại", + "Feature:ReactionEnableDescription": "Hệ thống phản ứng của CMS Kit cho phép người dùng gửi phản ứng đến các thực thể như BlogPost, Comments, v.v.", + "Feature:TagEnable": "Gắn thẻ", + "Feature:TagEnableDescription": "Hệ thống thẻ của CMS Kit cho phép gắn thẻ các thực thể như BlogPost.", + "DeleteBlogPostMessage": "Blog sẽ bị xóa. Bạn có chắc không?", + "CaptchaCode": "Mã xác thực", + "CommentTextRequired": "Bình luận là bắt buộc", + "CaptchaCodeErrorMessage": "Câu trả lời bạn đã nhập cho CAPTCHA không chính xác. Vui lòng thử lại", + "CaptchaCodeMissingMessage": "Mã captcha bị thiếu!", + "UnAllowedExternalUrlMessage": "Bạn đã bao gồm một URL bên ngoài không được phép. Vui lòng thử lại mà không cần URL bên ngoài.", + "URL": "URL", + "PopularTags": "Thẻ phổ biến", + "RemoveCoverImageConfirmationMessage": "Bạn có chắc chắn muốn xóa ảnh bìa không?", + "RemoveCoverImage": "Xóa ảnh bìa", + "CssClass": "Lớp CSS", + "TagsHelpText": "Các thẻ phải được phân tách bằng dấu phẩy (ví dụ: tag1, tag2, tag3)", + "ThisPartOfContentCouldntBeLoaded": "Phần này của nội dung không thể được tải.", + "DuplicateCommentAttemptMessage": "Đã phát hiện nỗ lực đăng bình luận trùng lặp. Bình luận của bạn đã được gửi." } } \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/vi.json b/modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/vi.json index df729a70e9..9b47a049a9 100644 --- a/modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/vi.json +++ b/modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/vi.json @@ -55,6 +55,8 @@ "LanguageCode": "Mật ngữ", "FileName": "Tên tệp", "LastCachedTime": "Thời gian lưu vào bộ nhớ đệm", - "Project": "Dự án" + "Project": "Dự án", + "AdvancedFilters": "Bộ lọc nâng cao", + "RemoveCacheAndReIndexConfirmation": "Tài liệu "{0}" sẽ bị xóa khỏi bộ đệm và được lập chỉ mục lại. Bạn có xác nhận không?" } } \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/vi.json b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/vi.json index 0155edac2e..b92c9fe68c 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/vi.json +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/vi.json @@ -36,6 +36,7 @@ "Volo.Docs.Domain:010002": "Tên miền ngắn {ShortName} đã tồn tại.", "Preview": "xem trước", "Search": "Tìm kiếm", - "SearchResults": "kết quả tìm kiếm" + "SearchResults": "kết quả tìm kiếm", + "SearchInTheAllDocuments": "Tìm kiếm trong tất cả các tài liệu" } } \ No newline at end of file diff --git a/modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/vi.json b/modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/vi.json index 45dbce701d..c1d5d13b6a 100644 --- a/modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/vi.json +++ b/modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/vi.json @@ -4,9 +4,14 @@ "Features": "Tính năng", "NoFeatureFoundMessage": "Không có bất kỳ tính năng khả dụng nào.", "ManageHostFeatures": "Quản lý các tính năng của Máy chủ lưu trữ", + "ManageHostFeaturesText": "Bạn có thể quản lý các tính năng phía máy chủ bằng cách nhấp vào nút sau.", "Permission:FeatureManagement": "Quản lý tính năng", "Permission:FeatureManagement.ManageHostFeatures": "Quản lý các tính năng của Máy chủ lưu trữ", "Volo.Abp.FeatureManagement:InvalidFeatureValue": "Giá trị tính năng {0} không hợp lệ!", - "Menu:FeatureManagement": "Quản lý tính năng" + "Menu:FeatureManagement": "Quản lý tính năng", + "ResetToDefault": "Đặt lại về mặc định", + "ResetedToDefault": "Đã đặt lại về mặc định", + "AreYouSure": "Bạn có chắc không?", + "AreYouSureToResetToDefault": "Bạn có chắc chắn đặt lại về mặc định không?" } } \ No newline at end of file diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/vi.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/vi.json index 1051228df0..330e952374 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/vi.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/vi.json @@ -117,6 +117,13 @@ "Description:Abp.Identity.SignIn.EnablePhoneNumberConfirmation": "Người dùng có thể xác nhận số điện thoại hay không.", "Description:Abp.Identity.SignIn.RequireConfirmedPhoneNumber": "Liệu một số điện thoại được xác nhận có được yêu cầu để đăng nhập hay không.", "Description:Abp.Identity.User.IsUserNameUpdateEnabled": "Người dùng có thể cập nhật tên người dùng hay không.", - "Description:Abp.Identity.User.IsEmailUpdateEnabled": "Người dùng có thể cập nhật email hay không." + "Description:Abp.Identity.User.IsEmailUpdateEnabled": "Người dùng có thể cập nhật email hay không.", + "Details": "Chi tiết", + "CreatedBy": "Được tạo bởi", + "ModifiedBy": "Được sửa đổi bởi", + "ModificationTime": "Thời gian sửa đổi", + "PasswordUpdateTime": "Thời gian cập nhật mật khẩu", + "LockoutEndTime": "Thời gian kết thúc khóa", + "FailedAccessCount": "Số lượt truy cập không thành công" } -} +} \ No newline at end of file diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/vi.json b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/vi.json index ff06e7944c..4d62d91611 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/vi.json +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/vi.json @@ -10,6 +10,7 @@ "LoginIsNotAllowed": "Bạn không được phép đăng nhập! Tài khoản của bạn không hoạt động hoặc cần xác nhận email/số điện thoại của bạn.", "InvalidUsername": "Sai username hoặc password!", "InvalidAuthenticatorCode": "Mã xác thực không hợp lệ!", + "InvalidRecoveryCode": "Mã khôi phục không hợp lệ!", "TheTargetUserIsNotLinkedToYou": "Người dùng mục tiêu không được liên kết với bạn!" } } \ No newline at end of file diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo/Abp/OpenIddict/Localization/OpenIddict/vi.json b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo/Abp/OpenIddict/Localization/OpenIddict/vi.json new file mode 100644 index 0000000000..c89d882a39 --- /dev/null +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo/Abp/OpenIddict/Localization/OpenIddict/vi.json @@ -0,0 +1,15 @@ +{ + "culture": "vi", + "texts": { + "TheOpenIDConnectRequestCannotBeRetrieved": "Không thể truy xuất yêu cầu OpenID Connect.", + "TheUserDetailsCannotBbeRetrieved": "Không thể truy xuất chi tiết người dùng.", + "TheApplicationDetailsCannotBeFound": "Không thể tìm thấy chi tiết ứng dụng.", + "DetailsConcerningTheCallingClientApplicationCannotBeFound": "Không thể tìm thấy thông tin chi tiết liên quan đến ứng dụng khách đang gọi.", + "TheSpecifiedGrantTypeIsNotImplemented": "Loại trợ cấp được chỉ định {0} không được triển khai.", + "Authorization": "Ủy quyền", + "DoYouWantToGrantAccessToYourData": "Bạn có muốn cấp cho {0} quyền truy cập vào dữ liệu của mình không?", + "ScopesRequested": "Phạm vi được yêu cầu", + "Accept": "Chấp nhận", + "Deny": "Từ chối" + } +} \ No newline at end of file diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain.Shared/Volo/Abp/PermissionManagement/Localization/Domain/vi.json b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain.Shared/Volo/Abp/PermissionManagement/Localization/Domain/vi.json index 9364bcf588..290425626c 100644 --- a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain.Shared/Volo/Abp/PermissionManagement/Localization/Domain/vi.json +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain.Shared/Volo/Abp/PermissionManagement/Localization/Domain/vi.json @@ -5,6 +5,7 @@ "OnlyProviderPermissons": "Chỉ nhà cung cấp này", "All": "Tất cả", "SelectAllInAllTabs": "Cấp tất cả các quyền", - "SelectAllInThisTab": "Chọn tất cả" + "SelectAllInThisTab": "Chọn tất cả", + "SaveWithoutAnyPermissionsWarningMessage": "Bạn có chắc chắn muốn lưu mà không có bất kỳ quyền nào không?" } -} +} \ No newline at end of file diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/vi.json b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/vi.json index 744620abc6..8989bd2fef 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/vi.json +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/vi.json @@ -5,7 +5,21 @@ "SuccessfullySaved": "Lưu thành công", "Permission:SettingManagement": "Cài đặt quản lý", "Permission:Emailing": "Gửi email", + "Permission:EmailingTest": "Kiểm tra gửi email", + "Permission:TimeZone": "Múi giờ", + "SendTestEmail": "Gửi email kiểm tra", + "SenderEmailAddress": "Địa chỉ email người gửi", + "TargetEmailAddress": "Địa chỉ email mục tiêu", + "Subject": "Chủ thể", + "Body": "Thân hình", + "TestEmailSubject": "Kiểm tra email {0}", + "TestEmailBody": "Kiểm tra nội dung email tại đây", + "SuccessfullySent": "Đã gửi thành công", + "Send": "Gửi", "Menu:Emailing": "Gửi email", + "Menu:TimeZone": "Múi giờ", + "DisplayName:Timezone": "Múi giờ", + "TimezoneHelpText": "Cài đặt này được sử dụng cho toàn bộ ứng dụng hoặc dựa trên đối tượng thuê.", "SmtpHost": "Tổ chức", "SmtpPort": "Hải cảng", "SmtpUserName": "Tên tài khoản", @@ -21,4 +35,4 @@ "Feature:AllowChangingEmailSettings": "Cho phép thay đổi cài đặt email.", "Feature:AllowChangingEmailSettingsDescription": "Cho phép thay đổi cài đặt email." } -} +} \ No newline at end of file diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/vi.json b/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/vi.json index 4fafa9cc72..13f5afb095 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/vi.json +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/vi.json @@ -1,6 +1,7 @@ { "culture": "vi", "texts": { + "Volo.Abp.TenantManagement:DuplicateTenantName": "Tên người thuê đã tồn tại: {Name}", "Menu:TenantManagement": "Quản lý người thuê", "Tenants": "Người thuê", "NewTenant": "Người thuê mới",