2
0
mirror of https://github.com/koreader/koreader synced 2024-10-31 21:20:20 +00:00
koreader/frontend/ui/language.lua

64 lines
2.3 KiB
Lua
Raw Normal View History

2014-01-18 17:23:55 +00:00
-- high level wrapper module for gettext
local UIManager = require("ui/uimanager")
local InfoMessage = require("ui/widget/infomessage")
local _ = require("gettext")
2015-04-27 00:49:27 +00:00
local Language = {}
2014-01-18 17:23:55 +00:00
function Language:changeLanguage(lang_locale)
2014-03-13 13:52:43 +00:00
_.changeLang(lang_locale)
G_reader_settings:saveSetting("language", lang_locale)
UIManager:show(InfoMessage:new{
2014-11-12 11:29:38 +00:00
text = _("Please restart KOReader for the new language setting to take effect."),
2014-03-13 13:52:43 +00:00
timeout = 3,
})
2014-01-18 17:23:55 +00:00
end
function Language:genLanguageSubItem(lang, lang_locale)
2014-03-13 13:52:43 +00:00
return {
text = lang,
checked_func = function()
return G_reader_settings:readSetting("language") == lang_locale
end,
2014-03-13 13:52:43 +00:00
callback = function()
self:changeLanguage(lang_locale)
end
}
2014-01-18 17:23:55 +00:00
end
function Language:getLangMenuTable()
2014-03-13 13:52:43 +00:00
-- 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("čeština", "cs_CZ"),
self:genLanguageSubItem("Deutsch", "de"),
self:genLanguageSubItem("français", "fr"),
self:genLanguageSubItem("magyar", "hu"),
self:genLanguageSubItem("Galego", "gl"),
2014-03-13 13:52:43 +00:00
self:genLanguageSubItem("Italiano", "it_IT"),
self:genLanguageSubItem("Nederlands", "nl_NL"),
2014-03-13 13:52:43 +00:00
self:genLanguageSubItem("Polski", "pl"),
self:genLanguageSubItem("Português do Brasil", "pt_BR"),
self:genLanguageSubItem("Русский язык", "ru"),
self:genLanguageSubItem("Español", "es"),
2014-06-05 12:13:20 +00:00
self:genLanguageSubItem("Catalá", "ca"),
-- self:genLanguageSubItem("svenska", "sv"),
2014-03-13 13:52:43 +00:00
self:genLanguageSubItem("Türkçe", "tr"),
self:genLanguageSubItem("Українська", "uk"),
-- self:genLanguageSubItem("Tiếng Việt", "vi"),
-- self:genLanguageSubItem("Viet Nam", "vi_VN"),
2014-03-13 13:52:43 +00:00
self:genLanguageSubItem("简体中文", "zh_CN"),
2014-06-05 12:13:20 +00:00
self:genLanguageSubItem("한글", "ko_KR"),
2014-03-13 13:52:43 +00:00
}
}
end
return self.LangMenuTable
2014-01-18 17:23:55 +00:00
end
return Language