Add localized string and few new languages
This commit is contained in:
parent
bd3a0dcadf
commit
cc91622bde
|
|
@ -2,206 +2,263 @@
|
||||||
|
|
||||||
namespace NejCommon.Models
|
namespace NejCommon.Models
|
||||||
{
|
{
|
||||||
/// <summary>
|
//// <summary>
|
||||||
/// Gets or Sets Language
|
//// Gets or Sets Language
|
||||||
/// </summary>
|
//// </summary>
|
||||||
public enum Langauge
|
public enum Langauge
|
||||||
{
|
{
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Arabic
|
/// Arabic
|
||||||
|
/// </summary>
|
||||||
AR,
|
AR,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Bulgarian
|
/// Bulgarian
|
||||||
|
/// </summary>
|
||||||
BG,
|
BG,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Bosnian
|
/// Bosnian
|
||||||
|
/// </summary>
|
||||||
BS,
|
BS,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Czech
|
/// Czech
|
||||||
|
/// </summary>
|
||||||
CS,
|
CS,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Welsh
|
/// Welsh
|
||||||
|
/// </summary>
|
||||||
CY,
|
CY,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Danish
|
/// Danish
|
||||||
|
/// </summary>
|
||||||
DA,
|
DA,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// German
|
/// German
|
||||||
|
/// </summary>
|
||||||
DE,
|
DE,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// English
|
/// English
|
||||||
|
/// </summary>
|
||||||
EN,
|
EN,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Spanish; Castilian
|
/// Spanish; Castilian
|
||||||
|
/// </summary>
|
||||||
ES,
|
ES,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Estonian
|
/// Estonian
|
||||||
|
/// </summary>
|
||||||
ET,
|
ET,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Persian
|
/// Persian
|
||||||
|
/// </summary>
|
||||||
FA,
|
FA,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Finnish
|
/// Finnish
|
||||||
|
/// </summary>
|
||||||
FI,
|
FI,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// French
|
/// French
|
||||||
|
/// </summary>
|
||||||
FR,
|
FR,
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Irish
|
/// Irish
|
||||||
|
/// </summary>
|
||||||
GA,
|
GA,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Hebrew
|
/// Hebrew
|
||||||
|
/// </summary>
|
||||||
HE,
|
HE,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Hindi
|
/// Hindi
|
||||||
|
/// </summary>
|
||||||
HI,
|
HI,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Croatian
|
/// Croatian
|
||||||
|
/// </summary>
|
||||||
HR,
|
HR,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Haitian; Haitian Creole
|
/// Haitian; Haitian Creole
|
||||||
|
/// </summary>
|
||||||
HT,
|
HT,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Hungarian
|
/// Hungarian
|
||||||
|
/// </summary>
|
||||||
HU,
|
HU,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Armenian
|
/// Armenian
|
||||||
|
/// </summary>
|
||||||
HY,
|
HY,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Indonesian
|
/// Indonesian
|
||||||
|
/// </summary>
|
||||||
ID,
|
ID,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Icelandic
|
/// Icelandic
|
||||||
|
/// </summary>
|
||||||
IS,
|
IS,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Italian
|
/// Italian
|
||||||
|
/// </summary>
|
||||||
IT,
|
IT,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Japanese
|
/// Japanese
|
||||||
|
/// </summary>
|
||||||
JA,
|
JA,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Kazakh
|
/// Kazakh
|
||||||
|
/// </summary>
|
||||||
KK,
|
KK,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Korean
|
/// Korean
|
||||||
|
/// </summary>
|
||||||
KO,
|
KO,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Latin
|
/// Latin
|
||||||
|
/// </summary>
|
||||||
LA,
|
LA,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Luxembourgish; Letzeburgesch
|
/// Luxembourgish; Letzeburgesch
|
||||||
|
/// </summary>
|
||||||
LB,
|
LB,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Latvian
|
/// Latvian
|
||||||
|
/// </summary>
|
||||||
LV,
|
LV,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Mongolian
|
/// Mongolian
|
||||||
|
/// </summary>
|
||||||
MN,
|
MN,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Dutch; Flemish
|
/// Dutch; Flemish
|
||||||
|
/// </summary>
|
||||||
NL,
|
NL,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Norwegian
|
/// Norwegian
|
||||||
|
/// </summary>
|
||||||
NO,
|
NO,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Polish
|
/// Polish
|
||||||
|
/// </summary>
|
||||||
PL,
|
PL,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Portuguese
|
/// Portuguese
|
||||||
|
/// </summary>
|
||||||
PT,
|
PT,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Romanian; Moldavian; Moldovan
|
/// Romanian; Moldavian; Moldovan
|
||||||
|
/// </summary>
|
||||||
RO,
|
RO,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Russian
|
/// Russian
|
||||||
|
/// </summary>
|
||||||
RU,
|
RU,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Sardinian
|
/// Sardinian
|
||||||
|
/// </summary>
|
||||||
SC,
|
SC,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Slovak
|
/// Slovak
|
||||||
|
/// </summary>
|
||||||
SK,
|
SK,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Slovenian
|
/// Slovenian
|
||||||
|
/// </summary>
|
||||||
SL,
|
SL,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Serbian
|
/// Serbian
|
||||||
|
/// </summary>
|
||||||
SR,
|
SR,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Swedish
|
/// Swedish
|
||||||
|
/// </summary>
|
||||||
SV,
|
SV,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Thai
|
/// Thai
|
||||||
|
/// </summary>
|
||||||
TH,
|
TH,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Turkish
|
/// Turkish
|
||||||
|
/// </summary>
|
||||||
TR,
|
TR,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Ukrainian
|
/// Ukrainian
|
||||||
|
/// </summary>
|
||||||
UK,
|
UK,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Urdu
|
/// Urdu
|
||||||
|
/// </summary>
|
||||||
UR,
|
UR,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Uzbek
|
/// Uzbek
|
||||||
|
/// </summary>
|
||||||
UZ,
|
UZ,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Vietnamese
|
/// Vietnamese
|
||||||
|
/// </summary>
|
||||||
VI,
|
VI,
|
||||||
|
///
|
||||||
//
|
/// <summary>
|
||||||
// Summary:
|
/// Simplified Chinese
|
||||||
// Simplified Chinese
|
/// </summary>
|
||||||
ZH_CN,
|
ZH_CN,
|
||||||
//
|
///
|
||||||
// Summary:
|
/// <summary>
|
||||||
// Traditional Chinese
|
/// Traditional Chinese
|
||||||
|
/// </summary>
|
||||||
ZH_TW,
|
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