mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
add 'Check update' menu and OTA update functionality
This commit is contained in:
25
Makefile
25
Makefile
@@ -59,6 +59,7 @@ endif
|
||||
mkdir -p $(INSTALL_DIR)/koreader/data/dict
|
||||
mkdir -p $(INSTALL_DIR)/koreader/data/tessdata
|
||||
mkdir -p $(INSTALL_DIR)/koreader/fonts/host
|
||||
mkdir -p $(INSTALL_DIR)/koreader/ota
|
||||
ifndef EMULATE_READER
|
||||
# clean up, remove unused files for releases
|
||||
rm -rf $(INSTALL_DIR)/koreader/data/{cr3.ini,cr3skin-format.txt,desktop,devices,manual}
|
||||
@@ -109,8 +110,19 @@ endif
|
||||
zip -9 -r \
|
||||
../koreader-kindle-$(MACHINE)-$(VERSION).zip \
|
||||
extensions koreader $(KINDLE_LEGACY_LAUNCHER) \
|
||||
-x "koreader/resources/fonts/*" \
|
||||
-x "koreader/resources/fonts/*" "koreader/ota/*" \
|
||||
"koreader/resources/icons/src/*" "koreader/spec/*"
|
||||
# generate kindleupdate package index file
|
||||
zipinfo -1 koreader-kindle-$(MACHINE)-$(VERSION).zip > \
|
||||
$(INSTALL_DIR)/koreader/ota/package.index
|
||||
echo "koreader/ota/package.index" >> $(INSTALL_DIR)/koreader/ota/package.index
|
||||
# update index file in zip package
|
||||
cd $(INSTALL_DIR) && zip -u ../koreader-kindle-$(MACHINE)-$(VERSION).zip \
|
||||
koreader/ota/package.index
|
||||
# make gzip kindleupdate for zsync OTA update
|
||||
cd $(INSTALL_DIR) && \
|
||||
tar czafh ../koreader-kindle-$(MACHINE)-$(VERSION).tar.gz \
|
||||
-T koreader/ota/package.index --no-recursion
|
||||
|
||||
koboupdate: all
|
||||
# ensure that the binaries were built for ARM
|
||||
@@ -134,6 +146,17 @@ koboupdate: all
|
||||
KoboRoot.tgz koreader koreader.png README_kobo.txt \
|
||||
-x "koreader/resources/fonts/*" \
|
||||
"koreader/resources/icons/src/*" "koreader/spec/*"
|
||||
# generate koboupdate package index file
|
||||
zipinfo -1 koreader-kobo-$(MACHINE)-$(VERSION).zip > \
|
||||
$(INSTALL_DIR)/koreader/ota/package.index
|
||||
echo "koreader/ota/package.index" >> $(INSTALL_DIR)/koreader/ota/package.index
|
||||
# update index file in zip package
|
||||
cd $(INSTALL_DIR) && zip -u ../koreader-kobo-$(MACHINE)-$(VERSION).zip \
|
||||
koreader/ota/package.index
|
||||
# make gzip koboupdate for zsync OTA update
|
||||
cd $(INSTALL_DIR) && \
|
||||
tar czafh ../koreader-kobo-$(MACHINE)-$(VERSION).tar.gz \
|
||||
-T koreader/ota/package.index --no-recursion
|
||||
|
||||
androidupdate: all
|
||||
mkdir -p $(ANDROID_LAUNCHER_DIR)/assets/module
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
local CenterContainer = require("ui/widget/container/centercontainer")
|
||||
local TouchMenu = require("ui/widget/touchmenu")
|
||||
local InputContainer = require("ui/widget/container/inputcontainer")
|
||||
local ConfirmBox = require("ui/widget/confirmbox")
|
||||
local TouchMenu = require("ui/widget/touchmenu")
|
||||
local InfoMessage = require("ui/widget/infomessage")
|
||||
local OTAManager = require("ui/otamanager")
|
||||
local UIManager = require("ui/uimanager")
|
||||
local Device = require("ui/device")
|
||||
local GestureRange = require("ui/gesturerange")
|
||||
@@ -136,6 +138,26 @@ function FileManagerMenu:setUpdateItemTable()
|
||||
table.insert(self.tab_item_table.setting, Language:getLangMenuTable())
|
||||
|
||||
-- info tab
|
||||
table.insert(self.tab_item_table.info, {
|
||||
text = _("Check update"),
|
||||
callback = function()
|
||||
local ota_version = OTAManager:checkUpdate()
|
||||
if ota_version == 0 then
|
||||
UIManager:show(InfoMessage:new{
|
||||
text = _("Your koreader is updated."),
|
||||
})
|
||||
elseif ota_version == nil then
|
||||
UIManager:show(InfoMessage:new{
|
||||
text = _("OTA server is not available."),
|
||||
})
|
||||
elseif ota_version then
|
||||
UIManager:show(ConfirmBox:new{
|
||||
text = _("Do you want to update to version ")..ota_version.."?",
|
||||
ok_callback = function() OTAManager:zsync() end
|
||||
})
|
||||
end
|
||||
end
|
||||
})
|
||||
table.insert(self.tab_item_table.info, {
|
||||
text = _("Version"),
|
||||
callback = function()
|
||||
|
||||
@@ -2,8 +2,10 @@ local InputContainer = require("ui/widget/container/inputcontainer")
|
||||
local CenterContainer = require("ui/widget/container/centercontainer")
|
||||
local InfoMessage = require("ui/widget/infomessage")
|
||||
local InputDialog = require("ui/widget/inputdialog")
|
||||
local ConfirmBox = require("ui/widget/confirmbox")
|
||||
local TouchMenu = require("ui/widget/touchmenu")
|
||||
local GestureRange = require("ui/gesturerange")
|
||||
local OTAManager = require("ui/otamanager")
|
||||
local UIManager = require("ui/uimanager")
|
||||
local Device = require("ui/device")
|
||||
local Geom = require("ui/geometry")
|
||||
@@ -136,6 +138,26 @@ function ReaderMenu:setUpdateItemTable()
|
||||
table.insert(self.tab_item_table.setting, Language:getLangMenuTable())
|
||||
|
||||
-- info tab
|
||||
table.insert(self.tab_item_table.info, {
|
||||
text = _("Check update"),
|
||||
callback = function()
|
||||
local ota_version = OTAManager:checkUpdate()
|
||||
if ota_version == 0 then
|
||||
UIManager:show(InfoMessage:new{
|
||||
text = _("Your koreader is updated."),
|
||||
})
|
||||
elseif ota_version == nil then
|
||||
UIManager:show(InfoMessage:new{
|
||||
text = _("OTA server is not available."),
|
||||
})
|
||||
elseif ota_version then
|
||||
UIManager:show(ConfirmBox:new{
|
||||
text = _("Do you want to update to version ")..ota_version.."?",
|
||||
ok_callback = function() OTAManager:zsync() end
|
||||
})
|
||||
end
|
||||
end
|
||||
})
|
||||
table.insert(self.tab_item_table.info, {
|
||||
text = _("Version"),
|
||||
callback = function()
|
||||
|
||||
88
frontend/ui/otamanager.lua
Normal file
88
frontend/ui/otamanager.lua
Normal file
@@ -0,0 +1,88 @@
|
||||
local Device = require("ui/device")
|
||||
local DEBUG = require("dbg")
|
||||
|
||||
local OTAManager = {
|
||||
ota_server = "http://vislab.bjmu.edu.cn/apps/koreader/ota/",
|
||||
ota_channel = "nightly", -- or "stable"
|
||||
zsync_template = "koreader-%s-latest-%s.zsync",
|
||||
installed_package = "ota/koreader.installed.tar",
|
||||
package_indexfile = "ota/package.index",
|
||||
updated_package = "ota/koreader.updated.tar",
|
||||
}
|
||||
|
||||
function OTAManager:getOTAModel()
|
||||
if Device:isKindle() then
|
||||
return "kindle"
|
||||
elseif Device:isKobo() then
|
||||
return "kobo"
|
||||
else
|
||||
return ""
|
||||
end
|
||||
end
|
||||
|
||||
function OTAManager:getOTAChannel()
|
||||
return self.ota_channel
|
||||
end
|
||||
|
||||
function OTAManager:setOTAChannel(channel)
|
||||
-- channel should be "nightly" or "stable"
|
||||
self.ota_channel = channel
|
||||
end
|
||||
|
||||
function OTAManager:getZsyncFilename()
|
||||
return self.zsync_template:format(self:getOTAModel(), self:getOTAChannel())
|
||||
end
|
||||
|
||||
function OTAManager:checkUpdate()
|
||||
local http = require("socket.http")
|
||||
local ltn12 = require("ltn12")
|
||||
|
||||
local zsync_file = self:getZsyncFilename()
|
||||
local ota_zsync_file = self.ota_server .. zsync_file
|
||||
local local_zsync_file = "ota/" .. zsync_file
|
||||
-- download zsync file from OTA server
|
||||
local r, c, h = http.request{
|
||||
url = ota_zsync_file,
|
||||
sink = ltn12.sink.file(io.open(local_zsync_file, "w"))}
|
||||
-- parse OTA package version
|
||||
if c ~= 200 then return end
|
||||
local ota_package = nil
|
||||
local zsync = io.open(local_zsync_file, "r")
|
||||
if zsync then
|
||||
for line in zsync:lines() do
|
||||
ota_package = line:match("^Filename:%s*(.-)%s*$")
|
||||
if ota_package then break end
|
||||
end
|
||||
zsync:close()
|
||||
end
|
||||
local local_version = io.open("git-rev", "r"):read()
|
||||
local ota_version = nil
|
||||
if ota_package then
|
||||
ota_version = ota_package:match(".-(v%d.-)%.tar")
|
||||
end
|
||||
-- return ota package version if package on OTA server has version
|
||||
-- larger than the local package version
|
||||
if ota_version and ota_version > local_version then
|
||||
return ota_version
|
||||
elseif ota_version and ota_version == local_version then
|
||||
return 0
|
||||
end
|
||||
end
|
||||
|
||||
function OTAManager:_buildLocalPackage()
|
||||
return os.execute(string.format(
|
||||
"./tar cvf %s -C .. -T %s --no-recursion",
|
||||
self.installed_package, self.package_indexfile))
|
||||
end
|
||||
|
||||
function OTAManager:zsync()
|
||||
if self:_buildLocalPackage() == 0 then
|
||||
return os.execute(string.format(
|
||||
"./zsync -i %s -o %s -u %s %s &",
|
||||
self.installed_package, self.updated_package,
|
||||
self.ota_server, "ota/" .. self:getZsyncFilename()
|
||||
))
|
||||
end
|
||||
end
|
||||
|
||||
return OTAManager
|
||||
@@ -76,8 +76,19 @@ if [ "$(nice)" == "5" ] ; then
|
||||
renice -n -5 $$
|
||||
fi
|
||||
|
||||
# working directory of koreader
|
||||
KOREADER_DIR=/mnt/us/koreader
|
||||
|
||||
# update to new version from OTA directory
|
||||
NEWUPDATE=${KOREADER_DIR}/ota/koreader.updated.tar
|
||||
if [ -f $NEWUPDATE ]; then
|
||||
# TODO: any graphic indication for the updating progress?
|
||||
logmsg "Updating koreader . . ."
|
||||
cd /mnt/us && tar xf $NEWUPDATE && rm $NEWUPDATE
|
||||
fi
|
||||
|
||||
# we're always starting from our working directory
|
||||
cd /mnt/us/koreader
|
||||
cd $KOREADER_DIR
|
||||
|
||||
# export trained OCR data directory
|
||||
export TESSDATA_PREFIX="data"
|
||||
@@ -91,26 +102,26 @@ iptables -A INPUT -i wlan0 -p udp --dport 5670 -j ACCEPT
|
||||
iptables -A INPUT -i wlan0 -p tcp --dport 49152:49162 -j ACCEPT
|
||||
|
||||
# bind-mount system fonts
|
||||
if ! grep /mnt/us/koreader/fonts/host /proc/mounts > /dev/null 2>&1 ; then
|
||||
if ! grep ${KOREADER_DIR}/fonts/host /proc/mounts > /dev/null 2>&1 ; then
|
||||
logmsg "Mounting system fonts . . ."
|
||||
mount -o bind /usr/java/lib/fonts /mnt/us/koreader/fonts/host
|
||||
mount -o bind /usr/java/lib/fonts ${KOREADER_DIR}/fonts/host
|
||||
fi
|
||||
|
||||
# bind-mount altfonts
|
||||
if [ -d /mnt/us/fonts ] ; then
|
||||
mkdir -p /mnt/us/koreader/fonts/altfonts
|
||||
if ! grep /mnt/us/koreader/fonts/altfonts /proc/mounts > /dev/null 2>&1 ; then
|
||||
mkdir -p ${KOREADER_DIR}/fonts/altfonts
|
||||
if ! grep ${KOREADER_DIR}/fonts/altfonts /proc/mounts > /dev/null 2>&1 ; then
|
||||
logmsg "Mounting altfonts . . ."
|
||||
mount -o bind /mnt/us/fonts /mnt/us/koreader/fonts/altfonts
|
||||
mount -o bind /mnt/us/fonts ${KOREADER_DIR}/fonts/altfonts
|
||||
fi
|
||||
fi
|
||||
|
||||
# bind-mount linkfonts
|
||||
if [ -d /mnt/us/linkfonts/fonts ] ; then
|
||||
mkdir -p /mnt/us/koreader/fonts/linkfonts
|
||||
if ! grep /mnt/us/koreader/fonts/linkfonts /proc/mounts > /dev/null 2>&1 ; then
|
||||
mkdir -p ${KOREADER_DIR}/fonts/linkfonts
|
||||
if ! grep ${KOREADER_DIR}/fonts/linkfonts /proc/mounts > /dev/null 2>&1 ; then
|
||||
logmsg "Mounting linkfonts . . ."
|
||||
mount -o bind /mnt/us/linkfonts/fonts /mnt/us/koreader/fonts/linkfonts
|
||||
mount -o bind /mnt/us/linkfonts/fonts ${KOREADER_DIR}/fonts/linkfonts
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -172,21 +183,21 @@ if pidof reader.lua > /dev/null 2>&1 ; then
|
||||
fi
|
||||
|
||||
# unmount system fonts
|
||||
if grep /mnt/us/koreader/fonts/host /proc/mounts > /dev/null 2>&1 ; then
|
||||
if grep ${KOREADER_DIR}/fonts/host /proc/mounts > /dev/null 2>&1 ; then
|
||||
logmsg "Unmounting system fonts . . ."
|
||||
umount /mnt/us/koreader/fonts/host
|
||||
umount ${KOREADER_DIR}/fonts/host
|
||||
fi
|
||||
|
||||
# unmount altfonts
|
||||
if grep /mnt/us/koreader/fonts/altfonts /proc/mounts > /dev/null 2>&1 ; then
|
||||
if grep ${KOREADER_DIR}/fonts/altfonts /proc/mounts > /dev/null 2>&1 ; then
|
||||
logmsg "Unmounting altfonts . . ."
|
||||
umount /mnt/us/koreader/fonts/altfonts
|
||||
umount ${KOREADER_DIR}/fonts/altfonts
|
||||
fi
|
||||
|
||||
# unmount linkfonts
|
||||
if grep /mnt/us/koreader/fonts/linkfonts /proc/mounts > /dev/null 2>&1 ; then
|
||||
if grep ${KOREADER_DIR}/fonts/linkfonts /proc/mounts > /dev/null 2>&1 ; then
|
||||
logmsg "Unmounting linkfonts . . ."
|
||||
umount /mnt/us/koreader/fonts/linkfonts
|
||||
umount ${KOREADER_DIR}/fonts/linkfonts
|
||||
fi
|
||||
|
||||
# Resume cvm (only if we stopped it)
|
||||
|
||||
@@ -1,8 +1,19 @@
|
||||
#!/bin/sh
|
||||
export LC_ALL="en_US.UTF-8"
|
||||
|
||||
# working directory of koreader
|
||||
KOREADER_DIR=/mnt/onboard/.kobo/koreader
|
||||
|
||||
# update to new version from OTA directory
|
||||
NEWUPDATE=${KOREADER_DIR}/ota/koreader.updated.tar
|
||||
if [ -f $NEWUPDATE ]; then
|
||||
# TODO: any graphic indication for the updating progress?
|
||||
logmsg "Updating koreader . . ."
|
||||
cd /mnt/onboard/.kobo && tar xf $NEWUPDATE && rm $NEWUPDATE
|
||||
fi
|
||||
|
||||
# we're always starting from our working directory
|
||||
cd /mnt/onboard/.kobo/koreader/
|
||||
cd $KOREADER_DIR
|
||||
|
||||
# export trained OCR data directory
|
||||
export TESSDATA_PREFIX="data"
|
||||
|
||||
Submodule koreader-base updated: 87d869223a...d68bae7862
@@ -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: 2014-07-27 13:41+0000\n"
|
||||
"POT-Creation-Date: 2014-08-01 04:35+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"
|
||||
@@ -17,9 +17,9 @@ msgid ""
|
||||
" others."
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/reader/modules/readermenu.lua:175
|
||||
#: frontend/apps/reader/modules/readermenu.lua:181
|
||||
#: frontend/apps/reader/modules/readermenu.lua:187
|
||||
#: frontend/apps/reader/modules/readermenu.lua:197
|
||||
#: frontend/apps/reader/modules/readermenu.lua:203
|
||||
#: frontend/apps/reader/modules/readermenu.lua:209
|
||||
msgid ""
|
||||
" pages"
|
||||
msgstr ""
|
||||
@@ -65,8 +65,8 @@ msgid ""
|
||||
"Apply"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:103
|
||||
#: frontend/apps/reader/modules/readermenu.lua:94
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:105
|
||||
#: frontend/apps/reader/modules/readermenu.lua:96
|
||||
#: frontend/apps/reader/modules/readertypeset.lua:66
|
||||
msgid ""
|
||||
"Auto"
|
||||
@@ -83,7 +83,7 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/reader/modules/readergoto.lua:36
|
||||
#: frontend/apps/reader/modules/readermenu.lua:208
|
||||
#: frontend/apps/reader/modules/readermenu.lua:230
|
||||
#: frontend/ui/widget/confirmbox.lua:29
|
||||
#: plugins/evernote.koplugin/main.lua:124
|
||||
#: plugins/zsync.koplugin/main.lua:279
|
||||
@@ -101,6 +101,12 @@ msgid ""
|
||||
"Change font"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:142
|
||||
#: frontend/apps/reader/modules/readermenu.lua:142
|
||||
msgid ""
|
||||
"Check update"
|
||||
msgstr ""
|
||||
|
||||
#: plugins/zsync.koplugin/main.lua:226
|
||||
#: plugins/zsync.koplugin/main.lua:236
|
||||
msgid ""
|
||||
@@ -127,9 +133,9 @@ msgid ""
|
||||
"Copy"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/reader/modules/readermenu.lua:175
|
||||
#: frontend/apps/reader/modules/readermenu.lua:181
|
||||
#: frontend/apps/reader/modules/readermenu.lua:187
|
||||
#: frontend/apps/reader/modules/readermenu.lua:197
|
||||
#: frontend/apps/reader/modules/readermenu.lua:203
|
||||
#: frontend/apps/reader/modules/readermenu.lua:209
|
||||
msgid ""
|
||||
"Custom "
|
||||
msgstr ""
|
||||
@@ -176,17 +182,23 @@ msgid ""
|
||||
"Do you want to Turn on Wifi?"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:155
|
||||
#: frontend/apps/reader/modules/readermenu.lua:155
|
||||
msgid ""
|
||||
"Do you want to update to version "
|
||||
msgstr ""
|
||||
|
||||
#: frontend/ui/data/strings.lua:17
|
||||
msgid ""
|
||||
"Document Language"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/reader/modules/readermenu.lua:265
|
||||
#: frontend/apps/reader/modules/readermenu.lua:287
|
||||
msgid ""
|
||||
"Document menu"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/reader/modules/readermenu.lua:162
|
||||
#: frontend/apps/reader/modules/readermenu.lua:184
|
||||
msgid ""
|
||||
"E-ink full refresh rate"
|
||||
msgstr ""
|
||||
@@ -223,12 +235,12 @@ msgid ""
|
||||
"Evernote"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/reader/modules/readermenu.lua:170
|
||||
#: frontend/apps/reader/modules/readermenu.lua:192
|
||||
msgid ""
|
||||
"Every 6 pages"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/reader/modules/readermenu.lua:165
|
||||
#: frontend/apps/reader/modules/readermenu.lua:187
|
||||
msgid ""
|
||||
"Every page"
|
||||
msgstr ""
|
||||
@@ -254,7 +266,7 @@ msgid ""
|
||||
"File does not exist"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:180
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:202
|
||||
msgid ""
|
||||
"File manager menu"
|
||||
msgstr ""
|
||||
@@ -279,8 +291,8 @@ msgid ""
|
||||
"Font Weight"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:100
|
||||
#: frontend/apps/reader/modules/readermenu.lua:91
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:102
|
||||
#: frontend/apps/reader/modules/readermenu.lua:93
|
||||
msgid ""
|
||||
"Font size"
|
||||
msgstr ""
|
||||
@@ -325,8 +337,8 @@ msgid ""
|
||||
"Go to Page or Location"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:148
|
||||
#: frontend/apps/reader/modules/readermenu.lua:148
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:170
|
||||
#: frontend/apps/reader/modules/readermenu.lua:170
|
||||
msgid ""
|
||||
"Help"
|
||||
msgstr ""
|
||||
@@ -362,7 +374,7 @@ msgid ""
|
||||
"Indentation"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/reader/modules/readermenu.lua:203
|
||||
#: frontend/apps/reader/modules/readermenu.lua:225
|
||||
msgid ""
|
||||
"Input page number for a full refresh"
|
||||
msgstr ""
|
||||
@@ -387,8 +399,8 @@ msgid ""
|
||||
"Language"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:127
|
||||
#: frontend/apps/reader/modules/readermenu.lua:118
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:129
|
||||
#: frontend/apps/reader/modules/readermenu.lua:120
|
||||
msgid ""
|
||||
"Large"
|
||||
msgstr ""
|
||||
@@ -434,8 +446,8 @@ msgid ""
|
||||
"Logout"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:119
|
||||
#: frontend/apps/reader/modules/readermenu.lua:110
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:121
|
||||
#: frontend/apps/reader/modules/readermenu.lua:112
|
||||
msgid ""
|
||||
"Medium"
|
||||
msgstr ""
|
||||
@@ -445,8 +457,8 @@ msgid ""
|
||||
"More"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:89
|
||||
#: frontend/apps/reader/modules/readermenu.lua:82
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:91
|
||||
#: frontend/apps/reader/modules/readermenu.lua:84
|
||||
msgid ""
|
||||
"Night mode"
|
||||
msgstr ""
|
||||
@@ -467,12 +479,18 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/reader/modules/readerfrontlight.lua:115
|
||||
#: frontend/apps/reader/modules/readermenu.lua:214
|
||||
#: frontend/apps/reader/modules/readermenu.lua:236
|
||||
#: frontend/ui/widget/confirmbox.lua:28
|
||||
msgid ""
|
||||
"OK"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:151
|
||||
#: frontend/apps/reader/modules/readermenu.lua:151
|
||||
msgid ""
|
||||
"OTA server is not available."
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/reader/modules/readertypeset.lua:150
|
||||
msgid ""
|
||||
"Off"
|
||||
@@ -513,8 +531,8 @@ msgid ""
|
||||
"Paste"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:151
|
||||
#: frontend/apps/reader/modules/readermenu.lua:151
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:173
|
||||
#: frontend/apps/reader/modules/readermenu.lua:173
|
||||
msgid ""
|
||||
"Please report bugs to \n"
|
||||
"https://github.com/koreader/koreader/issues"
|
||||
@@ -615,12 +633,12 @@ msgid ""
|
||||
"Share"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/reader/modules/readermenu.lua:129
|
||||
#: frontend/apps/reader/modules/readermenu.lua:131
|
||||
msgid ""
|
||||
"Show advanced options"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:67
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:69
|
||||
msgid ""
|
||||
"Show hidden files"
|
||||
msgstr ""
|
||||
@@ -630,13 +648,13 @@ msgid ""
|
||||
"Show page overlap"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:111
|
||||
#: frontend/apps/reader/modules/readermenu.lua:102
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:113
|
||||
#: frontend/apps/reader/modules/readermenu.lua:104
|
||||
msgid ""
|
||||
"Small"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:75
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:77
|
||||
msgid ""
|
||||
"Start with last opened file"
|
||||
msgstr ""
|
||||
@@ -716,8 +734,8 @@ msgid ""
|
||||
"Underscore"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:140
|
||||
#: frontend/apps/reader/modules/readermenu.lua:140
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:162
|
||||
#: frontend/apps/reader/modules/readermenu.lua:162
|
||||
msgid ""
|
||||
"Version"
|
||||
msgstr ""
|
||||
@@ -752,6 +770,12 @@ msgid ""
|
||||
"Yinxiang"
|
||||
msgstr ""
|
||||
|
||||
#: frontend/apps/filemanager/filemanagermenu.lua:147
|
||||
#: frontend/apps/reader/modules/readermenu.lua:147
|
||||
msgid ""
|
||||
"Your koreader is updated."
|
||||
msgstr ""
|
||||
|
||||
#: plugins/zsync.koplugin/main.lua:42
|
||||
msgid ""
|
||||
"ZSync"
|
||||
|
||||
Reference in New Issue
Block a user