From 31f356415833cb0ad62c02b0094a34ac4141ce4b Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Sun, 7 Apr 2013 16:09:33 +0800 Subject: [PATCH 01/17] add gettext lua module --- frontend/gettext.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 frontend/gettext.lua diff --git a/frontend/gettext.lua b/frontend/gettext.lua new file mode 100644 index 000000000..4e0533e68 --- /dev/null +++ b/frontend/gettext.lua @@ -0,0 +1,11 @@ + +lua_gettext.init("./i18n", "koreader") + + +function _(string) + return lua_gettext.translate(string) +end + +function gettextChangeLang(new_lang) + lua_gettext.change_lang(new_lang) +end From 15a409245a648a618238adaaa8f90ee2311dd1b2 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Sun, 7 Apr 2013 16:13:08 +0800 Subject: [PATCH 02/17] use gettext in reader.lua --- reader.lua | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/reader.lua b/reader.lua index 1f3187a2d..cf92d4171 100755 --- a/reader.lua +++ b/reader.lua @@ -8,12 +8,13 @@ require "ui/readerui" require "document/document" require "settings" require "dbg" +require "gettext" HomeMenu = InputContainer:new{ item_table = {}, key_events = { - TapShowMenu = { {"Home"}, doc = "Show Home Menu"}, + TapShowMenu = { {_("Home")}, doc = _("Show Home Menu")}, }, ges_events = { TapShowMenu = { @@ -44,14 +45,14 @@ function exitReader() local dev = Device:getTouchInputDev() if dev then local width, height = Screen:getWidth(), Screen:getHeight() - input.fakeTapInput(dev, + input.fakeTapInput(dev, math.min(width, height)/2, math.max(width, height)-30 ) end end end - + os.exit(0) end @@ -78,12 +79,12 @@ function HomeMenu:setUpdateItemTable() }) end table.insert(self.item_table, { - text = "Last documents", + text = _("Last documents"), sub_item_table = hist_sub_item_table, }) table.insert(self.item_table, { - text = "Exit", + text = _("Exit"), callback = function() exitReader() end @@ -101,7 +102,7 @@ function HomeMenu:onTapShowMenu() local home_menu = Menu:new{ show_parent = menu_container, - title = "Home menu", + title = _("Home menu"), item_table = self.item_table, width = Screen:getWidth() - 100, } @@ -121,7 +122,9 @@ end function showReader(file, pass) local document = DocumentRegistry:openDocument(file) if not document then - UIManager:show(InfoMessage:new{ text = "No reader engine for this file" }) + UIManager:show(InfoMessage:new{ + text = _("No reader engine for this file") + }) return end @@ -143,7 +146,7 @@ function showHomePage(path) local FileManager = FileChooser:new{ show_parent = HomePage, - title = "FileManager", + title = _("FileManager"), path = path, width = Screen:getWidth(), height = Screen:getHeight(), @@ -187,19 +190,19 @@ longopts = { } function showusage() - print("usage: ./reader.lua [OPTION] ... path") - print("Read all the books on your E-Ink reader") + print(_("usage: ./reader.lua [OPTION] ... path")) + print(_("Read all the books on your E-Ink reader")) print("") - print("-d start in debug mode") - print("-h show this usage help") + print(_("-d start in debug mode")) + print(_("-h show this usage help")) print("") - print("If you give the name of a directory instead of a file path, a file") - print("chooser will show up and let you select a file") + print(_("If you give the name of a directory instead of a file path, a file")) + print(_("chooser will show up and let you select a file")) print("") - print("If you don't pass any path, the last viewed document will be opened") + print(_("If you don't pass any path, the last viewed document will be opened")) print("") - print("This software is licensed under the GPLv3.") - print("See http://github.com/koreader/kindlepdfviewer for more info.") + print(_("This software is licensed under the GPLv3.")) + print(_("See http://github.com/koreader/kindlepdfviewer for more info.")) return end From 77b5b2aee4a319b0d880a043bfb97e58211b2e95 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Sun, 7 Apr 2013 16:23:55 +0800 Subject: [PATCH 03/17] add l10n directory --- l10n/.tx/config | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 l10n/.tx/config diff --git a/l10n/.tx/config b/l10n/.tx/config new file mode 100644 index 000000000..f1603f25a --- /dev/null +++ b/l10n/.tx/config @@ -0,0 +1,3 @@ +[main] +host = https://www.transifex.com + From 8968efeb72da5d14c47273cfb4d55eea7aa634b0 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Sun, 7 Apr 2013 16:24:36 +0800 Subject: [PATCH 04/17] copy i18n in customupdate --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index 93bd9b3bf..3452b2e4e 100644 --- a/Makefile +++ b/Makefile @@ -61,6 +61,7 @@ customupdate: $(KOR_BASE)/koreader-base $(KOR_BASE)/extr $(STRIP) --strip-unneeded $(INSTALL_DIR)/libs/* cp -rpL $(KOR_BASE)/data/*.css $(INSTALL_DIR)/data cp -rpL $(KOR_BASE)/fonts $(INSTALL_DIR) + cp -rp $(KOR_BASE)/i18n $(INSTALL_DIR) rm $(INSTALL_DIR)/fonts/droid/DroidSansFallbackFull.ttf echo $(VERSION) > git-rev cp -r git-rev resources $(INSTALL_DIR) From 1fe2e5c3775cfe5adecc4bed2790ae2c41a26dc2 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Sun, 7 Apr 2013 16:33:58 +0800 Subject: [PATCH 05/17] use DroidSansFallback for all major fonts we need DroidSansFallback for internalization :) --- frontend/ui/device.lua | 4 ++-- frontend/ui/font.lua | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/frontend/ui/device.lua b/frontend/ui/device.lua index f75923bb3..4d77e520f 100644 --- a/frontend/ui/device.lua +++ b/frontend/ui/device.lua @@ -8,7 +8,7 @@ Device = { function Device:getModel() local std_out = io.popen("grep 'MX' /proc/cpuinfo | cut -d':' -f2 | awk {'print $2'}", "r") - local cpu_mod = std_out:read() + local cpu_mod = std_out:read() if not cpu_mod then local ret = os.execute("grep 'Hardware : Mario Platform' /proc/cpuinfo", "r") if ret ~= 0 then @@ -122,7 +122,7 @@ function Device:usbPlugIn() if self.charging_mode == false and self.screen_saver_mode == false then Screen:saveCurrentBB() --UIManager:show(InfoMessage:new{ - --text = "Going into USB mode... ", + --text = "Going into USB mode... ", --timeout = 2, --}) --util.sleep(1) diff --git a/frontend/ui/font.lua b/frontend/ui/font.lua index 3d9ec96cb..836508e2a 100644 --- a/frontend/ui/font.lua +++ b/frontend/ui/font.lua @@ -5,9 +5,10 @@ Font = { -- default font for menu contents cfont = "droid/DroidSansFallback.ttf", -- default font for title - tfont = "NimbusSanL-BoldItal.cff", + --tfont = "NimbusSanL-BoldItal.cff", + tfont = "droid/DroidSansFallback.ttf", -- default font for footer - ffont = "droid/DroidSans.ttf", + ffont = "droid/DroidSansFallback.ttf", -- default font for reading position info rifont = "droid/DroidSans.ttf", From a95c20b436488e9c5a8ae57fced37002de4d6ee4 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Sun, 7 Apr 2013 16:35:40 +0800 Subject: [PATCH 06/17] use gettext in readermenu --- frontend/ui/reader/readermenu.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/ui/reader/readermenu.lua b/frontend/ui/reader/readermenu.lua index a2a0efef8..e156ced3a 100644 --- a/frontend/ui/reader/readermenu.lua +++ b/frontend/ui/reader/readermenu.lua @@ -31,7 +31,7 @@ function ReaderMenu:init() if Device:hasKeyboard() then self.key_events = { - ShowMenu = { { "Menu" }, doc = "show menu" }, + ShowMenu = { { _("Menu") }, doc = _("show menu") }, } end end @@ -58,10 +58,10 @@ function ReaderMenu:setUpdateItemTable() end table.insert(self.tab_item_table.main, { - text = "Help", + text = _("Help"), callback = function() UIManager:show(InfoMessage:new{ - text = "Just kidding, this page is not implemented yet.", + text = _("Just kidding, this page is not implemented yet."), }) end }) @@ -80,7 +80,7 @@ function ReaderMenu:onShowMenu() local main_menu = nil if Device:isTouchDevice() then main_menu = TouchMenu:new{ - name = "main_menu", + name = _("main_menu"), width = Screen:getWidth(), tab_item_table = { self.tab_item_table.navi, @@ -92,7 +92,7 @@ function ReaderMenu:onShowMenu() } else main_menu = Menu:new{ - title = "Document menu", + title = _("Document menu"), item_table = {}, width = Screen:getWidth() - 100, } From b639b34d5c45617d2648329fc363cf7d9355ce6d Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Sun, 7 Apr 2013 16:36:16 +0800 Subject: [PATCH 07/17] use gettext in readertoc --- frontend/ui/reader/readertoc.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/ui/reader/readertoc.lua b/frontend/ui/reader/readertoc.lua index 355ca5483..6a227919e 100644 --- a/frontend/ui/reader/readertoc.lua +++ b/frontend/ui/reader/readertoc.lua @@ -1,6 +1,6 @@ ReaderToc = InputContainer:new{ toc = nil, - toc_menu_title = "Table of contents", + toc_menu_title = _("Table of contents"), } function ReaderToc:init() @@ -8,7 +8,7 @@ function ReaderToc:init() self.key_events = { ShowToc = { { "T" }, - doc = "show Table of Content menu" }, + doc = _("show Table of Content menu") }, } end self.ui.menu:registerToMainMenu(self) @@ -82,7 +82,7 @@ function ReaderToc:onShowToc() } local toc_menu = Menu:new{ - title = "Table of Contents", + title = _("Table of Contents"), item_table = self.toc, ui = self.ui, width = Screen:getWidth()-50, From 734bf63863be21e617db00b8cdc968755c7eb8a9 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Sun, 7 Apr 2013 16:47:05 +0800 Subject: [PATCH 08/17] add gettext to readermenu --- frontend/ui/reader/readermenu.lua | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/frontend/ui/reader/readermenu.lua b/frontend/ui/reader/readermenu.lua index e156ced3a..49e99b3f5 100644 --- a/frontend/ui/reader/readermenu.lua +++ b/frontend/ui/reader/readermenu.lua @@ -65,6 +65,18 @@ function ReaderMenu:setUpdateItemTable() }) end }) + + table.insert(self.tab_item_table.main, { + text = _("Languages"), + sub_item_table = { + { + text = "简体中文", + callback = function() + gettextChangeLang("zh_CN.UTF-8") + end, + }, + } + }) end function ReaderMenu:onShowMenu() From 7602698e3970a58b50857aff3225121179455116 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Mon, 8 Apr 2013 02:15:29 +0800 Subject: [PATCH 09/17] add koreader demo template --- l10n/template/koreader.pot | 154 +++++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 l10n/template/koreader.pot diff --git a/l10n/template/koreader.pot b/l10n/template/koreader.pot new file mode 100644 index 000000000..a214d08dd --- /dev/null +++ b/l10n/template/koreader.pot @@ -0,0 +1,154 @@ +# KOReader PATH/TO/FILE.PO +# Copyright (C) 2005-2013 KOReader Development Team +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: https://github.com/koreader/koreader-base/issues\n" +"POT-Creation-Date: 2013-04-07 18:14+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" + +#: frontend/ui/reader/readerconfig.lua:117 +msgid "" +")\n" +"end\n" +"\n" +"function ReaderConfig:onCloseDocument()\n" +" self.configurable:saveSettings(self.ui.doc_settings, self.options.prefix.." +msgstr "" + +#: reader.lua:196 +msgid "" +"-d start in debug mode" +msgstr "" + +#: reader.lua:197 +msgid "" +"-h show this usage help" +msgstr "" + +#: frontend/ui/reader/readermenu.lua:107 +msgid "" +"Document menu" +msgstr "" + +#: reader.lua:87 +msgid "" +"Exit" +msgstr "" + +#: reader.lua:149 +msgid "" +"FileManager" +msgstr "" + +#: frontend/ui/reader/readermenu.lua:61 +msgid "" +"Help" +msgstr "" + +#: reader.lua:17 +msgid "" +"Home" +msgstr "" + +#: reader.lua:105 +msgid "" +"Home menu" +msgstr "" + +#: reader.lua:202 +msgid "" +"If you don't pass any path, the last viewed document will be opened" +msgstr "" + +#: reader.lua:199 +msgid "" +"If you give the name of a directory instead of a file path, a file" +msgstr "" + +#: frontend/ui/reader/readermenu.lua:64 +msgid "" +"Just kidding, this page is not implemented yet." +msgstr "" + +#: frontend/ui/reader/readermenu.lua:70 +msgid "" +"Languages" +msgstr "" + +#: reader.lua:82 +msgid "" +"Last documents" +msgstr "" + +#: frontend/ui/reader/readermenu.lua:34 +msgid "" +"Menu" +msgstr "" + +#: reader.lua:126 +msgid "" +"No reader engine for this file" +msgstr "" + +#: reader.lua:194 +msgid "" +"Read all the books on your E-Ink reader" +msgstr "" + +#: reader.lua:205 +msgid "" +"See http://github.com/koreader/kindlepdfviewer for more info." +msgstr "" + +#: reader.lua:17 +msgid "" +"Show Home Menu" +msgstr "" + +#: frontend/ui/reader/readertoc.lua:87 +msgid "" +"Table of Contents" +msgstr "" + +#: frontend/ui/reader/readertoc.lua:5 +msgid "" +"Table of contents" +msgstr "" + +#: reader.lua:204 +msgid "" +"This software is licensed under the GPLv3." +msgstr "" + +#: reader.lua:200 +msgid "" +"chooser will show up and let you select a file" +msgstr "" + +#: frontend/ui/reader/readermenu.lua:95 +msgid "" +"main_menu" +msgstr "" + +#: frontend/ui/reader/readertoc.lua:13 +msgid "" +"show Table of Content menu" +msgstr "" + +#: frontend/ui/reader/readermenu.lua:34 +msgid "" +"show menu" +msgstr "" + +#: reader.lua:193 +msgid "" +"usage: ./reader.lua [OPTION] ... path" +msgstr "" + + From cec992c1e67dd0dcbd0d6ebc214a6e28b33e2aea Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Mon, 8 Apr 2013 02:22:09 +0800 Subject: [PATCH 10/17] rename template folder name --- l10n/{template => templates}/koreader.pot | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename l10n/{template => templates}/koreader.pot (100%) diff --git a/l10n/template/koreader.pot b/l10n/templates/koreader.pot similarity index 100% rename from l10n/template/koreader.pot rename to l10n/templates/koreader.pot From 2d0090c6de570bb74f0067df07dd53f3a25fac30 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Mon, 8 Apr 2013 02:44:41 +0800 Subject: [PATCH 11/17] remove debug name --- frontend/ui/reader/readermenu.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/frontend/ui/reader/readermenu.lua b/frontend/ui/reader/readermenu.lua index 49e99b3f5..59bd2dfa1 100644 --- a/frontend/ui/reader/readermenu.lua +++ b/frontend/ui/reader/readermenu.lua @@ -92,7 +92,6 @@ function ReaderMenu:onShowMenu() local main_menu = nil if Device:isTouchDevice() then main_menu = TouchMenu:new{ - name = _("main_menu"), width = Screen:getWidth(), tab_item_table = { self.tab_item_table.navi, From 4914f5467f7e1ade93dea5786f454e021f0b1487 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Mon, 8 Apr 2013 02:54:25 +0800 Subject: [PATCH 12/17] add Makefile for managing po and pot files basically wrapper around tx --- l10n/Makefile | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 l10n/Makefile diff --git a/l10n/Makefile b/l10n/Makefile new file mode 100644 index 000000000..b85aaf32e --- /dev/null +++ b/l10n/Makefile @@ -0,0 +1,12 @@ +all: update + +update: + tx pull -a + +bootstrap: + tx set --auto-local -r koreader.koreader "/koreader.po" \ + --source-language=en \ + --source-file "templates/koreader.pot" --execute + +.PHONY: all clean + From efa7ce0ef24c440e85291b37091ee4b3e38cda01 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Mon, 8 Apr 2013 02:55:41 +0800 Subject: [PATCH 13/17] update tx config and koreader template --- l10n/.tx/config | 6 ++++++ l10n/templates/koreader.pot | 9 ++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/l10n/.tx/config b/l10n/.tx/config index f1603f25a..be9284551 100644 --- a/l10n/.tx/config +++ b/l10n/.tx/config @@ -1,3 +1,9 @@ [main] host = https://www.transifex.com +[koreader.koreader] +file_filter = /koreader.po +source_file = templates/koreader.pot +source_lang = en +type = PO + diff --git a/l10n/templates/koreader.pot b/l10n/templates/koreader.pot index a214d08dd..baee69a54 100644 --- a/l10n/templates/koreader.pot +++ b/l10n/templates/koreader.pot @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://github.com/koreader/koreader-base/issues\n" -"POT-Creation-Date: 2013-04-07 18:14+0000\n" +"POT-Creation-Date: 2013-04-07 18:47+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" @@ -31,7 +31,7 @@ msgid "" "-h show this usage help" msgstr "" -#: frontend/ui/reader/readermenu.lua:107 +#: frontend/ui/reader/readermenu.lua:106 msgid "" "Document menu" msgstr "" @@ -131,11 +131,6 @@ msgid "" "chooser will show up and let you select a file" msgstr "" -#: frontend/ui/reader/readermenu.lua:95 -msgid "" -"main_menu" -msgstr "" - #: frontend/ui/reader/readertoc.lua:13 msgid "" "show Table of Content menu" From 9313a88f2abad52afcf0a461dcc3585b6332cba2 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Mon, 8 Apr 2013 02:56:06 +0800 Subject: [PATCH 14/17] pull zh translation from transifex --- l10n/zh_CN/koreader.po | 127 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 l10n/zh_CN/koreader.po diff --git a/l10n/zh_CN/koreader.po b/l10n/zh_CN/koreader.po new file mode 100644 index 000000000..054b58f37 --- /dev/null +++ b/l10n/zh_CN/koreader.po @@ -0,0 +1,127 @@ +# KOReader PATH/TO/FILE.PO +# Copyright (C) 2005-2013 KOReader Development Team +# +# Translators: +# Qingping Hou , 2013. +msgid "" +msgstr "" +"Project-Id-Version: KOReader\n" +"Report-Msgid-Bugs-To: https://github.com/koreader/koreader-base/issues\n" +"POT-Creation-Date: 2013-04-07 18:47+0000\n" +"PO-Revision-Date: 2013-04-07 18:50+0000\n" +"Last-Translator: houqp \n" +"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/koreader/language/zh_CN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: frontend/ui/reader/readerconfig.lua:117 +msgid "" +")\n" +"end\n" +"\n" +"function ReaderConfig:onCloseDocument()\n" +"\tself.configurable:saveSettings(self.ui.doc_settings, self.options.prefix.." +msgstr "" + +#: reader.lua:196 +msgid "-d start in debug mode" +msgstr "" + +#: reader.lua:197 +msgid "-h show this usage help" +msgstr "" + +#: frontend/ui/reader/readermenu.lua:106 +msgid "Document menu" +msgstr "" + +#: reader.lua:87 +msgid "Exit" +msgstr "退出" + +#: reader.lua:149 +msgid "FileManager" +msgstr "" + +#: frontend/ui/reader/readermenu.lua:61 +msgid "Help" +msgstr "帮助" + +#: reader.lua:17 +msgid "Home" +msgstr "" + +#: reader.lua:105 +msgid "Home menu" +msgstr "" + +#: reader.lua:202 +msgid "If you don't pass any path, the last viewed document will be opened" +msgstr "" + +#: reader.lua:199 +msgid "If you give the name of a directory instead of a file path, a file" +msgstr "" + +#: frontend/ui/reader/readermenu.lua:64 +msgid "Just kidding, this page is not implemented yet." +msgstr "" + +#: frontend/ui/reader/readermenu.lua:70 +msgid "Languages" +msgstr "语言" + +#: reader.lua:82 +msgid "Last documents" +msgstr "" + +#: frontend/ui/reader/readermenu.lua:34 +msgid "Menu" +msgstr "菜单" + +#: reader.lua:126 +msgid "No reader engine for this file" +msgstr "" + +#: reader.lua:194 +msgid "Read all the books on your E-Ink reader" +msgstr "" + +#: reader.lua:205 +msgid "See http://github.com/koreader/kindlepdfviewer for more info." +msgstr "" + +#: reader.lua:17 +msgid "Show Home Menu" +msgstr "" + +#: frontend/ui/reader/readertoc.lua:87 +msgid "Table of Contents" +msgstr "目录" + +#: frontend/ui/reader/readertoc.lua:5 +msgid "Table of contents" +msgstr "目录" + +#: reader.lua:204 +msgid "This software is licensed under the GPLv3." +msgstr "" + +#: reader.lua:200 +msgid "chooser will show up and let you select a file" +msgstr "" + +#: frontend/ui/reader/readertoc.lua:13 +msgid "show Table of Content menu" +msgstr "显示目录菜单" + +#: frontend/ui/reader/readermenu.lua:34 +msgid "show menu" +msgstr "显示菜单" + +#: reader.lua:193 +msgid "usage: ./reader.lua [OPTION] ... path" +msgstr "" From 4747cd6a8add1bfa79f9d914b73e8cf1ed752bf1 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Mon, 8 Apr 2013 03:05:32 +0800 Subject: [PATCH 15/17] add gettext related target to Makefile --- Makefile | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Makefile b/Makefile index 3452b2e4e..436b4b5e3 100644 --- a/Makefile +++ b/Makefile @@ -17,6 +17,14 @@ EMU_DIR=emu # files to copy from main directory LUA_FILES=reader.lua +# for gettext +DOMAIN=koreader +TEMPLATE_DIR=l10n/templates +KOREADER_MISC_TOOL=../misc +XGETTEXT_BIN=$(KOREADER_MISC_TOOL)/gettext/lua_xgettext.py +MO_DIR=i18n + + all: $(KOR_BASE)/koreader-base $(KOR_BASE)/extr $(KOR_BASE)/koreader-base $(KOR_BASE)/extr: @@ -71,3 +79,10 @@ customupdate: $(KOR_BASE)/koreader-base $(KOR_BASE)/extr rm -rf $(INSTALL_DIR) # @TODO write an installation script for KUAL (houqp) + +pot: + $(XGETTEXT_BIN) reader.lua `find frontend -iname "*.lua"` \ + > $(TEMPLATE_DIR)/$(DOMAIN).pot + + + From ff7f6e07408b15e365c798797e8c6089178cce07 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Mon, 8 Apr 2013 03:11:12 +0800 Subject: [PATCH 16/17] require gettext module in uimanager.lua --- frontend/ui/uimanager.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/ui/uimanager.lua b/frontend/ui/uimanager.lua index fcdae4423..b30964024 100644 --- a/frontend/ui/uimanager.lua +++ b/frontend/ui/uimanager.lua @@ -3,6 +3,7 @@ require "ui/device" require "ui/inputevent" require "ui/screen" require "debug" +require "gettext" -- initialize output module, this must be initialized before Input Screen:init() From 95b2442a49b8ba770a08c48446d08a6d466e2bdf Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Mon, 8 Apr 2013 03:21:03 +0800 Subject: [PATCH 17/17] add target to generate mo files --- Makefile | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Makefile b/Makefile index 436b4b5e3..b422d4c82 100644 --- a/Makefile +++ b/Makefile @@ -84,5 +84,12 @@ pot: $(XGETTEXT_BIN) reader.lua `find frontend -iname "*.lua"` \ > $(TEMPLATE_DIR)/$(DOMAIN).pot +mo: + for po in `find l10n -iname '*.po'`; do \ + resource=`basename $$po .po` ; \ + lingua=`dirname $$po | xargs basename` ; \ + mkdir -p $(MO_DIR)/$$lingua/LC_MESSAGES/ ; \ + msgfmt -o $(MO_DIR)/$$lingua/LC_MESSAGES/$$resource.mo $$po ; \ + done