diff --git a/framework/src/Volo.Abp.Localization/Volo.Abp.Localization.csproj b/framework/src/Volo.Abp.Localization/Volo.Abp.Localization.csproj
index 65ceed101e..3bc8eafb11 100644
--- a/framework/src/Volo.Abp.Localization/Volo.Abp.Localization.csproj
+++ b/framework/src/Volo.Abp.Localization/Volo.Abp.Localization.csproj
@@ -14,6 +14,7 @@
+
diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpLocalizationModule.cs b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpLocalizationModule.cs
index 60df66feec..175e3f9d12 100644
--- a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpLocalizationModule.cs
+++ b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpLocalizationModule.cs
@@ -1,4 +1,5 @@
-using Volo.Abp.Localization.Resources.AbpValidation;
+using Volo.Abp.Localization.Resources.AbpLocalization;
+using Volo.Abp.Localization.Resources.AbpValidation;
using Volo.Abp.Modularity;
using Volo.Abp.Settings;
using Volo.Abp.VirtualFileSystem;
@@ -27,10 +28,16 @@ namespace Volo.Abp.Localization
.Resources
.Add("en");
+ //TODO: Obsolete, Remove in the future version
options
.Resources
.Add("en")
- .AddVirtualJson("/Localization/Resources/AbpValidation");
+ .AddVirtualJson("/Volo/Abp/Validation/Localization");//load from Volo.Abp.Validation
+
+ options
+ .Resources
+ .Add("en")
+ .AddVirtualJson("/Localization/Resources/AbpLocalization");
});
}
}
diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpLocalization/AbpLocalizationResource.cs b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpLocalization/AbpLocalizationResource.cs
new file mode 100644
index 0000000000..abfd1688b7
--- /dev/null
+++ b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpLocalization/AbpLocalizationResource.cs
@@ -0,0 +1,10 @@
+using System;
+
+namespace Volo.Abp.Localization.Resources.AbpLocalization
+{
+ [LocalizationResourceName("AbpLocalization")]
+ public class AbpLocalizationResource
+ {
+
+ }
+}
diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpLocalization/en.json b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpLocalization/en.json
new file mode 100644
index 0000000000..aee47a44b6
--- /dev/null
+++ b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpLocalization/en.json
@@ -0,0 +1,7 @@
+{
+ "culture": "en",
+ "texts": {
+ "DisplayName:Abp.Localization.DefaultLanguage": "Default language",
+ "Description:Abp.Localization.DefaultLanguage": "The default language of the application."
+ }
+}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpLocalization/zh-Hans.json b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpLocalization/zh-Hans.json
new file mode 100644
index 0000000000..7167aac9fd
--- /dev/null
+++ b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpLocalization/zh-Hans.json
@@ -0,0 +1,7 @@
+{
+ "culture": "zh-Hans",
+ "texts": {
+ "DisplayName:Abp.Localization.DefaultLanguage": "默认语言",
+ "Description:Abp.Localization.DefaultLanguage": "应用程序的默认语言."
+ }
+}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/AbpValidationResource.cs b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/AbpValidationResource.cs
index 667244886c..5d0151fe66 100644
--- a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/AbpValidationResource.cs
+++ b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/AbpValidationResource.cs
@@ -1,8 +1,11 @@
-namespace Volo.Abp.Localization.Resources.AbpValidation
+using System;
+
+namespace Volo.Abp.Localization.Resources.AbpValidation
{
//TODO: Move to Volo.Abp.Validation!
[LocalizationResourceName("AbpValidation")]
+ [Obsolete("This resource is obsolete.Use Volo.Abp.Validation.Localization.AbpValidationResource instead.", false)]
public class AbpValidationResource
{
diff --git a/framework/src/Volo.Abp.Validation/Volo.Abp.Validation.csproj b/framework/src/Volo.Abp.Validation/Volo.Abp.Validation.csproj
index c8cc738e98..9e1e81b1d9 100644
--- a/framework/src/Volo.Abp.Validation/Volo.Abp.Validation.csproj
+++ b/framework/src/Volo.Abp.Validation/Volo.Abp.Validation.csproj
@@ -1,4 +1,4 @@
-
+
@@ -13,8 +13,14 @@
+
+
+
+
+
+
diff --git a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/AbpValidationModule.cs b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/AbpValidationModule.cs
index bb2d41f927..ad2be911de 100644
--- a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/AbpValidationModule.cs
+++ b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/AbpValidationModule.cs
@@ -1,10 +1,16 @@
using System;
using System.Collections.Generic;
using Microsoft.Extensions.DependencyInjection;
+using Volo.Abp.Localization;
using Volo.Abp.Modularity;
+using Volo.Abp.Validation.Localization;
+using Volo.Abp.VirtualFileSystem;
namespace Volo.Abp.Validation
{
+ [DependsOn(
+ typeof(AbpLocalizationModule)
+ )]
public class AbpValidationModule : AbpModule
{
public override void PreConfigureServices(ServiceConfigurationContext context)
@@ -12,6 +18,20 @@ namespace Volo.Abp.Validation
context.Services.OnRegistred(ValidationInterceptorRegistrar.RegisterIfNeeded);
AutoAddObjectValidationContributors(context.Services);
}
+ public override void ConfigureServices(ServiceConfigurationContext context)
+ {
+ Configure(options =>
+ {
+ options.FileSets.AddEmbedded();
+ });
+
+ Configure(options =>
+ {
+ options.Resources
+ .Add("en")
+ .AddVirtualJson("/Volo/Abp/Validation/Localization");
+ });
+ }
private static void AutoAddObjectValidationContributors(IServiceCollection services)
{
diff --git a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/AbpValidationResource.cs b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/AbpValidationResource.cs
new file mode 100644
index 0000000000..0de105747d
--- /dev/null
+++ b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/AbpValidationResource.cs
@@ -0,0 +1,10 @@
+using Volo.Abp.Localization;
+
+namespace Volo.Abp.Validation.Localization
+{
+ [LocalizationResourceName("AbpValidation")]
+ public class AbpValidationResource
+ {
+
+ }
+}
diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/cs.json b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/cs.json
similarity index 100%
rename from framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/cs.json
rename to framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/cs.json
diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/en.json b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/en.json
similarity index 93%
rename from framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/en.json
rename to framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/en.json
index 417dfcd8c9..b6ff1bb26c 100644
--- a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/en.json
+++ b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/en.json
@@ -29,8 +29,6 @@
"ThisFieldMustBeAStringWithAMaximumLengthOf{0}": "This field must be a string with a maximum length of {0}.",
"ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}": "This field must be a string with a minimum length of {1} and a maximum length of {0}.",
"ThisFieldIsNotAValidFullyQualifiedHttpHttpsOrFtpUrl": "This field is not a valid fully-qualified http, https, or ftp URL.",
- "ThisFieldIsInvalid.": "This field is invalid.",
- "DisplayName:Abp.Localization.DefaultLanguage": "Default language",
- "Description:Abp.Localization.DefaultLanguage": "The default language of the application."
+ "ThisFieldIsInvalid.": "This field is invalid."
}
}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/es.json b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/es.json
similarity index 100%
rename from framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/es.json
rename to framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/es.json
diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/pl.json b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/pl.json
similarity index 100%
rename from framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/pl.json
rename to framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/pl.json
diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/pt-BR.json b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/pt-BR.json
similarity index 100%
rename from framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/pt-BR.json
rename to framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/pt-BR.json
diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/tr.json b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/tr.json
similarity index 100%
rename from framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/tr.json
rename to framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/tr.json
diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/vi.json b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/vi.json
similarity index 100%
rename from framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/vi.json
rename to framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/vi.json
diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/zh-Hans.json b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/zh-Hans.json
similarity index 93%
rename from framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/zh-Hans.json
rename to framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/zh-Hans.json
index 5e535d5b67..ac0c014967 100644
--- a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/zh-Hans.json
+++ b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/zh-Hans.json
@@ -29,8 +29,6 @@
"ThisFieldMustBeAStringWithAMaximumLengthOf{0}": "字段必须是长度为{0}的字符串.",
"ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}": "字段必须是最小长度为{1}并且最大长度{*}的字符串.",
"ThisFieldIsNotAValidFullyQualifiedHttpHttpsOrFtpUrl": "字段{0}不是有效的完全限定的http,https或ftp URL.",
- "ThisFieldIsInvalid.": "该字段无效.",
- "DisplayName:Abp.Localization.DefaultLanguage": "默认语言",
- "Description:Abp.Localization.DefaultLanguage": "应用程序的默认语言."
+ "ThisFieldIsInvalid.": "该字段无效."
}
}
\ No newline at end of file