diff --git a/src/main/redux/sagas/publication/openPublication.ts b/src/main/redux/sagas/publication/openPublication.ts index f69381338..c429d6292 100644 --- a/src/main/redux/sagas/publication/openPublication.ts +++ b/src/main/redux/sagas/publication/openPublication.ts @@ -33,6 +33,33 @@ const filename_ = "readium-desktop:main:redux:sagas:publication:open"; const debug = debug_(filename_); export const ERROR_MESSAGE_ON_USERKEYCHECKREQUEST = "ERROR_MESSAGE_ON_USERKEYCHECKREQUEST"; +export const ERROR_MESSAGE_ENCRYPTED_NO_LICENSE = "ERROR_MESSAGE_ENCRYPTED_NO_LICENSE"; + +export const r2PublicationIsEncryptedAndHasNoLicense = (pub: R2Publication) => { + if (pub.LCP) { + return false; + } + let atLeastOneResourceIsEncrypted = false; + if (pub.Spine) { + for (const link of pub.Spine) { + // link.Properties?.Encrypted?.Scheme === "http://readium.org/2014/01/lcp" + if (link.Properties?.Encrypted?.Algorithm && link.Properties.Encrypted.Algorithm !== "http://www.idpf.org/2008/embedding" && link.Properties.Encrypted.Algorithm !== "http://ns.adobe.com/pdf/enc#RC") { + atLeastOneResourceIsEncrypted = true; + break; + } + } + } + if (!atLeastOneResourceIsEncrypted && pub.Resources) { + for (const link of pub.Resources) { + // link.Properties?.Encrypted?.Scheme === "http://readium.org/2014/01/lcp" + if (link.Properties?.Encrypted?.Algorithm && link.Properties.Encrypted.Algorithm !== "http://www.idpf.org/2008/embedding" && link.Properties.Encrypted.Algorithm !== "http://ns.adobe.com/pdf/enc#RC") { + atLeastOneResourceIsEncrypted = true; + break; + } + } + } + return atLeastOneResourceIsEncrypted; +}; const convertDoc = async (doc: PublicationDocument, publicationViewConverter: PublicationViewConverter) => { return await publicationViewConverter.convertDocumentToView(doc); @@ -225,6 +252,11 @@ export function* streamerOpenPublicationAndReturnManifestUrl(pubId: string) { throw error; } + } else { + const isEncrypted = r2PublicationIsEncryptedAndHasNoLicense(r2Publication); + if (isEncrypted) { + throw ERROR_MESSAGE_ENCRYPTED_NO_LICENSE; + } } // const manifestUrl = _USE_HTTP_STREAMER ? diff --git a/src/main/redux/sagas/reader.ts b/src/main/redux/sagas/reader.ts index 0f077f8de..78bb0b8a5 100644 --- a/src/main/redux/sagas/reader.ts +++ b/src/main/redux/sagas/reader.ts @@ -28,7 +28,7 @@ import { call as callTyped, select as selectTyped, put as putTyped } from "typed import { types } from "util"; import { - ERROR_MESSAGE_ON_USERKEYCHECKREQUEST, streamerOpenPublicationAndReturnManifestUrl, + ERROR_MESSAGE_ON_USERKEYCHECKREQUEST, ERROR_MESSAGE_ENCRYPTED_NO_LICENSE, streamerOpenPublicationAndReturnManifestUrl, } from "./publication/openPublication"; import { PublicationDocument } from "readium-desktop/main/db/document/publication"; import { getTranslator } from "readium-desktop/common/services/translator"; @@ -177,7 +177,15 @@ function* readerOpenRequest(action: readerActions.openRequest.TAction) { } catch (e) { - if (e.toString() !== ERROR_MESSAGE_ON_USERKEYCHECKREQUEST) { + const errMsg = e.toString(); + if (errMsg === ERROR_MESSAGE_ENCRYPTED_NO_LICENSE) { + yield put( + toastActions.openRequest.build( + ToastType.Error, + getTranslator().translate("message.open.error", { err: getTranslator().translate("publication.encryptedNoLicense") }), + ), + ); + } else if (errMsg !== ERROR_MESSAGE_ON_USERKEYCHECKREQUEST) { if (types.isNativeError(e)) { // disable "Error: " @@ -187,7 +195,7 @@ function* readerOpenRequest(action: readerActions.openRequest.TAction) { yield put( toastActions.openRequest.build( ToastType.Error, - getTranslator().translate("message.open.error", { err: e.toString() }), + getTranslator().translate("message.open.error", { err: errMsg }), ), ); } diff --git a/src/resources/locales/ar.json b/src/resources/locales/ar.json index 576be484a..c3684ceeb 100644 --- a/src/resources/locales/ar.json +++ b/src/resources/locales/ar.json @@ -6,7 +6,6 @@ "leftSlideButton": "سحب إلى اليسار", "mainContent": "المحتوى الرئيسي", "rightSlideButton": "سحب إلى اليمين", - "searchBook": "بحث حسب العنوان", "skipLink": "تخطى الى المحتوى", "toolbar": "شريط الأدوات" }, @@ -119,7 +118,6 @@ "released": "تم نشره بتاريخ", "sort": "الفرز حسب", "tag": "الوسم", - "tagCount": "عدد الوسوم", "tags": "الوسوم", "update": "تحرير" }, @@ -293,6 +291,7 @@ "duration": { "title": "المدة" }, + "encryptedNoLicense": "", "expired": "انتهت مدة الاستعارة", "expiredLcp": "انتهت صلاحية ترخيص LCP الخاص بهذا المنشور.", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "" }, "session": { - "no": "تعطيل", - "title": "حفظ الجلسة", - "yes": "تمكين" + "title": "حفظ الجلسة" }, "tabs": { "appearance": "المظهر", diff --git a/src/resources/locales/bg.json b/src/resources/locales/bg.json index 342d29b91..31226832b 100644 --- a/src/resources/locales/bg.json +++ b/src/resources/locales/bg.json @@ -6,7 +6,6 @@ "leftSlideButton": "Плъзни списъка наляво", "mainContent": "главно съдържание", "rightSlideButton": "Плъзни списъка надясно", - "searchBook": "Търси по заглавие", "skipLink": "Преминете към съдържанието", "toolbar": "лента с инструменти" }, @@ -119,7 +118,6 @@ "released": "Публикувано на", "sort": "Сортирай по", "tag": "", - "tagCount": "Брой маркери", "tags": "Маркери", "update": "Редактирай" }, @@ -293,6 +291,7 @@ "duration": { "title": "Продължителност" }, + "encryptedNoLicense": "", "expired": "", "expiredLcp": "Тази книга не може да бъде прочетена, защото лицензът за LCP е изтекъл.", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "" }, "session": { - "no": "Деактивирай", - "title": "Запиши сесията", - "yes": "Активирай" + "title": "Запиши сесията" }, "tabs": { "appearance": "", diff --git a/src/resources/locales/ca.json b/src/resources/locales/ca.json index 974cfd548..436e415e0 100644 --- a/src/resources/locales/ca.json +++ b/src/resources/locales/ca.json @@ -6,7 +6,6 @@ "leftSlideButton": "Lliscar llista a l'esquerra", "mainContent": "Contingut principal", "rightSlideButton": "Lliscar llista a la dreta", - "searchBook": "Cercar per títol", "skipLink": "Passar el contingut", "toolbar": "Barra d'eines" }, @@ -119,7 +118,6 @@ "released": "Publicat en", "sort": "Ordenar per", "tag": "Etiqueta", - "tagCount": "Número d'etiquetes", "tags": "Etiquetes", "update": "Editar" }, @@ -293,6 +291,7 @@ "duration": { "title": "Duració" }, + "encryptedNoLicense": "", "expired": "Préstec expirat", "expiredLcp": "Aquest llibre no es pot llegir perquè la llicència LCP ha expirat.", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "" }, "session": { - "no": "Deshabilitar", - "title": "Guardar sessió", - "yes": "Habilitar" + "title": "Guardar sessió" }, "tabs": { "appearance": "Aparença", diff --git a/src/resources/locales/da.json b/src/resources/locales/da.json index fe6f2f3db..2fa6032b0 100644 --- a/src/resources/locales/da.json +++ b/src/resources/locales/da.json @@ -6,7 +6,6 @@ "leftSlideButton": "Flyt listen til venstre", "mainContent": "hovedindhold", "rightSlideButton": "Flyt listen til højre", - "searchBook": "Søg efter titel", "skipLink": "Hop til indhold", "toolbar": "værktøjslinje" }, @@ -119,7 +118,6 @@ "released": "Udgivelsesdato", "sort": "Sortér efter", "tag": "Tag", - "tagCount": "Antal tags", "tags": "Tags", "update": "Rediger" }, @@ -293,6 +291,7 @@ "duration": { "title": "Spilletid" }, + "encryptedNoLicense": "", "expired": "Lånet er udløbet", "expiredLcp": "Denne bog kan ikke læses, da LCP-licensen er udløbet.", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "Tilføj en bibliotekskonto" }, "session": { - "no": "Fra", - "title": "Gem session", - "yes": "Til" + "title": "Gem session" }, "tabs": { "appearance": "Udseende", diff --git a/src/resources/locales/de.json b/src/resources/locales/de.json index 2e72d310b..665bb51d8 100644 --- a/src/resources/locales/de.json +++ b/src/resources/locales/de.json @@ -6,7 +6,6 @@ "leftSlideButton": "Scrolle nach links", "mainContent": "Hauptinhalt", "rightSlideButton": "Scrolle nach rechts", - "searchBook": "Suche nach einem Buch", "skipLink": "Gehe zum Inhalt", "toolbar": "Symbolleiste" }, @@ -119,7 +118,6 @@ "released": "Veröffentlicht am", "sort": "Sortieren nach", "tag": "Tag", - "tagCount": "Anzahl der Tags", "tags": "Tags", "update": "Bearbeiten" }, @@ -293,6 +291,7 @@ "duration": { "title": "Dauer" }, + "encryptedNoLicense": "", "expired": "Ausleihe abgelaufen", "expiredLcp": "Die LCP-Lizenz dieser Veröffentlichung ist abgelaufen.", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "" }, "session": { - "no": "Deaktivieren", - "title": "Sitzung speichern", - "yes": "Aktivieren" + "title": "Sitzung speichern" }, "tabs": { "appearance": "Erscheinungsbild", diff --git a/src/resources/locales/el.json b/src/resources/locales/el.json index a4a7b6fc0..65e24e0e1 100644 --- a/src/resources/locales/el.json +++ b/src/resources/locales/el.json @@ -6,7 +6,6 @@ "leftSlideButton": "Μετακίνηση προς τα αριστερά", "mainContent": "Κυρίως περιεχόμενο", "rightSlideButton": "Μετακίνηση προς τα δεξιά", - "searchBook": "Αναζήτηση με τίτλο", "skipLink": "Μετάβαση στο περιεχόμενο", "toolbar": "Γραμμή εργαλείων" }, @@ -119,7 +118,6 @@ "released": "Δημοσιεύθηκε στις", "sort": "Ταξινόμηση με", "tag": "Ετικέτα", - "tagCount": "Πλήθος ετικετών", "tags": "Ετικέτες", "update": "Επεξεργασία" }, @@ -293,6 +291,7 @@ "duration": { "title": "Διάρκεια" }, + "encryptedNoLicense": "", "expired": "Ο δανεισμός έχει λήξει", "expiredLcp": "Αυτό το βιβλίο δεν μπορεί να διαβαστεί επειδή η άδεια χρήσης LCP έχει λήξει.", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "" }, "session": { - "no": "Ανενεργή", - "title": "Αποθήκευση συνεδρίας", - "yes": "Ενεργή" + "title": "Αποθήκευση συνεδρίας" }, "tabs": { "appearance": "Εμφάνιση", diff --git a/src/resources/locales/en.json b/src/resources/locales/en.json index 9ba15788b..25f013ea5 100644 --- a/src/resources/locales/en.json +++ b/src/resources/locales/en.json @@ -6,7 +6,6 @@ "leftSlideButton": "Slide to the left", "mainContent": "main content", "rightSlideButton": "Slide to the right", - "searchBook": "Search by title", "skipLink": "Skip to content", "toolbar": "toolbar" }, @@ -119,7 +118,6 @@ "released": "Published on", "sort": "Sort by", "tag": "Tag", - "tagCount": "Tag count", "tags": "Tags", "update": "Edit" }, @@ -293,6 +291,7 @@ "duration": { "title": "Duration" }, + "encryptedNoLicense": "Publication is encrypted but lacks an LCP license!", "expired": "Loan expired", "expiredLcp": "This publication's LCP license is expired.", "incorrectPassphrase": "No stored passphrase fits the publication, or the entered passphrase is wrong.", @@ -557,9 +556,7 @@ "title": "Add a library account" }, "session": { - "no": "Disable", - "title": "Save session", - "yes": "Enable" + "title": "Save session" }, "tabs": { "appearance": "Appearance", diff --git a/src/resources/locales/es.json b/src/resources/locales/es.json index 05e5a03fb..88ebb39c4 100644 --- a/src/resources/locales/es.json +++ b/src/resources/locales/es.json @@ -6,7 +6,6 @@ "leftSlideButton": "Desplazar lista a la izquierda", "mainContent": "Contenido principal", "rightSlideButton": "Desplazar lista a la derecha", - "searchBook": "Buscar por título", "skipLink": "Pasar al contenido", "toolbar": "Barra de herramientas" }, @@ -119,7 +118,6 @@ "released": "Publicado en", "sort": "Ordenar por", "tag": "Etiqueta", - "tagCount": "Número de etiquetas", "tags": "Etiquetas", "update": "Editar" }, @@ -293,6 +291,7 @@ "duration": { "title": "Duración" }, + "encryptedNoLicense": "", "expired": "Préstamo vencido", "expiredLcp": "Este libro no se puede leer porque la licencia LCP ha expirado.", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "" }, "session": { - "no": "Deshabilitar", - "title": "Guardar sesión", - "yes": "Habilitar" + "title": "Guardar sesión" }, "tabs": { "appearance": "Aspecto visual", diff --git a/src/resources/locales/eu.json b/src/resources/locales/eu.json index ceb898744..cc63e47df 100644 --- a/src/resources/locales/eu.json +++ b/src/resources/locales/eu.json @@ -6,7 +6,6 @@ "leftSlideButton": "Mugitu zerrenda ezkerrera", "mainContent": "Eduki nagusia", "rightSlideButton": "Mugitu zerrenda eskuinera", - "searchBook": "Bilatu izenburuaren arabera", "skipLink": "Pasatu edukira", "toolbar": "Tresna-barra" }, @@ -119,7 +118,6 @@ "released": "Hemen argitaratua", "sort": "Ordenatu honen arabera", "tag": "Etiketa", - "tagCount": "Etiketa kopurua", "tags": "Etiketak", "update": "Editatu" }, @@ -293,6 +291,7 @@ "duration": { "title": "Iraupena" }, + "encryptedNoLicense": "", "expired": "Mailegua iraungi", "expiredLcp": "Liburu hau ezin da irakurri LCP lizentzia iraungi delako.", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "" }, "session": { - "no": "Desgaitu", - "title": "Gorde saioa", - "yes": "Gaitu" + "title": "Gorde saioa" }, "tabs": { "appearance": "Itxura", diff --git a/src/resources/locales/fi.json b/src/resources/locales/fi.json index 55372259a..50b05d884 100644 --- a/src/resources/locales/fi.json +++ b/src/resources/locales/fi.json @@ -6,7 +6,6 @@ "leftSlideButton": "Siirry listalla vasemmalle", "mainContent": "Pääsisältö", "rightSlideButton": "Siirry listalla oikealle", - "searchBook": "Hae kirjan nimellä", "skipLink": "Hyppää sisältöön", "toolbar": "Työkalurivi" }, @@ -119,7 +118,6 @@ "released": "Julkaistu", "sort": "Lajittele", "tag": "Tunniste", - "tagCount": "Tunnistemäärä", "tags": "Tunnisteet", "update": "Muokkaa" }, @@ -293,6 +291,7 @@ "duration": { "title": "Kesto" }, + "encryptedNoLicense": "", "expired": "Laina-aika on päättynyt", "expiredLcp": "LCP-käyttöoikeus on päättynyt.", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "" }, "session": { - "no": "Keskeytä", - "title": "Tallenna istunto", - "yes": "Jatka" + "title": "Tallenna istunto" }, "tabs": { "appearance": "Ulkoasu", diff --git a/src/resources/locales/fr.json b/src/resources/locales/fr.json index 3b7067fab..bc10a91bd 100644 --- a/src/resources/locales/fr.json +++ b/src/resources/locales/fr.json @@ -6,7 +6,6 @@ "leftSlideButton": "Faire défiler vers la gauche", "mainContent": "contenu principal", "rightSlideButton": "Faire défiler vers la droite", - "searchBook": "Rechercher un livre", "skipLink": "Aller au contenu", "toolbar": "barre d'outils" }, @@ -119,7 +118,6 @@ "released": "Publié le", "sort": "Trier par", "tag": "Mot-clef", - "tagCount": "Nombre de mots-clefs", "tags": "Mots-clefs", "update": "Éditer" }, @@ -293,6 +291,7 @@ "duration": { "title": "Durée" }, + "encryptedNoLicense": "", "expired": "Prêt expiré", "expiredLcp": "Ce livre ne peut être lu car la licence LCP a expiré.", "incorrectPassphrase": "Aucune clé LCP enregistrée ne correspond à la publication ou la clé saisie est incorrecte.", @@ -557,9 +556,7 @@ "title": "" }, "session": { - "no": "Désactiver", - "title": "Sauvegarder la session", - "yes": "Activer" + "title": "Sauvegarder la session" }, "tabs": { "appearance": "Apparence", diff --git a/src/resources/locales/gl.json b/src/resources/locales/gl.json index 9f715332a..a611047b1 100644 --- a/src/resources/locales/gl.json +++ b/src/resources/locales/gl.json @@ -6,7 +6,6 @@ "leftSlideButton": "Desprazar lista á esquerda", "mainContent": "Contido principal", "rightSlideButton": "Desprazar lista á dereita", - "searchBook": "Buscar por título", "skipLink": "Pasar ao contido", "toolbar": "Barra de ferramentas" }, @@ -119,7 +118,6 @@ "released": "Publicado en", "sort": "Ordenar por", "tag": "Etiqueta", - "tagCount": "Número de etiquetas", "tags": "Etiquetas", "update": "Edita" }, @@ -293,6 +291,7 @@ "duration": { "title": "Duración" }, + "encryptedNoLicense": "", "expired": "Préstamo expirado", "expiredLcp": "Este libro non se pode ler porque a licenza LCP expirou.", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "" }, "session": { - "no": "Deshabilitar", - "title": "Gardar sesión", - "yes": "Habilitar" + "title": "Gardar sesión" }, "tabs": { "appearance": "Aspecto visual", diff --git a/src/resources/locales/hr.json b/src/resources/locales/hr.json index 0a584d611..2de0b2131 100644 --- a/src/resources/locales/hr.json +++ b/src/resources/locales/hr.json @@ -6,7 +6,6 @@ "leftSlideButton": "Povuci popis ulijevo", "mainContent": "glavni sadržaj", "rightSlideButton": "Povuci popis udesno", - "searchBook": "Pretraži po naslovu", "skipLink": "Preskoči do sadržaja", "toolbar": "alatna traka" }, @@ -119,7 +118,6 @@ "released": "Datum izdavanja", "sort": "Sortiraj po", "tag": "", - "tagCount": "Broj oznaka", "tags": "Oznake", "update": "Uredi" }, @@ -293,6 +291,7 @@ "duration": { "title": "Trajanje" }, + "encryptedNoLicense": "", "expired": "", "expiredLcp": "Ova knjiga se ne može čitati jer je LCP licenca istekla.", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "" }, "session": { - "no": "Onemogući", - "title": "Spremi sesiju", - "yes": "Omogući" + "title": "Spremi sesiju" }, "tabs": { "appearance": "", diff --git a/src/resources/locales/it.json b/src/resources/locales/it.json index fb591b8a5..b1241a67f 100644 --- a/src/resources/locales/it.json +++ b/src/resources/locales/it.json @@ -6,7 +6,6 @@ "leftSlideButton": "Scorri la lista a sinistra", "mainContent": "contenuto principale", "rightSlideButton": "Scorri la lista a destra", - "searchBook": "Ricerca per titolo", "skipLink": "Salta al contenuto", "toolbar": "barra degli strumenti" }, @@ -119,7 +118,6 @@ "released": "Pubblicato il", "sort": "Ordina per", "tag": "Tag", - "tagCount": "Contatore Tag", "tags": "Tags", "update": "Modifica" }, @@ -293,6 +291,7 @@ "duration": { "title": "Durata" }, + "encryptedNoLicense": "", "expired": "Prestito scaduto", "expiredLcp": "Questo libro non può essere letto perchè la licenza LCP è scaduta.", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "" }, "session": { - "no": "Disabilita", - "title": "Salva sessione", - "yes": "Abilita" + "title": "Salva sessione" }, "tabs": { "appearance": "Aspetto", diff --git a/src/resources/locales/ja.json b/src/resources/locales/ja.json index 71d4861cb..693218049 100644 --- a/src/resources/locales/ja.json +++ b/src/resources/locales/ja.json @@ -6,7 +6,6 @@ "leftSlideButton": "左にスライド", "mainContent": "メインコンテンツ", "rightSlideButton": "右にスライド", - "searchBook": "書名から検索", "skipLink": "コンテンツに移動", "toolbar": "ツールバー" }, @@ -119,7 +118,6 @@ "released": "出版日", "sort": "並び替え", "tag": "タグ", - "tagCount": "タグの数", "tags": "タグ", "update": "編集" }, @@ -293,6 +291,7 @@ "duration": { "title": "期間" }, + "encryptedNoLicense": "", "expired": "貸出の期限切れ", "expiredLcp": "この本のLCPライセンスの有効期限が切れました。", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "" }, "session": { - "no": "無効", - "title": "セッションを保存", - "yes": "有効" + "title": "セッションを保存" }, "tabs": { "appearance": "外観", diff --git a/src/resources/locales/ka.json b/src/resources/locales/ka.json index cdf362e65..9095435a6 100644 --- a/src/resources/locales/ka.json +++ b/src/resources/locales/ka.json @@ -6,7 +6,6 @@ "leftSlideButton": "სიის მარცხნივ ჩაწევა", "mainContent": "ძირითადი შიგთავსი", "rightSlideButton": "სიის მარჯვნივ ჩაწევა", - "searchBook": "სათაურით ძიება", "skipLink": "შიგთავსზე გადახტომა", "toolbar": "ინსტრუმენტთა პანელი" }, @@ -119,7 +118,6 @@ "released": "გამოცემის თარიღი", "sort": "დალაგება", "tag": "", - "tagCount": "იარლიყების რაოდენობა", "tags": "იარლიყები", "update": "" }, @@ -293,6 +291,7 @@ "duration": { "title": "ხანგრძლივობა" }, + "encryptedNoLicense": "", "expired": "", "expiredLcp": "ამ წიგნის წაკითხვა შეუძლებელია რადგან LCP ლიცენზიას ვადა გაუვიდა.", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "" }, "session": { - "no": "გამორთულია", - "title": "სესიის შენახვა", - "yes": "ჩართულია" + "title": "სესიის შენახვა" }, "tabs": { "appearance": "", diff --git a/src/resources/locales/ko.json b/src/resources/locales/ko.json index d4b078cfa..f420c29cd 100644 --- a/src/resources/locales/ko.json +++ b/src/resources/locales/ko.json @@ -6,7 +6,6 @@ "leftSlideButton": "목록 왼쪽으로 밀기 ", "mainContent": "메인 콘텐츠", "rightSlideButton": "목록 오른쪽으로 밀기", - "searchBook": "제목으로 검색", "skipLink": "콘텐츠로 건너뛰기", "toolbar": "툴바" }, @@ -119,7 +118,6 @@ "released": "발행일", "sort": "정렬 기준", "tag": "", - "tagCount": "태그 개수", "tags": "태그", "update": "편집" }, @@ -293,6 +291,7 @@ "duration": { "title": "트랙 시간" }, + "encryptedNoLicense": "", "expired": "", "expiredLcp": "이 책은 LCP 라이선스가 만료되어서 읽을 수 없습니다", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "" }, "session": { - "no": "비활성화", - "title": "세션 저장", - "yes": "활성화" + "title": "세션 저장" }, "tabs": { "appearance": "", diff --git a/src/resources/locales/lt.json b/src/resources/locales/lt.json index 72126dcad..3d76681ac 100644 --- a/src/resources/locales/lt.json +++ b/src/resources/locales/lt.json @@ -6,7 +6,6 @@ "leftSlideButton": "Paslinkti sąrašą į kairę", "mainContent": "pagrindinis turinys", "rightSlideButton": "Paslinkti sąrašą į dešinę", - "searchBook": "Ieškoti pagal pavadinimą", "skipLink": "Peršokti į turinį", "toolbar": "įrankių juosta" }, @@ -119,7 +118,6 @@ "released": "Išleidimo data", "sort": "Rikiuoti pagal", "tag": "Žymė", - "tagCount": "Žymių skaičius", "tags": "Žymės", "update": "Keisti" }, @@ -293,6 +291,7 @@ "duration": { "title": "Trukmė" }, + "encryptedNoLicense": "", "expired": "Skolinimo terminas baigėsi", "expiredLcp": "Šio leidinio negalima skaityti, nes baigėsi LCP licencijos galiojimo laikas.", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "" }, "session": { - "no": "Išjungti", - "title": "Sesijos išsaugojimas", - "yes": "Įjungti" + "title": "Sesijos išsaugojimas" }, "tabs": { "appearance": "Išvaizda", diff --git a/src/resources/locales/nl.json b/src/resources/locales/nl.json index d5ed1623c..50448141c 100644 --- a/src/resources/locales/nl.json +++ b/src/resources/locales/nl.json @@ -6,7 +6,6 @@ "leftSlideButton": "Schuif lijst naar links", "mainContent": "hoofd inhoud", "rightSlideButton": "Schuif lijst naar rechts", - "searchBook": "Zoek op titel", "skipLink": "Ga naar inhoud", "toolbar": "werkbalk" }, @@ -119,7 +118,6 @@ "released": "Uitgegeven op", "sort": "Sorteer op", "tag": "Label", - "tagCount": "Label aantal", "tags": "Labels", "update": "Wijzig" }, @@ -293,6 +291,7 @@ "duration": { "title": "Duur" }, + "encryptedNoLicense": "", "expired": "Lening verlopen", "expiredLcp": "Dit boek kan niet gelezen worden omdat de LCP licentie verlopen is.", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "" }, "session": { - "no": "Schakel uit", - "title": "Bewaar sessie", - "yes": "Schakel in" + "title": "Bewaar sessie" }, "tabs": { "appearance": "Weergave", diff --git a/src/resources/locales/pt-br.json b/src/resources/locales/pt-br.json index b88a8fe7c..f4b117638 100644 --- a/src/resources/locales/pt-br.json +++ b/src/resources/locales/pt-br.json @@ -6,7 +6,6 @@ "leftSlideButton": "Deslizar para a esquerda", "mainContent": "conteúdo principal", "rightSlideButton": "Deslizar para a direita", - "searchBook": "Busca por título", "skipLink": "Ir para o conteúdo", "toolbar": "barra de ferramentas" }, @@ -119,7 +118,6 @@ "released": "Publicado em", "sort": "Ordenar por", "tag": "Tag", - "tagCount": "Contagem de tags", "tags": "Tags", "update": "Editar" }, @@ -293,6 +291,7 @@ "duration": { "title": "Duração" }, + "encryptedNoLicense": "", "expired": "Empréstimo expirado", "expiredLcp": "A licença LCP desta publicação expirou.", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "" }, "session": { - "no": "Desabilitar", - "title": "Salvar sessão", - "yes": "Habilitar" + "title": "Salvar sessão" }, "tabs": { "appearance": "Aparência", diff --git a/src/resources/locales/pt-pt.json b/src/resources/locales/pt-pt.json index a452062c7..d3ffa575b 100644 --- a/src/resources/locales/pt-pt.json +++ b/src/resources/locales/pt-pt.json @@ -6,7 +6,6 @@ "leftSlideButton": "Deslizar lista para a esquerda", "mainContent": "Conteúdo principal", "rightSlideButton": "Deslizar lista para a direita", - "searchBook": "Pesquisar por título", "skipLink": "Ir para o conteúdo", "toolbar": "Barra de ferramentas" }, @@ -119,7 +118,6 @@ "released": "Publicado em", "sort": "Ordenar por", "tag": "Etiqueta", - "tagCount": "Contagem de etiquetas", "tags": "Etiquetas", "update": "Atualizar" }, @@ -293,6 +291,7 @@ "duration": { "title": "Duração" }, + "encryptedNoLicense": "", "expired": "Empréstimo expirado", "expiredLcp": "A licença LCP deste documento está expirada.", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "Adicionar conta de biblioteca" }, "session": { - "no": "Desativar", - "title": "Guardar sessão", - "yes": "Ativar" + "title": "Guardar sessão" }, "tabs": { "appearance": "Aparência", diff --git a/src/resources/locales/ru.json b/src/resources/locales/ru.json index d5c0becf9..a2a21c915 100644 --- a/src/resources/locales/ru.json +++ b/src/resources/locales/ru.json @@ -6,7 +6,6 @@ "leftSlideButton": "Сдвиньте список влево", "mainContent": "Основное содержание", "rightSlideButton": "Сдвиньте список вправо", - "searchBook": "Поиск по названию", "skipLink": "Перейти к содержимому", "toolbar": "Панель инструментов" }, @@ -119,7 +118,6 @@ "released": "Дата издания", "sort": "Сортировать по", "tag": "Тег", - "tagCount": "Количество тегов", "tags": "Теги", "update": "Изменить" }, @@ -293,6 +291,7 @@ "duration": { "title": "Продолжительность" }, + "encryptedNoLicense": "", "expired": "Срок кредита истек", "expiredLcp": "Эту книгу нельзя прочитать, потому что срок действия лицензии LCP истек.", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "" }, "session": { - "no": "Отключить", - "title": "Сохранение сеанса", - "yes": "Включить" + "title": "Сохранение сеанса" }, "tabs": { "appearance": "Внешний вид", diff --git a/src/resources/locales/sl.json b/src/resources/locales/sl.json index d52e974f5..4458a2c0e 100644 --- a/src/resources/locales/sl.json +++ b/src/resources/locales/sl.json @@ -6,7 +6,6 @@ "leftSlideButton": "Premakni seznam v levo", "mainContent": "glavna vsebina", "rightSlideButton": "Premakni seznam v desno", - "searchBook": "Iskanje po naslovu", "skipLink": "Preskoči na vsebino", "toolbar": "orodna vrstica" }, @@ -119,7 +118,6 @@ "released": "Objavljeno na", "sort": "Razvrsti po", "tag": "Oznaka", - "tagCount": "Število oznak", "tags": "Oznake", "update": "Uredi" }, @@ -293,6 +291,7 @@ "duration": { "title": "Trajanje" }, + "encryptedNoLicense": "", "expired": "Rok izposoje je potekel", "expiredLcp": "Knjige ni mogoče prebrati, ker je licenca LCP potekla.", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "" }, "session": { - "no": "Onemogoči", - "title": "Shrani sejo", - "yes": "Omogoči" + "title": "Shrani sejo" }, "tabs": { "appearance": "Izgled", diff --git a/src/resources/locales/sv.json b/src/resources/locales/sv.json index defd45ed3..8aa41e818 100644 --- a/src/resources/locales/sv.json +++ b/src/resources/locales/sv.json @@ -6,7 +6,6 @@ "leftSlideButton": "Dra åt vänster", "mainContent": "huvudinnehåll", "rightSlideButton": "Dra åt höger", - "searchBook": "Sök på titel", "skipLink": "Hoppa till innehåll", "toolbar": "vektygsfält" }, @@ -119,7 +118,6 @@ "released": "Publicerad den", "sort": "Sortera efter", "tag": "Tagg", - "tagCount": "Antal taggar", "tags": "Taggar", "update": "Redigera" }, @@ -293,6 +291,7 @@ "duration": { "title": "Längd" }, + "encryptedNoLicense": "", "expired": "Lånet har gått ut.", "expiredLcp": "Den här boken går inte att läsa eftersom LCP-licensen har löpt ut.", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "" }, "session": { - "no": "Inaktivera", - "title": "Spara session", - "yes": "Aktivera" + "title": "Spara session" }, "tabs": { "appearance": "Utseende", diff --git a/src/resources/locales/zh-cn.json b/src/resources/locales/zh-cn.json index a27d8965a..fdb6a20c3 100644 --- a/src/resources/locales/zh-cn.json +++ b/src/resources/locales/zh-cn.json @@ -6,7 +6,6 @@ "leftSlideButton": "将列表划至左侧", "mainContent": "主要内容", "rightSlideButton": "将列表划至右侧", - "searchBook": "按书名搜索", "skipLink": "跳转至内容", "toolbar": "工具栏" }, @@ -119,7 +118,6 @@ "released": "出版日期", "sort": "排序方式", "tag": "标签", - "tagCount": "标签数", "tags": "标签", "update": "编辑" }, @@ -293,6 +291,7 @@ "duration": { "title": "播放时长" }, + "encryptedNoLicense": "", "expired": "借阅已到期", "expiredLcp": "此书无法阅读,因为LCP许可证已到期。", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "" }, "session": { - "no": "禁用", - "title": "保存登录状态", - "yes": "启用" + "title": "保存登录状态" }, "tabs": { "appearance": "外观", diff --git a/src/resources/locales/zh-tw.json b/src/resources/locales/zh-tw.json index 29a746ac8..138758c04 100644 --- a/src/resources/locales/zh-tw.json +++ b/src/resources/locales/zh-tw.json @@ -6,7 +6,6 @@ "leftSlideButton": "將列表劃至左側", "mainContent": "主要內容", "rightSlideButton": "將列表劃至右側", - "searchBook": "按書名搜索", "skipLink": "跳轉至內容", "toolbar": "工具欄" }, @@ -119,7 +118,6 @@ "released": "出版日期", "sort": "排序方式", "tag": "標籤", - "tagCount": "標籤數", "tags": "標籤", "update": "編輯" }, @@ -293,6 +291,7 @@ "duration": { "title": "播放時長" }, + "encryptedNoLicense": "", "expired": "出借到期", "expiredLcp": "此書無法閱讀,因為 LCP 授權已到期。", "incorrectPassphrase": "", @@ -557,9 +556,7 @@ "title": "" }, "session": { - "no": "禁用", - "title": "保存登入狀態", - "yes": "啟用" + "title": "保存登入狀態" }, "tabs": { "appearance": "外觀", diff --git a/src/typings/en.translation-keys.d.ts b/src/typings/en.translation-keys.d.ts index ce8cb93c7..82e0fcb95 100644 --- a/src/typings/en.translation-keys.d.ts +++ b/src/typings/en.translation-keys.d.ts @@ -1,4 +1,4 @@ declare namespace typed_i18n_keys { - type TTranslatorKeyParameter = "accessibility" | "accessibility.bookMenu" | "accessibility.closeDialog" | "accessibility.importFile" | "accessibility.leftSlideButton" | "accessibility.mainContent" | "accessibility.rightSlideButton" | "accessibility.searchBook" | "accessibility.skipLink" | "accessibility.toolbar" | "apiapp" | "apiapp.documentation" | "apiapp.howItWorks" | "apiapp.informations" | "apiapp.noLibraryFound" | "app" | "app.edit" | "app.edit.copy" | "app.edit.cut" | "app.edit.paste" | "app.edit.redo" | "app.edit.selectAll" | "app.edit.title" | "app.edit.undo" | "app.hide" | "app.quit" | "app.session" | "app.session.exit" | "app.session.exit.askBox" | "app.session.exit.askBox.button" | "app.session.exit.askBox.button.no" | "app.session.exit.askBox.button.yes" | "app.session.exit.askBox.message" | "app.session.exit.askBox.title" | "app.update" | "app.update.message" | "app.update.title" | "app.window" | "app.window.showLibrary" | "catalog" | "catalog.about" | "catalog.about.title" | "catalog.addBookToLib" | "catalog.addTags" | "catalog.addTagsButton" | "catalog.allBooks" | "catalog.bookInfo" | "catalog.column" | "catalog.column.ascending" | "catalog.column.descending" | "catalog.column.unsorted" | "catalog.delete" | "catalog.deleteBook" | "catalog.deleteTag" | "catalog.description" | "catalog.emptyTagList" | "catalog.entry" | "catalog.entry.continueReading" | "catalog.entry.continueReadingAudioBooks" | "catalog.entry.continueReadingDivina" | "catalog.entry.continueReadingPdf" | "catalog.entry.lastAdditions" | "catalog.export" | "catalog.exportAnnotation" | "catalog.format" | "catalog.importAnnotation" | "catalog.lang" | "catalog.lastRead" | "catalog.moreInfo" | "catalog.myBooks" | "catalog.noPublicationHelpL1" | "catalog.noPublicationHelpL2" | "catalog.noPublicationHelpL3" | "catalog.noPublicationHelpL4" | "catalog.numberOfPages" | "catalog.opds" | "catalog.opds.auth" | "catalog.opds.auth.cancel" | "catalog.opds.auth.login" | "catalog.opds.auth.password" | "catalog.opds.auth.register" | "catalog.opds.auth.username" | "catalog.opds.info" | "catalog.opds.info.availableSince" | "catalog.opds.info.availableState" | "catalog.opds.info.availableState.available" | "catalog.opds.info.availableState.ready" | "catalog.opds.info.availableState.reserved" | "catalog.opds.info.availableState.unavailable" | "catalog.opds.info.availableState.unknown" | "catalog.opds.info.availableUntil" | "catalog.opds.info.copyAvalaible" | "catalog.opds.info.copyTotal" | "catalog.opds.info.holdPosition" | "catalog.opds.info.holdTotal" | "catalog.opds.info.numberOfItems" | "catalog.opds.info.priveValue" | "catalog.opds.info.state" | "catalog.publisher" | "catalog.readBook" | "catalog.released" | "catalog.sort" | "catalog.tag" | "catalog.tagCount" | "catalog.tags" | "catalog.update" | "dialog" | "dialog.annotations" | "dialog.annotations.descAuthor" | "dialog.annotations.descList" | "dialog.annotations.descNewer" | "dialog.annotations.descOlder" | "dialog.annotations.descTitle" | "dialog.annotations.importAll" | "dialog.annotations.importWithoutConflict" | "dialog.annotations.title" | "dialog.cancel" | "dialog.deleteAnnotations" | "dialog.deleteAnnotationsText" | "dialog.deleteFeed" | "dialog.deletePublication" | "dialog.import" | "dialog.importError" | "dialog.renew" | "dialog.return" | "dialog.yes" | "error" | "error.errorBox" | "error.errorBox.error" | "error.errorBox.message" | "error.errorBox.title" | "header" | "header.allBooks" | "header.catalogs" | "header.downloads" | "header.fitlerTagTitle" | "header.gridTitle" | "header.home" | "header.homeTitle" | "header.importTitle" | "header.listTitle" | "header.myCatalogs" | "header.refreshTitle" | "header.searchPlaceholder" | "header.searchTitle" | "header.settings" | "header.viewMode" | "library" | "library.lcp" | "library.lcp.hint" | "library.lcp.open" | "library.lcp.password" | "library.lcp.sentence" | "library.lcp.urlHint" | "library.lcp.whatIsLcp?" | "library.lcp.whatIsLcpInfoDetails" | "library.lcp.whatIsLcpInfoDetailsLink" | "message" | "message.annotations" | "message.annotations.alreadyImported" | "message.annotations.emptyFile" | "message.annotations.errorParsing" | "message.annotations.noBelongTo" | "message.annotations.nothing" | "message.annotations.success" | "message.download" | "message.download.error" | "message.import" | "message.import.alreadyImport" | "message.import.fail" | "message.import.success" | "message.open" | "message.open.error" | "opds" | "opds.addForm" | "opds.addForm.addButton" | "opds.addForm.name" | "opds.addForm.namePlaceholder" | "opds.addForm.url" | "opds.addForm.urlPlaceholder" | "opds.addFormApiapp" | "opds.addFormApiapp.title" | "opds.addMenu" | "opds.breadcrumbRoot" | "opds.documentation" | "opds.empty" | "opds.firstPage" | "opds.informations" | "opds.lastPage" | "opds.menu" | "opds.menu.aboutBook" | "opds.menu.addExtract" | "opds.menu.goBuyBook" | "opds.menu.goLoanBook" | "opds.menu.goRevokeLoanBook" | "opds.menu.goSubBook" | "opds.network" | "opds.network.error" | "opds.network.noInternet" | "opds.network.noInternetMessage" | "opds.network.reject" | "opds.network.timeout" | "opds.next" | "opds.previous" | "opds.shelf" | "opds.updateForm" | "opds.updateForm.name" | "opds.updateForm.title" | "opds.updateForm.updateButton" | "opds.updateForm.url" | "opds.whatIsOpds" | "publication" | "publication.accessibility" | "publication.accessibility.accessModeSufficient" | "publication.accessibility.accessModeSufficient.textual" | "publication.accessibility.accessibilityFeature" | "publication.accessibility.accessibilityFeature.alternativeText" | "publication.accessibility.accessibilityFeature.displayTransformability" | "publication.accessibility.accessibilityFeature.longDescription" | "publication.accessibility.accessibilityFeature.printPageNumbers" | "publication.accessibility.accessibilityFeature.readingOrder" | "publication.accessibility.accessibilityFeature.synchronizedAudioText" | "publication.accessibility.accessibilityFeature.tableOfContents" | "publication.accessibility.accessibilityHazard" | "publication.accessibility.accessibilityHazard.flashing" | "publication.accessibility.accessibilityHazard.motionSimulation" | "publication.accessibility.accessibilityHazard.name" | "publication.accessibility.accessibilityHazard.noFlashing" | "publication.accessibility.accessibilityHazard.noMotionSimulation" | "publication.accessibility.accessibilityHazard.noSound" | "publication.accessibility.accessibilityHazard.none" | "publication.accessibility.accessibilityHazard.sound" | "publication.accessibility.accessibilityHazard.unknown" | "publication.accessibility.certifierReport" | "publication.accessibility.conformsTo" | "publication.accessibility.moreInformation" | "publication.accessibility.name" | "publication.accessibility.noA11y" | "publication.actions" | "publication.audio" | "publication.audio.tracks" | "publication.author" | "publication.cancelledLcp" | "publication.certificateRevoked" | "publication.certificateSignatureInvalid" | "publication.cover" | "publication.cover.img" | "publication.day" | "publication.days" | "publication.duration" | "publication.duration.title" | "publication.expired" | "publication.expiredLcp" | "publication.userKeyCheckInvalid" | "publication.lcpEnd" | "publication.lcpRightsCopy" | "publication.lcpRightsPrint" | "publication.lcpStart" | "publication.licenceLCP" | "publication.licenseOutOfDate" | "publication.licenseSignatureDateInvalid" | "publication.licenseSignatureInvalid" | "publication.licensed" | "publication.markAsRead" | "publication.notStarted" | "publication.onGoing" | "publication.progression" | "publication.progression.title" | "publication.read" | "publication.remainingTime" | "publication.renewButton" | "publication.returnButton" | "publication.returnedLcp" | "publication.revokedLcp" | "publication.seeLess" | "publication.seeMore" | "publication.timeLeft" | "publication.title" | "publication.incorrectPassphrase" | "reader" | "reader.annotations" | "reader.annotations.Color" | "reader.annotations.addNote" | "reader.annotations.advancedMode" | "reader.annotations.annotationsExport" | "reader.annotations.annotationsExport.description" | "reader.annotations.annotationsExport.title" | "reader.annotations.annotationsOptions" | "reader.annotations.colors" | "reader.annotations.colors.bluegreen" | "reader.annotations.colors.cyan" | "reader.annotations.colors.green" | "reader.annotations.colors.lightblue" | "reader.annotations.colors.orange" | "reader.annotations.colors.purple" | "reader.annotations.colors.red" | "reader.annotations.colors.yellow" | "reader.annotations.filter" | "reader.annotations.filter.all" | "reader.annotations.filter.filterByColor" | "reader.annotations.filter.filterByCreator" | "reader.annotations.filter.filterByDrawtype" | "reader.annotations.filter.filterByTag" | "reader.annotations.filter.filterOptions" | "reader.annotations.filter.none" | "reader.annotations.hide" | "reader.annotations.highlight" | "reader.annotations.noSelectionToast" | "reader.annotations.quickAnnotations" | "reader.annotations.saveNote" | "reader.annotations.sorting" | "reader.annotations.sorting.lastcreated" | "reader.annotations.sorting.lastmodified" | "reader.annotations.sorting.progression" | "reader.annotations.sorting.sortingOptions" | "reader.annotations.toggleMarginMarks" | "reader.annotations.type" | "reader.annotations.type.outline" | "reader.annotations.type.solid" | "reader.annotations.type.strikethrough" | "reader.annotations.type.underline" | "reader.divina" | "reader.divina.mute" | "reader.divina.unmute" | "reader.fxl" | "reader.fxl.fit" | "reader.marks" | "reader.marks.annotations" | "reader.marks.bookmarks" | "reader.marks.delete" | "reader.marks.edit" | "reader.marks.goTo" | "reader.marks.landmarks" | "reader.marks.saveMark" | "reader.marks.search" | "reader.marks.searchResult" | "reader.marks.toc" | "reader.media-overlays" | "reader.media-overlays.activate" | "reader.media-overlays.captions" | "reader.media-overlays.captionsDescription" | "reader.media-overlays.next" | "reader.media-overlays.pause" | "reader.media-overlays.play" | "reader.media-overlays.previous" | "reader.media-overlays.skip" | "reader.media-overlays.skipDescription" | "reader.media-overlays.speed" | "reader.media-overlays.stop" | "reader.media-overlays.title" | "reader.navigation" | "reader.navigation.annotationTitle" | "reader.navigation.backHomeTitle" | "reader.navigation.bookmarkTitle" | "reader.navigation.currentPage" | "reader.navigation.currentPageTotal" | "reader.navigation.detachWindowTitle" | "reader.navigation.fullscreenTitle" | "reader.navigation.goTo" | "reader.navigation.goToError" | "reader.navigation.goToPlaceHolder" | "reader.navigation.goToTitle" | "reader.navigation.historyNext" | "reader.navigation.historyPrevious" | "reader.navigation.infoTitle" | "reader.navigation.magnifyingGlassButton" | "reader.navigation.openTableOfContentsTitle" | "reader.navigation.page" | "reader.navigation.pdfscalemode" | "reader.navigation.settingsTitle" | "reader.picker" | "reader.picker.search" | "reader.picker.search.founds" | "reader.picker.search.input" | "reader.picker.search.next" | "reader.picker.search.notFound" | "reader.picker.search.previous" | "reader.picker.search.results" | "reader.picker.search.submit" | "reader.picker.searchTitle" | "reader.settings" | "reader.settings.column" | "reader.settings.column.auto" | "reader.settings.column.one" | "reader.settings.column.title" | "reader.settings.column.two" | "reader.settings.customizeReader" | "reader.settings.disabled" | "reader.settings.display" | "reader.settings.disposition" | "reader.settings.disposition.title" | "reader.settings.font" | "reader.settings.fontSize" | "reader.settings.infoCustomFont" | "reader.settings.customFontSelected" | "reader.settings.justification" | "reader.settings.justify" | "reader.settings.letterSpacing" | "reader.settings.lineSpacing" | "reader.settings.margin" | "reader.settings.noFootnotes" | "reader.settings.noRTLFlip" | "reader.settings.noRuby" | "reader.settings.paginated" | "reader.settings.paraSpacing" | "reader.settings.pdfZoom" | "reader.settings.pdfZoom.name" | "reader.settings.pdfZoom.name.100pct" | "reader.settings.pdfZoom.name.150pct" | "reader.settings.pdfZoom.name.200pct" | "reader.settings.pdfZoom.name.300pct" | "reader.settings.pdfZoom.name.500pct" | "reader.settings.pdfZoom.name.50pct" | "reader.settings.pdfZoom.name.fit" | "reader.settings.pdfZoom.name.width" | "reader.settings.pdfZoom.title" | "reader.settings.preset" | "reader.settings.preset.apply" | "reader.settings.preset.applyDetails" | "reader.settings.preset.reset" | "reader.settings.preset.resetDetails" | "reader.settings.preset.save" | "reader.settings.preset.saveDetails" | "reader.settings.preset.title" | "reader.settings.preview" | "reader.settings.reduceMotion" | "reader.settings.scrolled" | "reader.settings.spacing" | "reader.settings.text" | "reader.settings.theme" | "reader.settings.theme.name" | "reader.settings.theme.name.Contrast1" | "reader.settings.theme.name.Contrast2" | "reader.settings.theme.name.Contrast3" | "reader.settings.theme.name.Contrast4" | "reader.settings.theme.name.Neutral" | "reader.settings.theme.name.Night" | "reader.settings.theme.name.Paper" | "reader.settings.theme.name.Sepia" | "reader.settings.theme.title" | "reader.settings.wordSpacing" | "reader.svg" | "reader.svg.left" | "reader.svg.right" | "reader.toc" | "reader.toc.publicationNoToc" | "reader.tts" | "reader.tts.activate" | "reader.tts.default" | "reader.tts.next" | "reader.tts.pause" | "reader.tts.play" | "reader.tts.previous" | "reader.tts.sentenceDetect" | "reader.tts.sentenceDetectDescription" | "reader.tts.speed" | "reader.tts.stop" | "reader.tts.voice" | "settings" | "settings.annotationCreator" | "settings.annotationCreator.creator" | "settings.annotationCreator.name" | "settings.annotationCreator.organization" | "settings.annotationCreator.person" | "settings.annotationCreator.type" | "settings.auth" | "settings.auth.title" | "settings.auth.wipeData" | "settings.keyboard" | "settings.keyboard.advancedMenu" | "settings.keyboard.cancel" | "settings.keyboard.disclaimer" | "settings.keyboard.editUserJson" | "settings.keyboard.keyboardShortcuts" | "settings.keyboard.loadUserJson" | "settings.keyboard.resetDefaults" | "settings.keyboard.save" | "settings.language" | "settings.language.languageChoice" | "settings.library" | "settings.library.enableAPIAPP" | "settings.library.title" | "settings.session" | "settings.session.no" | "settings.session.title" | "settings.session.yes" | "settings.tabs" | "settings.tabs.appearance" | "settings.tabs.general" | "settings.tabs.keyboardShortcuts" | "settings.theme" | "settings.theme.auto" | "settings.theme.dark" | "settings.theme.description" | "settings.theme.light" | "settings.theme.title" | "wizard" | "wizard.buttons" | "wizard.buttons.discover" | "wizard.buttons.goToBooks" | "wizard.buttons.next" | "wizard.description" | "wizard.description.annotations" | "wizard.description.catalogs" | "wizard.description.home" | "wizard.description.readingView1" | "wizard.description.readingView2" | "wizard.description.yourBooks" | "wizard.dontShow" | "wizard.tab" | "wizard.tab.annotations" | "wizard.tab.catalogs" | "wizard.tab.home" | "wizard.tab.readingView" | "wizard.tab.yourBooks" | "wizard.title" | "wizard.title.allBooks" | "wizard.title.newFeature" | "wizard.title.welcome"; + type TTranslatorKeyParameter = "accessibility" | "accessibility.bookMenu" | "accessibility.closeDialog" | "accessibility.importFile" | "accessibility.leftSlideButton" | "accessibility.mainContent" | "accessibility.rightSlideButton" | "accessibility.skipLink" | "accessibility.toolbar" | "apiapp" | "apiapp.documentation" | "apiapp.howItWorks" | "apiapp.informations" | "apiapp.noLibraryFound" | "app" | "app.edit" | "app.edit.copy" | "app.edit.cut" | "app.edit.paste" | "app.edit.redo" | "app.edit.selectAll" | "app.edit.title" | "app.edit.undo" | "app.hide" | "app.quit" | "app.session" | "app.session.exit" | "app.session.exit.askBox" | "app.session.exit.askBox.button" | "app.session.exit.askBox.button.no" | "app.session.exit.askBox.button.yes" | "app.session.exit.askBox.message" | "app.session.exit.askBox.title" | "app.update" | "app.update.message" | "app.update.title" | "app.window" | "app.window.showLibrary" | "catalog" | "catalog.about" | "catalog.about.title" | "catalog.addBookToLib" | "catalog.addTags" | "catalog.addTagsButton" | "catalog.allBooks" | "catalog.bookInfo" | "catalog.column" | "catalog.column.ascending" | "catalog.column.descending" | "catalog.column.unsorted" | "catalog.delete" | "catalog.deleteBook" | "catalog.deleteTag" | "catalog.description" | "catalog.emptyTagList" | "catalog.entry" | "catalog.entry.continueReading" | "catalog.entry.continueReadingAudioBooks" | "catalog.entry.continueReadingDivina" | "catalog.entry.continueReadingPdf" | "catalog.entry.lastAdditions" | "catalog.export" | "catalog.exportAnnotation" | "catalog.format" | "catalog.importAnnotation" | "catalog.lang" | "catalog.lastRead" | "catalog.moreInfo" | "catalog.myBooks" | "catalog.noPublicationHelpL1" | "catalog.noPublicationHelpL2" | "catalog.noPublicationHelpL3" | "catalog.noPublicationHelpL4" | "catalog.numberOfPages" | "catalog.opds" | "catalog.opds.auth" | "catalog.opds.auth.cancel" | "catalog.opds.auth.login" | "catalog.opds.auth.password" | "catalog.opds.auth.register" | "catalog.opds.auth.username" | "catalog.opds.info" | "catalog.opds.info.availableSince" | "catalog.opds.info.availableState" | "catalog.opds.info.availableState.available" | "catalog.opds.info.availableState.ready" | "catalog.opds.info.availableState.reserved" | "catalog.opds.info.availableState.unavailable" | "catalog.opds.info.availableState.unknown" | "catalog.opds.info.availableUntil" | "catalog.opds.info.copyAvalaible" | "catalog.opds.info.copyTotal" | "catalog.opds.info.holdPosition" | "catalog.opds.info.holdTotal" | "catalog.opds.info.numberOfItems" | "catalog.opds.info.priveValue" | "catalog.opds.info.state" | "catalog.publisher" | "catalog.readBook" | "catalog.released" | "catalog.sort" | "catalog.tag" | "catalog.tags" | "catalog.update" | "dialog" | "dialog.annotations" | "dialog.annotations.descAuthor" | "dialog.annotations.descList" | "dialog.annotations.descNewer" | "dialog.annotations.descOlder" | "dialog.annotations.descTitle" | "dialog.annotations.importAll" | "dialog.annotations.importWithoutConflict" | "dialog.annotations.title" | "dialog.cancel" | "dialog.deleteAnnotations" | "dialog.deleteAnnotationsText" | "dialog.deleteFeed" | "dialog.deletePublication" | "dialog.import" | "dialog.importError" | "dialog.renew" | "dialog.return" | "dialog.yes" | "error" | "error.errorBox" | "error.errorBox.error" | "error.errorBox.message" | "error.errorBox.title" | "header" | "header.allBooks" | "header.catalogs" | "header.downloads" | "header.fitlerTagTitle" | "header.gridTitle" | "header.home" | "header.homeTitle" | "header.importTitle" | "header.listTitle" | "header.myCatalogs" | "header.refreshTitle" | "header.searchPlaceholder" | "header.searchTitle" | "header.settings" | "header.viewMode" | "library" | "library.lcp" | "library.lcp.hint" | "library.lcp.open" | "library.lcp.password" | "library.lcp.sentence" | "library.lcp.urlHint" | "library.lcp.whatIsLcp?" | "library.lcp.whatIsLcpInfoDetails" | "library.lcp.whatIsLcpInfoDetailsLink" | "message" | "message.annotations" | "message.annotations.alreadyImported" | "message.annotations.emptyFile" | "message.annotations.errorParsing" | "message.annotations.noBelongTo" | "message.annotations.nothing" | "message.annotations.success" | "message.download" | "message.download.error" | "message.import" | "message.import.alreadyImport" | "message.import.fail" | "message.import.success" | "message.open" | "message.open.error" | "opds" | "opds.addForm" | "opds.addForm.addButton" | "opds.addForm.name" | "opds.addForm.namePlaceholder" | "opds.addForm.url" | "opds.addForm.urlPlaceholder" | "opds.addFormApiapp" | "opds.addFormApiapp.title" | "opds.addMenu" | "opds.breadcrumbRoot" | "opds.documentation" | "opds.empty" | "opds.firstPage" | "opds.informations" | "opds.lastPage" | "opds.menu" | "opds.menu.aboutBook" | "opds.menu.addExtract" | "opds.menu.goBuyBook" | "opds.menu.goLoanBook" | "opds.menu.goRevokeLoanBook" | "opds.menu.goSubBook" | "opds.network" | "opds.network.error" | "opds.network.noInternet" | "opds.network.noInternetMessage" | "opds.network.reject" | "opds.network.timeout" | "opds.next" | "opds.previous" | "opds.shelf" | "opds.updateForm" | "opds.updateForm.name" | "opds.updateForm.title" | "opds.updateForm.updateButton" | "opds.updateForm.url" | "opds.whatIsOpds" | "publication" | "publication.accessibility" | "publication.accessibility.accessModeSufficient" | "publication.accessibility.accessModeSufficient.textual" | "publication.accessibility.accessibilityFeature" | "publication.accessibility.accessibilityFeature.alternativeText" | "publication.accessibility.accessibilityFeature.displayTransformability" | "publication.accessibility.accessibilityFeature.longDescription" | "publication.accessibility.accessibilityFeature.printPageNumbers" | "publication.accessibility.accessibilityFeature.readingOrder" | "publication.accessibility.accessibilityFeature.synchronizedAudioText" | "publication.accessibility.accessibilityFeature.tableOfContents" | "publication.accessibility.accessibilityHazard" | "publication.accessibility.accessibilityHazard.flashing" | "publication.accessibility.accessibilityHazard.motionSimulation" | "publication.accessibility.accessibilityHazard.name" | "publication.accessibility.accessibilityHazard.noFlashing" | "publication.accessibility.accessibilityHazard.noMotionSimulation" | "publication.accessibility.accessibilityHazard.noSound" | "publication.accessibility.accessibilityHazard.none" | "publication.accessibility.accessibilityHazard.sound" | "publication.accessibility.accessibilityHazard.unknown" | "publication.accessibility.certifierReport" | "publication.accessibility.conformsTo" | "publication.accessibility.moreInformation" | "publication.accessibility.name" | "publication.accessibility.noA11y" | "publication.actions" | "publication.audio" | "publication.audio.tracks" | "publication.author" | "publication.cancelledLcp" | "publication.certificateRevoked" | "publication.certificateSignatureInvalid" | "publication.cover" | "publication.cover.img" | "publication.day" | "publication.days" | "publication.duration" | "publication.duration.title" | "publication.encryptedNoLicense" | "publication.expired" | "publication.expiredLcp" | "publication.incorrectPassphrase" | "publication.lcpEnd" | "publication.lcpRightsCopy" | "publication.lcpRightsPrint" | "publication.lcpStart" | "publication.licenceLCP" | "publication.licenseOutOfDate" | "publication.licenseSignatureDateInvalid" | "publication.licenseSignatureInvalid" | "publication.licensed" | "publication.markAsRead" | "publication.notStarted" | "publication.onGoing" | "publication.progression" | "publication.progression.title" | "publication.read" | "publication.remainingTime" | "publication.renewButton" | "publication.returnButton" | "publication.returnedLcp" | "publication.revokedLcp" | "publication.seeLess" | "publication.seeMore" | "publication.timeLeft" | "publication.title" | "publication.userKeyCheckInvalid" | "reader" | "reader.annotations" | "reader.annotations.Color" | "reader.annotations.addNote" | "reader.annotations.advancedMode" | "reader.annotations.annotationsExport" | "reader.annotations.annotationsExport.description" | "reader.annotations.annotationsExport.title" | "reader.annotations.annotationsOptions" | "reader.annotations.colors" | "reader.annotations.colors.bluegreen" | "reader.annotations.colors.cyan" | "reader.annotations.colors.green" | "reader.annotations.colors.lightblue" | "reader.annotations.colors.orange" | "reader.annotations.colors.purple" | "reader.annotations.colors.red" | "reader.annotations.colors.yellow" | "reader.annotations.filter" | "reader.annotations.filter.all" | "reader.annotations.filter.filterByColor" | "reader.annotations.filter.filterByCreator" | "reader.annotations.filter.filterByDrawtype" | "reader.annotations.filter.filterByTag" | "reader.annotations.filter.filterOptions" | "reader.annotations.filter.none" | "reader.annotations.hide" | "reader.annotations.highlight" | "reader.annotations.noSelectionToast" | "reader.annotations.quickAnnotations" | "reader.annotations.saveNote" | "reader.annotations.sorting" | "reader.annotations.sorting.lastcreated" | "reader.annotations.sorting.lastmodified" | "reader.annotations.sorting.progression" | "reader.annotations.sorting.sortingOptions" | "reader.annotations.toggleMarginMarks" | "reader.annotations.type" | "reader.annotations.type.outline" | "reader.annotations.type.solid" | "reader.annotations.type.strikethrough" | "reader.annotations.type.underline" | "reader.divina" | "reader.divina.mute" | "reader.divina.unmute" | "reader.fxl" | "reader.fxl.fit" | "reader.marks" | "reader.marks.annotations" | "reader.marks.bookmarks" | "reader.marks.delete" | "reader.marks.edit" | "reader.marks.goTo" | "reader.marks.landmarks" | "reader.marks.saveMark" | "reader.marks.search" | "reader.marks.searchResult" | "reader.marks.toc" | "reader.media-overlays" | "reader.media-overlays.activate" | "reader.media-overlays.captions" | "reader.media-overlays.captionsDescription" | "reader.media-overlays.next" | "reader.media-overlays.pause" | "reader.media-overlays.play" | "reader.media-overlays.previous" | "reader.media-overlays.skip" | "reader.media-overlays.skipDescription" | "reader.media-overlays.speed" | "reader.media-overlays.stop" | "reader.media-overlays.title" | "reader.navigation" | "reader.navigation.annotationTitle" | "reader.navigation.backHomeTitle" | "reader.navigation.bookmarkTitle" | "reader.navigation.currentPage" | "reader.navigation.currentPageTotal" | "reader.navigation.detachWindowTitle" | "reader.navigation.fullscreenTitle" | "reader.navigation.goTo" | "reader.navigation.goToError" | "reader.navigation.goToPlaceHolder" | "reader.navigation.goToTitle" | "reader.navigation.historyNext" | "reader.navigation.historyPrevious" | "reader.navigation.infoTitle" | "reader.navigation.magnifyingGlassButton" | "reader.navigation.openTableOfContentsTitle" | "reader.navigation.page" | "reader.navigation.pdfscalemode" | "reader.navigation.settingsTitle" | "reader.picker" | "reader.picker.search" | "reader.picker.search.founds" | "reader.picker.search.input" | "reader.picker.search.next" | "reader.picker.search.notFound" | "reader.picker.search.previous" | "reader.picker.search.results" | "reader.picker.search.submit" | "reader.picker.searchTitle" | "reader.settings" | "reader.settings.column" | "reader.settings.column.auto" | "reader.settings.column.one" | "reader.settings.column.title" | "reader.settings.column.two" | "reader.settings.customFontSelected" | "reader.settings.customizeReader" | "reader.settings.disabled" | "reader.settings.display" | "reader.settings.disposition" | "reader.settings.disposition.title" | "reader.settings.font" | "reader.settings.fontSize" | "reader.settings.infoCustomFont" | "reader.settings.justification" | "reader.settings.justify" | "reader.settings.letterSpacing" | "reader.settings.lineSpacing" | "reader.settings.margin" | "reader.settings.noFootnotes" | "reader.settings.noRTLFlip" | "reader.settings.noRuby" | "reader.settings.paginated" | "reader.settings.paraSpacing" | "reader.settings.pdfZoom" | "reader.settings.pdfZoom.name" | "reader.settings.pdfZoom.name.100pct" | "reader.settings.pdfZoom.name.150pct" | "reader.settings.pdfZoom.name.200pct" | "reader.settings.pdfZoom.name.300pct" | "reader.settings.pdfZoom.name.500pct" | "reader.settings.pdfZoom.name.50pct" | "reader.settings.pdfZoom.name.fit" | "reader.settings.pdfZoom.name.width" | "reader.settings.pdfZoom.title" | "reader.settings.preset" | "reader.settings.preset.apply" | "reader.settings.preset.applyDetails" | "reader.settings.preset.reset" | "reader.settings.preset.resetDetails" | "reader.settings.preset.save" | "reader.settings.preset.saveDetails" | "reader.settings.preset.title" | "reader.settings.preview" | "reader.settings.reduceMotion" | "reader.settings.scrolled" | "reader.settings.spacing" | "reader.settings.text" | "reader.settings.theme" | "reader.settings.theme.name" | "reader.settings.theme.name.Contrast1" | "reader.settings.theme.name.Contrast2" | "reader.settings.theme.name.Contrast3" | "reader.settings.theme.name.Contrast4" | "reader.settings.theme.name.Neutral" | "reader.settings.theme.name.Night" | "reader.settings.theme.name.Paper" | "reader.settings.theme.name.Sepia" | "reader.settings.theme.title" | "reader.settings.wordSpacing" | "reader.svg" | "reader.svg.left" | "reader.svg.right" | "reader.toc" | "reader.toc.publicationNoToc" | "reader.tts" | "reader.tts.activate" | "reader.tts.default" | "reader.tts.next" | "reader.tts.pause" | "reader.tts.play" | "reader.tts.previous" | "reader.tts.sentenceDetect" | "reader.tts.sentenceDetectDescription" | "reader.tts.speed" | "reader.tts.stop" | "reader.tts.voice" | "settings" | "settings.annotationCreator" | "settings.annotationCreator.creator" | "settings.annotationCreator.name" | "settings.annotationCreator.organization" | "settings.annotationCreator.person" | "settings.annotationCreator.type" | "settings.auth" | "settings.auth.title" | "settings.auth.wipeData" | "settings.keyboard" | "settings.keyboard.advancedMenu" | "settings.keyboard.cancel" | "settings.keyboard.disclaimer" | "settings.keyboard.editUserJson" | "settings.keyboard.keyboardShortcuts" | "settings.keyboard.loadUserJson" | "settings.keyboard.resetDefaults" | "settings.keyboard.save" | "settings.language" | "settings.language.languageChoice" | "settings.library" | "settings.library.enableAPIAPP" | "settings.library.title" | "settings.session" | "settings.session.title" | "settings.tabs" | "settings.tabs.appearance" | "settings.tabs.general" | "settings.tabs.keyboardShortcuts" | "settings.theme" | "settings.theme.auto" | "settings.theme.dark" | "settings.theme.description" | "settings.theme.light" | "settings.theme.title" | "wizard" | "wizard.buttons" | "wizard.buttons.discover" | "wizard.buttons.goToBooks" | "wizard.buttons.next" | "wizard.description" | "wizard.description.annotations" | "wizard.description.catalogs" | "wizard.description.home" | "wizard.description.readingView1" | "wizard.description.readingView2" | "wizard.description.yourBooks" | "wizard.dontShow" | "wizard.tab" | "wizard.tab.annotations" | "wizard.tab.catalogs" | "wizard.tab.home" | "wizard.tab.readingView" | "wizard.tab.yourBooks" | "wizard.title" | "wizard.title.allBooks" | "wizard.title.newFeature" | "wizard.title.welcome"; } export = typed_i18n_keys; \ No newline at end of file diff --git a/src/typings/en.translation.d.ts b/src/typings/en.translation.d.ts index bbe7bf12a..59f5f0e10 100644 --- a/src/typings/en.translation.d.ts +++ b/src/typings/en.translation.d.ts @@ -7,7 +7,6 @@ declare namespace typed_i18n { readonly "leftSlideButton": string, readonly "mainContent": string, readonly "rightSlideButton": string, - readonly "searchBook": string, readonly "skipLink": string, readonly "toolbar": string }; @@ -17,7 +16,6 @@ declare namespace typed_i18n { (_: "accessibility.leftSlideButton", __?: {}): string; (_: "accessibility.mainContent", __?: {}): string; (_: "accessibility.rightSlideButton", __?: {}): string; - (_: "accessibility.searchBook", __?: {}): string; (_: "accessibility.skipLink", __?: {}): string; (_: "accessibility.toolbar", __?: {}): string; (_: "apiapp", __?: {}): { @@ -171,7 +169,6 @@ declare namespace typed_i18n { readonly "released": string, readonly "sort": string, readonly "tag": string, - readonly "tagCount": string, readonly "tags": string, readonly "update": string }; @@ -302,7 +299,6 @@ declare namespace typed_i18n { (_: "catalog.readBook", __?: {}): string; (_: "catalog.released", __?: {}): string; (_: "catalog.sort", __?: {}): string; (_: "catalog.tag", __?: {}): string; - (_: "catalog.tagCount", __?: {}): string; (_: "catalog.tags", __?: {}): string; (_: "catalog.update", __?: {}): string; (_: "dialog", __?: {}): { @@ -614,9 +610,10 @@ declare namespace typed_i18n { readonly "day": string, readonly "days": string, readonly "duration": { readonly "title": string }, + readonly "encryptedNoLicense": string, readonly "expired": string, readonly "expiredLcp": string, - readonly "userKeyCheckInvalid": string, + readonly "incorrectPassphrase": string, readonly "lcpEnd": string, readonly "lcpRightsCopy": string, readonly "lcpRightsPrint": string, @@ -640,7 +637,7 @@ declare namespace typed_i18n { readonly "seeMore": string, readonly "timeLeft": string, readonly "title": string, - readonly "incorrectPassphrase": string + readonly "userKeyCheckInvalid": string }; (_: "publication.accessibility", __?: {}): { readonly "accessModeSufficient": { readonly "textual": string }, @@ -726,9 +723,10 @@ declare namespace typed_i18n { (_: "publication.days", __?: {}): string; (_: "publication.duration", __?: {}): { readonly "title": string }; (_: "publication.duration.title", __?: {}): string; + (_: "publication.encryptedNoLicense", __?: {}): string; (_: "publication.expired", __?: {}): string; (_: "publication.expiredLcp", __?: {}): string; - (_: "publication.userKeyCheckInvalid", __?: {}): string; + (_: "publication.incorrectPassphrase", __?: {}): string; (_: "publication.lcpEnd", __?: {}): string; (_: "publication.lcpRightsCopy", __?: {}): string; (_: "publication.lcpRightsPrint", __?: {}): string; @@ -753,7 +751,7 @@ declare namespace typed_i18n { (_: "publication.seeMore", __?: {}): string; (_: "publication.timeLeft", __?: {}): string; (_: "publication.title", __?: {}): string; - (_: "publication.incorrectPassphrase", __?: {}): string; + (_: "publication.userKeyCheckInvalid", __?: {}): string; (_: "reader", __?: {}): { readonly "annotations": { readonly "Color": string, @@ -870,6 +868,7 @@ declare namespace typed_i18n { readonly "title": string, readonly "two": string }, + readonly "customFontSelected": string, readonly "customizeReader": string, readonly "disabled": string, readonly "display": string, @@ -877,7 +876,6 @@ declare namespace typed_i18n { readonly "font": string, readonly "fontSize": string, readonly "infoCustomFont": string, - readonly "customFontSelected": string, readonly "justification": string, readonly "justify": string, readonly "letterSpacing": string, @@ -1189,6 +1187,7 @@ declare namespace typed_i18n { readonly "title": string, readonly "two": string }, + readonly "customFontSelected": string, readonly "customizeReader": string, readonly "disabled": string, readonly "display": string, @@ -1196,7 +1195,6 @@ declare namespace typed_i18n { readonly "font": string, readonly "fontSize": string, readonly "infoCustomFont": string, - readonly "customFontSelected": string, readonly "justification": string, readonly "justify": string, readonly "letterSpacing": string, @@ -1259,6 +1257,7 @@ declare namespace typed_i18n { (_: "reader.settings.column.one", __?: {}): string; (_: "reader.settings.column.title", __?: {}): string; (_: "reader.settings.column.two", __?: {}): string; + (_: "reader.settings.customFontSelected", __?: {}): string; (_: "reader.settings.customizeReader", __?: {}): string; (_: "reader.settings.disabled", __?: {}): string; (_: "reader.settings.display", __?: {}): string; @@ -1267,7 +1266,6 @@ declare namespace typed_i18n { (_: "reader.settings.font", __?: {}): string; (_: "reader.settings.fontSize", __?: {}): string; (_: "reader.settings.infoCustomFont", __?: {}): string; - (_: "reader.settings.customFontSelected", __?: {}): string; (_: "reader.settings.justification", __?: {}): string; (_: "reader.settings.justify", __?: {}): string; (_: "reader.settings.letterSpacing", __?: {}): string; @@ -1417,11 +1415,7 @@ declare namespace typed_i18n { readonly "enableAPIAPP": string, readonly "title": string }, - readonly "session": { - readonly "no": string, - readonly "title": string, - readonly "yes": string - }, + readonly "session": { readonly "title": string }, readonly "tabs": { readonly "appearance": string, readonly "general": string, @@ -1473,10 +1467,8 @@ declare namespace typed_i18n { (_: "settings.library", __?: {}): { readonly "enableAPIAPP": string, readonly "title": string }; (_: "settings.library.enableAPIAPP", __?: {}): string; (_: "settings.library.title", __?: {}): string; - (_: "settings.session", __?: {}): { readonly "no": string, readonly "title": string, readonly "yes": string }; - (_: "settings.session.no", __?: {}): string; + (_: "settings.session", __?: {}): { readonly "title": string }; (_: "settings.session.title", __?: {}): string; - (_: "settings.session.yes", __?: {}): string; (_: "settings.tabs", __?: {}): { readonly "appearance": string, readonly "general": string,