Add localized string and few new languages
This commit is contained in:
parent
bd3a0dcadf
commit
cc91622bde
|
|
@ -2,206 +2,263 @@
|
|||
|
||||
namespace NejCommon.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or Sets Language
|
||||
/// </summary>
|
||||
//// <summary>
|
||||
//// Gets or Sets Language
|
||||
//// </summary>
|
||||
public enum Langauge
|
||||
{
|
||||
//
|
||||
// Summary:
|
||||
// Arabic
|
||||
///
|
||||
/// <summary>
|
||||
/// Arabic
|
||||
/// </summary>
|
||||
AR,
|
||||
//
|
||||
// Summary:
|
||||
// Bulgarian
|
||||
///
|
||||
/// <summary>
|
||||
/// Bulgarian
|
||||
/// </summary>
|
||||
BG,
|
||||
//
|
||||
// Summary:
|
||||
// Bosnian
|
||||
///
|
||||
/// <summary>
|
||||
/// Bosnian
|
||||
/// </summary>
|
||||
BS,
|
||||
//
|
||||
// Summary:
|
||||
// Czech
|
||||
///
|
||||
/// <summary>
|
||||
/// Czech
|
||||
/// </summary>
|
||||
CS,
|
||||
//
|
||||
// Summary:
|
||||
// Welsh
|
||||
///
|
||||
/// <summary>
|
||||
/// Welsh
|
||||
/// </summary>
|
||||
CY,
|
||||
//
|
||||
// Summary:
|
||||
// Danish
|
||||
///
|
||||
/// <summary>
|
||||
/// Danish
|
||||
/// </summary>
|
||||
DA,
|
||||
//
|
||||
// Summary:
|
||||
// German
|
||||
///
|
||||
/// <summary>
|
||||
/// German
|
||||
/// </summary>
|
||||
DE,
|
||||
//
|
||||
// Summary:
|
||||
// English
|
||||
///
|
||||
/// <summary>
|
||||
/// English
|
||||
/// </summary>
|
||||
EN,
|
||||
//
|
||||
// Summary:
|
||||
// Spanish; Castilian
|
||||
///
|
||||
/// <summary>
|
||||
/// Spanish; Castilian
|
||||
/// </summary>
|
||||
ES,
|
||||
//
|
||||
// Summary:
|
||||
// Estonian
|
||||
///
|
||||
/// <summary>
|
||||
/// Estonian
|
||||
/// </summary>
|
||||
ET,
|
||||
//
|
||||
// Summary:
|
||||
// Persian
|
||||
///
|
||||
/// <summary>
|
||||
/// Persian
|
||||
/// </summary>
|
||||
FA,
|
||||
//
|
||||
// Summary:
|
||||
// Finnish
|
||||
///
|
||||
/// <summary>
|
||||
/// Finnish
|
||||
/// </summary>
|
||||
FI,
|
||||
//
|
||||
// Summary:
|
||||
// French
|
||||
///
|
||||
/// <summary>
|
||||
/// French
|
||||
/// </summary>
|
||||
FR,
|
||||
// Summary:
|
||||
// Irish
|
||||
/// <summary>
|
||||
/// Irish
|
||||
/// </summary>
|
||||
GA,
|
||||
//
|
||||
// Summary:
|
||||
// Hebrew
|
||||
///
|
||||
/// <summary>
|
||||
/// Hebrew
|
||||
/// </summary>
|
||||
HE,
|
||||
//
|
||||
// Summary:
|
||||
// Hindi
|
||||
///
|
||||
/// <summary>
|
||||
/// Hindi
|
||||
/// </summary>
|
||||
HI,
|
||||
//
|
||||
// Summary:
|
||||
// Croatian
|
||||
///
|
||||
/// <summary>
|
||||
/// Croatian
|
||||
/// </summary>
|
||||
HR,
|
||||
//
|
||||
// Summary:
|
||||
// Haitian; Haitian Creole
|
||||
///
|
||||
/// <summary>
|
||||
/// Haitian; Haitian Creole
|
||||
/// </summary>
|
||||
HT,
|
||||
//
|
||||
// Summary:
|
||||
// Hungarian
|
||||
///
|
||||
/// <summary>
|
||||
/// Hungarian
|
||||
/// </summary>
|
||||
HU,
|
||||
//
|
||||
// Summary:
|
||||
// Armenian
|
||||
///
|
||||
/// <summary>
|
||||
/// Armenian
|
||||
/// </summary>
|
||||
HY,
|
||||
//
|
||||
// Summary:
|
||||
// Indonesian
|
||||
///
|
||||
/// <summary>
|
||||
/// Indonesian
|
||||
/// </summary>
|
||||
ID,
|
||||
//
|
||||
// Summary:
|
||||
// Icelandic
|
||||
///
|
||||
/// <summary>
|
||||
/// Icelandic
|
||||
/// </summary>
|
||||
IS,
|
||||
//
|
||||
// Summary:
|
||||
// Italian
|
||||
///
|
||||
/// <summary>
|
||||
/// Italian
|
||||
/// </summary>
|
||||
IT,
|
||||
//
|
||||
// Summary:
|
||||
// Japanese
|
||||
///
|
||||
/// <summary>
|
||||
/// Japanese
|
||||
/// </summary>
|
||||
JA,
|
||||
//
|
||||
// Summary:
|
||||
// Kazakh
|
||||
///
|
||||
/// <summary>
|
||||
/// Kazakh
|
||||
/// </summary>
|
||||
KK,
|
||||
//
|
||||
// Summary:
|
||||
// Korean
|
||||
///
|
||||
/// <summary>
|
||||
/// Korean
|
||||
/// </summary>
|
||||
KO,
|
||||
//
|
||||
// Summary:
|
||||
// Latin
|
||||
///
|
||||
/// <summary>
|
||||
/// Latin
|
||||
/// </summary>
|
||||
LA,
|
||||
//
|
||||
// Summary:
|
||||
// Luxembourgish; Letzeburgesch
|
||||
///
|
||||
/// <summary>
|
||||
/// Luxembourgish; Letzeburgesch
|
||||
/// </summary>
|
||||
LB,
|
||||
//
|
||||
// Summary:
|
||||
// Latvian
|
||||
///
|
||||
/// <summary>
|
||||
/// Latvian
|
||||
/// </summary>
|
||||
LV,
|
||||
//
|
||||
// Summary:
|
||||
// Mongolian
|
||||
///
|
||||
/// <summary>
|
||||
/// Mongolian
|
||||
/// </summary>
|
||||
MN,
|
||||
//
|
||||
// Summary:
|
||||
// Dutch; Flemish
|
||||
///
|
||||
/// <summary>
|
||||
/// Dutch; Flemish
|
||||
/// </summary>
|
||||
NL,
|
||||
//
|
||||
// Summary:
|
||||
// Norwegian
|
||||
///
|
||||
/// <summary>
|
||||
/// Norwegian
|
||||
/// </summary>
|
||||
NO,
|
||||
//
|
||||
// Summary:
|
||||
// Polish
|
||||
///
|
||||
/// <summary>
|
||||
/// Polish
|
||||
/// </summary>
|
||||
PL,
|
||||
//
|
||||
// Summary:
|
||||
// Portuguese
|
||||
///
|
||||
/// <summary>
|
||||
/// Portuguese
|
||||
/// </summary>
|
||||
PT,
|
||||
//
|
||||
// Summary:
|
||||
// Romanian; Moldavian; Moldovan
|
||||
///
|
||||
/// <summary>
|
||||
/// Romanian; Moldavian; Moldovan
|
||||
/// </summary>
|
||||
RO,
|
||||
//
|
||||
// Summary:
|
||||
// Russian
|
||||
///
|
||||
/// <summary>
|
||||
/// Russian
|
||||
/// </summary>
|
||||
RU,
|
||||
//
|
||||
// Summary:
|
||||
// Sardinian
|
||||
///
|
||||
/// <summary>
|
||||
/// Sardinian
|
||||
/// </summary>
|
||||
SC,
|
||||
//
|
||||
// Summary:
|
||||
// Slovak
|
||||
///
|
||||
/// <summary>
|
||||
/// Slovak
|
||||
/// </summary>
|
||||
SK,
|
||||
//
|
||||
// Summary:
|
||||
// Slovenian
|
||||
///
|
||||
/// <summary>
|
||||
/// Slovenian
|
||||
/// </summary>
|
||||
SL,
|
||||
//
|
||||
// Summary:
|
||||
// Serbian
|
||||
///
|
||||
/// <summary>
|
||||
/// Serbian
|
||||
/// </summary>
|
||||
SR,
|
||||
//
|
||||
// Summary:
|
||||
// Swedish
|
||||
///
|
||||
/// <summary>
|
||||
/// Swedish
|
||||
/// </summary>
|
||||
SV,
|
||||
//
|
||||
// Summary:
|
||||
// Thai
|
||||
///
|
||||
/// <summary>
|
||||
/// Thai
|
||||
/// </summary>
|
||||
TH,
|
||||
//
|
||||
// Summary:
|
||||
// Turkish
|
||||
///
|
||||
/// <summary>
|
||||
/// Turkish
|
||||
/// </summary>
|
||||
TR,
|
||||
//
|
||||
// Summary:
|
||||
// Ukrainian
|
||||
///
|
||||
/// <summary>
|
||||
/// Ukrainian
|
||||
/// </summary>
|
||||
UK,
|
||||
//
|
||||
// Summary:
|
||||
// Urdu
|
||||
///
|
||||
/// <summary>
|
||||
/// Urdu
|
||||
/// </summary>
|
||||
UR,
|
||||
//
|
||||
// Summary:
|
||||
// Uzbek
|
||||
///
|
||||
/// <summary>
|
||||
/// Uzbek
|
||||
/// </summary>
|
||||
UZ,
|
||||
//
|
||||
// Summary:
|
||||
// Vietnamese
|
||||
///
|
||||
/// <summary>
|
||||
/// Vietnamese
|
||||
/// </summary>
|
||||
VI,
|
||||
|
||||
//
|
||||
// Summary:
|
||||
// Simplified Chinese
|
||||
///
|
||||
/// <summary>
|
||||
/// Simplified Chinese
|
||||
/// </summary>
|
||||
ZH_CN,
|
||||
//
|
||||
// Summary:
|
||||
// Traditional Chinese
|
||||
///
|
||||
/// <summary>
|
||||
/// Traditional Chinese
|
||||
/// </summary>
|
||||
ZH_TW,
|
||||
///
|
||||
/// <summary>
|
||||
/// Greek
|
||||
/// </summary>
|
||||
EL,
|
||||
/// <summary>
|
||||
/// Portuguese (Brazil)
|
||||
/// </summary>
|
||||
PT_BR
|
||||
}
|
||||
}
|
||||
|
|
|
|||
28
Models/LocalizedString.cs
Normal file
28
Models/LocalizedString.cs
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
namespace NejCommon.Models;
|
||||
|
||||
[Owned]
|
||||
public class LocalizedString
|
||||
{
|
||||
[Column(TypeName = "jsonb")]
|
||||
public Dictionary<Langauge, string> Values { get; set; } = new();
|
||||
|
||||
public string this[Langauge locale]
|
||||
{
|
||||
get => Values.TryGetValue(locale, out var v) ? v : "";
|
||||
set => Values[locale] = value;
|
||||
}
|
||||
|
||||
public static implicit operator LocalizedString(string value)
|
||||
=> new() { Values = new() { [Langauge.EN] = value } };
|
||||
|
||||
public static implicit operator LocalizedString(Dictionary<Langauge, string> value)
|
||||
=> new() { Values = value };
|
||||
|
||||
public static implicit operator Dictionary<Langauge, string>(LocalizedString value)
|
||||
=> value.Values;
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user