tanyongzheng / Abp.MyCultureMap

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AbpvNext.MyCultureMap

nuget stats License .net5.0

介绍

Abp vNext多语言替换

使用说明

  1. 安装nuget包: Install-Package AbpvNext.MyCultureMap

  2. 配置服务:

    2.1 使用配置文件

    public override void ConfigureServices(ServiceConfigurationContext context)
    {
      // 其他配置...

      Configure<MyCultureMapOptions>(configuration.GetSection("MyCultureMapOptions"));
    }
配置文件:
     "MyCultureMapOptions": {
        "CulturesMaps": [
          {
            "TargetCulture": "zh-Hans",
            "SourceCultures": [ "zh", "zh-CN" ]
          },
          {
            "TargetCulture": "zh-Hant",
            "SourceCultures": [ "zh-TW", "zh-HK" ]
          },
          {
            "TargetCulture": "en",
            "SourceCultures": [ "en-US", "en-AU", "en-CA", "en-IN", "en-IE", "en-IE", "en-MY", "en-NZ", "en-SG", "en-ZA", "en-GB" ]
          }
        ] ,
        "UiCulturesMaps": [
          {
            "TargetCulture": "zh-Hans",
            "SourceCultures": [ "zh", "zh-CN" ]
          },
          {
            "TargetCulture": "zh-Hant",
            "SourceCultures": [ "zh-TW", "zh-HK" ]
          },
          {
            "TargetCulture": "en",
            "SourceCultures": [ "en-US", "en-AU", "en-CA", "en-IN", "en-IE", "en-IE", "en-MY", "en-NZ", "en-SG", "en-ZA", "en-GB" ]
          }
        ]
      } 
    }
2.2 使用默认配置(默认Chrome浏览器的语言标识)
    public override void ConfigureServices(ServiceConfigurationContext context)
    {
      // 其他配置...

      Configure<MyCultureMapOptions>(options => options.SetCultureMaps());
    }
  1. 启用多语言替换
    public override void OnApplicationInitialization(ApplicationInitializationContext context)
    {
        var app = context.GetApplicationBuilder();
        var env = context.GetEnvironment();
      // 其他配置...

      if (env.IsDevelopment())
      {
          app.UseDeveloperExceptionPage();
      }

      app.UseAbpRequestLocalization();

      if (!env.IsDevelopment())
      {
          app.UseErrorPage();
      }

      app.UseCorrelationId();
      app.UseVirtualFiles();
      app.UseRouting();
      //启用多语言替换
      app.UseMyRequestLocalization();
      app.UseCors(DefaultCorsPolicyName);
      app.UseAuthentication();

      if (MultiTenancyConsts.IsEnabled)
      {
          app.UseMultiTenancy();
      }

      app.UseAuthorization();
      // Swagger设置 ...
      app.UseAuditing();
      app.UseAbpSerilogEnrichers();
      app.UseConfiguredEndpoints();
    }

About

License:Apache License 2.0


Languages

Language:C# 66.5%Language:PowerShell 33.5%