Files
koreader-mirror/frontend/ui/language.lua
Mihai Vasiliu 2541440bb8 [UX] Add Romanian keyboard layout (#5660)
This adds a new separate Romanian keyboard layout, with popup support.

- Functional buttons are translated.
- Pages 5&6 contain 3 groups of characters (I tried my best to group them logically):
  - On the left: traditional Romanian cyrillic pre-1850s
  - On the middle latinised forms from 1850s onwards
  - On the right modern diacritics from 1900s to today
- Pages 7&8 add only large double quotes and section/paragraph mark.
- Popups are only avalable for most common diacritics. Swipe up for circumflex, swipe down for breve.

I can really call this the most complete though-the-ages Romanian keyboard. :)
2019-11-30 17:35:39 +01:00

129 lines
4.2 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- high level wrapper module for gettext
local InfoMessage = require("ui/widget/infomessage")
local UIManager = require("ui/uimanager")
local _ = require("gettext")
local Language = {
language_names = {
C = "English",
en = "English",
ca = "Catalá",
cs_CZ = "Čeština",
de = "Deutsch",
eo = "Esperanto",
es = "Español",
eu = "Euskara",
fr = "Français",
gl = "Galego",
it_IT = "Italiano",
he = "Hebrew",
hu = "Magyar",
nl_NL = "Nederlands",
nb_NO = "Norsk",
pl = "Polski",
pl_PL = "Polski2",
pt_PT = "Português",
pt_BR = "Português do Brasil",
ro = "Română",
ro_MD = "Română (Moldova)",
sk = "Slovenčina",
sv = "Svenska",
vi = "Tiếng Việt",
tr = "Türkçe",
vi_VN = "Viet Nam",
ar_AA = "عربى",
bg_BG = "български",
bn = "বাঙালি",
el = "Ελληνικά",
fa = "فارسی",
ja = "日本語",
kk = "Қазақ",
ko_KR = "한글",
ru = "Русский язык",
uk = "Українська",
zh = "中文",
zh_CN = "简体中文",
zh_TW = "中文(台灣)",
["zh_TW.Big5"] = "中文台灣Big5",
},
}
function Language:getLanguageName(lang_locale)
return self.language_names[lang_locale] or lang_locale
end
function Language:changeLanguage(lang_locale)
_.changeLang(lang_locale)
G_reader_settings:saveSetting("language", lang_locale)
UIManager:show(InfoMessage:new{
text = _("Please restart KOReader for the new language setting to take effect."),
timeout = 3,
})
end
function Language:genLanguageSubItem(lang_locale)
return {
text = self:getLanguageName(lang_locale),
checked_func = function()
return G_reader_settings:readSetting("language") == lang_locale
end,
callback = function()
self:changeLanguage(lang_locale)
end
}
end
function Language:getLangMenuTable()
-- cache menu table
if not self.LangMenuTable then
self.LangMenuTable = {
text = _("Language"),
-- NOTE: language with no translation are commented out for now
sub_item_table = {
self:genLanguageSubItem("C"),
self:genLanguageSubItem("ca"),
self:genLanguageSubItem("cs_CZ"),
self:genLanguageSubItem("de"),
self:genLanguageSubItem("eo"),
self:genLanguageSubItem("es"),
self:genLanguageSubItem("eu"),
self:genLanguageSubItem("fr"),
self:genLanguageSubItem("gl"),
self:genLanguageSubItem("it_IT"),
self:genLanguageSubItem("hu"),
self:genLanguageSubItem("nl_NL"),
self:genLanguageSubItem("nb_NO"),
self:genLanguageSubItem("pl"),
--self:genLanguageSubItem("pl_PL"),
self:genLanguageSubItem("pt_PT"),
self:genLanguageSubItem("pt_BR"),
--self:genLanguageSubItem("ro"),
--self:genLanguageSubItem("ro_MD"),
self:genLanguageSubItem("sk"),
self:genLanguageSubItem("sv"),
self:genLanguageSubItem("vi"),
self:genLanguageSubItem("tr"),
self:genLanguageSubItem("vi_VN"),
self:genLanguageSubItem("ar_AA"),
self:genLanguageSubItem("bg_BG"),
--self:genLanguageSubItem("bn"),
self:genLanguageSubItem("el"),
--self:genLanguageSubItem("fa"),
self:genLanguageSubItem("ja"),
--self:genLanguageSubItem("kk"),
self:genLanguageSubItem("ko_KR"),
self:genLanguageSubItem("ru"),
self:genLanguageSubItem("uk"),
--self:genLanguageSubItem("zh"),
self:genLanguageSubItem("zh_CN"),
self:genLanguageSubItem("zh_TW"),
--self:genLanguageSubItem("zh_TW.Big5"),
}
}
end
return self.LangMenuTable
end
return Language