fix(cbz): ComicInfo metadata + CBZ page count + WebDAV i18n (#4282)

* fix(cbz,i18n): ComicInfo metadata + CBZ page count + WebDAV i18n

Closes #4253 (ComicInfo.xml not read) and #4255 (CBZ shows "1 page left").

CBZ / ComicInfo (foliate-js submodule + Readest derivation):
- comic-book.js: find ComicInfo.xml in subdirectories too, parse
  description / subject / identifier / published / series fields
  beyond the prior name+position pair. Series Count populates the
  canonical `belongsTo.series.total`; no top-level duplication.
- bookService.ts / readerStore.ts: derive `metadata.seriesTotal`
  from `belongsTo.series.total` in parallel to the existing
  series / seriesIndex derivation.
- ProgressBar / FooterBar / DesktopFooterBar: drop the hard-coded
  `pagesLeft = 1` for fixed-layout books and compute it from
  `section.total - section.current`. FooterBar uses
  `FIXED_LAYOUT_FORMATS.has(bookFormat)` so CBZ picks `section`
  (correct image count) instead of `pageinfo` (locations).
- ProgressBar: switch the remaining-pages text to "in book" for
  fixed-layout titles (no chapter structure) and keep
  "in chapter" for reflowable books.

WebDAV refactor for translation coverage:
- WebDAVBrowsePane / SyncHistoryPanel called `t(...)` (passed as a
  prop) instead of `_(...)`. The i18next-scanner only looks for
  `_`, so ~53 strings were unreachable and shipped in English to
  every locale. Switched both components to call
  `useTranslation()` themselves; helpers that aren't React FCs
  take `_: TranslationFunc` so the scanner sees the literal calls.
- WebDAVClient.checkConnection now returns a `code` discriminator
  (`SERVER_URL_REQUIRED` / `AUTH_FAILED` / `ROOT_NOT_FOUND` /
  `UNEXPECTED_STATUS` / `NETWORK`); raw English `message` is
  reserved for the dev console. New `formatConnectError` and
  `formatSyncError` helpers in WebDAVForm translate via a switch
  where each branch is a literal `_('...')`. Same treatment for
  the sync-failure path that previously surfaced raw e.message.
- "Syncing 0 / {{total}}" is now parameterized as
  "Syncing {{n}} / {{total}}" with n=0 at startup so the digit
  formats naturally and the template can be reused mid-sync.
- "Cleanup · {{count}} book(s)" hard-coded options used unsupported
  ternary; rewrote as plural-aware key.

i18n scanner fix (i18next-scanner.config.cjs):
- vinyl-fs walked into directories whose names end in source-file
  extensions (Next.js route folder `runtime-config.js/`, Playwright
  screenshot folder `*.test.tsx/`) and crashed with EISDIR.
  Resolved by expanding globs via `fs.globSync` and filtering to
  files only before handing to the scanner.

TypeScript-syntax sites that broke esprima during extraction:
- WebDAVBrowsePane / WebDAVForm: `(e as Error).message` and
  `failed[0]!.title` inside `_(..., options)` arguments. Replaced
  with `e instanceof Error ? e.message : String(e)` and
  `failed[0]?.title ?? ''` — also runtime-safer.

User-facing em-dash cleanup:
- Removed em-dashes from translation keys across SyncHistoryPanel /
  WebDAVForm / WebDAVBrowsePane / SyncPassphraseSection / send/page /
  replicaCryptoMiddleware / AIPanel. Tagline in `layout.tsx` kept.

Locale translations:
- ~2400 translations applied across all 33 locales for the keys
  that were either newly extractable, freshly worded, or
  pre-existing but untranslated. Zero `__STRING_NOT_TRANSLATED__`
  remain after the run.

Misc:
- next.config.mjs: drop `eslint.ignoreDuringBuilds: true` so build
  runs the same lint as CI.
- Collection type: add `total?: string` for ComicInfo series count.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* ci(test): fix vitest invocation, run with 4 workers

`pnpm test:pr:web` was chaining `pnpm test -- --watch=false`, which
pnpm expanded into:

    dotenv -e .env -e .env.test.local -- vitest -- --watch=false

The second `--` made vitest treat `--watch=false` as a positional
file pattern, not a flag. Vitest then fell back to defaults (in CI's
non-TTY env that still meant a one-shot run, so the suite passed),
but the worker pool was effectively serialized for big chunks of the
243-file run — wall ~90 s on a 4-vCPU runner where the parallel-sum
of phases was ~236 s (≈2.6× effective parallelism).

Replace the chained pnpm invocation with a direct call to
`vitest run --maxWorkers=4`, matching the 4 vCPUs the GH Actions
ubuntu-latest runner provides.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Huang Xin
2026-05-23 21:59:29 +08:00
committed by GitHub
parent b78daed562
commit 5e366018df
55 changed files with 3551 additions and 339 deletions
+24 -1
View File
@@ -1,5 +1,28 @@
const fs = require('fs');
const lngs = require('./i18n-langs.json');
// Resolve globs ourselves and drop directory matches. The scanner pipes the
// input through vinyl-fs without `nodir: true`, so directories whose names
// look like source files (e.g. Next.js route folders like `runtime-config.js/`
// or screenshot folders like `*.test.tsx/`) blow up with EISDIR.
const resolveInput = (patterns) => {
const positives = patterns.filter((p) => !p.startsWith('!'));
const excludes = patterns
.filter((p) => p.startsWith('!'))
.map((p) => p.slice(1));
const matched = new Set();
for (const pattern of positives) {
for (const entry of fs.globSync(pattern, { exclude: excludes })) {
try {
if (fs.statSync(entry).isFile()) matched.add(entry);
} catch {
// ignore unreadable entries
}
}
}
return [...matched];
};
const options = {
debug: false,
sort: false,
@@ -29,7 +52,7 @@ const options = {
};
module.exports = {
input: ['src/**/*.{js,jsx,ts,tsx}', '!src/**/*.test.{js,jsx,ts,tsx}'],
input: resolveInput(['src/**/*.{js,jsx,ts,tsx}', '!src/**/*.test.{js,jsx,ts,tsx}']),
output: '.',
options,
};
-5
View File
@@ -20,11 +20,6 @@ const nextConfig = {
// Ensure Next.js uses SSG instead of SSR
// https://nextjs.org/docs/pages/building-your-application/deploying/static-exports
output: exportOutput ? 'export' : undefined,
// Linting runs as a dedicated CI step (`pnpm lint`), so skipping it during
// `next build` avoids duplicate work and shortens build time.
eslint: {
ignoreDuringBuilds: true,
},
pageExtensions: exportOutput ? ['jsx', 'tsx'] : ['js', 'jsx', 'ts', 'tsx'],
// Note: This feature is required to use the Next.js Image component in SSG mode.
// See https://nextjs.org/docs/messages/export-image-api for different workarounds.
+1 -1
View File
@@ -27,7 +27,7 @@
"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",
"test:tauri": "bash scripts/test-tauri.sh",
"test:pr:web": "pnpm test -- --watch=false && pnpm test:browser && pnpm test:extension && pnpm build-browser-ext",
"test:pr:web": "dotenv -e .env -e .env.test.local -- vitest run --maxWorkers=4 && pnpm test:browser && pnpm test:extension && pnpm build-browser-ext",
"test:pr:tauri": "bash scripts/test-tauri.sh",
"test:all": "pnpm test -- --watch=false && pnpm test:browser && bash scripts/test-tauri.sh",
"test:e2e": "wdio run wdio.conf.ts",
@@ -605,6 +605,14 @@
"Cover": "غطاء",
"Contain": "احتواء",
"{{number}} pages left in chapter": "<1>تبقّت </1><0>{{number}}</0><1> صفحات في هذا الفصل</1>",
"{{time}} min left in book": "{{time}} دقيقة متبقية حتى نهاية الكتاب",
"{{count}} pages left in book_zero": "<1>لم يتبق أي صفحات في هذا الكتاب</1>",
"{{count}} pages left in book_one": "<1>تبقّت صفحة واحدة في هذا الكتاب</1>",
"{{count}} pages left in book_two": "<1>تبقّت صفحتان في هذا الكتاب</1>",
"{{count}} pages left in book_few": "<1>تبقّت </1><0>{{count}}</0><1> صفحات في هذا الكتاب</1>",
"{{count}} pages left in book_many": "<1>تبقّت </1><0>{{count}}</0><1> صفحة في هذا الكتاب</1>",
"{{count}} pages left in book_other": "<1>تبقّى </1><0>{{count}}</0><1> صفحة في هذا الكتاب</1>",
"{{number}} pages left in book": "<1>تبقّت </1><0>{{number}}</0><1> صفحات في هذا الكتاب</1>",
"Device": "الجهاز",
"E-Ink Mode": "وضع الحبر الإلكتروني",
"Highlight Colors": "ألوان التمييز",
@@ -1419,7 +1427,6 @@
"Disable PIN…": "تعطيل رمز PIN…",
"Sync passphrase ready": "عبارة مرور المزامنة جاهزة",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "سيؤدي هذا إلى حذف بيانات الاعتماد المشفرة التي نقوم بمزامنتها (مثل كلمات مرور كتالوج OPDS) على كل جهاز بشكل دائم. سيتم الاحتفاظ بالنسخ المحلية. ستحتاج إلى إعادة إدخال عبارة مرور المزامنة أو تعيين عبارة جديدة. هل تريد المتابعة؟",
"Sync passphrase forgotten — all encrypted fields cleared": "تم نسيان عبارة مرور المزامنة — تم مسح جميع الحقول المشفرة",
"Sync passphrase": "عبارة مرور المزامنة",
"Set passphrase": "تعيين عبارة المرور",
"Forgot passphrase": "نسيت عبارة المرور",
@@ -1457,7 +1464,6 @@
"Custom background textures": "أنسجة الخلفية المخصصة",
"OPDS catalogs": "كتالوجات OPDS",
"Saved catalog URLs and (encrypted) credentials": "روابط الكتالوجات المحفوظة وبيانات الاعتماد (المشفرة)",
"Wrong sync passphrase — synced credentials could not be decrypted": "عبارة مرور المزامنة غير صحيحة — تعذر فك تشفير بيانات الاعتماد المتزامنة",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "تمت إعادة تعيين بيانات عبارة مرور المزامنة على الخادم. جاري إعادة تشفير بيانات الاعتماد بعبارة المرور الجديدة…",
"Failed to decrypt synced credentials": "تعذر فك تشفير بيانات الاعتماد المتزامنة",
"Imported dictionary bundles and settings": "حزم القواميس المستوردة والإعدادات",
@@ -1574,7 +1580,6 @@
"Drop a book or document, or tap to choose": "أفلِت كتابًا أو مستندًا، أو انقر للاختيار",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "الصق رابط مقالة",
"Added to your library — it will sync to your other devices.": "أُضيف إلى مكتبتك — ستتم مزامنته إلى أجهزتك الأخرى.",
"Working…": "جارٍ العمل…",
"Could not load Send to Readest settings": "تعذّر تحميل إعدادات الإرسال إلى Readest",
"Address copied": "تم نسخ العنوان",
@@ -1623,7 +1628,6 @@
"OK": "موافق",
"No matching books found in the selected folder.": "لم يتم العثور على كتب مطابقة في المجلد المحدد.",
"Send a web article": "إرسال مقالة من الويب",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "ثبّت إضافة Readest للمتصفح لإرسال المقالة التي تقرأها إلى مكتبتك — تلتقط الصفحة من متصفحك لذا تعمل المواقع المدفوعة والتي تتطلب تسجيل الدخول أيضًا.",
"Enter a URL starting with http:// or https://": "أدخل رابطًا يبدأ بـ http:// أو https://",
"Import": "استيراد",
"Import from Web URL": "استيراد من رابط ويب",
@@ -1636,5 +1640,99 @@
"Saved to Readest": "تم الحفظ في Readest",
"Apply to every occurrence in the book": "تطبيق على كل تواجد في الكتاب",
"Saving article from share…": "جارٍ حفظ المقالة من المشاركة…",
"Saved “{{title}}” to your library.": "تم حفظ \"{{title}}\" في مكتبتك."
"Saved “{{title}}” to your library.": "تم حفظ \"{{title}}\" في مكتبتك.",
"WebDAV authentication failed. Reconnect in Settings.": "فشل مصادقة WebDAV. أعد الاتصال من الإعدادات.",
"Downloading": "تنزيل",
"Uploading": "تحميل",
"downloaded {{n}} book(s)": "تنزيل {{n}} كتاب",
"pushed {{n}} config(s)": "دفع {{n}} إعداد",
"uploaded {{n}} new file(s)": "تحميل {{n}} ملف جديد",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "انتهت المزامنة بـ {{failed}} خطأ. {{ok}} ناجح.",
"Sync complete": "اكتملت المزامنة",
"Everything is already up to date.": "كل شيء محدث بالفعل.",
"Browsing {{path}} on {{server}}": "تصفح {{path}} على {{server}}",
"Connect to a WebDAV server to browse your remote files.": "اتصل بخادم WebDAV لتصفح ملفاتك البعيدة.",
"WebDAV": "WebDAV",
"Upload Book Files": "تحميل ملفات الكتب",
"Sync now": "مزامنة الآن",
"Hide password": "إخفاء كلمة المرور",
"Show password": "إظهار كلمة المرور",
"Root Directory": "الدليل الجذر",
"Syncing…": "جاري المزامنة…",
"pulled progress for {{n}} book(s)": "سحب التقدم لـ {{n}} كتاب",
"Sync History": "سجل المزامنة",
"Clear Sync History": "مسح سجل المزامنة",
"No manual syncs yet": "لا توجد مزامنات يدوية بعد",
"Partial": "جزئي",
"Cleanup": "تنظيف",
"Cleanup failed": "فشل التنظيف",
"Sync failed": "فشلت المزامنة",
"{{n}} deleted": "{{n}} محذوف",
"{{n}} failed": "{{n}} فاشل",
"Nothing deleted": "لم يتم حذف شيء",
"{{n}} downloaded": "{{n}} منزل",
"{{n}} uploaded": "{{n}} محمل",
"{{n}} progress": "{{n}} تقدم",
"Up to date": "محدث",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "الكتب المنزلة",
"Files uploaded": "الملفات المحملة",
"Configs uploaded": "الإعدادات المحملة",
"Configs downloaded": "الإعدادات المنزلة",
"Covers uploaded": "الأغلفة المحملة",
"Books deleted": "الكتب المحذوفة",
"Files in sync": "الملفات المتزامنة",
"Failures": "الأخطاء",
"Total books": "إجمالي الكتب",
"Error:": "خطأ:",
"Failed books": "الكتب الفاشلة",
"Deleted {{n}} book(s) from server.": "تم حذف {{n}} كتاب/كتب من الخادم.",
"Failed to load directory": "فشل تحميل المجلد",
"File download is only supported on the desktop and mobile apps.": "تنزيل الملفات مدعوم فقط في تطبيقات سطح المكتب والموبايل.",
"Downloaded \"{{title}}\" to your library.": "تم تنزيل \"{{title}}\" إلى مكتبتك.",
"Failed to download \"{{name}}\": {{error}}": "فشل تنزيل \"{{name}}\": {{error}}",
"Up": "الأعلى",
"Cleanup · {{count}} book(s)_zero": "تنظيف · لا كتب",
"Cleanup · {{count}} book(s)_one": "تنظيف · كتاب واحد",
"Cleanup · {{count}} book(s)_two": "تنظيف · كتابان",
"Cleanup · {{count}} book(s)_few": "تنظيف · {{count}} كتب",
"Cleanup · {{count}} book(s)_many": "تنظيف · {{count}} كتاباً",
"Cleanup · {{count}} book(s)_other": "تنظيف · {{count}} كتب",
"Exit cleanup": "إنهاء التنظيف",
"Refresh": "تحديث",
"All clear · no books": "كل شيء واضح · لا توجد كتب",
"Empty directory": "مجلد فارغ",
"Deleted locally · still on server": "تم الحذف محلياً · لا يزال على الخادم",
"Select": "تحديد",
"Already downloaded in this session": "تم التنزيل بالفعل في هذه الجلسة",
"Downloading…": "جاري التنزيل…",
"Download to library": "تنزيل إلى المكتبة",
"Deselect all": "إلغاء تحديد الكل",
"Select all": "تحديد الكل",
"{{n}} selected": "{{n}} محدد",
"Delete from server": "حذف من الخادم",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "تم حذف {{ok}} من {{total}} كتاب/كتب من الخادم؛ فشل {{n}} (الأول: \"{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "تعذر حذف أي من {{n}} كتاب/كتب من الخادم (الأول: \"{{first}}\").",
"Syncing {{n}} / {{total}}": "مزامنة {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "ثبّت إضافة متصفح Readest لإرسال المقالة التي تقرأها إلى مكتبتك. تقتطع الصفحة من متصفحك حتى تعمل المواقع المدفوعة والتي تتطلب تسجيل الدخول.",
"Added to your library. It will sync to your other devices.": "تمت الإضافة إلى مكتبتك. ستتم المزامنة مع أجهزتك الأخرى.",
"Sync passphrase forgotten. All encrypted fields cleared.": "تم نسيان عبارة المرور للمزامنة. تم مسح جميع الحقول المشفرة.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "المزامنات اليدوية والتنظيف فقط. لا تُسجل المزامنات التلقائية أثناء القراءة هنا.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "هل تريد حذف {{n}} كتاب/كتب من خادم WebDAV؟\n\nهذا يحذف الملفات البعيدة فقط؛ مكتبتك المحلية لن تتأثر. لا يمكن التراجع عن الحذف. البيانات على الخادم ستزول للأبد.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "يؤثر فقط على تحميل ملفات الكتب. يتم دائمًا مزامنة تقدم القراءة والتنزيلات.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "عبارة مرور المزامنة غير صحيحة. تعذر فك تشفير بيانات الاعتماد المتزامنة.",
"Email books straight to your library": "أرسل الكتب مباشرة إلى مكتبتك عبر البريد الإلكتروني",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "أعد توجيه المرفقات والمقالات إلى عنوان Readest الخاص بك. متوفر في خطط Plus وPro وLifetime.",
"View plans": "عرض الخطط",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "لا يزال بإمكانك اقتطاع المقالات مجاناً عبر زر \"إرسال\" داخل التطبيق، أو قائمة المشاركة على الجوال، أو امتداد المتصفح.",
"...": "…",
"Server URL is required": "عنوان URL للخادم مطلوب",
"Authentication failed": "فشل المصادقة",
"Root directory not found": "الدليل الجذر غير موجود",
"Unexpected server response (status {{status}})": "استجابة غير متوقعة من الخادم (الحالة {{status}})",
"Network error": "خطأ في الشبكة",
"Remote resource not found": "المورد البعيد غير موجود",
"Sync failed (status {{status}})": "فشلت المزامنة (الحالة {{status}})",
"Sync failed.": "فشلت المزامنة."
}
@@ -589,6 +589,10 @@
"Cover": "ঢাকা",
"Contain": "ধারণ",
"{{number}} pages left in chapter": "<1>অধ্যায়ে </1><0>{{number}}</0><1> পৃষ্ঠা বাকি</1>",
"{{time}} min left in book": "বইয়ে {{time}} মিনিট বাকি",
"{{count}} pages left in book_one": "<1>বইয়ে ১ পৃষ্ঠা বাকি</1>",
"{{count}} pages left in book_other": "<1>বইয়ে </1><0>{{count}}</0><1> পৃষ্ঠা বাকি</1>",
"{{number}} pages left in book": "<1>বইয়ে </1><0>{{number}}</0><1> পৃষ্ঠা বাকি</1>",
"Device": "যন্ত্র",
"E-Ink Mode": "ই-ইঙ্ক মোড",
"Highlight Colors": "হাইলাইট রঙ",
@@ -1323,7 +1327,6 @@
"Disable PIN…": "PIN নিষ্ক্রিয় করুন…",
"Sync passphrase ready": "সিঙ্ক পাসফ্রেজ প্রস্তুত",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "এটি প্রতিটি ডিভাইসে আমরা সিঙ্ক করি এমন এনক্রিপ্ট করা শংসাপত্র (যেমন, OPDS ক্যাটালগ পাসওয়ার্ড) স্থায়ীভাবে মুছে ফেলে। স্থানীয় কপিগুলি সংরক্ষিত থাকে। আপনাকে সিঙ্ক পাসফ্রেজ পুনরায় প্রবেশ করতে হবে বা একটি নতুন সেট করতে হবে। চালিয়ে যাবেন?",
"Sync passphrase forgotten — all encrypted fields cleared": "সিঙ্ক পাসফ্রেজ ভুলে গিয়েছেন — সমস্ত এনক্রিপ্ট করা ক্ষেত্র সাফ করা হয়েছে",
"Sync passphrase": "সিঙ্ক পাসফ্রেজ",
"Set passphrase": "পাসফ্রেজ সেট করুন",
"Forgot passphrase": "পাসফ্রেজ ভুলে গেছেন",
@@ -1361,7 +1364,6 @@
"Custom background textures": "কাস্টম পটভূমির টেক্সচার",
"OPDS catalogs": "OPDS ক্যাটালগ",
"Saved catalog URLs and (encrypted) credentials": "সংরক্ষিত ক্যাটালগ URL এবং (এনক্রিপ্ট করা) ক্রেডেনশিয়াল",
"Wrong sync passphrase — synced credentials could not be decrypted": "ভুল সিঙ্ক পাসফ্রেজ — সিঙ্ক করা ক্রেডেনশিয়াল ডিক্রিপ্ট করা যায়নি",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "সার্ভারের সিঙ্ক পাসফ্রেজ ডেটা রিসেট করা হয়েছে। নতুন পাসফ্রেজ দিয়ে আপনার ক্রেডেনশিয়াল পুনরায় এনক্রিপ্ট করা হচ্ছে…",
"Failed to decrypt synced credentials": "সিঙ্ক করা ক্রেডেনশিয়াল ডিক্রিপ্ট করতে ব্যর্থ",
"Imported dictionary bundles and settings": "আমদানি করা অভিধান বান্ডিল এবং সেটিংস",
@@ -1462,7 +1464,6 @@
"Drop a book or document, or tap to choose": "একটি বই বা নথি ছেড়ে দিন, অথবা বেছে নিতে ট্যাপ করুন",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "একটি নিবন্ধের URL পেস্ট করুন",
"Added to your library — it will sync to your other devices.": "আপনার লাইব্রেরিতে যোগ করা হয়েছে — এটি আপনার অন্যান্য ডিভাইসে সিঙ্ক হবে।",
"Working…": "কাজ চলছে…",
"Could not load Send to Readest settings": "Readest-এ পাঠান সেটিংস লোড করা যায়নি",
"Address copied": "ঠিকানা কপি করা হয়েছে",
@@ -1511,7 +1512,6 @@
"OK": "ঠিক আছে",
"No matching books found in the selected folder.": "নির্বাচিত ফোল্ডারে কোনো মিলিত বই পাওয়া যায়নি।",
"Send a web article": "একটি ওয়েব নিবন্ধ পাঠান",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "আপনি যে নিবন্ধটি পড়ছেন তা আপনার লাইব্রেরিতে পাঠাতে Readest ব্রাউজার এক্সটেনশন ইনস্টল করুন — এটি আপনার ব্রাউজার থেকে পৃষ্ঠাটি ক্লিপ করে, তাই পেওয়াল এবং শুধুমাত্র-লগইন সাইটগুলিও কাজ করে।",
"Enter a URL starting with http:// or https://": "http:// বা https:// দিয়ে শুরু হওয়া একটি URL লিখুন",
"Import": "আমদানি করুন",
"Import from Web URL": "ওয়েব URL থেকে আমদানি করুন",
@@ -1524,5 +1524,95 @@
"Saved to Readest": "Readest-এ সংরক্ষিত",
"Apply to every occurrence in the book": "বইয়ের প্রতিটি উপস্থিতিতে প্রয়োগ করুন",
"Saving article from share…": "শেয়ার থেকে নিবন্ধ সংরক্ষণ করা হচ্ছে…",
"Saved “{{title}}” to your library.": "\"{{title}}\" আপনার লাইব্রেরিতে সংরক্ষিত হয়েছে।"
"Saved “{{title}}” to your library.": "\"{{title}}\" আপনার লাইব্রেরিতে সংরক্ষিত হয়েছে।",
"WebDAV authentication failed. Reconnect in Settings.": "WebDAV প্রমাণীকরণ ব্যর্থ। সেটিংসে আবার সংযোগ করুন।",
"Downloading": "ডাউনলোড হচ্ছে",
"Uploading": "আপলোড হচ্ছে",
"downloaded {{n}} book(s)": "{{n}}টি বই ডাউনলোড করা হয়েছে",
"pushed {{n}} config(s)": "{{n}}টি কনফিগ পাঠানো হয়েছে",
"uploaded {{n}} new file(s)": "{{n}}টি নতুন ফাইল আপলোড করা হয়েছে",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "সিঙ্ক {{failed}}টি ব্যর্থতা সহ সম্পন্ন হয়েছে। {{ok}}টি সফল।",
"Sync complete": "সিঙ্ক সম্পূর্ণ",
"Everything is already up to date.": "সবকিছু ইতিমধ্যে আপ টু ডেট রয়েছে।",
"Browsing {{path}} on {{server}}": "{{server}} এ {{path}} ব্রাউজ করা হচ্ছে",
"Connect to a WebDAV server to browse your remote files.": "আপনার রিমোট ফাইলগুলি ব্রাউজ করতে WebDAV সার্ভারে সংযোগ করুন।",
"WebDAV": "WebDAV",
"Upload Book Files": "বইয়ের ফাইল আপলোড করুন",
"Sync now": "এখনই সিঙ্ক করুন",
"Hide password": "পাসওয়ার্ড লুকান",
"Show password": "পাসওয়ার্ড দেখান",
"Root Directory": "রুট ডিরেক্টরি",
"Syncing…": "সিঙ্ক হচ্ছে…",
"pulled progress for {{n}} book(s)": "{{n}}টি বইয়ের অগ্রগতি টানা হয়েছে",
"Sync History": "সিঙ্ক ইতিহাস",
"Clear Sync History": "সিঙ্ক ইতিহাস মুছুন",
"No manual syncs yet": "এখনো কোনো ম্যানুয়াল সিঙ্ক নেই",
"Partial": "আংশিক",
"Cleanup": "পরিচ্ছন্নতা",
"Cleanup failed": "পরিচ্ছন্নতা ব্যর্থ",
"Sync failed": "সিঙ্ক ব্যর্থ",
"{{n}} deleted": "{{n}}টি মুছে ফেলা",
"{{n}} failed": "{{n}}টি ব্যর্থ",
"Nothing deleted": "কিছুই মুছে ফেলা হয়নি",
"{{n}} downloaded": "{{n}}টি ডাউনলোড",
"{{n}} uploaded": "{{n}}টি আপলোড",
"{{n}} progress": "{{n}}টি অগ্রগতি",
"Up to date": "আপ টু ডেট",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "ডাউনলোড করা বই",
"Files uploaded": "আপলোড করা ফাইল",
"Configs uploaded": "আপলোড করা কনফিগ",
"Configs downloaded": "ডাউনলোড করা কনফিগ",
"Covers uploaded": "আপলোড করা কভার",
"Books deleted": "মুছে ফেলা বই",
"Files in sync": "সিঙ্কে থাকা ফাইল",
"Failures": "ব্যর্থতা",
"Total books": "মোট বই",
"Error:": "ত্রুটি:",
"Failed books": "ব্যর্থ বই",
"Deleted {{n}} book(s) from server.": "সার্ভার থেকে {{n}}টি বই মুছে ফেলা হয়েছে।",
"Failed to load directory": "ডিরেক্টরি লোড করতে ব্যর্থ",
"File download is only supported on the desktop and mobile apps.": "ফাইল ডাউনলোড শুধুমাত্র ডেস্কটপ এবং মোবাইল অ্যাপে সমর্থিত।",
"Downloaded \"{{title}}\" to your library.": "\"{{title}}\" আপনার লাইব্রেরিতে ডাউনলোড করা হয়েছে।",
"Failed to download \"{{name}}\": {{error}}": "\"{{name}}\" ডাউনলোড করতে ব্যর্থ: {{error}}",
"Up": "উপরে",
"Cleanup · {{count}} book(s)_one": "পরিচ্ছন্নতা · ১টি বই",
"Cleanup · {{count}} book(s)_other": "পরিচ্ছন্নতা · {{count}}টি বই",
"Exit cleanup": "পরিচ্ছন্নতা থেকে বের হোন",
"Refresh": "রিফ্রেশ",
"All clear · no books": "সব পরিষ্কার · কোনো বই নেই",
"Empty directory": "খালি ডিরেক্টরি",
"Deleted locally · still on server": "স্থানীয়ভাবে মুছে ফেলা হয়েছে · এখনও সার্ভারে",
"Select": "নির্বাচন",
"Already downloaded in this session": "এই সেশনে ইতিমধ্যে ডাউনলোড করা হয়েছে",
"Downloading…": "ডাউনলোড হচ্ছে…",
"Download to library": "লাইব্রেরিতে ডাউনলোড করুন",
"Deselect all": "সব অনির্বাচন করুন",
"Select all": "সব নির্বাচন করুন",
"{{n}} selected": "{{n}}টি নির্বাচিত",
"Delete from server": "সার্ভার থেকে মুছুন",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "{{total}}টির মধ্যে {{ok}}টি বই সার্ভার থেকে মুছে ফেলা হয়েছে; {{n}}টি ব্যর্থ (প্রথম: \"{{first}}\")।",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "সার্ভার থেকে কোনো বই মুছে ফেলা যায়নি ({{n}}টি; প্রথম: \"{{first}}\")।",
"Syncing {{n}} / {{total}}": "সিঙ্ক করা হচ্ছে {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "আপনি যে নিবন্ধটি পড়ছেন তা আপনার লাইব্রেরিতে পাঠাতে Readest ব্রাউজার এক্সটেনশন ইনস্টল করুন। এটি আপনার ব্রাউজার থেকে পৃষ্ঠাটি ক্লিপ করে যাতে পেওয়াল এবং লগইন-অনলি সাইটগুলিও কাজ করে।",
"Added to your library. It will sync to your other devices.": "আপনার লাইব্রেরিতে যোগ করা হয়েছে। এটি আপনার অন্যান্য ডিভাইসে সিঙ্ক হবে।",
"Sync passphrase forgotten. All encrypted fields cleared.": "সিঙ্ক পাসফ্রেজ ভুলে যাওয়া হয়েছে। সমস্ত এনক্রিপ্ট করা ফিল্ড পরিষ্কার করা হয়েছে।",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "শুধুমাত্র ম্যানুয়াল সিঙ্ক এবং পরিচ্ছন্নতা। পড়ার সময় স্বয়ংক্রিয় সিঙ্ক এখানে লগ হয় না।",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "WebDAV সার্ভার থেকে {{n}}টি বই মুছে ফেলবেন?\n\nএটি শুধু রিমোট ফাইল মুছে; আপনার স্থানীয় লাইব্রেরি অপরিবর্তিত থাকে। মুছে ফেলা পূর্বাবস্থায় ফেরানো যাবে না। সার্ভারের ডেটা স্থায়ীভাবে চলে যাবে।",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "শুধুমাত্র বইয়ের ফাইল আপলোডকে প্রভাবিত করে। পড়ার অগ্রগতি এবং ডাউনলোড সবসময় সিঙ্ক হয়।",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "ভুল সিঙ্ক পাসফ্রেজ। সিঙ্ক করা ক্রেডেনশিয়াল ডিক্রিপ্ট করা যায়নি।",
"Email books straight to your library": "ইমেইলের মাধ্যমে সরাসরি বই আপনার লাইব্রেরিতে পাঠান",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "অ্যাটাচমেন্ট এবং নিবন্ধগুলি আপনার ব্যক্তিগত Readest ঠিকানায় ফরওয়ার্ড করুন। Plus, Pro এবং Lifetime প্ল্যানে উপলব্ধ।",
"View plans": "প্ল্যান দেখুন",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "আপনি এখনো অ্যাপের সেন্ড বাটন, মোবাইল শেয়ার মেনু, বা ব্রাউজার এক্সটেনশন দিয়ে বিনামূল্যে নিবন্ধ ক্লিপ করতে পারেন।",
"...": "…",
"Server URL is required": "সার্ভার URL প্রয়োজন",
"Authentication failed": "প্রমাণীকরণ ব্যর্থ",
"Root directory not found": "রুট ডিরেক্টরি পাওয়া যায়নি",
"Unexpected server response (status {{status}})": "অপ্রত্যাশিত সার্ভার প্রতিক্রিয়া (স্ট্যাটাস {{status}})",
"Network error": "নেটওয়ার্ক ত্রুটি",
"Remote resource not found": "রিমোট রিসোর্স পাওয়া যায়নি",
"Sync failed (status {{status}})": "সিঙ্ক ব্যর্থ (স্ট্যাটাস {{status}})",
"Sync failed.": "সিঙ্ক ব্যর্থ।"
}
@@ -585,6 +585,9 @@
"Cover": "དེབ་གྱི་སྤྱོད་བྱས་མ་ཐུབ།",
"Contain": "འབྱོར་བ།",
"{{number}} pages left in chapter": "<1>དོན་ཚན་ནང་ཤོག་ཨང་ </1><0>{{number}}</0><1> ལོག་གི་འདུག།</1>",
"{{time}} min left in book": "དེབ་འདིར་ད་དུང་ {{time}} སྐར་མ་ལྷག་ཡོད།",
"{{count}} pages left in book_other": "<1>དེབ་འདིར་ད་དུང་ </1><0>{{count}}</0><1> ཤོག་ལྷེ་ལྷག་ཡོད།</1>",
"{{number}} pages left in book": "<1>དེབ་ནང་ཤོག་ཨང་ </1><0>{{number}}</0><1> ལོག་གི་འདུག།</1>",
"Device": "རྐྱབ་སྐོར",
"E-Ink Mode": "ཡིག་སྒྱུར་སྤོ་བ",
"Highlight Colors": "མདོག་ཚད་ཀྱི་བསྡུར་བ།",
@@ -1299,7 +1302,6 @@
"Disable PIN…": "PIN སྤོ་བ་…",
"Sync passphrase ready": "མཉམ་སྦྱོར་གསང་ཚིག་གྲ་སྒྲིག་ཟིན་པ།",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "འདིས་ཡིག་ཆ་ཁག་གསང་སྦས་སུ་མཉམ་སྦྱོར་བྱས་པ་རྣམས་ (དཔེར་ན། OPDS དཀར་ཆག་གི་གསང་ཨང་) སྒྲིག་ཆས་རེ་རེའི་ཐོག་གཏན་འཇགས་སུ་སུབ་སྲིད། ས་གནས་ཀྱི་པར་གཞི་ཉར་ཡོད། ཁྱོད་ཀྱིས་མཉམ་སྦྱོར་གསང་ཚིག་སྔར་བཞིན་འཇུག་པའམ་གསར་པ་སྒྲིག་དགོས། མུ་མཐུད་དམ།",
"Sync passphrase forgotten — all encrypted fields cleared": "མཉམ་སྦྱོར་གསང་ཚིག་བརྗེད་སོང་ — གསང་སྦས་ཀྱི་ས་སྟོང་ཚང་མ་སུབ་ཟིན།",
"Sync passphrase": "མཉམ་སྦྱོར་གསང་ཚིག",
"Set passphrase": "གསང་ཚིག་སྒྲིག་པ།",
"Forgot passphrase": "གསང་ཚིག་བརྗེད་སོང་།",
@@ -1337,7 +1339,6 @@
"Custom background textures": "རང་འདེམས་རྒྱབ་ལྗོངས་ཀྱི་རི་མོ།",
"OPDS catalogs": "OPDS དཀར་ཆག།",
"Saved catalog URLs and (encrypted) credentials": "ཉར་ཚགས་བྱས་པའི་དཀར་ཆག་གི་URL་དང་(གསང་འཇུག་བྱས་པའི་)ཐོབ་ཐང་ལག་འཁྱེར།",
"Wrong sync passphrase — synced credentials could not be decrypted": "མཉམ་འགྲོ་གསང་གྲངས་ནོར་འདུག — མཉམ་འགྲོ་བྱས་པའི་ཐོབ་ཐང་ལག་འཁྱེར་ཁ་ཕྱེ་མི་ཐུབ།",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "ཞབས་ཞུ་བའི་ཐོག་གི་མཉམ་འགྲོ་གསང་གྲངས་ཀྱི་གནད་སྡུད་སླར་སྒྲིག་བྱས་སོང་། གསང་གྲངས་གསར་པས་ཁྱེད་ཀྱི་ཐོབ་ཐང་ལག་འཁྱེར་སླར་གསང་འཇུག་བྱེད་བཞིན་པ་ཡིན…",
"Failed to decrypt synced credentials": "མཉམ་འགྲོ་བྱས་པའི་ཐོབ་ཐང་ལག་འཁྱེར་ཁ་ཕྱེ་བར་ཕམ་ཉེས་བྱུང་།",
"Imported dictionary bundles and settings": "ནང་འཇུག་བྱས་པའི་ཚིག་མཛོད་ཐུམ་སྒྲིལ་དང་སྒྲིག་འགོད།",
@@ -1434,7 +1435,6 @@
"Drop a book or document, or tap to choose": "དེབ་བམ་ཡིག་ཆ་ཞིག་འཇོག་གམ། ཡང་ན་འདེམས་པར་མནན།",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "རྩོམ་ཡིག་གི་ URL ཞིག་སྦྱར།",
"Added to your library — it will sync to your other devices.": "ཁྱེད་ཀྱི་དཔེ་མཛོད་ལ་ཁ་སྣོན་བྱས། དེ་ཁྱེད་ཀྱི་སྒྲིག་ཆས་གཞན་ལ་མཉམ་སྒྲིག་བྱེད་འགྱུར།",
"Working…": "ལས་ཀ་བྱེད་བཞིན་པ…",
"Could not load Send to Readest settings": "Readest ལ་སྐུར་བའི་སྒྲིག་སྟངས་འཇུག་མ་ཐུབ།",
"Address copied": "ཁ་བྱང་འདྲ་བཤུས་བྱས་ཟིན།",
@@ -1483,7 +1483,6 @@
"OK": "ཡིན།",
"No matching books found in the selected folder.": "བདམས་པའི་ཡིག་སྣོད་ནང་མཐུན་པའི་དཔེ་ཆ་ག་ཡང་མ་རྙེད།",
"Send a web article": "དྲ་ངོས་ཀྱི་གཏམ་རྩོམ་སྐུར་སྤྲོད་པ",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "ཁྱེད་ཀྱི་ཀློག་བཞིན་པའི་གཏམ་རྩོམ་ཁྱེད་ཀྱི་དཔེ་མཛོད་དུ་སྐུར་འདོན་བྱེད་པར་Readest་ཕྲ་མེག་གི་ཁ་སྣོན་གཏོགས་གཞུང་སྒྲིག་འཇུག་གནང་རོགས — དེས་ཁྱེད་ཀྱི་ཁ་པར་ནང་ནས་ཤོག་ངོས་ལེན་པས་ངུལ་སྤྲོད་དགོས་པ་དང་ཐོ་འགོད་རྐྱང་གི་དྲ་ངོས་དག་ཀྱང་ལས་ཀ་བྱེད་ཐུབ།",
"Enter a URL starting with http:// or https://": "http:// ཡང་ན་ https:// ནས་འགོ་འཛུགས་པའི་URL་ཞིག་འཇུག",
"Import": "ནང་འདྲེན།",
"Import from Web URL": "དྲ་ངོས་ཀྱི་URL་ནས་ནང་འདྲེན།",
@@ -1496,5 +1495,94 @@
"Saved to Readest": "Readest དུ་ཉར་ཟིན།",
"Apply to every occurrence in the book": "དེབ་ནང་གི་སྐབས་ཐམས་ཅད་ལ་སྦྱར།",
"Saving article from share…": "མཉམ་སྤྱོད་ནས་ཡི་གེ་ཉར་ཚགས་བྱེད་བཞིན་པ…",
"Saved “{{title}}” to your library.": "\"{{title}}\" ཁྱེད་ཀྱི་དཔེ་མཛོད་དུ་ཉར་ཚགས་བྱས་ཟིན།"
"Saved “{{title}}” to your library.": "\"{{title}}\" ཁྱེད་ཀྱི་དཔེ་མཛོད་དུ་ཉར་ཚགས་བྱས་ཟིན།",
"WebDAV authentication failed. Reconnect in Settings.": "WebDAV ངོ་སྤྲོད་མ་ཐུབ། སྒྲིག་སྡོད་ནང་ནས་ཡང་བསྐྱར་འབྲེལ་མཐུད་གནང་།",
"Downloading": "ཕབ་ལེན།",
"Uploading": "ཡར་འགོད།",
"downloaded {{n}} book(s)": "དཔེ་ཆ་{{n}}་ཕབ་ལེན་བྱས།",
"pushed {{n}} config(s)": "སྒྲིག་གཞི་{{n}}་སྐུར་སོང་།",
"uploaded {{n}} new file(s)": "ཡིག་ཆ་གསར་པ་{{n}}་ཡར་འགོད་བྱས།",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "མཉམ་སྦྲེལ་མ་ཐུབ་པ་{{failed}}་དང་བཅས་ཚར་སོང་། ཐུབ་པ་{{ok}}།",
"Sync complete": "མཉམ་སྦྲེལ་ཚར་སོང་།",
"Everything is already up to date.": "ཆ་ཚང་ཧ་ཅང་གསར་བ་ཡིན།",
"Browsing {{path}} on {{server}}": "{{server}} གི་ {{path}} ལ་བལྟ་བཞིན།",
"Connect to a WebDAV server to browse your remote files.": "རྒྱང་རིང་གི་ཡིག་ཆ་བལྟ་བར WebDAV རིམ་པ་ཟུང་འབྲེལ་ལ་འབྲེལ་མཐུད་གནང་།",
"WebDAV": "WebDAV",
"Upload Book Files": "དཔེ་ཆའི་ཡིག་ཆ་ཡར་འགོད།",
"Sync now": "ད་ལྟ་མཉམ་སྦྲེལ།",
"Hide password": "གསང་ཨང་སྦེད་པ།",
"Show password": "གསང་ཨང་མངོན་པ།",
"Root Directory": "རྩ་བའི་སྡེ་ཚན།",
"Syncing…": "མཉམ་སྦྲེལ་བྱེད་བཞིན…",
"pulled progress for {{n}} book(s)": "དཔེ་ཆ་{{n}}་གི་འཐུས་གཤམ་འཐེན།",
"Sync History": "མཉམ་སྦྲེལ་ལོ་རྒྱུས།",
"Clear Sync History": "མཉམ་སྦྲེལ་ལོ་རྒྱུས་གཙང་འཕྱག",
"No manual syncs yet": "ལག་འཁྱེར་མཉམ་སྦྲེལ་མེད།",
"Partial": "ཕྱོགས་ཙམ།",
"Cleanup": "གཙང་སྦྲ།",
"Cleanup failed": "གཙང་སྦྲ་མ་ཐུབ།",
"Sync failed": "མཉམ་སྦྲེལ་མ་ཐུབ།",
"{{n}} deleted": "{{n}} བསུབ་སོང་།",
"{{n}} failed": "{{n}} མ་ཐུབ།",
"Nothing deleted": "གང་ཡང་མ་སུབ།",
"{{n}} downloaded": "{{n}} ཕབ་ལེན།",
"{{n}} uploaded": "{{n}} ཡར་འགོད།",
"{{n}} progress": "{{n}} མཐུན་འགྲོ།",
"Up to date": "གསར་བ་ཡིན།",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "ཕབ་ལེན་བྱས་པའི་དཔེ་ཆ།",
"Files uploaded": "ཡར་འགོད་བྱས་པའི་ཡིག་ཆ།",
"Configs uploaded": "ཡར་འགོད་བྱས་པའི་སྒྲིག་གཞི།",
"Configs downloaded": "ཕབ་ལེན་བྱས་པའི་སྒྲིག་གཞི།",
"Covers uploaded": "ཡར་འགོད་བྱས་པའི་ཕྱི་ཤོག",
"Books deleted": "བསུབ་པའི་དཔེ་ཆ།",
"Files in sync": "མཉམ་སྦྲེལ་ལ་ཡོད་པའི་ཡིག་ཆ།",
"Failures": "མ་ཐུབ་པ།",
"Total books": "དཔེ་ཆའི་སྡོམ།",
"Error:": "ནོར་འཁྲུལ:",
"Failed books": "མ་ཐུབ་པའི་དཔེ་ཆ།",
"Deleted {{n}} book(s) from server.": "རིམ་པ་ཟུང་འབྲེལ་ནས་དཔེ་ཆ་{{n}}་སུབ་པ།",
"Failed to load directory": "སྡེ་ཚན་འདྲེན་མ་ཐུབ།",
"File download is only supported on the desktop and mobile apps.": "ཡིག་ཆ་ཕབ་ལེན་ནི་ཀམ་པུ་ཊར་དང་ཁ་པར་གྱི་ཉེར་སྤྱོད་ཁོ་ནར་རྒྱབ་སྐྱོར་ཡོད།",
"Downloaded \"{{title}}\" to your library.": "\"{{title}}\" ཁྱེད་ཀྱི་དཔེ་མཛོད་དུ་ཕབ་ལེན་བྱས།",
"Failed to download \"{{name}}\": {{error}}": "\"{{name}}\" ཕབ་ལེན་མ་ཐུབ: {{error}}",
"Up": "ཡར།",
"Cleanup · {{count}} book(s)_other": "གཙང་སྦྲ · དཔེ་ཆ་{{count}}།",
"Exit cleanup": "གཙང་སྦྲ་ལས་ཐར།",
"Refresh": "གསར་སྒྲིག",
"All clear · no books": "ཆ་ཚང་གསལ་པོ་ཡོད · དཔེ་ཆ་མེད།",
"Empty directory": "སྡེ་ཚན་སྟོང་པ།",
"Deleted locally · still on server": "ས་གནས་ནས་སུབ་ཟིན · རིམ་པ་ཟུང་འབྲེལ་ལ་ཡོད།",
"Select": "འདེམས།",
"Already downloaded in this session": "སྐབས་འདིར་ཕབ་ལེན་ཟིན།",
"Downloading…": "ཕབ་ལེན་བྱེད་བཞིན…",
"Download to library": "དཔེ་མཛོད་དུ་ཕབ་ལེན།",
"Deselect all": "ཆ་ཚང་འདེམས་འདོར།",
"Select all": "ཆ་ཚང་འདེམས།",
"{{n}} selected": "{{n}} བདམས་པ།",
"Delete from server": "རིམ་པ་ཟུང་འབྲེལ་ནས་སུབ།",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "རིམ་པ་ཟུང་འབྲེལ་ནས་དཔེ་ཆ་{{total}}་ལས་{{ok}}་སུབ་སོང་། {{n}}་མ་ཐུབ (དང་པོ: \"{{first}}\")。",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "རིམ་པ་ཟུང་འབྲེལ་ནས་དཔེ་ཆ་{{n}}་ལས་གང་ཡང་སུབ་མ་ཐུབ (དང་པོ: \"{{first}}\")。",
"Syncing {{n}} / {{total}}": "མཉམ་སྦྲེལ {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "ཁྱེད་ཀློག་བཞིན་པའི་ཡིག་རྩོམ་དེ་དཔེ་མཛོད་དུ་སྐུར་བར་ Readest བརྡ་འགྲེམ་སྣོན་ལྡེ་སྒྲིག་འཛུགས་གནང་། འདིས་གསལ་ཤོག་ཁྱེད་ཀྱི་བརྡ་འགྲེམ་ནས་འདྲ་ཟློས་བྱས་ནས་སྦུག་ཁ་དང་ཐོ་འགོད་དགོས་པའི་གནས་ཚུལ་ཡང་ལས་ཀ་བྱེད་ཐུབ།",
"Added to your library. It will sync to your other devices.": "ཁྱེད་ཀྱི་དཔེ་མཛོད་དུ་བསྣན། འདི་ཁྱེད་ཀྱི་སྒྲིག་ཆས་གཞན་དག་ལ་མཉམ་སྦྲེལ་འགྱུར།",
"Sync passphrase forgotten. All encrypted fields cleared.": "མཉམ་སྦྲེལ་གསང་ཨང་བརྗེད་སོང་། གསང་སྦས་བྱས་པའི་ཁོངས་གཙང་འཕྱག་བྱས་ཟིན།",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "ལག་འཁྱེར་མཉམ་སྦྲེལ་དང་གཙང་སྦྲ་ཁོ་ན། ཀློག་སྐབས་ཀྱི་རང་འགུལ་མཉམ་སྦྲེལ་འདིར་ཐོ་འགོད་མི་བྱེད།",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "WebDAV རིམ་པ་ཟུང་འབྲེལ་ནས་དཔེ་ཆ་{{n}}་སུབ་དགོས་སམ?\n\nའདིས་རྒྱང་རིང་གི་ཡིག་ཆ་ཁོ་ན་སུབ་པ་ཡིན། ཁྱེད་ཀྱི་ས་གནས་དཔེ་མཛོད་ལ་གནོད་མི་འགྱུར། སུབ་པ་འདི་ཕྱིར་ལོག་མི་ཐུབ། རིམ་པ་ཟུང་འབྲེལ་གྱི་ཟིན་བྲིས་གཏན་ནས་མེད་པར་འགྱུར།",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "དཔེ་ཆའི་ཡིག་ཆ་ཡར་འགོད་ལ་ཁོ་ན་གནོད་ཀྱི། ཀློག་འཐུས་དང་ཕབ་ལེན་རྟག་ཏུ་མཉམ་སྦྲེལ་འགྱུར།",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "མཉམ་སྦྲེལ་གསང་ཨང་ནོར་འདུག། མཉམ་སྦྲེལ་བྱས་པའི་ངོ་སྤྲོད་ཀྱི་གསང་སྒྲིག་འགྲོལ་མ་ཐུབ།",
"Email books straight to your library": "གློག་འཕྲིན་གྱིས་དཔེ་ཆ་ཁྱེད་ཀྱི་དཔེ་མཛོད་དུ་ཐད་ཀར་སྐུར།",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "མཉམ་སྦྱར་དང་ཡིག་རྩོམ་ཁྱེད་ཀྱི་སྒེར་གྱི་ Readest ས་གནས་སུ་གཏོང་། Plus, Pro, Lifetime འཆར་གཞི་ལ་ཐོབ་པ།",
"View plans": "འཆར་གཞི་ལ་ལྟ།",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "ཁྱེད་ད་དུང་ཉེར་སྤྱོད་ཀྱི་སྐུར་སྦྱོར་མཐེབ་གནོན་དང་འཁྱེར་ལས་ཁྲིས་ཀྱི་མཉམ་སྤྱོད་ཡི་གེ་སྒྲོམ་འམ་བརྡ་འགྲེམ་སྣོན་ལྡེ་ནས་ཡིག་རྩོམ་རིན་མེད་ཐོག་ནས་འདྲ་བཤུས་བྱེད་ཐུབ།",
"...": "…",
"Server URL is required": "རིམ་པ་ཟུང་འབྲེལ་ URL དགོས།",
"Authentication failed": "ངོ་སྤྲོད་མ་ཐུབ།",
"Root directory not found": "རྩ་བའི་སྡེ་ཚན་རྙེད་མ་བྱུང་།",
"Unexpected server response (status {{status}})": "རིམ་པ་ཟུང་འབྲེལ་ནས་རེ་བ་མེད་པའི་ལན (གནས་སྟངས {{status}})",
"Network error": "དྲ་རྒྱའི་ནོར་འཁྲུལ།",
"Remote resource not found": "རྒྱང་རིང་གི་ཐོན་ཁུངས་རྙེད་མ་བྱུང་།",
"Sync failed (status {{status}})": "མཉམ་སྦྲེལ་མ་ཐུབ (གནས་སྟངས {{status}})",
"Sync failed.": "མཉམ་སྦྲེལ་མ་ཐུབ།"
}
@@ -589,6 +589,10 @@
"Cover": "Cover",
"Contain": "Inhalt",
"{{number}} pages left in chapter": "<0>{{number}}</0><1> Seiten verbleibend im Kapitel</1>",
"{{time}} min left in book": "{{time}} min verbleibend im Buch",
"{{count}} pages left in book_one": "<0>{{count}}</0><1> Seite verbleibend im Buch</1>",
"{{count}} pages left in book_other": "<0>{{count}}</0><1> Seiten verbleibend im Buch</1>",
"{{number}} pages left in book": "<0>{{number}}</0><1> Seiten verbleibend im Buch</1>",
"Device": "Gerät",
"E-Ink Mode": "E-Ink-Modus",
"Highlight Colors": "Hervorhebungsfarben",
@@ -1323,7 +1327,6 @@
"Disable PIN…": "PIN deaktivieren…",
"Sync passphrase ready": "Sync-Passphrase bereit",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "Dies löscht dauerhaft die verschlüsselten Anmeldedaten, die wir auf jedem Gerät synchronisieren (z. B. OPDS-Katalog-Passwörter). Lokale Kopien bleiben erhalten. Sie müssen die Sync-Passphrase erneut eingeben oder eine neue festlegen. Fortfahren?",
"Sync passphrase forgotten — all encrypted fields cleared": "Sync-Passphrase vergessen — alle verschlüsselten Felder wurden gelöscht",
"Sync passphrase": "Sync-Passphrase",
"Set passphrase": "Passphrase festlegen",
"Forgot passphrase": "Passphrase vergessen",
@@ -1361,7 +1364,6 @@
"Custom background textures": "Benutzerdefinierte Hintergrundtexturen",
"OPDS catalogs": "OPDS-Kataloge",
"Saved catalog URLs and (encrypted) credentials": "Gespeicherte Katalog-URLs und (verschlüsselte) Anmeldedaten",
"Wrong sync passphrase — synced credentials could not be decrypted": "Falsche Sync-Passphrase — synchronisierte Anmeldedaten konnten nicht entschlüsselt werden",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "Sync-Passphrase auf dem Server wurde zurückgesetzt. Anmeldedaten werden mit der neuen Passphrase neu verschlüsselt…",
"Failed to decrypt synced credentials": "Synchronisierte Anmeldedaten konnten nicht entschlüsselt werden",
"Imported dictionary bundles and settings": "Importierte Wörterbuch-Pakete und Einstellungen",
@@ -1462,7 +1464,6 @@
"Drop a book or document, or tap to choose": "Buch oder Dokument ablegen oder zur Auswahl tippen",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "Artikel-URL einfügen",
"Added to your library — it will sync to your other devices.": "Zu deiner Bibliothek hinzugefügt wird mit deinen anderen Geräten synchronisiert.",
"Working…": "Wird bearbeitet…",
"Could not load Send to Readest settings": "Einstellungen für „An Readest senden“ konnten nicht geladen werden",
"Address copied": "Adresse kopiert",
@@ -1511,7 +1512,6 @@
"OK": "OK",
"No matching books found in the selected folder.": "Keine passenden Bücher im ausgewählten Ordner gefunden.",
"Send a web article": "Webartikel senden",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "Installiere die Readest-Browsererweiterung, um den Artikel, den du gerade liest, an deine Bibliothek zu senden — sie schneidet die Seite aus deinem Browser aus, sodass auch Bezahlschranken und Login-Sites funktionieren.",
"Enter a URL starting with http:// or https://": "Gib eine URL ein, die mit http:// oder https:// beginnt",
"Import": "Importieren",
"Import from Web URL": "Aus Webadresse importieren",
@@ -1524,5 +1524,95 @@
"Saved to Readest": "In Readest gespeichert",
"Apply to every occurrence in the book": "Auf jedes Vorkommen im Buch anwenden",
"Saving article from share…": "Geteilten Artikel wird gespeichert…",
"Saved “{{title}}” to your library.": "„{{title}}“ wurde in Ihrer Bibliothek gespeichert."
"Saved “{{title}}” to your library.": "„{{title}}“ wurde in Ihrer Bibliothek gespeichert.",
"WebDAV authentication failed. Reconnect in Settings.": "WebDAV-Authentifizierung fehlgeschlagen. In den Einstellungen neu verbinden.",
"Downloading": "Herunterladen",
"Uploading": "Hochladen",
"downloaded {{n}} book(s)": "{{n}} Buch/Bücher heruntergeladen",
"pushed {{n}} config(s)": "{{n}} Konfiguration(en) hochgeladen",
"uploaded {{n}} new file(s)": "{{n}} neue Datei(en) hochgeladen",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "Synchronisierung mit {{failed}} Fehler(n) beendet. {{ok}} erfolgreich.",
"Sync complete": "Synchronisierung abgeschlossen",
"Everything is already up to date.": "Alles ist bereits aktuell.",
"Browsing {{path}} on {{server}}": "{{path}} auf {{server}} durchsuchen",
"Connect to a WebDAV server to browse your remote files.": "Verbinden Sie sich mit einem WebDAV-Server, um Ihre Remote-Dateien zu durchsuchen.",
"WebDAV": "WebDAV",
"Upload Book Files": "Buchdateien hochladen",
"Sync now": "Jetzt synchronisieren",
"Hide password": "Passwort verbergen",
"Show password": "Passwort anzeigen",
"Root Directory": "Stammverzeichnis",
"Syncing…": "Synchronisierung…",
"pulled progress for {{n}} book(s)": "Fortschritt für {{n}} Buch/Bücher abgerufen",
"Sync History": "Synchronisationsverlauf",
"Clear Sync History": "Synchronisationsverlauf löschen",
"No manual syncs yet": "Noch keine manuellen Synchronisationen",
"Partial": "Teilweise",
"Cleanup": "Aufräumen",
"Cleanup failed": "Aufräumen fehlgeschlagen",
"Sync failed": "Synchronisierung fehlgeschlagen",
"{{n}} deleted": "{{n}} gelöscht",
"{{n}} failed": "{{n}} fehlgeschlagen",
"Nothing deleted": "Nichts gelöscht",
"{{n}} downloaded": "{{n}} heruntergeladen",
"{{n}} uploaded": "{{n}} hochgeladen",
"{{n}} progress": "{{n}} Fortschritt",
"Up to date": "Aktuell",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "Heruntergeladene Bücher",
"Files uploaded": "Hochgeladene Dateien",
"Configs uploaded": "Hochgeladene Konfigurationen",
"Configs downloaded": "Heruntergeladene Konfigurationen",
"Covers uploaded": "Hochgeladene Cover",
"Books deleted": "Gelöschte Bücher",
"Files in sync": "Synchronisierte Dateien",
"Failures": "Fehler",
"Total books": "Bücher gesamt",
"Error:": "Fehler:",
"Failed books": "Fehlgeschlagene Bücher",
"Deleted {{n}} book(s) from server.": "{{n}} Buch/Bücher vom Server gelöscht.",
"Failed to load directory": "Verzeichnis konnte nicht geladen werden",
"File download is only supported on the desktop and mobile apps.": "Datei-Downloads werden nur in den Desktop- und Mobil-Apps unterstützt.",
"Downloaded \"{{title}}\" to your library.": "\"{{title}}\" wurde in Ihre Bibliothek heruntergeladen.",
"Failed to download \"{{name}}\": {{error}}": "Download von \"{{name}}\" fehlgeschlagen: {{error}}",
"Up": "Nach oben",
"Cleanup · {{count}} book(s)_one": "Aufräumen · {{count}} Buch",
"Cleanup · {{count}} book(s)_other": "Aufräumen · {{count}} Bücher",
"Exit cleanup": "Aufräumen beenden",
"Refresh": "Aktualisieren",
"All clear · no books": "Alles erledigt · keine Bücher",
"Empty directory": "Leeres Verzeichnis",
"Deleted locally · still on server": "Lokal gelöscht · noch auf dem Server",
"Select": "Auswählen",
"Already downloaded in this session": "Bereits in dieser Sitzung heruntergeladen",
"Downloading…": "Wird heruntergeladen…",
"Download to library": "In Bibliothek herunterladen",
"Deselect all": "Auswahl aufheben",
"Select all": "Alle auswählen",
"{{n}} selected": "{{n}} ausgewählt",
"Delete from server": "Vom Server löschen",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "{{ok}} von {{total}} Buch/Bücher vom Server gelöscht; {{n}} fehlgeschlagen (erstes: „{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "Konnte kein Buch von {{n}} vom Server löschen (erstes: „{{first}}\").",
"Syncing {{n}} / {{total}}": "Synchronisierung {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "Installieren Sie die Readest-Browsererweiterung, um den gerade gelesenen Artikel an Ihre Bibliothek zu senden. Sie schneidet die Seite aus Ihrem Browser aus, sodass auch kostenpflichtige und Login-pflichtige Sites funktionieren.",
"Added to your library. It will sync to your other devices.": "Zur Bibliothek hinzugefügt. Wird mit Ihren anderen Geräten synchronisiert.",
"Sync passphrase forgotten. All encrypted fields cleared.": "Sync-Passphrase vergessen. Alle verschlüsselten Felder gelöscht.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "Nur manuelle Synchronisationen und Aufräumvorgänge. Automatische Synchronisationen beim Lesen werden hier nicht protokolliert.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "{{n}} Buch/Bücher vom WebDAV-Server löschen?\n\nDamit werden nur die Remote-Dateien entfernt; Ihre lokale Bibliothek bleibt unverändert. Das Löschen kann nicht rückgängig gemacht werden. Die Bytes auf dem Server sind dauerhaft verloren.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "Betrifft nur das Hochladen von Buchdateien. Lesefortschritt und Downloads werden immer synchronisiert.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "Falsche Sync-Passphrase. Synchronisierte Anmeldedaten konnten nicht entschlüsselt werden.",
"Email books straight to your library": "Bücher direkt per E-Mail in Ihre Bibliothek senden",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "Leiten Sie Anhänge und Artikel an Ihre private Readest-Adresse weiter. Verfügbar in den Plus-, Pro- und Lifetime-Tarifen.",
"View plans": "Tarife anzeigen",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "Sie können Artikel weiterhin kostenlos über die Senden-Schaltfläche in der App, das Teilen-Menü auf dem Mobilgerät oder die Browsererweiterung ausschneiden.",
"...": "…",
"Server URL is required": "Server-URL ist erforderlich",
"Authentication failed": "Authentifizierung fehlgeschlagen",
"Root directory not found": "Stammverzeichnis nicht gefunden",
"Unexpected server response (status {{status}})": "Unerwartete Antwort vom Server (Status {{status}})",
"Network error": "Netzwerkfehler",
"Remote resource not found": "Remote-Ressource nicht gefunden",
"Sync failed (status {{status}})": "Synchronisierung fehlgeschlagen (Status {{status}})",
"Sync failed.": "Synchronisierung fehlgeschlagen."
}
@@ -589,6 +589,10 @@
"Cover": "Εξώφυλλο",
"Contain": "Περιέχει",
"{{number}} pages left in chapter": "<1>Μένουν </1><0>{{number}}</0><1> σελίδες στο κεφάλαιο</1>",
"{{time}} min left in book": "{{time}} λεπτά απομένουν στο βιβλίο",
"{{count}} pages left in book_one": "<1>Μένει </1><0>{{count}}</0><1> σελίδα στο βιβλίο</1>",
"{{count}} pages left in book_other": "<1>Μένουν </1><0>{{count}}</0><1> σελίδες στο βιβλίο</1>",
"{{number}} pages left in book": "<1>Μένουν </1><0>{{number}}</0><1> σελίδες στο βιβλίο</1>",
"Device": "Συσκευή",
"E-Ink Mode": "Λειτουργία E-Ink",
"Highlight Colors": "Χρώματα επισήμανσης",
@@ -1323,7 +1327,6 @@
"Disable PIN…": "Απενεργοποίηση PIN…",
"Sync passphrase ready": "Η φράση πρόσβασης συγχρονισμού είναι έτοιμη",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "Αυτό διαγράφει οριστικά τα κρυπτογραφημένα διαπιστευτήρια που συγχρονίζουμε (π.χ. κωδικούς καταλόγου OPDS) σε κάθε συσκευή. Τα τοπικά αντίγραφα διατηρούνται. Θα χρειαστεί να εισαγάγετε ξανά τη φράση πρόσβασης συγχρονισμού ή να ορίσετε μια νέα. Συνέχεια;",
"Sync passphrase forgotten — all encrypted fields cleared": "Η φράση πρόσβασης συγχρονισμού ξεχάστηκε — όλα τα κρυπτογραφημένα πεδία διαγράφηκαν",
"Sync passphrase": "Φράση πρόσβασης συγχρονισμού",
"Set passphrase": "Ορισμός φράσης πρόσβασης",
"Forgot passphrase": "Ξεχάσατε τη φράση πρόσβασης",
@@ -1361,7 +1364,6 @@
"Custom background textures": "Προσαρμοσμένες υφές φόντου",
"OPDS catalogs": "Κατάλογοι OPDS",
"Saved catalog URLs and (encrypted) credentials": "Αποθηκευμένες διευθύνσεις καταλόγων και (κρυπτογραφημένα) διαπιστευτήρια",
"Wrong sync passphrase — synced credentials could not be decrypted": "Λανθασμένη φράση πρόσβασης συγχρονισμού — δεν ήταν δυνατή η αποκρυπτογράφηση των συγχρονισμένων διαπιστευτηρίων",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "Τα δεδομένα της φράσης πρόσβασης συγχρονισμού στον διακομιστή επαναφέρθηκαν. Επανακρυπτογράφηση των διαπιστευτηρίων σας με τη νέα φράση πρόσβασης…",
"Failed to decrypt synced credentials": "Αποτυχία αποκρυπτογράφησης των συγχρονισμένων διαπιστευτηρίων",
"Imported dictionary bundles and settings": "Εισηγμένα πακέτα λεξικών και ρυθμίσεις",
@@ -1462,7 +1464,6 @@
"Drop a book or document, or tap to choose": "Σύρετε ένα βιβλίο ή έγγραφο ή πατήστε για επιλογή",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "Επικολλήστε τη διεύθυνση URL ενός άρθρου",
"Added to your library — it will sync to your other devices.": "Προστέθηκε στη βιβλιοθήκη σας — θα συγχρονιστεί στις άλλες συσκευές σας.",
"Working…": "Σε εξέλιξη…",
"Could not load Send to Readest settings": "Δεν ήταν δυνατή η φόρτωση των ρυθμίσεων Αποστολή στο Readest",
"Address copied": "Η διεύθυνση αντιγράφηκε",
@@ -1511,7 +1512,6 @@
"OK": "OK",
"No matching books found in the selected folder.": "Δεν βρέθηκαν αντίστοιχα βιβλία στον επιλεγμένο φάκελο.",
"Send a web article": "Αποστολή άρθρου από τον ιστό",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "Εγκαταστήστε την επέκταση Readest για το πρόγραμμα περιήγησης για να στείλετε το άρθρο που διαβάζετε στη βιβλιοθήκη σας — αποκόπτει τη σελίδα από τον φυλλομετρητή σας ώστε να λειτουργούν και ιστότοποι με συνδρομή ή υποχρεωτική σύνδεση.",
"Enter a URL starting with http:// or https://": "Εισαγάγετε ένα URL που ξεκινά με http:// ή https://",
"Import": "Εισαγωγή",
"Import from Web URL": "Εισαγωγή από διεύθυνση ιστού",
@@ -1524,5 +1524,95 @@
"Saved to Readest": "Αποθηκεύτηκε στο Readest",
"Apply to every occurrence in the book": "Εφαρμογή σε κάθε εμφάνιση στο βιβλίο",
"Saving article from share…": "Αποθήκευση άρθρου από κοινοποίηση…",
"Saved “{{title}}” to your library.": "Το «{{title}}» αποθηκεύτηκε στη βιβλιοθήκη σας."
"Saved “{{title}}” to your library.": "Το «{{title}}» αποθηκεύτηκε στη βιβλιοθήκη σας.",
"WebDAV authentication failed. Reconnect in Settings.": "Η αυθεντικοποίηση WebDAV απέτυχε. Επανασυνδεθείτε στις Ρυθμίσεις.",
"Downloading": "Λήψη",
"Uploading": "Μεταφόρτωση",
"downloaded {{n}} book(s)": "λήφθηκαν {{n}} βιβλία",
"pushed {{n}} config(s)": "στάλθηκαν {{n}} διαμορφώσεις",
"uploaded {{n}} new file(s)": "μεταφορτώθηκαν {{n}} νέα αρχεία",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "Ο συγχρονισμός ολοκληρώθηκε με {{failed}} αποτυχίες. {{ok}} επιτυχείς.",
"Sync complete": "Ο συγχρονισμός ολοκληρώθηκε",
"Everything is already up to date.": "Όλα είναι ήδη ενημερωμένα.",
"Browsing {{path}} on {{server}}": "Περιήγηση στο {{path}} στο {{server}}",
"Connect to a WebDAV server to browse your remote files.": "Συνδεθείτε σε έναν διακομιστή WebDAV για να περιηγηθείτε στα απομακρυσμένα αρχεία σας.",
"WebDAV": "WebDAV",
"Upload Book Files": "Μεταφόρτωση αρχείων βιβλίων",
"Sync now": "Συγχρονισμός τώρα",
"Hide password": "Απόκρυψη κωδικού",
"Show password": "Εμφάνιση κωδικού",
"Root Directory": "Ριζικός φάκελος",
"Syncing…": "Συγχρονισμός…",
"pulled progress for {{n}} book(s)": "λήψη προόδου για {{n}} βιβλία",
"Sync History": "Ιστορικό συγχρονισμού",
"Clear Sync History": "Εκκαθάριση ιστορικού συγχρονισμού",
"No manual syncs yet": "Δεν υπάρχουν χειροκίνητοι συγχρονισμοί ακόμη",
"Partial": "Μερικό",
"Cleanup": "Εκκαθάριση",
"Cleanup failed": "Η εκκαθάριση απέτυχε",
"Sync failed": "Ο συγχρονισμός απέτυχε",
"{{n}} deleted": "{{n}} διαγράφηκαν",
"{{n}} failed": "{{n}} απέτυχαν",
"Nothing deleted": "Δεν διαγράφηκε τίποτα",
"{{n}} downloaded": "{{n}} έγιναν λήψη",
"{{n}} uploaded": "{{n}} μεταφορτώθηκαν",
"{{n}} progress": "{{n}} πρόοδος",
"Up to date": "Ενημερωμένο",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "Βιβλία που λήφθηκαν",
"Files uploaded": "Αρχεία που μεταφορτώθηκαν",
"Configs uploaded": "Διαμορφώσεις που μεταφορτώθηκαν",
"Configs downloaded": "Διαμορφώσεις που λήφθηκαν",
"Covers uploaded": "Εξώφυλλα που μεταφορτώθηκαν",
"Books deleted": "Διαγραμμένα βιβλία",
"Files in sync": "Συγχρονισμένα αρχεία",
"Failures": "Αποτυχίες",
"Total books": "Σύνολο βιβλίων",
"Error:": "Σφάλμα:",
"Failed books": "Βιβλία με αποτυχία",
"Deleted {{n}} book(s) from server.": "Διαγράφηκαν {{n}} βιβλία από τον διακομιστή.",
"Failed to load directory": "Αποτυχία φόρτωσης φακέλου",
"File download is only supported on the desktop and mobile apps.": "Η λήψη αρχείων υποστηρίζεται μόνο στις εφαρμογές υπολογιστή και κινητού.",
"Downloaded \"{{title}}\" to your library.": "Έγινε λήψη του \"{{title}}\" στη βιβλιοθήκη σας.",
"Failed to download \"{{name}}\": {{error}}": "Αποτυχία λήψης του \"{{name}}\": {{error}}",
"Up": "Πάνω",
"Cleanup · {{count}} book(s)_one": "Εκκαθάριση · {{count}} βιβλίο",
"Cleanup · {{count}} book(s)_other": "Εκκαθάριση · {{count}} βιβλία",
"Exit cleanup": "Έξοδος εκκαθάρισης",
"Refresh": "Ανανέωση",
"All clear · no books": "Όλα έτοιμα · χωρίς βιβλία",
"Empty directory": "Κενός φάκελος",
"Deleted locally · still on server": "Διαγράφηκε τοπικά · ακόμη στον διακομιστή",
"Select": "Επιλογή",
"Already downloaded in this session": "Έχει ήδη ληφθεί σε αυτή τη συνεδρία",
"Downloading…": "Λήψη…",
"Download to library": "Λήψη στη βιβλιοθήκη",
"Deselect all": "Αποεπιλογή όλων",
"Select all": "Επιλογή όλων",
"{{n}} selected": "{{n}} επιλεγμένα",
"Delete from server": "Διαγραφή από τον διακομιστή",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "Διαγράφηκαν {{ok}} από {{total}} βιβλία από τον διακομιστή· απέτυχαν {{n}} (πρώτο: \"{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "Δεν διαγράφηκε κανένα από τα {{n}} βιβλία από τον διακομιστή (πρώτο: \"{{first}}\").",
"Syncing {{n}} / {{total}}": "Συγχρονισμός {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "Εγκαταστήστε την επέκταση προγράμματος περιήγησης Readest για να στείλετε το άρθρο που διαβάζετε στη βιβλιοθήκη σας. Αποκόπτει τη σελίδα από το πρόγραμμα περιήγησης ώστε να λειτουργούν ακόμη και ιστότοποι επί πληρωμή ή με υποχρεωτική σύνδεση.",
"Added to your library. It will sync to your other devices.": "Προστέθηκε στη βιβλιοθήκη σας. Θα συγχρονιστεί με τις άλλες σας συσκευές.",
"Sync passphrase forgotten. All encrypted fields cleared.": "Η συνθηματική φράση συγχρονισμού λησμονήθηκε. Όλα τα κρυπτογραφημένα πεδία διαγράφηκαν.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "Μόνο χειροκίνητοι συγχρονισμοί και εκκαθαρίσεις. Οι αυτόματοι συγχρονισμοί κατά την ανάγνωση δεν καταγράφονται εδώ.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "Διαγραφή {{n}} βιβλίων από τον διακομιστή WebDAV;\n\nΑυτό αφαιρεί μόνο τα απομακρυσμένα αρχεία· η τοπική σας βιβλιοθήκη παραμένει ανέπαφη. Η διαγραφή είναι μη αναστρέψιμη. Τα δεδομένα στον διακομιστή θα χαθούν οριστικά.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "Επηρεάζει μόνο τη μεταφόρτωση αρχείων βιβλίων. Η πρόοδος ανάγνωσης και οι λήψεις συγχρονίζονται πάντα.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "Λανθασμένη συνθηματική φράση συγχρονισμού. Δεν ήταν δυνατή η αποκρυπτογράφηση των συγχρονισμένων διαπιστευτηρίων.",
"Email books straight to your library": "Στείλτε βιβλία απευθείας στη βιβλιοθήκη σας μέσω email",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "Προωθήστε συνημμένα και άρθρα στην ιδιωτική σας διεύθυνση Readest. Διαθέσιμο στα πλάνα Plus, Pro και Lifetime.",
"View plans": "Προβολή πλάνων",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "Μπορείτε ακόμη να αποκόπτετε άρθρα δωρεάν μέσω του κουμπιού Αποστολή της εφαρμογής, του μενού κοινοποίησης στο κινητό ή της επέκτασης του προγράμματος περιήγησης.",
"...": "…",
"Server URL is required": "Απαιτείται URL διακομιστή",
"Authentication failed": "Η αυθεντικοποίηση απέτυχε",
"Root directory not found": "Δεν βρέθηκε ριζικός φάκελος",
"Unexpected server response (status {{status}})": "Μη αναμενόμενη απόκριση διακομιστή (κατάσταση {{status}})",
"Network error": "Σφάλμα δικτύου",
"Remote resource not found": "Δεν βρέθηκε ο απομακρυσμένος πόρος",
"Sync failed (status {{status}})": "Ο συγχρονισμός απέτυχε (κατάσταση {{status}})",
"Sync failed.": "Ο συγχρονισμός απέτυχε."
}
@@ -10,6 +10,8 @@
"Search in {{count}} Book(s)..._other": "Search in {{count}} books...",
"{{count}} pages left in chapter_one": "<0>{{count}}</0><1> page left in chapter</1>",
"{{count}} pages left in chapter_other": "<0>{{count}}</0><1> pages left in chapter</1>",
"{{count}} pages left in book_one": "<0>{{count}}</0><1> page left in book</1>",
"{{count}} pages left in book_other": "<0>{{count}}</0><1> pages left in book</1>",
"Deleted {{count}} file(s)_one": "Deleted {{count}} file",
"Deleted {{count}} file(s)_other": "Deleted {{count}} files",
"Failed to delete {{count}} file(s)_one": "Failed to delete {{count}} file",
@@ -593,6 +593,11 @@
"Cover": "Cubierta",
"Contain": "Contener",
"{{number}} pages left in chapter": "<0>{{number}}</0><1> páginas restantes en el capítulo</1>",
"{{time}} min left in book": "{{time}} min restantes en el libro",
"{{count}} pages left in book_one": "<0>{{count}}</0><1> página restante en el libro</1>",
"{{count}} pages left in book_many": "<0>{{count}}</0><1> páginas restantes en el libro</1>",
"{{count}} pages left in book_other": "<0>{{count}}</0><1> páginas restantes en el libro</1>",
"{{number}} pages left in book": "<0>{{number}}</0><1> páginas restantes en el libro</1>",
"Device": "Dispositivo",
"E-Ink Mode": "Modo E-Ink",
"Highlight Colors": "Colores de resaltado",
@@ -1347,7 +1352,6 @@
"Disable PIN…": "Desactivar PIN…",
"Sync passphrase ready": "Frase de contraseña de sincronización lista",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "Esto elimina permanentemente las credenciales cifradas que sincronizamos (p. ej., contraseñas del catálogo OPDS) en cada dispositivo. Se conservan las copias locales. Tendrás que volver a introducir la frase de contraseña de sincronización o establecer una nueva. ¿Continuar?",
"Sync passphrase forgotten — all encrypted fields cleared": "Frase de contraseña de sincronización olvidada — todos los campos cifrados se han borrado",
"Sync passphrase": "Frase de contraseña de sincronización",
"Set passphrase": "Establecer frase de contraseña",
"Forgot passphrase": "Olvidé la frase de contraseña",
@@ -1385,7 +1389,6 @@
"Custom background textures": "Texturas de fondo personalizadas",
"OPDS catalogs": "Catálogos OPDS",
"Saved catalog URLs and (encrypted) credentials": "URLs de catálogos guardadas y credenciales (cifradas)",
"Wrong sync passphrase — synced credentials could not be decrypted": "Frase de contraseña de sincronización incorrecta — no se pudieron descifrar las credenciales sincronizadas",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "Se restablecieron los datos de la frase de contraseña de sincronización en el servidor. Volviendo a cifrar tus credenciales con la nueva frase…",
"Failed to decrypt synced credentials": "No se pudieron descifrar las credenciales sincronizadas",
"Imported dictionary bundles and settings": "Paquetes de diccionarios importados y ajustes",
@@ -1490,7 +1493,6 @@
"Drop a book or document, or tap to choose": "Suelta un libro o documento, o toca para elegir",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "Pega la URL de un artículo",
"Added to your library — it will sync to your other devices.": "Añadido a tu biblioteca: se sincronizará con tus otros dispositivos.",
"Working…": "Procesando…",
"Could not load Send to Readest settings": "No se pudo cargar la configuración de Enviar a Readest",
"Address copied": "Dirección copiada",
@@ -1539,7 +1541,6 @@
"OK": "OK",
"No matching books found in the selected folder.": "No se encontraron libros que coincidan en la carpeta seleccionada.",
"Send a web article": "Enviar un artículo web",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "Instala la extensión de navegador Readest para enviar el artículo que estás leyendo a tu biblioteca — recorta la página desde tu navegador, así que los sitios con muro de pago o que requieren inicio de sesión también funcionan.",
"Enter a URL starting with http:// or https://": "Introduce una URL que empiece por http:// o https://",
"Import": "Importar",
"Import from Web URL": "Importar desde URL web",
@@ -1552,5 +1553,96 @@
"Saved to Readest": "Guardado en Readest",
"Apply to every occurrence in the book": "Aplicar a cada aparición en el libro",
"Saving article from share…": "Guardando artículo compartido…",
"Saved “{{title}}” to your library.": "«{{title}}» guardado en tu biblioteca."
"Saved “{{title}}” to your library.": "«{{title}}» guardado en tu biblioteca.",
"WebDAV authentication failed. Reconnect in Settings.": "Autenticación WebDAV fallida. Vuelve a conectar en Ajustes.",
"Downloading": "Descargando",
"Uploading": "Subiendo",
"downloaded {{n}} book(s)": "{{n}} libro(s) descargado(s)",
"pushed {{n}} config(s)": "{{n}} configuración(es) enviada(s)",
"uploaded {{n}} new file(s)": "{{n}} archivo(s) nuevo(s) subido(s)",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "Sincronización finalizada con {{failed}} error(es). {{ok}} correctos.",
"Sync complete": "Sincronización completa",
"Everything is already up to date.": "Todo está actualizado.",
"Browsing {{path}} on {{server}}": "Explorando {{path}} en {{server}}",
"Connect to a WebDAV server to browse your remote files.": "Conéctate a un servidor WebDAV para explorar tus archivos remotos.",
"WebDAV": "WebDAV",
"Upload Book Files": "Subir archivos de libros",
"Sync now": "Sincronizar ahora",
"Hide password": "Ocultar contraseña",
"Show password": "Mostrar contraseña",
"Root Directory": "Directorio raíz",
"Syncing…": "Sincronizando…",
"pulled progress for {{n}} book(s)": "progreso de {{n}} libro(s) recuperado",
"Sync History": "Historial de sincronización",
"Clear Sync History": "Borrar historial de sincronización",
"No manual syncs yet": "Aún no hay sincronizaciones manuales",
"Partial": "Parcial",
"Cleanup": "Limpieza",
"Cleanup failed": "Limpieza fallida",
"Sync failed": "Sincronización fallida",
"{{n}} deleted": "{{n}} eliminados",
"{{n}} failed": "{{n}} con error",
"Nothing deleted": "No se eliminó nada",
"{{n}} downloaded": "{{n}} descargados",
"{{n}} uploaded": "{{n}} subidos",
"{{n}} progress": "{{n}} de progreso",
"Up to date": "Al día",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "Libros descargados",
"Files uploaded": "Archivos subidos",
"Configs uploaded": "Configuraciones subidas",
"Configs downloaded": "Configuraciones descargadas",
"Covers uploaded": "Portadas subidas",
"Books deleted": "Libros eliminados",
"Files in sync": "Archivos sincronizados",
"Failures": "Errores",
"Total books": "Libros totales",
"Error:": "Error:",
"Failed books": "Libros con error",
"Deleted {{n}} book(s) from server.": "Se eliminaron {{n}} libro(s) del servidor.",
"Failed to load directory": "No se pudo cargar el directorio",
"File download is only supported on the desktop and mobile apps.": "La descarga de archivos solo es compatible con las aplicaciones de escritorio y móvil.",
"Downloaded \"{{title}}\" to your library.": "Se descargó \"{{title}}\" a tu biblioteca.",
"Failed to download \"{{name}}\": {{error}}": "No se pudo descargar \"{{name}}\": {{error}}",
"Up": "Subir",
"Cleanup · {{count}} book(s)_one": "Limpieza · {{count}} libro",
"Cleanup · {{count}} book(s)_many": "Limpieza · {{count}} libros",
"Cleanup · {{count}} book(s)_other": "Limpieza · {{count}} libros",
"Exit cleanup": "Salir de la limpieza",
"Refresh": "Actualizar",
"All clear · no books": "Todo listo · sin libros",
"Empty directory": "Directorio vacío",
"Deleted locally · still on server": "Eliminado localmente · aún en el servidor",
"Select": "Seleccionar",
"Already downloaded in this session": "Ya descargado en esta sesión",
"Downloading…": "Descargando…",
"Download to library": "Descargar a la biblioteca",
"Deselect all": "Deseleccionar todo",
"Select all": "Seleccionar todo",
"{{n}} selected": "{{n}} seleccionados",
"Delete from server": "Eliminar del servidor",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "Se eliminaron {{ok}} de {{total}} libro(s) del servidor; {{n}} fallaron (primero: \"{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "No se pudo eliminar ninguno de los {{n}} libro(s) del servidor (primero: \"{{first}}\").",
"Syncing {{n}} / {{total}}": "Sincronizando {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "Instala la extensión del navegador de Readest para enviar el artículo que estás leyendo a tu biblioteca. Recorta la página desde tu navegador para que los sitios con muro de pago o que requieren inicio de sesión funcionen.",
"Added to your library. It will sync to your other devices.": "Añadido a tu biblioteca. Se sincronizará con tus otros dispositivos.",
"Sync passphrase forgotten. All encrypted fields cleared.": "Frase de paso de sincronización olvidada. Se borraron todos los campos cifrados.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "Solo sincronizaciones manuales y limpiezas. Las sincronizaciones automáticas durante la lectura no se registran aquí.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "¿Eliminar {{n}} libro(s) del servidor WebDAV?\n\nEsto solo elimina los archivos remotos; tu biblioteca local no se verá afectada. La eliminación no se puede deshacer. Los bytes en el servidor desaparecerán permanentemente.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "Solo afecta a la subida de archivos de libros. El progreso de lectura y las descargas siempre se sincronizan.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "Frase de paso de sincronización incorrecta. No se pudieron descifrar las credenciales sincronizadas.",
"Email books straight to your library": "Envía libros por correo directamente a tu biblioteca",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "Reenvía archivos adjuntos y artículos a tu dirección privada de Readest. Disponible en los planes Plus, Pro y Lifetime.",
"View plans": "Ver planes",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "Aún puedes recortar artículos gratis con el botón Enviar de la app, el menú Compartir del móvil o la extensión del navegador.",
"...": "…",
"Server URL is required": "Se requiere la URL del servidor",
"Authentication failed": "Autenticación fallida",
"Root directory not found": "No se encontró el directorio raíz",
"Unexpected server response (status {{status}})": "Respuesta inesperada del servidor (estado {{status}})",
"Network error": "Error de red",
"Remote resource not found": "No se encontró el recurso remoto",
"Sync failed (status {{status}})": "Sincronización fallida (estado {{status}})",
"Sync failed.": "Sincronización fallida."
}
@@ -589,6 +589,10 @@
"Cover": "جلد",
"Contain": "شامل",
"{{number}} pages left in chapter": "<0>{{number}}</0><1> صفحه تا انتهای فصل</1>",
"{{time}} min left in book": "{{time}} دقیقه تا انتهای کتاب",
"{{count}} pages left in book_one": "<0>{{count}}</0><1> صفحه تا انتهای کتاب</1>",
"{{count}} pages left in book_other": "<0>{{count}}</0><1> صفحه تا انتهای کتاب</1>",
"{{number}} pages left in book": "<0>{{number}}</0><1> صفحه تا انتهای کتاب</1>",
"Device": "دستگاه",
"E-Ink Mode": "حالت E-Ink",
"Highlight Colors": "رنگ‌های هایلایت",
@@ -1323,7 +1327,6 @@
"Disable PIN…": "غیرفعال کردن PIN…",
"Sync passphrase ready": "عبارت عبور همگام‌سازی آماده است",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "این به طور دائم اعتبارنامه‌های رمزگذاری‌شده‌ای را که همگام‌سازی می‌کنیم (مانند رمزهای کاتالوگ OPDS) در همه دستگاه‌ها حذف می‌کند. نسخه‌های محلی حفظ می‌شوند. باید عبارت عبور همگام‌سازی را دوباره وارد کنید یا یک عبارت جدید تنظیم کنید. ادامه می‌دهید؟",
"Sync passphrase forgotten — all encrypted fields cleared": "عبارت عبور همگام‌سازی فراموش شد — تمام فیلدهای رمزگذاری‌شده پاک شدند",
"Sync passphrase": "عبارت عبور همگام‌سازی",
"Set passphrase": "تنظیم عبارت عبور",
"Forgot passphrase": "عبارت عبور را فراموش کرده‌اید",
@@ -1361,7 +1364,6 @@
"Custom background textures": "بافت‌های پس‌زمینه سفارشی",
"OPDS catalogs": "کاتالوگ‌های OPDS",
"Saved catalog URLs and (encrypted) credentials": "نشانی‌های ذخیره‌شده کاتالوگ و اعتبارنامه‌های (رمزنگاری‌شده)",
"Wrong sync passphrase — synced credentials could not be decrypted": "عبارت عبور همگام‌سازی نادرست است — رمزگشایی اعتبارنامه‌های همگام‌شده ممکن نیست",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "داده‌های عبارت عبور همگام‌سازی روی سرور بازنشانی شد. در حال رمزنگاری مجدد اعتبارنامه‌ها با عبارت عبور جدید…",
"Failed to decrypt synced credentials": "رمزگشایی اعتبارنامه‌های همگام‌شده ناموفق بود",
"Imported dictionary bundles and settings": "بسته‌های فرهنگ‌لغت وارد شده و تنظیمات",
@@ -1462,7 +1464,6 @@
"Drop a book or document, or tap to choose": "یک کتاب یا سند را رها کنید، یا برای انتخاب ضربه بزنید",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "نشانی اینترنتی یک مقاله را بچسبانید",
"Added to your library — it will sync to your other devices.": "به کتابخانه‌تان افزوده شد — با دستگاه‌های دیگر شما همگام‌سازی خواهد شد.",
"Working…": "در حال پردازش…",
"Could not load Send to Readest settings": "بارگذاری تنظیمات ارسال به Readest ممکن نشد",
"Address copied": "نشانی کپی شد",
@@ -1511,7 +1512,6 @@
"OK": "تأیید",
"No matching books found in the selected folder.": "هیچ کتاب مطابقی در پوشه انتخاب‌شده یافت نشد.",
"Send a web article": "ارسال یک مقاله وب",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "افزونه مرورگر Readest را نصب کنید تا مقاله‌ای را که می‌خوانید به کتابخانه خود ارسال کنید — صفحه را از مرورگر شما برش می‌دهد، بنابراین سایت‌های پولی و فقط ورود نیز کار می‌کنند.",
"Enter a URL starting with http:// or https://": "یک URL وارد کنید که با http:// یا https:// شروع شود",
"Import": "وارد کردن",
"Import from Web URL": "وارد کردن از آدرس وب",
@@ -1524,5 +1524,95 @@
"Saved to Readest": "در Readest ذخیره شد",
"Apply to every occurrence in the book": "اعمال در همه موارد در کتاب",
"Saving article from share…": "در حال ذخیره مقاله از اشتراک‌گذاری…",
"Saved “{{title}}” to your library.": "«{{title}}» در کتابخانه شما ذخیره شد."
"Saved “{{title}}” to your library.": "«{{title}}» در کتابخانه شما ذخیره شد.",
"WebDAV authentication failed. Reconnect in Settings.": "احراز هویت WebDAV ناموفق بود. در تنظیمات دوباره متصل شوید.",
"Downloading": "دانلود",
"Uploading": "بارگذاری",
"downloaded {{n}} book(s)": "{{n}} کتاب دانلود شد",
"pushed {{n}} config(s)": "{{n}} پیکربندی ارسال شد",
"uploaded {{n}} new file(s)": "{{n}} فایل جدید بارگذاری شد",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "همگام‌سازی با {{failed}} خطا پایان یافت. {{ok}} موفق.",
"Sync complete": "همگام‌سازی کامل شد",
"Everything is already up to date.": "همه چیز از قبل به‌روز است.",
"Browsing {{path}} on {{server}}": "مرور {{path}} در {{server}}",
"Connect to a WebDAV server to browse your remote files.": "برای مرور فایل‌های راه‌دور خود به یک سرور WebDAV متصل شوید.",
"WebDAV": "WebDAV",
"Upload Book Files": "بارگذاری فایل‌های کتاب",
"Sync now": "همگام‌سازی اکنون",
"Hide password": "پنهان کردن رمز عبور",
"Show password": "نمایش رمز عبور",
"Root Directory": "دایرکتوری اصلی",
"Syncing…": "در حال همگام‌سازی…",
"pulled progress for {{n}} book(s)": "پیشرفت {{n}} کتاب دریافت شد",
"Sync History": "تاریخچه همگام‌سازی",
"Clear Sync History": "پاک کردن تاریخچه همگام‌سازی",
"No manual syncs yet": "هنوز همگام‌سازی دستی انجام نشده",
"Partial": "جزئی",
"Cleanup": "پاک‌سازی",
"Cleanup failed": "پاک‌سازی ناموفق",
"Sync failed": "همگام‌سازی ناموفق بود",
"{{n}} deleted": "{{n}} حذف‌شده",
"{{n}} failed": "{{n}} ناموفق",
"Nothing deleted": "چیزی حذف نشد",
"{{n}} downloaded": "{{n}} دانلودشده",
"{{n}} uploaded": "{{n}} بارگذاری‌شده",
"{{n}} progress": "{{n}} پیشرفت",
"Up to date": "به‌روز",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "کتاب‌های دانلودشده",
"Files uploaded": "فایل‌های بارگذاری‌شده",
"Configs uploaded": "پیکربندی‌های بارگذاری‌شده",
"Configs downloaded": "پیکربندی‌های دانلودشده",
"Covers uploaded": "جلدهای بارگذاری‌شده",
"Books deleted": "کتاب‌های حذف‌شده",
"Files in sync": "فایل‌های همگام‌شده",
"Failures": "خطاها",
"Total books": "مجموع کتاب‌ها",
"Error:": "خطا:",
"Failed books": "کتاب‌های ناموفق",
"Deleted {{n}} book(s) from server.": "{{n}} کتاب از سرور حذف شد.",
"Failed to load directory": "بارگذاری پوشه ناموفق بود",
"File download is only supported on the desktop and mobile apps.": "دانلود فایل تنها در برنامه‌های دسکتاپ و موبایل پشتیبانی می‌شود.",
"Downloaded \"{{title}}\" to your library.": "\"{{title}}\" در کتابخانه شما دانلود شد.",
"Failed to download \"{{name}}\": {{error}}": "دانلود \"{{name}}\" ناموفق بود: {{error}}",
"Up": "بالا",
"Cleanup · {{count}} book(s)_one": "پاک‌سازی · {{count}} کتاب",
"Cleanup · {{count}} book(s)_other": "پاک‌سازی · {{count}} کتاب",
"Exit cleanup": "خروج از پاک‌سازی",
"Refresh": "بارگذاری مجدد",
"All clear · no books": "همه چیز پاک است · کتابی نیست",
"Empty directory": "پوشه خالی",
"Deleted locally · still on server": "حذف محلی · هنوز در سرور",
"Select": "انتخاب",
"Already downloaded in this session": "قبلاً در این جلسه دانلود شده",
"Downloading…": "در حال دانلود…",
"Download to library": "دانلود به کتابخانه",
"Deselect all": "لغو انتخاب همه",
"Select all": "انتخاب همه",
"{{n}} selected": "{{n}} انتخاب‌شده",
"Delete from server": "حذف از سرور",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "{{ok}} از {{total}} کتاب از سرور حذف شد؛ {{n}} ناموفق (اولین: «{{first}}»).",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "هیچ‌یک از {{n}} کتاب از سرور حذف نشد (اولین: «{{first}}»).",
"Syncing {{n}} / {{total}}": "همگام‌سازی {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "افزونه مرورگر Readest را نصب کنید تا مقاله‌ای را که می‌خوانید به کتابخانه‌تان بفرستید. صفحه را از مرورگر شما برش می‌دهد تا سایت‌های پولی و نیازمند ورود نیز کار کنند.",
"Added to your library. It will sync to your other devices.": "به کتابخانه شما اضافه شد. با سایر دستگاه‌های شما همگام می‌شود.",
"Sync passphrase forgotten. All encrypted fields cleared.": "عبارت عبور همگام‌سازی فراموش شد. تمام فیلدهای رمزگذاری‌شده پاک شدند.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "فقط همگام‌سازی‌های دستی و پاک‌سازی‌ها. همگام‌سازی‌های خودکار هنگام مطالعه اینجا ثبت نمی‌شوند.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "{{n}} کتاب از سرور WebDAV حذف شود؟\n\nاین فقط فایل‌های راه‌دور را حذف می‌کند؛ کتابخانه محلی شما دست‌نخورده می‌ماند. حذف غیرقابل بازگشت است. داده‌های روی سرور برای همیشه از بین می‌رود.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "فقط بر بارگذاری فایل‌های کتاب تأثیر می‌گذارد. پیشرفت مطالعه و دانلودها همیشه همگام می‌شوند.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "عبارت عبور همگام‌سازی نادرست است. اعتبارنامه‌های همگام‌شده قابل رمزگشایی نبودند.",
"Email books straight to your library": "کتاب‌ها را مستقیماً به کتابخانه‌تان ایمیل کنید",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "پیوست‌ها و مقالات را به آدرس خصوصی Readest خود ارسال کنید. در پلن‌های Plus، Pro و Lifetime در دسترس است.",
"View plans": "مشاهده پلن‌ها",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "هنوز می‌توانید مقالات را به‌صورت رایگان از طریق دکمه ارسال درون برنامه، منوی اشتراک‌گذاری موبایل یا افزونه مرورگر کلیپ کنید.",
"...": "…",
"Server URL is required": "آدرس URL سرور لازم است",
"Authentication failed": "احراز هویت ناموفق بود",
"Root directory not found": "دایرکتوری اصلی پیدا نشد",
"Unexpected server response (status {{status}})": "پاسخ غیرمنتظره از سرور (وضعیت {{status}})",
"Network error": "خطای شبکه",
"Remote resource not found": "منبع راه‌دور پیدا نشد",
"Sync failed (status {{status}})": "همگام‌سازی ناموفق بود (وضعیت {{status}})",
"Sync failed.": "همگام‌سازی ناموفق بود."
}
@@ -593,6 +593,11 @@
"Cover": "Couverture",
"Contain": "Contenir",
"{{number}} pages left in chapter": "<0>{{number}}</0><1> pages restantes dans le chapitre</1>",
"{{time}} min left in book": "{{time}} min restant dans le livre",
"{{count}} pages left in book_one": "<0>{{count}}</0><1> page restant dans le livre</1>",
"{{count}} pages left in book_many": "<0>{{count}}</0><1> pages restantes dans le livre</1>",
"{{count}} pages left in book_other": "<0>{{count}}</0><1> pages restantes dans le livre</1>",
"{{number}} pages left in book": "<0>{{number}}</0><1> pages restantes dans le livre</1>",
"Device": "Appareil",
"E-Ink Mode": "Mode E-Ink",
"Highlight Colors": "Couleurs de Surlignage",
@@ -1347,7 +1352,6 @@
"Disable PIN…": "Désactiver le PIN…",
"Sync passphrase ready": "Phrase secrète de synchronisation prête",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "Cela supprime définitivement les identifiants chiffrés que nous synchronisons (par exemple, les mots de passe du catalogue OPDS) sur chaque appareil. Les copies locales sont conservées. Vous devrez ressaisir la phrase secrète de synchronisation ou en définir une nouvelle. Continuer ?",
"Sync passphrase forgotten — all encrypted fields cleared": "Phrase secrète de synchronisation oubliée — tous les champs chiffrés ont été effacés",
"Sync passphrase": "Phrase secrète de synchronisation",
"Set passphrase": "Définir la phrase secrète",
"Forgot passphrase": "Phrase secrète oubliée",
@@ -1385,7 +1389,6 @@
"Custom background textures": "Textures d'arrière-plan personnalisées",
"OPDS catalogs": "Catalogues OPDS",
"Saved catalog URLs and (encrypted) credentials": "URLs de catalogues enregistrées et identifiants (chiffrés)",
"Wrong sync passphrase — synced credentials could not be decrypted": "Phrase secrète de synchronisation incorrecte — les identifiants synchronisés n'ont pas pu être déchiffrés",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "Les données de phrase secrète de synchronisation sur le serveur ont été réinitialisées. Rechiffrement de vos identifiants avec la nouvelle phrase secrète…",
"Failed to decrypt synced credentials": "Impossible de déchiffrer les identifiants synchronisés",
"Imported dictionary bundles and settings": "Paquets de dictionnaires importés et paramètres",
@@ -1490,7 +1493,6 @@
"Drop a book or document, or tap to choose": "Déposez un livre ou un document, ou touchez pour choisir",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "Coller l'URL d'un article",
"Added to your library — it will sync to your other devices.": "Ajouté à votre bibliothèque — la synchronisation vers vos autres appareils suivra.",
"Working…": "En cours…",
"Could not load Send to Readest settings": "Impossible de charger les paramètres dEnvoyer vers Readest",
"Address copied": "Adresse copiée",
@@ -1539,7 +1541,6 @@
"OK": "OK",
"No matching books found in the selected folder.": "Aucun livre correspondant trouvé dans le dossier sélectionné.",
"Send a web article": "Envoyer un article web",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "Installez lextension de navigateur Readest pour envoyer larticle que vous lisez à votre bibliothèque — elle découpe la page depuis votre navigateur, donc les sites payants et nécessitant une connexion fonctionnent aussi.",
"Enter a URL starting with http:// or https://": "Saisissez une URL commençant par http:// ou https://",
"Import": "Importer",
"Import from Web URL": "Importer depuis une URL web",
@@ -1552,5 +1553,96 @@
"Saved to Readest": "Enregistré dans Readest",
"Apply to every occurrence in the book": "Appliquer à chaque occurrence dans le livre",
"Saving article from share…": "Enregistrement de larticle partagé…",
"Saved “{{title}}” to your library.": "« {{title}} » a été enregistré dans votre bibliothèque."
"Saved “{{title}}” to your library.": "« {{title}} » a été enregistré dans votre bibliothèque.",
"WebDAV authentication failed. Reconnect in Settings.": "Échec de l'authentification WebDAV. Reconnectez-vous dans les Réglages.",
"Downloading": "Téléchargement",
"Uploading": "Téléversement",
"downloaded {{n}} book(s)": "{{n}} livre(s) téléchargé(s)",
"pushed {{n}} config(s)": "{{n}} configuration(s) envoyée(s)",
"uploaded {{n}} new file(s)": "{{n}} nouveau(x) fichier(s) téléversé(s)",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "Synchronisation terminée avec {{failed}} échec(s). {{ok}} ok.",
"Sync complete": "Synchronisation terminée",
"Everything is already up to date.": "Tout est déjà à jour.",
"Browsing {{path}} on {{server}}": "Navigation dans {{path}} sur {{server}}",
"Connect to a WebDAV server to browse your remote files.": "Connectez-vous à un serveur WebDAV pour parcourir vos fichiers distants.",
"WebDAV": "WebDAV",
"Upload Book Files": "Téléverser les fichiers de livres",
"Sync now": "Synchroniser maintenant",
"Hide password": "Masquer le mot de passe",
"Show password": "Afficher le mot de passe",
"Root Directory": "Répertoire racine",
"Syncing…": "Synchronisation…",
"pulled progress for {{n}} book(s)": "progression récupérée pour {{n}} livre(s)",
"Sync History": "Historique de synchronisation",
"Clear Sync History": "Effacer l'historique de synchronisation",
"No manual syncs yet": "Aucune synchronisation manuelle pour le moment",
"Partial": "Partiel",
"Cleanup": "Nettoyage",
"Cleanup failed": "Échec du nettoyage",
"Sync failed": "Échec de la synchronisation",
"{{n}} deleted": "{{n}} supprimés",
"{{n}} failed": "{{n}} en échec",
"Nothing deleted": "Rien de supprimé",
"{{n}} downloaded": "{{n}} téléchargés",
"{{n}} uploaded": "{{n}} téléversés",
"{{n}} progress": "{{n}} de progression",
"Up to date": "À jour",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "Livres téléchargés",
"Files uploaded": "Fichiers téléversés",
"Configs uploaded": "Configurations téléversées",
"Configs downloaded": "Configurations téléchargées",
"Covers uploaded": "Couvertures téléversées",
"Books deleted": "Livres supprimés",
"Files in sync": "Fichiers synchronisés",
"Failures": "Échecs",
"Total books": "Total des livres",
"Error:": "Erreur :",
"Failed books": "Livres en échec",
"Deleted {{n}} book(s) from server.": "{{n}} livre(s) supprimé(s) du serveur.",
"Failed to load directory": "Échec du chargement du dossier",
"File download is only supported on the desktop and mobile apps.": "Le téléchargement de fichiers n'est pris en charge que dans les applications de bureau et mobiles.",
"Downloaded \"{{title}}\" to your library.": "« {{title}} » a été téléchargé dans votre bibliothèque.",
"Failed to download \"{{name}}\": {{error}}": "Échec du téléchargement de « {{name}} » : {{error}}",
"Up": "Monter",
"Cleanup · {{count}} book(s)_one": "Nettoyage · {{count}} livre",
"Cleanup · {{count}} book(s)_many": "Nettoyage · {{count}} livres",
"Cleanup · {{count}} book(s)_other": "Nettoyage · {{count}} livres",
"Exit cleanup": "Quitter le nettoyage",
"Refresh": "Actualiser",
"All clear · no books": "Tout est propre · aucun livre",
"Empty directory": "Dossier vide",
"Deleted locally · still on server": "Supprimé localement · toujours sur le serveur",
"Select": "Sélectionner",
"Already downloaded in this session": "Déjà téléchargé dans cette session",
"Downloading…": "Téléchargement…",
"Download to library": "Télécharger dans la bibliothèque",
"Deselect all": "Tout désélectionner",
"Select all": "Tout sélectionner",
"{{n}} selected": "{{n}} sélectionnés",
"Delete from server": "Supprimer du serveur",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "{{ok}} sur {{total}} livre(s) supprimé(s) du serveur ; {{n}} en échec (premier : « {{first}} »).",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "Impossible de supprimer aucun des {{n}} livre(s) du serveur (premier : « {{first}} »).",
"Syncing {{n}} / {{total}}": "Synchronisation {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "Installez l'extension de navigateur Readest pour envoyer l'article que vous lisez à votre bibliothèque. Elle capture la page depuis votre navigateur, de sorte que les sites payants ou nécessitant une connexion fonctionnent toujours.",
"Added to your library. It will sync to your other devices.": "Ajouté à votre bibliothèque. Il sera synchronisé avec vos autres appareils.",
"Sync passphrase forgotten. All encrypted fields cleared.": "Phrase secrète de synchronisation oubliée. Tous les champs chiffrés ont été effacés.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "Synchronisations manuelles et nettoyages uniquement. Les synchronisations automatiques pendant la lecture ne sont pas enregistrées ici.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "Supprimer {{n}} livre(s) du serveur WebDAV ?\n\nCela ne supprime que les fichiers distants ; votre bibliothèque locale n'est pas affectée. La suppression est irréversible. Les octets sur le serveur seront définitivement perdus.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "Affecte uniquement le téléversement des fichiers de livres. La progression de lecture et les téléchargements sont toujours synchronisés.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "Phrase secrète de synchronisation incorrecte. Les identifiants synchronisés n'ont pas pu être déchiffrés.",
"Email books straight to your library": "Envoyez des livres par e-mail directement dans votre bibliothèque",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "Transférez les pièces jointes et les articles vers votre adresse Readest privée. Disponible avec les forfaits Plus, Pro et Lifetime.",
"View plans": "Voir les forfaits",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "Vous pouvez toujours capturer des articles gratuitement avec le bouton Envoyer dans l'application, le menu Partager mobile ou l'extension de navigateur.",
"...": "…",
"Server URL is required": "L'URL du serveur est requise",
"Authentication failed": "Échec de l'authentification",
"Root directory not found": "Répertoire racine introuvable",
"Unexpected server response (status {{status}})": "Réponse inattendue du serveur (statut {{status}})",
"Network error": "Erreur réseau",
"Remote resource not found": "Ressource distante introuvable",
"Sync failed (status {{status}})": "Échec de la synchronisation (statut {{status}})",
"Sync failed.": "Échec de la synchronisation."
}
@@ -458,6 +458,11 @@
"{{count}} pages left in chapter_one": "<1>נותר דף אחד בפרק</1>",
"{{count}} pages left in chapter_two": "<1>נותרו </1><0>{{count}}</0><1> דפים בפרק</1>",
"{{count}} pages left in chapter_other": "<1>נותרו </1><0>{{count}}</0><1> דפים בפרק</1>",
"{{time}} min left in book": "נותרו {{time}} דקות בספר",
"{{number}} pages left in book": "<1>נותרו </1><0>{{number}}</0><1> דפים בספר</1>",
"{{count}} pages left in book_one": "<1>נותר דף אחד בספר</1>",
"{{count}} pages left in book_two": "<1>נותרו </1><0>{{count}}</0><1> דפים בספר</1>",
"{{count}} pages left in book_other": "<1>נותרו </1><0>{{count}}</0><1> דפים בספר</1>",
"On {{current}} of {{total}} page": "בדף {{current}} מתוך {{total}}",
"Selection": "בחירה",
"Book": "ספר",
@@ -1347,7 +1352,6 @@
"Disable PIN…": "השבת PIN…",
"Sync passphrase ready": "ביטוי הסיסמה לסנכרון מוכן",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "פעולה זו מוחקת לצמיתות את פרטי ההתחברות המוצפנים שאנו מסנכרנים (למשל, סיסמאות קטלוג OPDS) בכל מכשיר. עותקים מקומיים נשמרים. תצטרך להזין מחדש את ביטוי הסיסמה לסנכרון או להגדיר אחד חדש. להמשיך?",
"Sync passphrase forgotten — all encrypted fields cleared": "ביטוי הסיסמה לסנכרון נשכח — כל השדות המוצפנים נמחקו",
"Sync passphrase": "ביטוי סיסמה לסנכרון",
"Set passphrase": "הגדרת ביטוי סיסמה",
"Forgot passphrase": "שכחת את ביטוי הסיסמה",
@@ -1385,7 +1389,6 @@
"Custom background textures": "טקסטורות רקע מותאמות אישית",
"OPDS catalogs": "קטלוגי OPDS",
"Saved catalog URLs and (encrypted) credentials": "כתובות קטלוגים שמורות ופרטי גישה (מוצפנים)",
"Wrong sync passphrase — synced credentials could not be decrypted": "סיסמת סנכרון שגויה — לא ניתן לפענח את פרטי הגישה המסונכרנים",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "נתוני סיסמת הסנכרון בשרת אופסו. מצפין מחדש את פרטי הגישה עם הסיסמה החדשה…",
"Failed to decrypt synced credentials": "פענוח פרטי הגישה המסונכרנים נכשל",
"Imported dictionary bundles and settings": "חבילות מילונים מיובאות והגדרות",
@@ -1490,7 +1493,6 @@
"Drop a book or document, or tap to choose": "גרור ספר או מסמך, או הקש לבחירה",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "הדבק כתובת URL של מאמר",
"Added to your library — it will sync to your other devices.": "נוסף לספרייה שלך — הוא יסונכרן למכשירים האחרים שלך.",
"Working…": "מעבד…",
"Could not load Send to Readest settings": "לא ניתן היה לטעון את הגדרות השליחה אל Readest",
"Address copied": "הכתובת הועתקה",
@@ -1539,7 +1541,6 @@
"OK": "אישור",
"No matching books found in the selected folder.": "לא נמצאו ספרים תואמים בתיקייה שנבחרה.",
"Send a web article": "שלח מאמר אינטרנט",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "התקן את הרחבת הדפדפן של Readest כדי לשלוח את המאמר שאתה קורא לספרייה שלך — היא חותכת את הדף מהדפדפן שלך כך שגם אתרים עם חומת תשלום ואתרים שדורשים התחברות עובדים.",
"Enter a URL starting with http:// or https://": "הזן URL שמתחיל ב-http:// או ב-https://",
"Import": "יבוא",
"Import from Web URL": "יבוא מ-URL של אתר",
@@ -1552,5 +1553,96 @@
"Saved to Readest": "נשמר ב-Readest",
"Apply to every occurrence in the book": "החל על כל מופע בספר",
"Saving article from share…": "שומר מאמר משיתוף…",
"Saved “{{title}}” to your library.": "\"{{title}}\" נשמר לספרייה שלך."
"Saved “{{title}}” to your library.": "\"{{title}}\" נשמר לספרייה שלך.",
"WebDAV authentication failed. Reconnect in Settings.": "אימות WebDAV נכשל. התחבר מחדש בהגדרות.",
"Downloading": "מוריד",
"Uploading": "מעלה",
"downloaded {{n}} book(s)": "הורדו {{n}} ספרים",
"pushed {{n}} config(s)": "נשלחו {{n}} הגדרות",
"uploaded {{n}} new file(s)": "הועלו {{n}} קבצים חדשים",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "הסנכרון הסתיים עם {{failed}} כשלים. {{ok}} הצליחו.",
"Sync complete": "הסנכרון הושלם",
"Everything is already up to date.": "הכל כבר מעודכן.",
"Browsing {{path}} on {{server}}": "דפדוף ב-{{path}} בשרת {{server}}",
"Connect to a WebDAV server to browse your remote files.": "התחבר לשרת WebDAV כדי לעיין בקבצים המרוחקים שלך.",
"WebDAV": "WebDAV",
"Upload Book Files": "העלאת קובצי ספרים",
"Sync now": "סנכרן עכשיו",
"Hide password": "הסתר סיסמה",
"Show password": "הצג סיסמה",
"Root Directory": "תיקיית שורש",
"Syncing…": "מסנכרן…",
"pulled progress for {{n}} book(s)": "הובאה התקדמות עבור {{n}} ספרים",
"Sync History": "היסטוריית סנכרון",
"Clear Sync History": "מחק היסטוריית סנכרון",
"No manual syncs yet": "אין סנכרונים ידניים עדיין",
"Partial": "חלקי",
"Cleanup": "ניקוי",
"Cleanup failed": "הניקוי נכשל",
"Sync failed": "הסנכרון נכשל",
"{{n}} deleted": "{{n}} נמחקו",
"{{n}} failed": "{{n}} נכשלו",
"Nothing deleted": "לא נמחק דבר",
"{{n}} downloaded": "{{n}} הורדו",
"{{n}} uploaded": "{{n}} הועלו",
"{{n}} progress": "{{n}} התקדמות",
"Up to date": "מעודכן",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "ספרים שהורדו",
"Files uploaded": "קבצים שהועלו",
"Configs uploaded": "הגדרות שהועלו",
"Configs downloaded": "הגדרות שהורדו",
"Covers uploaded": "כריכות שהועלו",
"Books deleted": "ספרים שנמחקו",
"Files in sync": "קבצים מסונכרנים",
"Failures": "כשלים",
"Total books": "סך הספרים",
"Error:": "שגיאה:",
"Failed books": "ספרים שנכשלו",
"Deleted {{n}} book(s) from server.": "נמחקו {{n}} ספרים מהשרת.",
"Failed to load directory": "טעינת התיקייה נכשלה",
"File download is only supported on the desktop and mobile apps.": "הורדת קבצים נתמכת רק באפליקציות שולחן העבודה והנייד.",
"Downloaded \"{{title}}\" to your library.": "\"{{title}}\" הורד לספרייה שלך.",
"Failed to download \"{{name}}\": {{error}}": "הורדת \"{{name}}\" נכשלה: {{error}}",
"Up": "למעלה",
"Cleanup · {{count}} book(s)_one": "ניקוי · ספר אחד",
"Cleanup · {{count}} book(s)_two": "ניקוי · {{count}} ספרים",
"Cleanup · {{count}} book(s)_other": "ניקוי · {{count}} ספרים",
"Exit cleanup": "יציאה מניקוי",
"Refresh": "רענון",
"All clear · no books": "הכל נקי · אין ספרים",
"Empty directory": "תיקייה ריקה",
"Deleted locally · still on server": "נמחק מקומית · עדיין בשרת",
"Select": "בחר",
"Already downloaded in this session": "כבר הורד בהפעלה זו",
"Downloading…": "מוריד…",
"Download to library": "הורד לספרייה",
"Deselect all": "בטל בחירה",
"Select all": "בחר הכל",
"{{n}} selected": "{{n}} נבחרו",
"Delete from server": "מחק מהשרת",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "נמחקו {{ok}} מתוך {{total}} ספרים מהשרת; {{n}} נכשלו (ראשון: \"{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "לא ניתן למחוק אף אחד מהספרים ({{n}}; ראשון: \"{{first}}\").",
"Syncing {{n}} / {{total}}": "מסנכרן {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "התקן את הרחבת הדפדפן של Readest כדי לשלוח את המאמר שאתה קורא לספרייה שלך. היא חותכת את הדף מהדפדפן שלך כך שאתרים בתשלום ואתרים הדורשים התחברות עדיין יעבדו.",
"Added to your library. It will sync to your other devices.": "נוסף לספרייה שלך. הוא יסונכרן עם המכשירים האחרים שלך.",
"Sync passphrase forgotten. All encrypted fields cleared.": "משפט הסיסמה לסנכרון נשכח. כל השדות המוצפנים נמחקו.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "רק סנכרונים ידניים וניקויים. סנכרונים אוטומטיים בזמן קריאה אינם נרשמים כאן.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "למחוק {{n}} ספרים משרת ה-WebDAV?\n\nפעולה זו מסירה רק את הקבצים המרוחקים; הספרייה המקומית שלך אינה מושפעת. לא ניתן לבטל את המחיקה. הבייטים בשרת ייעלמו לתמיד.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "משפיע רק על העלאת קובצי ספרים. התקדמות הקריאה וההורדות תמיד מסונכרנות.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "משפט סיסמה לסנכרון שגוי. לא ניתן היה לפענח את פרטי הכניסה המסונכרנים.",
"Email books straight to your library": "שלח ספרים ישירות לספרייה שלך באמצעות אימייל",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "העבר קבצים מצורפים ומאמרים לכתובת Readest הפרטית שלך. זמין בתוכניות Plus, Pro ו-Lifetime.",
"View plans": "הצג תוכניות",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "עדיין תוכל לחתוך מאמרים בחינם באמצעות כפתור השליחה בתוך האפליקציה, תפריט השיתוף בנייד או הרחבת הדפדפן.",
"...": "…",
"Server URL is required": "נדרשת כתובת URL של שרת",
"Authentication failed": "האימות נכשל",
"Root directory not found": "תיקיית השורש לא נמצאה",
"Unexpected server response (status {{status}})": "תגובה לא צפויה מהשרת (סטטוס {{status}})",
"Network error": "שגיאת רשת",
"Remote resource not found": "משאב מרוחק לא נמצא",
"Sync failed (status {{status}})": "הסנכרון נכשל (סטטוס {{status}})",
"Sync failed.": "הסנכרון נכשל."
}
@@ -589,6 +589,10 @@
"Cover": "कवर",
"Contain": "समाहित करें",
"{{number}} pages left in chapter": "<1>इस अध्याय में </1><0>{{number}}</0><1> पृष्ठ शेष हैं</1>",
"{{time}} min left in book": "{{time}} मिनट शेष पुस्तक में",
"{{count}} pages left in book_one": "<1>इस पुस्तक में </1><0>{{count}}</0><1> पृष्ठ शेष हैं</1>",
"{{count}} pages left in book_other": "<1>इस पुस्तक में </1><0>{{count}}</0><1> पृष्ठ शेष हैं</1>",
"{{number}} pages left in book": "<1>इस पुस्तक में </1><0>{{number}}</0><1> पृष्ठ शेष हैं</1>",
"Device": "डिवाइस",
"E-Ink Mode": "ई-इंक मोड",
"Highlight Colors": "हाइलाइट रंग",
@@ -1323,7 +1327,6 @@
"Disable PIN…": "PIN अक्षम करें…",
"Sync passphrase ready": "सिंक पासफ़्रेज़ तैयार",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "यह हर डिवाइस पर हमारे सिंक किए गए एन्क्रिप्टेड क्रेडेंशियल (जैसे, OPDS कैटलॉग पासवर्ड) को स्थायी रूप से हटा देता है। स्थानीय प्रतियां सुरक्षित रहती हैं। आपको सिंक पासफ़्रेज़ फिर से दर्ज करना होगा या एक नया सेट करना होगा। जारी रखें?",
"Sync passphrase forgotten — all encrypted fields cleared": "सिंक पासफ़्रेज़ भूल गए — सभी एन्क्रिप्टेड फ़ील्ड हटा दिए गए",
"Sync passphrase": "सिंक पासफ़्रेज़",
"Set passphrase": "पासफ़्रेज़ सेट करें",
"Forgot passphrase": "पासफ़्रेज़ भूल गए",
@@ -1361,7 +1364,6 @@
"Custom background textures": "कस्टम पृष्ठभूमि बनावट",
"OPDS catalogs": "OPDS कैटलॉग",
"Saved catalog URLs and (encrypted) credentials": "सहेजे गए कैटलॉग URL और (एन्क्रिप्टेड) क्रेडेंशियल्स",
"Wrong sync passphrase — synced credentials could not be decrypted": "गलत सिंक पासफ़्रेज़ — सिंक की गई क्रेडेंशियल्स को डिक्रिप्ट नहीं किया जा सका",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "सर्वर पर सिंक पासफ़्रेज़ डेटा रीसेट कर दिया गया। आपकी क्रेडेंशियल्स को नए पासफ़्रेज़ से पुनः एन्क्रिप्ट किया जा रहा है…",
"Failed to decrypt synced credentials": "सिंक की गई क्रेडेंशियल्स को डिक्रिप्ट करने में विफल",
"Imported dictionary bundles and settings": "आयातित शब्दकोश बंडल और सेटिंग्स",
@@ -1462,7 +1464,6 @@
"Drop a book or document, or tap to choose": "कोई किताब या दस्तावेज़ छोड़ें, या चुनने के लिए टैप करें",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "किसी लेख का URL पेस्ट करें",
"Added to your library — it will sync to your other devices.": "आपकी लाइब्रेरी में जोड़ा गया — यह आपके अन्य डिवाइस पर सिंक होगा।",
"Working…": "काम चल रहा है…",
"Could not load Send to Readest settings": "Readest को भेजें सेटिंग्स लोड नहीं की जा सकीं",
"Address copied": "पता कॉपी किया गया",
@@ -1511,7 +1512,6 @@
"OK": "ठीक है",
"No matching books found in the selected folder.": "चयनित फ़ोल्डर में कोई मेल खाती पुस्तक नहीं मिली।",
"Send a web article": "एक वेब लेख भेजें",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "जो लेख आप पढ़ रहे हैं उसे अपनी लाइब्रेरी में भेजने के लिए Readest ब्राउज़र एक्सटेंशन इंस्टॉल करें — यह आपके ब्राउज़र से पृष्ठ क्लिप करता है, इसलिए पेवॉल और लॉगिन-केवल साइटें भी काम करती हैं।",
"Enter a URL starting with http:// or https://": "http:// या https:// से शुरू होने वाला URL दर्ज करें",
"Import": "आयात करें",
"Import from Web URL": "वेब URL से आयात करें",
@@ -1524,5 +1524,95 @@
"Saved to Readest": "Readest में सहेजा गया",
"Apply to every occurrence in the book": "किताब में हर बार लागू करें",
"Saving article from share…": "साझा किया गया लेख सहेजा जा रहा है…",
"Saved “{{title}}” to your library.": "\"{{title}}\" आपकी लाइब्रेरी में सहेजा गया।"
"Saved “{{title}}” to your library.": "\"{{title}}\" आपकी लाइब्रेरी में सहेजा गया।",
"WebDAV authentication failed. Reconnect in Settings.": "WebDAV प्रमाणीकरण विफल। सेटिंग्स में पुनः कनेक्ट करें।",
"Downloading": "डाउनलोड हो रहा है",
"Uploading": "अपलोड हो रहा है",
"downloaded {{n}} book(s)": "{{n}} किताब(ें) डाउनलोड",
"pushed {{n}} config(s)": "{{n}} कॉन्फ़िग भेजे गए",
"uploaded {{n}} new file(s)": "{{n}} नई फ़ाइलें अपलोड",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "सिंक {{failed}} विफलताओं के साथ समाप्त। {{ok}} सफल।",
"Sync complete": "सिंक पूरा हुआ",
"Everything is already up to date.": "सब कुछ पहले से अद्यतन है।",
"Browsing {{path}} on {{server}}": "{{server}} पर {{path}} ब्राउज़ कर रहे हैं",
"Connect to a WebDAV server to browse your remote files.": "अपनी रिमोट फ़ाइलें ब्राउज़ करने के लिए WebDAV सर्वर से कनेक्ट करें।",
"WebDAV": "WebDAV",
"Upload Book Files": "पुस्तक फ़ाइलें अपलोड करें",
"Sync now": "अभी सिंक करें",
"Hide password": "पासवर्ड छिपाएँ",
"Show password": "पासवर्ड दिखाएँ",
"Root Directory": "रूट निर्देशिका",
"Syncing…": "सिंक हो रहा है…",
"pulled progress for {{n}} book(s)": "{{n}} किताब(ों) की प्रगति प्राप्त की",
"Sync History": "सिंक इतिहास",
"Clear Sync History": "सिंक इतिहास साफ़ करें",
"No manual syncs yet": "अभी तक कोई मैन्युअल सिंक नहीं",
"Partial": "आंशिक",
"Cleanup": "सफाई",
"Cleanup failed": "सफाई विफल",
"Sync failed": "सिंक विफल",
"{{n}} deleted": "{{n}} हटाई गईं",
"{{n}} failed": "{{n}} विफल",
"Nothing deleted": "कुछ नहीं हटाया गया",
"{{n}} downloaded": "{{n}} डाउनलोड",
"{{n}} uploaded": "{{n}} अपलोड",
"{{n}} progress": "{{n}} प्रगति",
"Up to date": "अद्यतन",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "डाउनलोड की गई किताबें",
"Files uploaded": "अपलोड की गई फ़ाइलें",
"Configs uploaded": "अपलोड किए गए कॉन्फ़िग",
"Configs downloaded": "डाउनलोड किए गए कॉन्फ़िग",
"Covers uploaded": "अपलोड किए गए कवर",
"Books deleted": "हटाई गई किताबें",
"Files in sync": "सिंक में फ़ाइलें",
"Failures": "विफलताएँ",
"Total books": "कुल किताबें",
"Error:": "त्रुटि:",
"Failed books": "विफल किताबें",
"Deleted {{n}} book(s) from server.": "सर्वर से {{n}} किताब(ें) हटाई गईं।",
"Failed to load directory": "निर्देशिका लोड करने में विफल",
"File download is only supported on the desktop and mobile apps.": "फ़ाइल डाउनलोड केवल डेस्कटॉप और मोबाइल ऐप्स में समर्थित है।",
"Downloaded \"{{title}}\" to your library.": "\"{{title}}\" आपकी लाइब्रेरी में डाउनलोड किया गया।",
"Failed to download \"{{name}}\": {{error}}": "\"{{name}}\" डाउनलोड करने में विफल: {{error}}",
"Up": "ऊपर",
"Cleanup · {{count}} book(s)_one": "सफाई · {{count}} किताब",
"Cleanup · {{count}} book(s)_other": "सफाई · {{count}} किताबें",
"Exit cleanup": "सफाई से बाहर निकलें",
"Refresh": "रिफ्रेश करें",
"All clear · no books": "सब साफ़ · कोई किताब नहीं",
"Empty directory": "खाली निर्देशिका",
"Deleted locally · still on server": "स्थानीय रूप से हटाया गया · अभी भी सर्वर पर",
"Select": "चुनें",
"Already downloaded in this session": "इस सत्र में पहले से डाउनलोड किया गया",
"Downloading…": "डाउनलोड हो रहा है…",
"Download to library": "लाइब्रेरी में डाउनलोड करें",
"Deselect all": "सभी अचयनित करें",
"Select all": "सभी चुनें",
"{{n}} selected": "{{n}} चयनित",
"Delete from server": "सर्वर से हटाएं",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "सर्वर से {{total}} में से {{ok}} किताब(ें) हटाई गईं; {{n}} विफल (पहली: \"{{first}}\")।",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "सर्वर से {{n}} में से कोई भी किताब नहीं हटाई जा सकी (पहली: \"{{first}}\")।",
"Syncing {{n}} / {{total}}": "सिंक हो रहा है {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "जो लेख आप पढ़ रहे हैं उसे अपनी लाइब्रेरी में भेजने के लिए Readest ब्राउज़र एक्सटेंशन इंस्टॉल करें। यह आपके ब्राउज़र से पृष्ठ को क्लिप करता है ताकि पेवॉल और लॉगिन-केवल साइटें भी काम करें।",
"Added to your library. It will sync to your other devices.": "आपकी लाइब्रेरी में जोड़ा गया। यह आपके अन्य उपकरणों के साथ सिंक होगा।",
"Sync passphrase forgotten. All encrypted fields cleared.": "सिंक पासफ़्रेज़ भुलाया गया। सभी एन्क्रिप्ट किए गए फ़ील्ड साफ़ कर दिए गए।",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "केवल मैन्युअल सिंक और सफाई। पढ़ते समय स्वचालित सिंक यहाँ लॉग नहीं किए जाते।",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "WebDAV सर्वर से {{n}} किताब(ें) हटाएं?\n\nयह केवल रिमोट फ़ाइलें हटाता है; आपकी स्थानीय लाइब्रेरी अप्रभावित रहती है। हटाना पूर्ववत नहीं किया जा सकता। सर्वर पर डेटा हमेशा के लिए चला जाएगा।",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "केवल पुस्तक फ़ाइलें अपलोड करने को प्रभावित करता है। पढ़ने की प्रगति और डाउनलोड हमेशा सिंक होते हैं।",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "गलत सिंक पासफ़्रेज़। सिंक की गई क्रेडेंशियल्स को डिक्रिप्ट नहीं किया जा सका।",
"Email books straight to your library": "अपनी लाइब्रेरी में सीधे ईमेल से किताबें भेजें",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "अनुलग्नक और लेख अपने निजी Readest पते पर अग्रेषित करें। Plus, Pro और Lifetime प्लान में उपलब्ध।",
"View plans": "योजनाएँ देखें",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "आप अब भी ऐप के सेंड बटन, मोबाइल शेयर मेनू, या ब्राउज़र एक्सटेंशन से मुफ्त में लेख क्लिप कर सकते हैं।",
"...": "…",
"Server URL is required": "सर्वर URL आवश्यक है",
"Authentication failed": "प्रमाणीकरण विफल",
"Root directory not found": "रूट निर्देशिका नहीं मिली",
"Unexpected server response (status {{status}})": "सर्वर से अप्रत्याशित प्रतिक्रिया (स्थिति {{status}})",
"Network error": "नेटवर्क त्रुटि",
"Remote resource not found": "रिमोट संसाधन नहीं मिला",
"Sync failed (status {{status}})": "सिंक विफल (स्थिति {{status}})",
"Sync failed.": "सिंक विफल हुआ।"
}
@@ -502,6 +502,10 @@
"{{number}} pages left in chapter": "{{number}} oldal van hátra a fejezetben",
"{{count}} pages left in chapter_one": "{{count}} oldal van hátra a fejezetben",
"{{count}} pages left in chapter_other": "{{count}} oldal van hátra a fejezetben",
"{{time}} min left in book": "{{time}} perc van hátra a könyvből",
"{{number}} pages left in book": "{{number}} oldal van hátra a könyvből",
"{{count}} pages left in book_one": "{{count}} oldal van hátra a könyvből",
"{{count}} pages left in book_other": "{{count}} oldal van hátra a könyvből",
"On {{current}} of {{total}} page": "{{current}}/{{total}}. oldal",
"Selection": "Kijelölés",
"Book": "Könyv",
@@ -1323,7 +1327,6 @@
"Disable PIN…": "PIN letiltása…",
"Sync passphrase ready": "Szinkronizálási jelmondat készen áll",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "Ez véglegesen törli a szinkronizált titkosított hitelesítő adatokat (pl. OPDS-katalógusjelszavak) minden eszközön. A helyi másolatok megmaradnak. Újra meg kell adnia a szinkronizálási jelmondatot, vagy újat kell beállítania. Folytatja?",
"Sync passphrase forgotten — all encrypted fields cleared": "Szinkronizálási jelmondat elfelejtve — az összes titkosított mező törölve",
"Sync passphrase": "Szinkronizálási jelmondat",
"Set passphrase": "Jelmondat beállítása",
"Forgot passphrase": "Elfelejtett jelmondat",
@@ -1361,7 +1364,6 @@
"Custom background textures": "Egyéni háttértextúrák",
"OPDS catalogs": "OPDS katalógusok",
"Saved catalog URLs and (encrypted) credentials": "Mentett katalógus-URL-ek és (titkosított) hitelesítő adatok",
"Wrong sync passphrase — synced credentials could not be decrypted": "Hibás szinkronizálási jelszó — a szinkronizált hitelesítő adatok nem voltak visszafejthetők",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "A kiszolgálón lévő szinkronizálási jelszóadatok visszaállítva. A hitelesítő adatok újratitkosítása az új jelszóval folyamatban…",
"Failed to decrypt synced credentials": "A szinkronizált hitelesítő adatok visszafejtése sikertelen",
"Imported dictionary bundles and settings": "Importált szótárcsomagok és beállítások",
@@ -1462,7 +1464,6 @@
"Drop a book or document, or tap to choose": "Húzzon ide egy könyvet vagy dokumentumot, vagy koppintson a kiválasztáshoz",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "Illesszen be egy cikk URL-címét",
"Added to your library — it will sync to your other devices.": "Hozzáadva a könyvtárához — szinkronizálódni fog a többi eszközével.",
"Working…": "Folyamatban…",
"Could not load Send to Readest settings": "A Küldés a Readestbe beállításait nem sikerült betölteni",
"Address copied": "Cím másolva",
@@ -1511,7 +1512,6 @@
"OK": "OK",
"No matching books found in the selected folder.": "Nem található megfelelő könyv a kiválasztott mappában.",
"Send a web article": "Webcikk küldése",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "Telepítsd a Readest böngészőbővítményt, hogy a jelenleg olvasott cikket a könyvtáradba küldhesd — kivágja az oldalt a böngésződből, így a fizetős és csak bejelentkezéssel elérhető oldalak is működnek.",
"Enter a URL starting with http:// or https://": "Adj meg egy URL-t, ami http://-vel vagy https://-vel kezdődik",
"Import": "Importálás",
"Import from Web URL": "Importálás webcímről",
@@ -1524,5 +1524,95 @@
"Saved to Readest": "Mentve a Readestbe",
"Apply to every occurrence in the book": "Alkalmazás a könyv minden előfordulására",
"Saving article from share…": "Megosztott cikk mentése…",
"Saved “{{title}}” to your library.": "A(z) „{{title}}” mentve a könyvtáradba."
"Saved “{{title}}” to your library.": "A(z) „{{title}}” mentve a könyvtáradba.",
"WebDAV authentication failed. Reconnect in Settings.": "WebDAV hitelesítés sikertelen. Csatlakozzon újra a Beállításokban.",
"Downloading": "Letöltés",
"Uploading": "Feltöltés",
"downloaded {{n}} book(s)": "{{n}} könyv letöltve",
"pushed {{n}} config(s)": "{{n}} konfiguráció feltöltve",
"uploaded {{n}} new file(s)": "{{n}} új fájl feltöltve",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "Szinkronizálás befejeződött {{failed}} hibával. {{ok}} sikeres.",
"Sync complete": "Szinkronizálás kész",
"Everything is already up to date.": "Minden naprakész.",
"Browsing {{path}} on {{server}}": "{{path}} böngészése a következőn: {{server}}",
"Connect to a WebDAV server to browse your remote files.": "Csatlakozzon WebDAV-kiszolgálóhoz a távoli fájlok böngészéséhez.",
"WebDAV": "WebDAV",
"Upload Book Files": "Könyvfájlok feltöltése",
"Sync now": "Szinkronizálás most",
"Hide password": "Jelszó elrejtése",
"Show password": "Jelszó megjelenítése",
"Root Directory": "Gyökérkönyvtár",
"Syncing…": "Szinkronizálás…",
"pulled progress for {{n}} book(s)": "{{n}} könyv folyamata letöltve",
"Sync History": "Szinkronizálási előzmények",
"Clear Sync History": "Szinkronizálási előzmények törlése",
"No manual syncs yet": "Még nincs kézi szinkronizálás",
"Partial": "Részleges",
"Cleanup": "Takarítás",
"Cleanup failed": "A takarítás sikertelen",
"Sync failed": "A szinkronizálás sikertelen",
"{{n}} deleted": "{{n}} törölve",
"{{n}} failed": "{{n}} sikertelen",
"Nothing deleted": "Semmi sem lett törölve",
"{{n}} downloaded": "{{n}} letöltve",
"{{n}} uploaded": "{{n}} feltöltve",
"{{n}} progress": "{{n}} folyamat",
"Up to date": "Naprakész",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "Letöltött könyvek",
"Files uploaded": "Feltöltött fájlok",
"Configs uploaded": "Feltöltött konfigurációk",
"Configs downloaded": "Letöltött konfigurációk",
"Covers uploaded": "Feltöltött borítók",
"Books deleted": "Törölt könyvek",
"Files in sync": "Szinkronban lévő fájlok",
"Failures": "Hibák",
"Total books": "Összes könyv",
"Error:": "Hiba:",
"Failed books": "Sikertelen könyvek",
"Deleted {{n}} book(s) from server.": "{{n}} könyv törölve a kiszolgálóról.",
"Failed to load directory": "Nem sikerült betölteni a mappát",
"File download is only supported on the desktop and mobile apps.": "A fájlletöltés csak az asztali és mobilalkalmazásokban támogatott.",
"Downloaded \"{{title}}\" to your library.": "„{{title}}\" letöltve a könyvtárba.",
"Failed to download \"{{name}}\": {{error}}": "Nem sikerült letölteni: „{{name}}\": {{error}}",
"Up": "Fel",
"Cleanup · {{count}} book(s)_one": "Takarítás · {{count}} könyv",
"Cleanup · {{count}} book(s)_other": "Takarítás · {{count}} könyv",
"Exit cleanup": "Kilépés a takarításból",
"Refresh": "Frissítés",
"All clear · no books": "Minden rendben · nincsenek könyvek",
"Empty directory": "Üres mappa",
"Deleted locally · still on server": "Helyileg törölve · még a kiszolgálón",
"Select": "Kijelölés",
"Already downloaded in this session": "Ebben a munkamenetben már letöltve",
"Downloading…": "Letöltés…",
"Download to library": "Letöltés a könyvtárba",
"Deselect all": "Kijelölés visszavonása",
"Select all": "Mind kijelölése",
"{{n}} selected": "{{n}} kijelölve",
"Delete from server": "Törlés a kiszolgálóról",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "{{total}} könyvből {{ok}} törölve a kiszolgálóról; {{n}} sikertelen (első: „{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "A(z) {{n}} könyv közül egyiket sem sikerült törölni a kiszolgálóról (első: „{{first}}\").",
"Syncing {{n}} / {{total}}": "Szinkronizálás {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "Telepítse a Readest böngészőkiegészítőt, hogy az éppen olvasott cikket a könyvtárába küldje. A bővítmény a böngészőből vágja ki az oldalt, így a fizetős és bejelentkezést igénylő oldalak is működnek.",
"Added to your library. It will sync to your other devices.": "Hozzáadva a könyvtárhoz. Szinkronizálódik a többi eszközével.",
"Sync passphrase forgotten. All encrypted fields cleared.": "A szinkronizálási jelmondat törölve. Minden titkosított mező törölve.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "Csak kézi szinkronizálások és takarítások. Az olvasás közbeni automatikus szinkronizálások itt nem szerepelnek.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "Törli a(z) {{n}} könyvet a WebDAV kiszolgálóról?\n\nEz csak a távoli fájlokat törli; a helyi könyvtárát nem érinti. A törlés nem vonható vissza. A kiszolgálón lévő adatok véglegesen eltűnnek.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "Csak a könyvfájlok feltöltését érinti. Az olvasási folyamat és a letöltések mindig szinkronizálódnak.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "Hibás szinkronizálási jelmondat. A szinkronizált hitelesítő adatokat nem sikerült visszafejteni.",
"Email books straight to your library": "Küldjön könyveket közvetlenül e-mailben a könyvtárába",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "Továbbítsa a mellékleteket és cikkeket a privát Readest-címére. Elérhető a Plus, Pro és Lifetime csomagokban.",
"View plans": "Csomagok megtekintése",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "A cikkeket továbbra is ingyenesen kivághatja az alkalmazás Küldés gombjával, a mobil megosztás menüvel vagy a böngészőkiegészítővel.",
"...": "…",
"Server URL is required": "A kiszolgáló URL-je kötelező",
"Authentication failed": "A hitelesítés sikertelen",
"Root directory not found": "A gyökérkönyvtár nem található",
"Unexpected server response (status {{status}})": "Váratlan szerverválasz (állapot: {{status}})",
"Network error": "Hálózati hiba",
"Remote resource not found": "A távoli erőforrás nem található",
"Sync failed (status {{status}})": "A szinkronizálás sikertelen (állapot: {{status}})",
"Sync failed.": "A szinkronizálás sikertelen."
}
@@ -585,6 +585,9 @@
"Cover": "Sampul",
"Contain": "Mengandung",
"{{number}} pages left in chapter": "<0>{{number}}</0><1> halaman tersisa di bab</1>",
"{{time}} min left in book": "{{time}} menit tersisa di buku",
"{{count}} pages left in book_other": "<0>{{count}}</0><1> halaman tersisa di buku ini</1>",
"{{number}} pages left in book": "<0>{{number}}</0><1> halaman tersisa di buku</1>",
"Device": "Perangkat",
"E-Ink Mode": "Mode E-Ink",
"Highlight Colors": "Warna Sorotan",
@@ -1299,7 +1302,6 @@
"Disable PIN…": "Nonaktifkan PIN…",
"Sync passphrase ready": "Frasa sandi sinkronisasi siap",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "Ini secara permanen menghapus kredensial terenkripsi yang kami sinkronkan (mis., kata sandi katalog OPDS) di setiap perangkat. Salinan lokal disimpan. Anda perlu memasukkan kembali frasa sandi sinkronisasi atau menyetel yang baru. Lanjutkan?",
"Sync passphrase forgotten — all encrypted fields cleared": "Frasa sandi sinkronisasi terlupakan — semua bidang terenkripsi dihapus",
"Sync passphrase": "Frasa sandi sinkronisasi",
"Set passphrase": "Setel frasa sandi",
"Forgot passphrase": "Lupa frasa sandi",
@@ -1337,7 +1339,6 @@
"Custom background textures": "Tekstur latar belakang kustom",
"OPDS catalogs": "Katalog OPDS",
"Saved catalog URLs and (encrypted) credentials": "URL katalog tersimpan dan kredensial (terenkripsi)",
"Wrong sync passphrase — synced credentials could not be decrypted": "Frasa sandi sinkronisasi salah — kredensial yang disinkronkan tidak dapat didekripsi",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "Data frasa sandi sinkronisasi di server telah direset. Mengenkripsi ulang kredensial Anda dengan frasa sandi baru…",
"Failed to decrypt synced credentials": "Gagal mendekripsi kredensial yang disinkronkan",
"Imported dictionary bundles and settings": "Bundel kamus yang diimpor dan pengaturan",
@@ -1434,7 +1435,6 @@
"Drop a book or document, or tap to choose": "Jatuhkan buku atau dokumen, atau ketuk untuk memilih",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "Tempel URL artikel",
"Added to your library — it will sync to your other devices.": "Ditambahkan ke perpustakaan Anda — ini akan disinkronkan ke perangkat Anda yang lain.",
"Working…": "Memproses…",
"Could not load Send to Readest settings": "Tidak dapat memuat pengaturan Kirim ke Readest",
"Address copied": "Alamat disalin",
@@ -1483,7 +1483,6 @@
"OK": "OK",
"No matching books found in the selected folder.": "Tidak ada buku yang cocok ditemukan di folder yang dipilih.",
"Send a web article": "Kirim artikel web",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "Pasang ekstensi peramban Readest untuk mengirim artikel yang Anda baca ke perpustakaan — ekstensi memotong halaman dari peramban Anda sehingga situs berbayar dan hanya-login pun berfungsi.",
"Enter a URL starting with http:// or https://": "Masukkan URL yang diawali dengan http:// atau https://",
"Import": "Impor",
"Import from Web URL": "Impor dari URL web",
@@ -1496,5 +1495,94 @@
"Saved to Readest": "Tersimpan di Readest",
"Apply to every occurrence in the book": "Terapkan ke setiap kemunculan di buku",
"Saving article from share…": "Menyimpan artikel dari berbagi…",
"Saved “{{title}}” to your library.": "\"{{title}}\" disimpan ke perpustakaan Anda."
"Saved “{{title}}” to your library.": "\"{{title}}\" disimpan ke perpustakaan Anda.",
"WebDAV authentication failed. Reconnect in Settings.": "Autentikasi WebDAV gagal. Hubungkan ulang di Pengaturan.",
"Downloading": "Mengunduh",
"Uploading": "Mengunggah",
"downloaded {{n}} book(s)": "mengunduh {{n}} buku",
"pushed {{n}} config(s)": "mengirim {{n}} konfigurasi",
"uploaded {{n}} new file(s)": "mengunggah {{n}} file baru",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "Sinkronisasi selesai dengan {{failed}} kegagalan. {{ok}} berhasil.",
"Sync complete": "Sinkronisasi selesai",
"Everything is already up to date.": "Semua sudah terbaru.",
"Browsing {{path}} on {{server}}": "Menjelajahi {{path}} di {{server}}",
"Connect to a WebDAV server to browse your remote files.": "Hubungkan ke server WebDAV untuk menjelajahi file jarak jauh Anda.",
"WebDAV": "WebDAV",
"Upload Book Files": "Unggah file buku",
"Sync now": "Sinkronkan sekarang",
"Hide password": "Sembunyikan kata sandi",
"Show password": "Tampilkan kata sandi",
"Root Directory": "Direktori root",
"Syncing…": "Menyinkronkan…",
"pulled progress for {{n}} book(s)": "menarik progres {{n}} buku",
"Sync History": "Riwayat sinkronisasi",
"Clear Sync History": "Hapus riwayat sinkronisasi",
"No manual syncs yet": "Belum ada sinkronisasi manual",
"Partial": "Sebagian",
"Cleanup": "Bersihkan",
"Cleanup failed": "Pembersihan gagal",
"Sync failed": "Sinkronisasi gagal",
"{{n}} deleted": "{{n}} dihapus",
"{{n}} failed": "{{n}} gagal",
"Nothing deleted": "Tidak ada yang dihapus",
"{{n}} downloaded": "{{n}} diunduh",
"{{n}} uploaded": "{{n}} diunggah",
"{{n}} progress": "{{n}} progres",
"Up to date": "Terbaru",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "Buku diunduh",
"Files uploaded": "File diunggah",
"Configs uploaded": "Konfigurasi diunggah",
"Configs downloaded": "Konfigurasi diunduh",
"Covers uploaded": "Sampul diunggah",
"Books deleted": "Buku dihapus",
"Files in sync": "File sinkron",
"Failures": "Kegagalan",
"Total books": "Total buku",
"Error:": "Galat:",
"Failed books": "Buku gagal",
"Deleted {{n}} book(s) from server.": "Menghapus {{n}} buku dari server.",
"Failed to load directory": "Gagal memuat direktori",
"File download is only supported on the desktop and mobile apps.": "Unduhan file hanya didukung di aplikasi desktop dan ponsel.",
"Downloaded \"{{title}}\" to your library.": "\"{{title}}\" diunduh ke perpustakaan Anda.",
"Failed to download \"{{name}}\": {{error}}": "Gagal mengunduh \"{{name}}\": {{error}}",
"Up": "Naik",
"Cleanup · {{count}} book(s)_other": "Bersihkan · {{count}} buku",
"Exit cleanup": "Keluar dari pembersihan",
"Refresh": "Segarkan",
"All clear · no books": "Semua bersih · tidak ada buku",
"Empty directory": "Direktori kosong",
"Deleted locally · still on server": "Dihapus lokal · masih di server",
"Select": "Pilih",
"Already downloaded in this session": "Sudah diunduh di sesi ini",
"Downloading…": "Mengunduh…",
"Download to library": "Unduh ke perpustakaan",
"Deselect all": "Batalkan semua pilihan",
"Select all": "Pilih semua",
"{{n}} selected": "{{n}} dipilih",
"Delete from server": "Hapus dari server",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "Menghapus {{ok}} dari {{total}} buku dari server; {{n}} gagal (pertama: \"{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "Tidak dapat menghapus satu pun dari {{n}} buku di server (pertama: \"{{first}}\").",
"Syncing {{n}} / {{total}}": "Menyinkronkan {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "Pasang ekstensi browser Readest untuk mengirim artikel yang Anda baca ke perpustakaan. Ekstensi memotong halaman dari browser sehingga situs berbayar dan situs khusus login tetap dapat dibaca.",
"Added to your library. It will sync to your other devices.": "Ditambahkan ke perpustakaan Anda. Akan disinkronkan ke perangkat Anda yang lain.",
"Sync passphrase forgotten. All encrypted fields cleared.": "Frasa sandi sinkronisasi dilupakan. Semua bidang terenkripsi dihapus.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "Hanya sinkronisasi manual dan pembersihan. Sinkronisasi otomatis saat membaca tidak dicatat di sini.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "Hapus {{n}} buku dari server WebDAV?\n\nIni hanya menghapus file jarak jauh; perpustakaan lokal Anda tidak terpengaruh. Penghapusan tidak dapat dibatalkan. Data di server akan hilang permanen.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "Hanya memengaruhi unggahan file buku. Kemajuan baca dan unduhan selalu disinkronkan.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "Frasa sandi sinkronisasi salah. Kredensial yang disinkronkan tidak dapat didekripsi.",
"Email books straight to your library": "Kirim buku langsung ke perpustakaan Anda melalui email",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "Teruskan lampiran dan artikel ke alamat Readest pribadi Anda. Tersedia di paket Plus, Pro, dan Lifetime.",
"View plans": "Lihat paket",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "Anda masih dapat mengklip artikel secara gratis melalui tombol Kirim di aplikasi, menu Bagikan ponsel, atau ekstensi browser.",
"...": "…",
"Server URL is required": "URL server diperlukan",
"Authentication failed": "Autentikasi gagal",
"Root directory not found": "Direktori root tidak ditemukan",
"Unexpected server response (status {{status}})": "Respons server tak terduga (status {{status}})",
"Network error": "Galat jaringan",
"Remote resource not found": "Sumber jarak jauh tidak ditemukan",
"Sync failed (status {{status}})": "Sinkronisasi gagal (status {{status}})",
"Sync failed.": "Sinkronisasi gagal."
}
@@ -593,6 +593,11 @@
"Cover": "Copertura",
"Contain": "Contenere",
"{{number}} pages left in chapter": "<0>{{number}}</0><1> pagine rimaste nel capitolo</1>",
"{{time}} min left in book": "{{time}} min rimasti nel libro",
"{{count}} pages left in book_one": "<0>{{count}}</0><1> pagina rimasta nel libro</1>",
"{{count}} pages left in book_many": "<0>{{count}}</0><1> pagine rimaste nel libro</1>",
"{{count}} pages left in book_other": "<0>{{count}}</0><1> pagine rimaste nel libro</1>",
"{{number}} pages left in book": "<0>{{number}}</0><1> pagine rimaste nel libro</1>",
"Device": "Dispositivo",
"E-Ink Mode": "Modalità E-Ink",
"Highlight Colors": "Colori Evidenziazione",
@@ -1347,7 +1352,6 @@
"Disable PIN…": "Disattiva PIN…",
"Sync passphrase ready": "Passphrase di sincronizzazione pronta",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "Questa operazione elimina in modo permanente le credenziali crittografate che sincronizziamo (ad es. le password del catalogo OPDS) su ogni dispositivo. Le copie locali vengono conservate. Dovrai reinserire la passphrase di sincronizzazione o impostarne una nuova. Continuare?",
"Sync passphrase forgotten — all encrypted fields cleared": "Passphrase di sincronizzazione dimenticata — tutti i campi crittografati cancellati",
"Sync passphrase": "Passphrase di sincronizzazione",
"Set passphrase": "Imposta passphrase",
"Forgot passphrase": "Passphrase dimenticata",
@@ -1385,7 +1389,6 @@
"Custom background textures": "Texture di sfondo personalizzate",
"OPDS catalogs": "Cataloghi OPDS",
"Saved catalog URLs and (encrypted) credentials": "URL dei cataloghi salvati e credenziali (cifrate)",
"Wrong sync passphrase — synced credentials could not be decrypted": "Passphrase di sincronizzazione errata — impossibile decifrare le credenziali sincronizzate",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "I dati della passphrase di sincronizzazione sul server sono stati reimpostati. Crittografia delle credenziali con la nuova passphrase in corso…",
"Failed to decrypt synced credentials": "Impossibile decifrare le credenziali sincronizzate",
"Imported dictionary bundles and settings": "Pacchetti di dizionari importati e impostazioni",
@@ -1490,7 +1493,6 @@
"Drop a book or document, or tap to choose": "Trascina un libro o un documento, oppure tocca per scegliere",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "Incolla l'URL di un articolo",
"Added to your library — it will sync to your other devices.": "Aggiunto alla tua libreria: verrà sincronizzato con gli altri dispositivi.",
"Working…": "Elaborazione in corso…",
"Could not load Send to Readest settings": "Impossibile caricare le impostazioni di Invia a Readest",
"Address copied": "Indirizzo copiato",
@@ -1539,7 +1541,6 @@
"OK": "OK",
"No matching books found in the selected folder.": "Nessun libro corrispondente trovato nella cartella selezionata.",
"Send a web article": "Invia un articolo web",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "Installa lestensione del browser Readest per inviare larticolo che stai leggendo alla tua biblioteca — ritaglia la pagina dal browser, così funzionano anche i siti con paywall o che richiedono il login.",
"Enter a URL starting with http:// or https://": "Inserisci un URL che inizia con http:// o https://",
"Import": "Importa",
"Import from Web URL": "Importa da URL web",
@@ -1552,5 +1553,96 @@
"Saved to Readest": "Salvato in Readest",
"Apply to every occurrence in the book": "Applica a ogni occorrenza nel libro",
"Saving article from share…": "Salvataggio dellarticolo condiviso…",
"Saved “{{title}}” to your library.": "«{{title}}» salvato nella tua libreria."
"Saved “{{title}}” to your library.": "«{{title}}» salvato nella tua libreria.",
"WebDAV authentication failed. Reconnect in Settings.": "Autenticazione WebDAV non riuscita. Riconnetti dalle Impostazioni.",
"Downloading": "Download",
"Uploading": "Caricamento",
"downloaded {{n}} book(s)": "scaricati {{n}} libri",
"pushed {{n}} config(s)": "inviate {{n}} configurazioni",
"uploaded {{n}} new file(s)": "caricati {{n}} nuovi file",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "Sincronizzazione completata con {{failed}} errori. {{ok}} riusciti.",
"Sync complete": "Sincronizzazione completata",
"Everything is already up to date.": "È tutto già aggiornato.",
"Browsing {{path}} on {{server}}": "Esplorazione di {{path}} su {{server}}",
"Connect to a WebDAV server to browse your remote files.": "Collegati a un server WebDAV per sfogliare i tuoi file remoti.",
"WebDAV": "WebDAV",
"Upload Book Files": "Carica file dei libri",
"Sync now": "Sincronizza ora",
"Hide password": "Nascondi password",
"Show password": "Mostra password",
"Root Directory": "Cartella root",
"Syncing…": "Sincronizzazione…",
"pulled progress for {{n}} book(s)": "avanzamento recuperato per {{n}} libro/i",
"Sync History": "Cronologia sincronizzazione",
"Clear Sync History": "Cancella cronologia sincronizzazione",
"No manual syncs yet": "Ancora nessuna sincronizzazione manuale",
"Partial": "Parziale",
"Cleanup": "Pulizia",
"Cleanup failed": "Pulizia non riuscita",
"Sync failed": "Sincronizzazione non riuscita",
"{{n}} deleted": "{{n}} eliminati",
"{{n}} failed": "{{n}} non riusciti",
"Nothing deleted": "Nessuna eliminazione",
"{{n}} downloaded": "{{n}} scaricati",
"{{n}} uploaded": "{{n}} caricati",
"{{n}} progress": "{{n}} progresso",
"Up to date": "Aggiornato",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "Libri scaricati",
"Files uploaded": "File caricati",
"Configs uploaded": "Configurazioni caricate",
"Configs downloaded": "Configurazioni scaricate",
"Covers uploaded": "Copertine caricate",
"Books deleted": "Libri eliminati",
"Files in sync": "File sincronizzati",
"Failures": "Errori",
"Total books": "Libri totali",
"Error:": "Errore:",
"Failed books": "Libri non riusciti",
"Deleted {{n}} book(s) from server.": "Eliminati {{n}} libro/i dal server.",
"Failed to load directory": "Caricamento cartella non riuscito",
"File download is only supported on the desktop and mobile apps.": "Il download dei file è supportato solo nelle app desktop e mobile.",
"Downloaded \"{{title}}\" to your library.": "\"{{title}}\" scaricato nella tua libreria.",
"Failed to download \"{{name}}\": {{error}}": "Download di \"{{name}}\" non riuscito: {{error}}",
"Up": "Su",
"Cleanup · {{count}} book(s)_one": "Pulizia · {{count}} libro",
"Cleanup · {{count}} book(s)_many": "Pulizia · {{count}} libri",
"Cleanup · {{count}} book(s)_other": "Pulizia · {{count}} libri",
"Exit cleanup": "Esci dalla pulizia",
"Refresh": "Aggiorna",
"All clear · no books": "Tutto pulito · nessun libro",
"Empty directory": "Cartella vuota",
"Deleted locally · still on server": "Eliminato localmente · ancora sul server",
"Select": "Seleziona",
"Already downloaded in this session": "Già scaricato in questa sessione",
"Downloading…": "Download in corso…",
"Download to library": "Scarica nella libreria",
"Deselect all": "Deseleziona tutto",
"Select all": "Seleziona tutto",
"{{n}} selected": "{{n}} selezionati",
"Delete from server": "Elimina dal server",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "Eliminati {{ok}} di {{total}} libro/i dal server; {{n}} non riusciti (primo: \"{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "Impossibile eliminare alcuno dei {{n}} libro/i dal server (primo: \"{{first}}\").",
"Syncing {{n}} / {{total}}": "Sincronizzazione {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "Installa l'estensione browser di Readest per inviare l'articolo che stai leggendo alla tua libreria. Ritaglia la pagina dal tuo browser così anche i siti a pagamento e con login funzionano.",
"Added to your library. It will sync to your other devices.": "Aggiunto alla tua libreria. Verrà sincronizzato con gli altri tuoi dispositivi.",
"Sync passphrase forgotten. All encrypted fields cleared.": "Passphrase di sincronizzazione dimenticata. Tutti i campi cifrati sono stati cancellati.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "Solo sincronizzazioni manuali e pulizie. Le sincronizzazioni automatiche durante la lettura non vengono registrate qui.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "Eliminare {{n}} libro/i dal server WebDAV?\n\nQuesto rimuove solo i file remoti; la tua libreria locale non è interessata. L'eliminazione non può essere annullata. I byte sul server saranno persi per sempre.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "Influisce solo sul caricamento dei file dei libri. L'avanzamento di lettura e i download sono sempre sincronizzati.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "Passphrase di sincronizzazione errata. Impossibile decifrare le credenziali sincronizzate.",
"Email books straight to your library": "Invia i libri direttamente alla tua libreria via email",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "Inoltra allegati e articoli al tuo indirizzo Readest privato. Disponibile nei piani Plus, Pro e Lifetime.",
"View plans": "Vedi piani",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "Puoi ancora ritagliare articoli gratuitamente con il pulsante Invia dell'app, il menu Condividi del cellulare o l'estensione del browser.",
"...": "…",
"Server URL is required": "URL del server obbligatorio",
"Authentication failed": "Autenticazione non riuscita",
"Root directory not found": "Cartella root non trovata",
"Unexpected server response (status {{status}})": "Risposta inattesa dal server (stato {{status}})",
"Network error": "Errore di rete",
"Remote resource not found": "Risorsa remota non trovata",
"Sync failed (status {{status}})": "Sincronizzazione non riuscita (stato {{status}})",
"Sync failed.": "Sincronizzazione non riuscita."
}
@@ -585,6 +585,9 @@
"Cover": "カバー",
"Contain": "含む",
"{{number}} pages left in chapter": "<1>章に</1><0>{{number}}</0><1>ページ残り</1>",
"{{time}} min left in book": "本に{{time}}分残り",
"{{count}} pages left in book_other": "<1>本に</1><0>{{count}}</0><1> ページ残り</1>",
"{{number}} pages left in book": "<1>本に</1><0>{{number}}</0><1>ページ残り</1>",
"Device": "デバイス",
"E-Ink Mode": "E-Inkモード",
"Highlight Colors": "ハイライトカラー",
@@ -1299,7 +1302,6 @@
"Disable PIN…": "PINを無効化…",
"Sync passphrase ready": "同期パスフレーズの準備ができました",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "これにより、各デバイスで同期している暗号化された資格情報(OPDS カタログのパスワードなど)が永続的に削除されます。ローカルのコピーは保持されます。同期パスフレーズを再入力するか、新しく設定する必要があります。続行しますか?",
"Sync passphrase forgotten — all encrypted fields cleared": "同期パスフレーズを忘れました — 暗号化されたフィールドはすべてクリアされました",
"Sync passphrase": "同期パスフレーズ",
"Set passphrase": "パスフレーズを設定",
"Forgot passphrase": "パスフレーズを忘れました",
@@ -1337,7 +1339,6 @@
"Custom background textures": "カスタム背景テクスチャ",
"OPDS catalogs": "OPDS カタログ",
"Saved catalog URLs and (encrypted) credentials": "保存済みのカタログ URL と(暗号化された)認証情報",
"Wrong sync passphrase — synced credentials could not be decrypted": "同期パスフレーズが違います — 同期された認証情報を復号できませんでした",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "サーバーの同期パスフレーズデータがリセットされました。新しいパスフレーズで認証情報を再暗号化しています…",
"Failed to decrypt synced credentials": "同期された認証情報を復号できませんでした",
"Imported dictionary bundles and settings": "インポートした辞書バンドルと設定",
@@ -1434,7 +1435,6 @@
"Drop a book or document, or tap to choose": "本やドキュメントをドロップするか、タップして選択",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "記事のURLを貼り付け",
"Added to your library — it will sync to your other devices.": "ライブラリに追加しました — 他のデバイスにも同期されます。",
"Working…": "処理中…",
"Could not load Send to Readest settings": "Readestに送信の設定を読み込めませんでした",
"Address copied": "アドレスをコピーしました",
@@ -1483,7 +1483,6 @@
"OK": "OK",
"No matching books found in the selected folder.": "選択したフォルダ内に一致する書籍が見つかりませんでした。",
"Send a web article": "ウェブ記事を送信",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "読んでいる記事をライブラリに送るには、Readestのブラウザ拡張機能をインストールしてください — ブラウザからページをクリップするため、ペイウォールやログインが必要なサイトでも動作します。",
"Enter a URL starting with http:// or https://": "http:// または https:// で始まる URL を入力してください",
"Import": "インポート",
"Import from Web URL": "ウェブURLからインポート",
@@ -1496,5 +1495,94 @@
"Saved to Readest": "Readest に保存しました",
"Apply to every occurrence in the book": "本の中のすべての出現箇所に適用",
"Saving article from share…": "共有された記事を保存中…",
"Saved “{{title}}” to your library.": "「{{title}}」をライブラリに保存しました。"
"Saved “{{title}}” to your library.": "「{{title}}」をライブラリに保存しました。",
"WebDAV authentication failed. Reconnect in Settings.": "WebDAV 認証に失敗しました。設定で再接続してください。",
"Downloading": "ダウンロード中",
"Uploading": "アップロード中",
"downloaded {{n}} book(s)": "{{n}} 冊ダウンロード",
"pushed {{n}} config(s)": "{{n}} 件の設定をアップロード",
"uploaded {{n}} new file(s)": "{{n}} 件の新規ファイルをアップロード",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "同期は {{failed}} 件失敗で完了しました。成功 {{ok}} 件。",
"Sync complete": "同期完了",
"Everything is already up to date.": "すべて最新の状態です。",
"Browsing {{path}} on {{server}}": "{{server}} の {{path}} を閲覧中",
"Connect to a WebDAV server to browse your remote files.": "リモートファイルを閲覧するには WebDAV サーバーに接続してください。",
"WebDAV": "WebDAV",
"Upload Book Files": "書籍ファイルをアップロード",
"Sync now": "今すぐ同期",
"Hide password": "パスワードを非表示",
"Show password": "パスワードを表示",
"Root Directory": "ルートディレクトリ",
"Syncing…": "同期中…",
"pulled progress for {{n}} book(s)": "{{n}} 冊分の進捗を取得",
"Sync History": "同期履歴",
"Clear Sync History": "同期履歴をクリア",
"No manual syncs yet": "手動同期はまだありません",
"Partial": "一部",
"Cleanup": "クリーンアップ",
"Cleanup failed": "クリーンアップ失敗",
"Sync failed": "同期失敗",
"{{n}} deleted": "{{n}} 件削除",
"{{n}} failed": "{{n}} 件失敗",
"Nothing deleted": "削除なし",
"{{n}} downloaded": "{{n}} 件ダウンロード",
"{{n}} uploaded": "{{n}} 件アップロード",
"{{n}} progress": "{{n}} 件進捗",
"Up to date": "最新の状態",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "ダウンロードした書籍",
"Files uploaded": "アップロードしたファイル",
"Configs uploaded": "アップロードした設定",
"Configs downloaded": "ダウンロードした設定",
"Covers uploaded": "アップロードしたカバー",
"Books deleted": "削除した書籍",
"Files in sync": "同期済みファイル",
"Failures": "失敗",
"Total books": "書籍合計",
"Error:": "エラー:",
"Failed books": "失敗した書籍",
"Deleted {{n}} book(s) from server.": "サーバーから {{n}} 冊削除しました。",
"Failed to load directory": "ディレクトリの読み込みに失敗しました",
"File download is only supported on the desktop and mobile apps.": "ファイルのダウンロードはデスクトップアプリとモバイルアプリでのみサポートされています。",
"Downloaded \"{{title}}\" to your library.": "「{{title}}」をライブラリにダウンロードしました。",
"Failed to download \"{{name}}\": {{error}}": "「{{name}}」のダウンロードに失敗しました: {{error}}",
"Up": "上へ",
"Cleanup · {{count}} book(s)_other": "クリーンアップ · {{count}} 件",
"Exit cleanup": "クリーンアップを終了",
"Refresh": "更新",
"All clear · no books": "すべて完了 · 書籍なし",
"Empty directory": "空のディレクトリ",
"Deleted locally · still on server": "ローカルで削除済み · サーバーには残存",
"Select": "選択",
"Already downloaded in this session": "このセッションでダウンロード済み",
"Downloading…": "ダウンロード中…",
"Download to library": "ライブラリにダウンロード",
"Deselect all": "すべて選択解除",
"Select all": "すべて選択",
"{{n}} selected": "{{n}} 件選択",
"Delete from server": "サーバーから削除",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "サーバーから {{total}} 冊中 {{ok}} 冊削除しました。{{n}} 件失敗 (最初: 「{{first}}」)。",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "サーバーから {{n}} 冊のいずれも削除できませんでした (最初: 「{{first}}」)。",
"Syncing {{n}} / {{total}}": "同期中 {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "読んでいる記事をライブラリに送信するには、Readest ブラウザ拡張機能をインストールしてください。ページをブラウザから切り出すため、有料記事やログイン必須のサイトでも利用できます。",
"Added to your library. It will sync to your other devices.": "ライブラリに追加しました。他のデバイスと同期されます。",
"Sync passphrase forgotten. All encrypted fields cleared.": "同期パスフレーズを忘却しました。すべての暗号化フィールドがクリアされました。",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "手動同期とクリーンアップのみ。読書中の自動同期はここには記録されません。",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "WebDAV サーバーから {{n}} 冊を削除しますか?\n\nこの操作はリモートファイルのみを削除します。ローカルライブラリには影響しません。削除は元に戻せません。サーバー上のデータは完全に失われます。",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "書籍ファイルのアップロードのみに影響します。読書の進捗とダウンロードは常に同期されます。",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "同期パスフレーズが正しくありません。同期された認証情報を復号できませんでした。",
"Email books straight to your library": "本をメールで直接ライブラリに送信",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "添付ファイルや記事をあなた専用の Readest アドレスに転送できます。Plus、Pro、Lifetime プランで利用可能。",
"View plans": "プランを見る",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "アプリ内の送信ボタン、モバイルの共有メニュー、ブラウザ拡張機能を使えば、引き続き無料で記事をクリップできます。",
"...": "…",
"Server URL is required": "サーバー URL は必須です",
"Authentication failed": "認証に失敗しました",
"Root directory not found": "ルートディレクトリが見つかりません",
"Unexpected server response (status {{status}})": "予期しないサーバー応答 (ステータス {{status}})",
"Network error": "ネットワークエラー",
"Remote resource not found": "リモートリソースが見つかりません",
"Sync failed (status {{status}})": "同期に失敗しました (ステータス {{status}})",
"Sync failed.": "同期に失敗しました。"
}
@@ -585,6 +585,9 @@
"Cover": "표지",
"Contain": "포함",
"{{number}} pages left in chapter": "<1>남은 페이지 </1><0>{{number}}</0><1>장</1>",
"{{time}} min left in book": "책에 {{time}}분 남음",
"{{count}} pages left in book_other": "<1>책에 남은 페이지 </1><0>{{count}}</0><1>장</1>",
"{{number}} pages left in book": "<1>책에 남은 페이지 </1><0>{{number}}</0><1>장</1>",
"Device": "장치",
"E-Ink Mode": "E-Ink 모드",
"Highlight Colors": "하이라이트 색상",
@@ -1299,7 +1302,6 @@
"Disable PIN…": "PIN 비활성화…",
"Sync passphrase ready": "동기화 암호 문구가 준비되었습니다",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "이 작업을 수행하면 모든 기기에서 동기화하는 암호화된 자격 증명(예: OPDS 카탈로그 비밀번호)이 영구적으로 삭제됩니다. 로컬 복사본은 보존됩니다. 동기화 암호 문구를 다시 입력하거나 새로 설정해야 합니다. 계속하시겠습니까?",
"Sync passphrase forgotten — all encrypted fields cleared": "동기화 암호 문구를 잊었습니다 — 모든 암호화된 필드가 지워졌습니다",
"Sync passphrase": "동기화 암호 문구",
"Set passphrase": "암호 문구 설정",
"Forgot passphrase": "암호 문구를 잊으셨나요",
@@ -1337,7 +1339,6 @@
"Custom background textures": "사용자 지정 배경 텍스처",
"OPDS catalogs": "OPDS 카탈로그",
"Saved catalog URLs and (encrypted) credentials": "저장된 카탈로그 URL과 (암호화된) 자격 증명",
"Wrong sync passphrase — synced credentials could not be decrypted": "동기화 암호가 잘못되었습니다 — 동기화된 자격 증명을 복호화할 수 없습니다",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "서버의 동기화 암호 데이터가 재설정되었습니다. 새 암호로 자격 증명을 다시 암호화하는 중입니다…",
"Failed to decrypt synced credentials": "동기화된 자격 증명을 복호화하지 못했습니다",
"Imported dictionary bundles and settings": "가져온 사전 번들과 설정",
@@ -1434,7 +1435,6 @@
"Drop a book or document, or tap to choose": "책이나 문서를 끌어다 놓거나 탭하여 선택하세요",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "기사 URL 붙여넣기",
"Added to your library — it will sync to your other devices.": "라이브러리에 추가되었습니다 — 다른 기기에도 동기화됩니다.",
"Working…": "처리 중…",
"Could not load Send to Readest settings": "Readest로 보내기 설정을 불러올 수 없습니다",
"Address copied": "주소가 복사되었습니다",
@@ -1483,7 +1483,6 @@
"OK": "확인",
"No matching books found in the selected folder.": "선택한 폴더에서 일치하는 책을 찾을 수 없습니다.",
"Send a web article": "웹 기사 보내기",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "읽고 있는 기사를 라이브러리로 보내려면 Readest 브라우저 확장 프로그램을 설치하세요 — 브라우저에서 페이지를 잘라내므로 유료 결제벽이나 로그인이 필요한 사이트도 작동합니다.",
"Enter a URL starting with http:// or https://": "http:// 또는 https://로 시작하는 URL을 입력하세요",
"Import": "가져오기",
"Import from Web URL": "웹 URL에서 가져오기",
@@ -1496,5 +1495,94 @@
"Saved to Readest": "Readest에 저장됨",
"Apply to every occurrence in the book": "책의 모든 발생 위치에 적용",
"Saving article from share…": "공유된 기사 저장 중…",
"Saved “{{title}}” to your library.": "\"{{title}}\"을(를) 라이브러리에 저장했습니다."
"Saved “{{title}}” to your library.": "\"{{title}}\"을(를) 라이브러리에 저장했습니다.",
"WebDAV authentication failed. Reconnect in Settings.": "WebDAV 인증에 실패했습니다. 설정에서 다시 연결하세요.",
"Downloading": "다운로드 중",
"Uploading": "업로드 중",
"downloaded {{n}} book(s)": "{{n}}권 다운로드",
"pushed {{n}} config(s)": "{{n}}개 설정 업로드",
"uploaded {{n}} new file(s)": "{{n}}개 새 파일 업로드",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "동기화가 {{failed}}건의 실패로 완료되었습니다. {{ok}}건 성공.",
"Sync complete": "동기화 완료",
"Everything is already up to date.": "모든 것이 이미 최신 상태입니다.",
"Browsing {{path}} on {{server}}": "{{server}}의 {{path}} 탐색 중",
"Connect to a WebDAV server to browse your remote files.": "원격 파일을 탐색하려면 WebDAV 서버에 연결하세요.",
"WebDAV": "WebDAV",
"Upload Book Files": "책 파일 업로드",
"Sync now": "지금 동기화",
"Hide password": "비밀번호 숨기기",
"Show password": "비밀번호 표시",
"Root Directory": "루트 디렉터리",
"Syncing…": "동기화 중…",
"pulled progress for {{n}} book(s)": "{{n}}권의 진행도를 가져옴",
"Sync History": "동기화 기록",
"Clear Sync History": "동기화 기록 지우기",
"No manual syncs yet": "아직 수동 동기화 없음",
"Partial": "부분",
"Cleanup": "정리",
"Cleanup failed": "정리 실패",
"Sync failed": "동기화 실패",
"{{n}} deleted": "{{n}}개 삭제",
"{{n}} failed": "{{n}}개 실패",
"Nothing deleted": "삭제된 항목 없음",
"{{n}} downloaded": "{{n}}개 다운로드",
"{{n}} uploaded": "{{n}}개 업로드",
"{{n}} progress": "{{n}}개 진행도",
"Up to date": "최신 상태",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "다운로드한 책",
"Files uploaded": "업로드한 파일",
"Configs uploaded": "업로드한 설정",
"Configs downloaded": "다운로드한 설정",
"Covers uploaded": "업로드한 표지",
"Books deleted": "삭제한 책",
"Files in sync": "동기화된 파일",
"Failures": "실패",
"Total books": "전체 책",
"Error:": "오류:",
"Failed books": "실패한 책",
"Deleted {{n}} book(s) from server.": "서버에서 {{n}}권 삭제했습니다.",
"Failed to load directory": "디렉터리를 불러오지 못했습니다",
"File download is only supported on the desktop and mobile apps.": "파일 다운로드는 데스크톱 및 모바일 앱에서만 지원됩니다.",
"Downloaded \"{{title}}\" to your library.": "\"{{title}}\"을(를) 라이브러리에 다운로드했습니다.",
"Failed to download \"{{name}}\": {{error}}": "\"{{name}}\" 다운로드에 실패했습니다: {{error}}",
"Up": "위로",
"Cleanup · {{count}} book(s)_other": "정리 · {{count}}권",
"Exit cleanup": "정리 종료",
"Refresh": "새로 고침",
"All clear · no books": "모두 정리됨 · 책 없음",
"Empty directory": "비어 있는 디렉터리",
"Deleted locally · still on server": "로컬에서 삭제됨 · 서버에는 남아 있음",
"Select": "선택",
"Already downloaded in this session": "이 세션에서 이미 다운로드됨",
"Downloading…": "다운로드 중…",
"Download to library": "라이브러리로 다운로드",
"Deselect all": "모두 선택 해제",
"Select all": "모두 선택",
"{{n}} selected": "{{n}}개 선택됨",
"Delete from server": "서버에서 삭제",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "서버에서 {{total}}권 중 {{ok}}권 삭제했습니다; {{n}}개 실패 (첫 번째: \"{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "서버에서 {{n}}권 모두 삭제할 수 없습니다 (첫 번째: \"{{first}}\").",
"Syncing {{n}} / {{total}}": "동기화 중 {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "읽고 있는 기사를 라이브러리로 보내려면 Readest 브라우저 확장 프로그램을 설치하세요. 브라우저에서 페이지를 잘라내기 때문에 유료 및 로그인 전용 사이트에서도 작동합니다.",
"Added to your library. It will sync to your other devices.": "라이브러리에 추가되었습니다. 다른 기기에도 동기화됩니다.",
"Sync passphrase forgotten. All encrypted fields cleared.": "동기화 암호구를 잊었습니다. 모든 암호화된 필드가 지워졌습니다.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "수동 동기화 및 정리만 표시됩니다. 읽는 중에 자동으로 수행된 동기화는 여기에 기록되지 않습니다.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "WebDAV 서버에서 {{n}}권을 삭제하시겠습니까?\n\n이 작업은 원격 파일만 제거합니다; 로컬 라이브러리에는 영향을 주지 않습니다. 삭제는 취소할 수 없습니다. 서버의 데이터는 영구히 사라집니다.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "책 파일 업로드에만 영향을 줍니다. 읽기 진행도와 다운로드는 항상 동기화됩니다.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "동기화 암호구가 잘못되었습니다. 동기화된 자격 증명을 복호화할 수 없습니다.",
"Email books straight to your library": "이메일로 책을 라이브러리에 바로 전송",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "첨부 파일과 기사를 개인 Readest 주소로 전달하세요. Plus, Pro, Lifetime 요금제에서 사용할 수 있습니다.",
"View plans": "요금제 보기",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "앱 내 보내기 버튼, 모바일 공유 메뉴, 브라우저 확장 프로그램으로 여전히 무료로 기사를 클립할 수 있습니다.",
"...": "…",
"Server URL is required": "서버 URL이 필요합니다",
"Authentication failed": "인증에 실패했습니다",
"Root directory not found": "루트 디렉터리를 찾을 수 없습니다",
"Unexpected server response (status {{status}})": "예기치 않은 서버 응답 (상태 {{status}})",
"Network error": "네트워크 오류",
"Remote resource not found": "원격 리소스를 찾을 수 없습니다",
"Sync failed (status {{status}})": "동기화 실패 (상태 {{status}})",
"Sync failed.": "동기화에 실패했습니다."
}
@@ -244,6 +244,9 @@
"{{time}} min left in chapter": "{{time}} min lagi dalam bab",
"{{number}} pages left in chapter": "<0>{{number}}</0><1> halaman lagi dalam bab</1>",
"{{count}} pages left in chapter_other": "<0>{{count}}</0><1> halaman lagi dalam bab</1>",
"{{time}} min left in book": "{{time}} min lagi dalam buku",
"{{number}} pages left in book": "<0>{{number}}</0><1> halaman lagi dalam buku</1>",
"{{count}} pages left in book_other": "<0>{{count}}</0><1> halaman lagi dalam buku</1>",
"On {{current}} of {{total}} page": "Di halaman {{current}} daripada {{total}}",
"Unable to open book": "Tidak dapat membuka buku",
"Section Title": "Tajuk Seksyen",
@@ -1299,7 +1302,6 @@
"Disable PIN…": "Lumpuhkan PIN…",
"Sync passphrase ready": "Frasa laluan penyegerakan sedia",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "Ini memadamkan secara kekal bukti kelayakan tersulit yang kami selaraskan (cth., kata laluan katalog OPDS) pada setiap peranti. Salinan tempatan dikekalkan. Anda perlu memasukkan semula frasa laluan penyegerakan atau menetapkan yang baharu. Teruskan?",
"Sync passphrase forgotten — all encrypted fields cleared": "Frasa laluan penyegerakan dilupakan — semua medan tersulit dikosongkan",
"Sync passphrase": "Frasa laluan penyegerakan",
"Set passphrase": "Tetapkan frasa laluan",
"Forgot passphrase": "Lupa frasa laluan",
@@ -1337,7 +1339,6 @@
"Custom background textures": "Tekstur latar belakang tersuai",
"OPDS catalogs": "Katalog OPDS",
"Saved catalog URLs and (encrypted) credentials": "URL katalog yang disimpan dan kelayakan (disulitkan)",
"Wrong sync passphrase — synced credentials could not be decrypted": "Frasa laluan penyegerakan salah — kelayakan yang disegerakkan tidak dapat dinyahsulit",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "Data frasa laluan penyegerakan pada pelayan telah ditetapkan semula. Menyulitkan semula kelayakan anda dengan frasa laluan baharu…",
"Failed to decrypt synced credentials": "Gagal menyahsulit kelayakan yang disegerakkan",
"Imported dictionary bundles and settings": "Himpunan kamus yang diimport dan tetapan",
@@ -1434,7 +1435,6 @@
"Drop a book or document, or tap to choose": "Lepaskan buku atau dokumen, atau ketik untuk memilih",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "Tampal URL artikel",
"Added to your library — it will sync to your other devices.": "Ditambah ke perpustakaan anda — ia akan disegerakkan ke peranti anda yang lain.",
"Working…": "Sedang memproses…",
"Could not load Send to Readest settings": "Tidak dapat memuatkan tetapan Hantar ke Readest",
"Address copied": "Alamat disalin",
@@ -1483,7 +1483,6 @@
"OK": "OK",
"No matching books found in the selected folder.": "Tiada buku sepadan dijumpai dalam folder yang dipilih.",
"Send a web article": "Hantar artikel web",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "Pasang sambungan pelayar Readest untuk menghantar artikel yang anda baca ke perpustakaan anda — ia memotong halaman daripada pelayar anda jadi laman berbayar dan log-masuk-sahaja pun berfungsi.",
"Enter a URL starting with http:// or https://": "Masukkan URL yang bermula dengan http:// atau https://",
"Import": "Import",
"Import from Web URL": "Import dari URL web",
@@ -1496,5 +1495,94 @@
"Saved to Readest": "Disimpan ke Readest",
"Apply to every occurrence in the book": "Gunakan pada setiap kemunculan dalam buku",
"Saving article from share…": "Menyimpan artikel daripada perkongsian…",
"Saved “{{title}}” to your library.": "\"{{title}}\" disimpan ke perpustakaan anda."
"Saved “{{title}}” to your library.": "\"{{title}}\" disimpan ke perpustakaan anda.",
"WebDAV authentication failed. Reconnect in Settings.": "Pengesahan WebDAV gagal. Sambung semula di Tetapan.",
"Downloading": "Memuat turun",
"Uploading": "Memuat naik",
"downloaded {{n}} book(s)": "memuat turun {{n}} buah buku",
"pushed {{n}} config(s)": "menghantar {{n}} konfigurasi",
"uploaded {{n}} new file(s)": "memuat naik {{n}} fail baharu",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "Penyegerakan selesai dengan {{failed}} kegagalan. {{ok}} berjaya.",
"Sync complete": "Penyegerakan selesai",
"Everything is already up to date.": "Semuanya sudah terkini.",
"Browsing {{path}} on {{server}}": "Melayari {{path}} di {{server}}",
"Connect to a WebDAV server to browse your remote files.": "Sambung ke pelayan WebDAV untuk melayari fail jauh anda.",
"WebDAV": "WebDAV",
"Upload Book Files": "Muat naik fail buku",
"Sync now": "Segerakkan sekarang",
"Hide password": "Sembunyikan kata laluan",
"Show password": "Tunjukkan kata laluan",
"Root Directory": "Direktori akar",
"Syncing…": "Menyegerakkan…",
"pulled progress for {{n}} book(s)": "mengambil kemajuan untuk {{n}} buah buku",
"Sync History": "Sejarah Penyegerakan",
"Clear Sync History": "Kosongkan Sejarah Penyegerakan",
"No manual syncs yet": "Belum ada penyegerakan manual",
"Partial": "Sebahagian",
"Cleanup": "Pembersihan",
"Cleanup failed": "Pembersihan gagal",
"Sync failed": "Penyegerakan gagal",
"{{n}} deleted": "{{n}} dipadam",
"{{n}} failed": "{{n}} gagal",
"Nothing deleted": "Tiada yang dipadam",
"{{n}} downloaded": "{{n}} dimuat turun",
"{{n}} uploaded": "{{n}} dimuat naik",
"{{n}} progress": "{{n}} kemajuan",
"Up to date": "Terkini",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "Buku dimuat turun",
"Files uploaded": "Fail dimuat naik",
"Configs uploaded": "Konfigurasi dimuat naik",
"Configs downloaded": "Konfigurasi dimuat turun",
"Covers uploaded": "Kulit dimuat naik",
"Books deleted": "Buku dipadam",
"Files in sync": "Fail tersegerak",
"Failures": "Kegagalan",
"Total books": "Jumlah buku",
"Error:": "Ralat:",
"Failed books": "Buku gagal",
"Deleted {{n}} book(s) from server.": "Memadam {{n}} buah buku dari pelayan.",
"Failed to load directory": "Gagal memuatkan direktori",
"File download is only supported on the desktop and mobile apps.": "Muat turun fail hanya disokong pada aplikasi desktop dan mudah alih.",
"Downloaded \"{{title}}\" to your library.": "\"{{title}}\" dimuat turun ke perpustakaan anda.",
"Failed to download \"{{name}}\": {{error}}": "Gagal memuat turun \"{{name}}\": {{error}}",
"Up": "Atas",
"Cleanup · {{count}} book(s)_other": "Pembersihan · {{count}} buah buku",
"Exit cleanup": "Keluar dari pembersihan",
"Refresh": "Segar Semula",
"All clear · no books": "Semua jelas · tiada buku",
"Empty directory": "Direktori kosong",
"Deleted locally · still on server": "Dipadam secara setempat · masih di pelayan",
"Select": "Pilih",
"Already downloaded in this session": "Sudah dimuat turun dalam sesi ini",
"Downloading…": "Memuat turun…",
"Download to library": "Muat turun ke perpustakaan",
"Deselect all": "Nyahpilih semua",
"Select all": "Pilih semua",
"{{n}} selected": "{{n}} dipilih",
"Delete from server": "Padam dari pelayan",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "Memadam {{ok}} dari {{total}} buah buku dari pelayan; {{n}} gagal (pertama: \"{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "Tidak dapat memadam mana-mana dari {{n}} buah buku di pelayan (pertama: \"{{first}}\").",
"Syncing {{n}} / {{total}}": "Menyegerakkan {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "Pasang sambungan pelayar Readest untuk menghantar artikel yang sedang anda baca ke perpustakaan. Sambungan ini memotong halaman dari pelayar anda supaya laman berbayar dan laman log masuk sahaja masih berfungsi.",
"Added to your library. It will sync to your other devices.": "Ditambah ke perpustakaan anda. Akan disegerakkan ke peranti anda yang lain.",
"Sync passphrase forgotten. All encrypted fields cleared.": "Frasa kata laluan penyegerakan dilupakan. Semua medan yang disulitkan dibersihkan.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "Hanya penyegerakan manual dan pembersihan. Penyegerakan automatik semasa membaca tidak dilog di sini.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "Padam {{n}} buah buku dari pelayan WebDAV?\n\nIni hanya membuang fail jauh; perpustakaan tempatan anda tidak terjejas. Pemadaman tidak boleh dibatalkan. Bait di pelayan akan hilang selamanya.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "Hanya mempengaruhi muat naik fail buku. Kemajuan bacaan dan muat turun sentiasa disegerakkan.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "Frasa kata laluan penyegerakan salah. Bukti kelayakan yang disegerakkan tidak dapat dinyahsulit.",
"Email books straight to your library": "E-mel buku terus ke perpustakaan anda",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "Majukan lampiran dan artikel ke alamat Readest peribadi anda. Tersedia pada pelan Plus, Pro dan Lifetime.",
"View plans": "Lihat pelan",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "Anda masih boleh memotong artikel secara percuma menggunakan butang Hantar dalam aplikasi, menu Kongsi mudah alih, atau sambungan pelayar.",
"...": "…",
"Server URL is required": "URL pelayan diperlukan",
"Authentication failed": "Pengesahan gagal",
"Root directory not found": "Direktori akar tidak dijumpai",
"Unexpected server response (status {{status}})": "Respons pelayan tidak dijangka (status {{status}})",
"Network error": "Ralat rangkaian",
"Remote resource not found": "Sumber jauh tidak dijumpai",
"Sync failed (status {{status}})": "Penyegerakan gagal (status {{status}})",
"Sync failed.": "Penyegerakan gagal."
}
@@ -589,6 +589,10 @@
"Cover": "Omslag",
"Contain": "Bevatten",
"{{number}} pages left in chapter": "<1>Nog </1><0>{{number}}</0><1> paginas in hoofdstuk</1>",
"{{time}} min left in book": "Nog {{time}} min in boek",
"{{count}} pages left in book_one": "<1>Nog </1><0>{{count}}</0><1> pagina in boek</1>",
"{{count}} pages left in book_other": "<1>Nog </1><0>{{count}}</0><1> paginas in boek</1>",
"{{number}} pages left in book": "<1>Nog </1><0>{{number}}</0><1> paginas in boek</1>",
"Device": "Apparaat",
"E-Ink Mode": "E-Ink Modus",
"Highlight Colors": "Markeerkleuren",
@@ -1323,7 +1327,6 @@
"Disable PIN…": "PIN uitschakelen…",
"Sync passphrase ready": "Sync-wachtwoordzin gereed",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "Dit verwijdert permanent de versleutelde inloggegevens die we synchroniseren (bijv. OPDS-catalogi-wachtwoorden) op elk apparaat. Lokale kopieën blijven behouden. Je moet de sync-wachtwoordzin opnieuw invoeren of een nieuwe instellen. Doorgaan?",
"Sync passphrase forgotten — all encrypted fields cleared": "Sync-wachtwoordzin vergeten — alle versleutelde velden gewist",
"Sync passphrase": "Sync-wachtwoordzin",
"Set passphrase": "Wachtwoordzin instellen",
"Forgot passphrase": "Wachtwoordzin vergeten",
@@ -1361,7 +1364,6 @@
"Custom background textures": "Aangepaste achtergrondtexturen",
"OPDS catalogs": "OPDS-catalogi",
"Saved catalog URLs and (encrypted) credentials": "Opgeslagen catalogus-URL's en (versleutelde) inloggegevens",
"Wrong sync passphrase — synced credentials could not be decrypted": "Onjuiste synchronisatiewachtwoordzin — gesynchroniseerde inloggegevens konden niet worden ontsleuteld",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "Synchronisatiewachtwoordzingegevens op de server zijn gereset. Inloggegevens worden opnieuw versleuteld met de nieuwe wachtwoordzin…",
"Failed to decrypt synced credentials": "Kan gesynchroniseerde inloggegevens niet ontsleutelen",
"Imported dictionary bundles and settings": "Geïmporteerde woordenboekpakketten en instellingen",
@@ -1462,7 +1464,6 @@
"Drop a book or document, or tap to choose": "Sleep een boek of document hierheen, of tik om te kiezen",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "Plak een artikel-URL",
"Added to your library — it will sync to your other devices.": "Toegevoegd aan je bibliotheek — het wordt gesynchroniseerd met je andere apparaten.",
"Working…": "Bezig…",
"Could not load Send to Readest settings": "Kan de instellingen voor Naar Readest sturen niet laden",
"Address copied": "Adres gekopieerd",
@@ -1511,7 +1512,6 @@
"OK": "OK",
"No matching books found in the selected folder.": "Geen overeenkomende boeken gevonden in de geselecteerde map.",
"Send a web article": "Webartikel verzenden",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "Installeer de Readest-browserextensie om het artikel dat je leest naar je bibliotheek te sturen — het knipt de pagina vanuit je browser, dus betaalde en alleen-met-inloggen sites werken ook.",
"Enter a URL starting with http:// or https://": "Voer een URL in die met http:// of https:// begint",
"Import": "Importeren",
"Import from Web URL": "Importeren vanaf web-URL",
@@ -1524,5 +1524,95 @@
"Saved to Readest": "Opgeslagen in Readest",
"Apply to every occurrence in the book": "Toepassen op elk voorkomen in het boek",
"Saving article from share…": "Gedeeld artikel opslaan…",
"Saved “{{title}}” to your library.": "“{{title}}” is opgeslagen in je bibliotheek."
"Saved “{{title}}” to your library.": "“{{title}}” is opgeslagen in je bibliotheek.",
"WebDAV authentication failed. Reconnect in Settings.": "WebDAV-authenticatie mislukt. Verbind opnieuw in Instellingen.",
"Downloading": "Downloaden",
"Uploading": "Uploaden",
"downloaded {{n}} book(s)": "{{n}} boek(en) gedownload",
"pushed {{n}} config(s)": "{{n}} configuratie(s) verzonden",
"uploaded {{n}} new file(s)": "{{n}} nieuw(e) bestand(en) geüpload",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "Synchronisatie voltooid met {{failed}} fout(en). {{ok}} ok.",
"Sync complete": "Synchronisatie voltooid",
"Everything is already up to date.": "Alles is al up-to-date.",
"Browsing {{path}} on {{server}}": "{{path}} bekijken op {{server}}",
"Connect to a WebDAV server to browse your remote files.": "Maak verbinding met een WebDAV-server om je externe bestanden te bekijken.",
"WebDAV": "WebDAV",
"Upload Book Files": "Boekbestanden uploaden",
"Sync now": "Nu synchroniseren",
"Hide password": "Wachtwoord verbergen",
"Show password": "Wachtwoord tonen",
"Root Directory": "Hoofdmap",
"Syncing…": "Synchroniseren…",
"pulled progress for {{n}} book(s)": "voortgang opgehaald voor {{n}} boek(en)",
"Sync History": "Synchronisatiegeschiedenis",
"Clear Sync History": "Synchronisatiegeschiedenis wissen",
"No manual syncs yet": "Nog geen handmatige synchronisaties",
"Partial": "Gedeeltelijk",
"Cleanup": "Opschonen",
"Cleanup failed": "Opschonen mislukt",
"Sync failed": "Synchronisatie mislukt",
"{{n}} deleted": "{{n}} verwijderd",
"{{n}} failed": "{{n}} mislukt",
"Nothing deleted": "Niets verwijderd",
"{{n}} downloaded": "{{n}} gedownload",
"{{n}} uploaded": "{{n}} geüpload",
"{{n}} progress": "{{n}} voortgang",
"Up to date": "Up-to-date",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "Boeken gedownload",
"Files uploaded": "Bestanden geüpload",
"Configs uploaded": "Configuraties geüpload",
"Configs downloaded": "Configuraties gedownload",
"Covers uploaded": "Omslagen geüpload",
"Books deleted": "Verwijderde boeken",
"Files in sync": "Gesynchroniseerde bestanden",
"Failures": "Fouten",
"Total books": "Totaal aantal boeken",
"Error:": "Fout:",
"Failed books": "Mislukte boeken",
"Deleted {{n}} book(s) from server.": "{{n}} boek(en) van server verwijderd.",
"Failed to load directory": "Map kon niet worden geladen",
"File download is only supported on the desktop and mobile apps.": "Bestanden downloaden wordt alleen ondersteund in de desktop- en mobiele apps.",
"Downloaded \"{{title}}\" to your library.": "\"{{title}}\" gedownload naar je bibliotheek.",
"Failed to download \"{{name}}\": {{error}}": "Downloaden van \"{{name}}\" mislukt: {{error}}",
"Up": "Omhoog",
"Cleanup · {{count}} book(s)_one": "Opschonen · {{count}} boek",
"Cleanup · {{count}} book(s)_other": "Opschonen · {{count}} boeken",
"Exit cleanup": "Opschonen afsluiten",
"Refresh": "Vernieuwen",
"All clear · no books": "Alles opgeruimd · geen boeken",
"Empty directory": "Lege map",
"Deleted locally · still on server": "Lokaal verwijderd · nog op server",
"Select": "Selecteren",
"Already downloaded in this session": "Al gedownload in deze sessie",
"Downloading…": "Downloaden…",
"Download to library": "Naar bibliotheek downloaden",
"Deselect all": "Niets selecteren",
"Select all": "Alles selecteren",
"{{n}} selected": "{{n}} geselecteerd",
"Delete from server": "Van server verwijderen",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "{{ok}} van {{total}} boek(en) van server verwijderd; {{n}} mislukt (eerste: \"{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "Kon geen van {{n}} boek(en) van server verwijderen (eerste: \"{{first}}\").",
"Syncing {{n}} / {{total}}": "Synchroniseren {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "Installeer de Readest-browserextensie om het artikel dat je leest naar je bibliotheek te sturen. De extensie knipt de pagina vanuit je browser, zodat ook betaalsites en login-only sites werken.",
"Added to your library. It will sync to your other devices.": "Toegevoegd aan je bibliotheek. Het wordt gesynchroniseerd met je andere apparaten.",
"Sync passphrase forgotten. All encrypted fields cleared.": "Sync-wachtwoordzin vergeten. Alle versleutelde velden gewist.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "Alleen handmatige synchronisaties en opschoonacties. Automatische synchronisaties tijdens het lezen worden hier niet vastgelegd.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "{{n}} boek(en) van WebDAV-server verwijderen?\n\nDit verwijdert alleen de externe bestanden; je lokale bibliotheek wordt niet beïnvloed. Verwijderen kan niet ongedaan worden gemaakt. De bytes op de server zijn permanent verloren.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "Heeft alleen invloed op het uploaden van boekbestanden. Leesvoortgang en downloads worden altijd gesynchroniseerd.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "Verkeerde sync-wachtwoordzin. Gesynchroniseerde inloggegevens konden niet worden ontsleuteld.",
"Email books straight to your library": "Mail boeken rechtstreeks naar je bibliotheek",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "Stuur bijlagen en artikelen door naar je privé Readest-adres. Beschikbaar in de Plus-, Pro- en Lifetime-abonnementen.",
"View plans": "Abonnementen bekijken",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "Je kunt nog steeds gratis artikelen knippen via de verzendknop in de app, het deel-menu op je telefoon of de browserextensie.",
"...": "…",
"Server URL is required": "Server-URL is vereist",
"Authentication failed": "Authenticatie mislukt",
"Root directory not found": "Hoofdmap niet gevonden",
"Unexpected server response (status {{status}})": "Onverwacht serverantwoord (status {{status}})",
"Network error": "Netwerkfout",
"Remote resource not found": "Externe bron niet gevonden",
"Sync failed (status {{status}})": "Synchronisatie mislukt (status {{status}})",
"Sync failed.": "Synchronisatie mislukt."
}
@@ -597,6 +597,12 @@
"Cover": "Okładka",
"Contain": "Zawierać",
"{{number}} pages left in chapter": "<1>Pozostało </1><0>{{number}}</0><1> stron w rozdziale</1>",
"{{time}} min left in book": "{{time}} min pozostało do końca książki",
"{{count}} pages left in book_one": "<1>Pozostała </1><0>{{count}}</0><1> strona w książce</1>",
"{{count}} pages left in book_few": "<1>Pozostały </1><0>{{count}}</0><1> strony w książce</1>",
"{{count}} pages left in book_many": "<1>Pozostało </1><0>{{count}}</0><1> stron w książce</1>",
"{{count}} pages left in book_other": "<1>Pozostało </1><0>{{count}}</0><1> stron w książce</1>",
"{{number}} pages left in book": "<1>Pozostało </1><0>{{number}}</0><1> stron w książce</1>",
"Device": "Urządzenie",
"E-Ink Mode": "Tryb E-Ink",
"Highlight Colors": "Kolory wyróżnień",
@@ -1371,7 +1377,6 @@
"Disable PIN…": "Wyłącz PIN…",
"Sync passphrase ready": "Hasło synchronizacji gotowe",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "Spowoduje to trwałe usunięcie zaszyfrowanych danych uwierzytelniających, które synchronizujemy (np. haseł katalogu OPDS), na każdym urządzeniu. Lokalne kopie zostaną zachowane. Konieczne będzie ponowne wprowadzenie hasła synchronizacji lub ustawienie nowego. Kontynuować?",
"Sync passphrase forgotten — all encrypted fields cleared": "Zapomniano hasła synchronizacji — wszystkie zaszyfrowane pola wyczyszczone",
"Sync passphrase": "Hasło synchronizacji",
"Set passphrase": "Ustaw hasło",
"Forgot passphrase": "Zapomniałem hasła",
@@ -1409,7 +1414,6 @@
"Custom background textures": "Niestandardowe tekstury tła",
"OPDS catalogs": "Katalogi OPDS",
"Saved catalog URLs and (encrypted) credentials": "Zapisane adresy URL katalogów i (zaszyfrowane) dane uwierzytelniające",
"Wrong sync passphrase — synced credentials could not be decrypted": "Nieprawidłowe hasło synchronizacji — nie można odszyfrować zsynchronizowanych danych uwierzytelniających",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "Dane hasła synchronizacji na serwerze zostały zresetowane. Ponowne szyfrowanie danych uwierzytelniających przy użyciu nowego hasła…",
"Failed to decrypt synced credentials": "Nie udało się odszyfrować zsynchronizowanych danych uwierzytelniających",
"Imported dictionary bundles and settings": "Zaimportowane pakiety słowników i ustawienia",
@@ -1518,7 +1522,6 @@
"Drop a book or document, or tap to choose": "Upuść książkę lub dokument albo dotknij, aby wybrać",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "Wklej adres URL artykułu",
"Added to your library — it will sync to your other devices.": "Dodano do Twojej biblioteki — zostanie zsynchronizowane z innymi urządzeniami.",
"Working…": "Trwa praca…",
"Could not load Send to Readest settings": "Nie udało się załadować ustawień Wyślij do Readest",
"Address copied": "Skopiowano adres",
@@ -1567,7 +1570,6 @@
"OK": "OK",
"No matching books found in the selected folder.": "Nie znaleziono pasujących książek w wybranym folderze.",
"Send a web article": "Wyślij artykuł z internetu",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "Zainstaluj rozszerzenie przeglądarki Readest, aby wysłać czytany artykuł do swojej biblioteki — wycina ono stronę z Twojej przeglądarki, więc działa też dla paywalli i stron wymagających logowania.",
"Enter a URL starting with http:// or https://": "Wprowadź URL zaczynający się od http:// lub https://",
"Import": "Importuj",
"Import from Web URL": "Importuj z adresu URL",
@@ -1580,5 +1582,97 @@
"Saved to Readest": "Zapisano w Readest",
"Apply to every occurrence in the book": "Zastosuj do każdego wystąpienia w książce",
"Saving article from share…": "Zapisywanie udostępnionego artykułu…",
"Saved “{{title}}” to your library.": "Zapisano „{{title}}” w Twojej bibliotece."
"Saved “{{title}}” to your library.": "Zapisano „{{title}}” w Twojej bibliotece.",
"WebDAV authentication failed. Reconnect in Settings.": "Uwierzytelnienie WebDAV nie powiodło się. Połącz ponownie w Ustawieniach.",
"Downloading": "Pobieranie",
"Uploading": "Wysyłanie",
"downloaded {{n}} book(s)": "pobrano {{n}} książkę/książek",
"pushed {{n}} config(s)": "wysłano {{n}} konfigurację/konfiguracji",
"uploaded {{n}} new file(s)": "wysłano {{n}} nowy plik/plików",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "Synchronizacja zakończona z {{failed}} niepowodzeniami. {{ok}} ok.",
"Sync complete": "Synchronizacja zakończona",
"Everything is already up to date.": "Wszystko jest aktualne.",
"Browsing {{path}} on {{server}}": "Przeglądanie {{path}} na {{server}}",
"Connect to a WebDAV server to browse your remote files.": "Połącz się z serwerem WebDAV, aby przeglądać zdalne pliki.",
"WebDAV": "WebDAV",
"Upload Book Files": "Wyślij pliki książek",
"Sync now": "Synchronizuj teraz",
"Hide password": "Ukryj hasło",
"Show password": "Pokaż hasło",
"Root Directory": "Katalog główny",
"Syncing…": "Synchronizacja…",
"pulled progress for {{n}} book(s)": "pobrano postępy {{n}} książek",
"Sync History": "Historia synchronizacji",
"Clear Sync History": "Wyczyść historię synchronizacji",
"No manual syncs yet": "Brak ręcznych synchronizacji",
"Partial": "Częściowo",
"Cleanup": "Porządkowanie",
"Cleanup failed": "Porządkowanie nieudane",
"Sync failed": "Synchronizacja nieudana",
"{{n}} deleted": "{{n}} usunięto",
"{{n}} failed": "{{n}} nie powiodło się",
"Nothing deleted": "Nic nie usunięto",
"{{n}} downloaded": "{{n}} pobrano",
"{{n}} uploaded": "{{n}} wysłano",
"{{n}} progress": "{{n}} postępów",
"Up to date": "Aktualne",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "Pobrane książki",
"Files uploaded": "Wysłane pliki",
"Configs uploaded": "Wysłane konfiguracje",
"Configs downloaded": "Pobrane konfiguracje",
"Covers uploaded": "Wysłane okładki",
"Books deleted": "Usunięte książki",
"Files in sync": "Pliki w synchronizacji",
"Failures": "Niepowodzenia",
"Total books": "Łącznie książek",
"Error:": "Błąd:",
"Failed books": "Książki z błędem",
"Deleted {{n}} book(s) from server.": "Usunięto {{n}} książkę/książek z serwera.",
"Failed to load directory": "Nie udało się załadować katalogu",
"File download is only supported on the desktop and mobile apps.": "Pobieranie plików jest obsługiwane tylko w aplikacjach na komputer i urządzenia mobilne.",
"Downloaded \"{{title}}\" to your library.": "Pobrano „{{title}}\" do biblioteki.",
"Failed to download \"{{name}}\": {{error}}": "Nie udało się pobrać „{{name}}\": {{error}}",
"Up": "W górę",
"Cleanup · {{count}} book(s)_one": "Porządkowanie · {{count}} książka",
"Cleanup · {{count}} book(s)_few": "Porządkowanie · {{count}} książki",
"Cleanup · {{count}} book(s)_many": "Porządkowanie · {{count}} książek",
"Cleanup · {{count}} book(s)_other": "Porządkowanie · {{count}} książek",
"Exit cleanup": "Zakończ porządkowanie",
"Refresh": "Odśwież",
"All clear · no books": "Wszystko czyste · brak książek",
"Empty directory": "Pusty katalog",
"Deleted locally · still on server": "Usunięte lokalnie · nadal na serwerze",
"Select": "Zaznacz",
"Already downloaded in this session": "Już pobrane w tej sesji",
"Downloading…": "Pobieranie…",
"Download to library": "Pobierz do biblioteki",
"Deselect all": "Odznacz wszystko",
"Select all": "Zaznacz wszystko",
"{{n}} selected": "{{n}} zaznaczono",
"Delete from server": "Usuń z serwera",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "Usunięto {{ok}} z {{total}} książek z serwera; {{n}} nie powiodło się (pierwsza: „{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "Nie udało się usunąć żadnej z {{n}} książek z serwera (pierwsza: „{{first}}\").",
"Syncing {{n}} / {{total}}": "Synchronizacja {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "Zainstaluj rozszerzenie przeglądarki Readest, aby wysłać czytany artykuł do biblioteki. Wycina stronę z przeglądarki, dzięki czemu działają również strony płatne i wymagające logowania.",
"Added to your library. It will sync to your other devices.": "Dodano do biblioteki. Zostanie zsynchronizowane z innymi urządzeniami.",
"Sync passphrase forgotten. All encrypted fields cleared.": "Zapomniano hasło synchronizacji. Wszystkie zaszyfrowane pola wyczyszczone.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "Tylko ręczne synchronizacje i porządkowanie. Automatyczne synchronizacje podczas czytania nie są tu rejestrowane.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "Usunąć {{n}} książek z serwera WebDAV?\n\nUsuwa to tylko zdalne pliki; lokalna biblioteka pozostaje nienaruszona. Usunięcia nie można cofnąć. Bajty na serwerze zostaną trwale utracone.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "Wpływa tylko na wysyłanie plików książek. Postęp czytania i pobierania są zawsze synchronizowane.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "Nieprawidłowe hasło synchronizacji. Nie udało się odszyfrować zsynchronizowanych poświadczeń.",
"Email books straight to your library": "Wysyłaj książki e-mailem prosto do biblioteki",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "Przekazuj załączniki i artykuły na swój prywatny adres Readest. Dostępne w planach Plus, Pro i Lifetime.",
"View plans": "Zobacz plany",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "Nadal możesz bezpłatnie wycinać artykuły za pomocą przycisku Wyślij w aplikacji, menu udostępniania na telefonie lub rozszerzenia przeglądarki.",
"...": "…",
"Server URL is required": "Wymagany jest URL serwera",
"Authentication failed": "Uwierzytelnienie nie powiodło się",
"Root directory not found": "Nie znaleziono katalogu głównego",
"Unexpected server response (status {{status}})": "Nieoczekiwana odpowiedź serwera (status {{status}})",
"Network error": "Błąd sieci",
"Remote resource not found": "Nie znaleziono zdalnego zasobu",
"Sync failed (status {{status}})": "Synchronizacja nieudana (status {{status}})",
"Sync failed.": "Synchronizacja nieudana."
}
@@ -567,6 +567,11 @@
"{{count}} pages left in chapter_one": "<1>Falta </1><0>{{count}}</0><1> página neste capítulo</1>",
"{{count}} pages left in chapter_many": "<1>Faltam </1><0>{{count}}</0><1> páginas neste capítulo</1>",
"{{count}} pages left in chapter_other": "<1>Faltam </1><0>{{count}}</0><1> páginas neste capítulo</1>",
"{{time}} min left in book": "{{time}} min restantes no livro",
"{{number}} pages left in book": "<1>Faltam </1><0>{{number}}</0><1> páginas neste livro</1>",
"{{count}} pages left in book_one": "<1>Falta </1><0>{{count}}</0><1> página neste livro</1>",
"{{count}} pages left in book_many": "<1>Faltam </1><0>{{count}}</0><1> páginas neste livro</1>",
"{{count}} pages left in book_other": "<1>Faltam </1><0>{{count}}</0><1> páginas neste livro</1>",
"On {{current}} of {{total}} page": "Na página {{current}} de {{total}}",
"Selection": "Seleção",
"Book": "Livro",
@@ -1347,7 +1352,6 @@
"Disable PIN…": "Desativar PIN…",
"Sync passphrase ready": "Frase secreta de sincronização pronta",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "Isso exclui permanentemente as credenciais criptografadas que sincronizamos (por exemplo, senhas do catálogo OPDS) em todos os dispositivos. As cópias locais são preservadas. Você precisará digitar novamente a frase secreta de sincronização ou definir uma nova. Continuar?",
"Sync passphrase forgotten — all encrypted fields cleared": "Frase secreta de sincronização esquecida — todos os campos criptografados foram limpos",
"Sync passphrase": "Frase secreta de sincronização",
"Set passphrase": "Definir frase secreta",
"Forgot passphrase": "Esqueci a frase secreta",
@@ -1392,7 +1396,6 @@
"Choose what syncs across your devices. Disabling a category stops this device from sending or receiving rows of that kind. Anything already on the server is left alone, re-enabling resumes from where you stopped.": "Escolha o que sincronizar entre seus dispositivos. Desativar uma categoria impede este dispositivo de enviar ou receber dados desse tipo. O que já está no servidor não é alterado; ao reativar, a sincronização retoma de onde parou.",
"Required while Dictionaries sync is enabled": "Obrigatório enquanto a sincronização de Dicionários estiver ativada",
"Manage Fonts": "Gerenciar fontes",
"Wrong sync passphrase — synced credentials could not be decrypted": "Senha de sincronização incorreta — não foi possível descriptografar as credenciais sincronizadas",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "Os dados da senha de sincronização no servidor foram redefinidos. Recriptografando suas credenciais com a nova senha…",
"Failed to decrypt synced credentials": "Falha ao descriptografar credenciais sincronizadas",
"Resets in {{hours}} hr {{minutes}} min": "Redefine em {{hours}} h {{minutes}} min",
@@ -1490,7 +1493,6 @@
"Drop a book or document, or tap to choose": "Solte um livro ou documento, ou toque para escolher",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "Cole a URL de um artigo",
"Added to your library — it will sync to your other devices.": "Adicionado à sua biblioteca — ele será sincronizado com os seus outros dispositivos.",
"Working…": "Processando…",
"Could not load Send to Readest settings": "Não foi possível carregar as configurações de Enviar para o Readest",
"Address copied": "Endereço copiado",
@@ -1539,7 +1541,6 @@
"OK": "OK",
"No matching books found in the selected folder.": "Nenhum livro correspondente encontrado na pasta selecionada.",
"Send a web article": "Enviar um artigo da web",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "Instale a extensão de navegador do Readest para enviar o artigo que você está lendo à sua biblioteca — ela recorta a página direto do seu navegador, então sites com paywall ou que exigem login também funcionam.",
"Enter a URL starting with http:// or https://": "Insira uma URL que comece com http:// ou https://",
"Import": "Importar",
"Import from Web URL": "Importar de URL da web",
@@ -1552,5 +1553,96 @@
"Saved to Readest": "Salvo no Readest",
"Apply to every occurrence in the book": "Aplicar a todas as ocorrências no livro",
"Saving article from share…": "Salvando artigo compartilhado…",
"Saved “{{title}}” to your library.": "\"{{title}}\" salvo em sua biblioteca."
"Saved “{{title}}” to your library.": "\"{{title}}\" salvo em sua biblioteca.",
"WebDAV authentication failed. Reconnect in Settings.": "Autenticação WebDAV falhou. Reconecte em Configurações.",
"Downloading": "Baixando",
"Uploading": "Enviando",
"downloaded {{n}} book(s)": "{{n}} livro(s) baixado(s)",
"pushed {{n}} config(s)": "{{n}} configuração(ões) enviada(s)",
"uploaded {{n}} new file(s)": "{{n}} novo(s) arquivo(s) enviado(s)",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "Sincronização concluída com {{failed}} falha(s). {{ok}} ok.",
"Sync complete": "Sincronização concluída",
"Everything is already up to date.": "Tudo já está atualizado.",
"Browsing {{path}} on {{server}}": "Navegando em {{path}} no {{server}}",
"Connect to a WebDAV server to browse your remote files.": "Conecte-se a um servidor WebDAV para navegar nos seus arquivos remotos.",
"WebDAV": "WebDAV",
"Upload Book Files": "Enviar arquivos de livros",
"Sync now": "Sincronizar agora",
"Hide password": "Ocultar senha",
"Show password": "Mostrar senha",
"Root Directory": "Diretório raiz",
"Syncing…": "Sincronizando…",
"pulled progress for {{n}} book(s)": "progresso de {{n}} livro(s) obtido",
"Sync History": "Histórico de sincronização",
"Clear Sync History": "Limpar histórico de sincronização",
"No manual syncs yet": "Sem sincronizações manuais ainda",
"Partial": "Parcial",
"Cleanup": "Limpeza",
"Cleanup failed": "Limpeza falhou",
"Sync failed": "Sincronização falhou",
"{{n}} deleted": "{{n}} excluídos",
"{{n}} failed": "{{n}} com falha",
"Nothing deleted": "Nada excluído",
"{{n}} downloaded": "{{n}} baixados",
"{{n}} uploaded": "{{n}} enviados",
"{{n}} progress": "{{n}} progressos",
"Up to date": "Atualizado",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "Livros baixados",
"Files uploaded": "Arquivos enviados",
"Configs uploaded": "Configurações enviadas",
"Configs downloaded": "Configurações baixadas",
"Covers uploaded": "Capas enviadas",
"Books deleted": "Livros excluídos",
"Files in sync": "Arquivos em sincronia",
"Failures": "Falhas",
"Total books": "Total de livros",
"Error:": "Erro:",
"Failed books": "Livros com falha",
"Deleted {{n}} book(s) from server.": "{{n}} livro(s) excluído(s) do servidor.",
"Failed to load directory": "Falha ao carregar diretório",
"File download is only supported on the desktop and mobile apps.": "O download de arquivos só é suportado nos aplicativos para desktop e celular.",
"Downloaded \"{{title}}\" to your library.": "\"{{title}}\" foi baixado para sua biblioteca.",
"Failed to download \"{{name}}\": {{error}}": "Falha ao baixar \"{{name}}\": {{error}}",
"Up": "Acima",
"Cleanup · {{count}} book(s)_one": "Limpeza · {{count}} livro",
"Cleanup · {{count}} book(s)_many": "Limpeza · {{count}} livros",
"Cleanup · {{count}} book(s)_other": "Limpeza · {{count}} livros",
"Exit cleanup": "Sair da limpeza",
"Refresh": "Atualizar",
"All clear · no books": "Tudo limpo · sem livros",
"Empty directory": "Diretório vazio",
"Deleted locally · still on server": "Excluído localmente · ainda no servidor",
"Select": "Selecionar",
"Already downloaded in this session": "Já baixado nesta sessão",
"Downloading…": "Baixando…",
"Download to library": "Baixar para a biblioteca",
"Deselect all": "Desmarcar tudo",
"Select all": "Selecionar tudo",
"{{n}} selected": "{{n}} selecionados",
"Delete from server": "Excluir do servidor",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "{{ok}} de {{total}} livro(s) excluído(s) do servidor; {{n}} com falha (primeiro: \"{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "Não foi possível excluir nenhum dos {{n}} livro(s) do servidor (primeiro: \"{{first}}\").",
"Syncing {{n}} / {{total}}": "Sincronizando {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "Instale a extensão de navegador Readest para enviar o artigo que você está lendo para sua biblioteca. Ela recorta a página do seu navegador, então sites pagos e somente com login continuam funcionando.",
"Added to your library. It will sync to your other devices.": "Adicionado à sua biblioteca. Será sincronizado com seus outros dispositivos.",
"Sync passphrase forgotten. All encrypted fields cleared.": "Frase-senha de sincronização esquecida. Todos os campos criptografados foram limpos.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "Apenas sincronizações manuais e limpezas. As sincronizações automáticas durante a leitura não são registradas aqui.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "Excluir {{n}} livro(s) do servidor WebDAV?\n\nIsso apenas remove os arquivos remotos; sua biblioteca local não é afetada. A exclusão não pode ser desfeita. Os bytes no servidor desaparecerão permanentemente.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "Afeta apenas o envio de arquivos de livros. O progresso de leitura e os downloads são sempre sincronizados.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "Frase-senha de sincronização incorreta. Não foi possível descriptografar as credenciais sincronizadas.",
"Email books straight to your library": "Envie livros por e-mail direto para sua biblioteca",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "Encaminhe anexos e artigos para seu endereço Readest privado. Disponível nos planos Plus, Pro e Lifetime.",
"View plans": "Ver planos",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "Você ainda pode recortar artigos gratuitamente com o botão Enviar no app, o menu Compartilhar do celular ou a extensão do navegador.",
"...": "…",
"Server URL is required": "A URL do servidor é obrigatória",
"Authentication failed": "A autenticação falhou",
"Root directory not found": "Diretório raiz não encontrado",
"Unexpected server response (status {{status}})": "Resposta inesperada do servidor (status {{status}})",
"Network error": "Erro de rede",
"Remote resource not found": "Recurso remoto não encontrado",
"Sync failed (status {{status}})": "Sincronização falhou (status {{status}})",
"Sync failed.": "Sincronização falhou."
}
@@ -593,6 +593,11 @@
"Cover": "Capa",
"Contain": "Contém",
"{{number}} pages left in chapter": "<1>Faltam </1><0>{{number}}</0><1> páginas neste capítulo</1>",
"{{time}} min left in book": "{{time}} min restantes no livro",
"{{count}} pages left in book_one": "<1>Falta </1><0>{{count}}</0><1> página neste livro</1>",
"{{count}} pages left in book_many": "<1>Faltam </1><0>{{count}}</0><1> páginas neste livro</1>",
"{{count}} pages left in book_other": "<1>Faltam </1><0>{{count}}</0><1> páginas neste livro</1>",
"{{number}} pages left in book": "<1>Faltam </1><0>{{number}}</0><1> páginas neste livro</1>",
"Device": "Dispositivo",
"E-Ink Mode": "Modo E-Ink",
"Highlight Colors": "Cores de Destaque",
@@ -1347,7 +1352,6 @@
"Disable PIN…": "Desativar PIN…",
"Sync passphrase ready": "Frase-passe de sincronização pronta",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "Isto elimina permanentemente as credenciais encriptadas que sincronizamos (por exemplo, palavras-passe do catálogo OPDS) em todos os dispositivos. As cópias locais são preservadas. Terá de voltar a introduzir a frase-passe de sincronização ou definir uma nova. Continuar?",
"Sync passphrase forgotten — all encrypted fields cleared": "Frase-passe de sincronização esquecida — todos os campos encriptados foram apagados",
"Sync passphrase": "Frase-passe de sincronização",
"Set passphrase": "Definir frase-passe",
"Forgot passphrase": "Esqueci a frase-passe",
@@ -1385,7 +1389,6 @@
"Custom background textures": "Texturas de fundo personalizadas",
"OPDS catalogs": "Catálogos OPDS",
"Saved catalog URLs and (encrypted) credentials": "URLs de catálogos salvas e credenciais (criptografadas)",
"Wrong sync passphrase — synced credentials could not be decrypted": "Frase secreta de sincronização incorreta — não foi possível descriptografar as credenciais sincronizadas",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "Os dados da frase secreta de sincronização no servidor foram redefinidos. Recriptografando suas credenciais com a nova frase…",
"Failed to decrypt synced credentials": "Falha ao descriptografar as credenciais sincronizadas",
"Imported dictionary bundles and settings": "Pacotes de dicionários importados e configurações",
@@ -1490,7 +1493,6 @@
"Drop a book or document, or tap to choose": "Largue um livro ou documento, ou toque para escolher",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "Cole o URL de um artigo",
"Added to your library — it will sync to your other devices.": "Adicionado à sua biblioteca — será sincronizado com os seus outros dispositivos.",
"Working…": "A processar…",
"Could not load Send to Readest settings": "Não foi possível carregar as definições de Enviar para o Readest",
"Address copied": "Endereço copiado",
@@ -1539,7 +1541,6 @@
"OK": "OK",
"No matching books found in the selected folder.": "Não foram encontrados livros correspondentes na pasta selecionada.",
"Send a web article": "Enviar um artigo da web",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "Instala a extensão de navegador do Readest para enviares o artigo que estás a ler para a tua biblioteca — recorta a página a partir do teu navegador, por isso sites pagos e só com login também funcionam.",
"Enter a URL starting with http:// or https://": "Introduz um URL que comece com http:// ou https://",
"Import": "Importar",
"Import from Web URL": "Importar de URL da web",
@@ -1552,5 +1553,96 @@
"Saved to Readest": "Guardado no Readest",
"Apply to every occurrence in the book": "Aplicar a todas as ocorrências no livro",
"Saving article from share…": "A guardar artigo partilhado…",
"Saved “{{title}}” to your library.": "«{{title}}» guardado na sua biblioteca."
"Saved “{{title}}” to your library.": "«{{title}}» guardado na sua biblioteca.",
"WebDAV authentication failed. Reconnect in Settings.": "Autenticação WebDAV falhou. Ligue novamente em Definições.",
"Downloading": "A descarregar",
"Uploading": "A enviar",
"downloaded {{n}} book(s)": "{{n}} livro(s) descarregado(s)",
"pushed {{n}} config(s)": "{{n}} configuração(ões) enviada(s)",
"uploaded {{n}} new file(s)": "{{n}} novo(s) ficheiro(s) enviado(s)",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "Sincronização concluída com {{failed}} falha(s). {{ok}} ok.",
"Sync complete": "Sincronização concluída",
"Everything is already up to date.": "Está tudo atualizado.",
"Browsing {{path}} on {{server}}": "A navegar em {{path}} em {{server}}",
"Connect to a WebDAV server to browse your remote files.": "Ligue-se a um servidor WebDAV para navegar nos seus ficheiros remotos.",
"WebDAV": "WebDAV",
"Upload Book Files": "Enviar ficheiros de livros",
"Sync now": "Sincronizar agora",
"Hide password": "Ocultar palavra-passe",
"Show password": "Mostrar palavra-passe",
"Root Directory": "Diretório raiz",
"Syncing…": "A sincronizar…",
"pulled progress for {{n}} book(s)": "progresso de {{n}} livro(s) obtido",
"Sync History": "Histórico de sincronização",
"Clear Sync History": "Limpar histórico de sincronização",
"No manual syncs yet": "Sem sincronizações manuais",
"Partial": "Parcial",
"Cleanup": "Limpeza",
"Cleanup failed": "Limpeza falhou",
"Sync failed": "Sincronização falhou",
"{{n}} deleted": "{{n}} eliminados",
"{{n}} failed": "{{n}} com falha",
"Nothing deleted": "Nada eliminado",
"{{n}} downloaded": "{{n}} descarregados",
"{{n}} uploaded": "{{n}} enviados",
"{{n}} progress": "{{n}} progressos",
"Up to date": "Atualizado",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "Livros descarregados",
"Files uploaded": "Ficheiros enviados",
"Configs uploaded": "Configurações enviadas",
"Configs downloaded": "Configurações descarregadas",
"Covers uploaded": "Capas enviadas",
"Books deleted": "Livros eliminados",
"Files in sync": "Ficheiros sincronizados",
"Failures": "Falhas",
"Total books": "Total de livros",
"Error:": "Erro:",
"Failed books": "Livros com falha",
"Deleted {{n}} book(s) from server.": "Eliminado(s) {{n}} livro(s) do servidor.",
"Failed to load directory": "Falha ao carregar diretório",
"File download is only supported on the desktop and mobile apps.": "O download de ficheiros só é suportado nas aplicações de desktop e móvel.",
"Downloaded \"{{title}}\" to your library.": "\"{{title}}\" foi descarregado para a sua biblioteca.",
"Failed to download \"{{name}}\": {{error}}": "Falha ao descarregar \"{{name}}\": {{error}}",
"Up": "Acima",
"Cleanup · {{count}} book(s)_one": "Limpeza · {{count}} livro",
"Cleanup · {{count}} book(s)_many": "Limpeza · {{count}} livros",
"Cleanup · {{count}} book(s)_other": "Limpeza · {{count}} livros",
"Exit cleanup": "Sair da limpeza",
"Refresh": "Atualizar",
"All clear · no books": "Tudo limpo · sem livros",
"Empty directory": "Diretório vazio",
"Deleted locally · still on server": "Excluído localmente · ainda no servidor",
"Select": "Selecionar",
"Already downloaded in this session": "Já baixado nesta sessão",
"Downloading…": "A descarregar…",
"Download to library": "Descarregar para a biblioteca",
"Deselect all": "Desmarcar tudo",
"Select all": "Selecionar tudo",
"{{n}} selected": "{{n}} selecionados",
"Delete from server": "Excluir do servidor",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "Eliminado(s) {{ok}} de {{total}} livro(s) do servidor; {{n}} com falha (primeiro: \"{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "Não foi possível eliminar nenhum dos {{n}} livro(s) do servidor (primeiro: \"{{first}}\").",
"Syncing {{n}} / {{total}}": "A sincronizar {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "Instale a extensão de navegador Readest para enviar o artigo que está a ler para a sua biblioteca. Recorta a página a partir do seu navegador, para que sites pagos e que exigem início de sessão continuem a funcionar.",
"Added to your library. It will sync to your other devices.": "Adicionado à sua biblioteca. Será sincronizado com os seus outros dispositivos.",
"Sync passphrase forgotten. All encrypted fields cleared.": "Frase-passe de sincronização esquecida. Todos os campos encriptados foram limpos.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "Apenas sincronizações manuais e limpezas. As sincronizações automáticas durante a leitura não são registadas aqui.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "Eliminar {{n}} livro(s) do servidor WebDAV?\n\nIsto apenas remove os ficheiros remotos; a sua biblioteca local não é afetada. A eliminação não pode ser anulada. Os bytes no servidor desaparecerão permanentemente.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "Afeta apenas o envio de ficheiros de livros. O progresso de leitura e os descarregamentos são sempre sincronizados.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "Frase-passe de sincronização incorreta. Não foi possível desencriptar as credenciais sincronizadas.",
"Email books straight to your library": "Envie livros por e-mail diretamente para a sua biblioteca",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "Encaminhe anexos e artigos para o seu endereço Readest privado. Disponível nos planos Plus, Pro e Lifetime.",
"View plans": "Ver planos",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "Pode continuar a recortar artigos gratuitamente com o botão Enviar na app, o menu Partilhar no telemóvel ou a extensão do navegador.",
"...": "…",
"Server URL is required": "O URL do servidor é obrigatório",
"Authentication failed": "A autenticação falhou",
"Root directory not found": "Diretório raiz não encontrado",
"Unexpected server response (status {{status}})": "Resposta inesperada do servidor (estado {{status}})",
"Network error": "Erro de rede",
"Remote resource not found": "Recurso remoto não encontrado",
"Sync failed (status {{status}})": "Sincronização falhou (estado {{status}})",
"Sync failed.": "Sincronização falhou."
}
@@ -496,6 +496,11 @@
"{{count}} pages left in chapter_one": "{{count}} pagină rămasă în capitol",
"{{count}} pages left in chapter_few": "{{count}} pagini rămase în capitol",
"{{count}} pages left in chapter_other": "{{count}} de pagini rămase în capitol",
"{{time}} min left in book": "Au rămas {{time}} min în carte",
"{{number}} pages left in book": "Au rămas {{number}} pagini în carte",
"{{count}} pages left in book_one": "{{count}} pagină rămasă în carte",
"{{count}} pages left in book_few": "{{count}} pagini rămase în carte",
"{{count}} pages left in book_other": "{{count}} de pagini rămase în carte",
"On {{current}} of {{total}} page": "Pe pagina {{current}} din {{total}}",
"Selection": "Selecție",
"Book": "Carte",
@@ -1347,7 +1352,6 @@
"Disable PIN…": "Dezactivează PIN…",
"Sync passphrase ready": "Fraza de acces pentru sincronizare este pregătită",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "Această acțiune șterge definitiv datele de autentificare criptate pe care le sincronizăm (de exemplu, parolele catalogului OPDS) pe fiecare dispozitiv. Copiile locale sunt păstrate. Va trebui să reintroduci fraza de acces pentru sincronizare sau să setezi una nouă. Continui?",
"Sync passphrase forgotten — all encrypted fields cleared": "Fraza de acces pentru sincronizare a fost uitată — toate câmpurile criptate au fost șterse",
"Sync passphrase": "Frază de acces pentru sincronizare",
"Set passphrase": "Setează fraza de acces",
"Forgot passphrase": "Am uitat fraza de acces",
@@ -1385,7 +1389,6 @@
"Custom background textures": "Texturi de fundal personalizate",
"OPDS catalogs": "Cataloage OPDS",
"Saved catalog URLs and (encrypted) credentials": "URL-uri de cataloage salvate și acreditări (criptate)",
"Wrong sync passphrase — synced credentials could not be decrypted": "Frază de acces pentru sincronizare incorectă — acreditările sincronizate nu au putut fi decriptate",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "Datele frazei de acces pentru sincronizare de pe server au fost resetate. Se recriptează acreditările cu noua frază de acces…",
"Failed to decrypt synced credentials": "Decriptarea acreditărilor sincronizate a eșuat",
"Imported dictionary bundles and settings": "Pachete de dicționare importate și setări",
@@ -1490,7 +1493,6 @@
"Drop a book or document, or tap to choose": "Trageți o carte sau un document ori atingeți pentru a alege",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "Lipiți adresa URL a unui articol",
"Added to your library — it will sync to your other devices.": "Adăugat în biblioteca dvs. — se va sincroniza cu celelalte dispozitive.",
"Working…": "În lucru…",
"Could not load Send to Readest settings": "Setările Trimite către Readest nu au putut fi încărcate",
"Address copied": "Adresă copiată",
@@ -1539,7 +1541,6 @@
"OK": "OK",
"No matching books found in the selected folder.": "Nu s-au găsit cărți potrivite în folderul selectat.",
"Send a web article": "Trimite un articol web",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "Instalează extensia de browser Readest pentru a trimite articolul pe care îl citești în biblioteca ta — taie pagina din browserul tău, așa că funcționează și pe site-urile cu plată sau care necesită autentificare.",
"Enter a URL starting with http:// or https://": "Introdu o adresă URL care începe cu http:// sau https://",
"Import": "Importă",
"Import from Web URL": "Importă dintr-un URL web",
@@ -1552,5 +1553,96 @@
"Saved to Readest": "Salvat în Readest",
"Apply to every occurrence in the book": "Aplică la fiecare apariție din carte",
"Saving article from share…": "Se salvează articolul partajat…",
"Saved “{{title}}” to your library.": "„{{title}}” a fost salvat în biblioteca ta."
"Saved “{{title}}” to your library.": "„{{title}}” a fost salvat în biblioteca ta.",
"WebDAV authentication failed. Reconnect in Settings.": "Autentificarea WebDAV a eșuat. Reconectează-te în Setări.",
"Downloading": "Se descarcă",
"Uploading": "Se încarcă",
"downloaded {{n}} book(s)": "s-au descărcat {{n}} carte/cărți",
"pushed {{n}} config(s)": "s-au trimis {{n}} configurări",
"uploaded {{n}} new file(s)": "s-au încărcat {{n}} fișier(e) nou(noi)",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "Sincronizare finalizată cu {{failed}} eșec(uri). {{ok}} ok.",
"Sync complete": "Sincronizare completă",
"Everything is already up to date.": "Totul este deja la zi.",
"Browsing {{path}} on {{server}}": "Răsfoiește {{path}} pe {{server}}",
"Connect to a WebDAV server to browse your remote files.": "Conectează-te la un server WebDAV pentru a-ți răsfoi fișierele de la distanță.",
"WebDAV": "WebDAV",
"Upload Book Files": "Încarcă fișierele de carte",
"Sync now": "Sincronizează acum",
"Hide password": "Ascunde parola",
"Show password": "Arată parola",
"Root Directory": "Director rădăcină",
"Syncing…": "Se sincronizează…",
"pulled progress for {{n}} book(s)": "s-a preluat progresul pentru {{n}} carte/cărți",
"Sync History": "Istoric sincronizare",
"Clear Sync History": "Șterge istoricul de sincronizare",
"No manual syncs yet": "Nicio sincronizare manuală încă",
"Partial": "Parțial",
"Cleanup": "Curățare",
"Cleanup failed": "Curățarea a eșuat",
"Sync failed": "Sincronizarea a eșuat",
"{{n}} deleted": "{{n}} șterse",
"{{n}} failed": "{{n}} eșuate",
"Nothing deleted": "Nimic șters",
"{{n}} downloaded": "{{n}} descărcate",
"{{n}} uploaded": "{{n}} încărcate",
"{{n}} progress": "{{n}} progres",
"Up to date": "La zi",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "Cărți descărcate",
"Files uploaded": "Fișiere încărcate",
"Configs uploaded": "Configurări încărcate",
"Configs downloaded": "Configurări descărcate",
"Covers uploaded": "Coperți încărcate",
"Books deleted": "Cărți șterse",
"Files in sync": "Fișiere sincronizate",
"Failures": "Eșecuri",
"Total books": "Total cărți",
"Error:": "Eroare:",
"Failed books": "Cărți eșuate",
"Deleted {{n}} book(s) from server.": "S-au șters {{n}} carte/cărți de pe server.",
"Failed to load directory": "Eroare la încărcarea directorului",
"File download is only supported on the desktop and mobile apps.": "Descărcarea fișierelor este acceptată doar în aplicațiile desktop și mobile.",
"Downloaded \"{{title}}\" to your library.": "\"{{title}}\" a fost descărcat în biblioteca ta.",
"Failed to download \"{{name}}\": {{error}}": "Descărcarea „{{name}}\" a eșuat: {{error}}",
"Up": "Sus",
"Cleanup · {{count}} book(s)_one": "Curățare · {{count}} carte",
"Cleanup · {{count}} book(s)_few": "Curățare · {{count}} cărți",
"Cleanup · {{count}} book(s)_other": "Curățare · {{count}} de cărți",
"Exit cleanup": "Ieșire din curățare",
"Refresh": "Reîmprospătează",
"All clear · no books": "Totul curat · nicio carte",
"Empty directory": "Director gol",
"Deleted locally · still on server": "Șters local · încă pe server",
"Select": "Selectează",
"Already downloaded in this session": "Deja descărcat în această sesiune",
"Downloading…": "Se descarcă…",
"Download to library": "Descarcă în bibliotecă",
"Deselect all": "Deselectează tot",
"Select all": "Selectează tot",
"{{n}} selected": "{{n}} selectate",
"Delete from server": "Șterge de pe server",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "S-au șters {{ok}} din {{total}} carte/cărți de pe server; {{n}} au eșuat (prima: „{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "Nu s-a putut șterge niciuna dintre cele {{n}} cărți de pe server (prima: „{{first}}\").",
"Syncing {{n}} / {{total}}": "Se sincronizează {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "Instalează extensia de browser Readest pentru a trimite articolul pe care îl citești în biblioteca ta. Extensia decupează pagina din browser, astfel încât și site-urile cu plată sau care necesită conectare să funcționeze.",
"Added to your library. It will sync to your other devices.": "Adăugat în biblioteca ta. Se va sincroniza cu celelalte dispozitive.",
"Sync passphrase forgotten. All encrypted fields cleared.": "Parola de sincronizare uitată. Toate câmpurile criptate au fost șterse.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "Doar sincronizări manuale și curățări. Sincronizările automate în timpul citirii nu sunt înregistrate aici.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "Ștergi {{n}} carte/cărți de pe serverul WebDAV?\n\nAceasta elimină doar fișierele de la distanță; biblioteca locală nu este afectată. Ștergerea nu poate fi anulată. Datele de pe server vor dispărea definitiv.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "Afectează doar încărcarea fișierelor de carte. Progresul lecturii și descărcările se sincronizează întotdeauna.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "Parolă de sincronizare incorectă. Acreditările sincronizate nu au putut fi decriptate.",
"Email books straight to your library": "Trimite cărți prin e-mail direct în biblioteca ta",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "Redirecționează atașamente și articole către adresa ta Readest privată. Disponibil în planurile Plus, Pro și Lifetime.",
"View plans": "Vezi planurile",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "Poți decupa în continuare articole gratuit cu butonul Trimite din aplicație, meniul Partajare de pe mobil sau extensia de browser.",
"...": "…",
"Server URL is required": "URL-ul serverului este obligatoriu",
"Authentication failed": "Autentificarea a eșuat",
"Root directory not found": "Directorul rădăcină nu a fost găsit",
"Unexpected server response (status {{status}})": "Răspuns neașteptat de la server (stare {{status}})",
"Network error": "Eroare de rețea",
"Remote resource not found": "Resursa la distanță nu a fost găsită",
"Sync failed (status {{status}})": "Sincronizarea a eșuat (stare {{status}})",
"Sync failed.": "Sincronizarea a eșuat."
}
@@ -597,6 +597,12 @@
"Cover": "Обложка",
"Contain": "Содержать",
"{{number}} pages left in chapter": "<1>Осталось </1><0>{{number}}</0><1> страниц в главе</1>",
"{{time}} min left in book": "{{time}} мин осталось в книге",
"{{count}} pages left in book_one": "<1>Осталась </1><0>{{count}}</0><1> страница в книге</1>",
"{{count}} pages left in book_few": "<1>Осталось </1><0>{{count}}</0><1> страницы в книге</1>",
"{{count}} pages left in book_many": "<1>Осталось </1><0>{{count}}</0><1> страниц в книге</1>",
"{{count}} pages left in book_other": "<1>Осталось </1><0>{{count}}</0><1> страниц в книге</1>",
"{{number}} pages left in book": "<1>Осталось </1><0>{{number}}</0><1> страниц в книге</1>",
"Device": "Устройство",
"E-Ink Mode": "E-Ink режим",
"Highlight Colors": "Цвета выделения",
@@ -1371,7 +1377,6 @@
"Disable PIN…": "Отключить PIN…",
"Sync passphrase ready": "Секретная фраза синхронизации готова",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "Это окончательно удалит зашифрованные учётные данные, которые мы синхронизируем (например, пароли каталога OPDS), на каждом устройстве. Локальные копии сохраняются. Вам потребуется ввести секретную фразу синхронизации заново или задать новую. Продолжить?",
"Sync passphrase forgotten — all encrypted fields cleared": "Секретная фраза синхронизации забыта — все зашифрованные поля очищены",
"Sync passphrase": "Секретная фраза синхронизации",
"Set passphrase": "Задать секретную фразу",
"Forgot passphrase": "Забыли секретную фразу",
@@ -1409,7 +1414,6 @@
"Custom background textures": "Пользовательские текстуры фона",
"OPDS catalogs": "Каталоги OPDS",
"Saved catalog URLs and (encrypted) credentials": "Сохранённые URL каталогов и (зашифрованные) учётные данные",
"Wrong sync passphrase — synced credentials could not be decrypted": "Неверная парольная фраза синхронизации — не удалось расшифровать синхронизированные учётные данные",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "Данные парольной фразы синхронизации на сервере были сброшены. Перешифровка учётных данных с новой парольной фразой…",
"Failed to decrypt synced credentials": "Не удалось расшифровать синхронизированные учётные данные",
"Imported dictionary bundles and settings": "Импортированные пакеты словарей и настройки",
@@ -1518,7 +1522,6 @@
"Drop a book or document, or tap to choose": "Перетащите книгу или документ либо нажмите для выбора",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "Вставьте URL статьи",
"Added to your library — it will sync to your other devices.": "Добавлено в вашу библиотеку — будет синхронизировано на других устройствах.",
"Working…": "Выполняется…",
"Could not load Send to Readest settings": "Не удалось загрузить настройки «Отправить в Readest»",
"Address copied": "Адрес скопирован",
@@ -1567,7 +1570,6 @@
"OK": "OK",
"No matching books found in the selected folder.": "В выбранной папке не найдено подходящих книг.",
"Send a web article": "Отправить веб-статью",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "Установите расширение Readest для браузера, чтобы отправить читаемую статью в библиотеку — оно вырезает страницу из вашего браузера, поэтому платные и требующие входа сайты тоже работают.",
"Enter a URL starting with http:// or https://": "Введите URL, начинающийся с http:// или https://",
"Import": "Импорт",
"Import from Web URL": "Импорт по веб-адресу",
@@ -1580,5 +1582,97 @@
"Saved to Readest": "Сохранено в Readest",
"Apply to every occurrence in the book": "Применить ко всем вхождениям в книге",
"Saving article from share…": "Сохранение статьи из общего доступа…",
"Saved “{{title}}” to your library.": "«{{title}}» сохранено в вашу библиотеку."
"Saved “{{title}}” to your library.": "«{{title}}» сохранено в вашу библиотеку.",
"WebDAV authentication failed. Reconnect in Settings.": "Аутентификация WebDAV не удалась. Подключитесь заново в настройках.",
"Downloading": "Загрузка",
"Uploading": "Отправка",
"downloaded {{n}} book(s)": "загружено {{n}} книг",
"pushed {{n}} config(s)": "отправлено {{n}} конфигураций",
"uploaded {{n}} new file(s)": "отправлено {{n}} новых файлов",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "Синхронизация завершена с {{failed}} ошибками. {{ok}} ок.",
"Sync complete": "Синхронизация завершена",
"Everything is already up to date.": "Всё уже актуально.",
"Browsing {{path}} on {{server}}": "Просмотр {{path}} на {{server}}",
"Connect to a WebDAV server to browse your remote files.": "Подключитесь к серверу WebDAV, чтобы просматривать удалённые файлы.",
"WebDAV": "WebDAV",
"Upload Book Files": "Отправить файлы книг",
"Sync now": "Синхронизировать сейчас",
"Hide password": "Скрыть пароль",
"Show password": "Показать пароль",
"Root Directory": "Корневой каталог",
"Syncing…": "Синхронизация…",
"pulled progress for {{n}} book(s)": "получен прогресс для {{n}} книг",
"Sync History": "История синхронизации",
"Clear Sync History": "Очистить историю синхронизации",
"No manual syncs yet": "Ручных синхронизаций пока нет",
"Partial": "Частично",
"Cleanup": "Очистка",
"Cleanup failed": "Очистка не удалась",
"Sync failed": "Синхронизация не удалась",
"{{n}} deleted": "{{n}} удалено",
"{{n}} failed": "{{n}} с ошибкой",
"Nothing deleted": "Ничего не удалено",
"{{n}} downloaded": "{{n}} загружено",
"{{n}} uploaded": "{{n}} отправлено",
"{{n}} progress": "{{n}} прогресса",
"Up to date": "Актуально",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "Загруженные книги",
"Files uploaded": "Отправленные файлы",
"Configs uploaded": "Отправленные конфигурации",
"Configs downloaded": "Загруженные конфигурации",
"Covers uploaded": "Отправленные обложки",
"Books deleted": "Удалённые книги",
"Files in sync": "Синхронизированные файлы",
"Failures": "Ошибки",
"Total books": "Всего книг",
"Error:": "Ошибка:",
"Failed books": "Книги с ошибкой",
"Deleted {{n}} book(s) from server.": "Удалено {{n}} книг с сервера.",
"Failed to load directory": "Не удалось загрузить папку",
"File download is only supported on the desktop and mobile apps.": "Загрузка файлов поддерживается только в настольных и мобильных приложениях.",
"Downloaded \"{{title}}\" to your library.": "\"{{title}}\" загружено в вашу библиотеку.",
"Failed to download \"{{name}}\": {{error}}": "Не удалось загрузить \"{{name}}\": {{error}}",
"Up": "Вверх",
"Cleanup · {{count}} book(s)_one": "Очистка · {{count}} книга",
"Cleanup · {{count}} book(s)_few": "Очистка · {{count}} книги",
"Cleanup · {{count}} book(s)_many": "Очистка · {{count}} книг",
"Cleanup · {{count}} book(s)_other": "Очистка · {{count}} книг",
"Exit cleanup": "Выйти из очистки",
"Refresh": "Обновить",
"All clear · no books": "Всё чисто · книг нет",
"Empty directory": "Пустая папка",
"Deleted locally · still on server": "Удалено локально · ещё на сервере",
"Select": "Выбрать",
"Already downloaded in this session": "Уже загружено в этой сессии",
"Downloading…": "Загрузка…",
"Download to library": "Загрузить в библиотеку",
"Deselect all": "Снять выделение",
"Select all": "Выбрать все",
"{{n}} selected": "{{n}} выбрано",
"Delete from server": "Удалить с сервера",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "Удалено {{ok}} из {{total}} книг с сервера; {{n}} с ошибкой (первая: \"{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "Не удалось удалить ни одной из {{n}} книг с сервера (первая: \"{{first}}\").",
"Syncing {{n}} / {{total}}": "Синхронизация {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "Установите браузерное расширение Readest, чтобы отправлять читаемые статьи в библиотеку. Расширение вырезает страницу из браузера, поэтому работают даже сайты по подписке и сайты, требующие входа.",
"Added to your library. It will sync to your other devices.": "Добавлено в вашу библиотеку. Синхронизируется с другими устройствами.",
"Sync passphrase forgotten. All encrypted fields cleared.": "Парольная фраза синхронизации забыта. Все зашифрованные поля очищены.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "Только ручные синхронизации и очистки. Автоматические синхронизации во время чтения здесь не отображаются.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "Удалить {{n}} книг с сервера WebDAV?\n\nЭто удалит только удалённые файлы; ваша локальная библиотека не пострадает. Удаление невозможно отменить. Данные на сервере исчезнут навсегда.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "Влияет только на отправку файлов книг. Прогресс чтения и загрузки всегда синхронизируются.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "Неверная парольная фраза синхронизации. Не удалось расшифровать синхронизированные данные.",
"Email books straight to your library": "Отправляйте книги по электронной почте прямо в библиотеку",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "Пересылайте вложения и статьи на ваш личный адрес Readest. Доступно в тарифах Plus, Pro и Lifetime.",
"View plans": "Посмотреть тарифы",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "Вы по-прежнему можете бесплатно вырезать статьи через кнопку «Отправить» в приложении, меню «Поделиться» на мобильном устройстве или расширение браузера.",
"...": "…",
"Server URL is required": "Требуется URL сервера",
"Authentication failed": "Не удалось пройти аутентификацию",
"Root directory not found": "Корневой каталог не найден",
"Unexpected server response (status {{status}})": "Неожиданный ответ сервера (статус {{status}})",
"Network error": "Ошибка сети",
"Remote resource not found": "Удалённый ресурс не найден",
"Sync failed (status {{status}})": "Синхронизация не удалась (статус {{status}})",
"Sync failed.": "Синхронизация не удалась."
}
@@ -589,6 +589,10 @@
"Cover": "ආවරණය",
"Contain": "අඩංගු වන්න",
"{{number}} pages left in chapter": "<1>පරිච්ඡේදයේ පිටු </1><0>{{number}}</0><1> ඉතිරිව ඇත</1>",
"{{time}} min left in book": "පොතේ මිනිත්තු {{time}} ක් ඉතිරි",
"{{count}} pages left in book_one": "<1>පොතේ පිටුව 1 ක් ඉතිරි</1>",
"{{count}} pages left in book_other": "<1>පොතේ පිටු </1><0>{{count}}</0><1> ක් ඉතිරි</1>",
"{{number}} pages left in book": "<1>පොතේ පිටු </1><0>{{number}}</0><1> ඉතිරිව ඇත</1>",
"Device": "උපකරණය",
"E-Ink Mode": "E-Ink ආකාරය",
"Highlight Colors": "ඉස්මතු වර්ණ",
@@ -1323,7 +1327,6 @@
"Disable PIN…": "PIN අක්‍රිය කරන්න…",
"Sync passphrase ready": "සමමුහුර්ත මුරපදය සූදානම්",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "මෙය සෑම උපාංගයකම අප සමමුහුර්ත කරන සංකේතාංකිත අක්තපත්‍ර (උදා., OPDS නාමාවලි මුරපද) ස්ථිරවම මකා දමයි. දේශීය පිටපත් රැකේ. ඔබට සමමුහුර්ත මුරපදය නැවත ඇතුළත් කිරීමට හෝ අලුත් එකක් සැකසීමට සිදුවේ. ඉදිරියට යන්නද?",
"Sync passphrase forgotten — all encrypted fields cleared": "සමමුහුර්ත මුරපදය අමතක විය — සියලුම සංකේතාංකිත ක්ෂේත්‍ර හිස් කරන ලදී",
"Sync passphrase": "සමමුහුර්ත මුරපදය",
"Set passphrase": "මුරපදය සකසන්න",
"Forgot passphrase": "මුරපදය අමතකද",
@@ -1361,7 +1364,6 @@
"Custom background textures": "අභිරුචි පසුබිම් වයන",
"OPDS catalogs": "OPDS නාමාවලි",
"Saved catalog URLs and (encrypted) credentials": "සුරකින ලද නාමාවලි URL සහ (සංකේතන කළ) අක්තපත්‍ර",
"Wrong sync passphrase — synced credentials could not be decrypted": "වැරදි සමමුහූර්ත මුරපදය — සමමුහූර්ත කළ අක්තපත්‍ර විකේතනය කළ නොහැක",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "සේවාදායකයේ සමමුහූර්ත මුරපද දත්ත යළි සැකසීය. නව මුරපදය යටතේ ඔබේ අක්තපත්‍ර යළි සංකේතනය වෙමින්…",
"Failed to decrypt synced credentials": "සමමුහූර්ත කළ අක්තපත්‍ර විකේතනය කිරීමට අසමත් විය",
"Imported dictionary bundles and settings": "ආයාතිත ශබ්දකෝෂ පැකේජ සහ සැකසීම්",
@@ -1462,7 +1464,6 @@
"Drop a book or document, or tap to choose": "පොතක් හෝ ලේඛනයක් දමන්න, නැතහොත් තෝරා ගැනීමට තට්ටු කරන්න",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "ලිපියක URL එකක් අලවන්න",
"Added to your library — it will sync to your other devices.": "ඔබේ පුස්තකාලයට එක් කරන ලදී — එය ඔබේ අනෙකුත් උපාංගවලට සමමුහුර්ත වනු ඇත.",
"Working…": "ක්‍රියාත්මක වෙමින්…",
"Could not load Send to Readest settings": "Readest වෙත යවන්න සැකසුම් පූරණය කළ නොහැකි විය",
"Address copied": "ලිපිනය පිටපත් කරන ලදී",
@@ -1511,7 +1512,6 @@
"OK": "හරි",
"No matching books found in the selected folder.": "තෝරාගත් ෆෝල්ඩරයේ ගැලපෙන පොත් කිසිවක් හමු නොවීය.",
"Send a web article": "වෙබ් ලිපියක් යවන්න",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "ඔබ කියවන ලිපිය ඔබේ පුස්තකාලයට යැවීමට Readest බ්‍රවුසර දිගුව ස්ථාපනය කරන්න — එය ඔබේ බ්‍රවුසරයෙන් පිටුව කපා ගන්නා නිසා ගෙවීම් අවශ්‍ය හා ඇතුළු වීම පමණක් ඇති වෙබ් අඩවි ද ක්‍රියා කරයි.",
"Enter a URL starting with http:// or https://": "http:// හෝ https:// වලින් ආරම්භ වන URL එකක් ඇතුළත් කරන්න",
"Import": "ආයාත කරන්න",
"Import from Web URL": "වෙබ් URL වෙතින් ආයාත කරන්න",
@@ -1524,5 +1524,95 @@
"Saved to Readest": "Readest හි සුරැකිණි",
"Apply to every occurrence in the book": "පොතේ සෑම සිදුවීමකටම යොදන්න",
"Saving article from share…": "බෙදාගැනීමෙන් ලිපිය සුරකිමින්…",
"Saved “{{title}}” to your library.": "\"{{title}}\" ඔබේ පුස්තකාලයට සුරැකිණි."
"Saved “{{title}}” to your library.": "\"{{title}}\" ඔබේ පුස්තකාලයට සුරැකිණි.",
"WebDAV authentication failed. Reconnect in Settings.": "WebDAV සත්‍යාපනය අසාර්ථකයි. සැකසුම් තුළ නැවත සම්බන්ධ වන්න.",
"Downloading": "බාගත වෙමින්",
"Uploading": "උඩුගත වෙමින්",
"downloaded {{n}} book(s)": "පොත් {{n}} බාගත කළා",
"pushed {{n}} config(s)": "වින්‍යාසයන් {{n}}ක් යවන ලදී",
"uploaded {{n}} new file(s)": "නව ගොනු {{n}}ක් උඩුගත කළා",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "සමමුහුර්තකරණය අසාර්ථකතා {{failed}}ක් සමඟ අවසන් විය. {{ok}} සාර්ථකයි.",
"Sync complete": "සමමුහුර්තකරණය සම්පූර්ණයි",
"Everything is already up to date.": "සියල්ල දැනටමත් යාවත්කාලීනයි.",
"Browsing {{path}} on {{server}}": "{{server}} මත {{path}} බ්‍රවුස් කරමින්",
"Connect to a WebDAV server to browse your remote files.": "ඔබේ දුරස්ථ ගොනු බ්‍රවුස් කිරීමට WebDAV සේවාදායකයකට සම්බන්ධ වන්න.",
"WebDAV": "WebDAV",
"Upload Book Files": "පොත් ගොනු උඩුගත කරන්න",
"Sync now": "දැන් සමමුහුර්ත කරන්න",
"Hide password": "මුරපදය සඟවන්න",
"Show password": "මුරපදය පෙන්වන්න",
"Root Directory": "මූල නාමාවලිය",
"Syncing…": "සමමුහුර්ත කරමින්…",
"pulled progress for {{n}} book(s)": "පොත් {{n}}ක ප්‍රගතිය ලබා ගත්තා",
"Sync History": "සමමුහුර්ත ඉතිහාසය",
"Clear Sync History": "සමමුහුර්ත ඉතිහාසය හිස් කරන්න",
"No manual syncs yet": "තවම අතින් සමමුහුර්තකරණ නැත",
"Partial": "අර්ධ",
"Cleanup": "පිරිසිදු කිරීම",
"Cleanup failed": "පිරිසිදු කිරීම අසාර්ථකයි",
"Sync failed": "සමමුහුර්තකරණය අසාර්ථකයි",
"{{n}} deleted": "{{n}} මකා දැමුවා",
"{{n}} failed": "{{n}} අසාර්ථකයි",
"Nothing deleted": "කිසිවක් මකා නැත",
"{{n}} downloaded": "{{n}} බාගත කළා",
"{{n}} uploaded": "{{n}} උඩුගත කළා",
"{{n}} progress": "{{n}} ප්‍රගතිය",
"Up to date": "යාවත්කාලීනයි",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "බාගත කළ පොත්",
"Files uploaded": "උඩුගත කළ ගොනු",
"Configs uploaded": "උඩුගත කළ වින්‍යාසයන්",
"Configs downloaded": "බාගත කළ වින්‍යාසයන්",
"Covers uploaded": "උඩුගත කළ කවර",
"Books deleted": "මකා දැමූ පොත්",
"Files in sync": "සමමුහුර්ත ගොනු",
"Failures": "අසාර්ථකතා",
"Total books": "සම්පූර්ණ පොත්",
"Error:": "දෝෂය:",
"Failed books": "අසාර්ථක පොත්",
"Deleted {{n}} book(s) from server.": "සේවාදායකයෙන් පොත් {{n}} මකන ලදී.",
"Failed to load directory": "නාමාවලිය පූරණය කිරීමට අසමත් විය",
"File download is only supported on the desktop and mobile apps.": "ගොනු බාගත කිරීම සඳහා සහාය වන්නේ ඩෙස්ක්ටොප් සහ ජංගම යෙදුම්වල පමණි.",
"Downloaded \"{{title}}\" to your library.": "\"{{title}}\" ඔබේ පුස්තකාලයට බාගත කරන ලදී.",
"Failed to download \"{{name}}\": {{error}}": "\"{{name}}\" බාගත කිරීමට අසමත් විය: {{error}}",
"Up": "ඉහළට",
"Cleanup · {{count}} book(s)_one": "පිරිසිදු කිරීම · පොත් {{count}}",
"Cleanup · {{count}} book(s)_other": "පිරිසිදු කිරීම · පොත් {{count}}",
"Exit cleanup": "පිරිසිදු කිරීමෙන් ඉවත් වන්න",
"Refresh": "නැවුම් කරන්න",
"All clear · no books": "සියල්ල පැහැදිලියි · පොත් නැත",
"Empty directory": "හිස් නාමාවලිය",
"Deleted locally · still on server": "දේශීයව මකා ඇත · තවමත් සේවාදායකයේ",
"Select": "තෝරන්න",
"Already downloaded in this session": "මෙම සැසියේදී දැනටමත් බාගත කර ඇත",
"Downloading…": "බාගත වෙමින්…",
"Download to library": "පුස්තකාලයට බාගත කරන්න",
"Deselect all": "සියල්ල තේරීම අවලංගු කරන්න",
"Select all": "සියල්ල තෝරන්න",
"{{n}} selected": "{{n}} තෝරාගත්තා",
"Delete from server": "සේවාදායකයෙන් මකන්න",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "සේවාදායකයෙන් පොත් {{total}}ක් අතරින් {{ok}}ක් මකන ලදී; {{n}} අසාර්ථකයි (පළමු: \"{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "සේවාදායකයේ {{n}} පොත්වලින් කිසිවක් මැකීමට නොහැකි විය (පළමු: \"{{first}}\").",
"Syncing {{n}} / {{total}}": "සමමුහුර්ත කරමින් {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "ඔබ කියවන ලිපිය ඔබේ පුස්තකාලයට යැවීමට Readest බ්‍රවුසර දිගුව ස්ථාපනය කරන්න. එය ඔබේ බ්‍රවුසරයේ සිට පිටුව කපා ගන්නා නිසා ගෙවීම් සහ පිවිසුම් අවශ්‍ය වෙබ් අඩවි ද ක්‍රියා කරයි.",
"Added to your library. It will sync to your other devices.": "ඔබේ පුස්තකාලයට එක් කරන ලදී. එය ඔබේ අනෙකුත් උපාංගවලට සමමුහුර්ත වේ.",
"Sync passphrase forgotten. All encrypted fields cleared.": "සමමුහුර්ත මුරපදය අමතක කරන ලදී. සියලුම සංකේතාංකන ක්ෂේත්‍ර හිස් කරන ලදී.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "අතින් සමමුහුර්තකරණ සහ පිරිසිදු කිරීම් පමණක්. කියවීමේදී ස්වයංක්‍රීය සමමුහුර්තකරණ මෙහි සටහන් නොවේ.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "WebDAV සේවාදායකයෙන් පොත් {{n}}ක් මකන්න ද?\n\nමෙය දුරස්ථ ගොනු පමණක් ඉවත් කරයි; ඔබේ දේශීය පුස්තකාලය බලපාන්නේ නැත. මැකීම අහෝසි කළ නොහැක. සේවාදායකයේ දත්ත සදහටම නැති වේ.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "පොත් ගොනු උඩුගත කිරීමට පමණක් බලපායි. කියවීමේ ප්‍රගතිය සහ බාගත කිරීම් සැම විටම සමමුහුර්ත වේ.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "වැරදි සමමුහුර්ත මුරපදය. සමමුහුර්ත අක්තපත්‍ර විකේතනය කළ නොහැකි විය.",
"Email books straight to your library": "ඊමේල් මගින් ඔබේ පුස්තකාලයට කෙලින්ම පොත් යවන්න",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "ඇමුණුම් සහ ලිපි ඔබේ පෞද්ගලික Readest ලිපිනය වෙත ඉදිරියට යවන්න. Plus, Pro සහ Lifetime සැලසුම් වල ලබා ගත හැක.",
"View plans": "සැලසුම් බලන්න",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "තවමත් ඔබට යෙදුම තුළ ඇති Send බොත්තම, ජංගම Share මෙනුව, හෝ බ්‍රවුසර දිගුව භාවිතයෙන් නොමිලේ ලිපි කපා ගත හැක.",
"...": "…",
"Server URL is required": "සේවාදායක URL අවශ්‍යයි",
"Authentication failed": "සත්‍යාපනය අසාර්ථකයි",
"Root directory not found": "මූල නාමාවලිය හමු නොවීය",
"Unexpected server response (status {{status}})": "සේවාදායකයේ අනපේක්ෂිත ප්‍රතිචාරය (තත්ත්වය {{status}})",
"Network error": "ජාල දෝෂයක්",
"Remote resource not found": "දුරස්ථ සම්පත හමු නොවීය",
"Sync failed (status {{status}})": "සමමුහුර්තකරණය අසාර්ථකයි (තත්ත්වය {{status}})",
"Sync failed.": "සමමුහුර්තකරණය අසාර්ථකයි."
}
@@ -475,6 +475,12 @@
"{{count}} pages left in chapter_two": "<0>{{count}}</0><1> strani do konca poglavja</1>",
"{{count}} pages left in chapter_few": "<0>{{count}}</0><1> strani do konca poglavja</1>",
"{{count}} pages left in chapter_other": "<0>{{count}}</0><1> strani do konca poglavja</1>",
"{{time}} min left in book": "{{time}} min do konca knjige",
"{{number}} pages left in book": "<0>{{number}}</0><1> strani do konca knjige</1>",
"{{count}} pages left in book_one": "<0>{{count}}</0><1> stran do konca knjige</1>",
"{{count}} pages left in book_two": "<0>{{count}}</0><1> strani do konca knjige</1>",
"{{count}} pages left in book_few": "<0>{{count}}</0><1> strani do konca knjige</1>",
"{{count}} pages left in book_other": "<0>{{count}}</0><1> strani do konca knjige</1>",
"On {{current}} of {{total}} page": "Na {{current}} od {{total}} strani",
"Selection": "Izbira",
"Book": "Knjiga",
@@ -1371,7 +1377,6 @@
"Disable PIN…": "Onemogoči PIN…",
"Sync passphrase ready": "Sinhronizacijsko geslo pripravljeno",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "S tem boste trajno izbrisali šifrirane poverilnice, ki jih sinhroniziramo (npr. gesla kataloga OPDS), v vseh napravah. Lokalne kopije se ohranijo. Znova boste morali vnesti sinhronizacijsko geslo ali nastaviti novo. Nadaljujem?",
"Sync passphrase forgotten — all encrypted fields cleared": "Sinhronizacijsko geslo pozabljeno — vsa šifrirana polja so izbrisana",
"Sync passphrase": "Sinhronizacijsko geslo",
"Set passphrase": "Nastavi geslo",
"Forgot passphrase": "Pozabljeno geslo",
@@ -1409,7 +1414,6 @@
"Custom background textures": "Teksture ozadja po meri",
"OPDS catalogs": "Katalogi OPDS",
"Saved catalog URLs and (encrypted) credentials": "Shranjeni naslovi URL katalogov in (šifrirana) poverilnice",
"Wrong sync passphrase — synced credentials could not be decrypted": "Napačno sinhronizacijsko geslo — sinhroniziranih poverilnic ni bilo mogoče dešifrirati",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "Podatki o sinhronizacijskem geslu na strežniku so bili ponastavljeni. Vaše poverilnice se ponovno šifrirajo z novim geslom…",
"Failed to decrypt synced credentials": "Dešifriranje sinhroniziranih poverilnic ni uspelo",
"Imported dictionary bundles and settings": "Uvoženi paketi slovarjev in nastavitve",
@@ -1518,7 +1522,6 @@
"Drop a book or document, or tap to choose": "Spustite knjigo ali dokument oziroma tapnite za izbiro",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "Prilepite URL članka",
"Added to your library — it will sync to your other devices.": "Dodano v vašo knjižnico — sinhroniziralo se bo z vašimi drugimi napravami.",
"Working…": "Poteka…",
"Could not load Send to Readest settings": "Nastavitev Pošlji v Readest ni bilo mogoče naložiti",
"Address copied": "Naslov kopiran",
@@ -1567,7 +1570,6 @@
"OK": "V redu",
"No matching books found in the selected folder.": "V izbrani mapi ni najdenih ujemajočih se knjig.",
"Send a web article": "Pošlji spletni članek",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "Namesti razširitev brskalnika Readest, da pošlješ članek, ki ga bereš, v svojo knjižnico — izreže stran iz brskalnika, zato delujejo tudi plačljive in samo prijavljene strani.",
"Enter a URL starting with http:// or https://": "Vnesi URL, ki se začne s http:// ali https://",
"Import": "Uvozi",
"Import from Web URL": "Uvozi s spletnega URL",
@@ -1580,5 +1582,97 @@
"Saved to Readest": "Shranjeno v Readest",
"Apply to every occurrence in the book": "Uporabi pri vseh pojavitvah v knjigi",
"Saving article from share…": "Shranjevanje članka iz skupne rabe…",
"Saved “{{title}}” to your library.": "»{{title}}« je shranjen v vašo knjižnico."
"Saved “{{title}}” to your library.": "»{{title}}« je shranjen v vašo knjižnico.",
"WebDAV authentication failed. Reconnect in Settings.": "Overjanje WebDAV ni uspelo. Ponovno se povežite v Nastavitvah.",
"Downloading": "Prenašanje",
"Uploading": "Nalaganje",
"downloaded {{n}} book(s)": "preneseno {{n}} knjig",
"pushed {{n}} config(s)": "poslano {{n}} konfiguracij",
"uploaded {{n}} new file(s)": "naloženo {{n}} novih datotek",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "Sinhronizacija končana z {{failed}} napakami. {{ok}} ok.",
"Sync complete": "Sinhronizacija končana",
"Everything is already up to date.": "Vse je že posodobljeno.",
"Browsing {{path}} on {{server}}": "Brskanje po {{path}} na {{server}}",
"Connect to a WebDAV server to browse your remote files.": "Povežite se s strežnikom WebDAV za brskanje po oddaljenih datotekah.",
"WebDAV": "WebDAV",
"Upload Book Files": "Naloži datoteke knjig",
"Sync now": "Sinhroniziraj zdaj",
"Hide password": "Skrij geslo",
"Show password": "Pokaži geslo",
"Root Directory": "Korenska mapa",
"Syncing…": "Sinhronizacija…",
"pulled progress for {{n}} book(s)": "preneseno napredek za {{n}} knjig",
"Sync History": "Zgodovina sinhronizacije",
"Clear Sync History": "Počisti zgodovino sinhronizacije",
"No manual syncs yet": "Še ni ročnih sinhronizacij",
"Partial": "Delno",
"Cleanup": "Čiščenje",
"Cleanup failed": "Čiščenje ni uspelo",
"Sync failed": "Sinhronizacija ni uspela",
"{{n}} deleted": "{{n}} izbrisano",
"{{n}} failed": "{{n}} neuspelo",
"Nothing deleted": "Nič ni bilo izbrisano",
"{{n}} downloaded": "{{n}} preneseno",
"{{n}} uploaded": "{{n}} naloženo",
"{{n}} progress": "{{n}} napredek",
"Up to date": "Posodobljeno",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "Prenesene knjige",
"Files uploaded": "Naložene datoteke",
"Configs uploaded": "Naložene konfiguracije",
"Configs downloaded": "Prenesene konfiguracije",
"Covers uploaded": "Naložene naslovnice",
"Books deleted": "Izbrisane knjige",
"Files in sync": "Sinhronizirane datoteke",
"Failures": "Napake",
"Total books": "Skupaj knjig",
"Error:": "Napaka:",
"Failed books": "Neuspele knjige",
"Deleted {{n}} book(s) from server.": "Iz strežnika izbrisano {{n}} knjig.",
"Failed to load directory": "Mape ni bilo mogoče naložiti",
"File download is only supported on the desktop and mobile apps.": "Prenos datotek je podprt samo v namizni in mobilni aplikaciji.",
"Downloaded \"{{title}}\" to your library.": "„{{title}}\" preneseno v vašo knjižnico.",
"Failed to download \"{{name}}\": {{error}}": "Prenos „{{name}}\" ni uspel: {{error}}",
"Up": "Gor",
"Cleanup · {{count}} book(s)_one": "Čiščenje · {{count}} knjiga",
"Cleanup · {{count}} book(s)_two": "Čiščenje · {{count}} knjigi",
"Cleanup · {{count}} book(s)_few": "Čiščenje · {{count}} knjige",
"Cleanup · {{count}} book(s)_other": "Čiščenje · {{count}} knjig",
"Exit cleanup": "Zapri čiščenje",
"Refresh": "Osveži",
"All clear · no books": "Vse je čisto · ni knjig",
"Empty directory": "Prazna mapa",
"Deleted locally · still on server": "Lokalno izbrisano · še vedno na strežniku",
"Select": "Izberi",
"Already downloaded in this session": "Že preneseno v tej seji",
"Downloading…": "Prenašanje…",
"Download to library": "Prenesi v knjižnico",
"Deselect all": "Odznači vse",
"Select all": "Izberi vse",
"{{n}} selected": "{{n}} izbrano",
"Delete from server": "Izbriši s strežnika",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "Iz strežnika izbrisano {{ok}} od {{total}} knjig; {{n}} neuspelo (prva: „{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "Z strežnika ni bilo mogoče izbrisati nobene od {{n}} knjig (prva: „{{first}}\").",
"Syncing {{n}} / {{total}}": "Sinhronizacija {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "Namestite razširitev brskalnika Readest, da članek, ki ga berete, pošljete v knjižnico. Razširitev izreže stran iz brskalnika, zato delujejo tudi plačljive in samo za prijavljene strani.",
"Added to your library. It will sync to your other devices.": "Dodano v vašo knjižnico. Sinhronizirano bo z drugimi napravami.",
"Sync passphrase forgotten. All encrypted fields cleared.": "Sinhronizacijska gesla pozabljena. Vsa šifrirana polja so počiščena.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "Samo ročne sinhronizacije in čiščenja. Samodejne sinhronizacije med branjem se tu ne beležijo.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "Izbrišem {{n}} knjig s strežnika WebDAV?\n\nTo odstrani samo oddaljene datoteke; vaša lokalna knjižnica ostane nedotaknjena. Izbrisa ni mogoče razveljaviti. Biti na strežniku bodo trajno izgubljeni.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "Vpliva samo na nalaganje datotek knjig. Bralni napredek in prenosi se vedno sinhronizirajo.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "Napačno geslo sinhronizacije. Sinhroniziranih poverilnic ni bilo mogoče dešifrirati.",
"Email books straight to your library": "Knjige po e-pošti pošljite naravnost v knjižnico",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "Posredujte priponke in članke na svoj zasebni Readest naslov. Na voljo v paketih Plus, Pro in Lifetime.",
"View plans": "Oglej si pakete",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "Članke lahko še vedno brezplačno izrežete s tipko Pošlji v aplikaciji, menijem za skupno rabo na mobilniku ali z brskalniško razširitvijo.",
"...": "…",
"Server URL is required": "Zahtevan je URL strežnika",
"Authentication failed": "Overjanje ni uspelo",
"Root directory not found": "Korenske mape ni mogoče najti",
"Unexpected server response (status {{status}})": "Nepričakovan odziv strežnika (status {{status}})",
"Network error": "Napaka omrežja",
"Remote resource not found": "Oddaljenega vira ni mogoče najti",
"Sync failed (status {{status}})": "Sinhronizacija ni uspela (status {{status}})",
"Sync failed.": "Sinhronizacija ni uspela."
}
@@ -589,6 +589,10 @@
"Cover": "Omslag",
"Contain": "Innehålla",
"{{number}} pages left in chapter": "<0>{{number}}</0><1> sidor kvar i kapitlet</1>",
"{{time}} min left in book": "{{time}} min kvar i boken",
"{{count}} pages left in book_one": "<0>{{count}}</0><1> sida kvar i boken</1>",
"{{count}} pages left in book_other": "<0>{{count}}</0><1> sidor kvar i boken</1>",
"{{number}} pages left in book": "<0>{{number}}</0><1> sidor kvar i boken</1>",
"Device": "Enhet",
"E-Ink Mode": "E-Ink-läge",
"Highlight Colors": "Markeringsfärger",
@@ -1323,7 +1327,6 @@
"Disable PIN…": "Inaktivera PIN…",
"Sync passphrase ready": "Synkroniseringslösenfras redo",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "Detta tar permanent bort de krypterade autentiseringsuppgifterna som vi synkroniserar (t.ex. lösenord för OPDS-kataloger) på alla enheter. Lokala kopior bevaras. Du behöver ange synkroniseringslösenfrasen igen eller välja en ny. Fortsätta?",
"Sync passphrase forgotten — all encrypted fields cleared": "Synkroniseringslösenfrasen glömdes — alla krypterade fält rensade",
"Sync passphrase": "Synkroniseringslösenfras",
"Set passphrase": "Ange lösenfras",
"Forgot passphrase": "Glömt lösenfras",
@@ -1361,7 +1364,6 @@
"Custom background textures": "Anpassade bakgrundstexturer",
"OPDS catalogs": "OPDS-kataloger",
"Saved catalog URLs and (encrypted) credentials": "Sparade katalog-URL:er och (krypterade) inloggningsuppgifter",
"Wrong sync passphrase — synced credentials could not be decrypted": "Fel synklösenfras — synkroniserade inloggningsuppgifter kunde inte dekrypteras",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "Synklösenfrasdata på servern återställdes. Krypterar om dina inloggningsuppgifter med den nya lösenfrasen…",
"Failed to decrypt synced credentials": "Det gick inte att dekryptera synkroniserade inloggningsuppgifter",
"Imported dictionary bundles and settings": "Importerade ordbokspaket och inställningar",
@@ -1462,7 +1464,6 @@
"Drop a book or document, or tap to choose": "Släpp en bok eller ett dokument, eller tryck för att välja",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "Klistra in en artikel-URL",
"Added to your library — it will sync to your other devices.": "Tillagd i ditt bibliotek — den synkroniseras till dina andra enheter.",
"Working…": "Arbetar…",
"Could not load Send to Readest settings": "Det gick inte att läsa in inställningarna för Skicka till Readest",
"Address copied": "Adress kopierad",
@@ -1511,7 +1512,6 @@
"OK": "OK",
"No matching books found in the selected folder.": "Inga matchande böcker hittades i den valda mappen.",
"Send a web article": "Skicka en webbartikel",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "Installera Readests webbläsartillägg för att skicka artikeln du läser till ditt bibliotek — det klipper sidan från din webbläsare så att betalda och inloggade sajter också fungerar.",
"Enter a URL starting with http:// or https://": "Ange en URL som börjar med http:// eller https://",
"Import": "Importera",
"Import from Web URL": "Importera från webbadress",
@@ -1524,5 +1524,95 @@
"Saved to Readest": "Sparad till Readest",
"Apply to every occurrence in the book": "Tillämpa på varje förekomst i boken",
"Saving article from share…": "Sparar delad artikel…",
"Saved “{{title}}” to your library.": "”{{title}}” har sparats i ditt bibliotek."
"Saved “{{title}}” to your library.": "”{{title}}” har sparats i ditt bibliotek.",
"WebDAV authentication failed. Reconnect in Settings.": "WebDAV-autentisering misslyckades. Återanslut i Inställningar.",
"Downloading": "Laddar ned",
"Uploading": "Laddar upp",
"downloaded {{n}} book(s)": "{{n}} bok/böcker nedladdade",
"pushed {{n}} config(s)": "{{n}} konfiguration(er) skickade",
"uploaded {{n}} new file(s)": "{{n}} ny(a) fil(er) uppladdade",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "Synkroniseringen slutfördes med {{failed}} fel. {{ok}} ok.",
"Sync complete": "Synkronisering klar",
"Everything is already up to date.": "Allt är redan uppdaterat.",
"Browsing {{path}} on {{server}}": "Bläddrar i {{path}} på {{server}}",
"Connect to a WebDAV server to browse your remote files.": "Anslut till en WebDAV-server för att bläddra bland dina fjärrfiler.",
"WebDAV": "WebDAV",
"Upload Book Files": "Ladda upp bokfiler",
"Sync now": "Synkronisera nu",
"Hide password": "Dölj lösenord",
"Show password": "Visa lösenord",
"Root Directory": "Rotmapp",
"Syncing…": "Synkroniserar…",
"pulled progress for {{n}} book(s)": "läsförlopp för {{n}} bok/böcker hämtat",
"Sync History": "Synkroniseringshistorik",
"Clear Sync History": "Rensa synkroniseringshistorik",
"No manual syncs yet": "Inga manuella synkroniseringar än",
"Partial": "Delvis",
"Cleanup": "Rensning",
"Cleanup failed": "Rensning misslyckades",
"Sync failed": "Synkroniseringen misslyckades",
"{{n}} deleted": "{{n}} borttagna",
"{{n}} failed": "{{n}} misslyckades",
"Nothing deleted": "Inget borttaget",
"{{n}} downloaded": "{{n}} nedladdade",
"{{n}} uploaded": "{{n}} uppladdade",
"{{n}} progress": "{{n}} läsförlopp",
"Up to date": "Uppdaterad",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "Nedladdade böcker",
"Files uploaded": "Uppladdade filer",
"Configs uploaded": "Uppladdade konfigurationer",
"Configs downloaded": "Nedladdade konfigurationer",
"Covers uploaded": "Uppladdade omslag",
"Books deleted": "Borttagna böcker",
"Files in sync": "Synkroniserade filer",
"Failures": "Misslyckanden",
"Total books": "Totalt antal böcker",
"Error:": "Fel:",
"Failed books": "Misslyckade böcker",
"Deleted {{n}} book(s) from server.": "Tog bort {{n}} bok/böcker från servern.",
"Failed to load directory": "Kunde inte läsa in katalogen",
"File download is only supported on the desktop and mobile apps.": "Filnedladdning stöds endast i skrivbords- och mobilappar.",
"Downloaded \"{{title}}\" to your library.": "\"{{title}}\" har laddats ned till ditt bibliotek.",
"Failed to download \"{{name}}\": {{error}}": "Kunde inte ladda ned \"{{name}}\": {{error}}",
"Up": "Upp",
"Cleanup · {{count}} book(s)_one": "Rensning · {{count}} bok",
"Cleanup · {{count}} book(s)_other": "Rensning · {{count}} böcker",
"Exit cleanup": "Avsluta rensning",
"Refresh": "Uppdatera",
"All clear · no books": "Allt rensat · inga böcker",
"Empty directory": "Tom katalog",
"Deleted locally · still on server": "Borttaget lokalt · finns kvar på server",
"Select": "Välj",
"Already downloaded in this session": "Redan nedladdat i denna session",
"Downloading…": "Laddar ned…",
"Download to library": "Ladda ned till bibliotek",
"Deselect all": "Avmarkera alla",
"Select all": "Välj alla",
"{{n}} selected": "{{n}} valda",
"Delete from server": "Ta bort från server",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "Tog bort {{ok}} av {{total}} bok/böcker från servern; {{n}} misslyckades (första: \"{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "Kunde inte ta bort någon av {{n}} bok/böcker från servern (första: \"{{first}}\").",
"Syncing {{n}} / {{total}}": "Synkroniserar {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "Installera webbläsartillägget för Readest för att skicka artikeln du läser till ditt bibliotek. Tillägget klipper sidan direkt från din webbläsare, så att betal- och inloggningssidor också fungerar.",
"Added to your library. It will sync to your other devices.": "Tillagd i ditt bibliotek. Synkroniseras med dina andra enheter.",
"Sync passphrase forgotten. All encrypted fields cleared.": "Synklösenfras glömd. Alla krypterade fält rensade.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "Endast manuella synkroniseringar och rensningar. Automatiska synkroniseringar under läsning loggas inte här.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "Ta bort {{n}} bok/böcker från WebDAV-servern?\n\nDetta tar bara bort fjärrfiler; ditt lokala bibliotek påverkas inte. Borttagningen kan inte ångras. Data på servern försvinner permanent.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "Påverkar bara uppladdning av bokfiler. Läsförlopp och nedladdningar synkroniseras alltid.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "Fel synklösenfras. Synkroniserade autentiseringsuppgifter kunde inte dekrypteras.",
"Email books straight to your library": "E-posta böcker direkt till ditt bibliotek",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "Vidarebefordra bilagor och artiklar till din privata Readest-adress. Tillgänglig i Plus-, Pro- och Lifetime-abonnemangen.",
"View plans": "Visa abonnemang",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "Du kan fortfarande klippa artiklar gratis med Skicka-knappen i appen, mobilens delningsmeny eller webbläsartillägget.",
"...": "…",
"Server URL is required": "Server-URL krävs",
"Authentication failed": "Autentisering misslyckades",
"Root directory not found": "Rotmappen hittades inte",
"Unexpected server response (status {{status}})": "Oväntat svar från servern (status {{status}})",
"Network error": "Nätverksfel",
"Remote resource not found": "Fjärresursen hittades inte",
"Sync failed (status {{status}})": "Synkroniseringen misslyckades (status {{status}})",
"Sync failed.": "Synkroniseringen misslyckades."
}
@@ -589,6 +589,10 @@
"Cover": "மூடு",
"Contain": "அடங்கும்",
"{{number}} pages left in chapter": "<1>அத்தியாயத்தில் </1><0>{{number}}</0><1> பக்கங்கள் மீதமுள்ளன</1>",
"{{time}} min left in book": "புத்தகத்தில் {{time}} நிமிடங்கள் மீதமுள்ளன",
"{{count}} pages left in book_one": "<1>புத்தகத்தில் 1 பக்கம் மீதமுள்ளது</1>",
"{{count}} pages left in book_other": "<1>புத்தகத்தில் </1><0>{{count}}</0><1> பக்கங்கள் மீதமுள்ளன</1>",
"{{number}} pages left in book": "<1>புத்தகத்தில் </1><0>{{number}}</0><1> பக்கங்கள் மீதமுள்ளன</1>",
"Device": "சாதனம்",
"E-Ink Mode": "E-Ink முறை",
"Highlight Colors": "முத்திரை நிறங்கள்",
@@ -1323,7 +1327,6 @@
"Disable PIN…": "PIN ஐ முடக்கு…",
"Sync passphrase ready": "ஒத்திசைவு கடவுச்சொற்றொடர் தயார்",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "இது ஒவ்வொரு சாதனத்திலும் நாங்கள் ஒத்திசைக்கும் குறியாக்கம் செய்யப்பட்ட சான்றுகளை (எ.கா., OPDS பட்டியல் கடவுச்சொற்கள்) நிரந்தரமாக நீக்குகிறது. உள்ளூர் நகல்கள் பாதுகாக்கப்படுகின்றன. நீங்கள் ஒத்திசைவு கடவுச்சொற்றொடரை மீண்டும் உள்ளிட வேண்டும் அல்லது புதியதை அமைக்க வேண்டும். தொடரவா?",
"Sync passphrase forgotten — all encrypted fields cleared": "ஒத்திசைவு கடவுச்சொற்றொடர் மறக்கப்பட்டது — அனைத்து குறியாக்கம் செய்யப்பட்ட புலங்களும் அழிக்கப்பட்டன",
"Sync passphrase": "ஒத்திசைவு கடவுச்சொற்றொடர்",
"Set passphrase": "கடவுச்சொற்றொடரை அமைக்கவும்",
"Forgot passphrase": "கடவுச்சொற்றொடரை மறந்துவிட்டீர்களா",
@@ -1361,7 +1364,6 @@
"Custom background textures": "தனிப்பயன் பின்னணி அமைப்புகள்",
"OPDS catalogs": "OPDS பட்டியல்கள்",
"Saved catalog URLs and (encrypted) credentials": "சேமிக்கப்பட்ட பட்டியல் URLs மற்றும் (குறியாக்கப்பட்ட) சான்றுகள்",
"Wrong sync passphrase — synced credentials could not be decrypted": "தவறான ஒத்திசைவு கடவுச்சொற்றொடர் — ஒத்திசைக்கப்பட்ட சான்றுகளை குறியாக்கம் நீக்க முடியவில்லை",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "சேவையகத்தில் ஒத்திசைவு கடவுச்சொற்றொடர் தரவு மீட்டமைக்கப்பட்டது. புதிய கடவுச்சொற்றொடர் மூலம் உங்கள் சான்றுகள் மீண்டும் குறியாக்கம் செய்யப்படுகின்றன…",
"Failed to decrypt synced credentials": "ஒத்திசைக்கப்பட்ட சான்றுகளின் குறியாக்கத்தை நீக்க முடியவில்லை",
"Imported dictionary bundles and settings": "இறக்குமதி செய்யப்பட்ட அகராதி பொதிகள் மற்றும் அமைப்புகள்",
@@ -1462,7 +1464,6 @@
"Drop a book or document, or tap to choose": "ஒரு புத்தகம் அல்லது ஆவணத்தை விடவும், அல்லது தேர்வுசெய்யத் தட்டவும்",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "ஒரு கட்டுரையின் URL-ஐ ஒட்டவும்",
"Added to your library — it will sync to your other devices.": "உங்கள் நூலகத்தில் சேர்க்கப்பட்டது — இது உங்கள் மற்ற சாதனங்களுக்கு ஒத்திசைக்கப்படும்.",
"Working…": "செயலில் உள்ளது…",
"Could not load Send to Readest settings": "Readest-க்கு அனுப்பு அமைப்புகளை ஏற்ற முடியவில்லை",
"Address copied": "முகவரி நகலெடுக்கப்பட்டது",
@@ -1511,7 +1512,6 @@
"OK": "சரி",
"No matching books found in the selected folder.": "தேர்ந்தெடுக்கப்பட்ட கோப்புறையில் பொருந்தும் புத்தகங்கள் எதுவும் கிடைக்கவில்லை.",
"Send a web article": "ஒரு வலை கட்டுரையை அனுப்பவும்",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "நீங்கள் வாசிக்கும் கட்டுரையை உங்கள் நூலகத்திற்கு அனுப்ப Readest உலாவி நீட்டிப்பை நிறுவவும் — இது உங்கள் உலாவியில் இருந்தே பக்கத்தை வெட்டுகிறது, எனவே கட்டண சுவர்கள் மற்றும் உள்நுழைவு மட்டுமே அனுமதிக்கும் தளங்களும் வேலை செய்யும்.",
"Enter a URL starting with http:// or https://": "http:// அல்லது https:// உடன் தொடங்கும் URL-ஐ உள்ளிடவும்",
"Import": "இறக்கு",
"Import from Web URL": "வலை URL-இலிருந்து இறக்குமதி செய்",
@@ -1524,5 +1524,95 @@
"Saved to Readest": "Readest-இல் சேமிக்கப்பட்டது",
"Apply to every occurrence in the book": "புத்தகத்தில் ஒவ்வொரு நிகழ்வுக்கும் பயன்படுத்து",
"Saving article from share…": "பகிர்விலிருந்து கட்டுரையை சேமிக்கிறது…",
"Saved “{{title}}” to your library.": "\"{{title}}\" உங்கள் நூலகத்தில் சேமிக்கப்பட்டது."
"Saved “{{title}}” to your library.": "\"{{title}}\" உங்கள் நூலகத்தில் சேமிக்கப்பட்டது.",
"WebDAV authentication failed. Reconnect in Settings.": "WebDAV அங்கீகாரம் தோல்வி. அமைப்புகளில் மீண்டும் இணைக்கவும்.",
"Downloading": "பதிவிறக்கப்படுகிறது",
"Uploading": "பதிவேற்றப்படுகிறது",
"downloaded {{n}} book(s)": "{{n}} புத்தகம்(ங்கள்) பதிவிறக்கப்பட்டன",
"pushed {{n}} config(s)": "{{n}} கட்டமைப்பு(கள்) அனுப்பப்பட்டன",
"uploaded {{n}} new file(s)": "{{n}} புதிய கோப்பு(கள்) பதிவேற்றப்பட்டன",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "ஒத்திசைவு {{failed}} தோல்விகளுடன் முடிந்தது. {{ok}} சரி.",
"Sync complete": "ஒத்திசைவு முடிந்தது",
"Everything is already up to date.": "அனைத்தும் ஏற்கனவே புதுப்பித்த நிலையில் உள்ளன.",
"Browsing {{path}} on {{server}}": "{{server}} இல் {{path}} ஐ உலாவுகிறது",
"Connect to a WebDAV server to browse your remote files.": "உங்கள் தொலைதூர கோப்புகளை உலாவ WebDAV சேவையகத்துடன் இணைக்கவும்.",
"WebDAV": "WebDAV",
"Upload Book Files": "புத்தக கோப்புகளை பதிவேற்று",
"Sync now": "இப்போது ஒத்திசை",
"Hide password": "கடவுச்சொல்லை மறை",
"Show password": "கடவுச்சொல்லைக் காட்டு",
"Root Directory": "மூல கோப்பகம்",
"Syncing…": "ஒத்திசைக்கப்படுகிறது…",
"pulled progress for {{n}} book(s)": "{{n}} புத்தகம்(ங்கள்) முன்னேற்றம் இழுக்கப்பட்டது",
"Sync History": "ஒத்திசைவு வரலாறு",
"Clear Sync History": "ஒத்திசைவு வரலாற்றை அழி",
"No manual syncs yet": "இதுவரை கைமுறை ஒத்திசைவுகள் இல்லை",
"Partial": "பகுதியளவு",
"Cleanup": "சுத்தம்",
"Cleanup failed": "சுத்தம் தோல்வி",
"Sync failed": "ஒத்திசைவு தோல்வியடைந்தது",
"{{n}} deleted": "{{n}} நீக்கப்பட்டன",
"{{n}} failed": "{{n}} தோல்வி",
"Nothing deleted": "எதுவும் நீக்கப்படவில்லை",
"{{n}} downloaded": "{{n}} பதிவிறக்கப்பட்டன",
"{{n}} uploaded": "{{n}} பதிவேற்றப்பட்டன",
"{{n}} progress": "{{n}} முன்னேற்றம்",
"Up to date": "புதுப்பித்த நிலையில்",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "பதிவிறக்கிய புத்தகங்கள்",
"Files uploaded": "பதிவேற்றிய கோப்புகள்",
"Configs uploaded": "பதிவேற்றிய கட்டமைப்புகள்",
"Configs downloaded": "பதிவிறக்கிய கட்டமைப்புகள்",
"Covers uploaded": "பதிவேற்றிய அட்டைகள்",
"Books deleted": "நீக்கிய புத்தகங்கள்",
"Files in sync": "ஒத்திசைவில் உள்ள கோப்புகள்",
"Failures": "தோல்விகள்",
"Total books": "மொத்த புத்தகங்கள்",
"Error:": "பிழை:",
"Failed books": "தோல்வியடைந்த புத்தகங்கள்",
"Deleted {{n}} book(s) from server.": "சேவையகத்திலிருந்து {{n}} புத்தகம்(ங்கள்) நீக்கப்பட்டன.",
"Failed to load directory": "கோப்பகத்தை ஏற்ற முடியவில்லை",
"File download is only supported on the desktop and mobile apps.": "கோப்பு பதிவிறக்கம் டெஸ்க்டாப் மற்றும் மொபைல் பயன்பாடுகளில் மட்டுமே ஆதரிக்கப்படுகிறது.",
"Downloaded \"{{title}}\" to your library.": "\"{{title}}\" உங்கள் நூலகத்திற்கு பதிவிறக்கப்பட்டது.",
"Failed to download \"{{name}}\": {{error}}": "\"{{name}}\" பதிவிறக்க முடியவில்லை: {{error}}",
"Up": "மேலே",
"Cleanup · {{count}} book(s)_one": "சுத்தம் · {{count}} புத்தகம்",
"Cleanup · {{count}} book(s)_other": "சுத்தம் · {{count}} புத்தகங்கள்",
"Exit cleanup": "சுத்தத்திலிருந்து வெளியேறு",
"Refresh": "புதுப்பி",
"All clear · no books": "அனைத்தும் சுத்தம் · புத்தகங்கள் இல்லை",
"Empty directory": "வெற்று கோப்பகம்",
"Deleted locally · still on server": "உள்ளூரில் நீக்கப்பட்டது · இன்னும் சேவையகத்தில்",
"Select": "தேர்ந்தெடு",
"Already downloaded in this session": "இந்த அமர்வில் ஏற்கனவே பதிவிறக்கப்பட்டது",
"Downloading…": "பதிவிறக்கப்படுகிறது…",
"Download to library": "நூலகத்திற்கு பதிவிறக்கு",
"Deselect all": "அனைத்தையும் தேர்வு நீக்கு",
"Select all": "அனைத்தையும் தேர்ந்தெடு",
"{{n}} selected": "{{n}} தேர்ந்தெடுக்கப்பட்டது",
"Delete from server": "சேவையகத்திலிருந்து நீக்கு",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "சேவையகத்திலிருந்து {{total}} இல் {{ok}} புத்தகம்(ங்கள்) நீக்கப்பட்டன; {{n}} தோல்வி (முதலாவது: \"{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "சேவையகத்திலிருந்து {{n}} புத்தகங்களில் எதையும் நீக்க முடியவில்லை (முதலாவது: \"{{first}}\").",
"Syncing {{n}} / {{total}}": "ஒத்திசைக்கப்படுகிறது {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "நீங்கள் படிக்கும் கட்டுரையை உங்கள் நூலகத்திற்கு அனுப்ப Readest உலாவி நீட்டிப்பை நிறுவவும். அது உங்கள் உலாவியில் இருந்து பக்கத்தை வெட்டியெடுக்கிறது, எனவே பணம் செலுத்திய மற்றும் உள்நுழைவு மட்டுமே தேவைப்படும் தளங்களும் இயங்கும்.",
"Added to your library. It will sync to your other devices.": "உங்கள் நூலகத்தில் சேர்க்கப்பட்டது. உங்கள் மற்ற சாதனங்களுக்கு ஒத்திசைக்கப்படும்.",
"Sync passphrase forgotten. All encrypted fields cleared.": "ஒத்திசைவு கடவுச்சொற்றொடர் மறக்கப்பட்டது. அனைத்து குறியாக்கப்பட்ட புலங்களும் அழிக்கப்பட்டன.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "கைமுறை ஒத்திசைவுகள் மற்றும் சுத்திகரிப்புகள் மட்டுமே. வாசிக்கும்போது தானியங்கி ஒத்திசைவுகள் இங்கு பதிவாகாது.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "WebDAV சேவையகத்திலிருந்து {{n}} புத்தகம்(ங்கள்) நீக்க வேண்டுமா?\n\nஇது தொலைதூர கோப்புகளை மட்டுமே நீக்கும்; உங்கள் உள்ளூர் நூலகம் பாதிக்கப்படாது. நீக்கலை மீட்க முடியாது. சேவையகத்தில் உள்ள தரவு நிரந்தரமாக மறையும்.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "புத்தக கோப்புகள் பதிவேற்றத்தை மட்டுமே பாதிக்கும். வாசிப்பு முன்னேற்றமும் பதிவிறக்கங்களும் எப்போதும் ஒத்திசைகின்றன.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "தவறான ஒத்திசைவு கடவுச்சொற்றொடர். ஒத்திசைக்கப்பட்ட சான்றுகளை மறைகுறியாக்க முடியவில்லை.",
"Email books straight to your library": "புத்தகங்களை மின்னஞ்சல் வழியாக நேரடியாக உங்கள் நூலகத்திற்கு அனுப்பவும்",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "இணைப்புகள் மற்றும் கட்டுரைகளை உங்கள் தனிப்பட்ட Readest முகவரிக்கு முன்னனுப்பவும். Plus, Pro மற்றும் Lifetime திட்டங்களில் கிடைக்கும்.",
"View plans": "திட்டங்களைப் பார்",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "நீங்கள் இன்னும் பயன்பாட்டில் உள்ள அனுப்பு பொத்தான், மொபைல் பகிர் மெனு அல்லது உலாவி நீட்டிப்பு மூலம் கட்டுரைகளை இலவசமாக கிளிப் செய்யலாம்.",
"...": "…",
"Server URL is required": "சேவையக URL தேவை",
"Authentication failed": "அங்கீகாரம் தோல்வி",
"Root directory not found": "மூல கோப்பகம் கண்டுபிடிக்கப்படவில்லை",
"Unexpected server response (status {{status}})": "எதிர்பாராத சேவையக பதில் (நிலை {{status}})",
"Network error": "பிணைய பிழை",
"Remote resource not found": "தொலைதூர வளம் கண்டுபிடிக்கப்படவில்லை",
"Sync failed (status {{status}})": "ஒத்திசைவு தோல்வி (நிலை {{status}})",
"Sync failed.": "ஒத்திசைவு தோல்வி."
}
@@ -585,6 +585,9 @@
"Cover": "ปก",
"Contain": "บรรจุ",
"{{number}} pages left in chapter": "<1>เหลือ </1><0>{{number}}</0><1> หน้าในบท</1>",
"{{time}} min left in book": "เหลือ {{time}} นาทีในหนังสือ",
"{{count}} pages left in book_other": "<1>เหลือ </1><0>{{count}}</0><1> หน้าในหนังสือ</1>",
"{{number}} pages left in book": "<1>เหลือ </1><0>{{number}}</0><1> หน้าในหนังสือ</1>",
"Device": "อุปกรณ์",
"E-Ink Mode": "โหมด E-Ink",
"Highlight Colors": "สีไฮไลต์",
@@ -1299,7 +1302,6 @@
"Disable PIN…": "ปิดใช้งาน PIN…",
"Sync passphrase ready": "วลีรหัสผ่านสำหรับซิงค์พร้อมแล้ว",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "การกระทำนี้จะลบข้อมูลรับรองที่เข้ารหัสซึ่งเราซิงค์ไว้ (เช่น รหัสผ่านของแคตตาล็อก OPDS) บนทุกอุปกรณ์อย่างถาวร สำเนาที่อยู่ในเครื่องจะถูกเก็บไว้ คุณจะต้องป้อนวลีรหัสผ่านสำหรับซิงค์อีกครั้งหรือตั้งค่าใหม่ ดำเนินการต่อหรือไม่?",
"Sync passphrase forgotten — all encrypted fields cleared": "ลืมวลีรหัสผ่านสำหรับซิงค์ — ฟิลด์ที่เข้ารหัสทั้งหมดถูกล้างแล้ว",
"Sync passphrase": "วลีรหัสผ่านสำหรับซิงค์",
"Set passphrase": "ตั้งค่าวลีรหัสผ่าน",
"Forgot passphrase": "ลืมวลีรหัสผ่าน",
@@ -1337,7 +1339,6 @@
"Custom background textures": "พื้นผิวพื้นหลังที่กำหนดเอง",
"OPDS catalogs": "แคตตาล็อก OPDS",
"Saved catalog URLs and (encrypted) credentials": "URL แคตตาล็อกที่บันทึกไว้และข้อมูลรับรอง (ที่เข้ารหัส)",
"Wrong sync passphrase — synced credentials could not be decrypted": "วลีรหัสผ่านซิงค์ไม่ถูกต้อง — ไม่สามารถถอดรหัสข้อมูลรับรองที่ซิงค์ได้",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "ข้อมูลวลีรหัสผ่านซิงค์บนเซิร์ฟเวอร์ถูกรีเซ็ตแล้ว กำลังเข้ารหัสข้อมูลรับรองของคุณใหม่ด้วยวลีรหัสผ่านใหม่…",
"Failed to decrypt synced credentials": "ไม่สามารถถอดรหัสข้อมูลรับรองที่ซิงค์ได้",
"Imported dictionary bundles and settings": "ชุดพจนานุกรมที่นำเข้าและการตั้งค่า",
@@ -1434,7 +1435,6 @@
"Drop a book or document, or tap to choose": "วางหนังสือหรือเอกสาร หรือแตะเพื่อเลือก",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "วาง URL ของบทความ",
"Added to your library — it will sync to your other devices.": "เพิ่มไปยังคลังของคุณแล้ว — ระบบจะซิงค์ไปยังอุปกรณ์อื่นของคุณ",
"Working…": "กำลังดำเนินการ…",
"Could not load Send to Readest settings": "ไม่สามารถโหลดการตั้งค่าส่งไปยัง Readest ได้",
"Address copied": "คัดลอกที่อยู่แล้ว",
@@ -1483,7 +1483,6 @@
"OK": "ตกลง",
"No matching books found in the selected folder.": "ไม่พบหนังสือที่ตรงกันในโฟลเดอร์ที่เลือก",
"Send a web article": "ส่งบทความเว็บ",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "ติดตั้งส่วนขยายเบราว์เซอร์ Readest เพื่อส่งบทความที่คุณกำลังอ่านไปยังคลังของคุณ — มันตัดหน้าจากเบราว์เซอร์ของคุณ ดังนั้นเว็บไซต์ที่มีกำแพงค่าใช้จ่ายและเฉพาะผู้ที่ล็อกอินก็ยังคงทำงาน",
"Enter a URL starting with http:// or https://": "ใส่ URL ที่ขึ้นต้นด้วย http:// หรือ https://",
"Import": "นำเข้า",
"Import from Web URL": "นำเข้าจาก URL เว็บ",
@@ -1496,5 +1495,94 @@
"Saved to Readest": "บันทึกลงใน Readest แล้ว",
"Apply to every occurrence in the book": "ใช้กับทุกครั้งที่ปรากฏในหนังสือ",
"Saving article from share…": "กำลังบันทึกบทความจากการแชร์…",
"Saved “{{title}}” to your library.": "บันทึก \"{{title}}\" ลงในคลังของคุณแล้ว"
"Saved “{{title}}” to your library.": "บันทึก \"{{title}}\" ลงในคลังของคุณแล้ว",
"WebDAV authentication failed. Reconnect in Settings.": "การยืนยันตัวตน WebDAV ล้มเหลว เชื่อมต่อใหม่ในการตั้งค่า",
"Downloading": "กำลังดาวน์โหลด",
"Uploading": "กำลังอัปโหลด",
"downloaded {{n}} book(s)": "ดาวน์โหลด {{n}} เล่ม",
"pushed {{n}} config(s)": "อัปโหลดการตั้งค่า {{n}} รายการ",
"uploaded {{n}} new file(s)": "อัปโหลด {{n}} ไฟล์ใหม่",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "ซิงค์เสร็จสิ้นโดยมี {{failed}} รายการล้มเหลว สำเร็จ {{ok}}",
"Sync complete": "ซิงค์เสร็จสมบูรณ์",
"Everything is already up to date.": "ทุกอย่างเป็นเวอร์ชันล่าสุดอยู่แล้ว",
"Browsing {{path}} on {{server}}": "กำลังเรียกดู {{path}} บน {{server}}",
"Connect to a WebDAV server to browse your remote files.": "เชื่อมต่อกับเซิร์ฟเวอร์ WebDAV เพื่อเรียกดูไฟล์ระยะไกลของคุณ",
"WebDAV": "WebDAV",
"Upload Book Files": "อัปโหลดไฟล์หนังสือ",
"Sync now": "ซิงค์ทันที",
"Hide password": "ซ่อนรหัสผ่าน",
"Show password": "แสดงรหัสผ่าน",
"Root Directory": "ไดเรกทอรีราก",
"Syncing…": "กำลังซิงค์…",
"pulled progress for {{n}} book(s)": "ดึงความคืบหน้าของ {{n}} เล่ม",
"Sync History": "ประวัติการซิงค์",
"Clear Sync History": "ล้างประวัติการซิงค์",
"No manual syncs yet": "ยังไม่มีการซิงค์ด้วยตนเอง",
"Partial": "บางส่วน",
"Cleanup": "ล้างข้อมูล",
"Cleanup failed": "ล้างข้อมูลไม่สำเร็จ",
"Sync failed": "ซิงค์ไม่สำเร็จ",
"{{n}} deleted": "ลบ {{n}}",
"{{n}} failed": "ล้มเหลว {{n}}",
"Nothing deleted": "ไม่มีอะไรถูกลบ",
"{{n}} downloaded": "ดาวน์โหลด {{n}}",
"{{n}} uploaded": "อัปโหลด {{n}}",
"{{n}} progress": "{{n}} ความคืบหน้า",
"Up to date": "เป็นเวอร์ชันล่าสุด",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "หนังสือที่ดาวน์โหลด",
"Files uploaded": "ไฟล์ที่อัปโหลด",
"Configs uploaded": "การตั้งค่าที่อัปโหลด",
"Configs downloaded": "การตั้งค่าที่ดาวน์โหลด",
"Covers uploaded": "ปกที่อัปโหลด",
"Books deleted": "หนังสือที่ลบ",
"Files in sync": "ไฟล์ที่ซิงค์แล้ว",
"Failures": "ความล้มเหลว",
"Total books": "หนังสือทั้งหมด",
"Error:": "ข้อผิดพลาด:",
"Failed books": "หนังสือที่ล้มเหลว",
"Deleted {{n}} book(s) from server.": "ลบหนังสือ {{n}} เล่มจากเซิร์ฟเวอร์",
"Failed to load directory": "ไม่สามารถโหลดไดเรกทอรี",
"File download is only supported on the desktop and mobile apps.": "การดาวน์โหลดไฟล์รองรับเฉพาะในแอปเดสก์ท็อปและมือถือเท่านั้น",
"Downloaded \"{{title}}\" to your library.": "ดาวน์โหลด \"{{title}}\" ไปยังคลังของคุณแล้ว",
"Failed to download \"{{name}}\": {{error}}": "ดาวน์โหลด \"{{name}}\" ไม่สำเร็จ: {{error}}",
"Up": "ขึ้น",
"Cleanup · {{count}} book(s)_other": "ล้างข้อมูล · {{count}} เล่ม",
"Exit cleanup": "ออกจากการล้างข้อมูล",
"Refresh": "รีเฟรช",
"All clear · no books": "เรียบร้อย · ไม่มีหนังสือ",
"Empty directory": "ไดเรกทอรีว่างเปล่า",
"Deleted locally · still on server": "ลบในเครื่องแล้ว · ยังอยู่บนเซิร์ฟเวอร์",
"Select": "เลือก",
"Already downloaded in this session": "ดาวน์โหลดแล้วในเซสชันนี้",
"Downloading…": "กำลังดาวน์โหลด…",
"Download to library": "ดาวน์โหลดไปยังคลัง",
"Deselect all": "ยกเลิกการเลือกทั้งหมด",
"Select all": "เลือกทั้งหมด",
"{{n}} selected": "เลือก {{n}}",
"Delete from server": "ลบจากเซิร์ฟเวอร์",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "ลบหนังสือ {{ok}} จาก {{total}} เล่มจากเซิร์ฟเวอร์; {{n}} ล้มเหลว (เล่มแรก: \"{{first}}\")",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "ไม่สามารถลบหนังสือใด ๆ จาก {{n}} เล่มบนเซิร์ฟเวอร์ (เล่มแรก: \"{{first}}\")",
"Syncing {{n}} / {{total}}": "กำลังซิงค์ {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "ติดตั้งส่วนขยายเบราว์เซอร์ Readest เพื่อส่งบทความที่คุณกำลังอ่านไปยังคลังของคุณ ส่วนขยายจะตัดหน้านี้จากเบราว์เซอร์ของคุณ ดังนั้นเว็บไซต์แบบมีเพย์วอลล์และที่ต้องล็อกอินก็ยังใช้งานได้",
"Added to your library. It will sync to your other devices.": "เพิ่มลงในคลังของคุณแล้ว จะซิงค์ไปยังอุปกรณ์อื่นๆ ของคุณ",
"Sync passphrase forgotten. All encrypted fields cleared.": "ลืมรหัสผ่านการซิงค์แล้ว ฟิลด์ที่เข้ารหัสทั้งหมดถูกล้าง",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "การซิงค์และล้างข้อมูลด้วยตนเองเท่านั้น การซิงค์อัตโนมัติระหว่างอ่านจะไม่ถูกบันทึกที่นี่",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "ลบหนังสือ {{n}} เล่มจากเซิร์ฟเวอร์ WebDAV?\n\nสิ่งนี้จะลบเฉพาะไฟล์ระยะไกล; คลังข้อมูลในเครื่องของคุณจะไม่ได้รับผลกระทบ การลบไม่สามารถย้อนกลับได้ ข้อมูลบนเซิร์ฟเวอร์จะหายไปอย่างถาวร",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "มีผลกับการอัปโหลดไฟล์หนังสือเท่านั้น ความคืบหน้าการอ่านและการดาวน์โหลดจะซิงค์เสมอ",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "รหัสผ่านการซิงค์ไม่ถูกต้อง ไม่สามารถถอดรหัสข้อมูลรับรองที่ซิงค์ได้",
"Email books straight to your library": "ส่งหนังสือทางอีเมลไปยังคลังของคุณโดยตรง",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "ส่งต่อไฟล์แนบและบทความไปยังที่อยู่ Readest ส่วนตัวของคุณ ใช้งานได้ในแผน Plus, Pro และ Lifetime",
"View plans": "ดูแผน",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "คุณยังสามารถคลิปบทความได้ฟรีด้วยปุ่มส่งในแอป เมนูแชร์บนมือถือ หรือส่วนขยายเบราว์เซอร์",
"...": "…",
"Server URL is required": "ต้องระบุ URL ของเซิร์ฟเวอร์",
"Authentication failed": "การยืนยันตัวตนล้มเหลว",
"Root directory not found": "ไม่พบไดเรกทอรีราก",
"Unexpected server response (status {{status}})": "การตอบกลับของเซิร์ฟเวอร์ที่ไม่คาดคิด (สถานะ {{status}})",
"Network error": "ข้อผิดพลาดเครือข่าย",
"Remote resource not found": "ไม่พบทรัพยากรระยะไกล",
"Sync failed (status {{status}})": "ซิงค์ไม่สำเร็จ (สถานะ {{status}})",
"Sync failed.": "ซิงค์ไม่สำเร็จ"
}
@@ -589,6 +589,10 @@
"Cover": "Kapak",
"Contain": "İçerir",
"{{number}} pages left in chapter": "<1>Bu bölümde </1><0>{{number}}</0><1> sayfa kaldı</1>",
"{{time}} min left in book": "{{time}} dakika kitapta kaldı",
"{{count}} pages left in book_one": "<1>Bu kitapta </1><0>{{count}}</0><1> sayfa kaldı</1>",
"{{count}} pages left in book_other": "<1>Bu kitapta </1><0>{{count}}</0><1> sayfa kaldı</1>",
"{{number}} pages left in book": "<1>Bu kitapta </1><0>{{number}}</0><1> sayfa kaldı</1>",
"Device": "Cihaz",
"E-Ink Mode": "E-Ink Modu",
"Highlight Colors": "Vurgu Renkleri",
@@ -1323,7 +1327,6 @@
"Disable PIN…": "PIN'i Devre Dışı Bırak…",
"Sync passphrase ready": "Eşitleme parolası hazır",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "Bu işlem, her cihazda eşitlediğimiz şifrelenmiş kimlik bilgilerini (ör. OPDS kataloğu parolaları) kalıcı olarak siler. Yerel kopyalar korunur. Eşitleme parolasını yeniden girmeniz veya yeni bir tane belirlemeniz gerekecek. Devam edilsin mi?",
"Sync passphrase forgotten — all encrypted fields cleared": "Eşitleme parolası unutuldu — tüm şifrelenmiş alanlar temizlendi",
"Sync passphrase": "Eşitleme parolası",
"Set passphrase": "Parolayı belirle",
"Forgot passphrase": "Parolayı unuttum",
@@ -1361,7 +1364,6 @@
"Custom background textures": "Özel arka plan dokuları",
"OPDS catalogs": "OPDS katalogları",
"Saved catalog URLs and (encrypted) credentials": "Kayıtlı katalog URL'leri ve (şifrelenmiş) kimlik bilgileri",
"Wrong sync passphrase — synced credentials could not be decrypted": "Yanlış eşitleme parolası — eşitlenmiş kimlik bilgileri çözülemedi",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "Sunucudaki eşitleme parolası verisi sıfırlandı. Kimlik bilgileriniz yeni parolayla yeniden şifreleniyor…",
"Failed to decrypt synced credentials": "Eşitlenmiş kimlik bilgileri çözülemedi",
"Imported dictionary bundles and settings": "İçe aktarılan sözlük paketleri ve ayarlar",
@@ -1462,7 +1464,6 @@
"Drop a book or document, or tap to choose": "Bir kitap ya da belge bırakın veya seçmek için dokunun",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "Bir makale URL'si yapıştırın",
"Added to your library — it will sync to your other devices.": "Kitaplığınıza eklendi — diğer cihazlarınızla senkronize edilecek.",
"Working…": "Çalışıyor…",
"Could not load Send to Readest settings": "Readest'e Gönder ayarları yüklenemedi",
"Address copied": "Adres kopyalandı",
@@ -1511,7 +1512,6 @@
"OK": "Tamam",
"No matching books found in the selected folder.": "Seçilen klasörde eşleşen kitap bulunamadı.",
"Send a web article": "Bir web makalesi gönder",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "Okuduğunuz makaleyi kitaplığınıza göndermek için Readest tarayıcı eklentisini yükleyin — sayfayı tarayıcınızdan kırpar, böylece ödeme duvarlı ve yalnızca giriş yapılan siteler de çalışır.",
"Enter a URL starting with http:// or https://": "http:// veya https:// ile başlayan bir URL girin",
"Import": "İçe aktar",
"Import from Web URL": "Web URL'sinden içe aktar",
@@ -1524,5 +1524,95 @@
"Saved to Readest": "Readest'e kaydedildi",
"Apply to every occurrence in the book": "Kitaptaki her geçişe uygula",
"Saving article from share…": "Paylaşılan makale kaydediliyor…",
"Saved “{{title}}” to your library.": "“{{title}}” kitaplığınıza kaydedildi."
"Saved “{{title}}” to your library.": "“{{title}}” kitaplığınıza kaydedildi.",
"WebDAV authentication failed. Reconnect in Settings.": "WebDAV kimlik doğrulaması başarısız. Ayarlar'dan yeniden bağlanın.",
"Downloading": "İndiriliyor",
"Uploading": "Yükleniyor",
"downloaded {{n}} book(s)": "{{n}} kitap indirildi",
"pushed {{n}} config(s)": "{{n}} yapılandırma gönderildi",
"uploaded {{n}} new file(s)": "{{n}} yeni dosya yüklendi",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "Eşitleme {{failed}} hatayla tamamlandı. {{ok}} başarılı.",
"Sync complete": "Eşitleme tamamlandı",
"Everything is already up to date.": "Her şey zaten güncel.",
"Browsing {{path}} on {{server}}": "{{server}} üzerinde {{path}} göz atılıyor",
"Connect to a WebDAV server to browse your remote files.": "Uzak dosyalarınıza göz atmak için bir WebDAV sunucusuna bağlanın.",
"WebDAV": "WebDAV",
"Upload Book Files": "Kitap dosyalarını yükle",
"Sync now": "Şimdi eşitle",
"Hide password": "Parolayı gizle",
"Show password": "Parolayı göster",
"Root Directory": "Kök dizin",
"Syncing…": "Eşitleniyor…",
"pulled progress for {{n}} book(s)": "{{n}} kitap için ilerleme alındı",
"Sync History": "Eşitleme geçmişi",
"Clear Sync History": "Eşitleme geçmişini temizle",
"No manual syncs yet": "Henüz manuel eşitleme yok",
"Partial": "Kısmi",
"Cleanup": "Temizlik",
"Cleanup failed": "Temizlik başarısız",
"Sync failed": "Eşitleme başarısız",
"{{n}} deleted": "{{n}} silindi",
"{{n}} failed": "{{n}} başarısız",
"Nothing deleted": "Hiçbir şey silinmedi",
"{{n}} downloaded": "{{n}} indirildi",
"{{n}} uploaded": "{{n}} yüklendi",
"{{n}} progress": "{{n}} ilerleme",
"Up to date": "Güncel",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "İndirilen kitaplar",
"Files uploaded": "Yüklenen dosyalar",
"Configs uploaded": "Yüklenen yapılandırmalar",
"Configs downloaded": "İndirilen yapılandırmalar",
"Covers uploaded": "Yüklenen kapaklar",
"Books deleted": "Silinen kitaplar",
"Files in sync": "Eşitlenmiş dosyalar",
"Failures": "Başarısızlıklar",
"Total books": "Toplam kitap",
"Error:": "Hata:",
"Failed books": "Başarısız kitaplar",
"Deleted {{n}} book(s) from server.": "Sunucudan {{n}} kitap silindi.",
"Failed to load directory": "Dizin yüklenemedi",
"File download is only supported on the desktop and mobile apps.": "Dosya indirme yalnızca masaüstü ve mobil uygulamalarda desteklenir.",
"Downloaded \"{{title}}\" to your library.": "\"{{title}}\" kitaplığınıza indirildi.",
"Failed to download \"{{name}}\": {{error}}": "\"{{name}}\" indirilemedi: {{error}}",
"Up": "Yukarı",
"Cleanup · {{count}} book(s)_one": "Temizlik · {{count}} kitap",
"Cleanup · {{count}} book(s)_other": "Temizlik · {{count}} kitap",
"Exit cleanup": "Temizliği bitir",
"Refresh": "Yenile",
"All clear · no books": "Her şey temiz · kitap yok",
"Empty directory": "Boş dizin",
"Deleted locally · still on server": "Yerel olarak silindi · sunucuda hâlâ var",
"Select": "Seç",
"Already downloaded in this session": "Bu oturumda zaten indirildi",
"Downloading…": "İndiriliyor…",
"Download to library": "Kitaplığa indir",
"Deselect all": "Tüm seçimleri kaldır",
"Select all": "Tümünü seç",
"{{n}} selected": "{{n}} seçili",
"Delete from server": "Sunucudan sil",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "Sunucudan {{total}} kitaptan {{ok}} silindi; {{n}} başarısız (ilk: \"{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "Sunucudaki {{n}} kitabın hiçbiri silinemedi (ilk: \"{{first}}\").",
"Syncing {{n}} / {{total}}": "Eşitleniyor {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "Okuduğunuz makaleyi kitaplığınıza göndermek için Readest tarayıcı uzantısını yükleyin. Uzantı sayfayı tarayıcınızdan keser, bu sayede ödemeli ve yalnızca girişli siteler de çalışır.",
"Added to your library. It will sync to your other devices.": "Kitaplığınıza eklendi. Diğer cihazlarınızla eşitlenecek.",
"Sync passphrase forgotten. All encrypted fields cleared.": "Eşitleme parola tümcesi unutuldu. Tüm şifreli alanlar temizlendi.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "Yalnızca manuel eşitlemeler ve temizlikler. Okuma sırasında otomatik eşitlemeler burada kaydedilmez.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "WebDAV sunucusundan {{n}} kitap silinsin mi?\n\nBu yalnızca uzak dosyaları kaldırır; yerel kitaplığınız etkilenmez. Silme geri alınamaz. Sunucudaki veriler kalıcı olarak yok olur.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "Yalnızca kitap dosyası yüklemeyi etkiler. Okuma ilerlemesi ve indirmeler her zaman eşitlenir.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "Yanlış eşitleme parola tümcesi. Eşitlenmiş kimlik bilgileri çözülemedi.",
"Email books straight to your library": "Kitapları e-postayla doğrudan kitaplığınıza gönderin",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "Ekleri ve makaleleri özel Readest adresinize iletin. Plus, Pro ve Lifetime planlarında kullanılabilir.",
"View plans": "Planları görüntüle",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "Makaleleri uygulama içi Gönder düğmesi, mobil Paylaş menüsü veya tarayıcı uzantısı ile yine de ücretsiz olarak alabilirsiniz.",
"...": "…",
"Server URL is required": "Sunucu URL'si gerekli",
"Authentication failed": "Kimlik doğrulama başarısız",
"Root directory not found": "Kök dizin bulunamadı",
"Unexpected server response (status {{status}})": "Beklenmeyen sunucu yanıtı (durum {{status}})",
"Network error": "Ağ hatası",
"Remote resource not found": "Uzak kaynak bulunamadı",
"Sync failed (status {{status}})": "Eşitleme başarısız (durum {{status}})",
"Sync failed.": "Eşitleme başarısız."
}
@@ -597,6 +597,12 @@
"Cover": "Перекрити",
"Contain": "Втиснути",
"{{number}} pages left in chapter": "<1>Залишилось </1><0>{{number}}</0><1> сторінок у розділі</1>",
"{{time}} min left in book": "{{time}} хв до кінця книги",
"{{count}} pages left in book_one": "<1>Залишилася </1><0>{{count}}</0><1> сторінка у книзі</1>",
"{{count}} pages left in book_few": "<1>Залишилось </1><0>{{count}}</0><1> сторінки у книзі</1>",
"{{count}} pages left in book_many": "<1>Залишилось </1><0>{{count}}</0><1> сторінок у книзі</1>",
"{{count}} pages left in book_other": "<1>Залишилось </1><0>{{count}}</0><1> сторінок у книзі</1>",
"{{number}} pages left in book": "<1>Залишилось </1><0>{{number}}</0><1> сторінок у книзі</1>",
"Device": "Пристрій",
"E-Ink Mode": "E-Ink режим",
"Highlight Colors": "Кольори виділення",
@@ -1371,7 +1377,6 @@
"Disable PIN…": "Вимкнути PIN…",
"Sync passphrase ready": "Парольну фразу синхронізації готово",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "Це остаточно видалить зашифровані облікові дані, які ми синхронізуємо (наприклад, паролі каталогу OPDS), на кожному пристрої. Локальні копії зберігаються. Вам потрібно буде повторно ввести парольну фразу синхронізації або встановити нову. Продовжити?",
"Sync passphrase forgotten — all encrypted fields cleared": "Парольну фразу синхронізації забуто — усі зашифровані поля очищено",
"Sync passphrase": "Парольна фраза синхронізації",
"Set passphrase": "Установити парольну фразу",
"Forgot passphrase": "Забули парольну фразу",
@@ -1409,7 +1414,6 @@
"Custom background textures": "Користувацькі текстури фону",
"OPDS catalogs": "Каталоги OPDS",
"Saved catalog URLs and (encrypted) credentials": "Збережені URL каталогів та (зашифровані) облікові дані",
"Wrong sync passphrase — synced credentials could not be decrypted": "Невірна парольна фраза синхронізації — не вдалося розшифрувати синхронізовані облікові дані",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "Дані парольної фрази синхронізації на сервері було скинуто. Перешифрування облікових даних із новою парольною фразою…",
"Failed to decrypt synced credentials": "Не вдалося розшифрувати синхронізовані облікові дані",
"Imported dictionary bundles and settings": "Імпортовані пакети словників і налаштування",
@@ -1518,7 +1522,6 @@
"Drop a book or document, or tap to choose": "Перетягніть книгу чи документ або торкніться, щоб вибрати",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "Вставте URL-адресу статті",
"Added to your library — it will sync to your other devices.": "Додано до вашої бібліотеки — буде синхронізовано з іншими пристроями.",
"Working…": "Виконується…",
"Could not load Send to Readest settings": "Не вдалося завантажити налаштування «Надіслати до Readest»",
"Address copied": "Адресу скопійовано",
@@ -1567,7 +1570,6 @@
"OK": "OK",
"No matching books found in the selected folder.": "Не знайдено відповідних книг у вибраній папці.",
"Send a web article": "Надіслати веб-статтю",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "Встановіть розширення браузера Readest, щоб надіслати статтю, яку ви читаєте, до вашої бібліотеки — воно вирізає сторінку з вашого браузера, тож працюють також платні та лише авторизовані сайти.",
"Enter a URL starting with http:// or https://": "Введіть URL, що починається з http:// або https://",
"Import": "Імпорт",
"Import from Web URL": "Імпорт з веб-адреси",
@@ -1580,5 +1582,97 @@
"Saved to Readest": "Збережено в Readest",
"Apply to every occurrence in the book": "Застосувати до кожного входження в книзі",
"Saving article from share…": "Збереження поширеної статті…",
"Saved “{{title}}” to your library.": "«{{title}}» збережено у вашій бібліотеці."
"Saved “{{title}}” to your library.": "«{{title}}» збережено у вашій бібліотеці.",
"WebDAV authentication failed. Reconnect in Settings.": "Не вдалося пройти автентифікацію WebDAV. Підключіться знову в Налаштуваннях.",
"Downloading": "Завантаження",
"Uploading": "Вивантаження",
"downloaded {{n}} book(s)": "завантажено {{n}} книг",
"pushed {{n}} config(s)": "надіслано {{n}} конфігурацій",
"uploaded {{n}} new file(s)": "вивантажено {{n}} нових файлів",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "Синхронізацію завершено з {{failed}} помилок. {{ok}} успішно.",
"Sync complete": "Синхронізацію завершено",
"Everything is already up to date.": "Усе вже актуально.",
"Browsing {{path}} on {{server}}": "Перегляд {{path}} на {{server}}",
"Connect to a WebDAV server to browse your remote files.": "Підключіться до сервера WebDAV, щоб переглядати віддалені файли.",
"WebDAV": "WebDAV",
"Upload Book Files": "Вивантажити файли книг",
"Sync now": "Синхронізувати зараз",
"Hide password": "Сховати пароль",
"Show password": "Показати пароль",
"Root Directory": "Кореневий каталог",
"Syncing…": "Синхронізація…",
"pulled progress for {{n}} book(s)": "отримано прогрес для {{n}} книг",
"Sync History": "Історія синхронізації",
"Clear Sync History": "Очистити історію синхронізації",
"No manual syncs yet": "Ручних синхронізацій поки немає",
"Partial": "Частково",
"Cleanup": "Очищення",
"Cleanup failed": "Очищення не вдалося",
"Sync failed": "Синхронізація не вдалася",
"{{n}} deleted": "{{n}} видалено",
"{{n}} failed": "{{n}} з помилкою",
"Nothing deleted": "Нічого не видалено",
"{{n}} downloaded": "{{n}} завантажено",
"{{n}} uploaded": "{{n}} вивантажено",
"{{n}} progress": "{{n}} прогрес",
"Up to date": "Актуально",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "Завантажені книги",
"Files uploaded": "Вивантажені файли",
"Configs uploaded": "Вивантажені конфігурації",
"Configs downloaded": "Завантажені конфігурації",
"Covers uploaded": "Вивантажені обкладинки",
"Books deleted": "Видалені книги",
"Files in sync": "Синхронізовані файли",
"Failures": "Помилки",
"Total books": "Усього книг",
"Error:": "Помилка:",
"Failed books": "Книги з помилкою",
"Deleted {{n}} book(s) from server.": "Видалено {{n}} книг із сервера.",
"Failed to load directory": "Не вдалося завантажити теку",
"File download is only supported on the desktop and mobile apps.": "Завантаження файлів підтримується лише в настільному та мобільному застосунках.",
"Downloaded \"{{title}}\" to your library.": "\"{{title}}\" завантажено до вашої бібліотеки.",
"Failed to download \"{{name}}\": {{error}}": "Не вдалося завантажити \"{{name}}\": {{error}}",
"Up": "Вгору",
"Cleanup · {{count}} book(s)_one": "Очищення · {{count}} книга",
"Cleanup · {{count}} book(s)_few": "Очищення · {{count}} книги",
"Cleanup · {{count}} book(s)_many": "Очищення · {{count}} книг",
"Cleanup · {{count}} book(s)_other": "Очищення · {{count}} книг",
"Exit cleanup": "Вийти з очищення",
"Refresh": "Оновити",
"All clear · no books": "Усе чисто · книг немає",
"Empty directory": "Порожня тека",
"Deleted locally · still on server": "Видалено локально · ще на сервері",
"Select": "Вибрати",
"Already downloaded in this session": "Уже завантажено в цьому сеансі",
"Downloading…": "Завантаження…",
"Download to library": "Завантажити до бібліотеки",
"Deselect all": "Зняти все",
"Select all": "Вибрати все",
"{{n}} selected": "{{n}} вибрано",
"Delete from server": "Видалити з сервера",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "Видалено {{ok}} із {{total}} книг із сервера; {{n}} з помилкою (перша: \"{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "Не вдалося видалити жодну з {{n}} книг із сервера (перша: \"{{first}}\").",
"Syncing {{n}} / {{total}}": "Синхронізація {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "Встановіть розширення браузера Readest, щоб надсилати статтю, яку ви читаєте, до бібліотеки. Розширення вирізає сторінку з вашого браузера, тому платні та логін-only сайти також працюють.",
"Added to your library. It will sync to your other devices.": "Додано до вашої бібліотеки. Синхронізується з іншими пристроями.",
"Sync passphrase forgotten. All encrypted fields cleared.": "Парольну фразу синхронізації забуто. Усі зашифровані поля очищено.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "Лише ручні синхронізації та очищення. Автоматичні синхронізації під час читання тут не записуються.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "Видалити {{n}} книг із сервера WebDAV?\n\nЦе видалить лише віддалені файли; ваша локальна бібліотека не зміниться. Видалення неможливо скасувати. Дані на сервері зникнуть назавжди.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "Впливає лише на вивантаження файлів книг. Прогрес читання й завантаження завжди синхронізуються.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "Неправильна парольна фраза синхронізації. Не вдалося розшифрувати синхронізовані облікові дані.",
"Email books straight to your library": "Надсилайте книги електронною поштою прямо в бібліотеку",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "Пересилайте вкладення та статті на свою приватну адресу Readest. Доступно в планах Plus, Pro і Lifetime.",
"View plans": "Переглянути плани",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "Ви все ще можете безкоштовно вирізати статті за допомогою кнопки «Надіслати» в застосунку, мобільного меню «Поділитися» або розширення браузера.",
"...": "…",
"Server URL is required": "Потрібен URL сервера",
"Authentication failed": "Не вдалося пройти автентифікацію",
"Root directory not found": "Кореневий каталог не знайдено",
"Unexpected server response (status {{status}})": "Несподівана відповідь сервера (статус {{status}})",
"Network error": "Помилка мережі",
"Remote resource not found": "Віддалений ресурс не знайдено",
"Sync failed (status {{status}})": "Синхронізація не вдалася (статус {{status}})",
"Sync failed.": "Синхронізація не вдалася."
}
@@ -556,6 +556,10 @@
"{{number}} pages left in chapter": "Bobda {{number}} sahifa qoldi",
"{{count}} pages left in chapter_one": "<0>{{count}}</0><1> sahifa bobda qoldi</1>",
"{{count}} pages left in chapter_other": "<0>{{count}}</0><1> sahifa bobda qoldi</1>",
"{{time}} min left in book": "Kitobgacha {{time}} daqiqa qoldi",
"{{number}} pages left in book": "Kitobda {{number}} sahifa qoldi",
"{{count}} pages left in book_one": "<0>{{count}}</0><1> sahifa kitobda qoldi</1>",
"{{count}} pages left in book_other": "<0>{{count}}</0><1> sahifa kitobda qoldi</1>",
"On {{current}} of {{total}} page": "{{total}} sahifadan {{current}} da",
"Selection": "Tanlov",
"Book": "Kitob",
@@ -1323,7 +1327,6 @@
"Disable PIN…": "PIN'ni o'chirish…",
"Sync passphrase ready": "Sinxronlash parol iborasi tayyor",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "Bu har bir qurilmada biz sinxronlaydigan shifrlangan hisob malumotlarini (masalan, OPDS katalogi parollarini) butunlay ochiradi. Mahalliy nusxalar saqlanadi. Sinxronlash parol iborasini qaytadan kiritishingiz yoki yangisini ornatishingiz kerak boladi. Davom etilsinmi?",
"Sync passphrase forgotten — all encrypted fields cleared": "Sinxronlash parol iborasi unutildi — barcha shifrlangan maydonlar tozalandi",
"Sync passphrase": "Sinxronlash parol iborasi",
"Set passphrase": "Parol iborasini ornatish",
"Forgot passphrase": "Parol iborasini unutdingizmi",
@@ -1368,7 +1371,6 @@
"Choose what syncs across your devices. Disabling a category stops this device from sending or receiving rows of that kind. Anything already on the server is left alone, re-enabling resumes from where you stopped.": "Qurilmalaringiz oʻrtasida nimani sinxronlashni tanlang. Toifani oʻchirib qoʻyish bu qurilmaning shu turdagi maʼlumotlarni yuborish yoki qabul qilishini toʻxtatadi. Serverdagi mavjud maʼlumotlar oʻzgarmaydi; qaytadan yoqilganda toʻxtagan joydan davom etadi.",
"Required while Dictionaries sync is enabled": "Lugʻatlar sinxronlashi yoqilgan ekan, talab qilinadi",
"Manage Fonts": "Shriftlarni boshqarish",
"Wrong sync passphrase — synced credentials could not be decrypted": "Sinxronlash paroli notoʻgʻri — sinxronlangan hisob maʼlumotlari shifrini ochib boʻlmadi",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "Serverdagi sinxronlash paroli maʼlumotlari tiklandi. Hisob maʼlumotlaringiz yangi parol bilan qayta shifrlanmoqda…",
"Failed to decrypt synced credentials": "Sinxronlangan hisob maʼlumotlari shifrini ochib boʻlmadi",
"Resets in {{hours}} hr {{minutes}} min": "{{hours}} soat {{minutes}} daqiqada tiklanadi",
@@ -1462,7 +1464,6 @@
"Drop a book or document, or tap to choose": "Kitob yoki hujjatni tashlang yoki tanlash uchun bosing",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "Maqola URL manzilini joylashtiring",
"Added to your library — it will sync to your other devices.": "Kutubxonangizga qoʻshildi — u boshqa qurilmalaringizga sinxronlanadi.",
"Working…": "Bajarilmoqda…",
"Could not load Send to Readest settings": "Readestga yuborish sozlamalarini yuklab boʻlmadi",
"Address copied": "Manzil nusxalandi",
@@ -1511,7 +1512,6 @@
"OK": "OK",
"No matching books found in the selected folder.": "Tanlangan papkada mos keladigan kitoblar topilmadi.",
"Send a web article": "Veb-maqola yuborish",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "Oqiyotgan maqolangizni kutubxonangizga jonatish uchun Readest brauzer kengaytmasini ornating — u sahifani brauzeringizdan qirqib oladi, shu sababli pul tolov tosigi va faqat hisob bilan kirish talab qilinadigan saytlar ham ishlaydi.",
"Enter a URL starting with http:// or https://": "http:// yoki https:// bilan boshlanadigan URL kiriting",
"Import": "Import qilish",
"Import from Web URL": "Veb URLdan import qilish",
@@ -1524,5 +1524,95 @@
"Saved to Readest": "Readest'ga saqlandi",
"Apply to every occurrence in the book": "Kitobdagi har bir hodisaga qoʻllang",
"Saving article from share…": "Ulashilgan maqola saqlanmoqda…",
"Saved “{{title}}” to your library.": "\"{{title}}\" kutubxonangizga saqlandi."
"Saved “{{title}}” to your library.": "\"{{title}}\" kutubxonangizga saqlandi.",
"WebDAV authentication failed. Reconnect in Settings.": "WebDAV autentifikatsiyasi muvaffaqiyatsiz. Sozlamalardan qayta ulanish.",
"Downloading": "Yuklab olinmoqda",
"Uploading": "Yuklanmoqda",
"downloaded {{n}} book(s)": "{{n}} ta kitob yuklab olindi",
"pushed {{n}} config(s)": "{{n}} ta konfiguratsiya yuborildi",
"uploaded {{n}} new file(s)": "{{n}} ta yangi fayl yuklandi",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "Sinxronlash {{failed}} ta xato bilan tugadi. {{ok}} ta muvaffaqiyatli.",
"Sync complete": "Sinxronlash tugadi",
"Everything is already up to date.": "Hammasi allaqachon yangilangan.",
"Browsing {{path}} on {{server}}": "{{server}} dagi {{path}} ko'rib chiqilmoqda",
"Connect to a WebDAV server to browse your remote files.": "Masofaviy fayllaringizni ko'rish uchun WebDAV serveriga ulanish.",
"WebDAV": "WebDAV",
"Upload Book Files": "Kitob fayllarini yuklash",
"Sync now": "Hozir sinxronlash",
"Hide password": "Parolni yashirish",
"Show password": "Parolni ko'rsatish",
"Root Directory": "Asosiy katalog",
"Syncing…": "Sinxronlanmoqda…",
"pulled progress for {{n}} book(s)": "{{n}} ta kitob jarayoni olindi",
"Sync History": "Sinxronlash tarixi",
"Clear Sync History": "Sinxronlash tarixini tozalash",
"No manual syncs yet": "Hali qo'lda sinxronlashlar yo'q",
"Partial": "Qisman",
"Cleanup": "Tozalash",
"Cleanup failed": "Tozalash muvaffaqiyatsiz",
"Sync failed": "Sinxronlash muvaffaqiyatsiz",
"{{n}} deleted": "{{n}} ta o'chirildi",
"{{n}} failed": "{{n}} ta xato",
"Nothing deleted": "Hech narsa o'chirilmadi",
"{{n}} downloaded": "{{n}} ta yuklab olindi",
"{{n}} uploaded": "{{n}} ta yuklandi",
"{{n}} progress": "{{n}} ta jarayon",
"Up to date": "Yangilangan",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "Yuklab olingan kitoblar",
"Files uploaded": "Yuklangan fayllar",
"Configs uploaded": "Yuklangan konfiguratsiyalar",
"Configs downloaded": "Yuklab olingan konfiguratsiyalar",
"Covers uploaded": "Yuklangan muqovalar",
"Books deleted": "O'chirilgan kitoblar",
"Files in sync": "Sinxronlangan fayllar",
"Failures": "Xatolar",
"Total books": "Jami kitoblar",
"Error:": "Xato:",
"Failed books": "Xatolik kitoblar",
"Deleted {{n}} book(s) from server.": "Serverdan {{n}} ta kitob o'chirildi.",
"Failed to load directory": "Katalogni yuklab bo'lmadi",
"File download is only supported on the desktop and mobile apps.": "Fayllarni yuklab olish faqat ish stoli va mobil ilovalarda qo'llab-quvvatlanadi.",
"Downloaded \"{{title}}\" to your library.": "\"{{title}}\" kutubxonangizga yuklab olindi.",
"Failed to download \"{{name}}\": {{error}}": "\"{{name}}\"ni yuklab olib bo'lmadi: {{error}}",
"Up": "Yuqoriga",
"Cleanup · {{count}} book(s)_one": "Tozalash · {{count}} ta kitob",
"Cleanup · {{count}} book(s)_other": "Tozalash · {{count}} ta kitob",
"Exit cleanup": "Tozalashdan chiqish",
"Refresh": "Yangilash",
"All clear · no books": "Hammasi tozalandi · kitoblar yo'q",
"Empty directory": "Bo'sh katalog",
"Deleted locally · still on server": "Mahalliy o'chirildi · serverda hali bor",
"Select": "Tanlash",
"Already downloaded in this session": "Bu seansda allaqachon yuklab olingan",
"Downloading…": "Yuklab olinmoqda…",
"Download to library": "Kutubxonaga yuklab olish",
"Deselect all": "Hammasini bekor qilish",
"Select all": "Hammasini tanlash",
"{{n}} selected": "{{n}} ta tanlangan",
"Delete from server": "Serverdan o'chirish",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "Serverdan {{total}} ta kitobdan {{ok}} ta o'chirildi; {{n}} ta xato (birinchi: \"{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "Serverdagi {{n}} ta kitobdan birortasini ham o'chirib bo'lmadi (birinchi: \"{{first}}\").",
"Syncing {{n}} / {{total}}": "Sinxronlanmoqda {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "O'qiyotgan maqolangizni kutubxonangizga yuborish uchun Readest brauzer kengaytmasini o'rnating. Kengaytma sahifani brauzeringizdan kesib oladi, shu sababli pulli va kirish talab qiladigan saytlar ham ishlaydi.",
"Added to your library. It will sync to your other devices.": "Kutubxonangizga qo'shildi. Boshqa qurilmalaringizga sinxronlanadi.",
"Sync passphrase forgotten. All encrypted fields cleared.": "Sinxronlash parol iborasi unutildi. Barcha shifrlangan maydonlar tozalandi.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "Faqat qo'lda sinxronlashlar va tozalashlar. O'qish paytidagi avtomatik sinxronlashlar bu yerda qayd etilmaydi.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "WebDAV serveridan {{n}} ta kitob o'chirilsinmi?\n\nBu faqat masofaviy fayllarni o'chiradi; mahalliy kutubxonangiz ta'sirlanmaydi. O'chirishni bekor qilib bo'lmaydi. Serverdagi ma'lumotlar mangulikka yo'qoladi.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "Faqat kitob fayllarini yuklashga ta'sir qiladi. O'qish jarayoni va yuklab olishlar har doim sinxronlanadi.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "Noto'g'ri sinxronlash parol iborasi. Sinxronlangan hisob ma'lumotlarini parolini ochib bo'lmadi.",
"Email books straight to your library": "Kitoblarni elektron pochta orqali to'g'ridan-to'g'ri kutubxonangizga yuboring",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "Ilovalar va maqolalarni shaxsiy Readest manzilingizga yuboring. Plus, Pro va Lifetime tariflarida mavjud.",
"View plans": "Tariflarni ko'rish",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "Maqolalarni hali ham ilovadagi Yuborish tugmasi, mobil Ulashish menyusi yoki brauzer kengaytmasi orqali bepul kesib olishingiz mumkin.",
"...": "…",
"Server URL is required": "Server URL talab qilinadi",
"Authentication failed": "Autentifikatsiya muvaffaqiyatsiz",
"Root directory not found": "Asosiy katalog topilmadi",
"Unexpected server response (status {{status}})": "Kutilmagan server javobi (holat {{status}})",
"Network error": "Tarmoq xatosi",
"Remote resource not found": "Masofaviy resurs topilmadi",
"Sync failed (status {{status}})": "Sinxronlash muvaffaqiyatsiz (holat {{status}})",
"Sync failed.": "Sinxronlash muvaffaqiyatsiz."
}
@@ -585,6 +585,9 @@
"Cover": "Bìa",
"Contain": "Chứa",
"{{number}} pages left in chapter": "<1>Còn </1><0>{{number}}</0><1> trang trong chương</1>",
"{{time}} min left in book": "{{time}} phút còn lại trong sách",
"{{count}} pages left in book_other": "<1>Còn </1><0>{{count}}</0><1> trang trong sách</1>",
"{{number}} pages left in book": "<1>Còn </1><0>{{number}}</0><1> trang trong sách</1>",
"Device": "Thiết bị",
"E-Ink Mode": "Chế độ E-Ink",
"Highlight Colors": "Màu nổi bật",
@@ -1299,7 +1302,6 @@
"Disable PIN…": "Tắt mã PIN…",
"Sync passphrase ready": "Cụm mật khẩu đồng bộ đã sẵn sàng",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "Điều này sẽ xóa vĩnh viễn các thông tin đăng nhập đã mã hóa mà chúng tôi đồng bộ (ví dụ: mật khẩu danh mục OPDS) trên mọi thiết bị. Các bản sao cục bộ được giữ lại. Bạn sẽ cần nhập lại cụm mật khẩu đồng bộ hoặc đặt cụm mới. Tiếp tục?",
"Sync passphrase forgotten — all encrypted fields cleared": "Đã quên cụm mật khẩu đồng bộ — tất cả các trường đã mã hóa đã được xóa",
"Sync passphrase": "Cụm mật khẩu đồng bộ",
"Set passphrase": "Đặt cụm mật khẩu",
"Forgot passphrase": "Quên cụm mật khẩu",
@@ -1337,7 +1339,6 @@
"Custom background textures": "Họa tiết nền tuỳ chỉnh",
"OPDS catalogs": "Danh mục OPDS",
"Saved catalog URLs and (encrypted) credentials": "URL danh mục đã lưu và thông tin đăng nhập (đã mã hoá)",
"Wrong sync passphrase — synced credentials could not be decrypted": "Cụm mật khẩu đồng bộ không đúng — không thể giải mã thông tin đăng nhập đã đồng bộ",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "Dữ liệu cụm mật khẩu đồng bộ trên máy chủ đã được đặt lại. Đang mã hoá lại thông tin đăng nhập của bạn bằng cụm mật khẩu mới…",
"Failed to decrypt synced credentials": "Không thể giải mã thông tin đăng nhập đã đồng bộ",
"Imported dictionary bundles and settings": "Gói từ điển đã nhập và cài đặt",
@@ -1434,7 +1435,6 @@
"Drop a book or document, or tap to choose": "Thả một cuốn sách hoặc tài liệu, hoặc chạm để chọn",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "Dán URL bài viết",
"Added to your library — it will sync to your other devices.": "Đã thêm vào thư viện của bạn — nó sẽ đồng bộ đến các thiết bị khác của bạn.",
"Working…": "Đang xử lý…",
"Could not load Send to Readest settings": "Không thể tải cài đặt Gửi đến Readest",
"Address copied": "Đã sao chép địa chỉ",
@@ -1483,7 +1483,6 @@
"OK": "OK",
"No matching books found in the selected folder.": "Không tìm thấy sách khớp trong thư mục đã chọn.",
"Send a web article": "Gửi một bài viết web",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "Cài tiện ích trình duyệt Readest để gửi bài viết bạn đang đọc vào thư viện — nó cắt trang từ trình duyệt của bạn nên các trang trả phí và yêu cầu đăng nhập cũng hoạt động.",
"Enter a URL starting with http:// or https://": "Nhập URL bắt đầu bằng http:// hoặc https://",
"Import": "Nhập",
"Import from Web URL": "Nhập từ URL web",
@@ -1496,5 +1495,94 @@
"Saved to Readest": "Đã lưu vào Readest",
"Apply to every occurrence in the book": "Áp dụng cho mọi lần xuất hiện trong sách",
"Saving article from share…": "Đang lưu bài viết được chia sẻ…",
"Saved “{{title}}” to your library.": "Đã lưu \"{{title}}\" vào thư viện của bạn."
"Saved “{{title}}” to your library.": "Đã lưu \"{{title}}\" vào thư viện của bạn.",
"WebDAV authentication failed. Reconnect in Settings.": "Xác thực WebDAV thất bại. Kết nối lại trong Cài đặt.",
"Downloading": "Đang tải",
"Uploading": "Đang tải lên",
"downloaded {{n}} book(s)": "đã tải {{n}} sách",
"pushed {{n}} config(s)": "đã đẩy {{n}} cấu hình",
"uploaded {{n}} new file(s)": "đã tải lên {{n}} tệp mới",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "Đồng bộ kết thúc với {{failed}} lỗi. {{ok}} thành công.",
"Sync complete": "Đồng bộ hoàn tất",
"Everything is already up to date.": "Mọi thứ đã được cập nhật.",
"Browsing {{path}} on {{server}}": "Đang duyệt {{path}} trên {{server}}",
"Connect to a WebDAV server to browse your remote files.": "Kết nối với máy chủ WebDAV để duyệt các tệp từ xa của bạn.",
"WebDAV": "WebDAV",
"Upload Book Files": "Tải lên tệp sách",
"Sync now": "Đồng bộ ngay",
"Hide password": "Ẩn mật khẩu",
"Show password": "Hiện mật khẩu",
"Root Directory": "Thư mục gốc",
"Syncing…": "Đang đồng bộ…",
"pulled progress for {{n}} book(s)": "đã tải tiến độ cho {{n}} sách",
"Sync History": "Lịch sử đồng bộ",
"Clear Sync History": "Xóa lịch sử đồng bộ",
"No manual syncs yet": "Chưa có lần đồng bộ thủ công nào",
"Partial": "Một phần",
"Cleanup": "Dọn dẹp",
"Cleanup failed": "Dọn dẹp thất bại",
"Sync failed": "Đồng bộ thất bại",
"{{n}} deleted": "{{n}} đã xóa",
"{{n}} failed": "{{n}} lỗi",
"Nothing deleted": "Không xóa gì",
"{{n}} downloaded": "{{n}} đã tải",
"{{n}} uploaded": "{{n}} đã tải lên",
"{{n}} progress": "{{n}} tiến độ",
"Up to date": "Đã cập nhật",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "Sách đã tải",
"Files uploaded": "Tệp đã tải lên",
"Configs uploaded": "Cấu hình đã tải lên",
"Configs downloaded": "Cấu hình đã tải",
"Covers uploaded": "Bìa đã tải lên",
"Books deleted": "Sách đã xóa",
"Files in sync": "Tệp đồng bộ",
"Failures": "Lỗi",
"Total books": "Tổng số sách",
"Error:": "Lỗi:",
"Failed books": "Sách lỗi",
"Deleted {{n}} book(s) from server.": "Đã xóa {{n}} sách khỏi máy chủ.",
"Failed to load directory": "Không thể tải thư mục",
"File download is only supported on the desktop and mobile apps.": "Tải xuống tệp chỉ được hỗ trợ trên các ứng dụng máy tính và di động.",
"Downloaded \"{{title}}\" to your library.": "Đã tải \"{{title}}\" về thư viện của bạn.",
"Failed to download \"{{name}}\": {{error}}": "Không thể tải \"{{name}}\": {{error}}",
"Up": "Lên",
"Cleanup · {{count}} book(s)_other": "Dọn dẹp · {{count}} sách",
"Exit cleanup": "Thoát dọn dẹp",
"Refresh": "Làm mới",
"All clear · no books": "Đã sạch · không có sách",
"Empty directory": "Thư mục trống",
"Deleted locally · still on server": "Đã xóa cục bộ · vẫn còn trên máy chủ",
"Select": "Chọn",
"Already downloaded in this session": "Đã tải về trong phiên này",
"Downloading…": "Đang tải xuống…",
"Download to library": "Tải về thư viện",
"Deselect all": "Bỏ chọn tất cả",
"Select all": "Chọn tất cả",
"{{n}} selected": "Đã chọn {{n}}",
"Delete from server": "Xóa khỏi máy chủ",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "Đã xóa {{ok}} trong số {{total}} sách khỏi máy chủ; {{n}} lỗi (đầu tiên: \"{{first}}\").",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "Không thể xóa bất kỳ sách nào trong {{n}} sách khỏi máy chủ (đầu tiên: \"{{first}}\").",
"Syncing {{n}} / {{total}}": "Đang đồng bộ {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "Cài tiện ích trình duyệt Readest để gửi bài viết bạn đang đọc vào thư viện. Tiện ích cắt trang từ trình duyệt nên các trang trả phí hoặc yêu cầu đăng nhập vẫn hoạt động.",
"Added to your library. It will sync to your other devices.": "Đã thêm vào thư viện của bạn. Sẽ đồng bộ sang các thiết bị khác.",
"Sync passphrase forgotten. All encrypted fields cleared.": "Đã quên cụm mật khẩu đồng bộ. Tất cả các trường được mã hóa đã bị xóa.",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "Chỉ đồng bộ thủ công và dọn dẹp. Các lần đồng bộ tự động khi đọc không được ghi tại đây.",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "Xóa {{n}} sách khỏi máy chủ WebDAV?\n\nThao tác này chỉ xóa các tệp từ xa; thư viện cục bộ của bạn không bị ảnh hưởng. Không thể hoàn tác. Dữ liệu trên máy chủ sẽ mất vĩnh viễn.",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "Chỉ ảnh hưởng đến việc tải lên tệp sách. Tiến độ đọc và tải xuống luôn được đồng bộ.",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "Cụm mật khẩu đồng bộ không đúng. Không thể giải mã thông tin xác thực đã đồng bộ.",
"Email books straight to your library": "Gửi sách qua email thẳng đến thư viện của bạn",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "Chuyển tiếp tệp đính kèm và bài viết đến địa chỉ Readest riêng của bạn. Có sẵn trong các gói Plus, Pro và Lifetime.",
"View plans": "Xem các gói",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "Bạn vẫn có thể cắt bài viết miễn phí bằng nút Gửi trong ứng dụng, menu Chia sẻ trên di động hoặc tiện ích trình duyệt.",
"...": "…",
"Server URL is required": "Cần URL máy chủ",
"Authentication failed": "Xác thực thất bại",
"Root directory not found": "Không tìm thấy thư mục gốc",
"Unexpected server response (status {{status}})": "Phản hồi máy chủ không mong đợi (trạng thái {{status}})",
"Network error": "Lỗi mạng",
"Remote resource not found": "Không tìm thấy tài nguyên từ xa",
"Sync failed (status {{status}})": "Đồng bộ thất bại (trạng thái {{status}})",
"Sync failed.": "Đồng bộ thất bại."
}
@@ -586,6 +586,9 @@
"Cover": "覆盖",
"Contain": "适应",
"{{number}} pages left in chapter": "<1>本章剩余</1><0>{{number}}</0><1>页</1>",
"{{time}} min left in book": "本书剩余 {{time}} 分钟",
"{{count}} pages left in book_other": "<1>本书剩余 </1><0>{{count}}</0><1> 页</1>",
"{{number}} pages left in book": "<1>本书剩余</1><0>{{number}}</0><1>页</1>",
"Device": "设备",
"E-Ink Mode": "E-Ink 模式",
"Highlight Colors": "高亮颜色",
@@ -1299,7 +1302,6 @@
"Disable PIN…": "停用 PIN 码…",
"Sync passphrase ready": "同步密语已就绪",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "这将在每台设备上永久删除我们同步的加密凭据(例如 OPDS 目录密码)。本地副本会保留。您需要重新输入同步密语或设置新的密语。是否继续?",
"Sync passphrase forgotten — all encrypted fields cleared": "已忘记同步密语 — 所有加密字段已清除",
"Sync passphrase": "同步密语",
"Set passphrase": "设置密语",
"Forgot passphrase": "忘记密语",
@@ -1337,7 +1339,6 @@
"Custom background textures": "自定义背景纹理",
"OPDS catalogs": "OPDS 目录",
"Saved catalog URLs and (encrypted) credentials": "已保存的目录链接和(加密的)凭据",
"Wrong sync passphrase — synced credentials could not be decrypted": "同步密码错误——无法解密已同步的凭据",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "服务器上的同步密码数据已被重置。正在使用新密码重新加密你的凭据……",
"Failed to decrypt synced credentials": "无法解密已同步的凭据",
"Imported dictionary bundles and settings": "导入的词典包和设置",
@@ -1434,7 +1435,6 @@
"Drop a book or document, or tap to choose": "拖入一本书或文档,或点按选择",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "粘贴文章网址",
"Added to your library — it will sync to your other devices.": "已添加到您的库 — 它将同步到您的其他设备。",
"Working…": "处理中…",
"Could not load Send to Readest settings": "无法加载“发送到 Readest”设置",
"Address copied": "地址已复制",
@@ -1483,7 +1483,6 @@
"OK": "确定",
"No matching books found in the selected folder.": "在所选文件夹中未找到匹配的书籍。",
"Send a web article": "发送网页文章",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "安装 Readest 浏览器扩展,把你正在阅读的文章发送到你的书库——它直接在你的浏览器中剪辑页面,因此付费墙和需要登录的网站也能正常使用。",
"Enter a URL starting with http:// or https://": "请输入以 http:// 或 https:// 开头的网址",
"Import": "导入",
"Import from Web URL": "从网页 URL 导入",
@@ -1496,5 +1495,94 @@
"Saved to Readest": "已保存到 Readest",
"Apply to every occurrence in the book": "应用到本书中所有匹配位置",
"Saving article from share…": "正在保存分享的文章…",
"Saved “{{title}}” to your library.": "已将\"{{title}}\"保存到你的书库。"
"Saved “{{title}}” to your library.": "已将\"{{title}}\"保存到你的书库。",
"WebDAV authentication failed. Reconnect in Settings.": "WebDAV 认证失败。请在设置中重新连接。",
"Downloading": "正在下载",
"Uploading": "正在上传",
"downloaded {{n}} book(s)": "已下载 {{n}} 本书",
"pushed {{n}} config(s)": "已推送 {{n}} 项配置",
"uploaded {{n}} new file(s)": "已上传 {{n}} 个新文件",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "同步完成,{{failed}} 项失败,{{ok}} 项成功。",
"Sync complete": "同步完成",
"Everything is already up to date.": "一切均已是最新。",
"Browsing {{path}} on {{server}}": "正在浏览 {{server}} 上的 {{path}}",
"Connect to a WebDAV server to browse your remote files.": "连接到 WebDAV 服务器以浏览您的远程文件。",
"WebDAV": "WebDAV",
"Upload Book Files": "上传书籍文件",
"Sync now": "立即同步",
"Hide password": "隐藏密码",
"Show password": "显示密码",
"Root Directory": "根目录",
"Syncing…": "正在同步…",
"pulled progress for {{n}} book(s)": "已拉取 {{n}} 本书的进度",
"Sync History": "同步历史",
"Clear Sync History": "清除同步历史",
"No manual syncs yet": "暂无手动同步记录",
"Partial": "部分",
"Cleanup": "清理",
"Cleanup failed": "清理失败",
"Sync failed": "同步失败",
"{{n}} deleted": "已删除 {{n}}",
"{{n}} failed": "{{n}} 失败",
"Nothing deleted": "未删除任何项",
"{{n}} downloaded": "已下载 {{n}}",
"{{n}} uploaded": "已上传 {{n}}",
"{{n}} progress": "{{n}} 进度",
"Up to date": "已是最新",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "已下载书籍",
"Files uploaded": "已上传文件",
"Configs uploaded": "已上传配置",
"Configs downloaded": "已下载配置",
"Covers uploaded": "已上传封面",
"Books deleted": "已删除书籍",
"Files in sync": "已同步文件",
"Failures": "失败项",
"Total books": "书籍总数",
"Error:": "错误:",
"Failed books": "失败的书籍",
"Deleted {{n}} book(s) from server.": "已从服务器删除 {{n}} 本书。",
"Failed to load directory": "加载目录失败",
"File download is only supported on the desktop and mobile apps.": "文件下载仅在桌面端和移动端应用中支持。",
"Downloaded \"{{title}}\" to your library.": "已将\"{{title}}\"下载到您的书库。",
"Failed to download \"{{name}}\": {{error}}": "下载\"{{name}}\"失败:{{error}}",
"Up": "上一级",
"Cleanup · {{count}} book(s)_other": "清理 · {{count}} 本书",
"Exit cleanup": "退出清理",
"Refresh": "刷新",
"All clear · no books": "已清空 · 无书籍",
"Empty directory": "空目录",
"Deleted locally · still on server": "本地已删除 · 服务器仍存在",
"Select": "选择",
"Already downloaded in this session": "本次会话已下载",
"Downloading…": "正在下载…",
"Download to library": "下载到书库",
"Deselect all": "取消全选",
"Select all": "全选",
"{{n}} selected": "已选择 {{n}}",
"Delete from server": "从服务器删除",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "已从服务器删除 {{total}} 本中的 {{ok}} 本;{{n}} 本失败(首本:\"{{first}}\")。",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "无法从服务器删除任何 {{n}} 本书(首本:\"{{first}}\")。",
"Syncing {{n}} / {{total}}": "正在同步 {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "安装 Readest 浏览器扩展,将正在阅读的文章发送到您的书库。扩展从浏览器抓取页面,因此付费墙和需要登录的网站也可用。",
"Added to your library. It will sync to your other devices.": "已添加到您的书库。将同步到您的其他设备。",
"Sync passphrase forgotten. All encrypted fields cleared.": "已忘记同步密码短语。所有加密字段已清空。",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "仅显示手动同步与清理。阅读时的自动同步不在此记录。",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "从 WebDAV 服务器删除 {{n}} 本书?\n\n这只会移除远程文件;您的本地书库不受影响。删除无法撤销。服务器上的数据将永久消失。",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "仅影响书籍文件的上传。阅读进度和下载始终同步。",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "同步密码短语错误。无法解密已同步的凭据。",
"Email books straight to your library": "通过电子邮件直接将书籍发送到您的书库",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "将附件和文章转发到您的专属 Readest 地址。Plus、Pro 和 Lifetime 套餐可用。",
"View plans": "查看套餐",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "您仍可通过应用内的\"发送\"按钮、移动端的分享菜单或浏览器扩展免费剪藏文章。",
"...": "…",
"Server URL is required": "需要服务器 URL",
"Authentication failed": "认证失败",
"Root directory not found": "未找到根目录",
"Unexpected server response (status {{status}})": "意外的服务器响应(状态 {{status}}",
"Network error": "网络错误",
"Remote resource not found": "未找到远程资源",
"Sync failed (status {{status}})": "同步失败(状态 {{status}}",
"Sync failed.": "同步失败。"
}
@@ -585,6 +585,9 @@
"Cover": "覆蓋",
"Contain": "適應",
"{{number}} pages left in chapter": "<1>本章剩餘</1><0>{{number}}</0><1>頁</1>",
"{{time}} min left in book": "本書剩餘 {{time}} 分鐘",
"{{count}} pages left in book_other": "<1>本書剩餘 </1><0>{{count}}</0><1> 頁</1>",
"{{number}} pages left in book": "<1>本書剩餘</1><0>{{number}}</0><1>頁</1>",
"Device": "設備",
"E-Ink Mode": "E-Ink 模式",
"Highlight Colors": "高亮顏色",
@@ -1299,7 +1302,6 @@
"Disable PIN…": "停用 PIN 碼…",
"Sync passphrase ready": "同步密語已就緒",
"This permanently deletes the encrypted credentials we sync (e.g., OPDS catalog passwords) on every device. Local copies are preserved. You will need to re-enter the sync passphrase or set a new one. Continue?": "這將在每台裝置上永久刪除我們同步的加密憑證(例如 OPDS 目錄密碼)。本機副本會保留。您需要重新輸入同步密語或設定新的密語。是否繼續?",
"Sync passphrase forgotten — all encrypted fields cleared": "已忘記同步密語 — 所有加密欄位已清除",
"Sync passphrase": "同步密語",
"Set passphrase": "設定密語",
"Forgot passphrase": "忘記密語",
@@ -1337,7 +1339,6 @@
"Custom background textures": "自訂背景紋理",
"OPDS catalogs": "OPDS 目錄",
"Saved catalog URLs and (encrypted) credentials": "已儲存的目錄網址與(已加密的)認證資訊",
"Wrong sync passphrase — synced credentials could not be decrypted": "同步密碼錯誤——無法解密已同步的認證資訊",
"Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…": "伺服器上的同步密碼資料已重設。正在以新密碼重新加密你的認證資訊……",
"Failed to decrypt synced credentials": "無法解密已同步的認證資訊",
"Imported dictionary bundles and settings": "已匯入的字典包與設定",
@@ -1434,7 +1435,6 @@
"Drop a book or document, or tap to choose": "拖入一本書或文件,或點按選擇",
"EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML": "EPUB, PDF, MOBI, AZW3, FB2, CBZ, TXT, DOCX, RTF, HTML",
"Paste an article URL": "貼上文章網址",
"Added to your library — it will sync to your other devices.": "已新增到您的書庫 — 它將同步到您的其他裝置。",
"Working…": "處理中…",
"Could not load Send to Readest settings": "無法載入「傳送到 Readest」設定",
"Address copied": "位址已複製",
@@ -1483,7 +1483,6 @@
"OK": "確定",
"No matching books found in the selected folder.": "在所選資料夾中找不到相符的書籍。",
"Send a web article": "傳送網頁文章",
"Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.": "安裝 Readest 瀏覽器擴充功能,把你正在閱讀的文章傳送到你的書庫——它直接在你的瀏覽器中剪輯頁面,因此付費牆和需要登入的網站也能正常使用。",
"Enter a URL starting with http:// or https://": "請輸入以 http:// 或 https:// 開頭的網址",
"Import": "匯入",
"Import from Web URL": "從網頁 URL 匯入",
@@ -1496,5 +1495,94 @@
"Saved to Readest": "已儲存到 Readest",
"Apply to every occurrence in the book": "套用至本書中所有出現的位置",
"Saving article from share…": "正在儲存分享的文章…",
"Saved “{{title}}” to your library.": "已將「{{title}}」儲存至您的書庫。"
"Saved “{{title}}” to your library.": "已將「{{title}}」儲存至您的書庫。",
"WebDAV authentication failed. Reconnect in Settings.": "WebDAV 驗證失敗。請在設定中重新連線。",
"Downloading": "正在下載",
"Uploading": "正在上傳",
"downloaded {{n}} book(s)": "已下載 {{n}} 本書",
"pushed {{n}} config(s)": "已推送 {{n}} 項設定",
"uploaded {{n}} new file(s)": "已上傳 {{n}} 個新檔案",
"Sync finished with {{failed}} failure(s). {{ok}} ok.": "同步完成,{{failed}} 項失敗,{{ok}} 項成功。",
"Sync complete": "同步完成",
"Everything is already up to date.": "一切均已是最新。",
"Browsing {{path}} on {{server}}": "正在瀏覽 {{server}} 上的 {{path}}",
"Connect to a WebDAV server to browse your remote files.": "連線到 WebDAV 伺服器以瀏覽您的遠端檔案。",
"WebDAV": "WebDAV",
"Upload Book Files": "上傳書籍檔案",
"Sync now": "立即同步",
"Hide password": "隱藏密碼",
"Show password": "顯示密碼",
"Root Directory": "根目錄",
"Syncing…": "正在同步…",
"pulled progress for {{n}} book(s)": "已拉取 {{n}} 本書的進度",
"Sync History": "同步歷史",
"Clear Sync History": "清除同步歷史",
"No manual syncs yet": "尚無手動同步記錄",
"Partial": "部分",
"Cleanup": "清理",
"Cleanup failed": "清理失敗",
"Sync failed": "同步失敗",
"{{n}} deleted": "已刪除 {{n}}",
"{{n}} failed": "{{n}} 失敗",
"Nothing deleted": "未刪除任何項目",
"{{n}} downloaded": "已下載 {{n}}",
"{{n}} uploaded": "已上傳 {{n}}",
"{{n}} progress": "{{n}} 進度",
"Up to date": "已是最新",
"{{when}} · {{dur}}": "{{when}} · {{dur}}",
"Books downloaded": "已下載書籍",
"Files uploaded": "已上傳檔案",
"Configs uploaded": "已上傳設定",
"Configs downloaded": "已下載設定",
"Covers uploaded": "已上傳封面",
"Books deleted": "已刪除書籍",
"Files in sync": "已同步檔案",
"Failures": "失敗項目",
"Total books": "書籍總數",
"Error:": "錯誤:",
"Failed books": "失敗的書籍",
"Deleted {{n}} book(s) from server.": "已從伺服器刪除 {{n}} 本書。",
"Failed to load directory": "載入目錄失敗",
"File download is only supported on the desktop and mobile apps.": "檔案下載僅在桌面端和行動端應用程式中支援。",
"Downloaded \"{{title}}\" to your library.": "已將「{{title}}」下載到您的書庫。",
"Failed to download \"{{name}}\": {{error}}": "下載「{{name}}」失敗:{{error}}",
"Up": "上一層",
"Cleanup · {{count}} book(s)_other": "清理 · {{count}} 本書",
"Exit cleanup": "退出清理",
"Refresh": "重新整理",
"All clear · no books": "已清空 · 無書籍",
"Empty directory": "空目錄",
"Deleted locally · still on server": "本機已刪除 · 伺服器仍存在",
"Select": "選擇",
"Already downloaded in this session": "本次工作階段已下載",
"Downloading…": "正在下載…",
"Download to library": "下載到書庫",
"Deselect all": "取消全選",
"Select all": "全選",
"{{n}} selected": "已選擇 {{n}}",
"Delete from server": "從伺服器刪除",
"Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: \"{{first}}\").": "已從伺服器刪除 {{total}} 本中的 {{ok}} 本;{{n}} 本失敗(首本:「{{first}}」)。",
"Couldn't delete any of {{n}} book(s) from server (first: \"{{first}}\").": "無法從伺服器刪除任何 {{n}} 本書(首本:「{{first}}」)。",
"Syncing {{n}} / {{total}}": "正在同步 {{n}} / {{total}}",
"Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.": "安裝 Readest 瀏覽器擴充功能,將正在閱讀的文章傳送到您的書庫。擴充功能會從您的瀏覽器擷取頁面,因此付費牆和需要登入的網站也能使用。",
"Added to your library. It will sync to your other devices.": "已加入您的書庫。將同步到您的其他裝置。",
"Sync passphrase forgotten. All encrypted fields cleared.": "已忘記同步密碼短語。所有加密欄位已清空。",
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.": "僅顯示手動同步與清理。閱讀時的自動同步不在此記錄。",
"Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.": "從 WebDAV 伺服器刪除 {{n}} 本書?\n\n這只會移除遠端檔案;您的本機書庫不受影響。刪除無法復原。伺服器上的資料將永久消失。",
"{{action}} {{n}} / {{total}} · {{title}}": "{{action}} {{n}} / {{total}} · {{title}}",
"Only affects uploading book files. Reading progress and downloads always sync.": "僅影響書籍檔案的上傳。閱讀進度和下載始終同步。",
"Wrong sync passphrase. Synced credentials could not be decrypted.": "同步密碼短語錯誤。無法解密已同步的憑證。",
"Email books straight to your library": "透過電子郵件直接將書籍傳送到您的書庫",
"Forward attachments and articles to your private Readest address. Available on the Plus, Pro, and Lifetime plans.": "將附件和文章轉寄到您的專屬 Readest 地址。Plus、Pro 和 Lifetime 方案可用。",
"View plans": "查看方案",
"You can still clip articles for free with the in-app Send button, the mobile Share menu, or the browser extension.": "您仍可透過應用程式內的「傳送」按鈕、行動端的分享選單或瀏覽器擴充功能免費剪藏文章。",
"...": "…",
"Server URL is required": "需要伺服器 URL",
"Authentication failed": "驗證失敗",
"Root directory not found": "找不到根目錄",
"Unexpected server response (status {{status}})": "非預期的伺服器回應(狀態 {{status}}",
"Network error": "網路錯誤",
"Remote resource not found": "找不到遠端資源",
"Sync failed (status {{status}})": "同步失敗(狀態 {{status}}",
"Sync failed.": "同步失敗。"
}
@@ -3,14 +3,24 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
import ProgressBar from '@/app/reader/components/ProgressBar';
import { DEFAULT_VIEW_CONFIG } from '@/services/constants';
import type { ViewSettings } from '@/types/book';
import type { BookProgress, ViewSettings } from '@/types/book';
const saveViewSettings = vi.fn();
let currentViewSettings: ViewSettings;
let currentProgress: BookProgress | null;
let currentBookData: {
isFixedLayout: boolean;
bookDoc?: { metadata?: Record<string, unknown> };
} | null;
let currentRenderer: { page: number; pages: number };
vi.mock('@/hooks/useTranslation', () => ({
useTranslation: () => (s: string) => s,
useTranslation: () => (s: string, values?: Record<string, unknown>) =>
s
.replace('{{count}}', String(values?.['count'] ?? '{{count}}'))
.replace('{{number}}', String(values?.['number'] ?? '{{number}}'))
.replace('{{time}}', String(values?.['time'] ?? '{{time}}')),
}));
vi.mock('@/context/EnvContext', () => ({
@@ -19,15 +29,15 @@ vi.mock('@/context/EnvContext', () => ({
vi.mock('@/store/readerStore', () => ({
useReaderStore: () => ({
getProgress: () => null,
getProgress: () => currentProgress,
getViewSettings: () => currentViewSettings,
getView: () => ({ renderer: { page: 0, pages: 0 } }),
getView: () => ({ renderer: currentRenderer }),
}),
}));
vi.mock('@/store/bookDataStore', () => ({
useBookDataStore: () => ({
getBookData: () => ({ isFixedLayout: false }),
getBookData: () => currentBookData,
}),
}));
@@ -63,8 +73,18 @@ afterEach(() => {
beforeEach(() => {
saveViewSettings.mockClear();
currentProgress = null;
currentBookData = { isFixedLayout: false };
currentRenderer = { page: 0, pages: 0 };
});
const makeProgress = (current: number, total: number): BookProgress =>
({
section: { current, total },
pageinfo: { current, total },
timeinfo: { section: 0, total: 0 },
}) as BookProgress;
describe('ProgressBar — tap-to-toggle disabled reverts hidden footer', () => {
it("resets progressInfoMode to 'all' when the user disables tapToToggleFooter while mode was 'none'", () => {
// Simulate a user who tapped the footer to dismiss it (mode='none')
@@ -121,3 +141,40 @@ describe('ProgressBar — tap-to-toggle disabled reverts hidden footer', () => {
expect(persistCalls.every((args) => args[3] === 'all')).toBe(true);
});
});
describe('ProgressBar — fixed-layout remaining pages', () => {
it('says "in book" with section-derived count for fixed-layout books', () => {
currentViewSettings = {
...baseSettings,
showRemainingPages: true,
showRemainingTime: false,
progressInfoMode: 'all',
} as ViewSettings;
currentProgress = makeProgress(2, 5);
currentBookData = { isFixedLayout: true, bookDoc: { metadata: {} } };
const { container } = renderProgressBar();
expect(container.querySelector('.progressinfo')?.getAttribute('aria-label')).toContain(
'3 pages left in book',
);
});
it('says "in chapter" for reflowable books', () => {
currentViewSettings = {
...baseSettings,
showRemainingPages: true,
showRemainingTime: false,
progressInfoMode: 'all',
} as ViewSettings;
currentProgress = makeProgress(2, 5);
currentBookData = { isFixedLayout: false };
currentRenderer = { page: 1, pages: 4 };
const { container } = renderProgressBar();
expect(container.querySelector('.progressinfo')?.getAttribute('aria-label')).toContain(
'pages left in chapter',
);
});
});
@@ -28,6 +28,27 @@ const getSeries = (book: BookDoc): Collection | undefined => {
return Array.isArray(belongsTo) ? belongsTo[0] : belongsTo;
};
const makeCbzFixture = async ({
comicInfo,
comicInfoPath = 'ComicInfo.xml',
imageCount,
}: {
comicInfo?: string;
comicInfoPath?: string;
imageCount: number;
}): Promise<File> => {
const { BlobWriter, TextReader, ZipWriter } = await import('@zip.js/zip.js');
const writer = new ZipWriter(new BlobWriter('application/vnd.comicbook+zip'));
for (let i = 0; i < imageCount; i++) {
await writer.add(`${i}.png`, new TextReader(`image-${i}`));
}
if (comicInfo) {
await writer.add(comicInfoPath, new TextReader(comicInfo));
}
const blob = await writer.close();
return new File([blob], 'page-count.cbz', { type: 'application/vnd.comicbook+zip' });
};
describe('Calibre series metadata', () => {
describe('PDF (XMP calibre:series)', () => {
let book: BookDoc;
@@ -73,5 +94,45 @@ describe('Calibre series metadata', () => {
it('preserves the title', () => {
expect(book.metadata.title).toBe('CBZ Metadata');
});
it('extracts displayable ComicInfo.xml schema fields from nested archives', async () => {
const file = await makeCbzFixture({
imageCount: 3,
comicInfoPath: 'metadata/ComicInfo.xml',
comicInfo: `<?xml version="1.0" encoding="utf-8"?>
<ComicInfo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Title>Example Title</Title>
<Series>Example Series</Series>
<Volume>1</Volume>
<Number>1</Number>
<Count>5</Count>
<Summary>Example Summary</Summary>
<Writer>Example Author</Writer>
<Genre>Example Genre</Genre>
<Year>2025</Year>
<Month>12</Month>
<Web>https://www.google.com/</Web>
<Manga>Yes</Manga>
<LanguageISO>en</LanguageISO>
<Translator>Example Translator</Translator>
<PageCount>20</PageCount>
</ComicInfo>`,
});
const loader = new DocumentLoader(file);
const result = await loader.open();
expect(result.book.metadata).toMatchObject({
title: 'Example Title',
author: 'Example Author',
language: 'en',
description: 'Example Summary',
publisher: undefined,
published: '2025-12',
identifier: 'https://www.google.com/',
subject: ['Example Genre'],
});
const series = getSeries(result.book);
expect(series).toMatchObject({ name: 'Example Series', position: '1', total: '5' });
});
});
});
@@ -1,7 +1,7 @@
import clsx from 'clsx';
import React, { useEffect, useState } from 'react';
import { Trans } from 'react-i18next';
import { Insets } from '@/types/misc';
import type { Insets } from '@/types/misc';
import { useEnv } from '@/context/EnvContext';
import { useReaderStore } from '@/store/readerStore';
import { useTranslation } from '@/hooks/useTranslation';
@@ -55,26 +55,47 @@ const ProgressBar: React.FC<ProgressBarProps> = ({
const { page: current = 0, pages: total = 0 } = view?.renderer || {};
const pagesLeft = bookData?.isFixedLayout
? 1
? pageInfo
? Math.max(pageInfo.total - pageInfo.current, 1)
: 0
: Math.min(Math.max(total - current, 1), pageInfo ? pageInfo.total - pageInfo.current : total);
const showPagesLeft = total > 0 || bookData?.isFixedLayout;
const showPagesLeft = pagesLeft > 0 && (total > 0 || !!bookData?.isFixedLayout);
// Fixed-layout formats (CBZ, PDF) have no chapter structure — every page is
// its own section — so the remaining count is the whole book, not a chapter.
const remainingInBook = !!bookData?.isFixedLayout;
const timeLeftStr = showPagesLeft
? _('{{time}} min left in chapter', {
time: formatNumber(
Math.round((pagesLeft * SIZE_PER_LOC) / SIZE_PER_TIME_UNIT),
localize,
lang,
),
})
? remainingInBook
? _('{{time}} min left in book', {
time: formatNumber(
Math.round((pagesLeft * SIZE_PER_LOC) / SIZE_PER_TIME_UNIT),
localize,
lang,
),
})
: _('{{time}} min left in chapter', {
time: formatNumber(
Math.round((pagesLeft * SIZE_PER_LOC) / SIZE_PER_TIME_UNIT),
localize,
lang,
),
})
: '';
const pagesLeftStr = showPagesLeft
? localize
? _('{{number}} pages left in chapter', {
number: formatNumber(pagesLeft, localize, lang),
})
: _('{{count}} pages left in chapter', {
count: pagesLeft,
})
? remainingInBook
? _('{{number}} pages left in book', {
number: formatNumber(pagesLeft, localize, lang),
})
: _('{{number}} pages left in chapter', {
number: formatNumber(pagesLeft, localize, lang),
})
: remainingInBook
? _('{{count}} pages left in book', {
count: pagesLeft,
})
: _('{{count}} pages left in chapter', {
count: pagesLeft,
})
: '';
const [progressBarMode, setProgressBarMode] = useState<string>(viewSettings.progressInfoMode);
@@ -225,12 +246,27 @@ const ProgressBar: React.FC<ProgressBarProps> = ({
) : viewSettings.showRemainingPages && showPagesLeft ? (
<span className='text-start'>
{localize ? (
<Trans
i18nKey='{{number}} pages left in chapter'
values={{ number: formatNumber(pagesLeft, localize, lang) }}
>
<span className='pages-left-number'>{'{{number}}'}</span>
<span className='pages-left-label'>{' pages left in chapter'}</span>
remainingInBook ? (
<Trans
i18nKey='{{number}} pages left in book'
values={{ number: formatNumber(pagesLeft, localize, lang) }}
>
<span className='pages-left-number'>{'{{number}}'}</span>
<span className='pages-left-label'>{' pages left in book'}</span>
</Trans>
) : (
<Trans
i18nKey='{{number}} pages left in chapter'
values={{ number: formatNumber(pagesLeft, localize, lang) }}
>
<span className='pages-left-number'>{'{{number}}'}</span>
<span className='pages-left-label'>{' pages left in chapter'}</span>
</Trans>
)
) : remainingInBook ? (
<Trans i18nKey='{{count}} pages left in book' count={pagesLeft}>
<span className='pages-left-number'>{'{{count}}'}</span>
<span className='pages-left-label'>{' pages left in book'}</span>
</Trans>
) : (
<Trans i18nKey='{{count}} pages left in chapter' count={pagesLeft}>
@@ -8,7 +8,7 @@ import { useReaderStore } from '@/store/readerStore';
import { useTranslation } from '@/hooks/useTranslation';
import { useBookDataStore } from '@/store/bookDataStore';
import { formatProgress } from '@/utils/progress';
import { FooterBarChildProps } from './types';
import type { FooterBarChildProps } from './types';
import { getNavigationIcon } from './utils';
import Button from '@/components/Button';
@@ -5,10 +5,11 @@ import { useSpatialNavigation } from '@/app/reader/hooks/useSpatialNavigation';
import { useReaderStore } from '@/store/readerStore';
import { useSidebarStore } from '@/store/sidebarStore';
import { useBookDataStore } from '@/store/bookDataStore';
import { FIXED_LAYOUT_FORMATS } from '@/types/book';
import { useTranslation } from '@/hooks/useTranslation';
import { useDeviceControlStore } from '@/store/deviceStore';
import { eventDispatcher } from '@/utils/event';
import { FooterBarProps, NavigationHandlers, FooterBarChildProps } from './types';
import type { FooterBarProps, NavigationHandlers, FooterBarChildProps } from './types';
import { debounce } from '@/utils/debounce';
import { RSVPControl } from '../rsvp';
import MobileFooterBar from './MobileFooterBar';
@@ -46,7 +47,7 @@ const FooterBar: React.FC<FooterBarProps> = ({
const pointerInDoc = docs.some(({ doc }) => doc?.body?.style.cursor === 'pointer');
const progressInfo = useMemo(
() => (bookFormat === 'PDF' ? section : pageinfo),
() => (FIXED_LAYOUT_FORMATS.has(bookFormat) ? section : pageinfo),
[bookFormat, section, pageinfo],
);
@@ -1,9 +1,9 @@
import { PageInfo } from '@/types/book';
import type { BookFormat, PageInfo } from '@/types/book';
import { Insets } from '@/types/misc';
export interface FooterBarProps {
bookKey: string;
bookFormat: string;
bookFormat: BookFormat;
section?: PageInfo;
pageinfo?: PageInfo;
isHoveredAnim: boolean;
+2 -2
View File
@@ -195,7 +195,7 @@ export default function SendPage() {
</div>
<p className='text-base-content/70 text-xs leading-relaxed'>
{_(
'Install the Readest browser extension to send the article you are reading to your library — it clips the page from your browser so paywalled and login-only sites still work.',
'Install the Readest browser extension to send the article you are reading to your library. It clips the page from your browser so paywalled and login-only sites still work.',
)}
</p>
</section>
@@ -216,7 +216,7 @@ export default function SendPage() {
<span className='truncate text-sm'>{item.label}</span>
<span className='text-base-content/60 text-xs'>
{item.status === 'done'
? _('Added to your library — it will sync to your other devices.')
? _('Added to your library. It will sync to your other devices.')
: item.status === 'error'
? item.detail
: _('Working…')}
@@ -85,7 +85,7 @@ export function SyncPassphraseSection() {
try {
await cryptoSession.forget();
await refreshStatus();
setMessage(_('Sync passphrase forgotten — all encrypted fields cleared'));
setMessage(_('Sync passphrase forgotten. All encrypted fields cleared.'));
} catch (err) {
setMessage(err instanceof Error ? err.message : String(err));
} finally {
@@ -489,7 +489,7 @@ const AIPanel: React.FC = () => {
{customModelStatus === 'valid' && customModelPricing && (
<span className='text-success flex items-center gap-1 text-sm'>
<PiCheckCircle />
{_('Model available')} ${customModelPricing.input}/M in, $
{_('Model available')} · ${customModelPricing.input}/M in, $
{customModelPricing.output}/M out
</span>
)}
@@ -1,6 +1,7 @@
import clsx from 'clsx';
import React, { useState } from 'react';
import { WebDAVSyncLogEntry, WebDAVSyncLogStatus } from '@/types/settings';
import { useTranslation, type TranslationFunc } from '@/hooks/useTranslation';
import { BoxedList, SettingsRow } from '../primitives';
/**
@@ -18,17 +19,15 @@ import { BoxedList, SettingsRow } from '../primitives';
* about "the log" as a whole and how to clear it.
*
* Presentational: all persistence happens in the parent
* (`appendSyncLogEntry` / `handleClearSyncLog`). We accept the
* translation function `t` rather than calling `useTranslation` here so
* the parent stays the single source of locale truth for the page.
* (`appendSyncLogEntry` / `handleClearSyncLog`).
*/
export interface SyncHistoryPanelProps {
entries: WebDAVSyncLogEntry[];
onClear: () => void | Promise<void>;
t: (key: string, params?: Record<string, string | number>) => string;
}
const SyncHistoryPanel: React.FC<SyncHistoryPanelProps> = ({ entries, onClear, t }) => {
const SyncHistoryPanel: React.FC<SyncHistoryPanelProps> = ({ entries, onClear }) => {
const _ = useTranslation();
// Only one entry expanded at a time keeps the panel scannable on
// mobile — multiple open rows can quickly push the disconnect button
// off-screen. Set to null when no row is expanded.
@@ -39,9 +38,9 @@ const SyncHistoryPanel: React.FC<SyncHistoryPanelProps> = ({ entries, onClear, t
return (
<BoxedList>
<SettingsRow
label={t('Sync History')}
description={t(
"Manual syncs and cleanups — automatic syncs while reading aren't logged here.",
label={_('Sync History')}
description={_(
"Manual syncs and cleanups only. Automatic syncs while reading aren't logged here.",
)}
>
{hasEntries ? (
@@ -49,13 +48,13 @@ const SyncHistoryPanel: React.FC<SyncHistoryPanelProps> = ({ entries, onClear, t
type='button'
onClick={() => onClear()}
className='btn btn-ghost btn-sm h-8 min-h-8 px-2'
title={t('Clear Sync History')}
aria-label={t('Clear Sync History')}
title={_('Clear Sync History')}
aria-label={_('Clear Sync History')}
>
{t('Clear')}
{_('Clear')}
</button>
) : (
<span className='text-base-content/50 text-xs'>{t('No manual syncs yet')}</span>
<span className='text-base-content/50 text-xs'>{_('No manual syncs yet')}</span>
)}
</SettingsRow>
{hasEntries && (
@@ -70,12 +69,12 @@ const SyncHistoryPanel: React.FC<SyncHistoryPanelProps> = ({ entries, onClear, t
className='group flex w-full items-center gap-3 text-left'
aria-expanded={isExpanded}
>
<SyncStatusBadge status={entry.status} t={t} />
{entry.kind === 'cleanup' && <SyncKindBadge t={t} />}
<SyncStatusBadge status={entry.status} />
{entry.kind === 'cleanup' && <SyncKindBadge />}
<div className='flex min-w-0 flex-1 flex-col gap-0.5'>
<span className='text-sm'>{formatSyncSummaryLine(entry, t)}</span>
<span className='text-sm'>{formatSyncSummaryLine(entry, _)}</span>
<span className='text-base-content/60 text-[0.75em]'>
{formatSyncTimestamp(entry.startedAt, entry.finishedAt, t)}
{formatSyncTimestamp(entry.startedAt, entry.finishedAt, _)}
</span>
</div>
<span
@@ -88,7 +87,7 @@ const SyncHistoryPanel: React.FC<SyncHistoryPanelProps> = ({ entries, onClear, t
</span>
</button>
{isExpanded && <SyncHistoryDetails entry={entry} t={t} />}
{isExpanded && <SyncHistoryDetails entry={entry} />}
</li>
);
})}
@@ -103,14 +102,12 @@ const SyncHistoryPanel: React.FC<SyncHistoryPanelProps> = ({ entries, onClear, t
* Tailwind utilities (success / warning / error) so the badge respects
* the user's theme (eink, dark, light) without per-mode overrides.
*/
const SyncStatusBadge: React.FC<{ status: WebDAVSyncLogStatus; t: SyncHistoryPanelProps['t'] }> = ({
status,
t,
}) => {
const SyncStatusBadge: React.FC<{ status: WebDAVSyncLogStatus }> = ({ status }) => {
const _ = useTranslation();
const map: Record<WebDAVSyncLogStatus, { label: string; className: string }> = {
success: { label: t('OK'), className: 'bg-success/15 text-success' },
partial: { label: t('Partial'), className: 'bg-warning/15 text-warning' },
failure: { label: t('Failed'), className: 'bg-error/15 text-error' },
success: { label: _('OK'), className: 'bg-success/15 text-success' },
partial: { label: _('Partial'), className: 'bg-warning/15 text-warning' },
failure: { label: _('Failed'), className: 'bg-error/15 text-error' },
};
const { label, className } = map[status];
return (
@@ -134,7 +131,8 @@ const SyncStatusBadge: React.FC<{ status: WebDAVSyncLogStatus; t: SyncHistoryPan
* its own status badge (success / partial / failed) right next to
* it; piling more colour on would just shout.
*/
const SyncKindBadge: React.FC<{ t: SyncHistoryPanelProps['t'] }> = ({ t }) => {
const SyncKindBadge: React.FC = () => {
const _ = useTranslation();
return (
<span
className={clsx(
@@ -142,7 +140,7 @@ const SyncKindBadge: React.FC<{ t: SyncHistoryPanelProps['t'] }> = ({ t }) => {
'bg-info/15 text-info',
)}
>
{t('Cleanup')}
{_('Cleanup')}
</span>
);
};
@@ -153,13 +151,10 @@ const SyncKindBadge: React.FC<{ t: SyncHistoryPanelProps['t'] }> = ({ t }) => {
* reusing the toast's `entry.summary`) so the text in the log stays
* compact even when the original toast was multi-line.
*/
const formatSyncSummaryLine = (
entry: WebDAVSyncLogEntry,
t: SyncHistoryPanelProps['t'],
): string => {
const formatSyncSummaryLine = (entry: WebDAVSyncLogEntry, _: TranslationFunc): string => {
if (entry.status === 'failure') {
return (
entry.errorMessage || (entry.kind === 'cleanup' ? t('Cleanup failed') : t('Sync failed'))
entry.errorMessage || (entry.kind === 'cleanup' ? _('Cleanup failed') : _('Sync failed'))
);
}
if (entry.kind === 'cleanup') {
@@ -170,38 +165,34 @@ const formatSyncSummaryLine = (
// and watching every clause come up zero.
const parts: string[] = [];
if ((entry.booksDeleted ?? 0) > 0) {
parts.push(t('{{n}} deleted', { n: entry.booksDeleted ?? 0 }));
parts.push(_('{{n}} deleted', { n: entry.booksDeleted ?? 0 }));
}
if (entry.failures > 0) {
parts.push(t('{{n}} failed', { n: entry.failures }));
parts.push(_('{{n}} failed', { n: entry.failures }));
}
return parts.length > 0 ? parts.join(' · ') : t('Nothing deleted');
return parts.length > 0 ? parts.join(' · ') : _('Nothing deleted');
}
const parts: string[] = [];
if (entry.booksDownloaded > 0) {
parts.push(t('{{n}} downloaded', { n: entry.booksDownloaded }));
parts.push(_('{{n}} downloaded', { n: entry.booksDownloaded }));
}
if (entry.filesUploaded > 0) {
parts.push(t('{{n}} uploaded', { n: entry.filesUploaded }));
parts.push(_('{{n}} uploaded', { n: entry.filesUploaded }));
}
if (entry.configsUploaded > 0 || entry.configsDownloaded > 0) {
parts.push(t('{{n}} progress', { n: entry.configsUploaded + entry.configsDownloaded }));
parts.push(_('{{n}} progress', { n: entry.configsUploaded + entry.configsDownloaded }));
}
if (entry.failures > 0) {
parts.push(t('{{n}} failed', { n: entry.failures }));
parts.push(_('{{n}} failed', { n: entry.failures }));
}
return parts.length > 0 ? parts.join(' · ') : t('Up to date');
return parts.length > 0 ? parts.join(' · ') : _('Up to date');
};
/**
* "Mar 18, 14:32 · 4.2 s" short locale-aware timestamp plus a
* duration so users can spot abnormally slow runs at a glance.
*/
const formatSyncTimestamp = (
startedAt: number,
finishedAt: number,
t: SyncHistoryPanelProps['t'],
): string => {
const formatSyncTimestamp = (startedAt: number, finishedAt: number, _: TranslationFunc): string => {
const when = new Date(startedAt).toLocaleString(undefined, {
month: 'short',
day: 'numeric',
@@ -210,7 +201,7 @@ const formatSyncTimestamp = (
});
const durMs = Math.max(0, finishedAt - startedAt);
const dur = durMs >= 1000 ? `${(durMs / 1000).toFixed(1)} s` : `${durMs} ms`;
return t('{{when}} · {{dur}}', { when, dur });
return _('{{when}} · {{dur}}', { when, dur });
};
/**
@@ -222,8 +213,8 @@ const formatSyncTimestamp = (
*/
const SyncHistoryDetails: React.FC<{
entry: WebDAVSyncLogEntry;
t: SyncHistoryPanelProps['t'];
}> = ({ entry, t }) => {
}> = ({ entry }) => {
const _ = useTranslation();
// Counters are grouped semantically so the user can scan them at a
// glance instead of treating eight numbers as a flat blob:
// - "activity": work performed during this run
@@ -235,21 +226,21 @@ const SyncHistoryDetails: React.FC<{
// single grid which read as one block.
const groups: { label: string; value: number }[][] = [
[
{ label: t('Books downloaded'), value: entry.booksDownloaded },
{ label: t('Files uploaded'), value: entry.filesUploaded },
{ label: t('Configs uploaded'), value: entry.configsUploaded },
{ label: t('Configs downloaded'), value: entry.configsDownloaded },
{ label: t('Covers uploaded'), value: entry.coversUploaded },
{ label: _('Books downloaded'), value: entry.booksDownloaded },
{ label: _('Files uploaded'), value: entry.filesUploaded },
{ label: _('Configs uploaded'), value: entry.configsUploaded },
{ label: _('Configs downloaded'), value: entry.configsDownloaded },
{ label: _('Covers uploaded'), value: entry.coversUploaded },
// Cleanup-specific counter. Suppressed by the zero-filter on
// sync entries (which always set this to zero/undefined), so
// it only shows up on cleanup runs without polluting the
// common sync detail view.
{ label: t('Books deleted'), value: entry.booksDeleted ?? 0 },
{ label: _('Books deleted'), value: entry.booksDeleted ?? 0 },
],
[{ label: t('Files in sync'), value: entry.filesAlreadyInSync }],
[{ label: _('Files in sync'), value: entry.filesAlreadyInSync }],
[
{ label: t('Failures'), value: entry.failures },
{ label: t('Total books'), value: entry.totalBooks },
{ label: _('Failures'), value: entry.failures },
{ label: _('Total books'), value: entry.totalBooks },
],
]
// Suppress zero-only groups entirely so we don't render an empty
@@ -320,13 +311,13 @@ const SyncHistoryDetails: React.FC<{
)}
{entry.errorMessage && (
<div className='text-error/90 break-words text-xs'>
<span className='text-base-content/60 mr-1'>{t('Error:')}</span>
<span className='text-base-content/60 mr-1'>{_('Error:')}</span>
{entry.errorMessage}
</div>
)}
{entry.failedBooks && entry.failedBooks.length > 0 && (
<div className='flex flex-col gap-1'>
<span className='text-base-content/60 text-xs'>{t('Failed books')}</span>
<span className='text-base-content/60 text-xs'>{_('Failed books')}</span>
<ul className='flex flex-col gap-1 text-xs'>
{entry.failedBooks.map((f) => (
<li key={f.hash} className='border-base-200 break-words rounded border px-2 py-1.5'>
@@ -12,6 +12,7 @@ import {
} from 'react-icons/md';
import { useEnv } from '@/context/EnvContext';
import { useAuth } from '@/context/AuthContext';
import { useTranslation } from '@/hooks/useTranslation';
import { useSettingsStore } from '@/store/settingsStore';
import { useLibraryStore } from '@/store/libraryStore';
import { isTauriAppPlatform } from '@/services/environment';
@@ -44,21 +45,17 @@ import {
* Live browser for the WebDAV root the user connected to.
*
* Owns its own current path, listing and per-entry download status;
* the parent supplies `settings` and `t`. Doubles as the GC surface
* for remote orphans via cleanup mode.
* the parent supplies `settings`. Doubles as the GC surface for remote
* orphans via cleanup mode.
*/
export interface WebDAVBrowsePaneProps {
settings: WebDAVSettings;
t: (key: string, params?: Record<string, string | number>) => string;
/** Persist a cleanup run into the parent's sync log when supplied. */
onAppendSyncLogEntry?: (entry: WebDAVSyncLogEntry) => Promise<void> | void;
}
const WebDAVBrowsePane: React.FC<WebDAVBrowsePaneProps> = ({
settings,
t,
onAppendSyncLogEntry,
}) => {
const WebDAVBrowsePane: React.FC<WebDAVBrowsePaneProps> = ({ settings, onAppendSyncLogEntry }) => {
const _ = useTranslation();
const { envConfig } = useEnv();
const { user } = useAuth();
const { settings: globalSettings } = useSettingsStore();
@@ -187,8 +184,8 @@ const WebDAVBrowsePane: React.FC<WebDAVBrowsePaneProps> = ({
const appService = await envConfig.getAppService();
if (!appService) return;
const confirmed = await appService.ask(
t(
'Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone — the bytes on the server will be permanently gone.',
_(
'Delete {{n}} book(s) from the WebDAV server?\n\nThis only removes the remote files; your local library is unaffected. The deletion cannot be undone. The bytes on the server will be permanently gone.',
{ n: targets.length },
),
);
@@ -253,27 +250,30 @@ const WebDAVBrowsePane: React.FC<WebDAVBrowsePaneProps> = ({
if (authFailed) {
toastType = 'error';
status = 'failure';
message = t('WebDAV authentication failed. Reconnect in Settings.');
message = _('WebDAV authentication failed. Reconnect in Settings.');
errorMessage = message;
} else if (failed.length === 0) {
toastType = 'info';
status = 'success';
message = t('Deleted {{n}} book(s) from server.', { n: succeeded });
message = _('Deleted {{n}} book(s) from server.', { n: succeeded });
} else if (succeeded > 0) {
toastType = 'warning';
status = 'partial';
message = t('Deleted {{ok}} of {{total}}; {{n}} failed (e.g. "{{first}}").', {
ok: succeeded,
total: targets.length,
n: failed.length,
first: failed[0]!.title,
});
message = _(
'Deleted {{ok}} of {{total}} book(s) from server; {{n}} failed (first: "{{first}}").',
{
ok: succeeded,
total: targets.length,
n: failed.length,
first: failed[0]?.title ?? '',
},
);
} else {
toastType = 'warning';
status = 'failure';
message = t('Failed to delete {{n}} book(s) (e.g. "{{first}}").', {
message = _('Couldn\'t delete any of {{n}} book(s) from server (first: "{{first}}").', {
n: failed.length,
first: failed[0]!.title,
first: failed[0]?.title ?? '',
});
}
@@ -363,7 +363,7 @@ const WebDAVBrowsePane: React.FC<WebDAVBrowsePaneProps> = ({
} catch (e) {
if (!cancelled) {
setEntries([]);
setLoadError((e as Error).message || t('Failed to load directory'));
setLoadError((e as Error).message || _('Failed to load directory'));
}
} finally {
if (!cancelled) setIsLoading(false);
@@ -413,7 +413,7 @@ const WebDAVBrowsePane: React.FC<WebDAVBrowsePaneProps> = ({
if (!isTauriAppPlatform()) {
eventDispatcher.dispatch('toast', {
type: 'error',
message: t('File download is only supported on the desktop and mobile apps.'),
message: _('File download is only supported on the desktop and mobile apps.'),
});
return;
}
@@ -459,7 +459,7 @@ const WebDAVBrowsePane: React.FC<WebDAVBrowsePaneProps> = ({
setDownloadStatus((prev) => ({ ...prev, [entry.path]: 'done' }));
eventDispatcher.dispatch('toast', {
type: 'info',
message: t('Downloaded "{{title}}" to your library.', {
message: _('Downloaded "{{title}}" to your library.', {
title: imported.title || entry.name,
}),
});
@@ -468,9 +468,9 @@ const WebDAVBrowsePane: React.FC<WebDAVBrowsePaneProps> = ({
setDownloadStatus((prev) => ({ ...prev, [entry.path]: 'error' }));
eventDispatcher.dispatch('toast', {
type: 'error',
message: t('Failed to download "{{name}}": {{error}}', {
message: _('Failed to download "{{name}}": {{error}}', {
name: entry.name,
error: (e as Error).message ?? String(e),
error: e instanceof Error ? e.message : String(e),
}),
});
}
@@ -489,14 +489,14 @@ const WebDAVBrowsePane: React.FC<WebDAVBrowsePaneProps> = ({
'btn btn-ghost btn-sm h-8 min-h-8 gap-1 px-2',
(currentPath === savedRoot || cleanupMode) && 'opacity-40',
)}
title={t('Up')}
aria-label={t('Up')}
title={_('Up')}
aria-label={_('Up')}
>
<MdArrowBack className='h-4 w-4' />
</button>
<span className='truncate text-sm' title={currentPath}>
{cleanupMode
? t('Cleanup · {{count}} book(s)', { count: displayedEntries.length })
? _('Cleanup · {{count}} book(s)', { count: displayedEntries.length })
: currentPath}
</span>
</div>
@@ -509,8 +509,8 @@ const WebDAVBrowsePane: React.FC<WebDAVBrowsePaneProps> = ({
// unmount the progress affordance mid-delete.
disabled={isDeleting}
className={clsx('btn btn-ghost btn-sm h-8 min-h-8 px-2', isDeleting && 'opacity-40')}
title={t('Exit cleanup')}
aria-label={t('Exit cleanup')}
title={_('Exit cleanup')}
aria-label={_('Exit cleanup')}
>
<MdClose className='h-4 w-4' />
</button>
@@ -519,8 +519,8 @@ const WebDAVBrowsePane: React.FC<WebDAVBrowsePaneProps> = ({
type='button'
onClick={handleEnterCleanup}
className='btn btn-ghost btn-sm h-8 min-h-8 px-2'
title={t('Cleanup')}
aria-label={t('Cleanup')}
title={_('Cleanup')}
aria-label={_('Cleanup')}
>
<MdDeleteSweep className='h-4 w-4' />
</button>
@@ -531,8 +531,8 @@ const WebDAVBrowsePane: React.FC<WebDAVBrowsePaneProps> = ({
// Refresh during a delete would race with the per-item splice.
disabled={isDeleting}
className={clsx('btn btn-ghost btn-sm h-8 min-h-8 px-2', isDeleting && 'opacity-40')}
title={t('Refresh')}
aria-label={t('Refresh')}
title={_('Refresh')}
aria-label={_('Refresh')}
>
<MdRefresh className='h-4 w-4' />
</button>
@@ -548,7 +548,7 @@ const WebDAVBrowsePane: React.FC<WebDAVBrowsePaneProps> = ({
<div className='text-error px-4 py-6 text-center text-sm'>{loadError}</div>
) : displayedEntries.length === 0 ? (
<div className='text-base-content/60 px-4 py-6 text-center text-sm'>
{cleanupMode ? t('All clear · no books') : t('Empty directory')}
{cleanupMode ? _('All clear · no books') : _('Empty directory')}
</div>
) : (
<ul className='divide-base-200 divide-y'>
@@ -576,7 +576,7 @@ const WebDAVBrowsePane: React.FC<WebDAVBrowsePaneProps> = ({
// navigate (or toggle in cleanup mode).
const rowClickable = entry.isDirectory;
const rowTitle = isLocallyDeleted
? t('Deleted locally · still on server')
? _('Deleted locally · still on server')
: undefined;
return (
<li key={entry.path}>
@@ -627,7 +627,7 @@ const WebDAVBrowsePane: React.FC<WebDAVBrowsePaneProps> = ({
// bubbling into a row-level double-toggle.
onClick={(e) => e.stopPropagation()}
onChange={() => toggleRowSelected(entry.path)}
aria-label={t('Select')}
aria-label={_('Select')}
/>
</span>
) : (
@@ -702,17 +702,17 @@ const WebDAVBrowsePane: React.FC<WebDAVBrowsePaneProps> = ({
)}
title={
dlState === 'done'
? t('Already downloaded in this session')
? _('Already downloaded in this session')
: dlState === 'downloading'
? t('Downloading…')
: t('Download to library')
? _('Downloading…')
: _('Download to library')
}
aria-label={
dlState === 'done'
? t('Already downloaded in this session')
? _('Already downloaded in this session')
: dlState === 'downloading'
? t('Downloading…')
: t('Download to library')
? _('Downloading…')
: _('Download to library')
}
>
{dlState === 'downloading' ? (
@@ -756,11 +756,11 @@ const WebDAVBrowsePane: React.FC<WebDAVBrowsePaneProps> = ({
)}
>
{displayedEntries.length > 0 && selected.size === displayedEntries.length
? t('Deselect all')
: t('Select all')}
? _('Deselect all')
: _('Select all')}
</button>
<span className='text-base-content/60 truncate text-xs'>
{t('{{n}} selected', { n: selected.size })}
{_('{{n}} selected', { n: selected.size })}
</span>
</div>
{/* Bottom row: action. The per-entry download button
@@ -782,7 +782,7 @@ const WebDAVBrowsePane: React.FC<WebDAVBrowsePaneProps> = ({
<span
className={clsx('loading loading-spinner loading-xs', !isDeleting && 'invisible')}
/>
{t('Delete from server')}
{_('Delete from server')}
</button>
</div>
</div>
@@ -15,8 +15,10 @@ import {
buildRequestUrl,
checkConnection,
normalizeRootPath,
WebDAVConnectResult,
WebDAVRequestError,
} from '@/services/webdav/WebDAVClient';
import { type TranslationFunc } from '@/hooks/useTranslation';
import { syncLibrary } from '@/services/webdav/WebDAVSync';
import { buildWebDAVConnectSettings } from '@/services/webdav/webdavConnectSettings';
import { getCoverFilename, getLocalBookFilename } from '@/utils/book';
@@ -41,6 +43,54 @@ interface WebDAVFormProps {
onBack: () => void;
}
/**
* Translate a connection-probe failure into a user-facing string.
*
* Each branch must be a literal `_('...')` call so the i18next-scanner
* picks the keys up that's why this is a switch on `result.code`
* rather than the previous `_(result.message || 'Connection error')`
* pattern, which the scanner couldn't see into.
*/
const formatConnectError = (_: TranslationFunc, result: WebDAVConnectResult): string => {
switch (result.code) {
case 'SERVER_URL_REQUIRED':
return _('Server URL is required');
case 'AUTH_FAILED':
return _('Authentication failed');
case 'ROOT_NOT_FOUND':
return _('Root directory not found');
case 'UNEXPECTED_STATUS':
return _('Unexpected server response (status {{status}})', {
status: result.status ?? 0,
});
case 'NETWORK':
default:
return _('Network error');
}
};
/**
* Translate a sync-time error into a user-facing string. WebDAVRequestError
* carries a `code` that lets us map to a specific message without ever
* showing the raw English `e.message` to the user.
*/
const formatSyncError = (_: TranslationFunc, e: unknown): string => {
if (e instanceof WebDAVRequestError) {
switch (e.code) {
case 'AUTH_FAILED':
return _('WebDAV authentication failed. Reconnect in Settings.');
case 'NOT_FOUND':
return _('Remote resource not found');
case 'NETWORK':
return _('Network error');
}
if (typeof e.status === 'number') {
return _('Sync failed (status {{status}})', { status: e.status });
}
}
return _('Sync failed.');
};
/**
* WebDAV integration form. Two modes share the same panel:
*
@@ -98,7 +148,7 @@ const WebDAVForm: React.FC<WebDAVFormProps> = ({ onBack }) => {
if (!result.success) {
eventDispatcher.dispatch('toast', {
type: 'error',
message: `${_('Failed to connect')}: ${_(result.message || 'Connection error')}`,
message: `${_('Failed to connect')}: ${formatConnectError(_, result)}`,
});
setIsConnecting(false);
return;
@@ -234,7 +284,7 @@ const WebDAVForm: React.FC<WebDAVFormProps> = ({ onBack }) => {
await persistWebdav({ deviceId });
}
beginSync(_('Syncing 0 / {{total}}', { total: eligibleBooks.length }));
beginSync(_('Syncing {{n}} / {{total}}', { n: 0, total: eligibleBooks.length }));
// Captured before the run begins so we can attribute startedAt
// accurately even when the run fails in the catch block (the
@@ -391,7 +441,7 @@ const WebDAVForm: React.FC<WebDAVFormProps> = ({ onBack }) => {
onProgress: ({ book, index, total, action }) => {
const actionStr = action === 'downloading' ? _('Downloading') : _('Uploading');
updateProgress(
_('{{action}} {{n}} / {{total}} {{title}}', {
_('{{action}} {{n}} / {{total}} · {{title}}', {
action: actionStr,
n: index + 1,
total,
@@ -411,7 +461,7 @@ const WebDAVForm: React.FC<WebDAVFormProps> = ({ onBack }) => {
parts.push(_('downloaded {{n}} book(s)', { n: result.booksDownloaded }));
}
if (result.configsDownloaded > 0) {
parts.push(_('pulled {{n}} progress entr(ies)', { n: result.configsDownloaded }));
parts.push(_('pulled progress for {{n}} book(s)', { n: result.configsDownloaded }));
}
if (result.configsUploaded > 0) {
parts.push(_('pushed {{n}} config(s)', { n: result.configsUploaded }));
@@ -484,10 +534,7 @@ const WebDAVForm: React.FC<WebDAVFormProps> = ({ onBack }) => {
};
await appendSyncLogEntry(entry);
} catch (e) {
const message =
e instanceof WebDAVRequestError && e.code === 'AUTH_FAILED'
? _('WebDAV authentication failed. Reconnect in Settings.')
: _('Sync failed: {{error}}', { error: (e as Error).message ?? String(e) });
const message = formatSyncError(_, e);
eventDispatcher.dispatch('toast', { type: 'error', message });
// Persist a "failure" entry so the user can show what went wrong
// without rummaging through the dev console. We don't have a
@@ -542,10 +589,7 @@ const WebDAVForm: React.FC<WebDAVFormProps> = ({ onBack }) => {
<SettingsSwitchRow
label={_('Upload Book Files')}
description={_(
'This toggle only controls ' +
'whether this device contributes the books. ' +
'Reading progress and annotations are always synced both ways, and books ' +
'already on the server are always downloaded.',
'Only affects uploading book files. Reading progress and downloads always sync.',
)}
checked={stored.syncBooks ?? false}
onChange={handleToggleSyncBooks}
@@ -600,9 +644,9 @@ const WebDAVForm: React.FC<WebDAVFormProps> = ({ onBack }) => {
runs with full counters and per-book failures. We render
even when the log is empty so users can find where it
lives before their first run. */}
<SyncHistoryPanel entries={stored.syncLog ?? []} onClear={handleClearSyncLog} t={_} />
<SyncHistoryPanel entries={stored.syncLog ?? []} onClear={handleClearSyncLog} />
<WebDAVBrowsePane settings={stored} t={_} onAppendSyncLogEntry={appendSyncLogEntry} />
<WebDAVBrowsePane settings={stored} onAppendSyncLogEntry={appendSyncLogEntry} />
<div className='flex justify-end'>
<button
@@ -344,6 +344,7 @@ export async function importBook(
if (series) {
book.metadata.series = formatTitle(series.name);
book.metadata.seriesIndex = parseFloat(series.position || '0');
if (series.total) book.metadata.seriesTotal = parseInt(series.total, 10);
}
}
// update book metadata when reimporting the same book
@@ -639,6 +640,7 @@ export async function refreshBookMetadata(fs: FileSystem, book: Book): Promise<b
if (series) {
book.metadata.series = formatTitle(series.name);
book.metadata.seriesIndex = parseFloat(series.position || '0');
if (series.total) book.metadata.seriesTotal = parseInt(series.total, 10);
}
}
@@ -228,7 +228,7 @@ export const decryptRowFields = async (
if (failedFieldCount > 0 && lastFailureCode !== null) {
let message: string;
if (lastFailureCode === 'DECRYPT' || lastFailureCode === 'INTEGRITY') {
message = _('Wrong sync passphrase — synced credentials could not be decrypted');
message = _('Wrong sync passphrase. Synced credentials could not be decrypted.');
} else if (lastFailureCode === 'SALT_NOT_FOUND') {
message = _(
'Sync passphrase data on the server was reset. Re-encrypting your credentials under the new passphrase…',
@@ -39,9 +39,18 @@ export interface WebDAVConfig {
password: string;
}
export type WebDAVConnectErrorCode =
| 'SERVER_URL_REQUIRED'
| 'AUTH_FAILED'
| 'ROOT_NOT_FOUND'
| 'UNEXPECTED_STATUS'
| 'NETWORK';
export interface WebDAVConnectResult {
success: boolean;
/** Translation-friendly short message describing the failure, when any. */
/** Discriminator for callers to render a localized message. */
code?: WebDAVConnectErrorCode;
/** English log/debug detail (e.g. raw network exception). UI must not show this. */
message?: string;
/** HTTP status surfaced from the server, if the request reached it. */
status?: number;
@@ -244,7 +253,7 @@ export const checkConnection = async (
rootPath: string,
): Promise<WebDAVConnectResult> => {
if (!config.serverUrl) {
return { success: false, message: 'Server URL is required' };
return { success: false, code: 'SERVER_URL_REQUIRED' };
}
const url = buildUrl(config.serverUrl, rootPath);
const fetchFn = getFetch();
@@ -262,18 +271,16 @@ export const checkConnection = async (
return { success: true, status: response.status };
}
if (response.status === 401 || response.status === 403) {
return { success: false, status: response.status, message: 'Authentication failed' };
return { success: false, status: response.status, code: 'AUTH_FAILED' };
}
if (response.status === 404) {
return { success: false, status: response.status, message: 'Root directory not found' };
return { success: false, status: response.status, code: 'ROOT_NOT_FOUND' };
}
return {
success: false,
status: response.status,
message: `Unexpected server response (${response.status})`,
};
return { success: false, status: response.status, code: 'UNEXPECTED_STATUS' };
} catch (e) {
return { success: false, message: (e as Error).message || 'Network error' };
// Keep the raw exception message in `message` for the dev console;
// the UI uses `code` to render a localized string.
return { success: false, code: 'NETWORK', message: (e as Error).message };
}
};
@@ -248,6 +248,8 @@ export const useReaderStore = create<ReaderStore>((set, get) => ({
book.metadata.series = book.metadata.series ?? formatTitle(series.name);
book.metadata.seriesIndex =
book.metadata.seriesIndex ?? parseFloat(series.position || '0');
book.metadata.seriesTotal =
book.metadata.seriesTotal ?? (series.total ? parseInt(series.total, 10) : undefined);
}
}
// TODO: uncomment this when we can ensure metaHash is correctly generated for all books
+1
View File
@@ -69,6 +69,7 @@ export interface Contributor {
export interface Collection {
name: string;
position?: string;
total?: string;
}
const formatLanguageMap = (x: string | LanguageMap, defaultLang = false): string => {