From c59097b0ac11eb423883f19a2354065eabeeeb53 Mon Sep 17 00:00:00 2001 From: Huang Xin Date: Mon, 4 May 2026 11:35:36 +0800 Subject: [PATCH] feat(koplugin): add i18n catalog and sync info dialog (#4050) - i18n loader at apps/readest.koplugin/i18n.lua: isolated callable, falls back to KOReader's gettext when a string is untranslated - Translation catalog at locales//translation.po for 31 languages, mirroring apps/readest-app/public/locales/ - scripts/extract-i18n.js (scan _("...") and _([[...]]); preserve existing, drop obsolete, add new) and scripts/apply-translations.js (bulk import from /tmp/koplugin-translations/.json) - Mirror apps/readest-app SyncInfoDialog: rename showMetaHashInfo to showSyncInfo, dialog title "Sync Info", new Last Synced row computed as max(last_synced_at_config, last_synced_at_notes) from doc_settings - syncconfig.lua / syncannotations.lua mark per-book sync timestamps on push/pull success - Rename "Meta Hash" -> "Book Fingerprint" in koplugin and apps/readest-app SyncInfoDialog.tsx; translations propagated to all readest-app locales - "book config" -> "reading progress" wording across user-facing strings (matches QiuYukang fork terminology) - Replace "Log out as " / "Login failed: " concat prefixes with T(_("...%1..."), arg) placeholder pattern (RTL / verb-final friendly) - pnpm lint:lua: luajit -b syntax check across koplugin .lua files; soft-skips when luajit is missing locally; CI installs luajit and runs the check unconditionally Co-authored-by: Claude Opus 4.7 (1M context) --- .github/workflows/pull-request.yml | 3 + apps/readest-app/.claude/memory/MEMORY.md | 1 + .../.claude/memory/koplugin-i18n.md | 44 ++++ apps/readest-app/package.json | 3 +- .../public/locales/ar/translation.json | 5 +- .../public/locales/bn/translation.json | 5 +- .../public/locales/bo/translation.json | 5 +- .../public/locales/de/translation.json | 5 +- .../public/locales/el/translation.json | 5 +- .../public/locales/es/translation.json | 5 +- .../public/locales/fa/translation.json | 5 +- .../public/locales/fr/translation.json | 5 +- .../public/locales/he/translation.json | 5 +- .../public/locales/hi/translation.json | 5 +- .../public/locales/hu/translation.json | 5 +- .../public/locales/id/translation.json | 5 +- .../public/locales/it/translation.json | 5 +- .../public/locales/ja/translation.json | 5 +- .../public/locales/ko/translation.json | 5 +- .../public/locales/ms/translation.json | 5 +- .../public/locales/nl/translation.json | 5 +- .../public/locales/pl/translation.json | 5 +- .../public/locales/pt/translation.json | 5 +- .../public/locales/ro/translation.json | 5 +- .../public/locales/ru/translation.json | 5 +- .../public/locales/si/translation.json | 5 +- .../public/locales/sl/translation.json | 5 +- .../public/locales/sv/translation.json | 5 +- .../public/locales/ta/translation.json | 5 +- .../public/locales/th/translation.json | 5 +- .../public/locales/tr/translation.json | 5 +- .../public/locales/uk/translation.json | 5 +- .../public/locales/vi/translation.json | 5 +- .../public/locales/zh-CN/translation.json | 5 +- .../public/locales/zh-TW/translation.json | 5 +- apps/readest-app/scripts/lint-koplugin.js | 54 ++++ .../app/reader/components/SyncInfoDialog.tsx | 4 +- apps/readest.koplugin/_meta.lua | 4 +- apps/readest.koplugin/i18n.lua | 149 +++++++++++ .../locales/ar/translation.po | 231 ++++++++++++++++++ .../locales/bn/translation.po | 231 ++++++++++++++++++ .../locales/bo/translation.po | 231 ++++++++++++++++++ .../locales/de/translation.po | 231 ++++++++++++++++++ .../locales/el/translation.po | 231 ++++++++++++++++++ .../locales/es/translation.po | 231 ++++++++++++++++++ .../locales/fa/translation.po | 231 ++++++++++++++++++ .../locales/fr/translation.po | 231 ++++++++++++++++++ .../locales/he/translation.po | 231 ++++++++++++++++++ .../locales/hi/translation.po | 231 ++++++++++++++++++ .../locales/hu/translation.po | 231 ++++++++++++++++++ .../locales/id/translation.po | 231 ++++++++++++++++++ .../locales/it/translation.po | 231 ++++++++++++++++++ .../locales/ja/translation.po | 231 ++++++++++++++++++ .../locales/ko/translation.po | 231 ++++++++++++++++++ .../locales/ms/translation.po | 231 ++++++++++++++++++ .../locales/nl/translation.po | 231 ++++++++++++++++++ .../locales/pl/translation.po | 231 ++++++++++++++++++ .../locales/pt/translation.po | 231 ++++++++++++++++++ .../locales/ro/translation.po | 231 ++++++++++++++++++ .../locales/ru/translation.po | 231 ++++++++++++++++++ .../locales/si/translation.po | 231 ++++++++++++++++++ .../locales/sl/translation.po | 231 ++++++++++++++++++ .../locales/sv/translation.po | 231 ++++++++++++++++++ .../locales/ta/translation.po | 231 ++++++++++++++++++ .../locales/th/translation.po | 231 ++++++++++++++++++ .../locales/tr/translation.po | 231 ++++++++++++++++++ .../locales/uk/translation.po | 231 ++++++++++++++++++ .../locales/vi/translation.po | 231 ++++++++++++++++++ .../locales/zh-CN/translation.po | 231 ++++++++++++++++++ .../locales/zh-TW/translation.po | 231 ++++++++++++++++++ apps/readest.koplugin/main.lua | 34 +-- .../scripts/apply-translations.js | 65 +++++ apps/readest.koplugin/scripts/extract-i18n.js | Bin 0 -> 9529 bytes apps/readest.koplugin/selfupdate.lua | 2 +- apps/readest.koplugin/syncannotations.lua | 12 +- apps/readest.koplugin/syncauth.lua | 7 +- apps/readest.koplugin/syncconfig.lua | 27 +- 77 files changed, 7599 insertions(+), 126 deletions(-) create mode 100644 apps/readest-app/.claude/memory/koplugin-i18n.md create mode 100644 apps/readest-app/scripts/lint-koplugin.js create mode 100644 apps/readest.koplugin/i18n.lua create mode 100644 apps/readest.koplugin/locales/ar/translation.po create mode 100644 apps/readest.koplugin/locales/bn/translation.po create mode 100644 apps/readest.koplugin/locales/bo/translation.po create mode 100644 apps/readest.koplugin/locales/de/translation.po create mode 100644 apps/readest.koplugin/locales/el/translation.po create mode 100644 apps/readest.koplugin/locales/es/translation.po create mode 100644 apps/readest.koplugin/locales/fa/translation.po create mode 100644 apps/readest.koplugin/locales/fr/translation.po create mode 100644 apps/readest.koplugin/locales/he/translation.po create mode 100644 apps/readest.koplugin/locales/hi/translation.po create mode 100644 apps/readest.koplugin/locales/hu/translation.po create mode 100644 apps/readest.koplugin/locales/id/translation.po create mode 100644 apps/readest.koplugin/locales/it/translation.po create mode 100644 apps/readest.koplugin/locales/ja/translation.po create mode 100644 apps/readest.koplugin/locales/ko/translation.po create mode 100644 apps/readest.koplugin/locales/ms/translation.po create mode 100644 apps/readest.koplugin/locales/nl/translation.po create mode 100644 apps/readest.koplugin/locales/pl/translation.po create mode 100644 apps/readest.koplugin/locales/pt/translation.po create mode 100644 apps/readest.koplugin/locales/ro/translation.po create mode 100644 apps/readest.koplugin/locales/ru/translation.po create mode 100644 apps/readest.koplugin/locales/si/translation.po create mode 100644 apps/readest.koplugin/locales/sl/translation.po create mode 100644 apps/readest.koplugin/locales/sv/translation.po create mode 100644 apps/readest.koplugin/locales/ta/translation.po create mode 100644 apps/readest.koplugin/locales/th/translation.po create mode 100644 apps/readest.koplugin/locales/tr/translation.po create mode 100644 apps/readest.koplugin/locales/uk/translation.po create mode 100644 apps/readest.koplugin/locales/vi/translation.po create mode 100644 apps/readest.koplugin/locales/zh-CN/translation.po create mode 100644 apps/readest.koplugin/locales/zh-TW/translation.po create mode 100644 apps/readest.koplugin/scripts/apply-translations.js create mode 100644 apps/readest.koplugin/scripts/extract-i18n.js diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index bc9344c1..0ffbc525 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -72,6 +72,9 @@ jobs: run: | pnpm install && pnpm setup-vendors + - name: install LuaJIT (for koplugin lint) + run: sudo apt-get update && sudo apt-get install -y luajit + - name: run format check run: | pnpm format:check || (pnpm format && git diff && exit 1) diff --git a/apps/readest-app/.claude/memory/MEMORY.md b/apps/readest-app/.claude/memory/MEMORY.md index f51014b5..db84d206 100644 --- a/apps/readest-app/.claude/memory/MEMORY.md +++ b/apps/readest-app/.claude/memory/MEMORY.md @@ -20,6 +20,7 @@ - [D-pad Navigation](dpad-navigation.md) — Android TV remote / keyboard arrow navigation design, key files, and pitfalls - [Cloudflare Workers WebSocket](cloudflare-workers-websocket.md) — use fetch() Upgrade pattern (not `ws` npm); CF delivers binary frames as Blob (must serialize async decodes) - [Share-a-Book Feature (in progress)](share-feature.md) — locked decisions for the /s/{token} share-link feature; plan at ~/.claude/plans/ok-we-will-learn-cosmic-acorn.md +- [readest.koplugin i18n](koplugin-i18n.md) — gettext loader at `apps/readest.koplugin/i18n.lua`, `.po` catalog at `locales//translation.po`, extract/apply scripts in `scripts/` ## Patterns - [Virtuoso + OverlayScrollbars](virtuoso_overlayscrollbars.md) — useOverlayScrollbars hook integration for overlay scrollbars on mobile webviews diff --git a/apps/readest-app/.claude/memory/koplugin-i18n.md b/apps/readest-app/.claude/memory/koplugin-i18n.md new file mode 100644 index 00000000..7e890650 --- /dev/null +++ b/apps/readest-app/.claude/memory/koplugin-i18n.md @@ -0,0 +1,44 @@ +--- +name: readest.koplugin i18n system +description: Custom gettext loader, .po catalog layout, and extract/apply scripts for the KOReader plugin at apps/readest.koplugin/ +type: reference +originSessionId: 08cfd0cd-b710-4674-9c90-d2ae4827d071 +--- +The KOReader plugin (`apps/readest.koplugin/`) has its own gettext-based i18n system, parallel to but separate from the readest-app i18next setup. + +## Loader + +- File: `apps/readest.koplugin/i18n.lua` — isolated module, returns a callable table via `setmetatable({}, {__call = ...})`, so `_("msg")` syntax works as a drop-in replacement for `require("gettext")`. Provides `ngettext`/`pgettext`/`npgettext` too. Falls back to KOReader's native `gettext` for missing strings. +- All Lua sources do `local _ = require("i18n")` (not `require("gettext")`). +- **Never rename `i18n.lua` to `gettext.lua`** — it would shadow KOReader's module via `require("gettext")` and break the fallback chain (recursive require / never loaded). + +## Catalog layout + +- `apps/readest.koplugin/locales//translation.po` — mirrors `apps/readest-app/public/locales//translation.json` exactly, using **i18next-style codes** (`zh-CN`, not `zh_CN`). +- The loader converts KOReader's locale (e.g. `zh_CN.utf8` → `zh-CN`) before lookup. +- Fallback chain: full code → base lang (`pt_BR` → `pt`) → `zh-CN` for any unspecified zh variant. +- Language list is the single source of truth at `apps/readest-app/i18next-scanner.config.cjs` (`options.lngs`) — currently 31 languages. + +## Scripts (in `apps/readest.koplugin/scripts/`) + +- **`extract-i18n.js`** — primary tool. Run with `node scripts/extract-i18n.js`. Scans `*.lua` for `_("...")`, `_('...')`, and `_([[...]])` (with proper Lua-escape handling), reads each `.po`, **preserves existing translations**, adds new msgids with empty `msgstr`, drops obsolete msgids. Idempotent. +- **`apply-translations.js`** — bulk applier. Reads `/tmp/koplugin-translations/.json` files (key = msgid, value = translation) and fills empty `msgstr ""` lines only — **never overwrites** existing translations. + +## Workflow for adding/changing strings + +1. Edit Lua source(s). Use `_("Foo")` or `T(_("Foo %1"), arg)` (`T` from `require("ffi/util").template`) — **never** `_("Foo ") .. arg`, because RTL/verb-final languages can't reorder the placeholder. +2. `node scripts/extract-i18n.js` — adds new empty msgids, drops obsolete. +3. To translate: drop `.json` files into `/tmp/koplugin-translations/`, then `node scripts/apply-translations.js`. +4. Verify with `luac -p apps/readest.koplugin/*.lua` and re-run `extract-i18n.js` (should report no changes — idempotency check). + +## Translation conventions + +- Brand names "Readest" and "KOReader" stay untranslated. +- Technical terms ("PDF", "API", "URL", "Supabase", "Hash") generally kept as-is, sometimes transliterated in non-Latin scripts. +- Dialog title = title case (`Sync Info`); menu item label = sentence case (`Sync info`). +- Lower-confidence translations (bo, si, ta, bn, sl, fa) deserve native-speaker review. + +## Storage conventions for plugin state + +- Global plugin state: `G_reader_settings:saveSetting("readest_sync", settings)` — login tokens, auto-sync flag, etc. +- Per-book state: `ui.doc_settings:readSetting("readest_sync")` table — keys like `meta_hash_v1`, `last_synced_at_config`, `last_synced_at_notes` (seconds since epoch). diff --git a/apps/readest-app/package.json b/apps/readest-app/package.json index d8c468d0..d15250be 100644 --- a/apps/readest-app/package.json +++ b/apps/readest-app/package.json @@ -17,7 +17,8 @@ "dev-android": "tauri android build -t aarch64 -- --features devtools && adb install -r src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release.apk", "dev-ios": "tauri ios build -- --features devtools && ideviceinstaller -i src-tauri/gen/apple/build/arm64/Readest.ipa", "i18n:extract": "i18next-scanner --config i18next-scanner.config.cjs", - "lint": "tsgo --noEmit && biome check .", + "lint": "tsgo --noEmit && biome check . && pnpm lint:lua", + "lint:lua": "node scripts/lint-koplugin.js", "test": "dotenv -e .env -e .env.test.local -- vitest", "test:coverage": "dotenv -e .env -e .env.test.local -- vitest run --coverage", "test:browser": "dotenv -e .env -e .env.test.local -- vitest run --config vitest.browser.config.mts", diff --git a/apps/readest-app/public/locales/ar/translation.json b/apps/readest-app/public/locales/ar/translation.json index 42518038..3e86015f 100644 --- a/apps/readest-app/public/locales/ar/translation.json +++ b/apps/readest-app/public/locales/ar/translation.json @@ -1274,8 +1274,6 @@ "{{count}} failed_many": "{{count}} فشل", "{{count}} failed_other": "{{count}} فشل", "(none)": "(لا شيء)", - "Meta Hash": "تجزئة البيانات الوصفية", - "Computed Hash": "التجزئة المحسوبة", "Identifiers": "المعرفات", "Read (Stream)": "قراءة (بث)", "Failed to start stream": "فشل بدء البث", @@ -1421,5 +1419,6 @@ "URL Template": "قالب URL", "Use %WORD% where the looked-up word should appear.": "استخدم %WORD% حيث يجب أن تظهر الكلمة المبحوث عنها.", "Open the search result in your browser:": "افتح نتيجة البحث في متصفحك:", - "Open in {{name}}": "افتح في {{name}}" + "Open in {{name}}": "افتح في {{name}}", + "Book Fingerprint": "بصمة الكتاب" } diff --git a/apps/readest-app/public/locales/bn/translation.json b/apps/readest-app/public/locales/bn/translation.json index 3629cf9f..3eac0829 100644 --- a/apps/readest-app/public/locales/bn/translation.json +++ b/apps/readest-app/public/locales/bn/translation.json @@ -1206,8 +1206,6 @@ "{{count}} failed_one": "{{count}}টি ব্যর্থ", "{{count}} failed_other": "{{count}}টি ব্যর্থ", "(none)": "(কোনোটি না)", - "Meta Hash": "মেটা হ্যাশ", - "Computed Hash": "গণিত হ্যাশ", "Identifiers": "শনাক্তকারী", "Read (Stream)": "পড়ুন (স্ট্রিম)", "Failed to start stream": "স্ট্রিম শুরু করতে ব্যর্থ", @@ -1329,5 +1327,6 @@ "URL Template": "URL টেমপ্লেট", "Use %WORD% where the looked-up word should appear.": "যেখানে অনুসন্ধান করা শব্দ উপস্থিত হওয়া উচিত সেখানে %WORD% ব্যবহার করুন।", "Open the search result in your browser:": "আপনার ব্রাউজারে অনুসন্ধান ফলাফল খুলুন:", - "Open in {{name}}": "{{name}}-এ খুলুন" + "Open in {{name}}": "{{name}}-এ খুলুন", + "Book Fingerprint": "বইয়ের ফিঙ্গারপ্রিন্ট" } diff --git a/apps/readest-app/public/locales/bo/translation.json b/apps/readest-app/public/locales/bo/translation.json index 235af913..e2ce18be 100644 --- a/apps/readest-app/public/locales/bo/translation.json +++ b/apps/readest-app/public/locales/bo/translation.json @@ -1189,8 +1189,6 @@ "Retry all": "ཡོད་ཚད་ཡང་སྐྱར།", "{{count}} failed_other": "{{count}} ཕམ་ཁ།", "(none)": "(མེད)", - "Meta Hash": "དཔྱད་གཞིའི་ཧེཤི", - "Computed Hash": "རྩིས་པའི་ཧེཤི", "Identifiers": "ངོས་འཛིན་བྱེད་མཁན", "Read (Stream)": "ཀློག་པ། (རྒྱུན་སྤེལ།)", "Failed to start stream": "རྒྱུན་སྤེལ་འགོ་འཛུགས་མ་ཐུབ།", @@ -1306,5 +1304,6 @@ "URL Template": "URL ཕྱི་མོ", "Use %WORD% where the looked-up word should appear.": "འཚོལ་བཤེར་བྱས་པའི་ཚིག་འཆར་ས་གནས་སུ་ %WORD% བཀོལ་སྤྱོད་གནང་རོགས།", "Open the search result in your browser:": "ཁྱེད་ཀྱི་བརྡ་འཚོལ་མཁོ་ཆས་ལ་འཚོལ་བཤེར་གྲུབ་འབྲས་ཁ་ཕྱེ:", - "Open in {{name}}": "{{name}} ནང་ཁ་ཕྱེ།" + "Open in {{name}}": "{{name}} ནང་ཁ་ཕྱེ།", + "Book Fingerprint": "དཔེ་ཆའི་མཛུབ་རྗེས།" } diff --git a/apps/readest-app/public/locales/de/translation.json b/apps/readest-app/public/locales/de/translation.json index 66f4dd11..f04860c5 100644 --- a/apps/readest-app/public/locales/de/translation.json +++ b/apps/readest-app/public/locales/de/translation.json @@ -1206,8 +1206,6 @@ "{{count}} failed_one": "{{count}} fehlgeschlagen", "{{count}} failed_other": "{{count}} fehlgeschlagen", "(none)": "(keine)", - "Meta Hash": "Meta-Hash", - "Computed Hash": "Berechneter Hash", "Identifiers": "Bezeichner", "Read (Stream)": "Lesen (Stream)", "Failed to start stream": "Stream konnte nicht gestartet werden", @@ -1329,5 +1327,6 @@ "URL Template": "URL-Vorlage", "Use %WORD% where the looked-up word should appear.": "Verwenden Sie %WORD%, wo das gesuchte Wort erscheinen soll.", "Open the search result in your browser:": "Öffne das Suchergebnis in deinem Browser:", - "Open in {{name}}": "In {{name}} öffnen" + "Open in {{name}}": "In {{name}} öffnen", + "Book Fingerprint": "Buch-Fingerabdruck" } diff --git a/apps/readest-app/public/locales/el/translation.json b/apps/readest-app/public/locales/el/translation.json index cbdcc068..1314d882 100644 --- a/apps/readest-app/public/locales/el/translation.json +++ b/apps/readest-app/public/locales/el/translation.json @@ -1206,8 +1206,6 @@ "{{count}} failed_one": "{{count}} απέτυχε", "{{count}} failed_other": "{{count}} απέτυχαν", "(none)": "(κανένα)", - "Meta Hash": "Meta Hash", - "Computed Hash": "Υπολογισμένο Hash", "Identifiers": "Αναγνωριστικά", "Read (Stream)": "Ανάγνωση (Ροή)", "Failed to start stream": "Αποτυχία έναρξης ροής", @@ -1329,5 +1327,6 @@ "URL Template": "Πρότυπο URL", "Use %WORD% where the looked-up word should appear.": "Χρησιμοποιήστε %WORD% όπου πρέπει να εμφανίζεται η λέξη αναζήτησης.", "Open the search result in your browser:": "Ανοίξτε το αποτέλεσμα αναζήτησης στο πρόγραμμα περιήγησής σας:", - "Open in {{name}}": "Άνοιγμα σε {{name}}" + "Open in {{name}}": "Άνοιγμα σε {{name}}", + "Book Fingerprint": "Δακτυλικό αποτύπωμα βιβλίου" } diff --git a/apps/readest-app/public/locales/es/translation.json b/apps/readest-app/public/locales/es/translation.json index f992884b..8be7940d 100644 --- a/apps/readest-app/public/locales/es/translation.json +++ b/apps/readest-app/public/locales/es/translation.json @@ -1223,8 +1223,6 @@ "{{count}} failed_many": "{{count}} fallidas", "{{count}} failed_other": "{{count}} fallidas", "(none)": "(ninguno)", - "Meta Hash": "Meta Hash", - "Computed Hash": "Hash Calculado", "Identifiers": "Identificadores", "Read (Stream)": "Leer (Streaming)", "Failed to start stream": "No se pudo iniciar el streaming", @@ -1352,5 +1350,6 @@ "URL Template": "Plantilla de URL", "Use %WORD% where the looked-up word should appear.": "Use %WORD% donde debe aparecer la palabra buscada.", "Open the search result in your browser:": "Abre el resultado de búsqueda en tu navegador:", - "Open in {{name}}": "Abrir en {{name}}" + "Open in {{name}}": "Abrir en {{name}}", + "Book Fingerprint": "Huella del libro" } diff --git a/apps/readest-app/public/locales/fa/translation.json b/apps/readest-app/public/locales/fa/translation.json index 46e5d203..a8af43e3 100644 --- a/apps/readest-app/public/locales/fa/translation.json +++ b/apps/readest-app/public/locales/fa/translation.json @@ -1206,8 +1206,6 @@ "{{count}} failed_one": "{{count}} ناموفق", "{{count}} failed_other": "{{count}} ناموفق", "(none)": "(هیچ‌کدام)", - "Meta Hash": "متا هش", - "Computed Hash": "هش محاسبه‌شده", "Identifiers": "شناسه‌ها", "Read (Stream)": "خواندن (پخش)", "Failed to start stream": "شروع پخش ناموفق بود", @@ -1329,5 +1327,6 @@ "URL Template": "الگوی URL", "Use %WORD% where the looked-up word should appear.": "از %WORD% در جایی که کلمه‌ی مورد جست‌وجو باید ظاهر شود، استفاده کنید.", "Open the search result in your browser:": "نتیجه‌ی جست‌وجو را در مرورگر باز کنید:", - "Open in {{name}}": "بازکردن در {{name}}" + "Open in {{name}}": "بازکردن در {{name}}", + "Book Fingerprint": "اثر انگشت کتاب" } diff --git a/apps/readest-app/public/locales/fr/translation.json b/apps/readest-app/public/locales/fr/translation.json index b1155e6f..0e1aaefa 100644 --- a/apps/readest-app/public/locales/fr/translation.json +++ b/apps/readest-app/public/locales/fr/translation.json @@ -1223,8 +1223,6 @@ "{{count}} failed_many": "{{count}} échecs", "{{count}} failed_other": "{{count}} échecs", "(none)": "(aucun)", - "Meta Hash": "Hachage Meta", - "Computed Hash": "Hachage calculé", "Identifiers": "Identifiants", "Read (Stream)": "Lire (Flux)", "Failed to start stream": "Échec du démarrage du flux", @@ -1352,5 +1350,6 @@ "URL Template": "Modèle d'URL", "Use %WORD% where the looked-up word should appear.": "Utilisez %WORD% à l'endroit où le mot recherché doit apparaître.", "Open the search result in your browser:": "Ouvrir le résultat de la recherche dans votre navigateur :", - "Open in {{name}}": "Ouvrir dans {{name}}" + "Open in {{name}}": "Ouvrir dans {{name}}", + "Book Fingerprint": "Empreinte du livre" } diff --git a/apps/readest-app/public/locales/he/translation.json b/apps/readest-app/public/locales/he/translation.json index 70da179d..05bf5ce7 100644 --- a/apps/readest-app/public/locales/he/translation.json +++ b/apps/readest-app/public/locales/he/translation.json @@ -1223,8 +1223,6 @@ "{{count}} failed_two": "{{count}} נכשלו", "{{count}} failed_other": "{{count}} נכשלו", "(none)": "(אין)", - "Meta Hash": "גיבוב מטא", - "Computed Hash": "גיבוב מחושב", "Identifiers": "מזהים", "Read (Stream)": "קרא (זרם)", "Failed to start stream": "הפעלת הזרם נכשלה", @@ -1352,5 +1350,6 @@ "URL Template": "תבנית URL", "Use %WORD% where the looked-up word should appear.": "השתמש ב-%WORD% היכן שהמילה המבוקשת צריכה להופיע.", "Open the search result in your browser:": "פתח את תוצאת החיפוש בדפדפן שלך:", - "Open in {{name}}": "פתח ב-{{name}}" + "Open in {{name}}": "פתח ב-{{name}}", + "Book Fingerprint": "טביעת אצבע של הספר" } diff --git a/apps/readest-app/public/locales/hi/translation.json b/apps/readest-app/public/locales/hi/translation.json index bd388fc9..0f196f33 100644 --- a/apps/readest-app/public/locales/hi/translation.json +++ b/apps/readest-app/public/locales/hi/translation.json @@ -1206,8 +1206,6 @@ "{{count}} failed_one": "{{count}} असफल", "{{count}} failed_other": "{{count}} असफल", "(none)": "(कोई नहीं)", - "Meta Hash": "मेटा हैश", - "Computed Hash": "परिकलित हैश", "Identifiers": "पहचानकर्ता", "Read (Stream)": "पढ़ें (स्ट्रीम)", "Failed to start stream": "स्ट्रीम प्रारंभ करने में विफल", @@ -1329,5 +1327,6 @@ "URL Template": "URL टेम्पलेट", "Use %WORD% where the looked-up word should appear.": "%WORD% का उपयोग वहां करें जहां खोजा गया शब्द दिखाई देना चाहिए।", "Open the search result in your browser:": "अपने ब्राउज़र में खोज परिणाम खोलें:", - "Open in {{name}}": "{{name}} में खोलें" + "Open in {{name}}": "{{name}} में खोलें", + "Book Fingerprint": "पुस्तक फिंगरप्रिंट" } diff --git a/apps/readest-app/public/locales/hu/translation.json b/apps/readest-app/public/locales/hu/translation.json index 0c0de602..c02a64f4 100644 --- a/apps/readest-app/public/locales/hu/translation.json +++ b/apps/readest-app/public/locales/hu/translation.json @@ -1206,8 +1206,6 @@ "{{count}} failed_one": "{{count}} sikertelen", "{{count}} failed_other": "{{count}} sikertelen", "(none)": "(nincs)", - "Meta Hash": "Meta-hash", - "Computed Hash": "Számított hash", "Identifiers": "Azonosítók", "Read (Stream)": "Olvasás (Stream)", "Failed to start stream": "Nem sikerült elindítani a streamet", @@ -1329,5 +1327,6 @@ "URL Template": "URL-sablon", "Use %WORD% where the looked-up word should appear.": "Használja a %WORD%-t ott, ahol a keresett szónak meg kell jelennie.", "Open the search result in your browser:": "Nyissa meg a találatot a böngészőben:", - "Open in {{name}}": "Megnyitás itt: {{name}}" + "Open in {{name}}": "Megnyitás itt: {{name}}", + "Book Fingerprint": "Könyv ujjlenyomata" } diff --git a/apps/readest-app/public/locales/id/translation.json b/apps/readest-app/public/locales/id/translation.json index 990d51fa..647a8f27 100644 --- a/apps/readest-app/public/locales/id/translation.json +++ b/apps/readest-app/public/locales/id/translation.json @@ -1189,8 +1189,6 @@ "Retry all": "Coba lagi semua", "{{count}} failed_other": "{{count}} gagal", "(none)": "(tidak ada)", - "Meta Hash": "Meta Hash", - "Computed Hash": "Hash Terhitung", "Identifiers": "Pengenal", "Read (Stream)": "Baca (Stream)", "Failed to start stream": "Gagal memulai stream", @@ -1306,5 +1304,6 @@ "URL Template": "Templat URL", "Use %WORD% where the looked-up word should appear.": "Gunakan %WORD% di tempat kata yang dicari harus muncul.", "Open the search result in your browser:": "Buka hasil pencarian di peramban Anda:", - "Open in {{name}}": "Buka di {{name}}" + "Open in {{name}}": "Buka di {{name}}", + "Book Fingerprint": "Sidik jari buku" } diff --git a/apps/readest-app/public/locales/it/translation.json b/apps/readest-app/public/locales/it/translation.json index fef1d814..8b5f715c 100644 --- a/apps/readest-app/public/locales/it/translation.json +++ b/apps/readest-app/public/locales/it/translation.json @@ -1223,8 +1223,6 @@ "{{count}} failed_many": "{{count}} non riusciti", "{{count}} failed_other": "{{count}} non riusciti", "(none)": "(nessuno)", - "Meta Hash": "Meta Hash", - "Computed Hash": "Hash Calcolato", "Identifiers": "Identificatori", "Read (Stream)": "Leggi (Stream)", "Failed to start stream": "Avvio dello stream non riuscito", @@ -1352,5 +1350,6 @@ "URL Template": "Modello URL", "Use %WORD% where the looked-up word should appear.": "Usa %WORD% dove dovrebbe apparire la parola cercata.", "Open the search result in your browser:": "Apri il risultato della ricerca nel tuo browser:", - "Open in {{name}}": "Apri in {{name}}" + "Open in {{name}}": "Apri in {{name}}", + "Book Fingerprint": "Impronta del libro" } diff --git a/apps/readest-app/public/locales/ja/translation.json b/apps/readest-app/public/locales/ja/translation.json index b2e7a438..176f6fcc 100644 --- a/apps/readest-app/public/locales/ja/translation.json +++ b/apps/readest-app/public/locales/ja/translation.json @@ -1189,8 +1189,6 @@ "Retry all": "すべて再試行", "{{count}} failed_other": "{{count}}件失敗", "(none)": "(なし)", - "Meta Hash": "メタハッシュ", - "Computed Hash": "計算されたハッシュ", "Identifiers": "識別子", "Read (Stream)": "読む(ストリーム)", "Failed to start stream": "ストリームの開始に失敗しました", @@ -1306,5 +1304,6 @@ "URL Template": "URL テンプレート", "Use %WORD% where the looked-up word should appear.": "調べる単語が表示される場所に %WORD% を使用してください。", "Open the search result in your browser:": "検索結果をブラウザで開く:", - "Open in {{name}}": "{{name}} で開く" + "Open in {{name}}": "{{name}} で開く", + "Book Fingerprint": "書籍の指紋" } diff --git a/apps/readest-app/public/locales/ko/translation.json b/apps/readest-app/public/locales/ko/translation.json index 2c800d94..ec9fdd6e 100644 --- a/apps/readest-app/public/locales/ko/translation.json +++ b/apps/readest-app/public/locales/ko/translation.json @@ -1189,8 +1189,6 @@ "Retry all": "모두 재시도", "{{count}} failed_other": "{{count}}개 실패", "(none)": "(없음)", - "Meta Hash": "메타 해시", - "Computed Hash": "계산된 해시", "Identifiers": "식별자", "Read (Stream)": "읽기 (스트림)", "Failed to start stream": "스트림을 시작할 수 없습니다", @@ -1306,5 +1304,6 @@ "URL Template": "URL 템플릿", "Use %WORD% where the looked-up word should appear.": "검색어가 표시될 위치에 %WORD%를 사용하세요.", "Open the search result in your browser:": "브라우저에서 검색 결과 열기:", - "Open in {{name}}": "{{name}}에서 열기" + "Open in {{name}}": "{{name}}에서 열기", + "Book Fingerprint": "책 지문" } diff --git a/apps/readest-app/public/locales/ms/translation.json b/apps/readest-app/public/locales/ms/translation.json index 7d5e713a..698fb6a1 100644 --- a/apps/readest-app/public/locales/ms/translation.json +++ b/apps/readest-app/public/locales/ms/translation.json @@ -1189,8 +1189,6 @@ "Retry all": "Cuba lagi semua", "{{count}} failed_other": "{{count}} gagal", "(none)": "(tiada)", - "Meta Hash": "Cincang Meta", - "Computed Hash": "Cincang Dikira", "Identifiers": "Pengenal", "Read (Stream)": "Baca (Strim)", "Failed to start stream": "Gagal memulakan strim", @@ -1306,5 +1304,6 @@ "URL Template": "Templat URL", "Use %WORD% where the looked-up word should appear.": "Gunakan %WORD% di mana perkataan yang dicari harus muncul.", "Open the search result in your browser:": "Buka hasil carian dalam pelayar anda:", - "Open in {{name}}": "Buka dalam {{name}}" + "Open in {{name}}": "Buka dalam {{name}}", + "Book Fingerprint": "Cap jari buku" } diff --git a/apps/readest-app/public/locales/nl/translation.json b/apps/readest-app/public/locales/nl/translation.json index 70634b43..37e9a803 100644 --- a/apps/readest-app/public/locales/nl/translation.json +++ b/apps/readest-app/public/locales/nl/translation.json @@ -1206,8 +1206,6 @@ "{{count}} failed_one": "{{count}} mislukt", "{{count}} failed_other": "{{count}} mislukt", "(none)": "(geen)", - "Meta Hash": "Meta-hash", - "Computed Hash": "Berekende hash", "Identifiers": "Identificatoren", "Read (Stream)": "Lezen (Stream)", "Failed to start stream": "Kan stream niet starten", @@ -1329,5 +1327,6 @@ "URL Template": "URL-sjabloon", "Use %WORD% where the looked-up word should appear.": "Gebruik %WORD% op de plek waar het opgezochte woord moet verschijnen.", "Open the search result in your browser:": "Open het zoekresultaat in je browser:", - "Open in {{name}}": "Openen in {{name}}" + "Open in {{name}}": "Openen in {{name}}", + "Book Fingerprint": "Vingerafdruk van boek" } diff --git a/apps/readest-app/public/locales/pl/translation.json b/apps/readest-app/public/locales/pl/translation.json index f086d393..090986c9 100644 --- a/apps/readest-app/public/locales/pl/translation.json +++ b/apps/readest-app/public/locales/pl/translation.json @@ -1240,8 +1240,6 @@ "{{count}} failed_many": "{{count}} nieudanych", "{{count}} failed_other": "{{count}} nieudanych", "(none)": "(brak)", - "Meta Hash": "Meta-skrót", - "Computed Hash": "Obliczony skrót", "Identifiers": "Identyfikatory", "Read (Stream)": "Czytaj (Strumień)", "Failed to start stream": "Nie udało się uruchomić strumienia", @@ -1375,5 +1373,6 @@ "URL Template": "Szablon URL", "Use %WORD% where the looked-up word should appear.": "Użyj %WORD% w miejscu, w którym ma się pojawić wyszukiwane słowo.", "Open the search result in your browser:": "Otwórz wynik wyszukiwania w przeglądarce:", - "Open in {{name}}": "Otwórz w {{name}}" + "Open in {{name}}": "Otwórz w {{name}}", + "Book Fingerprint": "Odcisk książki" } diff --git a/apps/readest-app/public/locales/pt/translation.json b/apps/readest-app/public/locales/pt/translation.json index 929870b3..11d7cf38 100644 --- a/apps/readest-app/public/locales/pt/translation.json +++ b/apps/readest-app/public/locales/pt/translation.json @@ -1223,8 +1223,6 @@ "{{count}} failed_many": "{{count}} falhadas", "{{count}} failed_other": "{{count}} falhadas", "(none)": "(nenhum)", - "Meta Hash": "Meta Hash", - "Computed Hash": "Hash Calculado", "Identifiers": "Identificadores", "Read (Stream)": "Ler (Streaming)", "Failed to start stream": "Falha ao iniciar o streaming", @@ -1352,5 +1350,6 @@ "URL Template": "Modelo de URL", "Use %WORD% where the looked-up word should appear.": "Use %WORD% onde a palavra pesquisada deve aparecer.", "Open the search result in your browser:": "Abrir o resultado da pesquisa no seu navegador:", - "Open in {{name}}": "Abrir em {{name}}" + "Open in {{name}}": "Abrir em {{name}}", + "Book Fingerprint": "Impressão digital do livro" } diff --git a/apps/readest-app/public/locales/ro/translation.json b/apps/readest-app/public/locales/ro/translation.json index 016ca539..8cb1c04c 100644 --- a/apps/readest-app/public/locales/ro/translation.json +++ b/apps/readest-app/public/locales/ro/translation.json @@ -1223,8 +1223,6 @@ "{{count}} failed_few": "{{count}} eșuate", "{{count}} failed_other": "{{count}} eșuate", "(none)": "(niciunul)", - "Meta Hash": "Meta hash", - "Computed Hash": "Hash calculat", "Identifiers": "Identificatori", "Read (Stream)": "Citește (Flux)", "Failed to start stream": "Eroare la pornirea fluxului", @@ -1352,5 +1350,6 @@ "URL Template": "Șablon URL", "Use %WORD% where the looked-up word should appear.": "Folosiți %WORD% acolo unde ar trebui să apară cuvântul căutat.", "Open the search result in your browser:": "Deschideți rezultatul căutării în browser:", - "Open in {{name}}": "Deschide în {{name}}" + "Open in {{name}}": "Deschide în {{name}}", + "Book Fingerprint": "Amprenta cărții" } diff --git a/apps/readest-app/public/locales/ru/translation.json b/apps/readest-app/public/locales/ru/translation.json index 2a17e489..c0714e40 100644 --- a/apps/readest-app/public/locales/ru/translation.json +++ b/apps/readest-app/public/locales/ru/translation.json @@ -1240,8 +1240,6 @@ "{{count}} failed_many": "{{count}} ошибок", "{{count}} failed_other": "{{count}} ошибок", "(none)": "(нет)", - "Meta Hash": "Мета-хеш", - "Computed Hash": "Вычисленный хеш", "Identifiers": "Идентификаторы", "Read (Stream)": "Читать (Поток)", "Failed to start stream": "Не удалось запустить поток", @@ -1375,5 +1373,6 @@ "URL Template": "Шаблон URL", "Use %WORD% where the looked-up word should appear.": "Используйте %WORD% там, где должно появиться искомое слово.", "Open the search result in your browser:": "Открыть результат поиска в браузере:", - "Open in {{name}}": "Открыть в {{name}}" + "Open in {{name}}": "Открыть в {{name}}", + "Book Fingerprint": "Отпечаток книги" } diff --git a/apps/readest-app/public/locales/si/translation.json b/apps/readest-app/public/locales/si/translation.json index d358291e..4eec6f7d 100644 --- a/apps/readest-app/public/locales/si/translation.json +++ b/apps/readest-app/public/locales/si/translation.json @@ -1206,8 +1206,6 @@ "{{count}} failed_one": "{{count}} අසාර්ථකයි", "{{count}} failed_other": "{{count}} අසාර්ථකයි", "(none)": "(කිසිවක් නැත)", - "Meta Hash": "මෙටා හෑෂ්", - "Computed Hash": "ගණනය කළ හෑෂ්", "Identifiers": "හඳුනාගැනීම්", "Read (Stream)": "කියවන්න (ස්ට්‍රීම්)", "Failed to start stream": "ස්ට්‍රීම් ආරම්භ කිරීම අසාර්ථකයි", @@ -1329,5 +1327,6 @@ "URL Template": "URL අච්චුව", "Use %WORD% where the looked-up word should appear.": "සොයන වචනය දිස්විය යුතු තැන %WORD% භාවිතා කරන්න.", "Open the search result in your browser:": "ඔබේ බ්‍රවුසරයේ සෙවුම් ප්‍රතිඵලය විවෘත කරන්න:", - "Open in {{name}}": "{{name}} වල විවෘත කරන්න" + "Open in {{name}}": "{{name}} වල විවෘත කරන්න", + "Book Fingerprint": "පොතේ ඇඟිලි සලකුණ" } diff --git a/apps/readest-app/public/locales/sl/translation.json b/apps/readest-app/public/locales/sl/translation.json index f73a480b..400cd90b 100644 --- a/apps/readest-app/public/locales/sl/translation.json +++ b/apps/readest-app/public/locales/sl/translation.json @@ -1240,8 +1240,6 @@ "{{count}} failed_few": "{{count}} niso uspele", "{{count}} failed_other": "{{count}} jih ni uspelo", "(none)": "(brez)", - "Meta Hash": "Meta hash", - "Computed Hash": "Izračunani hash", "Identifiers": "Identifikatorji", "Read (Stream)": "Beri (pretok)", "Failed to start stream": "Pretoka ni bilo mogoče zagnati", @@ -1375,5 +1373,6 @@ "URL Template": "Predloga URL", "Use %WORD% where the looked-up word should appear.": "Uporabite %WORD% tam, kjer naj se pojavi iskana beseda.", "Open the search result in your browser:": "Odprite rezultat iskanja v brskalniku:", - "Open in {{name}}": "Odpri v {{name}}" + "Open in {{name}}": "Odpri v {{name}}", + "Book Fingerprint": "Prstni odtis knjige" } diff --git a/apps/readest-app/public/locales/sv/translation.json b/apps/readest-app/public/locales/sv/translation.json index f026996e..f9a394d6 100644 --- a/apps/readest-app/public/locales/sv/translation.json +++ b/apps/readest-app/public/locales/sv/translation.json @@ -1206,8 +1206,6 @@ "{{count}} failed_one": "{{count}} misslyckades", "{{count}} failed_other": "{{count}} misslyckades", "(none)": "(ingen)", - "Meta Hash": "Meta-hash", - "Computed Hash": "Beräknat hash", "Identifiers": "Identifierare", "Read (Stream)": "Läs (ström)", "Failed to start stream": "Det gick inte att starta strömmen", @@ -1329,5 +1327,6 @@ "URL Template": "URL-mall", "Use %WORD% where the looked-up word should appear.": "Använd %WORD% där det uppslagna ordet ska visas.", "Open the search result in your browser:": "Öppna sökresultatet i din webbläsare:", - "Open in {{name}}": "Öppna i {{name}}" + "Open in {{name}}": "Öppna i {{name}}", + "Book Fingerprint": "Bokens fingeravtryck" } diff --git a/apps/readest-app/public/locales/ta/translation.json b/apps/readest-app/public/locales/ta/translation.json index 0ed66b0b..1ec6c240 100644 --- a/apps/readest-app/public/locales/ta/translation.json +++ b/apps/readest-app/public/locales/ta/translation.json @@ -1206,8 +1206,6 @@ "{{count}} failed_one": "{{count}} தோல்வி", "{{count}} failed_other": "{{count}} தோல்விகள்", "(none)": "(இல்லை)", - "Meta Hash": "மெட்டா ஹாஷ்", - "Computed Hash": "கணக்கிடப்பட்ட ஹாஷ்", "Identifiers": "அடையாளங்காட்டிகள்", "Read (Stream)": "படிக்க (ஸ்ட்ரீம்)", "Failed to start stream": "ஸ்ட்ரீமைத் தொடங்க முடியவில்லை", @@ -1329,5 +1327,6 @@ "URL Template": "URL வார்ப்புரு", "Use %WORD% where the looked-up word should appear.": "தேடப்பட்ட சொல் தோன்ற வேண்டிய இடத்தில் %WORD% ஐ பயன்படுத்தவும்.", "Open the search result in your browser:": "உங்கள் உலாவியில் தேடல் முடிவைத் திற:", - "Open in {{name}}": "{{name}} இல் திற" + "Open in {{name}}": "{{name}} இல் திற", + "Book Fingerprint": "புத்தக கைரேகை" } diff --git a/apps/readest-app/public/locales/th/translation.json b/apps/readest-app/public/locales/th/translation.json index f55abad0..1173fcce 100644 --- a/apps/readest-app/public/locales/th/translation.json +++ b/apps/readest-app/public/locales/th/translation.json @@ -1189,8 +1189,6 @@ "Retry all": "ลองอีกครั้งทั้งหมด", "{{count}} failed_other": "{{count}} ล้มเหลว", "(none)": "(ไม่มี)", - "Meta Hash": "แฮชเมตา", - "Computed Hash": "แฮชที่คำนวณ", "Identifiers": "ตัวระบุ", "Read (Stream)": "อ่าน (สตรีม)", "Failed to start stream": "ไม่สามารถเริ่มสตรีมได้", @@ -1306,5 +1304,6 @@ "URL Template": "เทมเพลต URL", "Use %WORD% where the looked-up word should appear.": "ใช้ %WORD% ในตำแหน่งที่คำค้นหาควรปรากฏ", "Open the search result in your browser:": "เปิดผลลัพธ์การค้นหาในเบราว์เซอร์ของคุณ:", - "Open in {{name}}": "เปิดใน {{name}}" + "Open in {{name}}": "เปิดใน {{name}}", + "Book Fingerprint": "ลายนิ้วมือหนังสือ" } diff --git a/apps/readest-app/public/locales/tr/translation.json b/apps/readest-app/public/locales/tr/translation.json index 41bcf033..4404add1 100644 --- a/apps/readest-app/public/locales/tr/translation.json +++ b/apps/readest-app/public/locales/tr/translation.json @@ -1206,8 +1206,6 @@ "{{count}} failed_one": "{{count}} başarısız", "{{count}} failed_other": "{{count}} başarısız", "(none)": "(yok)", - "Meta Hash": "Meta Hash", - "Computed Hash": "Hesaplanan Hash", "Identifiers": "Tanımlayıcılar", "Read (Stream)": "Oku (Akış)", "Failed to start stream": "Akış başlatılamadı", @@ -1329,5 +1327,6 @@ "URL Template": "URL Şablonu", "Use %WORD% where the looked-up word should appear.": "Aranan kelimenin görünmesi gereken yerde %WORD% kullanın.", "Open the search result in your browser:": "Arama sonucunu tarayıcınızda açın:", - "Open in {{name}}": "{{name}} ile aç" + "Open in {{name}}": "{{name}} ile aç", + "Book Fingerprint": "Kitap parmak izi" } diff --git a/apps/readest-app/public/locales/uk/translation.json b/apps/readest-app/public/locales/uk/translation.json index 80991a30..5135979d 100644 --- a/apps/readest-app/public/locales/uk/translation.json +++ b/apps/readest-app/public/locales/uk/translation.json @@ -1240,8 +1240,6 @@ "{{count}} failed_many": "{{count}} помилок", "{{count}} failed_other": "{{count}} помилок", "(none)": "(немає)", - "Meta Hash": "Мета-хеш", - "Computed Hash": "Обчислений хеш", "Identifiers": "Ідентифікатори", "Read (Stream)": "Читати (Потік)", "Failed to start stream": "Не вдалося запустити потік", @@ -1375,5 +1373,6 @@ "URL Template": "Шаблон URL", "Use %WORD% where the looked-up word should appear.": "Використовуйте %WORD% там, де має з'явитися шукане слово.", "Open the search result in your browser:": "Відкрийте результат пошуку в браузері:", - "Open in {{name}}": "Відкрити в {{name}}" + "Open in {{name}}": "Відкрити в {{name}}", + "Book Fingerprint": "Відбиток книги" } diff --git a/apps/readest-app/public/locales/vi/translation.json b/apps/readest-app/public/locales/vi/translation.json index 1ccd34d1..1ab29baf 100644 --- a/apps/readest-app/public/locales/vi/translation.json +++ b/apps/readest-app/public/locales/vi/translation.json @@ -1189,8 +1189,6 @@ "Retry all": "Thử lại tất cả", "{{count}} failed_other": "{{count}} thất bại", "(none)": "(không có)", - "Meta Hash": "Meta Hash", - "Computed Hash": "Hash Đã Tính", "Identifiers": "Định Danh", "Read (Stream)": "Đọc (Stream)", "Failed to start stream": "Không thể bắt đầu stream", @@ -1306,5 +1304,6 @@ "URL Template": "Mẫu URL", "Use %WORD% where the looked-up word should appear.": "Dùng %WORD% tại vị trí mà từ tra cứu sẽ xuất hiện.", "Open the search result in your browser:": "Mở kết quả tìm kiếm trong trình duyệt của bạn:", - "Open in {{name}}": "Mở trong {{name}}" + "Open in {{name}}": "Mở trong {{name}}", + "Book Fingerprint": "Dấu vân tay sách" } diff --git a/apps/readest-app/public/locales/zh-CN/translation.json b/apps/readest-app/public/locales/zh-CN/translation.json index 59b6a16a..54b00833 100644 --- a/apps/readest-app/public/locales/zh-CN/translation.json +++ b/apps/readest-app/public/locales/zh-CN/translation.json @@ -1189,8 +1189,6 @@ "Retry all": "全部重试", "{{count}} failed_other": "{{count}} 个失败", "(none)": "(无)", - "Meta Hash": "元哈希", - "Computed Hash": "计算的哈希", "Identifiers": "标识符", "Read (Stream)": "阅读(流式)", "Failed to start stream": "启动流式传输失败", @@ -1306,5 +1304,6 @@ "URL Template": "URL 模板", "Use %WORD% where the looked-up word should appear.": "在查询词应出现的位置使用 %WORD%。", "Open the search result in your browser:": "在浏览器中打开搜索结果:", - "Open in {{name}}": "在 {{name}} 中打开" + "Open in {{name}}": "在 {{name}} 中打开", + "Book Fingerprint": "书籍指纹" } diff --git a/apps/readest-app/public/locales/zh-TW/translation.json b/apps/readest-app/public/locales/zh-TW/translation.json index 153b1ca1..5cab799d 100644 --- a/apps/readest-app/public/locales/zh-TW/translation.json +++ b/apps/readest-app/public/locales/zh-TW/translation.json @@ -1189,8 +1189,6 @@ "Retry all": "全部重試", "{{count}} failed_other": "{{count}} 個失敗", "(none)": "(無)", - "Meta Hash": "中繼雜湊", - "Computed Hash": "計算所得雜湊", "Identifiers": "識別碼", "Read (Stream)": "閱讀(串流)", "Failed to start stream": "無法啟動串流", @@ -1306,5 +1304,6 @@ "URL Template": "URL 範本", "Use %WORD% where the looked-up word should appear.": "在查詢字詞應出現的位置使用 %WORD%。", "Open the search result in your browser:": "在瀏覽器中開啟搜尋結果:", - "Open in {{name}}": "在 {{name}} 中開啟" + "Open in {{name}}": "在 {{name}} 中開啟", + "Book Fingerprint": "書籍指紋" } diff --git a/apps/readest-app/scripts/lint-koplugin.js b/apps/readest-app/scripts/lint-koplugin.js new file mode 100644 index 00000000..2308bfa3 --- /dev/null +++ b/apps/readest-app/scripts/lint-koplugin.js @@ -0,0 +1,54 @@ +#!/usr/bin/env node +/** + * Syntax-check every Lua file in apps/readest.koplugin against LuaJIT (the + * runtime KOReader uses). `luajit -b /dev/null` parses the source and + * emits bytecode to /dev/null, returning non-zero on any syntax error without + * executing the file. We use LuaJIT specifically — not stock Lua — because + * the koplugin relies on LuaJIT-only features (`ffi/*`) and stock luac + * silently accepts a few constructs LuaJIT rejects (e.g. ``). + * + * Invoked from `pnpm lint:lua`. Soft-skips with a notice when luajit is not + * installed; CI installs luajit and runs unconditionally. + */ + +import { spawnSync } from 'node:child_process'; +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); +const KOPLUGIN_DIR = path.resolve(__dirname, '..', '..', 'readest.koplugin'); + +if (!fs.existsSync(KOPLUGIN_DIR)) { + console.error(`koplugin directory not found at ${KOPLUGIN_DIR}`); + process.exit(1); +} + +const luaFiles = fs + .readdirSync(KOPLUGIN_DIR) + .filter((f) => f.endsWith('.lua')) + .map((f) => path.join(KOPLUGIN_DIR, f)) + .sort(); + +if (luaFiles.length === 0) { + console.log('No .lua files to check.'); + process.exit(0); +} + +const which = spawnSync(process.platform === 'win32' ? 'where' : 'which', ['luajit']); +if (which.status !== 0) { + console.warn( + 'lint:lua: luajit not found, skipping koplugin syntax check. ' + + 'Install LuaJIT (e.g. `brew install luajit` on macOS, `apt-get install luajit` on Linux) ' + + 'to enable this check locally. CI runs it unconditionally.', + ); + process.exit(0); +} + +const devNull = process.platform === 'win32' ? 'NUL' : '/dev/null'; +let failed = 0; +for (const file of luaFiles) { + const r = spawnSync('luajit', ['-b', file, devNull], { stdio: 'inherit' }); + if (r.status !== 0) failed++; +} +process.exit(failed === 0 ? 0 : 1); diff --git a/apps/readest-app/src/app/reader/components/SyncInfoDialog.tsx b/apps/readest-app/src/app/reader/components/SyncInfoDialog.tsx index ee2e8d91..877066c3 100644 --- a/apps/readest-app/src/app/reader/components/SyncInfoDialog.tsx +++ b/apps/readest-app/src/app/reader/components/SyncInfoDialog.tsx @@ -32,7 +32,6 @@ const SyncInfoDialog: React.FC = ({ const _ = useTranslation(); const info = metadata ? getMetadataHashInfo(metadata) : undefined; const displayHash = storedMetaHash || info?.metaHash || ''; - const hashesMatch = !info || !storedMetaHash || storedMetaHash === info.metaHash; const placeholder = _('(none)'); const lastSyncedLabel = lastSyncedAt ? formatLocaleDateTime(lastSyncedAt) : _('Never synced'); @@ -46,8 +45,7 @@ const SyncInfoDialog: React.FC = ({ > {isOpen && (
- - {!hashesMatch && info && } + =3 && n%100<=10 ? 3 : n%100>=11 ? 4 : 5);\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "يحافظ على مزامنة أجهزة KOReader و Readest الخاصة بك." + +msgid "Set auto progress sync" +msgstr "تعيين المزامنة التلقائية للتقدم" + +msgid "on" +msgstr "تشغيل" + +msgid "off" +msgstr "إيقاف" + +msgid "Toggle auto readest sync" +msgstr "تبديل المزامنة التلقائية لـ Readest" + +msgid "Push readest progress from this device" +msgstr "إرسال تقدم Readest من هذا الجهاز" + +msgid "Pull readest progress from other devices" +msgstr "جلب تقدم Readest من الأجهزة الأخرى" + +msgid "Push readest annotations from this device" +msgstr "إرسال ملاحظات Readest من هذا الجهاز" + +msgid "Pull readest annotations from other devices" +msgstr "جلب ملاحظات Readest من الأجهزة الأخرى" + +msgid "Log in Readest Account" +msgstr "تسجيل الدخول إلى حساب Readest" + +msgid "Log out as %1" +msgstr "تسجيل الخروج من %1" + +msgid "Auto sync progress and annotations" +msgstr "مزامنة التقدم والملاحظات تلقائياً" + +msgid "Push reading progress now" +msgstr "إرسال تقدم القراءة الآن" + +msgid "Pull reading progress now" +msgstr "جلب تقدم القراءة الآن" + +msgid "Push annotations now" +msgstr "إرسال الملاحظات الآن" + +msgid "Pull annotations now" +msgstr "جلب الملاحظات الآن" + +msgid "Full sync all annotations" +msgstr "مزامنة كاملة لجميع الملاحظات" + +msgid "Sync info" +msgstr "معلومات المزامنة" + +msgid "Check for update (v%1)" +msgstr "التحقق من التحديث (v%1)" + +msgid "Check for update" +msgstr "التحقق من التحديث" + +msgid "Please login first" +msgstr "يرجى تسجيل الدخول أولاً" + +msgid "Please configure Readest settings first" +msgstr "يرجى تكوين إعدادات Readest أولاً" + +msgid "No book is open" +msgstr "لا يوجد كتاب مفتوح" + +msgid "(none)" +msgstr "(لا شيء)" + +msgid "Never synced" +msgstr "لم تتم المزامنة مطلقاً" + +msgid "Book Fingerprint" +msgstr "بصمة الكتاب" + +msgid "Title" +msgstr "العنوان" + +msgid "Author" +msgstr "المؤلف" + +msgid "Identifiers" +msgstr "المعرفات" + +msgid "Last Synced" +msgstr "آخر مزامنة" + +msgid "Sync Info" +msgstr "معلومات المزامنة" + +msgid "Checking for update…" +msgstr "التحقق من التحديث…" + +msgid "Failed to check for update. Please try again later." +msgstr "فشل التحقق من التحديث. يرجى المحاولة لاحقاً." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "يتوفر إصدار جديد: v%1 (الحالي: v%2).\n\nهل تريد التحديث الآن؟" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "يتوفر إصدار جديد: v%1.\n\nهل تريد التحديث الآن؟" + +msgid "Update" +msgstr "تحديث" + +msgid "You are up to date (v%1)." +msgstr "أنت تستخدم أحدث إصدار (v%1)." + +msgid "Downloading update…" +msgstr "تنزيل التحديث…" + +msgid "Failed to download update. Please try again later." +msgstr "فشل تنزيل التحديث. يرجى المحاولة لاحقاً." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "تم تحديث إضافة Readest إلى v%1.\n\nيرجى إعادة تشغيل KOReader لتطبيق التحديث." + +msgid "Restart now" +msgstr "إعادة التشغيل الآن" + +msgid "Later" +msgstr "لاحقاً" + +msgid "Failed to install update: %1" +msgstr "فشل تثبيت التحديث: %1" + +msgid "unknown error" +msgstr "خطأ غير معروف" + +msgid "No annotations to push" +msgstr "لا توجد ملاحظات للإرسال" + +msgid "Pushing annotations..." +msgstr "جارٍ إرسال الملاحظات…" + +msgid "%1 annotations pushed successfully" +msgstr "تم إرسال %1 ملاحظات بنجاح" + +msgid "Failed to push annotations" +msgstr "فشل إرسال الملاحظات" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "مزامنة الملاحظات غير مدعومة لمستندات PDF" + +msgid "Full sync: pulling all annotations..." +msgstr "مزامنة كاملة: جلب جميع الملاحظات…" + +msgid "Pulling annotations..." +msgstr "جارٍ جلب الملاحظات…" + +msgid "Failed to pull annotations" +msgstr "فشل جلب الملاحظات" + +msgid "No new annotations found" +msgstr "لم يتم العثور على ملاحظات جديدة" + +msgid "%1 annotations pulled" +msgstr "تم جلب %1 ملاحظات" + +msgid "Cancel" +msgstr "إلغاء" + +msgid "Login" +msgstr "تسجيل الدخول" + +msgid "Please enter both email and password" +msgstr "يرجى إدخال البريد الإلكتروني وكلمة المرور" + +msgid "Please configure Supabase URL and API key first" +msgstr "يرجى تكوين عنوان Supabase ومفتاح API أولاً" + +msgid "Logging in..." +msgstr "جارٍ تسجيل الدخول…" + +msgid "Successfully logged in to Readest" +msgstr "تم تسجيل الدخول إلى Readest بنجاح" + +msgid "Login failed: %1" +msgstr "فشل تسجيل الدخول: %1" + +msgid "Logged out from Readest" +msgstr "تم تسجيل الخروج من Readest" + +msgid "Cannot identify the current book" +msgstr "تعذر التعرف على الكتاب الحالي" + +msgid "Progress has been synchronized." +msgstr "تمت مزامنة التقدم." + +msgid "Pushing reading progress..." +msgstr "جارٍ إرسال تقدم القراءة…" + +msgid "Reading progress pushed successfully" +msgstr "تم إرسال تقدم القراءة بنجاح" + +msgid "Failed to push reading progress" +msgstr "فشل إرسال تقدم القراءة" + +msgid "Pulling reading progress..." +msgstr "جارٍ جلب تقدم القراءة…" + +msgid "Authentication failed, please login again" +msgstr "فشل المصادقة، يرجى تسجيل الدخول مرة أخرى" + +msgid "Failed to pull reading progress" +msgstr "فشل جلب تقدم القراءة" + +msgid "Reading progress synchronized" +msgstr "تمت مزامنة تقدم القراءة" + +msgid "No saved reading progress found for this book" +msgstr "لم يتم العثور على تقدم قراءة محفوظ لهذا الكتاب" diff --git a/apps/readest.koplugin/locales/bn/translation.po b/apps/readest.koplugin/locales/bn/translation.po new file mode 100644 index 00000000..2e1c0ec9 --- /dev/null +++ b/apps/readest.koplugin/locales/bn/translation.po @@ -0,0 +1,231 @@ +# Bengali translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Bengali\n" +"Language: bn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "আপনার KOReader ও Readest ডিভাইসগুলিকে সিঙ্কে রাখে।" + +msgid "Set auto progress sync" +msgstr "স্বয়ংক্রিয় অগ্রগতি সিঙ্ক সেট করুন" + +msgid "on" +msgstr "চালু" + +msgid "off" +msgstr "বন্ধ" + +msgid "Toggle auto readest sync" +msgstr "স্বয়ংক্রিয় Readest সিঙ্ক টগল করুন" + +msgid "Push readest progress from this device" +msgstr "এই ডিভাইস থেকে Readest অগ্রগতি পাঠান" + +msgid "Pull readest progress from other devices" +msgstr "অন্যান্য ডিভাইস থেকে Readest অগ্রগতি আনুন" + +msgid "Push readest annotations from this device" +msgstr "এই ডিভাইস থেকে Readest টীকা পাঠান" + +msgid "Pull readest annotations from other devices" +msgstr "অন্যান্য ডিভাইস থেকে Readest টীকা আনুন" + +msgid "Log in Readest Account" +msgstr "Readest অ্যাকাউন্টে লগ ইন করুন" + +msgid "Log out as %1" +msgstr "%1 হিসেবে লগ আউট করুন" + +msgid "Auto sync progress and annotations" +msgstr "স্বয়ংক্রিয়ভাবে অগ্রগতি ও টীকা সিঙ্ক করুন" + +msgid "Push reading progress now" +msgstr "এখন পড়ার অগ্রগতি পাঠান" + +msgid "Pull reading progress now" +msgstr "এখন পড়ার অগ্রগতি আনুন" + +msgid "Push annotations now" +msgstr "এখন টীকা পাঠান" + +msgid "Pull annotations now" +msgstr "এখন টীকা আনুন" + +msgid "Full sync all annotations" +msgstr "সকল টীকার পূর্ণ সিঙ্ক" + +msgid "Sync info" +msgstr "সিঙ্ক তথ্য" + +msgid "Check for update (v%1)" +msgstr "আপডেট পরীক্ষা করুন (v%1)" + +msgid "Check for update" +msgstr "আপডেট পরীক্ষা করুন" + +msgid "Please login first" +msgstr "অনুগ্রহ করে প্রথমে লগ ইন করুন" + +msgid "Please configure Readest settings first" +msgstr "অনুগ্রহ করে প্রথমে Readest সেটিংস কনফিগার করুন" + +msgid "No book is open" +msgstr "কোনো বই খোলা নেই" + +msgid "(none)" +msgstr "(কোনোটি না)" + +msgid "Never synced" +msgstr "কখনও সিঙ্ক করা হয়নি" + +msgid "Book Fingerprint" +msgstr "বইয়ের ফিঙ্গারপ্রিন্ট" + +msgid "Title" +msgstr "শিরোনাম" + +msgid "Author" +msgstr "লেখক" + +msgid "Identifiers" +msgstr "শনাক্তকারী" + +msgid "Last Synced" +msgstr "শেষ সিঙ্ক" + +msgid "Sync Info" +msgstr "সিঙ্ক তথ্য" + +msgid "Checking for update…" +msgstr "আপডেট পরীক্ষা করা হচ্ছে…" + +msgid "Failed to check for update. Please try again later." +msgstr "আপডেট পরীক্ষা ব্যর্থ। অনুগ্রহ করে পরে আবার চেষ্টা করুন।" + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "নতুন সংস্করণ পাওয়া যাচ্ছে: v%1 (বর্তমান: v%2)।\n\nএখনই আপডেট করবেন?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "নতুন সংস্করণ পাওয়া যাচ্ছে: v%1।\n\nএখনই আপডেট করবেন?" + +msgid "Update" +msgstr "আপডেট" + +msgid "You are up to date (v%1)." +msgstr "আপনি হালনাগাদ আছেন (v%1)।" + +msgid "Downloading update…" +msgstr "আপডেট ডাউনলোড হচ্ছে…" + +msgid "Failed to download update. Please try again later." +msgstr "আপডেট ডাউনলোড ব্যর্থ। অনুগ্রহ করে পরে আবার চেষ্টা করুন।" + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Readest প্লাগইন v%1-এ আপডেট করা হয়েছে।\n\nআপডেট প্রয়োগ করতে KOReader পুনরায় চালু করুন।" + +msgid "Restart now" +msgstr "এখনই পুনরায় চালু করুন" + +msgid "Later" +msgstr "পরে" + +msgid "Failed to install update: %1" +msgstr "আপডেট ইনস্টল ব্যর্থ: %1" + +msgid "unknown error" +msgstr "অজানা ত্রুটি" + +msgid "No annotations to push" +msgstr "পাঠানোর কোনো টীকা নেই" + +msgid "Pushing annotations..." +msgstr "টীকা পাঠানো হচ্ছে…" + +msgid "%1 annotations pushed successfully" +msgstr "%1টি টীকা সফলভাবে পাঠানো হয়েছে" + +msgid "Failed to push annotations" +msgstr "টীকা পাঠানো ব্যর্থ" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "PDF নথির জন্য টীকা সিঙ্ক সমর্থিত নয়" + +msgid "Full sync: pulling all annotations..." +msgstr "পূর্ণ সিঙ্ক: সকল টীকা আনা হচ্ছে…" + +msgid "Pulling annotations..." +msgstr "টীকা আনা হচ্ছে…" + +msgid "Failed to pull annotations" +msgstr "টীকা আনা ব্যর্থ" + +msgid "No new annotations found" +msgstr "নতুন কোনো টীকা পাওয়া যায়নি" + +msgid "%1 annotations pulled" +msgstr "%1টি টীকা আনা হয়েছে" + +msgid "Cancel" +msgstr "বাতিল" + +msgid "Login" +msgstr "লগ ইন" + +msgid "Please enter both email and password" +msgstr "অনুগ্রহ করে ইমেল এবং পাসওয়ার্ড উভয়ই লিখুন" + +msgid "Please configure Supabase URL and API key first" +msgstr "অনুগ্রহ করে প্রথমে Supabase URL এবং API কী কনফিগার করুন" + +msgid "Logging in..." +msgstr "লগ ইন করা হচ্ছে…" + +msgid "Successfully logged in to Readest" +msgstr "Readest-এ সফলভাবে লগ ইন করা হয়েছে" + +msgid "Login failed: %1" +msgstr "লগ ইন ব্যর্থ: %1" + +msgid "Logged out from Readest" +msgstr "Readest থেকে লগ আউট হয়েছে" + +msgid "Cannot identify the current book" +msgstr "বর্তমান বই শনাক্ত করা যাচ্ছে না" + +msgid "Progress has been synchronized." +msgstr "অগ্রগতি সিঙ্ক হয়েছে।" + +msgid "Pushing reading progress..." +msgstr "পড়ার অগ্রগতি পাঠানো হচ্ছে…" + +msgid "Reading progress pushed successfully" +msgstr "পড়ার অগ্রগতি সফলভাবে পাঠানো হয়েছে" + +msgid "Failed to push reading progress" +msgstr "পড়ার অগ্রগতি পাঠানো ব্যর্থ" + +msgid "Pulling reading progress..." +msgstr "পড়ার অগ্রগতি আনা হচ্ছে…" + +msgid "Authentication failed, please login again" +msgstr "প্রমাণীকরণ ব্যর্থ, অনুগ্রহ করে আবার লগ ইন করুন" + +msgid "Failed to pull reading progress" +msgstr "পড়ার অগ্রগতি আনা ব্যর্থ" + +msgid "Reading progress synchronized" +msgstr "পড়ার অগ্রগতি সিঙ্ক হয়েছে" + +msgid "No saved reading progress found for this book" +msgstr "এই বইয়ের জন্য সংরক্ষিত পড়ার অগ্রগতি পাওয়া যায়নি" diff --git a/apps/readest.koplugin/locales/bo/translation.po b/apps/readest.koplugin/locales/bo/translation.po new file mode 100644 index 00000000..027895d3 --- /dev/null +++ b/apps/readest.koplugin/locales/bo/translation.po @@ -0,0 +1,231 @@ +# Tibetan translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Tibetan\n" +"Language: bo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "ཁྱེད་ཀྱི་ KOReader དང་ Readest སྒྲིག་ཆས་མཉམ་འགྱུར་འཇོག" + +msgid "Set auto progress sync" +msgstr "རང་འགུལ་འཕེལ་རིམ་མཉམ་འགྱུར་སྒྲིག" + +msgid "on" +msgstr "བཀོལ།" + +msgid "off" +msgstr "བཀག" + +msgid "Toggle auto readest sync" +msgstr "Readest རང་འགུལ་མཉམ་འགྱུར་སྒྱུར་བ།" + +msgid "Push readest progress from this device" +msgstr "སྒྲིག་ཆས་འདི་ནས་ Readest འཕེལ་རིམ་སྐུར་བ།" + +msgid "Pull readest progress from other devices" +msgstr "སྒྲིག་ཆས་གཞན་ནས་ Readest འཕེལ་རིམ་ལེན་པ།" + +msgid "Push readest annotations from this device" +msgstr "སྒྲིག་ཆས་འདི་ནས་ Readest མཆན་འགྲེལ་སྐུར་བ།" + +msgid "Pull readest annotations from other devices" +msgstr "སྒྲིག་ཆས་གཞན་ནས་ Readest མཆན་འགྲེལ་ལེན་པ།" + +msgid "Log in Readest Account" +msgstr "Readest རྩིས་ཐོར་འཛུལ་ཞུགས།" + +msgid "Log out as %1" +msgstr "%1 ནས་ཕྱིར་ཐོན།" + +msgid "Auto sync progress and annotations" +msgstr "འཕེལ་རིམ་དང་མཆན་འགྲེལ་རང་འགུལ་མཉམ་འགྱུར།" + +msgid "Push reading progress now" +msgstr "ད་ལྟ་ཀློག་པའི་འཕེལ་རིམ་སྐུར་བ།" + +msgid "Pull reading progress now" +msgstr "ད་ལྟ་ཀློག་པའི་འཕེལ་རིམ་ལེན་པ།" + +msgid "Push annotations now" +msgstr "ད་ལྟ་མཆན་འགྲེལ་སྐུར་བ།" + +msgid "Pull annotations now" +msgstr "ད་ལྟ་མཆན་འགྲེལ་ལེན་པ།" + +msgid "Full sync all annotations" +msgstr "མཆན་འགྲེལ་ཡོངས་རྫོགས་ཆ་ཚང་མཉམ་འགྱུར།" + +msgid "Sync info" +msgstr "མཉམ་འགྱུར་གསལ་བཤད།" + +msgid "Check for update (v%1)" +msgstr "གསར་སྤེལ་ཞིབ་བཤེར (v%1)" + +msgid "Check for update" +msgstr "གསར་སྤེལ་ཞིབ་བཤེར" + +msgid "Please login first" +msgstr "དང་པོ་འཛུལ་ཞུགས་གནང་རོགས།" + +msgid "Please configure Readest settings first" +msgstr "དང་པོ་ Readest སྒྲིག་འགོད་གནང་རོགས།" + +msgid "No book is open" +msgstr "དཔེ་ཆ་ཁ་ཕྱེ་མེད།" + +msgid "(none)" +msgstr "(མེད)" + +msgid "Never synced" +msgstr "མཉམ་འགྱུར་མ་བྱས།" + +msgid "Book Fingerprint" +msgstr "དཔེ་ཆའི་མཛུབ་རྗེས།" + +msgid "Title" +msgstr "དཔེ་དེབ་ཀྱི་མིང་།" + +msgid "Author" +msgstr "རྩོམ་པ་པོ།" + +msgid "Identifiers" +msgstr "ངོས་འཛིན་བྱེད་མཁན" + +msgid "Last Synced" +msgstr "མཐའ་མའི་མཉམ་འགྱུར།" + +msgid "Sync Info" +msgstr "མཉམ་འགྱུར་གསལ་བཤད།" + +msgid "Checking for update…" +msgstr "གསར་སྤེལ་ཞིབ་བཤེར་བཞིན་པ…" + +msgid "Failed to check for update. Please try again later." +msgstr "གསར་སྤེལ་ཞིབ་བཤེར་མ་ཐུབ། རྗེས་སུ་ཡང་བསྐྱར་ཚོད་ལྟ་གནང་རོགས།" + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "པར་གཞི་གསར་པ་ཞིག་ཡོད: v%1 (མིག་སྔའི: v%2)།\n\nད་ལྟ་གསར་སྤེལ་གནང་གི་ཡིན་ནམ?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "པར་གཞི་གསར་པ་ཞིག་ཡོད: v%1།\n\nད་ལྟ་གསར་སྤེལ་གནང་གི་ཡིན་ནམ?" + +msgid "Update" +msgstr "གསར་སྤེལ།" + +msgid "You are up to date (v%1)." +msgstr "ཁྱེད་རང་གི་པར་གཞི་ནི་གསར་ཤོས་ཡིན (v%1)།" + +msgid "Downloading update…" +msgstr "གསར་སྤེལ་ཕབ་ལེན་བཞིན་པ…" + +msgid "Failed to download update. Please try again later." +msgstr "གསར་སྤེལ་ཕབ་ལེན་མ་ཐུབ། རྗེས་སུ་ཡང་བསྐྱར་ཚོད་ལྟ་གནང་རོགས།" + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Readest plugin v%1 ལ་གསར་སྤེལ་བྱས་སོང་།\n\nགསར་སྤེལ་སྤྱོད་པར་ KOReader ཡང་བསྐྱར་འགོ་འཛུགས་གནང་རོགས།" + +msgid "Restart now" +msgstr "ད་ལྟ་ཡང་བསྐྱར་འགོ་འཛུགས།" + +msgid "Later" +msgstr "རྗེས་སུ།" + +msgid "Failed to install update: %1" +msgstr "གསར་སྤེལ་སྒྲིག་འཛུགས་མ་ཐུབ: %1" + +msgid "unknown error" +msgstr "ཤེས་མི་ཐུབ་པའི་ནོར་འཁྲུལ།" + +msgid "No annotations to push" +msgstr "སྐུར་རྒྱུའི་མཆན་འགྲེལ་མེད།" + +msgid "Pushing annotations..." +msgstr "མཆན་འགྲེལ་སྐུར་བཞིན་པ…" + +msgid "%1 annotations pushed successfully" +msgstr "མཆན་འགྲེལ་ %1 ལེགས་པར་སྐུར་སོང་།" + +msgid "Failed to push annotations" +msgstr "མཆན་འགྲེལ་སྐུར་མ་ཐུབ།" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "PDF ཡིག་ཆར་མཆན་འགྲེལ་མཉམ་འགྱུར་རྒྱབ་སྐྱོར་མེད།" + +msgid "Full sync: pulling all annotations..." +msgstr "ཆ་ཚང་མཉམ་འགྱུར: མཆན་འགྲེལ་ཡོངས་རྫོགས་ལེན་བཞིན་པ…" + +msgid "Pulling annotations..." +msgstr "མཆན་འགྲེལ་ལེན་བཞིན་པ…" + +msgid "Failed to pull annotations" +msgstr "མཆན་འགྲེལ་ལེན་མ་ཐུབ།" + +msgid "No new annotations found" +msgstr "མཆན་འགྲེལ་གསར་པ་མ་རྙེད།" + +msgid "%1 annotations pulled" +msgstr "མཆན་འགྲེལ་ %1 ལེན་སོང་།" + +msgid "Cancel" +msgstr "འདོར་བ།" + +msgid "Login" +msgstr "འཛུལ་ཞུགས།" + +msgid "Please enter both email and password" +msgstr "ཡིག་འཕྲིན་དང་གསང་ཨང་གཉིས་ཀ་འབྲི་རོགས།" + +msgid "Please configure Supabase URL and API key first" +msgstr "དང་པོ་ Supabase URL དང་ API ལྡེ་མིག་སྒྲིག་འགོད་གནང་རོགས།" + +msgid "Logging in..." +msgstr "འཛུལ་ཞུགས་བཞིན་པ…" + +msgid "Successfully logged in to Readest" +msgstr "Readest ལ་ལེགས་པར་འཛུལ་ཞུགས་སོང་།" + +msgid "Login failed: %1" +msgstr "འཛུལ་ཞུགས་མ་ཐུབ: %1" + +msgid "Logged out from Readest" +msgstr "Readest ནས་ཕྱིར་ཐོན་སོང་།" + +msgid "Cannot identify the current book" +msgstr "མིག་སྔའི་དཔེ་ཆ་ངོས་འཛིན་མི་ཐུབ།" + +msgid "Progress has been synchronized." +msgstr "འཕེལ་རིམ་མཉམ་འགྱུར་སོང་།" + +msgid "Pushing reading progress..." +msgstr "ཀློག་པའི་འཕེལ་རིམ་སྐུར་བཞིན་པ…" + +msgid "Reading progress pushed successfully" +msgstr "ཀློག་པའི་འཕེལ་རིམ་ལེགས་པར་སྐུར་སོང་།" + +msgid "Failed to push reading progress" +msgstr "ཀློག་པའི་འཕེལ་རིམ་སྐུར་མ་ཐུབ།" + +msgid "Pulling reading progress..." +msgstr "ཀློག་པའི་འཕེལ་རིམ་ལེན་བཞིན་པ…" + +msgid "Authentication failed, please login again" +msgstr "ཡིད་ཆེས་ཞིབ་བཤེར་མ་ཐུབ། ཡང་བསྐྱར་འཛུལ་ཞུགས་གནང་རོགས།" + +msgid "Failed to pull reading progress" +msgstr "ཀློག་པའི་འཕེལ་རིམ་ལེན་མ་ཐུབ།" + +msgid "Reading progress synchronized" +msgstr "ཀློག་པའི་འཕེལ་རིམ་མཉམ་འགྱུར་སོང་།" + +msgid "No saved reading progress found for this book" +msgstr "དཔེ་ཆ་འདིའི་ཀློག་པའི་འཕེལ་རིམ་ཉར་ཚགས་མ་རྙེད།" diff --git a/apps/readest.koplugin/locales/de/translation.po b/apps/readest.koplugin/locales/de/translation.po new file mode 100644 index 00000000..e2fe49d4 --- /dev/null +++ b/apps/readest.koplugin/locales/de/translation.po @@ -0,0 +1,231 @@ +# German translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: German\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "Hält deine KOReader- und Readest-Geräte synchron." + +msgid "Set auto progress sync" +msgstr "Automatischen Fortschritts-Sync einstellen" + +msgid "on" +msgstr "an" + +msgid "off" +msgstr "aus" + +msgid "Toggle auto readest sync" +msgstr "Automatischen Readest-Sync umschalten" + +msgid "Push readest progress from this device" +msgstr "Readest-Fortschritt von diesem Gerät senden" + +msgid "Pull readest progress from other devices" +msgstr "Readest-Fortschritt von anderen Geräten abrufen" + +msgid "Push readest annotations from this device" +msgstr "Readest-Anmerkungen von diesem Gerät senden" + +msgid "Pull readest annotations from other devices" +msgstr "Readest-Anmerkungen von anderen Geräten abrufen" + +msgid "Log in Readest Account" +msgstr "Beim Readest-Konto anmelden" + +msgid "Log out as %1" +msgstr "Abmelden als %1" + +msgid "Auto sync progress and annotations" +msgstr "Fortschritt und Anmerkungen automatisch synchronisieren" + +msgid "Push reading progress now" +msgstr "Lesefortschritt jetzt senden" + +msgid "Pull reading progress now" +msgstr "Lesefortschritt jetzt abrufen" + +msgid "Push annotations now" +msgstr "Anmerkungen jetzt senden" + +msgid "Pull annotations now" +msgstr "Anmerkungen jetzt abrufen" + +msgid "Full sync all annotations" +msgstr "Alle Anmerkungen vollständig synchronisieren" + +msgid "Sync info" +msgstr "Sync-Info" + +msgid "Check for update (v%1)" +msgstr "Nach Aktualisierungen suchen (v%1)" + +msgid "Check for update" +msgstr "Nach Aktualisierungen suchen" + +msgid "Please login first" +msgstr "Bitte zuerst anmelden" + +msgid "Please configure Readest settings first" +msgstr "Bitte zuerst die Readest-Einstellungen konfigurieren" + +msgid "No book is open" +msgstr "Kein Buch geöffnet" + +msgid "(none)" +msgstr "(keine)" + +msgid "Never synced" +msgstr "Noch nie synchronisiert" + +msgid "Book Fingerprint" +msgstr "Buch-Fingerabdruck" + +msgid "Title" +msgstr "Titel" + +msgid "Author" +msgstr "Autor" + +msgid "Identifiers" +msgstr "Bezeichner" + +msgid "Last Synced" +msgstr "Zuletzt synchronisiert" + +msgid "Sync Info" +msgstr "Sync-Info" + +msgid "Checking for update…" +msgstr "Suche nach Aktualisierungen …" + +msgid "Failed to check for update. Please try again later." +msgstr "Suche nach Aktualisierungen fehlgeschlagen. Bitte später erneut versuchen." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "Eine neue Version ist verfügbar: v%1 (aktuell: v%2).\n\nJetzt aktualisieren?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "Eine neue Version ist verfügbar: v%1.\n\nJetzt aktualisieren?" + +msgid "Update" +msgstr "Aktualisieren" + +msgid "You are up to date (v%1)." +msgstr "Du verwendest die aktuelle Version (v%1)." + +msgid "Downloading update…" +msgstr "Aktualisierung wird heruntergeladen …" + +msgid "Failed to download update. Please try again later." +msgstr "Aktualisierung konnte nicht heruntergeladen werden. Bitte später erneut versuchen." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Readest-Plugin auf v%1 aktualisiert.\n\nBitte KOReader neu starten, um die Aktualisierung anzuwenden." + +msgid "Restart now" +msgstr "Jetzt neu starten" + +msgid "Later" +msgstr "Später" + +msgid "Failed to install update: %1" +msgstr "Aktualisierung konnte nicht installiert werden: %1" + +msgid "unknown error" +msgstr "Unbekannter Fehler" + +msgid "No annotations to push" +msgstr "Keine Anmerkungen zum Senden" + +msgid "Pushing annotations..." +msgstr "Anmerkungen werden gesendet …" + +msgid "%1 annotations pushed successfully" +msgstr "%1 Anmerkungen erfolgreich gesendet" + +msgid "Failed to push annotations" +msgstr "Senden der Anmerkungen fehlgeschlagen" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "Die Synchronisierung von Anmerkungen wird für PDF-Dokumente nicht unterstützt" + +msgid "Full sync: pulling all annotations..." +msgstr "Vollständige Synchronisierung: alle Anmerkungen werden abgerufen …" + +msgid "Pulling annotations..." +msgstr "Anmerkungen werden abgerufen …" + +msgid "Failed to pull annotations" +msgstr "Abrufen der Anmerkungen fehlgeschlagen" + +msgid "No new annotations found" +msgstr "Keine neuen Anmerkungen gefunden" + +msgid "%1 annotations pulled" +msgstr "%1 Anmerkungen abgerufen" + +msgid "Cancel" +msgstr "Abbrechen" + +msgid "Login" +msgstr "Anmelden" + +msgid "Please enter both email and password" +msgstr "Bitte E-Mail und Passwort eingeben" + +msgid "Please configure Supabase URL and API key first" +msgstr "Bitte zuerst Supabase-URL und API-Schlüssel konfigurieren" + +msgid "Logging in..." +msgstr "Anmeldung läuft …" + +msgid "Successfully logged in to Readest" +msgstr "Erfolgreich bei Readest angemeldet" + +msgid "Login failed: %1" +msgstr "Anmeldung fehlgeschlagen: %1" + +msgid "Logged out from Readest" +msgstr "Von Readest abgemeldet" + +msgid "Cannot identify the current book" +msgstr "Aktuelles Buch kann nicht identifiziert werden" + +msgid "Progress has been synchronized." +msgstr "Fortschritt wurde synchronisiert." + +msgid "Pushing reading progress..." +msgstr "Lesefortschritt wird gesendet …" + +msgid "Reading progress pushed successfully" +msgstr "Lesefortschritt erfolgreich gesendet" + +msgid "Failed to push reading progress" +msgstr "Senden des Lesefortschritts fehlgeschlagen" + +msgid "Pulling reading progress..." +msgstr "Lesefortschritt wird abgerufen …" + +msgid "Authentication failed, please login again" +msgstr "Authentifizierung fehlgeschlagen, bitte erneut anmelden" + +msgid "Failed to pull reading progress" +msgstr "Abrufen des Lesefortschritts fehlgeschlagen" + +msgid "Reading progress synchronized" +msgstr "Lesefortschritt synchronisiert" + +msgid "No saved reading progress found for this book" +msgstr "Kein gespeicherter Lesefortschritt für dieses Buch gefunden" diff --git a/apps/readest.koplugin/locales/el/translation.po b/apps/readest.koplugin/locales/el/translation.po new file mode 100644 index 00000000..f199c9f8 --- /dev/null +++ b/apps/readest.koplugin/locales/el/translation.po @@ -0,0 +1,231 @@ +# Greek translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Greek\n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "Διατηρεί τις συσκευές KOReader και Readest συγχρονισμένες." + +msgid "Set auto progress sync" +msgstr "Ορισμός αυτόματου συγχρονισμού προόδου" + +msgid "on" +msgstr "ναι" + +msgid "off" +msgstr "όχι" + +msgid "Toggle auto readest sync" +msgstr "Εναλλαγή αυτόματου συγχρονισμού Readest" + +msgid "Push readest progress from this device" +msgstr "Αποστολή προόδου Readest από αυτή τη συσκευή" + +msgid "Pull readest progress from other devices" +msgstr "Λήψη προόδου Readest από άλλες συσκευές" + +msgid "Push readest annotations from this device" +msgstr "Αποστολή σχολίων Readest από αυτή τη συσκευή" + +msgid "Pull readest annotations from other devices" +msgstr "Λήψη σχολίων Readest από άλλες συσκευές" + +msgid "Log in Readest Account" +msgstr "Σύνδεση στον λογαριασμό Readest" + +msgid "Log out as %1" +msgstr "Αποσύνδεση ως %1" + +msgid "Auto sync progress and annotations" +msgstr "Αυτόματος συγχρονισμός προόδου και σχολίων" + +msgid "Push reading progress now" +msgstr "Αποστολή προόδου ανάγνωσης τώρα" + +msgid "Pull reading progress now" +msgstr "Λήψη προόδου ανάγνωσης τώρα" + +msgid "Push annotations now" +msgstr "Αποστολή σχολίων τώρα" + +msgid "Pull annotations now" +msgstr "Λήψη σχολίων τώρα" + +msgid "Full sync all annotations" +msgstr "Πλήρης συγχρονισμός όλων των σχολίων" + +msgid "Sync info" +msgstr "Πληροφορίες συγχρονισμού" + +msgid "Check for update (v%1)" +msgstr "Έλεγχος για ενημέρωση (v%1)" + +msgid "Check for update" +msgstr "Έλεγχος για ενημέρωση" + +msgid "Please login first" +msgstr "Συνδεθείτε πρώτα" + +msgid "Please configure Readest settings first" +msgstr "Διαμορφώστε πρώτα τις ρυθμίσεις Readest" + +msgid "No book is open" +msgstr "Δεν υπάρχει ανοιχτό βιβλίο" + +msgid "(none)" +msgstr "(κανένα)" + +msgid "Never synced" +msgstr "Δεν έχει συγχρονιστεί" + +msgid "Book Fingerprint" +msgstr "Δακτυλικό αποτύπωμα βιβλίου" + +msgid "Title" +msgstr "Τίτλος" + +msgid "Author" +msgstr "Συγγραφέας" + +msgid "Identifiers" +msgstr "Αναγνωριστικά" + +msgid "Last Synced" +msgstr "Τελευταίος συγχρονισμός" + +msgid "Sync Info" +msgstr "Πληροφορίες συγχρονισμού" + +msgid "Checking for update…" +msgstr "Έλεγχος για ενημέρωση…" + +msgid "Failed to check for update. Please try again later." +msgstr "Ο έλεγχος ενημέρωσης απέτυχε. Δοκιμάστε ξανά αργότερα." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "Διαθέσιμη νέα έκδοση: v%1 (τρέχουσα: v%2).\n\nΕνημέρωση τώρα;" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "Διαθέσιμη νέα έκδοση: v%1.\n\nΕνημέρωση τώρα;" + +msgid "Update" +msgstr "Ενημέρωση" + +msgid "You are up to date (v%1)." +msgstr "Είστε ενημερωμένοι (v%1)." + +msgid "Downloading update…" +msgstr "Λήψη ενημέρωσης…" + +msgid "Failed to download update. Please try again later." +msgstr "Η λήψη της ενημέρωσης απέτυχε. Δοκιμάστε ξανά αργότερα." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Το πρόσθετο Readest ενημερώθηκε στην v%1.\n\nΕπανεκκινήστε το KOReader για να εφαρμοστεί η ενημέρωση." + +msgid "Restart now" +msgstr "Επανεκκίνηση τώρα" + +msgid "Later" +msgstr "Αργότερα" + +msgid "Failed to install update: %1" +msgstr "Η εγκατάσταση της ενημέρωσης απέτυχε: %1" + +msgid "unknown error" +msgstr "άγνωστο σφάλμα" + +msgid "No annotations to push" +msgstr "Δεν υπάρχουν σχόλια προς αποστολή" + +msgid "Pushing annotations..." +msgstr "Αποστολή σχολίων…" + +msgid "%1 annotations pushed successfully" +msgstr "Αποστάλθηκαν %1 σχόλια" + +msgid "Failed to push annotations" +msgstr "Η αποστολή των σχολίων απέτυχε" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "Ο συγχρονισμός σχολίων δεν υποστηρίζεται για έγγραφα PDF" + +msgid "Full sync: pulling all annotations..." +msgstr "Πλήρης συγχρονισμός: λήψη όλων των σχολίων…" + +msgid "Pulling annotations..." +msgstr "Λήψη σχολίων…" + +msgid "Failed to pull annotations" +msgstr "Η λήψη των σχολίων απέτυχε" + +msgid "No new annotations found" +msgstr "Δεν βρέθηκαν νέα σχόλια" + +msgid "%1 annotations pulled" +msgstr "Ελήφθησαν %1 σχόλια" + +msgid "Cancel" +msgstr "Ακύρωση" + +msgid "Login" +msgstr "Σύνδεση" + +msgid "Please enter both email and password" +msgstr "Εισαγάγετε email και κωδικό πρόσβασης" + +msgid "Please configure Supabase URL and API key first" +msgstr "Διαμορφώστε πρώτα το URL Supabase και το κλειδί API" + +msgid "Logging in..." +msgstr "Σύνδεση…" + +msgid "Successfully logged in to Readest" +msgstr "Συνδεθήκατε στο Readest" + +msgid "Login failed: %1" +msgstr "Η σύνδεση απέτυχε: %1" + +msgid "Logged out from Readest" +msgstr "Αποσυνδεθήκατε από το Readest" + +msgid "Cannot identify the current book" +msgstr "Αδυναμία αναγνώρισης του τρέχοντος βιβλίου" + +msgid "Progress has been synchronized." +msgstr "Η πρόοδος συγχρονίστηκε." + +msgid "Pushing reading progress..." +msgstr "Αποστολή προόδου ανάγνωσης…" + +msgid "Reading progress pushed successfully" +msgstr "Η πρόοδος ανάγνωσης αποστάλθηκε" + +msgid "Failed to push reading progress" +msgstr "Η αποστολή της προόδου ανάγνωσης απέτυχε" + +msgid "Pulling reading progress..." +msgstr "Λήψη προόδου ανάγνωσης…" + +msgid "Authentication failed, please login again" +msgstr "Αποτυχία ταυτοποίησης, συνδεθείτε ξανά" + +msgid "Failed to pull reading progress" +msgstr "Η λήψη της προόδου ανάγνωσης απέτυχε" + +msgid "Reading progress synchronized" +msgstr "Η πρόοδος ανάγνωσης συγχρονίστηκε" + +msgid "No saved reading progress found for this book" +msgstr "Δεν βρέθηκε αποθηκευμένη πρόοδος ανάγνωσης για αυτό το βιβλίο" diff --git a/apps/readest.koplugin/locales/es/translation.po b/apps/readest.koplugin/locales/es/translation.po new file mode 100644 index 00000000..5d1685d8 --- /dev/null +++ b/apps/readest.koplugin/locales/es/translation.po @@ -0,0 +1,231 @@ +# Spanish translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Spanish\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "Mantiene sincronizados tus dispositivos KOReader y Readest." + +msgid "Set auto progress sync" +msgstr "Configurar sincronización automática del progreso" + +msgid "on" +msgstr "activado" + +msgid "off" +msgstr "desactivado" + +msgid "Toggle auto readest sync" +msgstr "Alternar sincronización automática de Readest" + +msgid "Push readest progress from this device" +msgstr "Enviar progreso de Readest desde este dispositivo" + +msgid "Pull readest progress from other devices" +msgstr "Obtener progreso de Readest de otros dispositivos" + +msgid "Push readest annotations from this device" +msgstr "Enviar anotaciones de Readest desde este dispositivo" + +msgid "Pull readest annotations from other devices" +msgstr "Obtener anotaciones de Readest de otros dispositivos" + +msgid "Log in Readest Account" +msgstr "Iniciar sesión en la cuenta Readest" + +msgid "Log out as %1" +msgstr "Cerrar sesión de %1" + +msgid "Auto sync progress and annotations" +msgstr "Sincronizar automáticamente progreso y anotaciones" + +msgid "Push reading progress now" +msgstr "Enviar progreso de lectura ahora" + +msgid "Pull reading progress now" +msgstr "Obtener progreso de lectura ahora" + +msgid "Push annotations now" +msgstr "Enviar anotaciones ahora" + +msgid "Pull annotations now" +msgstr "Obtener anotaciones ahora" + +msgid "Full sync all annotations" +msgstr "Sincronizar completamente todas las anotaciones" + +msgid "Sync info" +msgstr "Información de sincronización" + +msgid "Check for update (v%1)" +msgstr "Buscar actualización (v%1)" + +msgid "Check for update" +msgstr "Buscar actualización" + +msgid "Please login first" +msgstr "Por favor inicia sesión primero" + +msgid "Please configure Readest settings first" +msgstr "Configura primero los ajustes de Readest" + +msgid "No book is open" +msgstr "Ningún libro abierto" + +msgid "(none)" +msgstr "(ninguno)" + +msgid "Never synced" +msgstr "Nunca sincronizado" + +msgid "Book Fingerprint" +msgstr "Huella del libro" + +msgid "Title" +msgstr "Título" + +msgid "Author" +msgstr "Autor" + +msgid "Identifiers" +msgstr "Identificadores" + +msgid "Last Synced" +msgstr "Última sincronización" + +msgid "Sync Info" +msgstr "Información de sincronización" + +msgid "Checking for update…" +msgstr "Buscando actualización…" + +msgid "Failed to check for update. Please try again later." +msgstr "Error al buscar actualización. Inténtalo de nuevo más tarde." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "Hay una nueva versión disponible: v%1 (actual: v%2).\n\n¿Quieres actualizar ahora?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "Hay una nueva versión disponible: v%1.\n\n¿Quieres actualizar ahora?" + +msgid "Update" +msgstr "Actualizar" + +msgid "You are up to date (v%1)." +msgstr "Estás al día (v%1)." + +msgid "Downloading update…" +msgstr "Descargando actualización…" + +msgid "Failed to download update. Please try again later." +msgstr "Error al descargar la actualización. Inténtalo de nuevo más tarde." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Plugin Readest actualizado a v%1.\n\nReinicia KOReader para aplicar la actualización." + +msgid "Restart now" +msgstr "Reiniciar ahora" + +msgid "Later" +msgstr "Más tarde" + +msgid "Failed to install update: %1" +msgstr "Error al instalar la actualización: %1" + +msgid "unknown error" +msgstr "error desconocido" + +msgid "No annotations to push" +msgstr "No hay anotaciones para enviar" + +msgid "Pushing annotations..." +msgstr "Enviando anotaciones…" + +msgid "%1 annotations pushed successfully" +msgstr "%1 anotaciones enviadas correctamente" + +msgid "Failed to push annotations" +msgstr "Error al enviar las anotaciones" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "La sincronización de anotaciones no es compatible con documentos PDF" + +msgid "Full sync: pulling all annotations..." +msgstr "Sincronización completa: obteniendo todas las anotaciones…" + +msgid "Pulling annotations..." +msgstr "Obteniendo anotaciones…" + +msgid "Failed to pull annotations" +msgstr "Error al obtener las anotaciones" + +msgid "No new annotations found" +msgstr "No se encontraron anotaciones nuevas" + +msgid "%1 annotations pulled" +msgstr "%1 anotaciones obtenidas" + +msgid "Cancel" +msgstr "Cancelar" + +msgid "Login" +msgstr "Iniciar sesión" + +msgid "Please enter both email and password" +msgstr "Introduce el correo y la contraseña" + +msgid "Please configure Supabase URL and API key first" +msgstr "Configura primero la URL de Supabase y la clave API" + +msgid "Logging in..." +msgstr "Iniciando sesión…" + +msgid "Successfully logged in to Readest" +msgstr "Sesión iniciada en Readest correctamente" + +msgid "Login failed: %1" +msgstr "Error al iniciar sesión: %1" + +msgid "Logged out from Readest" +msgstr "Sesión cerrada de Readest" + +msgid "Cannot identify the current book" +msgstr "No se puede identificar el libro actual" + +msgid "Progress has been synchronized." +msgstr "El progreso se ha sincronizado." + +msgid "Pushing reading progress..." +msgstr "Enviando progreso de lectura…" + +msgid "Reading progress pushed successfully" +msgstr "Progreso de lectura enviado correctamente" + +msgid "Failed to push reading progress" +msgstr "Error al enviar el progreso de lectura" + +msgid "Pulling reading progress..." +msgstr "Obteniendo progreso de lectura…" + +msgid "Authentication failed, please login again" +msgstr "Error de autenticación, inicia sesión de nuevo" + +msgid "Failed to pull reading progress" +msgstr "Error al obtener el progreso de lectura" + +msgid "Reading progress synchronized" +msgstr "Progreso de lectura sincronizado" + +msgid "No saved reading progress found for this book" +msgstr "No se encontró progreso de lectura guardado para este libro" diff --git a/apps/readest.koplugin/locales/fa/translation.po b/apps/readest.koplugin/locales/fa/translation.po new file mode 100644 index 00000000..ee1796d2 --- /dev/null +++ b/apps/readest.koplugin/locales/fa/translation.po @@ -0,0 +1,231 @@ +# Persian translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Persian\n" +"Language: fa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "دستگاه‌های KOReader و Readest شما را همگام نگه می‌دارد." + +msgid "Set auto progress sync" +msgstr "تنظیم همگام‌سازی خودکار پیشرفت" + +msgid "on" +msgstr "روشن" + +msgid "off" +msgstr "خاموش" + +msgid "Toggle auto readest sync" +msgstr "تغییر وضعیت همگام‌سازی خودکار Readest" + +msgid "Push readest progress from this device" +msgstr "ارسال پیشرفت Readest از این دستگاه" + +msgid "Pull readest progress from other devices" +msgstr "دریافت پیشرفت Readest از دستگاه‌های دیگر" + +msgid "Push readest annotations from this device" +msgstr "ارسال یادداشت‌های Readest از این دستگاه" + +msgid "Pull readest annotations from other devices" +msgstr "دریافت یادداشت‌های Readest از دستگاه‌های دیگر" + +msgid "Log in Readest Account" +msgstr "ورود به حساب Readest" + +msgid "Log out as %1" +msgstr "خروج از حساب %1" + +msgid "Auto sync progress and annotations" +msgstr "همگام‌سازی خودکار پیشرفت و یادداشت‌ها" + +msgid "Push reading progress now" +msgstr "ارسال پیشرفت مطالعه اکنون" + +msgid "Pull reading progress now" +msgstr "دریافت پیشرفت مطالعه اکنون" + +msgid "Push annotations now" +msgstr "ارسال یادداشت‌ها اکنون" + +msgid "Pull annotations now" +msgstr "دریافت یادداشت‌ها اکنون" + +msgid "Full sync all annotations" +msgstr "همگام‌سازی کامل تمام یادداشت‌ها" + +msgid "Sync info" +msgstr "اطلاعات همگام‌سازی" + +msgid "Check for update (v%1)" +msgstr "بررسی به‌روزرسانی (v%1)" + +msgid "Check for update" +msgstr "بررسی به‌روزرسانی" + +msgid "Please login first" +msgstr "ابتدا وارد شوید" + +msgid "Please configure Readest settings first" +msgstr "ابتدا تنظیمات Readest را پیکربندی کنید" + +msgid "No book is open" +msgstr "هیچ کتابی باز نیست" + +msgid "(none)" +msgstr "(هیچ‌کدام)" + +msgid "Never synced" +msgstr "هرگز همگام‌سازی نشده" + +msgid "Book Fingerprint" +msgstr "اثر انگشت کتاب" + +msgid "Title" +msgstr "عنوان" + +msgid "Author" +msgstr "نویسنده" + +msgid "Identifiers" +msgstr "شناسه‌ها" + +msgid "Last Synced" +msgstr "آخرین همگام‌سازی" + +msgid "Sync Info" +msgstr "اطلاعات همگام‌سازی" + +msgid "Checking for update…" +msgstr "در حال بررسی به‌روزرسانی…" + +msgid "Failed to check for update. Please try again later." +msgstr "بررسی به‌روزرسانی ناموفق بود. لطفاً بعداً دوباره تلاش کنید." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "نسخه جدیدی موجود است: v%1 (فعلی: v%2).\n\nاکنون به‌روزرسانی شود؟" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "نسخه جدیدی موجود است: v%1.\n\nاکنون به‌روزرسانی شود؟" + +msgid "Update" +msgstr "به‌روزرسانی" + +msgid "You are up to date (v%1)." +msgstr "شما به‌روز هستید (v%1)." + +msgid "Downloading update…" +msgstr "در حال دانلود به‌روزرسانی…" + +msgid "Failed to download update. Please try again later." +msgstr "دانلود به‌روزرسانی ناموفق بود. لطفاً بعداً دوباره تلاش کنید." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "افزونه Readest به v%1 به‌روزرسانی شد.\n\nبرای اعمال به‌روزرسانی، KOReader را راه‌اندازی مجدد کنید." + +msgid "Restart now" +msgstr "راه‌اندازی مجدد اکنون" + +msgid "Later" +msgstr "بعداً" + +msgid "Failed to install update: %1" +msgstr "نصب به‌روزرسانی ناموفق بود: %1" + +msgid "unknown error" +msgstr "خطای ناشناخته" + +msgid "No annotations to push" +msgstr "هیچ یادداشتی برای ارسال نیست" + +msgid "Pushing annotations..." +msgstr "در حال ارسال یادداشت‌ها…" + +msgid "%1 annotations pushed successfully" +msgstr "%1 یادداشت با موفقیت ارسال شد" + +msgid "Failed to push annotations" +msgstr "ارسال یادداشت‌ها ناموفق بود" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "همگام‌سازی یادداشت برای اسناد PDF پشتیبانی نمی‌شود" + +msgid "Full sync: pulling all annotations..." +msgstr "همگام‌سازی کامل: در حال دریافت تمام یادداشت‌ها…" + +msgid "Pulling annotations..." +msgstr "در حال دریافت یادداشت‌ها…" + +msgid "Failed to pull annotations" +msgstr "دریافت یادداشت‌ها ناموفق بود" + +msgid "No new annotations found" +msgstr "یادداشت جدیدی یافت نشد" + +msgid "%1 annotations pulled" +msgstr "%1 یادداشت دریافت شد" + +msgid "Cancel" +msgstr "لغو" + +msgid "Login" +msgstr "ورود" + +msgid "Please enter both email and password" +msgstr "لطفاً ایمیل و رمز عبور را وارد کنید" + +msgid "Please configure Supabase URL and API key first" +msgstr "ابتدا آدرس Supabase و کلید API را پیکربندی کنید" + +msgid "Logging in..." +msgstr "در حال ورود…" + +msgid "Successfully logged in to Readest" +msgstr "با موفقیت وارد Readest شدید" + +msgid "Login failed: %1" +msgstr "ورود ناموفق: %1" + +msgid "Logged out from Readest" +msgstr "از Readest خارج شدید" + +msgid "Cannot identify the current book" +msgstr "شناسایی کتاب فعلی ممکن نیست" + +msgid "Progress has been synchronized." +msgstr "پیشرفت همگام‌سازی شد." + +msgid "Pushing reading progress..." +msgstr "در حال ارسال پیشرفت مطالعه…" + +msgid "Reading progress pushed successfully" +msgstr "پیشرفت مطالعه با موفقیت ارسال شد" + +msgid "Failed to push reading progress" +msgstr "ارسال پیشرفت مطالعه ناموفق بود" + +msgid "Pulling reading progress..." +msgstr "در حال دریافت پیشرفت مطالعه…" + +msgid "Authentication failed, please login again" +msgstr "احراز هویت ناموفق بود، دوباره وارد شوید" + +msgid "Failed to pull reading progress" +msgstr "دریافت پیشرفت مطالعه ناموفق بود" + +msgid "Reading progress synchronized" +msgstr "پیشرفت مطالعه همگام‌سازی شد" + +msgid "No saved reading progress found for this book" +msgstr "پیشرفت مطالعه ذخیره‌شده‌ای برای این کتاب یافت نشد" diff --git a/apps/readest.koplugin/locales/fr/translation.po b/apps/readest.koplugin/locales/fr/translation.po new file mode 100644 index 00000000..3fdd5766 --- /dev/null +++ b/apps/readest.koplugin/locales/fr/translation.po @@ -0,0 +1,231 @@ +# French translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: French\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "Maintient vos appareils KOReader et Readest synchronisés." + +msgid "Set auto progress sync" +msgstr "Définir la synchronisation automatique de la progression" + +msgid "on" +msgstr "activé" + +msgid "off" +msgstr "désactivé" + +msgid "Toggle auto readest sync" +msgstr "Basculer la synchronisation automatique Readest" + +msgid "Push readest progress from this device" +msgstr "Envoyer la progression Readest depuis cet appareil" + +msgid "Pull readest progress from other devices" +msgstr "Récupérer la progression Readest des autres appareils" + +msgid "Push readest annotations from this device" +msgstr "Envoyer les annotations Readest depuis cet appareil" + +msgid "Pull readest annotations from other devices" +msgstr "Récupérer les annotations Readest des autres appareils" + +msgid "Log in Readest Account" +msgstr "Se connecter au compte Readest" + +msgid "Log out as %1" +msgstr "Se déconnecter de %1" + +msgid "Auto sync progress and annotations" +msgstr "Synchroniser automatiquement la progression et les annotations" + +msgid "Push reading progress now" +msgstr "Envoyer la progression de lecture maintenant" + +msgid "Pull reading progress now" +msgstr "Récupérer la progression de lecture maintenant" + +msgid "Push annotations now" +msgstr "Envoyer les annotations maintenant" + +msgid "Pull annotations now" +msgstr "Récupérer les annotations maintenant" + +msgid "Full sync all annotations" +msgstr "Synchroniser entièrement toutes les annotations" + +msgid "Sync info" +msgstr "Infos de synchronisation" + +msgid "Check for update (v%1)" +msgstr "Rechercher une mise à jour (v%1)" + +msgid "Check for update" +msgstr "Rechercher une mise à jour" + +msgid "Please login first" +msgstr "Veuillez d'abord vous connecter" + +msgid "Please configure Readest settings first" +msgstr "Veuillez d'abord configurer les paramètres Readest" + +msgid "No book is open" +msgstr "Aucun livre ouvert" + +msgid "(none)" +msgstr "(aucun)" + +msgid "Never synced" +msgstr "Jamais synchronisé" + +msgid "Book Fingerprint" +msgstr "Empreinte du livre" + +msgid "Title" +msgstr "Titre" + +msgid "Author" +msgstr "Auteur" + +msgid "Identifiers" +msgstr "Identifiants" + +msgid "Last Synced" +msgstr "Dernière synchronisation" + +msgid "Sync Info" +msgstr "Infos de synchronisation" + +msgid "Checking for update…" +msgstr "Recherche d'une mise à jour…" + +msgid "Failed to check for update. Please try again later." +msgstr "Échec de la recherche de mise à jour. Veuillez réessayer plus tard." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "Une nouvelle version est disponible : v%1 (actuelle : v%2).\n\nVoulez-vous mettre à jour maintenant ?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "Une nouvelle version est disponible : v%1.\n\nVoulez-vous mettre à jour maintenant ?" + +msgid "Update" +msgstr "Mettre à jour" + +msgid "You are up to date (v%1)." +msgstr "Vous êtes à jour (v%1)." + +msgid "Downloading update…" +msgstr "Téléchargement de la mise à jour…" + +msgid "Failed to download update. Please try again later." +msgstr "Échec du téléchargement de la mise à jour. Veuillez réessayer plus tard." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Plugin Readest mis à jour vers v%1.\n\nVeuillez redémarrer KOReader pour appliquer la mise à jour." + +msgid "Restart now" +msgstr "Redémarrer maintenant" + +msgid "Later" +msgstr "Plus tard" + +msgid "Failed to install update: %1" +msgstr "Échec de l'installation de la mise à jour : %1" + +msgid "unknown error" +msgstr "erreur inconnue" + +msgid "No annotations to push" +msgstr "Aucune annotation à envoyer" + +msgid "Pushing annotations..." +msgstr "Envoi des annotations…" + +msgid "%1 annotations pushed successfully" +msgstr "%1 annotations envoyées avec succès" + +msgid "Failed to push annotations" +msgstr "Échec de l'envoi des annotations" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "La synchronisation des annotations n'est pas prise en charge pour les documents PDF" + +msgid "Full sync: pulling all annotations..." +msgstr "Synchronisation complète : récupération de toutes les annotations…" + +msgid "Pulling annotations..." +msgstr "Récupération des annotations…" + +msgid "Failed to pull annotations" +msgstr "Échec de la récupération des annotations" + +msgid "No new annotations found" +msgstr "Aucune nouvelle annotation trouvée" + +msgid "%1 annotations pulled" +msgstr "%1 annotations récupérées" + +msgid "Cancel" +msgstr "Annuler" + +msgid "Login" +msgstr "Connexion" + +msgid "Please enter both email and password" +msgstr "Veuillez saisir l'e-mail et le mot de passe" + +msgid "Please configure Supabase URL and API key first" +msgstr "Veuillez d'abord configurer l'URL Supabase et la clé API" + +msgid "Logging in..." +msgstr "Connexion en cours…" + +msgid "Successfully logged in to Readest" +msgstr "Connexion à Readest réussie" + +msgid "Login failed: %1" +msgstr "Échec de la connexion : %1" + +msgid "Logged out from Readest" +msgstr "Déconnecté de Readest" + +msgid "Cannot identify the current book" +msgstr "Impossible d'identifier le livre actuel" + +msgid "Progress has been synchronized." +msgstr "La progression a été synchronisée." + +msgid "Pushing reading progress..." +msgstr "Envoi de la progression de lecture…" + +msgid "Reading progress pushed successfully" +msgstr "Progression de lecture envoyée avec succès" + +msgid "Failed to push reading progress" +msgstr "Échec de l'envoi de la progression de lecture" + +msgid "Pulling reading progress..." +msgstr "Récupération de la progression de lecture…" + +msgid "Authentication failed, please login again" +msgstr "Échec de l'authentification, veuillez vous reconnecter" + +msgid "Failed to pull reading progress" +msgstr "Échec de la récupération de la progression de lecture" + +msgid "Reading progress synchronized" +msgstr "Progression de lecture synchronisée" + +msgid "No saved reading progress found for this book" +msgstr "Aucune progression de lecture enregistrée pour ce livre" diff --git a/apps/readest.koplugin/locales/he/translation.po b/apps/readest.koplugin/locales/he/translation.po new file mode 100644 index 00000000..d7253730 --- /dev/null +++ b/apps/readest.koplugin/locales/he/translation.po @@ -0,0 +1,231 @@ +# Hebrew translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Hebrew\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "שומר על סנכרון בין מכשירי KOReader ו-Readest שלך." + +msgid "Set auto progress sync" +msgstr "הגדר סנכרון התקדמות אוטומטי" + +msgid "on" +msgstr "פועל" + +msgid "off" +msgstr "כבוי" + +msgid "Toggle auto readest sync" +msgstr "החלף סנכרון Readest אוטומטי" + +msgid "Push readest progress from this device" +msgstr "שלח התקדמות Readest ממכשיר זה" + +msgid "Pull readest progress from other devices" +msgstr "משוך התקדמות Readest ממכשירים אחרים" + +msgid "Push readest annotations from this device" +msgstr "שלח הערות Readest ממכשיר זה" + +msgid "Pull readest annotations from other devices" +msgstr "משוך הערות Readest ממכשירים אחרים" + +msgid "Log in Readest Account" +msgstr "התחבר לחשבון Readest" + +msgid "Log out as %1" +msgstr "התנתק מ-%1" + +msgid "Auto sync progress and annotations" +msgstr "סנכרן התקדמות והערות אוטומטית" + +msgid "Push reading progress now" +msgstr "שלח התקדמות קריאה כעת" + +msgid "Pull reading progress now" +msgstr "משוך התקדמות קריאה כעת" + +msgid "Push annotations now" +msgstr "שלח הערות כעת" + +msgid "Pull annotations now" +msgstr "משוך הערות כעת" + +msgid "Full sync all annotations" +msgstr "סנכרון מלא של כל ההערות" + +msgid "Sync info" +msgstr "מידע סנכרון" + +msgid "Check for update (v%1)" +msgstr "בדוק עדכון (v%1)" + +msgid "Check for update" +msgstr "בדוק עדכון" + +msgid "Please login first" +msgstr "התחבר תחילה" + +msgid "Please configure Readest settings first" +msgstr "הגדר תחילה את הגדרות Readest" + +msgid "No book is open" +msgstr "לא פתוח ספר" + +msgid "(none)" +msgstr "(אין)" + +msgid "Never synced" +msgstr "מעולם לא סונכרן" + +msgid "Book Fingerprint" +msgstr "טביעת אצבע של הספר" + +msgid "Title" +msgstr "כותרת" + +msgid "Author" +msgstr "מחבר" + +msgid "Identifiers" +msgstr "מזהים" + +msgid "Last Synced" +msgstr "סנכרון אחרון" + +msgid "Sync Info" +msgstr "מידע סנכרון" + +msgid "Checking for update…" +msgstr "בודק עדכון…" + +msgid "Failed to check for update. Please try again later." +msgstr "בדיקת העדכון נכשלה. נסה שוב מאוחר יותר." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "גרסה חדשה זמינה: v%1 (נוכחית: v%2).\n\nלעדכן כעת?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "גרסה חדשה זמינה: v%1.\n\nלעדכן כעת?" + +msgid "Update" +msgstr "עדכן" + +msgid "You are up to date (v%1)." +msgstr "אתה מעודכן (v%1)." + +msgid "Downloading update…" +msgstr "מוריד עדכון…" + +msgid "Failed to download update. Please try again later." +msgstr "הורדת העדכון נכשלה. נסה שוב מאוחר יותר." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "תוסף Readest עודכן ל-v%1.\n\nהפעל מחדש את KOReader כדי להחיל את העדכון." + +msgid "Restart now" +msgstr "הפעל מחדש כעת" + +msgid "Later" +msgstr "מאוחר יותר" + +msgid "Failed to install update: %1" +msgstr "התקנת העדכון נכשלה: %1" + +msgid "unknown error" +msgstr "שגיאה לא ידועה" + +msgid "No annotations to push" +msgstr "אין הערות לשליחה" + +msgid "Pushing annotations..." +msgstr "שולח הערות…" + +msgid "%1 annotations pushed successfully" +msgstr "%1 הערות נשלחו בהצלחה" + +msgid "Failed to push annotations" +msgstr "שליחת ההערות נכשלה" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "סנכרון הערות אינו נתמך עבור מסמכי PDF" + +msgid "Full sync: pulling all annotations..." +msgstr "סנכרון מלא: מושך את כל ההערות…" + +msgid "Pulling annotations..." +msgstr "מושך הערות…" + +msgid "Failed to pull annotations" +msgstr "משיכת ההערות נכשלה" + +msgid "No new annotations found" +msgstr "לא נמצאו הערות חדשות" + +msgid "%1 annotations pulled" +msgstr "נמשכו %1 הערות" + +msgid "Cancel" +msgstr "ביטול" + +msgid "Login" +msgstr "התחבר" + +msgid "Please enter both email and password" +msgstr "הזן דוא\"ל וסיסמה" + +msgid "Please configure Supabase URL and API key first" +msgstr "הגדר תחילה את כתובת Supabase ומפתח API" + +msgid "Logging in..." +msgstr "מתחבר…" + +msgid "Successfully logged in to Readest" +msgstr "התחברת ל-Readest בהצלחה" + +msgid "Login failed: %1" +msgstr "ההתחברות נכשלה: %1" + +msgid "Logged out from Readest" +msgstr "התנתקת מ-Readest" + +msgid "Cannot identify the current book" +msgstr "לא ניתן לזהות את הספר הנוכחי" + +msgid "Progress has been synchronized." +msgstr "ההתקדמות סונכרנה." + +msgid "Pushing reading progress..." +msgstr "שולח התקדמות קריאה…" + +msgid "Reading progress pushed successfully" +msgstr "התקדמות הקריאה נשלחה בהצלחה" + +msgid "Failed to push reading progress" +msgstr "שליחת התקדמות הקריאה נכשלה" + +msgid "Pulling reading progress..." +msgstr "מושך התקדמות קריאה…" + +msgid "Authentication failed, please login again" +msgstr "האימות נכשל, התחבר שוב" + +msgid "Failed to pull reading progress" +msgstr "משיכת התקדמות הקריאה נכשלה" + +msgid "Reading progress synchronized" +msgstr "התקדמות הקריאה סונכרנה" + +msgid "No saved reading progress found for this book" +msgstr "לא נמצאה התקדמות קריאה שמורה לספר זה" diff --git a/apps/readest.koplugin/locales/hi/translation.po b/apps/readest.koplugin/locales/hi/translation.po new file mode 100644 index 00000000..ba533c4f --- /dev/null +++ b/apps/readest.koplugin/locales/hi/translation.po @@ -0,0 +1,231 @@ +# Hindi translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Hindi\n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "आपके KOReader और Readest डिवाइसों को सिंक रखता है।" + +msgid "Set auto progress sync" +msgstr "स्वचालित प्रगति सिंक सेट करें" + +msgid "on" +msgstr "चालू" + +msgid "off" +msgstr "बंद" + +msgid "Toggle auto readest sync" +msgstr "स्वचालित Readest सिंक बदलें" + +msgid "Push readest progress from this device" +msgstr "इस डिवाइस से Readest प्रगति भेजें" + +msgid "Pull readest progress from other devices" +msgstr "अन्य डिवाइसों से Readest प्रगति प्राप्त करें" + +msgid "Push readest annotations from this device" +msgstr "इस डिवाइस से Readest एनोटेशन भेजें" + +msgid "Pull readest annotations from other devices" +msgstr "अन्य डिवाइसों से Readest एनोटेशन प्राप्त करें" + +msgid "Log in Readest Account" +msgstr "Readest खाते में लॉग इन करें" + +msgid "Log out as %1" +msgstr "%1 से लॉग आउट करें" + +msgid "Auto sync progress and annotations" +msgstr "प्रगति और एनोटेशन स्वचालित रूप से सिंक करें" + +msgid "Push reading progress now" +msgstr "अभी पठन प्रगति भेजें" + +msgid "Pull reading progress now" +msgstr "अभी पठन प्रगति प्राप्त करें" + +msgid "Push annotations now" +msgstr "अभी एनोटेशन भेजें" + +msgid "Pull annotations now" +msgstr "अभी एनोटेशन प्राप्त करें" + +msgid "Full sync all annotations" +msgstr "सभी एनोटेशन का पूर्ण सिंक" + +msgid "Sync info" +msgstr "सिंक जानकारी" + +msgid "Check for update (v%1)" +msgstr "अपडेट जांचें (v%1)" + +msgid "Check for update" +msgstr "अपडेट जांचें" + +msgid "Please login first" +msgstr "कृपया पहले लॉग इन करें" + +msgid "Please configure Readest settings first" +msgstr "कृपया पहले Readest सेटिंग्स कॉन्फ़िगर करें" + +msgid "No book is open" +msgstr "कोई पुस्तक खुली नहीं है" + +msgid "(none)" +msgstr "(कोई नहीं)" + +msgid "Never synced" +msgstr "कभी सिंक नहीं हुआ" + +msgid "Book Fingerprint" +msgstr "पुस्तक फिंगरप्रिंट" + +msgid "Title" +msgstr "शीर्षक" + +msgid "Author" +msgstr "लेखक" + +msgid "Identifiers" +msgstr "पहचानकर्ता" + +msgid "Last Synced" +msgstr "अंतिम सिंक" + +msgid "Sync Info" +msgstr "सिंक जानकारी" + +msgid "Checking for update…" +msgstr "अपडेट जांच रहा है…" + +msgid "Failed to check for update. Please try again later." +msgstr "अपडेट जांचने में विफल। कृपया बाद में पुनः प्रयास करें।" + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "नया संस्करण उपलब्ध है: v%1 (वर्तमान: v%2)।\n\nअभी अपडेट करें?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "नया संस्करण उपलब्ध है: v%1।\n\nअभी अपडेट करें?" + +msgid "Update" +msgstr "अपडेट" + +msgid "You are up to date (v%1)." +msgstr "आप अद्यतित हैं (v%1)।" + +msgid "Downloading update…" +msgstr "अपडेट डाउनलोड हो रहा है…" + +msgid "Failed to download update. Please try again later." +msgstr "अपडेट डाउनलोड करने में विफल। कृपया बाद में पुनः प्रयास करें।" + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Readest प्लगइन v%1 पर अपडेट किया गया।\n\nअपडेट लागू करने के लिए KOReader पुनः प्रारंभ करें।" + +msgid "Restart now" +msgstr "अभी पुनः प्रारंभ करें" + +msgid "Later" +msgstr "बाद में" + +msgid "Failed to install update: %1" +msgstr "अपडेट इंस्टॉल करने में विफल: %1" + +msgid "unknown error" +msgstr "अज्ञात त्रुटि" + +msgid "No annotations to push" +msgstr "भेजने के लिए कोई एनोटेशन नहीं" + +msgid "Pushing annotations..." +msgstr "एनोटेशन भेज रहा है…" + +msgid "%1 annotations pushed successfully" +msgstr "%1 एनोटेशन सफलतापूर्वक भेजे गए" + +msgid "Failed to push annotations" +msgstr "एनोटेशन भेजने में विफल" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "PDF दस्तावेज़ों के लिए एनोटेशन सिंक समर्थित नहीं है" + +msgid "Full sync: pulling all annotations..." +msgstr "पूर्ण सिंक: सभी एनोटेशन प्राप्त कर रहा है…" + +msgid "Pulling annotations..." +msgstr "एनोटेशन प्राप्त कर रहा है…" + +msgid "Failed to pull annotations" +msgstr "एनोटेशन प्राप्त करने में विफल" + +msgid "No new annotations found" +msgstr "कोई नया एनोटेशन नहीं मिला" + +msgid "%1 annotations pulled" +msgstr "%1 एनोटेशन प्राप्त हुए" + +msgid "Cancel" +msgstr "रद्द करें" + +msgid "Login" +msgstr "लॉग इन" + +msgid "Please enter both email and password" +msgstr "कृपया ईमेल और पासवर्ड दोनों दर्ज करें" + +msgid "Please configure Supabase URL and API key first" +msgstr "कृपया पहले Supabase URL और API कुंजी कॉन्फ़िगर करें" + +msgid "Logging in..." +msgstr "लॉग इन कर रहा है…" + +msgid "Successfully logged in to Readest" +msgstr "Readest में सफलतापूर्वक लॉग इन हुए" + +msgid "Login failed: %1" +msgstr "लॉग इन विफल: %1" + +msgid "Logged out from Readest" +msgstr "Readest से लॉग आउट हो गए" + +msgid "Cannot identify the current book" +msgstr "वर्तमान पुस्तक पहचानने में असमर्थ" + +msgid "Progress has been synchronized." +msgstr "प्रगति सिंक हो गई है।" + +msgid "Pushing reading progress..." +msgstr "पठन प्रगति भेज रहा है…" + +msgid "Reading progress pushed successfully" +msgstr "पठन प्रगति सफलतापूर्वक भेजी गई" + +msgid "Failed to push reading progress" +msgstr "पठन प्रगति भेजने में विफल" + +msgid "Pulling reading progress..." +msgstr "पठन प्रगति प्राप्त कर रहा है…" + +msgid "Authentication failed, please login again" +msgstr "प्रमाणीकरण विफल, कृपया पुनः लॉग इन करें" + +msgid "Failed to pull reading progress" +msgstr "पठन प्रगति प्राप्त करने में विफल" + +msgid "Reading progress synchronized" +msgstr "पठन प्रगति सिंक हो गई" + +msgid "No saved reading progress found for this book" +msgstr "इस पुस्तक के लिए सहेजी गई पठन प्रगति नहीं मिली" diff --git a/apps/readest.koplugin/locales/hu/translation.po b/apps/readest.koplugin/locales/hu/translation.po new file mode 100644 index 00000000..53a08e9a --- /dev/null +++ b/apps/readest.koplugin/locales/hu/translation.po @@ -0,0 +1,231 @@ +# Hungarian translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Hungarian\n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "Szinkronban tartja a KOReader és Readest eszközeidet." + +msgid "Set auto progress sync" +msgstr "Automatikus haladás-szinkronizálás beállítása" + +msgid "on" +msgstr "be" + +msgid "off" +msgstr "ki" + +msgid "Toggle auto readest sync" +msgstr "Automatikus Readest-szinkronizálás váltása" + +msgid "Push readest progress from this device" +msgstr "Readest haladás küldése erről az eszközről" + +msgid "Pull readest progress from other devices" +msgstr "Readest haladás lekérése más eszközökről" + +msgid "Push readest annotations from this device" +msgstr "Readest jegyzetek küldése erről az eszközről" + +msgid "Pull readest annotations from other devices" +msgstr "Readest jegyzetek lekérése más eszközökről" + +msgid "Log in Readest Account" +msgstr "Bejelentkezés Readest-fiókba" + +msgid "Log out as %1" +msgstr "Kijelentkezés mint %1" + +msgid "Auto sync progress and annotations" +msgstr "Haladás és jegyzetek automatikus szinkronizálása" + +msgid "Push reading progress now" +msgstr "Olvasási haladás küldése most" + +msgid "Pull reading progress now" +msgstr "Olvasási haladás lekérése most" + +msgid "Push annotations now" +msgstr "Jegyzetek küldése most" + +msgid "Pull annotations now" +msgstr "Jegyzetek lekérése most" + +msgid "Full sync all annotations" +msgstr "Az összes jegyzet teljes szinkronizálása" + +msgid "Sync info" +msgstr "Szinkronizálási adatok" + +msgid "Check for update (v%1)" +msgstr "Frissítés keresése (v%1)" + +msgid "Check for update" +msgstr "Frissítés keresése" + +msgid "Please login first" +msgstr "Először jelentkezz be" + +msgid "Please configure Readest settings first" +msgstr "Először állítsd be a Readest paramétereit" + +msgid "No book is open" +msgstr "Nincs megnyitott könyv" + +msgid "(none)" +msgstr "(nincs)" + +msgid "Never synced" +msgstr "Még nincs szinkronizálva" + +msgid "Book Fingerprint" +msgstr "Könyv ujjlenyomata" + +msgid "Title" +msgstr "Cím" + +msgid "Author" +msgstr "Szerző" + +msgid "Identifiers" +msgstr "Azonosítók" + +msgid "Last Synced" +msgstr "Utolsó szinkronizálás" + +msgid "Sync Info" +msgstr "Szinkronizálási adatok" + +msgid "Checking for update…" +msgstr "Frissítés keresése…" + +msgid "Failed to check for update. Please try again later." +msgstr "A frissítés keresése sikertelen. Próbáld újra később." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "Új verzió érhető el: v%1 (jelenlegi: v%2).\n\nFrissítesz most?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "Új verzió érhető el: v%1.\n\nFrissítesz most?" + +msgid "Update" +msgstr "Frissítés" + +msgid "You are up to date (v%1)." +msgstr "Naprakész vagy (v%1)." + +msgid "Downloading update…" +msgstr "Frissítés letöltése…" + +msgid "Failed to download update. Please try again later." +msgstr "A frissítés letöltése sikertelen. Próbáld újra később." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "A Readest bővítmény v%1 verzióra frissült.\n\nIndítsd újra a KOReadert a frissítés alkalmazásához." + +msgid "Restart now" +msgstr "Újraindítás most" + +msgid "Later" +msgstr "Később" + +msgid "Failed to install update: %1" +msgstr "A frissítés telepítése sikertelen: %1" + +msgid "unknown error" +msgstr "ismeretlen hiba" + +msgid "No annotations to push" +msgstr "Nincs küldendő jegyzet" + +msgid "Pushing annotations..." +msgstr "Jegyzetek küldése…" + +msgid "%1 annotations pushed successfully" +msgstr "%1 jegyzet sikeresen elküldve" + +msgid "Failed to push annotations" +msgstr "A jegyzetek küldése sikertelen" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "A jegyzetek szinkronizálása nem támogatott PDF-dokumentumoknál" + +msgid "Full sync: pulling all annotations..." +msgstr "Teljes szinkronizálás: az összes jegyzet lekérése…" + +msgid "Pulling annotations..." +msgstr "Jegyzetek lekérése…" + +msgid "Failed to pull annotations" +msgstr "A jegyzetek lekérése sikertelen" + +msgid "No new annotations found" +msgstr "Nem található új jegyzet" + +msgid "%1 annotations pulled" +msgstr "%1 jegyzet lekérve" + +msgid "Cancel" +msgstr "Mégse" + +msgid "Login" +msgstr "Bejelentkezés" + +msgid "Please enter both email and password" +msgstr "Add meg az e-mail-címet és a jelszót" + +msgid "Please configure Supabase URL and API key first" +msgstr "Először állítsd be a Supabase URL-t és az API-kulcsot" + +msgid "Logging in..." +msgstr "Bejelentkezés…" + +msgid "Successfully logged in to Readest" +msgstr "Sikeres bejelentkezés a Readestbe" + +msgid "Login failed: %1" +msgstr "Sikertelen bejelentkezés: %1" + +msgid "Logged out from Readest" +msgstr "Kijelentkezve a Readestből" + +msgid "Cannot identify the current book" +msgstr "Az aktuális könyv nem azonosítható" + +msgid "Progress has been synchronized." +msgstr "A haladás szinkronizálva." + +msgid "Pushing reading progress..." +msgstr "Olvasási haladás küldése…" + +msgid "Reading progress pushed successfully" +msgstr "Olvasási haladás sikeresen elküldve" + +msgid "Failed to push reading progress" +msgstr "Az olvasási haladás küldése sikertelen" + +msgid "Pulling reading progress..." +msgstr "Olvasási haladás lekérése…" + +msgid "Authentication failed, please login again" +msgstr "Hitelesítés sikertelen, jelentkezz be újra" + +msgid "Failed to pull reading progress" +msgstr "Az olvasási haladás lekérése sikertelen" + +msgid "Reading progress synchronized" +msgstr "Olvasási haladás szinkronizálva" + +msgid "No saved reading progress found for this book" +msgstr "Nem található mentett olvasási haladás ehhez a könyvhöz" diff --git a/apps/readest.koplugin/locales/id/translation.po b/apps/readest.koplugin/locales/id/translation.po new file mode 100644 index 00000000..527bdf21 --- /dev/null +++ b/apps/readest.koplugin/locales/id/translation.po @@ -0,0 +1,231 @@ +# Indonesian translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Indonesian\n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "Menjaga perangkat KOReader dan Readest Anda tetap sinkron." + +msgid "Set auto progress sync" +msgstr "Atur sinkronisasi progres otomatis" + +msgid "on" +msgstr "aktif" + +msgid "off" +msgstr "nonaktif" + +msgid "Toggle auto readest sync" +msgstr "Alihkan sinkronisasi otomatis Readest" + +msgid "Push readest progress from this device" +msgstr "Kirim progres Readest dari perangkat ini" + +msgid "Pull readest progress from other devices" +msgstr "Ambil progres Readest dari perangkat lain" + +msgid "Push readest annotations from this device" +msgstr "Kirim anotasi Readest dari perangkat ini" + +msgid "Pull readest annotations from other devices" +msgstr "Ambil anotasi Readest dari perangkat lain" + +msgid "Log in Readest Account" +msgstr "Masuk ke akun Readest" + +msgid "Log out as %1" +msgstr "Keluar sebagai %1" + +msgid "Auto sync progress and annotations" +msgstr "Sinkronkan progres dan anotasi otomatis" + +msgid "Push reading progress now" +msgstr "Kirim progres baca sekarang" + +msgid "Pull reading progress now" +msgstr "Ambil progres baca sekarang" + +msgid "Push annotations now" +msgstr "Kirim anotasi sekarang" + +msgid "Pull annotations now" +msgstr "Ambil anotasi sekarang" + +msgid "Full sync all annotations" +msgstr "Sinkronisasi penuh semua anotasi" + +msgid "Sync info" +msgstr "Info sinkronisasi" + +msgid "Check for update (v%1)" +msgstr "Periksa pembaruan (v%1)" + +msgid "Check for update" +msgstr "Periksa pembaruan" + +msgid "Please login first" +msgstr "Silakan masuk terlebih dahulu" + +msgid "Please configure Readest settings first" +msgstr "Konfigurasikan pengaturan Readest terlebih dahulu" + +msgid "No book is open" +msgstr "Tidak ada buku terbuka" + +msgid "(none)" +msgstr "(tidak ada)" + +msgid "Never synced" +msgstr "Belum pernah disinkronkan" + +msgid "Book Fingerprint" +msgstr "Sidik jari buku" + +msgid "Title" +msgstr "Judul" + +msgid "Author" +msgstr "Penulis" + +msgid "Identifiers" +msgstr "Pengenal" + +msgid "Last Synced" +msgstr "Sinkronisasi terakhir" + +msgid "Sync Info" +msgstr "Info sinkronisasi" + +msgid "Checking for update…" +msgstr "Memeriksa pembaruan…" + +msgid "Failed to check for update. Please try again later." +msgstr "Gagal memeriksa pembaruan. Coba lagi nanti." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "Versi baru tersedia: v%1 (saat ini: v%2).\n\nPerbarui sekarang?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "Versi baru tersedia: v%1.\n\nPerbarui sekarang?" + +msgid "Update" +msgstr "Perbarui" + +msgid "You are up to date (v%1)." +msgstr "Anda menggunakan versi terbaru (v%1)." + +msgid "Downloading update…" +msgstr "Mengunduh pembaruan…" + +msgid "Failed to download update. Please try again later." +msgstr "Gagal mengunduh pembaruan. Coba lagi nanti." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Plugin Readest diperbarui ke v%1.\n\nMulai ulang KOReader untuk menerapkan pembaruan." + +msgid "Restart now" +msgstr "Mulai ulang sekarang" + +msgid "Later" +msgstr "Nanti" + +msgid "Failed to install update: %1" +msgstr "Gagal memasang pembaruan: %1" + +msgid "unknown error" +msgstr "kesalahan tidak diketahui" + +msgid "No annotations to push" +msgstr "Tidak ada anotasi untuk dikirim" + +msgid "Pushing annotations..." +msgstr "Mengirim anotasi…" + +msgid "%1 annotations pushed successfully" +msgstr "%1 anotasi berhasil dikirim" + +msgid "Failed to push annotations" +msgstr "Gagal mengirim anotasi" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "Sinkronisasi anotasi tidak didukung untuk dokumen PDF" + +msgid "Full sync: pulling all annotations..." +msgstr "Sinkronisasi penuh: mengambil semua anotasi…" + +msgid "Pulling annotations..." +msgstr "Mengambil anotasi…" + +msgid "Failed to pull annotations" +msgstr "Gagal mengambil anotasi" + +msgid "No new annotations found" +msgstr "Tidak ditemukan anotasi baru" + +msgid "%1 annotations pulled" +msgstr "%1 anotasi diambil" + +msgid "Cancel" +msgstr "Batal" + +msgid "Login" +msgstr "Masuk" + +msgid "Please enter both email and password" +msgstr "Masukkan email dan kata sandi" + +msgid "Please configure Supabase URL and API key first" +msgstr "Konfigurasikan URL Supabase dan kunci API terlebih dahulu" + +msgid "Logging in..." +msgstr "Sedang masuk…" + +msgid "Successfully logged in to Readest" +msgstr "Berhasil masuk ke Readest" + +msgid "Login failed: %1" +msgstr "Gagal masuk: %1" + +msgid "Logged out from Readest" +msgstr "Keluar dari Readest" + +msgid "Cannot identify the current book" +msgstr "Tidak dapat mengidentifikasi buku saat ini" + +msgid "Progress has been synchronized." +msgstr "Progres telah disinkronkan." + +msgid "Pushing reading progress..." +msgstr "Mengirim progres baca…" + +msgid "Reading progress pushed successfully" +msgstr "Progres baca berhasil dikirim" + +msgid "Failed to push reading progress" +msgstr "Gagal mengirim progres baca" + +msgid "Pulling reading progress..." +msgstr "Mengambil progres baca…" + +msgid "Authentication failed, please login again" +msgstr "Autentikasi gagal, silakan masuk lagi" + +msgid "Failed to pull reading progress" +msgstr "Gagal mengambil progres baca" + +msgid "Reading progress synchronized" +msgstr "Progres baca disinkronkan" + +msgid "No saved reading progress found for this book" +msgstr "Tidak ada progres baca tersimpan untuk buku ini" diff --git a/apps/readest.koplugin/locales/it/translation.po b/apps/readest.koplugin/locales/it/translation.po new file mode 100644 index 00000000..2e931b53 --- /dev/null +++ b/apps/readest.koplugin/locales/it/translation.po @@ -0,0 +1,231 @@ +# Italian translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Italian\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "Mantiene sincronizzati i tuoi dispositivi KOReader e Readest." + +msgid "Set auto progress sync" +msgstr "Imposta sincronizzazione automatica del progresso" + +msgid "on" +msgstr "attivo" + +msgid "off" +msgstr "disattivo" + +msgid "Toggle auto readest sync" +msgstr "Attiva/disattiva sincronizzazione automatica Readest" + +msgid "Push readest progress from this device" +msgstr "Invia progresso Readest da questo dispositivo" + +msgid "Pull readest progress from other devices" +msgstr "Ricevi progresso Readest dagli altri dispositivi" + +msgid "Push readest annotations from this device" +msgstr "Invia annotazioni Readest da questo dispositivo" + +msgid "Pull readest annotations from other devices" +msgstr "Ricevi annotazioni Readest dagli altri dispositivi" + +msgid "Log in Readest Account" +msgstr "Accedi all'account Readest" + +msgid "Log out as %1" +msgstr "Esci come %1" + +msgid "Auto sync progress and annotations" +msgstr "Sincronizza automaticamente progresso e annotazioni" + +msgid "Push reading progress now" +msgstr "Invia ora il progresso di lettura" + +msgid "Pull reading progress now" +msgstr "Ricevi ora il progresso di lettura" + +msgid "Push annotations now" +msgstr "Invia ora le annotazioni" + +msgid "Pull annotations now" +msgstr "Ricevi ora le annotazioni" + +msgid "Full sync all annotations" +msgstr "Sincronizzazione completa di tutte le annotazioni" + +msgid "Sync info" +msgstr "Info sincronizzazione" + +msgid "Check for update (v%1)" +msgstr "Controlla aggiornamenti (v%1)" + +msgid "Check for update" +msgstr "Controlla aggiornamenti" + +msgid "Please login first" +msgstr "Effettua prima l'accesso" + +msgid "Please configure Readest settings first" +msgstr "Configura prima le impostazioni Readest" + +msgid "No book is open" +msgstr "Nessun libro aperto" + +msgid "(none)" +msgstr "(nessuno)" + +msgid "Never synced" +msgstr "Mai sincronizzato" + +msgid "Book Fingerprint" +msgstr "Impronta del libro" + +msgid "Title" +msgstr "Titolo" + +msgid "Author" +msgstr "Autore" + +msgid "Identifiers" +msgstr "Identificatori" + +msgid "Last Synced" +msgstr "Ultima sincronizzazione" + +msgid "Sync Info" +msgstr "Info sincronizzazione" + +msgid "Checking for update…" +msgstr "Controllo aggiornamenti…" + +msgid "Failed to check for update. Please try again later." +msgstr "Controllo aggiornamenti non riuscito. Riprova più tardi." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "È disponibile una nuova versione: v%1 (attuale: v%2).\n\nVuoi aggiornare ora?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "È disponibile una nuova versione: v%1.\n\nVuoi aggiornare ora?" + +msgid "Update" +msgstr "Aggiorna" + +msgid "You are up to date (v%1)." +msgstr "Sei aggiornato (v%1)." + +msgid "Downloading update…" +msgstr "Download aggiornamento in corso…" + +msgid "Failed to download update. Please try again later." +msgstr "Download aggiornamento non riuscito. Riprova più tardi." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Plugin Readest aggiornato a v%1.\n\nRiavvia KOReader per applicare l'aggiornamento." + +msgid "Restart now" +msgstr "Riavvia ora" + +msgid "Later" +msgstr "Più tardi" + +msgid "Failed to install update: %1" +msgstr "Installazione aggiornamento non riuscita: %1" + +msgid "unknown error" +msgstr "errore sconosciuto" + +msgid "No annotations to push" +msgstr "Nessuna annotazione da inviare" + +msgid "Pushing annotations..." +msgstr "Invio annotazioni in corso…" + +msgid "%1 annotations pushed successfully" +msgstr "%1 annotazioni inviate con successo" + +msgid "Failed to push annotations" +msgstr "Invio annotazioni non riuscito" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "La sincronizzazione delle annotazioni non è supportata per i documenti PDF" + +msgid "Full sync: pulling all annotations..." +msgstr "Sincronizzazione completa: recupero di tutte le annotazioni…" + +msgid "Pulling annotations..." +msgstr "Recupero annotazioni in corso…" + +msgid "Failed to pull annotations" +msgstr "Recupero annotazioni non riuscito" + +msgid "No new annotations found" +msgstr "Nessuna nuova annotazione trovata" + +msgid "%1 annotations pulled" +msgstr "%1 annotazioni ricevute" + +msgid "Cancel" +msgstr "Annulla" + +msgid "Login" +msgstr "Accedi" + +msgid "Please enter both email and password" +msgstr "Inserisci email e password" + +msgid "Please configure Supabase URL and API key first" +msgstr "Configura prima l'URL Supabase e la chiave API" + +msgid "Logging in..." +msgstr "Accesso in corso…" + +msgid "Successfully logged in to Readest" +msgstr "Accesso a Readest riuscito" + +msgid "Login failed: %1" +msgstr "Accesso non riuscito: %1" + +msgid "Logged out from Readest" +msgstr "Disconnesso da Readest" + +msgid "Cannot identify the current book" +msgstr "Impossibile identificare il libro attuale" + +msgid "Progress has been synchronized." +msgstr "Il progresso è stato sincronizzato." + +msgid "Pushing reading progress..." +msgstr "Invio progresso di lettura…" + +msgid "Reading progress pushed successfully" +msgstr "Progresso di lettura inviato con successo" + +msgid "Failed to push reading progress" +msgstr "Invio progresso di lettura non riuscito" + +msgid "Pulling reading progress..." +msgstr "Recupero progresso di lettura…" + +msgid "Authentication failed, please login again" +msgstr "Autenticazione non riuscita, accedi di nuovo" + +msgid "Failed to pull reading progress" +msgstr "Recupero progresso di lettura non riuscito" + +msgid "Reading progress synchronized" +msgstr "Progresso di lettura sincronizzato" + +msgid "No saved reading progress found for this book" +msgstr "Nessun progresso di lettura salvato per questo libro" diff --git a/apps/readest.koplugin/locales/ja/translation.po b/apps/readest.koplugin/locales/ja/translation.po new file mode 100644 index 00000000..5fe98490 --- /dev/null +++ b/apps/readest.koplugin/locales/ja/translation.po @@ -0,0 +1,231 @@ +# Japanese translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Japanese\n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "KOReader と Readest のデバイス間で同期を保ちます。" + +msgid "Set auto progress sync" +msgstr "進捗の自動同期を設定" + +msgid "on" +msgstr "オン" + +msgid "off" +msgstr "オフ" + +msgid "Toggle auto readest sync" +msgstr "Readest 自動同期を切り替え" + +msgid "Push readest progress from this device" +msgstr "このデバイスから Readest の進捗を送信" + +msgid "Pull readest progress from other devices" +msgstr "他のデバイスから Readest の進捗を取得" + +msgid "Push readest annotations from this device" +msgstr "このデバイスから Readest の注釈を送信" + +msgid "Pull readest annotations from other devices" +msgstr "他のデバイスから Readest の注釈を取得" + +msgid "Log in Readest Account" +msgstr "Readest アカウントにログイン" + +msgid "Log out as %1" +msgstr "%1 をログアウト" + +msgid "Auto sync progress and annotations" +msgstr "進捗と注釈を自動同期" + +msgid "Push reading progress now" +msgstr "読書の進捗をすぐに送信" + +msgid "Pull reading progress now" +msgstr "読書の進捗をすぐに取得" + +msgid "Push annotations now" +msgstr "注釈をすぐに送信" + +msgid "Pull annotations now" +msgstr "注釈をすぐに取得" + +msgid "Full sync all annotations" +msgstr "すべての注釈をフル同期" + +msgid "Sync info" +msgstr "同期情報" + +msgid "Check for update (v%1)" +msgstr "更新を確認 (v%1)" + +msgid "Check for update" +msgstr "更新を確認" + +msgid "Please login first" +msgstr "先にログインしてください" + +msgid "Please configure Readest settings first" +msgstr "先に Readest の設定を行ってください" + +msgid "No book is open" +msgstr "書籍が開かれていません" + +msgid "(none)" +msgstr "(なし)" + +msgid "Never synced" +msgstr "未同期" + +msgid "Book Fingerprint" +msgstr "書籍の指紋" + +msgid "Title" +msgstr "タイトル" + +msgid "Author" +msgstr "著者" + +msgid "Identifiers" +msgstr "識別子" + +msgid "Last Synced" +msgstr "前回同期" + +msgid "Sync Info" +msgstr "同期情報" + +msgid "Checking for update…" +msgstr "更新を確認しています…" + +msgid "Failed to check for update. Please try again later." +msgstr "更新の確認に失敗しました。しばらくしてから再度お試しください。" + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "新しいバージョンが利用可能です: v%1 (現在: v%2)。\n\n今すぐ更新しますか?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "新しいバージョンが利用可能です: v%1。\n\n今すぐ更新しますか?" + +msgid "Update" +msgstr "更新" + +msgid "You are up to date (v%1)." +msgstr "最新です (v%1)。" + +msgid "Downloading update…" +msgstr "更新をダウンロードしています…" + +msgid "Failed to download update. Please try again later." +msgstr "更新のダウンロードに失敗しました。しばらくしてから再度お試しください。" + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Readest プラグインを v%1 に更新しました。\n\nKOReader を再起動して更新を適用してください。" + +msgid "Restart now" +msgstr "今すぐ再起動" + +msgid "Later" +msgstr "後で" + +msgid "Failed to install update: %1" +msgstr "更新のインストールに失敗しました: %1" + +msgid "unknown error" +msgstr "不明なエラー" + +msgid "No annotations to push" +msgstr "送信する注釈がありません" + +msgid "Pushing annotations..." +msgstr "注釈を送信しています…" + +msgid "%1 annotations pushed successfully" +msgstr "%1 件の注釈を送信しました" + +msgid "Failed to push annotations" +msgstr "注釈の送信に失敗しました" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "PDF 文書の注釈同期はサポートされていません" + +msgid "Full sync: pulling all annotations..." +msgstr "フル同期: すべての注釈を取得しています…" + +msgid "Pulling annotations..." +msgstr "注釈を取得しています…" + +msgid "Failed to pull annotations" +msgstr "注釈の取得に失敗しました" + +msgid "No new annotations found" +msgstr "新しい注釈は見つかりませんでした" + +msgid "%1 annotations pulled" +msgstr "%1 件の注釈を取得しました" + +msgid "Cancel" +msgstr "キャンセル" + +msgid "Login" +msgstr "ログイン" + +msgid "Please enter both email and password" +msgstr "メールアドレスとパスワードを入力してください" + +msgid "Please configure Supabase URL and API key first" +msgstr "先に Supabase の URL と API キーを設定してください" + +msgid "Logging in..." +msgstr "ログイン中…" + +msgid "Successfully logged in to Readest" +msgstr "Readest にログインしました" + +msgid "Login failed: %1" +msgstr "ログインに失敗しました: %1" + +msgid "Logged out from Readest" +msgstr "Readest からログアウトしました" + +msgid "Cannot identify the current book" +msgstr "現在の書籍を特定できません" + +msgid "Progress has been synchronized." +msgstr "進捗を同期しました。" + +msgid "Pushing reading progress..." +msgstr "読書の進捗を送信しています…" + +msgid "Reading progress pushed successfully" +msgstr "読書の進捗を送信しました" + +msgid "Failed to push reading progress" +msgstr "読書の進捗の送信に失敗しました" + +msgid "Pulling reading progress..." +msgstr "読書の進捗を取得しています…" + +msgid "Authentication failed, please login again" +msgstr "認証に失敗しました。再度ログインしてください" + +msgid "Failed to pull reading progress" +msgstr "読書の進捗の取得に失敗しました" + +msgid "Reading progress synchronized" +msgstr "読書の進捗を同期しました" + +msgid "No saved reading progress found for this book" +msgstr "この書籍の保存された読書進捗が見つかりません" diff --git a/apps/readest.koplugin/locales/ko/translation.po b/apps/readest.koplugin/locales/ko/translation.po new file mode 100644 index 00000000..f02181e2 --- /dev/null +++ b/apps/readest.koplugin/locales/ko/translation.po @@ -0,0 +1,231 @@ +# Korean translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Korean\n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "KOReader와 Readest 기기를 동기화 상태로 유지합니다." + +msgid "Set auto progress sync" +msgstr "진행 상황 자동 동기화 설정" + +msgid "on" +msgstr "켬" + +msgid "off" +msgstr "끔" + +msgid "Toggle auto readest sync" +msgstr "Readest 자동 동기화 전환" + +msgid "Push readest progress from this device" +msgstr "이 기기에서 Readest 진행 상황 보내기" + +msgid "Pull readest progress from other devices" +msgstr "다른 기기에서 Readest 진행 상황 가져오기" + +msgid "Push readest annotations from this device" +msgstr "이 기기에서 Readest 주석 보내기" + +msgid "Pull readest annotations from other devices" +msgstr "다른 기기에서 Readest 주석 가져오기" + +msgid "Log in Readest Account" +msgstr "Readest 계정에 로그인" + +msgid "Log out as %1" +msgstr "%1 로그아웃" + +msgid "Auto sync progress and annotations" +msgstr "진행 상황과 주석을 자동으로 동기화" + +msgid "Push reading progress now" +msgstr "지금 읽기 진행 상황 보내기" + +msgid "Pull reading progress now" +msgstr "지금 읽기 진행 상황 가져오기" + +msgid "Push annotations now" +msgstr "지금 주석 보내기" + +msgid "Pull annotations now" +msgstr "지금 주석 가져오기" + +msgid "Full sync all annotations" +msgstr "모든 주석 전체 동기화" + +msgid "Sync info" +msgstr "동기화 정보" + +msgid "Check for update (v%1)" +msgstr "업데이트 확인 (v%1)" + +msgid "Check for update" +msgstr "업데이트 확인" + +msgid "Please login first" +msgstr "먼저 로그인하세요" + +msgid "Please configure Readest settings first" +msgstr "먼저 Readest 설정을 구성하세요" + +msgid "No book is open" +msgstr "열린 책이 없습니다" + +msgid "(none)" +msgstr "(없음)" + +msgid "Never synced" +msgstr "동기화한 적 없음" + +msgid "Book Fingerprint" +msgstr "책 지문" + +msgid "Title" +msgstr "제목" + +msgid "Author" +msgstr "저자" + +msgid "Identifiers" +msgstr "식별자" + +msgid "Last Synced" +msgstr "마지막 동기화" + +msgid "Sync Info" +msgstr "동기화 정보" + +msgid "Checking for update…" +msgstr "업데이트 확인 중…" + +msgid "Failed to check for update. Please try again later." +msgstr "업데이트 확인에 실패했습니다. 잠시 후 다시 시도하세요." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "새 버전이 있습니다: v%1 (현재: v%2).\n\n지금 업데이트하시겠습니까?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "새 버전이 있습니다: v%1.\n\n지금 업데이트하시겠습니까?" + +msgid "Update" +msgstr "업데이트" + +msgid "You are up to date (v%1)." +msgstr "최신 버전입니다 (v%1)." + +msgid "Downloading update…" +msgstr "업데이트 다운로드 중…" + +msgid "Failed to download update. Please try again later." +msgstr "업데이트 다운로드에 실패했습니다. 잠시 후 다시 시도하세요." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Readest 플러그인이 v%1(으)로 업데이트되었습니다.\n\n업데이트를 적용하려면 KOReader를 다시 시작하세요." + +msgid "Restart now" +msgstr "지금 다시 시작" + +msgid "Later" +msgstr "나중에" + +msgid "Failed to install update: %1" +msgstr "업데이트 설치에 실패했습니다: %1" + +msgid "unknown error" +msgstr "알 수 없는 오류" + +msgid "No annotations to push" +msgstr "보낼 주석이 없습니다" + +msgid "Pushing annotations..." +msgstr "주석을 보내는 중…" + +msgid "%1 annotations pushed successfully" +msgstr "%1개 주석을 보냈습니다" + +msgid "Failed to push annotations" +msgstr "주석 보내기에 실패했습니다" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "PDF 문서는 주석 동기화를 지원하지 않습니다" + +msgid "Full sync: pulling all annotations..." +msgstr "전체 동기화: 모든 주석을 가져오는 중…" + +msgid "Pulling annotations..." +msgstr "주석을 가져오는 중…" + +msgid "Failed to pull annotations" +msgstr "주석 가져오기에 실패했습니다" + +msgid "No new annotations found" +msgstr "새 주석을 찾을 수 없습니다" + +msgid "%1 annotations pulled" +msgstr "%1개 주석을 가져왔습니다" + +msgid "Cancel" +msgstr "취소" + +msgid "Login" +msgstr "로그인" + +msgid "Please enter both email and password" +msgstr "이메일과 비밀번호를 모두 입력하세요" + +msgid "Please configure Supabase URL and API key first" +msgstr "먼저 Supabase URL과 API 키를 설정하세요" + +msgid "Logging in..." +msgstr "로그인 중…" + +msgid "Successfully logged in to Readest" +msgstr "Readest에 로그인되었습니다" + +msgid "Login failed: %1" +msgstr "로그인 실패: %1" + +msgid "Logged out from Readest" +msgstr "Readest에서 로그아웃되었습니다" + +msgid "Cannot identify the current book" +msgstr "현재 책을 식별할 수 없습니다" + +msgid "Progress has been synchronized." +msgstr "진행 상황이 동기화되었습니다." + +msgid "Pushing reading progress..." +msgstr "읽기 진행 상황을 보내는 중…" + +msgid "Reading progress pushed successfully" +msgstr "읽기 진행 상황을 보냈습니다" + +msgid "Failed to push reading progress" +msgstr "읽기 진행 상황 보내기에 실패했습니다" + +msgid "Pulling reading progress..." +msgstr "읽기 진행 상황을 가져오는 중…" + +msgid "Authentication failed, please login again" +msgstr "인증에 실패했습니다. 다시 로그인하세요" + +msgid "Failed to pull reading progress" +msgstr "읽기 진행 상황 가져오기에 실패했습니다" + +msgid "Reading progress synchronized" +msgstr "읽기 진행 상황이 동기화되었습니다" + +msgid "No saved reading progress found for this book" +msgstr "이 책의 저장된 읽기 진행 상황을 찾을 수 없습니다" diff --git a/apps/readest.koplugin/locales/ms/translation.po b/apps/readest.koplugin/locales/ms/translation.po new file mode 100644 index 00000000..4b069702 --- /dev/null +++ b/apps/readest.koplugin/locales/ms/translation.po @@ -0,0 +1,231 @@ +# Malay translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Malay\n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "Memastikan peranti KOReader dan Readest anda kekal segerak." + +msgid "Set auto progress sync" +msgstr "Tetapkan penyegerakan kemajuan automatik" + +msgid "on" +msgstr "hidup" + +msgid "off" +msgstr "mati" + +msgid "Toggle auto readest sync" +msgstr "Togol penyegerakan automatik Readest" + +msgid "Push readest progress from this device" +msgstr "Hantar kemajuan Readest dari peranti ini" + +msgid "Pull readest progress from other devices" +msgstr "Tarik kemajuan Readest dari peranti lain" + +msgid "Push readest annotations from this device" +msgstr "Hantar anotasi Readest dari peranti ini" + +msgid "Pull readest annotations from other devices" +msgstr "Tarik anotasi Readest dari peranti lain" + +msgid "Log in Readest Account" +msgstr "Log masuk ke akaun Readest" + +msgid "Log out as %1" +msgstr "Log keluar sebagai %1" + +msgid "Auto sync progress and annotations" +msgstr "Segerakkan kemajuan dan anotasi secara automatik" + +msgid "Push reading progress now" +msgstr "Hantar kemajuan bacaan sekarang" + +msgid "Pull reading progress now" +msgstr "Tarik kemajuan bacaan sekarang" + +msgid "Push annotations now" +msgstr "Hantar anotasi sekarang" + +msgid "Pull annotations now" +msgstr "Tarik anotasi sekarang" + +msgid "Full sync all annotations" +msgstr "Penyegerakan penuh semua anotasi" + +msgid "Sync info" +msgstr "Maklumat penyegerakan" + +msgid "Check for update (v%1)" +msgstr "Semak kemas kini (v%1)" + +msgid "Check for update" +msgstr "Semak kemas kini" + +msgid "Please login first" +msgstr "Sila log masuk dahulu" + +msgid "Please configure Readest settings first" +msgstr "Sila konfigurasikan tetapan Readest dahulu" + +msgid "No book is open" +msgstr "Tiada buku terbuka" + +msgid "(none)" +msgstr "(tiada)" + +msgid "Never synced" +msgstr "Belum disegerakkan" + +msgid "Book Fingerprint" +msgstr "Cap jari buku" + +msgid "Title" +msgstr "Tajuk" + +msgid "Author" +msgstr "Pengarang" + +msgid "Identifiers" +msgstr "Pengenal" + +msgid "Last Synced" +msgstr "Penyegerakan terakhir" + +msgid "Sync Info" +msgstr "Maklumat penyegerakan" + +msgid "Checking for update…" +msgstr "Menyemak kemas kini…" + +msgid "Failed to check for update. Please try again later." +msgstr "Gagal menyemak kemas kini. Sila cuba lagi kemudian." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "Versi baharu tersedia: v%1 (semasa: v%2).\n\nKemas kini sekarang?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "Versi baharu tersedia: v%1.\n\nKemas kini sekarang?" + +msgid "Update" +msgstr "Kemas kini" + +msgid "You are up to date (v%1)." +msgstr "Anda menggunakan versi terkini (v%1)." + +msgid "Downloading update…" +msgstr "Memuat turun kemas kini…" + +msgid "Failed to download update. Please try again later." +msgstr "Gagal memuat turun kemas kini. Sila cuba lagi kemudian." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Pemalam Readest dikemas kini ke v%1.\n\nMulakan semula KOReader untuk menggunakan kemas kini." + +msgid "Restart now" +msgstr "Mulakan semula sekarang" + +msgid "Later" +msgstr "Kemudian" + +msgid "Failed to install update: %1" +msgstr "Gagal memasang kemas kini: %1" + +msgid "unknown error" +msgstr "ralat tidak diketahui" + +msgid "No annotations to push" +msgstr "Tiada anotasi untuk dihantar" + +msgid "Pushing annotations..." +msgstr "Menghantar anotasi…" + +msgid "%1 annotations pushed successfully" +msgstr "%1 anotasi berjaya dihantar" + +msgid "Failed to push annotations" +msgstr "Gagal menghantar anotasi" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "Penyegerakan anotasi tidak disokong untuk dokumen PDF" + +msgid "Full sync: pulling all annotations..." +msgstr "Penyegerakan penuh: menarik semua anotasi…" + +msgid "Pulling annotations..." +msgstr "Menarik anotasi…" + +msgid "Failed to pull annotations" +msgstr "Gagal menarik anotasi" + +msgid "No new annotations found" +msgstr "Tiada anotasi baharu ditemui" + +msgid "%1 annotations pulled" +msgstr "%1 anotasi ditarik" + +msgid "Cancel" +msgstr "Batal" + +msgid "Login" +msgstr "Log masuk" + +msgid "Please enter both email and password" +msgstr "Sila masukkan e-mel dan kata laluan" + +msgid "Please configure Supabase URL and API key first" +msgstr "Sila konfigurasikan URL Supabase dan kunci API dahulu" + +msgid "Logging in..." +msgstr "Sedang log masuk…" + +msgid "Successfully logged in to Readest" +msgstr "Berjaya log masuk ke Readest" + +msgid "Login failed: %1" +msgstr "Log masuk gagal: %1" + +msgid "Logged out from Readest" +msgstr "Log keluar daripada Readest" + +msgid "Cannot identify the current book" +msgstr "Tidak dapat mengenal pasti buku semasa" + +msgid "Progress has been synchronized." +msgstr "Kemajuan telah disegerakkan." + +msgid "Pushing reading progress..." +msgstr "Menghantar kemajuan bacaan…" + +msgid "Reading progress pushed successfully" +msgstr "Kemajuan bacaan berjaya dihantar" + +msgid "Failed to push reading progress" +msgstr "Gagal menghantar kemajuan bacaan" + +msgid "Pulling reading progress..." +msgstr "Menarik kemajuan bacaan…" + +msgid "Authentication failed, please login again" +msgstr "Pengesahan gagal, sila log masuk semula" + +msgid "Failed to pull reading progress" +msgstr "Gagal menarik kemajuan bacaan" + +msgid "Reading progress synchronized" +msgstr "Kemajuan bacaan disegerakkan" + +msgid "No saved reading progress found for this book" +msgstr "Tiada kemajuan bacaan tersimpan ditemui untuk buku ini" diff --git a/apps/readest.koplugin/locales/nl/translation.po b/apps/readest.koplugin/locales/nl/translation.po new file mode 100644 index 00000000..db650d6b --- /dev/null +++ b/apps/readest.koplugin/locales/nl/translation.po @@ -0,0 +1,231 @@ +# Dutch translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Dutch\n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "Houdt je KOReader- en Readest-apparaten gesynchroniseerd." + +msgid "Set auto progress sync" +msgstr "Automatische voortgangssynchronisatie instellen" + +msgid "on" +msgstr "aan" + +msgid "off" +msgstr "uit" + +msgid "Toggle auto readest sync" +msgstr "Automatische Readest-synchronisatie aan/uit" + +msgid "Push readest progress from this device" +msgstr "Readest-voortgang van dit apparaat verzenden" + +msgid "Pull readest progress from other devices" +msgstr "Readest-voortgang van andere apparaten ophalen" + +msgid "Push readest annotations from this device" +msgstr "Readest-aantekeningen van dit apparaat verzenden" + +msgid "Pull readest annotations from other devices" +msgstr "Readest-aantekeningen van andere apparaten ophalen" + +msgid "Log in Readest Account" +msgstr "Aanmelden bij Readest-account" + +msgid "Log out as %1" +msgstr "Afmelden als %1" + +msgid "Auto sync progress and annotations" +msgstr "Voortgang en aantekeningen automatisch synchroniseren" + +msgid "Push reading progress now" +msgstr "Leesvoortgang nu verzenden" + +msgid "Pull reading progress now" +msgstr "Leesvoortgang nu ophalen" + +msgid "Push annotations now" +msgstr "Aantekeningen nu verzenden" + +msgid "Pull annotations now" +msgstr "Aantekeningen nu ophalen" + +msgid "Full sync all annotations" +msgstr "Alle aantekeningen volledig synchroniseren" + +msgid "Sync info" +msgstr "Synchronisatie-info" + +msgid "Check for update (v%1)" +msgstr "Controleer op update (v%1)" + +msgid "Check for update" +msgstr "Controleer op update" + +msgid "Please login first" +msgstr "Meld eerst aan" + +msgid "Please configure Readest settings first" +msgstr "Configureer eerst de Readest-instellingen" + +msgid "No book is open" +msgstr "Geen boek geopend" + +msgid "(none)" +msgstr "(geen)" + +msgid "Never synced" +msgstr "Nooit gesynchroniseerd" + +msgid "Book Fingerprint" +msgstr "Vingerafdruk van boek" + +msgid "Title" +msgstr "Titel" + +msgid "Author" +msgstr "Auteur" + +msgid "Identifiers" +msgstr "Identificatoren" + +msgid "Last Synced" +msgstr "Laatst gesynchroniseerd" + +msgid "Sync Info" +msgstr "Synchronisatie-info" + +msgid "Checking for update…" +msgstr "Controleren op update…" + +msgid "Failed to check for update. Please try again later." +msgstr "Controleren op update mislukt. Probeer het later opnieuw." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "Er is een nieuwe versie beschikbaar: v%1 (huidig: v%2).\n\nWil je nu bijwerken?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "Er is een nieuwe versie beschikbaar: v%1.\n\nWil je nu bijwerken?" + +msgid "Update" +msgstr "Bijwerken" + +msgid "You are up to date (v%1)." +msgstr "Je bent up-to-date (v%1)." + +msgid "Downloading update…" +msgstr "Update wordt gedownload…" + +msgid "Failed to download update. Please try again later." +msgstr "Update downloaden mislukt. Probeer het later opnieuw." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Readest-plug-in bijgewerkt naar v%1.\n\nStart KOReader opnieuw op om de update toe te passen." + +msgid "Restart now" +msgstr "Nu opnieuw opstarten" + +msgid "Later" +msgstr "Later" + +msgid "Failed to install update: %1" +msgstr "Update installeren mislukt: %1" + +msgid "unknown error" +msgstr "onbekende fout" + +msgid "No annotations to push" +msgstr "Geen aantekeningen om te verzenden" + +msgid "Pushing annotations..." +msgstr "Aantekeningen worden verzonden…" + +msgid "%1 annotations pushed successfully" +msgstr "%1 aantekeningen succesvol verzonden" + +msgid "Failed to push annotations" +msgstr "Aantekeningen verzenden mislukt" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "Aantekeningssynchronisatie wordt niet ondersteund voor PDF-documenten" + +msgid "Full sync: pulling all annotations..." +msgstr "Volledige synchronisatie: alle aantekeningen worden opgehaald…" + +msgid "Pulling annotations..." +msgstr "Aantekeningen worden opgehaald…" + +msgid "Failed to pull annotations" +msgstr "Aantekeningen ophalen mislukt" + +msgid "No new annotations found" +msgstr "Geen nieuwe aantekeningen gevonden" + +msgid "%1 annotations pulled" +msgstr "%1 aantekeningen opgehaald" + +msgid "Cancel" +msgstr "Annuleren" + +msgid "Login" +msgstr "Aanmelden" + +msgid "Please enter both email and password" +msgstr "Voer e-mail en wachtwoord in" + +msgid "Please configure Supabase URL and API key first" +msgstr "Configureer eerst Supabase-URL en API-sleutel" + +msgid "Logging in..." +msgstr "Aanmelden…" + +msgid "Successfully logged in to Readest" +msgstr "Aangemeld bij Readest" + +msgid "Login failed: %1" +msgstr "Aanmelden mislukt: %1" + +msgid "Logged out from Readest" +msgstr "Afgemeld bij Readest" + +msgid "Cannot identify the current book" +msgstr "Huidig boek kan niet worden geïdentificeerd" + +msgid "Progress has been synchronized." +msgstr "Voortgang is gesynchroniseerd." + +msgid "Pushing reading progress..." +msgstr "Leesvoortgang wordt verzonden…" + +msgid "Reading progress pushed successfully" +msgstr "Leesvoortgang succesvol verzonden" + +msgid "Failed to push reading progress" +msgstr "Leesvoortgang verzenden mislukt" + +msgid "Pulling reading progress..." +msgstr "Leesvoortgang wordt opgehaald…" + +msgid "Authentication failed, please login again" +msgstr "Authenticatie mislukt, meld opnieuw aan" + +msgid "Failed to pull reading progress" +msgstr "Leesvoortgang ophalen mislukt" + +msgid "Reading progress synchronized" +msgstr "Leesvoortgang gesynchroniseerd" + +msgid "No saved reading progress found for this book" +msgstr "Geen opgeslagen leesvoortgang gevonden voor dit boek" diff --git a/apps/readest.koplugin/locales/pl/translation.po b/apps/readest.koplugin/locales/pl/translation.po new file mode 100644 index 00000000..b7a9da88 --- /dev/null +++ b/apps/readest.koplugin/locales/pl/translation.po @@ -0,0 +1,231 @@ +# Polish translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Polish\n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "Synchronizuje urządzenia KOReader i Readest." + +msgid "Set auto progress sync" +msgstr "Ustaw automatyczną synchronizację postępu" + +msgid "on" +msgstr "wł." + +msgid "off" +msgstr "wył." + +msgid "Toggle auto readest sync" +msgstr "Przełącz automatyczną synchronizację Readest" + +msgid "Push readest progress from this device" +msgstr "Wyślij postęp Readest z tego urządzenia" + +msgid "Pull readest progress from other devices" +msgstr "Pobierz postęp Readest z innych urządzeń" + +msgid "Push readest annotations from this device" +msgstr "Wyślij notatki Readest z tego urządzenia" + +msgid "Pull readest annotations from other devices" +msgstr "Pobierz notatki Readest z innych urządzeń" + +msgid "Log in Readest Account" +msgstr "Zaloguj się do konta Readest" + +msgid "Log out as %1" +msgstr "Wyloguj jako %1" + +msgid "Auto sync progress and annotations" +msgstr "Automatycznie synchronizuj postęp i notatki" + +msgid "Push reading progress now" +msgstr "Wyślij teraz postęp czytania" + +msgid "Pull reading progress now" +msgstr "Pobierz teraz postęp czytania" + +msgid "Push annotations now" +msgstr "Wyślij teraz notatki" + +msgid "Pull annotations now" +msgstr "Pobierz teraz notatki" + +msgid "Full sync all annotations" +msgstr "Pełna synchronizacja wszystkich notatek" + +msgid "Sync info" +msgstr "Informacje o synchronizacji" + +msgid "Check for update (v%1)" +msgstr "Sprawdź aktualizacje (v%1)" + +msgid "Check for update" +msgstr "Sprawdź aktualizacje" + +msgid "Please login first" +msgstr "Najpierw się zaloguj" + +msgid "Please configure Readest settings first" +msgstr "Najpierw skonfiguruj ustawienia Readest" + +msgid "No book is open" +msgstr "Brak otwartej książki" + +msgid "(none)" +msgstr "(brak)" + +msgid "Never synced" +msgstr "Nigdy nie synchronizowano" + +msgid "Book Fingerprint" +msgstr "Odcisk książki" + +msgid "Title" +msgstr "Tytuł" + +msgid "Author" +msgstr "Autor" + +msgid "Identifiers" +msgstr "Identyfikatory" + +msgid "Last Synced" +msgstr "Ostatnia synchronizacja" + +msgid "Sync Info" +msgstr "Informacje o synchronizacji" + +msgid "Checking for update…" +msgstr "Sprawdzanie aktualizacji…" + +msgid "Failed to check for update. Please try again later." +msgstr "Nie udało się sprawdzić aktualizacji. Spróbuj ponownie później." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "Dostępna jest nowa wersja: v%1 (bieżąca: v%2).\n\nZaktualizować teraz?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "Dostępna jest nowa wersja: v%1.\n\nZaktualizować teraz?" + +msgid "Update" +msgstr "Aktualizuj" + +msgid "You are up to date (v%1)." +msgstr "Masz aktualną wersję (v%1)." + +msgid "Downloading update…" +msgstr "Pobieranie aktualizacji…" + +msgid "Failed to download update. Please try again later." +msgstr "Nie udało się pobrać aktualizacji. Spróbuj ponownie później." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Wtyczka Readest zaktualizowana do v%1.\n\nUruchom ponownie KOReader, aby zastosować aktualizację." + +msgid "Restart now" +msgstr "Uruchom ponownie" + +msgid "Later" +msgstr "Później" + +msgid "Failed to install update: %1" +msgstr "Nie udało się zainstalować aktualizacji: %1" + +msgid "unknown error" +msgstr "nieznany błąd" + +msgid "No annotations to push" +msgstr "Brak notatek do wysłania" + +msgid "Pushing annotations..." +msgstr "Wysyłanie notatek…" + +msgid "%1 annotations pushed successfully" +msgstr "Wysłano %1 notatek" + +msgid "Failed to push annotations" +msgstr "Nie udało się wysłać notatek" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "Synchronizacja notatek nie jest obsługiwana dla dokumentów PDF" + +msgid "Full sync: pulling all annotations..." +msgstr "Pełna synchronizacja: pobieranie wszystkich notatek…" + +msgid "Pulling annotations..." +msgstr "Pobieranie notatek…" + +msgid "Failed to pull annotations" +msgstr "Nie udało się pobrać notatek" + +msgid "No new annotations found" +msgstr "Nie znaleziono nowych notatek" + +msgid "%1 annotations pulled" +msgstr "Pobrano %1 notatek" + +msgid "Cancel" +msgstr "Anuluj" + +msgid "Login" +msgstr "Zaloguj" + +msgid "Please enter both email and password" +msgstr "Wprowadź adres e-mail i hasło" + +msgid "Please configure Supabase URL and API key first" +msgstr "Najpierw skonfiguruj URL Supabase i klucz API" + +msgid "Logging in..." +msgstr "Logowanie…" + +msgid "Successfully logged in to Readest" +msgstr "Zalogowano do Readest" + +msgid "Login failed: %1" +msgstr "Logowanie nie powiodło się: %1" + +msgid "Logged out from Readest" +msgstr "Wylogowano z Readest" + +msgid "Cannot identify the current book" +msgstr "Nie można zidentyfikować bieżącej książki" + +msgid "Progress has been synchronized." +msgstr "Postęp został zsynchronizowany." + +msgid "Pushing reading progress..." +msgstr "Wysyłanie postępu czytania…" + +msgid "Reading progress pushed successfully" +msgstr "Postęp czytania wysłany" + +msgid "Failed to push reading progress" +msgstr "Nie udało się wysłać postępu czytania" + +msgid "Pulling reading progress..." +msgstr "Pobieranie postępu czytania…" + +msgid "Authentication failed, please login again" +msgstr "Błąd uwierzytelniania, zaloguj się ponownie" + +msgid "Failed to pull reading progress" +msgstr "Nie udało się pobrać postępu czytania" + +msgid "Reading progress synchronized" +msgstr "Postęp czytania zsynchronizowany" + +msgid "No saved reading progress found for this book" +msgstr "Nie znaleziono zapisanego postępu czytania dla tej książki" diff --git a/apps/readest.koplugin/locales/pt/translation.po b/apps/readest.koplugin/locales/pt/translation.po new file mode 100644 index 00000000..1e83c7aa --- /dev/null +++ b/apps/readest.koplugin/locales/pt/translation.po @@ -0,0 +1,231 @@ +# Portuguese translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Portuguese\n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "Mantém os seus dispositivos KOReader e Readest sincronizados." + +msgid "Set auto progress sync" +msgstr "Definir sincronização automática do progresso" + +msgid "on" +msgstr "ativado" + +msgid "off" +msgstr "desativado" + +msgid "Toggle auto readest sync" +msgstr "Alternar sincronização automática Readest" + +msgid "Push readest progress from this device" +msgstr "Enviar progresso Readest deste dispositivo" + +msgid "Pull readest progress from other devices" +msgstr "Obter progresso Readest de outros dispositivos" + +msgid "Push readest annotations from this device" +msgstr "Enviar anotações Readest deste dispositivo" + +msgid "Pull readest annotations from other devices" +msgstr "Obter anotações Readest de outros dispositivos" + +msgid "Log in Readest Account" +msgstr "Entrar na conta Readest" + +msgid "Log out as %1" +msgstr "Sair como %1" + +msgid "Auto sync progress and annotations" +msgstr "Sincronizar progresso e anotações automaticamente" + +msgid "Push reading progress now" +msgstr "Enviar progresso de leitura agora" + +msgid "Pull reading progress now" +msgstr "Obter progresso de leitura agora" + +msgid "Push annotations now" +msgstr "Enviar anotações agora" + +msgid "Pull annotations now" +msgstr "Obter anotações agora" + +msgid "Full sync all annotations" +msgstr "Sincronizar todas as anotações por completo" + +msgid "Sync info" +msgstr "Informações de sincronização" + +msgid "Check for update (v%1)" +msgstr "Procurar atualização (v%1)" + +msgid "Check for update" +msgstr "Procurar atualização" + +msgid "Please login first" +msgstr "Faça login primeiro" + +msgid "Please configure Readest settings first" +msgstr "Configure primeiro as definições Readest" + +msgid "No book is open" +msgstr "Nenhum livro aberto" + +msgid "(none)" +msgstr "(nenhum)" + +msgid "Never synced" +msgstr "Nunca sincronizado" + +msgid "Book Fingerprint" +msgstr "Impressão digital do livro" + +msgid "Title" +msgstr "Título" + +msgid "Author" +msgstr "Autor" + +msgid "Identifiers" +msgstr "Identificadores" + +msgid "Last Synced" +msgstr "Última sincronização" + +msgid "Sync Info" +msgstr "Informações de sincronização" + +msgid "Checking for update…" +msgstr "A procurar atualização…" + +msgid "Failed to check for update. Please try again later." +msgstr "Falha ao procurar atualização. Tente novamente mais tarde." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "Está disponível uma nova versão: v%1 (atual: v%2).\n\nDeseja atualizar agora?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "Está disponível uma nova versão: v%1.\n\nDeseja atualizar agora?" + +msgid "Update" +msgstr "Atualizar" + +msgid "You are up to date (v%1)." +msgstr "Está atualizado (v%1)." + +msgid "Downloading update…" +msgstr "A descarregar atualização…" + +msgid "Failed to download update. Please try again later." +msgstr "Falha ao descarregar a atualização. Tente novamente mais tarde." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Plugin Readest atualizado para v%1.\n\nReinicie o KOReader para aplicar a atualização." + +msgid "Restart now" +msgstr "Reiniciar agora" + +msgid "Later" +msgstr "Mais tarde" + +msgid "Failed to install update: %1" +msgstr "Falha ao instalar a atualização: %1" + +msgid "unknown error" +msgstr "erro desconhecido" + +msgid "No annotations to push" +msgstr "Sem anotações para enviar" + +msgid "Pushing annotations..." +msgstr "A enviar anotações…" + +msgid "%1 annotations pushed successfully" +msgstr "%1 anotações enviadas com sucesso" + +msgid "Failed to push annotations" +msgstr "Falha ao enviar as anotações" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "A sincronização de anotações não é suportada para documentos PDF" + +msgid "Full sync: pulling all annotations..." +msgstr "Sincronização completa: a obter todas as anotações…" + +msgid "Pulling annotations..." +msgstr "A obter anotações…" + +msgid "Failed to pull annotations" +msgstr "Falha ao obter as anotações" + +msgid "No new annotations found" +msgstr "Nenhuma nova anotação encontrada" + +msgid "%1 annotations pulled" +msgstr "%1 anotações obtidas" + +msgid "Cancel" +msgstr "Cancelar" + +msgid "Login" +msgstr "Entrar" + +msgid "Please enter both email and password" +msgstr "Introduza o email e a palavra-passe" + +msgid "Please configure Supabase URL and API key first" +msgstr "Configure primeiro o URL do Supabase e a chave API" + +msgid "Logging in..." +msgstr "A iniciar sessão…" + +msgid "Successfully logged in to Readest" +msgstr "Sessão iniciada no Readest com sucesso" + +msgid "Login failed: %1" +msgstr "Falha ao iniciar sessão: %1" + +msgid "Logged out from Readest" +msgstr "Sessão terminada do Readest" + +msgid "Cannot identify the current book" +msgstr "Não foi possível identificar o livro atual" + +msgid "Progress has been synchronized." +msgstr "O progresso foi sincronizado." + +msgid "Pushing reading progress..." +msgstr "A enviar progresso de leitura…" + +msgid "Reading progress pushed successfully" +msgstr "Progresso de leitura enviado com sucesso" + +msgid "Failed to push reading progress" +msgstr "Falha ao enviar o progresso de leitura" + +msgid "Pulling reading progress..." +msgstr "A obter progresso de leitura…" + +msgid "Authentication failed, please login again" +msgstr "Falha de autenticação, inicie sessão novamente" + +msgid "Failed to pull reading progress" +msgstr "Falha ao obter o progresso de leitura" + +msgid "Reading progress synchronized" +msgstr "Progresso de leitura sincronizado" + +msgid "No saved reading progress found for this book" +msgstr "Não foi encontrado progresso de leitura guardado para este livro" diff --git a/apps/readest.koplugin/locales/ro/translation.po b/apps/readest.koplugin/locales/ro/translation.po new file mode 100644 index 00000000..438175d1 --- /dev/null +++ b/apps/readest.koplugin/locales/ro/translation.po @@ -0,0 +1,231 @@ +# Romanian translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Romanian\n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2);\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "Menține dispozitivele tale KOReader și Readest sincronizate." + +msgid "Set auto progress sync" +msgstr "Setează sincronizarea automată a progresului" + +msgid "on" +msgstr "activ" + +msgid "off" +msgstr "inactiv" + +msgid "Toggle auto readest sync" +msgstr "Comută sincronizarea automată Readest" + +msgid "Push readest progress from this device" +msgstr "Trimite progresul Readest de pe acest dispozitiv" + +msgid "Pull readest progress from other devices" +msgstr "Obține progresul Readest de pe alte dispozitive" + +msgid "Push readest annotations from this device" +msgstr "Trimite adnotările Readest de pe acest dispozitiv" + +msgid "Pull readest annotations from other devices" +msgstr "Obține adnotările Readest de pe alte dispozitive" + +msgid "Log in Readest Account" +msgstr "Autentificare în contul Readest" + +msgid "Log out as %1" +msgstr "Deconectare de la %1" + +msgid "Auto sync progress and annotations" +msgstr "Sincronizează automat progresul și adnotările" + +msgid "Push reading progress now" +msgstr "Trimite progresul de citire acum" + +msgid "Pull reading progress now" +msgstr "Obține progresul de citire acum" + +msgid "Push annotations now" +msgstr "Trimite adnotările acum" + +msgid "Pull annotations now" +msgstr "Obține adnotările acum" + +msgid "Full sync all annotations" +msgstr "Sincronizare completă a tuturor adnotărilor" + +msgid "Sync info" +msgstr "Informații de sincronizare" + +msgid "Check for update (v%1)" +msgstr "Verifică actualizările (v%1)" + +msgid "Check for update" +msgstr "Verifică actualizările" + +msgid "Please login first" +msgstr "Autentifică-te mai întâi" + +msgid "Please configure Readest settings first" +msgstr "Configurează mai întâi setările Readest" + +msgid "No book is open" +msgstr "Nicio carte deschisă" + +msgid "(none)" +msgstr "(niciunul)" + +msgid "Never synced" +msgstr "Nicio sincronizare" + +msgid "Book Fingerprint" +msgstr "Amprenta cărții" + +msgid "Title" +msgstr "Titlu" + +msgid "Author" +msgstr "Autor" + +msgid "Identifiers" +msgstr "Identificatori" + +msgid "Last Synced" +msgstr "Ultima sincronizare" + +msgid "Sync Info" +msgstr "Informații de sincronizare" + +msgid "Checking for update…" +msgstr "Se verifică actualizările…" + +msgid "Failed to check for update. Please try again later." +msgstr "Verificarea actualizărilor a eșuat. Încearcă din nou mai târziu." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "Este disponibilă o versiune nouă: v%1 (curentă: v%2).\n\nActualizezi acum?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "Este disponibilă o versiune nouă: v%1.\n\nActualizezi acum?" + +msgid "Update" +msgstr "Actualizează" + +msgid "You are up to date (v%1)." +msgstr "Ești la zi (v%1)." + +msgid "Downloading update…" +msgstr "Se descarcă actualizarea…" + +msgid "Failed to download update. Please try again later." +msgstr "Descărcarea actualizării a eșuat. Încearcă din nou mai târziu." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Plugin Readest actualizat la v%1.\n\nReporneste KOReader pentru a aplica actualizarea." + +msgid "Restart now" +msgstr "Repornește acum" + +msgid "Later" +msgstr "Mai târziu" + +msgid "Failed to install update: %1" +msgstr "Instalarea actualizării a eșuat: %1" + +msgid "unknown error" +msgstr "eroare necunoscută" + +msgid "No annotations to push" +msgstr "Nu există adnotări de trimis" + +msgid "Pushing annotations..." +msgstr "Se trimit adnotările…" + +msgid "%1 annotations pushed successfully" +msgstr "%1 adnotări trimise cu succes" + +msgid "Failed to push annotations" +msgstr "Trimiterea adnotărilor a eșuat" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "Sincronizarea adnotărilor nu este acceptată pentru documente PDF" + +msgid "Full sync: pulling all annotations..." +msgstr "Sincronizare completă: se obțin toate adnotările…" + +msgid "Pulling annotations..." +msgstr "Se obțin adnotările…" + +msgid "Failed to pull annotations" +msgstr "Obținerea adnotărilor a eșuat" + +msgid "No new annotations found" +msgstr "Nu s-au găsit adnotări noi" + +msgid "%1 annotations pulled" +msgstr "%1 adnotări obținute" + +msgid "Cancel" +msgstr "Anulează" + +msgid "Login" +msgstr "Autentificare" + +msgid "Please enter both email and password" +msgstr "Introdu emailul și parola" + +msgid "Please configure Supabase URL and API key first" +msgstr "Configurează mai întâi URL-ul Supabase și cheia API" + +msgid "Logging in..." +msgstr "Se conectează…" + +msgid "Successfully logged in to Readest" +msgstr "Autentificat în Readest" + +msgid "Login failed: %1" +msgstr "Autentificare eșuată: %1" + +msgid "Logged out from Readest" +msgstr "Deconectat de la Readest" + +msgid "Cannot identify the current book" +msgstr "Cartea curentă nu poate fi identificată" + +msgid "Progress has been synchronized." +msgstr "Progresul a fost sincronizat." + +msgid "Pushing reading progress..." +msgstr "Se trimite progresul de citire…" + +msgid "Reading progress pushed successfully" +msgstr "Progresul de citire trimis cu succes" + +msgid "Failed to push reading progress" +msgstr "Trimiterea progresului de citire a eșuat" + +msgid "Pulling reading progress..." +msgstr "Se obține progresul de citire…" + +msgid "Authentication failed, please login again" +msgstr "Autentificare eșuată, conectează-te din nou" + +msgid "Failed to pull reading progress" +msgstr "Obținerea progresului de citire a eșuat" + +msgid "Reading progress synchronized" +msgstr "Progres de citire sincronizat" + +msgid "No saved reading progress found for this book" +msgstr "Nu s-a găsit progres de citire salvat pentru această carte" diff --git a/apps/readest.koplugin/locales/ru/translation.po b/apps/readest.koplugin/locales/ru/translation.po new file mode 100644 index 00000000..dd800d96 --- /dev/null +++ b/apps/readest.koplugin/locales/ru/translation.po @@ -0,0 +1,231 @@ +# Russian translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Russian\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "Поддерживает синхронизацию устройств KOReader и Readest." + +msgid "Set auto progress sync" +msgstr "Настроить автосинхронизацию прогресса" + +msgid "on" +msgstr "вкл" + +msgid "off" +msgstr "выкл" + +msgid "Toggle auto readest sync" +msgstr "Переключить автосинхронизацию Readest" + +msgid "Push readest progress from this device" +msgstr "Отправить прогресс Readest с этого устройства" + +msgid "Pull readest progress from other devices" +msgstr "Получить прогресс Readest с других устройств" + +msgid "Push readest annotations from this device" +msgstr "Отправить заметки Readest с этого устройства" + +msgid "Pull readest annotations from other devices" +msgstr "Получить заметки Readest с других устройств" + +msgid "Log in Readest Account" +msgstr "Войти в аккаунт Readest" + +msgid "Log out as %1" +msgstr "Выйти из %1" + +msgid "Auto sync progress and annotations" +msgstr "Автоматически синхронизировать прогресс и заметки" + +msgid "Push reading progress now" +msgstr "Отправить прогресс чтения сейчас" + +msgid "Pull reading progress now" +msgstr "Получить прогресс чтения сейчас" + +msgid "Push annotations now" +msgstr "Отправить заметки сейчас" + +msgid "Pull annotations now" +msgstr "Получить заметки сейчас" + +msgid "Full sync all annotations" +msgstr "Полная синхронизация всех заметок" + +msgid "Sync info" +msgstr "Сведения о синхронизации" + +msgid "Check for update (v%1)" +msgstr "Проверить обновления (v%1)" + +msgid "Check for update" +msgstr "Проверить обновления" + +msgid "Please login first" +msgstr "Сначала войдите в систему" + +msgid "Please configure Readest settings first" +msgstr "Сначала настройте параметры Readest" + +msgid "No book is open" +msgstr "Нет открытой книги" + +msgid "(none)" +msgstr "(нет)" + +msgid "Never synced" +msgstr "Ещё не синхронизировано" + +msgid "Book Fingerprint" +msgstr "Отпечаток книги" + +msgid "Title" +msgstr "Название" + +msgid "Author" +msgstr "Автор" + +msgid "Identifiers" +msgstr "Идентификаторы" + +msgid "Last Synced" +msgstr "Последняя синхронизация" + +msgid "Sync Info" +msgstr "Сведения о синхронизации" + +msgid "Checking for update…" +msgstr "Проверка обновлений…" + +msgid "Failed to check for update. Please try again later." +msgstr "Не удалось проверить обновления. Повторите попытку позже." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "Доступна новая версия: v%1 (текущая: v%2).\n\nОбновить сейчас?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "Доступна новая версия: v%1.\n\nОбновить сейчас?" + +msgid "Update" +msgstr "Обновить" + +msgid "You are up to date (v%1)." +msgstr "У вас актуальная версия (v%1)." + +msgid "Downloading update…" +msgstr "Загрузка обновления…" + +msgid "Failed to download update. Please try again later." +msgstr "Не удалось загрузить обновление. Повторите попытку позже." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Плагин Readest обновлён до v%1.\n\nПерезапустите KOReader, чтобы применить обновление." + +msgid "Restart now" +msgstr "Перезапустить сейчас" + +msgid "Later" +msgstr "Позже" + +msgid "Failed to install update: %1" +msgstr "Не удалось установить обновление: %1" + +msgid "unknown error" +msgstr "неизвестная ошибка" + +msgid "No annotations to push" +msgstr "Нет заметок для отправки" + +msgid "Pushing annotations..." +msgstr "Отправка заметок…" + +msgid "%1 annotations pushed successfully" +msgstr "Отправлено заметок: %1" + +msgid "Failed to push annotations" +msgstr "Не удалось отправить заметки" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "Синхронизация заметок не поддерживается для PDF-документов" + +msgid "Full sync: pulling all annotations..." +msgstr "Полная синхронизация: получение всех заметок…" + +msgid "Pulling annotations..." +msgstr "Получение заметок…" + +msgid "Failed to pull annotations" +msgstr "Не удалось получить заметки" + +msgid "No new annotations found" +msgstr "Новых заметок не найдено" + +msgid "%1 annotations pulled" +msgstr "Получено заметок: %1" + +msgid "Cancel" +msgstr "Отмена" + +msgid "Login" +msgstr "Войти" + +msgid "Please enter both email and password" +msgstr "Введите электронную почту и пароль" + +msgid "Please configure Supabase URL and API key first" +msgstr "Сначала настройте URL Supabase и ключ API" + +msgid "Logging in..." +msgstr "Вход…" + +msgid "Successfully logged in to Readest" +msgstr "Вы вошли в Readest" + +msgid "Login failed: %1" +msgstr "Не удалось войти: %1" + +msgid "Logged out from Readest" +msgstr "Выход из Readest выполнен" + +msgid "Cannot identify the current book" +msgstr "Не удалось определить текущую книгу" + +msgid "Progress has been synchronized." +msgstr "Прогресс синхронизирован." + +msgid "Pushing reading progress..." +msgstr "Отправка прогресса чтения…" + +msgid "Reading progress pushed successfully" +msgstr "Прогресс чтения отправлен" + +msgid "Failed to push reading progress" +msgstr "Не удалось отправить прогресс чтения" + +msgid "Pulling reading progress..." +msgstr "Получение прогресса чтения…" + +msgid "Authentication failed, please login again" +msgstr "Ошибка аутентификации, войдите снова" + +msgid "Failed to pull reading progress" +msgstr "Не удалось получить прогресс чтения" + +msgid "Reading progress synchronized" +msgstr "Прогресс чтения синхронизирован" + +msgid "No saved reading progress found for this book" +msgstr "Сохранённый прогресс чтения для этой книги не найден" diff --git a/apps/readest.koplugin/locales/si/translation.po b/apps/readest.koplugin/locales/si/translation.po new file mode 100644 index 00000000..c9911bda --- /dev/null +++ b/apps/readest.koplugin/locales/si/translation.po @@ -0,0 +1,231 @@ +# Sinhala translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Sinhala\n" +"Language: si\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "ඔබේ KOReader සහ Readest උපාංග සමමුහූර්තව තබා ගනී." + +msgid "Set auto progress sync" +msgstr "ස්වයංක්‍රීය ප්‍රගති සමමුහූර්තකරණය සකසන්න" + +msgid "on" +msgstr "ක්‍රියාත්මක" + +msgid "off" +msgstr "අක්‍රිය" + +msgid "Toggle auto readest sync" +msgstr "ස්වයංක්‍රීය Readest සමමුහූර්තකරණය මාරු කරන්න" + +msgid "Push readest progress from this device" +msgstr "මෙම උපාංගයෙන් Readest ප්‍රගතිය යවන්න" + +msgid "Pull readest progress from other devices" +msgstr "වෙනත් උපාංගවලින් Readest ප්‍රගතිය ලබාගන්න" + +msgid "Push readest annotations from this device" +msgstr "මෙම උපාංගයෙන් Readest සටහන් යවන්න" + +msgid "Pull readest annotations from other devices" +msgstr "වෙනත් උපාංගවලින් Readest සටහන් ලබාගන්න" + +msgid "Log in Readest Account" +msgstr "Readest ගිණුමට පිවිසෙන්න" + +msgid "Log out as %1" +msgstr "%1 ලෙස ඉවත් වන්න" + +msgid "Auto sync progress and annotations" +msgstr "ප්‍රගතිය සහ සටහන් ස්වයංක්‍රීයව සමමුහූර්ත කරන්න" + +msgid "Push reading progress now" +msgstr "කියවීමේ ප්‍රගතිය දැන් යවන්න" + +msgid "Pull reading progress now" +msgstr "කියවීමේ ප්‍රගතිය දැන් ලබාගන්න" + +msgid "Push annotations now" +msgstr "සටහන් දැන් යවන්න" + +msgid "Pull annotations now" +msgstr "සටහන් දැන් ලබාගන්න" + +msgid "Full sync all annotations" +msgstr "සියලු සටහන් සම්පූර්ණ සමමුහූර්තකරණය" + +msgid "Sync info" +msgstr "සමමුහූර්ත තොරතුරු" + +msgid "Check for update (v%1)" +msgstr "යාවත්කාලීන කිරීම පරීක්ෂා කරන්න (v%1)" + +msgid "Check for update" +msgstr "යාවත්කාලීන කිරීම පරීක්ෂා කරන්න" + +msgid "Please login first" +msgstr "කරුණාකර මුලින්ම පිවිසෙන්න" + +msgid "Please configure Readest settings first" +msgstr "කරුණාකර මුලින්ම Readest සැකසුම් වින්‍යාස කරන්න" + +msgid "No book is open" +msgstr "පොතක් විවෘතව නැත" + +msgid "(none)" +msgstr "(කිසිවක් නැත)" + +msgid "Never synced" +msgstr "කිසිදා සමමුහූර්ත වී නැත" + +msgid "Book Fingerprint" +msgstr "පොතේ ඇඟිලි සලකුණ" + +msgid "Title" +msgstr "නම" + +msgid "Author" +msgstr "කතෘ" + +msgid "Identifiers" +msgstr "හඳුනාගැනීම්" + +msgid "Last Synced" +msgstr "අවසන් සමමුහූර්තකරණය" + +msgid "Sync Info" +msgstr "සමමුහූර්ත තොරතුරු" + +msgid "Checking for update…" +msgstr "යාවත්කාලීන පරීක්ෂා කරමින්…" + +msgid "Failed to check for update. Please try again later." +msgstr "යාවත්කාලීන පරීක්ෂා කිරීම අසාර්ථකයි. කරුණාකර පසුව නැවත උත්සාහ කරන්න." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "නව අනුවාදයක් තිබේ: v%1 (වර්තමාන: v%2).\n\nදැන් යාවත්කාලීන කරන්නද?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "නව අනුවාදයක් තිබේ: v%1.\n\nදැන් යාවත්කාලීන කරන්නද?" + +msgid "Update" +msgstr "යාවත්කාලීන" + +msgid "You are up to date (v%1)." +msgstr "ඔබ යාවත්කාලීනයි (v%1)." + +msgid "Downloading update…" +msgstr "යාවත්කාලීනය බාගත වෙමින්…" + +msgid "Failed to download update. Please try again later." +msgstr "යාවත්කාලීනය බාගත කිරීම අසාර්ථකයි. කරුණාකර පසුව නැවත උත්සාහ කරන්න." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Readest ප්ලගිනය v%1 දක්වා යාවත්කාලීන විය.\n\nයාවත්කාලීනය යෙදීමට KOReader නැවත ආරම්භ කරන්න." + +msgid "Restart now" +msgstr "දැන් නැවත ආරම්භ කරන්න" + +msgid "Later" +msgstr "පසුව" + +msgid "Failed to install update: %1" +msgstr "යාවත්කාලීනය ස්ථාපනය කිරීම අසාර්ථකයි: %1" + +msgid "unknown error" +msgstr "නොදන්නා දෝෂයකි" + +msgid "No annotations to push" +msgstr "යැවීමට සටහන් නැත" + +msgid "Pushing annotations..." +msgstr "සටහන් යවමින්…" + +msgid "%1 annotations pushed successfully" +msgstr "%1 සටහන් සාර්ථකව යවන ලදී" + +msgid "Failed to push annotations" +msgstr "සටහන් යැවීම අසාර්ථකයි" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "PDF ලේඛන සඳහා සටහන් සමමුහූර්තකරණය සහාය නොදක්වයි" + +msgid "Full sync: pulling all annotations..." +msgstr "සම්පූර්ණ සමමුහූර්තකරණය: සියලු සටහන් ලබාගනිමින්…" + +msgid "Pulling annotations..." +msgstr "සටහන් ලබාගනිමින්…" + +msgid "Failed to pull annotations" +msgstr "සටහන් ලබාගැනීම අසාර්ථකයි" + +msgid "No new annotations found" +msgstr "නව සටහන් හමු නොවුණි" + +msgid "%1 annotations pulled" +msgstr "%1 සටහන් ලබා ගන්නා ලදී" + +msgid "Cancel" +msgstr "අවලංගු කරන්න" + +msgid "Login" +msgstr "පිවිසෙන්න" + +msgid "Please enter both email and password" +msgstr "කරුණාකර ඊමේල් සහ මුරපදය දෙකම ඇතුළත් කරන්න" + +msgid "Please configure Supabase URL and API key first" +msgstr "කරුණාකර මුලින්ම Supabase URL සහ API යතුර වින්‍යාස කරන්න" + +msgid "Logging in..." +msgstr "පිවිසෙමින්…" + +msgid "Successfully logged in to Readest" +msgstr "Readest වෙත සාර්ථකව පිවිසුණි" + +msgid "Login failed: %1" +msgstr "පිවිසීම අසාර්ථකයි: %1" + +msgid "Logged out from Readest" +msgstr "Readest වෙතින් ඉවත් විය" + +msgid "Cannot identify the current book" +msgstr "වර්තමාන පොත හඳුනාගත නොහැක" + +msgid "Progress has been synchronized." +msgstr "ප්‍රගතිය සමමුහූර්ත විය." + +msgid "Pushing reading progress..." +msgstr "කියවීමේ ප්‍රගතිය යවමින්…" + +msgid "Reading progress pushed successfully" +msgstr "කියවීමේ ප්‍රගතිය සාර්ථකව යවන ලදී" + +msgid "Failed to push reading progress" +msgstr "කියවීමේ ප්‍රගතිය යැවීම අසාර්ථකයි" + +msgid "Pulling reading progress..." +msgstr "කියවීමේ ප්‍රගතිය ලබාගනිමින්…" + +msgid "Authentication failed, please login again" +msgstr "සත්‍යාපනය අසාර්ථකයි, කරුණාකර නැවත පිවිසෙන්න" + +msgid "Failed to pull reading progress" +msgstr "කියවීමේ ප්‍රගතිය ලබාගැනීම අසාර්ථකයි" + +msgid "Reading progress synchronized" +msgstr "කියවීමේ ප්‍රගතිය සමමුහූර්ත විය" + +msgid "No saved reading progress found for this book" +msgstr "මෙම පොත සඳහා සුරකින ලද කියවීමේ ප්‍රගතියක් හමු නොවුණි" diff --git a/apps/readest.koplugin/locales/sl/translation.po b/apps/readest.koplugin/locales/sl/translation.po new file mode 100644 index 00000000..f936d2d4 --- /dev/null +++ b/apps/readest.koplugin/locales/sl/translation.po @@ -0,0 +1,231 @@ +# Slovenian translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Slovenian\n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "Vaše naprave KOReader in Readest ostajajo sinhronizirane." + +msgid "Set auto progress sync" +msgstr "Nastavi samodejno sinhronizacijo napredka" + +msgid "on" +msgstr "vklop" + +msgid "off" +msgstr "izklop" + +msgid "Toggle auto readest sync" +msgstr "Preklopi samodejno sinhronizacijo Readest" + +msgid "Push readest progress from this device" +msgstr "Pošlji napredek Readest iz te naprave" + +msgid "Pull readest progress from other devices" +msgstr "Pridobi napredek Readest iz drugih naprav" + +msgid "Push readest annotations from this device" +msgstr "Pošlji opombe Readest iz te naprave" + +msgid "Pull readest annotations from other devices" +msgstr "Pridobi opombe Readest iz drugih naprav" + +msgid "Log in Readest Account" +msgstr "Prijava v račun Readest" + +msgid "Log out as %1" +msgstr "Odjava kot %1" + +msgid "Auto sync progress and annotations" +msgstr "Samodejno sinhroniziraj napredek in opombe" + +msgid "Push reading progress now" +msgstr "Pošlji napredek branja zdaj" + +msgid "Pull reading progress now" +msgstr "Pridobi napredek branja zdaj" + +msgid "Push annotations now" +msgstr "Pošlji opombe zdaj" + +msgid "Pull annotations now" +msgstr "Pridobi opombe zdaj" + +msgid "Full sync all annotations" +msgstr "Polna sinhronizacija vseh opomb" + +msgid "Sync info" +msgstr "Podatki o sinhronizaciji" + +msgid "Check for update (v%1)" +msgstr "Preveri posodobitve (v%1)" + +msgid "Check for update" +msgstr "Preveri posodobitve" + +msgid "Please login first" +msgstr "Najprej se prijavite" + +msgid "Please configure Readest settings first" +msgstr "Najprej nastavite Readest" + +msgid "No book is open" +msgstr "Nobena knjiga ni odprta" + +msgid "(none)" +msgstr "(brez)" + +msgid "Never synced" +msgstr "Nikoli sinhronizirano" + +msgid "Book Fingerprint" +msgstr "Prstni odtis knjige" + +msgid "Title" +msgstr "Naslov" + +msgid "Author" +msgstr "Avtor" + +msgid "Identifiers" +msgstr "Identifikatorji" + +msgid "Last Synced" +msgstr "Zadnja sinhronizacija" + +msgid "Sync Info" +msgstr "Podatki o sinhronizaciji" + +msgid "Checking for update…" +msgstr "Preverjanje posodobitev…" + +msgid "Failed to check for update. Please try again later." +msgstr "Preverjanje posodobitev ni uspelo. Poskusite znova pozneje." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "Na voljo je nova različica: v%1 (trenutna: v%2).\n\nŽelite posodobiti zdaj?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "Na voljo je nova različica: v%1.\n\nŽelite posodobiti zdaj?" + +msgid "Update" +msgstr "Posodobi" + +msgid "You are up to date (v%1)." +msgstr "Imate najnovejšo različico (v%1)." + +msgid "Downloading update…" +msgstr "Prenašanje posodobitve…" + +msgid "Failed to download update. Please try again later." +msgstr "Prenos posodobitve ni uspel. Poskusite znova pozneje." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Vtičnik Readest je posodobljen na v%1.\n\nZa uveljavitev posodobitve znova zaženite KOReader." + +msgid "Restart now" +msgstr "Znova zaženi" + +msgid "Later" +msgstr "Pozneje" + +msgid "Failed to install update: %1" +msgstr "Namestitev posodobitve ni uspela: %1" + +msgid "unknown error" +msgstr "neznana napaka" + +msgid "No annotations to push" +msgstr "Ni opomb za pošiljanje" + +msgid "Pushing annotations..." +msgstr "Pošiljanje opomb…" + +msgid "%1 annotations pushed successfully" +msgstr "Uspešno poslanih %1 opomb" + +msgid "Failed to push annotations" +msgstr "Pošiljanje opomb ni uspelo" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "Sinhronizacija opomb ni podprta za dokumente PDF" + +msgid "Full sync: pulling all annotations..." +msgstr "Polna sinhronizacija: pridobivanje vseh opomb…" + +msgid "Pulling annotations..." +msgstr "Pridobivanje opomb…" + +msgid "Failed to pull annotations" +msgstr "Pridobivanje opomb ni uspelo" + +msgid "No new annotations found" +msgstr "Novih opomb ni" + +msgid "%1 annotations pulled" +msgstr "Pridobljenih %1 opomb" + +msgid "Cancel" +msgstr "Prekliči" + +msgid "Login" +msgstr "Prijava" + +msgid "Please enter both email and password" +msgstr "Vnesite e-pošto in geslo" + +msgid "Please configure Supabase URL and API key first" +msgstr "Najprej nastavite URL Supabase in ključ API" + +msgid "Logging in..." +msgstr "Prijavljanje…" + +msgid "Successfully logged in to Readest" +msgstr "Uspešno prijavljeni v Readest" + +msgid "Login failed: %1" +msgstr "Prijava ni uspela: %1" + +msgid "Logged out from Readest" +msgstr "Odjavljeni iz Readest" + +msgid "Cannot identify the current book" +msgstr "Trenutne knjige ni mogoče prepoznati" + +msgid "Progress has been synchronized." +msgstr "Napredek je sinhroniziran." + +msgid "Pushing reading progress..." +msgstr "Pošiljanje napredka branja…" + +msgid "Reading progress pushed successfully" +msgstr "Napredek branja uspešno poslan" + +msgid "Failed to push reading progress" +msgstr "Pošiljanje napredka branja ni uspelo" + +msgid "Pulling reading progress..." +msgstr "Pridobivanje napredka branja…" + +msgid "Authentication failed, please login again" +msgstr "Preverjanje pristnosti ni uspelo, prijavite se znova" + +msgid "Failed to pull reading progress" +msgstr "Pridobivanje napredka branja ni uspelo" + +msgid "Reading progress synchronized" +msgstr "Napredek branja sinhroniziran" + +msgid "No saved reading progress found for this book" +msgstr "Za to knjigo ni shranjenega napredka branja" diff --git a/apps/readest.koplugin/locales/sv/translation.po b/apps/readest.koplugin/locales/sv/translation.po new file mode 100644 index 00000000..6a81fa06 --- /dev/null +++ b/apps/readest.koplugin/locales/sv/translation.po @@ -0,0 +1,231 @@ +# Swedish translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Swedish\n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "Håller dina KOReader- och Readest-enheter synkroniserade." + +msgid "Set auto progress sync" +msgstr "Ställ in automatisk synkronisering av läsförloppet" + +msgid "on" +msgstr "på" + +msgid "off" +msgstr "av" + +msgid "Toggle auto readest sync" +msgstr "Växla automatisk Readest-synkronisering" + +msgid "Push readest progress from this device" +msgstr "Skicka Readest-läsförlopp från den här enheten" + +msgid "Pull readest progress from other devices" +msgstr "Hämta Readest-läsförlopp från andra enheter" + +msgid "Push readest annotations from this device" +msgstr "Skicka Readest-anteckningar från den här enheten" + +msgid "Pull readest annotations from other devices" +msgstr "Hämta Readest-anteckningar från andra enheter" + +msgid "Log in Readest Account" +msgstr "Logga in på Readest-konto" + +msgid "Log out as %1" +msgstr "Logga ut från %1" + +msgid "Auto sync progress and annotations" +msgstr "Synkronisera läsförlopp och anteckningar automatiskt" + +msgid "Push reading progress now" +msgstr "Skicka läsförloppet nu" + +msgid "Pull reading progress now" +msgstr "Hämta läsförloppet nu" + +msgid "Push annotations now" +msgstr "Skicka anteckningar nu" + +msgid "Pull annotations now" +msgstr "Hämta anteckningar nu" + +msgid "Full sync all annotations" +msgstr "Synkronisera alla anteckningar fullständigt" + +msgid "Sync info" +msgstr "Synkroniseringsinfo" + +msgid "Check for update (v%1)" +msgstr "Sök efter uppdatering (v%1)" + +msgid "Check for update" +msgstr "Sök efter uppdatering" + +msgid "Please login first" +msgstr "Logga in först" + +msgid "Please configure Readest settings first" +msgstr "Konfigurera Readest-inställningarna först" + +msgid "No book is open" +msgstr "Ingen bok är öppen" + +msgid "(none)" +msgstr "(ingen)" + +msgid "Never synced" +msgstr "Aldrig synkroniserad" + +msgid "Book Fingerprint" +msgstr "Bokens fingeravtryck" + +msgid "Title" +msgstr "Titel" + +msgid "Author" +msgstr "Författare" + +msgid "Identifiers" +msgstr "Identifierare" + +msgid "Last Synced" +msgstr "Senast synkroniserad" + +msgid "Sync Info" +msgstr "Synkroniseringsinfo" + +msgid "Checking for update…" +msgstr "Söker efter uppdatering…" + +msgid "Failed to check for update. Please try again later." +msgstr "Det gick inte att söka efter uppdatering. Försök igen senare." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "En ny version är tillgänglig: v%1 (nuvarande: v%2).\n\nVill du uppdatera nu?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "En ny version är tillgänglig: v%1.\n\nVill du uppdatera nu?" + +msgid "Update" +msgstr "Uppdatera" + +msgid "You are up to date (v%1)." +msgstr "Du är uppdaterad (v%1)." + +msgid "Downloading update…" +msgstr "Hämtar uppdatering…" + +msgid "Failed to download update. Please try again later." +msgstr "Det gick inte att hämta uppdateringen. Försök igen senare." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Readest-tillägget uppdaterat till v%1.\n\nStarta om KOReader för att tillämpa uppdateringen." + +msgid "Restart now" +msgstr "Starta om nu" + +msgid "Later" +msgstr "Senare" + +msgid "Failed to install update: %1" +msgstr "Det gick inte att installera uppdateringen: %1" + +msgid "unknown error" +msgstr "okänt fel" + +msgid "No annotations to push" +msgstr "Inga anteckningar att skicka" + +msgid "Pushing annotations..." +msgstr "Skickar anteckningar…" + +msgid "%1 annotations pushed successfully" +msgstr "%1 anteckningar skickade" + +msgid "Failed to push annotations" +msgstr "Det gick inte att skicka anteckningarna" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "Anteckningssynkronisering stöds inte för PDF-dokument" + +msgid "Full sync: pulling all annotations..." +msgstr "Fullständig synkronisering: hämtar alla anteckningar…" + +msgid "Pulling annotations..." +msgstr "Hämtar anteckningar…" + +msgid "Failed to pull annotations" +msgstr "Det gick inte att hämta anteckningarna" + +msgid "No new annotations found" +msgstr "Inga nya anteckningar hittades" + +msgid "%1 annotations pulled" +msgstr "%1 anteckningar hämtade" + +msgid "Cancel" +msgstr "Avbryt" + +msgid "Login" +msgstr "Logga in" + +msgid "Please enter both email and password" +msgstr "Ange både e-post och lösenord" + +msgid "Please configure Supabase URL and API key first" +msgstr "Konfigurera Supabase-URL och API-nyckel först" + +msgid "Logging in..." +msgstr "Loggar in…" + +msgid "Successfully logged in to Readest" +msgstr "Inloggad på Readest" + +msgid "Login failed: %1" +msgstr "Inloggning misslyckades: %1" + +msgid "Logged out from Readest" +msgstr "Utloggad från Readest" + +msgid "Cannot identify the current book" +msgstr "Det går inte att identifiera den aktuella boken" + +msgid "Progress has been synchronized." +msgstr "Läsförloppet har synkroniserats." + +msgid "Pushing reading progress..." +msgstr "Skickar läsförloppet…" + +msgid "Reading progress pushed successfully" +msgstr "Läsförloppet skickades" + +msgid "Failed to push reading progress" +msgstr "Det gick inte att skicka läsförloppet" + +msgid "Pulling reading progress..." +msgstr "Hämtar läsförloppet…" + +msgid "Authentication failed, please login again" +msgstr "Autentisering misslyckades, logga in igen" + +msgid "Failed to pull reading progress" +msgstr "Det gick inte att hämta läsförloppet" + +msgid "Reading progress synchronized" +msgstr "Läsförloppet synkroniserat" + +msgid "No saved reading progress found for this book" +msgstr "Inget sparat läsförlopp hittades för boken" diff --git a/apps/readest.koplugin/locales/ta/translation.po b/apps/readest.koplugin/locales/ta/translation.po new file mode 100644 index 00000000..0deb56f2 --- /dev/null +++ b/apps/readest.koplugin/locales/ta/translation.po @@ -0,0 +1,231 @@ +# Tamil translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Tamil\n" +"Language: ta\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "உங்கள் KOReader மற்றும் Readest சாதனங்களை ஒத்திசைவில் வைத்திருக்கிறது." + +msgid "Set auto progress sync" +msgstr "தானியங்கி முன்னேற்ற ஒத்திசைவை அமைக்கவும்" + +msgid "on" +msgstr "இயக்கு" + +msgid "off" +msgstr "முடக்கு" + +msgid "Toggle auto readest sync" +msgstr "தானியங்கி Readest ஒத்திசைவை மாற்றவும்" + +msgid "Push readest progress from this device" +msgstr "இந்தச் சாதனத்திலிருந்து Readest முன்னேற்றத்தை அனுப்பு" + +msgid "Pull readest progress from other devices" +msgstr "மற்ற சாதனங்களிலிருந்து Readest முன்னேற்றத்தைப் பெறு" + +msgid "Push readest annotations from this device" +msgstr "இந்தச் சாதனத்திலிருந்து Readest குறிப்புகளை அனுப்பு" + +msgid "Pull readest annotations from other devices" +msgstr "மற்ற சாதனங்களிலிருந்து Readest குறிப்புகளைப் பெறு" + +msgid "Log in Readest Account" +msgstr "Readest கணக்கில் உள்நுழைக" + +msgid "Log out as %1" +msgstr "%1 ஆக வெளியேறு" + +msgid "Auto sync progress and annotations" +msgstr "முன்னேற்றம் மற்றும் குறிப்புகளை தானாக ஒத்திசை" + +msgid "Push reading progress now" +msgstr "வாசிப்பு முன்னேற்றத்தை இப்போது அனுப்பு" + +msgid "Pull reading progress now" +msgstr "வாசிப்பு முன்னேற்றத்தை இப்போது பெறு" + +msgid "Push annotations now" +msgstr "குறிப்புகளை இப்போது அனுப்பு" + +msgid "Pull annotations now" +msgstr "குறிப்புகளை இப்போது பெறு" + +msgid "Full sync all annotations" +msgstr "அனைத்து குறிப்புகளின் முழு ஒத்திசைவு" + +msgid "Sync info" +msgstr "ஒத்திசைவு தகவல்" + +msgid "Check for update (v%1)" +msgstr "புதுப்பிப்பைச் சரிபார் (v%1)" + +msgid "Check for update" +msgstr "புதுப்பிப்பைச் சரிபார்" + +msgid "Please login first" +msgstr "முதலில் உள்நுழைக" + +msgid "Please configure Readest settings first" +msgstr "முதலில் Readest அமைப்புகளை உள்ளமைக்கவும்" + +msgid "No book is open" +msgstr "எந்த நூலும் திறக்கப்படவில்லை" + +msgid "(none)" +msgstr "(இல்லை)" + +msgid "Never synced" +msgstr "இதுவரை ஒத்திசைக்கப்படவில்லை" + +msgid "Book Fingerprint" +msgstr "புத்தக கைரேகை" + +msgid "Title" +msgstr "தலைப்பு" + +msgid "Author" +msgstr "ஆசிரியர்" + +msgid "Identifiers" +msgstr "அடையாளங்காட்டிகள்" + +msgid "Last Synced" +msgstr "கடைசி ஒத்திசைவு" + +msgid "Sync Info" +msgstr "ஒத்திசைவு தகவல்" + +msgid "Checking for update…" +msgstr "புதுப்பிப்பைச் சரிபார்க்கிறது…" + +msgid "Failed to check for update. Please try again later." +msgstr "புதுப்பிப்பைச் சரிபார்ப்பதில் தோல்வி. பின்னர் முயற்சிக்கவும்." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "புதிய பதிப்பு கிடைக்கிறது: v%1 (தற்போதைய: v%2).\n\nஇப்போது புதுப்பிக்கவா?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "புதிய பதிப்பு கிடைக்கிறது: v%1.\n\nஇப்போது புதுப்பிக்கவா?" + +msgid "Update" +msgstr "புதுப்பி" + +msgid "You are up to date (v%1)." +msgstr "நீங்கள் சமீபத்திய பதிப்பில் உள்ளீர்கள் (v%1)." + +msgid "Downloading update…" +msgstr "புதுப்பிப்பைப் பதிவிறக்குகிறது…" + +msgid "Failed to download update. Please try again later." +msgstr "புதுப்பிப்பைப் பதிவிறக்குவதில் தோல்வி. பின்னர் முயற்சிக்கவும்." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Readest செருகுநிரல் v%1 ஆக புதுப்பிக்கப்பட்டது.\n\nபுதுப்பிப்பை செயல்படுத்த KOReader ஐ மீண்டும் தொடங்கவும்." + +msgid "Restart now" +msgstr "இப்போது மீண்டும் தொடங்கு" + +msgid "Later" +msgstr "பின்னர்" + +msgid "Failed to install update: %1" +msgstr "புதுப்பிப்பை நிறுவுவதில் தோல்வி: %1" + +msgid "unknown error" +msgstr "தெரியாத பிழை" + +msgid "No annotations to push" +msgstr "அனுப்ப குறிப்புகள் இல்லை" + +msgid "Pushing annotations..." +msgstr "குறிப்புகள் அனுப்பப்படுகின்றன…" + +msgid "%1 annotations pushed successfully" +msgstr "%1 குறிப்புகள் வெற்றிகரமாக அனுப்பப்பட்டன" + +msgid "Failed to push annotations" +msgstr "குறிப்புகளை அனுப்புவதில் தோல்வி" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "PDF ஆவணங்களுக்கு குறிப்பு ஒத்திசைவு ஆதரிக்கப்படவில்லை" + +msgid "Full sync: pulling all annotations..." +msgstr "முழு ஒத்திசைவு: அனைத்து குறிப்புகளும் பெறப்படுகின்றன…" + +msgid "Pulling annotations..." +msgstr "குறிப்புகள் பெறப்படுகின்றன…" + +msgid "Failed to pull annotations" +msgstr "குறிப்புகளைப் பெறுவதில் தோல்வி" + +msgid "No new annotations found" +msgstr "புதிய குறிப்புகள் காணப்படவில்லை" + +msgid "%1 annotations pulled" +msgstr "%1 குறிப்புகள் பெறப்பட்டன" + +msgid "Cancel" +msgstr "ரத்து செய்யவும்" + +msgid "Login" +msgstr "உள்நுழை" + +msgid "Please enter both email and password" +msgstr "மின்னஞ்சல் மற்றும் கடவுச்சொல்லை உள்ளிடவும்" + +msgid "Please configure Supabase URL and API key first" +msgstr "முதலில் Supabase URL மற்றும் API விசையை உள்ளமைக்கவும்" + +msgid "Logging in..." +msgstr "உள்நுழைகிறது…" + +msgid "Successfully logged in to Readest" +msgstr "Readest இல் வெற்றிகரமாக உள்நுழைந்தீர்கள்" + +msgid "Login failed: %1" +msgstr "உள்நுழைவில் தோல்வி: %1" + +msgid "Logged out from Readest" +msgstr "Readest இலிருந்து வெளியேறினீர்கள்" + +msgid "Cannot identify the current book" +msgstr "தற்போதைய நூலை அடையாளம் காண முடியவில்லை" + +msgid "Progress has been synchronized." +msgstr "முன்னேற்றம் ஒத்திசைக்கப்பட்டது." + +msgid "Pushing reading progress..." +msgstr "வாசிப்பு முன்னேற்றம் அனுப்பப்படுகிறது…" + +msgid "Reading progress pushed successfully" +msgstr "வாசிப்பு முன்னேற்றம் வெற்றிகரமாக அனுப்பப்பட்டது" + +msgid "Failed to push reading progress" +msgstr "வாசிப்பு முன்னேற்றத்தை அனுப்புவதில் தோல்வி" + +msgid "Pulling reading progress..." +msgstr "வாசிப்பு முன்னேற்றம் பெறப்படுகிறது…" + +msgid "Authentication failed, please login again" +msgstr "அங்கீகாரம் தோல்வி, மீண்டும் உள்நுழைக" + +msgid "Failed to pull reading progress" +msgstr "வாசிப்பு முன்னேற்றத்தைப் பெறுவதில் தோல்வி" + +msgid "Reading progress synchronized" +msgstr "வாசிப்பு முன்னேற்றம் ஒத்திசைக்கப்பட்டது" + +msgid "No saved reading progress found for this book" +msgstr "இந்த நூலுக்கான சேமிக்கப்பட்ட வாசிப்பு முன்னேற்றம் இல்லை" diff --git a/apps/readest.koplugin/locales/th/translation.po b/apps/readest.koplugin/locales/th/translation.po new file mode 100644 index 00000000..772b4752 --- /dev/null +++ b/apps/readest.koplugin/locales/th/translation.po @@ -0,0 +1,231 @@ +# Thai translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Thai\n" +"Language: th\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "รักษาการซิงค์ระหว่างอุปกรณ์ KOReader และ Readest ของคุณ" + +msgid "Set auto progress sync" +msgstr "ตั้งค่าการซิงค์ความคืบหน้าอัตโนมัติ" + +msgid "on" +msgstr "เปิด" + +msgid "off" +msgstr "ปิด" + +msgid "Toggle auto readest sync" +msgstr "สลับการซิงค์อัตโนมัติของ Readest" + +msgid "Push readest progress from this device" +msgstr "ส่งความคืบหน้า Readest จากอุปกรณ์นี้" + +msgid "Pull readest progress from other devices" +msgstr "ดึงความคืบหน้า Readest จากอุปกรณ์อื่น" + +msgid "Push readest annotations from this device" +msgstr "ส่งคำอธิบาย Readest จากอุปกรณ์นี้" + +msgid "Pull readest annotations from other devices" +msgstr "ดึงคำอธิบาย Readest จากอุปกรณ์อื่น" + +msgid "Log in Readest Account" +msgstr "เข้าสู่ระบบบัญชี Readest" + +msgid "Log out as %1" +msgstr "ออกจากระบบในชื่อ %1" + +msgid "Auto sync progress and annotations" +msgstr "ซิงค์ความคืบหน้าและคำอธิบายอัตโนมัติ" + +msgid "Push reading progress now" +msgstr "ส่งความคืบหน้าการอ่านตอนนี้" + +msgid "Pull reading progress now" +msgstr "ดึงความคืบหน้าการอ่านตอนนี้" + +msgid "Push annotations now" +msgstr "ส่งคำอธิบายตอนนี้" + +msgid "Pull annotations now" +msgstr "ดึงคำอธิบายตอนนี้" + +msgid "Full sync all annotations" +msgstr "ซิงค์คำอธิบายทั้งหมดแบบเต็ม" + +msgid "Sync info" +msgstr "ข้อมูลการซิงค์" + +msgid "Check for update (v%1)" +msgstr "ตรวจสอบการอัปเดต (v%1)" + +msgid "Check for update" +msgstr "ตรวจสอบการอัปเดต" + +msgid "Please login first" +msgstr "โปรดเข้าสู่ระบบก่อน" + +msgid "Please configure Readest settings first" +msgstr "โปรดกำหนดค่า Readest ก่อน" + +msgid "No book is open" +msgstr "ไม่มีหนังสือที่เปิดอยู่" + +msgid "(none)" +msgstr "(ไม่มี)" + +msgid "Never synced" +msgstr "ไม่เคยซิงค์" + +msgid "Book Fingerprint" +msgstr "ลายนิ้วมือหนังสือ" + +msgid "Title" +msgstr "ชื่อเรื่อง" + +msgid "Author" +msgstr "ผู้แต่ง" + +msgid "Identifiers" +msgstr "ตัวระบุ" + +msgid "Last Synced" +msgstr "ซิงค์ล่าสุด" + +msgid "Sync Info" +msgstr "ข้อมูลการซิงค์" + +msgid "Checking for update…" +msgstr "กำลังตรวจสอบการอัปเดต…" + +msgid "Failed to check for update. Please try again later." +msgstr "ตรวจสอบการอัปเดตไม่สำเร็จ โปรดลองอีกครั้งภายหลัง" + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "มีเวอร์ชันใหม่: v%1 (ปัจจุบัน: v%2)\n\nต้องการอัปเดตตอนนี้หรือไม่?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "มีเวอร์ชันใหม่: v%1\n\nต้องการอัปเดตตอนนี้หรือไม่?" + +msgid "Update" +msgstr "อัปเดต" + +msgid "You are up to date (v%1)." +msgstr "คุณใช้เวอร์ชันล่าสุด (v%1)" + +msgid "Downloading update…" +msgstr "กำลังดาวน์โหลดการอัปเดต…" + +msgid "Failed to download update. Please try again later." +msgstr "ดาวน์โหลดการอัปเดตไม่สำเร็จ โปรดลองอีกครั้งภายหลัง" + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "ปลั๊กอิน Readest อัปเดตเป็น v%1\n\nโปรดเริ่มต้น KOReader ใหม่เพื่อใช้การอัปเดต" + +msgid "Restart now" +msgstr "เริ่มใหม่ตอนนี้" + +msgid "Later" +msgstr "ภายหลัง" + +msgid "Failed to install update: %1" +msgstr "ติดตั้งการอัปเดตไม่สำเร็จ: %1" + +msgid "unknown error" +msgstr "ข้อผิดพลาดที่ไม่ทราบ" + +msgid "No annotations to push" +msgstr "ไม่มีคำอธิบายที่จะส่ง" + +msgid "Pushing annotations..." +msgstr "กำลังส่งคำอธิบาย…" + +msgid "%1 annotations pushed successfully" +msgstr "ส่งคำอธิบาย %1 รายการสำเร็จ" + +msgid "Failed to push annotations" +msgstr "ส่งคำอธิบายไม่สำเร็จ" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "ไม่รองรับการซิงค์คำอธิบายสำหรับเอกสาร PDF" + +msgid "Full sync: pulling all annotations..." +msgstr "ซิงค์เต็มรูปแบบ: กำลังดึงคำอธิบายทั้งหมด…" + +msgid "Pulling annotations..." +msgstr "กำลังดึงคำอธิบาย…" + +msgid "Failed to pull annotations" +msgstr "ดึงคำอธิบายไม่สำเร็จ" + +msgid "No new annotations found" +msgstr "ไม่พบคำอธิบายใหม่" + +msgid "%1 annotations pulled" +msgstr "ดึงคำอธิบาย %1 รายการ" + +msgid "Cancel" +msgstr "ยกเลิก" + +msgid "Login" +msgstr "เข้าสู่ระบบ" + +msgid "Please enter both email and password" +msgstr "โปรดป้อนทั้งอีเมลและรหัสผ่าน" + +msgid "Please configure Supabase URL and API key first" +msgstr "โปรดกำหนดค่า URL ของ Supabase และคีย์ API ก่อน" + +msgid "Logging in..." +msgstr "กำลังเข้าสู่ระบบ…" + +msgid "Successfully logged in to Readest" +msgstr "เข้าสู่ระบบ Readest สำเร็จ" + +msgid "Login failed: %1" +msgstr "เข้าสู่ระบบไม่สำเร็จ: %1" + +msgid "Logged out from Readest" +msgstr "ออกจากระบบ Readest แล้ว" + +msgid "Cannot identify the current book" +msgstr "ไม่สามารถระบุหนังสือปัจจุบันได้" + +msgid "Progress has been synchronized." +msgstr "ความคืบหน้าได้รับการซิงค์แล้ว" + +msgid "Pushing reading progress..." +msgstr "กำลังส่งความคืบหน้าการอ่าน…" + +msgid "Reading progress pushed successfully" +msgstr "ส่งความคืบหน้าการอ่านสำเร็จ" + +msgid "Failed to push reading progress" +msgstr "ส่งความคืบหน้าการอ่านไม่สำเร็จ" + +msgid "Pulling reading progress..." +msgstr "กำลังดึงความคืบหน้าการอ่าน…" + +msgid "Authentication failed, please login again" +msgstr "การยืนยันตัวตนล้มเหลว โปรดเข้าสู่ระบบอีกครั้ง" + +msgid "Failed to pull reading progress" +msgstr "ดึงความคืบหน้าการอ่านไม่สำเร็จ" + +msgid "Reading progress synchronized" +msgstr "ซิงค์ความคืบหน้าการอ่านแล้ว" + +msgid "No saved reading progress found for this book" +msgstr "ไม่พบความคืบหน้าการอ่านที่บันทึกไว้สำหรับหนังสือเล่มนี้" diff --git a/apps/readest.koplugin/locales/tr/translation.po b/apps/readest.koplugin/locales/tr/translation.po new file mode 100644 index 00000000..26d6aab3 --- /dev/null +++ b/apps/readest.koplugin/locales/tr/translation.po @@ -0,0 +1,231 @@ +# Turkish translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Turkish\n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "KOReader ve Readest cihazlarınızı senkronize tutar." + +msgid "Set auto progress sync" +msgstr "Otomatik ilerleme senkronizasyonunu ayarla" + +msgid "on" +msgstr "açık" + +msgid "off" +msgstr "kapalı" + +msgid "Toggle auto readest sync" +msgstr "Otomatik Readest senkronizasyonunu değiştir" + +msgid "Push readest progress from this device" +msgstr "Bu cihazdan Readest ilerlemesini gönder" + +msgid "Pull readest progress from other devices" +msgstr "Diğer cihazlardan Readest ilerlemesini al" + +msgid "Push readest annotations from this device" +msgstr "Bu cihazdan Readest açıklamalarını gönder" + +msgid "Pull readest annotations from other devices" +msgstr "Diğer cihazlardan Readest açıklamalarını al" + +msgid "Log in Readest Account" +msgstr "Readest hesabına giriş yap" + +msgid "Log out as %1" +msgstr "%1 olarak çıkış yap" + +msgid "Auto sync progress and annotations" +msgstr "İlerlemeyi ve açıklamaları otomatik senkronize et" + +msgid "Push reading progress now" +msgstr "Okuma ilerlemesini şimdi gönder" + +msgid "Pull reading progress now" +msgstr "Okuma ilerlemesini şimdi al" + +msgid "Push annotations now" +msgstr "Açıklamaları şimdi gönder" + +msgid "Pull annotations now" +msgstr "Açıklamaları şimdi al" + +msgid "Full sync all annotations" +msgstr "Tüm açıklamaları tam senkronize et" + +msgid "Sync info" +msgstr "Senkronizasyon bilgisi" + +msgid "Check for update (v%1)" +msgstr "Güncelleme kontrol et (v%1)" + +msgid "Check for update" +msgstr "Güncelleme kontrol et" + +msgid "Please login first" +msgstr "Önce giriş yapın" + +msgid "Please configure Readest settings first" +msgstr "Önce Readest ayarlarını yapılandırın" + +msgid "No book is open" +msgstr "Açık kitap yok" + +msgid "(none)" +msgstr "(yok)" + +msgid "Never synced" +msgstr "Hiç senkronize edilmedi" + +msgid "Book Fingerprint" +msgstr "Kitap parmak izi" + +msgid "Title" +msgstr "Başlık" + +msgid "Author" +msgstr "Yazar" + +msgid "Identifiers" +msgstr "Tanımlayıcılar" + +msgid "Last Synced" +msgstr "Son senkronizasyon" + +msgid "Sync Info" +msgstr "Senkronizasyon bilgisi" + +msgid "Checking for update…" +msgstr "Güncelleme kontrol ediliyor…" + +msgid "Failed to check for update. Please try again later." +msgstr "Güncelleme kontrolü başarısız. Lütfen daha sonra tekrar deneyin." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "Yeni bir sürüm mevcut: v%1 (geçerli: v%2).\n\nŞimdi güncellemek ister misiniz?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "Yeni bir sürüm mevcut: v%1.\n\nŞimdi güncellemek ister misiniz?" + +msgid "Update" +msgstr "Güncelle" + +msgid "You are up to date (v%1)." +msgstr "Güncelsiniz (v%1)." + +msgid "Downloading update…" +msgstr "Güncelleme indiriliyor…" + +msgid "Failed to download update. Please try again later." +msgstr "Güncelleme indirilemedi. Lütfen daha sonra tekrar deneyin." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Readest eklentisi v%1 sürümüne güncellendi.\n\nGüncellemeyi uygulamak için KOReader'ı yeniden başlatın." + +msgid "Restart now" +msgstr "Şimdi yeniden başlat" + +msgid "Later" +msgstr "Daha sonra" + +msgid "Failed to install update: %1" +msgstr "Güncelleme yüklenemedi: %1" + +msgid "unknown error" +msgstr "bilinmeyen hata" + +msgid "No annotations to push" +msgstr "Gönderilecek açıklama yok" + +msgid "Pushing annotations..." +msgstr "Açıklamalar gönderiliyor…" + +msgid "%1 annotations pushed successfully" +msgstr "%1 açıklama başarıyla gönderildi" + +msgid "Failed to push annotations" +msgstr "Açıklamalar gönderilemedi" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "PDF belgeleri için açıklama senkronizasyonu desteklenmiyor" + +msgid "Full sync: pulling all annotations..." +msgstr "Tam senkronizasyon: tüm açıklamalar alınıyor…" + +msgid "Pulling annotations..." +msgstr "Açıklamalar alınıyor…" + +msgid "Failed to pull annotations" +msgstr "Açıklamalar alınamadı" + +msgid "No new annotations found" +msgstr "Yeni açıklama bulunamadı" + +msgid "%1 annotations pulled" +msgstr "%1 açıklama alındı" + +msgid "Cancel" +msgstr "İptal" + +msgid "Login" +msgstr "Giriş" + +msgid "Please enter both email and password" +msgstr "E-posta ve parolayı girin" + +msgid "Please configure Supabase URL and API key first" +msgstr "Önce Supabase URL ve API anahtarını yapılandırın" + +msgid "Logging in..." +msgstr "Giriş yapılıyor…" + +msgid "Successfully logged in to Readest" +msgstr "Readest'e başarıyla giriş yapıldı" + +msgid "Login failed: %1" +msgstr "Giriş başarısız: %1" + +msgid "Logged out from Readest" +msgstr "Readest'ten çıkış yapıldı" + +msgid "Cannot identify the current book" +msgstr "Geçerli kitap tanımlanamıyor" + +msgid "Progress has been synchronized." +msgstr "İlerleme senkronize edildi." + +msgid "Pushing reading progress..." +msgstr "Okuma ilerlemesi gönderiliyor…" + +msgid "Reading progress pushed successfully" +msgstr "Okuma ilerlemesi başarıyla gönderildi" + +msgid "Failed to push reading progress" +msgstr "Okuma ilerlemesi gönderilemedi" + +msgid "Pulling reading progress..." +msgstr "Okuma ilerlemesi alınıyor…" + +msgid "Authentication failed, please login again" +msgstr "Kimlik doğrulama başarısız, tekrar giriş yapın" + +msgid "Failed to pull reading progress" +msgstr "Okuma ilerlemesi alınamadı" + +msgid "Reading progress synchronized" +msgstr "Okuma ilerlemesi senkronize edildi" + +msgid "No saved reading progress found for this book" +msgstr "Bu kitap için kayıtlı okuma ilerlemesi bulunamadı" diff --git a/apps/readest.koplugin/locales/uk/translation.po b/apps/readest.koplugin/locales/uk/translation.po new file mode 100644 index 00000000..9c934443 --- /dev/null +++ b/apps/readest.koplugin/locales/uk/translation.po @@ -0,0 +1,231 @@ +# Ukrainian translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Ukrainian\n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "Підтримує синхронізацію пристроїв KOReader і Readest." + +msgid "Set auto progress sync" +msgstr "Налаштувати автосинхронізацію прогресу" + +msgid "on" +msgstr "увімк." + +msgid "off" +msgstr "вимк." + +msgid "Toggle auto readest sync" +msgstr "Перемкнути автосинхронізацію Readest" + +msgid "Push readest progress from this device" +msgstr "Надіслати прогрес Readest з цього пристрою" + +msgid "Pull readest progress from other devices" +msgstr "Отримати прогрес Readest з інших пристроїв" + +msgid "Push readest annotations from this device" +msgstr "Надіслати нотатки Readest з цього пристрою" + +msgid "Pull readest annotations from other devices" +msgstr "Отримати нотатки Readest з інших пристроїв" + +msgid "Log in Readest Account" +msgstr "Увійти до облікового запису Readest" + +msgid "Log out as %1" +msgstr "Вийти з %1" + +msgid "Auto sync progress and annotations" +msgstr "Автоматично синхронізувати прогрес і нотатки" + +msgid "Push reading progress now" +msgstr "Надіслати прогрес читання зараз" + +msgid "Pull reading progress now" +msgstr "Отримати прогрес читання зараз" + +msgid "Push annotations now" +msgstr "Надіслати нотатки зараз" + +msgid "Pull annotations now" +msgstr "Отримати нотатки зараз" + +msgid "Full sync all annotations" +msgstr "Повна синхронізація всіх нотаток" + +msgid "Sync info" +msgstr "Відомості про синхронізацію" + +msgid "Check for update (v%1)" +msgstr "Перевірити оновлення (v%1)" + +msgid "Check for update" +msgstr "Перевірити оновлення" + +msgid "Please login first" +msgstr "Спочатку увійдіть" + +msgid "Please configure Readest settings first" +msgstr "Спочатку налаштуйте параметри Readest" + +msgid "No book is open" +msgstr "Жодну книгу не відкрито" + +msgid "(none)" +msgstr "(немає)" + +msgid "Never synced" +msgstr "Ще не синхронізовано" + +msgid "Book Fingerprint" +msgstr "Відбиток книги" + +msgid "Title" +msgstr "Назва" + +msgid "Author" +msgstr "Автор" + +msgid "Identifiers" +msgstr "Ідентифікатори" + +msgid "Last Synced" +msgstr "Остання синхронізація" + +msgid "Sync Info" +msgstr "Відомості про синхронізацію" + +msgid "Checking for update…" +msgstr "Перевірка оновлень…" + +msgid "Failed to check for update. Please try again later." +msgstr "Не вдалося перевірити оновлення. Спробуйте пізніше." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "Доступна нова версія: v%1 (поточна: v%2).\n\nОновити зараз?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "Доступна нова версія: v%1.\n\nОновити зараз?" + +msgid "Update" +msgstr "Оновити" + +msgid "You are up to date (v%1)." +msgstr "У вас актуальна версія (v%1)." + +msgid "Downloading update…" +msgstr "Завантаження оновлення…" + +msgid "Failed to download update. Please try again later." +msgstr "Не вдалося завантажити оновлення. Спробуйте пізніше." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Плагін Readest оновлено до v%1.\n\nПерезапустіть KOReader, щоб застосувати оновлення." + +msgid "Restart now" +msgstr "Перезапустити зараз" + +msgid "Later" +msgstr "Пізніше" + +msgid "Failed to install update: %1" +msgstr "Не вдалося встановити оновлення: %1" + +msgid "unknown error" +msgstr "невідома помилка" + +msgid "No annotations to push" +msgstr "Немає нотаток для надсилання" + +msgid "Pushing annotations..." +msgstr "Надсилання нотаток…" + +msgid "%1 annotations pushed successfully" +msgstr "Надіслано нотаток: %1" + +msgid "Failed to push annotations" +msgstr "Не вдалося надіслати нотатки" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "Синхронізація нотаток не підтримується для PDF-документів" + +msgid "Full sync: pulling all annotations..." +msgstr "Повна синхронізація: отримання всіх нотаток…" + +msgid "Pulling annotations..." +msgstr "Отримання нотаток…" + +msgid "Failed to pull annotations" +msgstr "Не вдалося отримати нотатки" + +msgid "No new annotations found" +msgstr "Нових нотаток не знайдено" + +msgid "%1 annotations pulled" +msgstr "Отримано нотаток: %1" + +msgid "Cancel" +msgstr "Скасувати" + +msgid "Login" +msgstr "Увійти" + +msgid "Please enter both email and password" +msgstr "Введіть електронну пошту та пароль" + +msgid "Please configure Supabase URL and API key first" +msgstr "Спочатку налаштуйте URL Supabase і ключ API" + +msgid "Logging in..." +msgstr "Вхід…" + +msgid "Successfully logged in to Readest" +msgstr "Ви увійшли до Readest" + +msgid "Login failed: %1" +msgstr "Не вдалося увійти: %1" + +msgid "Logged out from Readest" +msgstr "Вихід із Readest виконано" + +msgid "Cannot identify the current book" +msgstr "Не вдалося визначити поточну книгу" + +msgid "Progress has been synchronized." +msgstr "Прогрес синхронізовано." + +msgid "Pushing reading progress..." +msgstr "Надсилання прогресу читання…" + +msgid "Reading progress pushed successfully" +msgstr "Прогрес читання надіслано" + +msgid "Failed to push reading progress" +msgstr "Не вдалося надіслати прогрес читання" + +msgid "Pulling reading progress..." +msgstr "Отримання прогресу читання…" + +msgid "Authentication failed, please login again" +msgstr "Помилка автентифікації, увійдіть знову" + +msgid "Failed to pull reading progress" +msgstr "Не вдалося отримати прогрес читання" + +msgid "Reading progress synchronized" +msgstr "Прогрес читання синхронізовано" + +msgid "No saved reading progress found for this book" +msgstr "Збережений прогрес читання для цієї книги не знайдено" diff --git a/apps/readest.koplugin/locales/vi/translation.po b/apps/readest.koplugin/locales/vi/translation.po new file mode 100644 index 00000000..097c61c9 --- /dev/null +++ b/apps/readest.koplugin/locales/vi/translation.po @@ -0,0 +1,231 @@ +# Vietnamese translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Vietnamese\n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "Giữ các thiết bị KOReader và Readest của bạn đồng bộ." + +msgid "Set auto progress sync" +msgstr "Đặt đồng bộ tiến trình tự động" + +msgid "on" +msgstr "bật" + +msgid "off" +msgstr "tắt" + +msgid "Toggle auto readest sync" +msgstr "Chuyển đổi đồng bộ tự động Readest" + +msgid "Push readest progress from this device" +msgstr "Đẩy tiến trình Readest từ thiết bị này" + +msgid "Pull readest progress from other devices" +msgstr "Lấy tiến trình Readest từ thiết bị khác" + +msgid "Push readest annotations from this device" +msgstr "Đẩy ghi chú Readest từ thiết bị này" + +msgid "Pull readest annotations from other devices" +msgstr "Lấy ghi chú Readest từ thiết bị khác" + +msgid "Log in Readest Account" +msgstr "Đăng nhập tài khoản Readest" + +msgid "Log out as %1" +msgstr "Đăng xuất khỏi %1" + +msgid "Auto sync progress and annotations" +msgstr "Tự động đồng bộ tiến trình và ghi chú" + +msgid "Push reading progress now" +msgstr "Đẩy tiến trình đọc ngay" + +msgid "Pull reading progress now" +msgstr "Lấy tiến trình đọc ngay" + +msgid "Push annotations now" +msgstr "Đẩy ghi chú ngay" + +msgid "Pull annotations now" +msgstr "Lấy ghi chú ngay" + +msgid "Full sync all annotations" +msgstr "Đồng bộ đầy đủ tất cả ghi chú" + +msgid "Sync info" +msgstr "Thông tin đồng bộ" + +msgid "Check for update (v%1)" +msgstr "Kiểm tra cập nhật (v%1)" + +msgid "Check for update" +msgstr "Kiểm tra cập nhật" + +msgid "Please login first" +msgstr "Vui lòng đăng nhập trước" + +msgid "Please configure Readest settings first" +msgstr "Vui lòng cấu hình cài đặt Readest trước" + +msgid "No book is open" +msgstr "Không có sách nào đang mở" + +msgid "(none)" +msgstr "(không có)" + +msgid "Never synced" +msgstr "Chưa đồng bộ" + +msgid "Book Fingerprint" +msgstr "Dấu vân tay sách" + +msgid "Title" +msgstr "Tiêu đề" + +msgid "Author" +msgstr "Tác giả" + +msgid "Identifiers" +msgstr "Định Danh" + +msgid "Last Synced" +msgstr "Lần đồng bộ cuối" + +msgid "Sync Info" +msgstr "Thông tin đồng bộ" + +msgid "Checking for update…" +msgstr "Đang kiểm tra cập nhật…" + +msgid "Failed to check for update. Please try again later." +msgstr "Không thể kiểm tra cập nhật. Vui lòng thử lại sau." + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "Phiên bản mới đã có: v%1 (hiện tại: v%2).\n\nCập nhật ngay?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "Phiên bản mới đã có: v%1.\n\nCập nhật ngay?" + +msgid "Update" +msgstr "Cập nhật" + +msgid "You are up to date (v%1)." +msgstr "Bạn đang dùng phiên bản mới nhất (v%1)." + +msgid "Downloading update…" +msgstr "Đang tải bản cập nhật…" + +msgid "Failed to download update. Please try again later." +msgstr "Không thể tải bản cập nhật. Vui lòng thử lại sau." + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Plugin Readest đã cập nhật lên v%1.\n\nVui lòng khởi động lại KOReader để áp dụng bản cập nhật." + +msgid "Restart now" +msgstr "Khởi động lại ngay" + +msgid "Later" +msgstr "Để sau" + +msgid "Failed to install update: %1" +msgstr "Không thể cài đặt bản cập nhật: %1" + +msgid "unknown error" +msgstr "lỗi không xác định" + +msgid "No annotations to push" +msgstr "Không có ghi chú để đẩy" + +msgid "Pushing annotations..." +msgstr "Đang đẩy ghi chú…" + +msgid "%1 annotations pushed successfully" +msgstr "Đã đẩy %1 ghi chú" + +msgid "Failed to push annotations" +msgstr "Không thể đẩy ghi chú" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "Đồng bộ ghi chú không hỗ trợ tài liệu PDF" + +msgid "Full sync: pulling all annotations..." +msgstr "Đồng bộ đầy đủ: đang lấy tất cả ghi chú…" + +msgid "Pulling annotations..." +msgstr "Đang lấy ghi chú…" + +msgid "Failed to pull annotations" +msgstr "Không thể lấy ghi chú" + +msgid "No new annotations found" +msgstr "Không tìm thấy ghi chú mới" + +msgid "%1 annotations pulled" +msgstr "Đã lấy %1 ghi chú" + +msgid "Cancel" +msgstr "Hủy" + +msgid "Login" +msgstr "Đăng nhập" + +msgid "Please enter both email and password" +msgstr "Vui lòng nhập email và mật khẩu" + +msgid "Please configure Supabase URL and API key first" +msgstr "Vui lòng cấu hình URL Supabase và khóa API trước" + +msgid "Logging in..." +msgstr "Đang đăng nhập…" + +msgid "Successfully logged in to Readest" +msgstr "Đã đăng nhập Readest" + +msgid "Login failed: %1" +msgstr "Đăng nhập thất bại: %1" + +msgid "Logged out from Readest" +msgstr "Đã đăng xuất khỏi Readest" + +msgid "Cannot identify the current book" +msgstr "Không thể nhận dạng sách hiện tại" + +msgid "Progress has been synchronized." +msgstr "Tiến trình đã được đồng bộ." + +msgid "Pushing reading progress..." +msgstr "Đang đẩy tiến trình đọc…" + +msgid "Reading progress pushed successfully" +msgstr "Đã đẩy tiến trình đọc" + +msgid "Failed to push reading progress" +msgstr "Không thể đẩy tiến trình đọc" + +msgid "Pulling reading progress..." +msgstr "Đang lấy tiến trình đọc…" + +msgid "Authentication failed, please login again" +msgstr "Xác thực thất bại, vui lòng đăng nhập lại" + +msgid "Failed to pull reading progress" +msgstr "Không thể lấy tiến trình đọc" + +msgid "Reading progress synchronized" +msgstr "Tiến trình đọc đã đồng bộ" + +msgid "No saved reading progress found for this book" +msgstr "Không tìm thấy tiến trình đọc đã lưu cho sách này" diff --git a/apps/readest.koplugin/locales/zh-CN/translation.po b/apps/readest.koplugin/locales/zh-CN/translation.po new file mode 100644 index 00000000..cd20b114 --- /dev/null +++ b/apps/readest.koplugin/locales/zh-CN/translation.po @@ -0,0 +1,231 @@ +# Chinese (Simplified) translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Chinese (Simplified)\n" +"Language: zh-CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "让你的 KOReader 与 Readest 设备保持同步。" + +msgid "Set auto progress sync" +msgstr "设置自动同步阅读进度" + +msgid "on" +msgstr "开" + +msgid "off" +msgstr "关" + +msgid "Toggle auto readest sync" +msgstr "切换 Readest 自动同步" + +msgid "Push readest progress from this device" +msgstr "从此设备推送 Readest 阅读进度" + +msgid "Pull readest progress from other devices" +msgstr "从其他设备拉取 Readest 阅读进度" + +msgid "Push readest annotations from this device" +msgstr "从此设备推送 Readest 标注" + +msgid "Pull readest annotations from other devices" +msgstr "从其他设备拉取 Readest 标注" + +msgid "Log in Readest Account" +msgstr "登录 Readest 账户" + +msgid "Log out as %1" +msgstr "退出登录(%1)" + +msgid "Auto sync progress and annotations" +msgstr "自动同步阅读进度和标注" + +msgid "Push reading progress now" +msgstr "立即推送阅读进度" + +msgid "Pull reading progress now" +msgstr "立即拉取阅读进度" + +msgid "Push annotations now" +msgstr "立即推送标注" + +msgid "Pull annotations now" +msgstr "立即拉取标注" + +msgid "Full sync all annotations" +msgstr "完整同步所有标注" + +msgid "Sync info" +msgstr "同步信息" + +msgid "Check for update (v%1)" +msgstr "检查更新(v%1)" + +msgid "Check for update" +msgstr "检查更新" + +msgid "Please login first" +msgstr "请先登录" + +msgid "Please configure Readest settings first" +msgstr "请先配置 Readest 设置" + +msgid "No book is open" +msgstr "没有打开的书籍" + +msgid "(none)" +msgstr "(无)" + +msgid "Never synced" +msgstr "尚未同步" + +msgid "Book Fingerprint" +msgstr "书籍指纹" + +msgid "Title" +msgstr "标题" + +msgid "Author" +msgstr "作者" + +msgid "Identifiers" +msgstr "标识符" + +msgid "Last Synced" +msgstr "上次同步" + +msgid "Sync Info" +msgstr "同步信息" + +msgid "Checking for update…" +msgstr "正在检查更新…" + +msgid "Failed to check for update. Please try again later." +msgstr "检查更新失败,请稍后再试。" + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "有新版本可用:v%1(当前:v%2)。\n\n是否立即更新?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "有新版本可用:v%1。\n\n是否立即更新?" + +msgid "Update" +msgstr "更新" + +msgid "You are up to date (v%1)." +msgstr "当前已是最新版本(v%1)。" + +msgid "Downloading update…" +msgstr "正在下载更新…" + +msgid "Failed to download update. Please try again later." +msgstr "下载更新失败,请稍后再试。" + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Readest 插件已更新到 v%1。\n\n请重启 KOReader 以应用更新。" + +msgid "Restart now" +msgstr "立即重启" + +msgid "Later" +msgstr "稍后" + +msgid "Failed to install update: %1" +msgstr "安装更新失败:%1" + +msgid "unknown error" +msgstr "未知错误" + +msgid "No annotations to push" +msgstr "没有可推送的标注" + +msgid "Pushing annotations..." +msgstr "正在推送标注..." + +msgid "%1 annotations pushed successfully" +msgstr "已成功推送 %1 条标注" + +msgid "Failed to push annotations" +msgstr "推送标注失败" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "暂不支持同步 PDF 文档的标注" + +msgid "Full sync: pulling all annotations..." +msgstr "完整同步:正在拉取所有标注..." + +msgid "Pulling annotations..." +msgstr "正在拉取标注..." + +msgid "Failed to pull annotations" +msgstr "拉取标注失败" + +msgid "No new annotations found" +msgstr "未发现新标注" + +msgid "%1 annotations pulled" +msgstr "已拉取 %1 条标注" + +msgid "Cancel" +msgstr "取消" + +msgid "Login" +msgstr "登录" + +msgid "Please enter both email and password" +msgstr "请输入邮箱和密码" + +msgid "Please configure Supabase URL and API key first" +msgstr "请先配置 Supabase URL 和 API key" + +msgid "Logging in..." +msgstr "正在登录..." + +msgid "Successfully logged in to Readest" +msgstr "已成功登录 Readest" + +msgid "Login failed: %1" +msgstr "登录失败:%1" + +msgid "Logged out from Readest" +msgstr "已退出 Readest" + +msgid "Cannot identify the current book" +msgstr "无法识别当前书籍" + +msgid "Progress has been synchronized." +msgstr "阅读进度已同步。" + +msgid "Pushing reading progress..." +msgstr "正在推送阅读进度..." + +msgid "Reading progress pushed successfully" +msgstr "阅读进度推送成功" + +msgid "Failed to push reading progress" +msgstr "推送阅读进度失败" + +msgid "Pulling reading progress..." +msgstr "正在拉取阅读进度..." + +msgid "Authentication failed, please login again" +msgstr "认证失败,请重新登录" + +msgid "Failed to pull reading progress" +msgstr "拉取阅读进度失败" + +msgid "Reading progress synchronized" +msgstr "阅读进度已同步" + +msgid "No saved reading progress found for this book" +msgstr "未找到此书籍的已保存阅读进度" diff --git a/apps/readest.koplugin/locales/zh-TW/translation.po b/apps/readest.koplugin/locales/zh-TW/translation.po new file mode 100644 index 00000000..35cc986f --- /dev/null +++ b/apps/readest.koplugin/locales/zh-TW/translation.po @@ -0,0 +1,231 @@ +# Chinese (Traditional) translation for readest.koplugin +# +msgid "" +msgstr "" +"Project-Id-Version: readest.koplugin\n" +"Last-Translator: Readest contributors\n" +"Language-Team: Chinese (Traditional)\n" +"Language: zh-TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "Readest" +msgstr "Readest" + +msgid "Keeps your KOReader and Readest devices in sync." +msgstr "讓你的 KOReader 與 Readest 裝置保持同步。" + +msgid "Set auto progress sync" +msgstr "設定自動同步閱讀進度" + +msgid "on" +msgstr "開" + +msgid "off" +msgstr "關" + +msgid "Toggle auto readest sync" +msgstr "切換 Readest 自動同步" + +msgid "Push readest progress from this device" +msgstr "從此裝置推送 Readest 閱讀進度" + +msgid "Pull readest progress from other devices" +msgstr "從其他裝置拉取 Readest 閱讀進度" + +msgid "Push readest annotations from this device" +msgstr "從此裝置推送 Readest 註釋" + +msgid "Pull readest annotations from other devices" +msgstr "從其他裝置拉取 Readest 註釋" + +msgid "Log in Readest Account" +msgstr "登入 Readest 帳戶" + +msgid "Log out as %1" +msgstr "登出(%1)" + +msgid "Auto sync progress and annotations" +msgstr "自動同步閱讀進度和註釋" + +msgid "Push reading progress now" +msgstr "立即推送閱讀進度" + +msgid "Pull reading progress now" +msgstr "立即拉取閱讀進度" + +msgid "Push annotations now" +msgstr "立即推送註釋" + +msgid "Pull annotations now" +msgstr "立即拉取註釋" + +msgid "Full sync all annotations" +msgstr "完整同步所有註釋" + +msgid "Sync info" +msgstr "同步資訊" + +msgid "Check for update (v%1)" +msgstr "檢查更新(v%1)" + +msgid "Check for update" +msgstr "檢查更新" + +msgid "Please login first" +msgstr "請先登入" + +msgid "Please configure Readest settings first" +msgstr "請先設定 Readest" + +msgid "No book is open" +msgstr "沒有開啟的書籍" + +msgid "(none)" +msgstr "(無)" + +msgid "Never synced" +msgstr "尚未同步" + +msgid "Book Fingerprint" +msgstr "書籍指紋" + +msgid "Title" +msgstr "書名" + +msgid "Author" +msgstr "作者" + +msgid "Identifiers" +msgstr "識別碼" + +msgid "Last Synced" +msgstr "上次同步" + +msgid "Sync Info" +msgstr "同步資訊" + +msgid "Checking for update…" +msgstr "正在檢查更新…" + +msgid "Failed to check for update. Please try again later." +msgstr "檢查更新失敗,請稍後再試。" + +msgid "A new version is available: v%1 (current: v%2).\n\nDo you want to update now?" +msgstr "有新版本可用:v%1(目前:v%2)。\n\n是否立即更新?" + +msgid "A new version is available: v%1.\n\nDo you want to update now?" +msgstr "有新版本可用:v%1。\n\n是否立即更新?" + +msgid "Update" +msgstr "更新" + +msgid "You are up to date (v%1)." +msgstr "目前已是最新版本(v%1)。" + +msgid "Downloading update…" +msgstr "正在下載更新…" + +msgid "Failed to download update. Please try again later." +msgstr "下載更新失敗,請稍後再試。" + +msgid "Readest plugin updated to v%1.\n\nPlease restart KOReader to apply the update." +msgstr "Readest 外掛已更新到 v%1。\n\n請重新啟動 KOReader 以套用更新。" + +msgid "Restart now" +msgstr "立即重新啟動" + +msgid "Later" +msgstr "稍後" + +msgid "Failed to install update: %1" +msgstr "安裝更新失敗:%1" + +msgid "unknown error" +msgstr "未知錯誤" + +msgid "No annotations to push" +msgstr "沒有可推送的註釋" + +msgid "Pushing annotations..." +msgstr "正在推送註釋…" + +msgid "%1 annotations pushed successfully" +msgstr "已成功推送 %1 條註釋" + +msgid "Failed to push annotations" +msgstr "推送註釋失敗" + +msgid "Annotation sync is not supported for PDF documents" +msgstr "暫不支援同步 PDF 文件的註釋" + +msgid "Full sync: pulling all annotations..." +msgstr "完整同步:正在拉取所有註釋…" + +msgid "Pulling annotations..." +msgstr "正在拉取註釋…" + +msgid "Failed to pull annotations" +msgstr "拉取註釋失敗" + +msgid "No new annotations found" +msgstr "未發現新註釋" + +msgid "%1 annotations pulled" +msgstr "已拉取 %1 條註釋" + +msgid "Cancel" +msgstr "取消" + +msgid "Login" +msgstr "登入" + +msgid "Please enter both email and password" +msgstr "請輸入電子郵件和密碼" + +msgid "Please configure Supabase URL and API key first" +msgstr "請先設定 Supabase URL 和 API 金鑰" + +msgid "Logging in..." +msgstr "正在登入…" + +msgid "Successfully logged in to Readest" +msgstr "已成功登入 Readest" + +msgid "Login failed: %1" +msgstr "登入失敗:%1" + +msgid "Logged out from Readest" +msgstr "已登出 Readest" + +msgid "Cannot identify the current book" +msgstr "無法識別目前書籍" + +msgid "Progress has been synchronized." +msgstr "閱讀進度已同步。" + +msgid "Pushing reading progress..." +msgstr "正在推送閱讀進度…" + +msgid "Reading progress pushed successfully" +msgstr "閱讀進度推送成功" + +msgid "Failed to push reading progress" +msgstr "推送閱讀進度失敗" + +msgid "Pulling reading progress..." +msgstr "正在拉取閱讀進度…" + +msgid "Authentication failed, please login again" +msgstr "驗證失敗,請重新登入" + +msgid "Failed to pull reading progress" +msgstr "拉取閱讀進度失敗" + +msgid "Reading progress synchronized" +msgstr "閱讀進度已同步" + +msgid "No saved reading progress found for this book" +msgstr "找不到此書籍的閱讀進度" diff --git a/apps/readest.koplugin/main.lua b/apps/readest.koplugin/main.lua index 85d26189..361239e7 100644 --- a/apps/readest.koplugin/main.lua +++ b/apps/readest.koplugin/main.lua @@ -6,7 +6,7 @@ local NetworkMgr = require("ui/network/manager") local UIManager = require("ui/uimanager") local sha2 = require("ffi/sha2") local T = require("ffi/util").template -local _ = require("gettext") +local _ = require("i18n") local SyncAuth = require("syncauth") local SyncConfig = require("syncconfig") @@ -15,7 +15,7 @@ local SelfUpdate = require("selfupdate") local ReadestSync = WidgetContainer:new{ name = "readest", - title = _("Readest Sync"), + title = _("Readest"), settings = nil, } @@ -74,12 +74,12 @@ end function ReadestSync:addToMainMenu(menu_items) menu_items.readest_sync = { sorting_hint = "tools", - text = _("Readest Sync"), + text = _("Readest"), sub_item_table = { { text_func = function() return SyncAuth:needsLogin(self.settings) and _("Log in Readest Account") - or _("Log out as ") .. (self.settings.user_name or "") + or T(_("Log out as %1"), self.settings.user_name or "") end, callback_func = function() if SyncAuth:needsLogin(self.settings) then @@ -103,7 +103,7 @@ function ReadestSync:addToMainMenu(menu_items) separator = true, }, { - text = _("Push book config now"), + text = _("Push reading progress now"), enabled_func = function() return self.settings.access_token ~= nil and self.ui.document ~= nil end, @@ -112,7 +112,7 @@ function ReadestSync:addToMainMenu(menu_items) end, }, { - text = _("Pull book config now"), + text = _("Pull reading progress now"), enabled_func = function() return self.settings.access_token ~= nil and self.ui.document ~= nil end, @@ -150,12 +150,12 @@ function ReadestSync:addToMainMenu(menu_items) separator = true, }, { - text = _("Metadata hash info"), + text = _("Sync info"), enabled_func = function() return self.ui.document ~= nil end, callback = function() - self:showMetaHashInfo() + self:showSyncInfo() end, separator = true, }, @@ -208,7 +208,7 @@ function ReadestSync:getBookIdentifiers() return book_hash, meta_hash end -function ReadestSync:showMetaHashInfo() +function ReadestSync:showSyncInfo() if not self.ui.document then UIManager:show(InfoMessage:new{ text = _("No book is open"), @@ -222,12 +222,17 @@ function ReadestSync:showMetaHashInfo() local stored_meta_hash = doc_readest_sync.meta_hash_v1 local placeholder = _("(none)") + local last_synced_at = math.max( + doc_readest_sync.last_synced_at_config or 0, + doc_readest_sync.last_synced_at_notes or 0 + ) + local last_synced_label = last_synced_at > 0 + and os.date("%Y-%m-%d %H:%M", last_synced_at) + or _("Never synced") + local kv_pairs = { - { _("Meta Hash"), stored_meta_hash or info.meta_hash }, + { _("Book Fingerprint"), stored_meta_hash or info.meta_hash }, } - if stored_meta_hash and stored_meta_hash ~= info.meta_hash then - table.insert(kv_pairs, { _("Computed Hash"), info.meta_hash }) - end table.insert(kv_pairs, { _("Title"), info.title ~= "" and info.title or placeholder }) table.insert(kv_pairs, { _("Author"), @@ -237,9 +242,10 @@ function ReadestSync:showMetaHashInfo() _("Identifiers"), #info.identifiers > 0 and table.concat(info.identifiers, ", ") or placeholder, }) + table.insert(kv_pairs, { _("Last Synced"), last_synced_label }) UIManager:show(KeyValuePage:new{ - title = _("Metadata Hash"), + title = _("Sync Info"), kv_pairs = kv_pairs, }) end diff --git a/apps/readest.koplugin/scripts/apply-translations.js b/apps/readest.koplugin/scripts/apply-translations.js new file mode 100644 index 00000000..4fe78371 --- /dev/null +++ b/apps/readest.koplugin/scripts/apply-translations.js @@ -0,0 +1,65 @@ +#!/usr/bin/env node +/** + * One-shot applier: reads /tmp/koplugin-translations/.json and fills + * empty msgstrs in locales//translation.po. Existing translations are + * never overwritten (only `msgstr ""` lines are replaced). + */ + +'use strict'; + +const fs = require('node:fs'); +const path = require('node:path'); + +const LOCALES_DIR = path.resolve(__dirname, '..', 'locales'); +const DATA_DIR = '/tmp/koplugin-translations'; + +function escapePo(s) { + return s + .replace(/\\/g, '\\\\') + .replace(/"/g, '\\"') + .replace(/\n/g, '\\n') + .replace(/\t/g, '\\t') + .replace(/\r/g, '\\r'); +} + +function applyOne(lang, dict) { + const filePath = path.join(LOCALES_DIR, lang, 'translation.po'); + if (!fs.existsSync(filePath)) { + console.warn(` ${lang.padEnd(6)} skipped (no .po file)`); + return; + } + let text = fs.readFileSync(filePath, 'utf-8'); + let filled = 0; + let already = 0; + for (const [msgid, msgstr] of Object.entries(dict)) { + if (!msgstr) continue; + const idEsc = escapePo(msgid); + const strEsc = escapePo(msgstr); + const target = `msgid "${idEsc}"\nmsgstr ""`; + const replacement = `msgid "${idEsc}"\nmsgstr "${strEsc}"`; + if (text.includes(target)) { + text = text.replace(target, replacement); + filled++; + } else { + already++; + } + } + fs.writeFileSync(filePath, text); + console.log(` ${lang.padEnd(6)} +${filled} (${already} already set or absent)`); +} + +const files = fs.existsSync(DATA_DIR) + ? fs + .readdirSync(DATA_DIR) + .filter((f) => f.endsWith('.json')) + .sort() + : []; +if (files.length === 0) { + console.error(`No translation JSON files in ${DATA_DIR}`); + process.exit(1); +} +for (const file of files) { + const lang = file.replace(/\.json$/, ''); + const dict = JSON.parse(fs.readFileSync(path.join(DATA_DIR, file), 'utf-8')); + applyOne(lang, dict); +} diff --git a/apps/readest.koplugin/scripts/extract-i18n.js b/apps/readest.koplugin/scripts/extract-i18n.js new file mode 100644 index 0000000000000000000000000000000000000000..b774d19c8611f815caffe5ce850727be8225e697 GIT binary patch literal 9529 zcmcIqZCBey7Vc+$#o)4)1XzY7+s%O(4kad~14$NL$9F7F0>0E)U0q_UtoJz;{vc)ejb-Ggem~+& zrXq|-k_|;NVS@Vsm#KT3OrvZR#_TBbnM^V<;F9@qz_MxJr<{;Q$-s}e?7WNoc(l{W zafV6kP7^jv1mkyHJTO|${1InSC{rFVAWg?Se^c9^P6=DM`8MXC)3zM=am)o9B=ImD zxmcpr<4}l1NDY{P=w!%lrtx&5;I;rreBCg64voVS{kC7unG6HIMaW`)&n9vd2H;3= z1_F2-fUx^89Wy?erVq3Xv8=PCFY&gNSN8`Z0YtD);vjVVGx&l83#mc^8uL_e$;BNH zayHJgSiNOSX@$vw2&bv+81mahy!%N4X=iE4%B0rKAhouamLLzAvY}*MNbavJ6x_B* zwOd1JIooD=>Vt#%4fK$iW zNfagbZ2#!}8JXZ6k5f{oYlL^Sck{v#l(-Tbq3!7 zN<4}6mF&LSHV?aY%$B=s)7iGzY#k^*`BfCZ_)|ZI)ifg6ERbyE&|Frb&jB3DaU<|z z3WhZbAT=32hl`yG6GKrY<3R9u@C+)d7{auQ;V|{1XAw~oB`Kkz4Z->C3q^68R5ART zz?hr$*`SK-7O+q#E9~Lpt?eNj4n5pyPKPA zmu)bF4BYQ@U*${hx^L)GL2SI+++bh6Xb|k#Z~(Ijm{%|}GBRapaZNn$v-CMSstH&U zh8m0KQ34-%!eWKFH+AL|cO^r(ePw7>{C2yq3r4!&aF@LT8?UQu$h)eJ&hL5fa+9Av zVdOMHdVuKAhw1;1~EU2Gvfsi5Y+d&2LBgRhwVj};g0b~kdf*B(G&Ce~g|uByCv2VR^< zuyYp98`*HQPKk;~k%=1FA zrnLlm;ZMTog&1Vbtj@!D49j>S4(q?;_Wp@gWoLgJQZd2o^Kdea!ePh*rx9y|R0-Y1 zAI<14gdc=d82Qn&@d?sW&Gya`R7-!CI;wfG47WC{O=UZs`q&P#V{UBh9YgYK%zk5v zjzwzzIfJ6bBFA6kK{H)gw!hsU)v0BRgTT6Y3I4%kolniHvM{ck0seJlG8V(srvw zH!XGDvRYdVKkG{*#$gr@$bwju`5$4V1AoeG=_nIH$HkH?rNSPiJX0mRO%Fpn+StZF z@0fHW_-Z=F-P)Q4V^p!DNg806ybP}hl(BHgY&_`#8HgfF3E3KoqY_09ox@Wfs!`BJ zgGM8&i0_iNU7?omvJCCx5S|v4n3!TtEzi69;(4yK>a_6m(sS0YI-_l}$!q)alHpzK>dH}yiIRBK z?xX#_g@W=~f*mJ@0Lj|Qz*CgcscPUS7zCso{ZaJbwzvOl@8T&z-lcbGUwYCz zzgpdOyes@CS3QS_DNV?D&9Um~ZLI`t3d0Z+3a~dsQ;k2gx_*Er_xvFqR2oc2FJd$3 zvhAV6x;t#>Vk#j2z)ZllTo|e4m~9gEnT>urHy6oyj91W9;n<&Ig+WYt>yM5y6cS?% z+LQ=%oPeX*h+Ps$!wf}eZa#V`)n+)9is}P!qR3V)`;!it;GumhONZ^Z)Fu0D|VD0?OG6129!}&dKHGl|ihX0XyJL%fy;H_N5&LK%(v>PjR=7 ziAcr`h_>Xvr)bU!DkM>qgq<;CXE5hcjOGl}9nQkZ1T6rDQqeBP)7up#NMG|6*>iGhV*Pa_|y>Uj9;jNl00S;k!jFP37pLaI`FfnOC% zsa{GOmV{ms4NEPx)Oxb=od)s95uvFf*D2wG2lCcajNY`*k##J?&D9`LDkm>CIC-!y z!wYEt+W?Wn)}w(2(OI>Ii#$V3Ln(%3QA9Rto*|mgJse~LvmMHgdTT+;Fv=v29ua*J zJ0F#Ni7$rBLt5kW=a&#sZBLd5tFn$Da3$lv%g|cVxg?OO}+_ zbTUz-)rtTeGIQ8k!1MILk{ zJuN1`We7J}D0!kQ_EU>PQ$W%bXnG{t``gD#C9<+&R^P(dRSXXfdaY=_8s+b|eTBcu8__hxy6y4#Oy_ z?$}I2m*J4g?Mp=!MLg+Fkr?co@9{Pw!&PS`vnr3OOf{!Q#knI9g*;SZun_X*A1U`? zEoiJ^goey`6u(=fw?JTSq=hc?>_);c0?i_)H&{s!%M# zewN~pvJv(Mu=*IZeZl<+3BMu^0(ru52~w!4ai7&XK0NM~yllD~jU-sDeIyKI@Ak#R zl+=fApo0P^jJMffOl4o%{djTEe)~0O;(v&}@|x8=-Dm)zh_tYkd$h zYi5VEN%mMaNm|cnVAO^2iM$Fj(XLxHDd~>#IsvmFil#b+)3p7oSYUXrt@edXD6Dawg3%-QC)^(dRe3%=K z@DUF31MB)hvT|AzH;ivk?5F|ny2(@>!0x&czEL18s#v!tg#X}%QvGY^Aq|#+L$Kn` zOo-I%2Pa~W0A^3)<9?Dw0nX!76$F@NUZ~z@>5n2-9_y5=kV%OY7&QaRbcp)7Q3Mf8 zJMa;K8zm$Arl$vd_}TygK+P)*l`~Wg;a>=-29^36W96|t1ux=s=@-N))u;u>Ig?68 zb9o|PD+#*yMQqv42PbIYgHxoqfI@b&nTQ-E2{ zol>p-&Z81rG$w76YS+SPV3oRR6GKpj4H6@fSWX3JOx1kaaA|oFmZH(n)m{Fp6=1$s z0S7cj$i?ZJQGyHosHxXPb#BYGSI|^v;yC%JRXNa$suwMwss|_>jNLSu9sEpvi)51+ z95Tpr8nW20ompqzU2fQ#LB*Jzvq(n)yM)_ruRNNEv*IHj=LTm^5S2dTRZ^c(d#>Zx H_R{|VS*g>L literal 0 HcmV?d00001 diff --git a/apps/readest.koplugin/selfupdate.lua b/apps/readest.koplugin/selfupdate.lua index 1ab3e6db..35b1f51e 100644 --- a/apps/readest.koplugin/selfupdate.lua +++ b/apps/readest.koplugin/selfupdate.lua @@ -4,7 +4,7 @@ local NetworkMgr = require("ui/network/manager") local UIManager = require("ui/uimanager") local logger = require("logger") local T = require("ffi/util").template -local _ = require("gettext") +local _ = require("i18n") local SelfUpdate = {} diff --git a/apps/readest.koplugin/syncannotations.lua b/apps/readest.koplugin/syncannotations.lua index e71e5b22..f07d7ed8 100644 --- a/apps/readest.koplugin/syncannotations.lua +++ b/apps/readest.koplugin/syncannotations.lua @@ -5,7 +5,7 @@ local UIManager = require("ui/uimanager") local logger = require("logger") local sha2 = require("ffi/sha2") local T = require("ffi/util").template -local _ = require("gettext") +local _ = require("i18n") local SyncAnnotations = {} @@ -179,6 +179,11 @@ function SyncAnnotations:push(ui, settings, client, interactive, full_sync) if success then settings.last_notes_sync_at = os.time() * 1000 G_reader_settings:saveSetting("readest_sync", settings) + if ui.doc_settings then + local doc_readest_sync = ui.doc_settings:readSetting("readest_sync") or {} + doc_readest_sync.last_synced_at_notes = os.time() + ui.doc_settings:saveSetting("readest_sync", doc_readest_sync) + end end end ) @@ -339,6 +344,11 @@ function SyncAnnotations:pull(ui, settings, client, book_hash, meta_hash, dialog settings.last_notes_sync_at = os.time() * 1000 G_reader_settings:saveSetting("readest_sync", settings) + if ui.doc_settings then + local doc_readest_sync = ui.doc_settings:readSetting("readest_sync") or {} + doc_readest_sync.last_synced_at_notes = os.time() + ui.doc_settings:saveSetting("readest_sync", doc_readest_sync) + end if interactive then UIManager:show(InfoMessage:new{ diff --git a/apps/readest.koplugin/syncauth.lua b/apps/readest.koplugin/syncauth.lua index 2468fdaa..072cddfc 100644 --- a/apps/readest.koplugin/syncauth.lua +++ b/apps/readest.koplugin/syncauth.lua @@ -5,7 +5,8 @@ local NetworkMgr = require("ui/network/manager") local UIManager = require("ui/uimanager") local logger = require("logger") local util = require("util") -local _ = require("gettext") +local T = require("ffi/util").template +local _ = require("i18n") local SyncAuth = {} @@ -146,7 +147,7 @@ function SyncAuth:doLogin(settings, path, email, password, menu) }) else UIManager:show(InfoMessage:new{ - text = _("Login failed: ") .. (response.msg or "Unknown error"), + text = T(_("Login failed: %1"), response.msg or _("unknown error")), timeout = 3, }) end @@ -173,7 +174,7 @@ function SyncAuth:logout(settings, path, menu) end UIManager:show(InfoMessage:new{ - text = _("Logged out from Readest Sync"), + text = _("Logged out from Readest"), timeout = 2, }) end diff --git a/apps/readest.koplugin/syncconfig.lua b/apps/readest.koplugin/syncconfig.lua index b094098f..dc75e583 100644 --- a/apps/readest.koplugin/syncconfig.lua +++ b/apps/readest.koplugin/syncconfig.lua @@ -4,7 +4,7 @@ local UIManager = require("ui/uimanager") local logger = require("logger") local util = require("util") local sha2 = require("ffi/sha2") -local _ = require("gettext") +local _ = require("i18n") local SyncConfig = {} @@ -177,7 +177,7 @@ function SyncConfig:push(ui, settings, client, interactive, last_sync_timestamp) if interactive then UIManager:show(InfoMessage:new{ - text = _("Pushing book config..."), + text = _("Pushing reading progress..."), timeout = 1, }) end @@ -194,16 +194,21 @@ function SyncConfig:push(ui, settings, client, interactive, last_sync_timestamp) if interactive then if success then UIManager:show(InfoMessage:new{ - text = _("Book config pushed successfully"), + text = _("Reading progress pushed successfully"), timeout = 2, }) else UIManager:show(InfoMessage:new{ - text = _("Failed to push book config"), + text = _("Failed to push reading progress"), timeout = 2, }) end end + if success and ui.doc_settings then + local doc_readest_sync = ui.doc_settings:readSetting("readest_sync") or {} + doc_readest_sync.last_synced_at_config = os.time() + ui.doc_settings:saveSetting("readest_sync", doc_readest_sync) + end end ) @@ -216,7 +221,7 @@ end function SyncConfig:pull(ui, settings, client, book_hash, meta_hash, interactive, logout_fn) if interactive then UIManager:show(InfoMessage:new{ - text = _("Pulling book config..."), + text = _("Pulling reading progress..."), timeout = 1, }) end @@ -242,13 +247,19 @@ function SyncConfig:pull(ui, settings, client, book_hash, meta_hash, interactive end if interactive then UIManager:show(InfoMessage:new{ - text = _("Failed to pull book config"), + text = _("Failed to pull reading progress"), timeout = 2, }) end return end + if ui.doc_settings then + local doc_readest_sync = ui.doc_settings:readSetting("readest_sync") or {} + doc_readest_sync.last_synced_at_config = os.time() + ui.doc_settings:saveSetting("readest_sync", doc_readest_sync) + end + local data = response.configs if data and #data > 0 then local config = data[1] @@ -256,7 +267,7 @@ function SyncConfig:pull(ui, settings, client, book_hash, meta_hash, interactive self:applyBookConfig(ui, config) if interactive then UIManager:show(InfoMessage:new{ - text = _("Book config synchronized"), + text = _("Reading progress synchronized"), timeout = 2, }) end @@ -266,7 +277,7 @@ function SyncConfig:pull(ui, settings, client, book_hash, meta_hash, interactive if interactive then UIManager:show(InfoMessage:new{ - text = _("No saved config found for this book"), + text = _("No saved reading progress found for this book"), timeout = 2, }) end