diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/Localization/MyProjectName/ApplicationContracts/cs.json b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/Localization/MyProjectName/ApplicationContracts/cs.json
deleted file mode 100644
index a0373003c8..0000000000
--- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/Localization/MyProjectName/ApplicationContracts/cs.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "culture": "cs",
-  "texts": {
-    "Permission:MyProjectName": "MyProjectName"
-  }
-}
\ No newline at end of file
diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/Localization/MyProjectName/ApplicationContracts/en.json b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/Localization/MyProjectName/ApplicationContracts/en.json
deleted file mode 100644
index 42ed55bbc6..0000000000
--- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/Localization/MyProjectName/ApplicationContracts/en.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "culture": "en",
-  "texts": {
-    "Permission:MyProjectName": "MyProjectName"
-  }
-}
\ No newline at end of file
diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/Localization/MyProjectName/ApplicationContracts/pl.json b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/Localization/MyProjectName/ApplicationContracts/pl.json
deleted file mode 100644
index 3b93a2b580..0000000000
--- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/Localization/MyProjectName/ApplicationContracts/pl.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "culture": "pl",
-  "texts": {
-    "Permission:MyProjectName": "MyProjectName"
-  }
-}
\ No newline at end of file
diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/Localization/MyProjectName/ApplicationContracts/pt-BR.json b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/Localization/MyProjectName/ApplicationContracts/pt-BR.json
deleted file mode 100644
index 958055dcd5..0000000000
--- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/Localization/MyProjectName/ApplicationContracts/pt-BR.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "culture": "pt-BR",
-  "texts": {
-    "Permission:MyProjectName": "MyProjectName"
-  }
-}
\ No newline at end of file
diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/Localization/MyProjectName/ApplicationContracts/vi.json b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/Localization/MyProjectName/ApplicationContracts/vi.json
deleted file mode 100644
index a60afc038e..0000000000
--- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/Localization/MyProjectName/ApplicationContracts/vi.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "culture": "vi",
-  "texts": {
-    "Permission:MyProjectName": "TenDuAnCuaBan"
-  }
-}
diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/MyCompanyName.MyProjectName.Application.Contracts.csproj b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/MyCompanyName.MyProjectName.Application.Contracts.csproj
index 63a3ee2976..51acd96e66 100644
--- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/MyCompanyName.MyProjectName.Application.Contracts.csproj
+++ b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/MyCompanyName.MyProjectName.Application.Contracts.csproj
@@ -15,9 +15,4 @@
     
   
 
-  
-    
-    
-  
-
 
diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/MyProjectNameApplicationContractsModule.cs b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/MyProjectNameApplicationContractsModule.cs
index 27f2c6e096..c10d4c718e 100644
--- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/MyProjectNameApplicationContractsModule.cs
+++ b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Application.Contracts/MyProjectNameApplicationContractsModule.cs
@@ -1,6 +1,4 @@
-using MyCompanyName.MyProjectName.Localization;
-using Volo.Abp.Application;
-using Volo.Abp.Localization;
+using Volo.Abp.Application;
 using Volo.Abp.Modularity;
 using Volo.Abp.VirtualFileSystem;
 
@@ -18,13 +16,6 @@ namespace MyCompanyName.MyProjectName
             {
                 options.FileSets.AddEmbedded();
             });
-
-            Configure(options =>
-            {
-                options.Resources
-                    .Get()
-                    .AddVirtualJson("/Localization/MyProjectName/ApplicationContracts");
-            });
         }
     }
 }
diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/DomainShared/cs.json b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/cs.json
similarity index 100%
rename from templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/DomainShared/cs.json
rename to templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/cs.json
diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/DomainShared/en.json b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/en.json
similarity index 100%
rename from templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/DomainShared/en.json
rename to templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/en.json
diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/DomainShared/pl.json b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/pl.json
similarity index 100%
rename from templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/DomainShared/pl.json
rename to templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/pl.json
diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/DomainShared/pt-BR.json b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/pt-BR.json
similarity index 100%
rename from templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/DomainShared/pt-BR.json
rename to templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/pt-BR.json
diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/DomainShared/vi.json b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/vi.json
similarity index 100%
rename from templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/DomainShared/vi.json
rename to templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/vi.json
diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj
index 85a4c86d78..6cb4f837a1 100644
--- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj
+++ b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyCompanyName.MyProjectName.Domain.Shared.csproj
@@ -12,8 +12,8 @@
   
 
   
-    
-    
+    
+    
   
 
 
diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyProjectNameDomainSharedModule.cs b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyProjectNameDomainSharedModule.cs
index d41110a5a3..2b4c4b56c5 100644
--- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyProjectNameDomainSharedModule.cs
+++ b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/MyProjectNameDomainSharedModule.cs
@@ -24,7 +24,7 @@ namespace MyCompanyName.MyProjectName
                 options.Resources
                     .Add("en")
                     .AddBaseTypes(typeof(AbpValidationResource))
-                    .AddVirtualJson("/Localization/MyProjectName/DomainShared");
+                    .AddVirtualJson("/Localization/MyProjectName");
             });
 
             Configure(options =>
diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi/MyProjectNameHttpApiModule.cs b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi/MyProjectNameHttpApiModule.cs
index 3c993bc8a6..28bb3eb1bf 100644
--- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi/MyProjectNameHttpApiModule.cs
+++ b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi/MyProjectNameHttpApiModule.cs
@@ -1,4 +1,7 @@
-using Volo.Abp.AspNetCore.Mvc;
+using Localization.Resources.AbpUi;
+using MyCompanyName.MyProjectName.Localization;
+using Volo.Abp.AspNetCore.Mvc;
+using Volo.Abp.Localization;
 using Volo.Abp.Modularity;
 
 namespace MyCompanyName.MyProjectName
@@ -8,6 +11,14 @@ namespace MyCompanyName.MyProjectName
         typeof(AbpAspNetCoreMvcModule))]
     public class MyProjectNameHttpApiModule : AbpModule
     {
-        
+        public override void ConfigureServices(ServiceConfigurationContext context)
+        {
+            Configure(options =>
+            {
+                options.Resources
+                    .Get()
+                    .AddBaseTypes(typeof(AbpUiResource));
+            });
+        }
     }
 }
diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/Localization/MyProjectName/Web/cs.json b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/Localization/MyProjectName/Web/cs.json
deleted file mode 100644
index 6a060a54c1..0000000000
--- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/Localization/MyProjectName/Web/cs.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "culture": "cs",
-  "texts": {
-
-  }
-}
\ No newline at end of file
diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/Localization/MyProjectName/Web/en.json b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/Localization/MyProjectName/Web/en.json
deleted file mode 100644
index 92e4e9582b..0000000000
--- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/Localization/MyProjectName/Web/en.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "culture": "en",
-  "texts": {
-
-  }
-}
\ No newline at end of file
diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/Localization/MyProjectName/Web/pl.json b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/Localization/MyProjectName/Web/pl.json
deleted file mode 100644
index 2ea227cbf3..0000000000
--- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/Localization/MyProjectName/Web/pl.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "culture": "pl",
-  "texts": {
-
-  }
-}
\ No newline at end of file
diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/Localization/MyProjectName/Web/pt-BR.json b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/Localization/MyProjectName/Web/pt-BR.json
deleted file mode 100644
index 6d746df04c..0000000000
--- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/Localization/MyProjectName/Web/pt-BR.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "culture": "pt-BR",
-  "texts": {
-
-  }
-}
\ No newline at end of file
diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/Localization/MyProjectName/Web/vi.json b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/Localization/MyProjectName/Web/vi.json
deleted file mode 100644
index d8eb5f3c75..0000000000
--- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/Localization/MyProjectName/Web/vi.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "culture": "vi",
-  "texts": {
-
-  }
-}
diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj
index 9fa0be1079..26a0d74212 100644
--- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj
+++ b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj
@@ -20,10 +20,8 @@
   
 
   
-    
     
     
-    
     
     
     
diff --git a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs
index 527dfa91b8..7ee5bf4b00 100644
--- a/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs
+++ b/templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs
@@ -1,11 +1,9 @@
-using Localization.Resources.AbpUi;
-using Microsoft.AspNetCore.Mvc.RazorPages;
+using Microsoft.AspNetCore.Mvc.RazorPages;
 using Microsoft.Extensions.DependencyInjection;
 using MyCompanyName.MyProjectName.Localization;
 using Volo.Abp.AspNetCore.Mvc.Localization;
 using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared;
 using Volo.Abp.AutoMapper;
-using Volo.Abp.Localization;
 using Volo.Abp.Modularity;
 using Volo.Abp.UI.Navigation;
 using Volo.Abp.VirtualFileSystem;
@@ -39,14 +37,6 @@ namespace MyCompanyName.MyProjectName.Web
                 options.FileSets.AddEmbedded("MyCompanyName.MyProjectName");
             });
 
-            Configure(options =>
-            {
-                options.Resources
-                    .Get()
-                    .AddBaseTypes(typeof(AbpUiResource))
-                    .AddVirtualJson("/Localization/MyProjectName/Web");
-            });
-
             Configure(options =>
             {
                 /* Using `true` for the `validate` parameter to