Linguini.Shared
0.1.3
See the version list below for details.
dotnet add package Linguini.Shared --version 0.1.3
NuGet\Install-Package Linguini.Shared -Version 0.1.3
<PackageReference Include="Linguini.Shared" Version="0.1.3" />
paket add Linguini.Shared --version 0.1.3
#r "nuget: Linguini.Shared, 0.1.3"
// Install Linguini.Shared as a Cake Addin
#addin nuget:?package=Linguini.Shared&version=0.1.3
// Install Linguini.Shared as a Cake Tool
#tool nuget:?package=Linguini.Shared&version=0.1.3
Linguini
Linguini is a C# implementation of Project Fluent, a localization system for natural-sounding translations with features like:
Asymmetric Localization
Natural-sounding translations with genders and grammatical cases only when necessary. Expressiveness is not limited by the grammar of the source language.
Progressive Enhancement
Translations are isolated; locale-specific logic doesn't leak to other locales. Authors can iteratively improve translations without impact on other languages.
Modular
Linguini is highly modular. You only can use the parts you need. Need just parsing? Get Linguni.Syntax. Need only Plural Rules data? Get PluralRules.Generator and connect to XML CLDR Plural rules data.
Performant
Linguini uses a zero-copy parser to parse the resources. While at the moment there are no benchmarks, it is used by RobustToolbox as as a localization framework.
How to get?
To install the Fluent Bundle type in your console:
dotnet add package Linguini.Bundle
You can also follow other NuGet installation instructions.
How to use?
For a 2 minute tour of Linguini add this to your C# code:
var bundler = LinguiniBuilder.Builder()
.CultureInfo(new CultureInfo("en"))
.AddResource("hello-user = Hello, { $username }!")
.SetUseIsolating(false)
.UncheckedBuild();
var props = new Dictionary<string, IFluentType>()
{
{"username", (FluentString)"Test"}
};
var message = bundler.GetAttrMessage("hello-user", props);
Assert.AreEqual("Hello, Test!", message);
For more details see Fluent syntax guide.
Licenses
Linguini Bundle and associated projects are licensed under Apache and MIT licenses. Consult the LICENSE-MIT and LICENSE-APACHE for more detail.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Linguini.Shared:
Package | Downloads |
---|---|
Linguini.Bundle
Linguini Bundle is the C# implementation of Project Fluent, a localization system developed by Mozilla It provides easy to use and extend system for describing translations. |
|
Linguini.Syntax
Linguini Syntax provides a module for parsing input using zero-copy Fluent parser. |
GitHub repositories
This package is not used by any popular GitHub repositories.