Merge pull request #818 from chrox/master

enable Wikipedia support
pull/823/head
Qingping Hou 10 years ago
commit 63b6d25f72

@ -12,6 +12,7 @@ local ReaderDictionary = EventListener:new{}
function ReaderDictionary:onLookupWord(word, box, highlight)
self.highlight = highlight
self:stardictLookup(word, box)
return true
end
function ReaderDictionary:stardictLookup(word, box)
@ -29,7 +30,7 @@ function ReaderDictionary:stardictLookup(word, box)
local ok, results = pcall(JSON.decode, JSON, results_str)
if ok and results then
DEBUG("lookup result table:", word, results)
self:showDict(results, box)
self:showDict(word, results, box)
else
-- dummy results
results = {
@ -40,41 +41,26 @@ function ReaderDictionary:stardictLookup(word, box)
}
}
DEBUG("dummy result table:", word, results)
self:showDict(results, box)
self:showDict(word, results, box)
end
end
end
function ReaderDictionary:showDict(results, box)
function ReaderDictionary:showDict(word, results, box)
if results and results[1] then
DEBUG("showing quick lookup dictionary window")
local align = "center"
local region = Geom:new{
x = 0, y = 0,
w = Screen:getWidth(),
h = Screen:getHeight(),
}
if box then
if box.y + box.h/2 < Screen:getHeight()/2 then
region.y = box.y + box.h
region.h = Screen:getHeight() - box.y - box.h
align = "top"
else
region.y = 0
region.h = box.y
align = "bottom"
end
end
DEBUG("showing quick lookup window")
UIManager:show(DictQuickLookup:new{
ui = self.ui,
highlight = self.highlight,
dialog = self.dialog,
-- original lookup word
word = word,
results = results,
dictionary = self.default_dictionary,
width = Screen:getWidth() - Screen:scaleByDPI(80),
height = math.min(region.h*0.7, Screen:getHeight()*0.5),
region = region,
align = align,
word_box = box,
-- differentiate between dict and wiki
wiki = self.wiki,
})
end
end
@ -82,6 +68,7 @@ end
function ReaderDictionary:onUpdateDefaultDict(dict)
DEBUG("make default dictionary:", dict)
self.default_dictionary = dict
return true
end
function ReaderDictionary:onReadSettings(config)

@ -294,8 +294,7 @@ function ReaderHighlight:onHoldRelease()
text = _("Highlight"),
callback = function()
self:saveHighlight()
UIManager:close(self.highlight_dialog)
self:handleEvent(Event:new("Tap"))
self:onClose()
end,
},
{
@ -303,39 +302,43 @@ function ReaderHighlight:onHoldRelease()
enabled = false,
callback = function()
self:addNote()
UIManager:close(self.highlight_dialog)
self:handleEvent(Event:new("Tap"))
self:onClose()
end,
},
},
{
{
text = _("Wikipedia"),
callback = function()
UIManager:scheduleIn(0.1, function()
self:lookupWikipedia()
end)
end,
},
{
text = _("Translate"),
enabled = false,
callback = function()
self:translate(self.selected_text)
UIManager:close(self.highlight_dialog)
self:handleEvent(Event:new("Tap"))
self:onClose()
end,
},
},
{
{
text = _("Share"),
enabled = false,
callback = function()
self:shareHighlight()
UIManager:close(self.highlight_dialog)
self:handleEvent(Event:new("Tap"))
self:onClose()
end,
},
},
{
{
text = _("More"),
enabled = false,
callback = function()
self:moreAction()
UIManager:close(self.highlight_dialog)
self:handleEvent(Event:new("Tap"))
self:onClose()
end,
},
},
@ -411,6 +414,12 @@ function ReaderHighlight:addNote()
DEBUG("add Note")
end
function ReaderHighlight:lookupWikipedia()
if self.selected_text then
self.ui:handleEvent(Event:new("LookupWikipedia", self.selected_text.text))
end
end
function ReaderHighlight:shareHighlight()
DEBUG("share highlight")
end
@ -436,4 +445,10 @@ function ReaderHighlight:onSaveSettings()
self.ui.doc_settings:saveSetting("highlight_drawer", self.view.highlight.saved_drawer)
end
function ReaderHighlight:onClose()
UIManager:close(self.highlight_dialog)
-- clear highlighted text
self:handleEvent(Event:new("Tap"))
end
return ReaderHighlight

@ -0,0 +1,63 @@
local ReaderDictionary = require("apps/reader/modules/readerdictionary")
local EventListener = require("ui/widget/eventlistener")
local NetworkMgr = require("ui/networkmgr")
local Translator = require("ui/translator")
local Wikipedia = require("ui/wikipedia")
local UIManager = require("ui/uimanager")
local Geom = require("ui/geometry")
local Screen = require("ui/screen")
local JSON = require("JSON")
local DEBUG = require("dbg")
local _ = require("gettext")
-- Wikipedia as a special dictionary
local ReaderWikipedia = ReaderDictionary:new{
-- identify itself
wiki = true,
no_page = _("No wiki page found."),
}
function ReaderWikipedia:onLookupWikipedia(word, box)
-- detect language of the text
local ok, lang = pcall(Translator.detect, Translator, word)
-- prompt users to turn on Wifi if network is unreachable
if not ok and lang and lang:find("Network is unreachable") then
NetworkMgr:promptWifiOn()
return
end
-- convert "zh-CN" and "zh-TW" to "zh"
lang = lang:match("(.*)-") or lang
-- strip punctuation characters around selected word
word = string.gsub(word, "^%p+", '')
word = string.gsub(word, "%p+$", '')
-- seems lower case phrase has higher hit rate
word = string.lower(word)
local results = {}
local ok, pages = pcall(Wikipedia.wikintro, Wikipedia, word, lang)
if ok and pages then
for pageid, page in pairs(pages) do
local result = {
dict = _("Wikipedia"),
word = page.title,
definition = page.extract or self.no_page,
}
table.insert(results, result)
end
DEBUG("lookup result:", word, results)
self:showDict(word, results, box)
else
DEBUG("error:", pages)
-- dummy results
results = {
{
dict = _("Wikipedia"),
word = word,
definition = self.no_page,
}
}
DEBUG("dummy result table:", word, results)
self:showDict(word, results, box)
end
end
return ReaderWikipedia

@ -29,6 +29,7 @@ local ReaderHighlight = require("apps/reader/modules/readerhighlight")
local ReaderScreenshot = require("apps/reader/modules/readerscreenshot")
local ReaderFrontLight = require("apps/reader/modules/readerfrontlight")
local ReaderDictionary = require("apps/reader/modules/readerdictionary")
local ReaderWikipedia = require("apps/reader/modules/readerwikipedia")
local ReaderHyphenation = require("apps/reader/modules/readerhyphenation")
local ReaderActivityIndicator = require("apps/reader/modules/readeractivityindicator")
local ReaderLink = require("apps/reader/modules/readerlink")
@ -142,6 +143,13 @@ function ReaderUI:init()
ui = self,
document = self.document,
})
-- wikipedia
table.insert(self, ReaderWikipedia:new{
dialog = self.dialog,
view = self[1],
ui = self,
document = self.document,
})
-- screenshot controller
table.insert(self.active_widgets, ReaderScreenshot:new{
dialog = self.dialog,

@ -171,10 +171,6 @@ function Screen:scaleByDPI(px)
return math.ceil(px * self:getDPI()/167)
end
function Screen:rescaleByDPI(px)
return math.ceil(px * 167/self:getDPI())
end
function Screen:getRotationMode()
return self.cur_rotation_mode
end

@ -54,6 +54,8 @@ function Font:getFace(font, size)
font = self.cfont
end
-- original size before scaling by screen DPI
local orig_size = size
local size = Screen:scaleByDPI(size)
local face = self.faces[font..size]
@ -72,7 +74,7 @@ function Font:getFace(font, size)
self.faces[font..size] = face
--DEBUG("getFace, found: "..realname.." size:"..size)
end
return { size = size, ftface = face, hash = font..size }
return { size = size, orig_size = orig_size, ftface = face, hash = font..size }
end
function Font:_readList(target, dir, effective_dir)

@ -19,20 +19,20 @@ local function kindleEnableWifi(toggle)
end
local function koboEnableWifi(toggle)
if toggle == 1
local path = "/etc/wpa_supplicant/wpa_supplicant.conf"
os.execute("insmod /drivers/ntx508/wifi/sdio_wifi_pwr.ko 2>/dev/null")
os.execute("insmod /drivers/ntx508/wifi/dhd.ko")
os.execute("ifconfig eth0 up")
os.execute("wlarm_le -i eth0 up")
os.execute("wpa_supplicant -s -i eth0 -c "..path.." -C /var/run/wpa_supplicant -B")
os.execute("udhcpc -S -i eth0 -s /etc/udhcpc.d/default.script -t15 -T10 -A3 -b -q >/dev/null 2>&1")
if toggle == 1 then
local path = "/etc/wpa_supplicant/wpa_supplicant.conf"
os.execute("insmod /drivers/ntx508/wifi/sdio_wifi_pwr.ko 2>/dev/null")
os.execute("insmod /drivers/ntx508/wifi/dhd.ko")
os.execute("ifconfig eth0 up")
os.execute("wlarm_le -i eth0 up")
os.execute("wpa_supplicant -s -i eth0 -c "..path.." -C /var/run/wpa_supplicant -B")
os.execute("udhcpc -S -i eth0 -s /etc/udhcpc.d/default.script -t15 -T10 -A3 -b -q >/dev/null 2>&1")
else
os.execute("killall udhcpc wpa_supplicant 2>/dev/null")
os.execute("wlarm_le -i eth0 down")
os.execute("ifconfig eth0 down")
os.execute("rmmod -r dhd")
os.execute("rmmod -r sdio_wifi_pwr")
os.execute("killall udhcpc wpa_supplicant 2>/dev/null")
os.execute("wlarm_le -i eth0 down")
os.execute("ifconfig eth0 down")
os.execute("rmmod -r dhd")
os.execute("rmmod -r sdio_wifi_pwr")
end
end

@ -1,5 +1,6 @@
local InfoMessage = require("ui/widget/infomessage")
local ConfirmBox = require("ui/widget/confirmbox")
local NetworkMgr = require("ui/networkmgr")
local UIManager = require("ui/uimanager")
local Device = require("ui/device")
local DEBUG = require("dbg")
@ -63,8 +64,13 @@ function OTAManager:checkUpdate()
local r, c, h = http.request{
url = ota_zsync_file,
sink = ltn12.sink.file(io.open(local_zsync_file, "w"))}
-- parse OTA package version
-- prompt users to turn on Wifi if network is unreachable
if h == nil then
NetworkMgr:promptWifiOn()
return
end
if c ~= 200 then return end
-- parse OTA package version
local ota_package = nil
local zsync = io.open(local_zsync_file, "r")
if zsync then

@ -73,8 +73,8 @@ function RenderText:getGlyph(face, charcode, bold, bgcolor, fgcolor)
local rendered_glyph = face.ftface:renderGlyph(charcode, bgcolor, fgcolor, bold)
if face.ftface:checkGlyph(charcode) == 0 then
for index, font in pairs(Font.fallbacks) do
-- rescale face size by DPI since it will be scaled in getFace again
local fb_face = Font:getFace(font, Screen:rescaleByDPI(face.size))
-- use original size before scaling by screen DPI
local fb_face = Font:getFace(font, face.orig_size)
if fb_face.ftface:checkGlyph(charcode) ~= 0 then
rendered_glyph = fb_face.ftface:renderGlyph(charcode, bgcolor, fgcolor, bold)
--DEBUG("fallback to font", font)

@ -0,0 +1,87 @@
local socket = require('socket')
local url = require('socket.url')
local http = require('socket.http')
local https = require('ssl.https')
local ltn12 = require('ltn12')
local JSON = require("JSON")
local DEBUG = require("dbg")
--[[
-- Translate text using Google Translate.
-- http://translate.google.com/translate_a/t?client=z&ie=UTF-8&oe=UTF-8&hl=en&tl=en&text=hello
--]]
local Translator = {
trans_servers = {
"http://translate.google.cn",
"http://translate.google.com",
},
trans_path = "/translate_a/t",
trans_params = {
client = "z", -- client z returns normal JSON result
ie = "UTF-8",
oe = "UTF-8",
hl = "en",
tl = "en",
sl = nil, -- we don't specify source languagae to detect language
},
default_lang = "en",
}
function Translator:getTransServer()
return G_reader_settings:readSetting("trans_server") or self.trans_servers[1]
end
--[[
-- return decoded JSON table from translate server
--]]
function Translator:loadPage(target_lang, source_lang, text)
local request, sink = {}, {}
local query = ""
self.trans_params.tl = target_lang
self.trans_params.sl = source_lang
for k,v in pairs(self.trans_params) do
query = query .. k .. '=' .. v .. '&'
end
local parsed = url.parse(self:getTransServer())
parsed.path = self.trans_path
parsed.query = query .. "text=" .. url.escape(text)
-- HTTP request
request['url'] = url.build(parsed)
request['method'] = 'GET'
request['sink'] = ltn12.sink.table(sink)
DEBUG("request", request)
http.TIMEOUT, https.TIMEOUT = 10, 10
local httpRequest = parsed.scheme == 'http' and http.request or https.request
local code, headers, status = socket.skip(1, httpRequest(request))
-- raise error message when network is unavailable
if headers == nil then
error("Network is unreachable")
end
local content = table.concat(sink)
if content ~= "" then
local ok, result = pcall(JSON.decode, JSON, content)
if ok and result then
--DEBUG("translate result", result)
return result
else
DEBUG("error:", result)
end
end
end
function Translator:detect(text)
local result = self:loadPage("en", nil, text)
if result then
local src_lang = result.src
DEBUG("detected language:", src_lang)
return src_lang
else
return self.default_lang
end
end
return Translator

@ -249,7 +249,9 @@ function UIManager:setDirty(widget, refresh_type)
if not refresh_type then
refresh_type = "auto"
end
self._dirty[widget] = refresh_type
if widget then
self._dirty[widget] = refresh_type
end
end
function UIManager:insertZMQ(zeromq)

@ -147,7 +147,7 @@ function Button:showHide(show)
end
function Button:onTapSelect()
if self.enabled then
if self.enabled and self.callback then
self[1].invert = true
UIManager:setDirty(self.show_parent, "partial")
UIManager:scheduleIn(0.1, function()

@ -37,6 +37,8 @@ local DictQuickLookup = InputContainer:new{
content_face = Font:getFace("cfont", DDICT_FONT_SIZE),
width = nil,
height = nil,
-- box of highlighted word, quick lookup window tries to not hide the word
word_box = nil,
title_padding = Screen:scaleByDPI(5),
title_margin = Screen:scaleByDPI(2),
@ -85,6 +87,26 @@ function DictQuickLookup:init()
end
function DictQuickLookup:update()
-- calculate window dimension and try to not hide highlighted word
self.align = "center"
self.region = Geom:new{
x = 0, y = 0,
w = Screen:getWidth(),
h = Screen:getHeight(),
}
if self.word_box then
local box = self.word_box
if box.y + box.h/2 < Screen:getHeight()/2 then
self.region.y = box.y + box.h
self.region.h = Screen:getHeight() - box.y - box.h
self.align = "top"
else
self.region.y = 0
self.region.h = box.y
self.align = "bottom"
end
end
self.height = math.min(self.region.h*0.7, Screen:getHeight()*0.5)
-- dictionary title
self.dict_title = FrameContainer:new{
padding = self.title_padding,
@ -150,9 +172,10 @@ function DictQuickLookup:update()
{
{
text = _("Wikipedia"),
enabled = false,
callback = function()
self.ui:handleEvent(Event:new("HighlightWiki"))
UIManager:scheduleIn(0.1, function()
self:lookupWikipedia()
end)
end,
},
{
@ -225,7 +248,7 @@ function DictQuickLookup:update()
}
self[1] = WidgetContainer:new{
align = self.align,
dimen = self.region:copy(),
dimen = self.region,
FrameContainer:new{
bordersize = 0,
padding = Screen:scaleByDPI(5),
@ -336,6 +359,7 @@ function DictQuickLookup:lookupInputWord(hint)
self:onClose()
self.input_dialog = InputDialog:new{
title = _("Input lookup word"),
input = hint,
input_hint = hint or "",
input_type = "text",
buttons = {
@ -369,7 +393,8 @@ end
function DictQuickLookup:inputLookup()
local word = self.input_dialog:getInputText()
if word and word ~= "" then
self.ui:handleEvent(Event:new("LookupWord", word))
local event = self.wiki and "LookupWikipedia" or "LookupWord"
self.ui:handleEvent(Event:new(event, word))
end
end
@ -378,4 +403,8 @@ function DictQuickLookup:closeInputDialog()
UIManager:close(self.input_dialog)
end
function DictQuickLookup:lookupWikipedia()
self.ui:handleEvent(Event:new("LookupWikipedia", self.word, self.word_box))
end
return DictQuickLookup

@ -151,6 +151,12 @@ function InputText:delChar()
UIManager:setDirty(self.parent, "partial")
end
function InputText:clear()
self.text = ""
self:initTextBox()
UIManager:setDirty(self.parent, "partial")
end
function InputText:getText()
return self.text
end

@ -41,6 +41,7 @@ function VirtualKey:init()
self.callback = function () self.keyboard:setLayout(self.key or self.label) end
elseif self.label == "Backspace" then
self.callback = function () self.keyboard:delChar() end
self.hold_callback = function () self.keyboard:clear() end
else
self.callback = function () self.keyboard:addChar(self.key) end
end
@ -83,6 +84,12 @@ function VirtualKey:init()
range = self.dimen,
},
},
HoldSelect = {
GestureRange:new{
ges = "hold",
range = self.dimen,
},
},
}
end
end
@ -96,6 +103,15 @@ function VirtualKey:onTapSelect()
return true
end
function VirtualKey:onHoldSelect()
self[1].invert = true
if self.hold_callback then
self.hold_callback()
end
UIManager:scheduleIn(0.5, function() self:invert(false) end)
return true
end
function VirtualKey:invert(invert)
self[1].invert = invert
UIManager:setDirty(self.keyboard, "partial")
@ -191,7 +207,7 @@ function VirtualKeyboard:init()
for i = 1, string.len(GLOBAL_INPUT_VALUE) do
self:addChar(string.sub(GLOBAL_INPUT_VALUE,i,i))
end
end
end
end
function VirtualKeyboard:initLayout(layout)
@ -303,4 +319,11 @@ function VirtualKeyboard:delChar()
UIManager:setDirty(self.inputbox, "partial")
end
function VirtualKeyboard:clear()
DEBUG("clear input")
self.inputbox:clear()
UIManager:setDirty(self, "partial")
UIManager:setDirty(self.inputbox, "partial")
end
return VirtualKeyboard

@ -0,0 +1,84 @@
local socket = require('socket')
local url = require('socket.url')
local http = require('socket.http')
local https = require('ssl.https')
local ltn12 = require('ltn12')
local JSON = require("JSON")
local DEBUG = require("dbg")
--[[
-- Query wikipedia using Wikimedia Web API.
-- http://en.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&exintro=&explaintext=&redirects=&titles=hello
--]]
local Wikipedia = {
wiki_server = "http://%s.wikipedia.org",
wiki_path = "/w/api.php",
wiki_params = {
action = "query",
prop = "extracts",
format = "json",
exintro = "",
explaintext = "",
redirects = "",
},
default_lang = "en",
}
function Wikipedia:getWikiServer(lang)
return string.format(self.wiki_server, lang or self.default_lang)
end
--[[
-- return decoded JSON table from Wikipedia
--]]
function Wikipedia:loadPage(text, lang, intro, plain)
local request, sink = {}, {}
local query = ""
self.wiki_params.exintro = intro and "" or nil
self.wiki_params.explaintext = plain and "" or nil
for k,v in pairs(self.wiki_params) do
query = query .. k .. '=' .. v .. '&'
end
local parsed = url.parse(self:getWikiServer(lang))
parsed.path = self.wiki_path
parsed.query = query .. "titles=" .. url.escape(text)
-- HTTP request
request['url'] = url.build(parsed)
request['method'] = 'GET'
request['sink'] = ltn12.sink.table(sink)
DEBUG("request", request)
http.TIMEOUT, https.TIMEOUT = 10, 10
local httpRequest = parsed.scheme == 'http' and http.request or https.request
local code, headers, status = socket.skip(1, httpRequest(request))
-- raise error message when network is unavailable
if headers == nil then
error("Network is unreachable")
end
local content = table.concat(sink)
if content ~= "" then
local ok, result = pcall(JSON.decode, JSON, content)
if ok and result then
DEBUG("wiki result", result)
return result
else
DEBUG("error:", result)
end
end
end
-- extract intro passage in wiki page
function Wikipedia:wikintro(text, lang)
local result = self:loadPage(text, lang, true, true)
if result then
local query = result.query
if query then
return query.pages
end
end
end
return Wikipedia

@ -1 +1 @@
Subproject commit 48e46a9b01eb31888cb818b3f402045025f05069
Subproject commit 1075c61f74888d0ab291c8a3d0ed55d9dde8457b

@ -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-08-19 08:01+0000\n"
"POT-Creation-Date: 2014-08-20 07:18+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,24 +17,14 @@ msgid ""
" does not exist"
msgstr ""
#: frontend/apps/filemanager/filemanagersearch.lua:435
msgid ""
" found"
msgstr ""
#: frontend/apps/filemanager/filemanagersearch.lua:437
msgid ""
" matching "
msgstr ""
#: plugins/evernote.koplugin/main.lua:334
msgid ""
" others."
msgstr ""
#: frontend/ui/uimanager.lua:516
#: frontend/ui/uimanager.lua:522
#: frontend/ui/uimanager.lua:528
#: frontend/ui/uimanager.lua:518
#: frontend/ui/uimanager.lua:524
#: frontend/ui/uimanager.lua:530
msgid ""
" pages"
msgstr ""
@ -59,8 +49,8 @@ msgid ""
"5 deg"
msgstr ""
#: frontend/apps/reader/modules/readerhighlight.lua:302
#: frontend/ui/widget/dictquicklookup.lua:159
#: frontend/apps/reader/modules/readerhighlight.lua:301
#: frontend/ui/widget/dictquicklookup.lua:183
msgid ""
"Add Note"
msgstr ""
@ -70,19 +60,19 @@ msgid ""
"Apply"
msgstr ""
#: frontend/apps/filemanager/filemanagersetdefaults.lua:249
#: frontend/apps/filemanager/filemanagersetdefaults.lua:267
msgid ""
"Are you sure to save the settings to \"defaults.persistent.lua\"?"
msgstr ""
#: frontend/apps/filemanager/filemanagersearch.lua:483
#: frontend/apps/filemanager/filemanagersearch.lua:584
#: frontend/apps/filemanager/filemanagersearch.lua:569
#: frontend/apps/filemanager/filemanagersearch.lua:670
msgid ""
"Author(s): "
"Author(s):"
msgstr ""
#: frontend/apps/reader/modules/readertypeset.lua:66
#: frontend/ui/device/screen.lua:262
#: frontend/ui/device/screen.lua:258
msgid ""
"Auto"
msgstr ""
@ -98,27 +88,27 @@ msgid ""
"Bookmarks"
msgstr ""
#: frontend/apps/filemanager/filemanagersearch.lua:620
#: frontend/apps/filemanager/filemanagersearch.lua:706
msgid ""
"Browse "
"Browse"
msgstr ""
#: frontend/apps/filemanager/filemanagersearch.lua:195
#: frontend/apps/filemanager/filemanagersearch.lua:209
msgid ""
"Browse series"
msgstr ""
#: frontend/apps/filemanager/filemanagersearch.lua:209
#: frontend/apps/filemanager/filemanagersearch.lua:223
msgid ""
"Browse tags"
msgstr ""
#: frontend/apps/filemanager/filemanagersearch.lua:225
#: frontend/apps/filemanager/filemanagersetdefaults.lua:134
#: frontend/apps/filemanager/filemanagersetdefaults.lua:192
#: frontend/apps/filemanager/filemanagersearch.lua:239
#: frontend/apps/filemanager/filemanagersetdefaults.lua:125
#: frontend/apps/filemanager/filemanagersetdefaults.lua:183
#: frontend/apps/reader/modules/readergoto.lua:36
#: frontend/ui/widget/confirmbox.lua:29
#: frontend/ui/widget/dictquicklookup.lua:344
#: frontend/ui/widget/dictquicklookup.lua:369
#: frontend/ui/widget/touchmenu.lua:547
#: plugins/evernote.koplugin/main.lua:124
#: plugins/zsync.koplugin/main.lua:274
@ -167,14 +157,14 @@ msgid ""
"Copy"
msgstr ""
#: frontend/ui/uimanager.lua:516
#: frontend/ui/uimanager.lua:522
#: frontend/ui/uimanager.lua:528
#: frontend/ui/uimanager.lua:518
#: frontend/ui/uimanager.lua:524
#: frontend/ui/uimanager.lua:530
msgid ""
"Custom "
msgstr ""
#: frontend/ui/device/screen.lua:293
#: frontend/ui/device/screen.lua:289
msgid ""
"Custom DPI"
msgstr ""
@ -184,7 +174,7 @@ msgid ""
"Cut"
msgstr ""
#: frontend/apps/filemanager/filemanagersetdefaults.lua:331
#: frontend/apps/filemanager/filemanagersetdefaults.lua:349
msgid ""
"Default settings successfully saved!"
msgstr ""
@ -236,7 +226,7 @@ msgid ""
"Downloading may take several minutes..."
msgstr ""
#: frontend/ui/uimanager.lua:503
#: frontend/ui/uimanager.lua:505
msgid ""
"E-ink full refresh rate"
msgstr ""
@ -272,12 +262,12 @@ msgid ""
"Evernote"
msgstr ""
#: frontend/ui/uimanager.lua:511
#: frontend/ui/uimanager.lua:513
msgid ""
"Every 6 pages"
msgstr ""
#: frontend/ui/uimanager.lua:506
#: frontend/ui/uimanager.lua:508
msgid ""
"Every page"
msgstr ""
@ -323,7 +313,7 @@ msgid ""
"File manager menu"
msgstr ""
#: frontend/apps/filemanager/filemanagersearch.lua:451
#: frontend/apps/filemanager/filemanagersearch.lua:537
msgid ""
"File not found!"
msgstr ""
@ -333,7 +323,7 @@ msgid ""
"FileManager"
msgstr ""
#: frontend/apps/filemanager/filemanagersearch.lua:236
#: frontend/apps/filemanager/filemanagersearch.lua:247
msgid ""
"Find books"
msgstr ""
@ -405,7 +395,7 @@ msgid ""
msgstr ""
#: frontend/apps/reader/modules/readerhighlight.lua:294
#: frontend/ui/widget/dictquicklookup.lua:137
#: frontend/ui/widget/dictquicklookup.lua:159
msgid ""
"Highlight"
msgstr ""
@ -425,17 +415,17 @@ msgid ""
"Indentation"
msgstr ""
#: frontend/ui/widget/dictquicklookup.lua:338
#: frontend/ui/widget/dictquicklookup.lua:362
msgid ""
"Input lookup word"
msgstr ""
#: frontend/ui/uimanager.lua:492
#: frontend/ui/uimanager.lua:494
msgid ""
"Input page number for a full refresh"
msgstr ""
#: frontend/ui/device/screen.lua:300
#: frontend/ui/device/screen.lua:296
msgid ""
"Input screen DPI"
msgstr ""
@ -465,7 +455,7 @@ msgid ""
"Language"
msgstr ""
#: frontend/ui/device/screen.lua:285
#: frontend/ui/device/screen.lua:281
msgid ""
"Large"
msgstr ""
@ -511,18 +501,18 @@ msgid ""
"Logout"
msgstr ""
#: frontend/ui/widget/dictquicklookup.lua:350
#: frontend/ui/widget/dictquicklookup.lua:375
msgid ""
"Lookup"
msgstr ""
#: frontend/ui/device/screen.lua:277
#: frontend/ui/device/screen.lua:273
msgid ""
"Medium"
msgstr ""
#: frontend/apps/reader/modules/readerhighlight.lua:333
#: frontend/ui/widget/dictquicklookup.lua:166
#: frontend/apps/reader/modules/readerhighlight.lua:338
#: frontend/ui/widget/dictquicklookup.lua:190
msgid ""
"More"
msgstr ""
@ -533,16 +523,19 @@ msgid ""
"Night mode"
msgstr ""
#: frontend/apps/reader/modules/readerdictionary.lua:39
#: frontend/apps/filemanager/filemanagersearch.lua:521
msgid ""
"No"
msgstr ""
#: frontend/apps/reader/modules/readerdictionary.lua:40
msgid ""
"No definition found."
msgstr ""
#: frontend/apps/filemanager/filemanagersearch.lua:433
#: frontend/apps/filemanager/filemanagersearch.lua:519
msgid ""
"No match for \" .. self.search_value)\n"
" else\n"
" dummy = _(\"No "
"No match for"
msgstr ""
#: reader.lua:91
@ -550,12 +543,17 @@ msgid ""
"No reader engine for this file"
msgstr ""
#: frontend/apps/reader/modules/readerwikipedia.lua:16
msgid ""
"No wiki page found."
msgstr ""
#: plugins/evernote.koplugin/main.lua:350
msgid ""
"Note: "
msgstr ""
#: frontend/apps/filemanager/filemanagersetdefaults.lua:200
#: frontend/apps/filemanager/filemanagersetdefaults.lua:191
#: frontend/apps/reader/modules/readerfrontlight.lua:115
#: frontend/ui/widget/confirmbox.lua:28
#: frontend/ui/widget/touchmenu.lua:553
@ -623,8 +621,8 @@ msgid ""
"Paste"
msgstr ""
#: frontend/apps/filemanager/filemanagersearch.lua:489
#: frontend/apps/filemanager/filemanagersearch.lua:590
#: frontend/apps/filemanager/filemanagersearch.lua:575
#: frontend/apps/filemanager/filemanagersearch.lua:676
msgid ""
"Path: "
msgstr ""
@ -676,7 +674,7 @@ msgid ""
"Render Quality"
msgstr ""
#: frontend/ui/device/screen.lua:259
#: frontend/ui/device/screen.lua:255
msgid ""
"Screen DPI"
msgstr ""
@ -697,12 +695,12 @@ msgid ""
"Scroll Mode"
msgstr ""
#: frontend/apps/filemanager/filemanagersearch.lua:191
#: frontend/apps/filemanager/filemanagersearch.lua:205
msgid ""
"Search Books"
msgstr ""
#: frontend/apps/filemanager/filemanagersearch.lua:510
#: frontend/apps/filemanager/filemanagersearch.lua:596
msgid ""
"Search Results"
msgstr ""
@ -712,10 +710,10 @@ msgid ""
"Search books"
msgstr ""
#: frontend/apps/filemanager/filemanagersearch.lua:485
#: frontend/apps/filemanager/filemanagersearch.lua:586
#: frontend/apps/filemanager/filemanagersearch.lua:571
#: frontend/apps/filemanager/filemanagersearch.lua:672
msgid ""
"Series: "
"Series:"
msgstr ""
#: frontend/ui/widget/configdialog.lua:582
@ -773,7 +771,7 @@ msgid ""
"Settings"
msgstr ""
#: frontend/apps/reader/modules/readerhighlight.lua:322
#: frontend/apps/reader/modules/readerhighlight.lua:330
msgid ""
"Share"
msgstr ""
@ -793,16 +791,21 @@ msgid ""
"Show page overlap"
msgstr ""
#: frontend/apps/filemanager/filemanagersearch.lua:453
#: frontend/apps/filemanager/filemanagersearch.lua:539
msgid ""
"Size: "
"Size:"
msgstr ""
#: frontend/ui/device/screen.lua:269
#: frontend/ui/device/screen.lua:265
msgid ""
"Small"
msgstr ""
#: frontend/apps/filemanager/filemanagersetdefaults.lua:78
msgid ""
"Some changes will just work on the next restart. Wrong settings might crash Koreader! Continue?"
msgstr ""
#: frontend/apps/filemanager/filemanagermenu.lua:92
msgid ""
"Start with last opened file"
@ -853,10 +856,10 @@ msgid ""
"Table of contents"
msgstr ""
#: frontend/apps/filemanager/filemanagersearch.lua:484
#: frontend/apps/filemanager/filemanagersearch.lua:585
#: frontend/apps/filemanager/filemanagersearch.lua:570
#: frontend/apps/filemanager/filemanagersearch.lua:671
msgid ""
"Tags: "
"Tags:"
msgstr ""
#: frontend/ui/data/strings.lua:12
@ -864,13 +867,13 @@ msgid ""
"Text Align"
msgstr ""
#: frontend/ui/device/screen.lua:254
#: frontend/ui/device/screen.lua:250
msgid ""
"This will take effect on next restart."
msgstr ""
#: frontend/apps/filemanager/filemanagersearch.lua:482
#: frontend/apps/filemanager/filemanagersearch.lua:583
#: frontend/apps/filemanager/filemanagersearch.lua:568
#: frontend/apps/filemanager/filemanagersearch.lua:669
msgid ""
"Title: "
msgstr ""
@ -880,7 +883,7 @@ msgid ""
"Toggle"
msgstr ""
#: frontend/apps/reader/modules/readerhighlight.lua:313
#: frontend/apps/reader/modules/readerhighlight.lua:320
msgid ""
"Translate"
msgstr ""
@ -906,7 +909,10 @@ msgid ""
"View Mode"
msgstr ""
#: frontend/ui/widget/dictquicklookup.lua:152
#: frontend/apps/reader/modules/readerhighlight.lua:311
#: frontend/apps/reader/modules/readerwikipedia.lua:28
#: frontend/apps/reader/modules/readerwikipedia.lua:41
#: frontend/ui/widget/dictquicklookup.lua:174
msgid ""
"Wikipedia"
msgstr ""
@ -926,17 +932,12 @@ msgid ""
"Writing screen to "
msgstr ""
#: frontend/apps/filemanager/filemanagersetdefaults.lua:77
msgid ""
"Wrong settings might crash Koreader! Continue?"
msgstr ""
#: frontend/apps/filemanager/filemanagermenu.lua:40
msgid ""
"You have unsaved default settings. Save them now?"
msgstr ""
#: frontend/apps/filemanager/filemanagersearch.lua:152
#: frontend/apps/filemanager/filemanagersearch.lua:155
msgid ""
"You must specify at least one field to search at! (SEARCH_XXX = true in defaults.lua)"
msgstr ""
@ -1022,6 +1023,11 @@ msgid ""
"default"
msgstr ""
#: frontend/apps/filemanager/filemanagersearch.lua:521
msgid ""
"found"
msgstr ""
#: frontend/ui/data/strings.lua:62
msgid ""
"full"
@ -1067,6 +1073,11 @@ msgid ""
"manual"
msgstr ""
#: frontend/apps/filemanager/filemanagersearch.lua:523
msgid ""
"matching"
msgstr ""
#: frontend/ui/data/strings.lua:38
msgid ""
"medium"

Loading…
Cancel
Save