diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Localization/Resource/vi.json b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Localization/Resource/vi.json
new file mode 100644
index 0000000000..046b7893f3
--- /dev/null
+++ b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Localization/Resource/vi.json
@@ -0,0 +1,7 @@
+{
+ "culture": "vi",
+ "texts": {
+ "BirthDate": "Ngày sinh",
+ "Value1": "Giá trị thứ nhất"
+ }
+}
diff --git a/framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/Localization/vi.json b/framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/Localization/vi.json
new file mode 100644
index 0000000000..8261599d78
--- /dev/null
+++ b/framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/Localization/vi.json
@@ -0,0 +1,6 @@
+{
+ "culture": "vi",
+ "texts": {
+ "hello": "xin chào"
+ }
+}
diff --git a/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/CountryNames/vi.json b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/CountryNames/vi.json
new file mode 100644
index 0000000000..a429f8295b
--- /dev/null
+++ b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/CountryNames/vi.json
@@ -0,0 +1,7 @@
+{
+ "culture": "vi",
+ "texts": {
+ "USA": "Nước Mỹ",
+ "Brazil": "Brazil"
+ }
+}
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
new file mode 100644
index 0000000000..583eebab13
--- /dev/null
+++ b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/Validation/vi.json
@@ -0,0 +1,7 @@
+{
+ "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ự"
+ }
+}
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
new file mode 100644
index 0000000000..6f5bff743c
--- /dev/null
+++ b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Source/vi.json
@@ -0,0 +1,11 @@
+{
+ "culture": "vi",
+ "texts": {
+ "Hello {0}.": "Xin chào {0}.",
+ "Car": "Car",
+ "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"
+ }
+}
diff --git a/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/SourceExt/vi.json b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/SourceExt/vi.json
new file mode 100644
index 0000000000..d4d350246f
--- /dev/null
+++ b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/SourceExt/vi.json
@@ -0,0 +1,6 @@
+{
+ "culture": "vi",
+ "texts": {
+ "SeeYou": "Hẹn gặp lại"
+ }
+}
diff --git a/samples/DashboardDemo/src/DashboardDemo.Domain/Localization/DashboardDemo/vi.json b/samples/DashboardDemo/src/DashboardDemo.Domain/Localization/DashboardDemo/vi.json
new file mode 100644
index 0000000000..c629274a1b
--- /dev/null
+++ b/samples/DashboardDemo/src/DashboardDemo.Domain/Localization/DashboardDemo/vi.json
@@ -0,0 +1,10 @@
+{
+ "culture": "vi",
+ "texts": {
+ "Menu:Home": "Trang chủ",
+ "Welcome": "Xin chào bạn",
+ "RolesInApplication": "Vai trò trong ứng dụng",
+ "UserCount": "Số lượng người dùng",
+ "LongWelcomeMessage": "Chào mừng bạn đến ứng dụng. Đây là mẫu khởi động dự án dựa trên khung ABP. Để biết thêm thông tin, hãy truy cập abp.io."
+ }
+}
diff --git a/samples/MicroserviceDemo/modules/product/src/ProductManagement.Application.Contracts/ProductManagement/Localization/ApplicationContracts/vi.json b/samples/MicroserviceDemo/modules/product/src/ProductManagement.Application.Contracts/ProductManagement/Localization/ApplicationContracts/vi.json
new file mode 100644
index 0000000000..97cca61fd2
--- /dev/null
+++ b/samples/MicroserviceDemo/modules/product/src/ProductManagement.Application.Contracts/ProductManagement/Localization/ApplicationContracts/vi.json
@@ -0,0 +1,10 @@
+{
+ "culture": "vi",
+ "texts": {
+ "Permission:ProductManagement": "Quản lý sản phẩm",
+ "Permission:Products": "Sản phẩm",
+ "Permission:Edit": "Sửa",
+ "Permission:Delete": "Xóa",
+ "Permission:Create": "Tạo"
+ }
+}
diff --git a/samples/MicroserviceDemo/modules/product/src/ProductManagement.Domain/ProductManagement/Localization/Domain/vi b/samples/MicroserviceDemo/modules/product/src/ProductManagement.Domain/ProductManagement/Localization/Domain/vi
new file mode 100644
index 0000000000..d8eb5f3c75
--- /dev/null
+++ b/samples/MicroserviceDemo/modules/product/src/ProductManagement.Domain/ProductManagement/Localization/Domain/vi
@@ -0,0 +1,6 @@
+{
+ "culture": "vi",
+ "texts": {
+
+ }
+}
diff --git a/samples/MicroserviceDemo/modules/product/src/ProductManagement.Web/Localization/Resources/ProductManagement/vi.json b/samples/MicroserviceDemo/modules/product/src/ProductManagement.Web/Localization/Resources/ProductManagement/vi.json
new file mode 100644
index 0000000000..6b51506813
--- /dev/null
+++ b/samples/MicroserviceDemo/modules/product/src/ProductManagement.Web/Localization/Resources/ProductManagement/vi.json
@@ -0,0 +1,16 @@
+{
+ "culture": "vi",
+ "texts": {
+ "Menu:ProductManagement": "Quản lý sản phẩm",
+ "Menu:Products": "Sản phẩm",
+ "ProductManagement": "Quản lý sản phẩm",
+ "CreateANewProduct": "Tạo một sản phẩm mới",
+ "Products": "Sản phẩm",
+ "StockCount": "Số chứng khoán",
+ "Code": "Mã",
+ "Name": "Tên",
+ "Price": "Giá",
+ "ImageName": "Tên ảnh",
+ "ProductDeletionWarningMessage": "Bạn có chắc chắn muốn xóa sản phẩm này?"
+ }
+}
diff --git a/templates/mvc-module/src/MyCompanyName.MyProjectName.Application.Contracts/Localization/MyProjectName/ApplicationContracts/vi.json b/templates/mvc-module/src/MyCompanyName.MyProjectName.Application.Contracts/Localization/MyProjectName/ApplicationContracts/vi.json
new file mode 100644
index 0000000000..a60afc038e
--- /dev/null
+++ b/templates/mvc-module/src/MyCompanyName.MyProjectName.Application.Contracts/Localization/MyProjectName/ApplicationContracts/vi.json
@@ -0,0 +1,6 @@
+{
+ "culture": "vi",
+ "texts": {
+ "Permission:MyProjectName": "TenDuAnCuaBan"
+ }
+}
diff --git a/templates/mvc-module/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/DomainShared/vi.json b/templates/mvc-module/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/DomainShared/vi.json
new file mode 100644
index 0000000000..d8eb5f3c75
--- /dev/null
+++ b/templates/mvc-module/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/DomainShared/vi.json
@@ -0,0 +1,6 @@
+{
+ "culture": "vi",
+ "texts": {
+
+ }
+}
diff --git a/templates/mvc-module/src/MyCompanyName.MyProjectName.Web/Localization/MyProjectName/Web/vi.json b/templates/mvc-module/src/MyCompanyName.MyProjectName.Web/Localization/MyProjectName/Web/vi.json
new file mode 100644
index 0000000000..d8eb5f3c75
--- /dev/null
+++ b/templates/mvc-module/src/MyCompanyName.MyProjectName.Web/Localization/MyProjectName/Web/vi.json
@@ -0,0 +1,6 @@
+{
+ "culture": "vi",
+ "texts": {
+
+ }
+}