Disable app updater for app store version and support more languages (#202)

* Disable app updater for app store version

* Add translations for uk, pl and hi
This commit is contained in:
Huang Xin
2025-01-20 17:14:26 +01:00
committed by GitHub
parent 87069c7308
commit 751bf3836c
22 changed files with 482 additions and 21 deletions
@@ -16,9 +16,12 @@ module.exports = {
'it',
'el',
'ko',
'uk',
'pl',
'pt',
'ru',
'tr',
'hi',
'id',
'vi',
'zh-CN',
@@ -133,5 +133,7 @@
"Horizontal Margins (%)": "Horizontale Ränder (%)",
"Apply to all books": "Auf alle Bücher anwenden",
"Apply to this book": "Auf dieses Buch anwenden",
"Unable to fetch the translation. Try again later.": "Übersetzung konnte nicht abgerufen werden. Versuchen Sie es später erneut."
"Unable to fetch the translation. Try again later.": "Übersetzung konnte nicht abgerufen werden. Versuchen Sie es später erneut.",
"Update Now!": "Jetzt aktualisieren!",
"Update": "Aktualisieren"
}
@@ -133,5 +133,7 @@
"Horizontal Margins (%)": "Οριζόντια περιθώρια (%)",
"Apply to all books": "Εφαρμογή σε όλα τα βιβλία",
"Apply to this book": "Εφαρμογή σε αυτό το βιβλίο",
"Unable to fetch the translation. Try again later.": "Αδυναμία λήψης της μετάφρασης. Δοκιμάστε ξανά αργότερα."
"Unable to fetch the translation. Try again later.": "Αδυναμία λήψης της μετάφρασης. Δοκιμάστε ξανά αργότερα.",
"Update Now!": "Ενημέρωση τώρα!",
"Update": "Ενημέρωση"
}
@@ -133,5 +133,7 @@
"Horizontal Margins (%)": "Márgenes horizontales (%)",
"Apply to all books": "Aplicar a todos los libros",
"Apply to this book": "Aplicar a este libro",
"Unable to fetch the translation. Try again later.": "No se puede obtener la traducción. Inténtalo de nuevo más tarde."
"Unable to fetch the translation. Try again later.": "No se puede obtener la traducción. Inténtalo de nuevo más tarde.",
"Update Now!": "¡Actualizar ahora!",
"Update": "Actualizar"
}
@@ -133,5 +133,7 @@
"Horizontal Margins (%)": "Marges horizontales (%)",
"Apply to all books": "Appliquer à tous les livres",
"Apply to this book": "Appliquer à ce livre",
"Unable to fetch the translation. Try again later.": "Impossible de récupérer la traduction. Réessayez plus tard."
"Unable to fetch the translation. Try again later.": "Impossible de récupérer la traduction. Réessayez plus tard.",
"Update Now!": "Mettre à jour maintenant !",
"Update": "Mettre à jour"
}
@@ -0,0 +1,139 @@
{
"(detected)": "(पता लगाया)",
"About Readest": "Readest के बारे में",
"Add your notes here...": "अपनी टिप्पणियां यहां जोड़ें...",
"Animation": "एनीमेशन",
"Annotate": "टिप्पणी",
"Apply": "लागू करें",
"Are you sure to delete the selected books?": "क्या आप चयनित पुस्तकों को हटाना चाहते हैं?",
"Auto Mode": "स्वचालित मोड",
"Behavior": "व्यवहार",
"Book": "पुस्तक",
"Book Cover": "पुस्तक का कवर",
"Bookmark": "बुकमार्क",
"Cancel": "रद्द करें",
"Chapter": "अध्याय",
"Cherry": "चेरी",
"Color": "रंग",
"Confirm": "पुष्टि करें",
"Confirm Deletion": "हटाने की पुष्टि करें",
"Copied to notebook": "नोटबुक में कॉपी किया गया",
"Copy": "कॉपी",
"Custom CSS": "कस्टम CSS",
"Dark Mode": "डार्क मोड",
"Default": "डिफ़ॉल्ट",
"Default Font": "डिफ़ॉल्ट फ़ॉन्ट",
"Default Font Size": "डिफ़ॉल्ट फ़ॉन्ट साइज़",
"Delete": "हटाएं",
"Delete Highlight": "हाइलाइट हटाएं",
"Dictionary": "शब्दकोश",
"Disable Click-to-Flip": "क्लिक-टू-फ्लिप अक्षम करें",
"Download Readest": "Readest डाउनलोड करें",
"Edit": "संपादित करें",
"Enter your custom CSS here...": "अपना कस्टम CSS यहां दर्ज करें...",
"Excerpts": "अंश",
"Failed to import book(s): {{filenames}}": "पुस्तक(ें) आयात करने में विफल: {{filenames}}",
"Fast": "तेज़",
"Font": "फ़ॉन्ट",
"Font & Layout": "फ़ॉन्ट और लेआउट",
"Font Face": "फ़ॉन्ट फेस",
"Font Family": "फ़ॉन्ट परिवार",
"Font Size": "फ़ॉन्ट साइज़",
"From Local File": "स्थानीय फ़ाइल से",
"Full Justification": "पूर्ण जस्टिफिकेशन",
"Global Settings": "वैश्विक सेटिंग्स",
"Go Back": "वापस जाएं",
"Go Forward": "आगे जाएं",
"Go Left": "बाएं जाएं",
"Go Right": "दाएं जाएं",
"Grass": "घास",
"Gray": "ग्रे",
"Gruvbox": "ग्रूवबॉक्स",
"Highlight": "हाइलाइट",
"Horizontal Direction": "क्षैतिज दिशा",
"Hyphenation": "हाइफ़नेशन",
"Identifier:": "पहचानकर्ता:",
"Import Books": "पुस्तकें आयात करें",
"Invert Colors in Dark Mode": "डार्क मोड में रंग उलटें",
"Language:": "भाषा:",
"Layout": "लेआउट",
"Light Mode": "लाइट मोड",
"Line Height": "लाइन हाइट",
"Loading...": "लोड हो रहा है...",
"Loc. {{currentPage}} / {{totalPage}}": "स्थान {{currentPage}} / {{totalPage}}",
"Logged in": "लॉग इन किया",
"Logged in as {{userDisplayName}}": "{{userDisplayName}} के रूप में लॉग इन किया",
"Match Case": "केस मैच करें",
"Match Diacritics": "डायाक्रिटिक्स मैच करें",
"Match Whole Words": "पूरे शब्द मैच करें",
"Maximum Block Size": "अधिकतम ब्लॉक साइज़",
"Maximum Inline Size": "अधिकतम इनलाइन साइज़",
"Maximum Number of Columns": "कॉलम की अधिकतम संख्या",
"Minimum Font Size": "न्यूनतम फ़ॉन्ट साइज़",
"Misc": "विविध",
"Monospace Font": "मोनोस्पेस फ़ॉन्ट",
"More Info": "अधिक जानकारी",
"Nord": "नॉर्ड",
"Notebook": "नोटबुक",
"Notes": "नोट्स",
"Open": "खोलें",
"Open Book": "पुस्तक खोलें",
"Original Text": "मूल पाठ",
"Page": "पृष्ठ",
"Paging Animation": "पेजिंग एनीमेशन",
"Paragraph": "पैराग्राफ",
"Parallel Read": "समानांतर पढ़ें",
"Published:": "प्रकाशित:",
"Publisher:": "प्रकाशक:",
"Reading progress synced": "पढ़ने की प्रगति सिंक की गई",
"Reload Page": "पृष्ठ रीलोड करें",
"Reveal in File Explorer": "फ़ाइल एक्सप्लोरर में दिखाएं",
"Reveal in Finder": "फाइंडर में दिखाएं",
"Reveal in Folder": "फ़ोल्डर में दिखाएं",
"Sans-Serif Font": "सैन्स-सेरिफ फ़ॉन्ट",
"Save": "सहेजें",
"Scrolled Mode": "स्क्रॉल मोड",
"Search": "खोजें",
"Search books...": "पुस्तकें खोजें...",
"Search...": "खोजें...",
"Select Book": "पुस्तक चुनें",
"Select books": "पुस्तकें चुनें",
"Select multiple books": "कई पुस्तकें चुनें",
"Sepia": "सेपिया",
"Serif Font": "सेरिफ फ़ॉन्ट",
"Show Book Details": "पुस्तक विवरण दिखाएं",
"Sidebar": "साइडबार",
"Sign In": "साइन इन करें",
"Sign Out": "साइन आउट करें",
"Sky": "आकाश",
"Slow": "धीमा",
"Solarized": "सोलराइज्ड",
"Speak": "बोलें",
"Subjects:": "विषय:",
"System Fonts": "सिस्टम फ़ॉन्ट्स",
"Table of Contents": "विषय-सूची",
"TTS not supported in this device": "यह डिवाइस TTS का समर्थन नहीं करता",
"Theme Color": "थीम रंग",
"Theme Mode": "थीम मोड",
"Translate": "अनुवाद करें",
"Translated Text": "अनुवादित पाठ",
"Unknown": "अज्ञात",
"Untitled": "शीर्षकहीन",
"Updated:": "अपडेट किया गया:",
"User avatar": "उपयोगकर्ता अवतार",
"Version {{version}}": "संस्करण {{version}}",
"Vertical Direction": "ऊर्ध्वाधर दिशा",
"Welcome to your library. You can import your books here and read them anytime.": "आपकी लाइब्रेरी में आपका स्वागत है। आप यहां अपनी पुस्तकें आयात कर सकते हैं और कभी भी पढ़ सकते हैं।",
"Wikipedia": "विकिपीडिया",
"Writing Mode": "लेखन मोड",
"Your Library": "आपकी लाइब्रेरी",
"TTS not supported for PDF": "PDF के लिए TTS समर्थित नहीं है",
"Override Book Font": "पुस्तक फ़ॉन्ट ओवरराइड करें",
"Vertical Margins (px)": "ऊर्ध्वाधर मार्जिन (px)",
"Horizontal Margins (%)": "क्षैतिज मार्जिन (%)",
"Apply to all books": "सभी पुस्तकों पर लागू करें",
"Apply to this book": "इस पुस्तक पर लागू करें",
"Unable to fetch the translation. Try again later.": "अनुवाद प्राप्त करने में असमर्थ। बाद में पुनः प्रयास करें।",
"Update Now!": "अभी अपडेट करें!",
"Update": "अपडेट करें"
}
@@ -133,5 +133,7 @@
"Horizontal Margins (%)": "Margin Horizontal (%)",
"Apply to all books": "Terapkan ke semua buku",
"Apply to this book": "Terapkan ke buku ini",
"Unable to fetch the translation. Try again later.": "Tidak dapat mengambil terjemahan. Coba lagi nanti."
"Unable to fetch the translation. Try again later.": "Tidak dapat mengambil terjemahan. Coba lagi nanti.",
"Update Now!": "Perbarui Sekarang!",
"Update": "Perbarui"
}
@@ -133,5 +133,7 @@
"Horizontal Margins (%)": "Margini orizzontali (%)",
"Apply to all books": "Applica a tutti i libri",
"Apply to this book": "Applica a questo libro",
"Unable to fetch the translation. Try again later.": "Impossibile recuperare la traduzione. Riprova più tardi."
"Unable to fetch the translation. Try again later.": "Impossibile recuperare la traduzione. Riprova più tardi.",
"Update Now!": "Aggiorna ora!",
"Update": "Aggiorna"
}
@@ -133,5 +133,7 @@
"Horizontal Margins (%)": "横マージン(%",
"Apply to all books": "すべての書籍に適用",
"Apply to this book": "この書籍に適用",
"Unable to fetch the translation. Try again later.": "翻訳を取得できません。後で再試行してください。"
"Unable to fetch the translation. Try again later.": "翻訳を取得できません。後で再試行してください。",
"Update Now!": "今すぐ更新!",
"Update": "更新"
}
@@ -133,5 +133,7 @@
"Horizontal Margins (%)": "수평 여백 (%)",
"Apply to all books": "모든 책에 적용",
"Apply to this book": "이 책에 적용",
"Unable to fetch the translation. Try again later.": "번역을 가져올 수 없습니다. 나중에 다시 시도하세요."
"Unable to fetch the translation. Try again later.": "번역을 가져올 수 없습니다. 나중에 다시 시도하세요.",
"Update Now!": "지금 업데이트!",
"Update": "업데이트"
}
@@ -0,0 +1,139 @@
{
"(detected)": "(wykryto)",
"About Readest": "O Readest",
"Add your notes here...": "Dodaj swoje notatki tutaj...",
"Animation": "Animacja",
"Annotate": "Adnotacja",
"Apply": "Zastosuj",
"Are you sure to delete the selected books?": "Czy na pewno chcesz usunąć wybrane książki?",
"Auto Mode": "Tryb automatyczny",
"Behavior": "Zachowanie",
"Book": "Książka",
"Book Cover": "Okładka książki",
"Bookmark": "Zakładka",
"Cancel": "Anuluj",
"Chapter": "Rozdział",
"Cherry": "Wiśniowy",
"Color": "Kolor",
"Confirm": "Potwierdź",
"Confirm Deletion": "Potwierdź usunięcie",
"Copied to notebook": "Skopiowano do notatnika",
"Copy": "Kopiuj",
"Custom CSS": "Własny CSS",
"Dark Mode": "Tryb ciemny",
"Default": "Domyślne",
"Default Font": "Domyślna czcionka",
"Default Font Size": "Domyślny rozmiar czcionki",
"Delete": "Usuń",
"Delete Highlight": "Usuń zaznaczenie",
"Dictionary": "Słownik",
"Disable Click-to-Flip": "Wyłącz przewracanie kliknięciem",
"Download Readest": "Pobierz Readest",
"Edit": "Edytuj",
"Enter your custom CSS here...": "Wprowadź własny CSS tutaj...",
"Excerpts": "Fragmenty",
"Failed to import book(s): {{filenames}}": "Nie udało się zaimportować książek: {{filenames}}",
"Fast": "Szybko",
"Font": "Czcionka",
"Font & Layout": "Czcionka i układ",
"Font Face": "Krój czcionki",
"Font Family": "Rodzina czcionek",
"Font Size": "Rozmiar czcionki",
"From Local File": "Z pliku lokalnego",
"Full Justification": "Pełne justowanie",
"Global Settings": "Ustawienia globalne",
"Go Back": "Wstecz",
"Go Forward": "Dalej",
"Go Left": "W lewo",
"Go Right": "W prawo",
"Grass": "Trawiasty",
"Gray": "Szary",
"Gruvbox": "Ciepły pomarańczowy",
"Highlight": "Zaznacz",
"Horizontal Direction": "Kierunek poziomy",
"Hyphenation": "Dzielenie wyrazów",
"Identifier:": "Identyfikator:",
"Import Books": "Importuj książki",
"Invert Colors in Dark Mode": "Odwróć kolory w trybie ciemnym",
"Language:": "Język:",
"Layout": "Układ",
"Light Mode": "Tryb jasny",
"Line Height": "Wysokość linii",
"Loading...": "Ładowanie...",
"Loc. {{currentPage}} / {{totalPage}}": "Poz. {{currentPage}} / {{totalPage}}",
"Logged in": "Zalogowano",
"Logged in as {{userDisplayName}}": "Zalogowano jako {{userDisplayName}}",
"Match Case": "Uwzględnij wielkość liter",
"Match Diacritics": "Uwzględnij znaki diakrytyczne",
"Match Whole Words": "Uwzględnij całe słowa",
"Maximum Block Size": "Maksymalny rozmiar bloku",
"Maximum Inline Size": "Maksymalny rozmiar linii",
"Maximum Number of Columns": "Maksymalna liczba kolumn",
"Minimum Font Size": "Minimalny rozmiar czcionki",
"Misc": "Różne",
"Monospace Font": "Czcionka o stałej szerokości",
"More Info": "Więcej informacji",
"Nord": "Północny",
"Notebook": "Notatnik",
"Notes": "Notatki",
"Open": "Otwórz",
"Open Book": "Otwórz książkę",
"Original Text": "Tekst oryginalny",
"Page": "Strona",
"Paging Animation": "Animacja przewracania stron",
"Paragraph": "Akapit",
"Parallel Read": "Czytanie równoległe",
"Published:": "Opublikowano:",
"Publisher:": "Wydawca:",
"Reading progress synced": "Zsynchronizowano postęp czytania",
"Reload Page": "Odśwież stronę",
"Reveal in File Explorer": "Pokaż w Eksploratorze plików",
"Reveal in Finder": "Pokaż w Finderze",
"Reveal in Folder": "Pokaż w folderze",
"Sans-Serif Font": "Czcionka bezszeryfowa",
"Save": "Zapisz",
"Scrolled Mode": "Tryb przewijania",
"Search": "Szukaj",
"Search books...": "Szukaj książek...",
"Search...": "Szukaj...",
"Select Book": "Wybierz książkę",
"Select books": "Wybierz książki",
"Select multiple books": "Wybierz wiele książek",
"Sepia": "Sepia",
"Serif Font": "Czcionka szeryfowa",
"Show Book Details": "Pokaż szczegóły książki",
"Sidebar": "Panel boczny",
"Sign In": "Zaloguj się",
"Sign Out": "Wyloguj się",
"Sky": "Niebieski",
"Slow": "Wolno",
"Solarized": "Słoneczny",
"Speak": "Czytaj",
"Subjects:": "Tematy:",
"System Fonts": "Czcionki systemowe",
"Table of Contents": "Spis treści",
"TTS not supported in this device": "TTS nie jest obsługiwane na tym urządzeniu",
"Theme Color": "Kolor motywu",
"Theme Mode": "Tryb motywu",
"Translate": "Tłumacz",
"Translated Text": "Przetłumaczony tekst",
"Unknown": "Nieznane",
"Untitled": "Bez tytułu",
"Updated:": "Zaktualizowano:",
"User avatar": "Awatar użytkownika",
"Version {{version}}": "Wersja {{version}}",
"Vertical Direction": "Kierunek pionowy",
"Welcome to your library. You can import your books here and read them anytime.": "Witaj w swojej bibliotece. Możesz tutaj zaimportować swoje książki i czytać je w dowolnym momencie.",
"Wikipedia": "Wikipedia",
"Writing Mode": "Tryb pisania",
"Your Library": "Twoja biblioteka",
"TTS not supported for PDF": "TTS nie jest obsługiwane dla plików PDF",
"Override Book Font": "Nadpisz czcionkę książki",
"Vertical Margins (px)": "Marginesy pionowe (px)",
"Horizontal Margins (%)": "Marginesy poziome (%)",
"Apply to all books": "Zastosuj do wszystkich książek",
"Apply to this book": "Zastosuj do tej książki",
"Unable to fetch the translation. Try again later.": "Nie udało się pobrać tłumaczenia. Spróbuj ponownie później.",
"Update Now!": "Zaktualizuj teraz!",
"Update": "Zaktualizuj"
}
@@ -133,5 +133,7 @@
"Horizontal Margins (%)": "Margens Horizontais (%)",
"Apply to all books": "Aplicar a todos os livros",
"Apply to this book": "Aplicar a este livro",
"Unable to fetch the translation. Try again later.": "Não foi possível buscar a tradução. Tente novamente mais tarde."
"Unable to fetch the translation. Try again later.": "Não foi possível buscar a tradução. Tente novamente mais tarde.",
"Update Now!": "Atualizar Agora!",
"Update": "Atualizar"
}
@@ -133,5 +133,7 @@
"Horizontal Margins (%)": "Горизонтальные поля (%)",
"Apply to all books": "Применить ко всем книгам",
"Apply to this book": "Применить к этой книге",
"Unable to fetch the translation. Try again later.": "Не удалось получить перевод. Попробуйте позже."
"Unable to fetch the translation. Try again later.": "Не удалось получить перевод. Попробуйте позже.",
"Update Now!": "Обновить сейчас!",
"Update": "Обновить"
}
@@ -133,5 +133,7 @@
"Horizontal Margins (%)": "Yatay Kenar Boşlukları (%)",
"Apply to all books": "Tüm kitaplara uygula",
"Apply to this book": "Bu kitaba uygula",
"Unable to fetch the translation. Try again later.": "Çeviri alınamıyor. Daha sonra tekrar deneyin."
"Unable to fetch the translation. Try again later.": "Çeviri alınamıyor. Daha sonra tekrar deneyin.",
"Update Now!": "Şimdi Güncelle!",
"Update": "Güncelle"
}
@@ -0,0 +1,139 @@
{
"(detected)": "(виявлено)",
"About Readest": "Про Readest",
"Add your notes here...": "Додайте свої нотатки тут...",
"Animation": "Анімація",
"Annotate": "Анотація",
"Apply": "Застосувати",
"Are you sure to delete the selected books?": "Ви впевнені, що хочете видалити вибрані книги?",
"Auto Mode": "Автоматичний режим",
"Behavior": "Поведінка",
"Book": "Книга",
"Book Cover": "Обкладинка книги",
"Bookmark": "Закладка",
"Cancel": "Скасувати",
"Chapter": "Розділ",
"Cherry": "Вишневий",
"Color": "Колір",
"Confirm": "Підтвердити",
"Confirm Deletion": "Підтвердити видалення",
"Copied to notebook": "Скопійовано до нотатника",
"Copy": "Копіювати",
"Custom CSS": "Користувацький CSS",
"Dark Mode": "Темний режим",
"Default": "За замовчуванням",
"Default Font": "Шрифт за замовчуванням",
"Default Font Size": "Розмір шрифту за замовчуванням",
"Delete": "Видалити",
"Delete Highlight": "Видалити виділення",
"Dictionary": "Словник",
"Disable Click-to-Flip": "Вимкнути гортання кліком",
"Download Readest": "Завантажити Readest",
"Edit": "Редагувати",
"Enter your custom CSS here...": "Введіть ваш користувацький CSS тут...",
"Excerpts": "Уривки",
"Failed to import book(s): {{filenames}}": "Не вдалося імпортувати книгу(и): {{filenames}}",
"Fast": "Швидко",
"Font": "Шрифт",
"Font & Layout": "Шрифт та макет",
"Font Face": "Накреслення шрифту",
"Font Family": "Сімейство шрифтів",
"Font Size": "Розмір шрифту",
"From Local File": "З локального файлу",
"Full Justification": "Повне вирівнювання",
"Global Settings": "Глобальні налаштування",
"Go Back": "Назад",
"Go Forward": "Вперед",
"Go Left": "Вліво",
"Go Right": "Вправо",
"Grass": "Трав'яний",
"Gray": "Сірий",
"Gruvbox": "Теплий помаранчевий",
"Highlight": "Виділення",
"Horizontal Direction": "Горизонтальний напрямок",
"Hyphenation": "Перенесення слів",
"Identifier:": "Ідентифікатор:",
"Import Books": "Імпортувати книги",
"Invert Colors in Dark Mode": "Інвертувати кольори в темному режимі",
"Language:": "Мова:",
"Layout": "Макет",
"Light Mode": "Світлий режим",
"Line Height": "Висота рядка",
"Loading...": "Завантаження...",
"Loc. {{currentPage}} / {{totalPage}}": "Поз. {{currentPage}} / {{totalPage}}",
"Logged in": "Увійшли",
"Logged in as {{userDisplayName}}": "Увійшли як {{userDisplayName}}",
"Match Case": "Враховувати регістр",
"Match Diacritics": "Враховувати діакритичні знаки",
"Match Whole Words": "Шукати цілі слова",
"Maximum Block Size": "Максимальний розмір блоку",
"Maximum Inline Size": "Максимальний розмір рядка",
"Maximum Number of Columns": "Максимальна кількість колонок",
"Minimum Font Size": "Мінімальний розмір шрифту",
"Misc": "Різне",
"Monospace Font": "Моноширинний шрифт",
"More Info": "Більше інформації",
"Nord": "Північний",
"Notebook": "Нотатник",
"Notes": "Нотатки",
"Open": "Відкрити",
"Open Book": "Відкрити книгу",
"Original Text": "Оригінальний текст",
"Page": "Сторінка",
"Paging Animation": "Анімація гортання",
"Paragraph": "Абзац",
"Parallel Read": "Паралельне читання",
"Published:": "Опубліковано:",
"Publisher:": "Видавець:",
"Reading progress synced": "Прогрес читання синхронізовано",
"Reload Page": "Перезавантажити сторінку",
"Reveal in File Explorer": "Показати у провіднику",
"Reveal in Finder": "Показати у Finder",
"Reveal in Folder": "Показати в папці",
"Sans-Serif Font": "Шрифт без засічок",
"Save": "Зберегти",
"Scrolled Mode": "Режим прокрутки",
"Search": "Пошук",
"Search books...": "Шукати книги...",
"Search...": "Пошук...",
"Select Book": "Вибрати книгу",
"Select books": "Вибрати книги",
"Select multiple books": "Вибрати кілька книг",
"Sepia": "Сепія",
"Serif Font": "Шрифт із засічками",
"Show Book Details": "Показати деталі книги",
"Sidebar": "Бічна панель",
"Sign In": "Увійти",
"Sign Out": "Вийти",
"Sky": "Небесний",
"Slow": "Повільно",
"Solarized": "Сонячний",
"Speak": "Озвучити",
"Subjects:": "Теми:",
"System Fonts": "Системні шрифти",
"Table of Contents": "Зміст",
"TTS not supported in this device": "TTS не підтримується на цьому пристрої",
"Theme Color": "Колір теми",
"Theme Mode": "Режим теми",
"Translate": "Перекласти",
"Translated Text": "Перекладений текст",
"Unknown": "Невідомо",
"Untitled": "Без назви",
"Updated:": "Оновлено:",
"User avatar": "Аватар користувача",
"Version {{version}}": "Версія {{version}}",
"Vertical Direction": "Вертикальний напрямок",
"Welcome to your library. You can import your books here and read them anytime.": "Ласкаво просимо до вашої бібліотеки. Ви можете імпортувати сюди свої книги та читати їх будь-коли.",
"Wikipedia": "Вікіпедія",
"Writing Mode": "Режим письма",
"Your Library": "Ваша бібліотека",
"TTS not supported for PDF": "TTS не підтримується для PDF",
"Override Book Font": "Перевизначити шрифт книги",
"Vertical Margins (px)": "Вертикальні відступи (px)",
"Horizontal Margins (%)": "Горизонтальні відступи (%)",
"Apply to all books": "Застосувати до всіх книг",
"Apply to this book": "Застосувати до цієї книги",
"Unable to fetch the translation. Try again later.": "Не вдалося отримати переклад. Спробуйте пізніше.",
"Update Now!": "Оновити зараз!",
"Update": "Оновити"
}
@@ -133,5 +133,7 @@
"Horizontal Margins (%)": "Lề ngang (%)",
"Apply to all books": "Áp dụng cho tất cả sách",
"Apply to this book": "Áp dụng cho sách này",
"Unable to fetch the translation. Try again later.": "Không thể tải dịch vụ. Vui lòng thử lại sau."
"Unable to fetch the translation. Try again later.": "Không thể tải dịch vụ. Vui lòng thử lại sau.",
"Update Now!": "Cập nhật ngay!",
"Update": "Cập nhật"
}
@@ -133,5 +133,7 @@
"Horizontal Margins (%)": "水平边距(%",
"Apply to all books": "应用于所有书籍",
"Apply to this book": "应用于此书籍",
"Unable to fetch the translation. Try again later.": "无法获取翻译,请稍后重试。"
"Unable to fetch the translation. Try again later.": "无法获取翻译,请稍后重试。",
"Update Now!": "立即更新!",
"Update": "更新"
}
@@ -133,5 +133,7 @@
"Horizontal Margins (%)": "水平邊距(%",
"Apply to all books": "應用於所有書籍",
"Apply to this book": "應用於此書籍",
"Unable to fetch the translation. Try again later.": "無法獲取翻譯,請稍後再試。"
"Unable to fetch the translation. Try again later.": "無法獲取翻譯,請稍後再試。",
"Update Now!": "立即更新!",
"Update": "更新"
}
+2 -1
View File
@@ -51,10 +51,11 @@ const LibraryPage = () => {
useEffect(() => {
const doAppUpdates = async () => {
if (hasUpdater()) {
await checkForAppUpdates();
await checkForAppUpdates(_);
}
};
doAppUpdates();
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
const processOpenWithFiles = React.useCallback(
+4 -1
View File
@@ -4,17 +4,20 @@ import { useEffect } from 'react';
import { useTheme } from '@/hooks/useTheme';
import { hasUpdater } from '@/services/environment';
import { checkForAppUpdates } from '@/helpers/updater';
import { useTranslation } from '@/hooks/useTranslation';
import Reader from './components/Reader';
export default function Page() {
const _ = useTranslation();
useTheme();
useEffect(() => {
const doAppUpdates = async () => {
if (hasUpdater()) {
await checkForAppUpdates();
await checkForAppUpdates(_);
}
};
doAppUpdates();
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
return <Reader />;
+12 -5
View File
@@ -2,10 +2,13 @@ import { check } from '@tauri-apps/plugin-updater';
import { ask } from '@tauri-apps/plugin-dialog';
import { relaunch } from '@tauri-apps/plugin-process';
import { CHECK_UPDATE_INTERVAL_SEC } from '@/services/constants';
import { TranslationFunc } from '@/hooks/useTranslation';
const LAST_CHECK_KEY = 'lastAppUpdateCheck';
export const checkForAppUpdates = async () => {
export const checkForAppUpdates = async (_: TranslationFunc) => {
if (process.env['NEXT_PUBLIC_DISABLE_UPDATER']) return;
const lastCheck = localStorage.getItem(LAST_CHECK_KEY);
const now = Date.now();
if (lastCheck && now - parseInt(lastCheck, 10) < CHECK_UPDATE_INTERVAL_SEC * 1000) return;
@@ -20,10 +23,10 @@ export const checkForAppUpdates = async () => {
Release notes: ${update.body}
`,
{
title: 'Update Now!',
title: _('Update Now!'),
kind: 'info',
okLabel: 'Update',
cancelLabel: 'Cancel',
okLabel: _('Update'),
cancelLabel: _('Cancel'),
},
);
@@ -31,6 +34,7 @@ export const checkForAppUpdates = async () => {
console.log(`found update ${update.version} from ${update.date} with notes ${update.body}`);
let downloaded = 0;
let contentLength = 0;
let lastLogged = 0;
await update.downloadAndInstall((event) => {
switch (event.event) {
case 'Started':
@@ -39,7 +43,10 @@ export const checkForAppUpdates = async () => {
break;
case 'Progress':
downloaded += event.data.chunkLength;
console.log(`downloaded ${downloaded} from ${contentLength}`);
if (downloaded - lastLogged >= 1 * 1024 * 1024) {
console.log(`downloaded ${downloaded} bytes from ${contentLength}`);
lastLogged = downloaded;
}
break;
case 'Finished':
console.log('download finished');
@@ -1,6 +1,8 @@
import '@/i18n/i18n';
import { useTranslation as _useTranslation } from 'react-i18next';
export type TranslationFunc = (key: string, options?: Record<string, number | string>) => string;
export const useTranslation = (namespace: string = 'translation') => {
const { t } = _useTranslation(namespace);