You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
koreader/frontend/ui/language.lua

78 lines
3.2 KiB
Lua

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

-- high level wrapper module for gettext
local InfoMessage = require("ui/widget/infomessage")
local UIManager = require("ui/uimanager")
local _ = require("gettext")
local Language = {}
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, lang_locale)
return {
text = lang,
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("English", "C"),
self:genLanguageSubItem("Catalá", "ca"),
self:genLanguageSubItem("Čeština", "cs_CZ"),
self:genLanguageSubItem("Deutsch", "de"),
self:genLanguageSubItem("Español", "es"),
self:genLanguageSubItem("Français", "fr"),
self:genLanguageSubItem("Galego", "gl"),
self:genLanguageSubItem("Italiano", "it_IT"),
self:genLanguageSubItem("Magyar", "hu"),
self:genLanguageSubItem("Nederlands", "nl_NL"),
self:genLanguageSubItem("Norsk", "nb_NO"),
self:genLanguageSubItem("Polski", "pl"),
--self:genLanguageSubItem("Polski2", "pl_PL"),
self:genLanguageSubItem("Português", "pt_PT"),
self:genLanguageSubItem("Português do Brasil", "pt_BR"),
self:genLanguageSubItem("Svenska", "sv"),
--self:genLanguageSubItem("Tiếng Việt", "vi"),
self:genLanguageSubItem("Türkçe", "tr"),
--self:genLanguageSubItem("Viet Nam", "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("Русский", "ru_RU"),
self:genLanguageSubItem("Українська", "uk"),
--self:genLanguageSubItem("中文", "zh"),
self:genLanguageSubItem("简体中文", "zh_CN"),
self:genLanguageSubItem("中文(台灣)", "zh_TW"),
--self:genLanguageSubItem("中文台灣Big5", "zh_TW.Big5"),
}
}
end
return self.LangMenuTable
end
return Language