From 9121cfc0f46dab7673ffdbe55dc922aa136b4789 Mon Sep 17 00:00:00 2001 From: cdhigh Date: Tue, 27 Aug 2024 20:04:53 -0300 Subject: [PATCH] add dark mode to online reader --- application/static/reader.js | 51 ++++- application/templates/reader.html | 10 +- application/translations/messages.pot | 214 +++++++++-------- .../tr_TR/LC_MESSAGES/messages.mo | Bin 30507 -> 30424 bytes .../tr_TR/LC_MESSAGES/messages.po | 215 +++++++++--------- .../translations/zh/LC_MESSAGES/messages.mo | Bin 28696 -> 28602 bytes .../translations/zh/LC_MESSAGES/messages.po | 215 +++++++++--------- application/view/reader.py | 6 +- 8 files changed, 377 insertions(+), 334 deletions(-) diff --git a/application/static/reader.js b/application/static/reader.js index 0f64de07..5ca12a1d 100644 --- a/application/static/reader.js +++ b/application/static/reader.js @@ -5,7 +5,7 @@ var g_iframeScrollHeight = 500; //在 iframeLoadEvent 里更新 //var g_iframeClientHeight = 500; var g_currentArticle = {}; //{title:,src:,} -var g_dictMode = false; +var g_dictMode = false; //当前是否处于查词模式 const g_trTextContainerHeight = 350; //350px在reader.css定义tr-text-container和tr-result-text //对古董浏览器兼容性最好的判断一个变量是否为空的语法 @@ -641,6 +641,8 @@ function toggleNavPopMenu() { allowIcon.innerHTML = g_allowLinks ? '✔' : '☐'; var actIcon = document.getElementById('topleft-activate-dict').querySelector('.check-icon'); actIcon.innerHTML = g_topleftDict ? '✔' : '☐'; + var darkIcon = document.getElementById('dark-mode').querySelector('.check-icon'); + darkIcon.innerHTML = g_darkMode ? '✔' : '☐'; menu.style.display = (menu.style.display == 'block') ? 'none' : 'block'; } @@ -711,6 +713,33 @@ function toggleTopleftDict() { saveSettings(); } +//切换黑暗模式 +function toggleDarkMode() { + g_darkMode = !g_darkMode; + var darkIcon = document.getElementById('dark-mode').querySelector('.check-icon'); + darkIcon.innerHTML = g_darkMode ? '✔' : '☐'; + saveSettings(); + setDarkModeStyle(); +} + +//根据黑暗模式开关,设置当前界面的样式 +function setDarkModeStyle() { + var tag; + if (g_darkMode) { + //document.body.style.backgroundColor = '#121212'; + //document.body.style.color = '#e0e0e0'; + //tag = document.getElementById('corner-dict-hint'); + //tag.style.borderColor = '#ffffff transparent transparent transparent'; + //tag = document.getElementById('navbar'); + //tag.style.backgroundColor = '#121212'; + //tag.style.color = '#e0e0e0'; + } else { + //tag = document.getElementById('corner-dict-hint') + //tag.style.borderColor = '#291E1E transparent transparent transparent'; + } + iframe.src = iframe.src; //强制刷新一次 +} + //是否允许墨水屏模式 function toggleInkMode() { g_inkMode = !g_inkMode; @@ -1045,6 +1074,23 @@ function adjustIFrameStyle(iframe) { body.style.webkitTapHighlightColor = 'transparent'; body.style.webkitTouchCallout = 'none'; + if (g_darkMode) { //黑暗模式 + body.style.backgroundColor = '#121212'; + body.style.color = '#e0e0e0'; + var links = doc.querySelectorAll('a'); + for (var i = 0; i < links.length; i++) { + links[i].style.color = '#bb86fc'; + } + } else { + //注释以下代码,使用默认值 + //body.style.backgroundColor = '#ffffff'; + //body.style.color = '#000000'; + //var links = doc.querySelectorAll('a'); + //for (var i = 0; i < links.length; i++) { + // links[i].style.color = '#1a0dab'; + //} + } + var images = doc.querySelectorAll('img'); for (var i = 0; i < images.length; i++) { images[i].style.maxWidth = '100%'; @@ -1098,5 +1144,6 @@ document.addEventListener('DOMContentLoaded', function() { iframe.addEventListener('load', iframeLoadEvent); populateBooks(1); iframe.style.display = "none"; //加载完成后再显示 - iframe.src = iframe.src; //强制刷新一次,避免偶尔出现不能点击的情况 + //iframe.src = iframe.src; //强制刷新一次,避免偶尔出现不能点击的情况 + setDarkModeStyle(); }); diff --git a/application/templates/reader.html b/application/templates/reader.html index b1d20e9d..c9e4833c 100644 --- a/application/templates/reader.html +++ b/application/templates/reader.html @@ -76,12 +76,19 @@ {{_("Allow click links")}} - + + bYpdozRK$u_G3vnHhx!b}jb6`B;qWup7RFP4E~x&j~buPl8`#!{7f! zRdI)O^sHK83U)*z?}n*33XOa$+V5)YjkEA_T#IJnC{DnS(W4wZCqBAz^iw?-eQTD@ z;rvbE&uJ*YO*jbmphwbZZv5+&ivy?+MbGjE?2qg5eB6(ISk9uaVT*a3KNey+&c!0! z9(*6YGfk_>zdPts9e)QdLl?dke~kB|DSrdK)u++aX8e?2HtdCFXM7wD;M>rivmoB#Kr~|$uoUYs51&ED z9Yl}tLrld}XzIVfX6XOCN{3`~3Z7A0G=)8bgU|`Cz(rVrPP`LW;bClyGk9pqXQQv@ zEtrMtu_+n20iQej*CH$QM_QV_UF4DGy9kH9hm6b zXHe;d_47uRrq^#N-;vSoA9Ku@U0Zd1bz*K+ZPomm>b&~tS3lS$yKKhphihJYc7Ecf SMYT&8)-27dKeOO?`u_u+%!~X0 diff --git a/application/translations/tr_TR/LC_MESSAGES/messages.po b/application/translations/tr_TR/LC_MESSAGES/messages.po index 405a4840..7c192afc 100644 --- a/application/translations/tr_TR/LC_MESSAGES/messages.po +++ b/application/translations/tr_TR/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2024-06-29 20:53-0300\n" +"POT-Creation-Date: 2024-08-26 15:24-0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: tr_TR\n" @@ -246,7 +246,7 @@ msgstr "Gelen Posta" #: application/templates/adv_base.html:66 #: application/templates/adv_base.html:70 application/templates/adv_dict.html:3 -#: application/templates/adv_dict.html:13 application/templates/reader.html:127 +#: application/templates/adv_dict.html:13 application/templates/reader.html:134 msgid "Dictionary" msgstr "Sözlük" @@ -293,20 +293,20 @@ msgstr "Seçilen tarifleri şimdi teslim edin." msgid "There are no recipes subscribed" msgstr "Abone olunan tarif yok" -#: application/templates/adv_delivernow.html:18 +#: application/templates/adv_delivernow.html:17 #: application/templates/base.html:100 msgid "Sep" msgstr "Sep" -#: application/templates/adv_delivernow.html:23 +#: application/templates/adv_delivernow.html:22 msgid "Select all" msgstr "Hepsini seç" -#: application/templates/adv_delivernow.html:24 +#: application/templates/adv_delivernow.html:23 msgid "Select none" msgstr "Hiçbirini seçme" -#: application/templates/adv_delivernow.html:29 +#: application/templates/adv_delivernow.html:28 msgid "Deliver" msgstr "Şimdi gönder" @@ -494,7 +494,7 @@ msgstr "5 saniye sonra otomatik olarak önceki sayfaya döneceksiniz." msgid "Click to back" msgstr "Geri dönmek için tıklayınız" -#: application/templates/base.html:24 application/templates/reader.html:181 +#: application/templates/base.html:24 application/templates/reader.html:189 msgid "Confirm Deletion" msgstr "Silmeyi Onayla" @@ -530,7 +530,7 @@ msgstr "Tam Metin" msgid "Share" msgstr "Paylaş" -#: application/templates/base.html:34 application/templates/reader.html:182 +#: application/templates/base.html:34 application/templates/reader.html:190 msgid "Are you sure to delete?" msgstr "Silmek istediğinizden emin misiniz?" @@ -578,7 +578,7 @@ msgstr "Dil kodu geçersiz" msgid "Thank you for sharing." msgstr "Paylaştığınız için teşekkür ederiz." -#: application/templates/base.html:46 application/templates/reader.html:152 +#: application/templates/base.html:46 application/templates/reader.html:159 msgid "Close" msgstr "Kapat" @@ -876,7 +876,7 @@ msgstr "Burada hiçbir şey yok." msgid "Please select a single item." msgstr "Lütfen tek bir öğe seçin." -#: application/templates/base.html:116 application/templates/reader.html:183 +#: application/templates/base.html:116 application/templates/reader.html:191 msgid "Please select at least one item." msgstr "Lütfen en az bir öğe seçin." @@ -887,7 +887,7 @@ msgstr "Lütfen en az bir öğe seçin." #: application/view/inbound_email.py:493 application/view/inbound_email.py:514 #: application/view/login.py:216 application/view/login.py:245 #: application/view/reader.py:109 application/view/reader.py:126 -#: application/view/settings.py:49 application/view/share.py:37 +#: application/view/share.py:37 msgid "Some parameters are missing or wrong." msgstr "Bazı parametreler eksik veya yanlış." @@ -1349,58 +1349,62 @@ msgstr "Seçili kitapları sil" msgid "Allow click links" msgstr "Bağlantıları tıklamaya izin ver" -#: application/templates/reader.html:82 +#: application/templates/reader.html:83 msgid "Top-left dict mode" msgstr "Üst sol sözlük modu" -#: application/templates/reader.html:88 +#: application/templates/reader.html:89 +msgid "Dark mode" +msgstr "Karanlık modu" + +#: application/templates/reader.html:95 msgid "eInk mode" msgstr "eInk modu" -#: application/templates/reader.html:94 +#: application/templates/reader.html:101 msgid "Increase font size" msgstr "Yazı tipi boyutunu artır" -#: application/templates/reader.html:100 +#: application/templates/reader.html:107 msgid "Decrease font size" msgstr "Yazı tipi boyutunu azalt" -#: application/templates/reader.html:106 +#: application/templates/reader.html:113 msgid "Visualize Touch Regions" msgstr "Dokunma bölgelerini görselleştir" -#: application/templates/reader.html:112 +#: application/templates/reader.html:119 msgid "Help" msgstr "Yardım" -#: application/templates/reader.html:118 +#: application/templates/reader.html:125 #: application/templates/reader_404.html:135 msgid "Menu" msgstr "Menü" -#: application/templates/reader.html:132 +#: application/templates/reader.html:139 msgid "Collapse all" msgstr "Tümünü daralt" -#: application/templates/reader.html:137 +#: application/templates/reader.html:144 msgid "Expand all" msgstr "Tümünü genişlet" -#: application/templates/reader.html:142 +#: application/templates/reader.html:149 #: application/templates/reader_404.html:140 msgid "Prev" msgstr "Önceki" -#: application/templates/reader.html:147 +#: application/templates/reader.html:154 #: application/templates/reader_404.html:143 msgid "Next page" msgstr "Sonraki sayfa" -#: application/templates/reader.html:184 +#: application/templates/reader.html:192 msgid "Pushed successfully." msgstr "Başarıyla itildi" -#: application/templates/reader.html:185 +#: application/templates/reader.html:193 msgid "There are currently no books or articles being read." msgstr "Şu anda okunan herhangi bir kitap veya makale bulunmamaktadır." @@ -1647,8 +1651,8 @@ msgstr "Ek olarak ilet" msgid "Word" msgstr "Kelime" -#: application/view/admin.py:48 application/view/adv.py:435 -#: application/view/settings.py:77 application/view/translator.py:83 +#: application/view/admin.py:48 application/view/adv.py:441 +#: application/view/settings.py:66 application/view/translator.py:83 #: application/view/translator.py:167 msgid "Settings Saved!" msgstr "Ayarlar Kaydedildi!" @@ -1702,83 +1706,83 @@ msgstr "Eski şifre yanlış." msgid "Changes saved successfully." msgstr "Değişiklikler başarıyla kaydedildi." -#: application/view/adv.py:94 application/view/adv.py:95 -#: application/view/adv.py:96 application/view/adv.py:97 -#: application/view/adv.py:98 application/view/adv.py:99 #: application/view/adv.py:100 application/view/adv.py:101 #: application/view/adv.py:102 application/view/adv.py:103 +#: application/view/adv.py:104 application/view/adv.py:105 +#: application/view/adv.py:106 application/view/adv.py:107 +#: application/view/adv.py:108 application/view/adv.py:109 msgid "Append hyperlink '{}' to article" msgstr "'{}' linkini makaleye ekle" -#: application/view/adv.py:94 application/view/adv.py:95 -#: application/view/adv.py:96 application/view/adv.py:97 -#: application/view/adv.py:98 +#: application/view/adv.py:100 application/view/adv.py:101 +#: application/view/adv.py:102 application/view/adv.py:103 +#: application/view/adv.py:104 msgid "Save to {}" msgstr "{} kaydedildi" -#: application/view/adv.py:94 +#: application/view/adv.py:100 msgid "evernote" msgstr "evernote" -#: application/view/adv.py:95 +#: application/view/adv.py:101 msgid "wiz" msgstr "wiz" -#: application/view/adv.py:96 +#: application/view/adv.py:102 msgid "pocket" msgstr "pocket" -#: application/view/adv.py:97 +#: application/view/adv.py:103 msgid "instapaper" msgstr "instapaper" -#: application/view/adv.py:98 +#: application/view/adv.py:104 msgid "wallabag" msgstr "wallabag" -#: application/view/adv.py:99 application/view/adv.py:100 -#: application/view/adv.py:101 application/view/adv.py:102 +#: application/view/adv.py:105 application/view/adv.py:106 +#: application/view/adv.py:107 application/view/adv.py:108 msgid "Share on {}" msgstr "{} üzerinde paylaş" -#: application/view/adv.py:99 +#: application/view/adv.py:105 msgid "weibo" msgstr "weibo" -#: application/view/adv.py:100 +#: application/view/adv.py:106 msgid "facebook" msgstr "facebook" -#: application/view/adv.py:102 +#: application/view/adv.py:108 msgid "tumblr" msgstr "tumblr" -#: application/view/adv.py:103 +#: application/view/adv.py:109 msgid "Open in browser" msgstr "Tarayıcıda aç" -#: application/view/adv.py:104 +#: application/view/adv.py:110 msgid "Append qrcode of url to article" msgstr "Makaleye URL'nin QR kodunu ekle" -#: application/view/adv.py:368 application/view/share.py:54 +#: application/view/adv.py:374 application/view/share.py:54 #: application/view/subscribe.py:247 msgid "Unknown command: {}" msgstr "Bilinmeyen komut: {}" -#: application/view/adv.py:437 +#: application/view/adv.py:443 msgid "The format is invalid." msgstr "Format geçersiz." -#: application/view/adv.py:469 +#: application/view/adv.py:475 msgid "Authorization Error!
{}" msgstr "Yetkilendirme Hatası!
{}" -#: application/view/adv.py:490 +#: application/view/adv.py:496 msgid "Success authorized by Pocket!" msgstr "Pocket tarafından yetkilendirilen başarı!" -#: application/view/adv.py:496 +#: application/view/adv.py:502 msgid "" "Failed to request authorization of Pocket!
See details " "below:

{}" @@ -1786,13 +1790,13 @@ msgstr "" "Pocket yetkilendirme isteği başarısız oldu!
Aşağıdaki ayrıntılara " "bakın:

{}" -#: application/view/adv.py:517 +#: application/view/adv.py:523 msgid "The Instapaper service encountered an error. Please try again later." msgstr "" "Instapaper servisi bir hata ile karşılaştı. Lütfen daha sonra tekrar " "deneyin." -#: application/view/adv.py:530 +#: application/view/adv.py:536 msgid "Request type [{}] unsupported" msgstr "İstek türü [{}] desteklenmiyor" @@ -1801,11 +1805,11 @@ msgstr "İstek türü [{}] desteklenmiyor" msgid "The username does not exist or the email is empty." msgstr "Kullanıcı adı mevcut değil veya e-posta boş." -#: application/view/deliver.py:98 +#: application/view/deliver.py:109 msgid "The following recipes has been added to the push queue." msgstr "Aşağıdaki tarifler itme kuyruğuna eklendi." -#: application/view/deliver.py:101 +#: application/view/deliver.py:112 msgid "There are no recipes to deliver." msgstr "Teslim edilecek tarif yok." @@ -1903,36 +1907,28 @@ msgstr "" msgid "The article is missing?" msgstr "Makale eksik mi?" -#: application/view/reader.py:188 application/view/translator.py:116 +#: application/view/reader.py:190 application/view/translator.py:116 #: application/view/translator.py:200 msgid "The text is empty." msgstr "Metin boş." -#: application/view/reader.py:237 +#: application/view/reader.py:239 msgid "No definitions found for '{}'." msgstr "'{}' için tanım bulunamadı." -#: application/view/reader.py:238 +#: application/view/reader.py:240 msgid "Did you mean?" msgstr "Demek istediniz mi?" -#: application/view/reader.py:322 application/view/reader.py:329 +#: application/view/reader.py:324 application/view/reader.py:331 msgid "Failed to push: {}" msgstr "İtilemedi: {}" -#: application/view/reader.py:377 +#: application/view/reader.py:379 msgid "Failed to create ebook." msgstr "E-kitap oluşturulamadı." -#: application/view/settings.py:45 -msgid "Kindle E-mail is requied!" -msgstr "Kindle E-mail adresi gerekli!" - -#: application/view/settings.py:47 -msgid "Title is requied!" -msgstr "Başlık zorunlu!" - -#: application/view/settings.py:141 +#: application/view/settings.py:130 msgid "" "You have not yet set up your email address. Please go to the 'Admin' page" " to add your email address firstly." @@ -1940,171 +1936,171 @@ msgstr "" "Email adresinizi henüz ayarlamadınız. Lütfen e-posta adresinizi eklemek " "için 'Yönetim' sayfasına öncelikle gidin." -#: application/view/settings.py:220 +#: application/view/settings.py:209 msgid "English" msgstr "İngilizce" -#: application/view/settings.py:221 +#: application/view/settings.py:210 msgid "Chinese" msgstr "Çince" -#: application/view/settings.py:222 +#: application/view/settings.py:211 msgid "French" msgstr "Fransızca" -#: application/view/settings.py:223 +#: application/view/settings.py:212 msgid "Spanish" msgstr "İspanyolca" -#: application/view/settings.py:224 +#: application/view/settings.py:213 msgid "Portuguese" msgstr "Portekizce" -#: application/view/settings.py:225 +#: application/view/settings.py:214 msgid "German" msgstr "Almanca" -#: application/view/settings.py:226 +#: application/view/settings.py:215 msgid "Italian" msgstr "İtalyanca" -#: application/view/settings.py:227 +#: application/view/settings.py:216 msgid "Japanese" msgstr "Japonca" -#: application/view/settings.py:228 +#: application/view/settings.py:217 msgid "Russian" msgstr "Rusça" -#: application/view/settings.py:229 +#: application/view/settings.py:218 msgid "Turkish" msgstr "Türkçe" -#: application/view/settings.py:230 +#: application/view/settings.py:219 msgid "Korean" msgstr "Koreli" -#: application/view/settings.py:231 +#: application/view/settings.py:220 msgid "Arabic" msgstr "Arapça" -#: application/view/settings.py:232 +#: application/view/settings.py:221 msgid "Czech" msgstr "Çek" -#: application/view/settings.py:233 +#: application/view/settings.py:222 msgid "Dutch" msgstr "Flemenkçe" -#: application/view/settings.py:234 +#: application/view/settings.py:223 msgid "Greek" msgstr "Yunan" -#: application/view/settings.py:235 +#: application/view/settings.py:224 msgid "Hindi" msgstr "Hintçe" -#: application/view/settings.py:236 +#: application/view/settings.py:225 msgid "Malaysian" msgstr "Malezyalı" -#: application/view/settings.py:237 +#: application/view/settings.py:226 msgid "Bengali" msgstr "Bengal" -#: application/view/settings.py:238 +#: application/view/settings.py:227 msgid "Persian" msgstr "Farsça" -#: application/view/settings.py:239 +#: application/view/settings.py:228 msgid "Urdu" msgstr "Urduca" -#: application/view/settings.py:240 +#: application/view/settings.py:229 msgid "Swahili" msgstr "Svahili" -#: application/view/settings.py:241 +#: application/view/settings.py:230 msgid "Vietnamese" msgstr "Vietnam" -#: application/view/settings.py:242 +#: application/view/settings.py:231 msgid "Punjabi" msgstr "Pencap" -#: application/view/settings.py:243 +#: application/view/settings.py:232 msgid "Javanese" msgstr "Cava" -#: application/view/settings.py:244 +#: application/view/settings.py:233 msgid "Tagalog" msgstr "Tagalog" -#: application/view/settings.py:245 +#: application/view/settings.py:234 msgid "Hausa" msgstr "Hausa" -#: application/view/settings.py:246 +#: application/view/settings.py:235 msgid "Thai" msgstr "Taylandca" -#: application/view/settings.py:247 +#: application/view/settings.py:236 msgid "Polish" msgstr "Lehçe" -#: application/view/settings.py:248 +#: application/view/settings.py:237 msgid "Romanian" msgstr "Rumen" -#: application/view/settings.py:249 +#: application/view/settings.py:238 msgid "Hungarian" msgstr "Macarca" -#: application/view/settings.py:250 +#: application/view/settings.py:239 msgid "Swedish" msgstr "İsveççe" -#: application/view/settings.py:251 +#: application/view/settings.py:240 msgid "Hebrew" msgstr "İbranice" -#: application/view/settings.py:252 +#: application/view/settings.py:241 msgid "Norwegian" msgstr "Norveççe" -#: application/view/settings.py:253 +#: application/view/settings.py:242 msgid "Finnish" msgstr "Fince" -#: application/view/settings.py:254 +#: application/view/settings.py:243 msgid "Danish" msgstr "Danca" -#: application/view/settings.py:255 +#: application/view/settings.py:244 msgid "Ukrainian" msgstr "Ukraynaca" -#: application/view/settings.py:256 +#: application/view/settings.py:245 msgid "Tamil" msgstr "Tamilce" -#: application/view/settings.py:257 +#: application/view/settings.py:246 msgid "Marathi" msgstr "Marathi" -#: application/view/settings.py:258 +#: application/view/settings.py:247 msgid "Burmese" msgstr "Burmaca" -#: application/view/settings.py:259 +#: application/view/settings.py:248 msgid "Amharic" msgstr "Amharca" -#: application/view/settings.py:260 +#: application/view/settings.py:249 msgid "Azerbaijani" msgstr "Azerbaycanca" -#: application/view/settings.py:261 +#: application/view/settings.py:250 msgid "Kazakh" msgstr "Kazakça" @@ -2205,4 +2201,3 @@ msgstr "Bu tarifin giriş bilgileri kaydedildi." #: application/view/translator.py:77 application/view/translator.py:160 msgid "The api key is required." msgstr "API anahtarı gereklidir." - diff --git a/application/translations/zh/LC_MESSAGES/messages.mo b/application/translations/zh/LC_MESSAGES/messages.mo index 4975a56593997472b6b8caf6937b7cda44382140..c149a6f94099d92e56364e4ba28bb9cfc5483e66 100644 GIT binary patch delta 7894 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 J-G+|{{x8zMm8Spz diff --git a/application/translations/zh/LC_MESSAGES/messages.po b/application/translations/zh/LC_MESSAGES/messages.po index 557b652e..5c96876b 100644 --- a/application/translations/zh/LC_MESSAGES/messages.po +++ b/application/translations/zh/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: KindleEar v3.0.0\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2024-06-29 20:53-0300\n" +"POT-Creation-Date: 2024-08-26 15:24-0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: zh\n" @@ -246,7 +246,7 @@ msgstr "入站邮件" #: application/templates/adv_base.html:66 #: application/templates/adv_base.html:70 application/templates/adv_dict.html:3 -#: application/templates/adv_dict.html:13 application/templates/reader.html:127 +#: application/templates/adv_dict.html:13 application/templates/reader.html:134 msgid "Dictionary" msgstr "词典" @@ -293,20 +293,20 @@ msgstr "现在推送选择的Recipe" msgid "There are no recipes subscribed" msgstr "没有任何被订阅的Recipe" -#: application/templates/adv_delivernow.html:18 +#: application/templates/adv_delivernow.html:17 #: application/templates/base.html:100 msgid "Sep" msgstr "Sep" -#: application/templates/adv_delivernow.html:23 +#: application/templates/adv_delivernow.html:22 msgid "Select all" msgstr "选择全部" -#: application/templates/adv_delivernow.html:24 +#: application/templates/adv_delivernow.html:23 msgid "Select none" msgstr "取消全部" -#: application/templates/adv_delivernow.html:29 +#: application/templates/adv_delivernow.html:28 msgid "Deliver" msgstr "推送" @@ -488,7 +488,7 @@ msgstr "5秒钟后自动返回上一页" msgid "Click to back" msgstr "点击直接返回" -#: application/templates/base.html:24 application/templates/reader.html:181 +#: application/templates/base.html:24 application/templates/reader.html:189 msgid "Confirm Deletion" msgstr "确认删除" @@ -524,7 +524,7 @@ msgstr "全文RSS" msgid "Share" msgstr "分享" -#: application/templates/base.html:34 application/templates/reader.html:182 +#: application/templates/base.html:34 application/templates/reader.html:190 msgid "Are you sure to delete?" msgstr "您确认要删除吗?" @@ -572,7 +572,7 @@ msgstr "语言代码不合法" msgid "Thank you for sharing." msgstr "谢谢您的分享。" -#: application/templates/base.html:46 application/templates/reader.html:152 +#: application/templates/base.html:46 application/templates/reader.html:159 msgid "Close" msgstr "关闭" @@ -861,7 +861,7 @@ msgstr "这里什么都没有。" msgid "Please select a single item." msgstr "请选择单独一项。" -#: application/templates/base.html:116 application/templates/reader.html:183 +#: application/templates/base.html:116 application/templates/reader.html:191 msgid "Please select at least one item." msgstr "请选择至少一项。" @@ -872,7 +872,7 @@ msgstr "请选择至少一项。" #: application/view/inbound_email.py:493 application/view/inbound_email.py:514 #: application/view/login.py:216 application/view/login.py:245 #: application/view/reader.py:109 application/view/reader.py:126 -#: application/view/settings.py:49 application/view/share.py:37 +#: application/view/share.py:37 msgid "Some parameters are missing or wrong." msgstr "一些参数为空或错误。" @@ -1323,58 +1323,62 @@ msgstr "删除选择的书本" msgid "Allow click links" msgstr "允许点击链接" -#: application/templates/reader.html:82 +#: application/templates/reader.html:83 msgid "Top-left dict mode" msgstr "左上角激活词典" -#: application/templates/reader.html:88 +#: application/templates/reader.html:89 +msgid "Dark mode" +msgstr "黑暗模式" + +#: application/templates/reader.html:95 msgid "eInk mode" msgstr "墨水屏模式" -#: application/templates/reader.html:94 +#: application/templates/reader.html:101 msgid "Increase font size" msgstr "增大字号" -#: application/templates/reader.html:100 +#: application/templates/reader.html:107 msgid "Decrease font size" msgstr "缩小字号" -#: application/templates/reader.html:106 +#: application/templates/reader.html:113 msgid "Visualize Touch Regions" msgstr "显示触摸区域图示" -#: application/templates/reader.html:112 +#: application/templates/reader.html:119 msgid "Help" msgstr "帮助" -#: application/templates/reader.html:118 +#: application/templates/reader.html:125 #: application/templates/reader_404.html:135 msgid "Menu" msgstr "菜单" -#: application/templates/reader.html:132 +#: application/templates/reader.html:139 msgid "Collapse all" msgstr "折叠所有" -#: application/templates/reader.html:137 +#: application/templates/reader.html:144 msgid "Expand all" msgstr "展开所有" -#: application/templates/reader.html:142 +#: application/templates/reader.html:149 #: application/templates/reader_404.html:140 msgid "Prev" msgstr "前一页" -#: application/templates/reader.html:147 +#: application/templates/reader.html:154 #: application/templates/reader_404.html:143 msgid "Next page" msgstr "下一页" -#: application/templates/reader.html:184 +#: application/templates/reader.html:192 msgid "Pushed successfully." msgstr "推送成功。" -#: application/templates/reader.html:185 +#: application/templates/reader.html:193 msgid "There are currently no books or articles being read." msgstr "当前没有正在阅读的书籍或文章。" @@ -1616,8 +1620,8 @@ msgstr "作为附件转发" msgid "Word" msgstr "单词" -#: application/view/admin.py:48 application/view/adv.py:435 -#: application/view/settings.py:77 application/view/translator.py:83 +#: application/view/admin.py:48 application/view/adv.py:441 +#: application/view/settings.py:66 application/view/translator.py:83 #: application/view/translator.py:167 msgid "Settings Saved!" msgstr "设置已保存!" @@ -1671,93 +1675,93 @@ msgstr "原密码错误。" msgid "Changes saved successfully." msgstr "账号设置已更新。" -#: application/view/adv.py:94 application/view/adv.py:95 -#: application/view/adv.py:96 application/view/adv.py:97 -#: application/view/adv.py:98 application/view/adv.py:99 #: application/view/adv.py:100 application/view/adv.py:101 #: application/view/adv.py:102 application/view/adv.py:103 +#: application/view/adv.py:104 application/view/adv.py:105 +#: application/view/adv.py:106 application/view/adv.py:107 +#: application/view/adv.py:108 application/view/adv.py:109 msgid "Append hyperlink '{}' to article" msgstr "在每篇文章后附加 '{}' 超链接" -#: application/view/adv.py:94 application/view/adv.py:95 -#: application/view/adv.py:96 application/view/adv.py:97 -#: application/view/adv.py:98 +#: application/view/adv.py:100 application/view/adv.py:101 +#: application/view/adv.py:102 application/view/adv.py:103 +#: application/view/adv.py:104 msgid "Save to {}" msgstr "保存到 {}" -#: application/view/adv.py:94 +#: application/view/adv.py:100 msgid "evernote" msgstr "evernote" -#: application/view/adv.py:95 +#: application/view/adv.py:101 msgid "wiz" msgstr "为知笔记" -#: application/view/adv.py:96 +#: application/view/adv.py:102 msgid "pocket" msgstr "pocket" -#: application/view/adv.py:97 +#: application/view/adv.py:103 msgid "instapaper" msgstr "instapaper" -#: application/view/adv.py:98 +#: application/view/adv.py:104 msgid "wallabag" msgstr "wallabag" -#: application/view/adv.py:99 application/view/adv.py:100 -#: application/view/adv.py:101 application/view/adv.py:102 +#: application/view/adv.py:105 application/view/adv.py:106 +#: application/view/adv.py:107 application/view/adv.py:108 msgid "Share on {}" msgstr "分享到 {}" -#: application/view/adv.py:99 +#: application/view/adv.py:105 msgid "weibo" msgstr "微博" -#: application/view/adv.py:100 +#: application/view/adv.py:106 msgid "facebook" msgstr "facebook" -#: application/view/adv.py:102 +#: application/view/adv.py:108 msgid "tumblr" msgstr "tumblr" -#: application/view/adv.py:103 +#: application/view/adv.py:109 msgid "Open in browser" msgstr "在浏览器打开" -#: application/view/adv.py:104 +#: application/view/adv.py:110 msgid "Append qrcode of url to article" msgstr "在每篇文章后附加文章链接的二维码" -#: application/view/adv.py:368 application/view/share.py:54 +#: application/view/adv.py:374 application/view/share.py:54 #: application/view/subscribe.py:247 msgid "Unknown command: {}" msgstr "未知命令:{}" -#: application/view/adv.py:437 +#: application/view/adv.py:443 msgid "The format is invalid." msgstr "格式非法。" -#: application/view/adv.py:469 +#: application/view/adv.py:475 msgid "Authorization Error!
{}" msgstr "申请授权过程失败!
{}" -#: application/view/adv.py:490 +#: application/view/adv.py:496 msgid "Success authorized by Pocket!" msgstr "已经成功获得Pocket的授权!" -#: application/view/adv.py:496 +#: application/view/adv.py:502 msgid "" "Failed to request authorization of Pocket!
See details " "below:

{}" msgstr "申请Pocket授权失败!
错误信息参考如下:

{}" -#: application/view/adv.py:517 +#: application/view/adv.py:523 msgid "The Instapaper service encountered an error. Please try again later." msgstr "Instapaper服务器异常,请稍候再试。" -#: application/view/adv.py:530 +#: application/view/adv.py:536 msgid "Request type [{}] unsupported" msgstr "不支持你请求的命令类型 [{}]" @@ -1766,11 +1770,11 @@ msgstr "不支持你请求的命令类型 [{}]" msgid "The username does not exist or the email is empty." msgstr "用户名不存在或email为空。" -#: application/view/deliver.py:98 +#: application/view/deliver.py:109 msgid "The following recipes has been added to the push queue." msgstr "下列Recipe已经被添加到推送队列。" -#: application/view/deliver.py:101 +#: application/view/deliver.py:112 msgid "There are no recipes to deliver." msgstr "没有需要推送的Recipe。" @@ -1862,206 +1866,198 @@ msgstr "你可以点击下面的链接来重置你的KindleEar密码。" msgid "The article is missing?" msgstr "文章丢失了?" -#: application/view/reader.py:188 application/view/translator.py:116 +#: application/view/reader.py:190 application/view/translator.py:116 #: application/view/translator.py:200 msgid "The text is empty." msgstr "文本为空。" -#: application/view/reader.py:237 +#: application/view/reader.py:239 msgid "No definitions found for '{}'." msgstr "未找到“{}”的定义。" -#: application/view/reader.py:238 +#: application/view/reader.py:240 msgid "Did you mean?" msgstr "您是指?" -#: application/view/reader.py:322 application/view/reader.py:329 +#: application/view/reader.py:324 application/view/reader.py:331 msgid "Failed to push: {}" msgstr "推送失败: {}" -#: application/view/reader.py:377 +#: application/view/reader.py:379 msgid "Failed to create ebook." msgstr "创建电子书失败。" -#: application/view/settings.py:45 -msgid "Kindle E-mail is requied!" -msgstr "Kindle E-mail必须填写!" - -#: application/view/settings.py:47 -msgid "Title is requied!" -msgstr "书籍标题不能为空!" - -#: application/view/settings.py:141 +#: application/view/settings.py:130 msgid "" "You have not yet set up your email address. Please go to the 'Admin' page" " to add your email address firstly." msgstr "您尚未设置您的email地址,请先到“账号管理”页面添加您的email地址。" -#: application/view/settings.py:220 +#: application/view/settings.py:209 msgid "English" msgstr "英语" -#: application/view/settings.py:221 +#: application/view/settings.py:210 msgid "Chinese" msgstr "中文" -#: application/view/settings.py:222 +#: application/view/settings.py:211 msgid "French" msgstr "法语" -#: application/view/settings.py:223 +#: application/view/settings.py:212 msgid "Spanish" msgstr "西班牙语" -#: application/view/settings.py:224 +#: application/view/settings.py:213 msgid "Portuguese" msgstr "葡萄牙语" -#: application/view/settings.py:225 +#: application/view/settings.py:214 msgid "German" msgstr "德语" -#: application/view/settings.py:226 +#: application/view/settings.py:215 msgid "Italian" msgstr "意大利语" -#: application/view/settings.py:227 +#: application/view/settings.py:216 msgid "Japanese" msgstr "日语" -#: application/view/settings.py:228 +#: application/view/settings.py:217 msgid "Russian" msgstr "俄语" -#: application/view/settings.py:229 +#: application/view/settings.py:218 msgid "Turkish" msgstr "土耳其语" -#: application/view/settings.py:230 +#: application/view/settings.py:219 msgid "Korean" msgstr "韩语" -#: application/view/settings.py:231 +#: application/view/settings.py:220 msgid "Arabic" msgstr "阿拉伯语" -#: application/view/settings.py:232 +#: application/view/settings.py:221 msgid "Czech" msgstr "捷克语" -#: application/view/settings.py:233 +#: application/view/settings.py:222 msgid "Dutch" msgstr "荷兰语" -#: application/view/settings.py:234 +#: application/view/settings.py:223 msgid "Greek" msgstr "希腊语" -#: application/view/settings.py:235 +#: application/view/settings.py:224 msgid "Hindi" msgstr "印地语" -#: application/view/settings.py:236 +#: application/view/settings.py:225 msgid "Malaysian" msgstr "马来西亚语" -#: application/view/settings.py:237 +#: application/view/settings.py:226 msgid "Bengali" msgstr "孟加拉语" -#: application/view/settings.py:238 +#: application/view/settings.py:227 msgid "Persian" msgstr "波斯语" -#: application/view/settings.py:239 +#: application/view/settings.py:228 msgid "Urdu" msgstr "乌尔都语" -#: application/view/settings.py:240 +#: application/view/settings.py:229 msgid "Swahili" msgstr "斯瓦希里语" -#: application/view/settings.py:241 +#: application/view/settings.py:230 msgid "Vietnamese" msgstr "越南语" -#: application/view/settings.py:242 +#: application/view/settings.py:231 msgid "Punjabi" msgstr "旁遮普语" -#: application/view/settings.py:243 +#: application/view/settings.py:232 msgid "Javanese" msgstr "爪哇语" -#: application/view/settings.py:244 +#: application/view/settings.py:233 msgid "Tagalog" msgstr "他加禄语" -#: application/view/settings.py:245 +#: application/view/settings.py:234 msgid "Hausa" msgstr "豪萨语" -#: application/view/settings.py:246 +#: application/view/settings.py:235 msgid "Thai" msgstr "泰语" -#: application/view/settings.py:247 +#: application/view/settings.py:236 msgid "Polish" msgstr "波兰语" -#: application/view/settings.py:248 +#: application/view/settings.py:237 msgid "Romanian" msgstr "罗马尼亚语" -#: application/view/settings.py:249 +#: application/view/settings.py:238 msgid "Hungarian" msgstr "匈牙利语" -#: application/view/settings.py:250 +#: application/view/settings.py:239 msgid "Swedish" msgstr "瑞典语" -#: application/view/settings.py:251 +#: application/view/settings.py:240 msgid "Hebrew" msgstr "希伯来语" -#: application/view/settings.py:252 +#: application/view/settings.py:241 msgid "Norwegian" msgstr "挪威语" -#: application/view/settings.py:253 +#: application/view/settings.py:242 msgid "Finnish" msgstr "芬兰语" -#: application/view/settings.py:254 +#: application/view/settings.py:243 msgid "Danish" msgstr "丹麦语" -#: application/view/settings.py:255 +#: application/view/settings.py:244 msgid "Ukrainian" msgstr "乌克兰语" -#: application/view/settings.py:256 +#: application/view/settings.py:245 msgid "Tamil" msgstr "泰米尔语" -#: application/view/settings.py:257 +#: application/view/settings.py:246 msgid "Marathi" msgstr "马拉地语" -#: application/view/settings.py:258 +#: application/view/settings.py:247 msgid "Burmese" msgstr "缅甸语" -#: application/view/settings.py:259 +#: application/view/settings.py:248 msgid "Amharic" msgstr "阿姆哈拉语" -#: application/view/settings.py:260 +#: application/view/settings.py:249 msgid "Azerbaijani" msgstr "阿塞拜疆语" -#: application/view/settings.py:261 +#: application/view/settings.py:250 msgid "Kazakh" msgstr "哈萨克语" @@ -2160,4 +2156,3 @@ msgstr "此Recipe的网站登录信息已经保存。" #: application/view/translator.py:77 application/view/translator.py:160 msgid "The api key is required." msgstr "需要填写api key." - diff --git a/application/view/reader.py b/application/view/reader.py index 825b913d..acf216b9 100644 --- a/application/view/reader.py +++ b/application/view/reader.py @@ -153,9 +153,11 @@ def ReaderSettingsPost(user: KeUser, userDir: str): fontSize = str_to_float(form.get('fontSize', '1.0'), 1.0) allowLinks = 1 if str_to_bool(form.get('allowLinks', 'true')) else 0 topleftDict = 1 if str_to_bool(form.get('topleftDict', 'true')) else 0 - inkMode = str_to_int(form.get('inkMode', '1'), 1) + darkMode = 1 if str_to_bool(form.get('darkMode', 'true')) else 0 + inkMode = 1 if str_to_bool(form.get('inkMode', 'true')) else 0 params = user.cfg('reader_params') - params.update({'fontSize': fontSize, 'allowLinks': allowLinks, 'inkMode': inkMode, 'topleftDict': topleftDict}) + params.update({'fontSize': fontSize, 'allowLinks': allowLinks, 'inkMode': inkMode, + 'topleftDict': topleftDict, 'darkMode': darkMode}) user.set_cfg('reader_params', params) user.save() return {'status': 'ok'}