PH.Babel2 1.0.3

Install-Package PH.Babel2 -Version 1.0.3
dotnet add package PH.Babel2 --version 1.0.3
<PackageReference Include="PH.Babel2" Version="1.0.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PH.Babel2 --version 1.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: PH.Babel2, 1.0.3"
#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 PH.Babel2 as a Cake Addin
#addin nuget:?package=PH.Babel2&version=1.0.3

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

PH.Babel2

A netstandard2.0 utility based on IStringLocalizer and Json

Code Examples

Setup configuration using ServiceCollection

services.AddLogging();
services.AddMemoryCache();

services.AddBabel(options =>
{
    options.DefaultCulture = CultureInfo.GetCultureInfo("it-IT"); //Default culture
    options.CacheDuration = TimeSpan.FromHours(1); //Cache duration
    options.ResourcesPath = ".\\Resources"; //Directory path to read json resource...
});

A Json Resource File

ResourceType is the AssemblyQualifiedName of a Resource-Type, or Null.

{
  "ResourceDictionary": [
    {
      "ResourceType": "PH.Babel2.Models.BabelLocalizationFormat, PH.Babel2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null",
      "EntryValues": [
        {
          "Key": "the key name", 
          "EventId": 1,
          "EventName": "the name of the event, same as key",
          "it-IT": "italian localization",
          "fr-FR": "french loc.",
          "fr": "Main Français loc",
          "en-US": "U.S. loc"
        },
        {
          "Key": "Hell", 
          "EventId": 666,
          "EventName": "Testing Hell",
          "it-IT": "Inferno",
          "fr-FR": "Enfer",
          "fr": "enfer",
          "en-US": "Hell"
        }
        ,
        {
          "Key": "Key with Parameter {0}", 
          "EventId": 2,
          "EventName": "Key with Parameter",
          "it-IT": "Hai inserito il valore '{0}' ",
          "fr-FR": "vous avez entré la valeur '{0}' ",
          "en-US": "You have entered the value '{0}' "
        }
      ]
    },
    {
      "ResourceType": "...",
      "EntryValues": [
        {
          ...
        },
        {
         ...
        },
        
      ]
    }
  ]
}

Read Example

var svc = ServiceProvider.GetService<IBabel>();
var tst0 = svc["Hell"];

var svc = ServiceProvider.GetService<IStringLocalizer>();
var tst0 = svc["Hell"];

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.3 1,066 1/4/2019
1.0.2 520 1/3/2019
1.0.1 516 1/3/2019
1.0.0 369 11/22/2018

Added support for generics.