Skip to content

Commit

Permalink
Complete Vietnamese language. (#470)
Browse files Browse the repository at this point in the history
* Complete Vietnamese language.

Translate the complete Vietnamese language for CodeIgniter4.

* Complete all translations for Vietnamese language.

Co-Authored-By: John Paul E. Balandan, CPA <[email protected]>

* Update VietnameseTranslationTest.php

Co-Authored-By: John Paul E. Balandan, CPA <[email protected]>

* Update VietnameseTranslationTest.php

Co-Authored-By: John Paul E. Balandan, CPA <[email protected]>

---------

Co-authored-by: John Paul E. Balandan, CPA <[email protected]>
  • Loading branch information
tuyenht and paulbalandan authored Oct 15, 2024
1 parent 200f0c1 commit 21fce8e
Show file tree
Hide file tree
Showing 30 changed files with 428 additions and 214 deletions.
45 changes: 39 additions & 6 deletions Language/vi/CLI.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,43 @@

// CLI language settings
return [
'commandNotFound' => 'Lệnh "{0}" không tìm thấy.',
'helpUsage' => 'Sử dụng:',
'helpDescription' => 'Mô tả:',
'helpOptions' => 'Tùy chọn:',
'helpArguments' => 'Thuộc tính:',
'invalidColor' => 'Màu {0} không hợp lệ: {1}.',
'altCommandPlural' => 'Có phải bạn muốn thực hiện một trong những lệnh này?',
'altCommandSingular' => 'Có phải bạn muốn thực hiện lệnh này?',
'commandNotFound' => 'Không tìm thấy lệnh "{0}".',
'generator' => [
'cancelOperation' => 'Đã hủy thao tác.',
'className' => [
'cell' => 'Tên lớp Cell',
'command' => 'Tên lớp Command',
'config' => 'Tên lớp Config',
'controller' => 'Tên lớp Controller',
'default' => 'Tên lớp mặc định',
'entity' => 'Tên lớp Entity',
'filter' => 'Tên lớp Filter',
'migration' => 'Tên lớp Migration',
'model' => 'Tên lớp Model',
'seeder' => 'Tên lớp Seeder',
'test' => 'Tên lớp Test',
'validation' => 'Tên lớp Validation',
],
'commandType' => 'Loại lệnh',
'databaseGroup' => 'Nhóm cơ sở dữ liệu',
'fileCreate' => 'Đã tạo tệp: {0}',
'fileError' => 'Lỗi khi tạo tệp: {0}',
'fileExist' => 'Tệp đã tồn tại: {0}',
'fileOverwrite' => 'Tệp đã bị ghi đè: {0}',
'parentClass' => 'Lớp cha',
'returnType' => 'Kiểu trả về',
'tableName' => 'Tên bảng',
'usingCINamespace' => 'Cảnh báo: Khi sử dụng namespace "CodeIgniter", tệp sẽ được tạo trong thư mục hệ thống.',
'viewName' => [
'cell' => 'Tên giao diện Cell',
],
],
'helpArguments' => 'Tham số:',
'helpDescription' => 'Mô tả:',
'helpOptions' => 'Tùy chọn:',
'helpUsage' => 'Cách sử dụng:',
'invalidColor' => 'Màu {0} không hợp lệ: {1}.',
'namespaceNotDefined' => 'Namespace "{0}" chưa được định nghĩa.',
];
8 changes: 4 additions & 4 deletions Language/vi/Cache.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@

// Cache language settings
return [
'unableToWrite' => 'Bộ nhớ cache không thể ghi vào {0}',
'invalidHandlers' => 'Cấu hình bộ đệm phải một mảng $validHandlers.',
'noBackup' => 'Cấu hình bộ đệm phải có bộ xử lý và backupHandler.',
'handlerNotFound' => 'Cấu hình bộ đệm có trình xử lý không hợp lệ hoặc trình xử lý sao lưu được chỉ định.',
'unableToWrite' => 'Không thể ghi cache vào {0}',
'invalidHandlers' => '$validHandlers phải chứa một mảng cấu hình cache.',
'noBackup' => 'Cấu hình cache phải có một trình xử lý và một trình xử lý dự phòng.',
'handlerNotFound' => 'Có một trình xử lý hoặc trình xử lý dự phòng không hợp lệ trong cấu hình cache.',
];
14 changes: 9 additions & 5 deletions Language/vi/Cast.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,13 @@

// Cast language settings
return [
'jsonErrorDepth' => 'Vượt quá độ sâu xếp chồng tối đa.',
'jsonErrorCtrlChar' => 'Tìm thấy ký tự kiểm soát không mong muốn',
'jsonErrorSyntax' => 'Lỗi cú pháp, lỗi định dạng JSON.',
'jsonErrorUtf8' => 'Các ký tự UTF-8 không đúng định dạng, có thể được mã hóa không chính xác',
'jsonErrorUnknown' => 'Không thể nhận biết lỗi',
'baseCastMissing' => 'Lớp "{0}" phải kế thừa từ lớp "CodeIgniter\Entity\Cast\BaseCast".',
'invalidCastMethod' => '"{0}" là phương thức ép kiểu không hợp lệ, các phương thức hợp lệ là: ["get", "set"].',
'invalidTimestamp' => 'Ép kiểu "timestamp" yêu cầu một dấu thời gian hợp lệ.',
'jsonErrorCtrlChar' => 'Lỗi ký tự điều khiển, có thể mã hóa sai.',
'jsonErrorDepth' => 'Đã vượt quá độ sâu tối đa của ngăn xếp.',
'jsonErrorStateMismatch' => 'Tràn bộ đệm hoặc không khớp trạng thái.',
'jsonErrorSyntax' => 'Lỗi cú pháp, JSON không hợp lệ.',
'jsonErrorUnknown' => 'Lỗi không xác định.',
'jsonErrorUtf8' => 'Ký tự UTF-8 không hợp lệ, có thể mã hóa sai.',
];
24 changes: 24 additions & 0 deletions Language/vi/Cookie.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?php

/**
* This file is part of CodeIgniter 4 framework.
*
* (c) CodeIgniter Foundation <[email protected]>
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/

// Cookie language settings
return [
'invalidExpiresTime' => 'Kiểu dữ liệu "{0}" không hợp lệ cho thuộc tính "Expires". Mong đợi: Chuỗi, Số nguyên, hoặc đối tượng DateTimeInterface.',
'invalidExpiresValue' => 'Thời gian hết hạn của cookie không hợp lệ.',
'invalidCookieName' => 'Cookie "{0}" chứa ký tự không hợp lệ.',
'emptyCookieName' => 'Tên cookie không được để trống.',
'invalidSecurePrefix' => 'Tiền tố "__Secure-" yêu cầu thuộc tính "Secure".',
'invalidHostPrefix' => 'Việc sử dụng tiền tố "__Host-" phải đi kèm với cờ "Secure", không có thuộc tính "Domain", và đường dẫn (Path) phải được đặt là "/".',
'invalidSameSite' => 'Cài đặt SameSite chỉ có thể là None, Lax, Strict, hoặc chuỗi trống. Đã nhận: {0}',
'invalidSameSiteNone' => 'Nếu thuộc tính "SameSite=None" được thiết lập, thuộc tính "Secure" cũng phải được thiết lập.',
'invalidCookieInstance' => 'Lớp "{0}" mong đợi mảng cookie là một thể hiện của "{1}", nhưng nhận được "{2}" tại chỉ số {3}.',
'unknownCookieInstance' => 'Đối tượng cookie với tên "{0}" và tiền tố "{1}" không được tìm thấy trong bộ sưu tập.',
];
11 changes: 7 additions & 4 deletions Language/vi/Core.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,11 @@

// Core language settings
return [
'copyError' => 'Đã xảy ra lỗi khi cố gắng thay thế tệp ({0}). Hãy chắc chắn rằng thư mục tập tin của bạn có quyền ghi.',
'invalidFile' => 'Tập tin không hợp lệ:{0}',
'missingExtension' => '{0} tiện ích mở rộng không được tải.',
'noHandlers' => '{0} phải cung cấp ít nhất một Handler.',
'copyError' => 'Đã xảy ra lỗi khi cố gắng thay thế tệp ({0}). Vui lòng đảm bảo rằng thư mục có quyền ghi.',
'enabledZlibOutputCompression' => 'Chỉ thị zlib.output_compression trong tệp cấu hình ini đã được kích hoạt. Điều này không hoạt động tốt với việc đệm đầu ra.',
'invalidFile' => 'Tệp không hợp lệ: {0}',
'invalidDirectory' => 'Thư mục không tồn tại: "{0}"',
'invalidPhpVersion' => 'Để chạy CodeIgniter, PHP phải được cài đặt phiên bản {0} trở lên. Phiên bản hiện tại: {1}',
'missingExtension' => 'Để framework hoạt động, cần cài đặt và tải các phần mở rộng sau: {0}.',
'noHandlers' => '{0} phải cung cấp ít nhất một trình xử lý (handler).',
];
32 changes: 17 additions & 15 deletions Language/vi/Database.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,21 @@

// Database language settings
return [
'invalidEvent' => '{0} không phải là một phản hồi Model Event hợp lệ.',
'invalidArgument' => 'Bạn phải cung cấp {0} hợp lệ.',
'invalidAllowedFields' => 'Các trường được phép phải được chỉ định cho mô hình: {0}',
'emptyDataset' => 'Không có dữ liệu cho {0}.',
'failGetFieldData' => 'Không thể lấy dữ liệu thực địa từ cơ sở dữ liệu.',
'failGetIndexData' => 'Không thể lấy dữ liệu chỉ mục từ cơ sở dữ liệu.',
'failGetForeignKeyData' => 'Không thể lấy dữ liệu khóa ngoại từ cơ sở dữ liệu.',
'parseStringFail' => 'Phân tích chuỗi khóa thất bại.',
'featureUnavailable' => 'Tính năng này không có sẵn cho cơ sở dữ liệu bạn đang sử dụng.',
'tableNotFound' => 'Bảng `{0}` không được tìm thấy trong cơ sở dữ liệu hiện tại.',
'noPrimaryKey' => '`{0}` class model không chỉ định Khóa chính.',
'noDateFormat' => '`{0}` class model không có dateFormat hợp lệ.',
'fieldNotExists' => 'Trường `{0}` không tìm thấy.',
'forEmptyInputGiven' => 'Câu lệnh rỗng được đưa ra cho trường `{0}`',
'forFindColumnHaveMultipleColumns' => 'Chỉ một cột được cho phép trong tên cột.',
'invalidEvent' => '{0} không phải là một Callback sự kiện Model hợp lệ.',
'invalidArgument' => 'Tham số không hợp lệ: {0}.',
'invalidAllowedFields' => 'Không có trường hợp lệ nào được chỉ định cho Model: {0}',
'emptyDataset' => 'Không tìm thấy dữ liệu cho: {0}.',
'emptyPrimaryKey' => 'Không có khóa chính nào được định nghĩa cho việc tạo {0}.',
'failGetFieldData' => 'Không thể truy xuất dữ liệu trường từ cơ sở dữ liệu.',
'failGetIndexData' => 'Không thể truy xuất dữ liệu chỉ mục từ cơ sở dữ liệu.',
'failGetForeignKeyData' => 'Không thể truy xuất khóa ngoại từ cơ sở dữ liệu.',
'parseStringFail' => 'Phân tích chuỗi Key thất bại.',
'featureUnavailable' => 'Tính năng này không có sẵn cho cơ sở dữ liệu đang sử dụng.',
'tableNotFound' => 'Không thể tìm thấy bảng `{0}` trong cơ sở dữ liệu hiện tại.',
'noPrimaryKey' => 'Model `{0}` không định nghĩa khóa chính.',
'noDateFormat' => 'Model `{0}` không có định dạng ngày hợp lệ ($dateFormat).',
'fieldNotExists' => 'Không tìm thấy trường `{0}`.',
'forEmptyInputGiven' => 'Câu lệnh rỗng cho trường `{0}`.',
'forFindColumnHaveMultipleColumns' => 'Chỉ được định nghĩa một tên trường duy nhất.',
'methodNotAvailable' => '`{1}` không thể sử dụng trong `{0}`. Đây là một phương thức của lớp `Query Builder`.',
];
29 changes: 15 additions & 14 deletions Language/vi/Email.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,23 @@

// Email language settings
return [
'mustBeArray' => 'Phương thức xác thực email phải được thông qua một mảng.',
'mustBeArray' => 'Phương thức xác thực email phải được truyền một mảng.',
'invalidAddress' => 'Địa chỉ email không hợp lệ: {0}',
'attachmentMissing' => 'Không thể định vị tệp đính kèm email sau: {0}',
'attachmentUnreadable' => 'Không thể mở tệp đính kèm này: {0}',
'noFrom' => 'Không thể gửi thư mà không có "From" header.',
'noRecipients' => 'Bạn phải bao gồm người nhận: To, Cc, or Bcc',
'sendFailurePHPMail' => 'Không thể gửi email bằng PHP mail(). Máy chủ của bạn có thể không được cấu hình để gửi thư bằng phương thức này.',
'sendFailureSendmail' => 'Không thể gửi email bằng PHP Sendmail. Máy chủ của bạn có thể không được cấu hình để gửi thư bằng phương thức này.',
'sendFailureSmtp' => 'Không thể gửi email bằng PHP SMTP. Máy chủ của bạn có thể không được cấu hình để gửi thư bằng phương thức này.',
'sent' => 'Tin nhắn của bạn đã được gửi thành công bằng giao thức sau: {0}',
'noSocket' => 'Không thể mở ổ cắm cho Sendmail. Vui lòng kiểm tra cài đặt.',
'noHostname' => 'Bạn đã không chỉ định tên máy chủ SMTP.',
'SMTPError' => 'Đã xảy ra lỗi SMTP sau đây: {0}',
'noSMTPAuth' => 'Lỗi: Bạn phải chỉ định tên người dùng và mật khẩu SMTP.',
'failedSMTPLogin' => 'Không thể gửi lệnh AUTH LOGIN. Lỗi: {0}',
'attachmentMissing' => 'Không thể tìm thấy tệp đính kèm sau: {0}',
'attachmentUnreadable' => 'Lỗi khi mở tệp đính kèm: {0}',
'noFrom' => 'Không thể gửi email mà không có tiêu đề "From".',
'noRecipients' => 'Không có người nhận được thiết lập. Cần có giá trị cho To, Cc hoặc Bcc.',
'sendFailurePHPMail' => 'Gửi email bằng PHP mail() thất bại. Có thể máy chủ không được cấu hình để gửi email bằng phương thức này.',
'sendFailureSendmail' => 'Gửi email bằng PHP Sendmail thất bại. Có thể máy chủ không được cấu hình để gửi email bằng phương thức này.',
'sendFailureSmtp' => 'Gửi email bằng PHP SMTP thất bại. Có thể máy chủ không được cấu hình để gửi email bằng phương thức này.',
'sent' => 'Tin nhắn đã được gửi thành công với giao thức sau: {0}',
'noSocket' => 'Không thể mở socket cho Sendmail. Vui lòng kiểm tra cài đặt.',
'noHostname' => 'Không có tên máy chủ SMTP được xác định.',
'SMTPError' => 'Đã xảy ra lỗi SMTP sau: {0}',
'noSMTPAuth' => 'Lỗi: Cần có tên người dùng và mật khẩu SMTP.',
'failedSMTPLogin' => 'Không thể gửi AUTH LOGIN. Lỗi: {0}',
'SMTPAuthUsername' => 'Không thể xác thực tên người dùng. Lỗi: {0}',
'SMTPAuthPassword' => 'Không thể xác thực mật khẩu. Lỗi: {0}',
'SMTPDataFailure' => 'Không thể gửi dữ liệu: {0}',
'exitStatus' => 'Mã trạng thái thoát: {0}',
];
10 changes: 5 additions & 5 deletions Language/vi/Encryption.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@

// Encryption language settings
return [
'noDriverRequested' => 'Không tìm thấy ổ đĩa yêu cầu, Mr XuanDung38 rất thất vọng!',
'noHandlerAvailable' => 'Không thể tìm thấy trình xử lý mã hóa {0}.',
'unKnownHandler' => '"{0}" không thể cấu hình.',
'starterKeyNeeded' => 'Trìnhhoá cần một khóa khởi động.',
'authenticationFailed' => 'Giải mã: xác thực thất bại.',
'noDriverRequested' => 'Không tìm thấy ổ đĩa yêu cầu.',
'noHandlerAvailable' => 'Không tìm thấy trình xử lý mã hóa {0} nào.',
'unKnownHandler' => 'Không thể cấu hình "{0}".',
'starterKeyNeeded' => 'Bộhóa cần một khóa khởi động.',
'authenticationFailed' => 'Giải mã: Xác thực thất bại.',
'encryptionFailed' => 'Mã hóa thất bại.',
];
18 changes: 18 additions & 0 deletions Language/vi/Errors.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?php

/**
* This file is part of CodeIgniter 4 framework.
*
* (c) CodeIgniter Foundation <[email protected]>
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/

// Errors language settings
return [
'pageNotFound' => '404 - Không tìm thấy trang',
'sorryCannotFind' => 'Xin lỗi! Trang yêu cầu không thể tìm thấy.',
'whoops' => 'Ôi!',
'weHitASnag' => 'Chúng tôi gặp phải một vấn đề. Vui lòng thử lại sau...',
];
17 changes: 17 additions & 0 deletions Language/vi/Fabricator.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?php

/**
* This file is part of CodeIgniter 4 framework.
*
* (c) CodeIgniter Foundation <[email protected]>
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/

// Fabricator language strings
return [
'invalidModel' => 'Model không hợp lệ đã được chuyển đến Fabricator.',
'missingFormatters' => 'Không có định dạng hợp lệ nào được định nghĩa.',
'createFailed' => 'Fabricator không thể chèn {1} vào bảng {0}.',
];
6 changes: 4 additions & 2 deletions Language/vi/Files.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@

// Files language settings
return [
'fileNotFound' => 'Không tìm thấy tệp: {0} ',
'cannotMove' => 'Không thể di chuyển tệp {0} sang {1} ({2})',
'fileNotFound' => 'Không tìm thấy tệp: {0}',
'cannotMove' => 'Không thể di chuyển tệp từ {0} đến {1} ({2}).',
'expectedDirectory' => '{0} yêu cầu một thư mục hợp lệ.',
'expectedFile' => '{0} yêu cầu một tệp hợp lệ.',
];
4 changes: 2 additions & 2 deletions Language/vi/Filters.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@

// Filters language settings
return [
'noFilter' => '{0} bộ lọc phải có một bí danh phù hợp được xác định.',
'incorrectInterface' => '{0} phải implement CodeIgniter\Filters\FilterInterface.',
'noFilter' => 'Phải định nghĩa một bí danh phù hợp cho bộ lọc {0}.',
'incorrectInterface' => '{0} phải triển khai CodeIgniter\Filters\FilterInterface.',
];
6 changes: 4 additions & 2 deletions Language/vi/Format.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@

// Format language settings
return [
'invalidJSON' => 'Không thể phân tích chuỗi json, lỗi: "{0}".',
'missingExtension' => 'Phần mở rộng SimpleXML là bắt buộc để định dạng XML.',
'invalidFormatter' => '"{0}" không phải là một lớp định dạng hợp lệ.',
'invalidJSON' => 'Chuỗi JSON không thể được phân tích. Lỗi: "{0}".',
'invalidMime' => 'Không có định dạng nào được định nghĩa cho loại MIME: "{0}".',
'missingExtension' => 'Tiện ích mở rộng SimpleXML cần thiết để định dạng XML.',
];
Loading

0 comments on commit 21fce8e

Please sign in to comment.