Phema.Localization.Core 1.1.0

Package Description

There is a newer version of this package available.
See the version list below for details.
Install-Package Phema.Localization.Core -Version 1.1.0
dotnet add package Phema.Localization.Core --version 1.1.0
<PackageReference Include="Phema.Localization.Core" Version="1.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Phema.Localization.Core --version 1.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Phema.Localization.Core, 1.1.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Phema.Localization.Core as a Cake Addin
#addin nuget:?package=Phema.Localization.Core&version=1.1.0

// Install Phema.Localization.Core as a Cake Tool
#tool nuget:?package=Phema.Localization.Core&version=1.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Phema.Localization

  • Core library
  • AspNetCore integration
  • Tests

Using core

var map = new Dictionary<CultureInfo, IDictionary<Type, Func<ILocalizationComponent>>>
{
  [CultureInfo.InvariantCulture] = new Dictionary<Type, Func<ILocalizationComponent>>
  {
    [typeof(ITestComponent)] = () => new InvariantCultureTestComponent()
  }
};
			
var localizer = new Localizer(CultureInfo.InvariantCulture, new LocalizationProvider(map));

var message = localizer.Localize<ITestComponent>(c => c.SomeMessage);

Assert.Equal("template", message);

Using asp net core integration


//Startup
services.AddLocalization(localizaztion =>
{
  localization.AddCulture(CultureInfo.InvariantCulture, culture =>
    culture.AddComponent<IMessageLocalizationComponent, InvariantMessageLocalizationComponent>());
    
  localization.AddCulture(CultureInfo.GetCultureInfo("en"), culture =>
    culture.AddComponent<IMessageLocalizationComponent, EnglishMessageLocalizationComponent>());
});
    
// When just inject ILocalizer and specify culture using `Accept-Language` http header or by `LocalizationOptions`
localizer.Localize<IMessageLocalizationComponent>(c => c.SomeLocalizationMessage);

Phema.Localization

  • Core library
  • AspNetCore integration
  • Tests

Using core

var map = new Dictionary<CultureInfo, IDictionary<Type, Func<ILocalizationComponent>>>
{
  [CultureInfo.InvariantCulture] = new Dictionary<Type, Func<ILocalizationComponent>>
  {
    [typeof(ITestComponent)] = () => new InvariantCultureTestComponent()
  }
};
			
var localizer = new Localizer(CultureInfo.InvariantCulture, new LocalizationProvider(map));

var message = localizer.Localize<ITestComponent>(c => c.SomeMessage);

Assert.Equal("template", message);

Using asp net core integration


//Startup
services.AddLocalization(localizaztion =>
{
  localization.AddCulture(CultureInfo.InvariantCulture, culture =>
    culture.AddComponent<IMessageLocalizationComponent, InvariantMessageLocalizationComponent>());
    
  localization.AddCulture(CultureInfo.GetCultureInfo("en"), culture =>
    culture.AddComponent<IMessageLocalizationComponent, EnglishMessageLocalizationComponent>());
});
    
// When just inject ILocalizer and specify culture using `Accept-Language` http header or by `LocalizationOptions`
localizer.Localize<IMessageLocalizationComponent>(c => c.SomeLocalizationMessage);

  • .NETCoreApp 2.1

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Phema.Localization.Core:

Package Downloads
Phema.Localization
Package Description
Phema.Localization.Cultures
Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
2.0.0 385 2/5/2019
1.1.1 364 1/27/2019
1.1.0 413 12/4/2018