Merge pull request #465 from houqp/houqp-master

add language setting menu item
This commit is contained in:
Huang Xin
2014-01-18 10:03:49 -08:00
5 changed files with 170 additions and 58 deletions

View File

@@ -8,6 +8,7 @@ local Device = require("ui/device")
local GestureRange = require("ui/gesturerange")
local Geom = require("ui/geometry")
local Screen = require("ui/screen")
local Language = require("ui/language")
local _ = require("gettext")
local FileManagerMenu = InputContainer:extend{
@@ -85,6 +86,7 @@ function FileManagerMenu:setUpdateItemTable()
})
end
})
table.insert(self.tab_item_table.main, Language:getLangMenuTable())
end
function FileManagerMenu:onShowMenu()

53
frontend/ui/language.lua Normal file
View File

@@ -0,0 +1,53 @@
-- high level wrapper module for gettext
local UIManager = require("ui/uimanager")
local InfoMessage = require("ui/widget/infomessage")
local _ = require("gettext")
Language = {}
function Language:changeLanguage(lang_po)
_.changeLang(lang_po)
G_reader_settings:saveSetting("language_po", lang_po)
UIManager:show(InfoMessage:new{
text = _("Please restart reader for new language setting to take effect."),
timeout = 3,
})
end
function Language:genLanguageSubItem(lang, lang_po)
return {
text = lang,
callback = function()
self:changeLanguage(lang_po)
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", ""),
self:genLanguageSubItem("čeština", "cs_CZ"),
self:genLanguageSubItem("Deutsch", "de"),
self:genLanguageSubItem("français", "fr"),
--self:genLanguageSubItem("magyar", "hu"),
self:genLanguageSubItem("Italiano", "it_IT"),
self:genLanguageSubItem("język polski", "pl"),
self:genLanguageSubItem("Português do Brasil", "pt_BR"),
self:genLanguageSubItem("Русский язык", "ru"),
--self:genLanguageSubItem("svenska", "sv"),
self:genLanguageSubItem("Türkçe", "tr"),
--self:genLanguageSubItem("Tiếng Việt", "vi"),
self:genLanguageSubItem("简体中文", "zh_CN"),
}
}
end
return self.LangMenuTable
end
return Language

View File

@@ -9,6 +9,7 @@ local Event = require("ui/event")
local Screen = require("ui/screen")
local Menu = require("ui/widget/menu")
local InfoMessage = require("ui/widget/infomessage")
local Language = require("ui/language")
local _ = require("gettext")
local ReaderMenu = InputContainer:new{
@@ -66,6 +67,7 @@ function ReaderMenu:setUpdateItemTable()
for _, widget in pairs(self.registered_widgets) do
widget:addToMainMenu(self.tab_item_table)
end
table.insert(self.tab_item_table.main, {
text = _("Help"),
callback = function()
@@ -82,6 +84,7 @@ function ReaderMenu:setUpdateItemTable()
})
end
})
table.insert(self.tab_item_table.main, Language:getLangMenuTable())
end
function ReaderMenu:onShowReaderMenu()

View File

@@ -6,23 +6,23 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: https://github.com/koreader/koreader-base/issues\n"
"POT-Creation-Date: 2014-01-07 15:39+0000\n"
"POT-Creation-Date: 2014-01-18 17:24+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: reader.lua:101
#: reader.lua:107
msgid ""
"-d start in debug mode"
msgstr ""
#: reader.lua:103
#: reader.lua:109
msgid ""
"-h show this usage help"
msgstr ""
#: reader.lua:102
#: reader.lua:108
msgid ""
"-p [rows] enable Lua code profiling"
msgstr ""
@@ -52,7 +52,7 @@ msgid ""
">>"
msgstr ""
#: frontend/ui/reader/readerhighlight.lua:268
#: frontend/ui/reader/readerhighlight.lua:336
#: frontend/ui/widget/dictquicklookup.lua:145
msgid ""
"Add Note"
@@ -109,7 +109,7 @@ msgid ""
"Auto-detected Kobo"
msgstr ""
#: frontend/ui/reader/readerbookmark.lua:13
#: frontend/ui/reader/readerbookmark.lua:14
msgid ""
"Bookmarks"
msgstr ""
@@ -140,9 +140,14 @@ msgid ""
"Contrast"
msgstr ""
#: frontend/ui/reader/readerfont.lua:137
#: frontend/apps/filemanager/filemanager.lua:133
msgid ""
"Decrease font size to "
"Copy"
msgstr ""
#: frontend/apps/filemanager/filemanager.lua:151
msgid ""
"Cut"
msgstr ""
#: frontend/ui/reader/readerfrontlight.lua:44
@@ -150,12 +155,12 @@ msgid ""
"Decrease front light intensity to "
msgstr ""
#: frontend/ui/reader/readerfont.lua:205
#: frontend/ui/reader/readerfont.lua:188
msgid ""
"Decrease gamma to "
msgstr ""
#: frontend/ui/reader/readerfont.lua:176
#: frontend/ui/reader/readerfont.lua:159
msgid ""
"Decrease line space to "
msgstr ""
@@ -165,7 +170,8 @@ msgid ""
"Defect Size"
msgstr ""
#: frontend/ui/reader/readerhighlight.lua:159
#: frontend/apps/filemanager/filemanager.lua:158
#: frontend/ui/reader/readerhighlight.lua:231
msgid ""
"Delete"
msgstr ""
@@ -180,12 +186,12 @@ msgid ""
"Document Language"
msgstr ""
#: frontend/ui/reader/readermenu.lua:111
#: frontend/ui/reader/readermenu.lua:114
msgid ""
"Document menu"
msgstr ""
#: frontend/ui/reader/readerhighlight.lua:166
#: frontend/ui/reader/readerhighlight.lua:238
msgid ""
"Edit"
msgstr ""
@@ -195,12 +201,17 @@ msgid ""
"Embedded style"
msgstr ""
#: frontend/apps/filemanager/filemanagermenu.lua:112
#: reader.lua:55
msgid ""
"File does not exist"
msgstr ""
#: frontend/apps/filemanager/filemanagermenu.lua:114
msgid ""
"File manager menu"
msgstr ""
#: frontend/apps/filemanager/filemanager.lua:18
#: frontend/apps/filemanager/filemanager.lua:69
msgid ""
"FileManager"
msgstr ""
@@ -250,13 +261,13 @@ msgid ""
"Go to Page or Location"
msgstr ""
#: frontend/apps/filemanager/filemanagermenu.lua:73
#: frontend/ui/reader/readermenu.lua:70
#: frontend/apps/filemanager/filemanagermenu.lua:74
#: frontend/ui/reader/readermenu.lua:72
msgid ""
"Help"
msgstr ""
#: frontend/ui/reader/readerhighlight.lua:260
#: frontend/ui/reader/readerhighlight.lua:328
#: frontend/ui/widget/dictquicklookup.lua:138
msgid ""
"Highlight"
@@ -273,32 +284,27 @@ msgid ""
"Hyphenation"
msgstr ""
#: reader.lua:108
#: reader.lua:114
msgid ""
"If you don't pass any path, the last viewed document will be opened"
msgstr ""
#: reader.lua:105
#: reader.lua:111
msgid ""
"If you give the name of a directory instead of a file path, a file"
msgstr ""
#: frontend/ui/reader/readerfont.lua:139
msgid ""
"Increase font size to "
msgstr ""
#: frontend/ui/reader/readerfrontlight.lua:41
msgid ""
"Increase front light intensity to "
msgstr ""
#: frontend/ui/reader/readerfont.lua:202
#: frontend/ui/reader/readerfont.lua:185
msgid ""
"Increase gamma to "
msgstr ""
#: frontend/ui/reader/readerfont.lua:180
#: frontend/ui/reader/readerfont.lua:163
msgid ""
"Increase line space to "
msgstr ""
@@ -308,11 +314,26 @@ msgid ""
"Indentation"
msgstr ""
#: frontend/ui/reader/readerhighlight.lua:145
msgid ""
"Invert"
msgstr ""
#: frontend/ui/data/strings.lua:54
msgid ""
"LTR"
msgstr ""
#: frontend/ui/language.lua:31
msgid ""
"Language"
msgstr ""
#: frontend/ui/reader/readerhighlight.lua:133
msgid ""
"Lighten"
msgstr ""
#: frontend/ui/data/strings.lua:10
msgid ""
"Line Spacing"
@@ -323,12 +344,12 @@ msgid ""
"Location"
msgstr ""
#: frontend/ui/reader/readerhighlight.lua:298
#: frontend/ui/reader/readerhighlight.lua:366
msgid ""
"More"
msgstr ""
#: reader.lua:64
#: reader.lua:70
msgid ""
"No reader engine for this file"
msgstr ""
@@ -364,23 +385,33 @@ msgid ""
"Page Margin"
msgstr ""
#: frontend/apps/filemanager/filemanagermenu.lua:76
#: frontend/ui/reader/readermenu.lua:73
#: frontend/apps/filemanager/filemanager.lua:140
msgid ""
"Paste"
msgstr ""
#: frontend/apps/filemanager/filemanagermenu.lua:77
#: frontend/ui/reader/readermenu.lua:75
msgid ""
"Please report bugs to https://github.com/koreader/ koreader/issues, Click at the bottom of the page for more options"
msgstr ""
#: frontend/ui/language.lua:13
msgid ""
"Please restart reader for new language setting to take effect."
msgstr ""
#: frontend/ui/data/strings.lua:55
msgid ""
"RTL"
msgstr ""
#: reader.lua:99
#: reader.lua:105
msgid ""
"Read all the books on your E-Ink reader"
msgstr ""
#: frontend/ui/reader/readerfont.lua:228
#: frontend/ui/reader/readerfont.lua:211
msgid ""
"Redrawing with font "
msgstr ""
@@ -416,7 +447,7 @@ msgid ""
"Scroll Mode"
msgstr ""
#: reader.lua:111
#: reader.lua:117
msgid ""
"See http://github.com/koreader/kindlepdfviewer for more info."
msgstr ""
@@ -433,22 +464,27 @@ msgid ""
"Select Option Item"
msgstr ""
#: frontend/ui/reader/readerfont.lua:161
#: frontend/ui/reader/readerfont.lua:144
msgid ""
"Set font size to "
msgstr ""
#: frontend/ui/reader/readerhighlight.lua:124
msgid ""
"Set highlight drawer "
msgstr ""
#: frontend/ui/reader/readertypeset.lua:8
msgid ""
"Set render style"
msgstr ""
#: frontend/ui/reader/readerhighlight.lua:287
#: frontend/ui/reader/readerhighlight.lua:355
msgid ""
"Share"
msgstr ""
#: frontend/ui/uimanager.lua:296
#: frontend/ui/uimanager.lua:297
msgid ""
"Standby"
msgstr ""
@@ -488,7 +524,7 @@ msgid ""
"Text Align"
msgstr ""
#: reader.lua:110
#: reader.lua:116
msgid ""
"This software is licensed under the GPLv3."
msgstr ""
@@ -498,7 +534,7 @@ msgid ""
"Toggle"
msgstr ""
#: frontend/apps/filemanager/filemanagermenu.lua:62
#: frontend/apps/filemanager/filemanagermenu.lua:63
msgid ""
"Toggle hidden files"
msgstr ""
@@ -508,7 +544,7 @@ msgid ""
"Toggle switch"
msgstr ""
#: frontend/ui/reader/readerhighlight.lua:279
#: frontend/ui/reader/readerhighlight.lua:347
msgid ""
"Translate"
msgstr ""
@@ -533,8 +569,13 @@ msgid ""
"Turn on page overlap"
msgstr ""
#: frontend/apps/filemanager/filemanagermenu.lua:81
#: frontend/ui/reader/readermenu.lua:78
#: frontend/ui/reader/readerhighlight.lua:139
msgid ""
"Underscore"
msgstr ""
#: frontend/apps/filemanager/filemanagermenu.lua:82
#: frontend/ui/reader/readermenu.lua:80
msgid ""
"Version"
msgstr ""
@@ -559,6 +600,11 @@ msgid ""
"Writing Direction"
msgstr ""
#: frontend/ui/reader/readerscreenshot.lua:31
msgid ""
"Writing screen to "
msgstr ""
#: frontend/ui/reader/readerzooming.lua:311
msgid ""
"Zoom to fit content"
@@ -599,7 +645,7 @@ msgid ""
"cancel"
msgstr ""
#: reader.lua:106
#: reader.lua:112
msgid ""
"chooser will show up and let you select a file"
msgstr ""
@@ -625,19 +671,20 @@ msgid ""
"close config menu"
msgstr ""
#: frontend/apps/filemanager/filemanager.lua:31
#: frontend/ui/reader/readerhighlight.lua:24
#: frontend/ui/widget/infomessage.lua:32
msgid ""
"close dialog"
msgstr ""
#: frontend/ui/readerui.lua:43
#: frontend/ui/readerui.lua:72
#: frontend/ui/readerui.lua:44
#: frontend/ui/readerui.lua:73
msgid ""
"close document"
msgstr ""
#: frontend/ui/widget/menu.lua:425
#: frontend/ui/widget/menu.lua:443
msgid ""
"close menu"
msgstr ""
@@ -732,12 +779,12 @@ msgid ""
"go to start"
msgstr ""
#: frontend/ui/widget/menu.lua:427
#: frontend/ui/widget/menu.lua:445
msgid ""
"goto next page of the menu"
msgstr ""
#: frontend/ui/widget/menu.lua:430
#: frontend/ui/widget/menu.lua:448
msgid ""
"goto previous page of the menu"
msgstr ""
@@ -832,7 +879,7 @@ msgid ""
"move visible area up"
msgstr ""
#: frontend/ui/widget/menu.lua:512
#: frontend/ui/widget/menu.lua:530
msgid ""
"no choices available"
msgstr ""
@@ -852,7 +899,7 @@ msgid ""
"on"
msgstr ""
#: reader.lua:54
#: reader.lua:60
msgid ""
"opening file"
msgstr ""
@@ -862,7 +909,7 @@ msgid ""
"page"
msgstr ""
#: frontend/ui/widget/menu.lua:506
#: frontend/ui/widget/menu.lua:524
msgid ""
"page "
msgstr ""
@@ -888,7 +935,7 @@ msgid ""
msgstr ""
#: frontend/ui/widget/configdialog.lua:440
#: frontend/ui/widget/menu.lua:439
#: frontend/ui/widget/menu.lua:457
msgid ""
"select current menu item"
msgstr ""
@@ -903,7 +950,7 @@ msgid ""
"show Table of Content menu"
msgstr ""
#: frontend/ui/reader/readerbookmark.lua:22
#: frontend/ui/reader/readerbookmark.lua:23
msgid ""
"show bookmarks"
msgstr ""
@@ -918,8 +965,8 @@ msgid ""
"show font menu"
msgstr ""
#: frontend/apps/filemanager/filemanagermenu.lua:35
#: frontend/ui/reader/readermenu.lua:44
#: frontend/apps/filemanager/filemanagermenu.lua:36
#: frontend/ui/reader/readermenu.lua:45
msgid ""
"show menu"
msgstr ""
@@ -934,7 +981,7 @@ msgid ""
"toggle bold"
msgstr ""
#: reader.lua:98
#: reader.lua:104
msgid ""
"usage: ./reader.lua [OPTION] ... path"
msgstr ""

View File

@@ -154,13 +154,20 @@ if Device:hasNoKeyboard() then
Menu.is_enable_shortcut = false
end
-- set up reader's setting: font
-- read some global reader setting here:
G_reader_settings = DocSettings:open(".reader")
fontmap = G_reader_settings:readSetting("fontmap")
-- font
local fontmap = G_reader_settings:readSetting("fontmap")
if fontmap ~= nil then
Font.fontmap = fontmap
end
-- last file
local last_file = G_reader_settings:readSetting("lastfile")
-- language
local lang_po = G_reader_settings:readSetting("language_po")
if lang_po then
_.changeLang(lang_po)
end
--@TODO we can read version here, refer to commit in master tree: (houqp)