fix: language bug, store custom object
This commit is contained in:
parent
29b3f26d89
commit
049ee5b60a
8 changed files with 240 additions and 199 deletions
|
|
@ -1,48 +1,48 @@
|
|||
|
||||
**Default** (default)
|
||||
**English** (en_us)
|
||||
**Spanish** (es_es)
|
||||
**French** (fr_fr)
|
||||
**Indonesian** (id_id)
|
||||
**Italian** (it_it)
|
||||
**Japanese** (ja_jp)
|
||||
**Korean** (ko_kr)
|
||||
**Russian** (ru_ru)
|
||||
**Thai** (th_th)
|
||||
**Turkish** (tr_tr)
|
||||
**Vietnamese** (vi_vn)
|
||||
**Portuguese** (pt_br)
|
||||
**German** (de_de)
|
||||
**ChineseSimplified** (zh_cn)
|
||||
**ChineseTraditional** (zh_tw)
|
||||
**Bulgarian** (bg_bg)
|
||||
**Bengali** (bn_bd)
|
||||
**Czech** (cs_cz)
|
||||
**Danish** (da_dk)
|
||||
**Greek** (el_gr)
|
||||
**Estonian** (et_ee)
|
||||
**Finnish** (fi_fi)
|
||||
**Hindi** (hi_in)
|
||||
**Croatian** (hr_hr)
|
||||
**Hungarian** (hu_hu)
|
||||
**Georgian** (ka_ge)
|
||||
**Kazakh** (kk_kz)
|
||||
**Khmer** (km_kh)
|
||||
**Lithuanian** (lt_lt)
|
||||
**Latvian** (lv_lv)
|
||||
**Malay** (ms_my)
|
||||
**Burmese** (my_mm)
|
||||
**Bokmal** (nb_no)
|
||||
**Dutch** (nl_nl)
|
||||
**Filipino** (fil_ph)
|
||||
**Polish** (pl_pl)
|
||||
**Romanian** (ro_ro)
|
||||
**Ukrainian** (uk_ua)
|
||||
**Sinhala** (si_lk)
|
||||
**Slovak** (sk_sk)
|
||||
**Slovenian** (sl_sl)
|
||||
**Albanian** (sq_al)
|
||||
**Bosnian** (bs_ba)
|
||||
**Serbian** (sr_rs)
|
||||
**Swedish** (sv_se)
|
||||
**Arabic** (ar_001)
|
||||
**English** (en-us)
|
||||
**Spanish** (es-es)
|
||||
**French** (fr-fr)
|
||||
**Indonesian** (id-id)
|
||||
**Italian** (it-it)
|
||||
**Japanese** (ja-jp)
|
||||
**Korean** (ko-kr)
|
||||
**Russian** (ru-ru)
|
||||
**Thai** (th-th)
|
||||
**Turkish** (tr-tr)
|
||||
**Vietnamese** (vi-vn)
|
||||
**Portuguese** (pt-br)
|
||||
**German** (de-de)
|
||||
**ChineseSimplified** (zh-cn)
|
||||
**ChineseTraditional** (zh-tw)
|
||||
**Bulgarian** (bg-bg)
|
||||
**Bengali** (bn-bd)
|
||||
**Czech** (cs-cz)
|
||||
**Danish** (da-dk)
|
||||
**Greek** (el-gr)
|
||||
**Estonian** (et-ee)
|
||||
**Finnish** (fi-fi)
|
||||
**Hindi** (hi-in)
|
||||
**Croatian** (hr-hr)
|
||||
**Hungarian** (hu-hu)
|
||||
**Georgian** (ka-ge)
|
||||
**Kazakh** (kk-kz)
|
||||
**Khmer** (km-kh)
|
||||
**Lithuanian** (lt-lt)
|
||||
**Latvian** (lv-lv)
|
||||
**Malay** (ms-my)
|
||||
**Burmese** (my-mm)
|
||||
**Bokmal** (nb-no)
|
||||
**Dutch** (nl-nl)
|
||||
**Filipino** (fil-ph)
|
||||
**Polish** (pl-pl)
|
||||
**Romanian** (ro-ro)
|
||||
**Ukrainian** (uk-ua)
|
||||
**Sinhala** (si-lk)
|
||||
**Slovak** (sk-sk)
|
||||
**Slovenian** (sl-sl)
|
||||
**Albanian** (sq-al)
|
||||
**Bosnian** (bs-ba)
|
||||
**Serbian** (sr-rs)
|
||||
**Swedish** (sv-se)
|
||||
**Arabic** (ar-001)
|
||||
|
|
|
|||
|
|
@ -53,6 +53,8 @@ local myClass = Class.Extend()
|
|||
-- 일반 오브젝트와 똑같이 id 를 넣고 GetObject 로
|
||||
-- 가져올 수도 있습니다
|
||||
local main = myClass "main" {
|
||||
-- 이 테이블은 모듈의 :Init(props) 에 제공됩니다.
|
||||
-- :Render(props) 에도 이 테이블이 제공됩니다.
|
||||
Testing = 1;
|
||||
Text = "Test";
|
||||
-- 레지스터 값을 넘겨줄 수도 있습니다.
|
||||
|
|
|
|||
|
|
@ -31,12 +31,21 @@ myStore.color = Color3.fromRGB(0,0,0)
|
|||
???+ Warning "주의"
|
||||
|
||||
구현의 복잡성의 이유로 레지스터는 오브젝트 생성시에만 등록할 수 있습니다.
|
||||
|
||||
```lua
|
||||
local myFrame = Frame{}
|
||||
Frame.BackgroundColor3 = myStore "color"
|
||||
```
|
||||
위처럼 사용할 수 없습니다.
|
||||
|
||||
```lua
|
||||
local myFrame = Frame{}
|
||||
Apply (myFrame) {
|
||||
BackgroundColor3 = myStore "color";
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
> 1. 스토어를 생성함.
|
||||
> 2. 기본 값을 설정함.
|
||||
> 3. 스토어를 호출해 레지스터를 얻어 등록함.
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
Quad 에는 귀찮은 언어관리를 자동으로 해주는 기능이 내장되어 있습니다. 이 기능은 register 와 연동해 적은 줄의 코드로 변하는 텍스트도 언어에 맞게 출력되도록 만들 수 있습니다.
|
||||
|
||||
번역 테이블은 `#!ts Lang.New(LangName:string,{ [Locale]: string|(options)->string })` 다음을 이용해 만들 수 있으며.
|
||||
`Lang(LangName:string)(options)` 로 UI 에 적용시킬 수 있습니다.
|
||||
`#!ts Lang(LangName:string)(options)->register` 로 UI 에 적용시킬 수 있습니다.
|
||||
|
||||
=== "용법"
|
||||
|
||||
|
|
@ -78,6 +78,27 @@ Quad 에는 귀찮은 언어관리를 자동으로 해주는 기능이 내장되
|
|||
end
|
||||
```
|
||||
|
||||
???+ Warning "주의"
|
||||
|
||||
구현의 복잡성의 이유로 Lang 은 레지스터와 같은 제약을 가집니다 (오브젝트 생성시에만 등록할 수 있습니다)
|
||||
|
||||
```lua
|
||||
local myLabel = TextLabel{}
|
||||
Lang.new("Test",{ [Lang.Locales.Default] = "{lang}" })
|
||||
myLabel.Text = Lang "Test" { lang = 1 }
|
||||
```
|
||||
위처럼 사용할 수 없습니다.
|
||||
|
||||
대신에 `#!ts :Register` 문법을 사용하여 등록할 수 있습니다.
|
||||
|
||||
```lua
|
||||
local myLabel = TextLabel{}
|
||||
Lang.new("Test",{ [Lang.Locales.Default] = "{lang}" })
|
||||
Apply (myLabel) {
|
||||
Text = Lang "Test" { lang = 1 };
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Locale 목록
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ function module.init(shared)
|
|||
local round = shared.Round ---@type quad_module_round
|
||||
local signal = shared.Signal ---@type quad_module_signal
|
||||
local bindable = signal.Bindable
|
||||
local PcallGetProperty = store.PcallGetProperty
|
||||
|
||||
local function InstanceNewWithName(classname,parent,name)
|
||||
local item = InstanceNew(classname,parent)
|
||||
|
|
@ -108,16 +109,6 @@ function module.init(shared)
|
|||
end
|
||||
new.SetProperty = SetProperty
|
||||
|
||||
local function RawGetProperty(item,index)
|
||||
return item[index]
|
||||
end
|
||||
local function PcallGetProperty(item,index)
|
||||
local ok,err = pcall(RawGetProperty,item,index)
|
||||
if ok then return err end
|
||||
return nil
|
||||
end
|
||||
new.PcallGetProperty = PcallGetProperty
|
||||
|
||||
local function Link(linker,item,index,indexType)
|
||||
local target = linker.target
|
||||
local name = linker.name
|
||||
|
|
@ -550,6 +541,11 @@ function module.init(shared)
|
|||
return this
|
||||
end
|
||||
|
||||
local function Apply()
|
||||
|
||||
end
|
||||
new.Apply = Apply
|
||||
|
||||
return new
|
||||
end
|
||||
|
||||
|
|
|
|||
99
src/lang.lua
99
src/lang.lua
|
|
@ -13,52 +13,52 @@ function module.init(shared)
|
|||
|
||||
new.Locales = {
|
||||
["Default"] = "default";
|
||||
["English"] = "en_us";
|
||||
["Spanish"] = "es_es";
|
||||
["French"] = "fr_fr";
|
||||
["Indonesian"] = "id_id";
|
||||
["Italian"] = "it_it";
|
||||
["Japanese"] = "ja_jp";
|
||||
["Korean"] = "ko_kr";
|
||||
["Russian"] = "ru_ru";
|
||||
["Thai"] = "th_th";
|
||||
["Turkish"] = "tr_tr";
|
||||
["Vietnamese"] = "vi_vn";
|
||||
["Portuguese"] = "pt_br";
|
||||
["German"] = "de_de";
|
||||
["ChineseSimplified"] = "zh_cn";
|
||||
["ChineseTraditional"] = "zh_tw";
|
||||
["Bulgarian"] = "bg_bg";
|
||||
["Bengali"] = "bn_bd";
|
||||
["Czech"] = "cs_cz";
|
||||
["Danish"] = "da_dk";
|
||||
["Greek"] = "el_gr";
|
||||
["Estonian"] = "et_ee";
|
||||
["Finnish"] = "fi_fi";
|
||||
["Hindi"] = "hi_in";
|
||||
["Croatian"] = "hr_hr";
|
||||
["Hungarian"] = "hu_hu";
|
||||
["Georgian"] = "ka_ge";
|
||||
["Kazakh"] = "kk_kz";
|
||||
["Khmer"] = "km_kh";
|
||||
["Lithuanian"] = "lt_lt";
|
||||
["Latvian"] = "lv_lv";
|
||||
["Malay"] = "ms_my";
|
||||
["Burmese"] = "my_mm";
|
||||
["Bokmal"] = "nb_no";
|
||||
["Dutch"] = "nl_nl";
|
||||
["Filipino"] = "fil_ph";
|
||||
["Polish"] = "pl_pl";
|
||||
["Romanian"] = "ro_ro";
|
||||
["Ukrainian"] = "uk_ua";
|
||||
["Sinhala"] = "si_lk";
|
||||
["Slovak"] = "sk_sk";
|
||||
["Slovenian"] = "sl_sl";
|
||||
["Albanian"] = "sq_al";
|
||||
["Bosnian"] = "bs_ba";
|
||||
["Serbian"] = "sr_rs";
|
||||
["Swedish"] = "sv_se";
|
||||
["Arabic"] = "ar_001";
|
||||
["English"] = "en-us";
|
||||
["Spanish"] = "es-es";
|
||||
["French"] = "fr-fr";
|
||||
["Indonesian"] = "id-id";
|
||||
["Italian"] = "it-it";
|
||||
["Japanese"] = "ja-jp";
|
||||
["Korean"] = "ko-kr";
|
||||
["Russian"] = "ru-ru";
|
||||
["Thai"] = "th-th";
|
||||
["Turkish"] = "tr-tr";
|
||||
["Vietnamese"] = "vi-vn";
|
||||
["Portuguese"] = "pt-br";
|
||||
["German"] = "de-de";
|
||||
["ChineseSimplified"] = "zh-cn";
|
||||
["ChineseTraditional"] = "zh-tw";
|
||||
["Bulgarian"] = "bg-bg";
|
||||
["Bengali"] = "bn-bd";
|
||||
["Czech"] = "cs-cz";
|
||||
["Danish"] = "da-dk";
|
||||
["Greek"] = "el-gr";
|
||||
["Estonian"] = "et-ee";
|
||||
["Finnish"] = "fi-fi";
|
||||
["Hindi"] = "hi-in";
|
||||
["Croatian"] = "hr-hr";
|
||||
["Hungarian"] = "hu-hu";
|
||||
["Georgian"] = "ka-ge";
|
||||
["Kazakh"] = "kk-kz";
|
||||
["Khmer"] = "km-kh";
|
||||
["Lithuanian"] = "lt-lt";
|
||||
["Latvian"] = "lv-lv";
|
||||
["Malay"] = "ms-my";
|
||||
["Burmese"] = "my-mm";
|
||||
["Bokmal"] = "nb-no";
|
||||
["Dutch"] = "nl-nl";
|
||||
["Filipino"] = "fil-ph";
|
||||
["Polish"] = "pl-pl";
|
||||
["Romanian"] = "ro-ro";
|
||||
["Ukrainian"] = "uk-ua";
|
||||
["Sinhala"] = "si-lk";
|
||||
["Slovak"] = "sk-sk";
|
||||
["Slovenian"] = "sl-sl";
|
||||
["Albanian"] = "sq-al";
|
||||
["Bosnian"] = "bs-ba";
|
||||
["Serbian"] = "sr-rs";
|
||||
["Swedish"] = "sv-se";
|
||||
["Arabic"] = "ar-001";
|
||||
}
|
||||
|
||||
local function GetLocale()
|
||||
|
|
@ -75,6 +75,7 @@ function module.init(shared)
|
|||
|
||||
local weak = {__mode = "v"}
|
||||
local lang = {}
|
||||
local langList = {}
|
||||
lang.__index = lang
|
||||
function lang.New(id,handlers)
|
||||
local this = {
|
||||
|
|
@ -84,7 +85,7 @@ function module.init(shared)
|
|||
index=1;
|
||||
registers = setmetatable({},weak);
|
||||
}
|
||||
lang[id] = this
|
||||
langList[id] = this
|
||||
if not handlers[new.Locales.Default] then
|
||||
warn(("Localization %s have no Default value, Did you missed '[Lang.Locales.Default] = ...' ? It may make Localization fail on other languages"))
|
||||
end
|
||||
|
|
@ -205,7 +206,7 @@ function module.init(shared)
|
|||
end
|
||||
|
||||
function new.Update()
|
||||
for _,this in pairs(lang) do
|
||||
for _,this in pairs(langList) do
|
||||
this:UpdateAll()
|
||||
end
|
||||
end
|
||||
|
|
@ -213,7 +214,7 @@ function module.init(shared)
|
|||
setmetatable(new,{
|
||||
__call = function(_,id)
|
||||
return function (options)
|
||||
local data = lang[id]
|
||||
local data = langList[id]
|
||||
if not data then
|
||||
error(("Localization %s is not definded"):format(id))
|
||||
end
|
||||
|
|
|
|||
|
|
@ -40,6 +40,16 @@ function module.init(shared)
|
|||
local items = {}
|
||||
new.Items = items
|
||||
|
||||
local function RawGetProperty(item,index)
|
||||
return item[index]
|
||||
end
|
||||
local function PcallGetProperty(item,index)
|
||||
local ok,err = pcall(RawGetProperty,item,index)
|
||||
if ok then return err end
|
||||
return nil
|
||||
end
|
||||
new.PcallGetProperty = PcallGetProperty
|
||||
|
||||
-- id space (array of object)
|
||||
local objectListClass = {__type = "quad_objectlist"}
|
||||
function objectListClass:EachAsync(func)
|
||||
|
|
@ -290,7 +300,7 @@ function module.init(shared)
|
|||
end
|
||||
function store:__newindex(key,value)
|
||||
-- if got register, just copy data to self and connect
|
||||
if type(value) == "table" and value.__type == "quad_register" then
|
||||
if PcallGetProperty(value,"__type") == "quad_register" then
|
||||
-- warn "[Quad] adding register value on store is only allowed when init store. set value request was ignored"
|
||||
|
||||
local selfValues = self.__self
|
||||
|
|
|
|||
186
src/types.lua
186
src/types.lua
|
|
@ -218,100 +218,102 @@ export type langHandler = {
|
|||
export type Locale = string
|
||||
export type module_lang = {
|
||||
New: (id:string,handlers:{
|
||||
en_us: langHandler;
|
||||
es_es: langHandler;
|
||||
fr_fr: langHandler;
|
||||
id_id: langHandler;
|
||||
it_it: langHandler;
|
||||
ja_jp: langHandler;
|
||||
ko_kr: langHandler;
|
||||
ru_ru: langHandler;
|
||||
th_th: langHandler;
|
||||
tr_tr: langHandler;
|
||||
vi_vn: langHandler;
|
||||
pt_br: langHandler;
|
||||
de_de: langHandler;
|
||||
zh_cn: langHandler;
|
||||
zh_tw: langHandler;
|
||||
bg_bg: langHandler;
|
||||
bn_bd: langHandler;
|
||||
cs_cz: langHandler;
|
||||
da_dk: langHandler;
|
||||
el_gr: langHandler;
|
||||
et_ee: langHandler;
|
||||
fi_fi: langHandler;
|
||||
hi_in: langHandler;
|
||||
hr_hr: langHandler;
|
||||
hu_hu: langHandler;
|
||||
ka_ge: langHandler;
|
||||
kk_kz: langHandler;
|
||||
km_kh: langHandler;
|
||||
lt_lt: langHandler;
|
||||
lv_lv: langHandler;
|
||||
ms_my: langHandler;
|
||||
my_mm: langHandler;
|
||||
nb_no: langHandler;
|
||||
nl_nl: langHandler;
|
||||
fil_ph: langHandler;
|
||||
pl_pl: langHandler;
|
||||
ro_ro: langHandler;
|
||||
uk_ua: langHandler;
|
||||
si_lk: langHandler;
|
||||
sk_sk: langHandler;
|
||||
sl_sl: langHandler;
|
||||
sq_al: langHandler;
|
||||
bs_ba: langHandler;
|
||||
sr_rs: langHandler;
|
||||
sv_se: langHandler;
|
||||
ar_001: langHandler;
|
||||
["default"]: langHandler;
|
||||
["en-us"]: langHandler;
|
||||
["es-es"]: langHandler;
|
||||
["fr-fr"]: langHandler;
|
||||
["id-id"]: langHandler;
|
||||
["it-it"]: langHandler;
|
||||
["ja-jp"]: langHandler;
|
||||
["ko-kr"]: langHandler;
|
||||
["ru-ru"]: langHandler;
|
||||
["th-th"]: langHandler;
|
||||
["tr-tr"]: langHandler;
|
||||
["vi-vn"]: langHandler;
|
||||
["pt-br"]: langHandler;
|
||||
["de-de"]: langHandler;
|
||||
["zh-cn"]: langHandler;
|
||||
["zh-tw"]: langHandler;
|
||||
["bg-bg"]: langHandler;
|
||||
["bn-bd"]: langHandler;
|
||||
["cs-cz"]: langHandler;
|
||||
["da-dk"]: langHandler;
|
||||
["el-gr"]: langHandler;
|
||||
["et-ee"]: langHandler;
|
||||
["fi-fi"]: langHandler;
|
||||
["hi-in"]: langHandler;
|
||||
["hr-hr"]: langHandler;
|
||||
["hu-hu"]: langHandler;
|
||||
["ka-ge"]: langHandler;
|
||||
["kk-kz"]: langHandler;
|
||||
["km-kh"]: langHandler;
|
||||
["lt-lt"]: langHandler;
|
||||
["lv-lv"]: langHandler;
|
||||
["ms-my"]: langHandler;
|
||||
["my-mm"]: langHandler;
|
||||
["nb-no"]: langHandler;
|
||||
["nl-nl"]: langHandler;
|
||||
["fil-ph"]: langHandler;
|
||||
["pl-pl"]: langHandler;
|
||||
["ro-ro"]: langHandler;
|
||||
["uk-ua"]: langHandler;
|
||||
["si-lk"]: langHandler;
|
||||
["sk-sk"]: langHandler;
|
||||
["sl-sl"]: langHandler;
|
||||
["sq-al"]: langHandler;
|
||||
["bs-ba"]: langHandler;
|
||||
["sr-rs"]: langHandler;
|
||||
["sv-se"]: langHandler;
|
||||
["ar-001"]: langHandler;
|
||||
})->();
|
||||
Locales: {
|
||||
English: Locale & "en_us";
|
||||
Spanish: Locale & "es_es";
|
||||
French: Locale & "fr_fr";
|
||||
Indonesian: Locale & "id_id";
|
||||
Italian: Locale & "it_it";
|
||||
Japanese: Locale & "ja_jp";
|
||||
Korean: Locale & "ko_kr";
|
||||
Russian: Locale & "ru_ru";
|
||||
Thai: Locale & "th_th";
|
||||
Turkish: Locale & "tr_tr";
|
||||
Vietnamese: Locale & "vi_vn";
|
||||
Portuguese: Locale & "pt_br";
|
||||
German: Locale & "de_de";
|
||||
ChineseSimplified: Locale & "zh_cn";
|
||||
ChineseTraditional: Locale & "zh_tw";
|
||||
Bulgarian: Locale & "bg_bg";
|
||||
Bengali: Locale & "bn_bd";
|
||||
Czech: Locale & "cs_cz";
|
||||
Danish: Locale & "da_dk";
|
||||
Greek: Locale & "el_gr";
|
||||
Estonian: Locale & "et_ee";
|
||||
Finnish: Locale & "fi_fi";
|
||||
Hindi: Locale & "hi_in";
|
||||
Croatian: Locale & "hr_hr";
|
||||
Hungarian: Locale & "hu_hu";
|
||||
Georgian: Locale & "ka_ge";
|
||||
Kazakh: Locale & "kk_kz";
|
||||
Khmer: Locale & "km_kh";
|
||||
Lithuanian: Locale & "lt_lt";
|
||||
Latvian: Locale & "lv_lv";
|
||||
Malay: Locale & "ms_my";
|
||||
Burmese: Locale & "my_mm";
|
||||
Bokmal: Locale & "nb_no";
|
||||
Dutch: Locale & "nl_nl";
|
||||
Filipino: Locale & "fil_ph";
|
||||
Polish: Locale & "pl_pl";
|
||||
Romanian: Locale & "ro_ro";
|
||||
Ukrainian: Locale & "uk_ua";
|
||||
Sinhala: Locale & "si_lk";
|
||||
Slovak: Locale & "sk_sk";
|
||||
Slovenian: Locale & "sl_sl";
|
||||
Albanian: Locale & "sq_al";
|
||||
Bosnian: Locale & "bs_ba";
|
||||
Serbian: Locale & "sr_rs";
|
||||
Swedish: Locale & "sv_se";
|
||||
Arabic: Locale & "ar_001";
|
||||
Default: "default";
|
||||
English: Locale & "en-us";
|
||||
Spanish: Locale & "es-es";
|
||||
French: Locale & "fr-fr";
|
||||
Indonesian: Locale & "id-id";
|
||||
Italian: Locale & "it-it";
|
||||
Japanese: Locale & "ja-jp";
|
||||
Korean: Locale & "ko-kr";
|
||||
Russian: Locale & "ru-ru";
|
||||
Thai: Locale & "th-th";
|
||||
Turkish: Locale & "tr-tr";
|
||||
Vietnamese: Locale & "vi-vn";
|
||||
Portuguese: Locale & "pt-br";
|
||||
German: Locale & "de-de";
|
||||
ChineseSimplified: Locale & "zh-cn";
|
||||
ChineseTraditional: Locale & "zh-tw";
|
||||
Bulgarian: Locale & "bg-bg";
|
||||
Bengali: Locale & "bn-bd";
|
||||
Czech: Locale & "cs-cz";
|
||||
Danish: Locale & "da-dk";
|
||||
Greek: Locale & "el-gr";
|
||||
Estonian: Locale & "et-ee";
|
||||
Finnish: Locale & "fi-fi";
|
||||
Hindi: Locale & "hi-in";
|
||||
Croatian: Locale & "hr-hr";
|
||||
Hungarian: Locale & "hu-hu";
|
||||
Georgian: Locale & "ka-ge";
|
||||
Kazakh: Locale & "kk-kz";
|
||||
Khmer: Locale & "km-kh";
|
||||
Lithuanian: Locale & "lt-lt";
|
||||
Latvian: Locale & "lv-lv";
|
||||
Malay: Locale & "ms-my";
|
||||
Burmese: Locale & "my-mm";
|
||||
Bokmal: Locale & "nb-no";
|
||||
Dutch: Locale & "nl-nl";
|
||||
Filipino: Locale & "fil-ph";
|
||||
Polish: Locale & "pl-pl";
|
||||
Romanian: Locale & "ro-ro";
|
||||
Ukrainian: Locale & "uk-ua";
|
||||
Sinhala: Locale & "si-lk";
|
||||
Slovak: Locale & "sk-sk";
|
||||
Slovenian: Locale & "sl-sl";
|
||||
Albanian: Locale & "sq-al";
|
||||
Bosnian: Locale & "bs-ba";
|
||||
Serbian: Locale & "sr-rs";
|
||||
Swedish: Locale & "sv-se";
|
||||
Arabic: Locale & "ar-001";
|
||||
};
|
||||
CurrentLocale: Locale;
|
||||
FailedMessage: string;
|
||||
|
|
|
|||
Loading…
Reference in a new issue