diff --git a/config/language.php b/config/language.php
index ddb308573..21d8d3a37 100644
--- a/config/language.php
+++ b/config/language.php
@@ -115,7 +115,7 @@ return [
|
*/
- 'allowed' => ['en-GB', 'de-DE', 'es-ES', 'fa-IR', 'fr-FR', 'nl-NL', 'pt-BR', 'ru-RU', 'sq-AL', 'tr-TR', 'zh-TW'],
+ 'allowed' => ['en-GB', 'de-DE', 'es-ES', 'fa-IR', 'fr-FR', 'nl-NL', 'pt-BR', 'ru-RU', 'sq-AL', 'tr-TR', 'vi-VN', 'zh-TW'],
/*
|--------------------------------------------------------------------------
diff --git a/resources/lang/vi-VN/accounts.php b/resources/lang/vi-VN/accounts.php
new file mode 100644
index 000000000..d30c3fe89
--- /dev/null
+++ b/resources/lang/vi-VN/accounts.php
@@ -0,0 +1,14 @@
+ 'Tên tài khoản',
+ 'number' => 'Số',
+ 'opening_balance' => 'Số dư đầu năm',
+ 'current_balance' => 'Số dư hiện tại',
+ 'bank_name' => 'Tên ngân hàng',
+ 'bank_phone' => 'Số điện thoại ngân hàng',
+ 'bank_address' => 'Địa chỉ ngân hàng',
+ 'default_account' => 'Tài khoản mặc định',
+
+];
diff --git a/resources/lang/vi-VN/auth.php b/resources/lang/vi-VN/auth.php
new file mode 100644
index 000000000..18ea00145
--- /dev/null
+++ b/resources/lang/vi-VN/auth.php
@@ -0,0 +1,30 @@
+ 'Hồ sơ',
+ 'logout' => 'Đăng xuất',
+ 'login' => 'Đăng nhập',
+ 'login_to' => 'Đăng nhập ngay',
+ 'remember_me' => 'Ghi nhớ tôi',
+ 'forgot_password' => 'Quên mật khẩu',
+ 'reset_password' => 'Khôi phục mật khẩu',
+ 'enter_email' => 'Nhập địa chỉ email của bạn',
+ 'current_email' => 'Email hiện tại của bạn',
+ 'reset' => 'Đặt lại',
+ 'never' => 'không bao giờ',
+ 'password' => [
+ 'current' => 'Mật khẩu',
+ 'current_confirm' => 'Xác nhân mật khẩu',
+ 'new' => 'Mật khẩu mới',
+ 'new_confirm' => 'Xác nhận mật khẩu mới',
+ ],
+ 'error' => [
+ 'self_delete' => 'Lỗi: Bạn không thể xoá chính bạn!'
+ ],
+
+ 'failed' => 'Thông tin tài khoản không tìm thấy trong hệ thống.',
+ 'disabled' => 'Tài khoản của bạn bị khoá. Vui lòng liên hệ với quản trị viên.',
+ 'throttle' => 'Vượt quá số lần đăng nhập cho phép. Vui lòng thử lại sau :seconds giây.',
+
+];
diff --git a/resources/lang/vi-VN/bills.php b/resources/lang/vi-VN/bills.php
new file mode 100644
index 000000000..9e3f3b11a
--- /dev/null
+++ b/resources/lang/vi-VN/bills.php
@@ -0,0 +1,41 @@
+ 'Số hoá đơn',
+ 'bill_date' => 'Ngày trên hoá đơn',
+ 'total_price' => 'Tổng giá',
+ 'due_date' => 'Ngày hết hạn',
+ 'order_number' => 'Số đơn hàng',
+ 'bill_from' => 'Hoá đơn từ',
+
+ 'quantity' => 'Số lượng',
+ 'price' => 'Đơn giá',
+ 'sub_total' => 'Tổng phụ',
+ 'tax_total' => 'Tổng thuế',
+ 'total' => 'Tổng số',
+
+ 'item_name' => 'Tên mục | Tên mục',
+
+ 'payment_due' => 'Hạn thanh toán',
+ 'amount_due' => 'Số tiền phải trả',
+ 'paid' => 'Đã thanh toán',
+ 'histories' => 'Lịch sử thanh toán',
+ 'payments' => 'Thanh toán',
+ 'add_payment' => 'Thêm thanh toán',
+ 'mark_received' => 'Đã nhận được',
+ 'download_pdf' => 'Tải PDF',
+ 'send_mail' => 'Gửi email',
+
+ 'status' => [
+ 'draft' => 'Bản nháp',
+ 'received' => 'Đã nhận',
+ 'partial' => 'Một phần',
+ 'paid' => 'Đã thanh toán',
+ ],
+
+ 'messages' => [
+ 'received' => 'Hoá đợn được đánh dấu là đã nhận thanh toán!',
+ ],
+
+];
diff --git a/resources/lang/vi-VN/companies.php b/resources/lang/vi-VN/companies.php
new file mode 100644
index 000000000..3bc0883c8
--- /dev/null
+++ b/resources/lang/vi-VN/companies.php
@@ -0,0 +1,13 @@
+ 'Tên miền',
+ 'logo' => 'Logo',
+ 'manage' => 'Quản lý công ty',
+ 'all' => 'Tất cả công ty',
+ 'error' => [
+ 'delete_active' => 'Lỗi: Không có thể xóa các công ty đang hoạt động, xin vui lòng, thay đổi trạng thái nó trước tiên!',
+ ],
+
+];
diff --git a/resources/lang/vi-VN/currencies.php b/resources/lang/vi-VN/currencies.php
new file mode 100644
index 000000000..8e22f7f26
--- /dev/null
+++ b/resources/lang/vi-VN/currencies.php
@@ -0,0 +1,9 @@
+ 'Mã',
+ 'rate' => 'Tỷ giá',
+ 'default' => 'Tiền tệ mặc định',
+
+];
diff --git a/resources/lang/vi-VN/customers.php b/resources/lang/vi-VN/customers.php
new file mode 100644
index 000000000..ebbee889f
--- /dev/null
+++ b/resources/lang/vi-VN/customers.php
@@ -0,0 +1,11 @@
+ 'Cho phép đăng nhập?',
+ 'user_created' => 'Người dùng đã được tạo',
+
+ 'error' => [
+ 'email' => 'Email đã được đăng ký.'
+ ]
+];
diff --git a/resources/lang/vi-VN/dashboard.php b/resources/lang/vi-VN/dashboard.php
new file mode 100644
index 000000000..dd9035675
--- /dev/null
+++ b/resources/lang/vi-VN/dashboard.php
@@ -0,0 +1,24 @@
+ 'Tổng thu nhập',
+ 'receivables' => 'Khoản phải thu',
+ 'open_invoices' => 'Hoá đơn phải thu',
+ 'overdue_invoices' => 'Hoá đơn quá hạn',
+ 'total_expenses' => 'Tổng chi phí',
+ 'payables' => 'Khoản phải trả',
+ 'open_bills' => 'Hoá đơn phải thu',
+ 'overdue_bills' => 'Hoá đơn quá hạn',
+ 'total_profit' => 'Tổng lợi nhuận',
+ 'open_profit' => 'Lợi nhuận',
+ 'overdue_profit' => 'Lợi nhuận quá hạn',
+ 'cash_flow' => 'Dòng tiền',
+ 'no_profit_loss' => 'Không thất thoát lợi nhuận',
+ 'incomes_by_category' => 'Doanh thu theo danh mục',
+ 'expenses_by_category' => 'Chi phí theo danh mục',
+ 'account_balance' => 'Số dư tài khoản',
+ 'latest_incomes' => 'Doanh thu gần đây',
+ 'latest_expenses' => 'Chi phí gần đây',
+
+];
diff --git a/resources/lang/vi-VN/demo.php b/resources/lang/vi-VN/demo.php
new file mode 100644
index 000000000..da282fb9c
--- /dev/null
+++ b/resources/lang/vi-VN/demo.php
@@ -0,0 +1,17 @@
+ 'Tiền mặt',
+ 'categories_uncat' => 'Chưa phân loại',
+ 'categories_deposit' => 'Tiền gửi',
+ 'categories_sales' => 'Bán hàng',
+ 'currencies_usd' => 'Đô-la Mỹ',
+ 'currencies_eur' => 'Euro',
+ 'currencies_gbp' => 'Bảng Anh',
+ 'currencies_try' => 'Lia Thổ Nhĩ Kỳ',
+ 'taxes_exempt' => 'Miễn thuế',
+ 'taxes_normal' => 'Thuế',
+ 'taxes_sales' => 'Thuế bán hàng',
+
+];
diff --git a/resources/lang/vi-VN/footer.php b/resources/lang/vi-VN/footer.php
new file mode 100644
index 000000000..57bdd9ffb
--- /dev/null
+++ b/resources/lang/vi-VN/footer.php
@@ -0,0 +1,9 @@
+ 'Phiên bản',
+ 'powered' => 'Powered By Akaunting',
+ 'software' => 'Phần mềm kế toán miễn phí',
+
+];
diff --git a/resources/lang/vi-VN/general.php b/resources/lang/vi-VN/general.php
new file mode 100644
index 000000000..91b88f1f9
--- /dev/null
+++ b/resources/lang/vi-VN/general.php
@@ -0,0 +1,108 @@
+ 'Mục | Mục',
+ 'incomes' => 'Thu nhập | Thu nhập',
+ 'invoices' => 'Hoá đơn | Hoá đơn',
+ 'revenues' => 'Doanh thu | Doanh thu',
+ 'customers' => 'Khách hàng | Khách hàng',
+ 'expenses' => 'Chi phí | Chi phí',
+ 'bills' => 'Hoá đơn | Hoá đơn',
+ 'payments' => 'Thanh toán | Thanh toán',
+ 'vendors' => 'Nhà cung cấp | Nhà cung cấp',
+ 'accounts' => 'Tài khoản | Tài khoản',
+ 'transfers' => 'Chuyển khoản | Chuyển khoản',
+ 'transactions' => 'Giao dịch | Giao dịch',
+ 'reports' => 'Báo cáo | Báo cáo',
+ 'settings' => 'Thiết lập | Thiết lập',
+ 'categories' => 'Danh mục | Danh mục',
+ 'currencies' => 'Tiền tệ | Tiền tệ',
+ 'tax_rates' => 'Thuế suất | Thuế suất',
+ 'users' => 'Người dùng | Người dùng',
+ 'roles' => 'Vai trò | Vai trò',
+ 'permissions' => 'Phân quyền | Phân quyền',
+ 'modules' => 'Ứng dụng | Ứng dụng',
+ 'companies' => 'Công ty | Công ty',
+ 'profits' => 'Lợi nhuận | Lợi nhuận',
+ 'taxes' => 'Thuế | Thuế',
+ 'pictures' => 'Hình ảnh | Hình ảnh',
+ 'types' => 'Loại | Loại',
+ 'payment_methods' => 'Phương thức thanh toán | Phương thức thanh toán',
+ 'compares' => 'Thu nhập vs chi phí | Thu nhập vs chi phí',
+ 'notes' => 'Ghi chú | Ghi chú',
+ 'totals' => 'Tổng số | Tổng số',
+ 'languages' => 'Ngôn ngữ | Ngôn ngữ',
+ 'updates' => 'Cập Nhật | Cập Nhật',
+ 'numbers' => 'Số | Số',
+ 'statuses' => 'Tình trạng | Trạng thái',
+
+ 'dashboard' => 'Bảng điều khiển',
+ 'banking' => 'Ngân hàng',
+ 'general' => 'Tổng quan',
+ 'no_records' => 'Không có mục nào.',
+ 'date' => 'Ngày',
+ 'amount' => 'Số tiền',
+ 'enabled' => 'Đã kích hoạt',
+ 'disabled' => 'Bị vô hiệu hóa',
+ 'yes' => 'Có',
+ 'no' => 'Không',
+ 'na' => 'N/A',
+ 'daily' => 'Hàng ngày',
+ 'monthly' => 'Hàng tháng',
+ 'yearly' => 'Hàng Năm',
+ 'add' => 'Thêm',
+ 'add_new' => 'Thêm mới',
+ 'show' => 'Hiển thị',
+ 'edit' => 'Sửa',
+ 'delete' => 'Xóa',
+ 'send' => 'Gửi',
+ 'download' => 'Tải về',
+ 'delete_confirm' => 'Bạn có chắc muốn xoá :name :type?',
+ 'name' => 'Tên',
+ 'email' => 'Email',
+ 'tax_number' => 'Mã số thuế',
+ 'phone' => 'Điện thoại',
+ 'address' => 'Địa chỉ',
+ 'website' => 'Website',
+ 'actions' => 'Tác vụ',
+ 'description' => 'Mô tả',
+ 'manage' => 'Quản lý',
+ 'code' => 'Mã',
+ 'alias' => 'Đại diện',
+ 'balance' => 'Số dư',
+ 'reference' => 'Tham chiếu',
+ 'attachment' => 'Đính kèm',
+ 'change' => 'Thay đổi',
+ 'color' => 'Màu',
+ 'save' => 'Lưu',
+ 'cancel' => 'Huỷ',
+ 'from' => 'Từ',
+ 'to' => 'Đến',
+ 'print' => 'In',
+ 'search' => 'Tìm kiếm',
+ 'search_placeholder' => 'Nhập từ cần tìm..',
+ 'filter' => 'Bộ lọc',
+ 'help' => 'Trợ giúp',
+ 'all' => 'Tất cả',
+ 'all_type' => 'Tất cả :type',
+ 'upcoming' => 'Sắp tới',
+ 'created' => 'Đã tạo',
+ 'id' => 'ID',
+ 'more_actions' => 'Thao tác khác',
+ 'duplicate' => 'Bản sao',
+
+ 'title' => [
+ 'new' => 'Thêm loại :type',
+ 'edit' => 'Chỉnh sửa loại :type',
+ ],
+ 'form' => [
+ 'enter' => 'Nhập trường :field',
+ 'select' => [
+ 'field' => '-Chọn trường :field -',
+ 'file' => 'Chọn tập tin',
+ ],
+ 'no_file_selected' => 'Không có tập tin nào được chọn...',
+ ],
+
+];
diff --git a/resources/lang/vi-VN/header.php b/resources/lang/vi-VN/header.php
new file mode 100644
index 000000000..18419e67d
--- /dev/null
+++ b/resources/lang/vi-VN/header.php
@@ -0,0 +1,15 @@
+ 'Chọn ngôn ngữ',
+ 'last_login' => 'Đăng nhập lần cuối :time',
+ 'notifications' => [
+ 'counter' => '{0} Bạn không có thông báo nào |{1} Bạn có :count thông báo | [2, *] Bạn có :count thông báo',
+ 'overdue_invoices' => '{1} :count hóa đơn quá hạn | [2, *] :count hóa đơn quá hạn',
+ 'upcoming_bills' => '{1} :count hoá đơn chờ thanh toán | [2, *] :count hoá đơn chờ thanh toán',
+ 'items_stock' => '{1} :count mục hết hàng | [2, *] :count mục hết hàng',
+ 'view_all' => 'Xem tất cả'
+ ],
+
+];
diff --git a/resources/lang/vi-VN/import.php b/resources/lang/vi-VN/import.php
new file mode 100644
index 000000000..fe5acbbc0
--- /dev/null
+++ b/resources/lang/vi-VN/import.php
@@ -0,0 +1,9 @@
+ 'Import',
+ 'title' => 'Import :type',
+ 'message' => 'Allowed file types: CSV, XLS. Please, download the sample file.',
+
+];
diff --git a/resources/lang/vi-VN/install.php b/resources/lang/vi-VN/install.php
new file mode 100644
index 000000000..980ddc353
--- /dev/null
+++ b/resources/lang/vi-VN/install.php
@@ -0,0 +1,45 @@
+ 'Tiếp theo',
+ 'refresh' => 'Làm mới',
+
+ 'steps' => [
+ 'requirements' => 'Xin vui lòng, đáp ứng các yêu cầu sau đây!',
+ 'language' => 'Bước 1/3: Lựa chọn ngôn ngữ',
+ 'database' => 'Bước 2/3: Thiết lập cơ sở dữ liệu',
+ 'settings' => 'Bước 3/3: Chi tiết thông tin công ty và trang quản trị',
+ ],
+
+ 'language' => [
+ 'select' => 'Chọn ngôn ngữ',
+ ],
+
+ 'requirements' => [
+ 'php_version' => 'Hệ thống yêu cầu cài đặt phiên bản PHP từ 5.6.4 trở lên!',
+ 'enabled' => ':feature cần phải được kích hoạt!',
+ 'disabled' => ':feature cần phải được vô hiệu hoá!',
+ 'extension' => ':extension extension cần phải được cài đặt!',
+ 'directory' => 'Thư mục :directory cần được cấp quyền writable!',
+ ],
+
+ 'database' => [
+ 'hostname' => 'Hostname',
+ 'username' => 'Username',
+ 'password' => 'Mật Khẩu',
+ 'name' => 'Cơ sở dữ liệu',
+ ],
+
+ 'settings' => [
+ 'company_name' => 'Tên công ty',
+ 'company_email' => 'Email công ty',
+ 'admin_email' => 'Email người quản trị',
+ 'admin_password' => 'Mật khẩu người quản trị',
+ ],
+
+ 'error' => [
+ 'connection' => 'Lỗi: Không thể kết nối cơ sở dữ liệu! Vui lòng kiểm tra lại thông tin chi tiết.',
+ ],
+
+];
diff --git a/resources/lang/vi-VN/invoices.php b/resources/lang/vi-VN/invoices.php
new file mode 100644
index 000000000..7b007dfae
--- /dev/null
+++ b/resources/lang/vi-VN/invoices.php
@@ -0,0 +1,49 @@
+ 'Số hoá đơn',
+ 'invoice_date' => 'Ngày hóa đơn',
+ 'total_price' => 'Tổng giá',
+ 'due_date' => 'Ngày hết hạn',
+ 'order_number' => 'Số đơn hàng',
+ 'bill_to' => 'Hoá đơn tới',
+
+ 'quantity' => 'Số lượng',
+ 'price' => 'Đơn giá',
+ 'sub_total' => 'Tổng phụ',
+ 'tax_total' => 'Tổng thuế',
+ 'total' => 'Tổng số',
+
+ 'item_name' => 'Tên mục | Tên mục',
+
+ 'payment_due' => 'Hạn thanh toán',
+ 'paid' => 'Đã thanh toán',
+ 'histories' => 'Lịch sử thanh toán',
+ 'payments' => 'Thanh toán',
+ 'add_payment' => 'Thêm thanh toán',
+ 'mark_paid' => 'Đánh dấu đã trả tiền',
+ 'mark_sent' => 'Đánh dấu đã gửi',
+ 'download_pdf' => 'Tải PDF',
+ 'send_mail' => 'Gửi Email',
+
+ 'status' => [
+ 'draft' => 'Bản nháp',
+ 'sent' => 'Đã gửi',
+ 'viewed' => 'Đã xem',
+ 'approved' => 'Đã duyệt',
+ 'partial' => 'Một phần',
+ 'paid' => 'Đã thanh toán',
+ ],
+
+ 'messages' => [
+ 'email_sent' => 'Hoá đơn email đã được gửi thành công!',
+ 'marked_sent' => 'Hóa đơn được đánh dấu là đã gửi thành công!',
+ ],
+
+ 'notification' => [
+ 'message' => 'Bạn nhận được email này bởi vì bạn sắp có :amount hóa đơn cần thanh toán cho khách hàng :customer.',
+ 'button' => 'Trả ngay',
+ ],
+
+];
diff --git a/resources/lang/vi-VN/items.php b/resources/lang/vi-VN/items.php
new file mode 100644
index 000000000..742700816
--- /dev/null
+++ b/resources/lang/vi-VN/items.php
@@ -0,0 +1,15 @@
+ 'Số lượng | Số lượng',
+ 'sales_price' => 'Giá bán',
+ 'purchase_price' => 'Giá Mua',
+ 'sku' => 'SKU',
+
+ 'notification' => [
+ 'message' => 'Bạn nhận được email này bởi vì :name đang hết hàng.',
+ 'button' => 'Xem ngay',
+ ],
+
+];
diff --git a/resources/lang/vi-VN/messages.php b/resources/lang/vi-VN/messages.php
new file mode 100644
index 000000000..573b6a27f
--- /dev/null
+++ b/resources/lang/vi-VN/messages.php
@@ -0,0 +1,22 @@
+ [
+ 'added' => ':type đã được thêm!',
+ 'updated' => ':type đã được cập nhật!',
+ 'deleted' => ':type đã được xoá!',
+ 'duplicated' => ':type bị trùng!',
+ 'imported' => ':type imported!',
+ ],
+ 'error' => [
+ 'not_user_company' => 'Lỗi: Bạn không được phép để quản lý công ty này!',
+ 'customer' => 'Lỗi: Bạn có thể không tạo người dùng! :name đã sử dụng địa chỉ email này.',
+ 'no_file' => 'Error: No file selected!',
+ ],
+ 'warning' => [
+ 'deleted' => 'Chú ý: Bạn không được phép xoá :name này bởi vì nó có :text liên quan.',
+ 'disabled' => 'Chú ý: Bạn không được phép vô hiệu hoá :name này bởi vì nó có :text liên quan.',
+ ],
+
+];
diff --git a/resources/lang/vi-VN/modules.php b/resources/lang/vi-VN/modules.php
new file mode 100644
index 000000000..bb56dec49
--- /dev/null
+++ b/resources/lang/vi-VN/modules.php
@@ -0,0 +1,43 @@
+ 'API Token',
+ 'api_token' => 'Token',
+ 'top_paid' => 'Top trả tiền',
+ 'new' => 'Mới',
+ 'top_free' => 'Top miễn phí',
+ 'free' => 'MIỄN PHÍ',
+ 'install' => 'Cài đặt',
+ 'buy_now' => 'Mua ngay',
+ 'faq' => 'CÂU HỎI THƯỜNG GẶP',
+ 'changelog' => 'Nhật ký thay đổi',
+ 'installed' => 'Đã cài đặt',
+ 'uninstalled' => 'Đã gỡ cài đặt',
+ 'token_link' => ' Click vào đây để lấy API token của bạn.',
+
+ 'enabled' => ':module app được kích hoạt',
+ 'disabled' => ':module app được vô hiệu',
+
+ 'installation' => [
+ 'header' => 'Cài đặt Module',
+ 'start' => ':module đang cài đặt.',
+ 'download' => 'Đang tải tập tin :module.',
+ 'unzip' => 'Đang giải nén tập tin :module.',
+ 'install' => 'Đang tải lên tập tin :module.',
+ ],
+
+ 'history' => [
+ 'installed' => ':module đã được cài đặt',
+ 'uninstalled' => ':module gỡ cài đặt',
+ 'updated' => ':module được cập nhật',
+ 'enabled' => ':module được kích hoạt',
+ 'disabled' => ':module được vô hiệu',
+ ],
+
+ 'button' => [
+ 'uninstall' => 'Gỡ bỏ cài đặt',
+ 'disable' => 'Vô hiệu',
+ 'enable' => 'Kích hoạt',
+ ],
+];
diff --git a/resources/lang/vi-VN/pagination.php b/resources/lang/vi-VN/pagination.php
new file mode 100644
index 000000000..fc7c3ab0a
--- /dev/null
+++ b/resources/lang/vi-VN/pagination.php
@@ -0,0 +1,9 @@
+ '« Trang sau',
+ 'next' => 'Trang trước »',
+ 'showing' => 'Hiển thị :đầu đến :cuối của :tất cả :loại',
+
+];
diff --git a/resources/lang/vi-VN/passwords.php b/resources/lang/vi-VN/passwords.php
new file mode 100644
index 000000000..aa568c767
--- /dev/null
+++ b/resources/lang/vi-VN/passwords.php
@@ -0,0 +1,22 @@
+ 'Mật khẩu phải gồm 6 ký tự và khớp với phần xác nhận.',
+ 'reset' => 'Mật khẩu mới đã được cập nhật!',
+ 'sent' => 'Hướng dẫn cấp lại mật khẩu đã được gửi!',
+ 'token' => 'Mã khôi phục mật khẩu không hợp lệ.',
+ 'user' => "Không tìm thấy người dùng với địa chỉ email này.",
+
+];
diff --git a/resources/lang/vi-VN/reports.php b/resources/lang/vi-VN/reports.php
new file mode 100644
index 000000000..c8858b0d2
--- /dev/null
+++ b/resources/lang/vi-VN/reports.php
@@ -0,0 +1,11 @@
+ [
+ 'income' => 'Tổng hợp thu nhập',
+ 'expense' => 'Tổng hợp chi phí',
+ 'income_expense' => 'Thu nhập vs Chi phí',
+ ],
+
+];
diff --git a/resources/lang/vi-VN/settings.php b/resources/lang/vi-VN/settings.php
new file mode 100644
index 000000000..81df2c056
--- /dev/null
+++ b/resources/lang/vi-VN/settings.php
@@ -0,0 +1,85 @@
+ [
+ 'name' => 'Tên',
+ 'email' => 'Email',
+ 'phone' => 'Điện thoại',
+ 'address' => 'Địa chỉ',
+ 'logo' => 'Logo',
+ ],
+ 'localisation' => [
+ 'tab' => 'Địa phương hóa',
+ 'date' => [
+ 'format' => 'Định dạng Ngày tháng',
+ 'separator' => 'Dấu cách ngày tháng',
+ 'dash' => 'Gạch (-)',
+ 'dot' => 'Chấm (.)',
+ 'comma' => 'Phẩy (,)',
+ 'slash' => 'Gạch chéo (/)',
+ 'space' => 'Khoảng trắng ( )',
+ ],
+ 'timezone' => 'Múi giờ',
+ ],
+ 'invoice' => [
+ 'tab' => 'Hoá đơn',
+ 'prefix' => 'Số tiền số',
+ 'digit' => 'Số chữ số',
+ 'next' => 'Số tiếp theo',
+ 'logo' => 'Logo',
+ ],
+ 'default' => [
+ 'tab' => 'Mặc định',
+ 'account' => 'Tài khoản mặc định',
+ 'currency' => 'Tiền tệ mặc định',
+ 'tax' => 'Thuế mặc định',
+ 'payment' => 'Phương thức thanh toán mặc định',
+ 'language' => 'Ngôn ngữ mặc định',
+ ],
+ 'email' => [
+ 'protocol' => 'Giao thức',
+ 'php' => 'PHP Mail',
+ 'smtp' => [
+ 'name' => 'SMTP',
+ 'host' => 'SMTP Host',
+ 'port' => 'Cổng SMTP',
+ 'username' => 'Tài khoản SMTP',
+ 'password' => 'Mật khẩu SMTP',
+ 'encryption' => 'SMTP Security',
+ 'none' => 'Không có',
+ ],
+ 'sendmail' => 'Sendmail',
+ 'sendmail_path' => 'Đường dẫn sendmail',
+ 'log' => 'Ghi nhận email',
+ ],
+ 'scheduling' => [
+ 'tab' => 'Lập lịch',
+ 'send_invoice' => 'Gửi lời nhắc nhở hóa đơn',
+ 'invoice_days' => 'Gửi sau số ngày quá hạn',
+ 'send_bill' => 'Gửi nhắc thanh toán hoá đơn',
+ 'bill_days' => 'Gửi trước số ngày quá hạn',
+ 'cron_command' => 'Lệnh Cronjob',
+ 'schedule_time' => 'Giờ chạy',
+ ],
+ 'appearance' => [
+ 'tab' => 'Hiển thị',
+ 'theme' => 'Giao diện',
+ 'light' => 'Sáng',
+ 'dark' => 'Tối',
+ 'list_limit' => 'Kết quả mỗi trang',
+ 'use_gravatar' => 'Sử dụng Gravatar',
+ ],
+ 'system' => [
+ 'tab' => 'Hệ thống',
+ 'session' => [
+ 'lifetime' => 'Giới hạn phiên làm việc (phút)',
+ 'handler' => 'Quản lý phiên làm việc',
+ 'file' => 'Tập tin',
+ 'database' => 'Cơ sở dữ liệu',
+ ],
+ 'file_size' => 'Kích thước tối đa tập tin (MB)',
+ 'file_types' => 'Loại tập tin cho phép',
+ ],
+
+];
diff --git a/resources/lang/vi-VN/taxes.php b/resources/lang/vi-VN/taxes.php
new file mode 100644
index 000000000..0e918d207
--- /dev/null
+++ b/resources/lang/vi-VN/taxes.php
@@ -0,0 +1,8 @@
+ 'Tỷ suất',
+ 'rate_percent' => 'Tỷ suất (%)',
+
+];
diff --git a/resources/lang/vi-VN/transfers.php b/resources/lang/vi-VN/transfers.php
new file mode 100644
index 000000000..8cdd7a119
--- /dev/null
+++ b/resources/lang/vi-VN/transfers.php
@@ -0,0 +1,8 @@
+ 'Từ Tài khoản',
+ 'to_account' => 'Tới Tài khoản',
+
+];
diff --git a/resources/lang/vi-VN/updates.php b/resources/lang/vi-VN/updates.php
new file mode 100644
index 000000000..aabb31ad8
--- /dev/null
+++ b/resources/lang/vi-VN/updates.php
@@ -0,0 +1,15 @@
+ 'Phiên bản cài đặt',
+ 'latest_version' => 'Phiên bản mới nhất',
+ 'update' => 'Cập nhật phần mềm Akaunting đến :version',
+ 'changelog' => 'Nhật ký thay đổi',
+ 'check' => 'Kiểm tra',
+ 'new_core' => 'Có phiên bản mới của Akaunting.',
+ 'latest_core' => 'Chúc mừng! Bạn vừa nâng cấp phiên bản mới nhất của Akaunting. Các bản cập nhật liên quan tới bảo mật sẽ được cập nhật 1 cách tự động.',
+ 'success' => 'Cập nhật hoàn tất.',
+ 'error' => 'Cập nhật thất bại. Vui lòng thử lại. ',
+
+];
diff --git a/resources/lang/vi-VN/validation.php b/resources/lang/vi-VN/validation.php
new file mode 100644
index 000000000..4357ecdc6
--- /dev/null
+++ b/resources/lang/vi-VN/validation.php
@@ -0,0 +1,119 @@
+ 'Trường :attribute phải được chấp nhận.',
+ 'active_url' => 'Trường :attribute không phải là một URL hợp lệ.',
+ 'after' => 'Trường :attribute phải là một ngày sau ngày :date.',
+ 'after_or_equal' => 'Trường :attribute phải là thời gian bắt đầu sau :date.',
+ 'alpha' => 'Trường :attribute chỉ có thể chứa các chữ cái.',
+ 'alpha_dash' => 'Trường :attribute chỉ có thể chứa chữ cái, số và dấu gạch ngang.',
+ 'alpha_num' => 'Trường :attribute chỉ có thể chứa chữ cái và số.',
+ 'array' => 'Trường :attribute phải là dạng mảng.',
+ 'before' => 'Trường :attribute phải là một ngày trước ngày :date.',
+ 'before_or_equal' => 'Trường :attribute phải là thời gian bắt đầu trước :date.',
+ 'between' => [
+ 'numeric' => 'Trường :attribute phải nằm trong khoảng :min - :max.',
+ 'file' => 'Dung lượng tập tin trong trường :attribute phải từ :min - :max kB.',
+ 'string' => 'Trường :attribute phải từ :min - :max ký tự.',
+ 'array' => 'Trường :attribute phải có từ :min - :max phần tử.',
+ ],
+ 'boolean' => 'Trường :attribute phải là true hoặc false.',
+ 'confirmed' => 'Giá trị xác nhận trong trường :attribute không khớp.',
+ 'date' => 'Trường :attribute không phải là định dạng của ngày-tháng.',
+ 'date_format' => 'Trường :attribute không giống với định dạng :format.',
+ 'different' => 'Trường :attribute và :other phải khác nhau.',
+ 'digits' => 'Độ dài của trường :attribute phải gồm :digits chữ số.',
+ 'digits_between' => 'Độ dài của trường :attribute phải nằm trong khoảng :min and :max chữ số.',
+ 'dimensions' => 'Trường :attribute có kích thước không hợp lệ.',
+ 'distinct' => 'Trường :attribute có giá trị trùng lặp.',
+ 'email' => 'Trường :attribute phải là một địa chỉ email hợp lệ.',
+ 'exists' => 'Giá trị đã chọn trong trường :attribute không hợp lệ.',
+ 'file' => 'Trường :attribute phải là một tệp tin.',
+ 'filled' => 'Trường :attribute không được bỏ trống.',
+ 'image' => 'Trường :attribute phải là định dạng hình ảnh.',
+ 'in' => 'Giá trị đã chọn trong trường :attribute không hợp lệ.',
+ 'in_array' => 'Trường :attribute phải thuộc tập cho phép: :other.',
+ 'integer' => 'Trường :attribute phải là một số nguyên.',
+ 'ip' => 'Trường :attribute phải là một địa chỉ IP.',
+ 'json' => 'Trường :attribute phải là một chuỗi JSON.',
+ 'max' => [
+ 'numeric' => 'Trường :attribute không được lớn hơn :max.',
+ 'file' => 'Dung lượng tập tin trong trường :attribute không được lớn hơn :max kB.',
+ 'string' => 'Trường :attribute không được lớn hơn :max ký tự.',
+ 'array' => 'Trường :attribute không được lớn hơn :max phần tử.',
+ ],
+ 'mimes' => 'Trường :attribute phải là một tập tin có định dạng: :values.',
+ 'mimetypes' => 'Trường :attribute phải là một tập tin có định dạng: :values.',
+ 'min' => [
+ 'numeric' => 'Trường :attribute phải tối thiểu là :min.',
+ 'file' => 'Dung lượng tập tin trong trường :attribute phải tối thiểu :min kB.',
+ 'string' => 'Trường :attribute phải có tối thiểu :min ký tự.',
+ 'array' => 'Trường :attribute phải có tối thiểu :min phần tử.',
+ ],
+ 'not_in' => 'Giá trị đã chọn trong trường :attribute không hợp lệ.',
+ 'numeric' => 'Trường :attribute phải là một số.',
+ 'present' => 'Trường :attribute phải được cung cấp.',
+ 'regex' => 'Định dạng trường :attribute không hợp lệ.',
+ 'required' => 'Trường :attribute không được bỏ trống.',
+ 'required_if' => 'Trường :attribute không được bỏ trống khi trường :other là :value.',
+ 'required_unless' => 'Trường :attribute không được bỏ trống trừ khi :other là :values.',
+ 'required_with' => 'Trường :attribute không được bỏ trống khi một trong :values có giá trị.',
+ 'required_with_all' => 'Trường :attribute không được bỏ trống khi tất cả :values có giá trị.',
+ 'required_without' => 'Trường :attribute không được bỏ trống khi một trong :values không có giá trị.',
+ 'required_without_all' => 'Trường :attribute không được bỏ trống khi tất cả :values không có giá trị.',
+ 'same' => 'Trường :attribute và :other phải giống nhau.',
+ 'size' => [
+ 'numeric' => 'Trường :attribute phải bằng :size.',
+ 'file' => 'Dung lượng tập tin trong trường :attribute phải bằng :size kB.',
+ 'string' => 'Trường :attribute phải chứa :size ký tự.',
+ 'array' => 'Trường :attribute phải chứa :size phần tử.',
+ ],
+ 'string' => 'Trường :attribute phải là một chuỗi ký tự.',
+ 'timezone' => 'Trường :attribute phải là một múi giờ hợp lệ.',
+ 'unique' => 'Trường :attribute đã có trong cơ sở dữ liệu.',
+ 'uploaded' => 'Trường :attribute tải lên thất bại.',
+ 'url' => 'Trường :attribute không giống với định dạng một URL.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'custom-message',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];