Browse Source

feat(saas): add localized text.

pull/518/head
cKey 4 years ago
parent
commit
0a4a3bfc47
  1. 4
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain.Shared/LINGYUN/Abp/Saas/AbpSaasDomainSharedModule.cs
  2. 3
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain.Shared/LINGYUN/Abp/Saas/AbpSaasErrorCodes.cs
  3. 30
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain.Shared/LINGYUN/Abp/Saas/Localization/Resources/en.json
  4. 30
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain.Shared/LINGYUN/Abp/Saas/Localization/Resources/zh-Hans.json
  5. 2
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain/LINGYUN/Abp/Saas/Editions/EditionManager.cs
  6. 3
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain/LINGYUN/Abp/Saas/Tenants/TenantManager.cs

4
aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain.Shared/LINGYUN/Abp/Saas/AbpSaasDomainSharedModule.cs

@ -27,6 +27,10 @@ public class AbpSaasDomainSharedModule : AbpModule
Configure<AbpExceptionLocalizationOptions>(options =>
{
options.MapCodeNamespace(AbpSaasErrorCodes.Namespace, typeof(AbpSaasResource));
// 见租户管理模块
options.MapCodeNamespace("Volo.AbpIo.MultiTenancy", typeof(AbpSaasResource));
// 版本模块引用
options.MapCodeNamespace("LINGYUN.Abp.MultiTenancy.Editions", typeof(AbpSaasResource));
});
}
}

3
aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain.Shared/LINGYUN/Abp/Saas/AbpSaasErrorCodes.cs

@ -3,4 +3,7 @@
public static class AbpSaasErrorCodes
{
public const string Namespace = "Saas";
public const string DuplicateEditionDisplayName = Namespace + ":010001";
public const string DuplicateTenantName = Namespace + ":020001";
}

30
aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain.Shared/LINGYUN/Abp/Saas/Localization/Resources/en.json

@ -1,6 +1,34 @@
{
"culture": "en",
"texts": {
"LINGYUN.Edition:010001": "Cannot create versions with more than one name {DisplayName}!"
"Saas:010001": "Unable to create duplicate editions {DisplayName}!",
"Saas:020001": "Unable to create duplicate tenants {Name}!",
"Volo.AbpIo.MultiTenancy:010001": "The tenant is unavailable or restricted!",
"Volo.AbpIo.MultiTenancy:010002": "Tenant unavailable!",
"LINGYUN.Abp.MultiTenancy.Editions:010001": "Version unavailable or restricted!",
"Menu:Saas": "Saas",
"Editions": "Editions",
"NewEdition": "New edition",
"EditionName": "Edition name",
"DisplayName:EditionName": "Edition name",
"EditionDeletionConfirmationMessage": "Edition '{0}' will be deleted. Do you confirm that?",
"Tenants": "Tenants",
"NewTenant": "New tenant",
"TenantName": "Tenant name",
"DisplayName:TenantName": "Tenant name",
"TenantDeletionConfirmationMessage": "Tenant '{0}' will be deleted. Do you confirm that?",
"ConnectionStrings": "Connection Strings",
"DisplayName:DefaultConnectionString": "Default Connection String",
"DisplayName:UseSharedDatabase": "Use the Shared Database",
"ManageHostFeatures": "Manage Host features",
"Permission:EditionManagement": "Edition management",
"Permission:TenantManagement": "Tenant management",
"Permission:Create": "Create",
"Permission:Edit": "Edit",
"Permission:Delete": "Delete",
"Permission:ManageConnectionStrings": "Manage connection strings",
"Permission:ManageFeatures": "Manage features",
"DisplayName:AdminEmailAddress": "Admin Email Address",
"DisplayName:AdminPassword": "Admin Password"
}
}

30
aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain.Shared/LINGYUN/Abp/Saas/Localization/Resources/zh-Hans.json

@ -1,6 +1,34 @@
{
"culture": "zh-Hans",
"texts": {
"LINGYUN.Edition:010001": "无法创建具有多个名称为 {DisplayName} 的版本!"
"Saas:010001": "已经存在名为 {DisplayName} 的版本!",
"Saas:020001": "已经存在名为 {Name} 的租户!",
"Volo.AbpIo.MultiTenancy:010001": "租户不可用或受限制!",
"Volo.AbpIo.MultiTenancy:010002": "租户不可用!",
"LINGYUN.Abp.MultiTenancy.Editions:010001": "版本不可用或受限制!",
"Menu:Saas": "Saas",
"Editions": "版本",
"NewEdition": "新版本",
"EditionName": "版本名称",
"DisplayName:EditionName": "版本名称",
"EditionDeletionConfirmationMessage": "版本 '{0}' 将被删除. 你确定吗?",
"Tenants": "租户",
"NewTenant": "新租户",
"TenantName": "租户名称",
"DisplayName:TenantName": "租户名称",
"TenantDeletionConfirmationMessage": "租户 '{0}' 将被删除. 你确定吗?",
"ConnectionStrings": "连接字符串",
"DisplayName:DefaultConnectionString": "默认连接字符串",
"DisplayName:UseSharedDatabase": "使用共享数据库",
"ManageHostFeatures": "管理Host特性",
"Permission:EditionManagement": "版本管理",
"Permission:TenantManagement": "租户管理",
"Permission:Create": "创建",
"Permission:Edit": "编辑",
"Permission:Delete": "删除",
"Permission:ManageConnectionStrings": "管理连接字符串",
"Permission:ManageFeatures": "管理功能",
"DisplayName:AdminEmailAddress": "管理员电子邮件地址",
"DisplayName:AdminPassword": "管理员密码"
}
}

2
aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain/LINGYUN/Abp/Saas/Editions/EditionManager.cs

@ -38,7 +38,7 @@ public class EditionManager : DomainService
var edition = await EditionRepository.FindByDisplayNameAsync(displayName);
if (edition != null && edition.Id != expectedId)
{
throw new BusinessException("LINGYUN.Edition:010001")
throw new BusinessException(AbpSaasErrorCodes.DuplicateEditionDisplayName)
.WithData(nameof(Edition.DisplayName), displayName);
}
}

3
aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain/LINGYUN/Abp/Saas/Tenants/TenantManager.cs

@ -37,7 +37,8 @@ public class TenantManager : DomainService, ITenantManager
var tenant = await TenantRepository.FindByNameAsync(name);
if (tenant != null && tenant.Id != expectedId)
{
throw new UserFriendlyException("Duplicate tenancy name: " + name); //TODO: A domain exception would be better..?
throw new BusinessException(AbpSaasErrorCodes.DuplicateTenantName)
.WithData(nameof(Tenant.Name), name);
}
}
}

Loading…
Cancel
Save