LocalizationSettingsOptions.cs
1.5 KB
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
using NCC.ConfigurableOptions;
using NCC.Reflection;
using Microsoft.Extensions.Configuration;
using System;
namespace NCC.Localization
{
/// <summary>
/// 多语言配置选项
/// </summary>
public sealed class LocalizationSettingsOptions : IConfigurableOptions<LocalizationSettingsOptions>
{
/// <summary>
/// 资源路径
/// </summary>
public string ResourcesPath { get; set; }
/// <summary>
/// 支持的语言列表
/// </summary>
public string[] SupportedCultures { get; set; }
/// <summary>
/// 默认的语言
/// </summary>
public string DefaultCulture { get; set; }
/// <summary>
/// 资源文件名前缀
/// </summary>
public string LanguageFilePrefix { get; set; }
/// <summary>
/// 资源所在程序集名称
/// </summary>
public string AssemblyName { get; set; }
/// <summary>
/// 选项后期配置
/// </summary>
/// <param name="options"></param>
/// <param name="configuration"></param>
public void PostConfigure(LocalizationSettingsOptions options, IConfiguration configuration)
{
ResourcesPath ??= "Resources";
SupportedCultures ??= Array.Empty<string>();
DefaultCulture ??= string.Empty;
LanguageFilePrefix ??= "Lang";
AssemblyName ??= Reflect.GetAssemblyName(Reflect.GetEntryAssembly());
}
}
}