diff --git a/frontend/apps/filemanager/filemanagermenu.lua b/frontend/apps/filemanager/filemanagermenu.lua index 8b4c668d5..64af5d676 100644 --- a/frontend/apps/filemanager/filemanagermenu.lua +++ b/frontend/apps/filemanager/filemanagermenu.lua @@ -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() diff --git a/frontend/ui/language.lua b/frontend/ui/language.lua new file mode 100644 index 000000000..db6a62c6f --- /dev/null +++ b/frontend/ui/language.lua @@ -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 diff --git a/frontend/ui/reader/readermenu.lua b/frontend/ui/reader/readermenu.lua index 243c26d0d..d41ff313c 100644 --- a/frontend/ui/reader/readermenu.lua +++ b/frontend/ui/reader/readermenu.lua @@ -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() diff --git a/l10n/templates/koreader.pot b/l10n/templates/koreader.pot index 6bd9aeeb9..2878aabbf 100644 --- a/l10n/templates/koreader.pot +++ b/l10n/templates/koreader.pot @@ -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 "" diff --git a/reader.lua b/reader.lua index 8928a8b01..965f355c7 100755 --- a/reader.lua +++ b/reader.lua @@ -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)