mirror of
https://github.com/bitwarden/server.git
synced 2025-04-26 23:32:19 -05:00
31 lines
1.2 KiB
C#
31 lines
1.2 KiB
C#
using System.Reflection;
|
|
using Bit.Core.Resources;
|
|
using Microsoft.AspNetCore.Mvc.Localization;
|
|
using Microsoft.Extensions.Localization;
|
|
|
|
namespace Bit.Core.Services;
|
|
|
|
public class I18nViewLocalizer : IViewLocalizer
|
|
{
|
|
private readonly IStringLocalizer _stringLocalizer;
|
|
private readonly IHtmlLocalizer _htmlLocalizer;
|
|
|
|
public I18nViewLocalizer(IStringLocalizerFactory stringFactory,
|
|
IHtmlLocalizerFactory htmlFactory)
|
|
{
|
|
var assemblyName = new AssemblyName(typeof(SharedResources).GetTypeInfo().Assembly.FullName);
|
|
_stringLocalizer = stringFactory.Create("SharedResources", assemblyName.Name);
|
|
_htmlLocalizer = htmlFactory.Create("SharedResources", assemblyName.Name);
|
|
}
|
|
|
|
public LocalizedHtmlString this[string name] => _htmlLocalizer[name];
|
|
public LocalizedHtmlString this[string name, params object[] args] => _htmlLocalizer[name, args];
|
|
|
|
public IEnumerable<LocalizedString> GetAllStrings(bool includeParentCultures) =>
|
|
_stringLocalizer.GetAllStrings(includeParentCultures);
|
|
|
|
public LocalizedString GetString(string name) => _stringLocalizer[name];
|
|
public LocalizedString GetString(string name, params object[] arguments) =>
|
|
_stringLocalizer[name, arguments];
|
|
}
|