Blame view

netcore/src/Infrastructure/NCC/Localization/Internal/Penetrates.cs 1.18 KB
de2bd2f9   “wangming”   项目初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
  using NCC.Dependency;
  using Microsoft.AspNetCore.Builder;
  
  namespace NCC.Localization
  {
      /// <summary>
      /// 常量、公共方法配置类
      /// </summary>
      [SuppressSniffer]
      internal static class Penetrates
      {
          /// <summary>
          /// 设置请求多语言对象
          /// </summary>
          /// <param name="requestLocalization"></param>
          /// <param name="localizationSettings"></param>
          internal static void SetRequestLocalization(RequestLocalizationOptions requestLocalization, LocalizationSettingsOptions localizationSettings)
          {
              // 如果设置了默认语言,则取默认语言,否则取第一个
              requestLocalization.SetDefaultCulture(string.IsNullOrWhiteSpace(localizationSettings.DefaultCulture) ? localizationSettings.SupportedCultures[0] : localizationSettings.DefaultCulture)
                     .AddSupportedCultures(localizationSettings.SupportedCultures)
                     .AddSupportedUICultures(localizationSettings.SupportedCultures);
  
              // 自动根据客户端浏览器的语言实现多语言机制
              requestLocalization.ApplyCurrentCultureToResponseHeaders = true;
          }
      }
  }