2024年3月11日发(作者:)
}
public IStringLocalizer Create(Type resourceSource)
{
TypeInfo typeInfo = eInfo(resourceSource);
//Assembly assembly = ly;
//AssemblyName assemblyName = new AssemblyName(me);
string baseResourceName = me;
baseResourceName = TrimPrefix(baseResourceName, _applicationName + ".");
return new JsonStringLocalizer(_hostingEnvironment, _options, baseResourceName, null);
}
public IStringLocalizer Create(string baseName, string location)
{
location = location ?? _applicationName;
string baseResourceName = baseName;
baseResourceName = TrimPrefix(baseName, location + ".");
return new JsonStringLocalizer(_hostingEnvironment, _options, baseResourceName, null);
}
private static string TrimPrefix(string name, string prefix)
{
if (With(prefix, l))
{
return ing();
}
return name;
}
}
2, JsonStringLocalizer
public class JsonStringLocalizer : IStringLocalizer
{
private readonly ConcurrentDictionary
private readonly IHostingEnvironment _hostingEnvironment;
private readonly LocalizationOptions _options;
private readonly string _baseResourceName;
private readonly CultureInfo _cultureInfo;
public LocalizedString this[string name] => Get(name);
public LocalizedString this[string name, params object[] arguments] => Get(name, arguments);
public JsonStringLocalizer(IHostingEnvironment hostingEnvironment, LocalizationOptions options, string baseResourceName, CultureInfo culture)
{
_options = options;
_hostingEnvironment = hostingEnvironment;
_cultureInfo = culture ?? tUICulture;
_baseResourceName = baseResourceName + "." + _;
_all = GetAll();
}
public IEnumerable
{
return _(t => new LocalizedString(, , true)).ToArray();
}
public IStringLocalizer WithCulture(CultureInfo culture)
{
if (culture == null)
return this;
tUICulture = culture;
tThreadCurrentCulture = culture;
return new JsonStringLocalizer(_hostingEnvironment, _options, _baseResourceName, culture);
}
private LocalizedString Get(string name, params object[] arguments)
{
if (_nsKey(name))
{
var current = _all[name];
return new LocalizedString(name, (_all[name], arguments));
}
return new LocalizedString(name, name, true);
}
private ConcurrentDictionary
{
var file = e(_tRootPath, _baseResourceName + ".json");


发布评论