forked from Mirrorlandia_minetest/minetest
Settings GUI: Use language names rather than codes (#13752)
This commit is contained in:
parent
7b3ed32003
commit
a65cdbe66e
@ -161,15 +161,17 @@ function make.enum(setting)
|
|||||||
local value = core.settings:get(setting.name) or setting.default
|
local value = core.settings:get(setting.name) or setting.default
|
||||||
self.resettable = core.settings:has(setting.name)
|
self.resettable = core.settings:has(setting.name)
|
||||||
|
|
||||||
|
local labels = setting.option_labels or {}
|
||||||
|
|
||||||
local items = {}
|
local items = {}
|
||||||
for i, option in ipairs(setting.values) do
|
for i, option in ipairs(setting.values) do
|
||||||
items[i] = core.formspec_escape(option)
|
items[i] = core.formspec_escape(labels[option] or option)
|
||||||
end
|
end
|
||||||
|
|
||||||
local selected_idx = table.indexof(setting.values, value)
|
local selected_idx = table.indexof(setting.values, value)
|
||||||
local fs = "label[0,0.1;" .. get_label(setting) .. "]"
|
local fs = "label[0,0.1;" .. get_label(setting) .. "]"
|
||||||
|
|
||||||
fs = fs .. ("dropdown[0,0.3;%f,0.8;%s;%s;%d]"):format(
|
fs = fs .. ("dropdown[0,0.3;%f,0.8;%s;%s;%d;true]"):format(
|
||||||
avail_w, setting.name, table.concat(items, ","), selected_idx, value)
|
avail_w, setting.name, table.concat(items, ","), selected_idx, value)
|
||||||
|
|
||||||
return fs, 1.1
|
return fs, 1.1
|
||||||
@ -177,7 +179,8 @@ function make.enum(setting)
|
|||||||
|
|
||||||
on_submit = function(self, fields)
|
on_submit = function(self, fields)
|
||||||
local old_value = core.settings:get(setting.name) or setting.default
|
local old_value = core.settings:get(setting.name) or setting.default
|
||||||
local value = fields[setting.name]
|
local idx = tonumber(fields[setting.name]) or 0
|
||||||
|
local value = setting.values[idx]
|
||||||
if value == nil or value == old_value then
|
if value == nil or value == old_value then
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
@ -68,6 +68,8 @@ add_page({
|
|||||||
id = "accessibility",
|
id = "accessibility",
|
||||||
title = gettext("Accessibility"),
|
title = gettext("Accessibility"),
|
||||||
content = {
|
content = {
|
||||||
|
"language",
|
||||||
|
{ heading = gettext("General") },
|
||||||
"font_size",
|
"font_size",
|
||||||
"chat_font_size",
|
"chat_font_size",
|
||||||
"gui_scaling",
|
"gui_scaling",
|
||||||
@ -151,6 +153,72 @@ local function get_setting_info(name)
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
-- These must not be translated, as they need to show in the local
|
||||||
|
-- language no matter the user's current language.
|
||||||
|
get_setting_info("language").option_labels = {
|
||||||
|
[""] = fgettext_ne("(Use system language)"),
|
||||||
|
--ar = " [ar]", blacklisted
|
||||||
|
be = "Беларуская [be]",
|
||||||
|
bg = "Български [bg]",
|
||||||
|
ca = "Català [ca]",
|
||||||
|
cs = "Česky [cs]",
|
||||||
|
cy = "Cymraeg [cy]",
|
||||||
|
da = "Dansk [da]",
|
||||||
|
de = "Deutsch [de]",
|
||||||
|
--dv = " [dv]", blacklisted
|
||||||
|
el = "Ελληνικά [el]",
|
||||||
|
en = "English [en]",
|
||||||
|
eo = "Esperanto [eo]",
|
||||||
|
es = "Español [es]",
|
||||||
|
et = "Eesti [et]",
|
||||||
|
eu = "Euskara [eu]",
|
||||||
|
fi = "Suomi [fi]",
|
||||||
|
fil = "Wikang Filipino [fil]",
|
||||||
|
fr = "Français [fr]",
|
||||||
|
gd = "Gàidhlig [gd]",
|
||||||
|
gl = "Galego [gl]",
|
||||||
|
--he = " [he]", blacklisted
|
||||||
|
--hi = " [hi]", blacklisted
|
||||||
|
hu = "Magyar [hu]",
|
||||||
|
id = "Bahasa Indonesia [id]",
|
||||||
|
it = "Italiano [it]",
|
||||||
|
ja = "日本語 [ja]",
|
||||||
|
jbo = "Lojban [jbo]",
|
||||||
|
kk = "Қазақша [kk]",
|
||||||
|
--kn = " [kn]", blacklisted
|
||||||
|
ko = "한국어 [ko]",
|
||||||
|
ky = "Kırgızca / Кыргызча [ky]",
|
||||||
|
lt = "Lietuvių [lt]",
|
||||||
|
lv = "Latviešu [lv]",
|
||||||
|
mn = "Монгол [mn]",
|
||||||
|
mr = "मराठी [mr]",
|
||||||
|
ms = "Bahasa Melayu [ms]",
|
||||||
|
--ms_Arab = " [ms_Arab]", blacklisted
|
||||||
|
nb = "Norsk Bokmål [nb]",
|
||||||
|
nl = "Nederlands [nl]",
|
||||||
|
nn = "Norsk Nynorsk [nn]",
|
||||||
|
oc = "Occitan [oc]",
|
||||||
|
pl = "Polski [pl]",
|
||||||
|
pt = "Português [pt]",
|
||||||
|
pt_BR = "Português do Brasil [pt_BR]",
|
||||||
|
ro = "Română [ro]",
|
||||||
|
ru = "Русский [ru]",
|
||||||
|
sk = "Slovenčina [sk]",
|
||||||
|
sl = "Slovenščina [sl]",
|
||||||
|
sr_Cyrl = "Српски [sr_Cyrl]",
|
||||||
|
sr_Latn = "Srpski (Latinica) [sr_Latn]",
|
||||||
|
sv = "Svenska [sv]",
|
||||||
|
sw = "Kiswahili [sw]",
|
||||||
|
--th = " [th]", blacklisted
|
||||||
|
tr = "Türkçe [tr]",
|
||||||
|
tt = "Tatarça [tt]",
|
||||||
|
uk = "Українська [uk]",
|
||||||
|
vi = "Tiếng Việt [vi]",
|
||||||
|
zh_CN = "中文 (简体) [zh_CN]",
|
||||||
|
zh_TW = "正體中文 (繁體) [zh_TW]",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
-- See if setting matches keywords
|
-- See if setting matches keywords
|
||||||
local function get_setting_match_weight(entry, query_keywords)
|
local function get_setting_match_weight(entry, query_keywords)
|
||||||
local setting_score = 0
|
local setting_score = 0
|
||||||
|
Loading…
Reference in New Issue
Block a user