using NCC.ConfigurableOptions;
using NCC.Reflection;
using Microsoft.Extensions.Configuration;
using System;
namespace NCC.Localization
{
///
/// 多语言配置选项
///
public sealed class LocalizationSettingsOptions : IConfigurableOptions
{
///
/// 资源路径
///
public string ResourcesPath { get; set; }
///
/// 支持的语言列表
///
public string[] SupportedCultures { get; set; }
///
/// 默认的语言
///
public string DefaultCulture { get; set; }
///
/// 资源文件名前缀
///
public string LanguageFilePrefix { get; set; }
///
/// 资源所在程序集名称
///
public string AssemblyName { get; set; }
///
/// 选项后期配置
///
///
///
public void PostConfigure(LocalizationSettingsOptions options, IConfiguration configuration)
{
ResourcesPath ??= "Resources";
SupportedCultures ??= Array.Empty();
DefaultCulture ??= string.Empty;
LanguageFilePrefix ??= "Lang";
AssemblyName ??= Reflect.GetAssemblyName(Reflect.GetEntryAssembly());
}
}
}