From a7945da3b4eb4cf374aaaf4d25d448d297e29132 Mon Sep 17 00:00:00 2001
From: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
Date: Wed, 14 Jan 2026 11:26:45 +0000
Subject: [PATCH] translations (#5469)
# Description of Changes
---
## Checklist
### General
- [ ] I have read the [Contribution
Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md)
- [ ] I have read the [Stirling-PDF Developer
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md)
(if applicable)
- [ ] I have read the [How to add new languages to
Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md)
(if applicable)
- [ ] I have performed a self-review of my own code
- [ ] My changes generate no new warnings
### Documentation
- [ ] I have updated relevant docs on [Stirling-PDF's doc
repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/)
(if functionality has heavily changed)
- [ ] I have read the section [Add New Translation
Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags)
(for new translation tags only)
### Translations (if applicable)
- [ ] I ran
[`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md)
### UI Changes (if applicable)
- [ ] Screenshots or videos demonstrating the UI changes are attached
(e.g., as comments or direct attachments in the PR)
### Testing (if applicable)
- [ ] I have tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing)
for more details.
---
.../public/locales/ar-AR/translation.toml | 659 ++++++++----
.../public/locales/az-AZ/translation.toml | 657 ++++++++----
.../public/locales/bg-BG/translation.toml | 651 ++++++++----
.../public/locales/bo-CN/translation.toml | 271 +++++
.../public/locales/ca-CA/translation.toml | 657 ++++++++----
.../public/locales/cs-CZ/translation.toml | 291 +++++-
.../public/locales/da-DK/translation.toml | 673 ++++++++----
.../public/locales/de-DE/translation.toml | 132 +--
.../public/locales/el-GR/translation.toml | 679 ++++++++----
.../public/locales/es-ES/translation.toml | 665 ++++++++----
.../public/locales/eu-ES/translation.toml | 681 ++++++++----
.../public/locales/fa-IR/translation.toml | 655 ++++++++----
.../public/locales/fr-FR/translation.toml | 661 ++++++++----
.../public/locales/ga-IE/translation.toml | 982 +++++++++---------
.../public/locales/hi-IN/translation.toml | 709 +++++++++----
.../public/locales/hr-HR/translation.toml | 655 ++++++++----
.../public/locales/hu-HU/translation.toml | 651 ++++++++----
.../public/locales/id-ID/translation.toml | 681 ++++++++----
.../public/locales/it-IT/translation.toml | 647 ++++++++----
.../public/locales/ja-JP/translation.toml | 691 ++++++++----
.../public/locales/ko-KR/translation.toml | 661 ++++++++----
.../public/locales/ml-ML/translation.toml | 679 ++++++++----
.../public/locales/nl-NL/translation.toml | 509 ++++++---
.../public/locales/no-NB/translation.toml | 657 ++++++++----
.../public/locales/pl-PL/translation.toml | 665 ++++++++----
.../public/locales/pt-BR/translation.toml | 671 ++++++++----
.../public/locales/pt-PT/translation.toml | 671 ++++++++----
.../public/locales/ro-RO/translation.toml | 665 ++++++++----
.../public/locales/ru-RU/translation.toml | 659 ++++++++----
.../public/locales/sk-SK/translation.toml | 667 ++++++++----
.../public/locales/sl-SI/translation.toml | 651 ++++++++----
.../locales/sr-LATN-RS/translation.toml | 661 ++++++++----
.../public/locales/sv-SE/translation.toml | 647 ++++++++----
.../public/locales/th-TH/translation.toml | 695 +++++++++----
.../public/locales/tr-TR/translation.toml | 651 ++++++++----
.../public/locales/uk-UA/translation.toml | 661 ++++++++----
.../public/locales/vi-VN/translation.toml | 667 ++++++++----
.../public/locales/zh-BO/translation.toml | 653 ++++++++----
.../public/locales/zh-CN/translation.toml | 655 ++++++++----
.../public/locales/zh-TW/translation.toml | 659 ++++++++----
40 files changed, 17927 insertions(+), 7525 deletions(-)
diff --git a/frontend/public/locales/ar-AR/translation.toml b/frontend/public/locales/ar-AR/translation.toml
index 86fc71be5..66e0f7afc 100644
--- a/frontend/public/locales/ar-AR/translation.toml
+++ b/frontend/public/locales/ar-AR/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "لديك تغييرات غير محفوظة على ملف PDF. ماذا تريد أن تفعل؟"
+pendingRedactionsTitle = "تنقيحات غير مطبّقة"
+pendingRedactions = "لديك تنقيحات غير مطبّقة ستُفقد."
areYouSure = "هل أنت متأكد أنك تريد المغادرة؟"
unsavedChangesTitle = "تغييرات غير محفوظة"
keepWorking = "واصل العمل"
discardChanges = "تجاهل التغييرات"
+discardRedactions = "تجاهل والمغادرة"
applyAndContinue = "تطبيق والمتابعة"
exportAndContinue = "تصدير ومتابعة"
cancel = "إلغاء"
@@ -364,6 +367,7 @@ advanced = "متقدم"
title = "الأمان والمصادقة"
security = "الأمان"
connections = "الاتصالات"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "الترخيص والتحليلات"
@@ -438,25 +442,34 @@ currentVersion = "الإصدار الحالي"
latestVersion = "أحدث إصدار"
checkForUpdates = "التحقق من التحديثات"
viewDetails = "عرض التفاصيل"
+serverNeedsUpdate = "يحتاج الخادم إلى التحديث من قِبل المسؤول"
+
+[settings.general.versionInfo]
+title = "معلومات الإصدار"
+description = "تفاصيل إصدار سطح المكتب والخادم"
+desktop = "إصدار سطح المكتب"
+server = "إصدار الخادم"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "الأمان"
+description = "حدّث كلمة مرورك للحفاظ على أمان حسابك."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "غيّر كلمة مرورك. سيتم تسجيل خروجك بعد التحديث."
+required = "جميع الحقول مطلوبة."
+mismatch = "لا تتطابق كلمتا المرور الجديدتان."
+error = "تعذّر تحديث كلمة المرور. يرجى التحقق من كلمة المرور الحالية والمحاولة مرة أخرى."
+success = "تم تحديث كلمة المرور بنجاح. يرجى تسجيل الدخول مجددًا."
+ssoDisabled = "تتم إدارة تغييرات كلمة المرور بواسطة موفر الهوية لديك."
+current = "كلمة المرور الحالية"
+currentPlaceholder = "أدخل كلمة المرور الحالية"
+new = "كلمة مرور جديدة"
+newPlaceholder = "أدخل كلمة مرور جديدة"
+confirm = "تأكيد كلمة المرور الجديدة"
+confirmPlaceholder = "أعد إدخال كلمة المرور الجديدة"
+update = "تحديث كلمة المرور"
+
+
[settings.hotkeys]
title = "اختصارات لوحة المفاتيح"
@@ -511,16 +524,16 @@ low = "منخفض"
title = "تغيير بيانات الاعتماد"
header = "تحديث تفاصيل حسابك"
changePassword = "أنت تستخدم بيانات تسجيل الدخول الافتراضية. يرجى إدخال كلمة مرور جديدة"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "يتم إدارة حسابك بواسطة موفر الهوية."
newUsername = "اسم المستخدم الجديد"
oldPassword = "كلمة المرور الحالية"
newPassword = "كلمة المرور الجديدة"
confirmNewPassword = "تأكيد كلمة المرور الجديدة"
submit = "إرسال التغييرات"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "تم تحديث الحساب"
+description = "تم حفظ التغييرات. يرجى تسجيل الدخول مجددًا."
+error = "تعذّر تحديث اسم المستخدم. يرجى التحقق من كلمة المرور والمحاولة مرة أخرى."
+changeUsername = "حدّث اسم المستخدم. سيتم تسجيل خروجك بعد التحديث."
[account]
title = "إعدادات الحساب"
@@ -528,6 +541,8 @@ accountSettings = "إعدادات الحساب"
adminSettings = "إعدادات المسؤول - عرض وإضافة المستخدمين"
userControlSettings = "إعدادات التحكم في المستخدم"
changeUsername = "تغيير اسم المستخدم"
+changeUsernameDescription = "حدّث اسم المستخدم. سيتم تسجيل خروجك بعد التحديث."
+newUsernamePlaceholder = "أدخل اسم المستخدم الجديد"
newUsername = "اسم المستخدم الجديد"
password = "كلمة مرور التأكيد"
oldPassword = "كلمة المرور القديمة"
@@ -737,9 +752,9 @@ title = "توقيع"
desc = "إضافة التوقيع إلى PDF عن طريق الرسم أو النص أو الصورة"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "تعليق, تمييز, رسم"
+title = "تعليق"
+desc = "قم بتمييز ورسم وإضافة ملاحظات وأشكال في العارض"
[home.flatten]
tags = "تبسيط،إزالة،تفاعلي"
@@ -951,8 +966,8 @@ desc = "تراكب ملف PDF فوق آخر"
title = "تراكب ملفات PDF"
[home.pdfTextEditor]
-title = "محرر نص PDF"
-desc = "حرّر النصوص والصور الموجودة داخل ملفات PDF"
+title = "محرر نصوص PDF"
+desc = "مراجعة وتحرير صادرات Stirling PDF بصيغة JSON مع تحرير نصوص مجمّعة وإعادة إنشاء PDF"
[home.addText]
tags = "نص,تعليق,تسمية"
@@ -963,6 +978,7 @@ desc = "أضف نصاً مخصصاً في أي مكان داخل PDF"
addFiles = "إضافة ملفات"
uploadFromComputer = "الرفع من الكمبيوتر"
openFromComputer = "فتح من الكمبيوتر"
+mobileUpload = "رفع من الهاتف المحمول"
[viewPdf]
tags = "عرض,قراءة,تعليق,نص,صورة"
@@ -1278,21 +1294,33 @@ cbzOptions = "خيارات التحويل من CBZ إلى PDF"
optimizeForEbook = "تحسين PDF لقارئات الكتب الإلكترونية (يستخدم Ghostscript)"
cbzOutputOptions = "خيارات التحويل من PDF إلى CBZ"
cbzDpi = "DPI لعرض الصور"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "خيارات CBR"
+cbrOutputOptions = "خيارات تحويل PDF إلى CBR"
+cbrDpi = "DPI لعرض الصور"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "خيارات تحويل الكتب الإلكترونية إلى PDF"
+ebookOptionsDesc = "خيارات لتحويل الكتب الإلكترونية إلى PDF"
+embedAllFonts = "تضمين جميع الخطوط"
+embedAllFontsDesc = "تضمين كل الخطوط من الكتاب الإلكتروني في ملف PDF المُنشأ"
+includeTableOfContents = "تضمين جدول المحتويات"
+includeTableOfContentsDesc = "إضافة جدول محتويات مُنشأ إلى ملف PDF الناتج"
+includePageNumbers = "تضمين أرقام الصفحات"
+includePageNumbersDesc = "إضافة أرقام صفحات إلى ملف PDF المُنشأ"
+optimizeForEbookPdf = "تحسين لقارئات الكتب الإلكترونية"
+optimizeForEbookPdfDesc = "تحسين PDF لقراءة الكتب الإلكترونية (حجم ملف أصغر، عرض أفضل على أجهزة e-Ink)"
+
+[convert.epubOptions]
+epubOptions = "خيارات تحويل PDF إلى كتاب إلكتروني"
+epubOptionsDesc = "خيارات لتحويل PDF إلى EPUB/AZW3"
+detectChapters = "اكتشاف الفصول"
+detectChaptersDesc = "اكتشاف العناوين التي تبدو كفصول وإدراج فواصل صفحات EPUB"
+targetDevice = "الجهاز المستهدف"
+targetDeviceDesc = "اختر ملف إخراج مُحسّن لجهاز القراءة"
+outputFormat = "صيغة الإخراج"
+outputFormatDesc = "اختر صيغة إخراج الكتاب الإلكتروني"
+tabletPhone = "جهاز لوحي/هاتف (مع صور)"
+kindleEink = "Kindle e-Ink (تحسين للنص)"
[imageToPdf]
tags = "تحويل,صورة,jpg,صورة,صورة فوتوغرافية"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "إضافة مرفق"
remove = "إزالة المرفق"
embed = "تضمين مرفق"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "تحويل إلى PDF/A-3b"
+convertToPdfA3bDescription = "ينشئ ملف PDF للأرشفة مع مرفقات مضمنة"
+convertToPdfA3bTooltip = "PDF/A-3b هو صيغة أرشفة تضمن الحفظ على المدى الطويل. يسمح بتضمين صيغ ملفات عشوائية كمرفقات. يتطلب التحويل استخدام Ghostscript وقد يستغرق وقتًا أطول للملفات الكبيرة."
+convertToPdfA3bTooltipHeader = "حول تحويل PDF/A-3b"
+convertToPdfA3bTooltipTitle = "ما الذي يفعله"
submit = "Add attachments"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "محفوظ"
label = "رفع صورة التوقيع"
placeholder = "اختر ملف صورة"
hint = "ارفع صورة PNG أو JPG لتوقيعك"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "إزالة الخلفية البيضاء (جعلها شفافة)"
+processing = "جارٍ معالجة الصورة..."
+backgroundRemovalFailedTitle = "فشل إزالة الخلفية"
+backgroundRemovalFailedMessage = "تعذّر إزالة الخلفية من الصورة. سيتم استخدام الصورة الأصلية بدلًا من ذلك."
[sign.instructions]
title = "كيفية إضافة توقيع"
@@ -2409,9 +2437,9 @@ label = "تسطيح النماذج فقط"
desc = "تسطيح حقول النماذج فقط مع إبقاء العناصر التفاعلية الأخرى كما هي"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "DPI العرض (اختياري، يوصى بـ 150 DPI)"
+help = "اتركه فارغًا لاستخدام الإعداد الافتراضي للنظام. زيادة DPI تحسّن الحدة لكنها تزيد وقت المعالجة وحجم الملف."
+placeholder = "مثال: 150"
[flatten.results]
title = "نتائج التسطيح"
@@ -2987,7 +3015,7 @@ header = "اقتصاص PDF"
submit = "إرسال"
noFileSelected = "حدّد ملف PDF لبدء القص"
reset = "إعادة التعيين إلى كامل PDF"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "اقتصاص تلقائي للمساحات البيضاء"
[crop.preview]
title = "معاينة منطقة القص"
@@ -3218,6 +3246,7 @@ title = "طريقة التنقيح"
mode = "الوضع"
automatic = "تلقائي"
automaticDesc = "تنقيح النص بناءً على مصطلحات البحث"
+automaticDisabledTooltip = "حدد ملفات في مدير الملفات لتنقيح عدة ملفات دفعة واحدة"
manual = "يدوي"
manualDesc = "انقر واسحب لتنقيح مناطق محددة"
manualComingSoon = "التنقيح اليدوي قريبًا"
@@ -3288,8 +3317,35 @@ text = "مطابقة الكلمات الكاملة فقط، وليس المطا
title = "التحويل إلى PDF-Image"
text = "يحوّل PDF إلى PDF قائم على الصور بعد التنقيح. يضمن إزالة النص خلف صناديق التنقيح تمامًا وعدم إمكانية استعادته."
+[redact.tooltip.manual.header]
+title = "عناصر التحكم في التنقيح اليدوي"
+
+[redact.tooltip.manual.markText]
+title = "أداة تعليم النص"
+text = "حدّد نصًا مباشرة على ملف PDF لتمييزه للتنقيح. انقر واسحب لتحديد النص الذي تريد تنقيحه."
+
+[redact.tooltip.manual.markArea]
+title = "أداة تعليم المنطقة"
+text = "ارسم مناطق مستطيلة على ملف PDF لتمييز مناطق للتنقيح. مفيد لتنقيح الصور أو التوقيعات أو الأشكال غير المنتظمة."
+
+[redact.tooltip.manual.apply]
+title = "تطبيق التنقيحات"
+text = "بعد تعليم المحتوى، انقر 'تطبيق' لتنقيح جميع المناطق المعلَّمة نهائيًا. يُظهر العداد عدد التنقيحات الجاهزة للتطبيق."
+bullet1 = "قم بتعليم ما تشاء من مناطق قبل التطبيق"
+bullet2 = "تُطبَّق جميع التنقيحات المعلّقة دفعة واحدة"
+bullet3 = "لا يمكن التراجع عن التنقيحات بعد تطبيقها"
+
[redact.manual]
+title = "أدوات التنقيح"
+instructions = "حدّد نصًا أو ارسم مناطق على ملف PDF لتمييز المحتوى للتنقيح."
+markText = "تعليم النص"
+markArea = "تعليم المنطقة"
+pendingLabel = "معلّق:"
+applyWarning = "⚠️ تطبيق دائم، لا يمكن التراجع عنه وسيُحذف البيانات الموجودة تحته"
+apply = "تطبيق"
+noMarks = "لا توجد علامات تنقيح. استخدم الأدوات أعلاه لتمييز محتوى للتنقيح."
header = "تنقيح يدوي"
+controlsTitle = "عناصر التحكم في التنقيح اليدوي"
textBasedRedaction = "تنقيح قائم على النص"
pageBasedRedaction = "تنقيح حسب الصفحة"
convertPDFToImageLabel = "تحويل PDF إلى PDF-Image (لإزالة النص خلف الصندوق)"
@@ -3406,17 +3462,17 @@ label = "التقسيمات العمودية"
placeholder = "أدخل عدد التقسيمات العمودية"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "وضع التقسيم"
+description = "اختر كيفية تقسيم الصفحات"
+splitAll = "تقسيم جميع الصفحات"
+splitAllExceptFirst = "تقسيم الجميع باستثناء الأولى"
+splitAllExceptLast = "تقسيم الجميع باستثناء الأخيرة"
+splitAllExceptFirstAndLast = "تقسيم الجميع باستثناء الأولى والأخيرة"
+custom = "صفحات مخصصة"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "أرقام صفحات مخصصة"
+placeholder = "مثال: 2,4,6"
[AddStampRequest]
tags = "ختم, إضافة صورة, صورة وسط, علامة مائية, PDF, تضمين, تخصيص"
@@ -3780,17 +3836,17 @@ filesize = "حجم الملف"
label = "تطبيق التدرج الرمادي للضغط"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "تهيئة PDF خطيًا لعرض سريع على الويب"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "تحويل الصور إلى رسومات خطية"
+description = "يستخدم ImageMagick لتقليل الصفحات إلى أبيض وأسود عالي التباين لأقصى تقليل للحجم."
+unavailable = "لم يتم تثبيت ImageMagick على هذا الخادم أو لم يتم تمكينه"
+detailLevel = "مستوى التفاصيل"
+edgeEmphasis = "تركيز الحواف"
+edgeLow = "خفيف"
+edgeMedium = "متوازن"
+edgeHigh = "قوي"
[compress.tooltip.header]
title = "نظرة عامة على إعدادات الضغط"
@@ -3810,8 +3866,8 @@ title = "تدرّج رمادي"
text = "حدد هذا الخيار لتحويل جميع الصور إلى الأبيض والأسود، ما قد يقلّل حجم الملف بشكل ملحوظ خاصة لملفات PDF الممسوحة أو الكثيرة الصور."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "الرسومات الخطية"
+text = "حوّل الصفحات إلى أبيض وأسود عالي التباين باستخدام ImageMagick. استخدم مستوى التفاصيل للتحكم بكمية المحتوى الذي يصبح أسود، وتركيز الحواف للتحكم في مدى قوة اكتشاف الحواف."
[compress.error]
failed = "حدث خطأ أثناء ضغط PDF."
@@ -3826,9 +3882,9 @@ _value = "إعدادات الضغط"
1 = "1-3 ضغط PDF، 4-6 ضغط صور خفيف، 7-9 ضغط صور قوي سيقلّل جودة الصور بشكل كبير"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "القيم المنخفضة تحافظ على الجودة لكنها تنتج ملفات أكبر"
+range4to6 = "ضغط متوسط مع خفض معتدل للجودة"
+range7to9 = "القيم الأعلى تقلل حجم الملف بشكل كبير لكنها قد تقلل وضوح الصور"
[decrypt]
passwordPrompt = "هذا الملف محمي بكلمة مرور. يرجى إدخال كلمة المرور:"
@@ -3973,7 +4029,7 @@ version = "الإصدار الحالي"
title = "توثيق API"
header = "توثيق API"
desc = "عرض واختبار نقاط نهاية Stirling PDF API"
-tags = "api,توثيق,swagger,نقاط النهاية,تطوير"
+tags = "api,documentation,swagger,endpoints,development"
[cookieBanner.popUp]
title = "كيف نستخدم ملفات تعريف الارتباط"
@@ -4011,8 +4067,8 @@ title = "التحليلات"
description = "تساعدنا هذه الملفات على فهم كيفية استخدام أدواتنا، كي نركّز على بناء الميزات الأكثر قيمة لمجتمعنا. كن مطمئنًا—Stirling PDF لا يمكنه ولن يتتبع محتوى المستندات التي تعمل عليها."
[cookieBanner.services]
-posthog = "تحليلات PostHog"
-scarf = "Scarf بكسل"
+posthog = "PostHog Analytics"
+scarf = "Scarf Pixel"
[removeMetadata]
submit = "إزالة البيانات الوصفية"
@@ -4069,7 +4125,7 @@ deleteSelected = "حذف الصفحات المحددة"
closePdf = "إغلاق PDF"
exportAll = "تصدير PDF"
downloadSelected = "تنزيل الملفات المحددة"
-annotations = "Annotations"
+annotations = "تعليقات"
exportSelected = "تصدير الصفحات المحددة"
saveChanges = "حفظ التغييرات"
toggleTheme = "تبديل السِمة"
@@ -4077,84 +4133,90 @@ language = "اللغة"
toggleAnnotations = "تبديل ظهور التعليقات التوضيحية"
search = "بحث في PDF"
panMode = "وضع السحب"
+applyRedactionsFirst = "طبّق التنقيحات أولًا"
rotateLeft = "تدوير لليسار"
rotateRight = "تدوير لليمين"
toggleSidebar = "تبديل الشريط الجانبي"
toggleBookmarks = "تبديل الإشارات المرجعية"
print = "طباعة PDF"
+draw = "رسم"
+redact = "تنقيح"
+exitRedaction = "الخروج من وضع التنقيح"
+save = "حفظ"
downloadAll = "تنزيل الكل"
saveAll = "حفظ الكل"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "يسار"
+center = "وسط"
+right = "يمين"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "تعليق"
+desc = "استخدم التمييز والقلم والنص والملاحظات. تبقى التغييرات مباشرة—لا حاجة للتسطيح."
+highlight = "تمييز"
+pen = "قلم"
+text = "مربع نص"
+note = "ملاحظة"
+rectangle = "مستطيل"
+ellipse = "بيضاوي"
+select = "تحديد"
+exit = "الخروج من وضع التعليق"
+strokeWidth = "العرض"
+opacity = "العتامة"
+strokeOpacity = "عتامة الحد"
+fillOpacity = "عتامة التعبئة"
+fontSize = "حجم الخط"
+chooseColor = "اختر اللون"
+color = "اللون"
+strokeColor = "لون الحد"
+fillColor = "لون التعبئة"
+underline = "تسطير"
+strikeout = "شطب"
+squiggly = "خط متعرج"
+inkHighlighter = "أداة تمييز بخط اليد"
+freehandHighlighter = "أداة تمييز بخط اليد"
+square = "مربع"
+circle = "دائرة"
+polygon = "مضلع"
+line = "خط"
+stamp = "إضافة صورة"
+textMarkup = "وسم النص"
+drawing = "رسم"
+shapes = "أشكال"
+notesStamps = "ملاحظات وأختام"
+settings = "الإعدادات"
+borderOn = "الحد: مفعّل"
+borderOff = "الحد: معطّل"
+editInk = "تحرير القلم"
+editLine = "تحرير الخط"
+editNote = "تحرير الملاحظة"
+editText = "تحرير مربع النص"
+editTextMarkup = "تحرير وسم النص"
+editSelected = "تحرير التعليق"
+editSquare = "تحرير المربع"
+editCircle = "تحرير الدائرة"
+editPolygon = "تحرير المضلع"
+unsupportedType = "هذا النوع من التعليقات غير مدعوم بالكامل للتحرير."
+textAlignment = "محاذاة النص"
+noteIcon = "أيقونة الملاحظة"
+imagePreview = "معاينة"
+contents = "المحتوى"
+backgroundColor = "لون الخلفية"
+clearBackground = "إزالة الخلفية"
+noBackground = "بدون خلفية"
+stampSettings = "إعدادات الختم"
+savingCopy = "جارٍ تحضير التنزيل..."
+saveFailed = "تعذّر حفظ النسخة"
+saveReady = "التنزيل جاهز"
+selectAndMove = "تحديد وتحرير"
+editSelectDescription = "انقر تعليقًا موجودًا لتحرير لونه أو عتامته أو نصه أو حجمه."
+editStampHint = "لتغيير الصورة، احذف هذا الختم وأضف واحدًا جديدًا."
+editSwitchToSelect = "بدّل إلى «تحديد وتحرير» لتحرير هذا التعليق."
+undo = "تراجع"
+redo = "إعادة"
+applyChanges = "تطبيق التغييرات"
+saveChanges = "حفظ التغييرات"
[search]
title = "بحث PDF"
@@ -4205,20 +4267,20 @@ settings = "إعدادات"
adminSettings = "إعدادات المشرف"
allTools = "كل الأدوات"
reader = "القارئ"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "جولات"
+showMeAround = "أرني جولة"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "شاهد الشروحات هنا: جولة الأدوات، جولة التصميم الجديد V2، وجولة المسؤول."
+user = "شاهد الشروحات هنا: جولة الأدوات وجولة التصميم الجديد V2."
[quickAccess.helpMenu]
toolsTour = "جولة الأدوات"
toolsTourDesc = "تعرّف على ما تستطيع الأدوات فعله"
adminTour = "جولة المسؤول"
adminTourDesc = "استكشف إعدادات وميزات المسؤول"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "اطّلع على الجديد في V2"
+whatsNewTourDesc = "جولة في التصميم المُحدَّث"
[admin]
error = "خطأ"
@@ -4237,6 +4299,8 @@ fetchError = "فشل تحميل الإعدادات"
saveError = "فشل حفظ الإعدادات"
saved = "تم حفظ الإعدادات بنجاح"
saveSuccess = "تم حفظ الإعدادات بنجاح"
+success = "تم حفظ الإعدادات بنجاح"
+error = "فشل حفظ الإعدادات"
save = "حفظ التغييرات"
discard = "تجاهل"
restartRequired = "مطلوب إعادة تشغيل"
@@ -4360,6 +4424,13 @@ description = "المسار إلى ملف WeasyPrint التنفيذي لتحوي
label = "ملف unoconvert التنفيذي"
description = "المسار إلى LibreOffice unoconvert لتحويل المستندات (اتركه فارغًا للإعداد الافتراضي: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "عنوان URL للواجهة الأمامية"
+description = "عنوان URL الأساسي للواجهة الأمامية (مثل https://pdf.example.com). يُستخدم لروابط دعوات البريد الإلكتروني وعمليات الرفع عبر رمز QR على الهاتف المحمول. اتركه فارغًا لاستخدام عنوان URL للواجهة الخلفية."
+
+[admin.settings.badge]
+clickToUpgrade = "انقر لعرض تفاصيل الخطة"
+
[admin.settings.security]
title = "الأمان"
description = "تهيئة المصادقة، وسلوك تسجيل الدخول، وسياسات الأمان."
@@ -4496,6 +4567,19 @@ connect = "ربط"
disconnect = "قطع الاتصال"
disconnected = "تم قطع اتصال المزوّد بنجاح"
disconnectError = "فشل قطع اتصال المزوّد"
+mobileScannerConvertToPdf = "تحويل الصور إلى PDF"
+mobileScannerConvertToPdfDesc = "تحويل الصور المرفوعة تلقائيًا إلى صيغة PDF. إذا تم التعطيل، ستُحفظ الصور كما هي."
+mobileScannerImageResolution = "دقة الصورة"
+mobileScannerImageResolutionDesc = "دقة الصور المرفوعة. \"مخفَّضة\" تغيّر حجم الصور إلى حد أقصى 1200px لتقليل حجم الملف."
+imageResolutionFull = "كاملة (الحجم الأصلي)"
+imageResolutionReduced = "مخفَّضة (حتى 1200px)"
+mobileScannerPageFormat = "تنسيق الصفحة"
+mobileScannerPageFormatDesc = "حجم صفحة PDF للصور المحوَّلة. \"احتفاظ\" يستخدم أبعاد الصورة الأصلية."
+pageFormatKeep = "احتفاظ (الأبعاد الأصلية)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "تمديد لملء الصفحة"
+mobileScannerStretchToFitDesc = "مدّ الصور لملء الصفحة كاملة. إذا تم التعطيل، ستتم محاذاة الصور في الوسط مع الحفاظ على نسبة العرض إلى الارتفاع."
[admin.settings.connections.ssoAutoLogin]
label = "تسجيل دخول تلقائي عبر SSO"
@@ -4564,6 +4648,122 @@ description = "إنشاء حسابات المستخدمين تلقائيًا ع
label = "حظر التسجيل"
description = "منع تسجيل المستخدمين الجدد عبر SAML2"
+[admin.settings.connections.mobileScanner]
+label = "رفع من الهاتف المحمول"
+enable = "تمكين الرفع عبر رمز QR"
+description = "السماح للمستخدمين برفع الملفات من الأجهزة المحمولة عبر مسح رمز QR"
+note = "ملاحظة: يتطلب تكوين عنوان URL للواجهة الأمامية. "
+link = "الضبط في إعدادات النظام"
+mobileScannerConvertToPdf = "تحويل الصور إلى PDF"
+mobileScannerConvertToPdfDesc = "تحويل الصور المرفوعة تلقائيًا إلى صيغة PDF. إذا تم التعطيل، ستُحفظ الصور كما هي."
+mobileScannerImageResolution = "دقة الصورة"
+mobileScannerImageResolutionDesc = "دقة الصور المرفوعة. \"مخفَّضة\" تغيّر حجم الصور إلى حد أقصى 1200px لتقليل حجم الملف."
+imageResolutionFull = "كاملة (الحجم الأصلي)"
+imageResolutionReduced = "مخفَّضة (حتى 1200px)"
+mobileScannerPageFormat = "تنسيق الصفحة"
+mobileScannerPageFormatDesc = "حجم صفحة PDF للصور المحوَّلة. \"احتفاظ\" يستخدم أبعاد الصورة الأصلية."
+pageFormatKeep = "احتفاظ (الأبعاد الأصلية)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "تمديد لملء الصفحة"
+mobileScannerStretchToFitDesc = "مدّ الصور لملء الصفحة كاملة. إذا تم التعطيل، ستتم محاذاة الصور في الوسط مع الحفاظ على نسبة العرض إلى الارتفاع."
+
+[admin.settings.telegram]
+title = "روبوت Telegram"
+description = "اضبط اتصال روبوت Telegram، ضوابط الوصول، وسلوك التغذية الراجعة."
+
+[admin.settings.telegram.enabled]
+label = "تمكين روبوت Telegram"
+description = "السماح للمستخدمين بالتفاعل مع Stirling PDF عبر روبوت Telegram المُكوَّن لديك."
+
+[admin.settings.telegram.botUsername]
+label = "اسم مستخدم الروبوت"
+description = "الاسم العام لروبوت Telegram."
+
+[admin.settings.telegram.botToken]
+label = "رمز الروبوت"
+description = "رمز API المُقدَّم من BotFather لروبوت Telegram."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "مجلد الوارد"
+description = "مجلد تحت دليل خط المعالجة حيث تُخزَّن ملفات Telegram الواردة."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "استخدام لاحقة مجلد مخصصة"
+description = "إلحاق معرّف الدردشة بمجلدات الملفات الواردة لعزل الرفع لكل دردشة."
+
+[admin.settings.telegram.accessControl]
+title = "التحكم بالوصول"
+description = "تقييد المستخدمين أو القنوات التي يمكنها التفاعل مع الروبوت."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "السماح بمعرفات مستخدم محددة"
+description = "عند التمكين، يمكن فقط لمعرفات المستخدم المدرجة استخدام الروبوت."
+
+[admin.settings.telegram.allowUserIDs]
+label = "معرّفات المستخدم المسموح بها"
+description = "أدخل معرّفات مستخدم Telegram المسموح لها بالتفاعل مع الروبوت."
+placeholder = "أضف معرّف مستخدم واضغط إدخال"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "السماح بمعرفات قنوات محددة"
+description = "عند التمكين، يمكن فقط لمعرفات القنوات المدرجة استخدام الروبوت."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "معرّفات القنوات المسموح بها"
+description = "أدخل معرّفات قنوات Telegram المسموح لها بالتفاعل مع الروبوت."
+placeholder = "أضف معرّف قناة واضغط إدخال"
+
+[admin.settings.telegram.processing]
+title = "المعالجة"
+description = "التحكم بفواصل الاستطلاع ومهلات المعالجة لعمليات الرفع عبر Telegram."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "مهلة المعالجة (ثوانٍ)"
+description = "المدة القصوى لانتظار مهمة معالجة قبل الإبلاغ عن خطأ."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "فاصل الاستطلاع (مللي ثانية)"
+description = "الفاصل بين التحقق من تحديثات Telegram الجديدة."
+
+[admin.settings.telegram.feedback]
+title = "رسائل التغذية الراجعة"
+description = "اختر متى يجب أن يرسل الروبوت رسائل تغذية راجعة للمستخدمين والقنوات."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "تمكين التغذية الراجعة"
+description = "التحكم فيما إذا كان الروبوت يرسل رسائل تغذية راجعة من عدمه."
+
+[admin.settings.telegram.feedback.channel]
+title = "قواعد تغذية القنوات"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "إظهار \"لا يوجد مستند صالح\" (القناة)"
+description = "إخفاء رد عدم وجود مستند صالح لرفع القنوات."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "إظهار أخطاء المعالجة (القناة)"
+description = "إرسال رسائل أخطاء المعالجة إلى القنوات."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "إظهار رسائل الخطأ (القناة)"
+description = "إظهار رسائل خطأ مفصّلة للقنوات."
+
+[admin.settings.telegram.feedback.user]
+title = "قواعد تغذية المستخدم"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "إظهار \"لا يوجد مستند صالح\" (المستخدم)"
+description = "إخفاء رد عدم وجود مستند صالح لرفع المستخدمين."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "إظهار أخطاء المعالجة (المستخدم)"
+description = "إرسال رسائل أخطاء المعالجة إلى المستخدمين."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "إظهار رسائل الخطأ (المستخدم)"
+description = "إظهار رسائل خطأ مفصّلة للمستخدمين."
+
[admin.settings.database]
title = "قاعدة البيانات"
description = "تهيئة إعدادات اتصال قاعدة بيانات مخصصة لعمليات النشر المؤسسية."
@@ -4745,6 +4945,10 @@ description = "السماح للمسؤولين بدعوة المستخدمين
label = "عنوان URL للواجهة الأمامية"
description = "عنوان URL الأساسي للواجهة الأمامية (مثال: https://pdf.example.com). يُستخدم لإنشاء روابط الدعوة في الرسائل. اتركه فارغًا لاستخدام عنوان URL للواجهة الخلفية."
+[admin.settings.mail.frontendUrlNote]
+note = "ملاحظة: يتطلب تكوين عنوان URL للواجهة الأمامية. "
+link = "الضبط في إعدادات النظام"
+
[admin.settings.legal]
title = "الوثائق القانونية"
description = "تهيئة روابط الوثائق والسياسات القانونية."
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "ملفاتي"
noRecentFiles = "لم يتم العثور على ملفات حديثة"
googleDriveNotAvailable = "تكامل Google Drive غير متاح"
+mobileUpload = "رفع من الهاتف المحمول"
+mobileShort = "الهاتف"
+mobileUploadNotAvailable = "الرفع من الهاتف غير مُمكّن"
downloadSelected = "تنزيل المحدّد"
saveSelected = "حفظ المحدد"
openFiles = "فتح ملفات"
@@ -5244,7 +5451,7 @@ loading = "جارٍ التحميل..."
back = "رجوع"
continue = "متابعة"
error = "خطأ"
-save = "Save"
+save = "حفظ"
[config.overview]
title = "تهيئة التطبيق"
@@ -5307,6 +5514,15 @@ impact = "أي تطبيقات أو خدمات تستخدم هذه المفاتي
confirmPrompt = "هل أنت متأكد أنك تريد المتابعة؟"
confirmCta = "تحديث المفاتيح"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "خطأ في مفتاح API"
+failedToCreateApiKey = "فشل إنشاء مفتاح API."
+failedToRetrieveApiKey = "تعذّر جلب مفتاح API من الاستجابة."
+failedToFetchApiKey = "تعذّر جلب مفتاح API."
+apiKeyRefreshed = "تم تحديث مفتاح API"
+apiKeyRefreshedBody = "تم تحديث مفتاح API الخاص بك بنجاح."
+failedToRefreshApiKey = "فشل تحديث مفتاح API."
+
[AddAttachmentsRequest]
attachments = "اختر المرفقات"
info = "اختر ملفات لإرفاقها بملف PDF الخاص بك. سيتم تضمين هذه الملفات وإتاحتها عبر لوحة مرفقات PDF."
@@ -5412,14 +5628,14 @@ startTour = "بدء الجولة"
startTourDescription = "قم بجولة إرشادية للتعرّف على الميزات الرئيسية في Stirling PDF"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "ابدأ من شريط الوصول السريع للتنقل بين Reader وAutomate وملفاتك وكل الجولات."
+leftPanel = "يعرض اللوح الأيسر الأدوات كل ما يمكنك فعله. تصفّح الفئات أو ابحث للعثور على أداة بسرعة."
+fileUpload = "استخدم زر الملفات لرفع أو اختيار PDF حديث. سنحمّل نموذجًا كي ترى مساحة العمل."
+rightRail = "يحتوي الشريط الأيمن على إجراءات سريعة لاختيار الملفات وتغيير السمة أو اللغة وتنزيل النتائج."
+topBar = "يتيح لك الشريط العلوي التبديل بين العارض ومحرر الصفحات والملفات النشطة."
+pageEditorView = "بدّل إلى محرر الصفحات لإعادة الترتيب أو التدوير أو حذف الصفحات."
+activeFilesView = "استخدم الملفات النشطة لرؤية كل ما فتحته واختيار ما ستعمل عليه."
+wrapUp = "هذا ما هو جديد في V2. افتح قائمة الجولات في أي وقت لإعادة تشغيل هذه الجولة أو جولة الأدوات أو جولة المسؤول."
[onboarding.welcomeModal]
title = "مرحبًا بك في Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "أرني الجولة"
skipTheTour = "تخطي الجولة"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "نظرة عامة على الجولة"
+body = "تأتي Stirling PDF V2 بعشرات الأدوات وتصميم مُحدَّث. خذ جولة سريعة لترى ما الذي تغيّر وأين تجد الميزات التي تحتاجها."
[onboarding.serverLicense]
skip = "تخطي الآن"
@@ -5452,7 +5668,7 @@ upgrade = "الترقية الآن →"
freeTitle = "ترخيص الخادم"
overLimitTitle = "مطلوب ترخيص خادم"
overLimitBody = "ترخيصنا يسمح حتى {{freeTierLimit}} مستخدمين مجاناً لكل خادم. لديك {{overLimitUserCopy}} مستخدمي Stirling. للمتابعة دون انقطاع، ارقَ إلى خطة خادم Stirling - مقاعد غير محدودة، تحرير نصوص PDF، وتحكم إداري كامل مقابل $99/خادم/شهرياً."
-freeBody = "يتيح ترخيصنا Open-Core ما يصل إلى {{freeTierLimit}} مستخدمًا مجانًا لكل خادم. للتوسع دون انقطاع، نوصي بخطة Stirling Server - مقاعد غير محدودة ودعم SSO مقابل $99/server/mo."
+freeBody = "ترخيص Open-Core لدينا يسمح حتى {{freeTierLimit}} مستخدمين مجاناً لكل خادم. للتوسع بسلاسة والحصول على وصول مبكر إلى أداة تحرير نصوص PDF الجديدة، نوصي بخطة خادم Stirling - تحرير كامل ومقاعد غير محدودة مقابل $99/خادم/شهرياً."
[onboarding.desktopInstall]
title = "تنزيل"
@@ -5758,28 +5974,28 @@ contactSales = "اتصل بالمبيعات"
contactToUpgrade = "اتصل بنا للترقية أو تخصيص خطتك"
maxUsers = "الحد الأقصى للمستخدمين"
upTo = "حتى"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "الحصول على ترخيص الخادم"
+upgradeToEnterprise = "الترقية إلى Enterprise"
+selectPeriod = "اختيار فترة الفوترة"
+monthlyBilling = "فوترة شهرية"
+yearlyBilling = "فوترة سنوية"
+checkoutOpened = "تم فتح صفحة الدفع"
+checkoutInstructions = "أكمل عملية الشراء في تبويب Stripe. بعد الدفع، ارجع إلى هنا وحدّث الصفحة لتفعيل ترخيصك. ستتلقى أيضًا بريدًا إلكترونيًا يحتوي على مفتاح الترخيص."
+activateLicense = "فعِّل ترخيصك"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "تم فتح الدفع في تبويب جديد"
+instructions = "أكمل عملية الشراء في تبويب Stripe. عند اكتمال الدفع، ستتلقى بريدًا إلكترونيًا يحتوي على مفتاح الترخيص."
+enterKey = "أدخل مفتاح الترخيص أدناه لتفعيل خطتك:"
+keyDescription = "الصق مفتاح الترخيص من بريدك الإلكتروني"
+activate = "تفعيل الترخيص"
+doLater = "سأفعل ذلك لاحقًا"
+success = "تم تفعيل الترخيص!"
+successMessage = "تم تفعيل ترخيصك بنجاح. يمكنك الآن إغلاق هذه النافذة."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "مطلوب التحقق من البريد الإلكتروني"
+message = "ستحتاج إلى التحقق من عنوان بريدك الإلكتروني في بوابة فوترة Stripe. تحقق من بريدك للحصول على رابط تسجيل الدخول."
[plan.period]
month = "شهر"
@@ -5983,8 +6199,8 @@ notAvailable = "نظام التدقيق غير متاح"
notAvailableMessage = "لم يتم تهيئة نظام التدقيق أو أنه غير متاح."
disabled = "تم تعطيل تسجيل التدقيق"
disabledMessage = "قم بتمكين تسجيل التدقيق في إعدادات التطبيق لتتبع أحداث النظام."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "يتطلب ترخيص Enterprise"
+enterpriseRequiredMessage = "نظام سجلات التدقيق ميزة ضمن فئة Enterprise. يرجى الترقية إلى ترخيص Enterprise للوصول إلى سجلات التدقيق والتحليلات."
[audit.error]
title = "خطأ في تحميل نظام التدقيق"
@@ -6156,6 +6372,7 @@ description = "أدخل عنوان URL الكامل لخادم Stirling PDF ال
[setup.server.error]
emptyUrl = "يرجى إدخال عنوان URL للخادم"
+invalidUrl = "صيغة URL غير صالحة. يرجى إدخال عنوان URL صالح مثل https://your-server.com"
unreachable = "تعذّر الاتصال بالخادم"
testFailed = "فشل اختبار الاتصال"
configFetch = "فشل في جلب إعدادات الخادم. يرجى التحقق من عنوان URL والمحاولة مرة أخرى."
@@ -6174,6 +6391,7 @@ connectingTo = "جارٍ الاتصال بـ:"
submit = "تسجيل الدخول"
signInWith = "تسجيل الدخول باستخدام"
oauthPending = "جارٍ فتح المتصفح للمصادقة..."
+sso = "تسجيل الدخول الموحد"
orContinueWith = "أو المتابعة بالبريد الإلكتروني"
serverRequirement = "ملاحظة: يجب أن يكون تسجيل الدخول مفعّلاً على الخادم."
showInstructions = "كيفية التمكين؟"
@@ -6239,8 +6457,8 @@ reset = "إعادة تعيين التغييرات"
downloadJson = "تنزيل JSON"
generatePdf = "توليد PDF"
saveChanges = "حفظ التغييرات"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "تطبيق التغييرات"
+downloadCopy = "تنزيل نسخة"
[pdfTextEditor.options.autoScaleText]
title = "ضبط النص تلقائياً ليتناسب مع الصناديق"
@@ -6260,22 +6478,22 @@ title = "قفل النص المُحرّر ضمن عنصر PDF واحد"
description = "عند التفعيل، يصدّر المحرر كل صندوق نص مُحرّر كعنصر نص PDF واحد لتجنب تراكب المحارف أو اختلاط الخطوط."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "إعدادات متقدمة"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "قيود المعاينة"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "تركيز النص والصورة"
+text = "يركّز هذا المجال على تحرير النص وإعادة تموضع الصور المضمّنة. ستُحفَظ الأعمال الفنية المعقّدة وعناصر النماذج والرسومات الطبقية للتصدير لكنها غير قابلة للتحرير بالكامل هنا."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "اختلاف المعاينة"
+text = "قد لا تظهر بعض العناصر البصرية (مثل حدود الجداول أو الأشكال أو مظهر التعليقات) تمامًا كما هي في المعاينة. يحتفظ PDF المُصدَّر بأوامر الرسم الأصلية كلما أمكن."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "عارض ألفا"
+text = "هذا العارض الألفا ما يزال قيد التطوير—قد تتغيّر بعض الخطوط والألوان وتأثيرات الشفافية وتفاصيل التخطيط قليلًا. يرجى التحقق من ملف PDF المُولَّد قبل المشاركة."
[pdfTextEditor.manual]
mergeTooltip = "دمج الصناديق المحددة"
@@ -6398,3 +6616,58 @@ title = "نتائج إضافة النص"
[addText.error]
failed = "حدث خطأ أثناء إضافة النص إلى ملف PDF."
+
+[mobileUpload]
+title = "رفع من الهاتف المحمول"
+description = "امسح ضوئيًا لرفع الصور. تتحول الصور تلقائيًا إلى PDF."
+descriptionNoConvert = "امسح ضوئيًا لرفع الصور من جهازك المحمول."
+error = "خطأ في الاتصال"
+pollingError = "خطأ أثناء التحقق من الملفات"
+sessionId = "معرّف الجلسة"
+sessionCreateError = "فشل إنشاء الجلسة"
+expiryWarning = "ستنتهي صلاحية الجلسة قريبًا"
+expiryWarningMessage = "ستنتهي صلاحية رمز QR هذا خلال {{seconds}} ثانية. سيتم توليد رمز جديد تلقائيًا."
+filesReceived = "تم استلام {{count}} ملف"
+connected = "تم توصيل الجهاز المحمول"
+instructions = "امسح باستخدام كاميرا هاتفك. تُحوَّل الصور إلى PDF تلقائيًا."
+instructionsNoConvert = "امسح باستخدام كاميرا هاتفك لرفع الملفات."
+
+[mobileScanner]
+title = "الماسح عبر الهاتف"
+noSession = "جلسة غير صالحة"
+noSessionMessage = "يرجى مسح رمز QR صالح للوصول إلى هذه الصفحة."
+validating = "جارٍ التحقق من الجلسة..."
+sessionInvalid = "خطأ في الجلسة"
+sessionExpired = "انتهت صلاحية هذه الجلسة. يرجى التحديث والمحاولة مرة أخرى."
+sessionNotFound = "الجلسة غير موجودة. يرجى التحديث والمحاولة مرة أخرى."
+sessionValidationError = "تعذّر التحقق من الجلسة. يرجى المحاولة مرة أخرى."
+uploadSuccess = "تم الرفع بنجاح!"
+uploadSuccessMessage = "تم نقل صورك."
+httpsRequired = "يتطلب الوصول إلى الكاميرا HTTPS أو localhost. يرجى استخدام HTTPS أو الوصول عبر localhost."
+uploadFailed = "فشل الرفع. يرجى المحاولة مرة أخرى."
+uploading = "جارٍ الرفع..."
+connected = "متصل"
+connecting = "جارٍ الاتصال..."
+chooseMethod = "اختر طريقة الرفع"
+chooseMethodDescription = "حدّد كيف تريد مسح المستندات ورفعها"
+camera = "الكاميرا"
+cameraDescription = "امسح المستندات بكاميرا جهازك مع اكتشاف تلقائي للحواف"
+fileUpload = "رفع ملف"
+fileDescription = "ارفع صورًا أو مستندات موجودة من جهازك"
+cameraAccessDenied = "تم رفض الوصول إلى الكاميرا. يرجى تمكين الوصول إلى الكاميرا."
+back = "رجوع"
+settings = "الإعدادات"
+edgeDetection = "اكتشاف الحواف"
+flashlight = "المصباح"
+flash = "فلاش"
+processing = "جارٍ المعالجة..."
+capture = "التقاط صورة"
+selectFilesPrompt = "اختر الملفات للرفع"
+selectImage = "اختر صورة"
+preview = "معاينة"
+retake = "إعادة الالتقاط"
+addToBatch = "إضافة إلى الدفعة"
+upload = "رفع"
+batchImages = "دفعة"
+clearBatch = "مسح"
+uploadAll = "رفع الكل"
diff --git a/frontend/public/locales/az-AZ/translation.toml b/frontend/public/locales/az-AZ/translation.toml
index b1de662df..a3f78733d 100644
--- a/frontend/public/locales/az-AZ/translation.toml
+++ b/frontend/public/locales/az-AZ/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "PDF-də saxlanmamış dəyişiklikləriniz var."
+pendingRedactionsTitle = "Tətbiq olunmamış məxfiləşdirmələr"
+pendingRedactions = "Tətbiq olunmamış məxfiləşdirmələriniz var; onlar itiriləcək."
areYouSure = "Çıxmaq istədiyinizə əminsiniz?"
unsavedChangesTitle = "Saxlanmamış dəyişikliklər"
keepWorking = "İşə davam et"
discardChanges = "Ləğv et və çıx"
+discardRedactions = "İmtina et və çıx"
applyAndContinue = "Saxla və çıx"
exportAndContinue = "İxrac et və davam et"
cancel = "Ləğv et"
@@ -364,6 +367,7 @@ advanced = "Qabaqcıl"
title = "Təhlükəsizlik və Autentifikasiya"
security = "Təhlükəsizlik"
connections = "Bağlantılar"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Lisenziyalaşdırma və Analitika"
@@ -438,25 +442,34 @@ currentVersion = "Cari versiya"
latestVersion = "Ən son versiya"
checkForUpdates = "Yeniləmələri yoxla"
viewDetails = "Ətraflı bax"
+serverNeedsUpdate = "Server administrator tərəfindən yenilənməlidir"
+
+[settings.general.versionInfo]
+title = "Versiya məlumatı"
+description = "Masaüstü və server versiya detalları"
+desktop = "Masaüstü versiyası"
+server = "Server versiyası"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Təhlükəsizlik"
+description = "Hesabınızı təhlükəsiz saxlamaq üçün parolunuzu yeniləyin."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Parolunuzu dəyişin. Yenilədikdən sonra çıxış ediləcəksiniz."
+required = "Bütün sahələr tələb olunur."
+mismatch = "Yeni parollar uyğun gəlmir."
+error = "Parolu yeniləmək mümkün olmadı. Cari parolunuzu yoxlayın və yenidən cəhd edin."
+success = "Parol uğurla yeniləndi. Zəhmət olmasa yenidən daxil olun."
+ssoDisabled = "Parol dəyişiklikləri kimlik təminatçınız tərəfindən idarə olunur."
+current = "Cari parol"
+currentPlaceholder = "Cari parolunuzu daxil edin"
+new = "Yeni parol"
+newPlaceholder = "Yeni parol daxil edin"
+confirm = "Yeni parolu təsdiqləyin"
+confirmPlaceholder = "Yeni parolunuzu yenidən daxil edin"
+update = "Parolu yenilə"
+
+
[settings.hotkeys]
title = "Klaviatura qısayolları"
@@ -511,16 +524,16 @@ low = "Aşağı"
title = "Məlumatları dəyişdirin"
header = "Hesab Məlumatlarınızı Yeniləyin"
changePassword = "Siz standart giriş məlumatlarından istifadə edirsiniz. Zəhmət olmasa, yeni şifr daxil edin"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Hesabınız kimlik təminatçınız tərəfindən idarə olunur."
newUsername = "Yeni İstifadəçi Adı"
oldPassword = "Cari Şifr"
newPassword = "Yeni Şifr"
confirmNewPassword = "Yeni Şifri Təsdiqləyin"
submit = "Dəyişiklikləri Təsdiqlə"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Hesab yeniləndi"
+description = "Dəyişikliklər yadda saxlanıldı. Zəhmət olmasa yenidən daxil olun."
+error = "İstifadəçi adını yeniləmək mümkün olmadı. Zəhmət olmasa parolunuzu yoxlayın və yenidən cəhd edin."
+changeUsername = "İstifadəçi adınızı yeniləyin. Yenilədikdən sonra çıxış ediləcəksiniz."
[account]
title = "Hesab Parametrləri"
@@ -528,6 +541,8 @@ accountSettings = "Hesab Parametrləri"
adminSettings = "Admin Paramterləri - İstifadəçilər Əlavə Et və Onlara Bax"
userControlSettings = "İstifadəçi İdarəetmə Parametrləri"
changeUsername = "İstifadəçi Adını Dəyiş"
+changeUsernameDescription = "İstifadəçi adınızı yeniləyin. Yenilədikdən sonra çıxış ediləcəksiniz."
+newUsernamePlaceholder = "Yeni istifadəçi adınızı daxil edin"
newUsername = "Yeni İstifadəçi Adı"
password = "Təsdiqləmə Şifri"
oldPassword = "Keçmiş Şifr"
@@ -737,9 +752,9 @@ title = "İmzala"
desc = "Mətn, şəkil və ya əllə çəkmə üsulu ilə PDF-ə imza əlavə edir"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "annotasiya,vurğulama,çəkmə"
+title = "Annotasiya"
+desc = "Vurğulayın, çəkin, qeydlər və fiqurlar əlavə edin görüntüləyicidə"
[home.flatten]
tags = "sadələşdir,sil,interaktiv"
@@ -952,7 +967,7 @@ title = "Üst-Üstə Qoy"
[home.pdfTextEditor]
title = "PDF Mətn Redaktoru"
-desc = "PDF-lərin içindəki mövcud mətn və şəkilləri redaktə edin"
+desc = "Qruplaşdırılmış mətn redaktəsi və PDF yenidən yaradılması ilə Stirling PDF JSON ixraclarını nəzərdən keçirin və redaktə edin"
[home.addText]
tags = "mətn,şərh,etiket"
@@ -963,6 +978,7 @@ desc = "PDF faylınıza istənilən yerə mətn əlavə edin"
addFiles = "Fayllar əlavə et"
uploadFromComputer = "Kompüterdən yüklə"
openFromComputer = "Komputerdən aç"
+mobileUpload = "Mobil cihazdan yüklə"
[viewPdf]
tags = "bax,oxu,sitat götür,mətn,şəkil"
@@ -1278,21 +1294,33 @@ cbzOptions = "CBZ to PDF seçimləri"
optimizeForEbook = "PDF-i e-oxuyucular üçün optimallaşdır (Ghostscript istifadə olunur)"
cbzOutputOptions = "PDF to CBZ seçimləri"
cbzDpi = "Şəkil göstərilməsi üçün DPI"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "CBR seçimləri"
+cbrOutputOptions = "PDF-dən CBR-ə seçimlər"
+cbrDpi = "Şəkil göstərilməsi üçün DPI"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "eBook-dan PDF-ə seçimlər"
+ebookOptionsDesc = "eBook-ları PDF-ə çevirmə üçün seçimlər"
+embedAllFonts = "Bütün şriftləri daxil et"
+embedAllFontsDesc = "eBook-dakı bütün şriftləri yaradılan PDF-ə daxil et"
+includeTableOfContents = "Mündəricatı daxil et"
+includeTableOfContentsDesc = "Nəticə PDF-ə yaradılmış mündəricat əlavə edin"
+includePageNumbers = "Səhifə nömrələrini daxil et"
+includePageNumbersDesc = "Yaradılan PDF-ə səhifə nömrələri əlavə edin"
+optimizeForEbookPdf = "eBook oxuyucular üçün optimallaşdır"
+optimizeForEbookPdfDesc = "PDF-i eBook oxuma üçün optimallaşdır (kiçik fayl ölçüsü, eInk cihazlarda daha yaxşı göstərmə)"
+
+[convert.epubOptions]
+epubOptions = "PDF-dən eBook-a seçimlər"
+epubOptionsDesc = "PDF-i EPUB/AZW3-ə çevirmə üçün seçimlər"
+detectChapters = "Fəsilləri aşkar et"
+detectChaptersDesc = "Fəsilə bənzər başlıqları aşkar edib EPUB səhifə qırılmaları əlavə et"
+targetDevice = "Hədəf cihaz"
+targetDeviceDesc = "Oxuyucu cihaz üçün optimallaşdırılmış çıxış profilini seçin"
+outputFormat = "Çıxış formatı"
+outputFormatDesc = "eBook üçün çıxış formatını seçin"
+tabletPhone = "Planşet/Telefon (şəkillərlə)"
+kindleEink = "Kindle e-Ink (mətn üçün optimallaşdırılıb)"
[imageToPdf]
tags = "çevirmə,şəkil,jpg,fotoşəkil,foto"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "Əlavə et"
remove = "Əlavəni sil"
embed = "Əlavəni yerləşdir"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "PDF/A-3b-ə çevir"
+convertToPdfA3bDescription = "Daxil edilmiş qoşmalarla arxivləmə üçün PDF yaradır"
+convertToPdfA3bTooltip = "PDF/A-3b uzunmüddətli saxlanmanı təmin edən arxiv formatıdır. Qoşma kimi istənilən fayl formatlarının əlavə edilməsinə imkan verir. Çevirmə üçün Ghostscript tələb olunur və böyük fayllar üçün daha uzun çəkə bilər."
+convertToPdfA3bTooltipHeader = "PDF/A-3b çevirməsi haqqında"
+convertToPdfA3bTooltipTitle = "Nə edir"
submit = "Add attachments"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "Saxlanmış"
label = "İmza şəklini yüklə"
placeholder = "Şəkil faylı seç"
hint = "İmzanızın PNG və ya JPG şəklini yükləyin"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Ağ arxa fonu sil (şəffaf et)"
+processing = "Şəkil emal edilir..."
+backgroundRemovalFailedTitle = "Arxa fonun silinməsi alınmadı"
+backgroundRemovalFailedMessage = "Şəkildən arxa fonu silmək mümkün olmadı. Əvəzində orijinal şəkildən istifadə ediləcək."
[sign.instructions]
title = "İmza necə əlavə olunur"
@@ -2409,9 +2437,9 @@ label = "Yalnız formaları düzəldin"
desc = "Yalnız forma sahələrini yastılaşdırın, digər interaktiv elementlər toxunulmaz qalsın"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "Render DPI-si (ixtiyari, tövsiyə 150 DPI)"
+help = "Sistem susmaya görə dəyərini istifadə etmək üçün boş buraxın. Yüksək DPI çıxışı kəskinləşdirir, lakin emal vaxtını və fayl ölçüsünü artırır."
+placeholder = "məs. 150"
[flatten.results]
title = "Yastılaşdırma nəticələri"
@@ -2987,7 +3015,7 @@ header = "Pdf-ləri Kəs"
submit = "Təsdiq Et"
noFileSelected = "Kəsməyə başlamaq üçün bir PDF faylı seçin"
reset = "Tam PDF-ə sıfırla"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Boşluqları avtomatik qırp"
[crop.preview]
title = "Kəsmə sahəsinin seçimi"
@@ -3218,6 +3246,7 @@ title = "Məxfiləşdirmə üsulu"
mode = "Rejim"
automatic = "Avtomatik"
automaticDesc = "Axtarış terminlərinə əsasən mətni məxfiləşdirin"
+automaticDisabledTooltip = "Birdən çox faylı birdən məxfiləşdirmək üçün fayl idarəçisində faylları seçin"
manual = "Əl ilə"
manualDesc = "Müəyyən sahələri məxfiləşdirmək üçün klikləyin və sürüşdürün"
manualComingSoon = "Əl ilə məxfiləşdirmə tezliklə"
@@ -3288,8 +3317,35 @@ text = "Yalnız tam sözlərə uyğun gəlsin, qismən uyğunluqları tutmasın.
title = "PDF-Image-ə çevir"
text = "Məxfiləşdirmədən sonra PDF-i şəkil əsaslı PDF-ə çevirir. Bu, məxfiləşdirmə qutularının arxasındakı mətnin tamamilə silinib bərpaolunmaz olmasını təmin edir."
+[redact.tooltip.manual.header]
+title = "Əl ilə məxfiləşdirmə idarələri"
+
+[redact.tooltip.manual.markText]
+title = "Mətni işarələmə aləti"
+text = "Məxfiləşdirmək üçün mətni PDF üzərində birbaşa seçin. Məxfiləşdirmək istədiyiniz konkret mətni vurğulamaq üçün klikləyib sürüşdürün."
+
+[redact.tooltip.manual.markArea]
+title = "Sahəni işarələmə aləti"
+text = "Məxfiləşdirmə üçün PDF üzərində düzbucaqlı sahələr çəkin. Şəkillər, imzalar və ya nizamsız fiqurları məxfiləşdirmək üçün faydalıdır."
+
+[redact.tooltip.manual.apply]
+title = "Məxfiləşdirmələri tətbiq et"
+text = "Məzmunu işarələdikdən sonra 'Tətbiq et' düyməsinə klikləyin ki, bütün işarəli sahələr daimi məxfiləşdirilsin. Gözləyən say neçə məxfiləşdirmənin tətbiqə hazır olduğunu göstərir."
+bullet1 = "Tətbiq etməzdən əvvəl lazım olduğu qədər sahə işarələyin"
+bullet2 = "Bütün gözləyən məxfiləşdirmələr eyni anda tətbiq olunur"
+bullet3 = "Tətbiqdən sonra məxfiləşdirmələri geri qaytarmaq olmur"
+
[redact.manual]
+title = "Məxfiləşdirmə alətləri"
+instructions = "Məxfiləşdirmə üçün məzmunu işarələmək məqsədilə PDF-də mətn seçin və ya sahələr çəkin."
+markText = "Mətni işarələ"
+markArea = "Sahəni işarələ"
+pendingLabel = "Gözləyir:"
+applyWarning = "⚠️ Daimi tətbiqdir, geri qaytarıla bilməz və altındakı məlumat silinəcək"
+apply = "Tətbiq et"
+noMarks = "Məxfiləşdirmə işarələri yoxdur. Məxfiləşdirmək üçün yuxarıdakı alətlərdən istifadə edin."
header = "Əl ilə məxfiləşdirmə"
+controlsTitle = "Əl ilə məxfiləşdirmə idarələri"
textBasedRedaction = "Mətn əsaslı məxfiləşdirmə"
pageBasedRedaction = "Səhifə əsaslı məxfiləşdirmə"
convertPDFToImageLabel = "PDF-i PDF-Image-ə çevir (Qutunun arxasındakı mətni silmək üçün istifadə olunur)"
@@ -3406,17 +3462,17 @@ label = "Şaquli bölmələr"
placeholder = "Şaquli bölmələrin sayını daxil edin"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Bölmə rejimi"
+description = "Səhifələri necə bölmək istədiyinizi seçin"
+splitAll = "Bütün səhifələri böl"
+splitAllExceptFirst = "Birincidən başqa hamısını böl"
+splitAllExceptLast = "Sonuncudan başqa hamısını böl"
+splitAllExceptFirstAndLast = "Birinci və sonuncudan başqa hamısını böl"
+custom = "Fərdi səhifələr"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Fərdi səhifə nömrələri"
+placeholder = "məs. 2,4,6"
[AddStampRequest]
tags = "Möhür, Şəkil əlavə et, şəkli ortala, Watermark, PDF, Embed, Fərdiləşdir"
@@ -3780,17 +3836,17 @@ filesize = "Fayl Ölçüsü"
label = "Sıxma üçün Boz Rəng Tətbiq Edin"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Sürətli veb görüntüləmə üçün PDF-i linearlaşdır"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Şəkilləri xətt qrafikasına çevir"
+description = "Maksimum ölçü azaldılması üçün ImageMagick istifadə edərək səhifələri yüksək kontrastlı ağ-qara edir."
+unavailable = "ImageMagick bu serverdə quraşdırılmayıb və ya aktiv deyil"
+detailLevel = "Detallar səviyyəsi"
+edgeEmphasis = "Kənar vurğulaması"
+edgeLow = "Yumşaq"
+edgeMedium = "Balanslı"
+edgeHigh = "Güclü"
[compress.tooltip.header]
title = "Sıxma ayarlarına ümumi baxış"
@@ -3810,8 +3866,8 @@ title = "Boz tonlama"
text = "Bütün şəkilləri ağ-qara çevirmək üçün bu seçimi seçin; xüsusilə skan edilmiş PDF-lər və ya şəkil çox olan sənədlər üçün fayl ölçüsünü əhəmiyyətli dərəcədə azalda bilər."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "Xətt qrafikası"
+text = "ImageMagick vasitəsilə səhifələri yüksək kontrastlı ağ-qara rəngə çevirir. Detallar səviyyəsi ilə nə qədər məzmunun qara olacağını, kənar vurğulaması ilə isə kənarların nə dərəcədə aqressiv aşkarlanacağını idarə edin."
[compress.error]
failed = "PDF sıxılarkən xəta baş verdi."
@@ -3826,9 +3882,9 @@ _value = "Sıxma ayarları"
1 = "1-3 PDF sıxılması, 4-6 yüngül şəkil sıxması, 7-9 güclü şəkil sıxması Şəkil keyfiyyətini əhəmiyyətli dərəcədə azaldacaq"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Aşağı dəyərlər keyfiyyəti qoruyur, lakin daha böyük fayl ölçüsü yaradır"
+range4to6 = "Orta sıxma, orta keyfiyyət azalması ilə"
+range7to9 = "Yüksək dəyərlər fayl ölçüsünü əhəmiyyətli dərəcədə azaldır, lakin şəkil aydınlığını azalda bilər"
[decrypt]
passwordPrompt = "Bu fayl parol ilə qorunub. Zəhmət olmasa parolu daxil edin:"
@@ -4069,7 +4125,7 @@ deleteSelected = "Seçilmiş səhifələri sil"
closePdf = "PDF-i bağla"
exportAll = "PDF-i ixrac et"
downloadSelected = "Seçilmiş faylları yüklə"
-annotations = "Annotations"
+annotations = "Annotasiyalar"
exportSelected = "Seçilmiş səhifələri ixrac et"
saveChanges = "Dəyişiklikləri yadda saxla"
toggleTheme = "Mövzunu dəyiş"
@@ -4077,84 +4133,90 @@ language = "Dil"
toggleAnnotations = "Annotasiyaların görünməsini dəyiş"
search = "PDF-də axtar"
panMode = "Sürüşdürmə rejimi"
+applyRedactionsFirst = "Əvvəlcə məxfiləşdirmələri tətbiq edin"
rotateLeft = "Sola döndər"
rotateRight = "Sağa döndər"
toggleSidebar = "Yan paneli aç/bağla"
toggleBookmarks = "Əlfəcinləri aç/bağla"
print = "PDF-i çap et"
+draw = "Rəsm çək"
+redact = "Məxfiləşdir"
+exitRedaction = "Məxfiləşdirmə rejimindən çıx"
+save = "Yadda saxla"
downloadAll = "Hamısını yüklə"
saveAll = "Hamısını saxla"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Sol"
+center = "Mərkəz"
+right = "Sağ"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "Annotasiya"
+desc = "Vurğulama, qələm, mətn və qeydlərdən istifadə edin. Dəyişikliklər canlı qalır — düzləndirməyə ehtiyac yoxdur."
+highlight = "Vurğula"
+pen = "Qələm"
+text = "Mətn qutusu"
+note = "Qeyd"
+rectangle = "Düzbucaqlı"
+ellipse = "Ellips"
+select = "Seç"
+exit = "Annotasiya rejimindən çıx"
+strokeWidth = "Qalınlıq"
+opacity = "Şəffaflıq"
+strokeOpacity = "Kontur şəffaflığı"
+fillOpacity = "Doldurma şəffaflığı"
+fontSize = "Şrift ölçüsü"
+chooseColor = "Rəng seçin"
+color = "Rəng"
+strokeColor = "Kontur rəngi"
+fillColor = "Doldurma rəngi"
+underline = "Altını cız"
+strikeout = "Üstündən xətt çək"
+squiggly = "Dalğalı"
+inkHighlighter = "Sərbəst vurğulayıcı"
+freehandHighlighter = "Sərbəst vurğulayıcı"
+square = "Kvadrat"
+circle = "Dairə"
+polygon = "Çoxbucaqlı"
+line = "Xətt"
+stamp = "Şəkil əlavə et"
+textMarkup = "Mətn işarələmə"
+drawing = "Rəsm"
+shapes = "Fiqurlar"
+notesStamps = "Qeydlər və möhürlər"
+settings = "Ayarlar"
+borderOn = "Kənarlıq: Açıq"
+borderOff = "Kənarlıq: Bağlı"
+editInk = "Qələmi redaktə et"
+editLine = "Xətti redaktə et"
+editNote = "Qeydi redaktə et"
+editText = "Mətn qutusunu redaktə et"
+editTextMarkup = "Mətn işarələməni redaktə et"
+editSelected = "Annotasiyanı redaktə et"
+editSquare = "Kvadratı redaktə et"
+editCircle = "Dairəni redaktə et"
+editPolygon = "Çoxbucaqlını redaktə et"
+unsupportedType = "Bu annotasiya növü redaktə üçün tam dəstəklənmir."
+textAlignment = "Mətnin hizalanması"
+noteIcon = "Qeyd ikonu"
+imagePreview = "Ön baxış"
+contents = "Mətn"
+backgroundColor = "Arxa fon rəngi"
+clearBackground = "Arxa fonu sil"
+noBackground = "Arxa fon yoxdur"
+stampSettings = "Möhür ayarları"
+savingCopy = "Endirmə hazırlanır..."
+saveFailed = "Nüsxəni saxlamaq mümkün olmadı"
+saveReady = "Endirmə hazırdır"
+selectAndMove = "Seç və redaktə et"
+editSelectDescription = "Mövcud annotasiyanın rəngini, şəffaflığını, mətnini və ya ölçüsünü redaktə etmək üçün onu klikləyin."
+editStampHint = "Şəkli dəyişmək üçün bu möhürü silin və yenisini əlavə edin."
+editSwitchToSelect = "Bu annotasiyanı redaktə etmək üçün Seç və Redaktə et rejiminə keçin."
+undo = "Geri al"
+redo = "Yenidən et"
+applyChanges = "Dəyişiklikləri tətbiq et"
+saveChanges = "Dəyişiklikləri yadda saxla"
[search]
title = "PDF-də axtar"
@@ -4205,20 +4267,20 @@ settings = "Ayarlar"
adminSettings = "Admin Ayarları"
allTools = "All Tools"
reader = "Oxuyucu"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Turlar"
+showMeAround = "Məni gəzdir"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Bələdçiləri buradan izləyin: Alətlər turu, Yeni V2 tərtibat turu və Admin turu."
+user = "Bələdçiləri buradan izləyin: Alətlər turu və Yeni V2 tərtibat turu."
[quickAccess.helpMenu]
toolsTour = "Alətlər Turu"
toolsTourDesc = "Alətlərin nələr etdiyini öyrənin"
adminTour = "Admin Turu"
adminTourDesc = "Admin ayarlarını və funksiyaları kəşf edin"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "V2-də yeniliklərə baxın"
+whatsNewTourDesc = "Yenilənmiş tərtibat turu"
[admin]
error = "Xəta"
@@ -4237,6 +4299,8 @@ fetchError = "Ayarları yükləmək mümkün olmadı"
saveError = "Ayarları saxlamaq mümkün olmadı"
saved = "Ayarlar uğurla yadda saxlanıldı"
saveSuccess = "Ayarlar uğurla yadda saxlanıldı"
+success = "Ayarlar uğurla yadda saxlanıldı"
+error = "Ayarları yadda saxlamaq mümkün olmadı"
save = "Dəyişiklikləri yadda saxla"
discard = "Ləğv et"
restartRequired = "Yenidən başlatmaq tələb olunur"
@@ -4360,6 +4424,13 @@ description = "HTML-dən PDF-ə çevirmə üçün WeasyPrint icra faylına yol (
label = "Unoconvert İcra faylı"
description = "Sənəd çevirmələri üçün LibreOffice unoconvert yolunun göstərilməsi (defolt üçün boş saxlayın: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "Frontend URL"
+description = "Frontend üçün əsas URL (məs., https://pdf.example.com). E-poçt dəvət linkləri və mobil QR kod yükləmələri üçün istifadə olunur. Boş saxlayın ki, backend URL istifadə edilsin."
+
+[admin.settings.badge]
+clickToUpgrade = "Plan detalları üçün klikləyin"
+
[admin.settings.security]
title = "Təhlükəsizlik"
description = "Autentifikasiya, giriş davranışı və təhlükəsizlik siyasətlərini konfiqurasiya edin."
@@ -4496,6 +4567,19 @@ connect = "Qoşul"
disconnect = "Ayır"
disconnected = "Provayder uğurla ayrıldı"
disconnectError = "Provayderi ayırmaq alınmadı"
+mobileScannerConvertToPdf = "Şəkilləri PDF-ə çevir"
+mobileScannerConvertToPdfDesc = "Yüklənən şəkilləri avtomatik olaraq PDF formatına çevir. Deaktiv edilsə, şəkillər olduğu kimi saxlanılacaq."
+mobileScannerImageResolution = "Şəkil rezolyusiyası"
+mobileScannerImageResolutionDesc = "Yüklənən şəkillərin rezolyusiyası. \"Azaldılmış\" ölçü fayl ölçüsünü azaltmaq üçün şəkilləri maksimum 1200px-ə miqyaslayır."
+imageResolutionFull = "Tam (Orijinal ölçü)"
+imageResolutionReduced = "Azaldılmış (Maks 1200px)"
+mobileScannerPageFormat = "Səhifə formatı"
+mobileScannerPageFormatDesc = "Çevrilmiş şəkillər üçün PDF səhifə ölçüsü. \"Saxla\" orijinal şəkil ölçülərindən istifadə edir."
+pageFormatKeep = "Saxla (Orijinal ölçülər)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Səhifəyə sığdır"
+mobileScannerStretchToFitDesc = "Şəkilləri bütün səhifəni dolduracaq şəkildə uzat. Deaktiv edilsə, şəkillər nisbət qorunmaqla mərkəzləşdirilir."
[admin.settings.connections.ssoAutoLogin]
label = "SSO Avto Giriş"
@@ -4564,6 +4648,122 @@ description = "İlk SAML2 girişi zamanı istifadəçi hesablarını avtomatik y
label = "Qeydiyyatı blokla"
description = "SAML2 vasitəsilə yeni istifadəçi qeydiyyatının qarşısını al"
+[admin.settings.connections.mobileScanner]
+label = "Mobil telefondan yükləmə"
+enable = "QR kod yükləməsini aktiv et"
+description = "İstifadəçilərə QR kodu skan edərək mobil cihazlardan fayl yükləməyə icazə verin"
+note = "Qeyd: Frontend URL konfiqurasiyası tələb olunur. "
+link = "Sistem ayarlarında konfiqurasiya et"
+mobileScannerConvertToPdf = "Şəkilləri PDF-ə çevir"
+mobileScannerConvertToPdfDesc = "Yüklənən şəkilləri avtomatik olaraq PDF formatına çevir. Deaktiv edilsə, şəkillər olduğu kimi saxlanılacaq."
+mobileScannerImageResolution = "Şəkil rezolyusiyası"
+mobileScannerImageResolutionDesc = "Yüklənən şəkillərin rezolyusiyası. \"Azaldılmış\" ölçü fayl ölçüsünü azaltmaq üçün şəkilləri maksimum 1200px-ə miqyaslayır."
+imageResolutionFull = "Tam (Orijinal ölçü)"
+imageResolutionReduced = "Azaldılmış (Maks 1200px)"
+mobileScannerPageFormat = "Səhifə formatı"
+mobileScannerPageFormatDesc = "Çevrilmiş şəkillər üçün PDF səhifə ölçüsü. \"Saxla\" orijinal şəkil ölçülərindən istifadə edir."
+pageFormatKeep = "Saxla (Orijinal ölçülər)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Səhifəyə sığdır"
+mobileScannerStretchToFitDesc = "Şəkilləri bütün səhifəni dolduracaq şəkildə uzat. Deaktiv edilsə, şəkillər nisbət qorunmaqla mərkəzləşdirilir."
+
+[admin.settings.telegram]
+title = "Telegram botu"
+description = "Telegram bot bağlantısını, giriş nəzarətlərini və geribildirim davranışını konfiqurasiya edin."
+
+[admin.settings.telegram.enabled]
+label = "Telegram botunu aktiv et"
+description = "İstifadəçilərin Stirling PDF ilə konfiqurasiya etdiyiniz Telegram botu vasitəsilə qarşılıqlı əlaqə qurmasına icazə verin."
+
+[admin.settings.telegram.botUsername]
+label = "Bot istifadəçi adı"
+description = "Telegram botunuzun ictimai istifadəçi adı."
+
+[admin.settings.telegram.botToken]
+label = "Bot Token"
+description = "Telegram botunuz üçün BotFather tərəfindən verilmiş API tokeni."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Gələnlər qovluğu"
+description = "Gələn Telegram fayllarının saxlanıldığı pipeline qovluğu altındakı qovluq."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Fərdi qovluq sonluğu istifadə et"
+description = "Yükləmələri hər söhbət üçün təcrid etmək üçün gələn fayl qovluqlarına söhbət ID-sini əlavə et."
+
+[admin.settings.telegram.accessControl]
+title = "Girişə nəzarət"
+description = "Bot ilə hansı istifadəçi və ya kanalların qarşılıqlı əlaqədə ola biləcəyini məhdudlaşdırın."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Xüsusi istifadəçi ID-lərinə icazə ver"
+description = "Aktiv edildikdə, yalnız siyahıdakı istifadəçi ID-ləri botdan istifadə edə bilər."
+
+[admin.settings.telegram.allowUserIDs]
+label = "İcazə verilmiş istifadəçi ID-ləri"
+description = "Bot ilə qarşılıqlı əlaqəyə icazə verilən Telegram istifadəçi ID-lərini daxil edin."
+placeholder = "İstifadəçi ID əlavə edin və enter basın"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Xüsusi kanal ID-lərinə icazə ver"
+description = "Aktiv edildikdə, yalnız siyahıdakı kanal ID-ləri botdan istifadə edə bilər."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "İcazə verilmiş kanal ID-ləri"
+description = "Bot ilə qarşılıqlı əlaqəyə icazə verilən Telegram kanal ID-lərini daxil edin."
+placeholder = "Kanal ID əlavə edin və enter basın"
+
+[admin.settings.telegram.processing]
+title = "Emal"
+description = "Telegram yükləmələri üçün sorğu intervallarını və emal vaxtı limitlərini idarə edin."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Emal vaxt limiti (saniyə)"
+description = "Xətanı bildirməzdən əvvəl emal işini gözləmək üçün maksimum vaxt."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Sorğu intervalı (ms)"
+description = "Yeni Telegram yeniləmələrini yoxlama arasındakı interval."
+
+[admin.settings.telegram.feedback]
+title = "Geribildirim mesajları"
+description = "Botun istifadəçilərə və kanallara nə vaxt geribildirim göndərməli olduğunu seçin."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Geribildirimi aktiv et"
+description = "Botun ümumiyyətlə geribildirim mesajları göndərib-göndərməməsinə nəzarət edin."
+
+[admin.settings.telegram.feedback.channel]
+title = "Kanal geribildirim qaydaları"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "\"No valid document\" göstərin (Kanal)"
+description = "Kanal yükləmələri üçün 'keçərli sənəd yoxdur' cavabını susdurun."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Emal xətalarını göstərin (Kanal)"
+description = "Emal xətası mesajlarını kanallara göndərin."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Xəta mesajlarını göstərin (Kanal)"
+description = "Kanallar üçün ətraflı xəta mesajlarını göstərin."
+
+[admin.settings.telegram.feedback.user]
+title = "İstifadəçi geribildirim qaydaları"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "\"No valid document\" göstərin (İstifadəçi)"
+description = "İstifadəçi yükləmələri üçün 'keçərli sənəd yoxdur' cavabını susdurun."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Emal xətalarını göstərin (İstifadəçi)"
+description = "Emal xətası mesajlarını istifadəçilərə göndərin."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Xəta mesajlarını göstərin (İstifadəçi)"
+description = "İstifadəçilər üçün ətraflı xəta mesajlarını göstərin."
+
[admin.settings.database]
title = "Məlumat Bazası"
description = "Müəssisə yerləşdirmələri üçün fərdi məlumat bazası bağlantı ayarlarını konfiqurasiya edin."
@@ -4690,7 +4890,7 @@ description = "Daha geniş sistem müvəqqəti qovluğunu təmizləyib-təmizlə
label = "Proses İcraedicisi Limitləri"
description = "Hər icraedici üçün sessiya limitlərini və taym-outları konfiqurasiya edin"
libreOffice = "LibreOffice"
-pdfToHtml = "PDF-dən HTML-ə"
+pdfToHtml = "PDF to HTML"
qpdf = "QPDF"
tesseract = "Tesseract OCR"
pythonOpenCv = "Python OpenCV"
@@ -4745,6 +4945,10 @@ description = "Adminlərə avtomatik parollarla istifadəçiləri e-poçt vasit
label = "Frontend URL"
description = "Frontend üçün baza URL (məs. https://pdf.example.com). E-poçtlarda dəvət linklərini yaratmaq üçün istifadə olunur. Boş saxlayın ki, backend URL-i istifadə olunsun."
+[admin.settings.mail.frontendUrlNote]
+note = "Qeyd: Frontend URL konfiqurasiyası tələb olunur. "
+link = "Sistem ayarlarında konfiqurasiya et"
+
[admin.settings.legal]
title = "Hüquqi Sənədlər"
description = "Hüquqi sənədlərə və siyasətlərə keçidləri konfiqurasiya edin."
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "Fayllarım"
noRecentFiles = "Son fayl tapılmadı"
googleDriveNotAvailable = "Google Drive inteqrasiyası mövcud deyil"
+mobileUpload = "Mobil yükləmə"
+mobileShort = "Mobil"
+mobileUploadNotAvailable = "Mobil yükləmə aktiv deyil"
downloadSelected = "Seçilmişləri yüklə"
saveSelected = "Seçilənləri saxla"
openFiles = "Faylları aç"
@@ -5244,7 +5451,7 @@ loading = "Yüklənir..."
back = "Geri"
continue = "Davam et"
error = "Xəta"
-save = "Save"
+save = "Yadda saxla"
[config.overview]
title = "Tətbiq Konfiqurasiyası"
@@ -5307,6 +5514,15 @@ impact = "Hazırda bu açarlardan istifadə edən bütün tətbiqlər və xidmə
confirmPrompt = "Davam etmək istədiyinizə əminsiniz?"
confirmCta = "Açarları yenilə"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "API açarı xətası"
+failedToCreateApiKey = "API açarı yaratmaq alınmadı."
+failedToRetrieveApiKey = "Cavabdan API açarını əldə etmək alınmadı."
+failedToFetchApiKey = "API açarını gətirmək alınmadı."
+apiKeyRefreshed = "API açarı yeniləndi"
+apiKeyRefreshedBody = "API açarınız uğurla yeniləndi."
+failedToRefreshApiKey = "API açarını yeniləmək alınmadı."
+
[AddAttachmentsRequest]
attachments = "Qoşmaları seçin"
info = "PDF-inizə əlavə etmək üçün faylları seçin. Bu fayllar daxil ediləcək və PDF-in qoşmalar panelindən əlçatan olacaq."
@@ -5412,14 +5628,14 @@ startTour = "Tura başla"
startTourDescription = "Stirling PDF-in əsas xüsusiyyətləri üzrə bələdçili tura başlayın"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Reader, Automate, fayllarınız və bütün turlar arasında keçmək üçün Tez Giriş panelindən başlayın."
+leftPanel = "Sol Alətlər paneli edə biləcəyiniz hər şeyi siyahıya alır. Kateqoriyalara baxın və ya tez alət tapmaq üçün axtarın."
+fileUpload = "Fayllar düyməsindən PDF yükləyin və ya son faylı seçin. İş sahəsini görə bilməyiniz üçün nümunə yükləyəcəyik."
+rightRail = "Sağ Panel fayl seçimi, mövzu və dili dəyişmək və nəticələri endirmək üçün sürətli hərəkətləri saxlayır."
+topBar = "Yuxarı panel Görüntüləyici, Səhifə Redaktoru və Aktiv Fayllar arasında keçməyə imkan verir."
+pageEditorView = "Səhifələri yenidən sıralamaq, çevirmək və ya silmək üçün Səhifə Redaktoruna keçin."
+activeFilesView = "Açıq olan hər şeyə baxmaq və işləyəcəyinizi seçmək üçün Aktiv Fayllardan istifadə edin."
+wrapUp = "V2-də yeniliklər bunlardır. Turlar menyusunu istənilən vaxt açaraq bunu, Alətlər turunu və ya Admin turunu yenidən izləyə bilərsiniz."
[onboarding.welcomeModal]
title = "Stirling PDF-ə xoş gəlmisiniz!"
@@ -5442,8 +5658,8 @@ showMeAround = "Turu göstər"
skipTheTour = "Turu keç"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Tur icmalı"
+body = "Stirling PDF V2 onlarca alət və yenilənmiş tərtibatla gəlir. Sürətli turla nələrin dəyişdiyini və lazım olan funksiyaları harada tapacağınızı görün."
[onboarding.serverLicense]
skip = "Hələlik ötür"
@@ -5452,7 +5668,7 @@ upgrade = "İndi yüksəlt →"
freeTitle = "Server lisenziyası"
overLimitTitle = "Server lisenziyası tələb olunur"
overLimitBody = "Lisenziyalaşmamız hər server üçün pulsuz olaraq maksimum {{freeTierLimit}} istifadəçiyə icazə verir. Sizdə {{overLimitUserCopy}} Stirling istifadəçisi var. Fasiləsiz davam etmək üçün Stirling Server planına yüksəldin - limitsiz yerlər, PDF mətn redaktəsi və tam admin nəzarəti cəmi $99/server/ay."
-freeBody = "Bizim Open-Core lisenziyalaşdırmamız hər server üçün pulsuz olaraq ən çox {{freeTierLimit}} istifadəçiyə icazə verir. Fasiləsiz miqyaslama üçün Stirling Server planını tövsiyə edirik - limitsiz yerlər və SSO dəstəyi $99/server/ay."
+freeBody = "Bizim Open-Core lisenziyası hər server üçün pulsuz olaraq maksimum {{freeTierLimit}} istifadəçiyə icazə verir. Fasiləsiz miqyaslanmaq və yeni PDF mətn redaktəsi alətimizə erkən çıxış əldə etmək üçün Stirling Server planını tövsiyə edirik — tam redaktə və limitsiz yerlər $99/server/ay."
[onboarding.desktopInstall]
title = "Yüklə"
@@ -5633,8 +5849,8 @@ emailDisabled = "E-poçt dəvətləri üçün ayarlarda SMTP konfiqurasiyası v
[workspace.people.license]
users = "istifadəçi"
availableSlots = "Mövcud yerlər"
-grandfathered = "Əvvəlki şərtlərlə"
-grandfatheredShort = "{{count}} əvvəlki şərtlərlə"
+grandfathered = "Grandfathered"
+grandfatheredShort = "{{count}} grandfathered"
fromLicense = "lisenziyadan"
slotsAvailable = "{{count}} istifadəçi yeri mövcuddur"
noSlotsAvailable = "Mövcud yer yoxdur"
@@ -5758,28 +5974,28 @@ contactSales = "Satışla əlaqə"
contactToUpgrade = "Planınızı yüksəltmək və ya fərdiləşdirmək üçün bizimlə əlaqə saxlayın"
maxUsers = "Maksimum İstifadəçi"
upTo = "Maksimum"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Server lisenziyası al"
+upgradeToEnterprise = "Enterprise-a yüksəlt"
+selectPeriod = "Faktura dövrünü seçin"
+monthlyBilling = "Aylıq ödəniş"
+yearlyBilling = "İllik ödəniş"
+checkoutOpened = "Ödəniş səhifəsi açıldı"
+checkoutInstructions = "Ödənişi Stripe vərəqəsində tamamlayın. Ödənişdən sonra buraya qayıdın və lisenziyanı aktivləşdirmək üçün səhifəni yeniləyin. Lisenziya açarı olan e-poçt da alacaqsınız."
+activateLicense = "Lisenziyanızı aktivləşdirin"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Yeni vərəqədə ödəniş açıldı"
+instructions = "Ödənişi Stripe vərəqəsində tamamlayın. Ödəniş tamamlandıqdan sonra lisenziya açarı e-poçtunu alacaqsınız."
+enterKey = "Planınızı aktivləşdirmək üçün aşağıya lisenziya açarınızı daxil edin:"
+keyDescription = "E-poçtunuzdakı lisenziya açarını yapışdırın"
+activate = "Lisenziyanı aktivləşdir"
+doLater = "Bunu sonra edəcəyəm"
+success = "Lisenziya aktivləşdirildi!"
+successMessage = "Lisenziyanız uğurla aktivləşdirildi. Bu pəncərəni indi bağlaya bilərsiniz."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "E-poçtun təsdiqi tələb olunur"
+message = "Stripe ödəniş portalında e-poçt ünvanınızı təsdiqləməyiniz lazım olacaq. Giriş linki üçün e-poçtunuzu yoxlayın."
[plan.period]
month = "ay"
@@ -5983,8 +6199,8 @@ notAvailable = "Audit sistemi əlçatan deyil"
notAvailableMessage = "Audit sistemi konfiqurasiya edilməyib və ya əlçatan deyil."
disabled = "Audit jurnalı deaktiv edilib"
disabledMessage = "Sistem hadisələrini izləmək üçün tətbiqin konfiqurasiyasında audit jurnalını aktivləşdirin."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Enterprise lisenziyası tələb olunur"
+enterpriseRequiredMessage = "Audit jurnalı sistemi enterprise funksiyadır. Audit qeydləri və analitikaya giriş üçün zəhmət olmasa enterprise lisenziyaya yüksəldin."
[audit.error]
title = "Audit sistemi yüklənərkən xəta"
@@ -6156,6 +6372,7 @@ description = "Öz Stirling PDF serverinizin tam URL ünvanını daxil edin"
[setup.server.error]
emptyUrl = "Zəhmət olmasa server URL-i daxil edin"
+invalidUrl = "Yanlış URL formatı. Zəhmət olmasa https://your-server.com kimi düzgün URL daxil edin"
unreachable = "Serverə qoşulmaq mümkün olmadı"
testFailed = "Bağlantı testi uğursuz oldu"
configFetch = "Server konfiqurasiyasını əldə etmək mümkün olmadı. URL-i yoxlayın və yenidən cəhd edin."
@@ -6174,6 +6391,7 @@ connectingTo = "Qoşulur:"
submit = "Daxil ol"
signInWith = "Bununla daxil ol"
oauthPending = "Təsdiqləmə üçün brauzer açılır..."
+sso = "Single Sign-On"
orContinueWith = "Və ya e-poçt ilə davam edin"
serverRequirement = "Qeyd: Serverdə giriş funksiyası aktiv olmalıdır."
showInstructions = "Necə aktivləşdirmək olar?"
@@ -6239,8 +6457,8 @@ reset = "Dəyişiklikləri sıfırla"
downloadJson = "JSON-u endir"
generatePdf = "PDF yarat"
saveChanges = "Dəyişiklikləri yadda saxla"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Dəyişiklikləri tətbiq et"
+downloadCopy = "Nüsxəni endir"
[pdfTextEditor.options.autoScaleText]
title = "Mətni avtomatik miqyasla"
@@ -6260,22 +6478,22 @@ title = "Redaktə olunmuş mətni tək PDF elementinə kilidlə"
description = "Aktiv olduqda, redaktor hər redaktə edilmiş mətn qutusunu üst-üstə düşən qliflərdən və ya qarışıq şriftlərdən qaçmaq üçün bir PDF mətn elementi kimi ixrac edir."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Qabaqcıl ayarlar"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Ön baxış məhdudiyyətləri"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Mətn və şəkil fokuslanması"
+text = "Bu iş sahəsi mətni redaktə etməyə və daxil edilmiş şəkilləri yenidən yerləşdirməyə fokuslanır. Mürəkkəb səhifə qrafikası, forma vidcetləri və laylı qrafika ixrac üçün qorunur, lakin burada tam redaktə edilə bilmir."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Ön baxış fərqliliyi"
+text = "Bəzi vizuallar (məsələn, cədvəl haşiyələri, fiqurlar və ya annotasiya görünüşləri) ön baxışda dəqiq göstərilməyə bilər. İxrac olunan PDF mümkün olduqda orijinal cızma əmrlərini saxlayır."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Alfa görüntüləyici"
+text = "Bu alfa görüntüləyici hələ inkişaf edir—bəzi şriftlər, rənglər, şəffaflıq effektləri və maket detalları bir qədər dəyişə bilər. Zəhmət olmasa paylaşmazdan əvvəl yaradılan PDF-i iki dəfə yoxlayın."
[pdfTextEditor.manual]
mergeTooltip = "Seçilmiş qutuları birləşdir"
@@ -6398,3 +6616,58 @@ title = "Mətn əlavə etmə nəticələri"
[addText.error]
failed = "PDF-ə mətn əlavə edilərkən xəta baş verdi."
+
+[mobileUpload]
+title = "Mobil cihazdan yüklə"
+description = "Skan edib fotoları yükləyin. Şəkillər avtomatik olaraq PDF-ə çevrilir."
+descriptionNoConvert = "Mobil cihazınızdan fotoları yükləmək üçün skan edin."
+error = "Bağlantı xətası"
+pollingError = "Faylları yoxlayarkən xəta"
+sessionId = "Sessiya ID-si"
+sessionCreateError = "Sessiya yaratmaq alınmadı"
+expiryWarning = "Sessiya tezliklə bitir"
+expiryWarningMessage = "Bu QR kodu {{seconds}} saniyəyə müddəti bitəcək. Yeni kod avtomatik yaradılacaq."
+filesReceived = "{{count}} fayl alındı"
+connected = "Mobil cihaz qoşuldu"
+instructions = "Telefon kameranızla skan edin. Şəkillər avtomatik olaraq PDF-ə çevrilir."
+instructionsNoConvert = "Fayl yükləmək üçün telefon kameranızla skan edin."
+
+[mobileScanner]
+title = "Mobil skaner"
+noSession = "Yalnış sessiya"
+noSessionMessage = "Bu səhifəyə daxil olmaq üçün etibarlı QR kodunu skan edin."
+validating = "Sessiya yoxlanılır..."
+sessionInvalid = "Sessiya xətası"
+sessionExpired = "Bu sessiyanın vaxtı bitib. Yeniləyib yenidən cəhd edin."
+sessionNotFound = "Sessiya tapılmadı. Yeniləyib yenidən cəhd edin."
+sessionValidationError = "Sessiyanı doğrulamaq mümkün olmadı. Yenidən cəhd edin."
+uploadSuccess = "Uğurla yükləndi!"
+uploadSuccessMessage = "Şəkilləriniz köçürüldü."
+httpsRequired = "Kameraya çıxış üçün HTTPS və ya localhost tələb olunur. Zəhmət olmasa HTTPS istifadə edin və ya localhost vasitəsilə daxil olun."
+uploadFailed = "Yükləmə alınmadı. Yenidən cəhd edin."
+uploading = "Yüklənir..."
+connected = "Qoşuldu"
+connecting = "Qoşulur..."
+chooseMethod = "Yükləmə üsulunu seçin"
+chooseMethodDescription = "Sənədləri necə skan edib yükləmək istədiyinizi seçin"
+camera = "Kamera"
+cameraDescription = "Cihazınızın kamerası ilə avtomatik kənar aşkarlanması ilə sənədləri skan edin"
+fileUpload = "Fayl yükləmə"
+fileDescription = "Cihazınızdan mövcud fotoları və ya sənədləri yükləyin"
+cameraAccessDenied = "Kameraya giriş rədd edildi. Zəhmət olmasa kameraya icazə verin."
+back = "Geri"
+settings = "Ayarlar"
+edgeDetection = "Kənar aşkarlanması"
+flashlight = "Fənər"
+flash = "Flaş"
+processing = "Emal olunur..."
+capture = "Foto çəkin"
+selectFilesPrompt = "Yükləmək üçün faylları seçin"
+selectImage = "Şəkil seçin"
+preview = "Ön baxış"
+retake = "Yenidən çəkin"
+addToBatch = "Paketə əlavə et"
+upload = "Yüklə"
+batchImages = "Paket"
+clearBatch = "Təmizlə"
+uploadAll = "Hamısını yüklə"
diff --git a/frontend/public/locales/bg-BG/translation.toml b/frontend/public/locales/bg-BG/translation.toml
index 33a294640..8e174380f 100644
--- a/frontend/public/locales/bg-BG/translation.toml
+++ b/frontend/public/locales/bg-BG/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "Имате незаписани промени във вашия PDF."
+pendingRedactionsTitle = "Неприложени заличавания"
+pendingRedactions = "Имате неприложени заличавания, които ще бъдат загубени."
areYouSure = "Сигурни ли сте, че искате да напуснете?"
unsavedChangesTitle = "Незаписани промени"
keepWorking = "Продължи работа"
discardChanges = "Отхвърли и излез"
+discardRedactions = "Отхвърляне и изход"
applyAndContinue = "Запази и излез"
exportAndContinue = "Експортирай и продължи"
cancel = "Отказ"
@@ -364,6 +367,7 @@ advanced = "Разширени"
title = "Сигурност и удостоверяване"
security = "Сигурност"
connections = "Връзки"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Лицензиране и аналитика"
@@ -438,25 +442,34 @@ currentVersion = "Текуща версия"
latestVersion = "Последна версия"
checkForUpdates = "Провери за актуализации"
viewDetails = "Виж подробности"
+serverNeedsUpdate = "Сървърът трябва да бъде актуализиран от администратор"
+
+[settings.general.versionInfo]
+title = "Информация за версията"
+description = "Подробности за версиите на десктоп и сървър"
+desktop = "Десктоп версия"
+server = "Сървърна версия"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Сигурност"
+description = "Актуализирайте паролата си, за да запазите акаунта си защитен."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Променете паролата си. След актуализиране ще бъдете изведени от профила."
+required = "Всички полета са задължителни."
+mismatch = "Новите пароли не съвпадат."
+error = "Неуспешно актуализиране на парола. Проверете текущата си парола и опитайте отново."
+success = "Паролата е актуализирана успешно. Моля, влезте отново."
+ssoDisabled = "Промените на паролата се управляват от вашия доставчик на удостоверяване."
+current = "Текуща парола"
+currentPlaceholder = "Въведете текущата си парола"
+new = "Нова парола"
+newPlaceholder = "Въведете нова парола"
+confirm = "Потвърдете новата парола"
+confirmPlaceholder = "Въведете отново новата си парола"
+update = "Актуализиране на паролата"
+
+
[settings.hotkeys]
title = "Клавишни комбинации"
@@ -511,16 +524,16 @@ low = "Нисък"
title = "Промяна на идентификационните данни"
header = "Актуализирайте данните за акаунта си"
changePassword = "Използвате идентификационни данни за вход по подразбиране. Моля, въведете нова парола"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Вашият акаунт се управлява от вашия доставчик на удостоверяване."
newUsername = "Ново потребителско име"
oldPassword = "Текуща парола"
newPassword = "Нова парола"
confirmNewPassword = "Подтвърдете новата парола"
submit = "Изпращане на промените"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Акаунтът е актуализиран"
+description = "Промените са записани. Моля, влезте отново."
+error = "Неуспешно актуализиране на потребителското име. Проверете паролата си и опитайте отново."
+changeUsername = "Актуализирайте потребителското си име. След актуализиране ще бъдете изведени от профила."
[account]
title = "Настройки на акаунта"
@@ -528,6 +541,8 @@ accountSettings = "Настройки на акаунта"
adminSettings = "Настройки на администратора - Преглед и добавяне на потребители"
userControlSettings = "Настройки за потребителски контрол"
changeUsername = "Промени потребител"
+changeUsernameDescription = "Актуализирайте потребителското си име. След актуализиране ще бъдете изведени от профила."
+newUsernamePlaceholder = "Въведете новото си потребителско име"
newUsername = "Ново потребителско име"
password = "Парола за потвърждение"
oldPassword = "Стара парола"
@@ -737,9 +752,9 @@ title = "Подпишете"
desc = "Добавя подпис към PDF чрез рисунка, текст или изображение"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "анотиране,открояване,рисуване"
+title = "Анотиране"
+desc = "Откроявайте, рисувайте, добавяйте бележки и форми във визуализатора"
[home.flatten]
tags = "опростяване,премахване,интерактивни"
@@ -951,8 +966,8 @@ desc = "Наслагва PDF файлове върху друг PDF"
title = "Наслагване PDF-и"
[home.pdfTextEditor]
-title = "Редактор на текст в PDF"
-desc = "Редактирайте съществуващ текст и изображения в PDF файлове"
+title = "PDF текстов редактор"
+desc = "Преглеждайте и редактирайте JSON експорти на Stirling PDF с групово редактиране на текст и повторно генериране на PDF"
[home.addText]
tags = "текст,анотация,етикет"
@@ -963,6 +978,7 @@ desc = "Добавете собствен текст навсякъде в PDF"
addFiles = "Добавяне на файлове"
uploadFromComputer = "Качване от компютър"
openFromComputer = "Отвори от компютър"
+mobileUpload = "Качване от мобилно устройство"
[viewPdf]
tags = "преглед,четене,анотиране,текст,изображение"
@@ -1278,21 +1294,33 @@ cbzOptions = "Опции за CBZ към PDF"
optimizeForEbook = "Оптимизиране на PDF за четци на електронни книги (използва Ghostscript)"
cbzOutputOptions = "Опции за PDF към CBZ"
cbzDpi = "DPI за изобразяване на изображение"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "Опции за CBR"
+cbrOutputOptions = "Опции за PDF към CBR"
+cbrDpi = "DPI за рендериране на изображения"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "Опции за eBook към PDF"
+ebookOptionsDesc = "Опции за конвертиране на eBook към PDF"
+embedAllFonts = "Вграждане на всички шрифтове"
+embedAllFontsDesc = "Вграждане на всички шрифтове от eBook във генерирания PDF"
+includeTableOfContents = "Включване на съдържание"
+includeTableOfContentsDesc = "Добавяне на генерирано съдържание към получения PDF"
+includePageNumbers = "Включване на номера на страници"
+includePageNumbersDesc = "Добавяне на номера на страници към генерирания PDF"
+optimizeForEbookPdf = "Оптимизиране за eBook четци"
+optimizeForEbookPdfDesc = "Оптимизиране на PDF за четене на eBook (по-малък размер на файла, по-добро рендериране на eInk устройства)"
+
+[convert.epubOptions]
+epubOptions = "Опции за PDF към eBook"
+epubOptionsDesc = "Опции за конвертиране на PDF към EPUB/AZW3"
+detectChapters = "Откриване на глави"
+detectChaptersDesc = "Откриване на заглавия, които изглеждат като глави, и вмъкване на прекъсвания на страници в EPUB"
+targetDevice = "Целево устройство"
+targetDeviceDesc = "Изберете изходен профил, оптимизиран за устройството-четец"
+outputFormat = "Формат на изхода"
+outputFormatDesc = "Изберете изходния формат за eBook"
+tabletPhone = "Таблет/Телефон (с изображения)"
+kindleEink = "Kindle e-Ink (оптимизиран за текст)"
[imageToPdf]
tags = "преобразуване,img,jpg,изображение,снимка"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "Добавяне на прикачен файл"
remove = "Премахване на прикачен файл"
embed = "Вграждане на прикачен файл"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Конвертиране в PDF/A-3b"
+convertToPdfA3bDescription = "Създава архивен PDF с вградени прикачени файлове"
+convertToPdfA3bTooltip = "PDF/A-3b е архивен формат, който осигурява дългосрочно съхранение. Позволява вграждане на произволни файлови формати като прикачени файлове. Конвертирането изисква Ghostscript и може да отнеме повече време при големи файлове."
+convertToPdfA3bTooltipHeader = "За конвертирането в PDF/A-3b"
+convertToPdfA3bTooltipTitle = "Какво прави"
submit = "Add attachments"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "Запазени"
label = "Качете изображение на подпис"
placeholder = "Изберете файл с изображение"
hint = "Качете PNG или JPG изображение на вашия подпис"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Премахване на бял фон (прозрачен)"
+processing = "Обработка на изображението..."
+backgroundRemovalFailedTitle = "Неуспешно премахване на фона"
+backgroundRemovalFailedMessage = "Фонът не можа да бъде премахнат. Ще се използва оригиналното изображение."
[sign.instructions]
title = "Как да добавите подпис"
@@ -2409,9 +2437,9 @@ label = "Изравнете само форми"
desc = "Сплесквай само полетата на формите, оставяйки другите интерактивни елементи непокътнати"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "DPI на рендериране (по избор, препоръчително 150 DPI)"
+help = "Оставете празно за системната стойност по подразбиране. По-висок DPI изостря изхода, но увеличава времето за обработка и размера на файла."
+placeholder = "напр. 150"
[flatten.results]
title = "Резултати от сплескване"
@@ -2987,7 +3015,7 @@ header = "Изрязване на PDF"
submit = "Подайте"
noFileSelected = "Изберете PDF файл, за да започнете изрязването"
reset = "Нулиране към целия PDF"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Автоматично изрязване на бели полета"
[crop.preview]
title = "Избор на област за изрязване"
@@ -3218,6 +3246,7 @@ title = "Метод на заличаване"
mode = "Режим"
automatic = "Автоматичен"
automaticDesc = "Заличаване на текст въз основа на търсене"
+automaticDisabledTooltip = "Изберете файлове във файловия мениджър, за да заличите няколко файла наведнъж"
manual = "Ръчен"
manualDesc = "Щракнете и плъзнете, за да заличите конкретни области"
manualComingSoon = "Скоро ще бъде налично ръчно заличаване"
@@ -3288,8 +3317,35 @@ text = "Съвпада само с цели думи, не с частични.
title = "Конвертиране в PDF-Image"
text = "Конвертира PDF в PDF на база изображение след заличаване. Това гарантира, че текстът зад полетата за заличаване е напълно премахнат и невъзстановим."
+[redact.tooltip.manual.header]
+title = "Контроли за ръчно заличаване"
+
+[redact.tooltip.manual.markText]
+title = "Инструмент за маркиране на текст"
+text = "Изберете текст директно в PDF, за да го маркирате за заличаване. Щракнете и плъзнете, за да откроите конкретен текст, който искате да заличите."
+
+[redact.tooltip.manual.markArea]
+title = "Инструмент за маркиране на област"
+text = "Начертайте правоъгълни области върху PDF, за да отбележите зони за заличаване. Полезно за заличаване на изображения, подписи или неправилни форми."
+
+[redact.tooltip.manual.apply]
+title = "Прилагане на заличаванията"
+text = "След маркиране на съдържание щракнете „Прилагане“, за да заличите трайно всички маркирани области. Броят на чакащите показва колко заличавания са готови за прилагане."
+bullet1 = "Маркирайте колкото области е нужно преди прилагане"
+bullet2 = "Всички чакащи заличавания се прилагат наведнъж"
+bullet3 = "След прилагане заличаванията не могат да бъдат отменени"
+
[redact.manual]
+title = "Инструменти за заличаване"
+instructions = "Изберете текст или начертайте области върху PDF, за да маркирате съдържание за заличаване."
+markText = "Маркиране на текст"
+markArea = "Маркиране на област"
+pendingLabel = "Чакащи:"
+applyWarning = "⚠️ Постоянно прилагане, не може да се отмени и данните отдолу ще бъдат изтрити"
+apply = "Прилагане"
+noMarks = "Няма марки за заличаване. Използвайте инструментите по-горе, за да маркирате съдържание за заличаване."
header = "Ръчно заличаване"
+controlsTitle = "Ръчни контроли за заличаване"
textBasedRedaction = "Заличаване по текст"
pageBasedRedaction = "Заличаване по страници"
convertPDFToImageLabel = "Конвертиране на PDF в PDF-Image (за премахване на текст зад полето)"
@@ -3406,17 +3462,17 @@ label = "Вертикални разделения"
placeholder = "Въведете брой вертикални деления"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Режим на разделяне"
+description = "Изберете как да разделите страниците"
+splitAll = "Разделяне на всички страници"
+splitAllExceptFirst = "Разделяне на всички с изключение на първата"
+splitAllExceptLast = "Разделяне на всички с изключение на последната"
+splitAllExceptFirstAndLast = "Разделяне на всички с изключение на първата и последната"
+custom = "Потребителски страници"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Потребителски номера на страници"
+placeholder = "напр. 2,4,6"
[AddStampRequest]
tags = "Печат,добавяне на изображение,централно изображение,воден знак,PDF,вграждане,персонализиране"
@@ -3780,17 +3836,17 @@ filesize = "Размер на файла"
label = "Приложи сива скала за компресиране"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Линеаризиране на PDF за бързо уеб преглеждане"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Конвертиране на изображения в Line Art"
+description = "Използва ImageMagick, за да намали страниците до черно-бяло с висок контраст за максимално намаляване на размера."
+unavailable = "ImageMagick не е инсталиран или активиран на този сървър"
+detailLevel = "Ниво на детайл"
+edgeEmphasis = "Подчертаване на ръбовете"
+edgeLow = "Леко"
+edgeMedium = "Баланс"
+edgeHigh = "Силно"
[compress.tooltip.header]
title = "Преглед на настройките за компресия"
@@ -3811,7 +3867,7 @@ text = "Изберете тази опция, за да конвертирате
[compress.tooltip.lineArt]
title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+text = "Конвертирайте страниците в черно-бяло с висок контраст с помощта на ImageMagick. Използвайте нивото на детайл, за да контролирате колко съдържание става черно, и подчертаването на ръбовете, за да контролирате колко агресивно се откриват ръбовете."
[compress.error]
failed = "Възникна грешка при компресиране на PDF."
@@ -3826,9 +3882,9 @@ _value = "Настройки за компресия"
1 = "1-3 компресия на PDF, 4-6 лека компресия на изображения, 7-9 силна компресия на изображения Ще намали значително качеството на изображенията"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "По-ниските стойности запазват качеството, но водят до по-големи файлове"
+range4to6 = "Средна компресия с умерено намаляване на качеството"
+range7to9 = "По-високите стойности значително намаляват размера, но може да влошат яснотата на изображенията"
[decrypt]
passwordPrompt = "Този файл е защитен с парола. Моля, въведете паролата:"
@@ -4069,7 +4125,7 @@ deleteSelected = "Изтрий избраните страници"
closePdf = "Затвори PDF"
exportAll = "Експорт на PDF"
downloadSelected = "Изтегли избраните файлове"
-annotations = "Annotations"
+annotations = "Анотации"
exportSelected = "Експорт на избраните страници"
saveChanges = "Запази промените"
toggleTheme = "Превключи тема"
@@ -4077,84 +4133,90 @@ language = "Език"
toggleAnnotations = "Показване/скриване на анотациите"
search = "Търсене в PDF"
panMode = "Режим на придвижване"
+applyRedactionsFirst = "Първо приложете заличаванията"
rotateLeft = "Завърти наляво"
rotateRight = "Завърти надясно"
toggleSidebar = "Показване/скриване на страничната лента"
toggleBookmarks = "Превключи отметките"
print = "Печат на PDF"
+draw = "Рисуване"
+redact = "Заличаване"
+exitRedaction = "Изход от режим на заличаване"
+save = "Запази"
downloadAll = "Изтегли всички"
saveAll = "Запази всички"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Ляво"
+center = "Център"
+right = "Дясно"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "Анотиране"
+desc = "Използвайте открояване, перо, текст и бележки. Промените остават активни — не е нужно сплескване."
+highlight = "Открояване"
+pen = "Перо"
+text = "Текстово поле"
+note = "Бележка"
+rectangle = "Правоъгълник"
+ellipse = "Елипса"
+select = "Избор"
+exit = "Изход от режим за анотиране"
+strokeWidth = "Дебелина"
+opacity = "Непрозрачност"
+strokeOpacity = "Непрозрачност на контура"
+fillOpacity = "Непрозрачност на запълването"
+fontSize = "Размер на шрифта"
+chooseColor = "Избор на цвят"
+color = "Цвят"
+strokeColor = "Цвят на контура"
+fillColor = "Цвят на запълването"
+underline = "Подчертаване"
+strikeout = "Зачеркване"
+squiggly = "Вълнообразно подчертаване"
+inkHighlighter = "Ръчно открояване"
+freehandHighlighter = "Ръчно открояване"
+square = "Квадрат"
+circle = "Кръг"
+polygon = "Многоъгълник"
+line = "Линия"
+stamp = "Добавяне на изображение"
+textMarkup = "Маркиране на текст"
+drawing = "Рисуване"
+shapes = "Форми"
+notesStamps = "Бележки и печати"
+settings = "Настройки"
+borderOn = "Рамка: Вкл."
+borderOff = "Рамка: Изкл."
+editInk = "Редактиране на перо"
+editLine = "Редактиране на линия"
+editNote = "Редактиране на бележка"
+editText = "Редактиране на текстово поле"
+editTextMarkup = "Редактиране на маркиран текст"
+editSelected = "Редактиране на анотация"
+editSquare = "Редактиране на квадрат"
+editCircle = "Редактиране на кръг"
+editPolygon = "Редактиране на многоъгълник"
+unsupportedType = "Този тип анотация не се поддържа напълно за редактиране."
+textAlignment = "Подравняване на текст"
+noteIcon = "Икона на бележка"
+imagePreview = "Преглед"
+contents = "Текст"
+backgroundColor = "Цвят на фона"
+clearBackground = "Премахване на фона"
+noBackground = "Без фон"
+stampSettings = "Настройки на печат"
+savingCopy = "Подготовка за изтегляне..."
+saveFailed = "Неуспешно записване на копие"
+saveReady = "Готово за изтегляне"
+selectAndMove = "Избор и редактиране"
+editSelectDescription = "Щракнете съществуваща анотация, за да редактирате цвета, непрозрачността, текста или размера."
+editStampHint = "За да промените изображението, изтрийте този печат и добавете нов."
+editSwitchToSelect = "Превключете към „Избор и редактиране“, за да редактирате тази анотация."
+undo = "Отмяна"
+redo = "Повторение"
+applyChanges = "Прилагане на промените"
+saveChanges = "Запазване на промените"
[search]
title = "Търсене в PDF"
@@ -4205,20 +4267,20 @@ settings = "Опции"
adminSettings = "Админ опции"
allTools = "All Tools"
reader = "Четец"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Турове"
+showMeAround = "Покажете ми наоколо"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Гледайте обиколките тук: обиколка на инструментите, обиколка на новия V2 дизайн и админ обиколка."
+user = "Гледайте обиколките тук: обиколка на инструментите и обиколка на новия V2 дизайн."
[quickAccess.helpMenu]
toolsTour = "Обиколка на инструментите"
toolsTourDesc = "Научете какво могат инструментите"
adminTour = "Обиколка за админи"
adminTourDesc = "Разгледайте админ настройките и функциите"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Вижте какво е ново във V2"
+whatsNewTourDesc = "Обиколка на обновения дизайн"
[admin]
error = "Грешка"
@@ -4237,6 +4299,8 @@ fetchError = "Неуспешно зареждане на настройките"
saveError = "Неуспешно запазване на настройките"
saved = "Настройките са запазени успешно"
saveSuccess = "Настройките са запазени успешно"
+success = "Настройките са записани успешно"
+error = "Неуспешно записване на настройките"
save = "Запази промените"
discard = "Отхвърли"
restartRequired = "Изисква се рестарт"
@@ -4360,6 +4424,13 @@ description = "Път до изпълнимия файл WeasyPrint за HTML к
label = "Изпълним файл на Unoconvert"
description = "Път до LibreOffice unoconvert за конвертиране на документи (оставете празно за подразбиране: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "Frontend URL"
+description = "Базов URL за фронтенда (напр. https://pdf.example.com). Използва се за линкове за покана по имейл и мобилно качване чрез QR код. Оставете празно, за да се използва backend URL."
+
+[admin.settings.badge]
+clickToUpgrade = "Щракнете, за да видите подробности за плана"
+
[admin.settings.security]
title = "Сигурност"
description = "Конфигурирайте удостоверяване, поведение при вход и политики за сигурност."
@@ -4496,6 +4567,19 @@ connect = "Свържи"
disconnect = "Прекъсни връзката"
disconnected = "Доставчикът е разкачен успешно"
disconnectError = "Неуспешно разкачване на доставчика"
+mobileScannerConvertToPdf = "Конвертиране на изображения в PDF"
+mobileScannerConvertToPdfDesc = "Автоматично конвертиране на качените изображения в PDF формат. Ако е изключено, изображенията се запазват без промяна."
+mobileScannerImageResolution = "Резолюция на изображението"
+mobileScannerImageResolutionDesc = "Резолюция на качените изображения. „Намалена“ мащабира до максимум 1200px за по-малък размер на файла."
+imageResolutionFull = "Пълна (оригинален размер)"
+imageResolutionReduced = "Намалена (макс. 1200px)"
+mobileScannerPageFormat = "Формат на страницата"
+mobileScannerPageFormatDesc = "Размер на PDF страницата за конвертираните изображения. „Запазване“ използва оригиналните размери на изображението."
+pageFormatKeep = "Запазване (оригинални размери)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Разтягане до запълване"
+mobileScannerStretchToFitDesc = "Разтягане на изображенията, за да запълнят цялата страница. Ако е изключено, изображенията са центрирани със запазено съотношение."
[admin.settings.connections.ssoAutoLogin]
label = "SSO автоматичен вход"
@@ -4564,6 +4648,122 @@ description = "Автоматично създаване на акаунти п
label = "Блокирай регистрацията"
description = "Предотврати регистрация на нови потребители чрез SAML2"
+[admin.settings.connections.mobileScanner]
+label = "Качване от мобилен телефон"
+enable = "Разрешаване на качване чрез QR код"
+description = "Позволете на потребителите да качват файлове от мобилни устройства чрез сканиране на QR код"
+note = "Забележка: Изисква конфигуриран Frontend URL. "
+link = "Конфигуриране в системните настройки"
+mobileScannerConvertToPdf = "Конвертиране на изображения в PDF"
+mobileScannerConvertToPdfDesc = "Автоматично конвертиране на качените изображения в PDF формат. Ако е изключено, изображенията се запазват без промяна."
+mobileScannerImageResolution = "Резолюция на изображението"
+mobileScannerImageResolutionDesc = "Резолюция на качените изображения. „Намалена“ мащабира до максимум 1200px за по-малък размер на файла."
+imageResolutionFull = "Пълна (оригинален размер)"
+imageResolutionReduced = "Намалена (макс. 1200px)"
+mobileScannerPageFormat = "Формат на страницата"
+mobileScannerPageFormatDesc = "Размер на PDF страницата за конвертираните изображения. „Запазване“ използва оригиналните размери на изображението."
+pageFormatKeep = "Запазване (оригинални размери)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Разтягане до запълване"
+mobileScannerStretchToFitDesc = "Разтягане на изображенията, за да запълнят цялата страница. Ако е изключено, изображенията са центрирани със запазено съотношение."
+
+[admin.settings.telegram]
+title = "Telegram бот"
+description = "Конфигурирайте свързването на Telegram бота, контрола на достъпа и поведението на обратната връзка."
+
+[admin.settings.telegram.enabled]
+label = "Активиране на Telegram бот"
+description = "Позволете на потребителите да работят със Stirling PDF чрез конфигурирания от вас Telegram бот."
+
+[admin.settings.telegram.botUsername]
+label = "Потребителско име на бота"
+description = "Публичното потребителско име на вашия Telegram бот."
+
+[admin.settings.telegram.botToken]
+label = "Bot Token"
+description = "API токен, предоставен от BotFather за вашия Telegram бот."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Папка „Входящи“"
+description = "Папка под директорията pipeline, където се съхраняват входящите Telegram файлове."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Използване на персонализиран суфикс за папка"
+description = "Добавяне на ID на чата към папките за входящи файлове, за да се изолират качванията по чат."
+
+[admin.settings.telegram.accessControl]
+title = "Контрол на достъпа"
+description = "Ограничете кои потребители или канали могат да взаимодействат с бота."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Разрешаване на конкретни потребителски ID"
+description = "Когато е активно, само изброените потребителски ID могат да използват бота."
+
+[admin.settings.telegram.allowUserIDs]
+label = "Разрешени потребителски ID"
+description = "Въведете Telegram потребителски ID, които могат да взаимодействат с бота."
+placeholder = "Добавете потребителско ID и натиснете Enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Разрешаване на конкретни ID на канали"
+description = "Когато е активно, само изброените ID на канали могат да използват бота."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "Разрешени ID на канали"
+description = "Въведете Telegram ID на канали, на които е позволено да взаимодействат с бота."
+placeholder = "Добавете ID на канал и натиснете Enter"
+
+[admin.settings.telegram.processing]
+title = "Обработка"
+description = "Контролирайте интервалите на проверка и таймаутите за обработка при Telegram качвания."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Таймаут за обработка (секунди)"
+description = "Максимално време за изчакване на задача за обработка преди да се съобщи грешка."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Интервал на проверка (ms)"
+description = "Интервал между проверките за нови Telegram обновявания."
+
+[admin.settings.telegram.feedback]
+title = "Съобщения за обратна връзка"
+description = "Изберете кога ботът да изпраща обратна връзка към потребители и канали."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Активиране на обратна връзка"
+description = "Контрол дали ботът изобщо изпраща съобщения за обратна връзка."
+
+[admin.settings.telegram.feedback.channel]
+title = "Правила за обратна връзка (канали)"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Показване на \"Няма валиден документ\" (Канал)"
+description = "Потискане на отговора „няма валиден документ“ за качвания в канали."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Показване на грешки при обработка (Канал)"
+description = "Изпращане на съобщения за грешки при обработка към канали."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Показване на съобщения за грешки (Канал)"
+description = "Показване на подробни съобщения за грешки за канали."
+
+[admin.settings.telegram.feedback.user]
+title = "Правила за обратна връзка (потребители)"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Показване на \"Няма валиден документ\" (Потребител)"
+description = "Потискане на отговора „няма валиден документ“ за потребителски качвания."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Показване на грешки при обработка (Потребител)"
+description = "Изпращане на съобщения за грешки при обработка към потребители."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Показване на съобщения за грешки (Потребител)"
+description = "Показване на подробни съобщения за грешки за потребители."
+
[admin.settings.database]
title = "База данни"
description = "Конфигурирайте персонализирани настройки за връзка към база данни за корпоративни внедрявания."
@@ -4745,6 +4945,10 @@ description = "Позволи на администраторите да кан
label = "Frontend URL"
description = "Базов URL за фронтенда (напр. https://pdf.example.com). Използва се за генериране на покани в имейли. Оставете празно, за да се използва backend URL."
+[admin.settings.mail.frontendUrlNote]
+note = "Забележка: Изисква конфигуриран Frontend URL. "
+link = "Конфигуриране в системните настройки"
+
[admin.settings.legal]
title = "Правни документи"
description = "Конфигурирайте връзки към правни документи и политики."
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "Моите файлове"
noRecentFiles = "Няма намерени последни файлове"
googleDriveNotAvailable = "Интеграцията с Google Drive не е налична"
+mobileUpload = "Качване от мобилно устройство"
+mobileShort = "Мобилно"
+mobileUploadNotAvailable = "Качването от мобилно не е активирано"
downloadSelected = "Изтегли избраните"
saveSelected = "Запази избраните"
openFiles = "Отвори файлове"
@@ -5244,7 +5451,7 @@ loading = "Зареждане..."
back = "Назад"
continue = "Продължи"
error = "Грешка"
-save = "Save"
+save = "Запазване"
[config.overview]
title = "Конфигурация на приложението"
@@ -5307,6 +5514,15 @@ impact = "Всички приложения или услуги, които из
confirmPrompt = "Сигурни ли сте, че искате да продължите?"
confirmCta = "Опресни ключовете"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "Грешка с API ключ"
+failedToCreateApiKey = "Неуспешно създаване на API ключ."
+failedToRetrieveApiKey = "Неуспешно извличане на API ключ от отговора."
+failedToFetchApiKey = "Неуспешно извличане на API ключ."
+apiKeyRefreshed = "API ключът е обновен"
+apiKeyRefreshedBody = "Вашият API ключ беше успешно обновен."
+failedToRefreshApiKey = "Неуспешно обновяване на API ключ."
+
[AddAttachmentsRequest]
attachments = "Изберете прикачени файлове"
info = "Изберете файлове за прикачване към вашия PDF. Те ще бъдат вградени и достъпни през панела за прикачени файлове на PDF."
@@ -5412,14 +5628,14 @@ startTour = "Започни обиколката"
startTourDescription = "Направете обиколка с водач на основните функции на Stirling PDF"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Започнете от релсата Quick Access, за да превключвате между Reader, Automate, вашите файлове и всички турове."
+leftPanel = "Левият панел Tools изброява всичко, което можете да правите. Разглеждайте категориите или търсете, за да намерите инструмент бързо."
+fileUpload = "Използвайте бутона Files, за да качите или изберете скорошен PDF. Ще заредим пример, за да видите работното пространство."
+rightRail = "Дясната релса съдържа бързи действия за избор на файлове, смяна на тема или език и изтегляне на резултати."
+topBar = "Горната лента ви позволява да превключвате между Viewer, Page Editor и Active Files."
+pageEditorView = "Преминете към Page Editor, за да пренареждате, завъртате или изтривате страници."
+activeFilesView = "Използвайте Active Files, за да видите всичко отворено и да изберете върху какво да работите."
+wrapUp = "Това е новото във V2. Отворете менюто Турове по всяко време, за да прегледате отново това, обиколката на инструментите или админ обиколката."
[onboarding.welcomeModal]
title = "Добре дошли в Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "Разходи ме из новото"
skipTheTour = "Пропусни обиколката"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Преглед на тура"
+body = "Stirling PDF V2 идва с десетки инструменти и обновен интерфейс. Направете бърза обиколка, за да видите какво се е променило и къде да намерите нужните функции."
[onboarding.serverLicense]
skip = "Пропусни засега"
@@ -5452,7 +5668,7 @@ upgrade = "Надградете сега →"
freeTitle = "Лиценз за сървър"
overLimitTitle = "Необходим е лиценз за сървър"
overLimitBody = "Нашият лиценз позволява до {{freeTierLimit}} безплатни потребители на сървър. Имате {{overLimitUserCopy}} потребители на Stirling. За да продължите без прекъсвания, надградете до плана Stirling Server – неограничени места, редакция на PDF текст и пълен админ контрол за $99/сървър/месец."
-freeBody = "Нашият лицензен модел Open-Core позволява до {{freeTierLimit}} потребители безплатно на сървър. За безпрепятствено мащабиране препоръчваме плана Stirling Server - неограничени места и поддръжка на SSO за $99/server/mo."
+freeBody = "Нашият Open-Core лиценз позволява до {{freeTierLimit}} безплатни потребители на сървър. За да мащабирате без прекъсвания и да получите ранен достъп до нашия нов инструмент за редакция на PDF текст, препоръчваме плана Stirling Server – пълно редактиране и неограничени места за $99/сървър/месец."
[onboarding.desktopInstall]
title = "Изтегляне"
@@ -5758,28 +5974,28 @@ contactSales = "Свържете се с отдел Продажби"
contactToUpgrade = "Свържете се с нас, за да надградите или персонализирате плана си"
maxUsers = "Макс. потребители"
upTo = "До"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Вземете лиценз за сървър"
+upgradeToEnterprise = "Надграждане до Enterprise"
+selectPeriod = "Изберете период на фактуриране"
+monthlyBilling = "Месечно фактуриране"
+yearlyBilling = "Годишно фактуриране"
+checkoutOpened = "Чек-аутът е отворен"
+checkoutInstructions = "Завършете покупката си в раздела на Stripe. След плащане се върнете тук и обновете страницата, за да активирате лиценза си. Ще получите и имейл с лицензионния си ключ."
+activateLicense = "Активирайте лиценза си"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Чек-аутът е отворен в нов раздел"
+instructions = "Завършете покупката си в раздела на Stripe. След като плащането приключи, ще получите имейл с вашия лицензионен ключ."
+enterKey = "Въведете своя лицензионен ключ по-долу, за да активирате плана:"
+keyDescription = "Поставете лицензионния ключ от имейла си"
+activate = "Активиране на лиценз"
+doLater = "Ще направя това по-късно"
+success = "Лицензът е активиран!"
+successMessage = "Лицензът ви беше активиран успешно. Можете да затворите този прозорец."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "Изисква се потвърждение на имейл"
+message = "Ще трябва да потвърдите имейл адреса си в портала за фактуриране на Stripe. Проверете имейла си за линк за вход."
[plan.period]
month = "месец"
@@ -5983,8 +6199,8 @@ notAvailable = "Системата за одит не е налична"
notAvailableMessage = "Системата за одит не е конфигурирана или не е налична."
disabled = "Одитният лог е изключен"
disabledMessage = "Активирайте одитното логване в конфигурацията на приложението, за да проследявате системни събития."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Необходим е лиценз Enterprise"
+enterpriseRequiredMessage = "Системата за журнализация на одити е функция на Enterprise. Моля, надградете до лиценз Enterprise, за да получите достъп до одитните логове и анализите."
[audit.error]
title = "Грешка при зареждане на системата за одит"
@@ -6156,6 +6372,7 @@ description = "Въведете пълния URL на вашия самосто
[setup.server.error]
emptyUrl = "Моля, въведете URL на сървър"
+invalidUrl = "Невалиден формат на URL. Въведете валиден URL като https://your-server.com"
unreachable = "Неуспешна връзка със сървъра"
testFailed = "Тестът на връзката е неуспешен"
configFetch = "Неуспешно извличане на конфигурацията на сървъра. Моля, проверете URL адреса и опитайте отново."
@@ -6174,6 +6391,7 @@ connectingTo = "Свързване към:"
submit = "Вход"
signInWith = "Вписване с"
oauthPending = "Отваряне на браузър за удостоверяване..."
+sso = "Единно вписване"
orContinueWith = "Или продължете с имейл"
serverRequirement = "Забележка: Сървърът трябва да има активиран вход."
showInstructions = "Как да се активира?"
@@ -6239,8 +6457,8 @@ reset = "Отмени промените"
downloadJson = "Изтегли JSON"
generatePdf = "Генерирай PDF"
saveChanges = "Запази промените"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Прилагане на промените"
+downloadCopy = "Изтегляне на копие"
[pdfTextEditor.options.autoScaleText]
title = "Авто-мащабиране на текст за напасване в полетата"
@@ -6260,22 +6478,22 @@ title = "Заключи редактирания текст към един PDF
description = "Когато е включено, редакторът експортира всяко редактирано текстово поле като един PDF текстов елемент, за да избегне застъпване на глифове или смесени шрифтове."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Разширени настройки"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Ограничения на предварителния преглед"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Фокус върху текст и изображения"
+text = "Това работно пространство е насочено към редактиране на текст и преместване на вградени изображения. Сложни графики на страницата, формуляри и многослойна графика се запазват за експорт, но не са напълно редактируеми тук."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Разлики в предварителния преглед"
+text = "Някои визуални елементи (като рамки на таблици, форми или вид на анотации) може да не се показват точно в предварителния преглед. Експортираният PDF запазва оригиналните команди за рисуване, когато е възможно."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Алфа визуализатор"
+text = "Този алфа визуализатор все още се развива — определени шрифтове, цветове, ефекти на прозрачност и детайли в оформлението може леко да се променят. Моля, проверете генерирания PDF преди да го споделите."
[pdfTextEditor.manual]
mergeTooltip = "Слей избраните полета"
@@ -6398,3 +6616,58 @@ title = "Резултати от добавяне на текст"
[addText.error]
failed = "Възникна грешка при добавяне на текст към PDF."
+
+[mobileUpload]
+title = "Качване от мобилно устройство"
+description = "Сканирайте, за да качите снимки. Изображенията се конвертират автоматично в PDF."
+descriptionNoConvert = "Сканирайте, за да качвате снимки от мобилното си устройство."
+error = "Грешка при свързване"
+pollingError = "Грешка при проверка за файлове"
+sessionId = "ID на сесия"
+sessionCreateError = "Неуспешно създаване на сесия"
+expiryWarning = "Сесията скоро изтича"
+expiryWarningMessage = "Този QR код ще изтече след {{seconds}} секунди. Нов код ще бъде генериран автоматично."
+filesReceived = "Получени {{count}} файл(а)"
+connected = "Мобилното устройство е свързано"
+instructions = "Сканирайте с камерата на телефона си. Изображенията се конвертират автоматично в PDF."
+instructionsNoConvert = "Сканирайте с камерата на телефона си, за да качите файлове."
+
+[mobileScanner]
+title = "Мобилен скенер"
+noSession = "Невалидна сесия"
+noSessionMessage = "Моля, сканирайте валиден QR код, за да получите достъп до тази страница."
+validating = "Валидиране на сесията..."
+sessionInvalid = "Грешка в сесията"
+sessionExpired = "Тази сесия е изтекла. Моля, обновете и опитайте отново."
+sessionNotFound = "Сесията не е намерена. Моля, обновете и опитайте отново."
+sessionValidationError = "Неуспешна проверка на сесията. Опитайте отново."
+uploadSuccess = "Качването е успешно!"
+uploadSuccessMessage = "Вашите изображения бяха прехвърлени."
+httpsRequired = "Достъпът до камерата изисква HTTPS или localhost. Моля, използвайте HTTPS или достъп чрез localhost."
+uploadFailed = "Качването не бе успешно. Опитайте отново."
+uploading = "Качване..."
+connected = "Свързано"
+connecting = "Свързване..."
+chooseMethod = "Изберете метод за качване"
+chooseMethodDescription = "Изберете как искате да сканирате и качвате документи"
+camera = "Камера"
+cameraDescription = "Сканиране на документи с камерата на устройството с автоматично откриване на ръбове"
+fileUpload = "Качване на файл"
+fileDescription = "Качете съществуващи снимки или документи от устройството си"
+cameraAccessDenied = "Достъпът до камерата е отказан. Моля, разрешете достъп до камерата."
+back = "Назад"
+settings = "Настройки"
+edgeDetection = "Откриване на ръбове"
+flashlight = "Фенерче"
+flash = "Светкавица"
+processing = "Обработка..."
+capture = "Заснемане на снимка"
+selectFilesPrompt = "Изберете файлове за качване"
+selectImage = "Изберете изображение"
+preview = "Преглед"
+retake = "Повтори снимката"
+addToBatch = "Добавяне към пакет"
+upload = "Качване"
+batchImages = "Пакет"
+clearBatch = "Изчистване"
+uploadAll = "Качване на всички"
diff --git a/frontend/public/locales/bo-CN/translation.toml b/frontend/public/locales/bo-CN/translation.toml
index 7159019c5..b5c6e8462 100644
--- a/frontend/public/locales/bo-CN/translation.toml
+++ b/frontend/public/locales/bo-CN/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "ཁྱེད་རང་ལ་ཁྱེད་རང་གི་PDFལ་འགྱུར་བ་མེད་པའི་འགྱུར་བ་ཡོད།"
+pendingRedactionsTitle = "འཇུག་མ་བྱས་པའི་གསང་སྦེད"
+pendingRedactions = "ཁྱེད་ལ་འཇུག་མ་བྱས་པའི་གསང་སྦེད་ཡོད་པས་བོར་འགྲོ་སྲིད།"
areYouSure = "ཁྱེད་རང་འགྲོ་འདོད་ཡོད་དམ།"
unsavedChangesTitle = "གསོག་འཇོག་མེད་པའི་འགྱུར་བ།"
keepWorking = "མུ་མཐུད་དུ་ལས་ཀ་བྱེད་པ།"
discardChanges = "འདོར་བཞག་དང་ཕྱིར་འབུད།"
+discardRedactions = "བཤིག་བཏང་ནས་ཕྱིར་ཐོན"
applyAndContinue = "སྲུང་དང་ཕྱིར་འབུད།"
exportAndContinue = "ཕྱིར་གཏོང་དང་མུ་མཐུད་པ།"
cancel = "འདོར་བ"
@@ -364,6 +367,7 @@ advanced = "ཡན་ཐོན་ཅན"
title = "བདེ་འཇགས་དང་བདེན་དཔང་།"
security = "ཉེན་སྲུང"
connections = "འབྲེལ་མཐུད།"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "ཆོག་མཆན་དང་དབྱེ་ཞིབ།"
@@ -438,6 +442,13 @@ currentVersion = "ད་ལྟའི་ཐོན་རིམ།"
latestVersion = "ཐོན་རིམ་གསར་ཤོས།"
checkForUpdates = "གསར་བརྗེ་ལ་ཞིབ་བཤེར།"
viewDetails = "ཞིབ་ཕྲའི་གནས་ཚུལ་ལ་ལྟོས།"
+serverNeedsUpdate = "སར་བར་དེ་དོ་དམ་པས་གསར་སྒྱུར་བྱ་དགོས།"
+
+[settings.general.versionInfo]
+title = "ཐོན་རིམ་ཆ་འཕྲིན"
+description = "Desktop དང་ Server ཐོན་རིམ་ཞིབ་ཕྲ"
+desktop = "Desktop ཐོན་རིམ"
+server = "Server ཐོན་རིམ"
[settings.security]
title = "ཉེན་སྲུང"
@@ -528,6 +539,8 @@ accountSettings = "རྩིས་ཁྲ་སྒྲིག་སྟངས།"
adminSettings = "འཛིན་སྐྱོང་སྒྲིག་སྟངས། - བེད་སྤྱོད་བྱེད་མཁན་ལ་ལྟ་བ་དང་ཁ་སྣོན་བྱེད།"
userControlSettings = "སྤྱོད་མཁན་ཚོད་འཛིན་སྒྲིག་སྟངས།"
changeUsername = "སྤྱོད་མཁན་གྱི་མིང་བསྒྱུར་བ།"
+changeUsernameDescription = "ཁྱེད་ཀྱི་སྤྱོད་མིང་གསར་སྒྱུར་བྱས། གསར་སྒྱུར་རྗེས་ ཁྱེད་ཐོ་ཁོངས་ནས་ཕྱིར་བཏོན་བྱ་རྒྱུ་ཡིན།"
+newUsernamePlaceholder = "སྤྱོད་མིང་གསར་པ་འཇུག"
newUsername = "བཀོལ་སྤྱོད་མིང་གསར་པ།"
password = "གཏན་འཁེལ་གྱི་གསང་གྲངས།"
oldPassword = "གསང་གྲངས་རྙིང་པ།"
@@ -963,6 +976,7 @@ desc = "ཁྱེད་རང་གི་PDFནང་དུ་ས་ཆ་གང
addFiles = "ཡིག་ཆ་ཁ་སྣོན་བྱེད།"
uploadFromComputer = "གློག་ཀླད་ནས་ཡར་བླངས།"
openFromComputer = "གློག་ཀླད་ནས་ཁ་ཕྱེ་བ།"
+mobileUpload = "ཁ་པར་ནས་ཡར་འཇུག"
[viewPdf]
tags = "མཐོང་སྣང་། ཀློག་པ། མཆན་འགྲེལ། ཚིག་ཕྲན། པར་རིས་དང་། འོད་མདངས།"
@@ -1294,6 +1308,18 @@ includePageNumbersDesc = "ཐོན་པའི་PDFལ་ཤོག་ངོས
optimizeForEbookPdf = "གློག་དེབ་ཀློག་མཁན་ལ་ལེགས་སྒྲིག་བྱེད་པ།"
optimizeForEbookPdfDesc = "གློག་རྡུལ་དེབ་ཀྱི་ཀློག་ཆེད་དུ་PDFལེགས་བཅོས་བྱེད།"
+[convert.epubOptions]
+epubOptions = "PDF ལས eBook ལ་བརྗེ་སྒྱུར་གདམ་གསེས"
+epubOptionsDesc = "PDF ལས EPUB/AZW3 ལ་བརྗེ་སྒྱུར་གདམ་གསེས"
+detectChapters = "ལེའུ་འཚོལ་འཐེན"
+detectChaptersDesc = "ལེའུ་དང་འདྲ་བའི་མགོ་འདེམས་འཚོལ་ཞིབ་བྱས་ནས EPUB ཤོག་ངོས་བར་མཚམས་འཇོག"
+targetDevice = "དམིགས་བསལ་ཐབས་འཕྲུལ"
+targetDeviceDesc = "ཀློག་ཆས་ཐབས་འཕྲུལ་ལ་མཐུན་པའི་ཕྱིར་འདོན་པའི་profile འདེམས།"
+outputFormat = "ཕྱིར་འདོན་རྣམ་གཞག"
+outputFormatDesc = "eBook ཡི་ཕྱིར་འདོན་རྣམ་གཞག་འདེམས།"
+tabletPhone = "Tablet/Phone (པར་རིས་ཡོད)"
+kindleEink = "Kindle e-Ink (ཡིག་གནས་ལྡན)"
+
[imageToPdf]
tags = "སྒྱུར་བཅོས། ཨམ་གྷི་,jpg, པར་རིས། པར་རིས།"
@@ -3218,6 +3244,7 @@ title = "དཔེ་བཟོ་ཐབས་ལམ།"
mode = "ཐབས་ལམ།"
automatic = "རང་འགུལ་ཅན།"
automaticDesc = "འཚོལ་ཞིབ་ཐ་སྙད་ལ་བརྟེན་པའི་ཚིག་ཡིག་གསར་བརྗེ།"
+automaticDisabledTooltip = "ཡིག་ཆ་དོ་དམ་ཆས་ནང་ཡིག་ཆ་འདེམས་ནས་ ཐེངས་གཅིག་གིས་ཡིག་ཆ་མང་པོ་གསང་སྦེད་བྱ་ཆོག"
manual = "ལག་བཟོས"
manualDesc = "བྱེ་བྲག་གི་ས་ཁུལ་བཅོས་སྒྲིག་བྱེད་པར་སྣུན་ནས་འདྲུད་པ།"
manualComingSoon = "ལག་ཐོག་བསྐྱར་བཟོ་མགྱོགས་པོ་ཡོང་གི་རེད།"
@@ -3288,8 +3315,35 @@ text = "མིང་ཚིག་ཆ་ཚང་དང་མཐུན་པ་མ
title = "PDF-Image ལ་སྒྱུར་བ།"
text = "བསྐྱར་སྒྲིག་བྱས་རྗེས་PDFདེ་པར་རིས་ལ་གཞི་བཅོལ་བའི་PDFལ་སྒྱུར་བ། འདིས་བསྐྱར་བཟོ་སྒྲོམ་གྱི་རྒྱབ་ལྗོངས་ཀྱི་ཡིག་ཆ་ཆ་ཚང་མེད་པར་བཟོས་པ་དང་བསྐྱར་ལེན་བྱེད་མི་ཐུབ་པ་འགན་ལེན་བྱེད།"
+[redact.tooltip.manual.header]
+title = "ལག་སྒུལ་གསང་སྦེད་ཚོད་འཛིན"
+
+[redact.tooltip.manual.markText]
+title = "ཚིག་ཡིག་རྟགས་བཀལ་ལག་ཆ"
+text = "PDF ཐོག་ཏུ་ཚིག་ཡིག་ཐད་ཀར་འདེམས་ནས་གསང་སྦེད་རྟགས་བཀལ། མགོ་བསྣོར་བྱས་ནས་གསང་སྦེད་དགོས་པའི་ཚིག་ཡིག་དམིགས་ཡུལ་གསལ་སྟོན།"
+
+[redact.tooltip.manual.markArea]
+title = "ཁོར་ཁ་རྟགས་བཀལ་ལག་ཆ"
+text = "PDF ཐོག་ཏུ་གྲུ་བཞིའི་ཁོར་ཁ་རིས་འབྲིས་ནས་གསང་སྦེད་དགོས་པའི་ཁོར་ཁ་རྟགས་བཀལ། པར་རིས་ མཛུབ་རྟགས་ ཡང་ན་རིས་དབྱིབས་མཐུན་མེད་སོགས་ལ་ཕན་ཐོགས།"
+
+[redact.tooltip.manual.apply]
+title = "གསང་སྦེད་འཇུག"
+text = "རྟགས་བཀལ་ཚར་རྗེས་ ‘Apply’ མནན་ནས་རྟགས་བཀལ་ས་ཡོངས་རྫོགས་གཏན་པར་གསང་སྦེད་བྱེད། བསྒུག་བཞག་གྲངས་ནི་གསང་སྦེད་བྱ་བ་ག་ཚོད་གྲ་སྒྲིག་ཡོད་པ་མངོན་པ་ཡིན།"
+bullet1 = "འཇུག་མ་བྱས་སྔོན་ལ་ཁོར་ཁ་མང་ཙམ་རྟགས་བཀལ་ཆོག"
+bullet2 = "བསྒུག་བཞག་གསང་སྦེད་ཚང་མ་ཐེངས་གཅིག་གིས་འཇུག"
+bullet3 = "འཇུག་རྗེས་ཕྱིར་འབྱོར་བྱེད་མི་ཐུབ།"
+
[redact.manual]
+title = "གསང་སྦེད་ལག་ཆ"
+instructions = "PDF ཐོག་ཏུ་ཚིག་ཡིག་འདེམས་ ཡང་ན་ཁོར་ཁ་འབྲིས་ནས་གསང་སྦེད་དམིགས་ཡུལ་རྟགས་བཀལ།"
+markText = "ཚིག་ཡིག་རྟགས་བཀལ"
+markArea = "ཁོར་ཁ་རྟགས་བཀལ"
+pendingLabel = "བསྒུག་བཞག:"
+applyWarning = "⚠️ རྟག་བརྟན་འཇུག ཕྱིར་འབྱོར་མི་ཐུབ དང་འོག་གི་གཞི་གྲངས་བསུབ་བྱེད།"
+apply = "འཇུག"
+noMarks = "གསང་སྦེད་རྟགས་མེད། གསང་སྦེད་བྱ་དགོས་ནའི་དམིགས་ཡུལ་རྟགས་བཀལ་ནིའི་ལག་ཆ་གོང་ལས་སྤྱོད།"
header = "ལག་དེབ་བསྐྱར་བཟོ།"
+controlsTitle = "ལག་སྒུལ་གསང་སྦེད་ཚོད་འཛིན"
textBasedRedaction = "ཡིག་ཚགས་ལ་བརྟེན་པའི་གསར་བརྗེ།"
pageBasedRedaction = "ཤོག་ངོས་ལ་བརྟེན་པའི་བསྐྱར་བཟོ།"
convertPDFToImageLabel = "PDF ལ་PDF-Image ལ་སྒྱུར་དགོས།"
@@ -4077,11 +4131,16 @@ language = "སྐད་རིགས"
toggleAnnotations = "བསྒུལ་བསྒྱུར། མིང་ཚིག་མཐོང་ཐུབ་ཚད།"
search = "འཚོལ་ཞིབ་PDF"
panMode = "པན་ཐབས་ཀྱི་ཐབས་ལམ།"
+applyRedactionsFirst = "དེ་སྔོན་ལ་གསང་སྦེད་འཇུག"
rotateLeft = "གཡོན་འཁོར་བ།"
rotateRight = "གཡས་གཡོན་འཁོར་བ།"
toggleSidebar = "བསྒྱུར་བའི་ཕྱོགས་བསྒྱུར།"
toggleBookmarks = "བསྒྱུར་དེབ་ཀྱི་རྟགས་མཚན།"
print = "པར་ཤུས་PDF"
+draw = "འབྲི"
+redact = "གསང་སྦེད"
+exitRedaction = "གསང་སྦེད་ཐབས་ལས་ཕྱིར་ཐོན"
+save = "ཉར"
downloadAll = "ཕབ་ལེན།"
saveAll = "ཚང་མ་ཉར་ཚགས་བྱེད་པ།"
@@ -4155,6 +4214,7 @@ editSwitchToSelect = "མཆན་འདི་རྩོམ་སྒྲིག་
undo = "མེད་པ་བཟོ་བ།"
redo = "བསྐྱར་དུ་བྱེད།"
applyChanges = "འགྱུར་བ་འཇུག་པ།"
+saveChanges = "བཟོ་བཅོས་ཉར"
[search]
title = "འཚོལ་ཞིབ་PDF"
@@ -4237,6 +4297,8 @@ fetchError = "དངོས་ཟོག་སྒྲིག་སྟངས་མ་
saveError = "སྒྲིག་སྟངས་གསོག་མ་ཐུབ་པ།"
saved = "སྒྲིག་སྟངས་ལེགས་འགྲུབ་བྱུང་བ།"
saveSuccess = "སྒྲིག་སྟངས་ལེགས་འགྲུབ་བྱུང་བ།"
+success = "སྒྲིག་འགོད་ལེགས་པར་ཉར་ཟིན།"
+error = "སྒྲིག་འགོད་ཉར་མ་ཐུབ།"
save = "འགྱུར་བ་སྲུང་བ།"
discard = "འདོར་བ"
restartRequired = "བསྐྱར་དུ་འགོ་འཛུགས་དགོས་པ།"
@@ -4360,6 +4422,13 @@ description = "HTMLནས་PDFབསྒྱུར་བའི་ཆེད་ད
label = "མེད་ཐབས་མེད་པ་ལག་བསྟར་བྱེད་ཐུབ།"
description = "ཡིག་ཆ་སྒྱུར་བཀོད་ཀྱི་ཆེད་དུ་LibreOffice ནས་Oconcorvert (སྔོན་སྒྲིག་ཆེད་དུ་སྟོང་པར་བཞག་པ་: /opt/venv/bin/octurntert)"
+[admin.settings.general.frontendUrl]
+label = "Frontend URL"
+description = "Frontend ཡི་ Base URL (དཔེར་ https://pdf.example.com) ཡིན། གློག་རྡུལ་ཡིག་འཕྲིན་དང་ ཁ་པར QR ཡར་འཇུག་ལམ་ལ་སྤྱོད་དགོས། སྟོང་པར་བཞག་ན་ backend URL སྤྱོད།"
+
+[admin.settings.badge]
+clickToUpgrade = "མནན་ནས་པར་འཆར་ཞིབ་ལྟ"
+
[admin.settings.security]
title = "ཉེན་སྲུང"
description = "བདེན་དཔང་དང་། ནང་འཇུག་བྱ་སྤྱོད། བདེ་འཇགས་སྲིད་ཇུས་བཅས་སྒྲིག་བཀོད་བྱེད་དགོས།"
@@ -4496,6 +4565,19 @@ connect = "འབྲེལ་བ"
disconnect = "མཐུད་མཚམས་ཆད་པ།"
disconnected = "མཁོ་སྤྲོད་བྱེད་མཁན་གྱིས་འབྲེལ་བ་ཆད་པ་ལེགས་འགྲུབ་བྱུང་བ།"
disconnectError = "མཐུད་མཚམས་ཆད་མ་ཐུབ་པ།"
+mobileScannerConvertToPdf = "པར་རིས་ PDF ལ་བརྗེ་སྒྱུར"
+mobileScannerConvertToPdfDesc = "ཡར་འཇུག་བྱས་པའི་པར་རིས་རང་འགུལ་ངང་ PDF རྣམ་གཞག་ལ་བརྗེ་སྒྱུར། མ་འགོ་སློངས་ན་པར་རིས་ཐོག་མའི་སྣང་ཚུལ་ལས་བཟུང་།"
+mobileScannerImageResolution = "པར་རིས་ཞིབ་ཚད"
+mobileScannerImageResolutionDesc = "ཡར་འཇུག་བྱས་པའི་པར་རིས་ཀྱི་ཞིབ་ཚད། “Reduced” ནི 1200px མང་མཐའ་བར་ཆེ་ཆུང་བསྡུས་ནས་ཡིག་ཆའི་ཆ་ཚད་ཆུང་བཟོ།"
+imageResolutionFull = "ཆ་ཚང (ཐོག་མའི་ཆེ་ཆུང)"
+imageResolutionReduced = "ཆུང་བཟོ (མང་མཐའ 1200px)"
+mobileScannerPageFormat = "ཤོག་ངོས་རྣམ་གཞག"
+mobileScannerPageFormatDesc = "བརྗེ་སྒྱུར་བྱས་པའི་པར་རིས་ཀྱི་ PDF ཤོག་ངོས་ཆེ་ཆུང། “Keep” ནི པར་རིས་ཐོག་མའི་རྒྱ་ཁྱོན་སྲུངས།"
+pageFormatKeep = "བཞག (ཐོག་མའི་རྒྱ་ཁྱོན)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "འཚམ་བཟོས་སྣར"
+mobileScannerStretchToFitDesc = "པར་རིས་ཤོག་ངོས་ཡོངས་སྐོར་ལ་ཁེངས་པར་སྣར། མ་འགོ་སློངས་ན་ པར་རིས་དབྱིབས་སྒྲིག་སྲུངས་ནས་དཀྱིལ་དུ་བཞག"
[admin.settings.connections.ssoAutoLogin]
label = "SSO རང་འགུལ་ནང་འཇུག།"
@@ -4564,6 +4646,122 @@ description = "རང་འགུལ་གྱིས་SAML2ནང་འཛུལ
label = "སྒོ་བརྒྱབ་པའི་ཐོ་འགོད་བྱེད་པ།"
description = "SAML2 བརྒྱུད་ནས་སྤྱོད་མཁན་གྱི་ཐོ་འགོད་གསར་པ་འགོག་ཐུབ།"
+[admin.settings.connections.mobileScanner]
+label = "ཁ་པར་ཡར་འཇུག"
+enable = "QR ཡར་འཇུག་འགོ་སློང"
+description = "སྤྱོད་མཁན་ཚོས QR ཨང་ཡིག་བསྣུན་ནས་ཁ་པར་ཐབས་འཕྲུལ་ནས་ཡིག་ཆ་ཡར་འཇུག་བྱ་ཆོག"
+note = "དྲན་འདྲི: Frontend URL སྒྲིག་འགོད་དགོས། "
+link = "མ་ལག་རིམ་སྒྲིག་ནང་སྒྲིག"
+mobileScannerConvertToPdf = "པར་རིས་ PDF ལ་བརྗེ་སྒྱུར"
+mobileScannerConvertToPdfDesc = "ཡར་འཇུག་བྱས་པའི་པར་རིས་རང་འགུལ་ངང་ PDF རྣམ་གཞག་ལ་བརྗེ་སྒྱུར། མ་འགོ་སློངས་ན་པར་རིས་ཐོག་མའི་སྣང་ཚུལ་ལས་བཟུང་།"
+mobileScannerImageResolution = "པར་རིས་ཞིབ་ཚད"
+mobileScannerImageResolutionDesc = "ཡར་འཇུག་པར་རིས་ཀྱི་ཞིབ་ཚད། “Reduced” ནི 1200px མང་མཐའ་དང་མཉེན།"
+imageResolutionFull = "ཆ་ཚང (ཐོག་མའི་ཆེ་ཆུང)"
+imageResolutionReduced = "ཆུང་བཟོ (མང་མཐའ 1200px)"
+mobileScannerPageFormat = "ཤོག་ངོས་རྣམ་གཞག"
+mobileScannerPageFormatDesc = "PDF ཤོག་ངོས་ཆེ་ཆུང། “Keep” ནི པར་རིས་ཐོག་མའི་རྒྱ་ཁྱོན་སྲུངས།"
+pageFormatKeep = "བཞག (ཐོག་མའི་རྒྱ་ཁྱོན)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "འཚམ་བཟོས་སྣར"
+mobileScannerStretchToFitDesc = "པར་རིས་ཤོག་ངོས་ཡོངས་སྐོར་ལ་ཁེངས་པར་སྣར། མ་འགོ་སློངས་ན་པར་རིས་དཀྱིལ་དུ་བཞག་ནས་དབྱིབས་སྒྲིག་སྲུངས།"
+
+[admin.settings.telegram]
+title = "Telegram Bot"
+description = "Telegram bot འབྲེལ་མཐུད་ དབང་བཀག་ དང་ལྟོས་ལན་སྤྱོད་ཚུལ་སྒྲིག་འགོད།"
+
+[admin.settings.telegram.enabled]
+label = "Telegram Bot འགོ་སློང"
+description = "ཁྱེད་ཀྱིས་སྒྲིག་འགོད་བྱས་ Telegram bot བརྒྱུད་པར་སྤྱོད་མཁན་ཚོས Stirling PDF དང་འབྲེལ་བ་བྱེད་ཆོག"
+
+[admin.settings.telegram.botUsername]
+label = "Bot མིང་ཉིད"
+description = "Telegram bot ཡི་མིང་ཉིད་མི་སྤྱོད་གཙོ།"
+
+[admin.settings.telegram.botToken]
+label = "Bot Token"
+description = "BotFather ཡིས་བྱིན་པའི API token ཡིན།"
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "ནང་ཡིག་སྣོད"
+description = "pipeline དཀར་ཆག་འོག་གི་ཡིག་སྣོད་དུ Telegram ཡིག་ཆ་འཇུག་བྱས་པ་ཉར་བ།"
+
+[admin.settings.telegram.customFolderSuffix]
+label = "ཡིག་སྣོད་ཟུར་མཐའ་སྲས་སྒྲིག་སྤྱོད"
+description = "གླེང་མོལ ID ཡིག་སྣོད་འཇུག་ཡིག་ལ་ཟུར་མཐའ་ཁས་སྣོན་བྱས་ནས་གླེང་མོལ་རེ་རེའི་ཡར་འཇུག་ཁ་གཏན་བཟོ།"
+
+[admin.settings.telegram.accessControl]
+title = "དབང་བཀག"
+description = "bot དང་འབྲེལ་བ་བྱེད་ཆོག་པའི་སྤྱོད་མཁན་དང་རྒྱུད་ལམ་གང་དག་ཚོད་འཛིན།"
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "སྤྱོད་མཁན ID དམིགས་བསལ་ཆོག"
+description = "འགོ་སློངས་ན་ ཐོ་ཡིག་དུ་འཇུག་པའི་སྤྱོད་མཁན ID རྐྱང་བ་ཙམ་གྱིས bot སྤྱོད་ཆོག"
+
+[admin.settings.telegram.allowUserIDs]
+label = "ཆོག་པའི་སྤྱོད་མཁན ID"
+description = "bot དང་འབྲེལ་བ་བྱེད་ཆོག་པའི Telegram སྤྱོད་མཁན ID འཇུག"
+placeholder = "སྤྱོད་མཁན ID ཁ་སྣོན་བྱས་ནས Enter མནན"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "རྒྱུད་ལམ ID དམིགས་བསལ་ཆོག"
+description = "འགོ་སློངས་ན་ ཐོ་ཡིག་ནང་གི་ ID རྐྱང་བ་ཙམ་གྱིས bot སྤྱོད་ཆོག"
+
+[admin.settings.telegram.allowChannelIDs]
+label = "ཆོག་པའི་རྒྱུད་ལམ ID"
+description = "bot དང་འབྲེལ་བ་བྱེད་ཆོག་པའི Telegram རྒྱུད་ལམ ID འཇུག"
+placeholder = "རྒྱུད་ལམ ID ཁ་སྣོན་བྱས་ནས Enter མནན"
+
+[admin.settings.telegram.processing]
+title = "ལས་སྒྲུབ"
+description = "Telegram ཡར་འཇུག་གྱི་འཚོལ་ཞིབ་བར་མཚམས་དང་ལས་སྒྲུབ་དུས་ཚོད་ཐོན་པ་ཚོད་འཛིན།"
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "ལས་སྒྲུབ་དུས་ཚོད་ཐོན་པ (སྐར་ཆ)"
+description = "ལས་སྒྲུབ་ལས་ཀ་ཞིབ་བཤེར་བསྒུག་དགོས་པའི་དུས་ཚོད་མང་མཐའ།"
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "འཚོལ་ཞིབ་བར་མཚམས (ms)"
+description = "Telegram གསར་བརྗེ་ཞིབ་བཤེར་བར་མཚམས།"
+
+[admin.settings.telegram.feedback]
+title = "ལྟོས་ལན་འཕྲིན་དོན"
+description = "bot ཡིས་དུས་ག་དུས་སྤྱོད་མཁན་དང་རྒྱུད་ལམ་ལ་ལྟོས་ལན་གཏོང་དགོས་པ་འདེམས།"
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "ལྟོས་ལན་འགོ་སློང"
+description = "bot ཡིས་ལྟོས་ལན་འཕྲིན་དོན་གཏོང་མིན་ཚོད་འཛིན།"
+
+[admin.settings.telegram.feedback.channel]
+title = "རྒྱུད་ལམ་ལྟོས་ལན་སྒྲིག་ལམ"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "“ནུས་ལྡན་ཡིག་ཆ་མེད” མངོན་པ (རྒྱུད་ལམ)"
+description = "རྒྱུད་ལམ་ཡར་འཇུག་སྐབས་ “ནུས་ལྡན་ཡིག་ཆ་མེད” ཟེར་བའི་ལྟོས་ལན་མངོན་པ་བཀག"
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "ལས་སྒྲུབ་ནོར་འཁྲུལ་མངོན་པ (རྒྱུད་ལམ)"
+description = "རྒྱུད་ལམ་ལ་ལས་སྒྲུབ་ནོར་འཁྲུལ་འཕྲིན་དོན་གཏོང་།"
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "ནོར་འཁྲུལ་འཕྲིན་དོན་མངོན་པ (རྒྱུད་ལམ)"
+description = "རྒྱུད་ལམ་ལ་ཞིབ་ཕྲ་ནོར་འཁྲུལ་འཕྲིན་དོན་མངོན་པ།"
+
+[admin.settings.telegram.feedback.user]
+title = "སྤྱོད་མཁན་ལྟོས་ལན་སྒྲིག་ལམ"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "“ནུས་ལྡན་ཡིག་ཆ་མེད” མངོན་པ (སྤྱོད་མཁན)"
+description = "སྤྱོད་མཁན་ཡར་འཇུག་སྐབས་ “ནུས་ལྡན་ཡིག་ཆ་མེད” ཟེར་བའི་ལྟོས་ལན་མངོན་པ་བཀག"
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "ལས་སྒྲུབ་ནོར་འཁྲུལ་མངོན་པ (སྤྱོད་མཁན)"
+description = "སྤྱོད་མཁན་ལ་ལས་སྒྲུབ་ནོར་འཁྲུལ་འཕྲིན་དོན་གཏོང་།"
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "ནོར་འཁྲུལ་འཕྲིན་དོན་མངོན་པ (སྤྱོད་མཁན)"
+description = "སྤྱོད་མཁན་ལ་ཞིབ་ཕྲ་ནོར་འཁྲུལ་འཕྲིན་དོན་མངོན་པ།"
+
[admin.settings.database]
title = "གཞི་གྲངས་རྟེན་གཞི།"
description = "ཁེ་ལས་བཀོལ་སྤྱོད་ཀྱི་ཆེད་དུ་སྒེར་གྱི་གཞི་གྲངས་མཛོད་ཀྱི་མཐུད་ཁ་སྒྲིག་སྟངས་སྒྲིག་བཀོད་བྱེད།"
@@ -4745,6 +4943,10 @@ description = "བདག་སྐྱོང་བ་ཚོར་རང་འག
label = "མདུན་གྱི་URL"
description = "མདུན་གྱི་ཆེད་དུ་གཞི་རྩའི་URL (དཔེར་ན། https://pdf.example.com) གློག་འཕྲིན་ནང་གདན་ཞུའི་འབྲེལ་མཐུད་བཟོ་བར་བེད་སྤྱོད་བྱས། རྒྱབ་ཕྱོགས་ཀྱི་URLབེད་སྤྱོད་བྱེད་པར་སྟོང་པར་བཞག་རོགས།"
+[admin.settings.mail.frontendUrlNote]
+note = "དྲན་འདྲི: Frontend URL སྒྲིག་འགོད་དགོས། "
+link = "མ་ལག་རིམ་སྒྲིག་ནང་སྒྲིག"
+
[admin.settings.legal]
title = "ཁྲིམས་ལུགས་ཡིག་ཆ།"
description = "ཁྲིམས་ཡིག་གི་ཡིག་ཆ་དང་སྲིད་ཇུས་ཀྱི་འབྲེལ་མཐུད་སྒྲིག་བཀོད་བྱེད་པ།"
@@ -4929,6 +5131,9 @@ googleDriveShort = "བསྐོར་བ"
myFiles = "ངའི་ཡིག་ཆ།"
noRecentFiles = "ཉེ་ཆར་ཡིག་ཆ་གང་ཡང་མཐོང་མ་བྱུང་།"
googleDriveNotAvailable = "གྷུ་གྷལ་སྒུལ་ཆས་གཅིག་སྒྲིལ་མེད་པ།"
+mobileUpload = "ཁ་པར་ཡར་འཇུག"
+mobileShort = "ཁ་པར"
+mobileUploadNotAvailable = "ཁ་པར་ཡར་འཇུག་མ་འགོ་སློངས།"
downloadSelected = "ཕབ་ལེན།"
saveSelected = "ཉར་ཚགས་བྱས།"
openFiles = "ཁ་ཕྱེ་བའི་ཡིག་ཆ།"
@@ -5307,6 +5512,15 @@ impact = "ལྡེ་མིག་འདི་དག་བེད་སྤྱོ
confirmPrompt = "ཁྱེད་རང་མུ་མཐུད་འདོད་ཀྱི་ཡོད་དམ།"
confirmCta = "གསར་བཅོས་ལྡེ་མིག་གསར་བ།"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "API Key ནོར་འཁྲུལ"
+failedToCreateApiKey = "API key གསར་བཟོ་ཕམ།"
+failedToRetrieveApiKey = "ལན་ཐོབ་ནས API key ལེན་མ་ཐུབ།"
+failedToFetchApiKey = "API key འཚོལ་མ་ཐུབ།"
+apiKeyRefreshed = "API Key གསར་བསྒྱུར་ཟིན།"
+apiKeyRefreshedBody = "ཁྱེད་ཀྱི API key ལེགས་པར་གསར་བསྒྱུར་བྱས་ཟིན།"
+failedToRefreshApiKey = "API key གསར་བསྒྱུར་ཕམ།"
+
[AddAttachmentsRequest]
attachments = "མཉམ་སྦྲེལ་འདེམས།"
info = "ཁྱེད་རང་གི་PDFལ་མཐུད་པའི་ཡིག་ཆ་འདེམས། ཡིག་ཆ་འདི་དག་PDFཡི་མཐུད་སྣེ་བརྒྱུད་ནས་བཙུགས་ནས་འཛུལ་ཐུབ།"
@@ -6156,6 +6370,7 @@ description = "ཁྱེད་རང་གི་རང་ཉིད་ཀྱི
[setup.server.error]
emptyUrl = "སར་བར་གྱི་URLནང་འཇུག་གནང་རོགས།"
+invalidUrl = "URL རྣམ་གཞག་ནུས་མེད། དཔེར་ https://your-server.com ལྟ་བུའི URL བཙུགས།"
unreachable = "སར་བར་མཐུད་མི་ཐུབ་པ།"
testFailed = "འབྲེལ་མཐུད་ཚོད་ལྟ་དེ་ལམ་ལྷོང་མ་བྱུང་།"
configFetch = "སར་བར་གྱི་བཀོད་སྒྲིག་ལེན་མ་ཐུབ་པ། URL ལ་ལྟ་ཞིབ་བྱས་ནས་བསྐྱར་དུ་ཚོད་ལྟ་གནང་རོགས།"
@@ -6174,6 +6389,7 @@ connectingTo = "མཐུད་པ་སྟེ།"
submit = "ནང་འཇུག"
signInWith = "ནང་དུ་ཞུགས་པ།"
oauthPending = "བདེན་དཔང་ཆེད་དུ་དྲ་ངོས་ཁ་ཕྱེ་བ།..."
+sso = "Single Sign-On"
orContinueWith = "ཡང་ན་མུ་མཐུད་དུ་གློག་འཕྲིན་བརྒྱུད་ནས།"
serverRequirement = "དྲན་ཐོ། སར་བར་ལ་ནང་འཇུག་ལག་བསྟར་བྱེད་དགོས།"
showInstructions = "ཇི་ལྟར་བྱེད་ཐབས་ཡོད་དམ།"
@@ -6398,3 +6614,58 @@ title = "ཡིག་འབྲུའི་གྲུབ་འབྲས་ཁ་
[addText.error]
failed = "ཡིག་ཆ་PDFལ་ཁ་སྣོན་བྱེད་སྐབས་ནོར་འཁྲུལ་བྱུང་ཡོད།"
+
+[mobileUpload]
+title = "ཁ་པར་ནས་ཡར་འཇུག"
+description = "བཤར་འབེབས་བསྣུན་ནས་པར་རིས་ཡར་འཇུག། པར་རིས་ PDF ལ་རང་འགུལ་བརྗེ་སྒྱུར།"
+descriptionNoConvert = "ཁ་པར་ཐབས་འཕྲུལ་ནས་པར་རིས་བསྣུན་ནས་ཡར་འཇུག།"
+error = "འབྲེལ་མཐུད་ནོར་འཁྲུལ"
+pollingError = "ཡིག་ཆ་ཞིབ་བཤེར་སྐབས་ནོར་འཁྲུལ"
+sessionId = "Session ID"
+sessionCreateError = "Session གསར་བཟོ་ཕམ།"
+expiryWarning = "Session མགྱོགས་དུས་མཇུག"
+expiryWarningMessage = "QR ཨང་ཡིག་འདི་ {{seconds}} སྐར་ཆར་རྟགས་ལས་འདས་འགྲོ། ཨང་ཡིག་གསར་པ་རང་འགུལ་གྱིས་སྤེལ་བྱེད།"
+filesReceived = "ཡིག་ཆ {{count}} ཐོབ་ཟིན"
+connected = "ཁ་པར་ཐབས་འཕྲུལ་མཐུད་ཟིན"
+instructions = "ཁ་པར་བརྙན་ཆས་བསྣུན། པར་རིས་ PDF ལ་རང་འགུལ་བརྗེ་སྒྱུར།"
+instructionsNoConvert = "ཁ་པར་བརྙན་ཆས་བསྣུན་ནས་ཡིག་ཆ་ཡར་འཇུག།"
+
+[mobileScanner]
+title = "ཁ་པར་བཤར་འབེབས་ཆས"
+noSession = "Session ནུས་མེད"
+noSessionMessage = "ཤོག་ངོས་འདི་ལ་འཛུལ་ཐུབ་པར་ ནུས་ལྡན་ QR ཨང་ཡིག་བསྣུན་རོགས།"
+validating = "Session བདེན་བཤད་བཤེར་བཞིན..."
+sessionInvalid = "Session ནོར་འཁྲུལ"
+sessionExpired = "Session འདི་དུས་ཡོལ་བྱས་ཟིན། སྒུལ་སྟངས་བསྐྱར་བཟོས་ནས་ཚོད་ལྟ་བྱེད།"
+sessionNotFound = "Session རྙེད་མ་སོ། སྒུལ་སྟངས་བསྐྱར་བཟོས་ནས་ཚོད་ལྟ་བྱེད།"
+sessionValidationError = "Session བདེན་བཤད་མ་ཐུབ། ཡང་བསྐྱར་ཚོད་ལྟ་བྱེད།"
+uploadSuccess = "ཡར་འཇུག་ལེགས་འགྲུབ!"
+uploadSuccessMessage = "ཁྱེད་ཀྱི་པར་རིས་སྤོ་ལེན་བྱས་ཟིན།"
+httpsRequired = "བརྙན་ཆས་དབང་ཆ དགོས་ HTTPS ཡང་ན localhost ཡིན། HTTPS ཡང་ན localhost བཀོལ་རོགས།"
+uploadFailed = "ཡར་འཇུག་ཕམ། ཡང་བསྐྱར་ཚོད་ལྟ་བྱེད།"
+uploading = "ཡར་འཇུག..."
+connected = "མཐུད་ཟིན"
+connecting = "མཐུད་བཞིན..."
+chooseMethod = "ཡར་འཇུག་ཐབས་ལམ་འདེམས"
+chooseMethodDescription = "གཞི་བཙུགས་དང་ཡར་འཇུག་བྱ་ཐབས་ལམ་གདམ་གསེས་བྱ།"
+camera = "བརྙན་ཆས"
+cameraDescription = "ཁྱེད་ཀྱི་ཐབས་འཕྲུལ་བརྙན་ཆས་སྤྱད་ནས་ཡིག་ཆ་ཞིབ་བཤེར། མཐའ་མཚམས་རང་འགུལ་འཚོལ་འཐེན་ཡོད།"
+fileUpload = "ཡིག་ཆ་ཡར་འཇུག"
+fileDescription = "ཐོག་མའི་པར་རིས་དང་ཡིག་ཆ་ཁྱེད་ཀྱི་ཐབས་འཕྲུལ་ནས་ཡར་འཇུག"
+cameraAccessDenied = "བརྙན་ཆས་དབང་ཆ་བཀག་ཟིན། དབང་ཆ་སྤྲོད་རོགས།"
+back = "ཕྱིར་ལོག"
+settings = "སྒྲིག་འགོད"
+edgeDetection = "མཐའ་མཚམས་འཚོལ་འཐེན"
+flashlight = "འོད་གཏོར"
+flash = "འོད་འཕྲོ"
+processing = "ལས་སྒྲུབ..."
+capture = "པར་འཛིན"
+selectFilesPrompt = "ཡར་འཇུག་བྱ་ཡིག་ཆ་འདེམས"
+selectImage = "པར་རིས་འདེམས"
+preview = "སྔོན་ལྟ"
+retake = "ཡང་བསྐྱར་འཛིན"
+addToBatch = "ཚོགས་སྣོན"
+upload = "ཡར་འཇུག"
+batchImages = "ཚོགས"
+clearBatch = "བསལ"
+uploadAll = "ཡོངས་རྫོགས་ཡར་འཇུག"
diff --git a/frontend/public/locales/ca-CA/translation.toml b/frontend/public/locales/ca-CA/translation.toml
index d31e69656..a82a5892c 100644
--- a/frontend/public/locales/ca-CA/translation.toml
+++ b/frontend/public/locales/ca-CA/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "Tens canvis sense desar al teu PDF."
+pendingRedactionsTitle = "Redaccions no aplicades"
+pendingRedactions = "Hi ha redaccions no aplicades que es perdran."
areYouSure = "Segur que vols sortir?"
unsavedChangesTitle = "Canvis sense desar"
keepWorking = "Continua treballant"
discardChanges = "Descarta i surt"
+discardRedactions = "Descarta i surt"
applyAndContinue = "Desa i surt"
exportAndContinue = "Exporta i continua"
cancel = "Cancel·la"
@@ -356,7 +359,7 @@ teams = "Equips"
title = "Configuració"
systemSettings = "Configuració del sistema"
features = "Funcions"
-endpoints = "Punts finals"
+endpoints = "Endpoints"
database = "Base de dades"
advanced = "Avançat"
@@ -364,6 +367,7 @@ advanced = "Avançat"
title = "Seguretat i autenticació"
security = "Seguretat"
connections = "Connexions"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Llicències i analítiques"
@@ -438,25 +442,34 @@ currentVersion = "Versió actual"
latestVersion = "Última versió"
checkForUpdates = "Comprova actualitzacions"
viewDetails = "Veure detalls"
+serverNeedsUpdate = "L'administrador ha d'actualitzar el servidor"
+
+[settings.general.versionInfo]
+title = "Informació de la versió"
+description = "Detalls de les versions d'escriptori i del servidor"
+desktop = "Versió d'escriptori"
+server = "Versió del servidor"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Seguretat"
+description = "Actualitza la contrasenya per mantenir segur el compte."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Canvia la contrasenya. Es tancarà la sessió després d’actualitzar."
+required = "Tots els camps són obligatoris."
+mismatch = "Les contrasenyes noves no coincideixen."
+error = "No s'ha pogut actualitzar la contrasenya. Verifica la contrasenya actual i torna-ho a provar."
+success = "La contrasenya s'ha actualitzat correctament. Torna a iniciar la sessió."
+ssoDisabled = "Els canvis de contrasenya els gestiona el proveïdor d'identitat."
+current = "Contrasenya actual"
+currentPlaceholder = "Introdueix la contrasenya actual"
+new = "Contrasenya nova"
+newPlaceholder = "Introdueix una contrasenya nova"
+confirm = "Confirma la contrasenya nova"
+confirmPlaceholder = "Torna a introduir la contrasenya nova"
+update = "Actualitza la contrasenya"
+
+
[settings.hotkeys]
title = "Dreceres de teclat"
@@ -511,16 +524,16 @@ low = "Baixa"
title = "Canvia les Credencials"
header = "Actualitza les Dades del Compte"
changePassword = "Estàs utilitzant les credencials d'inici de sessió per defecte. Si us plau, introdueix una nova contrasenya"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "El compte el gestiona el proveïdor d'identitat."
newUsername = "Nou Nom d'Usuari"
oldPassword = "Contrasenya Actual"
newPassword = "Nova Contrasenya"
confirmNewPassword = "Confirma la Nova Contrasenya"
submit = "Envia els Canvis"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Compte actualitzat"
+description = "S'han desat els canvis. Torna a iniciar la sessió."
+error = "No s'ha pogut actualitzar el nom d'usuari. Verifica la contrasenya i torna-ho a provar."
+changeUsername = "Actualitza el nom d'usuari. Es tancarà la sessió després d’actualitzar."
[account]
title = "Opcions del compte"
@@ -528,6 +541,8 @@ accountSettings = "Opcions del compte"
adminSettings = "Opcions d'Administrador - Veure i afegir usuaris"
userControlSettings = "Opcions de Control d'Usuari"
changeUsername = "Canvia el nom d'usuari"
+changeUsernameDescription = "Actualitza el nom d'usuari. Es tancarà la sessió després d’actualitzar."
+newUsernamePlaceholder = "Introdueix el nom d'usuari nou"
newUsername = "Nom d'usuari nou"
password = "Confirma contrasenya"
oldPassword = "Contrasenya Antiga"
@@ -589,7 +604,7 @@ totalEndpoints = "Total d'endpoints"
totalVisits = "Total de visites"
showing = "Mostrant"
selectedVisits = "Visites seleccionades"
-endpoint = "Punt final"
+endpoint = "Endpoint"
visits = "Visites"
percentage = "Percentatge"
loading = "Carregant..."
@@ -737,9 +752,9 @@ title = "Signa"
desc = "Afegeix signatura al PDF mitjançant dibuix, text o imatge"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "anotar,ressaltar,dibuixar"
+title = "Anota"
+desc = "Ressalta, dibuixa i afegeix notes i formes al visor"
[home.flatten]
tags = "simplifica,elimina,interactiu"
@@ -952,7 +967,7 @@ title = "Superposar PDFs"
[home.pdfTextEditor]
title = "Editor de text PDF"
-desc = "Edita el text i les imatges existents dins dels PDF"
+desc = "Revisa i edita exportacions JSON de Stirling PDF amb edició de text agrupada i regeneració del PDF"
[home.addText]
tags = "text,anotació,etiqueta"
@@ -963,6 +978,7 @@ desc = "Afegeix text personalitzat a qualsevol lloc del teu PDF"
addFiles = "Afegeix fitxers"
uploadFromComputer = "Puja des de l'ordinador"
openFromComputer = "Obre des de l'ordinador"
+mobileUpload = "Puja des del mòbil"
[viewPdf]
tags = "veure,llegir,anotar,text,imatge"
@@ -1278,21 +1294,33 @@ cbzOptions = "Opcions de CBZ a PDF"
optimizeForEbook = "Optimitza el PDF per a lectors d'ebook (usa Ghostscript)"
cbzOutputOptions = "Opcions de PDF a CBZ"
cbzDpi = "DPI per al renderitzat d'imatges"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "Opcions CBR"
+cbrOutputOptions = "Opcions de PDF a CBR"
+cbrDpi = "DPI per al renderitzat d'imatges"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "Opcions d'eBook a PDF"
+ebookOptionsDesc = "Opcions per convertir eBooks a PDF"
+embedAllFonts = "Incrusta tots els tipus de lletra"
+embedAllFontsDesc = "Incrusta tots els tipus de lletra de l'eBook al PDF generat"
+includeTableOfContents = "Inclou la taula de continguts"
+includeTableOfContentsDesc = "Afegeix una taula de continguts generada al PDF resultant"
+includePageNumbers = "Inclou números de pàgina"
+includePageNumbersDesc = "Afegeix números de pàgina al PDF generat"
+optimizeForEbookPdf = "Optimitza per a lectors d'eBook"
+optimizeForEbookPdfDesc = "Optimitza el PDF per a la lectura en eBook (mida de fitxer menor, millor renderitzat en dispositius eInk)"
+
+[convert.epubOptions]
+epubOptions = "Opcions de PDF a eBook"
+epubOptionsDesc = "Opcions per convertir PDF a EPUB/AZW3"
+detectChapters = "Detecta capítols"
+detectChaptersDesc = "Detecta encapçalaments que semblin capítols i insereix salts de pàgina EPUB"
+targetDevice = "Dispositiu de destinació"
+targetDeviceDesc = "Tria un perfil de sortida optimitzat per al dispositiu lector"
+outputFormat = "Format de sortida"
+outputFormatDesc = "Tria el format de sortida per a l'eBook"
+tabletPhone = "Tauleta/Telèfon (amb imatges)"
+kindleEink = "Kindle e-Ink (text optimitzat)"
[imageToPdf]
tags = "conversió,img,jpg,imatge,foto"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "Afegeix adjunt"
remove = "Elimina adjunt"
embed = "Incrusta adjunt"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Converteix a PDF/A-3b"
+convertToPdfA3bDescription = "Crea un PDF d'arxiu amb fitxers adjunts incrustats"
+convertToPdfA3bTooltip = "PDF/A-3b és un format d'arxiu que garanteix la preservació a llarg termini. Permet incrustar formats de fitxer arbitraris com a adjunts. La conversió requereix Ghostscript i pot trigar més amb fitxers grans."
+convertToPdfA3bTooltipHeader = "Sobre la conversió a PDF/A-3b"
+convertToPdfA3bTooltipTitle = "Què fa"
submit = "Add attachments"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "Desades"
label = "Carrega la imatge de la signatura"
placeholder = "Selecciona el fitxer d'imatge"
hint = "Carrega una imatge PNG o JPG de la teva signatura"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Elimina el fons blanc (fes-lo transparent)"
+processing = "Processant la imatge..."
+backgroundRemovalFailedTitle = "No s'ha pogut eliminar el fons"
+backgroundRemovalFailedMessage = "No s'ha pogut eliminar el fons de la imatge. S'utilitzarà la imatge original."
[sign.instructions]
title = "Com afegir la signatura"
@@ -2409,9 +2437,9 @@ label = "Aplana només els formularis"
desc = "Aplana només els camps de formulari, deixant intactes altres elements interactius"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "DPI de renderitzat (opcional, recomanat 150 DPI)"
+help = "Deixa-ho en blanc per usar el valor predeterminat del sistema. Un DPI més alt afina el resultat però augmenta el temps de processament i la mida del fitxer."
+placeholder = "p. ex., 150"
[flatten.results]
title = "Resultats d'aplanament"
@@ -2987,7 +3015,7 @@ header = "Talla PDF"
submit = "Envia"
noFileSelected = "Seleccioneu un fitxer PDF per començar a retallar"
reset = "Restableix al PDF complet"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Retalla automàticament els espais en blanc"
[crop.preview]
title = "Selecció de l'àrea de retall"
@@ -3218,6 +3246,7 @@ title = "Mètode de redacció"
mode = "Mode"
automatic = "Automàtic"
automaticDesc = "Redacta text en funció de termes de cerca"
+automaticDisabledTooltip = "Selecciona fitxers al gestor de fitxers per redactar diversos fitxers alhora"
manual = "Manual"
manualDesc = "Feu clic i arrossegueu per redactar àrees específiques"
manualComingSoon = "La redacció manual arribarà aviat"
@@ -3288,8 +3317,35 @@ text = "Només coincideix amb paraules completes, no coincidències parcials. 'J
title = "Converteix a PDF-imatge"
text = "Converteix el PDF a un PDF basat en imatges després de la redacció. Això assegura que el text darrere dels quadres de redacció s'elimini completament i no es pugui recuperar."
+[redact.tooltip.manual.header]
+title = "Controls de redacció manuals"
+
+[redact.tooltip.manual.markText]
+title = "Eina de marcar text"
+text = "Selecciona text directament al PDF per marcar-lo per a la redacció. Fes clic i arrossega per ressaltar el text específic que vulguis redactar."
+
+[redact.tooltip.manual.markArea]
+title = "Eina de marcar àrea"
+text = "Dibuixa àrees rectangulars al PDF per marcar regions per a la redacció. Útil per redactar imatges, signatures o formes irregulars."
+
+[redact.tooltip.manual.apply]
+title = "Aplica les redaccions"
+text = "Després de marcar el contingut, fes clic a «Aplica» per redactar permanentment totes les àrees marcades. El recompte pendent mostra quantes redaccions estan preparades per aplicar-se."
+bullet1 = "Marca tantes àrees com calgui abans d'aplicar"
+bullet2 = "Totes les redaccions pendents s'apliquen alhora"
+bullet3 = "Les redaccions no es poden desfer després d'aplicar-les"
+
[redact.manual]
+title = "Eines de redacció"
+instructions = "Selecciona text o dibuixa àrees al PDF per marcar contingut per a la redacció."
+markText = "Marca text"
+markArea = "Marca àrea"
+pendingLabel = "Pendent:"
+applyWarning = "⚠️ Aplicació permanent: no es pot desfer i les dades que hi ha a sota s'eliminaran"
+apply = "Aplica"
+noMarks = "No hi ha marques de redacció. Utilitza les eines de dalt per marcar contingut per a la redacció."
header = "Redacció manual"
+controlsTitle = "Controls de redacció manuals"
textBasedRedaction = "Redacció basada en text"
pageBasedRedaction = "Redacció basada en pàgina"
convertPDFToImageLabel = "Converteix PDF a PDF-imatge (S'utilitza per eliminar el text darrere del quadre)"
@@ -3406,17 +3462,17 @@ label = "Divisions Verticals"
placeholder = "Introdueix el nombre de divisions verticals"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Mode de divisió"
+description = "Tria com dividir les pàgines"
+splitAll = "Divideix totes les pàgines"
+splitAllExceptFirst = "Divideix totes excepte la primera"
+splitAllExceptLast = "Divideix totes excepte l'última"
+splitAllExceptFirstAndLast = "Divideix totes excepte la primera i l'última"
+custom = "Pàgines personalitzades"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Números de pàgina personalitzats"
+placeholder = "p. ex., 2,4,6"
[AddStampRequest]
tags = "Segell, Afegeix imatge, Centra imatge, Marca d'aigua, PDF, Insereix, Personalitza"
@@ -3780,17 +3836,17 @@ filesize = "Mida del Fitxer"
label = "Aplicar escala de grisos per a la compressió"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Linearitza el PDF per a una visualització web ràpida"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Converteix les imatges a dibuix de línies"
+description = "Utilitza ImageMagick per reduir les pàgines a blanc i negre d'alt contrast per a una reducció de mida màxima."
+unavailable = "ImageMagick no està instal·lat ni habilitat en aquest servidor"
+detailLevel = "Nivell de detall"
+edgeEmphasis = "Èmfasi de vores"
+edgeLow = "Suau"
+edgeMedium = "Equilibrat"
+edgeHigh = "Fort"
[compress.tooltip.header]
title = "Resum de configuració de compressió"
@@ -3810,8 +3866,8 @@ title = "Escala de grisos"
text = "Seleccioneu aquesta opció per convertir totes les imatges a blanc i negre, cosa que pot reduir significativament la mida del fitxer, especialment per a PDFs escanejats o documents amb moltes imatges."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "Dibuix de línies"
+text = "Converteix pàgines a blanc i negre d'alt contrast amb ImageMagick. Utilitza el nivell de detall per controlar quant contingut esdevé negre i l’èmfasi de vores per controlar com d’agressiva és la detecció de vores."
[compress.error]
failed = "S'ha produït un error en comprimir el PDF."
@@ -3826,9 +3882,9 @@ _value = "Configuració de compressió"
1 = "1-3 compressió de PDF, 4-6 compressió lleugera d'imatges, 7-9 compressió intensa d'imatges Reduirà dràsticament la qualitat de la imatge"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Valors baixos conserven la qualitat però generen fitxers més grans"
+range4to6 = "Compressió mitjana amb una reducció moderada de la qualitat"
+range7to9 = "Valors alts redueixen significativament la mida del fitxer però poden reduir la nitidesa de la imatge"
[decrypt]
passwordPrompt = "Aquest fitxer està protegit amb contrasenya. Si us plau, introdueix la contrasenya:"
@@ -4069,7 +4125,7 @@ deleteSelected = "Suprimeix les pàgines seleccionades"
closePdf = "Tanca el PDF"
exportAll = "Exporta el PDF"
downloadSelected = "Descarrega els fitxers seleccionats"
-annotations = "Annotations"
+annotations = "Anotacions"
exportSelected = "Exporta les pàgines seleccionades"
saveChanges = "Desa els canvis"
toggleTheme = "Canvia el tema"
@@ -4077,84 +4133,90 @@ language = "Idioma"
toggleAnnotations = "Mostra/oculta les anotacions"
search = "Cerca al PDF"
panMode = "Mode de desplaçament"
+applyRedactionsFirst = "Aplica primer les redaccions"
rotateLeft = "Gira a l'esquerra"
rotateRight = "Gira a la dreta"
toggleSidebar = "Mostra/oculta la barra lateral"
toggleBookmarks = "Mostra/amaga marcadors"
print = "Imprimeix el PDF"
+draw = "Dibuixa"
+redact = "Redacta"
+exitRedaction = "Surt del mode de redacció"
+save = "Desa"
downloadAll = "Descarrega-ho tot"
saveAll = "Desa-ho tot"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Esquerra"
+center = "Centre"
+right = "Dreta"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
+title = "Anota"
+desc = "Utilitza ressaltador, ploma, text i notes. Els canvis es mantenen en viu—no cal aplanar."
+highlight = "Ressaltador"
+pen = "Ploma"
+text = "Quadre de text"
+note = "Nota"
rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
+ellipse = "El·lipse"
+select = "Selecciona"
+exit = "Surt del mode d'anotació"
+strokeWidth = "Amplada"
+opacity = "Opacitat"
+strokeOpacity = "Opacitat del traç"
+fillOpacity = "Opacitat de farciment"
+fontSize = "Mida de la lletra"
+chooseColor = "Tria el color"
+color = "Color"
+strokeColor = "Color del traç"
+fillColor = "Color de farciment"
+underline = "Subratllat"
+strikeout = "Barrat"
+squiggly = "Subratllat ondulat"
+inkHighlighter = "Ressaltador a mà alçada"
+freehandHighlighter = "Ressaltador a mà alçada"
+square = "Quadrat"
+circle = "Cercle"
+polygon = "Polígon"
+line = "Línia"
+stamp = "Afegeix imatge"
+textMarkup = "Marcat de text"
+drawing = "Dibuix"
+shapes = "Formes"
+notesStamps = "Notes i segells"
+settings = "Configuració"
+borderOn = "Vora: activada"
+borderOff = "Vora: desactivada"
+editInk = "Edita la ploma"
+editLine = "Edita la línia"
+editNote = "Edita la nota"
+editText = "Edita el quadre de text"
+editTextMarkup = "Edita el marcat de text"
+editSelected = "Edita l'anotació"
+editSquare = "Edita el quadrat"
+editCircle = "Edita el cercle"
+editPolygon = "Edita el polígon"
+unsupportedType = "Aquest tipus d’anotació no és totalment compatible amb l’edició."
+textAlignment = "Alineació del text"
+noteIcon = "Icona de nota"
+imagePreview = "Previsualització"
contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+backgroundColor = "Color de fons"
+clearBackground = "Elimina el fons"
+noBackground = "Sense fons"
+stampSettings = "Configuració del segell"
+savingCopy = "Preparant la baixada..."
+saveFailed = "No s'ha pogut desar la còpia"
+saveReady = "Baixada preparada"
+selectAndMove = "Selecciona i edita"
+editSelectDescription = "Fes clic en una anotació existent per editar-ne el color, l'opacitat, el text o la mida."
+editStampHint = "Per canviar la imatge, suprimeix aquest segell i n'afegeix un de nou."
+editSwitchToSelect = "Canvia a Selecciona i edita per editar aquesta anotació."
+undo = "Desfés"
+redo = "Refés"
+applyChanges = "Aplica els canvis"
+saveChanges = "Desa els canvis"
[search]
title = "Cerca al PDF"
@@ -4200,25 +4262,25 @@ files = "Fitxers"
activity = "Registre"
help = "Ajuda"
account = "Compte"
-config = "Configuració"
+config = "Config"
settings = "Ajustos"
adminSettings = "Ajustos admin"
allTools = "All Tools"
reader = "Lector"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Visites guiades"
+showMeAround = "Fes-me una visita guiada"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Mira els recorreguts aquí: visita de les eines, visita del nou disseny V2 i la visita d’administració."
+user = "Mira els recorreguts aquí: visita de les eines i visita del nou disseny V2."
[quickAccess.helpMenu]
toolsTour = "Visita guiada de les eines"
toolsTourDesc = "Descobriu què poden fer les eines"
adminTour = "Visita per a administradors"
adminTourDesc = "Exploreu la configuració i les funcions d'administració"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Descobreix les novetats de la V2"
+whatsNewTourDesc = "Recorregut pel disseny actualitzat"
[admin]
error = "Error"
@@ -4237,6 +4299,8 @@ fetchError = "No s'ha pogut carregar la configuració"
saveError = "No s'ha pogut desar la configuració"
saved = "Configuració desada correctament"
saveSuccess = "Configuració desada correctament"
+success = "La configuració s'ha desat correctament"
+error = "No s'ha pogut desar la configuració"
save = "Desa els canvis"
discard = "Descarta"
restartRequired = "Cal reiniciar"
@@ -4360,6 +4424,13 @@ description = "Camí a l'executable de WeasyPrint per a la conversió d'HTML a P
label = "Executable d'Unoconvert"
description = "Camí a LibreOffice unoconvert per a conversions de documents (deixeu-ho buit per al valor per defecte: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "Frontend URL"
+description = "URL base per al frontend (p. ex., https://pdf.example.com). S'utilitza per a enllaços d'invitació per correu i pujades via codi QR mòbil. Deixa-ho en blanc per usar l'URL del backend."
+
+[admin.settings.badge]
+clickToUpgrade = "Fes clic per veure els detalls del pla"
+
[admin.settings.security]
title = "Seguretat"
description = "Configureu l'autenticació, el comportament d'inici de sessió i les polítiques de seguretat."
@@ -4496,6 +4567,19 @@ connect = "Connecta"
disconnect = "Desconnecta"
disconnected = "Proveïdor desconnectat correctament"
disconnectError = "No s'ha pogut desconnectar el proveïdor"
+mobileScannerConvertToPdf = "Converteix imatges a PDF"
+mobileScannerConvertToPdfDesc = "Converteix automàticament les imatges pujades al format PDF. Si es desactiva, les imatges es mantindran tal com estan."
+mobileScannerImageResolution = "Resolució de la imatge"
+mobileScannerImageResolutionDesc = "Resolució de les imatges pujades. «Reduïda» escala les imatges fins a un màxim de 1200 px per reduir la mida del fitxer."
+imageResolutionFull = "Completa (mida original)"
+imageResolutionReduced = "Reduïda (màx. 1200 px)"
+mobileScannerPageFormat = "Format de pàgina"
+mobileScannerPageFormatDesc = "Mida de pàgina del PDF per a les imatges convertides. «Mantén» utilitza les dimensions originals de la imatge."
+pageFormatKeep = "Mantén (dimensions originals)"
+pageFormatA4 = "A4 (210×297 mm)"
+pageFormatLetter = "Letter (8,5×11 polzades)"
+mobileScannerStretchToFit = "Ajusta per omplir"
+mobileScannerStretchToFitDesc = "Estira les imatges per omplir tota la pàgina. Si es desactiva, les imatges es centraran preservant la relació d’aspecte."
[admin.settings.connections.ssoAutoLogin]
label = "Inici de sessió automàtic amb SSO"
@@ -4564,6 +4648,122 @@ description = "Crea automàticament comptes d'usuari en el primer inici de sessi
label = "Bloqueja el registre"
description = "Evita el registre de nous usuaris via SAML2"
+[admin.settings.connections.mobileScanner]
+label = "Pujada des del telèfon mòbil"
+enable = "Habilita la pujada per codi QR"
+description = "Permet als usuaris pujar fitxers des de dispositius mòbils escanejant un codi QR"
+note = "Nota: cal configurar el Frontend URL. "
+link = "Configura-ho a la configuració del sistema"
+mobileScannerConvertToPdf = "Converteix imatges a PDF"
+mobileScannerConvertToPdfDesc = "Converteix automàticament les imatges pujades al format PDF. Si es desactiva, les imatges es mantindran tal com estan."
+mobileScannerImageResolution = "Resolució de la imatge"
+mobileScannerImageResolutionDesc = "Resolució de les imatges pujades. «Reduïda» escala les imatges fins a un màxim de 1200 px per reduir la mida del fitxer."
+imageResolutionFull = "Completa (mida original)"
+imageResolutionReduced = "Reduïda (màx. 1200 px)"
+mobileScannerPageFormat = "Format de pàgina"
+mobileScannerPageFormatDesc = "Mida de pàgina del PDF per a les imatges convertides. «Mantén» utilitza les dimensions originals de la imatge."
+pageFormatKeep = "Mantén (dimensions originals)"
+pageFormatA4 = "A4 (210×297 mm)"
+pageFormatLetter = "Letter (8,5×11 polzades)"
+mobileScannerStretchToFit = "Ajusta per omplir"
+mobileScannerStretchToFitDesc = "Estira les imatges per omplir tota la pàgina. Si es desactiva, les imatges es centraran preservant la relació d’aspecte."
+
+[admin.settings.telegram]
+title = "Bot de Telegram"
+description = "Configura la connectivitat del bot de Telegram, els controls d'accés i el comportament dels missatges de retroacció."
+
+[admin.settings.telegram.enabled]
+label = "Habilita el bot de Telegram"
+description = "Permet als usuaris interactuar amb Stirling PDF a través del bot de Telegram configurat."
+
+[admin.settings.telegram.botUsername]
+label = "Nom d'usuari del bot"
+description = "El nom d'usuari públic del bot de Telegram."
+
+[admin.settings.telegram.botToken]
+label = "Token del bot"
+description = "Token d'API proporcionat per BotFather per al bot de Telegram."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Carpeta d'entrada"
+description = "Carpeta dins del directori de pipeline on s'emmagatzemen els fitxers entrants de Telegram."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Usa un sufix personalitzat de carpeta"
+description = "Afegeix l'ID del xat a les carpetes de fitxers entrants per aïllar les pujades per xat."
+
+[admin.settings.telegram.accessControl]
+title = "Control d'accés"
+description = "Restringeix quins usuaris o canals poden interactuar amb el bot."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Permet ID d'usuari específics"
+description = "Quan està habilitat, només els ID d'usuari llistats poden utilitzar el bot."
+
+[admin.settings.telegram.allowUserIDs]
+label = "ID d'usuari permesos"
+description = "Introdueix els ID d'usuari de Telegram que poden interactuar amb el bot."
+placeholder = "Afegeix un ID d'usuari i prem Retorn"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Permet ID de canal específics"
+description = "Quan està habilitat, només els ID de canal llistats poden utilitzar el bot."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "ID de canal permesos"
+description = "Introdueix els ID de canal de Telegram que poden interactuar amb el bot."
+placeholder = "Afegeix un ID de canal i prem Retorn"
+
+[admin.settings.telegram.processing]
+title = "Processament"
+description = "Controla els intervals de consulta i els temps d'espera del processament per a pujades de Telegram."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Temps d'espera del processament (segons)"
+description = "Temps màxim d'espera d'una tasca de processament abans d'informar d'un error."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Interval de consulta (ms)"
+description = "Interval entre comprovacions de noves actualitzacions de Telegram."
+
+[admin.settings.telegram.feedback]
+title = "Missatges de retroacció"
+description = "Tria quan el bot ha d'enviar retroacció als usuaris i canals."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Habilita la retroacció"
+description = "Controla si el bot envia missatges de retroacció."
+
+[admin.settings.telegram.feedback.channel]
+title = "Regles de retroacció del canal"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Mostra «No hi ha cap document vàlid» (canal)"
+description = "Suprimeix la resposta de «no hi ha cap document vàlid» per a pujades al canal."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Mostra errors de processament (canal)"
+description = "Envia missatges d'error de processament als canals."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Mostra missatges d'error (canal)"
+description = "Mostra missatges d'error detallats per als canals."
+
+[admin.settings.telegram.feedback.user]
+title = "Regles de retroacció de l'usuari"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Mostra «No hi ha cap document vàlid» (usuari)"
+description = "Suprimeix la resposta de «no hi ha cap document vàlid» per a pujades d'usuari."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Mostra errors de processament (usuari)"
+description = "Envia missatges d'error de processament als usuaris."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Mostra missatges d'error (usuari)"
+description = "Mostra missatges d'error detallats per als usuaris."
+
[admin.settings.database]
title = "Base de dades"
description = "Configureu la configuració de connexió de base de dades personalitzada per a desplegaments d'empresa."
@@ -4626,7 +4826,7 @@ features = "Banderes de funcions"
processing = "Processament"
[admin.settings.advanced.endpoints]
-label = "Punts finals"
+label = "Endpoints"
manage = "Gestiona els endpoints de l'API"
description = "La gestió d'endpoints es configura via YAML. Consulteu la documentació per a detalls sobre com habilitar/deshabilitar endpoints específics."
@@ -4745,6 +4945,10 @@ description = "Permet que els administradors convidin usuaris per correu amb con
label = "URL del frontend"
description = "URL base del frontend (p. ex. https://pdf.example.com). S'utilitza per generar enllaços d'invitació als correus. Deixeu-ho buit per usar l'URL del backend."
+[admin.settings.mail.frontendUrlNote]
+note = "Nota: cal configurar el Frontend URL. "
+link = "Configura-ho a la configuració del sistema"
+
[admin.settings.legal]
title = "Documents legals"
description = "Configureu enllaços a documents i polítiques legals."
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "Els meus fitxers"
noRecentFiles = "No s'han trobat fitxers recents"
googleDriveNotAvailable = "La integració amb Google Drive no està disponible"
+mobileUpload = "Pujada des del mòbil"
+mobileShort = "Mòbil"
+mobileUploadNotAvailable = "La pujada des del mòbil no està habilitada"
downloadSelected = "Descarrega els seleccionats"
saveSelected = "Desa la selecció"
openFiles = "Obre fitxers"
@@ -5244,7 +5451,7 @@ loading = "Carregant..."
back = "Enrere"
continue = "Continua"
error = "Error"
-save = "Save"
+save = "Desa"
[config.overview]
title = "Configuració de l’aplicació"
@@ -5307,6 +5514,15 @@ impact = "Qualsevol aplicació o servei que actualment utilitzi aquestes claus d
confirmPrompt = "Esteu segur que voleu continuar?"
confirmCta = "Actualitza les claus"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "Error de clau d'API"
+failedToCreateApiKey = "No s'ha pogut crear la clau d'API."
+failedToRetrieveApiKey = "No s'ha pogut obtenir la clau d'API de la resposta."
+failedToFetchApiKey = "No s'ha pogut recuperar la clau d'API."
+apiKeyRefreshed = "Clau d'API actualitzada"
+apiKeyRefreshedBody = "La clau d'API s'ha actualitzat correctament."
+failedToRefreshApiKey = "No s'ha pogut actualitzar la clau d'API."
+
[AddAttachmentsRequest]
attachments = "Seleccioneu adjunts"
info = "Seleccioneu fitxers per adjuntar al vostre PDF. Aquests fitxers s’incrustaran i seran accessibles mitjançant el panell d’adjunts del PDF."
@@ -5412,14 +5628,14 @@ startTour = "Inicia la visita"
startTourDescription = "Feu una visita guiada per les funcions clau de Stirling PDF"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Comença a la barra de Accés ràpid per saltar entre el Lector, Automatitza, els teus fitxers i totes les visites guiades."
+leftPanel = "El panell esquerre de Eines llista tot el que pots fer. Navega per categories o cerca per trobar una eina ràpidament."
+fileUpload = "Utilitza el botó Fitxers per pujar o triar un PDF recent. Carregarem un exemple perquè vegis l'espai de treball."
+rightRail = "La barra dreta conté accions ràpides per seleccionar fitxers, canviar el tema o l’idioma i baixar els resultats."
+topBar = "La barra superior et permet canviar entre el Visor, l’Editor de pàgines i els Fitxers actius."
+pageEditorView = "Canvia a l'Editor de pàgines per reordenar, girar o suprimir pàgines."
+activeFilesView = "Utilitza Fitxers actius per veure tot el que tens obert i triar amb què treballar."
+wrapUp = "Això és el que hi ha de nou a la V2. Obre el menú de Visites guiades en qualsevol moment per tornar a veure aquesta, la visita d’Eines o la d’Administració."
[onboarding.welcomeModal]
title = "Us donem la benvinguda a Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "Fes-me un recorregut"
skipTheTour = "Omet la visita guiada"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Resum de la visita"
+body = "Stirling PDF V2 inclou desenes d'eines i un disseny renovat. Fes una visita ràpida per veure què ha canviat i on trobar les funcions que necessites."
[onboarding.serverLicense]
skip = "Omet per ara"
@@ -5452,7 +5668,7 @@ upgrade = "Actualitza ara →"
freeTitle = "Llicència del servidor"
overLimitTitle = "Cal una llicència de servidor"
overLimitBody = "La nostra llicència permet fins a {{freeTierLimit}} usuaris gratuïts per servidor. Tens {{overLimitUserCopy}} usuaris de Stirling. Per continuar sense interrupcions, actualitza al pla Stirling Server: seients il·limitats, edició de text de PDF i control d'administració complet per 99 $/servidor/mes."
-freeBody = "La nostra llicència Open-Core permet fins a {{freeTierLimit}} usuaris gratuïts per servidor. Per escalar sense interrupcions, recomanem el pla Stirling Server - places il·limitades i suport SSO per $99/servidor/mes."
+freeBody = "La nostra llicència Open-Core permet fins a {{freeTierLimit}} usuaris gratuïts per servidor. Per escalar sense interrupcions i obtenir accés anticipat a la nova eina d'edició de text PDF, recomanem el pla Stirling Server: edició completa i seients il·limitats per 99 $/servidor/mes."
[onboarding.desktopInstall]
title = "Baixa"
@@ -5758,28 +5974,28 @@ contactSales = "Contacta amb vendes"
contactToUpgrade = "Contacteu-nos per actualitzar o personalitzar el vostre pla"
maxUsers = "Nombre màxim d’usuaris"
upTo = "Fins a"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Obtén la llicència del servidor"
+upgradeToEnterprise = "Actualitza a Enterprise"
+selectPeriod = "Selecciona el període de facturació"
+monthlyBilling = "Facturació mensual"
+yearlyBilling = "Facturació anual"
+checkoutOpened = "Pagament obert"
+checkoutInstructions = "Completa la compra a la pestanya de Stripe. Després del pagament, torna aquí i actualitza la pàgina per activar la llicència. També rebràs un correu electrònic amb la clau de llicència."
+activateLicense = "Activa la teva llicència"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Pagament obert en una pestanya nova"
+instructions = "Completa la compra a la pestanya de Stripe. Un cop completat el pagament, rebràs un correu electrònic amb la clau de llicència."
+enterKey = "Introdueix la clau de llicència a continuació per activar el pla:"
+keyDescription = "Enganxa la clau de llicència del correu electrònic"
+activate = "Activa la llicència"
+doLater = "Ho faré més tard"
+success = "Llicència activada!"
+successMessage = "La llicència s'ha activat correctament. Ara pots tancar aquesta finestra."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "Cal verificació del correu electrònic"
+message = "Hauràs de verificar l'adreça de correu electrònic al portal de facturació de Stripe. Comprova el correu per trobar l'enllaç d'inici de sessió."
[plan.period]
month = "mes"
@@ -5983,8 +6199,8 @@ notAvailable = "Sistema d’auditoria no disponible"
notAvailableMessage = "El sistema d’auditoria no està configurat o no està disponible."
disabled = "El registre d’auditoria està desactivat"
disabledMessage = "Activeu el registre d’auditoria a la configuració de l’aplicació per fer el seguiment dels esdeveniments del sistema."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Cal llicència Enterprise"
+enterpriseRequiredMessage = "El sistema de registres d’auditoria és una funció d’Enterprise. Actualitza a una llicència Enterprise per accedir als registres d’auditoria i a les analítiques."
[audit.error]
title = "Error en carregar el sistema d’auditoria"
@@ -6078,7 +6294,7 @@ title = "Gràfic d'ús dels endpoints"
[usage.table]
title = "Estadístiques detallades"
-endpoint = "Punt final"
+endpoint = "Endpoint"
visits = "Visites"
percentage = "Percentatge"
noData = "No hi ha dades disponibles"
@@ -6156,6 +6372,7 @@ description = "Introdueix la URL completa del teu servidor autoallotjat de Stirl
[setup.server.error]
emptyUrl = "Introdueix una URL de servidor"
+invalidUrl = "Format d'URL invàlid. Introdueix una URL vàlida com https://your-server.com"
unreachable = "No s'ha pogut connectar amb el servidor"
testFailed = "Ha fallat la prova de connexió"
configFetch = "No s'ha pogut obtenir la configuració del servidor. Comproveu l'URL i torneu-ho a provar."
@@ -6174,6 +6391,7 @@ connectingTo = "Connectant amb:"
submit = "Inicia sessió"
signInWith = "Inicia sessió amb"
oauthPending = "Obrint el navegador per autenticar-te..."
+sso = "Inici de sessió únic"
orContinueWith = "O continua amb el correu electrònic"
serverRequirement = "Nota: el servidor ha de tenir l'inici de sessió habilitat."
showInstructions = "Com s'habilita?"
@@ -6239,8 +6457,8 @@ reset = "Restableix els canvis"
downloadJson = "Descarrega JSON"
generatePdf = "Genera PDF"
saveChanges = "Deseu els canvis"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Aplica els canvis"
+downloadCopy = "Baixa una còpia"
[pdfTextEditor.options.autoScaleText]
title = "Autoajusta el text a les caixes"
@@ -6260,22 +6478,22 @@ title = "Bloqueja el text editat a un únic element del PDF"
description = "Quan s'habilita, l'editor exporta cada quadre de text editat com un sol element de text del PDF per evitar glifs superposats o tipus de lletra barrejats."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Paràmetres avançats"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Limitacions de la previsualització"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Enfocament en text i imatge"
+text = "Aquest espai de treball se centra en l’edició de text i el reposicionament d’imatges incrustades. Els elements gràfics complexos, els ginys de formulari i els gràfics amb capes es conserven per a l’exportació però no són totalment editables aquí."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Variacions de previsualització"
+text = "Alguns elements visuals (com les vores de taula, formes o aparença d’anotacions) poden no mostrar-se exactament a la previsualització. El PDF exportat manté les ordres de dibuix originals sempre que sigui possible."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Visor alfa"
+text = "Aquest visor alfa encara està evolucionant; certs tipus de lletra, colors, efectes de transparència i detalls de disposició poden variar lleugerament. Revisa dues vegades el PDF generat abans de compartir-lo."
[pdfTextEditor.manual]
mergeTooltip = "Fusiona els quadres seleccionats"
@@ -6398,3 +6616,58 @@ title = "Resultats d'afegir text"
[addText.error]
failed = "S'ha produït un error en afegir text al PDF."
+
+[mobileUpload]
+title = "Puja des del mòbil"
+description = "Escaneja per pujar fotos. Les imatges es converteixen automàticament a PDF."
+descriptionNoConvert = "Escaneja per pujar fotos des del dispositiu mòbil."
+error = "Error de connexió"
+pollingError = "Error en comprovar si hi ha fitxers"
+sessionId = "ID de sessió"
+sessionCreateError = "No s'ha pogut crear la sessió"
+expiryWarning = "La sessió caducarà aviat"
+expiryWarningMessage = "Aquest codi QR caducarà d'aquí a {{seconds}} segons. Es generarà un codi nou automàticament."
+filesReceived = "S'han rebut {{count}} fitxer(s)"
+connected = "Dispositiu mòbil connectat"
+instructions = "Escaneja amb la càmera del telèfon. Les imatges es converteixen automàticament a PDF."
+instructionsNoConvert = "Escaneja amb la càmera del telèfon per pujar fitxers."
+
+[mobileScanner]
+title = "Escàner mòbil"
+noSession = "Sessió no vàlida"
+noSessionMessage = "Escaneja un codi QR vàlid per accedir a aquesta pàgina."
+validating = "Validant la sessió..."
+sessionInvalid = "Error de sessió"
+sessionExpired = "Aquesta sessió ha caducat. Actualitza i torna-ho a provar."
+sessionNotFound = "No s'ha trobat la sessió. Actualitza i torna-ho a provar."
+sessionValidationError = "No s'ha pogut verificar la sessió. Torna-ho a provar."
+uploadSuccess = "Pujada correcta!"
+uploadSuccessMessage = "Les imatges s'han transferit."
+httpsRequired = "L'accés a la càmera requereix HTTPS o localhost. Utilitza HTTPS o accedeix mitjançant localhost."
+uploadFailed = "La pujada ha fallat. Torna-ho a provar."
+uploading = "Pujant..."
+connected = "Connectat"
+connecting = "Connectant..."
+chooseMethod = "Tria el mètode de pujada"
+chooseMethodDescription = "Selecciona com vols escanejar i pujar documents"
+camera = "Càmera"
+cameraDescription = "Escaneja documents amb la càmera del dispositiu amb detecció automàtica de vores"
+fileUpload = "Pujada de fitxers"
+fileDescription = "Puja fotos o documents existents des del dispositiu"
+cameraAccessDenied = "S'ha denegat l'accés a la càmera. Habilita l'accés a la càmera."
+back = "Enrere"
+settings = "Configuració"
+edgeDetection = "Detecció de vores"
+flashlight = "Llanterna"
+flash = "Flash"
+processing = "Processant..."
+capture = "Captura la foto"
+selectFilesPrompt = "Selecciona els fitxers per pujar"
+selectImage = "Selecciona la imatge"
+preview = "Previsualitza"
+retake = "Torna a fer-la"
+addToBatch = "Afegeix al lot"
+upload = "Puja"
+batchImages = "Lot"
+clearBatch = "Buida"
+uploadAll = "Puja-ho tot"
diff --git a/frontend/public/locales/cs-CZ/translation.toml b/frontend/public/locales/cs-CZ/translation.toml
index 1adf1ea9d..3be595a8a 100644
--- a/frontend/public/locales/cs-CZ/translation.toml
+++ b/frontend/public/locales/cs-CZ/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "Máte neuložené změny v PDF."
+pendingRedactionsTitle = "Neaplikovaná začernění"
+pendingRedactions = "Máte neaplikovaná začernění, která budou ztracena."
areYouSure = "Opravdu chcete odejít?"
unsavedChangesTitle = "Neuložené změny"
keepWorking = "Pokračovat v práci"
discardChanges = "Zahodit a odejít"
+discardRedactions = "Zahodit a odejít"
applyAndContinue = "Uložit a odejít"
exportAndContinue = "Exportovat a pokračovat"
cancel = "Zrušit"
@@ -356,7 +359,7 @@ teams = "Týmy"
title = "Konfigurace"
systemSettings = "Systémová nastavení"
features = "Funkce"
-endpoints = "Koncové body"
+endpoints = "Endpoints"
database = "Databáze"
advanced = "Pokročilé"
@@ -364,6 +367,7 @@ advanced = "Pokročilé"
title = "Zabezpečení a ověřování"
security = "Zabezpečení"
connections = "Připojení"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Licencování a analytika"
@@ -438,6 +442,13 @@ currentVersion = "Aktuální verze"
latestVersion = "Nejnovější verze"
checkForUpdates = "Zkontrolovat aktualizace"
viewDetails = "Zobrazit podrobnosti"
+serverNeedsUpdate = "Server musí být aktualizován administrátorem"
+
+[settings.general.versionInfo]
+title = "Informace o verzi"
+description = "Podrobnosti o verzích desktopu a serveru"
+desktop = "Verze desktopu"
+server = "Verze serveru"
[settings.security]
title = "Security"
@@ -458,6 +469,8 @@ confirm = "Confirm new password"
confirmPlaceholder = "Re-enter your new password"
update = "Update password"
+
+
[settings.hotkeys]
title = "Klávesové zkratky"
description = "Přizpůsobte si klávesové zkratky pro rychlý přístup k nástrojům. Klikněte na „Změnit zkratku“ a stiskněte novou kombinaci kláves. Stisknutím Esc zrušíte."
@@ -528,6 +541,8 @@ accountSettings = "Nastavení účtu"
adminSettings = "Nastavení správce - Zobrazit a přidat uživatele"
userControlSettings = "Nastavení ovládání uživatelů"
changeUsername = "Změnit uživatelské jméno"
+changeUsernameDescription = "Aktualizujte své uživatelské jméno. Po aktualizaci budete odhlášeni."
+newUsernamePlaceholder = "Zadejte své nové uživatelské jméno"
newUsername = "Nové uživatelské jméno"
password = "Potvrzovací heslo"
oldPassword = "Staré heslo"
@@ -952,7 +967,7 @@ title = "Překrýt PDF"
[home.pdfTextEditor]
title = "Editor textu PDF"
-desc = "Upravujte existující text a obrázky v PDF"
+desc = "Prohlížejte a upravujte exporty JSON ze Stirling PDF se skupinovými úpravami textu a regenerací PDF"
[home.addText]
tags = "text,anotace,štítek"
@@ -963,6 +978,7 @@ desc = "Přidejte libovolný text kamkoli do PDF"
addFiles = "Přidat soubory"
uploadFromComputer = "Nahrát z počítače"
openFromComputer = "Otevřít z počítače"
+mobileUpload = "Nahrát z mobilu"
[viewPdf]
tags = "zobrazit,číst,anotovat,text,obrázek"
@@ -1294,6 +1310,18 @@ includePageNumbersDesc = "Add page numbers to the generated PDF"
optimizeForEbookPdf = "Optimize for ebook readers"
optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+[convert.epubOptions]
+epubOptions = "Možnosti převodu PDF do eBooku"
+epubOptionsDesc = "Možnosti pro převod PDF na EPUB/AZW3"
+detectChapters = "Detekovat kapitoly"
+detectChaptersDesc = "Rozpoznat nadpisy vypadající jako kapitoly a vložit zalomení stránek EPUB"
+targetDevice = "Cílové zařízení"
+targetDeviceDesc = "Vyberte výstupní profil optimalizovaný pro zařízení čtečky"
+outputFormat = "Výstupní formát"
+outputFormatDesc = "Vyberte výstupní formát pro eBook"
+tabletPhone = "Tablet/Telefon (s obrázky)"
+kindleEink = "Kindle e-Ink (optimalizováno pro text)"
+
[imageToPdf]
tags = "převod,img,jpg,obrázek,fotka"
@@ -3218,6 +3246,7 @@ title = "Metoda začernění"
mode = "Režim"
automatic = "Automatický"
automaticDesc = "Začernit text podle vyhledávaných výrazů"
+automaticDisabledTooltip = "Vyberte soubory ve správci souborů, abyste začernili více souborů najednou"
manual = "Manuální"
manualDesc = "Kliknutím a tažením začerněte konkrétní oblasti"
manualComingSoon = "Ruční začernění již brzy"
@@ -3288,8 +3317,35 @@ text = "Shoduje pouze celá slova, ne částečné. Při zapnutí se 'John' nesh
title = "Převést na PDF-Image"
text = "Po začernění převede PDF na obrazové PDF. Zajistí, že text pod začerněnými políčky je zcela odstraněn a nelze jej obnovit."
+[redact.tooltip.manual.header]
+title = "Ovládání ručního začernění"
+
+[redact.tooltip.manual.markText]
+title = "Nástroj pro označení textu"
+text = "Vyberte text přímo v PDF a označte ho pro začernění. Klikněte a tažením vyznačte konkrétní text, který chcete začernit."
+
+[redact.tooltip.manual.markArea]
+title = "Nástroj pro označení oblasti"
+text = "Kreslete v PDF obdélníkové oblasti a označte je pro začernění. Užitečné pro začernění obrázků, podpisů nebo nepravidelných tvarů."
+
+[redact.tooltip.manual.apply]
+title = "Použít začernění"
+text = "Po označení obsahu klikněte na „Použít“ a trvale začerněte všechny označené oblasti. Počet čekajících ukazuje, kolik začernění je připraveno k použití."
+bullet1 = "Před použitím můžete označit libovolný počet oblastí"
+bullet2 = "Všechna čekající začernění se použijí najednou"
+bullet3 = "Po použití nelze začernění vrátit zpět"
+
[redact.manual]
+title = "Nástroje pro začernění"
+instructions = "Vyberte text nebo nakreslete oblasti v PDF a označte obsah pro začernění."
+markText = "Označit text"
+markArea = "Označit oblast"
+pendingLabel = "Čeká:"
+applyWarning = "⚠️ Trvalé použití, nelze vrátit zpět a data pod začerněním budou smazána"
+apply = "Použít"
+noMarks = "Žádné značky začernění. Pomocí nástrojů výše označte obsah pro začernění."
header = "Ruční začernění"
+controlsTitle = "Ovládání ručního začernění"
textBasedRedaction = "Začernění založené na textu"
pageBasedRedaction = "Začernění podle stránek"
convertPDFToImageLabel = "Převést PDF na PDF-Image (použito k odstranění textu za rámečkem)"
@@ -4077,11 +4133,16 @@ language = "Jazyk"
toggleAnnotations = "Přepnout viditelnost anotací"
search = "Hledat v PDF"
panMode = "Režim posunu"
+applyRedactionsFirst = "Nejprve použijte začernění"
rotateLeft = "Otočit doleva"
rotateRight = "Otočit doprava"
toggleSidebar = "Přepnout postranní panel"
toggleBookmarks = "Přepnout záložky"
print = "Tisk PDF"
+draw = "Kreslit"
+redact = "Začernit"
+exitRedaction = "Opustit režim začernění"
+save = "Uložit"
downloadAll = "Stáhnout vše"
saveAll = "Uložit vše"
@@ -4155,6 +4216,7 @@ editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
undo = "Undo"
redo = "Redo"
applyChanges = "Apply Changes"
+saveChanges = "Uložit změny"
[search]
title = "Hledat v PDF"
@@ -4237,6 +4299,8 @@ fetchError = "Nepodařilo se načíst nastavení"
saveError = "Nepodařilo se uložit nastavení"
saved = "Nastavení byla úspěšně uložena"
saveSuccess = "Nastavení byla úspěšně uložena"
+success = "Nastavení byla úspěšně uložena"
+error = "Nastavení se nepodařilo uložit"
save = "Uložit změny"
discard = "Zahodit"
restartRequired = "Vyžadován restart"
@@ -4360,6 +4424,13 @@ description = "Cesta ke spustitelnému souboru WeasyPrint pro převod HTML do PD
label = "Spustitelný soubor unoconvert"
description = "Cesta k LibreOffice unoconvert pro převody dokumentů (ponechte prázdné pro výchozí: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "Frontend URL"
+description = "Základní URL pro frontend (např. https://pdf.example.com). Používá se pro odkazy v e‑mailových pozvánkách a nahrávání přes mobilní QR kód. Ponechte prázdné pro použití backend URL."
+
+[admin.settings.badge]
+clickToUpgrade = "Klikněte pro zobrazení detailů tarifu"
+
[admin.settings.security]
title = "Zabezpečení"
description = "Nakonfigurujte autentizaci, chování přihlášení a bezpečnostní zásady."
@@ -4436,7 +4507,7 @@ description = "Sledovat akce uživatelů a systémové události pro compliance
[admin.settings.security.audit.level]
label = "Úroveň auditu"
-description = "0=VYPNUTO, 1=ZÁKLADNÍ, 2=STANDARDNÍ, 3=PODROBNÝ"
+description = "0=OFF, 1=BASIC, 2=STANDARD, 3=VERBOSE"
[admin.settings.security.audit.retentionDays]
label = "Doba uchování auditů (dny)"
@@ -4496,6 +4567,19 @@ connect = "Připojit"
disconnect = "Odpojit"
disconnected = "Poskytovatel byl úspěšně odpojen"
disconnectError = "Nepodařilo se odpojit poskytovatele"
+mobileScannerConvertToPdf = "Převádět obrázky do PDF"
+mobileScannerConvertToPdfDesc = "Automaticky převádí nahrané obrázky do formátu PDF. Pokud je vypnuto, obrázky zůstanou beze změny."
+mobileScannerImageResolution = "Rozlišení obrázků"
+mobileScannerImageResolutionDesc = "Rozlišení nahraných obrázků. \"Snížené\" zmenší obrázky na max. 1200 px pro snížení velikosti souboru."
+imageResolutionFull = "Plné (původní velikost)"
+imageResolutionReduced = "Snížené (max. 1200 px)"
+mobileScannerPageFormat = "Formát stránky"
+mobileScannerPageFormatDesc = "Velikost stránky PDF pro převedené obrázky. \"Ponechat\" použije původní rozměry obrázků."
+pageFormatKeep = "Ponechat (původní rozměry)"
+pageFormatA4 = "A4 (210×297 mm)"
+pageFormatLetter = "Letter (8,5×11 in)"
+mobileScannerStretchToFit = "Roztáhnout na celou stránku"
+mobileScannerStretchToFitDesc = "Roztáhne obrázky tak, aby vyplnily celou stránku. Pokud je vypnuto, obrázky se vystředí se zachováním poměru stran."
[admin.settings.connections.ssoAutoLogin]
label = "Automatické přihlášení SSO"
@@ -4564,6 +4648,122 @@ description = "Automaticky vytvořit uživatelské účty při prvním přihlá
label = "Blokovat registraci"
description = "Zabránit registraci nových uživatelů přes SAML2"
+[admin.settings.connections.mobileScanner]
+label = "Nahrávání z mobilního telefonu"
+enable = "Povolit nahrávání pomocí QR kódu"
+description = "Umožní uživatelům nahrávat soubory z mobilních zařízení po načtení QR kódu"
+note = "Poznámka: Vyžaduje nastavenou Frontend URL. "
+link = "Nastavit v systémovém nastavení"
+mobileScannerConvertToPdf = "Převádět obrázky do PDF"
+mobileScannerConvertToPdfDesc = "Automaticky převádí nahrané obrázky do formátu PDF. Pokud je vypnuto, obrázky zůstanou beze změny."
+mobileScannerImageResolution = "Rozlišení obrázků"
+mobileScannerImageResolutionDesc = "Rozlišení nahraných obrázků. \"Snížené\" zmenší obrázky na max. 1200 px pro snížení velikosti souboru."
+imageResolutionFull = "Plné (původní velikost)"
+imageResolutionReduced = "Snížené (max. 1200 px)"
+mobileScannerPageFormat = "Formát stránky"
+mobileScannerPageFormatDesc = "Velikost stránky PDF pro převedené obrázky. \"Ponechat\" použije původní rozměry obrázků."
+pageFormatKeep = "Ponechat (původní rozměry)"
+pageFormatA4 = "A4 (210×297 mm)"
+pageFormatLetter = "Letter (8,5×11 in)"
+mobileScannerStretchToFit = "Roztáhnout na celou stránku"
+mobileScannerStretchToFitDesc = "Roztáhne obrázky tak, aby vyplnily celou stránku. Pokud je vypnuto, obrázky se vystředí se zachováním poměru stran."
+
+[admin.settings.telegram]
+title = "Telegram bot"
+description = "Nastavte připojení Telegram bota, řízení přístupu a způsob zpětné vazby."
+
+[admin.settings.telegram.enabled]
+label = "Povolit Telegram bota"
+description = "Umožněte uživatelům pracovat se Stirling PDF prostřednictvím vámi nastaveného Telegram bota."
+
+[admin.settings.telegram.botUsername]
+label = "Uživatelské jméno bota"
+description = "Veřejné uživatelské jméno vašeho Telegram bota."
+
+[admin.settings.telegram.botToken]
+label = "Token bota"
+description = "API token poskytnutý BotFatherem pro vašeho Telegram bota."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Složka doručených"
+description = "Složka v adresáři pipeline, kam se ukládají příchozí soubory z Telegramu."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Použít vlastní příponu složky"
+description = "Připojit ID chatu k příchozím složkám souborů pro oddělení nahrávání podle chatu."
+
+[admin.settings.telegram.accessControl]
+title = "Řízení přístupu"
+description = "Omezte, kteří uživatelé nebo kanály mohou s botem komunikovat."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Povolit konkrétní ID uživatelů"
+description = "Pokud je zapnuto, bota mohou používat pouze uvedená ID uživatelů."
+
+[admin.settings.telegram.allowUserIDs]
+label = "Povolená ID uživatelů"
+description = "Zadejte ID uživatelů Telegramu, kteří mohou s botem komunikovat."
+placeholder = "Přidejte ID uživatele a stiskněte Enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Povolit konkrétní ID kanálů"
+description = "Pokud je zapnuto, bota mohou používat pouze uvedená ID kanálů."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "Povolená ID kanálů"
+description = "Zadejte ID kanálů Telegramu, které mohou s botem komunikovat."
+placeholder = "Přidejte ID kanálu a stiskněte Enter"
+
+[admin.settings.telegram.processing]
+title = "Zpracování"
+description = "Nastavte intervaly dotazování a limity zpracování pro nahrávání z Telegramu."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Časový limit zpracování (sekundy)"
+description = "Maximální doba čekání na úlohu zpracování před ohlášením chyby."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Interval dotazování (ms)"
+description = "Interval mezi kontrolami nových Telegram aktualizací."
+
+[admin.settings.telegram.feedback]
+title = "Zprávy zpětné vazby"
+description = "Zvolte, kdy má bot posílat zpětnou vazbu uživatelům a kanálům."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Povolit zpětnou vazbu"
+description = "Určuje, zda bot vůbec posílá zprávy se zpětnou vazbou."
+
+[admin.settings.telegram.feedback.channel]
+title = "Pravidla zpětné vazby pro kanály"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Zobrazit \"No valid document\" (Kanál)"
+description = "Potlačit odpověď no valid document pro nahrávání do kanálů."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Zobrazit chyby zpracování (Kanál)"
+description = "Posílat do kanálů chybové zprávy o zpracování."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Zobrazit chybová hlášení (Kanál)"
+description = "Zobrazit podrobná chybová hlášení pro kanály."
+
+[admin.settings.telegram.feedback.user]
+title = "Pravidla zpětné vazby pro uživatele"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Zobrazit \"No valid document\" (Uživatel)"
+description = "Potlačit odpověď no valid document pro nahrávání od uživatelů."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Zobrazit chyby zpracování (Uživatel)"
+description = "Posílat chybové zprávy o zpracování uživatelům."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Zobrazit chybová hlášení (Uživatel)"
+description = "Zobrazit podrobná chybová hlášení pro uživatele."
+
[admin.settings.database]
title = "Databáze"
description = "Nakonfigurujte vlastní nastavení připojení k databázi pro podniková nasazení."
@@ -4745,6 +4945,10 @@ description = "Umožnit správcům zvát uživatele e-mailem s automaticky gener
label = "URL frontendu"
description = "Základní URL pro frontend (např. https://pdf.example.com). Používá se pro generování odkazů na pozvánky v e-mailech. Ponechte prázdné pro použití backend URL."
+[admin.settings.mail.frontendUrlNote]
+note = "Poznámka: Vyžaduje nastavenou Frontend URL. "
+link = "Nastavit v systémovém nastavení"
+
[admin.settings.legal]
title = "Právní dokumenty"
description = "Nakonfigurujte odkazy na právní dokumenty a zásady."
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "Moje soubory"
noRecentFiles = "Nebyly nalezeny žádné nedávné soubory"
googleDriveNotAvailable = "Integrace s Google Drive není dostupná"
+mobileUpload = "Nahrávání z mobilu"
+mobileShort = "Mobil"
+mobileUploadNotAvailable = "Nahrávání z mobilu není povoleno"
downloadSelected = "Stáhnout vybrané"
saveSelected = "Uložit vybrané"
openFiles = "Otevřít soubory"
@@ -5307,6 +5514,15 @@ impact = "Všechny aplikace nebo služby, které tyto klíče aktuálně použí
confirmPrompt = "Opravdu chcete pokračovat?"
confirmCta = "Obnovit klíče"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "Chyba API klíče"
+failedToCreateApiKey = "Nepodařilo se vytvořit API klíč."
+failedToRetrieveApiKey = "Nepodařilo se získat API klíč z odpovědi."
+failedToFetchApiKey = "Nepodařilo se načíst API klíč."
+apiKeyRefreshed = "API klíč obnoven"
+apiKeyRefreshedBody = "Váš API klíč byl úspěšně obnoven."
+failedToRefreshApiKey = "Nepodařilo se obnovit API klíč."
+
[AddAttachmentsRequest]
attachments = "Vybrat přílohy"
info = "Vyberte soubory, které chcete připojit k PDF. Tyto soubory budou vloženy a dostupné v panelu příloh PDF."
@@ -5452,7 +5668,7 @@ upgrade = "Upgradovat nyní →"
freeTitle = "Serverová licence"
overLimitTitle = "Vyžadována serverová licence"
overLimitBody = "Naše licencování umožňuje až {{freeTierLimit}} uživatelů zdarma na server. Máte {{overLimitUserCopy}} uživatelů Stirling. Pro nepřerušené používání přejděte na plán Stirling Server – neomezený počet míst, úpravy textu PDF a plná správa za 99 $/server/měsíc."
-freeBody = "Naše licencování Open-Core umožňuje až {{freeTierLimit}} uživatelů zdarma na server. Pro nepřerušované škálování doporučujeme plán Stirling Server - neomezený počet míst a podpora SSO za $99/server/měs."
+freeBody = "Naše licencování Open-Core umožňuje až {{freeTierLimit}} uživatelů zdarma na server. Pro nepřerušený růst a přednostní přístup k našemu novému nástroji pro úpravu textu PDF doporučujeme plán Stirling Server – plné úpravy a neomezený počet míst za 99 $/server/měsíc."
[onboarding.desktopInstall]
title = "Stáhnout"
@@ -6078,7 +6294,7 @@ title = "Graf využití endpointů"
[usage.table]
title = "Podrobné statistiky"
-endpoint = "Koncový bod"
+endpoint = "Endpoint"
visits = "Návštěvy"
percentage = "Procenta"
noData = "Žádná data nejsou k dispozici"
@@ -6156,6 +6372,7 @@ description = "Zadejte úplnou URL vašeho samohostovaného serveru Stirling PDF
[setup.server.error]
emptyUrl = "Zadejte URL serveru"
+invalidUrl = "Neplatný formát URL. Zadejte prosím platné URL, například https://your-server.com"
unreachable = "Nelze se připojit k serveru"
testFailed = "Test připojení selhal"
configFetch = "Nepodařilo se načíst konfiguraci serveru. Zkontrolujte prosím URL a zkuste to znovu."
@@ -6174,6 +6391,7 @@ connectingTo = "Připojuji se k:"
submit = "Přihlásit se"
signInWith = "Přihlásit se pomocí"
oauthPending = "Otevírám prohlížeč pro ověření..."
+sso = "Jednotné přihlášení"
orContinueWith = "Nebo pokračovat e-mailem"
serverRequirement = "Poznámka: Na serveru musí být povoleno přihlášení."
showInstructions = "Jak povolit?"
@@ -6225,7 +6443,7 @@ paragraph = "Odstavcová stránka"
sparse = "Řídký text"
[pdfTextEditor.groupingMode]
-auto = "Automaticky"
+auto = "Auto"
paragraph = "Odstavec"
singleLine = "Jeden řádek"
@@ -6340,13 +6558,13 @@ warnings = "Varování"
suggestions = "Poznámky"
currentPageFonts = "Fonty na této stránce"
allFonts = "Všechny fonty"
-fallback = "náhradní"
+fallback = "fallback"
missing = "chybí"
perfectMessage = "Všechny fonty lze reprodukovat dokonale."
warningMessage = "Některé fonty se nemusí vykreslit správně."
infoMessage = "K dispozici jsou informace o reprodukci fontů."
-perfect = "dokonalé"
-subset = "podmnožina"
+perfect = "perfect"
+subset = "subset"
[pdfTextEditor.errors]
invalidJson = "Nelze přečíst soubor JSON. Ujistěte se, že byl vytvořen nástrojem PDF to JSON."
@@ -6398,3 +6616,58 @@ title = "Výsledky přidání textu"
[addText.error]
failed = "Při přidávání textu do PDF došlo k chybě."
+
+[mobileUpload]
+title = "Nahrát z mobilu"
+description = "Naskenujte pro nahrání fotografií. Obrázky se automaticky převedou do PDF."
+descriptionNoConvert = "Naskenujte pro nahrání fotografií z mobilního zařízení."
+error = "Chyba připojení"
+pollingError = "Chyba při kontrole souborů"
+sessionId = "ID relace"
+sessionCreateError = "Nepodařilo se vytvořit relaci"
+expiryWarning = "Relace brzy vyprší"
+expiryWarningMessage = "Tento QR kód vyprší za {{seconds}} s. Nový kód bude vygenerován automaticky."
+filesReceived = "Přijato {{count}} soubor(ů)"
+connected = "Mobilní zařízení připojeno"
+instructions = "Naskenujte fotoaparátem telefonu. Obrázky se automaticky převedou do PDF."
+instructionsNoConvert = "Naskenujte fotoaparátem telefonu pro nahrání souborů."
+
+[mobileScanner]
+title = "Mobilní skener"
+noSession = "Neplatná relace"
+noSessionMessage = "Pro přístup na tuto stránku naskenujte platný QR kód."
+validating = "Ověřuje se relace..."
+sessionInvalid = "Chyba relace"
+sessionExpired = "Tato relace vypršela. Obnovte stránku a zkuste to znovu."
+sessionNotFound = "Relace nebyla nalezena. Obnovte stránku a zkuste to znovu."
+sessionValidationError = "Relaci se nepodařilo ověřit. Zkuste to prosím znovu."
+uploadSuccess = "Nahrávání úspěšné!"
+uploadSuccessMessage = "Vaše obrázky byly přeneseny."
+httpsRequired = "Přístup ke kameře vyžaduje HTTPS nebo localhost. Použijte prosím HTTPS nebo přístup přes localhost."
+uploadFailed = "Nahrávání se nezdařilo. Zkuste to prosím znovu."
+uploading = "Nahrává se..."
+connected = "Připojeno"
+connecting = "Připojuje se..."
+chooseMethod = "Zvolte způsob nahrávání"
+chooseMethodDescription = "Vyberte, jak chcete skenovat a nahrávat dokumenty"
+camera = "Fotoaparát"
+cameraDescription = "Skenujte dokumenty fotoaparátem zařízení s automatickou detekcí okrajů"
+fileUpload = "Nahrání souboru"
+fileDescription = "Nahrajte existující fotografie nebo dokumenty ze zařízení"
+cameraAccessDenied = "Přístup ke kameře odepřen. Povolte prosím přístup ke kameře."
+back = "Zpět"
+settings = "Nastavení"
+edgeDetection = "Detekce okrajů"
+flashlight = "Svítilna"
+flash = "Blesk"
+processing = "Zpracovává se..."
+capture = "Pořídit snímek"
+selectFilesPrompt = "Vyberte soubory k nahrání"
+selectImage = "Vybrat obrázek"
+preview = "Náhled"
+retake = "Znovu vyfotit"
+addToBatch = "Přidat do dávky"
+upload = "Nahrát"
+batchImages = "Dávka"
+clearBatch = "Vymazat"
+uploadAll = "Nahrát vše"
diff --git a/frontend/public/locales/da-DK/translation.toml b/frontend/public/locales/da-DK/translation.toml
index d12173d89..c58201eaf 100644
--- a/frontend/public/locales/da-DK/translation.toml
+++ b/frontend/public/locales/da-DK/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "Du har ikke-gemte ændringer i din PDF."
+pendingRedactionsTitle = "Ikke-anvendte maskeringer"
+pendingRedactions = "Du har ikke-anvendte maskeringer, som vil gå tabt."
areYouSure = "Er du sikker på, at du vil forlade?"
unsavedChangesTitle = "Ikke-gemte ændringer"
keepWorking = "Fortsæt med at arbejde"
discardChanges = "Kassér og forlad"
+discardRedactions = "Kassér og forlad"
applyAndContinue = "Gem og forlad"
exportAndContinue = "Eksportér og fortsæt"
cancel = "Annuller"
@@ -356,7 +359,7 @@ teams = "Teams"
title = "Konfiguration"
systemSettings = "Systemindstillinger"
features = "Funktioner"
-endpoints = "Slutpunkter"
+endpoints = "Endpoints"
database = "Database"
advanced = "Avanceret"
@@ -364,11 +367,12 @@ advanced = "Avanceret"
title = "Sikkerhed og autentificering"
security = "Sikkerhed"
connections = "Forbindelser"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Licensering & Analytics"
plan = "Plan"
-audit = "Revision"
+audit = "Audit"
usageAnalytics = "Brugsanalyse"
[settings.policiesPrivacy]
@@ -438,25 +442,34 @@ currentVersion = "Nuværende version"
latestVersion = "Seneste version"
checkForUpdates = "Søg efter opdateringer"
viewDetails = "Vis detaljer"
+serverNeedsUpdate = "Serveren skal opdateres af administratoren"
+
+[settings.general.versionInfo]
+title = "Versionsoplysninger"
+description = "Detaljer om desktop- og serverversion"
+desktop = "Desktopversion"
+server = "Serverversion"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Sikkerhed"
+description = "Opdater din adgangskode for at holde din konto sikker."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Skift din adgangskode. Du bliver logget ud efter opdatering."
+required = "Alle felter er obligatoriske."
+mismatch = "Nye adgangskoder matcher ikke."
+error = "Kan ikke opdatere adgangskode. Bekræft din nuværende adgangskode og prøv igen."
+success = "Adgangskoden er opdateret. Log ind igen."
+ssoDisabled = "Adgangskodeændringer administreres af din identitetsudbyder."
+current = "Nuværende adgangskode"
+currentPlaceholder = "Indtast din nuværende adgangskode"
+new = "Ny adgangskode"
+newPlaceholder = "Indtast en ny adgangskode"
+confirm = "Bekræft ny adgangskode"
+confirmPlaceholder = "Indtast din nye adgangskode igen"
+update = "Opdater adgangskode"
+
+
[settings.hotkeys]
title = "Tastaturgenveje"
@@ -511,16 +524,16 @@ low = "Lav"
title = "Skift Legitimationsoplysninger"
header = "Opdater Dine Kontooplysninger"
changePassword = "Du bruger standard loginoplysninger. Indtast venligst en ny adgangskode"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Din konto administreres af din identitetsudbyder."
newUsername = "Nyt Brugernavn"
oldPassword = "Nuværende Adgangskode"
newPassword = "Ny Adgangskode"
confirmNewPassword = "Bekræft Ny Adgangskode"
submit = "Indsend Ændringer"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Konto opdateret"
+description = "Ændringer gemt. Log ind igen."
+error = "Kan ikke opdatere brugernavn. Bekræft din adgangskode og prøv igen."
+changeUsername = "Opdater dit brugernavn. Du bliver logget ud efter opdatering."
[account]
title = "Kontoindstillinger"
@@ -528,6 +541,8 @@ accountSettings = "Kontoindstillinger"
adminSettings = "Administratorindstillinger - Se og Tilføj Brugere"
userControlSettings = "Brugerkontrolindstillinger"
changeUsername = "Skift Brugernavn"
+changeUsernameDescription = "Opdater dit brugernavn. Du bliver logget ud efter opdatering."
+newUsernamePlaceholder = "Indtast dit nye brugernavn"
newUsername = "Nyt Brugernavn"
password = "Bekræftelsesadgangskode"
oldPassword = "Gammel adgangskode"
@@ -589,13 +604,13 @@ totalEndpoints = "Endpoints i alt"
totalVisits = "Besøg i alt"
showing = "Viser"
selectedVisits = "Valgte besøg"
-endpoint = "Slutpunkt"
+endpoint = "Endpoint"
visits = "Besøg"
percentage = "Procent"
loading = "Laster..."
failedToLoad = "Kunne ikke indlæse endpoint-data. Prøv at opdatere."
home = "Hjem"
-login = "Log ind"
+login = "Login"
top = "Top"
numberOfVisits = "Antal besøg"
visitsTooltip = "Besøg: {0} ({1}% af totalen)"
@@ -737,9 +752,9 @@ title = "Underskriv"
desc = "Tilføjer underskrift til PDF ved tegning, tekst eller billede"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "annoter,fremhæv,tegn"
+title = "Annotér"
+desc = "Fremhæv, tegn, tilføj noter og figurer i fremviseren"
[home.flatten]
tags = "forenkle,fjern,interaktiv"
@@ -952,7 +967,7 @@ title = "Overlejr PDF'er"
[home.pdfTextEditor]
title = "PDF-teksteditor"
-desc = "Rediger eksisterende tekst og billeder i PDF'er"
+desc = "Gennemse og rediger Stirling PDF JSON-eksporter med grupperet tekstredigering og regenerering af PDF"
[home.addText]
tags = "tekst,annotering,etiket"
@@ -963,6 +978,7 @@ desc = "Tilføj brugerdefineret tekst hvor som helst i din PDF"
addFiles = "Tilføj filer"
uploadFromComputer = "Upload fra computer"
openFromComputer = "Åbn fra computer"
+mobileUpload = "Upload fra mobil"
[viewPdf]
tags = "se,læs,annotér,tekst,billede"
@@ -1214,7 +1230,7 @@ selectFilesPlaceholder = "Vælg filer i hovedvisningen for at komme i gang"
settings = "Indstillinger"
conversionCompleted = "Konvertering fuldført"
results = "Resultater"
-defaultFilename = "konverteret_fil"
+defaultFilename = "converted_file"
conversionResults = "Konverteringsresultater"
convertFrom = "Konvertér fra"
convertTo = "Konvertér til"
@@ -1254,9 +1270,9 @@ pdfaDigitalSignatureWarning = "PDF'en indeholder en digital signatur. Dette vil
fileFormat = "Filformat"
wordDoc = "Word-dokument"
wordDocExt = "Word-dokument (.docx)"
-odtExt = "OpenDocument-tekst (.odt)"
+odtExt = "OpenDocument Text (.odt)"
pptExt = "PowerPoint (.pptx)"
-odpExt = "OpenDocument-præsentation (.odp)"
+odpExt = "OpenDocument Presentation (.odp)"
txtExt = "Almindelig tekst (.txt)"
rtfExt = "Rich Text Format (.rtf)"
selectedFiles = "Valgte filer"
@@ -1278,21 +1294,33 @@ cbzOptions = "CBZ til PDF-indstillinger"
optimizeForEbook = "Optimer PDF til e-bogslæsere (bruger Ghostscript)"
cbzOutputOptions = "PDF til CBZ-indstillinger"
cbzDpi = "DPI for billedgengivelse"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "CBR-indstillinger"
+cbrOutputOptions = "PDF til CBR-indstillinger"
+cbrDpi = "DPI for billedgengivelse"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "e-bog til PDF-indstillinger"
+ebookOptionsDesc = "Indstillinger for konvertering af e-bøger til PDF"
+embedAllFonts = "Indlejr alle skrifttyper"
+embedAllFontsDesc = "Indlejr alle skrifttyper fra e-bogen i den genererede PDF"
+includeTableOfContents = "Medtag indholdsfortegnelse"
+includeTableOfContentsDesc = "Tilføj en genereret indholdsfortegnelse til den resulterende PDF"
+includePageNumbers = "Medtag sidetal"
+includePageNumbersDesc = "Tilføj sidetal til den genererede PDF"
+optimizeForEbookPdf = "Optimer til e-boglæsere"
+optimizeForEbookPdfDesc = "Optimer PDF'en til e-bogslæsning (mindre filstørrelse, bedre gengivelse på e-Ink-enheder)"
+
+[convert.epubOptions]
+epubOptions = "PDF til e-bog-indstillinger"
+epubOptionsDesc = "Indstillinger for konvertering af PDF til EPUB/AZW3"
+detectChapters = "Find kapitler"
+detectChaptersDesc = "Find overskrifter, der ligner kapitler, og indsæt EPUB-sideombrydninger"
+targetDevice = "Målenhed"
+targetDeviceDesc = "Vælg en outputprofil optimeret til læseenheden"
+outputFormat = "Outputformat"
+outputFormatDesc = "Vælg outputformat for e-bogen"
+tabletPhone = "Tablet/telefon (med billeder)"
+kindleEink = "Kindle e-Ink (tekstoptimeret)"
[imageToPdf]
tags = "konvertering,img,jpg,billede,foto"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "Tilføj vedhæftning"
remove = "Fjern vedhæftning"
embed = "Indlejr vedhæftning"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Konverter til PDF/A-3b"
+convertToPdfA3bDescription = "Opretter en arkiv-PDF med indlejrede vedhæftninger"
+convertToPdfA3bTooltip = "PDF/A-3b er et arkivformat, der sikrer langtidsbevarelse. Det tillader indlejring af vilkårlige filformater som vedhæftninger. Konvertering kræver Ghostscript og kan tage længere tid for store filer."
+convertToPdfA3bTooltipHeader = "Om konvertering til PDF/A-3b"
+convertToPdfA3bTooltipTitle = "Hvad den gør"
submit = "Add attachments"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "Gemt"
label = "Upload billede af underskrift"
placeholder = "Vælg billedfil"
hint = "Upload et PNG- eller JPG-billede af din underskrift"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Fjern hvid baggrund (gør gennemsigtig)"
+processing = "Behandler billede..."
+backgroundRemovalFailedTitle = "Fjernelse af baggrund mislykkedes"
+backgroundRemovalFailedMessage = "Kunne ikke fjerne baggrunden fra billedet. Bruger i stedet det originale billede."
[sign.instructions]
title = "Sådan tilføjer du underskrift"
@@ -2409,9 +2437,9 @@ label = "Udjævn kun formularer"
desc = "Udflad kun formularfelter og lad andre interaktive elementer være intakte"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "Renderings-DPI (valgfrit, anbefalet 150 DPI)"
+help = "Lad være tom for at bruge systemets standard. Højere DPI skærper output men øger behandlingstid og filstørrelse."
+placeholder = "f.eks. 150"
[flatten.results]
title = "Resultater for udfladning"
@@ -2987,7 +3015,7 @@ header = "Beskær PDF"
submit = "Indsend"
noFileSelected = "Vælg en PDF for at begynde beskæring"
reset = "Nulstil til fuld PDF"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Auto-beskær hvidt område"
[crop.preview]
title = "Valg af beskæringsområde"
@@ -3218,6 +3246,7 @@ title = "Maskeringsmetode"
mode = "Tilstand"
automatic = "Automatisk"
automaticDesc = "Maskér tekst baseret på søgetermer"
+automaticDisabledTooltip = "Vælg filer i filhåndteringen for at maskere flere filer på én gang"
manual = "Manuel"
manualDesc = "Klik og træk for at maskere bestemte områder"
manualComingSoon = "Manuel maskering kommer snart"
@@ -3288,8 +3317,35 @@ text = "Match kun hele ord, ikke delvise match. 'John' matcher ikke 'Johnson', n
title = "Konvertér til PDF-billede"
text = "Konverterer PDF'en til en billedbaseret PDF efter maskering. Dette sikrer, at tekst bag maskeringsboksene fjernes fuldstændigt og ikke kan genskabes."
+[redact.tooltip.manual.header]
+title = "Manuelle maskeringskontroller"
+
+[redact.tooltip.manual.markText]
+title = "Værktøj til markering af tekst"
+text = "Markér tekst direkte på PDF'en for at markere den til maskering. Klik og træk for at fremhæve specifik tekst, du vil maskere."
+
+[redact.tooltip.manual.markArea]
+title = "Værktøj til områdemarkering"
+text = "Tegn rektangulære områder på PDF'en for at markere områder til maskering. Nyttigt til at maskere billeder, underskrifter eller uregelmæssige former."
+
+[redact.tooltip.manual.apply]
+title = "Anvend maskeringer"
+text = "Når indhold er markeret, klik 'Anvend' for permanent at maskere alle markerede områder. Tælleren viser, hvor mange maskeringer er klar til at blive anvendt."
+bullet1 = "Markér så mange områder som nødvendigt før anvendelse"
+bullet2 = "Alle afventende maskeringer anvendes på én gang"
+bullet3 = "Maskeringer kan ikke fortrydes efter anvendelse"
+
[redact.manual]
+title = "Maskeringsværktøjer"
+instructions = "Vælg tekst eller tegn områder på PDF'en for at markere indhold til maskering."
+markText = "Markér tekst"
+markArea = "Markér område"
+pendingLabel = "Afventer:"
+applyWarning = "⚠️ Permanent handling, kan ikke fortrydes, og dataene nedenunder bliver slettet"
+apply = "Anvend"
+noMarks = "Ingen maskeringsmarkeringer. Brug værktøjerne ovenfor til at markere indhold til maskering."
header = "Manuel maskering"
+controlsTitle = "Manuelle maskeringskontroller"
textBasedRedaction = "Tekstbaseret maskering"
pageBasedRedaction = "Sidebaseret maskering"
convertPDFToImageLabel = "Konvertér PDF til PDF-billede (bruges til at fjerne tekst bag boksen)"
@@ -3406,17 +3462,17 @@ label = "Vertikal Deling"
placeholder = "Indtast antal af vertikale delinger"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Opdelingsmetode"
+description = "Vælg hvordan siderne skal opdeles"
+splitAll = "Opdel alle sider"
+splitAllExceptFirst = "Opdel alle undtagen første"
+splitAllExceptLast = "Opdel alle undtagen sidste"
+splitAllExceptFirstAndLast = "Opdel alle undtagen første og sidste"
+custom = "Brugerdefinerede sider"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Brugerdefinerede sidetal"
+placeholder = "f.eks. 2,4,6"
[AddStampRequest]
tags = "Stempel, Tilføj billede, centrer billede, Vandmærke, PDF, Indlejr, Tilpas"
@@ -3780,17 +3836,17 @@ filesize = "Filstørrelse"
label = "Anvend gråskala til komprimering"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Lineariser PDF for hurtig webvisning"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Konvertér billeder til stregtegning"
+description = "Bruger ImageMagick til at reducere sider til højkontrast sort/hvid for maksimal størrelsesreduktion."
+unavailable = "ImageMagick er ikke installeret eller aktiveret på denne server"
+detailLevel = "Detaljeniveau"
+edgeEmphasis = "Kantfremhævning"
+edgeLow = "Let"
+edgeMedium = "Balanceret"
+edgeHigh = "Kraftig"
[compress.tooltip.header]
title = "Overblik over komprimeringsindstillinger"
@@ -3810,8 +3866,8 @@ title = "Gråtoner"
text = "Vælg denne indstilling for at konvertere alle billeder til sort/hvid, hvilket kan reducere filstørrelsen betydeligt, især for scannede PDF'er eller dokumenter med mange billeder."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "Stregtegning"
+text = "Konvertér sider til højkontrast sort/hvid med ImageMagick. Brug detaljeniveau til at styre, hvor meget indhold bliver sort, og kantfremhævning til at styre, hvor aggressivt kanter detekteres."
[compress.error]
failed = "Der opstod en fejl under komprimering af PDF'en."
@@ -3826,9 +3882,9 @@ _value = "Komprimeringsindstillinger"
1 = "1-3 PDF-komprimering, 4-6 let billedkomprimering, 7-9 intens billedkomprimering vil markant reducere billedkvaliteten"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Lavere værdier bevarer kvaliteten men giver større filer"
+range4to6 = "Mellem komprimering med moderat kvalitetsreduktion"
+range7to9 = "Højere værdier reducerer filstørrelsen markant, men kan reducere billedklarhed"
[decrypt]
passwordPrompt = "Denne fil er adgangskodebeskyttet. Indtast adgangskoden:"
@@ -3973,7 +4029,7 @@ version = "Nuværende udgivelse"
title = "API-dokumentation"
header = "API-dokumentation"
desc = "Se og test Stirling PDF API-endpoints"
-tags = "api,dokumentation,swagger,endepunkter,udvikling"
+tags = "api,documentation,swagger,endpoints,development"
[cookieBanner.popUp]
title = "Sådan bruger vi cookies"
@@ -4069,7 +4125,7 @@ deleteSelected = "Slet valgte sider"
closePdf = "Luk PDF"
exportAll = "Eksporter PDF"
downloadSelected = "Download valgte filer"
-annotations = "Annotations"
+annotations = "Anmærkninger"
exportSelected = "Eksporter valgte sider"
saveChanges = "Gem ændringer"
toggleTheme = "Skift tema"
@@ -4077,84 +4133,90 @@ language = "Sprog"
toggleAnnotations = "Skift visning af annoteringer"
search = "Søg i PDF"
panMode = "Pan-tilstand"
+applyRedactionsFirst = "Anvend maskeringer først"
rotateLeft = "Rotér venstre"
rotateRight = "Rotér højre"
toggleSidebar = "Skift sidepanel"
toggleBookmarks = "Skift bogmærker"
print = "Udskriv PDF"
+draw = "Tegn"
+redact = "Maskér"
+exitRedaction = "Afslut maskeringstilstand"
+save = "Gem"
downloadAll = "Download alle"
saveAll = "Gem alle"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Venstre"
+center = "Centreret"
+right = "Højre"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
+title = "Annotér"
+desc = "Brug fremhævning, pen, tekst og noter. Ændringer er aktive—ingen udfladning påkrævet."
+highlight = "Fremhæv"
pen = "Pen"
-text = "Text box"
+text = "Tekstboks"
note = "Note"
-rectangle = "Rectangle"
+rectangle = "Rektangel"
ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
+select = "Vælg"
+exit = "Afslut anmærkningstilstand"
+strokeWidth = "Bredde"
+opacity = "Gennemsigtighed"
+strokeOpacity = "Konturgennemsigtighed"
+fillOpacity = "Fyldgennemsigtighed"
+fontSize = "Skriftstørrelse"
+chooseColor = "Vælg farve"
+color = "Farve"
+strokeColor = "Konturfarve"
+fillColor = "Fyldfarve"
+underline = "Understreg"
+strikeout = "Gennemstregning"
+squiggly = "Bølget understregning"
+inkHighlighter = "Frihåndsmarkering"
+freehandHighlighter = "Frihåndsmarkering"
+square = "Firkant"
+circle = "Cirkel"
polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+line = "Linje"
+stamp = "Tilføj billede"
+textMarkup = "Tekstmarkering"
+drawing = "Tegning"
+shapes = "Figurer"
+notesStamps = "Noter og stempler"
+settings = "Indstillinger"
+borderOn = "Kant: Til"
+borderOff = "Kant: Fra"
+editInk = "Redigér pen"
+editLine = "Redigér linje"
+editNote = "Redigér note"
+editText = "Redigér tekstboks"
+editTextMarkup = "Redigér tekstmarkering"
+editSelected = "Redigér anmærkning"
+editSquare = "Redigér firkant"
+editCircle = "Redigér cirkel"
+editPolygon = "Redigér polygon"
+unsupportedType = "Denne anmærkningstype understøttes ikke fuldt ud til redigering."
+textAlignment = "Tekstjustering"
+noteIcon = "Noteikon"
+imagePreview = "Forhåndsvisning"
+contents = "Tekst"
+backgroundColor = "Baggrundsfarve"
+clearBackground = "Fjern baggrund"
+noBackground = "Ingen baggrund"
+stampSettings = "Stempelindstillinger"
+savingCopy = "Forbereder download..."
+saveFailed = "Kan ikke gemme kopi"
+saveReady = "Download klar"
+selectAndMove = "Vælg og redigér"
+editSelectDescription = "Klik på en eksisterende anmærkning for at redigere dens farve, gennemsigtighed, tekst eller størrelse."
+editStampHint = "For at ændre billedet skal du slette dette stempel og tilføje et nyt."
+editSwitchToSelect = "Skift til Vælg og redigér for at redigere denne anmærkning."
+undo = "Fortryd"
+redo = "Omgør"
+applyChanges = "Anvend ændringer"
+saveChanges = "Gem ændringer"
[search]
title = "Søg i PDF"
@@ -4205,20 +4267,20 @@ settings = "Indstil."
adminSettings = "Admin Indstil."
allTools = "All Tools"
reader = "Læser"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Rundvisninger"
+showMeAround = "Vis mig rundt"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Se gennemgange her: Værktøjsrundvisning, rundvisning i det nye V2-layout og Admin-rundvisningen."
+user = "Se gennemgange her: Værktøjsrundvisning og rundvisning i det nye V2-layout."
[quickAccess.helpMenu]
toolsTour = "Rundtur i værktøjer"
toolsTourDesc = "Lær hvad værktøjerne kan"
adminTour = "Admin-rundtur"
adminTourDesc = "Udforsk adminindstillinger og funktioner"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Se det nye i V2"
+whatsNewTourDesc = "Rundvisning i det opdaterede layout"
[admin]
error = "Fejl"
@@ -4237,6 +4299,8 @@ fetchError = "Kunne ikke indlæse indstillinger"
saveError = "Kunne ikke gemme indstillinger"
saved = "Indstillinger gemt"
saveSuccess = "Indstillinger gemt"
+success = "Indstillinger gemt"
+error = "Kunne ikke gemme indstillinger"
save = "Gem ændringer"
discard = "Kassér"
restartRequired = "Genstart påkrævet"
@@ -4360,6 +4424,13 @@ description = "Sti til WeasyPrint-eksekverbar for HTML til PDF-konvertering (lad
label = "Unoconvert-eksekverbar"
description = "Sti til LibreOffice unoconvert til dokumentkonverteringer (lad tom for standard: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "Frontend-URL"
+description = "Basis-URL for frontend (f.eks. https://pdf.example.com). Bruges til e-mail-invitationslinks og mobil-upload via QR-kode. Lad være tom for at bruge backend-URL."
+
+[admin.settings.badge]
+clickToUpgrade = "Klik for at se plandetaljer"
+
[admin.settings.security]
title = "Sikkerhed"
description = "Konfigurer godkendelse, loginadfærd og sikkerhedspolitikker."
@@ -4496,6 +4567,19 @@ connect = "Forbind"
disconnect = "Afbryd"
disconnected = "Udbyder afbrudt"
disconnectError = "Kunne ikke afbryde udbyder"
+mobileScannerConvertToPdf = "Konvertér billeder til PDF"
+mobileScannerConvertToPdfDesc = "Konvertér automatisk uploadede billeder til PDF-format. Hvis deaktiveret, bevares billederne som de er."
+mobileScannerImageResolution = "Billedopløsning"
+mobileScannerImageResolutionDesc = "Opløsning af uploadede billeder. \"Reduceret\" skalerer billeder til maks. 1200 px for at reducere filstørrelse."
+imageResolutionFull = "Fuld (original størrelse)"
+imageResolutionReduced = "Reduceret (maks. 1200 px)"
+mobileScannerPageFormat = "Sideformat"
+mobileScannerPageFormatDesc = "PDF-sidestørrelse for konverterede billeder. \"Behold\" bruger billedets originale dimensioner."
+pageFormatKeep = "Behold (originale dimensioner)"
+pageFormatA4 = "A4 (210×297 mm)"
+pageFormatLetter = "Letter (8.5×11 in)"
+mobileScannerStretchToFit = "Stræk for at udfylde"
+mobileScannerStretchToFitDesc = "Stræk billeder, så de fylder hele siden. Hvis deaktiveret, centreres billeder med bevaret aspektforhold."
[admin.settings.connections.ssoAutoLogin]
label = "SSO automatisk login"
@@ -4518,11 +4602,11 @@ label = "Issuer-URL"
description = "OAuth2-udbyderens issuer-URL"
[admin.settings.connections.oauth2.clientId]
-label = "Klient-ID"
+label = "Client ID"
description = "OAuth2 Client ID fra din udbyder"
[admin.settings.connections.oauth2.clientSecret]
-label = "Klienthemmelighed"
+label = "Client Secret"
description = "OAuth2 Client Secret fra din udbyder"
[admin.settings.connections.oauth2.useAsUsername]
@@ -4564,6 +4648,122 @@ description = "Opret automatisk brugerkonti ved første SAML2-login"
label = "Blokér registrering"
description = "Forhindre ny brugerregistrering via SAML2"
+[admin.settings.connections.mobileScanner]
+label = "Upload fra mobiltelefon"
+enable = "Aktivér upload via QR-kode"
+description = "Tillad brugere at uploade filer fra mobile enheder ved at scanne en QR-kode"
+note = "Bemærk: Kræver at Frontend URL er konfigureret. "
+link = "Konfigurer i systemindstillinger"
+mobileScannerConvertToPdf = "Konvertér billeder til PDF"
+mobileScannerConvertToPdfDesc = "Konvertér automatisk uploadede billeder til PDF-format. Hvis deaktiveret, bevares billederne som de er."
+mobileScannerImageResolution = "Billedopløsning"
+mobileScannerImageResolutionDesc = "Opløsning af uploadede billeder. \"Reduceret\" skalerer billeder til maks. 1200 px for at reducere filstørrelse."
+imageResolutionFull = "Fuld (original størrelse)"
+imageResolutionReduced = "Reduceret (maks. 1200 px)"
+mobileScannerPageFormat = "Sideformat"
+mobileScannerPageFormatDesc = "PDF-sidestørrelse for konverterede billeder. \"Behold\" bruger billedets originale dimensioner."
+pageFormatKeep = "Behold (originale dimensioner)"
+pageFormatA4 = "A4 (210×297 mm)"
+pageFormatLetter = "Letter (8.5×11 in)"
+mobileScannerStretchToFit = "Stræk for at udfylde"
+mobileScannerStretchToFitDesc = "Stræk billeder, så de fylder hele siden. Hvis deaktiveret, centreres billeder med bevaret aspektforhold."
+
+[admin.settings.telegram]
+title = "Telegram-bot"
+description = "Konfigurer Telegram-botforbindelse, adgangskontrol og feedbackadfærd."
+
+[admin.settings.telegram.enabled]
+label = "Aktivér Telegram-bot"
+description = "Tillad brugere at interagere med Stirling PDF via din konfigurerede Telegram-bot."
+
+[admin.settings.telegram.botUsername]
+label = "Bot-brugernavn"
+description = "Det offentlige brugernavn for din Telegram-bot."
+
+[admin.settings.telegram.botToken]
+label = "Bot-token"
+description = "API-token leveret af BotFather til din Telegram-bot."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Indbakke-mappe"
+description = "Mappe under pipeline-mappen, hvor indgående Telegram-filer gemmes."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Brug brugerdefineret mappesuffiks"
+description = "Tilføj chat ID til indgående filmapper for at isolere uploads pr. chat."
+
+[admin.settings.telegram.accessControl]
+title = "Adgangskontrol"
+description = "Begræns hvilke brugere eller kanaler der kan interagere med botten."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Tillad specifikke bruger-ID'er"
+description = "Når aktiveret, kan kun de angivne bruger-ID'er bruge botten."
+
+[admin.settings.telegram.allowUserIDs]
+label = "Tilladte bruger-ID'er"
+description = "Angiv Telegram-bruger-ID'er, der må interagere med botten."
+placeholder = "Tilføj bruger-ID og tryk Enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Tillad specifikke kanal-ID'er"
+description = "Når aktiveret, kan kun de angivne kanal-ID'er bruge botten."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "Tilladte kanal-ID'er"
+description = "Angiv Telegram-kanal-ID'er, der må interagere med botten."
+placeholder = "Tilføj kanal-ID og tryk Enter"
+
+[admin.settings.telegram.processing]
+title = "Behandling"
+description = "Styr pollingintervaller og behandlingstimeouts for Telegram-uploads."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Behandlingstimeout (sekunder)"
+description = "Maksimal ventetid på en behandlingsopgave før fejl meldes."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Polling-interval (ms)"
+description = "Interval mellem tjek for nye Telegram-opdateringer."
+
+[admin.settings.telegram.feedback]
+title = "Feedbackbeskeder"
+description = "Vælg hvornår botten skal sende feedback til brugere og kanaler."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Aktivér feedback"
+description = "Styr om botten overhovedet sender feedbackbeskeder."
+
+[admin.settings.telegram.feedback.channel]
+title = "Regler for kanal-feedback"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Vis \"Intet gyldigt dokument\" (kanal)"
+description = "Undertryk svaret 'Intet gyldigt dokument' for kanaluploads."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Vis behandlingsfejl (kanal)"
+description = "Send beskeder om behandlingsfejl til kanaler."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Vis fejlmeddelelser (kanal)"
+description = "Vis detaljerede fejlmeddelelser for kanaler."
+
+[admin.settings.telegram.feedback.user]
+title = "Regler for bruger-feedback"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Vis \"Intet gyldigt dokument\" (bruger)"
+description = "Undertryk svaret 'Intet gyldigt dokument' for brugeruploads."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Vis behandlingsfejl (bruger)"
+description = "Send beskeder om behandlingsfejl til brugere."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Vis fejlmeddelelser (bruger)"
+description = "Vis detaljerede fejlmeddelelser for brugere."
+
[admin.settings.database]
title = "Database"
description = "Konfigurer brugerdefinerede databaseforbindelser til virksomhedsinstallationer."
@@ -4626,7 +4826,7 @@ features = "Funktionsflag"
processing = "Behandling"
[admin.settings.advanced.endpoints]
-label = "Slutpunkter"
+label = "Endpoints"
manage = "Administrer API-endpoints"
description = "Endpointstyring konfigureres via YAML. Se dokumentationen for detaljer om aktivering/deaktivering af specifikke endpoints."
@@ -4745,6 +4945,10 @@ description = "Tillad administratorer at invitere brugere via e-mail med automat
label = "Frontend-URL"
description = "Basis-URL for frontend (fx https://pdf.example.com). Bruges til at generere invitationslinks i e-mails. Lad være tom for at bruge backend-URL."
+[admin.settings.mail.frontendUrlNote]
+note = "Bemærk: Kræver at Frontend URL er konfigureret. "
+link = "Konfigurer i systemindstillinger"
+
[admin.settings.legal]
title = "Juridiske dokumenter"
description = "Konfigurer links til juridiske dokumenter og politikker."
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "Mine filer"
noRecentFiles = "Ingen seneste filer fundet"
googleDriveNotAvailable = "Google Drive-integration ikke tilgængelig"
+mobileUpload = "Upload fra mobil"
+mobileShort = "Mobil"
+mobileUploadNotAvailable = "Upload fra mobil er ikke aktiveret"
downloadSelected = "Download valgte"
saveSelected = "Gem valgte"
openFiles = "Åbn filer"
@@ -5244,7 +5451,7 @@ loading = "Indlæser..."
back = "Tilbage"
continue = "Fortsæt"
error = "Fejl"
-save = "Save"
+save = "Gem"
[config.overview]
title = "Applikationskonfiguration"
@@ -5307,6 +5514,15 @@ impact = "Eventuelle applikationer eller tjenester, der i øjeblikket bruger dis
confirmPrompt = "Er du sikker på, at du vil fortsætte?"
confirmCta = "Opdatér nøgler"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "API-nøglefejl"
+failedToCreateApiKey = "Kunne ikke oprette API-nøgle."
+failedToRetrieveApiKey = "Kunne ikke hente API-nøgle fra svaret."
+failedToFetchApiKey = "Kunne ikke hente API-nøgle."
+apiKeyRefreshed = "API-nøgle opdateret"
+apiKeyRefreshedBody = "Din API-nøgle er blevet opdateret."
+failedToRefreshApiKey = "Kunne ikke opdatere API-nøgle."
+
[AddAttachmentsRequest]
attachments = "Vælg vedhæftede filer"
info = "Vælg filer, der skal vedhæftes din PDF. Disse filer bliver indlejret og tilgængelige via PDF'ens panel for vedhæftede filer."
@@ -5412,14 +5628,14 @@ startTour = "Start rundtur"
startTourDescription = "Tag en guidet tur gennem Stirling PDFs nøglefunktioner"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Start i Hurtig adgang-panelet for at hoppe mellem Reader, Automate, dine filer og alle rundvisningerne."
+leftPanel = "Det venstre Værktøjer-panel viser alt, du kan gøre. Gennemse kategorier eller søg for hurtigt at finde et værktøj."
+fileUpload = "Brug Filer-knappen til at uploade eller vælge en nylig PDF. Vi indlæser et eksempel, så du kan se arbejdsområdet."
+rightRail = "Det højre sidepanel rummer hurtige handlinger til at vælge filer, ændre tema eller sprog og downloade resultater."
+topBar = "Topbjælken lader dig skifte mellem Fremviser, Sideeditor og Aktive filer."
+pageEditorView = "Skift til Sideeditor for at omarrangere, rotere eller slette sider."
+activeFilesView = "Brug Aktive filer til at se alt, du har åbent, og vælge, hvad du vil arbejde på."
+wrapUp = "Det var det nye i V2. Åbn menuen Rundvisninger når som helst for at afspille dette, værktøjsrundvisningen eller admin-rundvisningen."
[onboarding.welcomeModal]
title = "Velkommen til Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "Vis mig rundt"
skipTheTour = "Spring rundvisningen over"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Oversigt over rundvisning"
+body = "Stirling PDF V2 kommer med dusinvis af værktøjer og et fornyet layout. Tag en hurtig rundvisning for at se, hvad der er ændret, og hvor du finder de funktioner, du har brug for."
[onboarding.serverLicense]
skip = "Spring over for nu"
@@ -5452,7 +5668,7 @@ upgrade = "Opgrader nu →"
freeTitle = "Serverlicens"
overLimitTitle = "Serverlicens påkrævet"
overLimitBody = "Vores licens tillader op til {{freeTierLimit}} brugere gratis pr. server. Du har {{overLimitUserCopy}} Stirling-brugere. For at fortsætte uden afbrydelser skal du opgradere til Stirling Server-abonnementet – ubegrænsede pladser, PDF-tekstredigering og fuld admin-kontrol for $99/server/md."
-freeBody = "Vores Open-Core-licens tillader op til {{freeTierLimit}} brugere gratis pr. server. For at skalere uden afbrydelser anbefaler vi Stirling Server-planen – ubegrænsede pladser og SSO-understøttelse for $99/server/md."
+freeBody = "Vores Open-Core-licens tillader op til {{freeTierLimit}} brugere gratis pr. server. For at skalere uden afbrydelser og få tidlig adgang til vores nye PDF-tekstredigeringsværktøj anbefaler vi Stirling Server-planen – fuld redigering og ubegrænsede pladser for $99/server/md."
[onboarding.desktopInstall]
title = "Download"
@@ -5633,8 +5849,8 @@ emailDisabled = "E-mailinvitationer kræver SMTP-konfiguration og mail.enableInv
[workspace.people.license]
users = "brugere"
availableSlots = "Tilgængelige pladser"
-grandfathered = "På gamle vilkår"
-grandfatheredShort = "{{count}} på gamle vilkår"
+grandfathered = "Grandfathered"
+grandfatheredShort = "{{count}} grandfathered"
fromLicense = "fra licens"
slotsAvailable = "{{count}} ledig(e) brugerplads(er)"
noSlotsAvailable = "Ingen pladser tilgængelige"
@@ -5758,28 +5974,28 @@ contactSales = "Kontakt salg"
contactToUpgrade = "Kontakt os for at opgradere eller tilpasse din plan"
maxUsers = "Maks. brugere"
upTo = "Op til"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Få serverlicens"
+upgradeToEnterprise = "Opgrader til Enterprise"
+selectPeriod = "Vælg faktureringsperiode"
+monthlyBilling = "Månedlig fakturering"
+yearlyBilling = "Årlig fakturering"
+checkoutOpened = "Checkout åbnet"
+checkoutInstructions = "Gennemfør dit køb i Stripe-fanen. Efter betaling skal du vende tilbage hertil og opdatere siden for at aktivere din licens. Du modtager også en e-mail med din licensnøgle."
+activateLicense = "Aktivér din licens"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Checkout åbnet i ny fane"
+instructions = "Gennemfør dit køb i Stripe-fanen. Når din betaling er gennemført, modtager du en e-mail med din licensnøgle."
+enterKey = "Indtast din licensnøgle nedenfor for at aktivere din plan:"
+keyDescription = "Indsæt licensnøglen fra din e-mail"
+activate = "Aktivér licens"
+doLater = "Jeg gør det senere"
+success = "Licens aktiveret!"
+successMessage = "Din licens er aktiveret. Du kan nu lukke dette vindue."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "E-mailbekræftelse påkrævet"
+message = "Du skal bekræfte din e-mailadresse i Stripes faktureringsportal. Tjek din e-mail for et loginlink."
[plan.period]
month = "måned"
@@ -5983,8 +6199,8 @@ notAvailable = "Auditsystem ikke tilgængeligt"
notAvailableMessage = "Auditsystemet er ikke konfigureret eller ikke tilgængeligt."
disabled = "Auditlogning er deaktiveret"
disabledMessage = "Aktivér auditlogning i din applikationskonfiguration for at spore systemhændelser."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Enterprise-licens påkrævet"
+enterpriseRequiredMessage = "Revisionslogsystemet er en Enterprise-funktion. Opgrader venligst til en Enterprise-licens for at få adgang til revisionslogs og analyser."
[audit.error]
title = "Fejl ved indlæsning af auditsystem"
@@ -6078,7 +6294,7 @@ title = "Diagram over endpoint-brug"
[usage.table]
title = "Detaljeret statistik"
-endpoint = "Slutpunkt"
+endpoint = "Endpoint"
visits = "Besøg"
percentage = "Procent"
noData = "Ingen data tilgængelige"
@@ -6121,7 +6337,7 @@ label = "Vælg server"
description = "Selvhostet server"
[setup.step3]
-label = "Log ind"
+label = "Login"
description = "Indtast loginoplysninger"
[setup.mode.saas]
@@ -6156,6 +6372,7 @@ description = "Indtast den fulde URL til din selvhostede Stirling PDF-server"
[setup.server.error]
emptyUrl = "Indtast en server-URL"
+invalidUrl = "Ugyldigt URL-format. Angiv en gyldig URL som https://your-server.com"
unreachable = "Kunne ikke forbinde til server"
testFailed = "Forbindelsestest mislykkedes"
configFetch = "Kunne ikke hente serverkonfiguration. Kontrollér URL'en, og prøv igen."
@@ -6174,6 +6391,7 @@ connectingTo = "Forbinder til:"
submit = "Log ind"
signInWith = "Log ind med"
oauthPending = "Åbner browser for godkendelse..."
+sso = "Single Sign-On"
orContinueWith = "Eller fortsæt med email"
serverRequirement = "Bemærk: Serveren skal have login aktiveret."
showInstructions = "Hvordan aktiveres det?"
@@ -6239,8 +6457,8 @@ reset = "Nulstil ændringer"
downloadJson = "Download JSON"
generatePdf = "Generer PDF"
saveChanges = "Gem ændringer"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Anvend ændringer"
+downloadCopy = "Download kopi"
[pdfTextEditor.options.autoScaleText]
title = "Autoskalér tekst, så den passer i bokse"
@@ -6260,22 +6478,22 @@ title = "Lås redigeret tekst til ét enkelt PDF-element"
description = "Når aktiveret, eksporterer editoren hver redigeret tekstboks som ét PDF-textelement for at undgå overlap af glyffer eller blandede skrifttyper."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Avancerede indstillinger"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Begrænsninger i forhåndsvisning"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Fokus på tekst og billeder"
+text = "Dette arbejdsområde fokuserer på redigering af tekst og omplacering af indlejrede billeder. Komplekst sidegrafik, formular-widgets og lagdelte grafikker bevares til eksport, men kan ikke redigeres fuldt ud her."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Afvigelser i forhåndsvisning"
+text = "Nogle visuelle elementer (såsom tabelkanter, former eller anmærkningsudseender) vises muligvis ikke præcist i forhåndsvisningen. Den eksporterede PDF beholder de originale tegnekommandoer, når det er muligt."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Alfa-fremviser"
+text = "Denne alfa-fremviser er stadig under udvikling—visse skrifttyper, farver, gennemsigtighedseffekter og layoutdetaljer kan ændre sig en smule. Kontrollér den genererede PDF før deling."
[pdfTextEditor.manual]
mergeTooltip = "Flet valgte bokse"
@@ -6398,3 +6616,58 @@ title = "Resultater af tilføjelse af tekst"
[addText.error]
failed = "Der opstod en fejl under tilføjelse af tekst til PDF'en."
+
+[mobileUpload]
+title = "Upload fra mobil"
+description = "Scan for at uploade fotos. Billeder konverteres automatisk til PDF."
+descriptionNoConvert = "Scan for at uploade fotos fra din mobilenhed."
+error = "Forbindelsesfejl"
+pollingError = "Fejl ved tjek for filer"
+sessionId = "Sessions-ID"
+sessionCreateError = "Kunne ikke oprette session"
+expiryWarning = "Session udløber snart"
+expiryWarningMessage = "Denne QR-kode udløber om {{seconds}} sekunder. En ny kode genereres automatisk."
+filesReceived = "{{count}} fil(er) modtaget"
+connected = "Mobilenhed tilsluttet"
+instructions = "Scan med din telefons kamera. Billeder konverteres automatisk til PDF."
+instructionsNoConvert = "Scan med din telefons kamera for at uploade filer."
+
+[mobileScanner]
+title = "Mobilscanner"
+noSession = "Ugyldig session"
+noSessionMessage = "Scan en gyldig QR-kode for at få adgang til denne side."
+validating = "Validerer session..."
+sessionInvalid = "Sessionsfejl"
+sessionExpired = "Denne session er udløbet. Opdater og prøv igen."
+sessionNotFound = "Session ikke fundet. Opdater og prøv igen."
+sessionValidationError = "Kan ikke verificere session. Prøv igen."
+uploadSuccess = "Upload gennemført!"
+uploadSuccessMessage = "Dine billeder er overført."
+httpsRequired = "Kameradgang kræver HTTPS eller localhost. Brug venligst HTTPS eller få adgang via localhost."
+uploadFailed = "Upload mislykkedes. Prøv igen."
+uploading = "Uploader..."
+connected = "Tilsluttet"
+connecting = "Tilslutter..."
+chooseMethod = "Vælg uploadmetode"
+chooseMethodDescription = "Vælg hvordan du vil scanne og uploade dokumenter"
+camera = "Kamera"
+cameraDescription = "Scan dokumenter med din enheds kamera med automatisk kantdetektion"
+fileUpload = "Filupload"
+fileDescription = "Upload eksisterende fotos eller dokumenter fra din enhed"
+cameraAccessDenied = "Kameradgang nægtet. Aktivér venligst kameradgang."
+back = "Tilbage"
+settings = "Indstillinger"
+edgeDetection = "Kantdetektion"
+flashlight = "Lommelygte"
+flash = "Blitz"
+processing = "Behandler..."
+capture = "Tag foto"
+selectFilesPrompt = "Vælg filer til upload"
+selectImage = "Vælg billede"
+preview = "Forhåndsvisning"
+retake = "Tag igen"
+addToBatch = "Tilføj til batch"
+upload = "Upload"
+batchImages = "Batch"
+clearBatch = "Ryd"
+uploadAll = "Upload alle"
diff --git a/frontend/public/locales/de-DE/translation.toml b/frontend/public/locales/de-DE/translation.toml
index 7f16c2712..e54a501bd 100644
--- a/frontend/public/locales/de-DE/translation.toml
+++ b/frontend/public/locales/de-DE/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "Sie haben ungespeicherte Änderungen an Ihrer PDF. Was möchten Sie tun?"
+pendingRedactionsTitle = "Unapplied Redactions"
+pendingRedactions = "You have unapplied redactions that will be lost."
areYouSure = "Möchten Sie die Seite wirklich verlassen?"
unsavedChangesTitle = "Ungespeicherte Änderungen"
keepWorking = "Weiterarbeiten"
discardChanges = "Änderungen verwerfen"
+discardRedactions = "Discard & Leave"
applyAndContinue = "Anwenden & Fortfahren"
exportAndContinue = "Exportieren & Fortfahren"
cancel = "Abbrechen"
@@ -128,9 +131,6 @@ undoQuotaError = "Rückgängig nicht möglich: unzureichender Speicherplatz"
undoStorageError = "Rückgängig abgeschlossen, aber einige Dateien konnten nicht im Speicher gespeichert werden"
undoSuccess = "Vorgang erfolgreich rückgängig gemacht"
unsupported = "Nicht unterstützt"
-discardRedactions = "Discard & Leave"
-pendingRedactions = "You have unapplied redactions that will be lost."
-pendingRedactionsTitle = "Unapplied Redactions"
[toolPanel]
placeholder = "Wählen Sie ein Tool, um zu starten"
@@ -445,10 +445,10 @@ viewDetails = "Details anzeigen"
serverNeedsUpdate = "Server needs to be updated by administrator"
[settings.general.versionInfo]
+title = "Version Information"
description = "Desktop and server version details"
desktop = "Desktop Version"
server = "Server Version"
-title = "Version Information"
[settings.security]
title = "Sicherheit"
@@ -469,6 +469,8 @@ confirm = "Neues Passwort bestätigen"
confirmPlaceholder = "Neues Passwort erneut eingeben"
update = "Passwort aktualisieren"
+
+
[settings.hotkeys]
title = "Tastenkürzel"
description = "Tastenkürzel für schnellen Tool-Zugriff anpassen. Klicken Sie auf \"Shortcut ändern\" und drücken Sie eine neue Tastenkombination. Drücken Sie Esc, um abzubrechen."
@@ -539,6 +541,8 @@ accountSettings = "Kontoeinstellungen"
adminSettings = "Admin-Einstellungen – Benutzer anzeigen und hinzufügen"
userControlSettings = "Benutzerkontrolle"
changeUsername = "Benutzername ändern"
+changeUsernameDescription = "Update your username. You will be logged out after updating."
+newUsernamePlaceholder = "Enter your new username"
newUsername = "Neuer Benutzername"
password = "Bestätigungspasswort"
oldPassword = "Altes Passwort"
@@ -553,8 +557,6 @@ property = "Eigenschaft"
webBrowserSettings = "Webbrowser-Einstellung"
syncToBrowser = "Konto → Browser synchronisieren"
syncToAccount = "Konto ← Browser synchronisieren"
-changeUsernameDescription = "Update your username. You will be logged out after updating."
-newUsernamePlaceholder = "Enter your new username"
[adminUserSettings]
title = "Benutzerkontrolle"
@@ -1320,6 +1322,7 @@ tabletPhone = "Tablet/Phone (with images)"
targetDevice = "Target device"
targetDeviceDesc = "Choose an output profile optimized for the reader device"
+
[imageToPdf]
tags = "konvertierung,img,jpg,bild,foto"
@@ -3244,10 +3247,10 @@ title = "Schwärzungs-Methode"
mode = "Modus"
automatic = "Automatisch"
automaticDesc = "Text basierend auf Suchbegriffen schwärzen"
+automaticDisabledTooltip = "Select files in the file manager to redact multiple files at once"
manual = "Manuell"
manualDesc = "Klicken und ziehen zum Schwärzen bestimmter Bereiche"
manualComingSoon = "Manuelle Schwärzung kommt bald"
-automaticDisabledTooltip = "Select files in the file manager to redact multiple files at once"
[redact.auto]
header = "Auto-Schwärzung"
@@ -3315,26 +3318,35 @@ text = "Nur vollständige Wörter abgleichen, keine Teilübereinstimmungen. 'Joh
title = "In PDF-Bild konvertieren"
text = "Konvertiert das PDF nach der Schwärzung in ein bildbasiertes PDF. Dies stellt sicher, dass Text hinter Schwärzungskästen vollständig entfernt und nicht wiederherstellbar ist."
-[redact.tooltip.manual.apply]
-bullet1 = "Mark as many areas as needed before applying"
-bullet2 = "All pending redactions are applied at once"
-bullet3 = "Redactions cannot be undone after applying"
-text = "After marking content, click 'Apply' to permanently redact all marked areas. The pending count shows how many redactions are ready to be applied."
-title = "Apply Redactions"
-
[redact.tooltip.manual.header]
title = "Manual Redaction Controls"
-[redact.tooltip.manual.markArea]
-text = "Draw rectangular areas on the PDF to mark regions for redaction. Useful for redacting images, signatures, or irregular shapes."
-title = "Mark Area Tool"
-
[redact.tooltip.manual.markText]
-text = "Select text directly on the PDF to mark it for redaction. Click and drag to highlight specific text that you want to redact."
title = "Mark Text Tool"
+text = "Select text directly on the PDF to mark it for redaction. Click and drag to highlight specific text that you want to redact."
+
+[redact.tooltip.manual.markArea]
+title = "Mark Area Tool"
+text = "Draw rectangular areas on the PDF to mark regions for redaction. Useful for redacting images, signatures, or irregular shapes."
+
+[redact.tooltip.manual.apply]
+title = "Apply Redactions"
+text = "After marking content, click 'Apply' to permanently redact all marked areas. The pending count shows how many redactions are ready to be applied."
+bullet1 = "Mark as many areas as needed before applying"
+bullet2 = "All pending redactions are applied at once"
+bullet3 = "Redactions cannot be undone after applying"
[redact.manual]
+title = "Redaction Tools"
+instructions = "Select text or draw areas on the PDF to mark content for redaction."
+markText = "Mark Text"
+markArea = "Mark Area"
+pendingLabel = "Pending:"
+applyWarning = "⚠️ Permanent application, cannot be undone and the data underneath will be deleted"
+apply = "Apply"
+noMarks = "No redaction marks. Use the tools above to mark content for redaction."
header = "Manuelle Schwärzung"
+controlsTitle = "Manual Redaction Controls"
textBasedRedaction = "Textbasierte Schwärzung"
pageBasedRedaction = "Seitenbasierte Schwärzung"
convertPDFToImageLabel = "PDF zu PDF-Bild konvertieren (Verwendet, um Text hinter dem Kasten zu entfernen)"
@@ -3354,15 +3366,6 @@ showLayers = "Ebenen anzeigen (Doppelklick, um alle Ebenen auf den Standardzusta
colourPicker = "Farbwähler"
findCurrentOutlineItem = "Aktuelles Gliederungselement finden"
applyChanges = "Änderungen anwenden"
-apply = "Apply"
-applyWarning = "⚠️ Permanent application, cannot be undone and the data underneath will be deleted"
-controlsTitle = "Manual Redaction Controls"
-instructions = "Select text or draw areas on the PDF to mark content for redaction."
-markArea = "Mark Area"
-markText = "Mark Text"
-noMarks = "No redaction marks. Use the tools above to mark content for redaction."
-pendingLabel = "Pending:"
-title = "Redaction Tools"
[redact.manual.pageRedactionNumbers]
title = "Seiten"
@@ -4131,6 +4134,7 @@ language = "Sprache"
toggleAnnotations = "Anmerkungen ein-/ausblenden"
search = "PDF durchsuchen"
panMode = "Verschiebemodus"
+applyRedactionsFirst = "Apply redactions first"
rotateLeft = "Nach links drehen"
rotateRight = "Nach rechts drehen"
toggleSidebar = "Seitenleiste umschalten"
@@ -4138,10 +4142,9 @@ toggleBookmarks = "Lesezeichen ein-/ausblenden"
print = "PDF drucken"
downloadAll = "Alle herunterladen"
saveAll = "Alle speichern"
-applyRedactionsFirst = "Apply redactions first"
draw = "Draw"
-exitRedaction = "Exit Redaction Mode"
redact = "Redact"
+exitRedaction = "Exit Redaction Mode"
save = "Save"
[textAlign]
@@ -4216,6 +4219,8 @@ redo = "Wiederholen"
applyChanges = "Änderungen anwenden"
saveChanges = "Save Changes"
+
+
[search]
title = "PDF durchsuchen"
placeholder = "Suchbegriff eingeben..."
@@ -4297,6 +4302,8 @@ fetchError = "Einstellungen konnten nicht geladen werden"
saveError = "Einstellungen konnten nicht gespeichert werden"
saved = "Einstellungen erfolgreich gespeichert"
saveSuccess = "Einstellungen erfolgreich gespeichert"
+success = "Settings saved successfully"
+error = "Failed to save settings"
save = "Änderungen speichern"
discard = "Verwerfen"
restartRequired = "Neustart erforderlich"
@@ -4304,8 +4311,6 @@ loginRequired = "Der Anmeldemodus muss aktiviert sein, um Admin-Einstellungen zu
restarting = "Server wird neu gestartet"
restartingMessage = "Der Server wird neu gestartet. Bitte einen Moment warten..."
restartError = "Server konnte nicht neu gestartet werden. Bitte manuell neu starten."
-error = "Failed to save settings"
-success = "Settings saved successfully"
[admin.settings.unsavedChanges]
title = "Ungespeicherte Änderungen"
@@ -4423,8 +4428,11 @@ label = "Unoconvert-Ausführbare Datei"
description = "Pfad zu LibreOffice unoconvert für Dokumentkonvertierungen (leer lassen für Standard: /opt/venv/bin/unoconvert)"
[admin.settings.general.frontendUrl]
-description = "Base URL for frontend (e.g., https://pdf.example.com). Used for email invite links and mobile QR code uploads. Leave empty to use backend URL."
label = "Frontend URL"
+description = "Base URL for frontend (e.g., https://pdf.example.com). Used for email invite links and mobile QR code uploads. Leave empty to use backend URL."
+
+[admin.settings.badge]
+clickToUpgrade = "Click to view plan details"
[admin.settings.security]
title = "Sicherheit"
@@ -4562,19 +4570,19 @@ connect = "Verbinden"
disconnect = "Trennen"
disconnected = "Anbieter erfolgreich getrennt"
disconnectError = "Anbieter konnte nicht getrennt werden"
-imageResolutionFull = "Full (Original Size)"
-imageResolutionReduced = "Reduced (Max 1200px)"
mobileScannerConvertToPdf = "Convert Images to PDF"
mobileScannerConvertToPdfDesc = "Automatically convert uploaded images to PDF format. If disabled, images will be kept as-is."
mobileScannerImageResolution = "Image Resolution"
mobileScannerImageResolutionDesc = "Resolution of uploaded images. \"Reduced\" scales images to max 1200px to reduce file size."
+imageResolutionFull = "Full (Original Size)"
+imageResolutionReduced = "Reduced (Max 1200px)"
mobileScannerPageFormat = "Page Format"
mobileScannerPageFormatDesc = "PDF page size for converted images. \"Keep\" uses original image dimensions."
+pageFormatKeep = "Keep (Original Dimensions)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
mobileScannerStretchToFit = "Stretch to Fit"
mobileScannerStretchToFitDesc = "Stretch images to fill the entire page. If disabled, images are centered with preserved aspect ratio."
-pageFormatA4 = "A4 (210×297mm)"
-pageFormatKeep = "Keep (Original Dimensions)"
-pageFormatLetter = "Letter (8.5×11in)"
[admin.settings.connections.ssoAutoLogin]
label = "SSO-Autoanmeldung"
@@ -4644,24 +4652,24 @@ label = "Registrierung blockieren"
description = "Neue Benutzerregistrierung über SAML2 verhindern"
[admin.settings.connections.mobileScanner]
-description = "Allow users to upload files from mobile devices by scanning a QR code"
-enable = "Enable QR Code Upload"
-imageResolutionFull = "Full (Original Size)"
-imageResolutionReduced = "Reduced (Max 1200px)"
label = "Mobile Phone Upload"
+enable = "Enable QR Code Upload"
+description = "Allow users to upload files from mobile devices by scanning a QR code"
+note = "Note: Requires Frontend URL to be configured. "
link = "Configure in System Settings"
mobileScannerConvertToPdf = "Convert Images to PDF"
mobileScannerConvertToPdfDesc = "Automatically convert uploaded images to PDF format. If disabled, images will be kept as-is."
mobileScannerImageResolution = "Image Resolution"
mobileScannerImageResolutionDesc = "Resolution of uploaded images. \"Reduced\" scales images to max 1200px to reduce file size."
+imageResolutionFull = "Full (Original Size)"
+imageResolutionReduced = "Reduced (Max 1200px)"
mobileScannerPageFormat = "Page Format"
mobileScannerPageFormatDesc = "PDF page size for converted images. \"Keep\" uses original image dimensions."
+pageFormatKeep = "Keep (Original Dimensions)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
mobileScannerStretchToFit = "Stretch to Fit"
mobileScannerStretchToFitDesc = "Stretch images to fill the entire page. If disabled, images are centered with preserved aspect ratio."
-note = "Note: Requires Frontend URL to be configured. "
-pageFormatA4 = "A4 (210×297mm)"
-pageFormatKeep = "Keep (Original Dimensions)"
-pageFormatLetter = "Letter (8.5×11in)"
[admin.settings.database]
title = "Datenbank"
@@ -4845,8 +4853,8 @@ label = "Frontend-URL"
description = "Basis-URL für das Frontend (z. B. https://pdf.example.com). Wird zum Erzeugen von Einladungslinks in E-Mails verwendet. Leer lassen, um Backend-URL zu verwenden."
[admin.settings.mail.frontendUrlNote]
-link = "Configure in System Settings"
note = "Note: Requires Frontend URL to be configured. "
+link = "Configure in System Settings"
[admin.settings.legal]
title = "Rechtliche Dokumente"
@@ -4963,8 +4971,6 @@ description = "Einzelne zu deaktivierende Endpunkte auswählen"
label = "Deaktivierte Endpunktgruppen"
description = "Zu deaktivierende Endpunktgruppen auswählen"
-[admin.settings.badge]
-clickToUpgrade = "Click to view plan details"
[admin.settings.telegram]
description = "Configure Telegram bot connectivity, access controls, and feedback behavior."
@@ -5131,6 +5137,9 @@ googleDriveShort = "Drive"
myFiles = "Meine Dateien"
noRecentFiles = "Keine kürzlichen Dateien gefunden"
googleDriveNotAvailable = "Google Drive-Integration nicht verfügbar"
+mobileUpload = "Mobile Upload"
+mobileShort = "Mobile"
+mobileUploadNotAvailable = "Mobile upload not enabled"
downloadSelected = "Ausgewählte herunterladen"
saveSelected = "Auswahl speichern"
openFiles = "Dateien öffnen"
@@ -5161,9 +5170,6 @@ showAll = "Alle anzeigen"
sortByDate = "Nach Datum sortieren"
sortByName = "Nach Name sortieren"
sortBySize = "Nach Größe sortieren"
-mobileShort = "Mobile"
-mobileUpload = "Mobile Upload"
-mobileUploadNotAvailable = "Mobile upload not enabled"
[storage]
temporaryNotice = "Dateien werden temporär in Ihrem Browser gespeichert und können automatisch gelöscht werden"
@@ -5514,12 +5520,12 @@ confirmCta = "Schlüssel aktualisieren"
[config.apiKeys.alert]
apiKeyErrorTitle = "API Key Error"
+failedToCreateApiKey = "Failed to create API key."
+failedToRetrieveApiKey = "Failed to retrieve API key from response."
+failedToFetchApiKey = "Failed to fetch API key."
apiKeyRefreshed = "API Key Refreshed"
apiKeyRefreshedBody = "Your API key has been successfully refreshed."
-failedToCreateApiKey = "Failed to create API key."
-failedToFetchApiKey = "Failed to fetch API key."
failedToRefreshApiKey = "Failed to refresh API key."
-failedToRetrieveApiKey = "Failed to retrieve API key from response."
[AddAttachmentsRequest]
attachments = "Anhänge auswählen"
@@ -5995,6 +6001,7 @@ successMessage = "Ihre Lizenz wurde erfolgreich aktiviert. Sie können dieses Fe
title = "E-Mail-Verifizierung erforderlich"
message = "Sie müssen Ihre E-Mail-Adresse im Stripe-Abrechnungsportal verifizieren. Prüfen Sie Ihre E-Mails auf einen Login-Link."
+
[plan.period]
month = "Monat"
perUserPerMonth = "/Benutzer/Monat"
@@ -6370,10 +6377,10 @@ description = "Geben Sie die vollständige URL Ihres selbst gehosteten Stirling
[setup.server.error]
emptyUrl = "Bitte eine Server-URL eingeben"
+invalidUrl = "Invalid URL format. Please enter a valid URL like https://your-server.com"
unreachable = "Verbindung zum Server konnte nicht hergestellt werden"
testFailed = "Verbindungstest fehlgeschlagen"
configFetch = "Serverkonfiguration konnte nicht abgerufen werden. Bitte überprüfen Sie die URL und versuchen Sie es erneut."
-invalidUrl = "Invalid URL format. Please enter a valid URL like https://your-server.com"
[setup.server.error.securityDisabled]
title = "Anmeldung nicht aktiviert"
@@ -6389,6 +6396,7 @@ connectingTo = "Verbinden mit:"
submit = "Anmelden"
signInWith = "Anmelden mit"
oauthPending = "Browser zur Authentifizierung wird geöffnet..."
+sso = "Single Sign-On"
orContinueWith = "Oder mit E-Mail fortfahren"
serverRequirement = "Hinweis: Auf dem Server muss die Anmeldung aktiviert sein."
showInstructions = "Wie aktivieren?"
@@ -6397,7 +6405,6 @@ instructions = "So aktivieren Sie die Anmeldung auf Ihrem Stirling PDF-Server:"
instructionsEnvVar = "Setzen Sie die Umgebungsvariable:"
instructionsOrYml = "Oder in der settings.yml:"
instructionsRestart = "Starten Sie anschließend Ihren Server neu, damit die Änderungen wirksam werden."
-sso = "Single Sign-On"
[setup.login.username]
label = "Benutzername"
@@ -6656,16 +6663,17 @@ uploading = "Uploading..."
validating = "Validating session..."
[mobileUpload]
-connected = "Mobile device connected"
+title = "Upload from Mobile"
description = "Scan to upload photos. Images auto-convert to PDF."
descriptionNoConvert = "Scan to upload photos from your mobile device."
error = "Connection Error"
+pollingError = "Error checking for files"
+sessionId = "Session ID"
+sessionCreateError = "Failed to create session"
expiryWarning = "Session Expiring Soon"
expiryWarningMessage = "This QR code will expire in {{seconds}} seconds. A new code will be generated automatically."
filesReceived = "{{count}} file(s) received"
+connected = "Mobile device connected"
instructions = "Scan with your phone camera. Images convert to PDF automatically."
instructionsNoConvert = "Scan with your phone camera to upload files."
-pollingError = "Error checking for files"
-sessionCreateError = "Failed to create session"
-sessionId = "Session ID"
-title = "Upload from Mobile"
+
diff --git a/frontend/public/locales/el-GR/translation.toml b/frontend/public/locales/el-GR/translation.toml
index 9a6050a84..b280cc4cd 100644
--- a/frontend/public/locales/el-GR/translation.toml
+++ b/frontend/public/locales/el-GR/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "Έχετε μη αποθηκευμένες αλλαγές στο PDF σας."
+pendingRedactionsTitle = "Μη εφαρμοσμένες αποκρύψεις"
+pendingRedactions = "Έχετε μη εφαρμοσμένες αποκρύψεις που θα χαθούν."
areYouSure = "Είστε βέβαιοι ότι θέλετε να αποχωρήσετε;"
unsavedChangesTitle = "Μη αποθηκευμένες αλλαγές"
keepWorking = "Συνέχεια εργασίας"
discardChanges = "Απόρριψη & Έξοδος"
+discardRedactions = "Απόρριψη & Έξοδος"
applyAndContinue = "Αποθήκευση & Έξοδος"
exportAndContinue = "Εξαγωγή & Συνέχεια"
cancel = "Άκυρο"
@@ -292,7 +295,7 @@ help = "Βοήθεια Pipeline"
scanHelp = "Βοήθεια σάρωσης φακέλων"
deletePrompt = "Είστε βέβαιοι ότι θέλετε να διαγράψετε το pipeline;"
tags = "αυτοματοποίηση,ακολουθία,προγραμματισμένο,επεξεργασία-παρτίδας"
-title = "Ροή"
+title = "Pipeline"
[pipelineOptions]
header = "Διαμόρφωση Pipeline"
@@ -301,7 +304,7 @@ saveSettings = "Αποθήκευση ρυθμίσεων λειτουργίας"
pipelineNamePrompt = "Εισάγετε όνομα pipeline εδώ"
selectOperation = "Επιλογή λειτουργίας"
addOperationButton = "Προσθήκη λειτουργίας"
-pipelineHeader = "Ροή:"
+pipelineHeader = "Pipeline:"
saveButton = "Λήψη"
validateButton = "Επικύρωση"
@@ -356,7 +359,7 @@ teams = "Ομάδες"
title = "Διαμόρφωση"
systemSettings = "Ρυθμίσεις συστήματος"
features = "Δυνατότητες"
-endpoints = "Σημεία τερματισμού"
+endpoints = "Endpoints"
database = "Βάση δεδομένων"
advanced = "Προχωρημένα"
@@ -364,6 +367,7 @@ advanced = "Προχωρημένα"
title = "Ασφάλεια & Αυθεντικοποίηση"
security = "Ασφάλεια"
connections = "Συνδέσεις"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Άδειες & Αναλύσεις"
@@ -378,7 +382,7 @@ privacy = "Απόρρητο"
[settings.developer]
title = "Προγραμματιστής"
-apiKeys = "Κλειδιά API"
+apiKeys = "API Keys"
[settings.tooltips]
enableLoginFirst = "Ενεργοποιήστε πρώτα τη λειτουργία σύνδεσης"
@@ -392,7 +396,7 @@ logout = "Αποσύνδεση"
[settings.connection.mode]
saas = "Stirling Cloud"
-selfhosted = "Αυτο-φιλοξενούμενο"
+selfhosted = "Self-Hosted"
[settings.general]
title = "Γενικά"
@@ -438,25 +442,34 @@ currentVersion = "Τρέχουσα έκδοση"
latestVersion = "Νεότερη έκδοση"
checkForUpdates = "Έλεγχος για ενημερώσεις"
viewDetails = "Προβολή λεπτομερειών"
+serverNeedsUpdate = "Ο διακομιστής πρέπει να ενημερωθεί από διαχειριστή"
+
+[settings.general.versionInfo]
+title = "Πληροφορίες έκδοσης"
+description = "Λεπτομέρειες έκδοσης για Desktop και διακομιστή"
+desktop = "Έκδοση Desktop"
+server = "Έκδοση διακομιστή"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Ασφάλεια"
+description = "Ενημερώστε τον κωδικό σας για να διατηρήσετε τον λογαριασμό σας ασφαλή."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Αλλάξτε τον κωδικό σας. Θα αποσυνδεθείτε μετά την ενημέρωση."
+required = "Όλα τα πεδία είναι υποχρεωτικά."
+mismatch = "Οι νέοι κωδικοί δεν ταιριάζουν."
+error = "Αδυναμία ενημέρωσης κωδικού. Επαληθεύστε τον τρέχοντα κωδικό και δοκιμάστε ξανά."
+success = "Ο κωδικός ενημερώθηκε με επιτυχία. Συνδεθείτε ξανά."
+ssoDisabled = "Οι αλλαγές κωδικού διαχειρίζονται από τον πάροχο ταυτότητάς σας."
+current = "Τρέχων κωδικός"
+currentPlaceholder = "Εισαγάγετε τον τρέχοντα κωδικό"
+new = "Νέος κωδικός"
+newPlaceholder = "Εισαγάγετε νέο κωδικό"
+confirm = "Επιβεβαίωση νέου κωδικού"
+confirmPlaceholder = "Εισαγάγετε ξανά τον νέο κωδικό"
+update = "Ενημέρωση κωδικού"
+
+
[settings.hotkeys]
title = "Συντομεύσεις πληκτρολογίου"
@@ -511,16 +524,16 @@ low = "Χαμηλή"
title = "Αλλαγή διαπιστευτηρίων"
header = "Ενημέρωση στοιχείων λογαριασμού"
changePassword = "Χρησιμοποιείτε προεπιλεγμένα διαπιστευτήρια σύνδεσης. Παρακαλώ εισάγετε νέο κωδικό"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Ο λογαριασμός σας διαχειρίζεται από τον πάροχο ταυτότητάς σας."
newUsername = "Νέο όνομα χρήστη"
oldPassword = "Τρέχων κωδικός"
newPassword = "Νέος κωδικός"
confirmNewPassword = "Επιβεβαίωση νέου κωδικού"
submit = "Υποβολή αλλαγών"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Ο λογαριασμός ενημερώθηκε"
+description = "Οι αλλαγές αποθηκεύτηκαν. Συνδεθείτε ξανά."
+error = "Αδυναμία ενημέρωσης ονόματος χρήστη. Επαληθεύστε τον κωδικό σας και δοκιμάστε ξανά."
+changeUsername = "Ενημερώστε το όνομα χρήστη σας. Θα αποσυνδεθείτε μετά την ενημέρωση."
[account]
title = "Ρυθμίσεις λογαριασμού"
@@ -528,6 +541,8 @@ accountSettings = "Ρυθμίσεις λογαριασμού"
adminSettings = "Ρυθμίσεις διαχειριστή - Προβολή και προσθήκη χρηστών"
userControlSettings = "Ρυθμίσεις ελέγχου χρηστών"
changeUsername = "Αλλαγή ονόματος χρήστη"
+changeUsernameDescription = "Ενημερώστε το όνομα χρήστη σας. Θα αποσυνδεθείτε μετά την ενημέρωση."
+newUsernamePlaceholder = "Εισαγάγετε το νέο όνομα χρήστη"
newUsername = "Νέο όνομα χρήστη"
password = "Κωδικός επιβεβαίωσης"
oldPassword = "Παλιός κωδικός"
@@ -737,9 +752,9 @@ title = "Υπογραφή"
desc = "Προσθήκη υπογραφής σε PDF με σχεδίαση, κείμενο ή εικόνα"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "σχολιασμός,επισήμανση,σχεδίαση"
+title = "Σχολιασμός"
+desc = "Επισημάνετε, σχεδιάστε, προσθέστε σημειώσεις και σχήματα στον προβολέα"
[home.flatten]
tags = "απλοποίηση,αφαίρεση,διαδραστικό"
@@ -952,7 +967,7 @@ title = "Επικάλυψη PDF"
[home.pdfTextEditor]
title = "Επεξεργαστής κειμένου PDF"
-desc = "Επεξεργαστείτε υπάρχον κείμενο και εικόνες μέσα σε αρχεία PDF"
+desc = "Επιθεωρήστε και επεξεργαστείτε εξαγωγές JSON του Stirling PDF με ομαδοποιημένη επεξεργασία κειμένου και αναδημιουργία PDF"
[home.addText]
tags = "κείμενο,σχολιασμός,ετικέτα"
@@ -963,6 +978,7 @@ desc = "Προσθέστε προσαρμοσμένο κείμενο οπουδ
addFiles = "Προσθήκη αρχείων"
uploadFromComputer = "Μεταφόρτωση από υπολογιστή"
openFromComputer = "Άνοιγμα από τον υπολογιστή"
+mobileUpload = "Μεταφόρτωση από κινητό"
[viewPdf]
tags = "προβολή,ανάγνωση,σχολιασμός,κείμενο,εικόνα"
@@ -1214,7 +1230,7 @@ selectFilesPlaceholder = "Επιλέξτε αρχεία στην κύρια πρ
settings = "Ρυθμίσεις"
conversionCompleted = "Η μετατροπή ολοκληρώθηκε"
results = "Αποτελέσματα"
-defaultFilename = "μετατραπμένο_αρχείο"
+defaultFilename = "converted_file"
conversionResults = "Αποτελέσματα μετατροπής"
convertFrom = "Μετατροπή από"
convertTo = "Μετατροπή σε"
@@ -1278,21 +1294,33 @@ cbzOptions = "Επιλογές CBZ σε PDF"
optimizeForEbook = "Βελτιστοποίηση PDF για συσκευές ανάγνωσης ebook (χρησιμοποιεί Ghostscript)"
cbzOutputOptions = "Επιλογές PDF σε CBZ"
cbzDpi = "DPI για απόδοση εικόνας"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "Επιλογές CBR"
+cbrOutputOptions = "Επιλογές PDF σε CBR"
+cbrDpi = "DPI για απόδοση εικόνων"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "Επιλογές eBook σε PDF"
+ebookOptionsDesc = "Επιλογές μετατροπής eBook σε PDF"
+embedAllFonts = "Ενσωμάτωση όλων των γραμματοσειρών"
+embedAllFontsDesc = "Ενσωματώστε όλες τις γραμματοσειρές του eBook στο παραγόμενο PDF"
+includeTableOfContents = "Συμπερίληψη πίνακα περιεχομένων"
+includeTableOfContentsDesc = "Προσθήκη δημιουργημένου πίνακα περιεχομένων στο τελικό PDF"
+includePageNumbers = "Συμπερίληψη αριθμών σελίδων"
+includePageNumbersDesc = "Προσθέστε αριθμούς σελίδων στο παραγόμενο PDF"
+optimizeForEbookPdf = "Βελτιστοποίηση για συσκευές ανάγνωσης eBook"
+optimizeForEbookPdfDesc = "Βελτιστοποιήστε το PDF για ανάγνωση eBook (μικρότερο μέγεθος, καλύτερη απόδοση σε συσκευές eInk)"
+
+[convert.epubOptions]
+epubOptions = "Επιλογές PDF σε eBook"
+epubOptionsDesc = "Επιλογές μετατροπής PDF σε EPUB/AZW3"
+detectChapters = "Εντοπισμός κεφαλαίων"
+detectChaptersDesc = "Εντοπίστε επικεφαλίδες που μοιάζουν με κεφάλαια και εισαγάγετε αλλαγές σελίδας EPUB"
+targetDevice = "Συσκευή προορισμού"
+targetDeviceDesc = "Επιλέξτε προφίλ εξόδου βελτιστοποιημένο για τη συσκευή ανάγνωσης"
+outputFormat = "Μορφή εξόδου"
+outputFormatDesc = "Επιλέξτε τη μορφή εξόδου για το eBook"
+tabletPhone = "Tablet/Τηλέφωνο (με εικόνες)"
+kindleEink = "Kindle e-Ink (βελτιστοποιημένο για κείμενο)"
[imageToPdf]
tags = "μετατροπή,εικόνα,jpg,φωτογραφία"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "Προσθήκη συνημμένου"
remove = "Αφαίρεση συνημμένου"
embed = "Ενσωμάτωση συνημμένου"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Μετατροπή σε PDF/A-3b"
+convertToPdfA3bDescription = "Δημιουργεί αρχειακό PDF με ενσωματωμένα συνημμένα"
+convertToPdfA3bTooltip = "Το PDF/A-3b είναι αρχειακή μορφή που εξασφαλίζει μακροχρόνια διατήρηση. Επιτρέπει την ενσωμάτωση οποιωνδήποτε μορφών αρχείων ως συνημμένα. Η μετατροπή απαιτεί το Ghostscript και μπορεί να διαρκέσει περισσότερο για μεγάλα αρχεία."
+convertToPdfA3bTooltipHeader = "Σχετικά με τη μετατροπή σε PDF/A-3b"
+convertToPdfA3bTooltipTitle = "Τι κάνει"
submit = "Add attachments"
[watermark]
@@ -1421,7 +1449,7 @@ title = "Προσθήκη υδατογραφήματος"
desc = "Προσθέστε υδατογραφήματα κειμένου ή εικόνας σε αρχεία PDF"
completed = "Το υδατογράφημα προστέθηκε"
submit = "Προσθήκη υδατογραφήματος"
-filenamePrefix = "υδατογραφημένο"
+filenamePrefix = "watermarked"
[watermark.error]
failed = "Παρουσιάστηκε σφάλμα κατά την προσθήκη υδατογραφήματος στο PDF."
@@ -2359,10 +2387,10 @@ saved = "Αποθηκευμένες"
label = "Μεταφορτώστε εικόνα υπογραφής"
placeholder = "Επιλέξτε αρχείο εικόνας"
hint = "Μεταφορτώστε εικόνα PNG ή JPG της υπογραφής σας"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Αφαίρεση λευκού φόντου (διαφάνεια)"
+processing = "Επεξεργασία εικόνας..."
+backgroundRemovalFailedTitle = "Αποτυχία αφαίρεσης φόντου"
+backgroundRemovalFailedMessage = "Αδυναμία αφαίρεσης φόντου από την εικόνα. Χρήση της αρχικής εικόνας."
[sign.instructions]
title = "Πώς να προσθέσετε υπογραφή"
@@ -2409,9 +2437,9 @@ label = "Ισοπέδωση μόνο φορμών"
desc = "Επιπέδωση μόνο πεδίων φόρμας, αφήνοντας τα υπόλοιπα διαδραστικά στοιχεία ανέπαφα"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "DPI απόδοσης (προαιρετικό, προτείνεται 150 DPI)"
+help = "Αφήστε κενό για χρήση της προεπιλογής συστήματος. Υψηλότερο DPI βελτιώνει την ευκρίνεια αλλά αυξάνει τον χρόνο επεξεργασίας και το μέγεθος αρχείου."
+placeholder = "π.χ. 150"
[flatten.results]
title = "Αποτελέσματα επιπέδωσης"
@@ -2779,7 +2807,7 @@ header = "Αφαίρεση της ψηφιακής υπογραφής από τ
selectPDF = "Επιλέξτε ένα αρχείο PDF:"
submit = "Αφαίρεση υπογραφής"
description = "Αυτό το εργαλείο θα αφαιρέσει τις υπογραφές ψηφιακού πιστοποιητικού από το PDF σας."
-filenamePrefix = "ανυπόγραφο"
+filenamePrefix = "unsigned"
[removeCertSign.files]
placeholder = "Επιλέξτε ένα αρχείο PDF στην κύρια προβολή για να ξεκινήσετε"
@@ -2987,7 +3015,7 @@ header = "Περικοπή PDF"
submit = "Υποβολή"
noFileSelected = "Επιλέξτε ένα αρχείο PDF για να ξεκινήσετε την περικοπή"
reset = "Επαναφορά σε πλήρες PDF"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Αυτόματη περικοπή κενού"
[crop.preview]
title = "Επιλογή περιοχής περικοπής"
@@ -3218,6 +3246,7 @@ title = "Μέθοδος απόκρυψης"
mode = "Λειτουργία"
automatic = "Αυτόματη"
automaticDesc = "Απόκρυψη κειμένου βάσει όρων αναζήτησης"
+automaticDisabledTooltip = "Επιλέξτε αρχεία στη διαχείριση αρχείων για απόκρυψη σε πολλά αρχεία ταυτόχρονα"
manual = "Χειροκίνητη"
manualDesc = "Κάντε κλικ και σύρετε για να αποκρύψετε συγκεκριμένες περιοχές"
manualComingSoon = "Η χειροκίνητη απόκρυψη σύντομα διαθέσιμη"
@@ -3288,8 +3317,35 @@ text = "Ταιριάζει μόνο πλήρεις λέξεις, όχι μερι
title = "Μετατροπή σε PDF-Image"
text = "Μετατρέπει το PDF σε PDF βασισμένο σε εικόνα μετά την απόκρυψη. Αυτό διασφαλίζει ότι το κείμενο πίσω από τα πλαίσια απόκρυψης αφαιρείται πλήρως και δεν είναι ανακτήσιμο."
+[redact.tooltip.manual.header]
+title = "Χειροκίνητα χειριστήρια απόκρυψης"
+
+[redact.tooltip.manual.markText]
+title = "Εργαλείο σήμανσης κειμένου"
+text = "Επιλέξτε κείμενο απευθείας στο PDF για να το σημάνετε προς απόκρυψη. Κάντε κλικ και σύρετε για να επισημάνετε συγκεκριμένο κείμενο που θέλετε να αποκρύψετε."
+
+[redact.tooltip.manual.markArea]
+title = "Εργαλείο σήμανσης περιοχής"
+text = "Σχεδιάστε ορθογώνιες περιοχές στο PDF για να σημάνετε τμήματα προς απόκρυψη. Χρήσιμο για απόκρυψη εικόνων, υπογραφών ή ακανόνιστων σχημάτων."
+
+[redact.tooltip.manual.apply]
+title = "Εφαρμογή αποκρύψεων"
+text = "Αφού σημάνετε περιεχόμενο, κάντε κλικ στην «Εφαρμογή» για μόνιμη απόκρυψη όλων των σημειωμένων περιοχών. Ο μετρητής σε αναμονή δείχνει πόσες αποκρύψεις είναι έτοιμες για εφαρμογή."
+bullet1 = "Σημάνετε όσες περιοχές χρειάζονται πριν την εφαρμογή"
+bullet2 = "Όλες οι εκκρεμείς αποκρύψεις εφαρμόζονται ταυτόχρονα"
+bullet3 = "Οι αποκρύψεις δεν μπορούν να αναιρεθούν μετά την εφαρμογή"
+
[redact.manual]
+title = "Εργαλεία απόκρυψης"
+instructions = "Επιλέξτε κείμενο ή σχεδιάστε περιοχές στο PDF για να σημάνετε περιεχόμενο προς απόκρυψη."
+markText = "Σήμανση κειμένου"
+markArea = "Σήμανση περιοχής"
+pendingLabel = "Σε αναμονή:"
+applyWarning = "⚠️ Μόνιμη εφαρμογή, δεν μπορεί να αναιρεθεί και τα υποκείμενα δεδομένα θα διαγραφούν"
+apply = "Εφαρμογή"
+noMarks = "Καμία σήμανση απόκρυψης. Χρησιμοποιήστε τα παραπάνω εργαλεία για να σημάνετε περιεχόμενο προς απόκρυψη."
header = "Χειροκίνητη απόκρυψη"
+controlsTitle = "Χειροκίνητα χειριστήρια απόκρυψης"
textBasedRedaction = "Απόκρυψη βάσει κειμένου"
pageBasedRedaction = "Απόκρυψη βάσει σελίδας"
convertPDFToImageLabel = "Μετατροπή PDF σε PDF-Image (Χρησιμοποιείται για την αφαίρεση κειμένου πίσω από το πλαίσιο)"
@@ -3406,17 +3462,17 @@ label = "Κάθετες διαιρέσεις"
placeholder = "Εισάγετε αριθμό κάθετων διαιρέσεων"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Λειτουργία διαχωρισμού"
+description = "Επιλέξτε πώς να διαχωρίσετε τις σελίδες"
+splitAll = "Διαχωρισμός όλων των σελίδων"
+splitAllExceptFirst = "Διαχωρισμός όλων εκτός της πρώτης"
+splitAllExceptLast = "Διαχωρισμός όλων εκτός της τελευταίας"
+splitAllExceptFirstAndLast = "Διαχωρισμός όλων εκτός της πρώτης και της τελευταίας"
+custom = "Προσαρμοσμένες σελίδες"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Προσαρμοσμένοι αριθμοί σελίδων"
+placeholder = "π.χ. 2,4,6"
[AddStampRequest]
tags = "σφραγίδα,προσθήκη εικόνας,κεντράρισμα εικόνας,υδατογράφημα,PDF,ενσωμάτωση,προσαρμογή"
@@ -3713,7 +3769,7 @@ title = "PDF σε μία σελίδα"
header = "PDF σε μία σελίδα"
submit = "Μετατροπή σε μία σελίδα"
description = "Αυτό το εργαλείο θα συγχωνεύσει όλες τις σελίδες του PDF σας σε μία μεγάλη ενιαία σελίδα. Το πλάτος θα παραμείνει ίδιο με των αρχικών σελίδων, αλλά το ύψος θα είναι το άθροισμα όλων των υψών."
-filenamePrefix = "μονοσέλιδο"
+filenamePrefix = "single_page"
[pdfToSinglePage.files]
placeholder = "Επιλέξτε ένα αρχείο PDF στην κύρια προβολή για να ξεκινήσετε"
@@ -3780,17 +3836,17 @@ filesize = "Μέγεθος αρχείου"
label = "Εφαρμογή κλίμακας του γκρι για συμπίεση"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Γραμμικοποίηση PDF για ταχεία προβολή στον ιστό"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Μετατροπή εικόνων σε γραμμικό σχέδιο"
+description = "Χρησιμοποιεί το ImageMagick για να μειώσει τις σελίδες σε ασπρόμαυρο υψηλής αντίθεσης για μέγιστη μείωση μεγέθους."
+unavailable = "Το ImageMagick δεν είναι εγκατεστημένο ή ενεργοποιημένο σε αυτόν τον διακομιστή"
+detailLevel = "Επίπεδο λεπτομέρειας"
+edgeEmphasis = "Έμφαση ακμών"
+edgeLow = "Ήπια"
+edgeMedium = "Ισορροπημένη"
+edgeHigh = "Ισχυρή"
[compress.tooltip.header]
title = "Επισκόπηση ρυθμίσεων συμπίεσης"
@@ -3810,8 +3866,8 @@ title = "Κλίμακα του γκρι"
text = "Επιλέξτε αυτήν την επιλογή για να μετατρέψετε όλες τις εικόνες σε ασπρόμαυρες, κάτι που μπορεί να μειώσει σημαντικά το μέγεθος αρχείου ειδικά για σαρωμένα PDF ή έγγραφα με πολλές εικόνες."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "Γραμμικό σχέδιο"
+text = "Μετατρέψτε σελίδες σε ασπρόμαυρο υψηλής αντίθεσης με χρήση του ImageMagick. Χρησιμοποιήστε το επίπεδο λεπτομέρειας για να ελέγξετε πόσο περιεχόμενο γίνεται μαύρο και την έμφαση ακμών για να ελέγξετε πόσο επιθετικά εντοπίζονται οι ακμές."
[compress.error]
failed = "Παρουσιάστηκε σφάλμα κατά τη συμπίεση του PDF."
@@ -3826,9 +3882,9 @@ _value = "Ρυθμίσεις συμπίεσης"
1 = "1-3 συμπίεση PDF, 4-6 ελαφριά συμπίεση εικόνας, 7-9 έντονη συμπίεση εικόνας Θα μειώσει δραστικά την ποιότητα εικόνας"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Χαμηλότερες τιμές διατηρούν την ποιότητα αλλά οδηγούν σε μεγαλύτερα αρχεία"
+range4to6 = "Μεσαία συμπίεση με μέτρια μείωση ποιότητας"
+range7to9 = "Υψηλότερες τιμές μειώνουν σημαντικά το μέγεθος αρχείου αλλά μπορεί να μειώσουν την ευκρίνεια εικόνας"
[decrypt]
passwordPrompt = "Αυτό το αρχείο προστατεύεται με κωδικό πρόσβασης. Παρακαλώ εισάγετε τον κωδικό:"
@@ -3973,7 +4029,7 @@ version = "Τρέχουσα έκδοση"
title = "Τεκμηρίωση API"
header = "Τεκμηρίωση API"
desc = "Προβάλετε και δοκιμάστε τα endpoints του Stirling PDF API"
-tags = "api,τεκμηρίωση,swagger,τελικά σημεία,ανάπτυξη"
+tags = "api,documentation,swagger,endpoints,development"
[cookieBanner.popUp]
title = "Πώς χρησιμοποιούμε τα cookies"
@@ -4069,7 +4125,7 @@ deleteSelected = "Διαγραφή επιλεγμένων σελίδων"
closePdf = "Κλείσιμο PDF"
exportAll = "Εξαγωγή PDF"
downloadSelected = "Λήψη επιλεγμένων αρχείων"
-annotations = "Annotations"
+annotations = "Σχολιασμοί"
exportSelected = "Εξαγωγή επιλεγμένων σελίδων"
saveChanges = "Αποθήκευση αλλαγών"
toggleTheme = "Εναλλαγή θέματος"
@@ -4077,84 +4133,90 @@ language = "Γλώσσα"
toggleAnnotations = "Εναλλαγή ορατότητας σχολιασμών"
search = "Αναζήτηση PDF"
panMode = "Λειτουργία μετακίνησης"
+applyRedactionsFirst = "Εφαρμόστε πρώτα τις αποκρύψεις"
rotateLeft = "Περιστροφή αριστερά"
rotateRight = "Περιστροφή δεξιά"
toggleSidebar = "Εναλλαγή πλευρικής γραμμής"
toggleBookmarks = "Εναλλαγή σελιδοδεικτών"
print = "Εκτύπωση PDF"
+draw = "Σχεδίαση"
+redact = "Απόκρυψη"
+exitRedaction = "Έξοδος από λειτουργία απόκρυψης"
+save = "Αποθήκευση"
downloadAll = "Λήψη όλων"
saveAll = "Αποθήκευση όλων"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Αριστερά"
+center = "Κέντρο"
+right = "Δεξιά"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "Σχολιασμός"
+desc = "Χρησιμοποιήστε επισήμανση, πένα, κείμενο και σημειώσεις. Οι αλλαγές παραμένουν ενεργές—δεν απαιτείται επίπεδωση."
+highlight = "Επισήμανση"
+pen = "Πένα"
+text = "Πλαίσιο κειμένου"
+note = "Σημείωση"
+rectangle = "Ορθογώνιο"
+ellipse = "Έλλειψη"
+select = "Επιλογή"
+exit = "Έξοδος από λειτουργία σχολιασμού"
+strokeWidth = "Πλάτος"
+opacity = "Αδιαφάνεια"
+strokeOpacity = "Αδιαφάνεια περιγράμματος"
+fillOpacity = "Αδιαφάνεια γεμίσματος"
+fontSize = "Μέγεθος γραμματοσειράς"
+chooseColor = "Επιλογή χρώματος"
+color = "Χρώμα"
+strokeColor = "Χρώμα περιγράμματος"
+fillColor = "Χρώμα γεμίσματος"
+underline = "Υπογράμμιση"
+strikeout = "Διακριτή διαγραφή"
+squiggly = "Κυματιστό"
+inkHighlighter = "Ελεύθερη επισήμανση"
+freehandHighlighter = "Ελεύθερη επισήμανση"
+square = "Τετράγωνο"
+circle = "Κύκλος"
+polygon = "Πολύγωνο"
+line = "Γραμμή"
+stamp = "Προσθήκη εικόνας"
+textMarkup = "Επισημάνσεις κειμένου"
+drawing = "Σχεδίαση"
+shapes = "Σχήματα"
+notesStamps = "Σημειώσεις & Σφραγίδες"
+settings = "Ρυθμίσεις"
+borderOn = "Περίγραμμα: Ενεργό"
+borderOff = "Περίγραμμα: Ανενεργό"
+editInk = "Επεξεργασία πένας"
+editLine = "Επεξεργασία γραμμής"
+editNote = "Επεξεργασία σημείωσης"
+editText = "Επεξεργασία πλαισίου κειμένου"
+editTextMarkup = "Επεξεργασία επισημάνσεων κειμένου"
+editSelected = "Επεξεργασία σχολιασμού"
+editSquare = "Επεξεργασία τετραγώνου"
+editCircle = "Επεξεργασία κύκλου"
+editPolygon = "Επεξεργασία πολυγώνου"
+unsupportedType = "Αυτός ο τύπος σχολιασμού δεν υποστηρίζεται πλήρως για επεξεργασία."
+textAlignment = "Στοίχιση κειμένου"
+noteIcon = "Εικονίδιο σημείωσης"
+imagePreview = "Προεπισκόπηση"
+contents = "Κείμενο"
+backgroundColor = "Χρώμα φόντου"
+clearBackground = "Αφαίρεση φόντου"
+noBackground = "Χωρίς φόντο"
+stampSettings = "Ρυθμίσεις σφραγίδας"
+savingCopy = "Προετοιμασία λήψης..."
+saveFailed = "Αδυναμία αποθήκευσης αντιγράφου"
+saveReady = "Έτοιμο για λήψη"
+selectAndMove = "Επιλογή και επεξεργασία"
+editSelectDescription = "Κάντε κλικ σε υπάρχον σχολιασμό για να επεξεργαστείτε το χρώμα, την αδιαφάνεια, το κείμενο ή το μέγεθός του."
+editStampHint = "Για να αλλάξετε την εικόνα, διαγράψτε αυτή τη σφραγίδα και προσθέστε μία νέα."
+editSwitchToSelect = "Μεταβείτε σε «Επιλογή & επεξεργασία» για να επεξεργαστείτε αυτόν τον σχολιασμό."
+undo = "Αναίρεση"
+redo = "Επανάληψη"
+applyChanges = "Εφαρμογή αλλαγών"
+saveChanges = "Αποθήκευση αλλαγών"
[search]
title = "Αναζήτηση στο PDF"
@@ -4205,20 +4267,20 @@ settings = "Ρυθμ."
adminSettings = "Ρυθμ. διαχ."
allTools = "All Tools"
reader = "Ανάγνωση"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Ξεναγήσεις"
+showMeAround = "Ξενάγηση"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Δείτε εδώ παρουσιάσεις: ξενάγηση εργαλείων, ξενάγηση νέας διάταξης V2 και ξενάγηση διαχειριστή."
+user = "Δείτε εδώ παρουσιάσεις: ξενάγηση εργαλείων και ξενάγηση νέας διάταξης V2."
[quickAccess.helpMenu]
toolsTour = "Ξενάγηση στα εργαλεία"
toolsTourDesc = "Μάθετε τι μπορούν να κάνουν τα εργαλεία"
adminTour = "Ξενάγηση διαχειριστή"
adminTourDesc = "Εξερευνήστε τις ρυθμίσεις και τις δυνατότητες διαχειριστή"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Δείτε τι νέο υπάρχει στο V2"
+whatsNewTourDesc = "Ξεναγηθείτε στη νέα διάταξη"
[admin]
error = "Σφάλμα"
@@ -4237,6 +4299,8 @@ fetchError = "Αποτυχία φόρτωσης ρυθμίσεων"
saveError = "Αποτυχία αποθήκευσης ρυθμίσεων"
saved = "Οι ρυθμίσεις αποθηκεύτηκαν με επιτυχία"
saveSuccess = "Οι ρυθμίσεις αποθηκεύτηκαν με επιτυχία"
+success = "Οι ρυθμίσεις αποθηκεύτηκαν με επιτυχία"
+error = "Αποτυχία αποθήκευσης ρυθμίσεων"
save = "Αποθήκευση αλλαγών"
discard = "Απόρριψη"
restartRequired = "Απαιτείται επανεκκίνηση"
@@ -4360,6 +4424,13 @@ description = "Διαδρομή προς το εκτελέσιμο WeasyPrint γ
label = "Εκτελέσιμο Unoconvert"
description = "Διαδρομή προς το LibreOffice unoconvert για μετατροπές εγγράφων (αφήστε κενό για προεπιλογή: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "Frontend URL"
+description = "Βασικό URL για το frontend (π.χ., https://pdf.example.com). Χρησιμοποιείται για συνδέσμους πρόσκλησης email και μεταφορές μέσω QR από κινητό. Αφήστε κενό για χρήση του backend URL."
+
+[admin.settings.badge]
+clickToUpgrade = "Κάντε κλικ για προβολή λεπτομερειών πλάνου"
+
[admin.settings.security]
title = "Ασφάλεια"
description = "Ρυθμίστε τον έλεγχο ταυτότητας, τη συμπεριφορά σύνδεσης και τις πολιτικές ασφάλειας."
@@ -4496,6 +4567,19 @@ connect = "Σύνδεση"
disconnect = "Αποσύνδεση"
disconnected = "Ο πάροχος αποσυνδέθηκε με επιτυχία"
disconnectError = "Αποτυχία αποσύνδεσης παρόχου"
+mobileScannerConvertToPdf = "Μετατροπή εικόνων σε PDF"
+mobileScannerConvertToPdfDesc = "Αυτόματη μετατροπή των μεταφορτωμένων εικόνων σε μορφή PDF. Αν απενεργοποιηθεί, οι εικόνες θα παραμείνουν ως έχουν."
+mobileScannerImageResolution = "Ανάλυση εικόνας"
+mobileScannerImageResolutionDesc = "Ανάλυση των μεταφορτωμένων εικόνων. Το «Μειωμένη» κλιμακώνει τις εικόνες έως 1200px για μείωση μεγέθους."
+imageResolutionFull = "Πλήρης (Αρχικό μέγεθος)"
+imageResolutionReduced = "Μειωμένη (Μέχρι 1200px)"
+mobileScannerPageFormat = "Μορφή σελίδας"
+mobileScannerPageFormatDesc = "Μέγεθος σελίδας PDF για τις μετατρεπόμενες εικόνες. Το «Διατήρηση» χρησιμοποιεί τις αρχικές διαστάσεις της εικόνας."
+pageFormatKeep = "Διατήρηση (Αρχικές διαστάσεις)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Προσαρμογή με τέντωμα"
+mobileScannerStretchToFitDesc = "Τεντώστε τις εικόνες ώστε να καλύπτουν όλη τη σελίδα. Αν απενεργοποιηθεί, οι εικόνες κεντράρονται με διατήρηση αναλογιών."
[admin.settings.connections.ssoAutoLogin]
label = "Αυτόματη σύνδεση SSO"
@@ -4518,11 +4602,11 @@ label = "URL εκδότη"
description = "Το URL εκδότη του παρόχου OAuth2"
[admin.settings.connections.oauth2.clientId]
-label = "Αναγνωριστικό πελάτη (Client ID)"
+label = "Client ID"
description = "Το Client ID OAuth2 από τον πάροχό σας"
[admin.settings.connections.oauth2.clientSecret]
-label = "Μυστικό πελάτη (Client Secret)"
+label = "Client Secret"
description = "Το Client Secret OAuth2 από τον πάροχό σας"
[admin.settings.connections.oauth2.useAsUsername]
@@ -4564,6 +4648,122 @@ description = "Αυτόματη δημιουργία λογαριασμών χρ
label = "Αποκλεισμός εγγραφής"
description = "Αποτροπή εγγραφής νέων χρηστών μέσω SAML2"
+[admin.settings.connections.mobileScanner]
+label = "Μεταφόρτωση από κινητό"
+enable = "Ενεργοποίηση μεταφόρτωσης μέσω QR code"
+description = "Επιτρέψτε στους χρήστες να μεταφορτώνουν αρχεία από κινητές συσκευές σαρώνοντας έναν κωδικό QR"
+note = "Σημείωση: Απαιτείται ρύθμιση του Frontend URL. "
+link = "Ρύθμιση στις Ρυθμίσεις Συστήματος"
+mobileScannerConvertToPdf = "Μετατροπή εικόνων σε PDF"
+mobileScannerConvertToPdfDesc = "Αυτόματη μετατροπή των μεταφορτωμένων εικόνων σε μορφή PDF. Αν απενεργοποιηθεί, οι εικόνες θα παραμείνουν ως έχουν."
+mobileScannerImageResolution = "Ανάλυση εικόνας"
+mobileScannerImageResolutionDesc = "Ανάλυση των μεταφορτωμένων εικόνων. Το «Μειωμένη» κλιμακώνει τις εικόνες έως 1200px για μείωση μεγέθους."
+imageResolutionFull = "Πλήρης (Αρχικό μέγεθος)"
+imageResolutionReduced = "Μειωμένη (Μέχρι 1200px)"
+mobileScannerPageFormat = "Μορφή σελίδας"
+mobileScannerPageFormatDesc = "Μέγεθος σελίδας PDF για τις μετατρεπόμενες εικόνες. Το «Διατήρηση» χρησιμοποιεί τις αρχικές διαστάσεις της εικόνας."
+pageFormatKeep = "Διατήρηση (Αρχικές διαστάσεις)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Προσαρμογή με τέντωμα"
+mobileScannerStretchToFitDesc = "Τεντώστε τις εικόνες ώστε να καλύπτουν όλη τη σελίδα. Αν απενεργοποιηθεί, οι εικόνες κεντράρονται με διατήρηση αναλογιών."
+
+[admin.settings.telegram]
+title = "Bot του Telegram"
+description = "Ρυθμίστε τη συνδεσιμότητα του bot Telegram, τους ελέγχους πρόσβασης και τα μηνύματα ανατροφοδότησης."
+
+[admin.settings.telegram.enabled]
+label = "Ενεργοποίηση bot Telegram"
+description = "Επιτρέψτε στους χρήστες να αλληλεπιδρούν με το Stirling PDF μέσω του ρυθμισμένου bot Telegram."
+
+[admin.settings.telegram.botUsername]
+label = "Όνομα χρήστη bot"
+description = "Το δημόσιο όνομα χρήστη του bot σας στο Telegram."
+
+[admin.settings.telegram.botToken]
+label = "Διακριτικό bot"
+description = "API token που παρέχεται από το BotFather για το bot σας στο Telegram."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Φάκελος εισερχομένων"
+description = "Φάκελος κάτω από τον κατάλογο pipeline όπου αποθηκεύονται τα εισερχόμενα αρχεία Telegram."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Χρήση προσαρμοσμένου επιθέματος φακέλου"
+description = "Προσθέστε το chat ID στους φακέλους εισερχόμενων για να απομονώνονται οι μεταφορτώσεις ανά συνομιλία."
+
+[admin.settings.telegram.accessControl]
+title = "Έλεγχος πρόσβασης"
+description = "Περιορίστε ποιοι χρήστες ή κανάλια μπορούν να αλληλεπιδρούν με το bot."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Να επιτρέπονται συγκεκριμένα User ID"
+description = "Όταν είναι ενεργό, μόνο τα αναφερόμενα User ID μπορούν να χρησιμοποιούν το bot."
+
+[admin.settings.telegram.allowUserIDs]
+label = "Επιτρεπόμενα User ID"
+description = "Εισαγάγετε Telegram user ID που επιτρέπεται να αλληλεπιδρούν με το bot."
+placeholder = "Προσθέστε user ID και πατήστε Enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Να επιτρέπονται συγκεκριμένα Channel ID"
+description = "Όταν είναι ενεργό, μόνο τα αναφερόμενα Channel ID μπορούν να χρησιμοποιούν το bot."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "Επιτρεπόμενα Channel ID"
+description = "Εισαγάγετε Telegram channel ID που επιτρέπεται να αλληλεπιδρούν με το bot."
+placeholder = "Προσθέστε channel ID και πατήστε Enter"
+
+[admin.settings.telegram.processing]
+title = "Επεξεργασία"
+description = "Ρυθμίστε τα διαστήματα polling και τα χρονικά όρια επεξεργασίας για μεταφορτώσεις από Telegram."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Χρονικό όριο επεξεργασίας (δευτ.)"
+description = "Μέγιστος χρόνος αναμονής επεξεργασίας πριν αναφερθεί σφάλμα."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Διάστημα polling (ms)"
+description = "Διάστημα μεταξύ ελέγχων για νέες ενημερώσεις του Telegram."
+
+[admin.settings.telegram.feedback]
+title = "Μηνύματα ανατροφοδότησης"
+description = "Επιλέξτε πότε το bot θα στέλνει ανατροφοδότηση σε χρήστες και κανάλια."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Ενεργοποίηση ανατροφοδότησης"
+description = "Ρυθμίστε αν το bot θα στέλνει καθόλου μηνύματα ανατροφοδότησης."
+
+[admin.settings.telegram.feedback.channel]
+title = "Κανόνες ανατροφοδότησης καναλιού"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Εμφάνιση \"No valid document\" (Κανάλι)"
+description = "Καταστολή της απάντησης no valid document για μεταφορτώσεις καναλιού."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Εμφάνιση σφαλμάτων επεξεργασίας (Κανάλι)"
+description = "Αποστολή μηνυμάτων σφαλμάτων επεξεργασίας στα κανάλια."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Εμφάνιση μηνυμάτων σφάλματος (Κανάλι)"
+description = "Εμφάνιση αναλυτικών μηνυμάτων σφάλματος για τα κανάλια."
+
+[admin.settings.telegram.feedback.user]
+title = "Κανόνες ανατροφοδότησης χρήστη"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Εμφάνιση \"No valid document\" (Χρήστης)"
+description = "Καταστολή της απάντησης no valid document για μεταφορτώσεις χρηστών."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Εμφάνιση σφαλμάτων επεξεργασίας (Χρήστης)"
+description = "Αποστολή μηνυμάτων σφαλμάτων επεξεργασίας στους χρήστες."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Εμφάνιση μηνυμάτων σφάλματος (Χρήστης)"
+description = "Εμφάνιση αναλυτικών μηνυμάτων σφάλματος για τους χρήστες."
+
[admin.settings.database]
title = "Βάση δεδομένων"
description = "Ρυθμίστε προσαρμοσμένες ρυθμίσεις σύνδεσης βάσης δεδομένων για επιχειρησιακές εγκαταστάσεις."
@@ -4742,9 +4942,13 @@ label = "Ενεργοποίηση προσκλήσεων μέσω email"
description = "Να επιτρέπεται στους διαχειριστές να προσκαλούν χρήστες μέσω email με αυτόματα παραγόμενους κωδικούς"
[admin.settings.mail.frontendUrl]
-label = "URL front-end"
+label = "Frontend URL"
description = "Βασικό URL για το frontend (π.χ. https://pdf.example.com). Χρησιμοποιείται για τη δημιουργία συνδέσμων πρόσκλησης στα email. Αφήστε κενό για χρήση του backend URL."
+[admin.settings.mail.frontendUrlNote]
+note = "Σημείωση: Απαιτείται ρύθμιση του Frontend URL. "
+link = "Ρύθμιση στις Ρυθμίσεις Συστήματος"
+
[admin.settings.legal]
title = "Νομικά έγγραφα"
description = "Ρυθμίστε συνδέσμους προς νομικά έγγραφα και πολιτικές."
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "Τα αρχεία μου"
noRecentFiles = "Δεν βρέθηκαν πρόσφατα αρχεία"
googleDriveNotAvailable = "Η ενσωμάτωση με το Google Drive δεν είναι διαθέσιμη"
+mobileUpload = "Μεταφόρτωση από κινητό"
+mobileShort = "Κινητό"
+mobileUploadNotAvailable = "Η μεταφόρτωση από κινητό δεν είναι ενεργή"
downloadSelected = "Λήψη επιλεγμένων"
saveSelected = "Αποθήκευση επιλεγμένων"
openFiles = "Άνοιγμα αρχείων"
@@ -5244,7 +5451,7 @@ loading = "Φόρτωση..."
back = "Πίσω"
continue = "Συνέχεια"
error = "Σφάλμα"
-save = "Save"
+save = "Αποθήκευση"
[config.overview]
title = "Ρυθμίσεις εφαρμογής"
@@ -5307,6 +5514,15 @@ impact = "Οποιαδήποτε εφαρμογή ή υπηρεσία χρησι
confirmPrompt = "Είστε βέβαιοι ότι θέλετε να συνεχίσετε;"
confirmCta = "Ανανέωση κλειδιών"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "Σφάλμα κλειδιού API"
+failedToCreateApiKey = "Αποτυχία δημιουργίας κλειδιού API."
+failedToRetrieveApiKey = "Αποτυχία ανάκτησης κλειδιού API από την απόκριση."
+failedToFetchApiKey = "Αποτυχία λήψης κλειδιού API."
+apiKeyRefreshed = "Το κλειδί API ανανεώθηκε"
+apiKeyRefreshedBody = "Το κλειδί API ανανεώθηκε με επιτυχία."
+failedToRefreshApiKey = "Αποτυχία ανανέωσης κλειδιού API."
+
[AddAttachmentsRequest]
attachments = "Επιλογή συνημμένων"
info = "Επιλέξτε αρχεία για επισύναψη στο PDF σας. Αυτά τα αρχεία θα ενσωματωθούν και θα είναι προσβάσιμα μέσω του πίνακα συνημμένων του PDF."
@@ -5412,14 +5628,14 @@ startTour = "Έναρξη περιήγησης"
startTourDescription = "Κάντε μια καθοδηγούμενη περιήγηση στα βασικά χαρακτηριστικά του Stirling PDF"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Ξεκινήστε από τη γραμμή Γρήγορης πρόσβασης για να μεταπηδάτε μεταξύ Reader, Automate, των αρχείων σας και όλων των ξεναγήσεων."
+leftPanel = "Το αριστερό πάνελ Εργαλεία περιλαμβάνει όλα όσα μπορείτε να κάνετε. Περιηγηθείτε στις κατηγορίες ή αναζητήστε για να βρείτε γρήγορα ένα εργαλείο."
+fileUpload = "Χρησιμοποιήστε το κουμπί Αρχεία για μεταφόρτωση ή επιλογή πρόσφατου PDF. Θα φορτώσουμε ένα δείγμα ώστε να δείτε τον χώρο εργασίας."
+rightRail = "Η Δεξιά γραμμή περιέχει γρήγορες ενέργειες για επιλογή αρχείων, αλλαγή θέματος ή γλώσσας και λήψη αποτελεσμάτων."
+topBar = "Η επάνω γραμμή σάς επιτρέπει να εναλλάσσεστε μεταξύ Viewer, Page Editor και Active Files."
+pageEditorView = "Μεταβείτε στο Page Editor για αναδιάταξη, περιστροφή ή διαγραφή σελίδων."
+activeFilesView = "Χρησιμοποιήστε το Active Files για να δείτε ό,τι έχετε ανοίξει και να επιλέξετε με τι θα εργαστείτε."
+wrapUp = "Αυτά είναι τα νέα στο V2. Ανοίξτε το μενού Ξεναγήσεις οποιαδήποτε στιγμή για να επαναλάβετε αυτήν, τη ξενάγηση Εργαλείων ή του Διαχειριστή."
[onboarding.welcomeModal]
title = "Καλώς ήρθατε στο Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "Ξεναγήστε με"
skipTheTour = "Παράλειψη ξενάγησης"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Επισκόπηση ξενάγησης"
+body = "Το Stirling PDF V2 περιλαμβάνει δεκάδες εργαλεία και ανανεωμένη διάταξη. Κάντε μια σύντομη ξενάγηση για να δείτε τι άλλαξε και πού θα βρείτε τις λειτουργίες που χρειάζεστε."
[onboarding.serverLicense]
skip = "Παράλειψη προς το παρόν"
@@ -5452,7 +5668,7 @@ upgrade = "Αναβάθμιση τώρα →"
freeTitle = "Άδεια διακομιστή"
overLimitTitle = "Απαιτείται άδεια διακομιστή"
overLimitBody = "Η αδειοδότηση μας επιτρέπει έως {{freeTierLimit}} χρήστες δωρεάν ανά διακομιστή. Έχετε {{overLimitUserCopy}} χρήστες Stirling. Για να συνεχίσετε χωρίς διακοπές, αναβαθμίστε στο πλάνο Stirling Server - απεριόριστες θέσεις, επεξεργασία κειμένου PDF και πλήρης έλεγχος διαχειριστή για $99/server/μήνα."
-freeBody = "Οι άδειες χρήσης Open-Core επιτρέπουν έως και {{freeTierLimit}} χρήστες δωρεάν ανά διακομιστή. Για απρόσκοπτη κλιμάκωση, προτείνουμε το πλάνο Stirling Server - απεριόριστες θέσεις και υποστήριξη SSO με $99/διακομιστή/μήνα."
+freeBody = "Η αδειοδότηση Open-Core μας επιτρέπει έως {{freeTierLimit}} χρήστες δωρεάν ανά διακομιστή. Για απρόσκοπτη κλιμάκωση και έγκαιρη πρόσβαση στο νέο εργαλείο επεξεργασίας κειμένου PDF, προτείνουμε το πλάνο Stirling Server - πλήρης επεξεργασία και απεριόριστες θέσεις για $99/server/μήνα."
[onboarding.desktopInstall]
title = "Λήψη"
@@ -5758,28 +5974,28 @@ contactSales = "Επικοινωνία με Πωλήσεις"
contactToUpgrade = "Επικοινωνήστε μαζί μας για αναβάθμιση ή προσαρμογή του πλάνου σας"
maxUsers = "Μέγιστοι χρήστες"
upTo = "Έως"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Αποκτήστε άδεια διακομιστή"
+upgradeToEnterprise = "Αναβάθμιση σε Enterprise"
+selectPeriod = "Επιλέξτε περίοδο χρέωσης"
+monthlyBilling = "Μηνιαία χρέωση"
+yearlyBilling = "Ετήσια χρέωση"
+checkoutOpened = "Άνοιξε το Checkout"
+checkoutInstructions = "Ολοκληρώστε την αγορά σας στην καρτέλα του Stripe. Μετά την πληρωμή, επιστρέψτε εδώ και ανανεώστε τη σελίδα για να ενεργοποιήσετε την άδειά σας. Θα λάβετε επίσης email με το κλειδί άδειας."
+activateLicense = "Ενεργοποιήστε την άδειά σας"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Το Checkout άνοιξε σε νέα καρτέλα"
+instructions = "Ολοκληρώστε την αγορά σας στην καρτέλα του Stripe. Μόλις ολοκληρωθεί η πληρωμή, θα λάβετε email με το κλειδί άδειας."
+enterKey = "Εισαγάγετε παρακάτω το κλειδί άδειας για να ενεργοποιήσετε το πλάνο σας:"
+keyDescription = "Επικολλήστε το κλειδί άδειας από το email σας"
+activate = "Ενεργοποίηση άδειας"
+doLater = "Θα το κάνω αργότερα"
+success = "Η άδεια ενεργοποιήθηκε!"
+successMessage = "Η άδειά σας ενεργοποιήθηκε με επιτυχία. Μπορείτε τώρα να κλείσετε αυτό το παράθυρο."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "Απαιτείται επαλήθευση email"
+message = "Θα χρειαστεί να επαληθεύσετε τη διεύθυνση email σας στο portal χρέωσης του Stripe. Ελέγξτε το email σας για σύνδεσμο σύνδεσης."
[plan.period]
month = "μήνα"
@@ -5983,8 +6199,8 @@ notAvailable = "Το σύστημα ελέγχου δεν είναι διαθέ
notAvailableMessage = "Το σύστημα ελέγχου δεν έχει ρυθμιστεί ή δεν είναι διαθέσιμο."
disabled = "Η καταγραφή ελέγχου είναι απενεργοποιημένη"
disabledMessage = "Ενεργοποιήστε την καταγραφή ελέγχου στις ρυθμίσεις της εφαρμογής για παρακολούθηση συμβάντων συστήματος."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Απαιτείται άδεια Enterprise"
+enterpriseRequiredMessage = "Το σύστημα καταγραφής ελέγχου είναι λειτουργία enterprise. Αναβαθμίστε σε άδεια Enterprise για πρόσβαση σε αρχεία καταγραφής ελέγχου και αναλυτικά στοιχεία."
[audit.error]
title = "Σφάλμα φόρτωσης συστήματος ελέγχου"
@@ -6078,7 +6294,7 @@ title = "Διάγραμμα χρήσης Endpoints"
[usage.table]
title = "Αναλυτικά στατιστικά"
-endpoint = "Σημείο τερματισμού"
+endpoint = "Endpoint"
visits = "Επισκέψεις"
percentage = "Ποσοστό"
noData = "Δεν υπάρχουν διαθέσιμα δεδομένα"
@@ -6156,6 +6372,7 @@ description = "Εισαγάγετε το πλήρες URL του self-hosted δ
[setup.server.error]
emptyUrl = "Εισαγάγετε URL διακομιστή"
+invalidUrl = "Μη έγκυρη μορφή URL. Εισαγάγετε έγκυρο URL όπως https://your-server.com"
unreachable = "Αδυναμία σύνδεσης με τον διακομιστή"
testFailed = "Αποτυχία ελέγχου σύνδεσης"
configFetch = "Αποτυχία ανάκτησης της διαμόρφωσης του διακομιστή. Ελέγξτε το URL και δοκιμάστε ξανά."
@@ -6174,6 +6391,7 @@ connectingTo = "Σύνδεση με:"
submit = "Σύνδεση"
signInWith = "Σύνδεση με"
oauthPending = "Άνοιγμα προγράμματος περιήγησης για έλεγχο ταυτότητας..."
+sso = "Ενιαία σύνδεση"
orContinueWith = "Ή συνεχίστε με email"
serverRequirement = "Σημείωση: Ο διακομιστής πρέπει να έχει ενεργοποιημένη τη σύνδεση."
showInstructions = "Πώς ενεργοποιείται;"
@@ -6239,8 +6457,8 @@ reset = "Επαναφορά αλλαγών"
downloadJson = "Λήψη JSON"
generatePdf = "Δημιουργία PDF"
saveChanges = "Αποθήκευση αλλαγών"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Εφαρμογή αλλαγών"
+downloadCopy = "Λήψη αντιγράφου"
[pdfTextEditor.options.autoScaleText]
title = "Αυτόματη προσαρμογή κειμένου στα πλαίσια"
@@ -6260,22 +6478,22 @@ title = "Κλείδωμα επεξεργασμένου κειμένου σε έ
description = "Όταν είναι ενεργό, ο επεξεργαστής εξάγει κάθε επεξεργασμένο πλαίσιο κειμένου ως ένα στοιχείο κειμένου PDF για να αποφύγει επικαλυπτόμενους γλύφους ή ανάμεικτες γραμματοσειρές."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Σύνθετες ρυθμίσεις"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Περιορισμοί προεπισκόπησης"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Εστίαση σε κείμενο και εικόνα"
+text = "Ο χώρος εργασίας εστιάζει στην επεξεργασία κειμένου και την ανατοποθέτηση ενσωματωμένων εικόνων. Πολύπλοκα γραφικά σελίδας, στοιχεία φορμών και πολυεπίπεδα γραφικά διατηρούνται για εξαγωγή αλλά δεν είναι πλήρως επεξεργάσιμα εδώ."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Διαφορές προεπισκόπησης"
+text = "Ορισμένα οπτικά (όπως περιγράμματα πινάκων, σχήματα ή εμφανίσεις σχολιασμών) μπορεί να μην εμφανίζονται ακριβώς στην προεπισκόπηση. Το εξαγόμενο PDF διατηρεί τις αρχικές εντολές σχεδίασης όπου είναι δυνατόν."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Προβολέας Alpha"
+text = "Αυτός ο προβολέας alpha βρίσκεται υπό εξέλιξη—ορισμένες γραμματοσειρές, χρώματα, εφέ διαφάνειας και λεπτομέρειες διάταξης μπορεί να διαφοροποιηθούν ελαφρώς. Ελέγξτε προσεκτικά το παραγόμενο PDF πριν το κοινοποιήσετε."
[pdfTextEditor.manual]
mergeTooltip = "Συγχώνευση επιλεγμένων πλαισίων"
@@ -6398,3 +6616,58 @@ title = "Αποτελέσματα προσθήκης κειμένου"
[addText.error]
failed = "Παρουσιάστηκε σφάλμα κατά την προσθήκη κειμένου στο PDF."
+
+[mobileUpload]
+title = "Μεταφόρτωση από κινητό"
+description = "Σαρώστε για μεταφόρτωση φωτογραφιών. Οι εικόνες μετατρέπονται αυτόματα σε PDF."
+descriptionNoConvert = "Σαρώστε για μεταφόρτωση φωτογραφιών από την κινητή συσκευή σας."
+error = "Σφάλμα σύνδεσης"
+pollingError = "Σφάλμα κατά τον έλεγχο για αρχεία"
+sessionId = "Session ID"
+sessionCreateError = "Αποτυχία δημιουργίας συνεδρίας"
+expiryWarning = "Η συνεδρία λήγει σύντομα"
+expiryWarningMessage = "Αυτός ο κωδικός QR θα λήξει σε {{seconds}} δευτερόλεπτα. Ένας νέος κωδικός θα δημιουργηθεί αυτόματα."
+filesReceived = "Παραλήφθηκαν {{count}} αρχείο(α)"
+connected = "Συνδέθηκε κινητή συσκευή"
+instructions = "Σαρώστε με την κάμερα του τηλεφώνου σας. Οι εικόνες μετατρέπονται αυτόματα σε PDF."
+instructionsNoConvert = "Σαρώστε με την κάμερα του τηλεφώνου σας για να μεταφορτώσετε αρχεία."
+
+[mobileScanner]
+title = "Σαρωτής κινητού"
+noSession = "Μη έγκυρη συνεδρία"
+noSessionMessage = "Σαρώστε έγκυρο κωδικό QR για πρόσβαση σε αυτή τη σελίδα."
+validating = "Γίνεται επικύρωση συνεδρίας..."
+sessionInvalid = "Σφάλμα συνεδρίας"
+sessionExpired = "Αυτή η συνεδρία έχει λήξει. Ανανεώστε και δοκιμάστε ξανά."
+sessionNotFound = "Η συνεδρία δεν βρέθηκε. Ανανεώστε και δοκιμάστε ξανά."
+sessionValidationError = "Αδυναμία επαλήθευσης συνεδρίας. Δοκιμάστε ξανά."
+uploadSuccess = "Η μεταφόρτωση ολοκληρώθηκε!"
+uploadSuccessMessage = "Οι εικόνες σας μεταφέρθηκαν."
+httpsRequired = "Η πρόσβαση στην κάμερα απαιτεί HTTPS ή localhost. Παρακαλούμε χρησιμοποιήστε HTTPS ή αποκτήστε πρόσβαση μέσω localhost."
+uploadFailed = "Η μεταφόρτωση απέτυχε. Δοκιμάστε ξανά."
+uploading = "Γίνεται μεταφόρτωση..."
+connected = "Συνδεδεμένο"
+connecting = "Γίνεται σύνδεση..."
+chooseMethod = "Επιλέξτε μέθοδο μεταφόρτωσης"
+chooseMethodDescription = "Επιλέξτε πώς θέλετε να σαρώσετε και να μεταφορτώσετε έγγραφα"
+camera = "Κάμερα"
+cameraDescription = "Σαρώστε έγγραφα με την κάμερα της συσκευής σας με αυτόματο εντοπισμό ακμών"
+fileUpload = "Μεταφόρτωση αρχείων"
+fileDescription = "Μεταφορτώστε υπάρχουσες φωτογραφίες ή έγγραφα από τη συσκευή σας"
+cameraAccessDenied = "Δεν επιτρέπεται πρόσβαση στην κάμερα. Ενεργοποιήστε την πρόσβαση."
+back = "Πίσω"
+settings = "Ρυθμίσεις"
+edgeDetection = "Εντοπισμός ακμών"
+flashlight = "Φακός"
+flash = "Φλας"
+processing = "Γίνεται επεξεργασία..."
+capture = "Λήψη φωτογραφίας"
+selectFilesPrompt = "Επιλέξτε αρχεία για μεταφόρτωση"
+selectImage = "Επιλογή εικόνας"
+preview = "Προεπισκόπηση"
+retake = "Επανάληψη λήψης"
+addToBatch = "Προσθήκη στη δέσμη"
+upload = "Μεταφόρτωση"
+batchImages = "Δέσμη"
+clearBatch = "Καθαρισμός"
+uploadAll = "Μεταφόρτωση όλων"
diff --git a/frontend/public/locales/es-ES/translation.toml b/frontend/public/locales/es-ES/translation.toml
index 13f790009..f76517add 100644
--- a/frontend/public/locales/es-ES/translation.toml
+++ b/frontend/public/locales/es-ES/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "Tiene cambios sin guardar en su PDF. ¿Qué le gustaría hacer?"
+pendingRedactionsTitle = "Censuras sin aplicar"
+pendingRedactions = "Tienes censuras sin aplicar que se perderán."
areYouSure = "¿Seguro que quieres salir?"
unsavedChangesTitle = "Cambios sin Guardar"
keepWorking = "Seguir trabajando"
discardChanges = "Descartar cambios"
+discardRedactions = "Descartar y salir"
applyAndContinue = "Aplicar y continuar"
exportAndContinue = "Exportar y continuar"
cancel = "Cancelar"
@@ -356,7 +359,7 @@ teams = "Equipos"
title = "Configuración"
systemSettings = "Ajustes del sistema"
features = "Funciones"
-endpoints = "Puntos de conexión"
+endpoints = "Endpoints"
database = "Base de datos"
advanced = "Avanzado"
@@ -364,6 +367,7 @@ advanced = "Avanzado"
title = "Seguridad y autenticación"
security = "Seguridad"
connections = "Conexiones"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Licencias y analítica"
@@ -438,25 +442,34 @@ currentVersion = "Versión actual"
latestVersion = "Última versión"
checkForUpdates = "Buscar actualizaciones"
viewDetails = "Ver detalles"
+serverNeedsUpdate = "El servidor debe ser actualizado por el administrador"
+
+[settings.general.versionInfo]
+title = "Información de la versión"
+description = "Detalles de la versión de escritorio y del servidor"
+desktop = "Versión de escritorio"
+server = "Versión del servidor"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Seguridad"
+description = "Actualiza tu contraseña para mantener tu cuenta segura."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Cambia tu contraseña. Se cerrará tu sesión tras actualizar."
+required = "Todos los campos son obligatorios."
+mismatch = "Las contraseñas nuevas no coinciden."
+error = "No se puede actualizar la contraseña. Verifica tu contraseña actual e inténtalo de nuevo."
+success = "Contraseña actualizada correctamente. Vuelve a iniciar sesión."
+ssoDisabled = "Los cambios de contraseña los gestiona tu proveedor de identidad."
+current = "Contraseña actual"
+currentPlaceholder = "Introduce tu contraseña actual"
+new = "Nueva contraseña"
+newPlaceholder = "Introduce una nueva contraseña"
+confirm = "Confirmar nueva contraseña"
+confirmPlaceholder = "Vuelve a introducir tu nueva contraseña"
+update = "Actualizar contraseña"
+
+
[settings.hotkeys]
title = "Atajos de teclado"
@@ -511,16 +524,16 @@ low = "Baja"
title = "Cambiar Credenciales"
header = "Actualice los detalles de su cuenta"
changePassword = "Está usando las credenciales de inicio de sesión por defecto. Por favor, introduzca una contraseña nueva"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Tu cuenta está gestionada por tu proveedor de identidad."
newUsername = "Nuevo usuario"
oldPassword = "Contraseña actual"
newPassword = "Nueva contraseña"
confirmNewPassword = "Confirme la nueva contraseña"
submit = "Enviar cambios"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Cuenta actualizada"
+description = "Cambios guardados. Vuelve a iniciar sesión."
+error = "No se pudo actualizar el nombre de usuario. Verifica tu contraseña e inténtalo de nuevo."
+changeUsername = "Actualiza tu nombre de usuario. Se cerrará tu sesión tras actualizar."
[account]
title = "Configuración de la cuenta"
@@ -528,6 +541,8 @@ accountSettings = "Configuración de la cuenta"
adminSettings = "Configuración de Administrador - Ver y Añadir Usuarios"
userControlSettings = "Configuración de control de usuario"
changeUsername = "Cambiar nombre de usuario"
+changeUsernameDescription = "Actualiza tu nombre de usuario. Se cerrará tu sesión tras actualizar."
+newUsernamePlaceholder = "Introduce tu nuevo nombre de usuario"
newUsername = "nuevo nombre de usuario"
password = "Confirmar contraseña"
oldPassword = "Contraseña anterior"
@@ -737,9 +752,9 @@ title = "Firmar"
desc = "Añadir firma a PDF mediante dibujo, texto o imagen"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "anotar,resaltar,dibujar"
+title = "Anotar"
+desc = "Resalta, dibuja y añade notas y formas en el visor"
[home.flatten]
tags = "simplificar,eliminar,interactivo"
@@ -951,8 +966,8 @@ desc = "Superponer PDFs encima de otro PDF"
title = "Superponer PDFs"
[home.pdfTextEditor]
-title = "Editor de texto de PDF"
-desc = "Edita texto e imágenes existentes dentro de archivos PDF"
+title = "Editor de texto PDF"
+desc = "Revise y edite exportaciones JSON de Stirling PDF con edición de texto agrupada y regeneración de PDF"
[home.addText]
tags = "texto,anotación,etiqueta"
@@ -963,6 +978,7 @@ desc = "Añada texto personalizado en cualquier parte del PDF"
addFiles = "Agregar Archivos"
uploadFromComputer = "Cargar desde el ordenador"
openFromComputer = "Abrir desde el ordenador"
+mobileUpload = "Subir desde el móvil"
[viewPdf]
tags = "ver,leer,anotar,texto,imagen"
@@ -1278,21 +1294,33 @@ cbzOptions = "Opciones de CBZ a PDF"
optimizeForEbook = "Optimizar PDF para lectores de libros electrónicos (usa Ghostscript)"
cbzOutputOptions = "Opciones de PDF a CBZ"
cbzDpi = "DPI para renderizado de imágenes"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "Opciones de CBR"
+cbrOutputOptions = "Opciones de PDF a CBR"
+cbrDpi = "DPI para el renderizado de imágenes"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "Opciones de eBook a PDF"
+ebookOptionsDesc = "Opciones para convertir eBooks a PDF"
+embedAllFonts = "Incrustar todas las fuentes"
+embedAllFontsDesc = "Incrustar todas las fuentes del eBook en el PDF generado"
+includeTableOfContents = "Incluir tabla de contenidos"
+includeTableOfContentsDesc = "Añadir una tabla de contenidos generada al PDF resultante"
+includePageNumbers = "Incluir números de página"
+includePageNumbersDesc = "Añadir números de página al PDF generado"
+optimizeForEbookPdf = "Optimizar para lectores de eBook"
+optimizeForEbookPdfDesc = "Optimizar el PDF para lectura en eBook (tamaño de archivo menor, mejor renderizado en dispositivos eInk)"
+
+[convert.epubOptions]
+epubOptions = "Opciones de PDF a eBook"
+epubOptionsDesc = "Opciones para convertir PDF a EPUB/AZW3"
+detectChapters = "Detectar capítulos"
+detectChaptersDesc = "Detectar encabezados que parezcan capítulos e insertar saltos de página EPUB"
+targetDevice = "Dispositivo de destino"
+targetDeviceDesc = "Elige un perfil de salida optimizado para el dispositivo lector"
+outputFormat = "Formato de salida"
+outputFormatDesc = "Elige el formato de salida para el eBook"
+tabletPhone = "Tableta/Teléfono (con imágenes)"
+kindleEink = "Kindle e-Ink (texto optimizado)"
[imageToPdf]
tags = "conversión,img,jpg,imagen,fotografía"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "Añadir archivo adjunto"
remove = "Eliminar archivo adjunto"
embed = "Incrustar archivo adjunto"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Convertir a PDF/A-3b"
+convertToPdfA3bDescription = "Crea un PDF para archivo con adjuntos incrustados"
+convertToPdfA3bTooltip = "PDF/A-3b es un formato para archivo que garantiza la preservación a largo plazo. Permite incrustar formatos de archivo arbitrarios como adjuntos. La conversión requiere Ghostscript y puede tardar más en archivos grandes."
+convertToPdfA3bTooltipHeader = "Acerca de la conversión a PDF/A-3b"
+convertToPdfA3bTooltipTitle = "Qué hace"
submit = "Add attachments"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "Guardadas"
label = "Cargar imagen de firma"
placeholder = "Seleccionar archivo de imagen"
hint = "Cargue una imagen PNG o JPG de su firma"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Eliminar fondo blanco (hacer transparente)"
+processing = "Procesando imagen..."
+backgroundRemovalFailedTitle = "Error al eliminar el fondo"
+backgroundRemovalFailedMessage = "No se pudo eliminar el fondo de la imagen. Se usará la imagen original."
[sign.instructions]
title = "Cómo añadir firma"
@@ -2409,9 +2437,9 @@ label = "Aplanar solo formularios"
desc = "Solo aplanar campos de formulario, dejando intactos otros elementos interactivos"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "DPI de renderizado (opcional, recomendado 150 DPI)"
+help = "Deja en blanco para usar el valor predeterminado del sistema. Un DPI más alto afila la salida pero aumenta el tiempo de procesamiento y el tamaño del archivo."
+placeholder = "p. ej. 150"
[flatten.results]
title = "Resultados de Aplanado"
@@ -2987,7 +3015,7 @@ header = "Recortar PDF"
submit = "Entregar"
noFileSelected = "Seleccione un archivo PDF para comenzar a recortar"
reset = "Restablecer a PDF completo"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Recortar automáticamente espacios en blanco"
[crop.preview]
title = "Selección de Área de Recorte"
@@ -3218,6 +3246,7 @@ title = "Método de Censura"
mode = "Modo"
automatic = "Automático"
automaticDesc = "Censurar texto basándose en términos de búsqueda"
+automaticDisabledTooltip = "Selecciona archivos en el gestor de archivos para censurar varios archivos a la vez"
manual = "Manual"
manualDesc = "Haga clic y arrastre para censurar áreas específicas"
manualComingSoon = "Censura manual próximamente"
@@ -3288,8 +3317,35 @@ text = "Solo coincide palabras completas, no coincidencias parciales. 'Juan' no
title = "Convertir a PDF-Imagen"
text = "Convierte el PDF a un PDF basado en imagen después de la censura. Esto asegura que el texto detrás de las cajas de censura se elimine completamente y sea irrecuperable."
+[redact.tooltip.manual.header]
+title = "Controles de censura manual"
+
+[redact.tooltip.manual.markText]
+title = "Herramienta Marcar texto"
+text = "Selecciona texto directamente en el PDF para marcarlo para censura. Haz clic y arrastra para resaltar el texto específico que quieres censurar."
+
+[redact.tooltip.manual.markArea]
+title = "Herramienta Marcar área"
+text = "Dibuja áreas rectangulares en el PDF para marcar regiones para censura. Útil para censurar imágenes, firmas o formas irregulares."
+
+[redact.tooltip.manual.apply]
+title = "Aplicar censuras"
+text = "Tras marcar contenido, haz clic en 'Aplicar' para censurar permanentemente todas las áreas marcadas. El contador de pendientes muestra cuántas censuras están listas para aplicar."
+bullet1 = "Marca tantas áreas como necesites antes de aplicar"
+bullet2 = "Todas las censuras pendientes se aplican a la vez"
+bullet3 = "Las censuras no se pueden deshacer tras aplicarlas"
+
[redact.manual]
+title = "Herramientas de censura"
+instructions = "Selecciona texto o dibuja áreas en el PDF para marcar contenido para censura."
+markText = "Marcar texto"
+markArea = "Marcar área"
+pendingLabel = "Pendientes:"
+applyWarning = "⚠️ Aplicación permanente, no se puede deshacer y los datos subyacentes se eliminarán"
+apply = "Aplicar"
+noMarks = "No hay marcas de censura. Usa las herramientas de arriba para marcar contenido para censura."
header = "Censura Manual"
+controlsTitle = "Controles de censura manual"
textBasedRedaction = "Censura Basada en Texto"
pageBasedRedaction = "Censura Basada en Páginas"
convertPDFToImageLabel = "Convertir PDF a PDF-Imagen (Usado para eliminar texto detrás de la caja)"
@@ -3406,17 +3462,17 @@ label = "Divisiones Verticales"
placeholder = "Introduzca el número de divisiones verticales"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Modo de división"
+description = "Elige cómo dividir las páginas"
+splitAll = "Dividir todas las páginas"
+splitAllExceptFirst = "Dividir todas excepto la primera"
+splitAllExceptLast = "Dividir todas excepto la última"
+splitAllExceptFirstAndLast = "Dividir todas excepto la primera y la última"
+custom = "Páginas personalizadas"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Números de página personalizados"
+placeholder = "p. ej. 2,4,6"
[AddStampRequest]
tags = "Sello, Añadir imagen, centrar imagen, Marca de agua, PDF, Incrustar, Personalizar"
@@ -3780,17 +3836,17 @@ filesize = "Tamaño de archivo"
label = "Aplicar escala de grises para compresión"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Linealizar PDF para visualización web rápida"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Convertir imágenes a arte lineal"
+description = "Usa ImageMagick para reducir las páginas a blanco y negro de alto contraste para una máxima reducción de tamaño."
+unavailable = "ImageMagick no está instalado o habilitado en este servidor"
+detailLevel = "Nivel de detalle"
+edgeEmphasis = "Énfasis de bordes"
+edgeLow = "Suave"
+edgeMedium = "Equilibrado"
+edgeHigh = "Fuerte"
[compress.tooltip.header]
title = "Resumen de Configuración de Compresión"
@@ -3810,8 +3866,8 @@ title = "Escala de Grises"
text = "Seleccione esta opción para convertir todas las imágenes a blanco y negro, lo que puede reducir significativamente el tamaño del archivo, especialmente para PDFs escaneados o documentos con muchas imágenes."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "Arte lineal"
+text = "Convierte las páginas a blanco y negro de alto contraste usando ImageMagick. Usa el nivel de detalle para controlar cuánto contenido se vuelve negro y el énfasis de bordes para controlar cuán agresivamente se detectan los bordes."
[compress.error]
failed = "Ocurrió un error al comprimir el PDF."
@@ -3826,9 +3882,9 @@ _value = "Configuración de Compresión"
1 = "1-3 compresión PDF, 4-6 compresión de imagen suave, 7-9 compresión de imágenes intensa reducirá drásticamente la calidad de imagen"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Valores bajos preservan la calidad pero generan archivos más grandes"
+range4to6 = "Compresión media con reducción moderada de calidad"
+range7to9 = "Valores altos reducen significativamente el tamaño pero pueden disminuir la claridad de las imágenes"
[decrypt]
passwordPrompt = "Este archivo está protegido con contraseña. Por favor, introduzca la contraseña:"
@@ -4069,7 +4125,7 @@ deleteSelected = "Eliminar Páginas Seleccionadas"
closePdf = "Cerrar PDF"
exportAll = "Exportar PDF"
downloadSelected = "Descargar Archivos Seleccionados"
-annotations = "Annotations"
+annotations = "Anotaciones"
exportSelected = "Exportar páginas seleccionadas"
saveChanges = "Guardar cambios"
toggleTheme = "Alternar Tema"
@@ -4077,84 +4133,90 @@ language = "Idioma"
toggleAnnotations = "Mostrar/ocultar anotaciones"
search = "Buscar en PDF"
panMode = "Modo de Desplazamiento"
+applyRedactionsFirst = "Aplica primero las censuras"
rotateLeft = "Rotar a la Izquierda"
rotateRight = "Rotar a la Derecha"
toggleSidebar = "Alternar Barra Lateral"
toggleBookmarks = "Mostrar/ocultar marcadores"
print = "Imprimir PDF"
+draw = "Dibujar"
+redact = "Censurar"
+exitRedaction = "Salir del modo de censura"
+save = "Guardar"
downloadAll = "Descargar Todo"
saveAll = "Guardar todo"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Izquierda"
+center = "Centrado"
+right = "Derecha"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "Anotar"
+desc = "Usa resaltado, lápiz, texto y notas. Los cambios permanecen activos: no es necesario aplanar."
+highlight = "Resaltar"
+pen = "Lápiz"
+text = "Cuadro de texto"
+note = "Nota"
+rectangle = "Rectángulo"
+ellipse = "Elipse"
+select = "Seleccionar"
+exit = "Salir del modo de anotación"
+strokeWidth = "Grosor"
+opacity = "Opacidad"
+strokeOpacity = "Opacidad del trazo"
+fillOpacity = "Opacidad del relleno"
+fontSize = "Tamaño de fuente"
+chooseColor = "Elegir color"
+color = "Color"
+strokeColor = "Color del trazo"
+fillColor = "Color de relleno"
+underline = "Subrayado"
+strikeout = "Tachado"
+squiggly = "Ondulado"
+inkHighlighter = "Resaltador a mano alzada"
+freehandHighlighter = "Resaltador a mano alzada"
+square = "Cuadrado"
+circle = "Círculo"
+polygon = "Polígono"
+line = "Línea"
+stamp = "Añadir imagen"
+textMarkup = "Marcado de texto"
+drawing = "Dibujo"
+shapes = "Formas"
+notesStamps = "Notas y sellos"
+settings = "Ajustes"
+borderOn = "Borde: Activado"
+borderOff = "Borde: Desactivado"
+editInk = "Editar lápiz"
+editLine = "Editar línea"
+editNote = "Editar nota"
+editText = "Editar cuadro de texto"
+editTextMarkup = "Editar marcado de texto"
+editSelected = "Editar anotación"
+editSquare = "Editar cuadrado"
+editCircle = "Editar círculo"
+editPolygon = "Editar polígono"
+unsupportedType = "Este tipo de anotación no es totalmente compatible con la edición."
+textAlignment = "Alineación del texto"
+noteIcon = "Icono de nota"
+imagePreview = "Vista previa"
+contents = "Texto"
+backgroundColor = "Color de fondo"
+clearBackground = "Eliminar fondo"
+noBackground = "Sin fondo"
+stampSettings = "Ajustes del sello"
+savingCopy = "Preparando descarga..."
+saveFailed = "No se pudo guardar la copia"
+saveReady = "Descarga lista"
+selectAndMove = "Seleccionar y editar"
+editSelectDescription = "Haz clic en una anotación existente para editar su color, opacidad, texto o tamaño."
+editStampHint = "Para cambiar la imagen, elimina este sello y añade uno nuevo."
+editSwitchToSelect = "Cambia a Seleccionar y Editar para editar esta anotación."
+undo = "Deshacer"
+redo = "Rehacer"
+applyChanges = "Aplicar cambios"
+saveChanges = "Guardar cambios"
[search]
title = "Buscar PDF"
@@ -4205,20 +4267,20 @@ settings = "Ajustes"
adminSettings = "Ajustes admin"
allTools = "Herram."
reader = "Lector"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Recorridos"
+showMeAround = "Muéstrame cómo funciona"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Mira los recorridos aquí: Recorrido de Herramientas, del nuevo diseño V2 y de Administración."
+user = "Mira los recorridos aquí: Recorrido de Herramientas y del nuevo diseño V2."
[quickAccess.helpMenu]
toolsTour = "Recorrido por las herramientas"
toolsTourDesc = "Descubre lo que pueden hacer las herramientas"
adminTour = "Recorrido de administración"
adminTourDesc = "Explora la configuración y las funciones de administración"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Ver qué hay de nuevo en V2"
+whatsNewTourDesc = "Recorre el diseño actualizado"
[admin]
error = "Error"
@@ -4237,6 +4299,8 @@ fetchError = "Error al cargar la configuración"
saveError = "Error al guardar la configuración"
saved = "Configuración guardada correctamente"
saveSuccess = "Configuración guardada correctamente"
+success = "Ajustes guardados correctamente"
+error = "Error al guardar los ajustes"
save = "Guardar cambios"
discard = "Descartar"
restartRequired = "Se requiere reiniciar"
@@ -4360,6 +4424,13 @@ description = "Ruta al ejecutable de WeasyPrint para la conversión de HTML a PD
label = "Ejecutable de Unoconvert"
description = "Ruta a LibreOffice unoconvert para conversiones de documentos (dejar vacío para el valor predeterminado: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "Frontend URL"
+description = "URL base para el frontend (p. ej., https://pdf.example.com). Se usa para enlaces de invitación por correo y subidas por código QR desde el móvil. Déjalo vacío para usar la URL del backend."
+
+[admin.settings.badge]
+clickToUpgrade = "Haz clic para ver los detalles del plan"
+
[admin.settings.security]
title = "Seguridad"
description = "Configura autenticación, comportamiento de inicio de sesión y políticas de seguridad."
@@ -4496,6 +4567,19 @@ connect = "Conectar"
disconnect = "Desconectar"
disconnected = "Proveedor desconectado correctamente"
disconnectError = "No se pudo desconectar el proveedor"
+mobileScannerConvertToPdf = "Convertir imágenes a PDF"
+mobileScannerConvertToPdfDesc = "Convertir automáticamente las imágenes subidas a formato PDF. Si se desactiva, las imágenes se conservarán tal cual."
+mobileScannerImageResolution = "Resolución de imagen"
+mobileScannerImageResolutionDesc = "Resolución de las imágenes subidas. \"Reducida\" escala las imágenes a un máximo de 1200px para reducir el tamaño del archivo."
+imageResolutionFull = "Completa (tamaño original)"
+imageResolutionReduced = "Reducida (máx. 1200px)"
+mobileScannerPageFormat = "Formato de página"
+mobileScannerPageFormatDesc = "Tamaño de página del PDF para imágenes convertidas. \"Mantener\" usa las dimensiones originales de la imagen."
+pageFormatKeep = "Mantener (dimensiones originales)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Ajustar para encajar"
+mobileScannerStretchToFitDesc = "Estirar las imágenes para llenar toda la página. Si se desactiva, las imágenes se centran preservando la relación de aspecto."
[admin.settings.connections.ssoAutoLogin]
label = "Inicio de sesión automático SSO"
@@ -4564,6 +4648,122 @@ description = "Crear cuentas de usuario automáticamente en el primer inicio de
label = "Bloquear el registro"
description = "Evitar el registro de nuevos usuarios mediante SAML2"
+[admin.settings.connections.mobileScanner]
+label = "Subida desde teléfono móvil"
+enable = "Habilitar subida por código QR"
+description = "Permitir que los usuarios suban archivos desde dispositivos móviles escaneando un código QR"
+note = "Nota: Requiere configurar la Frontend URL. "
+link = "Configurar en Ajustes del sistema"
+mobileScannerConvertToPdf = "Convertir imágenes a PDF"
+mobileScannerConvertToPdfDesc = "Convertir automáticamente las imágenes subidas a formato PDF. Si se desactiva, las imágenes se conservarán tal cual."
+mobileScannerImageResolution = "Resolución de imagen"
+mobileScannerImageResolutionDesc = "Resolución de las imágenes subidas. \"Reducida\" escala las imágenes a un máximo de 1200px para reducir el tamaño del archivo."
+imageResolutionFull = "Completa (tamaño original)"
+imageResolutionReduced = "Reducida (máx. 1200px)"
+mobileScannerPageFormat = "Formato de página"
+mobileScannerPageFormatDesc = "Tamaño de página del PDF para imágenes convertidas. \"Mantener\" usa las dimensiones originales de la imagen."
+pageFormatKeep = "Mantener (dimensiones originales)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Ajustar para encajar"
+mobileScannerStretchToFitDesc = "Estirar las imágenes para llenar toda la página. Si se desactiva, las imágenes se centran preservando la relación de aspecto."
+
+[admin.settings.telegram]
+title = "Bot de Telegram"
+description = "Configura la conectividad del bot de Telegram, controles de acceso y comportamiento de retroalimentación."
+
+[admin.settings.telegram.enabled]
+label = "Habilitar bot de Telegram"
+description = "Permite a los usuarios interactuar con Stirling PDF a través de tu bot de Telegram configurado."
+
+[admin.settings.telegram.botUsername]
+label = "Nombre de usuario del bot"
+description = "El nombre de usuario público de tu bot de Telegram."
+
+[admin.settings.telegram.botToken]
+label = "Bot Token"
+description = "Token de API proporcionado por BotFather para tu bot de Telegram."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Carpeta de entrada"
+description = "Carpeta bajo el directorio de pipeline donde se almacenan los archivos entrantes de Telegram."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Usar sufijo de carpeta personalizado"
+description = "Agregar el ID del chat a las carpetas de archivos entrantes para aislar subidas por chat."
+
+[admin.settings.telegram.accessControl]
+title = "Control de acceso"
+description = "Restringe qué usuarios o canales pueden interactuar con el bot."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Permitir ID de usuario específicos"
+description = "Cuando está habilitado, solo los ID de usuario listados pueden usar el bot."
+
+[admin.settings.telegram.allowUserIDs]
+label = "ID de usuario permitidos"
+description = "Introduce los ID de usuario de Telegram permitidos para interactuar con el bot."
+placeholder = "Añade el ID de usuario y pulsa Enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Permitir ID de canal específicos"
+description = "Cuando está habilitado, solo los ID de canal listados pueden usar el bot."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "ID de canal permitidos"
+description = "Introduce los ID de canal de Telegram permitidos para interactuar con el bot."
+placeholder = "Añade el ID de canal y pulsa Enter"
+
+[admin.settings.telegram.processing]
+title = "Procesamiento"
+description = "Controla los intervalos de sondeo y tiempos de espera para subidas de Telegram."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Tiempo de espera de procesamiento (segundos)"
+description = "Tiempo máximo de espera para un trabajo de procesamiento antes de informar un error."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Intervalo de sondeo (ms)"
+description = "Intervalo entre comprobaciones de nuevas actualizaciones de Telegram."
+
+[admin.settings.telegram.feedback]
+title = "Mensajes de retroalimentación"
+description = "Elige cuándo el bot debe enviar retroalimentación a usuarios y canales."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Habilitar retroalimentación"
+description = "Controla si el bot envía mensajes de retroalimentación en absoluto."
+
+[admin.settings.telegram.feedback.channel]
+title = "Reglas de retroalimentación en canales"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Mostrar \"Sin documento válido\" (Canal)"
+description = "Suprimir la respuesta de sin documento válido para subidas en canales."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Mostrar errores de procesamiento (Canal)"
+description = "Enviar mensajes de error de procesamiento a los canales."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Mostrar mensajes de error (Canal)"
+description = "Mostrar mensajes de error detallados para los canales."
+
+[admin.settings.telegram.feedback.user]
+title = "Reglas de retroalimentación a usuarios"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Mostrar \"Sin documento válido\" (Usuario)"
+description = "Suprimir la respuesta de sin documento válido para subidas de usuarios."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Mostrar errores de procesamiento (Usuario)"
+description = "Enviar mensajes de error de procesamiento a los usuarios."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Mostrar mensajes de error (Usuario)"
+description = "Mostrar mensajes de error detallados para los usuarios."
+
[admin.settings.database]
title = "Base de datos"
description = "Configura ajustes de conexión de base de datos personalizados para despliegues empresariales."
@@ -4745,6 +4945,10 @@ description = "Permitir a los administradores invitar usuarios por correo con co
label = "URL del frontend"
description = "URL base del frontend (p. ej. https://pdf.example.com). Se usa para generar enlaces de invitación en emails. Deja vacío para usar la URL del backend."
+[admin.settings.mail.frontendUrlNote]
+note = "Nota: Requiere configurar la Frontend URL. "
+link = "Configurar en Ajustes del sistema"
+
[admin.settings.legal]
title = "Documentos legales"
description = "Configura enlaces a documentos y políticas legales."
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "Mis Archivos"
noRecentFiles = "No se encontraron archivos recientes"
googleDriveNotAvailable = "Integración con Google Drive no disponible"
+mobileUpload = "Subida desde móvil"
+mobileShort = "Móvil"
+mobileUploadNotAvailable = "Subida desde móvil no habilitada"
downloadSelected = "Descargar Seleccionados"
saveSelected = "Guardar seleccionados"
openFiles = "Abrir Archivos"
@@ -5244,7 +5451,7 @@ loading = "Cargando..."
back = "Atrás"
continue = "Continuar"
error = "Error"
-save = "Save"
+save = "Guardar"
[config.overview]
title = "Configuración de la aplicación"
@@ -5307,6 +5514,15 @@ impact = "Cualquier aplicación o servicio que esté utilizando actualmente esta
confirmPrompt = "¿Está seguro de que desea continuar?"
confirmCta = "Actualizar Claves"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "Error de clave de API"
+failedToCreateApiKey = "No se pudo crear la clave de API."
+failedToRetrieveApiKey = "No se pudo obtener la clave de API de la respuesta."
+failedToFetchApiKey = "No se pudo recuperar la clave de API."
+apiKeyRefreshed = "Clave de API actualizada"
+apiKeyRefreshedBody = "Tu clave de API se ha actualizado correctamente."
+failedToRefreshApiKey = "No se pudo actualizar la clave de API."
+
[AddAttachmentsRequest]
attachments = "Seleccionar archivos adjuntos"
info = "Seleccione archivos para adjuntar a su PDF. Estos archivos se incrustarán y serán accesibles a través del panel de archivos adjuntos del PDF."
@@ -5412,14 +5628,14 @@ startTour = "Iniciar recorrido"
startTourDescription = "Realiza un recorrido guiado por las funciones clave de Stirling PDF"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Empieza en el panel de Acceso rápido para cambiar entre Lector, Automatizar, tus archivos y todos los recorridos."
+leftPanel = "El panel izquierdo de Herramientas lista todo lo que puedes hacer. Explora categorías o busca para encontrar una herramienta rápidamente."
+fileUpload = "Usa el botón de Archivos para subir o elegir un PDF reciente. Cargaremos un ejemplo para que puedas ver el espacio de trabajo."
+rightRail = "El Panel derecho contiene acciones rápidas para seleccionar archivos, cambiar el tema o el idioma y descargar resultados."
+topBar = "La barra superior te permite cambiar entre Visor, Editor de páginas y Archivos activos."
+pageEditorView = "Cambia al Editor de páginas para reordenar, rotar o eliminar páginas."
+activeFilesView = "Usa Archivos activos para ver todo lo que tienes abierto y elegir en qué trabajar."
+wrapUp = "Eso es lo nuevo en V2. Abre el menú de Recorridos en cualquier momento para repetir este, el de Herramientas o el de Administración."
[onboarding.welcomeModal]
title = "¡Bienvenido a Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "Muéstreme el recorrido"
skipTheTour = "Saltar el recorrido"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Resumen del recorrido"
+body = "Stirling PDF V2 incluye decenas de herramientas y un diseño renovado. Haz un recorrido rápido para ver qué cambió y dónde encontrar las funciones que necesitas."
[onboarding.serverLicense]
skip = "Omitir por ahora"
@@ -5452,7 +5668,7 @@ upgrade = "Actualizar ahora →"
freeTitle = "Licencia del servidor"
overLimitTitle = "Se necesita licencia de servidor"
overLimitBody = "Nuestra licencia permite hasta {{freeTierLimit}} usuarios gratis por servidor. Tiene {{overLimitUserCopy}} usuarios de Stirling. Para continuar sin interrupciones, actualice al plan Stirling Server: plazas ilimitadas, edición de texto PDF y control total de administración por 99 $/servidor/mes."
-freeBody = "Nuestra licencia Open-Core permite hasta {{freeTierLimit}} usuarios gratis por servidor. Para escalar sin interrupciones, recomendamos el plan Stirling Server - plazas ilimitadas y soporte SSO por $99/servidor/mes."
+freeBody = "Nuestra licencia Open-Core permite hasta {{freeTierLimit}} usuarios gratis por servidor. Para escalar sin interrupciones y obtener acceso anticipado a nuestra nueva herramienta de edición de texto PDF, recomendamos el plan Stirling Server: edición completa y plazas ilimitadas por 99 $/servidor/mes."
[onboarding.desktopInstall]
title = "Descargar"
@@ -5524,7 +5740,7 @@ user = "Usuario"
[workspace.people.addMember]
title = "Añadir miembro"
username = "Nombre de usuario (correo)"
-usernamePlaceholder = "usuario@ejemplo.com"
+usernamePlaceholder = "user@example.com"
password = "Contraseña"
passwordPlaceholder = "Introduce la contraseña"
role = "Rol"
@@ -5586,7 +5802,7 @@ error = "No se pudo actualizar la contraseña"
tab = "Invitación por correo electrónico"
description = "Escribe o pega correos a continuación, separados por comas. Los usuarios recibirán credenciales de inicio de sesión por correo electrónico."
emails = "Direcciones de correo electrónico"
-emailsPlaceholder = "usuario1@ejemplo.com, usuario2@ejemplo.com"
+emailsPlaceholder = "user1@example.com, user2@example.com"
emailsRequired = "Se requiere al menos una dirección de correo electrónico"
submit = "Enviar invitaciones"
success = "usuario(s) invitado(s) correctamente"
@@ -5758,28 +5974,28 @@ contactSales = "Contactar con ventas"
contactToUpgrade = "Contacta con nosotros para actualizar o personalizar tu plan"
maxUsers = "Máximo de usuarios"
upTo = "Hasta"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Obtener licencia de servidor"
+upgradeToEnterprise = "Actualizar a Enterprise"
+selectPeriod = "Seleccionar período de facturación"
+monthlyBilling = "Facturación mensual"
+yearlyBilling = "Facturación anual"
+checkoutOpened = "Proceso de pago abierto"
+checkoutInstructions = "Completa tu compra en la pestaña de Stripe. Después del pago, vuelve aquí y actualiza la página para activar tu licencia. También recibirás un correo con tu clave de licencia."
+activateLicense = "Activa tu licencia"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Pago abierto en nueva pestaña"
+instructions = "Completa tu compra en la pestaña de Stripe. Una vez completado el pago, recibirás un correo con tu clave de licencia."
+enterKey = "Introduce tu clave de licencia a continuación para activar tu plan:"
+keyDescription = "Pega la clave de licencia de tu correo"
+activate = "Activar licencia"
+doLater = "Lo haré más tarde"
+success = "¡Licencia activada!"
+successMessage = "Tu licencia se ha activado correctamente. Ya puedes cerrar esta ventana."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "Se requiere verificación de correo"
+message = "Deberás verificar tu dirección de correo electrónico en el portal de facturación de Stripe. Revisa tu correo para un enlace de inicio de sesión."
[plan.period]
month = "mes"
@@ -5908,7 +6124,7 @@ emailInvalid = "Introduzca una dirección de correo válida"
title = "Introduzca su correo electrónico"
description = "Lo usaremos para enviar su clave de licencia y recibos."
emailLabel = "Dirección de correo electrónico"
-emailPlaceholder = "su@email.com"
+emailPlaceholder = "your@email.com"
continue = "Continuar"
modalTitle = "Comenzar - {{planName}}"
@@ -5983,8 +6199,8 @@ notAvailable = "Sistema de auditoría no disponible"
notAvailableMessage = "El sistema de auditoría no está configurado o no está disponible."
disabled = "El registro de auditoría está desactivado"
disabledMessage = "Habilita el registro de auditoría en la configuración de tu aplicación para rastrear eventos del sistema."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Se requiere licencia Enterprise"
+enterpriseRequiredMessage = "El sistema de registro de auditoría es una función empresarial. Actualiza a una licencia Enterprise para acceder a los registros de auditoría y analíticas."
[audit.error]
title = "Error al cargar el sistema de auditoría"
@@ -6156,6 +6372,7 @@ description = "Introduzca la URL completa de su servidor autoalojado de Stirling
[setup.server.error]
emptyUrl = "Introduzca una URL de servidor"
+invalidUrl = "Formato de URL no válido. Introduce una URL válida como https://your-server.com"
unreachable = "No se pudo conectar con el servidor"
testFailed = "Falló la prueba de conexión"
configFetch = "No se pudo obtener la configuración del servidor. Compruebe la URL e inténtelo de nuevo."
@@ -6174,6 +6391,7 @@ connectingTo = "Conectando a:"
submit = "Iniciar sesión"
signInWith = "Iniciar sesión con"
oauthPending = "Abriendo el navegador para autenticación..."
+sso = "Inicio de sesión único"
orContinueWith = "O continuar con email"
serverRequirement = "Nota: el servidor debe tener el inicio de sesión habilitado."
showInstructions = "¿Cómo habilitarlo?"
@@ -6188,7 +6406,7 @@ label = "Nombre de usuario"
placeholder = "Introduzca su nombre de usuario"
[setup.login.email]
-label = "Correo electrónico"
+label = "Email"
placeholder = "Introduzca su email"
[setup.login.password]
@@ -6225,7 +6443,7 @@ paragraph = "Página de párrafos"
sparse = "Texto disperso"
[pdfTextEditor.groupingMode]
-auto = "Automático"
+auto = "Auto"
paragraph = "Párrafo"
singleLine = "Línea única"
@@ -6239,8 +6457,8 @@ reset = "Restablecer cambios"
downloadJson = "Descargar JSON"
generatePdf = "Generar PDF"
saveChanges = "Guardar cambios"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Aplicar cambios"
+downloadCopy = "Descargar copia"
[pdfTextEditor.options.autoScaleText]
title = "Escalar texto automáticamente para ajustar a las cajas"
@@ -6260,22 +6478,22 @@ title = "Bloquear el texto editado a un único elemento PDF"
description = "Cuando está activado, el editor exporta cada cuadro de texto editado como un único elemento de texto PDF para evitar solapamientos de glifos o fuentes mezcladas."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Ajustes avanzados"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Limitaciones de la vista previa"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Enfoque en texto e imagen"
+text = "Este espacio de trabajo se centra en editar texto y recolocar imágenes incrustadas. Las ilustraciones de página complejas, widgets de formularios y gráficos por capas se preservan para la exportación pero no son totalmente editables aquí."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Variaciones de la vista previa"
+text = "Algunos elementos visuales (como bordes de tablas, formas o apariencias de anotaciones) pueden no mostrarse exactamente en la vista previa. El PDF exportado mantiene las órdenes de dibujo originales siempre que sea posible."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Visor alfa"
+text = "Este visor alfa sigue evolucionando—ciertas fuentes, colores, efectos de transparencia y detalles de maquetación pueden variar ligeramente. Verifica el PDF generado antes de compartirlo."
[pdfTextEditor.manual]
mergeTooltip = "Combinar cuadros seleccionados"
@@ -6398,3 +6616,58 @@ title = "Resultados de añadir texto"
[addText.error]
failed = "Se produjo un error al añadir texto al PDF."
+
+[mobileUpload]
+title = "Subir desde el móvil"
+description = "Escanea para subir fotos. Las imágenes se convierten automáticamente a PDF."
+descriptionNoConvert = "Escanea para subir fotos desde tu dispositivo móvil."
+error = "Error de conexión"
+pollingError = "Error al comprobar archivos"
+sessionId = "ID de sesión"
+sessionCreateError = "No se pudo crear la sesión"
+expiryWarning = "La sesión expirará pronto"
+expiryWarningMessage = "Este código QR caducará en {{seconds}} segundos. Se generará un nuevo código automáticamente."
+filesReceived = "{{count}} archivo(s) recibido(s)"
+connected = "Dispositivo móvil conectado"
+instructions = "Escanéalo con la cámara de tu teléfono. Las imágenes se convierten a PDF automáticamente."
+instructionsNoConvert = "Escanéalo con la cámara de tu teléfono para subir archivos."
+
+[mobileScanner]
+title = "Escáner móvil"
+noSession = "Sesión no válida"
+noSessionMessage = "Escanea un código QR válido para acceder a esta página."
+validating = "Validando la sesión..."
+sessionInvalid = "Error de sesión"
+sessionExpired = "Esta sesión ha caducado. Actualiza e inténtalo de nuevo."
+sessionNotFound = "Sesión no encontrada. Actualiza e inténtalo de nuevo."
+sessionValidationError = "No se puede verificar la sesión. Inténtalo de nuevo."
+uploadSuccess = "¡Subida correcta!"
+uploadSuccessMessage = "Tus imágenes han sido transferidas."
+httpsRequired = "El acceso a la cámara requiere HTTPS o localhost. Usa HTTPS o accede vía localhost."
+uploadFailed = "La subida ha fallado. Inténtalo de nuevo."
+uploading = "Subiendo..."
+connected = "Conectado"
+connecting = "Conectando..."
+chooseMethod = "Elige el método de subida"
+chooseMethodDescription = "Selecciona cómo quieres escanear y subir documentos"
+camera = "Cámara"
+cameraDescription = "Escanea documentos usando la cámara de tu dispositivo con detección automática de bordes"
+fileUpload = "Subir archivo"
+fileDescription = "Sube fotos o documentos existentes desde tu dispositivo"
+cameraAccessDenied = "Acceso a la cámara denegado. Habilita el acceso a la cámara."
+back = "Atrás"
+settings = "Ajustes"
+edgeDetection = "Detección de bordes"
+flashlight = "Linterna"
+flash = "Flash"
+processing = "Procesando..."
+capture = "Capturar foto"
+selectFilesPrompt = "Selecciona archivos para subir"
+selectImage = "Seleccionar imagen"
+preview = "Vista previa"
+retake = "Volver a tomar"
+addToBatch = "Añadir al lote"
+upload = "Subir"
+batchImages = "Lote"
+clearBatch = "Limpiar"
+uploadAll = "Subir todo"
diff --git a/frontend/public/locales/eu-ES/translation.toml b/frontend/public/locales/eu-ES/translation.toml
index aeda62830..58fd945b8 100644
--- a/frontend/public/locales/eu-ES/translation.toml
+++ b/frontend/public/locales/eu-ES/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "Gorde gabeko aldaketak dituzu zure PDFan."
+pendingRedactionsTitle = "Aplikatu gabeko zentsurak"
+pendingRedactions = "Aplikatu gabeko zentsurak dituzu eta galdu egingo dira."
areYouSure = "Ziur zaude irten nahi duzula?"
unsavedChangesTitle = "Gorde gabeko aldaketak"
keepWorking = "Lanean jarraitu"
discardChanges = "Baztertu eta irten"
+discardRedactions = "Baztertu eta irten"
applyAndContinue = "Gorde eta irten"
exportAndContinue = "Esportatu eta jarraitu"
cancel = "Utzi"
@@ -99,7 +102,7 @@ visitGithub = "Bisitatu Github biltegia"
donate = "Dohaintza egin"
color = "Color"
sponsor = "Babestu"
-info = "Informazioa"
+info = "Info"
pro = "Pro"
page = "Orrialdea"
pages = "Orrialdeak"
@@ -131,7 +134,7 @@ unsupported = "Ez da onartzen"
[toolPanel]
placeholder = "Aukeratu tresna bat hasteko"
-alpha = "Alfa"
+alpha = "Alpha"
premiumFeature = "Premium ezaugarria:"
comingSoon = "Laster eskuragarri:"
@@ -279,7 +282,7 @@ iAgreeToThe = "Onartzen ditut honako hauek guztiak"
terms = "Baldintzak eta erabilera-baldintzak"
accessibility = "Irisgarritasuna"
cookie = "Cookie politika"
-impressum = "Lege oharra"
+impressum = "Impressum"
showCookieBanner = "Cookie-hobespenak"
[pipeline]
@@ -301,7 +304,7 @@ saveSettings = "Gorde eragiketa-ezarpenak"
pipelineNamePrompt = "Sartu hemen pipeline izena"
selectOperation = "Aukeratu eragiketa"
addOperationButton = "Gehitu eragiketa"
-pipelineHeader = "Pipelinea:"
+pipelineHeader = "Pipeline:"
saveButton = "Distira"
validateButton = "Balidatu"
@@ -356,7 +359,7 @@ teams = "Taldeak"
title = "Konfigurazioa"
systemSettings = "Sistemaren ezarpenak"
features = "Eginbideak"
-endpoints = "Amaiera-puntuak"
+endpoints = "Endpoints"
database = "Datu-basea"
advanced = "Aurreratua"
@@ -364,6 +367,7 @@ advanced = "Aurreratua"
title = "Segurtasuna eta Autentifikazioa"
security = "Segurtasuna"
connections = "Konexioak"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Lizentziak eta Analitika"
@@ -373,7 +377,7 @@ usageAnalytics = "Erabilera-analitika"
[settings.policiesPrivacy]
title = "Politikak eta Pribatutasuna"
-legal = "Lege"
+legal = "Legal"
privacy = "Pribatutasuna"
[settings.developer]
@@ -438,25 +442,34 @@ currentVersion = "Uneko bertsioa"
latestVersion = "Azken bertsioa"
checkForUpdates = "Egiaztatu eguneratzeak"
viewDetails = "Xehetasunak ikusi"
+serverNeedsUpdate = "Zerbitzaria administratzaileak eguneratu behar du"
+
+[settings.general.versionInfo]
+title = "Bertsio-informazioa"
+description = "Mahaigaineko eta zerbitzariko bertsio-xehetasunak"
+desktop = "Mahaigaineko bertsioa"
+server = "Zerbitzariaren bertsioa"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Segurtasuna"
+description = "Eguneratu pasahitza kontua seguru mantentzeko."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Aldatu pasahitza. Eguneratu ondoren saioa itxiko da."
+required = "Eremu guztiak beharrezkoak dira."
+mismatch = "Pasahitz berriak ez datoz bat."
+error = "Ezin izan da pasahitza eguneratu. Egiaztatu uneko pasahitza eta saiatu berriro."
+success = "Pasahitza ongi eguneratu da. Hasi saioa berriro."
+ssoDisabled = "Pasahitz-aldaketak zure identitate-hornitzaileak kudeatzen ditu."
+current = "Uneko pasahitza"
+currentPlaceholder = "Sartu zure uneko pasahitza"
+new = "Pasahitz berria"
+newPlaceholder = "Sartu pasahitz berria"
+confirm = "Berretsi pasahitz berria"
+confirmPlaceholder = "Sartu berriro pasahitz berria"
+update = "Eguneratu pasahitza"
+
+
[settings.hotkeys]
title = "Laster-teklak"
@@ -511,16 +524,16 @@ low = "Baxua"
title = "Aldatu kredentzialak"
header = "Eguneratu zure kontuaren xehetasunak"
changePassword = "Saioa hasteko kredentzial lehenetsiak erabiltzen ari zara. Mesedez, sartu pasahitz berria"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Zure kontua identitate-hornitzaileak kudeatzen du."
newUsername = "Erabiltzaile izen berria"
oldPassword = "Uneko pasahitza"
newPassword = "Pasahitz berria"
confirmNewPassword = "Konfirmatu pasahitz berria"
submit = "Bidali aldaketak"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Kontua eguneratu da"
+description = "Aldaketak gorde dira. Hasi saioa berriro."
+error = "Ezin izan da erabiltzaile-izena eguneratu. Egiaztatu pasahitza eta saiatu berriro."
+changeUsername = "Eguneratu zure erabiltzaile-izena. Eguneratu ondoren saioa itxiko da."
[account]
title = "Kontuaren ezarpenak"
@@ -528,6 +541,8 @@ accountSettings = "Kontuaren ezarpenak"
adminSettings = "Admin ezarpenak - Ikusi eta gehitu Erabiltzaileak"
userControlSettings = "Erabiltzaile ezarpen kontrolak"
changeUsername = "Aldatu erabiltzaile izena"
+changeUsernameDescription = "Eguneratu zure erabiltzaile-izena. Eguneratu ondoren saioa itxiko da."
+newUsernamePlaceholder = "Sartu zure erabiltzaile-izen berria"
newUsername = "Erabiltzaile izen berria"
password = "Konfirmatu pasahitza"
oldPassword = "Pasahitz zaharra"
@@ -546,7 +561,7 @@ syncToAccount = "Sync Kontua <- Nabigatzailea"
[adminUserSettings]
title = "Erabiltzailearen Ezarpenen Kontrolak"
header = "Admin Erabiltzailearen Ezarpenen Kontrolak"
-admin = "Administratzailea"
+admin = "Admin"
user = "Erabiltzaile"
addUser = "Erabiltzaile berria"
deleteUser = "Ezabatu erabiltzailea"
@@ -737,9 +752,9 @@ title = "Sinatu"
desc = "Gehitu sinadura PDFari marrazki, testu edo irudi bidez"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "oharrak, nabarmendu, marraztu"
+title = "Oharrak"
+desc = "Nabarmendu, marraztu, oharrak eta formak gehitu ikuslean"
[home.flatten]
tags = "sinplifikatu,kendu,interaktiboa"
@@ -951,8 +966,8 @@ desc = "Overlays PDFs on-top of another PDF"
title = "Gainjarri PDFak"
[home.pdfTextEditor]
-title = "PDF testu editorea"
-desc = "Editatu PDFetako lehendik dauden testuak eta irudiak"
+title = "PDF testu-editorea"
+desc = "Berrikusi eta editatu Stirling PDF JSON esportazioak taldekatutako testu-edizioarekin eta PDF birsorkuntzarekin"
[home.addText]
tags = "testua,anotazioa,etiketa"
@@ -963,6 +978,7 @@ desc = "Gehitu testu pertsonalizatua zure PDFan edonon"
addFiles = "Gehitu fitxategiak"
uploadFromComputer = "Igo ordenagailutik"
openFromComputer = "Ireki ordenagailutik"
+mobileUpload = "Kargatu mugikorretik"
[viewPdf]
tags = "view,read,annotate,text,image"
@@ -1258,7 +1274,7 @@ odtExt = "OpenDocument testua (.odt)"
pptExt = "PowerPoint (.pptx)"
odpExt = "OpenDocument aurkezpena (.odp)"
txtExt = "Testu laua (.txt)"
-rtfExt = "Testu aberatsaren formatua (.rtf)"
+rtfExt = "Rich Text Format (.rtf)"
selectedFiles = "Hautatutako fitxategiak"
noFileSelected = "Ez da fitxategirik hautatu. Erabili fitxategi-panela fitxategiak gehitzeko."
convertFiles = "Bihurtu fitxategiak"
@@ -1278,21 +1294,33 @@ cbzOptions = "CBZtik PDFra aukerak"
optimizeForEbook = "Optimizatu PDF e-book irakurgailuetarako (Ghostscript erabiltzen du)"
cbzOutputOptions = "PDFtik CBZra aukerak"
cbzDpi = "Irudien errendatzeko DPI"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "CBR aukerak"
+cbrOutputOptions = "PDFtik CBRrako aukerak"
+cbrDpi = "Irudien errendatzeko DPIa"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "eBooketik PDFra aukerak"
+ebookOptionsDesc = "eBookak PDFra bihurtzeko aukerak"
+embedAllFonts = "Txertatu letra-tipo guztiak"
+embedAllFontsDesc = "Txertatu eBookeko letra-tipo guztiak sortutako PDFan"
+includeTableOfContents = "Sartu aurkibidea"
+includeTableOfContentsDesc = "Gehitu sortutako aurkibidea lortutako PDFari"
+includePageNumbers = "Sartu orrialde-zenbakiak"
+includePageNumbersDesc = "Gehitu orrialde-zenbakiak sortutako PDFari"
+optimizeForEbookPdf = "Optimizatu eBook irakurleetarako"
+optimizeForEbookPdfDesc = "Optimizatu PDFa eBook irakurketarako (fitxategi-tamaina txikiagoa, errendatze hobea eInk gailuetan)"
+
+[convert.epubOptions]
+epubOptions = "PDFtik eBookerako aukerak"
+epubOptionsDesc = "PDFa EPUB/AZW3 formatura bihurtzeko aukerak"
+detectChapters = "Atalak detektatu"
+detectChaptersDesc = "Kapitulutako antza duten goiburuak detektatu eta EPUB orri-jauziak txertatu"
+targetDevice = "Helburu gailua"
+targetDeviceDesc = "Aukeratu irakurgailurako optimizatutako irteera-profila"
+outputFormat = "Irteera-formatua"
+outputFormatDesc = "Aukeratu eBookaren irteera-formatua"
+tabletPhone = "Tableta/Mugikorra (irudiekin)"
+kindleEink = "Kindle e-Ink (testurako optimizatua)"
[imageToPdf]
tags = "conversion,img,jpg,picture,photo,psd,photoshop"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "Gehitu eranskina"
remove = "Kendu eranskina"
embed = "Txertatu eranskina"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Bihurtu PDF/A-3b formatura"
+convertToPdfA3bDescription = "Eranskinak txertatuta dituen artxibatzeko PDF bat sortzen du"
+convertToPdfA3bTooltip = "PDF/A-3b artxibo-formatua da, epe luzerako kontserbazioa bermatzen duena. Edozein motatako fitxategiak eranskin gisa txertatzea onartzen du. Bihurketak Ghostscript behar du eta fitxategi handietan denbora gehiago har dezake."
+convertToPdfA3bTooltipHeader = "PDF/A-3b bihurketari buruz"
+convertToPdfA3bTooltipTitle = "Zer egiten duen"
submit = "Add attachments"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "Gordeta"
label = "Igo sinaduraren irudia"
placeholder = "Hautatu irudi-fitxategia"
hint = "Igo zure sinaduraren PNG edo JPG irudia"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Kendu atzeko plano zuria (gardendu)"
+processing = "Irudia prozesatzen..."
+backgroundRemovalFailedTitle = "Atzeko planoa kentzeak huts egin du"
+backgroundRemovalFailedMessage = "Ezin izan da irudiaren atzeko planoa kendu. Jatorrizko irudia erabiliko da."
[sign.instructions]
title = "Nola gehitu sinadura"
@@ -2409,9 +2437,9 @@ label = "Lautu bakarrik inprimakiak"
desc = "Lautu soilik inprimaki-eremuak, beste elementu interaktiboak ukitu gabe utzita"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "Errendatze DPIa (aukerakoa, gomendatua 150 DPI)"
+help = "Utzi hutsik sistemaren lehenetsia erabiltzeko. DPI handiagoak irteera zorrotzagoa ematen du, baina prozesatze denbora eta fitxategi-tamaina handitzen ditu."
+placeholder = "adib. 150"
[flatten.results]
title = "Lautze-emaitzak"
@@ -2987,7 +3015,7 @@ header = "Moztu PDF"
submit = "Bidali"
noFileSelected = "Hautatu PDF fitxategi bat mozten hasteko"
reset = "Berrezarri PDF osoa"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Moztu automatikoki zuriuneak"
[crop.preview]
title = "Mozketa-arearen hautapena"
@@ -3218,6 +3246,7 @@ title = "Zentsura metodoa"
mode = "Modua"
automatic = "Automatikoa"
automaticDesc = "Bilatu terminoetan oinarrituta testua zentsuratu"
+automaticDisabledTooltip = "Hautatu fitxategiak fitxategi-kudeatzailean aldi berean hainbat fitxategi zentsuratzeko"
manual = "Eskuzkoa"
manualDesc = "Egin klik eta arrastatu area zehatzak zentsuratzeko"
manualComingSoon = "Eskuzko zentsura laster"
@@ -3288,8 +3317,35 @@ text = "Osoko hitzak bakarrik parekatzen ditu, ez partzialak. 'John' ez da 'John
title = "Bihurtu PDF-Irudira"
text = "Zentsuraren ondoren PDFa irudi-oinarriko PDF bihurtzen du. Honek zentsura-koadroen atzeko testua erabat kendua eta berreskuraezina dela bermatzen du."
+[redact.tooltip.manual.header]
+title = "Eskuzko zentsura-kontrolak"
+
+[redact.tooltip.manual.markText]
+title = "Testua markatzeko tresna"
+text = "Hautatu testua zuzenean PDFan zentsuratzeko markatzeko. Egin klik eta arrastatu zentsuratu nahi duzun testu zehatza nabarmentzeko."
+
+[redact.tooltip.manual.markArea]
+title = "Eremuak markatzeko tresna"
+text = "Marraztu laukizuzen eremuak PDFan zentsuratu beharreko eremuak markatzeko. Erabilgarria irudiak, sinadurak edo forma irregularrak zentsuratzeko."
+
+[redact.tooltip.manual.apply]
+title = "Aplikatu zentsurak"
+text = "Edukia markatu ondoren, egin klik 'Aplikatu' botoian markatutako eremu guztiak betiko zentsuratzeko. Zain kopuruak zenbat zentsura dauden aplikatzeko prest erakusten du."
+bullet1 = "Aplikatu aurretik markatu behar adina eremu"
+bullet2 = "Zain dauden zentsura guztiak batera aplikatzen dira"
+bullet3 = "Zentsurak ezin dira desegin aplikatu ondoren"
+
[redact.manual]
+title = "Zentsura-tresnak"
+instructions = "Hautatu testua edo marraztu eremuak PDFan zentsuratzeko edukia markatzeko."
+markText = "Markatu testua"
+markArea = "Markatu eremua"
+pendingLabel = "Zain:"
+applyWarning = "⚠️ Aplikazio iraunkorra; ezin da desegin eta azpiko datuak ezabatu egingo dira"
+apply = "Aplikatu"
+noMarks = "Ez dago zentsura-markarik. Erabili goiko tresnak edukia zentsuratzeko markatzeko."
header = "Zentsura eskuz"
+controlsTitle = "Eskuzko zentsura-kontrolak"
textBasedRedaction = "Testuan oinarritutako zentsura"
pageBasedRedaction = "Orrietan oinarritutako zentsura"
convertPDFToImageLabel = "Bihurtu PDFa PDF-Irudira (koadroaren atzeko testua kentzeko erabiltzen da)"
@@ -3406,17 +3462,17 @@ label = "Zatiketa bertikalak"
placeholder = "Sartu zatiketa bertikal kopurua"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Zatiketa modua"
+description = "Aukeratu orriak nola zatitu"
+splitAll = "Zatitu orri guztiak"
+splitAllExceptFirst = "Zatitu guztiak, lehena izan ezik"
+splitAllExceptLast = "Zatitu guztiak, azkena izan ezik"
+splitAllExceptFirstAndLast = "Zatitu guztiak, lehena eta azkena izan ezik"
+custom = "Orri pertsonalizatuak"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Orri-zenbaki pertsonalizatuak"
+placeholder = "adib. 2,4,6"
[AddStampRequest]
tags = "Stamp, Add image, center image, Watermark, PDF, Embed, Customize"
@@ -3713,7 +3769,7 @@ title = "PDF Orrialde bakarrera"
header = "PDF Orrialde bakarrera"
submit = "Orrialde bakarrera bihurtu"
description = "Tresna honek zure PDFko orri guztiak orri handi bakarrean batuko ditu. Zabalera bera izango du jatorrizko orrienarekin, baina altuera orri guztien altueren batura izango da."
-filenamePrefix = "orrialde_bakarra"
+filenamePrefix = "single_page"
[pdfToSinglePage.files]
placeholder = "Hautatu PDF fitxategi bat ikuspegi nagusian hasteko"
@@ -3780,17 +3836,17 @@ filesize = "Fitxategiaren tamaina"
label = "Aplikatu grisezko eskala konpresiorako"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Linearizatu PDFa webeko ikuspegi azkarrerako"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Bihurtu irudiak marrazki zuri-beltz"
+description = "ImageMagick erabiliz orriak kontraste handiko zuri-beltzera murrizten ditu tamaina ahalik eta gehien txikitzeko."
+unavailable = "ImageMagick ez dago instalatuta edo gaituta zerbitzari honetan"
+detailLevel = "Zehaztasun maila"
+edgeEmphasis = "Ertzen azpimarra"
+edgeLow = "Leuna"
+edgeMedium = "Orekatua"
+edgeHigh = "Indartsua"
[compress.tooltip.header]
title = "Konpresio ezarpenen ikuspegi orokorra"
@@ -3810,8 +3866,8 @@ title = "Gris-eskala"
text = "Aukeratu aukera hau irudi guztiak zuri-beltzera bihurtzeko; asko murriztu dezake fitxategiaren tamaina, bereziki eskaneatutako PDFetan edo irudi askoko dokumentuetan."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "Marrazki zuri-beltza"
+text = "Bihurtu orriak kontraste handiko zuri-beltzera ImageMagick erabiliz. Erabili zehaztasun maila edukia zenbateraino bihurtzen den beltz kontrolatzeko, eta ertzen azpimarra ertz-detekzioaren oldarkortasuna kontrolatzeko."
[compress.error]
failed = "Errore bat gertatu da PDFa konprimatzean."
@@ -3826,9 +3882,9 @@ _value = "Konpresio ezarpenak"
1 = "1-3 PDF konpresioa, 4-6 irudi-konpresio arina, 7-9 irudi-konpresio bizia Irudien kalitatea nabarmen murriztuko du"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Balio baxuek kalitatea hobeto mantentzen dute, baina fitxategi handiagoak sortzen dituzte"
+range4to6 = "Ertain-mailako konpresioa, kalitate-galeria moderatuarekin"
+range7to9 = "Balio altuek fitxategi-tamaina nabarmen murrizten dute, baina irudiaren garbitasuna gutxitu dezakete"
[decrypt]
passwordPrompt = "Fitxategi hau pasahitzarekin babestuta dago. Idatzi pasahitza:"
@@ -4069,7 +4125,7 @@ deleteSelected = "Ezabatu hautatutako orriak"
closePdf = "Itxi PDFa"
exportAll = "Esportatu PDFa"
downloadSelected = "Deskargatu hautatutako fitxategiak"
-annotations = "Annotations"
+annotations = "Oharpenak"
exportSelected = "Esportatu hautatutako orriak"
saveChanges = "Aldaketak gorde"
toggleTheme = "Gaia txandakatu"
@@ -4077,84 +4133,90 @@ language = "Hizkuntza"
toggleAnnotations = "Oharpenen ikusgarritasuna txandakatu"
search = "Bilatu PDF"
panMode = "Pan modua"
+applyRedactionsFirst = "Lehenik aplikatu zentsurak"
rotateLeft = "Biratu ezkerrera"
rotateRight = "Biratu eskuinera"
toggleSidebar = "Alboko barra txandakatu"
toggleBookmarks = "Laster-markak txandakatu"
print = "Inprimatu PDFa"
+draw = "Marraztu"
+redact = "Zentsuratu"
+exitRedaction = "Irten zentsura modutik"
+save = "Gorde"
downloadAll = "Deskargatu dena"
saveAll = "Gorde dena"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Ezkerrera"
+center = "Erdira"
+right = "Eskuinera"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "Oharrak"
+desc = "Erabili nabarmentzea, boligrafoa, testua eta oharrak. Aldaketak bere horretan geratzen dira—ez da lautu beharrik."
+highlight = "Nabarmendu"
+pen = "Boligrafoa"
+text = "Testu-koadroa"
+note = "Oharra"
+rectangle = "Laukizuzena"
+ellipse = "Elipsea"
+select = "Hautatu"
+exit = "Irten ohar-modutik"
+strokeWidth = "Zabalera"
+opacity = "Opakutasuna"
+strokeOpacity = "Trazuaren opakutasuna"
+fillOpacity = "Betegarriaren opakutasuna"
+fontSize = "Letra-tamaina"
+chooseColor = "Aukeratu kolorea"
+color = "Kolorea"
+strokeColor = "Trazuaren kolorea"
+fillColor = "Betegarriaren kolorea"
+underline = "Azpimarra"
+strikeout = "Marratua"
+squiggly = "Uhin-azpimarra"
+inkHighlighter = "Eskuzko nabarmentzailea"
+freehandHighlighter = "Eskuzko nabarmentzailea"
+square = "Karratua"
+circle = "Zirkulua"
+polygon = "Poligonoa"
+line = "Marra"
+stamp = "Gehitu irudia"
+textMarkup = "Testu-markaketa"
+drawing = "Marrazkia"
+shapes = "Formak"
+notesStamps = "Oharrak eta zigiluak"
+settings = "Ezarpenak"
+borderOn = "Ertza: aktibo"
+borderOff = "Ertza: desaktibo"
+editInk = "Editatu boligrafoa"
+editLine = "Editatu marra"
+editNote = "Editatu oharra"
+editText = "Editatu testu-koadroa"
+editTextMarkup = "Editatu testu-markaketa"
+editSelected = "Editatu oharpena"
+editSquare = "Editatu karratua"
+editCircle = "Editatu zirkulua"
+editPolygon = "Editatu poligonoa"
+unsupportedType = "Oharpen mota hau ez dago guztiz onartuta editatzeko."
+textAlignment = "Testuaren lerrokatzea"
+noteIcon = "Oharraren ikonoa"
+imagePreview = "Aurrebista"
+contents = "Testua"
+backgroundColor = "Atzeko planoaren kolorea"
+clearBackground = "Kendu atzeko planoa"
+noBackground = "Atzeko planorik ez"
+stampSettings = "Zigiluaren ezarpenak"
+savingCopy = "Deskarga prestatzen..."
+saveFailed = "Ezin da kopia gorde"
+saveReady = "Deskarga prest"
+selectAndMove = "Hautatu eta editatu"
+editSelectDescription = "Egin klik dagoen oharpen batean haren kolorea, opakutasuna, testua edo tamaina editatzeko."
+editStampHint = "Irudia aldatzeko, ezabatu zigilu hau eta gehitu beste berri bat."
+editSwitchToSelect = "Aldatu 'Hautatu eta editatu' modura oharpen hau editatzeko."
+undo = "Desegin"
+redo = "Berregin"
+applyChanges = "Aplikatu aldaketak"
+saveChanges = "Gorde aldaketak"
[search]
title = "Bilatu PDF"
@@ -4205,20 +4267,20 @@ settings = "Aukerak"
adminSettings = "Admin aukerak"
allTools = "All Tools"
reader = "Irakurri"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Ibilbideak"
+showMeAround = "Erakutsi ingurunea"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Ikusi hemen ibilbide gidatuak: Tresnen ibilbidea, V2 diseinu berriaren ibilbidea eta Administratzailearen ibilbidea."
+user = "Ikusi hemen ibilbide gidatuak: Tresnen ibilbidea eta V2 diseinu berriaren ibilbidea."
[quickAccess.helpMenu]
toolsTour = "Tresnen ibilaldia"
toolsTourDesc = "Ikasi tresnek zer egin dezaketen"
adminTour = "Administrazio ibilaldia"
adminTourDesc = "Arakatu admin ezarpenak eta ezaugarriak"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Ikusi V2ko berritasunak"
+whatsNewTourDesc = "Egin ibilbidea diseinu eguneratuan"
[admin]
error = "Errorea"
@@ -4237,6 +4299,8 @@ fetchError = "Ezarpenak kargatzeak huts egin du"
saveError = "Ezarpenak gordetzeak huts egin du"
saved = "Ezarpenak ongi gorde dira"
saveSuccess = "Ezarpenak ongi gorde dira"
+success = "Ezarpenak ongi gorde dira"
+error = "Ezarpenak gordetzeak huts egin du"
save = "Aldaketak gorde"
discard = "Baztertu"
restartRequired = "Berrabiarazi behar da"
@@ -4360,6 +4424,13 @@ description = "HTMLtik PDFra bihurtzeko WeasyPrint exekutagarriaren bide-izena (
label = "Unoconvert exekutagarria"
description = "Dokumentu-bihurketetarako LibreOffice unoconvert-en bide-izena (utzi hutsik lehenetsia erabiltzeko: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "Frontend URL"
+description = "Frontendarentzako oinarrizko URL (adib., https://pdf.example.com). Postaz bidalitako gonbidapen esteketarako eta mugikorreko QR kode bidezko igoeretarako erabiltzen da. Utzi hutsik backend URLa erabiltzeko."
+
+[admin.settings.badge]
+clickToUpgrade = "Egin klik planaren xehetasunak ikusteko"
+
[admin.settings.security]
title = "Segurtasuna"
description = "Konfiguratu autentifikazioa, saio-hasieraren portaera eta segurtasun-politikak."
@@ -4496,6 +4567,19 @@ connect = "Konektatu"
disconnect = "Deskonektatu"
disconnected = "Hornitzailea ondo deskonektatu da"
disconnectError = "Hornitzailea deskonektatzeak huts egin du"
+mobileScannerConvertToPdf = "Bihurtu irudiak PDFra"
+mobileScannerConvertToPdfDesc = "Igotako irudiak automatikoki PDF formatura bihurtzen ditu. Desgaituta badago, irudiak bere horretan mantenduko dira."
+mobileScannerImageResolution = "Irudiaren bereizmena"
+mobileScannerImageResolutionDesc = "Igotako irudien bereizmena. \"Murriztua\" aukerak irudiak gehienez 1200px-ra eskalatzen ditu fitxategi-tamaina murrizteko."
+imageResolutionFull = "Osoa (Jatorrizko tamaina)"
+imageResolutionReduced = "Murriztua (Gehienez 1200px)"
+mobileScannerPageFormat = "Orri-formatua"
+mobileScannerPageFormatDesc = "Bihurtutako irudientzako PDF orriaren tamaina. \"Mantendu\" aukerak irudiaren jatorrizko neurriak erabiltzen ditu."
+pageFormatKeep = "Mantendu (jatorrizko neurriak)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Doitu betetzeko"
+mobileScannerStretchToFitDesc = "Irudiak luzatu orri osoa betetzeko. Desgaituta badago, irudiak erdian jarriko dira itxura-erlazioa mantenduta."
[admin.settings.connections.ssoAutoLogin]
label = "SSO saio-hasiera automatikoa"
@@ -4564,6 +4648,122 @@ description = "Lehen SAML2 saio-hasieraan automatikoki sortu erabiltzaile-kontua
label = "Erregistroa blokeatu"
description = "Erabiltzaile berrien erregistroa saihestu SAML2 bidez"
+[admin.settings.connections.mobileScanner]
+label = "Telefono mugikorretik kargatzea"
+enable = "Gaitu QR kode bidezko kargaketa"
+description = "Baimendu erabiltzaileei mugikorretik fitxategiak igotzea QR kodea eskaneatuz"
+note = "Oharra: Frontend URLa konfiguratuta egotea behar du. "
+link = "Konfiguratu sistemaren ezarpenetan"
+mobileScannerConvertToPdf = "Bihurtu irudiak PDFra"
+mobileScannerConvertToPdfDesc = "Igotako irudiak automatikoki PDF formatura bihurtzen ditu. Desgaituta badago, irudiak bere horretan mantenduko dira."
+mobileScannerImageResolution = "Irudiaren bereizmena"
+mobileScannerImageResolutionDesc = "Igotako irudien bereizmena. \"Murriztua\" aukerak irudiak gehienez 1200px-ra eskalatzen ditu fitxategi-tamaina murrizteko."
+imageResolutionFull = "Osoa (Jatorrizko tamaina)"
+imageResolutionReduced = "Murriztua (Gehienez 1200px)"
+mobileScannerPageFormat = "Orri-formatua"
+mobileScannerPageFormatDesc = "Bihurtutako irudientzako PDF orriaren tamaina. \"Mantendu\" aukerak irudiaren jatorrizko neurriak erabiltzen ditu."
+pageFormatKeep = "Mantendu (jatorrizko neurriak)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Doitu betetzeko"
+mobileScannerStretchToFitDesc = "Irudiak luzatu orri osoa betetzeko. Desgaituta badago, irudiak erdian jarriko dira itxura-erlazioa mantenduta."
+
+[admin.settings.telegram]
+title = "Telegram bot-a"
+description = "Konfiguratu Telegram bot-aren konektibitatea, atzipen-kontrolak eta atzeraelikadura-portaera."
+
+[admin.settings.telegram.enabled]
+label = "Gaitu Telegram bot-a"
+description = "Baimendu erabiltzaileek Stirling PDFekin elkarreragitea konfiguratutako Telegram bot-aren bidez."
+
+[admin.settings.telegram.botUsername]
+label = "Bot-aren erabiltzaile-izena"
+description = "Zure Telegram bot-aren erabiltzaile-izen publikoa."
+
+[admin.settings.telegram.botToken]
+label = "Bot tokena"
+description = "BotFather-ek emandako API tokena zure Telegram bot-arentzat."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Sarrerako karpeta"
+description = "Pipeline direktorioaren azpiko karpeta, bertan gordetzen dira Telegrametik datozen fitxategiak."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Erabili karpeta-atzizki pertsonalizatua"
+description = "Erantsi txataren IDa sarrerako fitxategi-karpetetan, karga bakoitza txataren arabera isolatzeko."
+
+[admin.settings.telegram.accessControl]
+title = "Atzipen-kontrola"
+description = "Mugatu zein erabiltzaile edo kanalek elkarreragin dezaketen botarekin."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Baimendu erabiltzaile ID zehatzak"
+description = "Gaituta dagoenean, zerrendatutako erabiltzaile IDek bakarrik erabil dezakete bota."
+
+[admin.settings.telegram.allowUserIDs]
+label = "Baimendutako erabiltzaile IDak"
+description = "Sartu botarekin elkarreragin dezaketen Telegram erabiltzaile IDak."
+placeholder = "Gehitu erabiltzaile IDa eta sakatu Enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Baimendu kanal ID zehatzak"
+description = "Gaituta dagoenean, zerrendatutako kanal IDek bakarrik erabil dezakete bota."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "Baimendutako kanal IDak"
+description = "Sartu botarekin elkarreragin dezaketen Telegram kanal IDak."
+placeholder = "Gehitu kanal IDa eta sakatu Enter"
+
+[admin.settings.telegram.processing]
+title = "Prozesatzea"
+description = "Kontrolatu kontsulta-tarteak eta prozesatzearen denbora-mugak Telegram bidezko igoeretan."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Prozesatzearen denbora-muga (segundoak)"
+description = "Akatsa jakinarazi aurretik prozesatze-lan baten zain egoteko gehieneko denbora."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Kontsulta-tartea (ms)"
+description = "Telegram eguneratze berriak egiaztatzeko tarteen arteko denbora."
+
+[admin.settings.telegram.feedback]
+title = "Atzeraelikadura-mezuak"
+description = "Aukeratu botak noiz bidali behar duen atzeraelikadura erabiltzaileei eta kanalei."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Gaitu atzeraelikadura"
+description = "Kontrolatu botak atzeraelikadura-mezuak bidaliko dituen edo ez."
+
+[admin.settings.telegram.feedback.channel]
+title = "Kanaleko atzeraelikadura arauak"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Erakutsi \"Dokumentu baliodunik ez\" (kanala)"
+description = "Ezkutatu dokumentu baliodunik ez erantzuna kanal igoeretan."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Erakutsi prozesatze-erroreak (kanala)"
+description = "Bidali prozesatze-erroreen mezuak kanalei."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Erakutsi errore-mezuak (kanala)"
+description = "Erakutsi errore-mezu zehatzak kanaletarako."
+
+[admin.settings.telegram.feedback.user]
+title = "Erabiltzaileentzako atzeraelikadura arauak"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Erakutsi \"Dokumentu baliodunik ez\" (erabiltzailea)"
+description = "Ezkutatu 'dokumentu baliodunik ez' erantzuna erabiltzaileen igoeretan."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Erakutsi prozesatze-erroreak (erabiltzailea)"
+description = "Bidali prozesatze-erroreen mezuak erabiltzaileei."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Erakutsi errore-mezuak (erabiltzailea)"
+description = "Erakutsi errore-mezu zehatzak erabiltzaileentzat."
+
[admin.settings.database]
title = "Datu-basea"
description = "Konfiguratu datu-base konexio pertsonalizatuak enpresa-hedapenetarako."
@@ -4690,7 +4890,7 @@ description = "Sistema zabalagoko aldi baterako direktorioa garbitu ala ez (kont
label = "Prozesu-exekutorearen mugak"
description = "Konfiguratu saio-mugak eta denbora-mugak prozesu-exekutore bakoitzerako"
libreOffice = "LibreOffice"
-pdfToHtml = "PDFtik HTMLra"
+pdfToHtml = "PDF to HTML"
qpdf = "QPDF"
tesseract = "Tesseract OCR"
pythonOpenCv = "Python OpenCV"
@@ -4745,6 +4945,10 @@ description = "Baimendu administratzaileei erabiltzaileak posta elektronikoz gon
label = "Frontend URLa"
description = "Frontend-aren oinarrizko URLa (adib. https://pdf.example.com). Postako gonbidapen estekak sortzeko erabiltzen da. Utzi hutsik backend URLa erabiltzeko."
+[admin.settings.mail.frontendUrlNote]
+note = "Oharra: Frontend URLa konfiguratuta egotea behar du. "
+link = "Konfiguratu sistemaren ezarpenetan"
+
[admin.settings.legal]
title = "Dokumentazio legala"
description = "Konfiguratu dokumentu eta politika legaletarako estekak."
@@ -4770,7 +4974,7 @@ label = "Cookieen politika"
description = "Cookieen politikara doan URLa edo fitxategi-izena"
[admin.settings.legal.impressum]
-label = "Lege oharra"
+label = "Impressum"
description = "Impressum-era doan URLa edo fitxategi-izena (beharrezkoa jurisdikzio batzuetan)"
[admin.settings.premium]
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "Nire fitxategiak"
noRecentFiles = "Ez da azken fitxategirik aurkitu"
googleDriveNotAvailable = "Google Drive integrazioa ez dago erabilgarri"
+mobileUpload = "Mugikorretik kargatzea"
+mobileShort = "Mugikorra"
+mobileUploadNotAvailable = "Mugikorreko kargaketa ez dago gaituta"
downloadSelected = "Deskargatu hautatutakoak"
saveSelected = "Hautatutakoa gorde"
openFiles = "Ireki fitxategiak"
@@ -5244,7 +5451,7 @@ loading = "Kargatzen..."
back = "Atzera"
continue = "Jarraitu"
error = "Errorea"
-save = "Save"
+save = "Gorde"
[config.overview]
title = "Aplikazioaren konfigurazioa"
@@ -5307,6 +5514,15 @@ impact = "Gako hauek erabiltzen dituzten aplikazio edo zerbitzu guztiek funtzion
confirmPrompt = "Ziur jarraitu nahi duzula?"
confirmCta = "Gakoak berritu"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "API gakoaren errorea"
+failedToCreateApiKey = "Huts egin du API gakoa sortzeak."
+failedToRetrieveApiKey = "Ezin izan da erantzunetik API gakoa eskuratu."
+failedToFetchApiKey = "Ezin izan da API gakoa lortu."
+apiKeyRefreshed = "API gakoa freskatu da"
+apiKeyRefreshedBody = "Zure API gakoa ongi freskatu da."
+failedToRefreshApiKey = "Ezin izan da API gakoa freskatu."
+
[AddAttachmentsRequest]
attachments = "Eranskinak hautatu"
info = "Hautatu zure PDFari eransteko fitxategiak. Fitxategi hauek txertatuta egongo dira eta PDFaren eranskin-paneletik eskuragarri."
@@ -5412,14 +5628,14 @@ startTour = "Hasi bira"
startTourDescription = "Stirling PDFren ezaugarri nagusien gida-bira"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Hasi Sarbide azkarraren errailean Irakurlearen, Automatizazioaren, zure fitxategien eta ibilbide guztien artean jauzi egiteko."
+leftPanel = "Ezkerreko Tresnak panelean egin ditzakezun guztiak zerrendatzen dira. Arakatu kategoriak edo bilatu tresna bat azkar aurkitzeko."
+fileUpload = "Erabili Fitxategiak botoia PDF bat kargatzeko edo azkenetako bat hautatzeko. Lagina kargatuko dugu lan-eremua ikus dezazun."
+rightRail = "Eskuineko errailak fitxategiak hautatzeko, gaia edo hizkuntza aldatzeko eta emaitzak deskargatzeko ekintza azkarrak ditu."
+topBar = "Goiko barrak Ikustaile, Orrialde-editorea eta Fitxategi aktiboak artean aldatzeko aukera ematen du."
+pageEditorView = "Aldatu Orrialde-editorera orriak berrantolatzeko, biratzeko edo ezabatzeko."
+activeFilesView = "Erabili Fitxategi aktiboak irekitako guztia ikusteko eta zerrekin lan egin hautatzeko."
+wrapUp = "Hori da V2ko berritasuna. Ireki Ibilbideak menua edozein unetan hau, Tresnen ibilbidea edo Administratzailearen ibilbidea berriro ikusteko."
[onboarding.welcomeModal]
title = "Ongi etorri Stirling PDFra!"
@@ -5442,8 +5658,8 @@ showMeAround = "Erakutsi ingurunea"
skipTheTour = "Utzi bisita gidatua"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Ibilbidearen ikuspegi orokorra"
+body = "Stirling PDF V2k dozenaka tresna eta diseinu berritua dakartza. Egin ibilbide azkar bat aldaketak eta behar dituzun funtzioak non dauden ikusteko."
[onboarding.serverLicense]
skip = "Utzi oraingoz"
@@ -5452,7 +5668,7 @@ upgrade = "Eguneratu orain →"
freeTitle = "Zerbitzari-lizentzia"
overLimitTitle = "Beharrezkoa da zerbitzari-lizentzia"
overLimitBody = "Gure lizentziak baimentzen ditu {{freeTierLimit}} erabiltzaile doan zerbitzari bakoitzeko. {{overLimitUserCopy}} Stirling erabiltzaile dituzu. Jarraitzeko etenik gabe, eguneratu Stirling Server planera - eserleku mugagabeak, PDF testu-edizioa, eta admin kontrol osoa $99/zerbitzari/hilean."
-freeBody = "Gure Open-Core lizentziak zerbitzari bakoitzeko doan gehienez {{freeTierLimit}} erabiltzaile baimentzen ditu. Etenik gabe eskalatzeko, Stirling Server plana gomendatzen dugu - eserleku mugagabeak eta SSO euskarria $99/server/mo."
+freeBody = "Gure Open-Core lizentziak {{freeTierLimit}} erabiltzaile arte baimentzen ditu doan zerbitzari bakoitzeko. Etenik gabe eskalatzeko eta gure PDF testu-edizio tresna berrirako sarbide goiztiarra lortzeko, gomendatzen dugu Stirling Server plana - edizio osoa eta eserleku mugagabeak $99/zerbitzari/hilean."
[onboarding.desktopInstall]
title = "Deskargatu"
@@ -5498,7 +5714,7 @@ active = "Aktibo"
disabled = "Desgaituta"
activeSession = "Saio aktiboa"
member = "Kidea"
-admin = "Administratzailea"
+admin = "Admin"
editRole = "Rola editatu"
enable = "Gaitu"
disable = "Desgaitu"
@@ -5758,28 +5974,28 @@ contactSales = "Jarri salmentekin harremanetan"
contactToUpgrade = "Jarri gurekin harremanetan zure plana bertsio-berritzeko edo pertsonalizatzeko"
maxUsers = "Erabiltzaile kopuru maximoa"
upTo = "Gehienez"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Eskuratu zerbitzari-lizentzia"
+upgradeToEnterprise = "Eguneratu Enterprise bertsiora"
+selectPeriod = "Aukeratu fakturazio epea"
+monthlyBilling = "Hileko fakturazioa"
+yearlyBilling = "Urteko fakturazioa"
+checkoutOpened = "Ordainketa orria irekita"
+checkoutInstructions = "Amaitu zure erosketa Stripe fitxan. Ordainketa egin ondoren, itzuli hona eta freskatu orria lizentzia aktibatzeko. Lizentzia-gakoa ere posta elektronikoz jasoko duzu."
+activateLicense = "Aktibatu zure lizentzia"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Ordainketa orria fitxa berrian irekita"
+instructions = "Amaitu zure erosketa Stripe fitxan. Ordainketa osatuta dagoenean, lizentzia-gakoarekin posta bat jasoko duzu."
+enterKey = "Sartu behean zure lizentzia-gakoa plana aktibatzeko:"
+keyDescription = "Itsatsi lizentzia-gakoa zure postatik"
+activate = "Aktibatu lizentzia"
+doLater = "Geroago egingo dut"
+success = "Lizentzia aktibatuta!"
+successMessage = "Zure lizentzia ongi aktibatu da. Orain leiho hau itxi dezakezu."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "Posta elektronikoaren egiaztapena behar da"
+message = "Zure helbide elektronikoa egiaztatu beharko duzu Stripe-ren fakturazio atarian. Begiratu zure posta saioa hasteko esteka baten bila."
[plan.period]
month = "hilabete"
@@ -5983,8 +6199,8 @@ notAvailable = "Auditoretza-sistema ez dago eskuragarri"
notAvailableMessage = "Auditoretza-sistema ez dago konfiguratuta edo ez dago eskuragarri."
disabled = "Auditoretza-erregistroa desgaituta dago"
disabledMessage = "Gaitu auditoretza-erregistroa zure aplikazioaren konfigurazioan sistemaren gertaerak jarraitzeko."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Enterprise lizentzia behar da"
+enterpriseRequiredMessage = "Ikuskaritza-erregistroen sistema Enterprise ezaugarria da. Eguneratu Enterprise lizentziara auditoretza-erregistroak eta analitikak atzitzeko."
[audit.error]
title = "Errorea auditoretza-sistema kargatzean"
@@ -6078,7 +6294,7 @@ title = "Endpoints erabileraren diagrama"
[usage.table]
title = "Estatistika xeheak"
-endpoint = "Amaiera-puntua"
+endpoint = "Endpoint"
visits = "Bisitak"
percentage = "Ehunekoa"
noData = "Ez dago daturik eskuragarri"
@@ -6156,6 +6372,7 @@ description = "Sartu zure auto-ostatuko Stirling PDF zerbitzariaren URLa osoa"
[setup.server.error]
emptyUrl = "Sartu zerbitzari baten URLa"
+invalidUrl = "URL formatua baliogabea. Sartu baliozko URL bat, adibidez https://your-server.com"
unreachable = "Ezin izan da zerbitzarira konektatu"
testFailed = "Konexio proba huts egin du"
configFetch = "Ezin izan da zerbitzariaren konfigurazioa eskuratu. Egiaztatu URLa eta saiatu berriro."
@@ -6174,6 +6391,7 @@ connectingTo = "Hona konektatzen:"
submit = "Hasi saioa"
signInWith = "Hasi saioa honekin"
oauthPending = "Nabigatzailea irekitzen autentifikaziorako..."
+sso = "Single Sign-On"
orContinueWith = "Edo jarraitu emailarekin"
serverRequirement = "Oharra: zerbitzariak saioa hastea gaituta eduki behar du."
showInstructions = "Nola gaitu?"
@@ -6225,7 +6443,7 @@ paragraph = "Paragrafo orria"
sparse = "Testu sakabanatua"
[pdfTextEditor.groupingMode]
-auto = "Automatikoa"
+auto = "Auto"
paragraph = "Paragrafoa"
singleLine = "Lerro bakarra"
@@ -6239,8 +6457,8 @@ reset = "Aldaketak berrezarri"
downloadJson = "JSON deskargatu"
generatePdf = "PDF sortu"
saveChanges = "Gorde aldaketak"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Aplikatu aldaketak"
+downloadCopy = "Deskargatu kopia"
[pdfTextEditor.options.autoScaleText]
title = "Testua automatikoki eskalatu kutxetara egokitzeko"
@@ -6260,22 +6478,22 @@ title = "Editatutako testua PDF elementu bakarrera lotu"
description = "Gaituta dagoenean, editoreak editatutako testu-kutxa bakoitza PDFko testu-elementu bakar gisa esportatzen du, glifoen gainjartzeak edo letra-tipo nahasiak saihesteko."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Ezarpen aurreratuak"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Aurrebistaren mugak"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Testu eta irudien fokua"
+text = "Lan-eremu honek testua editatzean eta txertatutako irudiak berrantolatzean jartzen du fokua. Orrialdeko arte lan konplexuak, inprimaki-trepetak eta geruzadun grafikoak esportaziorako mantentzen dira, baina hemen ez dira guztiz editagarriak."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Aurrebistaren aldakortasuna"
+text = "Zenbait bisual (taulen ertzak, formak edo oharpenen itxura kasu) agian ez dira zehazki erakutsiko aurrebistan. Esportatutako PDFak jatorrizko marrazketa-aginduak mantentzen ditu ahal denean."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Alpha ikustailea"
+text = "Alpha ikustaile hau oraindik eboluzionatzen ari da—zenbait letra-tipo, kolore, gardentasun-efektu eta diseinu xehetasun pixka bat aldatu daitezke. Egiaztatu ongi sortutako PDFa partekatu aurretik."
[pdfTextEditor.manual]
mergeTooltip = "Hautatutako kutxak batu"
@@ -6398,3 +6616,58 @@ title = "Testua gehitzearen emaitzak"
[addText.error]
failed = "Errore bat gertatu da testua PDFari gehitzean."
+
+[mobileUpload]
+title = "Kargatu mugikorretik"
+description = "Eskaneatu argazkiak igotzeko. Irudiak automatikoki PDFra bihurtzen dira."
+descriptionNoConvert = "Eskaneatu argazkiak zure gailu mugikorretik igotzeko."
+error = "Konexio-errorea"
+pollingError = "Errorea fitxategiak egiaztatzean"
+sessionId = "Saioaren IDa"
+sessionCreateError = "Ezin izan da saioa sortu"
+expiryWarning = "Saioa laster iraungiko da"
+expiryWarningMessage = "QR kode hau {{seconds}} segundotan iraungiko da. Kode berria automatikoki sortuko da."
+filesReceived = "Jasota: {{count}} fitxategi"
+connected = "Gailu mugikorra konektatuta"
+instructions = "Eskaneatu telefonoaren kamerarekin. Irudiak automatikoki PDFra bihurtzen dira."
+instructionsNoConvert = "Eskaneatu telefonoaren kamerarekin fitxategiak igotzeko."
+
+[mobileScanner]
+title = "Mugikorreko eskaneatzailea"
+noSession = "Saio baliogabea"
+noSessionMessage = "Eskaneatu baliozko QR kode bat orri honetara sartzeko."
+validating = "Saioa balioztatzen..."
+sessionInvalid = "Saio-errorea"
+sessionExpired = "Saio hau iraungi da. Freskatu eta saiatu berriro."
+sessionNotFound = "Ez da saioa aurkitu. Freskatu eta saiatu berriro."
+sessionValidationError = "Ezin da saioa egiaztatu. Saiatu berriro."
+uploadSuccess = "Kargaketa arrakastatsua!"
+uploadSuccessMessage = "Zure irudiak transferitu dira."
+httpsRequired = "Kamerarako sarbideak HTTPS edo localhost behar du. Erabili HTTPS edo sartu localhost bidez."
+uploadFailed = "Kargaketak huts egin du. Saiatu berriro."
+uploading = "Kargatzen..."
+connected = "Konektatuta"
+connecting = "Konektatzen..."
+chooseMethod = "Aukeratu kargaketa-metodoa"
+chooseMethodDescription = "Hautatu dokumentuak nola eskaneatu eta igo nahi dituzun"
+camera = "Kamera"
+cameraDescription = "Eskaneatu dokumentuak zure gailuaren kamerarekin, ertz automatikoz detektatuta"
+fileUpload = "Fitxategi-igoera"
+fileDescription = "Igo dauden argazkiak edo dokumentuak zure gailutik"
+cameraAccessDenied = "Kamerarako sarbidea ukatu da. Gaitu kamerarako sarbidea."
+back = "Atzera"
+settings = "Ezarpenak"
+edgeDetection = "Ertz-detekzioa"
+flashlight = "Lanpara"
+flash = "Flash"
+processing = "Prozesatzen..."
+capture = "Atera argazkia"
+selectFilesPrompt = "Hautatu igoko diren fitxategiak"
+selectImage = "Hautatu irudia"
+preview = "Aurrebista"
+retake = "Berriz atera"
+addToBatch = "Gehitu lotean"
+upload = "Igo"
+batchImages = "Lotea"
+clearBatch = "Garbitu"
+uploadAll = "Igo dena"
diff --git a/frontend/public/locales/fa-IR/translation.toml b/frontend/public/locales/fa-IR/translation.toml
index 25c8dd246..8ed86b796 100644
--- a/frontend/public/locales/fa-IR/translation.toml
+++ b/frontend/public/locales/fa-IR/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "شما تغییرات ذخیرهنشدهای در PDF دارید."
+pendingRedactionsTitle = "سانسورهای اعمالنشده"
+pendingRedactions = "شما سانسورهای اعمالنشدهای دارید که از دست خواهند رفت."
areYouSure = "مطمئنید میخواهید خارج شوید؟"
unsavedChangesTitle = "تغییرات ذخیرهنشده"
keepWorking = "ادامه کار"
discardChanges = "لغو تغییرات و خروج"
+discardRedactions = "حذف و خروج"
applyAndContinue = "ذخیره و خروج"
exportAndContinue = "خروجی بگیرید و ادامه دهید"
cancel = "انصراف"
@@ -364,6 +367,7 @@ advanced = "پیشرفته"
title = "امنیت و احراز هویت"
security = "امنیت"
connections = "اتصالات"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "مجوزها و آنالیتیکس"
@@ -438,25 +442,34 @@ currentVersion = "نسخه فعلی"
latestVersion = "آخرین نسخه"
checkForUpdates = "بررسی بهروزرسانی"
viewDetails = "مشاهده جزئیات"
+serverNeedsUpdate = "سرور باید توسط مدیر بهروزرسانی شود"
+
+[settings.general.versionInfo]
+title = "اطلاعات نسخه"
+description = "جزئیات نسخه دسکتاپ و سرور"
+desktop = "نسخه دسکتاپ"
+server = "نسخه سرور"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "امنیت"
+description = "رمز عبور خود را بهروزرسانی کنید تا حسابتان ایمن بماند."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "رمز عبور خود را تغییر دهید. پس از بهروزرسانی از حساب خارج خواهید شد."
+required = "همه فیلدها الزامی هستند."
+mismatch = "رمزهای عبور جدید با هم مطابقت ندارند."
+error = "امکان بهروزرسانی رمز عبور نیست. لطفاً رمز عبور فعلی خود را بررسی کرده و دوباره تلاش کنید."
+success = "رمز عبور با موفقیت بهروزرسانی شد. لطفاً دوباره وارد شوید."
+ssoDisabled = "تغییر رمز عبور توسط ارائهدهنده هویت شما مدیریت میشود."
+current = "رمز عبور فعلی"
+currentPlaceholder = "رمز عبور فعلی خود را وارد کنید"
+new = "رمز عبور جدید"
+newPlaceholder = "یک رمز عبور جدید وارد کنید"
+confirm = "تأیید رمز عبور جدید"
+confirmPlaceholder = "رمز عبور جدید خود را دوباره وارد کنید"
+update = "بهروزرسانی رمز عبور"
+
+
[settings.hotkeys]
title = "میانبرهای صفحهکلید"
@@ -511,16 +524,16 @@ low = "کم"
title = "تغییر مشخصات"
header = "بهروزرسانی جزئیات حساب کاربری"
changePassword = "شما از مشخصات پیشفرض ورود استفاده میکنید. لطفاً یک رمز عبور جدید وارد کنید"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "حساب شما توسط ارائهدهنده هویت شما مدیریت میشود."
newUsername = "نام کاربری جدید"
oldPassword = "رمز عبور فعلی"
newPassword = "رمز عبور جدید"
confirmNewPassword = "تأیید رمز عبور جدید"
submit = "ثبت تغییرات"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "حساب بهروزرسانی شد"
+description = "تغییرات ذخیره شد. لطفاً دوباره وارد شوید."
+error = "امکان بهروزرسانی نام کاربری نیست. لطفاً رمز عبور خود را بررسی کرده و دوباره تلاش کنید."
+changeUsername = "نام کاربری خود را بهروزرسانی کنید. پس از بهروزرسانی از حساب خارج خواهید شد."
[account]
title = "تنظیمات حساب"
@@ -528,6 +541,8 @@ accountSettings = "تنظیمات حساب"
adminSettings = "تنظیمات ادمین - مشاهده و اضافه کردن کاربران"
userControlSettings = "تنظیمات کنترل کاربران"
changeUsername = "تغییر نام کاربری"
+changeUsernameDescription = "نام کاربری خود را بهروزرسانی کنید. پس از بهروزرسانی از حساب خارج خواهید شد."
+newUsernamePlaceholder = "نام کاربری جدید خود را وارد کنید"
newUsername = "نام کاربری جدید"
password = "رمز عبور تأییدیه"
oldPassword = "رمز عبور قدیمی"
@@ -738,8 +753,8 @@ desc = "افزودن امضا به PDF با کشیدن، متن یا تصویر"
[home.annotate]
tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+title = "حاشیهنویسی"
+desc = "هایلایت، رسم، افزودن یادداشت و شکلها در نمایشگر"
[home.flatten]
tags = "سادهسازی,حذف,تعامل"
@@ -952,7 +967,7 @@ title = "همپوشانی PDFها"
[home.pdfTextEditor]
title = "ویرایشگر متن PDF"
-desc = "ویرایش متن و تصاویر موجود در PDFها"
+desc = "بازبینی و ویرایش خروجیهای JSON Stirling PDF با ویرایش گروهی متن و بازتولید PDF"
[home.addText]
tags = "متن,حاشیهنویسی,برچسب"
@@ -963,6 +978,7 @@ desc = "افزودن متن دلخواه در هر جای PDF"
addFiles = "افزودن فایلها"
uploadFromComputer = "بارگذاری از رایانه"
openFromComputer = "باز کردن از رایانه"
+mobileUpload = "آپلود از موبایل"
[viewPdf]
tags = "مشاهده،خواندن،حاشیهنویسی،متن،تصویر"
@@ -1278,21 +1294,33 @@ cbzOptions = "گزینههای CBZ به PDF"
optimizeForEbook = "بهینهسازی PDF برای کتابخوانها (از Ghostscript استفاده میکند)"
cbzOutputOptions = "گزینههای PDF به CBZ"
cbzDpi = "DPI برای رندر تصویر"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "گزینههای CBR"
+cbrOutputOptions = "گزینههای PDF به CBR"
+cbrDpi = "DPI برای رندر تصویر"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "گزینههای eBook به PDF"
+ebookOptionsDesc = "گزینههای تبدیل eBook به PDF"
+embedAllFonts = "جاسازی همه فونتها"
+embedAllFontsDesc = "همه فونتهای eBook را در PDF تولیدشده جاسازی کن"
+includeTableOfContents = "شامل فهرست مطالب"
+includeTableOfContentsDesc = "افزودن فهرست مطالب تولیدشده به PDF حاصل"
+includePageNumbers = "شامل شماره صفحات"
+includePageNumbersDesc = "افزودن شماره صفحات به PDF تولیدشده"
+optimizeForEbookPdf = "بهینهسازی برای خوانندگان eBook"
+optimizeForEbookPdfDesc = "بهینهسازی PDF برای خواندن eBook (حجم فایل کمتر، رندر بهتر روی دستگاههای eInk)"
+
+[convert.epubOptions]
+epubOptions = "گزینههای PDF به eBook"
+epubOptionsDesc = "گزینههای تبدیل PDF به EPUB/AZW3"
+detectChapters = "شناسایی فصلها"
+detectChaptersDesc = "شناسایی عناوینی که شبیه فصل هستند و درج شکست صفحه EPUB"
+targetDevice = "دستگاه هدف"
+targetDeviceDesc = "یک پروفایل خروجی بهینهشده برای دستگاه خوانش انتخاب کنید"
+outputFormat = "فرمت خروجی"
+outputFormatDesc = "فرمت خروجی eBook را انتخاب کنید"
+tabletPhone = "تبلت/گوشی (بههمراه تصاویر)"
+kindleEink = "Kindle e-Ink (بهینهشده برای متن)"
[imageToPdf]
tags = "تبدیل،عکس،jpg،تصویر،عکس"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "افزودن پیوست"
remove = "حذف پیوست"
embed = "جاسازی پیوست"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "تبدیل به PDF/A-3b"
+convertToPdfA3bDescription = "یک PDF آرشیوی با پیوستهای توکار ایجاد میکند"
+convertToPdfA3bTooltip = "PDF/A-3b یک فرمت آرشیوی برای حفظ بلندمدت است. این فرمت اجازه میدهد هر نوع فرمت فایلی را بهعنوان پیوست جاسازی کنید. تبدیل نیازمند Ghostscript است و ممکن است برای فایلهای بزرگ بیشتر زمان ببرد."
+convertToPdfA3bTooltipHeader = "درباره تبدیل PDF/A-3b"
+convertToPdfA3bTooltipTitle = "عملکرد آن"
submit = "Add attachments"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "ذخیرهشده"
label = "بارگذاری تصویر امضا"
placeholder = "انتخاب فایل تصویر"
hint = "یک تصویر PNG یا JPG از امضای خود بارگذاری کنید"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "حذف پسزمینه سفید (شفافسازی)"
+processing = "در حال پردازش تصویر..."
+backgroundRemovalFailedTitle = "حذف پسزمینه ناموفق بود"
+backgroundRemovalFailedMessage = "امکان حذف پسزمینه از تصویر نبود. از تصویر اصلی استفاده میشود."
[sign.instructions]
title = "چگونه امضا اضافه کنیم"
@@ -2409,9 +2437,9 @@ label = "فقط فرمها را یکپارچه کن"
desc = "فقط فیلدهای فرم را تختسازی کن و سایر عناصر تعاملی را دستنخورده بگذار"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "DPI رندر (اختیاری، 150 DPI توصیه میشود)"
+help = "برای استفاده از پیشفرض سیستم خالی بگذارید. DPI بالاتر خروجی را شارپتر میکند اما زمان پردازش و اندازه فایل را افزایش میدهد."
+placeholder = "مثلاً 150"
[flatten.results]
title = "نتایج تختسازی"
@@ -2987,7 +3015,7 @@ header = "برش PDF"
submit = "ارسال"
noFileSelected = "برای شروع برش یک فایل PDF انتخاب کنید"
reset = "بازنشانی به کل PDF"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "برش خودکار فضاهای خالی"
[crop.preview]
title = "انتخاب ناحیه برش"
@@ -3218,6 +3246,7 @@ title = "روش پنهانسازی"
mode = "حالت"
automatic = "خودکار"
automaticDesc = "پنهانسازی متن بر اساس عبارات جستجو"
+automaticDisabledTooltip = "برای سانسور چند فایل بهصورت همزمان، فایلها را در مدیر فایل انتخاب کنید"
manual = "دستی"
manualDesc = "برای پنهانسازی نواحی خاص کلیک و درگ کنید"
manualComingSoon = "پنهانسازی دستی بهزودی"
@@ -3288,8 +3317,35 @@ text = "فقط کلمات کامل را مطابقت میدهد، نه تطا
title = "تبدیل به PDF-Image"
text = "پس از پنهانسازی، PDF را به یک PDF مبتنی بر تصویر تبدیل میکند. این اطمینان میدهد که متن پشت کادرهای پنهانسازی کاملاً حذف و غیرقابل بازیابی شود."
+[redact.tooltip.manual.header]
+title = "کنترلهای سانسور دستی"
+
+[redact.tooltip.manual.markText]
+title = "ابزار علامتگذاری متن"
+text = "متن را مستقیماً روی PDF انتخاب کنید تا برای سانسور علامتگذاری شود. برای برجستهکردن متن خاصی که میخواهید سانسور کنید، کلیک کرده و بکشید."
+
+[redact.tooltip.manual.markArea]
+title = "ابزار علامتگذاری ناحیه"
+text = "ناحیههای مستطیلی روی PDF بکشید تا برای سانسور علامتگذاری شوند. برای سانسور تصاویر، امضاها یا شکلهای نامنظم مفید است."
+
+[redact.tooltip.manual.apply]
+title = "اعمال سانسورها"
+text = "پس از علامتگذاری محتوا، روی 'اعمال' کلیک کنید تا همه نواحی علامتگذاریشده بهطور دائمی سانسور شوند. شمارنده در انتظار نشان میدهد چند سانسور آماده اعمال است."
+bullet1 = "پیش از اعمال، هر تعداد ناحیه که لازم است علامت بزنید"
+bullet2 = "تمام سانسورهای در انتظار یکجا اعمال میشوند"
+bullet3 = "پس از اعمال، سانسورها قابل بازگشت نیستند"
+
[redact.manual]
+title = "ابزارهای سانسور"
+instructions = "متن را انتخاب کنید یا ناحیههایی روی PDF بکشید تا برای سانسور علامتگذاری شود."
+markText = "علامتگذاری متن"
+markArea = "علامتگذاری ناحیه"
+pendingLabel = "در انتظار:"
+applyWarning = "⚠️ اعمال دائمی، قابل بازگشت نیست و دادههای زیرین حذف خواهند شد"
+apply = "اعمال"
+noMarks = "هیچ علامت سانسوری وجود ندارد. از ابزارهای بالا برای علامتگذاری محتوا جهت سانسور استفاده کنید."
header = "پنهانسازی دستی"
+controlsTitle = "کنترلهای سانسور دستی"
textBasedRedaction = "پنهانسازی مبتنی بر متن"
pageBasedRedaction = "پنهانسازی مبتنی بر صفحه"
convertPDFToImageLabel = "تبدیل PDF به PDF-Image (برای حذف متن پشت کادر استفاده میشود)"
@@ -3406,17 +3462,17 @@ label = "تقسیمات عمودی"
placeholder = "تعداد تقسیمات عمودی را وارد کنید"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "حالت تقسیم"
+description = "نحوه تقسیم صفحات را انتخاب کنید"
+splitAll = "تقسیم همه صفحات"
+splitAllExceptFirst = "تقسیم همه بهجز اول"
+splitAllExceptLast = "تقسیم همه بهجز آخر"
+splitAllExceptFirstAndLast = "تقسیم همه بهجز اول و آخر"
+custom = "صفحات سفارشی"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "شماره صفحات سفارشی"
+placeholder = "مثلاً 2,4,6"
[AddStampRequest]
tags = "مهر، افزودن تصویر، واترمارک، PDF، سفارشیسازی"
@@ -3780,17 +3836,17 @@ filesize = "اندازه فایل"
label = "اعمال مقیاس خاکستری برای فشردهسازی"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "خطیسازی PDF برای نمایش سریع در وب"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "تبدیل تصاویر به Line Art"
+description = "از ImageMagick برای کاهش صفحات به سیاهوسفید با کنتراست بالا جهت حداکثر کاهش حجم استفاده میکند."
+unavailable = "ImageMagick روی این سرور نصب یا فعال نشده است"
+detailLevel = "سطح جزئیات"
+edgeEmphasis = "تأکید لبهها"
+edgeLow = "ملایم"
+edgeMedium = "متعادل"
+edgeHigh = "قوی"
[compress.tooltip.header]
title = "مرور تنظیمات فشردهسازی"
@@ -3811,7 +3867,7 @@ text = "با انتخاب این گزینه تمام تصاویر به سیاه
[compress.tooltip.lineArt]
title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+text = "تبدیل صفحات به سیاهوسفید با کنتراست بالا با استفاده از ImageMagick. از «سطح جزئیات» برای کنترل میزان سیاهشدن محتوا و از «تأکید لبهها» برای کنترل شدت تشخیص لبهها استفاده کنید."
[compress.error]
failed = "هنگام فشردهسازی PDF خطایی رخ داد."
@@ -3826,9 +3882,9 @@ _value = "تنظیمات فشردهسازی"
1 = "1-3 فشردهسازی PDF، 4-6 فشردهسازی سبک تصویر، 7-9 فشردهسازی شدید تصویر باعث کاهش چشمگیر کیفیت تصویر میشود"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "مقادیر پایین کیفیت را بهتر حفظ میکنند اما منجر به فایلهای بزرگتر میشوند"
+range4to6 = "فشردهسازی متوسط با کاهش کیفیت ملایم"
+range7to9 = "مقادیر بالاتر اندازه فایل را بهطور قابل توجهی کاهش میدهند اما ممکن است وضوح تصویر را کم کنند"
[decrypt]
passwordPrompt = "این فایل با گذرواژه محافظت شده است. لطفاً گذرواژه را وارد کنید:"
@@ -4069,7 +4125,7 @@ deleteSelected = "حذف صفحات انتخابشده"
closePdf = "بستن PDF"
exportAll = "برونبری PDF"
downloadSelected = "دانلود فایلهای انتخابشده"
-annotations = "Annotations"
+annotations = "حاشیهنویسیها"
exportSelected = "برونبری صفحات انتخابشده"
saveChanges = "ذخیره تغییرات"
toggleTheme = "تغییر تم"
@@ -4077,84 +4133,90 @@ language = "زبان"
toggleAnnotations = "تغییر وضعیت نمایش حاشیهنویسیها"
search = "جستجوی PDF"
panMode = "حالت پیمایش"
+applyRedactionsFirst = "ابتدا سانسورها را اعمال کنید"
rotateLeft = "چرخش به چپ"
rotateRight = "چرخش به راست"
toggleSidebar = "تغییر وضعیت نوار کناری"
toggleBookmarks = "نمایش/پنهانکردن نشانکها"
print = "چاپ PDF"
+draw = "رسم"
+redact = "سانسور"
+exitRedaction = "خروج از حالت سانسور"
+save = "ذخیره"
downloadAll = "دانلود همه"
saveAll = "ذخیره همه"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "چپ"
+center = "وسط"
+right = "راست"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "حاشیهنویسی"
+desc = "از هایلایت، قلم، متن و یادداشتها استفاده کنید. تغییرات زنده میمانند—نیازی به فلتکردن نیست."
+highlight = "هایلایت"
+pen = "قلم"
+text = "کادر متن"
+note = "یادداشت"
+rectangle = "مستطیل"
+ellipse = "بیضی"
+select = "انتخاب"
+exit = "خروج از حالت حاشیهنویسی"
+strokeWidth = "ضخامت"
+opacity = "شفافیت"
+strokeOpacity = "شفافیت خط دور"
+fillOpacity = "شفافیت پُرکردن"
+fontSize = "اندازه فونت"
+chooseColor = "انتخاب رنگ"
+color = "رنگ"
+strokeColor = "رنگ خط دور"
+fillColor = "رنگ پُرکردن"
+underline = "زیرخط"
+strikeout = "خطخوردگی"
+squiggly = "خط موجدار"
+inkHighlighter = "هایلایتر آزاد"
+freehandHighlighter = "هایلایتر آزاد"
+square = "مربع"
+circle = "دایره"
+polygon = "چندضلعی"
+line = "خط"
+stamp = "افزودن تصویر"
+textMarkup = "نشانهگذاری متن"
+drawing = "رسم"
+shapes = "اشکال"
+notesStamps = "یادداشتها و مهرها"
+settings = "تنظیمات"
+borderOn = "حاشیه: روشن"
+borderOff = "حاشیه: خاموش"
+editInk = "ویرایش قلم"
+editLine = "ویرایش خط"
+editNote = "ویرایش یادداشت"
+editText = "ویرایش کادر متن"
+editTextMarkup = "ویرایش نشانهگذاری متن"
+editSelected = "ویرایش حاشیهنویسی"
+editSquare = "ویرایش مربع"
+editCircle = "ویرایش دایره"
+editPolygon = "ویرایش چندضلعی"
+unsupportedType = "این نوع حاشیهنویسی بهطور کامل برای ویرایش پشتیبانی نمیشود."
+textAlignment = "تراز متن"
+noteIcon = "آیکون یادداشت"
+imagePreview = "پیشنمایش"
+contents = "متن"
+backgroundColor = "رنگ پسزمینه"
+clearBackground = "حذف پسزمینه"
+noBackground = "بدون پسزمینه"
+stampSettings = "تنظیمات مهر"
+savingCopy = "در حال آمادهسازی دانلود..."
+saveFailed = "امکان ذخیره نسخه وجود ندارد"
+saveReady = "دانلود آماده است"
+selectAndMove = "انتخاب و ویرایش"
+editSelectDescription = "روی یک حاشیهنویسی موجود کلیک کنید تا رنگ، شفافیت، متن یا اندازه آن را ویرایش کنید."
+editStampHint = "برای تغییر تصویر، این مهر را حذف کرده و یک مورد جدید اضافه کنید."
+editSwitchToSelect = "برای ویرایش این حاشیهنویسی به حالت انتخاب و ویرایش بروید."
+undo = "واگرد"
+redo = "انجام مجدد"
+applyChanges = "اعمال تغییرات"
+saveChanges = "ذخیره تغییرات"
[search]
title = "جستجوی PDF"
@@ -4205,20 +4267,20 @@ settings = "تنظیمات"
adminSettings = "تنظیمات مدیر"
allTools = "All Tools"
reader = "نمایشگر"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "تورها"
+showMeAround = "راهنماییام کن"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "راهنماها را اینجا تماشا کنید: تور ابزارها، تور چیدمان جدید V2 و تور مدیریت."
+user = "راهنماها را اینجا تماشا کنید: تور ابزارها و تور چیدمان جدید V2."
[quickAccess.helpMenu]
toolsTour = "تور ابزارها"
toolsTourDesc = "با قابلیتهای ابزارها آشنا شوید"
adminTour = "تور مدیریت"
adminTourDesc = "تنظیمات و قابلیتهای مدیریت را بررسی کنید"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "مشاهده تازههای V2"
+whatsNewTourDesc = "تور چیدمان بهروزشده"
[admin]
error = "خطا"
@@ -4237,6 +4299,8 @@ fetchError = "بارگذاری تنظیمات ناموفق بود"
saveError = "ذخیره تنظیمات ناموفق بود"
saved = "تنظیمات با موفقیت ذخیره شد"
saveSuccess = "تنظیمات با موفقیت ذخیره شد"
+success = "تنظیمات با موفقیت ذخیره شد"
+error = "ذخیره تنظیمات انجام نشد"
save = "ذخیره تغییرات"
discard = "نادیده گرفتن"
restartRequired = "نیاز به راهاندازی مجدد"
@@ -4360,6 +4424,13 @@ description = "مسیر فایل اجرایی WeasyPrint برای تبدیل HTM
label = "فایل اجرایی Unoconvert"
description = "مسیر LibreOffice unoconvert برای تبدیل اسناد (خالی بگذارید برای پیشفرض: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "Frontend URL"
+description = "آدرس پایه برای فرانتاند (مثلاً https://pdf.example.com). برای لینکهای دعوت ایمیل و آپلودهای کد QR موبایل استفاده میشود. برای استفاده از آدرس بکاند خالی بگذارید."
+
+[admin.settings.badge]
+clickToUpgrade = "برای مشاهده جزئیات طرح کلیک کنید"
+
[admin.settings.security]
title = "امنیت"
description = "پیکربندی احراز هویت، رفتار ورود و سیاستهای امنیتی."
@@ -4496,6 +4567,19 @@ connect = "اتصال"
disconnect = "قطع اتصال"
disconnected = "ارائهدهنده با موفقیت قطع شد"
disconnectError = "قطع ارتباط ارائهدهنده ناموفق بود"
+mobileScannerConvertToPdf = "تبدیل تصاویر به PDF"
+mobileScannerConvertToPdfDesc = "تصاویر آپلودشده را بهصورت خودکار به فرمت PDF تبدیل کن. در صورت غیرفعال بودن، تصاویر بدون تغییر باقی میمانند."
+mobileScannerImageResolution = "وضوح تصویر"
+mobileScannerImageResolutionDesc = "وضوح تصاویر آپلودشده. «کاهشیافته» تصاویر را تا حداکثر 1200px مقیاس میکند تا اندازه فایل کاهش یابد."
+imageResolutionFull = "کامل (اندازه اصلی)"
+imageResolutionReduced = "کاهشیافته (حداکثر 1200px)"
+mobileScannerPageFormat = "فرمت صفحه"
+mobileScannerPageFormatDesc = "اندازه صفحه PDF برای تصاویر تبدیلشده. «حفظ» از ابعاد اصلی تصویر استفاده میکند."
+pageFormatKeep = "حفظ (ابعاد اصلی)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "کشیدن برای پر کردن"
+mobileScannerStretchToFitDesc = "تصاویر را برای پر کردن کل صفحه بکش. در صورت غیرفعال بودن، تصاویر با حفظ نسبت در مرکز قرار میگیرند."
[admin.settings.connections.ssoAutoLogin]
label = "ورود خودکار SSO"
@@ -4518,11 +4602,11 @@ label = "URL صادرکننده"
description = "Issuer URL ارائهدهنده OAuth2"
[admin.settings.connections.oauth2.clientId]
-label = "شناسهٔ کلاینت"
+label = "Client ID"
description = "Client ID مربوط به OAuth2 از ارائهدهنده شما"
[admin.settings.connections.oauth2.clientSecret]
-label = "راز کلاینت"
+label = "Client Secret"
description = "Client Secret مربوط به OAuth2 از ارائهدهنده شما"
[admin.settings.connections.oauth2.useAsUsername]
@@ -4553,7 +4637,7 @@ label = "ارائهدهنده"
description = "نام ارائهدهنده SAML2"
[admin.settings.connections.saml2.registrationId]
-label = "شناسهٔ ثبتنام"
+label = "Registration ID"
description = "شناسه ثبتنام SAML2"
[admin.settings.connections.saml2.autoCreateUser]
@@ -4564,6 +4648,122 @@ description = "ایجاد خودکار حساب کاربری در اولین و
label = "مسدود کردن ثبتنام"
description = "جلوگیری از ثبتنام کاربر جدید از طریق SAML2"
+[admin.settings.connections.mobileScanner]
+label = "آپلود از تلفن همراه"
+enable = "فعالسازی آپلود با کد QR"
+description = "اجازه دهید کاربران با اسکن کد QR از دستگاههای موبایل فایل آپلود کنند"
+note = "توجه: نیاز به پیکربندی آدرس فرانتاند دارد. "
+link = "پیکربندی در تنظیمات سیستم"
+mobileScannerConvertToPdf = "تبدیل تصاویر به PDF"
+mobileScannerConvertToPdfDesc = "تصاویر آپلودشده را بهصورت خودکار به فرمت PDF تبدیل کن. در صورت غیرفعال بودن، تصاویر بدون تغییر باقی میمانند."
+mobileScannerImageResolution = "وضوح تصویر"
+mobileScannerImageResolutionDesc = "وضوح تصاویر آپلودشده. «کاهشیافته» تصاویر را تا حداکثر 1200px مقیاس میکند تا اندازه فایل کاهش یابد."
+imageResolutionFull = "کامل (اندازه اصلی)"
+imageResolutionReduced = "کاهشیافته (حداکثر 1200px)"
+mobileScannerPageFormat = "فرمت صفحه"
+mobileScannerPageFormatDesc = "اندازه صفحه PDF برای تصاویر تبدیلشده. «حفظ» از ابعاد اصلی تصویر استفاده میکند."
+pageFormatKeep = "حفظ (ابعاد اصلی)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "کشیدن برای پر کردن"
+mobileScannerStretchToFitDesc = "تصاویر را برای پر کردن کل صفحه بکش. در صورت غیرفعال بودن، تصاویر با حفظ نسبت در مرکز قرار میگیرند."
+
+[admin.settings.telegram]
+title = "ربات تلگرام"
+description = "پیکربندی اتصال ربات تلگرام، کنترلهای دسترسی و رفتار بازخورد."
+
+[admin.settings.telegram.enabled]
+label = "فعالسازی ربات تلگرام"
+description = "اجازه دهید کاربران از طریق ربات تلگرام پیکربندیشده شما با Stirling PDF تعامل داشته باشند."
+
+[admin.settings.telegram.botUsername]
+label = "نام کاربری ربات"
+description = "نام کاربری عمومی ربات تلگرام شما."
+
+[admin.settings.telegram.botToken]
+label = "توکن ربات"
+description = "توکن API ارائهشده توسط BotFather برای ربات تلگرام شما."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "پوشه صندوق ورودی"
+description = "پوشهای در زیر دایرکتوری pipeline که فایلهای ورودی تلگرام در آن ذخیره میشوند."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "استفاده از پسوند پوشه سفارشی"
+description = "شناسه چت را به پوشههای فایل ورودی اضافه کنید تا آپلودها به ازای هر چت جدا شوند."
+
+[admin.settings.telegram.accessControl]
+title = "کنترل دسترسی"
+description = "محدود کنید کدام کاربران یا کانالها میتوانند با ربات تعامل داشته باشند."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "اجازه به شناسههای کاربری خاص"
+description = "در صورت فعالسازی، فقط شناسههای کاربری فهرستشده میتوانند از ربات استفاده کنند."
+
+[admin.settings.telegram.allowUserIDs]
+label = "شناسههای کاربری مجاز"
+description = "شناسههای کاربری تلگرام مجاز برای تعامل با ربات را وارد کنید."
+placeholder = "شناسه کاربری را اضافه کرده و اینتر بزنید"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "اجازه به شناسههای کانال خاص"
+description = "در صورت فعالسازی، فقط شناسههای کانال فهرستشده میتوانند از ربات استفاده کنند."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "شناسههای کانال مجاز"
+description = "شناسههای کانال تلگرام مجاز برای تعامل با ربات را وارد کنید."
+placeholder = "شناسه کانال را اضافه کرده و اینتر بزنید"
+
+[admin.settings.telegram.processing]
+title = "پردازش"
+description = "کنترل بازه پایش و مهلتهای پردازش برای آپلودهای تلگرام."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "مهلت پردازش (ثانیه)"
+description = "حداکثر زمان انتظار برای یک کار پردازش پیش از گزارش خطا."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "بازه پایش (ms)"
+description = "بازه بین بررسی بهروزرسانیهای جدید تلگرام."
+
+[admin.settings.telegram.feedback]
+title = "پیامهای بازخورد"
+description = "انتخاب کنید ربات چه زمانی باید به کاربران و کانالها بازخورد بدهد."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "فعالسازی بازخورد"
+description = "کنترل اینکه آیا ربات اصلاً پیام بازخورد ارسال کند یا نه."
+
+[admin.settings.telegram.feedback.channel]
+title = "قوانین بازخورد کانال"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "نمایش «سند معتبر نیست» (کانال)"
+description = "پاسخ «سند معتبر نیست» را برای آپلودهای کانال سرکوب کنید."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "نمایش خطاهای پردازش (کانال)"
+description = "ارسال پیامهای خطای پردازش به کانالها."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "نمایش پیامهای خطا (کانال)"
+description = "نمایش پیامهای خطای تفصیلی برای کانالها."
+
+[admin.settings.telegram.feedback.user]
+title = "قوانین بازخورد کاربر"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "نمایش «سند معتبر نیست» (کاربر)"
+description = "پاسخ «سند معتبر نیست» را برای آپلودهای کاربر سرکوب کنید."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "نمایش خطاهای پردازش (کاربر)"
+description = "ارسال پیامهای خطای پردازش برای کاربران."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "نمایش پیامهای خطا (کاربر)"
+description = "نمایش پیامهای خطای تفصیلی برای کاربران."
+
[admin.settings.database]
title = "پایگاه داده"
description = "پیکربندی تنظیمات اتصال پایگاه داده سفارشی برای استقرارهای سازمانی."
@@ -4745,6 +4945,10 @@ description = "اجازه به مدیران برای دعوت کاربران ا
label = "URL فرانتاند"
description = "URL پایه برای فرانتاند (مثلاً https://pdf.example.com). برای ایجاد لینک دعوت در ایمیلها استفاده میشود. برای استفاده از URL بکاند خالی بگذارید."
+[admin.settings.mail.frontendUrlNote]
+note = "توجه: نیاز به پیکربندی آدرس فرانتاند دارد. "
+link = "پیکربندی در تنظیمات سیستم"
+
[admin.settings.legal]
title = "اسناد حقوقی"
description = "پیوندها به اسناد و سیاستهای حقوقی را پیکربندی کنید."
@@ -4770,7 +4974,7 @@ label = "خطمشی کوکی"
description = "URL یا نام فایل برای خطمشی کوکی"
[admin.settings.legal.impressum]
-label = "اطلاعات حقوقی"
+label = "Impressum"
description = "URL یا نام فایل برای impressum (در برخی حوزههای قضایی الزامی است)"
[admin.settings.premium]
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "فایلهای من"
noRecentFiles = "هیچ فایل اخیری یافت نشد"
googleDriveNotAvailable = "یکپارچگی Google Drive در دسترس نیست"
+mobileUpload = "آپلود از موبایل"
+mobileShort = "موبایل"
+mobileUploadNotAvailable = "آپلود موبایل فعال نیست"
downloadSelected = "دانلود انتخابشدهها"
saveSelected = "ذخیره موارد انتخابشده"
openFiles = "باز کردن فایلها"
@@ -5244,7 +5451,7 @@ loading = "در حال بارگذاری..."
back = "بازگشت"
continue = "ادامه"
error = "خطا"
-save = "Save"
+save = "ذخیره"
[config.overview]
title = "پیکربندی برنامه"
@@ -5307,6 +5514,15 @@ impact = "هر برنامه یا سرویسی که اکنون از این کلی
confirmPrompt = "مطمئنید میخواهید ادامه دهید؟"
confirmCta = "تازهسازی کلیدها"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "خطای کلید API"
+failedToCreateApiKey = "ایجاد کلید API ناموفق بود."
+failedToRetrieveApiKey = "دریافت کلید API از پاسخ ناموفق بود."
+failedToFetchApiKey = "واکشی کلید API ناموفق بود."
+apiKeyRefreshed = "کلید API تازهسازی شد"
+apiKeyRefreshedBody = "کلید API شما با موفقیت تازهسازی شد."
+failedToRefreshApiKey = "تازهسازی کلید API ناموفق بود."
+
[AddAttachmentsRequest]
attachments = "انتخاب پیوستها"
info = "فایلهایی را برای پیوست به PDF خود انتخاب کنید. این فایلها درون PDF جاسازی شده و از طریق پنل پیوستها قابل دسترسی خواهند بود."
@@ -5412,14 +5628,14 @@ startTour = "شروع تور"
startTourDescription = "یک تور راهنما از قابلیتهای کلیدی Stirling PDF"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "از نوار Quick Access شروع کنید تا بین Reader، Automate، فایلها و همه تورها جابهجا شوید."
+leftPanel = "پنل Tools در سمت چپ همه کارهایی که میتوانید انجام دهید را فهرست میکند. برای یافتن سریع ابزار، دستهها را مرور کنید یا جستجو نمایید."
+fileUpload = "از دکمه Files برای آپلود یا انتخاب یک PDF اخیر استفاده کنید. یک نمونه بارگذاری میکنیم تا محیط کار را ببینید."
+rightRail = "نوار کناری راست شامل اقدامات سریع برای انتخاب فایلها، تغییر پوسته یا زبان، و دانلود نتایج است."
+topBar = "نوار بالا به شما اجازه میدهد بین Viewer، Page Editor و Active Files جابهجا شوید."
+pageEditorView = "به ویرایشگر صفحات بروید تا صفحات را مرتب، بچرخانید یا حذف کنید."
+activeFilesView = "از فایلهای فعال استفاده کنید تا همه چیزهای باز را ببینید و انتخاب کنید روی چه چیزی کار کنید."
+wrapUp = "اینها موارد جدید در V2 هستند. هر زمان منوی Tours را باز کنید تا این تور، تور ابزارها یا تور مدیریت را دوباره پخش کنید."
[onboarding.welcomeModal]
title = "به Stirling PDF خوش آمدید!"
@@ -5442,8 +5658,8 @@ showMeAround = "راهنمایی کن"
skipTheTour = "از تور بگذر"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "نمای کلی تور"
+body = "Stirling PDF V2 با دهها ابزار و یک چیدمان تازه ارائه میشود. یک تور سریع بگیرید تا ببینید چه چیزهایی تغییر کرده و ویژگیهای موردنیازتان را کجا پیدا کنید."
[onboarding.serverLicense]
skip = "فعلاً رد کن"
@@ -5452,7 +5668,7 @@ upgrade = "همین حالا ارتقا بده →"
freeTitle = "لایسنس سرور"
overLimitTitle = "نیاز به لایسنس سرور"
overLimitBody = "مجوز ما تا {{freeTierLimit}} کاربر رایگان بهازای هر سرور را مجاز میداند. شما {{overLimitUserCopy}} کاربر Stirling دارید. برای ادامه بدون وقفه، به پلن Stirling Server ارتقا دهید - صندلی نامحدود، ویرایش متن PDF و کنترل کامل ادمین با 99$ بهازای هر سرور در ماه."
-freeBody = "مجوز Open-Core ما بهازای هر سرور اجازهٔ استفادهٔ رایگان برای حداکثر {{freeTierLimit}} کاربر را میدهد. برای مقیاسدهی بدون وقفه، طرح Stirling Server را توصیه میکنیم - تعداد کاربران نامحدود و پشتیبانی از SSO با $99/سرور/ماه."
+freeBody = "مجوز Open-Core ما تا {{freeTierLimit}} کاربر رایگان بهازای هر سرور را مجاز میداند. برای مقیاسپذیری بدون وقفه و دسترسی زودهنگام به ابزار ویرایش متن PDF جدیدمان، پلن Stirling Server را پیشنهاد میکنیم - ویرایش کامل و صندلی نامحدود با 99$ بهازای هر سرور در ماه."
[onboarding.desktopInstall]
title = "دانلود"
@@ -5758,28 +5974,28 @@ contactSales = "تماس با فروش"
contactToUpgrade = "برای ارتقا یا سفارشیسازی طرح خود با ما تماس بگیرید"
maxUsers = "حداکثر کاربران"
upTo = "تا"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "دریافت لایسنس سرور"
+upgradeToEnterprise = "ارتقا به سازمانی"
+selectPeriod = "انتخاب دوره پرداخت"
+monthlyBilling = "پرداخت ماهانه"
+yearlyBilling = "پرداخت سالانه"
+checkoutOpened = "فرآیند پرداخت باز شد"
+checkoutInstructions = "خرید خود را در تب Stripe کامل کنید. پس از پرداخت، برای فعالسازی لایسنس به اینجا برگردید و صفحه را نوسازی کنید. همچنین ایمیلی با کلید لایسنس دریافت خواهید کرد."
+activateLicense = "فعالسازی لایسنس شما"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "پرداخت در تب جدید باز شد"
+instructions = "خرید خود را در تب Stripe کامل کنید. پس از تکمیل پرداخت، ایمیلی با کلید لایسنس دریافت خواهید کرد."
+enterKey = "برای فعالسازی طرح خود، کلید لایسنس را در زیر وارد کنید:"
+keyDescription = "کلید لایسنس موجود در ایمیل خود را جایگذاری کنید"
+activate = "فعالسازی لایسنس"
+doLater = "بعداً انجام میدهم"
+success = "لایسنس فعال شد!"
+successMessage = "لایسنس شما با موفقیت فعال شد. اکنون میتوانید این پنجره را ببندید."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "نیاز به تأیید ایمیل"
+message = "باید آدرس ایمیل خود را در پورتال پرداخت Stripe تأیید کنید. ایمیل خود را برای لینک ورود بررسی کنید."
[plan.period]
month = "ماه"
@@ -5983,8 +6199,8 @@ notAvailable = "سیستم ممیزی در دسترس نیست"
notAvailableMessage = "سیستم ممیزی پیکربندی نشده یا در دسترس نیست."
disabled = "ثبت وقایع ممیزی غیرفعال است"
disabledMessage = "برای پیگیری رویدادهای سیستم، ثبت ممیزی را در پیکربندی برنامه خود فعال کنید."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "نیازمند لایسنس سازمانی"
+enterpriseRequiredMessage = "سیستم ثبت وقایع یک ویژگی سازمانی است. لطفاً برای دسترسی به لاگهای ممیزی و تحلیلها به لایسنس سازمانی ارتقا دهید."
[audit.error]
title = "خطا در بارگذاری سیستم ممیزی"
@@ -6156,6 +6372,7 @@ description = "URL کامل سرور خودمیزبان Stirling PDF خود را
[setup.server.error]
emptyUrl = "لطفاً URL سرور را وارد کنید"
+invalidUrl = "قالب URL نامعتبر است. لطفاً یک URL معتبر مانند https://your-server.com وارد کنید"
unreachable = "اتصال به سرور ممکن نشد"
testFailed = "آزمون اتصال ناموفق بود"
configFetch = "بازیابی پیکربندی سرور ناموفق بود. لطفاً URL را بررسی کنید و دوباره تلاش کنید."
@@ -6174,6 +6391,7 @@ connectingTo = "در حال اتصال به:"
submit = "ورود"
signInWith = "ورود با"
oauthPending = "در حال باز کردن مرورگر برای احراز هویت..."
+sso = "ورود یکپارچه"
orContinueWith = "یا با ایمیل ادامه دهید"
serverRequirement = "توجه: سرور باید ورود را فعال کرده باشد."
showInstructions = "نحوه فعالسازی؟"
@@ -6239,8 +6457,8 @@ reset = "بازنشانی تغییرات"
downloadJson = "دانلود JSON"
generatePdf = "تولید PDF"
saveChanges = "ذخیرهٔ تغییرات"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "اعمال تغییرات"
+downloadCopy = "دانلود نسخه"
[pdfTextEditor.options.autoScaleText]
title = "مقیاس خودکار متن برای جا شدن در باکسها"
@@ -6260,22 +6478,22 @@ title = "قفلکردن متن ویرایششده به یک عنصر PDF
description = "وقتی فعال باشد، هر باکس متن ویرایششده را بهصورت یک عنصر متن PDF خروجی میگیرد تا از همپوشانی گلیفها یا فونتهای ترکیبی جلوگیری شود."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "تنظیمات پیشرفته"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "محدودیتهای پیشنمایش"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "تمرکز متن و تصویر"
+text = "این فضای کاری بر ویرایش متن و جابهجایی تصاویر توکار تمرکز دارد. آثار هنری پیچیده صفحه، ابزارکهای فرم و گرافیکهای لایهای برای خروجی حفظ میشوند اما در اینجا کاملاً قابل ویرایش نیستند."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "تفاوت پیشنمایش"
+text = "برخی نماها (مانند خطوط جدول، شکلها یا ظاهر حاشیهنویسیها) ممکن است دقیقاً در پیشنمایش نمایش داده نشوند. PDF خروجی تا حد امکان دستورات رسم اصلی را حفظ میکند."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "نمایشگر آلفا"
+text = "این نمایشگر آلفا هنوز در حال تکامل است—برخی فونتها، رنگها، افکتهای شفافیت و جزئیات چیدمان ممکن است کمی جابهجا شوند. لطفاً قبل از اشتراکگذاری، PDF تولیدشده را دوباره بررسی کنید."
[pdfTextEditor.manual]
mergeTooltip = "ادغام باکسهای انتخابشده"
@@ -6398,3 +6616,58 @@ title = "نتایج افزودن متن"
[addText.error]
failed = "هنگام افزودن متن به PDF خطایی رخ داد."
+
+[mobileUpload]
+title = "آپلود از موبایل"
+description = "برای آپلود عکسها اسکن کنید. تصاویر بهصورت خودکار به PDF تبدیل میشوند."
+descriptionNoConvert = "برای آپلود عکسها از دستگاه موبایل خود اسکن کنید."
+error = "خطای اتصال"
+pollingError = "خطا در بررسی فایلها"
+sessionId = "شناسه نشست"
+sessionCreateError = "ایجاد نشست ناموفق بود"
+expiryWarning = "نشست بهزودی منقضی میشود"
+expiryWarningMessage = "این کد QR تا {{seconds}} ثانیه دیگر منقضی میشود. یک کد جدید بهصورت خودکار تولید خواهد شد."
+filesReceived = "{{count}} فایل دریافت شد"
+connected = "دستگاه موبایل متصل شد"
+instructions = "با دوربین گوشی خود اسکن کنید. تصاویر بهصورت خودکار به PDF تبدیل میشوند."
+instructionsNoConvert = "برای آپلود فایلها با دوربین گوشی خود اسکن کنید."
+
+[mobileScanner]
+title = "اسکنر موبایل"
+noSession = "نشست نامعتبر"
+noSessionMessage = "لطفاً برای دسترسی به این صفحه یک کد QR معتبر اسکن کنید."
+validating = "در حال اعتبارسنجی نشست..."
+sessionInvalid = "خطای نشست"
+sessionExpired = "این نشست منقضی شده است. لطفاً نوسازی و دوباره تلاش کنید."
+sessionNotFound = "نشست یافت نشد. لطفاً نوسازی و دوباره تلاش کنید."
+sessionValidationError = "امکان تأیید نشست نیست. لطفاً دوباره تلاش کنید."
+uploadSuccess = "آپلود موفق!"
+uploadSuccessMessage = "تصاویر شما منتقل شدند."
+httpsRequired = "دسترسی به دوربین نیازمند HTTPS یا localhost است. لطفاً از HTTPS استفاده کنید یا از طریق localhost دسترسی یابید."
+uploadFailed = "آپلود ناموفق بود. لطفاً دوباره تلاش کنید."
+uploading = "در حال آپلود..."
+connected = "متصل شد"
+connecting = "در حال اتصال..."
+chooseMethod = "انتخاب روش آپلود"
+chooseMethodDescription = "انتخاب کنید چگونه میخواهید اسناد را اسکن و آپلود کنید"
+camera = "دوربین"
+cameraDescription = "اسناد را با دوربین دستگاه خود با تشخیص خودکار لبه اسکن کنید"
+fileUpload = "آپلود فایل"
+fileDescription = "عکسها یا اسناد موجود را از دستگاه خود آپلود کنید"
+cameraAccessDenied = "دسترسی به دوربین رد شد. لطفاً دسترسی دوربین را فعال کنید."
+back = "بازگشت"
+settings = "تنظیمات"
+edgeDetection = "تشخیص لبه"
+flashlight = "چراغقوه"
+flash = "فلش"
+processing = "در حال پردازش..."
+capture = "گرفتن عکس"
+selectFilesPrompt = "فایلها را برای آپلود انتخاب کنید"
+selectImage = "انتخاب تصویر"
+preview = "پیشنمایش"
+retake = "عکس مجدد"
+addToBatch = "افزودن به دسته"
+upload = "آپلود"
+batchImages = "دسته"
+clearBatch = "پاکسازی"
+uploadAll = "آپلود همه"
diff --git a/frontend/public/locales/fr-FR/translation.toml b/frontend/public/locales/fr-FR/translation.toml
index ab3c79856..27b40e8dc 100644
--- a/frontend/public/locales/fr-FR/translation.toml
+++ b/frontend/public/locales/fr-FR/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "Vous avez des modifications non enregistrées sur votre PDF. Que souhaitez-vous faire ?"
+pendingRedactionsTitle = "Caviardages non appliqués"
+pendingRedactions = "Vous avez des caviardages non appliqués qui seront perdus."
areYouSure = "Voulez-vous vraiment quitter ?"
unsavedChangesTitle = "Modifications non enregistrées"
keepWorking = "Continuer à travailler"
discardChanges = "Ignorer les modifications"
+discardRedactions = "Ignorer et quitter"
applyAndContinue = "Appliquer et continuer"
exportAndContinue = "Exporter et continuer"
cancel = "Annuler"
@@ -356,7 +359,7 @@ teams = "Équipes"
title = "Configuration"
systemSettings = "Paramètres système"
features = "Fonctionnalités"
-endpoints = "Points de terminaison"
+endpoints = "Endpoints"
database = "Base de données"
advanced = "Avancé"
@@ -364,10 +367,11 @@ advanced = "Avancé"
title = "Sécurité et authentification"
security = "Sécurité"
connections = "Connexions"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Licences et analyses"
-plan = "Forfait"
+plan = "Plan"
audit = "Audit"
usageAnalytics = "Analyses d'utilisation"
@@ -438,25 +442,34 @@ currentVersion = "Version actuelle"
latestVersion = "Dernière version"
checkForUpdates = "Rechercher des mises à jour"
viewDetails = "Voir les détails"
+serverNeedsUpdate = "Le serveur doit être mis à jour par l’administrateur"
+
+[settings.general.versionInfo]
+title = "Informations de version"
+description = "Détails des versions Desktop et serveur"
+desktop = "Version Desktop"
+server = "Version du serveur"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Sécurité"
+description = "Mettez à jour votre mot de passe pour sécuriser votre compte."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Changez votre mot de passe. Vous serez déconnecté après la mise à jour."
+required = "Tous les champs sont obligatoires."
+mismatch = "Les nouveaux mots de passe ne correspondent pas."
+error = "Impossible de mettre à jour le mot de passe. Veuillez vérifier votre mot de passe actuel et réessayer."
+success = "Mot de passe mis à jour avec succès. Veuillez vous reconnecter."
+ssoDisabled = "Les modifications de mot de passe sont gérées par votre fournisseur d’identité."
+current = "Mot de passe actuel"
+currentPlaceholder = "Saisissez votre mot de passe actuel"
+new = "Nouveau mot de passe"
+newPlaceholder = "Saisissez un nouveau mot de passe"
+confirm = "Confirmez le nouveau mot de passe"
+confirmPlaceholder = "Saisissez de nouveau votre nouveau mot de passe"
+update = "Mettre à jour le mot de passe"
+
+
[settings.hotkeys]
title = "Raccourcis clavier"
@@ -511,16 +524,16 @@ low = "Faible"
title = "Modifiez vos identifiants"
header = "Mettez à jour vos identifiants de connexion"
changePassword = "Vous utilisez les identifiants de connexion par défaut. Veuillez saisir un nouveau mot de passe"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Votre compte est géré par votre fournisseur d’identité."
newUsername = "Nouveau nom d'utilisateur"
oldPassword = "Mot de passe actuel"
newPassword = "Nouveau mot de passe"
confirmNewPassword = "Confirmer le nouveau mot de passe"
submit = "Soumettre les modifications"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Compte mis à jour"
+description = "Modifications enregistrées. Veuillez vous reconnecter."
+error = "Impossible de mettre à jour le nom d’utilisateur. Veuillez vérifier votre mot de passe et réessayer."
+changeUsername = "Mettre à jour votre nom d’utilisateur. Vous serez déconnecté après la mise à jour."
[account]
title = "Paramètres du compte"
@@ -528,6 +541,8 @@ accountSettings = "Paramètres du compte"
adminSettings = "Paramètres d'administration – Voir et ajouter des utilisateurs"
userControlSettings = "Contrôle des paramètres des utilisateurs"
changeUsername = "Modifier le nom d'utilisateur"
+changeUsernameDescription = "Mettre à jour votre nom d’utilisateur. Vous serez déconnecté après la mise à jour."
+newUsernamePlaceholder = "Saisissez votre nouveau nom d’utilisateur"
newUsername = "Nouveau nom d'utilisateur"
password = "Mot de passe de confirmation"
oldPassword = "Ancien mot de passe"
@@ -737,9 +752,9 @@ title = "Signer"
desc = "Ajoutez une signature au PDF avec un dessin, du texte ou une image."
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "annoter,surligner,dessiner"
+title = "Annoter"
+desc = "Surlignez, dessinez, ajoutez des notes et des formes dans la visionneuse"
[home.flatten]
tags = "simplifier,retirer,interactif"
@@ -952,7 +967,7 @@ title = "Superposer des PDF"
[home.pdfTextEditor]
title = "Éditeur de texte PDF"
-desc = "Modifier le texte et les images existants dans les PDF"
+desc = "Afficher et modifier les exports JSON de Stirling PDF avec édition de texte groupée et régénération du PDF"
[home.addText]
tags = "texte,annotation,étiquette"
@@ -963,6 +978,7 @@ desc = "Ajouter du texte personnalisé n’importe où dans votre PDF"
addFiles = "Ajouter des fichiers"
uploadFromComputer = "Téléverser depuis l’ordinateur"
openFromComputer = "Ouvrir depuis l’ordinateur"
+mobileUpload = "Téléverser depuis un mobile"
[viewPdf]
tags = "visualiser,lire,annoter,texte,image"
@@ -1258,7 +1274,7 @@ odtExt = "Texte OpenDocument (.odt)"
pptExt = "PowerPoint (.pptx)"
odpExt = "Présentation OpenDocument (.odp)"
txtExt = "Texte brut (.txt)"
-rtfExt = "Format de texte enrichi (.rtf)"
+rtfExt = "Rich Text Format (.rtf)"
selectedFiles = "Fichiers sélectionnés"
noFileSelected = "Aucun fichier sélectionné. Utilisez le panneau de fichiers pour ajouter des fichiers."
convertFiles = "Convertir les fichiers"
@@ -1278,21 +1294,33 @@ cbzOptions = "Options CBZ vers PDF"
optimizeForEbook = "Optimiser le PDF pour les liseuses (utilise Ghostscript)"
cbzOutputOptions = "Options PDF vers CBZ"
cbzDpi = "DPI pour le rendu des images"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "Options CBR"
+cbrOutputOptions = "Options PDF vers CBR"
+cbrDpi = "DPI pour le rendu des images"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "Options eBook vers PDF"
+ebookOptionsDesc = "Options de conversion des eBooks en PDF"
+embedAllFonts = "Incorporer toutes les polices"
+embedAllFontsDesc = "Incorporer toutes les polices de l’eBook dans le PDF généré"
+includeTableOfContents = "Inclure la table des matières"
+includeTableOfContentsDesc = "Ajouter une table des matières générée au PDF résultant"
+includePageNumbers = "Inclure les numéros de page"
+includePageNumbersDesc = "Ajouter des numéros de page au PDF généré"
+optimizeForEbookPdf = "Optimiser pour les liseuses"
+optimizeForEbookPdfDesc = "Optimiser le PDF pour la lecture d’eBook (taille de fichier réduite, meilleur rendu sur appareils eInk)"
+
+[convert.epubOptions]
+epubOptions = "Options PDF vers eBook"
+epubOptionsDesc = "Options de conversion de PDF vers EPUB/AZW3"
+detectChapters = "Détecter les chapitres"
+detectChaptersDesc = "Détecter les titres ressemblant à des chapitres et insérer des sauts de page EPUB"
+targetDevice = "Appareil cible"
+targetDeviceDesc = "Choisissez un profil de sortie optimisé pour l’appareil de lecture"
+outputFormat = "Format de sortie"
+outputFormatDesc = "Choisissez le format de sortie de l’eBook"
+tabletPhone = "Tablette/Téléphone (avec images)"
+kindleEink = "Kindle e-Ink (texte optimisé)"
[imageToPdf]
tags = "pdf,conversion,img,jpg,image,photo"
@@ -1409,11 +1437,11 @@ header = "Ajouter des pièces jointes"
add = "Ajouter une pièce jointe"
remove = "Supprimer la pièce jointe"
embed = "Intégrer la pièce jointe"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Convertir en PDF/A-3b"
+convertToPdfA3bDescription = "Crée un PDF d’archivage avec pièces jointes intégrées"
+convertToPdfA3bTooltip = "PDF/A-3b est un format d’archivage garantissant une conservation à long terme. Il permet d’intégrer des formats de fichiers arbitraires en tant que pièces jointes. La conversion nécessite Ghostscript et peut être plus longue pour les gros fichiers."
+convertToPdfA3bTooltipHeader = "À propos de la conversion PDF/A-3b"
+convertToPdfA3bTooltipTitle = "Ce que cela fait"
submit = "Ajouter des pièces jointes"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "Enregistrées"
label = "Téléverser une image de signature"
placeholder = "Sélectionner un fichier image"
hint = "Téléversez une image PNG ou JPG de votre signature"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Supprimer le fond blanc (le rendre transparent)"
+processing = "Traitement de l’image..."
+backgroundRemovalFailedTitle = "Échec de la suppression du fond"
+backgroundRemovalFailedMessage = "Impossible de supprimer le fond de l’image. Utilisation de l’image originale à la place."
[sign.instructions]
title = "Comment ajouter une signature"
@@ -2409,9 +2437,9 @@ label = "Aplatir uniquement les formulaires"
desc = "Aplatir uniquement les champs de formulaire, en laissant les autres éléments interactifs intacts"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "DPI de rendu (optionnel, 150 DPI recommandé)"
+help = "Laissez vide pour utiliser la valeur par défaut du système. Un DPI plus élevé améliore la netteté mais augmente le temps de traitement et la taille du fichier."
+placeholder = "ex. 150"
[flatten.results]
title = "Résultats de l’aplatissement"
@@ -2987,7 +3015,7 @@ header = "Redimensionner"
submit = "Envoyer"
noFileSelected = "Sélectionnez un fichier PDF pour commencer le recadrage"
reset = "Réinitialiser au PDF complet"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Recadrer automatiquement les marges blanches"
[crop.preview]
title = "Sélection de la zone de recadrage"
@@ -3218,6 +3246,7 @@ title = "Méthode d’occultation"
mode = "Mode"
automatic = "Automatique"
automaticDesc = "Occulter le texte selon des termes de recherche"
+automaticDisabledTooltip = "Sélectionnez des fichiers dans le gestionnaire de fichiers pour caviarder plusieurs fichiers à la fois"
manual = "Manuel"
manualDesc = "Cliquez et faites glisser pour occulter des zones spécifiques"
manualComingSoon = "Occultation manuelle bientôt disponible"
@@ -3288,8 +3317,35 @@ text = "Ne fait correspondre que les mots complets, pas les correspondances part
title = "Convertir en PDF-image"
text = "Convertit le PDF en PDF-image après occultation. Cela garantit que le texte derrière les boîtes est entièrement supprimé et irrécupérable."
+[redact.tooltip.manual.header]
+title = "Contrôles de caviardage manuel"
+
+[redact.tooltip.manual.markText]
+title = "Outil de marquage de texte"
+text = "Sélectionnez le texte directement sur le PDF pour le marquer en vue du caviardage. Cliquez et faites glisser pour surligner le texte spécifique à caviarder."
+
+[redact.tooltip.manual.markArea]
+title = "Outil de marquage de zone"
+text = "Dessinez des zones rectangulaires sur le PDF pour marquer des régions à caviarder. Utile pour caviarder des images, des signatures ou des formes irrégulières."
+
+[redact.tooltip.manual.apply]
+title = "Appliquer les caviardages"
+text = "Après avoir marqué le contenu, cliquez sur « Appliquer » pour caviarder définitivement toutes les zones marquées. Le compteur en attente indique le nombre de caviardages prêts à être appliqués."
+bullet1 = "Marquez autant de zones que nécessaire avant d’appliquer"
+bullet2 = "Tous les caviardages en attente sont appliqués en une fois"
+bullet3 = "Les caviardages ne peuvent pas être annulés après application"
+
[redact.manual]
+title = "Outils de caviardage"
+instructions = "Sélectionnez du texte ou dessinez des zones sur le PDF pour marquer le contenu à caviarder."
+markText = "Marquer du texte"
+markArea = "Marquer une zone"
+pendingLabel = "En attente :"
+applyWarning = "⚠️ Application permanente, irréversible, et les données sous-jacentes seront supprimées"
+apply = "Appliquer"
+noMarks = "Aucun marquage de caviardage. Utilisez les outils ci-dessus pour marquer le contenu à caviarder."
header = "Occultation manuelle"
+controlsTitle = "Contrôles de caviardage manuel"
textBasedRedaction = "Occultation basée sur le texte"
pageBasedRedaction = "Occultation par page"
convertPDFToImageLabel = "Convertir le PDF en PDF-image (permet de supprimer le texte derrière la boîte)"
@@ -3406,17 +3462,17 @@ label = "Divisions verticales"
placeholder = "Entrer le nombre de divisions verticales"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Mode de fractionnement"
+description = "Choisissez comment fractionner les pages"
+splitAll = "Fractionner toutes les pages"
+splitAllExceptFirst = "Tout fractionner sauf la première"
+splitAllExceptLast = "Tout fractionner sauf la dernière"
+splitAllExceptFirstAndLast = "Tout fractionner sauf la première et la dernière"
+custom = "Pages personnalisées"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Numéros de pages personnalisés"
+placeholder = "ex. 2,4,6"
[AddStampRequest]
tags = "Tampon,Ajouter,Stamp,Add image,center image,Watermark,PDF,Embed,Customize"
@@ -3780,17 +3836,17 @@ filesize = "Taille du Fichier"
label = "Appliquer l'échelle de gris pour la compression"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Linéariser le PDF pour une lecture web rapide"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Convertir les images en dessin au trait"
+description = "Utilise ImageMagick pour réduire les pages en noir et blanc à fort contraste afin de maximiser la réduction de taille."
+unavailable = "ImageMagick n’est pas installé ou activé sur ce serveur"
+detailLevel = "Niveau de détail"
+edgeEmphasis = "Accentuation des contours"
+edgeLow = "Douce"
+edgeMedium = "Équilibrée"
+edgeHigh = "Forte"
[compress.tooltip.header]
title = "Aperçu des paramètres de compression"
@@ -3810,8 +3866,8 @@ title = "Niveaux de gris"
text = "Sélectionnez cette option pour convertir toutes les images en noir et blanc, ce qui peut réduire significativement la taille, en particulier pour les PDF scannés ou riches en images."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "Dessin au trait"
+text = "Convertit les pages en noir et blanc à fort contraste à l’aide d’ImageMagick. Utilisez le niveau de détail pour contrôler la quantité de contenu qui devient noir, et l’accentuation des contours pour contrôler l’agressivité de la détection des contours."
[compress.error]
failed = "Une erreur est survenue lors de la compression du PDF."
@@ -3826,9 +3882,9 @@ _value = "Paramètres de compression"
1 = "1-3 compression PDF, 4-6 compression d'image légère, 7-9 compression d'image intense qui réduira considérablement la qualité de l'image"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Des valeurs faibles préservent la qualité mais donnent des fichiers plus volumineux"
+range4to6 = "Compression moyenne avec réduction modérée de la qualité"
+range7to9 = "Des valeurs élevées réduisent fortement la taille du fichier mais peuvent diminuer la netteté des images"
[decrypt]
passwordPrompt = "Ce fichier est protégé par un mot de passe. Veuillez saisir le mot de passe :"
@@ -4077,84 +4133,90 @@ language = "Langue"
toggleAnnotations = "Afficher/masquer les annotations"
search = "Rechercher dans le PDF"
panMode = "Mode panoramique"
+applyRedactionsFirst = "Appliquez d’abord les caviardages"
rotateLeft = "Pivoter à gauche"
rotateRight = "Pivoter à droite"
toggleSidebar = "Afficher/masquer la barre latérale"
toggleBookmarks = "Afficher/Masquer les signets"
print = "Imprimer le PDF"
+draw = "Dessiner"
+redact = "Caviarder"
+exitRedaction = "Quitter le mode de caviardage"
+save = "Enregistrer"
downloadAll = "Tout télécharger"
saveAll = "Tout enregistrer"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Gauche"
+center = "Centre"
+right = "Droite"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
+title = "Annoter"
+desc = "Utilisez surlignage, stylo, texte et notes. Les modifications restent actives—aucun aplatissement requis."
+highlight = "Surligner"
+pen = "Stylo"
+text = "Zone de texte"
note = "Note"
rectangle = "Rectangle"
ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+select = "Sélectionner"
+exit = "Quitter le mode d’annotation"
+strokeWidth = "Épaisseur"
+opacity = "Opacité"
+strokeOpacity = "Opacité du trait"
+fillOpacity = "Opacité de remplissage"
+fontSize = "Taille de police"
+chooseColor = "Choisir une couleur"
+color = "Couleur"
+strokeColor = "Couleur du trait"
+fillColor = "Couleur de remplissage"
+underline = "Souligner"
+strikeout = "Barré"
+squiggly = "Ondulé"
+inkHighlighter = "Surligneur à main levée"
+freehandHighlighter = "Surligneur à main levée"
+square = "Carré"
+circle = "Cercle"
+polygon = "Polygone"
+line = "Ligne"
+stamp = "Ajouter une image"
+textMarkup = "Marquage de texte"
+drawing = "Dessin"
+shapes = "Formes"
+notesStamps = "Notes et tampons"
+settings = "Paramètres"
+borderOn = "Bordure : activée"
+borderOff = "Bordure : désactivée"
+editInk = "Modifier le stylo"
+editLine = "Modifier la ligne"
+editNote = "Modifier la note"
+editText = "Modifier la zone de texte"
+editTextMarkup = "Modifier le marquage de texte"
+editSelected = "Modifier l’annotation"
+editSquare = "Modifier le carré"
+editCircle = "Modifier le cercle"
+editPolygon = "Modifier le polygone"
+unsupportedType = "Ce type d’annotation n’est pas entièrement pris en charge pour l’édition."
+textAlignment = "Alignement du texte"
+noteIcon = "Icône de note"
+imagePreview = "Aperçu"
+contents = "Texte"
+backgroundColor = "Couleur d’arrière-plan"
+clearBackground = "Supprimer l’arrière-plan"
+noBackground = "Sans arrière-plan"
+stampSettings = "Paramètres du tampon"
+savingCopy = "Préparation du téléchargement..."
+saveFailed = "Impossible d’enregistrer une copie"
+saveReady = "Téléchargement prêt"
+selectAndMove = "Sélectionner et modifier"
+editSelectDescription = "Cliquez une annotation existante pour en modifier la couleur, l’opacité, le texte ou la taille."
+editStampHint = "Pour changer l’image, supprimez ce tampon et ajoutez-en un nouveau."
+editSwitchToSelect = "Basculez sur Sélectionner et modifier pour modifier cette annotation."
+undo = "Annuler"
+redo = "Rétablir"
+applyChanges = "Appliquer les modifications"
+saveChanges = "Enregistrer les modifications"
[search]
title = "Rechercher dans le PDF"
@@ -4205,20 +4267,20 @@ settings = "Réglages"
adminSettings = "Réglages admin"
allTools = "Outils"
reader = "Lecteur"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Visites guidées"
+showMeAround = "Faites-moi visiter"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Visionnez des parcours ici : parcours des outils, parcours de la nouvelle interface V2 et parcours Admin."
+user = "Visionnez des parcours ici : parcours des outils et parcours de la nouvelle interface V2."
[quickAccess.helpMenu]
toolsTour = "Visite des outils"
toolsTourDesc = "Découvrez ce que les outils peuvent faire"
adminTour = "Visite administrateur"
adminTourDesc = "Découvrez les paramètres et fonctionnalités d’administration"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Voir les nouveautés de la V2"
+whatsNewTourDesc = "Découvrir la nouvelle interface"
[admin]
error = "Erreur"
@@ -4237,6 +4299,8 @@ fetchError = "Échec du chargement des paramètres"
saveError = "Échec de l’enregistrement des paramètres"
saved = "Paramètres enregistrés avec succès"
saveSuccess = "Paramètres enregistrés avec succès"
+success = "Paramètres enregistrés avec succès"
+error = "Échec de l’enregistrement des paramètres"
save = "Enregistrer les modifications"
discard = "Ignorer"
restartRequired = "Redémarrage requis"
@@ -4360,6 +4424,13 @@ description = "Chemin vers l’exécutable WeasyPrint pour la conversion HTML ve
label = "Exécutable Unoconvert"
description = "Chemin vers LibreOffice unoconvert pour les conversions de documents (laisser vide pour la valeur par défaut : /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "URL du frontend"
+description = "URL de base du frontend (ex., https://pdf.example.com). Utilisée pour les liens d’invitation par e-mail et les téléversements mobiles via QR code. Laissez vide pour utiliser l’URL du backend."
+
+[admin.settings.badge]
+clickToUpgrade = "Cliquez pour voir les détails de l’abonnement"
+
[admin.settings.security]
title = "Sécurité"
description = "Configurer l’authentification, le comportement de connexion et les politiques de sécurité."
@@ -4436,7 +4507,7 @@ description = "Suivre les actions des utilisateurs et les événements système
[admin.settings.security.audit.level]
label = "Niveau d’audit"
-description = "0=DÉSACTIVÉ, 1=BASIQUE, 2=STANDARD, 3=VERBEUX"
+description = "0=OFF, 1=BASIC, 2=STANDARD, 3=VERBOSE"
[admin.settings.security.audit.retentionDays]
label = "Rétention des journaux (jours)"
@@ -4496,6 +4567,19 @@ connect = "Connecter"
disconnect = "Déconnecter"
disconnected = "Fournisseur déconnecté avec succès"
disconnectError = "Échec de la déconnexion du fournisseur"
+mobileScannerConvertToPdf = "Convertir les images en PDF"
+mobileScannerConvertToPdfDesc = "Convertir automatiquement les images téléversées en PDF. Si désactivé, les images sont conservées telles quelles."
+mobileScannerImageResolution = "Résolution d’image"
+mobileScannerImageResolutionDesc = "Résolution des images téléversées. « Réduite » redimensionne les images jusqu’à 1200px max pour réduire la taille du fichier."
+imageResolutionFull = "Pleine (taille d’origine)"
+imageResolutionReduced = "Réduite (Max 1200px)"
+mobileScannerPageFormat = "Format de page"
+mobileScannerPageFormatDesc = "Taille de page PDF pour les images converties. « Conserver » utilise les dimensions d’origine de l’image."
+pageFormatKeep = "Conserver (dimensions d’origine)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Étirer pour remplir"
+mobileScannerStretchToFitDesc = "Étirer les images pour remplir toute la page. Si désactivé, les images sont centrées avec ratio préservé."
[admin.settings.connections.ssoAutoLogin]
label = "Connexion automatique SSO"
@@ -4564,6 +4648,122 @@ description = "Créer automatiquement des comptes utilisateurs lors de la premi
label = "Bloquer l’inscription"
description = "Empêcher l’inscription de nouveaux utilisateurs via SAML2"
+[admin.settings.connections.mobileScanner]
+label = "Téléversement depuis mobile"
+enable = "Activer le téléversement par QR code"
+description = "Permettre aux utilisateurs de téléverser des fichiers depuis des appareils mobiles en scannant un QR code"
+note = "Remarque : nécessite la configuration de l’URL du frontend. "
+link = "Configurer dans les paramètres du système"
+mobileScannerConvertToPdf = "Convertir les images en PDF"
+mobileScannerConvertToPdfDesc = "Convertir automatiquement les images téléversées en PDF. Si désactivé, les images sont conservées telles quelles."
+mobileScannerImageResolution = "Résolution d’image"
+mobileScannerImageResolutionDesc = "Résolution des images téléversées. « Réduite » redimensionne les images jusqu’à 1200px max pour réduire la taille du fichier."
+imageResolutionFull = "Pleine (taille d’origine)"
+imageResolutionReduced = "Réduite (Max 1200px)"
+mobileScannerPageFormat = "Format de page"
+mobileScannerPageFormatDesc = "Taille de page PDF pour les images converties. « Conserver » utilise les dimensions d’origine de l’image."
+pageFormatKeep = "Conserver (dimensions d’origine)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Étirer pour remplir"
+mobileScannerStretchToFitDesc = "Étirer les images pour remplir toute la page. Si désactivé, les images sont centrées avec ratio préservé."
+
+[admin.settings.telegram]
+title = "Bot Telegram"
+description = "Configurer la connectivité du bot Telegram, les contrôles d’accès et le comportement des retours."
+
+[admin.settings.telegram.enabled]
+label = "Activer le bot Telegram"
+description = "Permettre aux utilisateurs d’interagir avec Stirling PDF via votre bot Telegram configuré."
+
+[admin.settings.telegram.botUsername]
+label = "Nom d’utilisateur du bot"
+description = "Le nom d’utilisateur public de votre bot Telegram."
+
+[admin.settings.telegram.botToken]
+label = "Jeton du bot"
+description = "Jeton API fourni par BotFather pour votre bot Telegram."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Dossier de réception"
+description = "Dossier sous le répertoire pipeline où sont stockés les fichiers Telegram entrants."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Utiliser un suffixe de dossier personnalisé"
+description = "Ajouter l’ID du chat aux dossiers des fichiers entrants pour isoler les téléversements par chat."
+
+[admin.settings.telegram.accessControl]
+title = "Contrôle d’accès"
+description = "Restreindre quels utilisateurs ou canaux peuvent interagir avec le bot."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Autoriser des ID utilisateur spécifiques"
+description = "Lorsque activé, seuls les ID utilisateur listés peuvent utiliser le bot."
+
+[admin.settings.telegram.allowUserIDs]
+label = "ID utilisateur autorisés"
+description = "Saisissez les ID utilisateur Telegram autorisés à interagir avec le bot."
+placeholder = "Ajoutez un ID utilisateur et appuyez sur Entrée"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Autoriser des ID de canal spécifiques"
+description = "Lorsque activé, seuls les ID de canal listés peuvent utiliser le bot."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "ID de canal autorisés"
+description = "Saisissez les ID de canal Telegram autorisés à interagir avec le bot."
+placeholder = "Ajoutez un ID de canal et appuyez sur Entrée"
+
+[admin.settings.telegram.processing]
+title = "Traitement"
+description = "Contrôler les intervalles d’interrogation et les délais de traitement pour les téléversements Telegram."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Délai de traitement (secondes)"
+description = "Temps d’attente maximal d’un job de traitement avant de signaler une erreur."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Intervalle d’interrogation (ms)"
+description = "Intervalle entre les vérifications des nouvelles mises à jour Telegram."
+
+[admin.settings.telegram.feedback]
+title = "Messages de retour"
+description = "Choisissez quand le bot doit envoyer des retours aux utilisateurs et aux canaux."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Activer les retours"
+description = "Contrôler si le bot envoie des messages de retour ou non."
+
+[admin.settings.telegram.feedback.channel]
+title = "Règles de retour (canaux)"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Afficher « Aucun document valide » (Canal)"
+description = "Supprimer la réponse « aucun document valide » pour les téléversements de canal."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Afficher les erreurs de traitement (Canal)"
+description = "Envoyer les messages d’erreur de traitement aux canaux."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Afficher les messages d’erreur (Canal)"
+description = "Afficher des messages d’erreur détaillés pour les canaux."
+
+[admin.settings.telegram.feedback.user]
+title = "Règles de retour (utilisateurs)"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Afficher « Aucun document valide » (Utilisateur)"
+description = "Supprimer la réponse « aucun document valide » pour les téléversements utilisateur."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Afficher les erreurs de traitement (Utilisateur)"
+description = "Envoyer les messages d’erreur de traitement aux utilisateurs."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Afficher les messages d’erreur (Utilisateur)"
+description = "Afficher des messages d’erreur détaillés pour les utilisateurs."
+
[admin.settings.database]
title = "Base de données"
description = "Configurer des paramètres de connexion à une base de données personnalisée pour les déploiements d’entreprise."
@@ -4745,6 +4945,10 @@ description = "Permettre aux administrateurs d’inviter des utilisateurs par e-
label = "URL du frontend"
description = "URL de base du frontend (ex. https://pdf.example.com). Utilisée pour générer les liens d’invitation dans les e-mails. Laisser vide pour utiliser l’URL du backend."
+[admin.settings.mail.frontendUrlNote]
+note = "Remarque : nécessite la configuration de l’URL du frontend. "
+link = "Configurer dans les paramètres du système"
+
[admin.settings.legal]
title = "Documents juridiques"
description = "Configurer les liens vers les documents et politiques juridiques."
@@ -4774,7 +4978,7 @@ label = "Mentions légales"
description = "URL ou nom de fichier de l’impressum (obligatoire dans certaines juridictions)"
[admin.settings.premium]
-title = "Premium et Entreprise"
+title = "Premium & Enterprise"
description = "Configurer votre clé de licence Premium ou Enterprise."
license = "Configuration de la licence"
noInput = "Veuillez fournir une clé de licence ou un fichier"
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "Mes fichiers"
noRecentFiles = "Aucun fichier récent trouvé"
googleDriveNotAvailable = "Intégration Google Drive non disponible"
+mobileUpload = "Téléversement mobile"
+mobileShort = "Mobile"
+mobileUploadNotAvailable = "Téléversement mobile non activé"
downloadSelected = "Télécharger la sélection"
saveSelected = "Enregistrer la sélection"
openFiles = "Ouvrir des fichiers"
@@ -5244,7 +5451,7 @@ loading = "Chargement…"
back = "Retour"
continue = "Continuer"
error = "Erreur"
-save = "Save"
+save = "Enregistrer"
[config.overview]
title = "Configuration de l’application"
@@ -5307,6 +5514,15 @@ impact = "Toute application ou service utilisant actuellement ces clés cessera
confirmPrompt = "Êtes-vous sûr de vouloir continuer ?"
confirmCta = "Actualiser les clés"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "Erreur de clé API"
+failedToCreateApiKey = "Échec de création de la clé API."
+failedToRetrieveApiKey = "Échec de récupération de la clé API depuis la réponse."
+failedToFetchApiKey = "Échec de récupération de la clé API."
+apiKeyRefreshed = "Clé API actualisée"
+apiKeyRefreshedBody = "Votre clé API a été actualisée avec succès."
+failedToRefreshApiKey = "Échec d’actualisation de la clé API."
+
[AddAttachmentsRequest]
attachments = "Sélectionner des pièces jointes"
info = "Sélectionnez des fichiers à joindre à votre PDF. Ces fichiers seront intégrés et accessibles via le panneau des pièces jointes du PDF."
@@ -5412,14 +5628,14 @@ startTour = "Commencer la visite"
startTourDescription = "Suivez une visite guidée des fonctionnalités clés de Stirling PDF"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Commencez par le rail Accès rapide pour passer entre Lecteur, Automatiser, vos fichiers et toutes les visites."
+leftPanel = "Le panneau Outils à gauche liste tout ce que vous pouvez faire. Parcourez les catégories ou recherchez pour trouver un outil rapidement."
+fileUpload = "Utilisez le bouton Fichiers pour téléverser ou choisir un PDF récent. Nous chargerons un exemple pour vous montrer l’espace de travail."
+rightRail = "Le rail de droite contient des actions rapides pour sélectionner des fichiers, changer le thème ou la langue, et télécharger les résultats."
+topBar = "La barre supérieure permet de basculer entre la Visionneuse, l’Éditeur de pages et les fichiers actifs."
+pageEditorView = "Passez à l’Éditeur de pages pour réorganiser, pivoter ou supprimer des pages."
+activeFilesView = "Utilisez Fichiers actifs pour voir tout ce que vous avez ouvert et choisir sur quoi travailler."
+wrapUp = "Voilà les nouveautés de la V2. Ouvrez le menu Visites guidées à tout moment pour rejouer ceci, le parcours des outils ou le parcours Admin."
[onboarding.welcomeModal]
title = "Bienvenue dans Stirling PDF !"
@@ -5442,8 +5658,8 @@ showMeAround = "Faites-moi faire le tour"
skipTheTour = "Passer la visite"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Aperçu de la visite"
+body = "Stirling PDF V2 est livré avec des dizaines d’outils et une interface renouvelée. Faites une visite rapide pour voir ce qui a changé et où trouver les fonctionnalités dont vous avez besoin."
[onboarding.serverLicense]
skip = "Passer pour l’instant"
@@ -5452,7 +5668,7 @@ upgrade = "Mettre à niveau maintenant →"
freeTitle = "Licence serveur"
overLimitTitle = "Licence serveur requise"
overLimitBody = "Notre licence autorise jusqu’à {{freeTierLimit}} utilisateurs gratuits par serveur. Vous avez {{overLimitUserCopy}} utilisateurs Stirling. Pour continuer sans interruption, passez au plan Stirling Server — places illimitées, édition de texte PDF et contrôle d’administration complet pour 99 $/serveur/mois."
-freeBody = "Notre régime de licence Open-Core autorise jusqu'à {{freeTierLimit}} utilisateurs gratuitement par serveur. Pour évoluer sans interruption, nous recommandons le forfait Stirling Server - places illimitées et prise en charge du SSO pour 99 $/serveur/mois."
+freeBody = "Notre licence Open-Core autorise jusqu’à {{freeTierLimit}} utilisateurs gratuits par serveur. Pour évoluer sans interruption et accéder en avant-première à notre nouvel outil d’édition de texte PDF, nous recommandons le plan Stirling Server — édition complète et places illimitées pour 99 $/serveur/mois."
[onboarding.desktopInstall]
title = "Télécharger"
@@ -5498,7 +5714,7 @@ active = "Actif"
disabled = "Désactivé"
activeSession = "Session active"
member = "Membre"
-admin = "Administrateur"
+admin = "Admin"
editRole = "Modifier le rôle"
enable = "Activer"
disable = "Désactiver"
@@ -5758,28 +5974,28 @@ contactSales = "Contacter l’équipe commerciale"
contactToUpgrade = "Contactez-nous pour mettre à niveau ou personnaliser votre forfait"
maxUsers = "Nombre maximal d’utilisateurs"
upTo = "Jusqu’à"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Obtenir une licence serveur"
+upgradeToEnterprise = "Passer à l’Enterprise"
+selectPeriod = "Sélectionner la période de facturation"
+monthlyBilling = "Facturation mensuelle"
+yearlyBilling = "Facturation annuelle"
+checkoutOpened = "Paiement ouvert"
+checkoutInstructions = "Terminez votre achat dans l’onglet Stripe. Après le paiement, revenez ici et actualisez la page pour activer votre licence. Vous recevrez également un e-mail avec votre clé de licence."
+activateLicense = "Activer votre licence"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Paiement ouvert dans un nouvel onglet"
+instructions = "Terminez votre achat dans l’onglet Stripe. Une fois le paiement terminé, vous recevrez un e-mail avec votre clé de licence."
+enterKey = "Saisissez votre clé de licence ci-dessous pour activer votre offre :"
+keyDescription = "Collez la clé de licence depuis votre e-mail"
+activate = "Activer la licence"
+doLater = "Je le ferai plus tard"
+success = "Licence activée !"
+successMessage = "Votre licence a été activée avec succès. Vous pouvez maintenant fermer cette fenêtre."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "Vérification de l’e-mail requise"
+message = "Vous devrez vérifier votre adresse e-mail dans le portail de facturation Stripe. Vérifiez votre e-mail pour un lien de connexion."
[plan.period]
month = "mois"
@@ -5983,8 +6199,8 @@ notAvailable = "Système d’audit non disponible"
notAvailableMessage = "Le système d’audit n’est pas configuré ou n’est pas disponible."
disabled = "La journalisation d’audit est désactivée"
disabledMessage = "Activez la journalisation d’audit dans la configuration de votre application pour suivre les événements du système."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Licence Enterprise requise"
+enterpriseRequiredMessage = "Le système de journalisation d’audit est une fonctionnalité Enterprise. Veuillez passer à une licence Enterprise pour accéder aux journaux d’audit et aux analyses."
[audit.error]
title = "Erreur lors du chargement du système d’audit"
@@ -6078,7 +6294,7 @@ title = "Graphique d’utilisation des endpoints"
[usage.table]
title = "Statistiques détaillées"
-endpoint = "Point de terminaison"
+endpoint = "Endpoint"
visits = "Visites"
percentage = "Pourcentage"
noData = "Aucune donnée disponible"
@@ -6156,6 +6372,7 @@ description = "Saisissez l’URL complète de votre serveur Stirling PDF auto‑
[setup.server.error]
emptyUrl = "Veuillez saisir une URL de serveur"
+invalidUrl = "Format d’URL invalide. Veuillez saisir une URL valide comme https://your-server.com"
unreachable = "Connexion au serveur impossible"
testFailed = "Échec du test de connexion"
configFetch = "Échec de la récupération de la configuration du serveur. Veuillez vérifier l'URL et réessayer."
@@ -6174,6 +6391,7 @@ connectingTo = "Connexion à :"
submit = "Se connecter"
signInWith = "Se connecter avec"
oauthPending = "Ouverture du navigateur pour l'authentification..."
+sso = "Authentification unique"
orContinueWith = "Ou continuer avec l’email"
serverRequirement = "Remarque : le serveur doit avoir la connexion activée."
showInstructions = "Comment l’activer ?"
@@ -6188,7 +6406,7 @@ label = "Nom d’utilisateur"
placeholder = "Entrez votre nom d’utilisateur"
[setup.login.email]
-label = "E-mail"
+label = "Email"
placeholder = "Saisissez votre email"
[setup.login.password]
@@ -6225,7 +6443,7 @@ paragraph = "Page de paragraphe"
sparse = "Texte clairsemé"
[pdfTextEditor.groupingMode]
-auto = "Automatique"
+auto = "Auto"
paragraph = "Paragraphe"
singleLine = "Ligne unique"
@@ -6239,8 +6457,8 @@ reset = "Réinitialiser les modifications"
downloadJson = "Télécharger le JSON"
generatePdf = "Générer le PDF"
saveChanges = "Enregistrer les modifications"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Appliquer les modifications"
+downloadCopy = "Télécharger une copie"
[pdfTextEditor.options.autoScaleText]
title = "Ajuster automatiquement le texte aux cadres"
@@ -6260,22 +6478,22 @@ title = "Verrouiller le texte modifié à un seul élément PDF"
description = "Lorsqu'il est activé, l'éditeur exporte chaque boîte de texte modifiée comme un seul élément de texte PDF afin d'éviter le chevauchement de glyphes ou les polices mixtes."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Paramètres avancés"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Limitations de l’aperçu"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Focus texte et image"
+text = "Cet espace de travail se concentre sur l’édition du texte et le repositionnement des images intégrées. Les illustrations complexes de page, widgets de formulaire et graphismes en couches sont préservés pour l’export mais ne sont pas entièrement modifiables ici."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Variations de l’aperçu"
+text = "Certains éléments visuels (tels que bordures de tableau, formes ou apparence des annotations) peuvent ne pas s’afficher exactement dans l’aperçu. Le PDF exporté conserve les commandes de dessin originales lorsque c’est possible."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Visionneuse Alpha"
+text = "Cette visionneuse alpha évolue encore—certaines polices, couleurs, effets de transparence et détails de mise en page peuvent légèrement varier. Veuillez vérifier le PDF généré avant de le partager."
[pdfTextEditor.manual]
mergeTooltip = "Fusionner les boîtes sélectionnées"
@@ -6398,3 +6616,58 @@ title = "Résultats de l'ajout de texte"
[addText.error]
failed = "Une erreur est survenue lors de l'ajout de texte au PDF."
+
+[mobileUpload]
+title = "Téléverser depuis un mobile"
+description = "Scannez pour téléverser des photos. Les images se convertissent automatiquement en PDF."
+descriptionNoConvert = "Scannez pour téléverser des photos depuis votre appareil mobile."
+error = "Erreur de connexion"
+pollingError = "Erreur lors de la vérification des fichiers"
+sessionId = "ID de session"
+sessionCreateError = "Échec de création de session"
+expiryWarning = "Expiration de la session imminente"
+expiryWarningMessage = "Ce QR code expirera dans {{seconds}} secondes. Un nouveau code sera généré automatiquement."
+filesReceived = "{{count}} fichier(s) reçu(s)"
+connected = "Appareil mobile connecté"
+instructions = "Scannez avec l’appareil photo de votre téléphone. Les images sont automatiquement converties en PDF."
+instructionsNoConvert = "Scannez avec l’appareil photo de votre téléphone pour téléverser des fichiers."
+
+[mobileScanner]
+title = "Scanner mobile"
+noSession = "Session invalide"
+noSessionMessage = "Veuillez scanner un QR code valide pour accéder à cette page."
+validating = "Validation de la session..."
+sessionInvalid = "Erreur de session"
+sessionExpired = "Cette session a expiré. Veuillez actualiser et réessayer."
+sessionNotFound = "Session introuvable. Veuillez actualiser et réessayer."
+sessionValidationError = "Impossible de vérifier la session. Veuillez réessayer."
+uploadSuccess = "Téléversement réussi !"
+uploadSuccessMessage = "Vos images ont été transférées."
+httpsRequired = "L’accès à la caméra nécessite HTTPS ou localhost. Veuillez utiliser HTTPS ou accéder via localhost."
+uploadFailed = "Échec du téléversement. Veuillez réessayer."
+uploading = "Téléversement..."
+connected = "Connecté"
+connecting = "Connexion..."
+chooseMethod = "Choisir la méthode de téléversement"
+chooseMethodDescription = "Sélectionnez comment vous souhaitez scanner et téléverser des documents"
+camera = "Appareil photo"
+cameraDescription = "Scanner des documents avec l’appareil photo de votre appareil avec détection automatique des bords"
+fileUpload = "Téléversement de fichier"
+fileDescription = "Téléverser des photos ou documents existants depuis votre appareil"
+cameraAccessDenied = "Accès à la caméra refusé. Veuillez activer l’accès à la caméra."
+back = "Retour"
+settings = "Paramètres"
+edgeDetection = "Détection des bords"
+flashlight = "Lampe torche"
+flash = "Flash"
+processing = "Traitement..."
+capture = "Prendre la photo"
+selectFilesPrompt = "Sélectionnez des fichiers à téléverser"
+selectImage = "Sélectionner une image"
+preview = "Aperçu"
+retake = "Reprendre"
+addToBatch = "Ajouter au lot"
+upload = "Téléverser"
+batchImages = "Lot"
+clearBatch = "Effacer"
+uploadAll = "Tout téléverser"
diff --git a/frontend/public/locales/ga-IE/translation.toml b/frontend/public/locales/ga-IE/translation.toml
index 3e2e9c6c5..8144a6602 100644
--- a/frontend/public/locales/ga-IE/translation.toml
+++ b/frontend/public/locales/ga-IE/translation.toml
@@ -124,17 +124,17 @@ submit = "Cuir isteach"
success = "D’éirigh leis"
undoDataMismatch = "Ní féidir a chealú: tá sonraí na hoibríochta truaillithe"
undoFailed = "Theip ar chealú na hoibríochta"
-undoQuotaError = "Ní féidir a chealú: níl dóthain spáis stórála ann"
-undoStorageError = "Críochnaíodh an cealú ach níorbh fhéidir roinnt comhad a shábháil sa stóras"
-undoSuccess = "Cealaíodh an oibríocht go rathúil"
-unsupported = "Ní thacaítear leis"
-discardRedactions = "Discard & Leave"
-pendingRedactions = "You have unapplied redactions that will be lost."
-pendingRedactionsTitle = "Unapplied Redactions"
+undoQuotaError = "Ní féidir é a chealú: easpa spáis stórála"
+undoStorageError = "Cealú críochnaithe ach níorbh fhéidir roinnt comhad a shábháil chuig an stóras"
+undoSuccess = "Oibríocht cealaithe go rathúil"
+unsupported = "Gan tacaíocht"
+discardRedactions = "Scrios & Fág"
+pendingRedactions = "Tá eagarthóireachtaí neamhfheidhmithe agat a chaillfear."
+pendingRedactionsTitle = "Eagarthóireacht Neamhfheidhmithe"
[toolPanel]
placeholder = "Roghnaigh uirlis chun tosú"
-alpha = "Alpha"
+alpha = "Alfa"
premiumFeature = "Gné Préimhe:"
comingSoon = "Ag teacht go luath:"
@@ -442,32 +442,32 @@ currentVersion = "Leagan Reatha"
latestVersion = "Leagan is Déanaí"
checkForUpdates = "Seiceáil le haghaidh Nuashonruithe"
viewDetails = "Féach Sonraí"
-serverNeedsUpdate = "Server needs to be updated by administrator"
+serverNeedsUpdate = "Ní mór don riarthóir an freastalaí a nuashonrú"
[settings.general.versionInfo]
-description = "Desktop and server version details"
-desktop = "Desktop Version"
-server = "Server Version"
-title = "Version Information"
+title = "Eolas faoin Leagan"
+description = "Sonraí leagain don deasc agus don fhreastalaí"
+desktop = "Leagan Deisce"
+server = "Leagan Freastalaí"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Slándáil"
+description = "Nuashonraigh do phasfhocal chun do chuntas a choinneáil slán."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Athraigh do phasfhocal. Logálfar amach thú tar éis an nuashonraithe."
+required = "Tá gach réimse riachtanach."
+mismatch = "Ní hionann na pasfhocail nua."
+error = "Ní féidir an focal faire a nuashonrú. Fíoraigh do phasfhocal reatha agus déan iarracht arís."
+success = "Nuashonraíodh an focal faire go rathúil. Sínigh isteach arís le do thoil."
+ssoDisabled = "Déanann do sholáthraí aitheantais athruithe ar phasfhocail a bhainistiú."
+current = "Focal faire reatha"
+currentPlaceholder = "Cuir isteach do phasfhocal reatha"
+new = "Pasfhocal nua"
+newPlaceholder = "Cuir isteach focal faire nua"
+confirm = "Deimhnigh an focal faire nua"
+confirmPlaceholder = "Ath-iontráil do phasfhocal nua"
+update = "Nuashonraigh an focal faire"
[settings.hotkeys]
title = "Aicearraí Méarchláir"
@@ -522,16 +522,16 @@ low = "Íseal"
title = "Athraigh Dintiúir"
header = "Nuashonraigh Sonraí do Chuntais"
changePassword = "Tá dintiúir réamhshocraithe logáil isteach á úsáid agat. Cuir isteach pasfhocal nua le do thoil"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Déanann do sholáthraí aitheantais bainistíocht ar do chuntas."
newUsername = "Ainm Úsáideora Nua"
oldPassword = "Pasfhocal reatha"
newPassword = "Focal Faire Nua"
confirmNewPassword = "Deimhnigh Pasfhocal Nua"
submit = "Cuir Athruithe isteach"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Cuntas nuashonraithe"
+description = "Athruithe sábháilte. Logáil isteach arís le do thoil."
+error = "Ní féidir an t-ainm úsáideora a nuashonrú. Fíoraigh do phasfhocal agus déan iarracht arís."
+changeUsername = "Nuashonraigh d'ainm úsáideora. Logálfar amach thú tar éis an nuashonraithe."
[account]
title = "Socruithe cuntas"
@@ -539,6 +539,8 @@ accountSettings = "Socruithe cuntas"
adminSettings = "Socruithe Riaracháin - Féach ar agus Cuir Úsáideoirí Leis"
userControlSettings = "Socruithe Rialaithe Úsáideora"
changeUsername = "Athraigh Ainm Úsáideora"
+changeUsernameDescription = "Nuashonraigh d'ainm úsáideora. Logálfar tú amach tar éis an nuashonraithe."
+newUsernamePlaceholder = "Cuir isteach d'ainm úsáideora nua"
newUsername = "Ainm Úsáideora Nua"
password = "Pasfhocal Deimhnithe"
oldPassword = "Sean Pasfhocal"
@@ -553,8 +555,6 @@ property = "Maoin"
webBrowserSettings = "Socrú Brabhsálaí Gréasáin"
syncToBrowser = "Cuntas Sync -> Brabhsálaí"
syncToAccount = "Cuntas Sioncronaigh <- Brabhsálaí"
-changeUsernameDescription = "Update your username. You will be logged out after updating."
-newUsernamePlaceholder = "Enter your new username"
[adminUserSettings]
title = "Socruithe Rialaithe Úsáideora"
@@ -745,14 +745,14 @@ title = "Braith & Roinn Grianghraif Scanta"
desc = "Braith agus roinn grianghraif scanta ina leathanaigh ar leith"
[home.sign]
-tags = "síniú,uathshíniú"
-title = "Comhartha"
+tags = "síniú, uathghraf"
+title = "Sínigh"
desc = "Cuireann síniú le PDF trí líníocht, téacs nó íomhá"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "anótáil, aibhsigh, tarraing"
+title = "Comhartha"
+desc = "Cuireann síniú le PDF trí líníocht, téacs nó íomhá"
[home.flatten]
tags = "simpligh,bain,idirghníomhach"
@@ -968,15 +968,15 @@ title = "Eagarthóir Téacs PDF"
desc = "Cuir téacs agus íomhánna atá ann cheana in eagar laistigh de PDFanna"
[home.addText]
-tags = "téacs,anótáil,lipéad"
-title = "Cuir Téacs Leis"
+tags = "annotate,highlight,draw"
+title = "Annotate"
desc = "Cuir téacs saincheaptha in áit ar bith i do PDF"
[landing]
addFiles = "Cuir Comhaid Leis"
uploadFromComputer = "Uaslódáil ón ríomhaire"
openFromComputer = "Oscail ón ríomhaire"
-mobileUpload = "Upload from Mobile"
+mobileUpload = "Uaslódáil ó Shoghluaiste"
[viewPdf]
tags = "amharc, léamh, anótáil, téacs, íomhá"
@@ -1151,10 +1151,10 @@ bullet3 = "Scoilfidh an córas ag teorainneacha leathanaigh"
[split.tooltip.byCount]
title = "Scoilt de réir Líon"
-text = "Cruthaigh il‑PDFanna le líon sonrach leathanach nó cáipéisí an ceann."
+text = "Cruthaigh il-PDFanna le líon sonrach leathanach nó doiciméad an ceann."
bullet1 = "Líon Leathanach: Líon seasta leathanach in aghaidh an chomhaid"
-bullet2 = "Líon Cáipéisí: Líon seasta comhad aschuir"
-bullet3 = "Úsáideach do shreafaí oibre baisc‑phróiseála"
+bullet2 = "Líon na nDoiciméad: Líon socraithe comhad aschuir"
+bullet3 = "Úsáideach le haghaidh sreafaí oibre próiseála baisce"
[split.tooltip.byChapters]
title = "Scoilt de réir Caibidlí"
@@ -1291,22 +1291,22 @@ errorConversion = "Tharla earráid agus an comhad á thiontú."
cbzOptions = "Roghanna CBZ go PDF"
optimizeForEbook = "Optamaigh PDF do léitheoirí ríomhleabhar (úsáideann Ghostscript)"
cbzOutputOptions = "Roghanna PDF go CBZ"
-cbzDpi = "DPI do rindreáil íomhá"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbzDpi = "DPI le haghaidh rindreáil íomhá"
+cbrOptions = "CRoghanna BR"
+cbrOutputOptions = "Roghanna PDF go CBR"
+cbrDpi = "DPI le haghaidh rindreáil íomhá"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "Roghanna ríomhleabhar go PDF"
+ebookOptionsDesc = "Roghanna chun ríomhleabhair a thiontú go PDF"
+embedAllFonts = "Leabaigh gach cló"
+embedAllFontsDesc = "Cuir na clónna uile ón ríomhleabhar isteach sa PDF a ghintear"
+includeTableOfContents = "Cuir clár ábhair san áireamh"
+includeTableOfContentsDesc = "Cuir clár ábhair ginte leis an PDF a eascraíonn as"
+includePageNumbers = "Cuir uimhreacha leathanach san áireamh"
+includePageNumbersDesc = "Cuir uimhreacha leathanach leis an PDF ginte"
+optimizeForEbookPdf = "Optamaigh do léitheoirí ríomhleabhar"
+optimizeForEbookPdfDesc = "An PDF a bharrfheabhsú le haghaidh léamh ríomhleabhar (méid comhaid níos lú, rindreáil níos fearr ar ghléasanna eInk)"
[convert.epubOptions]
detectChapters = "Detect chapters"
@@ -1320,6 +1320,7 @@ tabletPhone = "Tablet/Phone (with images)"
targetDevice = "Target device"
targetDeviceDesc = "Choose an output profile optimized for the reader device"
+
[imageToPdf]
tags = "comhshó, img, jpg, pictiúr, grianghraf"
@@ -1430,17 +1431,17 @@ defaultImageLabel = "Íomhá uaslódáilte"
[attachments]
tags = "embed,attach,file,attachment,attachments"
-title = "Add attachments"
-header = "Add attachments"
+title = "Cuir Ceangaltáin leis"
+header = "Cuir Ceangaltáin leis"
add = "Cuir Iatán Leis"
remove = "Bain Iatán"
-embed = "Leabaigh Iatán"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
-submit = "Add attachments"
+embed = "Leabaigh an Ceangaltán"
+convertToPdfA3b = "Tiontaigh go PDF/A-3b"
+convertToPdfA3bDescription = "Cruthaíonn sé PDF cartlannaithe le ceangaltáin leabaithe"
+convertToPdfA3bTooltip = "Is formáid chartlainne í PDF/A-3b a chinntíonn caomhnú fadtéarmach. Ceadaíonn sí formáidí comhaid treallacha a leabú mar cheangaltáin. Éilíonn an comhshó Ghostscript agus d’fhéadfadh sé go dtógfadh sé níos faide i gcás comhad mór."
+convertToPdfA3bTooltipHeader = "Maidir le Comhshó PDF/A-3b"
+convertToPdfA3bTooltipTitle = "Cad a dhéanann sé"
+submit = "Cuir Ceangaltáin leis"
[watermark]
title = "Cuir Uisce leis"
@@ -1575,9 +1576,9 @@ bullet3 = "Coinníonn íomhánna ar ardtaifeach an cháilíocht níos fearr"
[watermark.tooltip.file.recommendations]
title = "Cleachtais is Fearr"
text = "Leideanna le haghaidh torthaí optamacha i gcomharthaí uisce íomhá."
-bullet1 = "Úsáid lógónna nó stampaí le cúlraí trédhearcacha"
+bullet1 = "Bain úsáid as lógónna nó stampaí le cúlraí trédhearcacha"
bullet2 = "Oibríonn dearaí simplí níos fearr ná íomhánna casta"
-bullet3 = "Smaoinigh ar mhéid deiridh an doiciméid agus taifeach á roghnú"
+bullet3 = "Smaoinigh ar mhéid deiridh an doiciméid agus tú ag roghnú taifeach"
[watermark.tooltip.formatting.header]
title = "Formáidiú agus Leagan Amach"
@@ -1596,8 +1597,8 @@ bullet3 = "Cruthaíonn teimhneacht níos ísle comharthaí uisce níos míne"
[watermark.tooltip.formatting.spacing]
title = "Rialú Spásála"
-text = "Coigeartaigh an spásáil idir comharthaí uisce athchleachtaithe ar fud an leathanaigh."
-bullet1 = "Spásáil chothrománach: Fad idir comharthaí uisce ó chlé go deas"
+text = "Coigeartaigh an spásáil idir uiscemharcanna athuair ar fud an leathanaigh."
+bullet1 = "Spásáil chothrománach: An fad idir na huiscemharcanna ó chlé go deas"
bullet2 = "Spásáil ingearach: Fad idir comharthaí uisce ó bharr go bun"
bullet3 = "Cruthaíonn luachanna níos airde patrúin níos scaipthe"
@@ -1605,9 +1606,9 @@ bullet3 = "Cruthaíonn luachanna níos airde patrúin níos scaipthe"
title = "Rogha Slándála"
text = "Tiontaigh an PDF deiridh go formáid bunaithe ar íomhánna ar mhaithe le slándáil fheabhsaithe."
bullet1 = "Coscann sé roghnú téacs agus cóipeáil"
-bullet2 = "Déanann sé comharthaí uisce níos deacra a bhaint"
-bullet3 = "Mar thoradh air sin tá méideanna comhaid níos mó"
-bullet4 = "Is fearr d’ábhar íogair nó faoi chóipcheart"
+bullet2 = "Déanann sé níos deacra uiscemharcanna a bhaint"
+bullet3 = "Torthaí i méideanna comhaid níos mó"
+bullet4 = "Is fearr le haghaidh ábhar íogair nó cóipchirt"
[watermark.type]
1 = "Téacs"
@@ -2269,11 +2270,11 @@ useCase2 = "Roinn baisceanna leaba chothrom ina gcomhaid ar leith"
useCase3 = "Bris colláisí ina ngrianghraif aonair"
useCase4 = "Tarraing grianghraif ó dhoiciméid"
quickFixes = "Deisiúcháin thapa"
-problem1 = "Ní braitheadh grianghraif → méadaigh Tolerance go 30-50"
-problem2 = "An iomarca braiteanna bréagacha → méadaigh Minimum Area go 15,000-20,000"
-problem3 = "Tá barróga rómhall → méadaigh Border Size go 5-10"
-problem4 = "Ní dhírítear grianghraif claonta → ísligh Angle Threshold go ~5°"
-problem5 = "Boscaí deannaigh/torainn → méadaigh Minimum Contour Area go 1000-2000"
+problem1 = "Grianghraif gan bhrath → méadaigh an Lamháltas go 30-50"
+problem2 = "An iomarca braite bréagacha → méadaigh an Limistéar Íosta go 15,000-20,000"
+problem3 = "Tá na bearrtha ró-dhlúth → méadaigh Méid na Teorann go 5-10"
+problem4 = "Grianghraif chlaonta gan a bheith díreach → ísligh an Tairseach Uillinne go ~5°"
+problem5 = "Boscaí deannaigh/torainn → méadaigh an Limistéar Comhrian Íosta go 1000-2000"
setupTips = "Leideanna socraithe"
tip1 = "Úsáid cúlra éadrom, simplí"
tip2 = "Fág bearna bheag (≈1 cm) idir grianghraif"
@@ -2385,10 +2386,10 @@ saved = "Sábháilte"
label = "Uaslódáil íomhá sínithe"
placeholder = "Roghnaigh comhad íomhá"
hint = "Uaslódáil íomhá PNG nó JPG de do shíniú"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Bain an cúlra bán (déan trédhearcach)"
+processing = "Íomhá á phróiseáil..."
+backgroundRemovalFailedTitle = "Theip ar bhaint an chúlra"
+backgroundRemovalFailedMessage = "Níorbh fhéidir an cúlra a bhaint den íomhá. Íomhá bhunaidh á húsáid ina ionad."
[sign.instructions]
title = "Conas síniú a chur leis"
@@ -2435,9 +2436,9 @@ label = "Flatten foirmeacha amháin"
desc = "Maolaigh réimsí foirme amháin, fág eilimintí idirghníomhacha eile slán"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "DPI rindreála (roghnach, molta 150 DPI)"
+help = "Fág bán chun réamhshocrú an chórais a úsáid. Géaraíonn DPI níos airde an t-aschur ach méadaíonn sé an t-am próiseála agus méid an chomhaid."
+placeholder = "m.sh. 150"
[flatten.results]
title = "Torthaí Maolaithe"
@@ -2901,10 +2902,10 @@ bullet3 = "Nuair a fhilltear & a chairnítear: Léamh 1→2→3→4→5→6→7
[bookletImposition.tooltip.printing]
title = "Conas a Chlódófar & a Chruaifear"
text = "Lean na céimeanna seo le haghaidh leabhrán foirfe:"
-bullet1 = "Clóigh dhá thaobh le 'Flip on long edge'"
+bullet1 = "Priontáil déthaobhach le 'Flip ar an imeall fada'"
bullet2 = "Carn na bileoga in ord, fill ina leath"
bullet3 = "Grádaigh nó ceangail feadh an droma fhillte"
-bullet4 = "Do phrintéirí imeall gearr: Cumasaigh an rogha 'Flip on short edge'"
+bullet4 = "I gcás printéirí imeall gearr: Cumasaigh an rogha 'Flip ar an imeall gearr'"
[bookletImposition.tooltip.manualDuplex]
title = "Dúphléacs Láimhe (Printéirí Aon-taobh)"
@@ -2945,8 +2946,8 @@ label = "Fachtóir Scála"
[adjustPageScale.pageSize]
label = "Spriocmhéid Leathanaigh"
keep = "Coinnigh an méid bunaidh"
-letter = "Letter"
-legal = "Legal"
+letter = "Litir"
+legal = "Dlíthiúil"
[adjustPageScale.error]
failed = "Tharla earráid agus scála na leathanach á choigeartú."
@@ -3013,7 +3014,7 @@ header = "PDF a ghearradh"
submit = "Cuir isteach"
noFileSelected = "Roghnaigh comhad PDF chun tosú ar bhearradh"
reset = "Athshocraigh go PDF iomlán"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Spás bán a bhearradh go huathoibríoch"
[crop.preview]
title = "Roghnú Limistéir Bhearrtha"
@@ -3244,10 +3245,10 @@ title = "Modh Ceilte"
mode = "Mód"
automatic = "Uathoibríoch"
automaticDesc = "Ceil téacs bunaithe ar théarmaí cuardaigh"
+automaticDisabledTooltip = "Roghnaigh comhaid sa bhainisteoir comhad chun comhaid iolracha a cheilt ag an am céanna"
manual = "Láimhe"
manualDesc = "Cliceáil agus tarraing chun limistéir shonracha a cheilt"
manualComingSoon = "Ceilt láimhe ag teacht go luath"
-automaticDisabledTooltip = "Select files in the file manager to redact multiple files at once"
[redact.auto]
header = "Ceilt Uathoibríoch"
@@ -3313,31 +3314,31 @@ text = "Ní mheaitseálfar ach focail iomlána, ní meaitseálacha páirteacha.
[redact.tooltip.advanced.convert]
title = "Tiontaigh go PDF-Image"
-text = "Tiontaíonn sé an PDF go PDF bunaithe ar íomhá tar éis ceilte. Cinntíonn sé seo go mbaintear téacs taobh thiar de bhoscaí ceilte go hiomlán agus nach féidir é a ghnóthú."
+text = "Athraíonn sé an PDF go PDF bunaithe ar íomhá tar éis eagarthóireachta. Cinntíonn sé seo go mbaintear téacs taobh thiar de bhoscaí eagarthóireachta go hiomlán agus nach féidir é a aisghabháil."
[redact.tooltip.manual.apply]
-bullet1 = "Mark as many areas as needed before applying"
-bullet2 = "All pending redactions are applied at once"
-bullet3 = "Redactions cannot be undone after applying"
-text = "After marking content, click 'Apply' to permanently redact all marked areas. The pending count shows how many redactions are ready to be applied."
-title = "Apply Redactions"
+bullet1 = "Marcáil an oiread limistéar agus is gá sula gcuirtear i bhfeidhm é"
+bullet2 = "Cuirtear gach eagarthóireacht atá ar feitheamh i bhfeidhm ag an am céanna"
+bullet3 = "Ní féidir eagarthóireachtaí a chealú tar éis iad a chur i bhfeidhm"
+text = "Tar éis duit ábhar a mharcáil, cliceáil 'Cuir i bhFeidhm' chun na réimsí marcáilte go léir a cheilt go buan. Taispeánann an comhaireamh atá ar feitheamh cé mhéad cheilt atá réidh le cur i bhfeidhm."
+title = "Cuir Eagarthóireacht i bhFeidhm"
[redact.tooltip.manual.header]
-title = "Manual Redaction Controls"
+title = "Rialuithe Eagarthóireachta Láimhe"
[redact.tooltip.manual.markArea]
-text = "Draw rectangular areas on the PDF to mark regions for redaction. Useful for redacting images, signatures, or irregular shapes."
-title = "Mark Area Tool"
+text = "Tarraing limistéir dhronuilleogacha ar an PDF chun réigiúin a mharcáil le haghaidh eagarthóireachta. Úsáideach chun íomhánna, sínithe, nó cruthanna neamhrialta a cheilt."
+title = "Uirlis Limistéir Mharcáilte"
[redact.tooltip.manual.markText]
-text = "Select text directly on the PDF to mark it for redaction. Click and drag to highlight specific text that you want to redact."
-title = "Mark Text Tool"
+text = "Roghnaigh téacs go díreach ar an PDF chun é a mharcáil le haghaidh eagarthóireachta. Cliceáil agus tarraing chun téacs ar leith ar mhaith leat a chealú a aibhsiú."
+title = "Uirlis Téacs Marcála"
[redact.manual]
-header = "Ceilt Láimhe"
-textBasedRedaction = "Ceilt bunaithe ar théacs"
-pageBasedRedaction = "Ceilt bunaithe ar leathanach"
-convertPDFToImageLabel = "Tiontaigh PDF go PDF-Image (Úsáidtear chun téacs taobh thiar den bhosca a bhaint)"
+header = "Eagarthóireacht Láimhe"
+textBasedRedaction = "Eagarthóireacht Téacsbhunaithe"
+pageBasedRedaction = "Eagarthóireacht Leathanachbhunaithe"
+convertPDFToImageLabel = "Tiontaigh PDF go PDF-Íomhá (Úsáidtear é chun téacs taobh thiar den bhosca a bhaint)"
export = "Easpórtáil"
upload = "Uaslódáil"
boxRedaction = "Ceilt trí bhosca a tharraingt"
@@ -3354,15 +3355,15 @@ showLayers = "Taispeáin Sraitheanna (déchliceáil chun gach sraith a athshocr
colourPicker = "Roghnóir Datha"
findCurrentOutlineItem = "Aimsigh mír reatha na himlíne"
applyChanges = "Cuir Athruithe i bhFeidhm"
-apply = "Apply"
-applyWarning = "⚠️ Permanent application, cannot be undone and the data underneath will be deleted"
-controlsTitle = "Manual Redaction Controls"
-instructions = "Select text or draw areas on the PDF to mark content for redaction."
-markArea = "Mark Area"
-markText = "Mark Text"
-noMarks = "No redaction marks. Use the tools above to mark content for redaction."
-pendingLabel = "Pending:"
-title = "Redaction Tools"
+apply = "Cuir isteach"
+applyWarning = "⚠️ Feidhmchlár buan, ní féidir é a chealú agus scriosfar na sonraí faoi."
+controlsTitle = "Rialuithe Eagarthóireachta Láimhe"
+instructions = "Roghnaigh téacs nó tarraing limistéir ar an PDF chun ábhar a mharcáil le haghaidh eagarthóireachta."
+markArea = "Marcáil Limistéar"
+markText = "Marcáil Téacs"
+noMarks = "Gan aon mharcanna eagarthóireachta. Bain úsáid as na huirlisí thuas chun ábhar a mharcáil le haghaidh eagarthóireachta."
+pendingLabel = "Ar feitheamh:"
+title = "Uirlisí Eagarthóireachta"
[redact.manual.pageRedactionNumbers]
title = "Leathanaigh"
@@ -3460,17 +3461,17 @@ label = "Rannáin Ingearach"
placeholder = "Cuir isteach líon na rannáin ingearacha"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Mód Scoilte"
+description = "Roghnaigh conas na leathanaigh a roinnt"
+splitAll = "Scoilt na leathanaigh uile"
+splitAllExceptFirst = "Roinn gach rud seachas an chéad cheann"
+splitAllExceptLast = "Roinn gach rud seachas an ceann deireanach"
+splitAllExceptFirstAndLast = "Roinn gach rud seachas an chéad cheann agus an ceann deireanach"
+custom = "Leathanaigh saincheaptha"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Uimhreacha Leathanaigh Saincheaptha"
+placeholder = "m.sh. 2,4,6"
[AddStampRequest]
tags = "Stampa, Cuir íomhá, íomhá lár, Uisce, PDF, Leabú, Saincheap"
@@ -3611,7 +3612,7 @@ certHint = "Uaslódáil teastas X.509 iontaofa le bailíochtú i gcoinne foinse
title = "Socruithe Bailíochtaithe"
[replaceColor]
-tags = "Ionadaigh Dath,Oibríochtaí Leathanaigh,Back end,server side"
+tags = "Athsholáthar Dath, Oibríochtaí Leathanaigh, Cúlchríoch, Taobh an Fhreastalaí"
[replaceColor.labels]
settings = "Socruithe"
@@ -3650,7 +3651,7 @@ bullet2 = "Dath cúlra - Socraigh dath cúlra an doiciméid"
[replaceColor.tooltip.cmyk]
title = "Tiontaigh go CMYK"
-text = "Tiontaigh an PDF ó spás datha RGB go spás datha CMYK, optamaithe le haghaidh priontála gairmiúla. Tiontaíonn an próiseas seo dathanna go samhail Cyan, Magenta, Yellow, Black a úsáideann printéirí."
+text = "Tiontaigh an PDF ó spás dathanna RGB go spás dathanna CMYK, atá optamaithe le haghaidh priontála gairmiúla. Tiontaíonn an próiseas seo dathanna go dtí an tsamhail Cian, Magenta, Buí, Dubh a úsáideann printéirí."
[replaceColor.error]
failed = "Tharla earráid agus ionadú datha á phróiseáil."
@@ -3669,8 +3670,8 @@ signinTitle = "Sínigh isteach le do thoil"
ssoSignIn = "Logáil isteach trí Chlárú Aonair"
oAuth2AutoCreateDisabled = "OAUTH2 Uath-Chruthaigh Úsáideoir faoi Mhíchumas"
oAuth2AdminBlockedUser = "Tá bac faoi láthair ar chlárú nó logáil isteach úsáideoirí neamhchláraithe. Déan teagmháil leis an riarthóir le do thoil."
-oAuth2RequiresLicense = "Teastaíonn ceadúnas íoctha (Server nó Enterprise) chun logáil isteach le OAuth/SSO. Déan teagmháil leis an riarthóir chun do phlean a uasghrádú."
-saml2RequiresLicense = "Teastaíonn ceadúnas íoctha (Server nó Enterprise) chun logáil isteach le SAML. Déan teagmháil leis an riarthóir chun do phlean a uasghrádú."
+oAuth2RequiresLicense = "Éilíonn logáil isteach OAuth/SSO ceadúnas Freastalaí nó Fiontraíochta. Téigh i dteagmháil leis an riarthóir le do phlean a uasghrádú."
+saml2RequiresLicense = "Éilíonn logáil isteach SAML ceadúnas Fiontraíochta. Téigh i dteagmháil leis an riarthóir le do phlean a uasghrádú."
maxUsersReached = "Sroicheadh an líon uasta úsáideoirí do do cheadúnas reatha. Déan teagmháil leis an riarthóir chun do phlean a uasghrádú nó suíocháin bhreise a chur leis."
oauth2RequestNotFound = "Níor aimsíodh iarratas údaraithe"
oauth2InvalidUserInfoResponse = "Freagra Neamhbhailí Faisnéise Úsáideora"
@@ -3822,7 +3823,7 @@ title = "PDF Coigeartaithe"
title = "Comhbhrúigh"
desc = "Comhbhrúigh PDFanna chun a méid comhaid a laghdú."
header = "Comhbhrúigh PDF"
-credit = "Úsáideann an tseirbhís seo qpdf le haghaidh Comhbhrú/Optimization PDF."
+credit = "Úsáideann an tseirbhís seo qpdf le haghaidh Comhbhrú/Optamú PDF."
submit = "Comhbhrúigh"
[compress.method]
@@ -3834,17 +3835,17 @@ filesize = "Méid an Chomhaid"
label = "Cuir Scála Liath i bhFeidhm le Comhbhrú"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Líneáil PDF le haghaidh féachana gréasáin thapa"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Íomhánna a thiontú go healaín líne"
+description = "Úsáideann sé ImageMagick chun leathanaigh a laghdú go dubh agus bán ardchodarsnachta chun an laghdú méide is mó is féidir a bhaint amach."
+unavailable = "Níl ImageMagick suiteáilte ná cumasaithe ar an bhfreastalaí seo"
+detailLevel = "Leibhéal mionsonraí"
+edgeEmphasis = "Béim imeall"
+edgeLow = "Séimh"
+edgeMedium = "Cothromaithe"
+edgeHigh = "Láidir"
[compress.tooltip.header]
title = "Forbhreathnú ar Shocruithe Comhbhrúite"
@@ -3864,8 +3865,8 @@ title = "Liathscála"
text = "Roghnaigh an rogha seo chun gach íomhá a thiontú go dubh agus bán, rud a d'fhéadfadh méid an chomhaid a laghdú go mór, go háirithe do PDFanna scanta nó do dhoiciméid lán d’íomhánna."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "Ealaín Líne"
+text = "Tiontaigh leathanaigh go dubh agus bán ardchodarsnachta ag baint úsáide as ImageMagick. Bain úsáid as leibhéal mionsonraí chun rialú a dhéanamh ar cé mhéad ábhair a thagann chun bheith dubh, agus béim imeall chun rialú a dhéanamh ar cé chomh ionsaitheach agus a bhraitear imill."
[compress.error]
failed = "Tharla earráid agus an PDF á chomhbhrú."
@@ -3880,9 +3881,9 @@ _value = "Socruithe Comhbhrúite"
1 = "1-3 comhbhrú PDF, 4-6 comhbhrú éadrom íomhá, 7-9 comhbhrú dian íomhá Laghdóidh sé cáilíocht na n-íomhánna go mór"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Coinníonn luachanna níos ísle cáilíocht ach bíonn comhaid níos mó mar thoradh orthu"
+range4to6 = "Comhbhrú meánach le laghdú measartha ar cháilíocht"
+range7to9 = "Laghdaíonn luachanna níos airde méid an chomhaid go suntasach ach d’fhéadfadh soiléireacht na híomhá a laghdú"
[decrypt]
passwordPrompt = "Tá an comhad seo cosanta ag pasfhocal. Cuir isteach an pasfhocal le do thoil:"
@@ -4037,7 +4038,7 @@ showPreferencesBtn = "Bainistigh sainroghanna"
[cookieBanner.popUp.description]
1 = "Úsáidimid fianáin agus teicneolaíochtaí eile chun Stirling PDF a dhéanamh níos fearr duit—ag cabhrú linn ár n-uirlisí a fheabhsú agus gnéithe a thógáil a thaitneoidh leat."
-2 = "If you’d rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly."
+2 = "Mura mian leat, ní chuirfear ar chumas ach na fianáin riachtanacha atá riachtanach chun go n-oibreoidh rudaí go réidh má chliceálann tú ar 'Níl Go raibh maith agat'."
[cookieBanner.preferencesModal]
title = "Lárionad Sainroghanna Toilithe"
@@ -4054,7 +4055,7 @@ subtitle = "Úsáid Fianáin"
3 = "Tá do phríobháideachas agus do mhuinín i gcroílár ár gcuid oibre."
[cookieBanner.preferencesModal.necessary]
-description = "These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they can’t be turned off."
+description = "Tá na fianáin seo riachtanach chun go bhfeidhmeoidh an suíomh Gréasáin i gceart. Cuireann siad gnéithe lárnacha ar chumas amhail do chuid roghanna príobháideachais a shocrú, logáil isteach agus foirmeacha a líonadh—agus is é sin an fáth nach féidir iad a mhúchadh."
[cookieBanner.preferencesModal.necessary.title]
1 = "Fianáin Riachtanacha go Docht"
@@ -4065,8 +4066,8 @@ title = "Anailísíocht"
description = "Cuidíonn na fianáin seo linn a thuiscint conas a úsáidtear ár n-uirlisí, ionas gur féidir linn díriú ar na gnéithe is tábhachtaí dár bpobal a thógáil. Bí cinnte—ní féidir le Stirling PDF agus ní dhéanfaidh sé riamh ábhar na ndoiciméad a n-oibríonn tú leo a rianú."
[cookieBanner.services]
-posthog = "PostHog Analytics"
-scarf = "Scarf Pixel"
+posthog = "Anailísíocht PostHog"
+scarf = "Scairf Picteilín"
[removeMetadata]
submit = "Bain Meiteashonraí"
@@ -4122,99 +4123,99 @@ selectByNumber = "Roghnaigh de réir Uimhreacha Leathanaigh"
deleteSelected = "Scrios na Leathanaigh Roghnaithe"
closePdf = "Dún an PDF"
exportAll = "Easpórtáil an PDF"
-downloadSelected = "Íoslódáil na Comhaid Roghnaithe"
-annotations = "Annotations"
-exportSelected = "Easpórtáil na Leathanaigh Roghnaithe"
+downloadSelected = "Íoslódáil Comhaid Roghnaithe"
+annotations = "Anótálacha"
+exportSelected = "Easpórtáil Leathanaigh Roghnaithe"
saveChanges = "Sábháil Athruithe"
-toggleTheme = "Athraigh an Téama"
+toggleTheme = "Téama a Athsholáthar"
language = "Teanga"
-toggleAnnotations = "Athraigh Infheictheacht Anótálacha"
-search = "Cuardaigh an PDF"
-panMode = "Mód Pánála"
+toggleAnnotations = "Infheictheacht Anótálacha a Athrú"
+search = "Cuardaigh PDF"
+panMode = "Mód Pan"
rotateLeft = "Rothlaigh ar Chlé"
rotateRight = "Rothlaigh ar Dheis"
-toggleSidebar = "Athraigh an Barra Taoibh"
-toggleBookmarks = "Scoránaigh Leabharmharcanna"
+toggleSidebar = "Barra Taobh a Athraigh"
+toggleBookmarks = "Leabharmharcanna a Athsholáthar"
print = "Priontáil PDF"
-downloadAll = "Íoslódáil Uile"
+downloadAll = "Íoslódáil Gach Rud"
saveAll = "Sábháil Uile"
-applyRedactionsFirst = "Apply redactions first"
-draw = "Draw"
-exitRedaction = "Exit Redaction Mode"
-redact = "Redact"
-save = "Save"
+applyRedactionsFirst = "Cuir eagarthóireachtaí i bhfeidhm ar dtús"
+draw = "Tarraing"
+exitRedaction = "Scoir Mód Eagarthóireachta"
+redact = "Leasaigh"
+save = "Sábháil"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Ar chlé"
+center = "Lár"
+right = "Ar dheis"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
-saveChanges = "Save Changes"
+title = "Anótáil"
+desc = "Bain úsáid as aird a tharraingt, peann, téacs agus nótaí. Fanann athruithe beo—níl gá le leacú."
+highlight = "Aibhsigh"
+pen = "Peann"
+text = "Bosca téacs"
+note = "Nóta"
+rectangle = "Dronuilleog"
+ellipse = "Éilips"
+select = "Roghnaigh"
+exit = "Scoir mód anótála"
+strokeWidth = "Leithead"
+opacity = "Teimhneacht"
+strokeOpacity = "Teimhneacht Stróc"
+fillOpacity = "Teimhneacht Líonadh"
+fontSize = "Méid an chló"
+chooseColor = "Roghnaigh dath"
+color = "Dath"
+strokeColor = "Dath Stróc"
+fillColor = "Dath Líonta"
+underline = "Folínigh"
+strikeout = "Stailc amach"
+squiggly = "Scriobláil"
+inkHighlighter = "Aibhseoir Saorláimhe"
+freehandHighlighter = "Aibhseoir Saorláimhe"
+square = "Cearnóg"
+circle = "Ciorcal"
+polygon = "Polagán"
+line = "Líne"
+stamp = "Cuir Íomhá leis"
+textMarkup = "Marcáil Téacs"
+drawing = "Líníocht"
+shapes = "Cruthanna"
+notesStamps = "Nótaí & Stampaí"
+settings = "Socruithe"
+borderOn = "Teorainn: Ar"
+borderOff = "Teorainn: As"
+editInk = "Peann a Chur in Eagar"
+editLine = "Líne a Chur in Eagar"
+editNote = "Cuir Nóta in Eagar"
+editText = "Cuir Bosca Téacs in Eagar"
+editTextMarkup = "Cuir Marcáil Téacs in Eagar"
+editSelected = "Cuir an nóta in Eagar"
+editSquare = "Cuir Cearnóg in Eagar"
+editCircle = "Cuir Ciorcal in Eagar"
+editPolygon = "Cuir Polagán in Eagar"
+unsupportedType = "Ní thacaítear go hiomlán leis an gcineál seo anótála le haghaidh eagarthóireachta."
+textAlignment = "Ailíniú Téacs"
+noteIcon = "Deilbhín Nóta"
+imagePreview = "Réamhamharc"
+contents = "Téacs"
+backgroundColor = "Dath an chúlra"
+clearBackground = "Bain an cúlra"
+noBackground = "Gan chúlra"
+stampSettings = "Socruithe Stampa"
+savingCopy = "Ag ullmhú íoslódáil..."
+saveFailed = "Ní féidir cóip a shábháil"
+saveReady = "Íoslódáil réidh"
+selectAndMove = "Roghnaigh agus Cuir in Eagar"
+editSelectDescription = "Cliceáil ar nóta atá ann cheana féin chun a dhath, a theimhneacht, a théacs nó a mhéid a chur in eagar."
+editStampHint = "Chun an íomhá a athrú, scrios an stampa seo agus cuir ceann nua leis."
+editSwitchToSelect = "Athraigh go Roghnaigh agus Cuir in Eagar chun an nóta seo a chur in eagar."
+undo = "Cealaigh"
+redo = "Athdhéan"
+applyChanges = "Cuir Athruithe i bhFeidhm"
+saveChanges = "Sábháil Athruithe"
[search]
title = "Cuardaigh PDF"
@@ -4265,20 +4266,20 @@ settings = "Socruí"
adminSettings = "Socruí riar."
allTools = "All Tools"
reader = "Léamh"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Turais"
+showMeAround = "Taispeáin dom timpeall"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Féach ar na treoracha anseo: Turas uirlisí, turas leagan amach nua V2, agus turas an Riarthóra."
+user = "Féach ar na treoracha anseo: Turas uirlisí agus turas leagan amach an V2 nua."
[quickAccess.helpMenu]
toolsTour = "Turas na nUirlisí"
toolsTourDesc = "Faigh amach cad is féidir leis na huirlisí a dhéanamh"
adminTour = "Turas an Riarthóra"
adminTourDesc = "Déan iniúchadh ar shocruithe agus gnéithe an riarthóra"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Féach cad atá nua i V2"
+whatsNewTourDesc = "Tabhair cuairt ar an leagan amach nuashonraithe"
[admin]
error = "Earráid"
@@ -4297,6 +4298,8 @@ fetchError = "Theip ar luchtú na socruithe"
saveError = "Theip ar na socruithe a shábháil"
saved = "Sábháladh na socruithe go rathúil"
saveSuccess = "Sábháladh na socruithe go rathúil"
+success = "Sábháladh na socruithe go rathúil"
+error = "Theip ar shábháil na socruithe"
save = "Sábháil Athruithe"
discard = "Cuir i leataobh"
restartRequired = "Athtosú de dhíth"
@@ -4304,8 +4307,6 @@ loginRequired = "Ní mór mód logála isteach a bheith cumasaithe chun socruith
restarting = "Freastalaí á Atosú"
restartingMessage = "Tá an freastalaí á atosú. Fan nóiméad le do thoil..."
restartError = "Theip ar an bhfreastalaí a atosú. Atosaigh de láimh le do thoil."
-error = "Failed to save settings"
-success = "Settings saved successfully"
[admin.settings.unsavedChanges]
title = "Athruithe gan sábháil"
@@ -4423,8 +4424,8 @@ label = "Inrite Unoconvert"
description = "Conair chuig LibreOffice unoconvert le haghaidh tiontaithe doiciméad (fág folamh don réamhshocrú: /opt/venv/bin/unoconvert)"
[admin.settings.general.frontendUrl]
-description = "Base URL for frontend (e.g., https://pdf.example.com). Used for email invite links and mobile QR code uploads. Leave empty to use backend URL."
-label = "Frontend URL"
+description = "URL bunúsach don tosaigh (m.sh., https://pdf.example.com). Úsáidtear é le haghaidh naisc cuireadh ríomhphoist agus uaslódálacha cóid QR soghluaiste. Fág folamh chun URL cúil a úsáid."
+label = "URL tosaigh"
[admin.settings.security]
title = "Slándáil"
@@ -4433,7 +4434,7 @@ authentication = "Fíordheimhniú"
[admin.settings.security.ssoNotice]
title = "An bhfuil tú ag lorg socruithe SSO/SAML?"
-message = "Aistríodh soláthraithe fíordheimhnithe OAuth2 agus SAML2 go dtí an roghchlár Connections ar mhaithe le bainistíocht níos éasca."
+message = "Tá soláthraithe fíordheimhnithe OAuth2 agus SAML2 bogtha go dtí an roghchlár Naisc le haghaidh bainistíocht níos éasca."
[admin.settings.security.enableLogin]
label = "Cumasaigh Logáil Isteach"
@@ -4562,19 +4563,19 @@ connect = "Ceangail"
disconnect = "Dícheangail"
disconnected = "Dícheanglaíodh an soláthraí go rathúil"
disconnectError = "Theip ar an soláthraí a dhícheangal"
-imageResolutionFull = "Full (Original Size)"
-imageResolutionReduced = "Reduced (Max 1200px)"
-mobileScannerConvertToPdf = "Convert Images to PDF"
-mobileScannerConvertToPdfDesc = "Automatically convert uploaded images to PDF format. If disabled, images will be kept as-is."
-mobileScannerImageResolution = "Image Resolution"
-mobileScannerImageResolutionDesc = "Resolution of uploaded images. \"Reduced\" scales images to max 1200px to reduce file size."
-mobileScannerPageFormat = "Page Format"
-mobileScannerPageFormatDesc = "PDF page size for converted images. \"Keep\" uses original image dimensions."
-mobileScannerStretchToFit = "Stretch to Fit"
-mobileScannerStretchToFitDesc = "Stretch images to fill the entire page. If disabled, images are centered with preserved aspect ratio."
+mobileScannerConvertToPdf = "Tiontaigh Íomhánna go PDF"
+mobileScannerConvertToPdfDesc = "Tiontaigh íomhánna uaslódáilte go huathoibríoch go formáid PDF. Má dhíchumasaítear é, coimeádfar na híomhánna mar atá."
+mobileScannerImageResolution = "Taifeach Íomhá"
+mobileScannerImageResolutionDesc = "Taifeach na n-íomhánna uaslódáilte. Scálann \"Laghdaithe\" na híomhánna go huasmhéid 1200px chun méid an chomhaid a laghdú."
+imageResolutionFull = "Iomlán (Bunmhéid)"
+imageResolutionReduced = "Laghdaithe (Uasmhéid 1200px)"
+mobileScannerPageFormat = "Formáid Leathanaigh"
+mobileScannerPageFormatDesc = "Méid leathanaigh PDF d’íomhánna tiontaithe. Úsáideann \"Coimeád\" toisí bunaidh na híomhá."
+pageFormatKeep = "Coimeád (Toisí Bunaidh)"
pageFormatA4 = "A4 (210×297mm)"
-pageFormatKeep = "Keep (Original Dimensions)"
pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Sínigh chun luí"
+mobileScannerStretchToFitDesc = "Sínigh íomhánna chun an leathanach ar fad a líonadh. Má dhíchumasaítear é, lárnófar na híomhánna agus caomhnófar an cóimheas gné."
[admin.settings.connections.ssoAutoLogin]
label = "Logáil Isteach Uathoibríoch SSO"
@@ -4618,7 +4619,7 @@ description = "Cosc ar chlárú úsáideoirí nua trí OAuth2"
[admin.settings.connections.oauth2.scopes]
label = "Scóipeanna OAuth2"
-description = "Liosta scartha le camóga de scóipeanna OAuth2 le hiarraidh (m.sh., openid, profile, email)"
+description = "Liosta scartha le camóga de raonta OAuth2 le hiarraidh (m.sh., openid, próifíl, ríomhphost)"
[admin.settings.connections.saml2]
label = "SAML2"
@@ -4644,24 +4645,120 @@ label = "Cuir Clárú ar Chosc"
description = "Cosc ar chlárú úsáideoirí nua trí SAML2"
[admin.settings.connections.mobileScanner]
-description = "Allow users to upload files from mobile devices by scanning a QR code"
-enable = "Enable QR Code Upload"
-imageResolutionFull = "Full (Original Size)"
-imageResolutionReduced = "Reduced (Max 1200px)"
-label = "Mobile Phone Upload"
-link = "Configure in System Settings"
-mobileScannerConvertToPdf = "Convert Images to PDF"
-mobileScannerConvertToPdfDesc = "Automatically convert uploaded images to PDF format. If disabled, images will be kept as-is."
-mobileScannerImageResolution = "Image Resolution"
-mobileScannerImageResolutionDesc = "Resolution of uploaded images. \"Reduced\" scales images to max 1200px to reduce file size."
-mobileScannerPageFormat = "Page Format"
-mobileScannerPageFormatDesc = "PDF page size for converted images. \"Keep\" uses original image dimensions."
-mobileScannerStretchToFit = "Stretch to Fit"
-mobileScannerStretchToFitDesc = "Stretch images to fill the entire page. If disabled, images are centered with preserved aspect ratio."
-note = "Note: Requires Frontend URL to be configured. "
+label = "Uaslódáil Fón Póca"
+enable = "Cumasaigh Uaslódáil Cód QR"
+description = "Ceadaigh d’úsáideoirí comhaid a uaslódáil ó ghléasanna soghluaiste trí chód QR a scanadh"
+note = "Nóta: Éilíonn sé go mbeidh URL an Tosaigh cumraithe."
+link = "Cumraigh i Socruithe an Chórais"
+mobileScannerConvertToPdf = "Tiontaigh Íomhánna go PDF"
+mobileScannerConvertToPdfDesc = "Tiontaigh íomhánna uaslódáilte go huathoibríoch go formáid PDF. Má dhíchumasaítear é, coimeádfar na híomhánna mar atá."
+mobileScannerImageResolution = "Taifeach Íomhá"
+mobileScannerImageResolutionDesc = "Taifeach na n-íomhánna uaslódáilte. Scálann \"Laghdaithe\" na híomhánna go huasmhéid 1200px chun méid an chomhaid a laghdú."
+imageResolutionFull = "Iomlán (Bunmhéid)"
+imageResolutionReduced = "Laghdaithe (Uasmhéid 1200px)"
+mobileScannerPageFormat = "Formáid Leathanaigh"
+mobileScannerPageFormatDesc = "Méid leathanaigh PDF d’íomhánna tiontaithe. Úsáideann \"Coimeád\" toisí bunaidh na híomhá."
+pageFormatKeep = "Coimeád (Toisí Bunaidh)"
pageFormatA4 = "A4 (210×297mm)"
-pageFormatKeep = "Keep (Original Dimensions)"
pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Sínigh chun luí"
+mobileScannerStretchToFitDesc = "Sínigh íomhánna chun an leathanach ar fad a líonadh. Má dhíchumasaítear é, lárnófar na híomhánna agus caomhnófar an cóimheas gné."
+
+[admin.settings.telegram]
+title = "Bot Telegram"
+description = "Cumraigh nascacht bot Telegram, rialuithe rochtana, agus iompar aiseolais."
+
+[admin.settings.telegram.enabled]
+label = "Cumasaigh Bot Telegram"
+description = "Ceadaigh d’úsáideoirí idirghníomhú le Stirling PDF tríd do bot Telegram cumraithe."
+
+[admin.settings.telegram.botUsername]
+label = "Ainm úsáideora an bhota"
+description = "Ainm úsáideora poiblí do bhota Telegram."
+
+[admin.settings.telegram.botToken]
+label = "Tócan an bhota"
+description = "Tócan API a sholáthraíonn BotFather do do bhota Telegram."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Fillteán Isteach"
+description = "Fillteán faoin eolaire pipeline ina stóráiltear comhaid Telegram isteach."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Úsáid iarmhír fhillteáin shaincheaptha"
+description = "Cuir an chat ID leis na fillteáin comhaid isteach chun uaslódálacha a leithlisiú de réir comhrá."
+
+[admin.settings.telegram.accessControl]
+title = "Rialú Rochtana"
+description = "Srian cé na húsáideoirí nó cainéil is féidir leo idirghníomhú leis an mbot."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Ceadaigh IDanna Úsáideora Sonracha"
+description = "Nuair a chumasaítear é, ní féidir ach leis na IDanna úsáideora liostaithe an bot a úsáid."
+
+[admin.settings.telegram.allowUserIDs]
+label = "IDanna Úsáideora Ceadaithe"
+description = "Iontráil IDanna úsáideora Telegram a bhfuil cead acu idirghníomhú leis an mbot."
+placeholder = "Cuir ID úsáideora leis agus brúigh Enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Ceadaigh IDanna Cainéil Sonracha"
+description = "Nuair a chumasaítear é, ní féidir ach leis na IDanna cainéil liostaithe an bot a úsáid."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "IDanna Cainéil Ceadaithe"
+description = "Iontráil IDanna cainéil Telegram a bhfuil cead acu idirghníomhú leis an mbot."
+placeholder = "Cuir ID cainéil leis agus brúigh Enter"
+
+[admin.settings.telegram.processing]
+title = "Próiseáil"
+description = "Rialaigh eatraimh sheiceála agus teorainneacha ama próiseála d’uaslódálacha Telegram."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Teorainn Ama Próiseála (soicind)"
+description = "Uasmhéid ama le fanacht le tasc próiseála sula dtuairiscítear earráid."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Eatramh Seiceála (ms)"
+description = "An t-eatramh idir sheiceálacha le haghaidh nuashonruithe nua Telegram."
+
+[admin.settings.telegram.feedback]
+title = "Teachtaireachtaí Aiseolais"
+description = "Roghnaigh cathain ba chóir don bot aiseolas a sheoladh chuig úsáideoirí agus cainéil."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Cumasaigh Aiseolas"
+description = "Rialaigh an seolann an bot teachtaireachtaí aiseolais ar chor ar bith."
+
+[admin.settings.telegram.feedback.channel]
+title = "Rialacha Aiseolais Cainéil"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Taispeáin \"Gan cáipéis bhailí\" (Cainéal)"
+description = "Cuir faoi chois an freagra \"Gan cáipéis bhailí\" do uaslódálacha cainéil."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Taispeáin earráidí próiseála (Cainéal)"
+description = "Seol teachtaireachtaí earráide próiseála chuig cainéil."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Taispeáin teachtaireachtaí earráide (Cainéal)"
+description = "Taispeáin teachtaireachtaí earráide mionsonraithe do chainéil."
+
+[admin.settings.telegram.feedback.user]
+title = "Rialacha Aiseolais Úsáideora"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Taispeáin \"Gan cáipéis bhailí\" (Úsáideoir)"
+description = "Cuir faoi chois an freagra \"Gan cáipéis bhailí\" d’uaslódálacha úsáideoirí."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Taispeáin earráidí próiseála (Úsáideoir)"
+description = "Seol teachtaireachtaí earráide próiseála chuig úsáideoirí."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Taispeáin teachtaireachtaí earráide (Úsáideoir)"
+description = "Taispeáin teachtaireachtaí earráide mionsonraithe d’úsáideoirí."
[admin.settings.database]
title = "Bunachar Sonraí"
@@ -4791,10 +4888,10 @@ description = "Cumraigh teorainneacha seisiúin agus teorainneacha ama do gach f
libreOffice = "LibreOffice"
pdfToHtml = "PDF go HTML"
qpdf = "QPDF"
-tesseract = "Tesseract OCR"
+tesseract = "OCR Tesseract"
pythonOpenCv = "Python OpenCV"
weasyPrint = "WeasyPrint"
-installApp = "Suiteáil App"
+installApp = "Suiteáil Aop"
calibre = "Calibre"
ghostscript = "Ghostscript"
ocrMyPdf = "OCRmyPDF"
@@ -4845,8 +4942,8 @@ label = "URL an Tosaigh"
description = "Bun‑URL don tosaigh (m.sh. https://pdf.example.com). Úsáidtear é chun naisc chuireadh a ghiniúint i ríomhphoist. Fág folamh chun URL an chúlchórais a úsáid."
[admin.settings.mail.frontendUrlNote]
-link = "Configure in System Settings"
-note = "Note: Requires Frontend URL to be configured. "
+note = "Nóta: Éilíonn sé go mbeidh URL an Tosaigh cumraithe. "
+link = "Cumraigh i Socruithe an Chórais"
[admin.settings.legal]
title = "Doiciméid Dhlíthiúla"
@@ -4931,11 +5028,11 @@ description = "Cumraigh gnéithe roghnacha agus feidhmiúlacht."
[admin.settings.features.serverCertificate]
label = "Deimhniú Freastalaí"
-description = "Cumraigh giniúint deimhnithe ar thaobh an fhreastalaí don fheidhmiúlacht \"Sign with Stirling-PDF\""
+description = "Cumraigh giniúint deimhnithe ar thaobh an fhreastalaí don fheidhmiúlacht \"Sínigh le Stirling-PDF\""
[admin.settings.features.serverCertificate.enabled]
label = "Cumasaigh Deimhniú Freastalaí"
-description = "Cumasaigh deimhniú taobh an fhreastalaí don rogha \"Sign with Stirling-PDF\""
+description = "Cumasaigh deimhniú taobh an fhreastalaí don rogha \"Sínigh le Stirling-PDF\""
[admin.settings.features.serverCertificate.organizationName]
label = "Ainm Eagraíochta"
@@ -4960,107 +5057,35 @@ label = "Críochphointí Díchumasaithe"
description = "Roghnaigh críochphointí aonair le díchumasú"
[admin.settings.endpoints.groupsToRemove]
-label = "Grúpaí Críochphointí Díchumasaithe"
-description = "Roghnaigh grúpaí críochphointí le díchumasú"
+label = "Grúpaí Deireadhphointe Díchumasaithe"
+description = "Roghnaigh grúpaí críochphointe le díchumasú"
[admin.settings.badge]
-clickToUpgrade = "Click to view plan details"
+clickToUpgrade = "Cliceáil chun sonraí an phlean a fheiceáil"
-[admin.settings.telegram]
-description = "Configure Telegram bot connectivity, access controls, and feedback behavior."
-title = "Telegram Bot"
-[admin.settings.telegram.accessControl]
-description = "Restrict which users or channels can interact with the bot."
-title = "Access Control"
-[admin.settings.telegram.allowChannelIDs]
-description = "Enter Telegram channel IDs allowed to interact with the bot."
-label = "Allowed Channel IDs"
-placeholder = "Add channel ID and press enter"
-[admin.settings.telegram.allowUserIDs]
-description = "Enter Telegram user IDs allowed to interact with the bot."
-label = "Allowed User IDs"
-placeholder = "Add user ID and press enter"
-[admin.settings.telegram.botToken]
-description = "API token provided by BotFather for your Telegram bot."
-label = "Bot Token"
-[admin.settings.telegram.botUsername]
-description = "The public username of your Telegram bot."
-label = "Bot Username"
-[admin.settings.telegram.customFolderSuffix]
-description = "Append the chat ID to incoming file folders to isolate uploads per chat."
-label = "Use Custom Folder Suffix"
-[admin.settings.telegram.enableAllowChannelIDs]
-description = "When enabled, only listed channel IDs can use the bot."
-label = "Allow Specific Channel IDs"
-[admin.settings.telegram.enableAllowUserIDs]
-description = "When enabled, only listed user IDs can use the bot."
-label = "Allow Specific User IDs"
-[admin.settings.telegram.enabled]
-description = "Allow users to interact with Stirling PDF through your configured Telegram bot."
-label = "Enable Telegram Bot"
-[admin.settings.telegram.feedback]
-description = "Choose when the bot should send feedback to users and channels."
-title = "Feedback Messages"
-[admin.settings.telegram.feedback.channel]
-title = "Channel Feedback Rules"
-[admin.settings.telegram.feedback.channel.errorMessage]
-description = "Show detailed error messages for channels."
-label = "Show error messages (Channel)"
-[admin.settings.telegram.feedback.channel.errorProcessing]
-description = "Send processing error messages to channels."
-label = "Show processing errors (Channel)"
-[admin.settings.telegram.feedback.channel.noValidDocument]
-description = "Suppress the no valid document response for channel uploads."
-label = "Show \"No valid document\" (Channel)"
-[admin.settings.telegram.feedback.general.enabled]
-description = "Control whether the bot sends feedback messages at all."
-label = "Enable Feedback"
-[admin.settings.telegram.feedback.user]
-title = "User Feedback Rules"
-[admin.settings.telegram.feedback.user.errorMessage]
-description = "Show detailed error messages for users."
-label = "Show error messages (User)"
-[admin.settings.telegram.feedback.user.errorProcessing]
-description = "Send processing error messages to users."
-label = "Show processing errors (User)"
-[admin.settings.telegram.feedback.user.noValidDocument]
-description = "Suppress the no valid document response for user uploads."
-label = "Show \"No valid document\" (User)"
-[admin.settings.telegram.pipelineInboxFolder]
-description = "Folder under the pipeline directory where incoming Telegram files are stored."
-label = "Inbox Folder"
-[admin.settings.telegram.pollingIntervalMillis]
-description = "Interval between checks for new Telegram updates."
-label = "Polling Interval (ms)"
-[admin.settings.telegram.processing]
-description = "Control polling intervals and processing timeouts for Telegram uploads."
-title = "Processing"
-[admin.settings.telegram.processingTimeoutSeconds]
-description = "Maximum time to wait for a processing job before reporting an error."
-label = "Processing Timeout (seconds)"
[fileUpload]
selectFile = "Roghnaigh comhad"
@@ -5073,7 +5098,7 @@ loadFromStorage = "Luchtaigh ón Stóráil"
filesAvailable = "comhaid ar fáil"
loading = "Á lódáil..."
or = "nó"
-dropFileHere = "Scaoil an comhad anseo nó cliceáil chun uaslódáil"
+dropFileHere = "Scaoil comhad anseo nó cliceáil chun é a uaslódáil"
dropFilesHere = "Scaoil comhaid anseo nó cliceáil an cnaipe uaslódála"
dropFilesHereOpen = "Scaoil comhaid anseo nó cliceáil an cnaipe Oscail"
pdfFilesOnly = "Comhaid PDF amháin"
@@ -5127,10 +5152,13 @@ searchFiles = "Cuardaigh comhaid..."
recent = "Le Déanaí"
localFiles = "Comhaid Logánta"
googleDrive = "Google Drive"
-googleDriveShort = "Drive"
+googleDriveShort = "Tiomáint"
myFiles = "Mo Chomhaid"
noRecentFiles = "Níor aimsíodh comhaid le déanaí"
googleDriveNotAvailable = "Níl comhtháthú Google Drive ar fáil"
+mobileUpload = "Uaslódáil Soghluaiste"
+mobileShort = "Soghluaiste"
+mobileUploadNotAvailable = "Níl uaslódáil soghluaiste cumasaithe"
downloadSelected = "Íoslódáil Roghnaithe"
saveSelected = "Sábháil Roghnaithe"
openFiles = "Oscail Comhaid"
@@ -5161,9 +5189,6 @@ showAll = "Taispeáin Uile"
sortByDate = "Sórtáil de réir Dáta"
sortByName = "Sórtáil de réir Ainm"
sortBySize = "Sórtáil de réir Méid"
-mobileShort = "Mobile"
-mobileUpload = "Mobile Upload"
-mobileUploadNotAvailable = "Mobile upload not enabled"
[storage]
temporaryNotice = "Stóráiltear comhaid go sealadach i do bhrabhsálaí agus d’fhéadfaí iad a ghlanadh go huathoibríoch"
@@ -5449,7 +5474,7 @@ loading = "Á lódáil..."
back = "Siar"
continue = "Lean ar aghaidh"
error = "Earráid"
-save = "Save"
+save = "Sábháil"
[config.overview]
title = "Cumraíocht an Fheidhmchláir"
@@ -5513,13 +5538,13 @@ confirmPrompt = "An bhfuil tú cinnte gur mian leat leanúint ar aghaidh?"
confirmCta = "Athnuaigh Eochracha"
[config.apiKeys.alert]
-apiKeyErrorTitle = "API Key Error"
-apiKeyRefreshed = "API Key Refreshed"
-apiKeyRefreshedBody = "Your API key has been successfully refreshed."
-failedToCreateApiKey = "Failed to create API key."
-failedToFetchApiKey = "Failed to fetch API key."
-failedToRefreshApiKey = "Failed to refresh API key."
-failedToRetrieveApiKey = "Failed to retrieve API key from response."
+apiKeyErrorTitle = "Earráid API Key"
+failedToCreateApiKey = "Theip ar API Key a chruthú."
+failedToRetrieveApiKey = "Theip ar API Key a fháil ón bhfreagra."
+failedToFetchApiKey = "Theip ar API Key a fháil."
+apiKeyRefreshed = "API Key Athnuaite"
+apiKeyRefreshedBody = "Athnuaíodh do API Key go rathúil."
+failedToRefreshApiKey = "Theip ar an API Key a athnuachan."
[AddAttachmentsRequest]
attachments = "Roghnaigh Iatáin"
@@ -5601,7 +5626,7 @@ noSearchResults = "Níor aimsíodh uirlisí"
noTools = "Níl aon uirlisí ar fáil"
[onboarding]
-allTools = "This is the All Tools panel, where you can browse and select from all available PDF tools."
+allTools = "Seo é an painéal Gach Uirlis, áit ar féidir leat brabhsáil agus roghnú astu na huirlisí PDF uile atá ar fáil."
selectCropTool = "Roghnaímis an uirlis Bearradh chun a léiriú conas ceann de na huirlisí a úsáid."
toolInterface = "Seo comhéadan na huirlise Bearradh. Mar a fheiceann tú, níl mórán ann fós mar nár chuir muid aon chomhaid PDF leis le hoibriú leo go fóill."
filesButton = "Ligeann an cnaipe Comhaid ar an mBarra Rochtana Thapa duit PDFanna a uaslódáil chun na huirlisí a úsáid orthu."
@@ -5626,14 +5651,14 @@ startTour = "Tosaigh an Turas"
startTourDescription = "Téigh ar thuras treoraithe de phríomhghnéithe Stirling PDF"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Tosaigh ag an ráille Rochtain Thapa chun léim idir Léitheoir, Uathoibriú, do chuid comhad, agus na turais go léir."
+leftPanel = "Liostaítear gach rud is féidir leat a dhéanamh sa phainéal Uirlisí ar chlé. Brabhsáil catagóirí nó déan cuardach chun uirlis a aimsiú go tapa."
+fileUpload = "Úsáid an cnaipe Comhaid chun PDF le déanaí a uaslódáil nó a roghnú. Lódálfaimid sampla ionas gur féidir leat an spás oibre a fheiceáil."
+rightRail = "Tá gníomhartha tapa ar an Ráille Deas chun comhaid a roghnú, téama nó teanga a athrú, agus torthaí a íoslódáil."
+topBar = "Ligeann an barra uachtarach duit malartú idir Amharcóir, Eagarthóir Leathanaigh, agus Comhaid Ghníomhacha."
+pageEditorView = "Téigh go dtí an tEagarthóir Leathanach chun leathanaigh a athordú, a rothlú nó a scriosadh."
+activeFilesView = "Bain úsáid as Comhaid Ghníomhacha chun gach rud atá oscailte agat a fheiceáil agus chun a roghnú cad atá le hoibriú air."
+wrapUp = "Sin atá nua i V2. Oscail an roghchlár Turais am ar bith chun é seo, an turas Uirlisí, nó an turas Riarthóra a athsheinm."
[onboarding.welcomeModal]
title = "Fáilte go Stirling PDF!"
@@ -5656,8 +5681,8 @@ showMeAround = "Taispeáin timpeall dom"
skipTheTour = "Scipeáil an turas"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Forbhreathnú ar an Turas"
+body = "Tagann Stirling PDF V2 le mórán uirlisí agus leagan amach athnuaite. Tabhair cuairt ghearr chun a fheiceáil cad a d'athraigh agus cá háit le fáil na gnéithe atá uait."
[onboarding.serverLicense]
skip = "Scipeáil faoi láthair"
@@ -5681,17 +5706,17 @@ adminBodyLoginDisabled = "Nuair a chumasaíonn tú mód logála isteach, is féi
userBody = "Tabhair cuireadh do chomhoibrithe, sann róil, agus coinnigh do dhoiciméid eagraithe in aon spás oibre slán amháin. Cumasaigh mód logála isteach aon uair is mian leat dul thar úsáid aonair."
[onboarding.securityCheck]
-message = "Rinneadh athruithe suntasacha ar an bhfeidhmchlár le déanaí. D’fhéadfadh aird do riarthóra freastalaí a bheith de dhíth. Deimhnigh do ról le do thoil chun leanúint ar aghaidh."
+message = "Tá athruithe suntasacha déanta ar an bhfeidhmchlár le déanaí. B’fhéidir go mbeidh aird riarthóir do fhreastalaí ag teastáil. Deimhnigh do ról le leanúint ar aghaidh."
[adminOnboarding]
-welcome = "Fáilte go dtí an Admin Tour! Déanaimis iniúchadh ar na gnéithe agus na socruithe fiontraíochta cumhachtacha atá ar fáil do riarthóirí córais."
-configButton = "Cliceáil an cnaipe Config chun rochtain a fháil ar gach socrú córais agus rialú riaracháin."
+welcome = "Fáilte go dtí an Turas Riaracháin! Déanaimis iniúchadh ar na gnéithe agus na socruithe cumhachtacha fiontraíochta atá ar fáil do riarthóirí córais."
+configButton = "Cliceáil an cnaipe Cumraíocht chun rochtain a fháil ar shocruithe an chórais agus ar rialuithe riaracháin go léir."
settingsOverview = "Seo é an Painéal Socruithe. Tá socruithe riaracháin eagraithe de réir catagóire le haghaidh nascleanúna éasca."
teamsAndUsers = "Bainistigh Foirne agus úsáideoirí aonair anseo. Is féidir leat úsáideoirí nua a thabhairt isteach trí r-phost, naisc inroinnte, nó cuntais shaincheaptha a chruthú dóibh tú féin."
-systemCustomization = "Tá bealaí fairsinge againn chun an UI a shaincheapadh: ligeann System Settings duit ainm agus teangacha an aipe a athrú, cuireann Features bainistíocht teastais freastalaí ar fáil, agus ligeann Endpoints duit uirlisí áirithe a chumasú nó a dhíchumasú do d’úsáideoirí."
+systemCustomization = "Tá bealaí fairsinge againn chun an comhéadan úsáideora a shaincheapadh: Ligeann Socruithe Córais duit ainm agus teangacha an aip a athrú, ceadaíonn Gnéithe bainistíocht teastais freastalaí, agus ligeann Deireadhphointí duit uirlisí sonracha a chumasú nó a dhíchumasú do d'úsáideoirí."
databaseSection = "Le haghaidh timpeallachtaí táirgthe ardleibhéil, tá socruithe againn chun nascanna le bunachair shonraí sheachtracha a chumasú ionas gur féidir leat comhtháthú le d’infreastruchtúr atá ann cheana."
connectionsSection = "Tacaíonn an rannán Connections le modhanna logála isteach éagsúla lena n-áirítear SSO saincheaptha agus soláthraithe SAML ar nós Google agus GitHub, móide comhtháthuithe ríomhphoist le haghaidh fógraí agus cumarsáide."
-adminTools = "Ar deireadh, tá uirlisí riaracháin ardleibhéil againn mar Auditing chun gníomhaíocht chórais a rianú agus Usage Analytics chun monatóireacht a dhéanamh ar conas a idirghníomhaíonn d’úsáideoirí leis an ardán."
+adminTools = "Ar deireadh, tá uirlisí riaracháin ardleibhéil againn ar nós Iniúchadh chun gníomhaíocht chórais a rianú agus Anailísíocht Úsáide chun monatóireacht a dhéanamh ar an gcaoi a n-idirghníomhaíonn d'úsáideoirí leis an ardán."
wrapUp = "Sin é an turas riaracháin! Chonaic tú na gnéithe fiontraíochta a dhéanann Stirling PDF ina réiteach cumhachtach, saincheaptha d’eagraíochtaí. Is féidir an turas seo a rochtain am ar bith ón roghchlár Cabhair."
[workspace]
@@ -5738,7 +5763,7 @@ user = "Úsáideoir"
[workspace.people.addMember]
title = "Cuir Ball Leis"
username = "Ainm Úsáideora (R-phost)"
-usernamePlaceholder = "user@example.com"
+usernamePlaceholder = "úsáideoir@sampla.com"
password = "Focal Faire"
passwordPlaceholder = "Cuir isteach focal faire"
role = "Ról"
@@ -5800,7 +5825,7 @@ error = "Níor éirigh le focal faire a nuashonrú"
tab = "Cuireadh Ríomhphoist"
description = "Clóscríobh nó greamaigh seoltaí ríomhphoist thíos, scartha le camóga. Gheobhaidh úsáideoirí dintiúir logála isteach trí r-phost."
emails = "Seoltaí Ríomhphoist"
-emailsPlaceholder = "user1@example.com, user2@example.com"
+emailsPlaceholder = "úsáideoir1@sampla.com, úsáideoir2@sampla.com"
emailsRequired = "Tá ar a laghad seoladh ríomhphoist amháin de dhíth"
submit = "Seol Cuirí"
success = "Tugadh cuireadh d’úsáideoir(í) go rathúil"
@@ -5972,28 +5997,28 @@ contactSales = "Déan Teagmháil le Díolacháin"
contactToUpgrade = "Déan teagmháil linn chun do phlean a uasghrádú nó a shaincheapadh"
maxUsers = "Uaslíon Úsáideoirí"
upTo = "Suas le"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Faigh Ceadúnas Freastalaí"
+upgradeToEnterprise = "Uasghrádú go Fiontar"
+selectPeriod = "Roghnaigh Tréimhse Billeála"
+monthlyBilling = "Billeáil Mhíosúil"
+yearlyBilling = "Billeáil Bhliantúil"
+checkoutOpened = "Seiceáil Oscailte"
+checkoutInstructions = "Críochnaigh do cheannachán sa chluaisín Stripe. Tar éis íocaíochta, fill ar ais anseo agus athnuachan an leathanach chun do cheadúnas a ghníomhachtú. Gheobhaidh tú ríomhphost le d’eochair cheadúnais freisin."
+activateLicense = "Gníomhachtaigh Do Cheadúnas"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Seiceáil Oscailte i gCluaisín Nua"
+instructions = "Comhlánaigh do cheannachán sa chluaisín Stripe. Nuair a bheidh d’íocaíocht críochnaithe, gheobhaidh tú ríomhphost le d’eochair cheadúnais."
+enterKey = "Cuir isteach d’eochair cheadúnais thíos chun do phlean a ghníomhachtú:"
+keyDescription = "Greamaigh an eochair cheadúnais ó do ríomhphost"
+activate = "Gníomhachtaigh an Ceadúnas"
+doLater = "Déanfaidh mé é seo níos déanaí"
+success = "Ceadúnas Gníomhachtaithe!"
+successMessage = "Tá do cheadúnas gníomhachtaithe go rathúil. Is féidir leat an fhuinneog seo a dhúnadh anois."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "Fíorú Ríomhphoist Riachtanach"
+message = "Beidh ort do sheoladh ríomhphoist a fhíorú i dtairseach billeála Stripe. Seiceáil do ríomhphost le haghaidh nasc logála isteach."
[plan.period]
month = "mí"
@@ -6014,12 +6039,12 @@ highlight2 = "Uirlisí PDF Casta"
highlight3 = "Gan comharthaí uisce"
[plan.enterprise]
-name = "Enterprise"
+name = "Fiontar"
highlight1 = "Praghsáil shaincheaptha"
highlight2 = "Tacaíocht thiomnaithe"
highlight3 = "Na gnéithe is déanaí"
requiresServer = "Teastaíonn Freastalaí"
-requiresServerMessage = "Uasghrádaigh go dtí an plean Freastalaí ar dtús sula n-uasghrádaíonn tú go Enterprise."
+requiresServerMessage = "Uasghrádaigh go dtí an plean Freastalaí ar dtús sula n-uasghrádaíonn tú go Fiontraíochta."
[plan.feature]
title = "Gné"
@@ -6051,7 +6076,7 @@ none = "Gan Síntiús"
[billing]
manageBilling = "Bainistigh Billeáil"
updateSeats = "Nuashonraigh Suíocháin"
-updateEnterpriseSeats = "Nuashonraigh Suíocháin Enterprise"
+updateEnterpriseSeats = "Nuashonraigh Suíocháin Fiontraíochta"
currentSeats = "Suíocháin Reatha"
minimumSeats = "Íosmhéid Suíochán"
basedOnUsers = "(úsáideoirí reatha)"
@@ -6083,7 +6108,7 @@ seeInfo = "Féach eolas"
[payment]
preparing = "Do sheiceáil amach á ullmhú..."
-redirecting = "Ag atreorú chuig checkout slán..."
+redirecting = "Ag atreorú chuig an tseiceáil amach slán..."
upgradeTitle = "Uasghrádaigh go {{planName}}"
success = "D’éirigh leis an Íocaíocht!"
successMessage = "Gníomhachtaíodh do shíntiús go rathúil. Gheobhaidh tú ríomhphost dearbhaithe go luath."
@@ -6122,7 +6147,7 @@ emailInvalid = "Cuir isteach seoladh ríomhphoist bailí"
title = "Cuir isteach do Ríomhphost"
description = "Úsáidfimid é seo chun d’eochair cheadúnais agus admhálacha a sheoladh."
emailLabel = "Seoladh Ríomhphoist"
-emailPlaceholder = "your@email.com"
+emailPlaceholder = "do@ríomhphost.com"
continue = "Lean ar aghaidh"
modalTitle = "Tosaigh - {{planName}}"
@@ -6197,8 +6222,8 @@ notAvailable = "Níl an córas iniúchta ar fáil"
notAvailableMessage = "Níl an córas iniúchta cumraithe nó níl sé ar fáil."
disabled = "Tá logáil iniúchta díchumasaithe"
disabledMessage = "Cumasaigh logáil iniúchta i gcumraíocht d’fheidhmchláir chun imeachtaí an chórais a rianú."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Ceadúnas Fiontraíochta Riachtanach"
+enterpriseRequiredMessage = "Is gné fiontraíochta é an córas logála iniúchóireachta. Uasghrádaigh go ceadúnas fiontraíochta le rochtain a fháil ar logaí iniúchóireachta agus anailísíocht."
[audit.error]
title = "Earráid agus an córas iniúchta á lódáil"
@@ -6370,10 +6395,10 @@ description = "Cuir isteach URL iomlán do fhreastalaí Stirling PDF féin-óst
[setup.server.error]
emptyUrl = "Cuir isteach URL freastalaí le do thoil"
+invalidUrl = "Formáid URL neamhbhailí. Cuir isteach URL bailí cosúil le https://your-server.com"
unreachable = "Níorbh fhéidir ceangal leis an bhfreastalaí"
testFailed = "Theip ar thástáil an cheangail"
configFetch = "Níor éirigh le cumraíocht an fhreastalaí a fháil. Seiceáil an URL agus bain triail eile as."
-invalidUrl = "Invalid URL format. Please enter a valid URL like https://your-server.com"
[setup.server.error.securityDisabled]
title = "Níl an Logáil Isteach Cumasaithe"
@@ -6389,6 +6414,7 @@ connectingTo = "Ag ceangal le:"
submit = "Logáil Isteach"
signInWith = "Sínigh isteach le"
oauthPending = "Brabhsálaí á oscailt le haghaidh fíordheimhnithe..."
+sso = "Single Sign-On"
orContinueWith = "Nó lean ar aghaidh le ríomhphost"
serverRequirement = "Nóta: Ní mór an cumas logála isteach a bheith cumasaithe ar an bhfreastalaí."
showInstructions = "Conas é a chumasú?"
@@ -6397,7 +6423,6 @@ instructions = "Chun logáil isteach a chumasú ar do fhreastalaí Stirling PDF:
instructionsEnvVar = "Socraigh an athróg chomhshaoil:"
instructionsOrYml = "Nó i settings.yml:"
instructionsRestart = "Ansin atosaigh do fhreastalaí chun go mbeidh na hathruithe i bhfeidhm."
-sso = "Single Sign-On"
[setup.login.username]
label = "Ainm Úsáideora"
@@ -6455,8 +6480,8 @@ reset = "Athshocraigh Athruithe"
downloadJson = "Íoslódáil JSON"
generatePdf = "Gin PDF"
saveChanges = "Sábháil Athruithe"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Cuir Athruithe i bhFeidhm"
+downloadCopy = "Íoslódáil Cóip"
[pdfTextEditor.options.autoScaleText]
title = "Scálaigh téacs go huathoibríoch chun boscaí a fheistiú"
@@ -6476,22 +6501,22 @@ title = "Glasáil téacs curtha in eagar le heilimint PDF aonair"
description = "Nuair atá cumasaithe, easpórtálann an t-eagarthóir gach bosca téacs curtha in eagar mar eilimint téacs PDF amháin chun glifaí forluiteacha nó clónna measctha a sheachaint."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Socruithe Ardleibhéil"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Teorainneacha Réamhamhairc"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Fócas Téacs agus Íomhá"
+text = "Díríonn an spás oibre seo ar théacs a chur in eagar agus íomhánna leabaithe a athshuíomh. Coinnítear saothar ealaíne leathanaigh casta, giuirléidí foirmeacha, agus grafaicí srathacha le haghaidh onnmhairithe ach ní féidir iad a chur in eagar go hiomlán anseo."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Réamhamharc ar an Éagsúlacht"
+text = "B’fhéidir nach dtaispeánfar roinnt amharcléirithe (amhail teorainneacha tábla, cruthanna, nó cuma anótála) go díreach sa réamhamharc. Coinníonn an PDF easpórtáilte na horduithe líníochta bunaidh aon uair is féidir."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Amharcóir Alfa"
+text = "Tá an breathnóir alfa seo fós ag forbairt—d’fhéadfadh clónna, dathanna, éifeachtaí trédhearcachta agus sonraí leagan amach áirithe athrú beagán. Déan seiceáil dhúbailte ar an PDF ginte sula roinneann tú é."
[pdfTextEditor.manual]
mergeTooltip = "Cumaisc na boscaí roghnaithe"
@@ -6529,10 +6554,10 @@ notIdealFor2 = "Irisí, bróisiúir, nó doiciméid le dearadh trom"
notIdealFor3 = "Lámhleabhair treoracha le leagan amach casta"
limitations = "Teorainneacha Reatha:"
limitation1 = "Féadfaidh rindreáil cló a bheith beagán difriúil ón PDF bunaidh"
-limitation2 = "Caomhnaítear grafaicí casta, réimsí foirme agus anótálacha ach ní féidir iad a chur in eagar"
-limitation3 = "D’fhéadfadh go dtógfadh tiontú agus próiseáil comhaid mhóra tamall"
-knownIssues = "Fadhbanna Aitheanta (Á Socrú):"
-issue1 = "Ní chaomhnaítear dath téacs faoi láthair (cuirfear leis go luath)"
+limitation2 = "Coinnítear grafaicí casta, réimsí foirme agus nótaí ach ní féidir iad a chur in eagar"
+limitation3 = "D’fhéadfadh sé go dtógfadh sé tamall comhaid mhóra a thiontú agus a phróiseáil"
+knownIssues = "Fadhbanna Aitheanta (Á Réiteach):"
+issue1 = "Níl dath an téacs caomhnaithe faoi láthair (cuirfear leis go luath é)"
issue2 = "Tá níos mó saincheisteanna ailínithe agus spásála i Mód Míre — moltar Mód Líne Aonair"
issue3 = "Tá an réamhamharc difriúil ón PDF easpórtáilte — tá PDFanna easpórtáilte níos gaire don bhunleagan"
issue4 = "D’fhéadfadh go mbeadh coigeartú láimhe de dhíth ar ailíniú téacs rothlaithe"
@@ -6615,57 +6640,58 @@ title = "Torthaí Cur Téacs"
[addText.error]
failed = "Tharla earráid agus téacs á chur leis an PDF."
-[mobileScanner]
-addToBatch = "Add to Batch"
-back = "Back"
-batchImages = "Batch"
-camera = "Camera"
-cameraAccessDenied = "Camera access denied. Please enable camera access."
-cameraDescription = "Scan documents using your device camera with automatic edge detection"
-capture = "Capture Photo"
-chooseMethod = "Choose Upload Method"
-chooseMethodDescription = "Select how you want to scan and upload documents"
-clearBatch = "Clear"
-connected = "Connected"
-connecting = "Connecting..."
-edgeDetection = "Edge Detection"
-fileDescription = "Upload existing photos or documents from your device"
-fileUpload = "File Upload"
-flash = "Flash"
-flashlight = "Flashlight"
-httpsRequired = "Camera access requires HTTPS or localhost. Please use HTTPS or access via localhost."
-noSession = "Invalid Session"
-noSessionMessage = "Please scan a valid QR code to access this page."
-preview = "Preview"
-processing = "Processing..."
-retake = "Retake"
-selectFilesPrompt = "Select files to upload"
-selectImage = "Select Image"
-sessionExpired = "This session has expired. Please refresh and try again."
-sessionInvalid = "Session Error"
-sessionNotFound = "Session not found. Please refresh and try again."
-sessionValidationError = "Unable to verify session. Please try again."
-settings = "Settings"
-title = "Mobile Scanner"
-upload = "Upload"
-uploadAll = "Upload All"
-uploadFailed = "Upload failed. Please try again."
-uploadSuccess = "Upload Successful!"
-uploadSuccessMessage = "Your images have been transferred."
-uploading = "Uploading..."
-validating = "Validating session..."
-
[mobileUpload]
-connected = "Mobile device connected"
-description = "Scan to upload photos. Images auto-convert to PDF."
-descriptionNoConvert = "Scan to upload photos from your mobile device."
-error = "Connection Error"
-expiryWarning = "Session Expiring Soon"
-expiryWarningMessage = "This QR code will expire in {{seconds}} seconds. A new code will be generated automatically."
-filesReceived = "{{count}} file(s) received"
-instructions = "Scan with your phone camera. Images convert to PDF automatically."
-instructionsNoConvert = "Scan with your phone camera to upload files."
-pollingError = "Error checking for files"
-sessionCreateError = "Failed to create session"
-sessionId = "Session ID"
-title = "Upload from Mobile"
+title = "Uaslódáil ó Shoghluaiste"
+description = "Scan an cód QR seo le do ghléas soghluaiste chun grianghraif a uaslódáil go díreach chuig an leathanach seo."
+descriptionNoConvert = "Scanáil chun grianghraif a uaslódáil ó do ghléas soghluaiste."
+error = "Earráid Ceangail"
+pollingError = "Earráid ag seiceáil comhad"
+sessionId = "Aitheantas Seisiúin"
+sessionCreateError = "Theip ar chruthú seisiúin"
+expiryWarning = "Seisiún ag Dul in Éag go Luath"
+expiryWarningMessage = "Rachaidh an cód QR seo in éag i {{seconds}} soicind. Ginfear cód nua go huathoibríoch."
+filesReceived = "{{count}} comhad(anna) faighte"
+connected = "Gléas soghluaiste ceangailte"
+instructions = "Oscail an aip ceamara ar do ghuthán agus scan an cód seo. Aistreofar comhaid go díreach idir gléasanna."
+instructionsNoConvert = "Scanáil le ceamara do ghutháin chun comhaid a uaslódáil."
+
+[mobileScanner]
+title = "Scanóir Soghluaiste"
+noSession = "Seisiún Neamhbhailí"
+noSessionMessage = "Scanáil cód QR bailí le do thoil chun rochtain a fháil ar an leathanach seo."
+validating = "Ag bailíochtú an tseisiúin..."
+sessionInvalid = "Earráid Seisiúin"
+sessionExpired = "Tá an seisiún seo imithe in éag. Athnuachan agus déan iarracht arís."
+sessionNotFound = "Níor aimsíodh an seisiún. Athnuachan agus déan iarracht arís."
+sessionValidationError = "Ní féidir an seisiún a fhíorú. Déan iarracht arís."
+uploadSuccess = "Uaslódáil Rathúil!"
+uploadSuccessMessage = "Tá do chuid íomhánna aistrithe."
+httpsRequired = "Éilíonn rochtain ceamara HTTPS nó localhost. Bain úsáid as HTTPS nó rochtain trí localhost."
+uploadFailed = "Theip ar an uaslódáil. Déan iarracht arís."
+uploading = "Ag uaslódáil..."
+connected = "Ceangailte"
+connecting = "Ag ceangal..."
+chooseMethod = "Roghnaigh Modh Uaslódála"
+chooseMethodDescription = "Roghnaigh conas is mian leat doiciméid a scanadh agus a uaslódáil"
+camera = "Ceamara"
+cameraDescription = "Scan doiciméid ag baint úsáide as ceamara do ghléis le braiteadh imeall uathoibríoch"
+fileUpload = "Uaslódáil Comhad"
+fileDescription = "Uaslódáil grianghraif nó doiciméid atá ann cheana féin ó do ghléas"
+cameraAccessDenied = "Diúltaíodh rochtain ceamara. Cumasaigh rochtain ceamara le do thoil."
+back = "Ar ais"
+settings = "Socruithe"
+edgeDetection = "Braith Imeall"
+flashlight = "Splanc"
+flash = "Splanc"
+processing = "Ag Próiseáil..."
+capture = "Gabh Grianghraf"
+selectFilesPrompt = "Roghnaigh comhaid le huaslódáil"
+selectImage = "Roghnaigh Íomhá"
+preview = "Réamhamharc"
+retake = "Athghlac"
+addToBatch = "Cuir le Baisc"
+upload = "Uaslódáil"
+batchImages = "Baisc"
+clearBatch = "Glan"
+uploadAll = "Uaslódáil Gach Rud"
+
diff --git a/frontend/public/locales/hi-IN/translation.toml b/frontend/public/locales/hi-IN/translation.toml
index e0498ef47..1df1a329a 100644
--- a/frontend/public/locales/hi-IN/translation.toml
+++ b/frontend/public/locales/hi-IN/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "आपके PDF में असहेजे परिवर्तन हैं।"
+pendingRedactionsTitle = "लागू न किए गए रिडैक्शन"
+pendingRedactions = "आपके पास लागू न किए गए रिडैक्शन हैं जो खो जाएँगे।"
areYouSure = "क्या आप वाकई छोड़ना चाहते हैं?"
unsavedChangesTitle = "असहेजे परिवर्तन"
keepWorking = "काम जारी रखें"
discardChanges = "त्यागें और बाहर निकलें"
+discardRedactions = "त्यागें और बाहर निकलें"
applyAndContinue = "सहेजें और बाहर निकलें"
exportAndContinue = "निर्यात करें और जारी रखें"
cancel = "रद्द करें"
@@ -131,7 +134,7 @@ unsupported = "असमर्थित"
[toolPanel]
placeholder = "शुरू करने के लिए कोई टूल चुनें"
-alpha = "अल्फा"
+alpha = "Alpha"
premiumFeature = "प्रीमियम फीचर:"
comingSoon = "जल्द आ रहा है:"
@@ -364,6 +367,7 @@ advanced = "एडवांस्ड"
title = "सुरक्षा और प्रमाणीकरण"
security = "सुरक्षा"
connections = "कनेक्शन्स"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "लाइसेंसिंग और एनालिटिक्स"
@@ -378,7 +382,7 @@ privacy = "गोपनीयता"
[settings.developer]
title = "डेवलपर"
-apiKeys = "API कुंजियाँ"
+apiKeys = "API Keys"
[settings.tooltips]
enableLoginFirst = "पहले लॉगिन मोड सक्षम करें"
@@ -438,25 +442,34 @@ currentVersion = "वर्तमान संस्करण"
latestVersion = "नवीनतम संस्करण"
checkForUpdates = "अपडेट्स जाँचें"
viewDetails = "विवरण देखें"
+serverNeedsUpdate = "व्यवस्थापक को सर्वर अपडेट करना होगा"
+
+[settings.general.versionInfo]
+title = "संस्करण जानकारी"
+description = "डेस्कटॉप और सर्वर संस्करण विवरण"
+desktop = "डेस्कटॉप संस्करण"
+server = "सर्वर संस्करण"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "सुरक्षा"
+description = "अपने खाते को सुरक्षित रखने के लिए अपना पासवर्ड अपडेट करें।"
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "अपना पासवर्ड बदलें। अपडेट के बाद आप लॉगआउट हो जाएँगे।"
+required = "सभी फ़ील्ड अनिवार्य हैं।"
+mismatch = "नए पासवर्ड मेल नहीं खाते।"
+error = "पासवर्ड अपडेट नहीं हो सका। कृपया अपना वर्तमान पासवर्ड जाँचें और फिर से प्रयास करें।"
+success = "पासवर्ड सफलतापूर्वक अपडेट किया गया। कृपया दोबारा साइन इन करें।"
+ssoDisabled = "पासवर्ड परिवर्तन आपके पहचान प्रदाता द्वारा प्रबंधित किए जाते हैं।"
+current = "वर्तमान पासवर्ड"
+currentPlaceholder = "अपना वर्तमान पासवर्ड दर्ज करें"
+new = "नया पासवर्ड"
+newPlaceholder = "नया पासवर्ड दर्ज करें"
+confirm = "नए पासवर्ड की पुष्टि करें"
+confirmPlaceholder = "अपने नए पासवर्ड को फिर से दर्ज करें"
+update = "पासवर्ड अपडेट करें"
+
+
[settings.hotkeys]
title = "कीबोर्ड शॉर्टकट्स"
@@ -511,16 +524,16 @@ low = "कम"
title = "क्रेडेंशियल्स बदलें"
header = "अपना खाता विवरण अपडेट करें"
changePassword = "आप डिफ़ॉल्ट लॉगिन क्रेडेंशियल्स का उपयोग कर रहे हैं। कृपया एक नया पासवर्ड दर्ज करें"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "आपका खाता आपके पहचान प्रदाता द्वारा प्रबंधित है।"
newUsername = "नया उपयोगकर्ता नाम"
oldPassword = "वर्तमान पासवर्ड"
newPassword = "नया पासवर्ड"
confirmNewPassword = "नए पासवर्ड की पुष्टि करें"
submit = "परिवर्तन जमा करें"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "खाता अपडेट किया गया"
+description = "परिवर्तन सहेजे गए। कृपया दोबारा लॉग इन करें।"
+error = "उपयोगकर्ता नाम अपडेट नहीं हो सका। कृपया अपना पासवर्ड जाँचें और फिर से प्रयास करें।"
+changeUsername = "अपना उपयोगकर्ता नाम अपडेट करें। अपडेट के बाद आप लॉगआउट हो जाएँगे।"
[account]
title = "खाता सेटिंग्स"
@@ -528,6 +541,8 @@ accountSettings = "खाता सेटिंग्स"
adminSettings = "व्यवस्थापक सेटिंग्स - उपयोगकर्ताओं को देखें और जोड़ें"
userControlSettings = "उपयोगकर्ता नियंत्रण सेटिंग्स"
changeUsername = "उपयोगकर्ता नाम बदलें"
+changeUsernameDescription = "अपना उपयोगकर्ता नाम अपडेट करें। अपडेट के बाद आप लॉगआउट हो जाएँगे।"
+newUsernamePlaceholder = "अपना नया उपयोगकर्ता नाम दर्ज करें"
newUsername = "नया उपयोगकर्ता नाम"
password = "पुष्टिकरण पासवर्ड"
oldPassword = "पुराना पासवर्ड"
@@ -738,8 +753,8 @@ desc = "चित्र बनाकर, टेक्स्ट या छवि
[home.annotate]
tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+title = "टिप्पणी करें"
+desc = "व्यूअर में हाइलाइट करें, ड्रॉ करें, नोट्स और आकार जोड़ें"
[home.flatten]
tags = "सरल बनाएं,हटाएँ,इंटरैक्टिव"
@@ -867,7 +882,7 @@ title = "PDF हस्ताक्षर सत्यापित करें"
desc = "PDF दस्तावेजों में डिजिटल हस्ताक्षर और प्रमाणपत्रों को सत्यापित करें"
[home.swagger]
-tags = "API,दस्तावेज़ीकरण,परीक्षण"
+tags = "API,documentation,test"
title = "API दस्तावेज़ीकरण"
desc = "API दस्तावेज़ देखें और एंडपॉइंट टेस्ट करें"
@@ -916,7 +931,7 @@ title = "रंग बदलें/उलटें"
desc = "PDF दस्तावेज़ों में रंगों को प्रतिस्थापित या उलटें"
[home.devApi]
-tags = "API,विकास,दस्तावेज़ीकरण"
+tags = "API,development,documentation"
title = "API"
desc = "API दस्तावेज़ के लिए लिंक"
@@ -952,10 +967,10 @@ title = "PDF ओवरले करें"
[home.pdfTextEditor]
title = "PDF टेक्स्ट एडिटर"
-desc = "PDF फ़ाइलों के भीतर मौजूदा टेक्स्ट और इमेज संपादित करें"
+desc = "ग्रुप्ड टेक्स्ट एडिटिंग और PDF पुनर्जनन के साथ Stirling PDF JSON एक्सपोर्ट की समीक्षा व संपादन करें"
[home.addText]
-tags = "पाठ,टिप्पणी,लेबल"
+tags = "text,annotation,label"
title = "टेक्स्ट जोड़ें"
desc = "अपने PDF में कहीं भी कस्टम टेक्स्ट जोड़ें"
@@ -963,6 +978,7 @@ desc = "अपने PDF में कहीं भी कस्टम टेक
addFiles = "फ़ाइलें जोड़ें"
uploadFromComputer = "कंप्यूटर से अपलोड करें"
openFromComputer = "कंप्यूटर से खोलें"
+mobileUpload = "मोबाइल से अपलोड करें"
[viewPdf]
tags = "देखें,पढ़ें,टिप्पणी,टेक्स्ट,छवि"
@@ -1214,7 +1230,7 @@ selectFilesPlaceholder = "शुरू करने के लिए मुख
settings = "सेटिंग्स"
conversionCompleted = "रूपांतरण पूरा हुआ"
results = "परिणाम"
-defaultFilename = "परिवर्तित_फ़ाइल"
+defaultFilename = "converted_file"
conversionResults = "रूपांतरण परिणाम"
convertFrom = "से रूपांतरित करें"
convertTo = "में रूपांतरित करें"
@@ -1254,11 +1270,11 @@ pdfaDigitalSignatureWarning = "PDF में एक डिजिटल हस्
fileFormat = "फ़ाइल फ़ॉर्मेट"
wordDoc = "Word दस्तावेज़"
wordDocExt = "Word दस्तावेज़ (.docx)"
-odtExt = "OpenDocument टेक्स्ट (.odt)"
+odtExt = "OpenDocument Text (.odt)"
pptExt = "PowerPoint (.pptx)"
-odpExt = "OpenDocument प्रस्तुति (.odp)"
-txtExt = "सादा पाठ (.txt)"
-rtfExt = "रिच टेक्स्ट फ़ॉर्मेट (.rtf)"
+odpExt = "OpenDocument Presentation (.odp)"
+txtExt = "Plain Text (.txt)"
+rtfExt = "Rich Text Format (.rtf)"
selectedFiles = "चयनित फ़ाइलें"
noFileSelected = "कोई फ़ाइल चयनित नहीं। फ़ाइलें जोड़ने के लिए फ़ाइल पैनल का उपयोग करें।"
convertFiles = "फ़ाइलें रूपांतरित करें"
@@ -1278,21 +1294,33 @@ cbzOptions = "CBZ से PDF विकल्प"
optimizeForEbook = "ईबुक रीडर्स के लिए PDF ऑप्टिमाइज़ करें (Ghostscript का उपयोग करता है)"
cbzOutputOptions = "PDF से CBZ विकल्प"
cbzDpi = "इमेज रेंडरिंग के लिए DPI"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "CBR विकल्प"
+cbrOutputOptions = "PDF से CBR विकल्प"
+cbrDpi = "छवि रेंडरिंग के लिए DPI"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "eBook से PDF विकल्प"
+ebookOptionsDesc = "eBooks को PDF में बदलने के विकल्प"
+embedAllFonts = "सभी फ़ॉन्ट एम्बेड करें"
+embedAllFontsDesc = "eBook के सभी फ़ॉन्ट जनरेट की गई PDF में एम्बेड करें"
+includeTableOfContents = "विषयसूची शामिल करें"
+includeTableOfContentsDesc = "तैयार PDF में निर्मित विषयसूची जोड़ें"
+includePageNumbers = "पेज नंबर शामिल करें"
+includePageNumbersDesc = "जनरेट की गई PDF में पेज नंबर जोड़ें"
+optimizeForEbookPdf = "ईबुक रीडर्स के लिए अनुकूलित करें"
+optimizeForEbookPdfDesc = "eBook पढ़ने के लिए PDF को अनुकूलित करें (छोटा फ़ाइल आकार, eInk डिवाइस पर बेहतर रेंडरिंग)"
+
+[convert.epubOptions]
+epubOptions = "PDF से eBook विकल्प"
+epubOptionsDesc = "PDF को EPUB/AZW3 में बदलने के विकल्प"
+detectChapters = "अध्याय पहचानें"
+detectChaptersDesc = "अध्याय जैसे दिखने वाले शीर्षकों का पता लगाएँ और EPUB पेज ब्रेक जोड़ें"
+targetDevice = "लक्षित डिवाइस"
+targetDeviceDesc = "रीडर डिवाइस के लिए अनुकूलित आउटपुट प्रोफाइल चुनें"
+outputFormat = "आउटपुट फ़ॉर्मेट"
+outputFormatDesc = "ईबुक के लिए आउटपुट फ़ॉर्मेट चुनें"
+tabletPhone = "टैबलेट/फ़ोन (चित्र सहित)"
+kindleEink = "Kindle e-Ink (पाठ के लिए अनुकूलित)"
[imageToPdf]
tags = "रूपांतरण,img,jpg,चित्र,फोटो"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "अटैचमेंट जोड़ें"
remove = "अटैचमेंट हटाएँ"
embed = "अटैचमेंट एम्बेड करें"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "PDF/A-3b में बदलें"
+convertToPdfA3bDescription = "एम्बेडेड अटैचमेंट्स के साथ एक आर्काइवल PDF बनाता है"
+convertToPdfA3bTooltip = "PDF/A-3b एक आर्काइवल फ़ॉर्मेट है जो दीर्घकालिक संरक्षण सुनिश्चित करता है। यह मनमाने फ़ाइल फ़ॉर्मेट्स को अटैचमेंट के रूप में एम्बेड करने की अनुमति देता है। कन्वर्ज़न के लिए Ghostscript आवश्यक है और बड़े फ़ाइलों में अधिक समय लग सकता है।"
+convertToPdfA3bTooltipHeader = "PDF/A-3b कन्वर्ज़न के बारे में"
+convertToPdfA3bTooltipTitle = "यह क्या करता है"
submit = "Add attachments"
[watermark]
@@ -1421,7 +1449,7 @@ title = "वॉटरमार्क जोड़ें"
desc = "PDF फ़ाइलों में टेक्स्ट या इमेज वॉटरमार्क जोड़ें"
completed = "वॉटरमार्क जोड़ा गया"
submit = "वॉटरमार्क जोड़ें"
-filenamePrefix = "वॉटरमार्क_युक्त"
+filenamePrefix = "watermarked"
[watermark.error]
failed = "PDF में वॉटरमार्क जोड़ते समय एक त्रुटि हुई।"
@@ -1696,7 +1724,7 @@ subtitle = "प्रोसेस्ड फ़ाइल डाउनलोड
[removePages]
tags = "पृष्ठ निकालें,पृष्ठ हटाएं"
title = "निकालें"
-filenamePrefix = "पृष्ठ_हटाए_गए"
+filenamePrefix = "pages_removed"
submit = "निकालें"
[removePages.pageNumbers]
@@ -1893,12 +1921,12 @@ title = "उन्नत"
tags = "कम्प्रेस,छोटा,छोटा"
[unlockPDFForms]
-tags = "हटाएं,मिटाएं,फॉर्म,फ़ील्ड,रीड-ओनली"
+tags = "remove,delete,form,field,readonly"
title = "फॉर्म फ़ील्ड से Read-Only हटाएं"
header = "PDF फॉर्म अनलॉक करें"
submit = "Remove"
description = "यह टूल PDF फॉर्म फ़ील्ड से Read-Only प्रतिबंध हटाएगा, जिससे वे संपादन योग्य और भरने योग्य बनेंगे।"
-filenamePrefix = "अनलॉक_फ़ॉर्म"
+filenamePrefix = "unlocked_forms"
[unlockPDFForms.files]
placeholder = "शुरू करने के लिए मुख्य दृश्य में एक PDF फ़ाइल चुनें"
@@ -1912,7 +1940,7 @@ title = "अनलॉक किए गए फॉर्म के परिणा
[changeMetadata]
header = "मेटाडेटा बदलें"
submit = "बदलें"
-filenamePrefix = "मेटाडेटा"
+filenamePrefix = "metadata"
[changeMetadata.settings]
title = "मेटाडेटा सेटिंग्स"
@@ -2359,10 +2387,10 @@ saved = "सहेजा गया"
label = "हस्ताक्षर की इमेज अपलोड करें"
placeholder = "इमेज फ़ाइल चुनें"
hint = "अपने हस्ताक्षर की PNG या JPG इमेज अपलोड करें"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "सफेद पृष्ठभूमि हटाएँ (पारदर्शी बनाएँ)"
+processing = "छवि संसाधित हो रही है..."
+backgroundRemovalFailedTitle = "पृष्ठभूमि हटाना विफल"
+backgroundRemovalFailedMessage = "छवि से पृष्ठभूमि नहीं हटाई जा सकी। इसके बजाय मूल छवि का उपयोग किया जाएगा।"
[sign.instructions]
title = "हस्ताक्षर कैसे जोड़ें"
@@ -2391,7 +2419,7 @@ title = "समतल करें"
header = "PDF समतल करें"
flattenOnlyForms = "केवल फ़ॉर्म समतल करें"
submit = "समतल करें"
-filenamePrefix = "समतलीकृत"
+filenamePrefix = "flattened"
[flatten.files]
placeholder = "शुरू करने के लिए मुख्य दृश्य में एक PDF फ़ाइल चुनें"
@@ -2409,9 +2437,9 @@ label = "केवल फ़ॉर्म समतल करें"
desc = "केवल फॉर्म फ़ील्ड फ्लैटन करें, अन्य इंटरैक्टिव तत्व यथावत रखें"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "रेंडरिंग DPI (वैकल्पिक, 150 DPI अनुशंसित)"
+help = "सिस्टम डिफ़ॉल्ट का उपयोग करने के लिए खाली छोड़ें। अधिक DPI आउटपुट को तेज़ बनाता है, पर प्रसंस्करण समय और फ़ाइल आकार बढ़ाता है।"
+placeholder = "उदा. 150"
[flatten.results]
title = "फ्लैटन परिणाम"
@@ -2444,7 +2472,7 @@ title = "मरम्मत"
header = "PDF मरम्मत"
submit = "मरम्मत"
description = "यह टूल भ्रष्ट या क्षतिग्रस्त PDF फ़ाइलों की मरम्मत करने का प्रयास करेगा। कोई अतिरिक्त सेटिंग्स आवश्यक नहीं हैं।"
-filenamePrefix = "मरम्मत_किया"
+filenamePrefix = "repaired"
[repair.files]
placeholder = "शुरू करने के लिए मुख्य दृश्य में एक PDF फ़ाइल चुनें"
@@ -2645,7 +2673,7 @@ stopButton = "तुलना रोकें"
[certSign]
tags = "प्रमाणीकरण,PEM,P12,आधिकारिक,एन्क्रिप्ट"
title = "प्रमाणपत्र हस्ताक्षर"
-filenamePrefix = "हस्ताक्षरित"
+filenamePrefix = "signed"
chooseCertificate = "प्रमाणपत्र फ़ाइल चुनें"
chooseJksFile = "JKS फ़ाइल चुनें"
chooseP12File = "PKCS12 फ़ाइल चुनें"
@@ -2779,7 +2807,7 @@ header = "PDF से डिजिटल प्रमाणपत्र हटा
selectPDF = "PDF फ़ाइल चुनें:"
submit = "हस्ताक्षर हटाएं"
description = "यह टूल आपके PDF दस्तावेज़ से डिजिटल प्रमाणपत्र हस्ताक्षर हटाएगा।"
-filenamePrefix = "अनहस्ताक्षरित"
+filenamePrefix = "unsigned"
[removeCertSign.files]
placeholder = "शुरू करने के लिए मुख्य दृश्य में एक PDF फ़ाइल चुनें"
@@ -2809,7 +2837,7 @@ submit = "जमा करें"
failed = "मल्टी-पृष्ठ लेआउट बनाते समय त्रुटि हुई।"
[bookletImposition]
-tags = "बुकलेट,इम्पोज़िशन,प्रिंटिंग,बाइंडिंग,फोल्डिंग,सिग्नेचर"
+tags = "booklet,imposition,printing,binding,folding,signature"
title = "बुकलेट इम्पोज़िशन"
header = "बुकलेट इम्पोज़िशन"
submit = "बुकलेट बनाएँ"
@@ -2908,7 +2936,7 @@ scaleFactor = "एक पृष्ठ का ज़ूम स्तर (क्
submit = "जमा करें"
[adjustPageScale]
-tags = "आकार बदलें,संशोधित करें,आयाम,अनुकूलित करें"
+tags = "resize,modify,dimension,adapt"
title = "पृष्ठ स्केल समायोजित करें"
header = "पृष्ठ स्केल समायोजित करें"
submit = "पृष्ठ स्केल समायोजित करें"
@@ -2987,7 +3015,7 @@ header = "PDF क्रॉप करें"
submit = "जमा करें"
noFileSelected = "क्रॉप शुरू करने के लिए एक PDF फ़ाइल चुनें"
reset = "पूर्ण PDF पर रीसेट करें"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "खाली स्थान स्वतः क्रॉप करें"
[crop.preview]
title = "क्रॉप क्षेत्र चयन"
@@ -3218,6 +3246,7 @@ title = "रिडैक्शन विधि"
mode = "मोड"
automatic = "स्वचालित"
automaticDesc = "खोज शब्दों के आधार पर टेक्स्ट रिडैक्ट करें"
+automaticDisabledTooltip = "एक साथ कई फ़ाइलों पर रिडैक्शन करने के लिए फ़ाइल प्रबंधक में फ़ाइलें चुनें"
manual = "मैनुअल"
manualDesc = "विशिष्ट क्षेत्रों को रिडैक्ट करने के लिए क्लिक और ड्रैग करें"
manualComingSoon = "मैनुअल रिडैक्शन जल्द आ रहा है"
@@ -3288,8 +3317,35 @@ text = "केवल पूर्ण शब्दों से मेल कर
title = "PDF-Image में बदलें"
text = "रिडैक्शन के बाद PDF को इमेज-आधारित PDF में बदल देता है। यह सुनिश्चित करता है कि रिडैक्शन बॉक्स के पीछे का टेक्स्ट पूरी तरह हट जाए और पुनर्प्राप्त न हो सके।"
+[redact.tooltip.manual.header]
+title = "मैनुअल रिडैक्शन नियंत्रण"
+
+[redact.tooltip.manual.markText]
+title = "टेक्स्ट चिह्नित करने का टूल"
+text = "PDF पर सीधे टेक्स्ट चुनकर उसे रिडैक्शन के लिए चिह्नित करें। जिस टेक्स्ट को रिडैक्ट करना है उसे हाइलाइट करने के लिए क्लिक करें और खींचें।"
+
+[redact.tooltip.manual.markArea]
+title = "क्षेत्र चिह्नित करने का टूल"
+text = "PDF पर आयताकार क्षेत्र बनाकर रिडैक्शन के लिए क्षेत्र चिह्नित करें। छवियाँ, हस्ताक्षर, या अनियमित आकृतियों को रिडैक्ट करने में उपयोगी।"
+
+[redact.tooltip.manual.apply]
+title = "रिडैक्शन लागू करें"
+text = "सामग्री चिह्नित करने के बाद 'लागू करें' पर क्लिक करें ताकि सभी चिह्नित क्षेत्रों को स्थायी रूप से रिडैक्ट किया जा सके। लंबित गिनती दिखाती है कि कितने रिडैक्शन लागू करने के लिए तैयार हैं।"
+bullet1 = "लागू करने से पहले जितने क्षेत्र आवश्यक हों, चिह्नित करें"
+bullet2 = "सभी लंबित रिडैक्शन एक साथ लागू किए जाते हैं"
+bullet3 = "लागू करने के बाद रिडैक्शन पूर्ववत नहीं किए जा सकते"
+
[redact.manual]
+title = "रिडैक्शन टूल"
+instructions = "रिडैक्शन के लिए सामग्री चिह्नित करने हेतु PDF पर टेक्स्ट चुनें या क्षेत्र बनाएं।"
+markText = "टेक्स्ट चिह्नित करें"
+markArea = "क्षेत्र चिह्नित करें"
+pendingLabel = "लंबित:"
+applyWarning = "⚠️ स्थायी लागू, पूर्ववत नहीं किया जा सकता और नीचे का डेटा हटा दिया जाएगा"
+apply = "लागू करें"
+noMarks = "कोई रिडैक्शन चिह्न नहीं। रिडैक्शन के लिए सामग्री चिह्नित करने हेतु ऊपर दिए टूल्स का उपयोग करें।"
header = "मैनुअल रिडैक्शन"
+controlsTitle = "मैनुअल रिडैक्शन नियंत्रण"
textBasedRedaction = "टेक्स्ट-आधारित रिडैक्शन"
pageBasedRedaction = "पृष्ठ-आधारित रिडैक्शन"
convertPDFToImageLabel = "PDF को PDF-Image में बदलें (बॉक्स के पीछे का टेक्स्ट हटाने हेतु)"
@@ -3406,17 +3462,17 @@ label = "ऊर्ध्वाधर विभाजन"
placeholder = "ऊर्ध्वाधर विभाजनों की संख्या दर्ज करें"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "विभाजन मोड"
+description = "पृष्ठों को कैसे विभाजित करना है, चुनें"
+splitAll = "सभी पृष्ठ विभाजित करें"
+splitAllExceptFirst = "पहले को छोड़कर सभी विभाजित करें"
+splitAllExceptLast = "अंतिम को छोड़कर सभी विभाजित करें"
+splitAllExceptFirstAndLast = "पहले और अंतिम को छोड़कर सभी विभाजित करें"
+custom = "कस्टम पृष्ठ"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "कस्टम पेज नंबर"
+placeholder = "उदा. 2,4,6"
[AddStampRequest]
tags = "स्टैम्प, छवि जोड़ें, केंद्र छवि, वॉटरमार्क, PDF, एम्बेड, अनुकूलित"
@@ -3557,7 +3613,7 @@ certHint = "कस्टम ट्रस्ट स्रोत के विर
title = "सत्यापन सेटिंग्स"
[replaceColor]
-tags = "रंग बदलें,पृष्ठ संचालन,Back end,server side"
+tags = "Replace Colour,Page operations,Back end,server side"
[replaceColor.labels]
settings = "सेटिंग्स"
@@ -3713,7 +3769,7 @@ title = "PDF को एकल पृष्ठ में"
header = "PDF को एकल पृष्ठ में"
submit = "एकल पृष्ठ में बदलें"
description = "यह टूल आपके PDF के सभी पृष्ठों को एक बड़े एकल पृष्ठ में मिला देगा। चौड़ाई मूल पृष्ठों जैसी ही रहेगी, पर ऊँचाई सभी पृष्ठ ऊँचाइयों का योग होगी।"
-filenamePrefix = "एकल_पृष्ठ"
+filenamePrefix = "single_page"
[pdfToSinglePage.files]
placeholder = "शुरू करने के लिए मुख्य दृश्य में एक PDF फ़ाइल चुनें"
@@ -3780,17 +3836,17 @@ filesize = "फ़ाइल आकार"
label = "संपीड़न के लिए ग्रेस्केल लागू करें"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "तेज़ वेब देखने के लिए PDF को लिनियराइज़ करें"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "छवियों को लाइन आर्ट में बदलें"
+description = "ImageMagick का उपयोग करके पृष्ठों को उच्च-प्रति-विपरीत काले-सफेद में बदलता है ताकि अधिकतम आकार घटे।"
+unavailable = "ImageMagick इस सर्वर पर इंस्टॉल या सक्षम नहीं है"
+detailLevel = "विस्तार स्तर"
+edgeEmphasis = "किनारों पर जोर"
+edgeLow = "हल्का"
+edgeMedium = "संतुलित"
+edgeHigh = "प्रबल"
[compress.tooltip.header]
title = "संपीड़न सेटिंग्स अवलोकन"
@@ -3810,8 +3866,8 @@ title = "श्वेत-श्याम"
text = "सभी छवियों को काले-सफेद में बदलने के लिए इस विकल्प को चुनें, जो विशेषकर स्कैन किए गए PDFs या चित्र-प्रधान दस्तावेज़ों के लिए फ़ाइल आकार को काफी घटा सकता है।"
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "लाइन आर्ट"
+text = "ImageMagick का उपयोग करके पृष्ठों को उच्च-प्रति-विपरीत काले-सफेद में बदलें। कितना कंटेंट काला हो, इसे नियंत्रित करने के लिए 'विस्तार स्तर' और किनारों की पहचान की तीव्रता नियंत्रित करने के लिए 'किनारों पर जोर' का उपयोग करें।"
[compress.error]
failed = "PDF संपीड़ित करते समय त्रुटि हुई।"
@@ -3826,9 +3882,9 @@ _value = "संपीड़न सेटिंग्स"
1 = "1-3 PDF संपीड़न, 4-6 हल्का छवि संपीड़न, 7-9 तीव्र छवि संपीड़न छवि गुणवत्ता को काफी घटाएगा"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "कम मान गुणवत्ता बनाए रखते हैं लेकिन फ़ाइल आकार बड़ा होता है"
+range4to6 = "मध्यम संपीड़न, गुणवत्ता में मध्यम कमी के साथ"
+range7to9 = "उच्च मान फ़ाइल आकार को काफी घटाते हैं, लेकिन छवि की स्पष्टता कम हो सकती है"
[decrypt]
passwordPrompt = "यह फ़ाइल पासवर्ड से सुरक्षित है। कृपया पासवर्ड दर्ज करें:"
@@ -3973,7 +4029,7 @@ version = "वर्तमान रिलीज़"
title = "API दस्तावेज़ीकरण"
header = "API दस्तावेज़ीकरण"
desc = "Stirling PDF API एंडपॉइंट्स देखें और परीक्षण करें"
-tags = "api,दस्तावेज़ीकरण,swagger,endpoints,विकास"
+tags = "api,documentation,swagger,endpoints,development"
[cookieBanner.popUp]
title = "हम कुकीज़ का उपयोग कैसे करते हैं"
@@ -4069,7 +4125,7 @@ deleteSelected = "चयनित पृष्ठ हटाएँ"
closePdf = "PDF बंद करें"
exportAll = "PDF निर्यात करें"
downloadSelected = "चयनित फ़ाइलें डाउनलोड करें"
-annotations = "Annotations"
+annotations = "एनोटेशन"
exportSelected = "चयनित पृष्ठ निर्यात करें"
saveChanges = "परिवर्तनों को सहेजें"
toggleTheme = "थीम टॉगल करें"
@@ -4077,84 +4133,90 @@ language = "भाषा"
toggleAnnotations = "एनोटेशन दृश्यता टॉगल करें"
search = "PDF खोजें"
panMode = "पैन मोड"
+applyRedactionsFirst = "पहले रिडैक्शन लागू करें"
rotateLeft = "बाएँ घुमाएँ"
rotateRight = "दाएँ घुमाएँ"
toggleSidebar = "साइडबार टॉगल करें"
toggleBookmarks = "बुकमार्क्स टॉगल करें"
print = "PDF प्रिंट करें"
+draw = "ड्रॉ"
+redact = "रिडैक्ट करें"
+exitRedaction = "रिडैक्शन मोड से बाहर निकलें"
+save = "सहेजें"
downloadAll = "सभी डाउनलोड करें"
saveAll = "सभी सहेजें"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "बाएँ"
+center = "मध्य"
+right = "दाएँ"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "टिप्पणी करें"
+desc = "हाइलाइट, पेन, टेक्स्ट और नोट्स का उपयोग करें। परिवर्तन लाइव रहते हैं—फ़्लैटेनिंग की आवश्यकता नहीं।"
+highlight = "हाइलाइट"
+pen = "पेन"
+text = "टेक्स्ट बॉक्स"
+note = "नोट"
+rectangle = "आयत"
+ellipse = "अंडाकार"
+select = "चुनें"
+exit = "एनोटेशन मोड से बाहर निकलें"
+strokeWidth = "चौड़ाई"
+opacity = "अपारदर्शिता"
+strokeOpacity = "रेखा अपारदर्शिता"
+fillOpacity = "भराव अपारदर्शिता"
+fontSize = "फ़ॉन्ट आकार"
+chooseColor = "रंग चुनें"
+color = "रंग"
+strokeColor = "रेखा रंग"
+fillColor = "भराव रंग"
+underline = "रेखांकित"
+strikeout = "स्ट्राइकथ्रू"
+squiggly = "टेढ़ी रेखा"
+inkHighlighter = "स्वतंत्र-हस्त हाइलाइटर"
+freehandHighlighter = "स्वतंत्र-हस्त हाइलाइटर"
+square = "वर्ग"
+circle = "वृत्त"
+polygon = "बहुभुज"
+line = "रेखा"
+stamp = "छवि जोड़ें"
+textMarkup = "टेक्स्ट मार्कअप"
+drawing = "ड्रॉइंग"
+shapes = "आकृतियाँ"
+notesStamps = "नोट्स और मुहरें"
+settings = "सेटिंग्स"
+borderOn = "बॉर्डर: चालू"
+borderOff = "बॉर्डर: बंद"
+editInk = "पेन संपादित करें"
+editLine = "रेखा संपादित करें"
+editNote = "नोट संपादित करें"
+editText = "टेक्स्ट बॉक्स संपादित करें"
+editTextMarkup = "टेक्स्ट मार्कअप संपादित करें"
+editSelected = "एनोटेशन संपादित करें"
+editSquare = "वर्ग संपादित करें"
+editCircle = "वृत्त संपादित करें"
+editPolygon = "बहुभुज संपादित करें"
+unsupportedType = "इस एनोटेशन प्रकार का संपादन पूर्ण रूप से समर्थित नहीं है।"
+textAlignment = "टेक्स्ट संरेखण"
+noteIcon = "नोट आइकन"
+imagePreview = "पूर्वावलोकन"
+contents = "टेक्स्ट"
+backgroundColor = "पृष्ठभूमि रंग"
+clearBackground = "पृष्ठभूमि हटाएँ"
+noBackground = "कोई पृष्ठभूमि नहीं"
+stampSettings = "मुहर सेटिंग्स"
+savingCopy = "डाउनलोड तैयार किया जा रहा है..."
+saveFailed = "कॉपी सहेजी नहीं जा सकी"
+saveReady = "डाउनलोड तैयार"
+selectAndMove = "चुनें और संपादित करें"
+editSelectDescription = "किसी मौजूदा एनोटेशन पर क्लिक कर उसका रंग, अपारदर्शिता, टेक्स्ट या आकार संपादित करें।"
+editStampHint = "छवि बदलने के लिए, इस मुहर को हटाएँ और नई जोड़ें।"
+editSwitchToSelect = "इस एनोटेशन को संपादित करने के लिए 'चुनें और संपादित करें' पर स्विच करें।"
+undo = "पूर्ववत"
+redo = "फिर करें"
+applyChanges = "परिवर्तन लागू करें"
+saveChanges = "परिवर्तन सहेजें"
[search]
title = "PDF खोजें"
@@ -4205,20 +4267,20 @@ settings = "सेटिंग्स"
adminSettings = "एडमिन सेटिंग्स"
allTools = "All Tools"
reader = "रीडर"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "टूर"
+showMeAround = "मुझे दिखाएँ"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "यहाँ वॉकथ्रू देखें: टूल्स टूर, नया V2 लेआउट टूर, और एडमिन टूर।"
+user = "यहाँ वॉकथ्रू देखें: टूल्स टूर और नया V2 लेआउट टूर।"
[quickAccess.helpMenu]
toolsTour = "टूल्स टूर"
toolsTourDesc = "जानें कि टूल क्या कर सकते हैं"
adminTour = "एडमिन टूर"
adminTourDesc = "एडमिन सेटिंग्स और फ़ीचर्स का अन्वेषण करें"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "V2 में नया क्या है देखें"
+whatsNewTourDesc = "अद्यतन लेआउट का टूर"
[admin]
error = "त्रुटि"
@@ -4237,6 +4299,8 @@ fetchError = "सेटिंग्स लोड करने में वि
saveError = "सेटिंग्स सहेजने में विफल"
saved = "सेटिंग्स सफलतापूर्वक सहेजी गईं"
saveSuccess = "सेटिंग्स सफलतापूर्वक सहेजी गईं"
+success = "सेटिंग्स सफलतापूर्वक सहेजी गईं"
+error = "सेटिंग्स सहेजने में विफल"
save = "परिवर्तनों को सहेजें"
discard = "त्यागें"
restartRequired = "रीस्टार्ट आवश्यक"
@@ -4360,6 +4424,13 @@ description = "HTML से PDF कन्वर्ज़न के लिए Weas
label = "Unoconvert एक्ज़िक्यूटेबल"
description = "दस्तावेज़ कन्वर्ज़न के लिए LibreOffice unoconvert का पाथ (डिफ़ॉल्ट हेतु खाली छोड़ें: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "फ्रंटएंड URL"
+description = "फ्रंटएंड के लिए बेस URL (उदा., https://pdf.example.com)। ईमेल आमंत्रण लिंक और मोबाइल QR कोड अपलोड के लिए उपयोग होता है। बैकएंड URL उपयोग करने के लिए खाली छोड़ें।"
+
+[admin.settings.badge]
+clickToUpgrade = "प्लान विवरण देखने के लिए क्लिक करें"
+
[admin.settings.security]
title = "सुरक्षा"
description = "प्रमाणीकरण, लॉगिन व्यवहार, और सुरक्षा नीतियाँ कॉन्फ़िगर करें।"
@@ -4496,6 +4567,19 @@ connect = "कनेक्ट करें"
disconnect = "डिसकनेक्ट करें"
disconnected = "प्रदाता सफलतापूर्वक डिसकनेक्ट किया गया"
disconnectError = "प्रदाता को डिसकनेक्ट करने में विफल"
+mobileScannerConvertToPdf = "छवियों को PDF में बदलें"
+mobileScannerConvertToPdfDesc = "अपलोड की गई छवियों को स्वचालित रूप से PDF फ़ॉर्मेट में बदलें। अक्षम होने पर, छवियाँ जैसे हैं वैसी ही रहेंगी।"
+mobileScannerImageResolution = "छवि रेज़ोल्यूशन"
+mobileScannerImageResolutionDesc = "अपलोड की गई छवियों का रेज़ोल्यूशन। \"Reduced\" विकल्प छवियों को अधिकतम 1200px तक स्केल कर फ़ाइल आकार घटाता है।"
+imageResolutionFull = "पूर्ण (मूल आकार)"
+imageResolutionReduced = "कम (अधिकतम 1200px)"
+mobileScannerPageFormat = "पृष्ठ फ़ॉर्मेट"
+mobileScannerPageFormatDesc = "PDF पृष्ठ आकार परिवर्तित छवियों के लिए। \"Keep\" मूल छवि आयामों का उपयोग करता है।"
+pageFormatKeep = "जैसा है रखें (मूल आयाम)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "फिट करने हेतु फैलाएँ"
+mobileScannerStretchToFitDesc = "छवि को पूरी पृष्ठ भरने के लिए फैलाएँ। अक्षम होने पर, छवियाँ केंद्रित रहती हैं और अनुपात सुरक्षित रहता है।"
[admin.settings.connections.ssoAutoLogin]
label = "SSO ऑटो लॉगिन"
@@ -4514,15 +4598,15 @@ label = "प्रदाता"
description = "प्रमाणीकरण के लिए उपयोग किया जाने वाला OAuth2 प्रदाता"
[admin.settings.connections.oauth2.issuer]
-label = "जारीकर्ता URL"
+label = "Issuer URL"
description = "OAuth2 प्रदाता का Issuer URL"
[admin.settings.connections.oauth2.clientId]
-label = "क्लाइंट ID"
+label = "Client ID"
description = "आपके प्रदाता से प्राप्त OAuth2 Client ID"
[admin.settings.connections.oauth2.clientSecret]
-label = "क्लाइंट सीक्रेट"
+label = "Client Secret"
description = "आपके प्रदाता से प्राप्त OAuth2 Client Secret"
[admin.settings.connections.oauth2.useAsUsername]
@@ -4564,6 +4648,122 @@ description = "पहले SAML2 लॉगिन पर उपयोगकर
label = "पंजीकरण रोकें"
description = "SAML2 के माध्यम से नए उपयोगकर्ता पंजीकरण को रोकें"
+[admin.settings.connections.mobileScanner]
+label = "मोबाइल फ़ोन अपलोड"
+enable = "QR कोड अपलोड सक्षम करें"
+description = "उपयोगकर्ताओं को QR कोड स्कैन करके मोबाइल डिवाइसेज़ से फ़ाइलें अपलोड करने दें"
+note = "ध्यान दें: इसके लिए फ्रंटएंड URL कॉन्फ़िगर होना आवश्यक है। "
+link = "सिस्टम सेटिंग्स में कॉन्फ़िगर करें"
+mobileScannerConvertToPdf = "छवियों को PDF में बदलें"
+mobileScannerConvertToPdfDesc = "अपलोड की गई छवियों को स्वचालित रूप से PDF फ़ॉर्मेट में बदलें। अक्षम होने पर, छवियाँ जैसे हैं वैसी ही रहेंगी।"
+mobileScannerImageResolution = "छवि रेज़ोल्यूशन"
+mobileScannerImageResolutionDesc = "अपलोड की गई छवियों का रेज़ोल्यूशन। \"Reduced\" विकल्प छवियों को अधिकतम 1200px तक स्केल कर फ़ाइल आकार घटाता है।"
+imageResolutionFull = "पूर्ण (मूल आकार)"
+imageResolutionReduced = "कम (अधिकतम 1200px)"
+mobileScannerPageFormat = "पृष्ठ फ़ॉर्मेट"
+mobileScannerPageFormatDesc = "PDF पृष्ठ आकार परिवर्तित छवियों के लिए। \"Keep\" मूल छवि आयामों का उपयोग करता है।"
+pageFormatKeep = "जैसा है रखें (मूल आयाम)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "फिट करने हेतु फैलाएँ"
+mobileScannerStretchToFitDesc = "छवि को पूरी पृष्ठ भरने के लिए फैलाएँ। अक्षम होने पर, छवियाँ केंद्रित रहती हैं और अनुपात सुरक्षित रहता है।"
+
+[admin.settings.telegram]
+title = "Telegram बॉट"
+description = "Telegram बॉट कनेक्टिविटी, एक्सेस नियंत्रण और फ़ीडबैक व्यवहार कॉन्फ़िगर करें।"
+
+[admin.settings.telegram.enabled]
+label = "Telegram बॉट सक्षम करें"
+description = "उपयोगकर्ताओं को आपके कॉन्फ़िगर किए गए Telegram बॉट के माध्यम से Stirling PDF के साथ इंटरेक्ट करने दें।"
+
+[admin.settings.telegram.botUsername]
+label = "बॉट उपयोगकर्ता नाम"
+description = "आपके Telegram बॉट का सार्वजनिक उपयोगकर्ता नाम।"
+
+[admin.settings.telegram.botToken]
+label = "बॉट टोकन"
+description = "आपके Telegram बॉट के लिए BotFather द्वारा प्रदत्त API टोकन।"
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "इनबॉक्स फ़ोल्डर"
+description = "पाइपलाइन डायरेक्टरी के अंतर्गत वह फ़ोल्डर जहाँ आने वाली Telegram फ़ाइलें संग्रहीत होती हैं।"
+
+[admin.settings.telegram.customFolderSuffix]
+label = "कस्टम फ़ोल्डर प्रत्यय उपयोग करें"
+description = "प्रत्येक चैट के अपलोड अलग रखने हेतु आने वाली फ़ाइल फ़ोल्डरों में चैट ID जोड़ें।"
+
+[admin.settings.telegram.accessControl]
+title = "प्रवेश नियंत्रण"
+description = "कौन-से उपयोगकर्ता या चैनल बॉट के साथ इंटरेक्ट कर सकते हैं, इसे सीमित करें।"
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "विशिष्ट उपयोगकर्ता IDs को अनुमति दें"
+description = "सक्रिय होने पर, केवल सूचीबद्ध उपयोगकर्ता IDs बॉट का उपयोग कर सकते हैं।"
+
+[admin.settings.telegram.allowUserIDs]
+label = "अनुमत उपयोगकर्ता IDs"
+description = "बॉट से इंटरेक्ट करने के लिए अनुमत Telegram उपयोगकर्ता IDs दर्ज करें।"
+placeholder = "उपयोगकर्ता ID जोड़ें और एंटर दबाएँ"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "विशिष्ट चैनल IDs को अनुमति दें"
+description = "सक्रिय होने पर, केवल सूचीबद्ध चैनल IDs बॉट का उपयोग कर सकते हैं।"
+
+[admin.settings.telegram.allowChannelIDs]
+label = "अनुमत चैनल IDs"
+description = "बॉट से इंटरेक्ट करने के लिए अनुमत Telegram चैनल IDs दर्ज करें।"
+placeholder = "चैनल ID जोड़ें और एंटर दबाएँ"
+
+[admin.settings.telegram.processing]
+title = "प्रसंस्करण"
+description = "Telegram अपलोड के लिए पोलिंग अंतराल और प्रोसेसिंग टाइमआउट नियंत्रित करें।"
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "प्रोसेसिंग टाइमआउट (सेकंड)"
+description = "त्रुटि रिपोर्ट करने से पहले प्रोसेसिंग जॉब के लिए प्रतीक्षा का अधिकतम समय।"
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "पोलिंग अंतराल (ms)"
+description = "नए Telegram अपडेट की जाँच के बीच का अंतराल।"
+
+[admin.settings.telegram.feedback]
+title = "फ़ीडबैक संदेश"
+description = "बॉट उपयोगकर्ताओं और चैनलों को फ़ीडबैक कब भेजे, यह चुनें।"
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "फ़ीडबैक सक्षम करें"
+description = "नियंत्रित करें कि बॉट कोई फ़ीडबैक संदेश भेजे या नहीं।"
+
+[admin.settings.telegram.feedback.channel]
+title = "चैनल फ़ीडबैक नियम"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "\"No valid document\" दिखाएँ (चैनल)"
+description = "चैनल अपलोड के लिए 'no valid document' प्रतिक्रिया को दबाएँ।"
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "प्रोसेसिंग त्रुटियाँ दिखाएँ (चैनल)"
+description = "प्रोसेसिंग त्रुटि संदेश चैनलों को भेजें।"
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "त्रुटि संदेश दिखाएँ (चैनल)"
+description = "चैनलों के लिए विस्तृत त्रुटि संदेश दिखाएँ।"
+
+[admin.settings.telegram.feedback.user]
+title = "उपयोगकर्ता फ़ीडबैक नियम"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "\"No valid document\" दिखाएँ (उपयोगकर्ता)"
+description = "उपयोगकर्ता अपलोड के लिए 'no valid document' प्रतिक्रिया को दबाएँ।"
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "प्रोसेसिंग त्रुटियाँ दिखाएँ (उपयोगकर्ता)"
+description = "प्रोसेसिंग त्रुटि संदेश उपयोगकर्ताओं को भेजें।"
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "त्रुटि संदेश दिखाएँ (उपयोगकर्ता)"
+description = "उपयोगकर्ताओं के लिए विस्तृत त्रुटि संदेश दिखाएँ।"
+
[admin.settings.database]
title = "डेटाबेस"
description = "एंटरप्राइज़ डिप्लॉयमेंट के लिए कस्टम डेटाबेस कनेक्शन सेटिंग्स कॉन्फ़िगर करें।"
@@ -4690,7 +4890,7 @@ description = "विस्तृत सिस्टम टेम्प डा
label = "प्रोसेस एक्सीक्यूटर सीमाएँ"
description = "प्रत्येक प्रोसेस एक्सीक्यूटर के लिए सेशन सीमाएँ और टाइमआउट कॉन्फ़िगर करें"
libreOffice = "LibreOffice"
-pdfToHtml = "PDF से HTML"
+pdfToHtml = "PDF to HTML"
qpdf = "QPDF"
tesseract = "Tesseract OCR"
pythonOpenCv = "Python OpenCV"
@@ -4745,6 +4945,10 @@ description = "एडमिन को ऑटो-जनरेटेड पास
label = "फ़्रंटएंड URL"
description = "फ़्रंटएंड के लिए बेस URL (उदा. https://pdf.example.com)। ईमेल में इनवाइट लिंक जनरेट करने के लिए उपयोग। खाली छोड़ने पर बैकएंड URL उपयोग होगा।"
+[admin.settings.mail.frontendUrlNote]
+note = "ध्यान दें: इसके लिए फ्रंटएंड URL कॉन्फ़िगर होना आवश्यक है। "
+link = "सिस्टम सेटिंग्स में कॉन्फ़िगर करें"
+
[admin.settings.legal]
title = "कानूनी दस्तावेज़"
description = "कानूनी दस्तावेज़ों और नीतियों के लिंक कॉन्फ़िगर करें।"
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "मेरी फ़ाइलें"
noRecentFiles = "कोई हालिया फ़ाइल नहीं मिली"
googleDriveNotAvailable = "Google Drive इंटीग्रेशन उपलब्ध नहीं"
+mobileUpload = "मोबाइल अपलोड"
+mobileShort = "मोबाइल"
+mobileUploadNotAvailable = "मोबाइल अपलोड सक्षम नहीं है"
downloadSelected = "चयनित डाउनलोड करें"
saveSelected = "चयनित सहेजें"
openFiles = "फ़ाइलें खोलें"
@@ -5244,7 +5451,7 @@ loading = "लोड हो रहा है..."
back = "वापस"
continue = "जारी रखें"
error = "त्रुटि"
-save = "Save"
+save = "सहेजें"
[config.overview]
title = "एप्लिकेशन कॉन्फ़िगरेशन"
@@ -5307,6 +5514,15 @@ impact = "वर्तमान में इन कुंजियों का
confirmPrompt = "क्या आप वाकई जारी रखना चाहते हैं?"
confirmCta = "कुंजियाँ रीफ़्रेश करें"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "API कुंजी त्रुटि"
+failedToCreateApiKey = "API कुंजी बनाने में विफल।"
+failedToRetrieveApiKey = "प्रतिक्रिया से API कुंजी प्राप्त करने में विफल।"
+failedToFetchApiKey = "API कुंजी फ़ेच करने में विफल।"
+apiKeyRefreshed = "API कुंजी रीफ़्रेश की गई"
+apiKeyRefreshedBody = "आपकी API कुंजी सफलतापूर्वक रीफ़्रेश की गई है।"
+failedToRefreshApiKey = "API कुंजी रीफ़्रेश करने में विफल।"
+
[AddAttachmentsRequest]
attachments = "संलग्नक चुनें"
info = "अपनी PDF में संलग्न करने के लिए फ़ाइलें चुनें। ये फ़ाइलें एम्बेड की जाएँगी और PDF के अटैचमेंट पैनल से एक्सेस की जा सकेंगी।"
@@ -5412,14 +5628,14 @@ startTour = "टूर शुरू करें"
startTourDescription = "Stirling PDF की प्रमुख विशेषताओं का मार्गदर्शित टूर लें"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "रीडर, ऑटोमेट, आपकी फ़ाइलें और सभी टूर के बीच जाने के लिए Quick Access रेल से शुरू करें।"
+leftPanel = "बाएँ Tools पैनल में वे सब सूचीबद्ध है जो आप कर सकते हैं। श्रेणियाँ ब्राउज़ करें या जल्दी टूल खोजने के लिए सर्च करें।"
+fileUpload = "Files बटन से अपलोड करें या हाल की PDF चुनें। हम एक नमूना लोड करेंगे ताकि आप वर्कस्पेस देख सकें।"
+rightRail = "Right Rail में त्वरित क्रियाएँ होती हैं जिनसे फ़ाइलें चुनें, थीम या भाषा बदलें, और परिणाम डाउनलोड करें।"
+topBar = "ऊपरी बार आपको Viewer, Page Editor, और Active Files के बीच स्विच करने देता है।"
+pageEditorView = "पेजों को पुनःक्रमित, घुमाने या हटाने के लिए Page Editor पर स्विच करें।"
+activeFilesView = "Active Files में अपनी सभी खुली फ़ाइलें देखें और जिस पर काम करना है उसे चुनें।"
+wrapUp = "V2 में नया यही है। इसे, Tools टूर या Admin टूर को फिर से देखने के लिए कभी भी Tours मेनू खोलें।"
[onboarding.welcomeModal]
title = "Stirling PDF में आपका स्वागत है!"
@@ -5442,8 +5658,8 @@ showMeAround = "मुझे दिखाएँ"
skipTheTour = "टूर छोड़ें"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "टूर अवलोकन"
+body = "Stirling PDF V2 दर्जनों टूल और नए लेआउट के साथ आता है। क्या बदला है और आवश्यक फीचर्स कहाँ मिलेंगे, यह देखने के लिए एक त्वरित टूर लें।"
[onboarding.serverLicense]
skip = "अभी छोड़ें"
@@ -5452,7 +5668,7 @@ upgrade = "अभी अपग्रेड करें →"
freeTitle = "सर्वर लाइसेंस"
overLimitTitle = "सर्वर लाइसेंस आवश्यक"
overLimitBody = "हमारा लाइसेंसिंग प्रति सर्वर अधिकतम {{freeTierLimit}} उपयोगकर्ताओं को मुफ्त अनुमति देता है। आपके पास {{overLimitUserCopy}} Stirling उपयोगकर्ता हैं। बिना बाधा के जारी रखने के लिए, Stirling Server प्लान में अपग्रेड करें - अनलिमिटेड सीट्स, PDF टेक्स्ट एडिटिंग, और पूर्ण एडमिन नियंत्रण $99/server/mo में।"
-freeBody = "हमारा Open-Core लाइसेंसिंग प्रति सर्वर अधिकतम {{freeTierLimit}} उपयोगकर्ताओं को निःशुल्क अनुमति देता है। बिना रुकावट स्केल करने के लिए, हम Stirling Server प्लान की अनुशंसा करते हैं - असीमित सीटें और SSO समर्थन $99/सर्वर/माह पर।"
+freeBody = "हमारा Open-Core लाइसेंसिंग प्रति सर्वर अधिकतम {{freeTierLimit}} उपयोगकर्ताओं को मुफ्त अनुमति देता है। बिना बाधा स्केल करने और हमारे नए PDF टेक्स्ट एडिटिंग टूल की प्रारंभिक पहुँच पाने के लिए हम Stirling Server प्लान की सलाह देते हैं - पूर्ण एडिटिंग और अनलिमिटेड सीट्स $99/server/mo में।"
[onboarding.desktopInstall]
title = "डाउनलोड"
@@ -5758,28 +5974,28 @@ contactSales = "सेल्स से संपर्क करें"
contactToUpgrade = "अपने प्लान को अपग्रेड या कस्टमाइज़ करने के लिए हमसे संपर्क करें"
maxUsers = "अधिकतम उपयोगकर्ता"
upTo = "तक"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "सर्वर लाइसेंस प्राप्त करें"
+upgradeToEnterprise = "एंटरप्राइज़ में अपग्रेड करें"
+selectPeriod = "बिलिंग अवधि चुनें"
+monthlyBilling = "मासिक बिलिंग"
+yearlyBilling = "वार्षिक बिलिंग"
+checkoutOpened = "चेकआउट खुला"
+checkoutInstructions = "Stripe टैब में अपनी खरीद पूरी करें। भुगतान के बाद यहाँ लौटें और अपना लाइसेंस सक्रिय करने के लिए पेज रीफ़्रेश करें। आपको अपने लाइसेंस कुंजी के साथ ईमेल भी प्राप्त होगा।"
+activateLicense = "अपना लाइसेंस सक्रिय करें"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "नए टैब में चेकआउट खोला गया"
+instructions = "Stripe टैब में अपनी खरीद पूरी करें। भुगतान पूरा होने पर आपको अपनी लाइसेंस कुंजी के साथ ईमेल प्राप्त होगा।"
+enterKey = "अपनी योजना सक्रिय करने के लिए नीचे अपनी लाइसेंस कुंजी दर्ज करें:"
+keyDescription = "ईमेल से मिली लाइसेंस कुंजी पेस्ट करें"
+activate = "लाइसेंस सक्रिय करें"
+doLater = "यह बाद में करूँगा"
+success = "लाइसेंस सक्रिय हुआ!"
+successMessage = "आपका लाइसेंस सफलतापूर्वक सक्रिय हो गया है। अब आप यह विंडो बंद कर सकते हैं।"
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "ईमेल सत्यापन आवश्यक"
+message = "आपको Stripe बिलिंग पोर्टल में अपना ईमेल पता सत्यापित करना होगा। लॉगिन लिंक के लिए अपना ईमेल देखें।"
[plan.period]
month = "माह"
@@ -5983,8 +6199,8 @@ notAvailable = "ऑडिट सिस्टम उपलब्ध नहीं"
notAvailableMessage = "ऑडिट सिस्टम कॉन्फ़िगर नहीं है या उपलब्ध नहीं है।"
disabled = "ऑडिट लॉगिंग अक्षम है"
disabledMessage = "सिस्टम ईवेंट ट्रैक करने के लिए अपनी एप्लिकेशन कॉन्फ़िगरेशन में ऑडिट लॉगिंग सक्षम करें।"
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "एंटरप्राइज़ लाइसेंस आवश्यक"
+enterpriseRequiredMessage = "ऑडिट लॉगिंग सिस्टम एक एंटरप्राइज़ फीचर है। ऑडिट लॉग और एनालिटिक्स तक पहुँच के लिए कृपया एंटरप्राइज़ लाइसेंस में अपग्रेड करें।"
[audit.error]
title = "ऑडिट सिस्टम लोड करने में त्रुटि"
@@ -6156,6 +6372,7 @@ description = "अपने सेल्फ-होस्टेड Stirling PDF
[setup.server.error]
emptyUrl = "कृपया सर्वर URL दर्ज करें"
+invalidUrl = "अमान्य URL प्रारूप। कृपया https://your-server.com जैसे वैध URL दर्ज करें"
unreachable = "सर्वर से कनेक्ट नहीं हो सका"
testFailed = "कनेक्शन परीक्षण विफल"
configFetch = "सर्वर कॉन्फ़िगरेशन प्राप्त करने में विफल। कृपया URL जाँचें और फिर से प्रयास करें।"
@@ -6174,6 +6391,7 @@ connectingTo = "किससे कनेक्ट हो रहा है:"
submit = "लॉगिन"
signInWith = "इसके साथ साइन इन करें"
oauthPending = "प्रमाणीकरण के लिए ब्राउज़र खुल रहा है..."
+sso = "Single Sign-On"
orContinueWith = "या ईमेल के साथ जारी रखें"
serverRequirement = "ध्यान दें: सर्वर पर लॉगिन सक्षम होना चाहिए।"
showInstructions = "कैसे सक्षम करें?"
@@ -6239,8 +6457,8 @@ reset = "परिवर्तन रीसेट करें"
downloadJson = "JSON डाउनलोड करें"
generatePdf = "PDF जनरेट करें"
saveChanges = "परिवर्तन सहेजें"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "परिवर्तन लागू करें"
+downloadCopy = "कॉपी डाउनलोड करें"
[pdfTextEditor.options.autoScaleText]
title = "टेक्स्ट को बॉक्स में फिट करने हेतु ऑटो-स्केल"
@@ -6260,22 +6478,22 @@ title = "संपादित टेक्स्ट को एक ही PDF
description = "सक्रिय होने पर, ओवरलैपिंग glyphs या मिश्रित फ़ॉन्ट्स से बचने के लिए, एडिटर संपादित हर टेक्स्ट बॉक्स को एक PDF टेक्स्ट एलिमेंट के रूप में एक्सपोर्ट करता है."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "उन्नत सेटिंग्स"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "पूर्वावलोकन सीमाएँ"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "टेक्स्ट और छवि फोकस"
+text = "यह कार्यक्षेत्र टेक्स्ट संपादन और एम्बेडेड छवियों को पुनर्स्थापित करने पर केंद्रित है। जटिल पेज आर्टवर्क, फ़ॉर्म विजेट और लेयर्ड ग्राफ़िक्स निर्यात के लिए सुरक्षित रहते हैं, लेकिन यहाँ पूरी तरह संपादन योग्य नहीं हैं।"
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "पूर्वावलोकन अंतर"
+text = "कुछ विज़ुअल (जैसे टेबल बॉर्डर, आकृतियाँ, या एनोटेशन की उपस्थिति) पूर्वावलोकन में ठीक वैसे प्रदर्शित नहीं हो सकते। निर्यातित PDF जहाँ संभव हो, मूल ड्रॉइंग कमांड बनाए रखता है।"
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "अल्फा व्यूअर"
+text = "यह अल्फा व्यूअर अभी विकसित हो रहा है—कुछ फ़ॉन्ट, रंग, पारदर्शिता प्रभाव और लेआउट विवरण हल्के बदल सकते हैं। साझा करने से पहले कृपया जनरेट की गई PDF को दोबारा जाँच लें।"
[pdfTextEditor.manual]
mergeTooltip = "चयनित बॉक्सों को मर्ज करें"
@@ -6340,7 +6558,7 @@ warnings = "चेतावनियाँ"
suggestions = "नोट्स"
currentPageFonts = "इस पेज के फ़ॉन्ट्स"
allFonts = "सभी फ़ॉन्ट्स"
-fallback = "फॉलबैक"
+fallback = "fallback"
missing = "गायब"
perfectMessage = "सभी फ़ॉन्ट्स को पूरी तरह पुनरुत्पादित किया जा सकता है."
warningMessage = "कुछ फ़ॉन्ट्स सही से रेंडर नहीं हो सकते हैं."
@@ -6361,7 +6579,7 @@ insufficientPermissions = "आपके पास यह क्रिया क
[addText]
title = "टेक्स्ट जोड़ें"
header = "PDFs में टेक्स्ट जोड़ें"
-tags = "पाठ,टिप्पणी,लेबल"
+tags = "text,annotation,label"
applySignatures = "टेक्स्ट लागू करें"
[addText.text]
@@ -6398,3 +6616,58 @@ title = "टेक्स्ट जोड़ने के परिणाम"
[addText.error]
failed = "PDF में टेक्स्ट जोड़ते समय त्रुटि हुई."
+
+[mobileUpload]
+title = "मोबाइल से अपलोड करें"
+description = "फ़ोटो अपलोड करने के लिए स्कैन करें। छवियाँ स्वतः PDF में बदल जाती हैं।"
+descriptionNoConvert = "अपने मोबाइल डिवाइस से फ़ोटो अपलोड करने के लिए स्कैन करें।"
+error = "कनेक्शन त्रुटि"
+pollingError = "फ़ाइलें जाँचने में त्रुटि"
+sessionId = "सेशन ID"
+sessionCreateError = "सेशन बनाने में विफल"
+expiryWarning = "सेशन शीघ्र ही समाप्त हो रहा है"
+expiryWarningMessage = "यह QR कोड {{seconds}} सेकंड में समाप्त हो जाएगा। नया कोड स्वचालित रूप से जनरेट हो जाएगा।"
+filesReceived = "{{count}} फ़ाइल(ें) प्राप्त हुईं"
+connected = "मोबाइल डिवाइस कनेक्टेड"
+instructions = "अपने फ़ोन कैमरे से स्कैन करें। छवियाँ स्वतः PDF में बदल जाती हैं।"
+instructionsNoConvert = "फ़ाइलें अपलोड करने के लिए अपने फ़ोन कैमरे से स्कैन करें।"
+
+[mobileScanner]
+title = "मोबाइल स्कैनर"
+noSession = "अमान्य सेशन"
+noSessionMessage = "इस पेज तक पहुँचने के लिए कृपया वैध QR कोड स्कैन करें।"
+validating = "सेशन सत्यापित किया जा रहा है..."
+sessionInvalid = "सेशन त्रुटि"
+sessionExpired = "यह सेशन समाप्त हो गया है। कृपया रिफ़्रेश करें और फिर से प्रयास करें।"
+sessionNotFound = "सेशन नहीं मिला। कृपया रिफ़्रेश करें और फिर से प्रयास करें।"
+sessionValidationError = "सेशन सत्यापित नहीं हो सका। कृपया फिर से प्रयास करें।"
+uploadSuccess = "अपलोड सफल!"
+uploadSuccessMessage = "आपकी छवियाँ स्थानांतरित कर दी गई हैं।"
+httpsRequired = "कैमरा एक्सेस के लिए HTTPS या localhost आवश्यक है। कृपया HTTPS उपयोग करें या localhost के माध्यम से पहुँचें।"
+uploadFailed = "अपलोड विफल। कृपया फिर से प्रयास करें।"
+uploading = "अपलोड हो रहा है..."
+connected = "कनेक्टेड"
+connecting = "कनेक्ट किया जा रहा है..."
+chooseMethod = "अपलोड विधि चुनें"
+chooseMethodDescription = "दस्तावेज़ स्कैन और अपलोड करने का तरीका चुनें"
+camera = "कैमरा"
+cameraDescription = "अपने डिवाइस कैमरे से स्वचालित किनारा पहचान के साथ दस्तावेज़ स्कैन करें"
+fileUpload = "फ़ाइल अपलोड"
+fileDescription = "अपने डिवाइस से मौजूदा फ़ोटो या दस्तावेज़ अपलोड करें"
+cameraAccessDenied = "कैमरा एक्सेस अस्वीकृत। कृपया कैमरा एक्सेस सक्षम करें।"
+back = "वापस"
+settings = "सेटिंग्स"
+edgeDetection = "किनारों की पहचान"
+flashlight = "फ्लैशलाइट"
+flash = "फ्लैश"
+processing = "प्रसंस्करण..."
+capture = "फ़ोटो कैप्चर करें"
+selectFilesPrompt = "अपलोड करने के लिए फ़ाइलें चुनें"
+selectImage = "छवि चुनें"
+preview = "पूर्वावलोकन"
+retake = "फिर से लें"
+addToBatch = "बैच में जोड़ें"
+upload = "अपलोड"
+batchImages = "बैच"
+clearBatch = "साफ़ करें"
+uploadAll = "सभी अपलोड करें"
diff --git a/frontend/public/locales/hr-HR/translation.toml b/frontend/public/locales/hr-HR/translation.toml
index 43a465151..c2c2ccc0e 100644
--- a/frontend/public/locales/hr-HR/translation.toml
+++ b/frontend/public/locales/hr-HR/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "Imate nespremljene promjene u svom PDF-u."
+pendingRedactionsTitle = "Neprimijenjena zacrnjivanja"
+pendingRedactions = "Imate neprimijenjena zacrnjivanja koja će biti izgubljena."
areYouSure = "Jeste li sigurni da želite izaći?"
unsavedChangesTitle = "Nespremljene promjene"
keepWorking = "Nastavi raditi"
discardChanges = "Odbaci i izađi"
+discardRedactions = "Odbaci i izađi"
applyAndContinue = "Spremi i izađi"
exportAndContinue = "Izvezi i nastavi"
cancel = "Odustani"
@@ -364,6 +367,7 @@ advanced = "Napredno"
title = "Sigurnost i autentikacija"
security = "Sigurnost"
connections = "Povezivanja"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Licenciranje i analitika"
@@ -438,25 +442,34 @@ currentVersion = "Trenutačna verzija"
latestVersion = "Najnovija verzija"
checkForUpdates = "Provjeri ažuriranja"
viewDetails = "Prikaži detalje"
+serverNeedsUpdate = "Administrator treba ažurirati poslužitelj"
+
+[settings.general.versionInfo]
+title = "Informacije o verziji"
+description = "Detalji o verziji desktopa i poslužitelja"
+desktop = "Verzija desktopa"
+server = "Verzija poslužitelja"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Sigurnost"
+description = "Ažurirajte svoju lozinku kako biste osigurali račun."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Promijenite lozinku. Bit ćete odjavljeni nakon ažuriranja."
+required = "Sva polja su obavezna."
+mismatch = "Nove lozinke se ne podudaraju."
+error = "Nije moguće ažurirati lozinku. Provjerite trenutačnu lozinku i pokušajte ponovno."
+success = "Lozinka je uspješno ažurirana. Prijavite se ponovno."
+ssoDisabled = "Promjenama lozinke upravlja vaš davatelj identiteta."
+current = "Trenutačna lozinka"
+currentPlaceholder = "Unesite svoju trenutačnu lozinku"
+new = "Nova lozinka"
+newPlaceholder = "Unesite novu lozinku"
+confirm = "Potvrdite novu lozinku"
+confirmPlaceholder = "Ponovno unesite novu lozinku"
+update = "Ažuriraj lozinku"
+
+
[settings.hotkeys]
title = "Prečaci tipkovnice"
@@ -511,16 +524,16 @@ low = "Nizak"
title = "Promijeni pristupne podatke"
header = "Ažurirajte korisničke podatke"
changePassword = "Koristite zadanu lozinku za prijavu. Unesite novu lozinku"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Vašim računom upravlja vaš davatelj identiteta."
newUsername = "Novo korisničko ime"
oldPassword = "Trenutna zaporka"
newPassword = "Nova zaporka"
confirmNewPassword = "Potvrdite novu lozinku"
submit = "Potvrdi"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Račun ažuriran"
+description = "Promjene su spremljene. Prijavite se ponovno."
+error = "Nije moguće ažurirati korisničko ime. Provjerite lozinku i pokušajte ponovno."
+changeUsername = "Ažurirajte svoje korisničko ime. Bit ćete odjavljeni nakon ažuriranja."
[account]
title = "Postavke računa"
@@ -528,6 +541,8 @@ accountSettings = "Postavke računa"
adminSettings = "Admin Postavka - Pregled i dodavanje korisnika"
userControlSettings = "Postavke kontrole korisnika"
changeUsername = "Promijeni korisničko ime"
+changeUsernameDescription = "Ažurirajte svoje korisničko ime. Bit ćete odjavljeni nakon ažuriranja."
+newUsernamePlaceholder = "Unesite novo korisničko ime"
newUsername = "Novo korisničko ime"
password = "Potvrda lozinke"
oldPassword = "Stara zaporka"
@@ -737,9 +752,9 @@ title = "Potpisati"
desc = "Dodaje potpis u PDF crtežom, tekstom ili slikom"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "anotiraj,istakni,crtaj"
+title = "Anotiraj"
+desc = "Istakni, crtaj, dodaj bilješke i oblike u pregledniku"
[home.flatten]
tags = "pojednostavi,ukloni,interaktivno"
@@ -951,8 +966,8 @@ desc = "Preklapa PDF-ove na drugi PDF"
title = "Preklapanje PDF-ova"
[home.pdfTextEditor]
-title = "Uređivač teksta PDF-a"
-desc = "Uređujte postojeći tekst i slike unutar PDF-ova"
+title = "PDF uređivač teksta"
+desc = "Pregledajte i uredite Stirling PDF JSON izvoze s grupnim uređivanjem teksta i ponovnim generiranjem PDF-a"
[home.addText]
tags = "tekst,anotacija,oznaka"
@@ -963,6 +978,7 @@ desc = "Dodajte prilagođeni tekst bilo gdje u PDF-u"
addFiles = "Dodaj datoteke"
uploadFromComputer = "Učitaj s računala"
openFromComputer = "Otvori s računala"
+mobileUpload = "Otpremanje s mobitela"
[viewPdf]
tags = "pregled,čitanje,komentiranje,tekst,slika"
@@ -1278,21 +1294,33 @@ cbzOptions = "Opcije CBZ u PDF"
optimizeForEbook = "Optimiziraj PDF za e-čitače (koristi Ghostscript)"
cbzOutputOptions = "Opcije PDF u CBZ"
cbzDpi = "DPI za renderiranje slike"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "CBR opcije"
+cbrOutputOptions = "Opcije PDF u CBR"
+cbrDpi = "DPI za renderiranje slike"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "Opcije eBook u PDF"
+ebookOptionsDesc = "Opcije za pretvorbu eBook-a u PDF"
+embedAllFonts = "Ugradi sve fontove"
+embedAllFontsDesc = "Ugradi sve fontove iz eBooka u generirani PDF"
+includeTableOfContents = "Uključi sadržaj"
+includeTableOfContentsDesc = "Dodaj generirani sadržaj u rezultatni PDF"
+includePageNumbers = "Uključi brojeve stranica"
+includePageNumbersDesc = "Dodaj brojeve stranica u generirani PDF"
+optimizeForEbookPdf = "Optimiziraj za čitače e-knjiga"
+optimizeForEbookPdfDesc = "Optimiziraj PDF za čitanje na eBook uređajima (manja veličina, bolje renderiranje na eInk uređajima)"
+
+[convert.epubOptions]
+epubOptions = "Opcije PDF u eBook"
+epubOptionsDesc = "Opcije za pretvorbu PDF-a u EPUB/AZW3"
+detectChapters = "Otkrij poglavlja"
+detectChaptersDesc = "Otkrij naslove koji izgledaju kao poglavlja i umetni EPUB prijelome stranica"
+targetDevice = "Ciljani uređaj"
+targetDeviceDesc = "Odaberite izlazni profil optimiziran za uređaj za čitanje"
+outputFormat = "Izlazni format"
+outputFormatDesc = "Odaberite izlazni format za e-knjigu"
+tabletPhone = "Tablet/mobitel (sa slikama)"
+kindleEink = "Kindle e-Ink (optimizirano za tekst)"
[imageToPdf]
tags = "konverzija,pretvaranje,img,jpg,slika,foto"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "Dodaj privitak"
remove = "Ukloni privitak"
embed = "Ugradi privitak"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Pretvori u PDF/A-3b"
+convertToPdfA3bDescription = "Stvara arhivski PDF s ugrađenim privicima"
+convertToPdfA3bTooltip = "PDF/A-3b je arhivski format koji osigurava dugoročno očuvanje. Omogućuje ugradnju proizvoljnih formata datoteka kao privitaka. Pretvorba zahtijeva Ghostscript i može dulje trajati za velike datoteke."
+convertToPdfA3bTooltipHeader = "O pretvorbi u PDF/A-3b"
+convertToPdfA3bTooltipTitle = "Što radi"
submit = "Add attachments"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "Spremljeno"
label = "Učitaj sliku potpisa"
placeholder = "Odaberite slikovnu datoteku"
hint = "Učitajte PNG ili JPG sliku svojega potpisa"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Ukloni bijelu pozadinu (učini prozirnom)"
+processing = "Obrada slike..."
+backgroundRemovalFailedTitle = "Uklanjanje pozadine nije uspjelo"
+backgroundRemovalFailedMessage = "Nije moguće ukloniti pozadinu sa slike. Umjesto toga koristi se izvorna slika."
[sign.instructions]
title = "Kako dodati potpis"
@@ -2409,9 +2437,9 @@ label = "Izravnati samo obrasce"
desc = "Spljošti samo polja obrazaca, ostavljajući druge interaktivne elemente netaknute"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "DPI renderiranja (neobavezno, preporučeno 150 DPI)"
+help = "Ostavite prazno za zadanu vrijednost sustava. Veći DPI oštri izlaz, ali povećava vrijeme obrade i veličinu datoteke."
+placeholder = "npr. 150"
[flatten.results]
title = "Rezultati spljoštavanja"
@@ -2987,7 +3015,7 @@ header = "Izreži sliku"
submit = "Potvrdi"
noFileSelected = "Odaberite PDF datoteku za početak izrezivanja"
reset = "Vrati na cijeli PDF"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Automatski obreži bijeli prostor"
[crop.preview]
title = "Odabir područja izrezivanja"
@@ -3218,6 +3246,7 @@ title = "Metoda redakcije"
mode = "Način"
automatic = "Automatski"
automaticDesc = "Redigiraj tekst na temelju pojmova pretraživanja"
+automaticDisabledTooltip = "Odaberite datoteke u upravitelju datotekama kako biste zacrnili više datoteka odjednom"
manual = "Ručni"
manualDesc = "Kliknite i povucite za redakciju određenih područja"
manualComingSoon = "Ručna redakcija uskoro dolazi"
@@ -3288,8 +3317,35 @@ text = "Podudara samo cijele riječi, ne djelomična poklapanja. 'John' neće od
title = "Pretvori u PDF-Image"
text = "Pretvara PDF u PDF temeljen na slici nakon redakcije. Time se osigurava da je tekst iza okvira za redakciju potpuno uklonjen i neobnovljiv."
+[redact.tooltip.manual.header]
+title = "Kontrole ručnog zacrnjivanja"
+
+[redact.tooltip.manual.markText]
+title = "Alat za označavanje teksta"
+text = "Odaberite tekst izravno na PDF-u kako biste ga označili za zacrnjivanje. Kliknite i povucite za isticanje određenog teksta koji želite zacrniti."
+
+[redact.tooltip.manual.markArea]
+title = "Alat za označavanje područja"
+text = "Nacrtajte pravokutna područja na PDF-u kako biste označili regije za zacrnjivanje. Korisno za zacrnjivanje slika, potpisa ili nepravilnih oblika."
+
+[redact.tooltip.manual.apply]
+title = "Primijeni zacrnjivanja"
+text = "Nakon označavanja sadržaja kliknite 'Primijeni' kako biste trajno zacrnili sva označena područja. Brojač na čekanju pokazuje koliko je zacrnjivanja spremno za primjenu."
+bullet1 = "Označite koliko god područja trebate prije primjene"
+bullet2 = "Sva zacrnjivanja na čekanju primjenjuju se odjednom"
+bullet3 = "Zacrnjivanja se ne mogu poništiti nakon primjene"
+
[redact.manual]
+title = "Alati za zacrnjivanje"
+instructions = "Odaberite tekst ili nacrtajte područja na PDF-u kako biste označili sadržaj za zacrnjivanje."
+markText = "Označi tekst"
+markArea = "Označi područje"
+pendingLabel = "Na čekanju:"
+applyWarning = "⚠️ Trajna primjena, ne može se poništiti i podaci ispod će biti izbrisani"
+apply = "Primijeni"
+noMarks = "Nema oznaka zacrnjivanja. Upotrijebite alate iznad za označavanje sadržaja za zacrnjivanje."
header = "Ručna redakcija"
+controlsTitle = "Kontrole ručnog zacrnjivanja"
textBasedRedaction = "Redakcija temeljena na tekstu"
pageBasedRedaction = "Redakcija po stranicama"
convertPDFToImageLabel = "Pretvori PDF u PDF-Image (koristi se za uklanjanje teksta iza okvira)"
@@ -3406,17 +3462,17 @@ label = "Okomite podjele"
placeholder = "Unesite broj okomitih podjela"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Način dijeljenja"
+description = "Odaberite kako podijeliti stranice"
+splitAll = "Podijeli sve stranice"
+splitAllExceptFirst = "Podijeli sve osim prve"
+splitAllExceptLast = "Podijeli sve osim zadnje"
+splitAllExceptFirstAndLast = "Podijeli sve osim prve i zadnje"
+custom = "Prilagođene stranice"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Prilagođeni brojevi stranica"
+placeholder = "npr. 2,4,6"
[AddStampRequest]
tags = "Pečat, dodavanje slike, središnja slika, vodeni žig, PDF, ugradnja, prilagodba"
@@ -3780,17 +3836,17 @@ filesize = "Veličina datoteke"
label = "Primijeni sivinu za kompresiju"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Lineariziraj PDF za brzo web pregledavanje"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Pretvori slike u linijsku grafiku"
+description = "Koristi ImageMagick za reduciranje stranica na crno-bijele visokog kontrasta radi maksimalnog smanjenja veličine."
+unavailable = "ImageMagick nije instaliran ili omogućen na ovom poslužitelju"
+detailLevel = "Razina detalja"
+edgeEmphasis = "Naglašavanje rubova"
+edgeLow = "Blago"
+edgeMedium = "Uravnoteženo"
+edgeHigh = "Jako"
[compress.tooltip.header]
title = "Pregled postavki kompresije"
@@ -3810,8 +3866,8 @@ title = "Sivi tonovi"
text = "Odaberite ovu opciju kako biste sve slike pretvorili u crno-bijele, što može znatno smanjiti veličinu datoteke, osobito za skenirane PDF-ove ili dokumente s mnogo slika."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "Linijska grafika"
+text = "Pretvori stranice u crno-bijele visokog kontrasta pomoću ImageMagicka. Upotrijebite razinu detalja za kontrolu koliko sadržaja postaje crn, a naglašavanje rubova za kontrolu koliko agresivno se otkrivaju rubovi."
[compress.error]
failed = "Došlo je do pogreške pri komprimiranju PDF-a."
@@ -3826,9 +3882,9 @@ _value = "Postavke kompresije"
1 = "1-3 PDF kompresija, 4-6 blaga kompresija slika, 7-9 jaka kompresija slika značajno će smanjiti kvalitetu slike"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Niže vrijednosti čuvaju kvalitetu, ali rezultiraju većim datotekama"
+range4to6 = "Srednje sažimanje s umjerenim smanjenjem kvalitete"
+range7to9 = "Više vrijednosti znatno smanjuju veličinu datoteke, ali mogu smanjiti jasnoću slike"
[decrypt]
passwordPrompt = "Ova je datoteka zaštićena lozinkom. Unesite lozinku:"
@@ -4069,7 +4125,7 @@ deleteSelected = "Izbriši odabrane stranice"
closePdf = "Zatvori PDF"
exportAll = "Izvezi PDF"
downloadSelected = "Preuzmi odabrane datoteke"
-annotations = "Annotations"
+annotations = "Anotacije"
exportSelected = "Izvezi odabrane stranice"
saveChanges = "Spremi promjene"
toggleTheme = "Prebaci temu"
@@ -4077,84 +4133,90 @@ language = "Jezik"
toggleAnnotations = "Prebaci vidljivost bilješki"
search = "Pretraži PDF"
panMode = "Način pomicanja"
+applyRedactionsFirst = "Najprije primijeni zacrnjivanja"
rotateLeft = "Rotiraj ulijevo"
rotateRight = "Rotiraj udesno"
toggleSidebar = "Prebaci bočnu traku"
toggleBookmarks = "Prebaci knjižne oznake"
print = "Ispis PDF-a"
+draw = "Crtaj"
+redact = "Zacrni"
+exitRedaction = "Izađi iz načina zacrnjivanja"
+save = "Spremi"
downloadAll = "Preuzmi sve"
saveAll = "Spremi sve"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Lijevo"
+center = "Centar"
+right = "Desno"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "Anotiraj"
+desc = "Koristite isticanje, olovku, tekst i napomene. Promjene ostaju aktivne — nije potrebno spljoštavanje."
+highlight = "Isticanje"
+pen = "Olovka"
+text = "Tekstni okvir"
+note = "Napomena"
+rectangle = "Pravokutnik"
+ellipse = "Elipsa"
+select = "Odaberi"
+exit = "Izađi iz načina anotacije"
+strokeWidth = "Širina"
+opacity = "Neprozirnost"
+strokeOpacity = "Neprozirnost poteza"
+fillOpacity = "Neprozirnost ispune"
+fontSize = "Veličina fonta"
+chooseColor = "Odaberi boju"
+color = "Boja"
+strokeColor = "Boja poteza"
+fillColor = "Boja ispune"
+underline = "Podcrtavanje"
+strikeout = "Precrtavanje"
+squiggly = "Valovito"
+inkHighlighter = "Ručni marker"
+freehandHighlighter = "Ručni marker"
+square = "Kvadrat"
+circle = "Krug"
+polygon = "Poligon"
+line = "Linija"
+stamp = "Dodaj sliku"
+textMarkup = "Označavanje teksta"
+drawing = "Crtanje"
+shapes = "Oblici"
+notesStamps = "Napomene i pečati"
+settings = "Postavke"
+borderOn = "Obrub: uključen"
+borderOff = "Obrub: isključen"
+editInk = "Uredi olovku"
+editLine = "Uredi liniju"
+editNote = "Uredi napomenu"
+editText = "Uredi tekstni okvir"
+editTextMarkup = "Uredi označavanje teksta"
+editSelected = "Uredi anotaciju"
+editSquare = "Uredi kvadrat"
+editCircle = "Uredi krug"
+editPolygon = "Uredi poligon"
+unsupportedType = "Ova vrsta anotacije nije u potpunosti podržana za uređivanje."
+textAlignment = "Poravnanje teksta"
+noteIcon = "Ikona napomene"
+imagePreview = "Pretpregled"
+contents = "Tekst"
+backgroundColor = "Boja pozadine"
+clearBackground = "Ukloni pozadinu"
+noBackground = "Bez pozadine"
+stampSettings = "Postavke pečata"
+savingCopy = "Priprema preuzimanja..."
+saveFailed = "Nije moguće spremiti kopiju"
+saveReady = "Preuzimanje spremno"
+selectAndMove = "Odaberi i uredi"
+editSelectDescription = "Kliknite postojeću anotaciju kako biste uredili njezinu boju, neprozirnost, tekst ili veličinu."
+editStampHint = "Za promjenu slike izbrišite ovaj pečat i dodajte novi."
+editSwitchToSelect = "Prebacite se na Odaberi i uredi kako biste uredili ovu anotaciju."
+undo = "Poništi"
+redo = "Ponovi"
+applyChanges = "Primijeni promjene"
+saveChanges = "Spremi promjene"
[search]
title = "Pretraži PDF"
@@ -4205,20 +4267,20 @@ settings = "Postavke"
adminSettings = "Admin postavke"
allTools = "All Tools"
reader = "Čitač"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Obilasci"
+showMeAround = "Provedi me kroz"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Pogledajte vodiče ovdje: obilazak alata, obilazak novog V2 izgleda i administratorski obilazak."
+user = "Pogledajte vodiče ovdje: obilazak alata i obilazak novog V2 izgleda."
[quickAccess.helpMenu]
toolsTour = "Vodič kroz alate"
toolsTourDesc = "Saznajte što alati mogu"
adminTour = "Vodič za administratore"
adminTourDesc = "Istražite administratorske postavke i značajke"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Pogledajte novosti u V2"
+whatsNewTourDesc = "Obilazak ažuriranog izgleda"
[admin]
error = "Pogreška"
@@ -4237,6 +4299,8 @@ fetchError = "Nije uspjelo učitavanje postavki"
saveError = "Nije uspjelo spremanje postavki"
saved = "Postavke su uspješno spremljene"
saveSuccess = "Postavke su uspješno spremljene"
+success = "Postavke su uspješno spremljene"
+error = "Nije uspjelo spremanje postavki"
save = "Spremi promjene"
discard = "Odbaci"
restartRequired = "Potrebno ponovno pokretanje"
@@ -4360,6 +4424,13 @@ description = "Put do izvršne datoteke WeasyPrinta za pretvorbu HTML u PDF (ost
label = "Izvršna datoteka Unoconverta"
description = "Put do LibreOffice unoconverta za pretvorbe dokumenata (ostavite prazno za zadano: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "Frontend URL"
+description = "Osnovni URL za frontend (npr. https://pdf.example.com). Koristi se za poveznice pozivnica e-poštom i otpremanje putem mobilnog QR koda. Ostavite prazno za korištenje backend URL-a."
+
+[admin.settings.badge]
+clickToUpgrade = "Kliknite za prikaz detalja plana"
+
[admin.settings.security]
title = "Sigurnost"
description = "Konfigurirajte autentikaciju, ponašanje prijave i sigurnosne politike."
@@ -4496,6 +4567,19 @@ connect = "Poveži"
disconnect = "Prekini vezu"
disconnected = "Pružatelj je uspješno odspojen"
disconnectError = "Nije uspjelo odspajanje pružatelja"
+mobileScannerConvertToPdf = "Pretvori slike u PDF"
+mobileScannerConvertToPdfDesc = "Automatski pretvori otpremljene slike u PDF format. Ako je onemogućeno, slike će ostati nepromijenjene."
+mobileScannerImageResolution = "Rezolucija slike"
+mobileScannerImageResolutionDesc = "Rezolucija otpremljenih slika. \"Smanjena\" skalira slike na najviše 1200 px radi smanjenja veličine datoteke."
+imageResolutionFull = "Puna (izvorna veličina)"
+imageResolutionReduced = "Smanjena (maks. 1200 px)"
+mobileScannerPageFormat = "Format stranice"
+mobileScannerPageFormatDesc = "Veličina PDF stranice za pretvorene slike. \"Zadrži\" koristi izvorne dimenzije slike."
+pageFormatKeep = "Zadrži (izvorne dimenzije)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Razvuci da ispuni"
+mobileScannerStretchToFitDesc = "Razvuci slike kako bi ispunile cijelu stranicu. Ako je onemogućeno, slike su centrirane uz očuvanje omjera."
[admin.settings.connections.ssoAutoLogin]
label = "Automatska SSO prijava"
@@ -4564,6 +4648,122 @@ description = "Automatski izradi korisničke račune pri prvoj SAML2 prijavi"
label = "Blokiraj registraciju"
description = "Spriječi registraciju novih korisnika putem SAML2"
+[admin.settings.connections.mobileScanner]
+label = "Otpremanje s mobitela"
+enable = "Omogući otpremanje putem QR koda"
+description = "Dopustite korisnicima otpremanje datoteka s mobilnih uređaja skeniranjem QR koda"
+note = "Napomena: Potrebno je konfigurirati Frontend URL. "
+link = "Konfiguriraj u postavkama sustava"
+mobileScannerConvertToPdf = "Pretvori slike u PDF"
+mobileScannerConvertToPdfDesc = "Automatski pretvori otpremljene slike u PDF format. Ako je onemogućeno, slike će ostati nepromijenjene."
+mobileScannerImageResolution = "Rezolucija slike"
+mobileScannerImageResolutionDesc = "Rezolucija otpremljenih slika. \"Smanjena\" skalira slike na najviše 1200 px radi smanjenja veličine datoteke."
+imageResolutionFull = "Puna (izvorna veličina)"
+imageResolutionReduced = "Smanjena (maks. 1200 px)"
+mobileScannerPageFormat = "Format stranice"
+mobileScannerPageFormatDesc = "Veličina PDF stranice za pretvorene slike. \"Zadrži\" koristi izvorne dimenzije slike."
+pageFormatKeep = "Zadrži (izvorne dimenzije)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Razvuci da ispuni"
+mobileScannerStretchToFitDesc = "Razvuci slike kako bi ispunile cijelu stranicu. Ako je onemogućeno, slike su centrirane uz očuvanje omjera."
+
+[admin.settings.telegram]
+title = "Telegram bot"
+description = "Konfigurirajte povezivanje Telegram bota, kontrole pristupa i ponašanje povratnih poruka."
+
+[admin.settings.telegram.enabled]
+label = "Omogući Telegram bot"
+description = "Dopustite korisnicima interakciju sa Stirling PDF-om putem konfiguriranog Telegram bota."
+
+[admin.settings.telegram.botUsername]
+label = "Korisničko ime bota"
+description = "Javno korisničko ime vašeg Telegram bota."
+
+[admin.settings.telegram.botToken]
+label = "Token bota"
+description = "API token koji je dao BotFather za vaš Telegram bot."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Ulazna mapa"
+description = "Mapa unutar direktorija pipeline u koju se spremaju dolazne Telegram datoteke."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Koristi prilagođeni sufiks mape"
+description = "Dodaj ID chata u dolazne mape datoteka kako bi se odvojile po chatu."
+
+[admin.settings.telegram.accessControl]
+title = "Kontrola pristupa"
+description = "Ograničite koje osobe ili kanali mogu komunicirati s botom."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Dopusti određene korisničke ID-jeve"
+description = "Kad je omogućeno, samo navedeni korisnički ID-jevi mogu koristiti bota."
+
+[admin.settings.telegram.allowUserIDs]
+label = "Dopušteni korisnički ID-jevi"
+description = "Unesite Telegram korisničke ID-jeve koji smiju komunicirati s botom."
+placeholder = "Dodajte korisnički ID i pritisnite Enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Dopusti određene ID-jeve kanala"
+description = "Kad je omogućeno, samo navedeni ID-jevi kanala mogu koristiti bota."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "Dopušteni ID-jevi kanala"
+description = "Unesite Telegram ID-jeve kanala koji smiju komunicirati s botom."
+placeholder = "Dodajte ID kanala i pritisnite Enter"
+
+[admin.settings.telegram.processing]
+title = "Obrada"
+description = "Upravljajte intervalima dohvaćanja i vremenskim ograničenjima obrade za Telegram otpremanja."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Vremensko ograničenje obrade (sekunde)"
+description = "Maksimalno vrijeme čekanja na zadatak obrade prije prijave pogreške."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Interval dohvaćanja (ms)"
+description = "Interval između provjera novih Telegram ažuriranja."
+
+[admin.settings.telegram.feedback]
+title = "Povratne poruke"
+description = "Odaberite kada bot treba slati povratne poruke korisnicima i kanalima."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Omogući povratne poruke"
+description = "Kontrolira hoće li bot uopće slati povratne poruke."
+
+[admin.settings.telegram.feedback.channel]
+title = "Pravila povratnih poruka (kanali)"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Prikaži \"Nema valjanog dokumenta\" (kanal)"
+description = "Potisni odgovor 'Nema valjanog dokumenta' za otpremanja u kanal."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Prikaži pogreške obrade (kanal)"
+description = "Šalji poruke o pogreškama obrade kanalima."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Prikaži poruke o pogreškama (kanal)"
+description = "Prikaži detaljne poruke o pogreškama za kanale."
+
+[admin.settings.telegram.feedback.user]
+title = "Pravila povratnih poruka (korisnici)"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Prikaži \"Nema valjanog dokumenta\" (korisnik)"
+description = "Potisni odgovor 'Nema valjanog dokumenta' za korisnička otpremanja."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Prikaži pogreške obrade (korisnik)"
+description = "Šalji poruke o pogreškama obrade korisnicima."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Prikaži poruke o pogreškama (korisnik)"
+description = "Prikaži detaljne poruke o pogreškama za korisnike."
+
[admin.settings.database]
title = "Baza podataka"
description = "Konfigurirajte prilagođene postavke povezivanja baze podataka za enterprise implementacije."
@@ -4745,6 +4945,10 @@ description = "Dopusti administratorima pozivanje korisnika e-poštom s automats
label = "Frontend URL"
description = "Osnovni URL za frontend (npr. https://pdf.example.com). Koristi se za generiranje poveznica za pozivnice u e-porukama. Ostavite prazno za korištenje backend URL-a."
+[admin.settings.mail.frontendUrlNote]
+note = "Napomena: Potrebno je konfigurirati Frontend URL. "
+link = "Konfiguriraj u postavkama sustava"
+
[admin.settings.legal]
title = "Pravni dokumenti"
description = "Konfigurirajte poveznice na pravne dokumente i politike."
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "Moje datoteke"
noRecentFiles = "Nema nedavnih datoteka"
googleDriveNotAvailable = "Integracija Google Drive nije dostupna"
+mobileUpload = "Otpremanje s mobitela"
+mobileShort = "Mobitel"
+mobileUploadNotAvailable = "Otpremanje s mobitela nije omogućeno"
downloadSelected = "Preuzmi odabrano"
saveSelected = "Spremi odabrano"
openFiles = "Otvori datoteke"
@@ -5244,7 +5451,7 @@ loading = "Učitavanje..."
back = "Natrag"
continue = "Nastavi"
error = "Pogreška"
-save = "Save"
+save = "Spremi"
[config.overview]
title = "Konfiguracija aplikacije"
@@ -5307,6 +5514,15 @@ impact = "Sve aplikacije ili servisi koji trenutno koriste ove ključeve prestat
confirmPrompt = "Jeste li sigurni da želite nastaviti?"
confirmCta = "Osvježi ključeve"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "Pogreška API ključa"
+failedToCreateApiKey = "Neuspjelo stvaranje API ključa."
+failedToRetrieveApiKey = "Neuspjelo dohvaćanje API ključa iz odgovora."
+failedToFetchApiKey = "Neuspjelo dohvaćanje API ključa."
+apiKeyRefreshed = "API ključ osvježen"
+apiKeyRefreshedBody = "Vaš API ključ je uspješno osvježen."
+failedToRefreshApiKey = "Neuspjelo osvježavanje API ključa."
+
[AddAttachmentsRequest]
attachments = "Odaberite privitke"
info = "Odaberite datoteke koje želite priložiti svom PDF-u. Te će datoteke biti ugrađene i dostupne kroz panel privitaka PDF-a."
@@ -5412,14 +5628,14 @@ startTour = "Započni obilazak"
startTourDescription = "Krenite u vođeni obilazak ključnih značajki alata Stirling PDF"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Započnite na traci Brzi pristup kako biste skakali između Čitača, Automatizacije, svojih datoteka i svih obilazaka."
+leftPanel = "Lijevi panel Alati navodi sve što možete učiniti. Pregledajte kategorije ili pretražite kako biste brzo našli alat."
+fileUpload = "Koristite gumb Datoteke za otpremu ili odabir nedavnog PDF-a. Učitat ćemo primjer kako biste vidjeli radni prostor."
+rightRail = "Desna traka sadrži brze radnje za odabir datoteka, promjenu teme ili jezika i preuzimanje rezultata."
+topBar = "Gornja traka omogućuje prebacivanje između Preglednika, Uređivača stranica i Aktivnih datoteka."
+pageEditorView = "Prebacite se na Uređivač stranica za promjenu redoslijeda, rotiranje ili brisanje stranica."
+activeFilesView = "Koristite Aktivne datoteke da vidite sve što je otvoreno i odaberete na čemu raditi."
+wrapUp = "To je ono što je novo u V2. Otvorite izbornik Obilasci bilo kada za reprizu ovoga, obilaska Alata ili Administratorskog obilaska."
[onboarding.welcomeModal]
title = "Dobrodošli u Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "Provedi me"
skipTheTour = "Preskoči obilazak"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Pregled obilaska"
+body = "Stirling PDF V2 dolazi s desecima alata i osvježenim izgledom. Uzmite kratki obilazak da vidite što se promijenilo i gdje pronaći potrebne značajke."
[onboarding.serverLicense]
skip = "Preskoči zasad"
@@ -5452,7 +5668,7 @@ upgrade = "Nadogradi odmah →"
freeTitle = "Poslužiteljska licenca"
overLimitTitle = "Potrebna poslužiteljska licenca"
overLimitBody = "Naše licenciranje dopušta do {{freeTierLimit}} korisnika besplatno po poslužitelju. Imate {{overLimitUserCopy}} Stirling korisnika. Za nesmetan nastavak, nadogradite na Stirling Server plan - neograničena mjesta, uređivanje teksta u PDF-u i puna admin kontrola za $99/server/mo."
-freeBody = "Naše licenciranje Open-Core omogućuje do {{freeTierLimit}} korisnika besplatno po poslužitelju. Za neometano skaliranje preporučujemo Stirling Server plan - neograničena mjesta i podrška za SSO za $99/poslužitelj/mj."
+freeBody = "Naše Open-Core licenciranje dopušta do {{freeTierLimit}} korisnika besplatno po poslužitelju. Za nesmetano skaliranje i rani pristup našem novom alatu za uređivanje teksta u PDF-u, preporučujemo Stirling Server plan - potpuno uređivanje i neograničena mjesta za $99/server/mo."
[onboarding.desktopInstall]
title = "Preuzimanje"
@@ -5758,28 +5974,28 @@ contactSales = "Kontaktirajte prodaju"
contactToUpgrade = "Kontaktirajte nas za nadogradnju ili prilagodbu vašeg plana"
maxUsers = "Maks. korisnika"
upTo = "Do"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Nabavite serversku licencu"
+upgradeToEnterprise = "Nadogradite na Enterprise"
+selectPeriod = "Odaberite obračunsko razdoblje"
+monthlyBilling = "Mjesečno naplaćivanje"
+yearlyBilling = "Godišnje naplaćivanje"
+checkoutOpened = "Plaćanje otvoreno"
+checkoutInstructions = "Dovršite kupnju na Stripe kartici. Nakon plaćanja, vratite se ovamo i osvježite stranicu kako biste aktivirali licencu. Također ćete primiti e-poruku s licenčnim ključem."
+activateLicense = "Aktivirajte svoju licencu"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Plaćanje otvoreno u novoj kartici"
+instructions = "Dovršite kupnju na Stripe kartici. Nakon dovršenog plaćanja dobit ćete e-poruku s licenčnim ključem."
+enterKey = "Unesite svoj licenčni ključ u nastavku kako biste aktivirali plan:"
+keyDescription = "Zalijepite licenčni ključ iz e-poruke"
+activate = "Aktiviraj licencu"
+doLater = "Učinit ću to kasnije"
+success = "Licenca aktivirana!"
+successMessage = "Vaša licenca je uspješno aktivirana. Sada možete zatvoriti ovaj prozor."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "Potrebna je verifikacija e-pošte"
+message = "Morat ćete verificirati svoju adresu e-pošte u Stripe portalu za naplatu. Provjerite e-poštu za poveznicu za prijavu."
[plan.period]
month = "mjesec"
@@ -5983,8 +6199,8 @@ notAvailable = "Sustav revizije nije dostupan"
notAvailableMessage = "Sustav revizije nije konfiguriran ili nije dostupan."
disabled = "Revizijsko zapisivanje je onemogućeno"
disabledMessage = "Omogućite revizijsko zapisivanje u konfiguraciji aplikacije kako biste pratili sustavne događaje."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Potrebna je Enterprise licenca"
+enterpriseRequiredMessage = "Sustav zapisivanja revizije je Enterprise značajka. Nadogradite na Enterprise licencu za pristup revizijskim zapisima i analitici."
[audit.error]
title = "Pogreška pri učitavanju sustava revizije"
@@ -6156,6 +6372,7 @@ description = "Unesite puni URL svog self-hosted Stirling PDF poslužitelja"
[setup.server.error]
emptyUrl = "Unesite URL poslužitelja"
+invalidUrl = "Neispravan format URL-a. Unesite valjani URL kao https://your-server.com"
unreachable = "Nije moguće povezati se s poslužiteljem"
testFailed = "Test veze nije uspio"
configFetch = "Neuspjelo dohvaćanje konfiguracije poslužitelja. Provjerite URL i pokušajte ponovno."
@@ -6174,6 +6391,7 @@ connectingTo = "Povezivanje na:"
submit = "Prijava"
signInWith = "Prijavite se pomoću"
oauthPending = "Otvaranje preglednika za autentikaciju..."
+sso = "Jedinstvena prijava"
orContinueWith = "Ili nastavite s e-poštom"
serverRequirement = "Napomena: Poslužitelj mora imati omogućenu prijavu."
showInstructions = "Kako omogućiti?"
@@ -6225,7 +6443,7 @@ paragraph = "Stranica s odlomcima"
sparse = "Rijedak tekst"
[pdfTextEditor.groupingMode]
-auto = "Automatski"
+auto = "Auto"
paragraph = "Odlomak"
singleLine = "Jedan redak"
@@ -6239,8 +6457,8 @@ reset = "Poništi promjene"
downloadJson = "Preuzmi JSON"
generatePdf = "Generiraj PDF"
saveChanges = "Spremi promjene"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Primijeni promjene"
+downloadCopy = "Preuzmi kopiju"
[pdfTextEditor.options.autoScaleText]
title = "Automatski skaliraj tekst kako bi stao u okvire"
@@ -6260,22 +6478,22 @@ title = "Zaključaj uređeni tekst u jedan PDF element"
description = "Kad je omogućeno, uređivač izvozi svaki uređeni tekstualni okvir kao jedan PDF tekstni element kako bi se izbjeglo preklapanje glifova ili miješanje fontova."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Napredne postavke"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Ograničenja pregleda"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Fokus na tekst i slike"
+text = "Ovaj radni prostor fokusira se na uređivanje teksta i premještanje ugrađenih slika. Složeni crteži stranica, obrazac widgeti i slojevita grafika čuvaju se za izvoz, ali ovdje nisu u potpunosti uređivi."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Varijacije pregleda"
+text = "Neki vizualni elementi (poput obruba tablica, oblika ili izgleda anotacija) možda se neće prikazati točno u pretpregledu. Izvezeni PDF čuva izvorne naredbe crtanja kad god je moguće."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Alpha preglednik"
+text = "Ovaj alpha preglednik se još razvija—određeni fontovi, boje, efekti prozirnosti i detalji izgleda mogu se blago promijeniti. Prije dijeljenja provjerite generirani PDF."
[pdfTextEditor.manual]
mergeTooltip = "Spoji odabrane okvire"
@@ -6398,3 +6616,58 @@ title = "Rezultati dodavanja teksta"
[addText.error]
failed = "Došlo je do pogreške pri dodavanju teksta u PDF."
+
+[mobileUpload]
+title = "Otpremanje s mobitela"
+description = "Skenirajte za otpremu fotografija. Slike se automatski pretvaraju u PDF."
+descriptionNoConvert = "Skenirajte za otpremu fotografija s mobilnog uređaja."
+error = "Pogreška veze"
+pollingError = "Pogreška pri provjeri datoteka"
+sessionId = "ID sesije"
+sessionCreateError = "Neuspjelo stvaranje sesije"
+expiryWarning = "Uskoro istječe sesija"
+expiryWarningMessage = "Ovaj QR kod istječe za {{seconds}} sekundi. Novi kod će se automatski generirati."
+filesReceived = "Primljeno {{count}} datoteka"
+connected = "Mobilni uređaj povezan"
+instructions = "Skenirajte kamerom telefona. Slike se automatski pretvaraju u PDF."
+instructionsNoConvert = "Skenirajte kamerom telefona za otpremu datoteka."
+
+[mobileScanner]
+title = "Mobilni skener"
+noSession = "Neispravna sesija"
+noSessionMessage = "Skenirajte valjan QR kod za pristup ovoj stranici."
+validating = "Provjera sesije..."
+sessionInvalid = "Pogreška sesije"
+sessionExpired = "Ova sesija je istekla. Osvježite i pokušajte ponovno."
+sessionNotFound = "Sesija nije pronađena. Osvježite i pokušajte ponovno."
+sessionValidationError = "Nije moguće potvrditi sesiju. Pokušajte ponovno."
+uploadSuccess = "Otpremanje uspješno!"
+uploadSuccessMessage = "Vaše slike su prenesene."
+httpsRequired = "Pristup kameri zahtijeva HTTPS ili localhost. Upotrijebite HTTPS ili pristupite putem localhosta."
+uploadFailed = "Otpremanje nije uspjelo. Pokušajte ponovno."
+uploading = "Otpremanje..."
+connected = "Povezano"
+connecting = "Povezivanje..."
+chooseMethod = "Odaberite način otpremanja"
+chooseMethodDescription = "Odaberite kako želite skenirati i otpremiti dokumente"
+camera = "Kamera"
+cameraDescription = "Skenirajte dokumente kamerom uređaja s automatskim otkrivanjem rubova"
+fileUpload = "Otpremanje datoteka"
+fileDescription = "Otpremite postojeće fotografije ili dokumente s uređaja"
+cameraAccessDenied = "Pristup kameri je odbijen. Omogućite pristup kameri."
+back = "Natrag"
+settings = "Postavke"
+edgeDetection = "Otkrivanje rubova"
+flashlight = "Svjetiljka"
+flash = "Bljeskalica"
+processing = "Obrada..."
+capture = "Snimi fotografiju"
+selectFilesPrompt = "Odaberite datoteke za otpremu"
+selectImage = "Odaberi sliku"
+preview = "Pretpregled"
+retake = "Ponovo snimi"
+addToBatch = "Dodaj u grupu"
+upload = "Otpremi"
+batchImages = "Grupa"
+clearBatch = "Očisti"
+uploadAll = "Otpremi sve"
diff --git a/frontend/public/locales/hu-HU/translation.toml b/frontend/public/locales/hu-HU/translation.toml
index 19976130d..99eb6d357 100644
--- a/frontend/public/locales/hu-HU/translation.toml
+++ b/frontend/public/locales/hu-HU/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "Mentetlen változtatásai vannak a PDF-en."
+pendingRedactionsTitle = "Nem alkalmazott kitakarások"
+pendingRedactions = "Vannak nem alkalmazott kitakarásai, amelyek el fognak veszni."
areYouSure = "Biztosan elhagyja az oldalt?"
unsavedChangesTitle = "Mentetlen változtatások"
keepWorking = "Munka folytatása"
discardChanges = "Elvetés és kilépés"
+discardRedactions = "Elvetés és kilépés"
applyAndContinue = "Mentés és kilépés"
exportAndContinue = "Exportálás és folytatás"
cancel = "Mégse"
@@ -364,6 +367,7 @@ advanced = "Speciális"
title = "Biztonság és hitelesítés"
security = "Biztonság"
connections = "Kapcsolatok"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Licencelés és analitika"
@@ -438,25 +442,34 @@ currentVersion = "Jelenlegi verzió"
latestVersion = "Legújabb verzió"
checkForUpdates = "Frissítések keresése"
viewDetails = "Részletek megtekintése"
+serverNeedsUpdate = "A szervert az adminisztrátornak frissítenie kell"
+
+[settings.general.versionInfo]
+title = "Verzióinformációk"
+description = "Asztali és szerververzió adatai"
+desktop = "Asztali verzió"
+server = "Szerververzió"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Biztonság"
+description = "Frissítse jelszavát fiókja biztonságáért."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Jelszó módosítása. A frissítés után ki lesz jelentkeztetve."
+required = "Minden mező kitöltése kötelező."
+mismatch = "Az új jelszavak nem egyeznek."
+error = "Nem sikerült frissíteni a jelszót. Ellenőrizze jelenlegi jelszavát, és próbálja újra."
+success = "A jelszó sikeresen frissült. Jelentkezzen be újra."
+ssoDisabled = "A jelszóváltoztatást az identitásszolgáltató kezeli."
+current = "Jelenlegi jelszó"
+currentPlaceholder = "Adja meg jelenlegi jelszavát"
+new = "Új jelszó"
+newPlaceholder = "Adjon meg egy új jelszót"
+confirm = "Új jelszó megerősítése"
+confirmPlaceholder = "Írja be újra az új jelszót"
+update = "Jelszó frissítése"
+
+
[settings.hotkeys]
title = "Billentyűparancsok"
@@ -511,16 +524,16 @@ low = "Alacsony"
title = "Hitelesítési adatok módosítása"
header = "Fiókadatok frissítése"
changePassword = "Az alapértelmezett bejelentkezési adatokat használja. Kérjük, adjon meg új jelszót"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Fiókját az identitásszolgáltató kezeli."
newUsername = "Új felhasználónév"
oldPassword = "Jelenlegi jelszó"
newPassword = "Új jelszó"
confirmNewPassword = "Új jelszó megerősítése"
submit = "Változtatások mentése"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Fiók frissítve"
+description = "A módosítások mentve. Kérjük, jelentkezzen be újra."
+error = "Nem sikerült frissíteni a felhasználónevet. Ellenőrizze a jelszavát, és próbálja újra."
+changeUsername = "Felhasználónév frissítése. A frissítés után ki lesz jelentkeztetve."
[account]
title = "Fiókbeállítások"
@@ -528,6 +541,8 @@ accountSettings = "Fiókbeállítások"
adminSettings = "Rendszergazdai beállítások - Felhasználók kezelése"
userControlSettings = "Felhasználói jogosultságok"
changeUsername = "Felhasználónév módosítása"
+changeUsernameDescription = "Felhasználónév frissítése. A frissítés után ki lesz jelentkeztetve."
+newUsernamePlaceholder = "Adja meg az új felhasználónevét"
newUsername = "Új felhasználónév"
password = "Jelszó megerősítése"
oldPassword = "Régi jelszó"
@@ -737,9 +752,9 @@ title = "Aláírás"
desc = "Aláírás hozzáadása PDF-hez rajzolással, szöveggel vagy képpel"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "jegyzetelés,kiemelés,rajzolás"
+title = "Jegyzetelés"
+desc = "Kiemelés, rajzolás, jegyzetek és alakzatok hozzáadása a megjelenítőben"
[home.flatten]
tags = "egyszerűsít,eltávolít,interaktív"
@@ -952,7 +967,7 @@ title = "PDF-ek egymásra helyezése"
[home.pdfTextEditor]
title = "PDF szövegszerkesztő"
-desc = "Meglévő szöveg és képek szerkesztése a PDF-ekben"
+desc = "Nézze át és szerkessze a Stirling PDF JSON exportokat csoportosított szövegszerkesztéssel és PDF-újragenerálással"
[home.addText]
tags = "szöveg, megjegyzés, címke"
@@ -963,6 +978,7 @@ desc = "Tetszőleges szöveg hozzáadása bárhová a PDF-ben"
addFiles = "Fájlok hozzáadása"
uploadFromComputer = "Feltöltés a számítógépről"
openFromComputer = "Megnyitás a gépről"
+mobileUpload = "Feltöltés mobilról"
[viewPdf]
tags = "megtekintés,olvasás,jegyzetelés,szöveg,kép"
@@ -1278,21 +1294,33 @@ cbzOptions = "CBZ to PDF beállítások"
optimizeForEbook = "PDF optimalizálása e-könyv olvasókhoz (Ghostscript használatával)"
cbzOutputOptions = "PDF to CBZ beállítások"
cbzDpi = "DPI a képrendereléshez"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "CBR beállítások"
+cbrOutputOptions = "PDF → CBR beállítások"
+cbrDpi = "DPI a képrendereléshez"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "E-könyv → PDF beállítások"
+ebookOptionsDesc = "E-könyvek PDF-be konvertálásának beállításai"
+embedAllFonts = "Összes betűtípus beágyazása"
+embedAllFontsDesc = "Az e-könyv összes betűtípusának beágyazása a létrehozott PDF-be"
+includeTableOfContents = "Tartalomjegyzék hozzáadása"
+includeTableOfContentsDesc = "Létrehozott tartalomjegyzék hozzáadása a kész PDF-hez"
+includePageNumbers = "Oldalszámok hozzáadása"
+includePageNumbersDesc = "Oldalszámok hozzáadása a létrehozott PDF-hez"
+optimizeForEbookPdf = "Optimalizálás e-könyv olvasókhoz"
+optimizeForEbookPdfDesc = "A PDF optimalizálása e-könyv olvasáshoz (kisebb fájlméret, jobb megjelenítés e-ink eszközökön)"
+
+[convert.epubOptions]
+epubOptions = "PDF → e-könyv beállítások"
+epubOptionsDesc = "Beállítások PDF EPUB/AZW3 formátumba konvertálásához"
+detectChapters = "Fejezetek felismerése"
+detectChaptersDesc = "A fejezeteknek tűnő címsorok felismerése és EPUB oldaltörések beszúrása"
+targetDevice = "Cél eszköz"
+targetDeviceDesc = "A felhasználói eszközhöz optimalizált kimeneti profil kiválasztása"
+outputFormat = "Kimeneti formátum"
+outputFormatDesc = "Válassza ki az e-könyv kimeneti formátumát"
+tabletPhone = "Tablet/Telefon (képekkel)"
+kindleEink = "Kindle e-Ink (szöveghez optimalizált)"
[imageToPdf]
tags = "konverzió,kép,jpg,fotó,fénykép"
@@ -1409,11 +1437,11 @@ header = "Mellékletek hozzáadása"
add = "Melléklet hozzáadása"
remove = "Melléklet eltávolítása"
embed = "Melléklet beágyazása"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Átalakítás PDF/A-3b formátumba"
+convertToPdfA3bDescription = "Beágyazott mellékleteket tartalmazó archiválási PDF-et hoz létre"
+convertToPdfA3bTooltip = "A PDF/A-3b egy archiválási formátum, amely biztosítja a hosszú távú megőrzést. Lehetővé teszi tetszőleges fájlformátumok mellékletként történő beágyazását. Az átalakításhoz Ghostscript szükséges, és nagy fájloknál hosszabb ideig tarthat."
+convertToPdfA3bTooltipHeader = "A PDF/A-3b átalakításról"
+convertToPdfA3bTooltipTitle = "Mit csinál"
submit = "Csatolmányok hozzáadása a PDF-hez"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "Mentett"
label = "Aláíráskép feltöltése"
placeholder = "Képfájl kiválasztása"
hint = "Töltse fel az aláírását tartalmazó PNG vagy JPG képet"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Fehér háttér eltávolítása (átlátszóvá tétel)"
+processing = "Kép feldolgozása..."
+backgroundRemovalFailedTitle = "A háttér eltávolítása nem sikerült"
+backgroundRemovalFailedMessage = "Nem sikerült eltávolítani a háttért a képről. Az eredeti képet használjuk helyette."
[sign.instructions]
title = "Hogyan adjon hozzá aláírást"
@@ -2409,9 +2437,9 @@ label = "Csak űrlapok lapítása"
desc = "Csak az űrlapmezők lapítása, a többi interaktív elem változatlanul marad"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "Renderelési DPI (nem kötelező, ajánlott 150 DPI)"
+help = "Hagyja üresen a rendszer alapértékének használatához. A magasabb DPI élesebb kimenetet ad, de növeli a feldolgozási időt és a fájlméretet."
+placeholder = "pl. 150"
[flatten.results]
title = "Lapítás eredménye"
@@ -2987,7 +3015,7 @@ header = "PDF vágása"
submit = "Küldés"
noFileSelected = "Válasszon egy PDF-fájlt a vágás megkezdéséhez"
reset = "Visszaállítás teljes PDF-re"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Üres terület automatikus levágása"
[crop.preview]
title = "Vágási terület kiválasztása"
@@ -3218,6 +3246,7 @@ title = "Kitakarási mód"
mode = "Mód"
automatic = "Automatikus"
automaticDesc = "Szöveg kitakarása keresési feltételek alapján"
+automaticDisabledTooltip = "Válasszon fájlokat a fájlkezelőben több fájl egyidejű kitakarásához"
manual = "Kézi"
manualDesc = "Kattintson és húzza a kitakarni kívánt terület kijelöléséhez"
manualComingSoon = "A kézi kitakarás hamarosan elérhető"
@@ -3288,8 +3317,35 @@ text = "Csak a teljes szavakat illeszti, nem részleges egyezéseket. Engedélye
title = "Konvertálás PDF-Image formátumra"
text = "A kitakarás után a PDF-et képalapú PDF-fé alakítja. Ez biztosítja, hogy a kitakaró dobozok mögötti szöveg teljesen eltávolításra kerüljön és ne legyen visszaállítható."
+[redact.tooltip.manual.header]
+title = "Kézi kitakarás vezérlők"
+
+[redact.tooltip.manual.markText]
+title = "Szöveg megjelölő eszköz"
+text = "Jelöljön meg közvetlenül szöveget a PDF-en kitakarásra. Kattintson és húzza a kívánt szöveg kiemeléséhez, amelyet ki szeretne takarni."
+
+[redact.tooltip.manual.markArea]
+title = "Terület megjelölő eszköz"
+text = "Rajzoljon téglalap alakú területeket a PDF-re a kitakarandó régiók megjelöléséhez. Hasznos képek, aláírások vagy szabálytalan alakzatok kitakarásához."
+
+[redact.tooltip.manual.apply]
+title = "Kitakarások alkalmazása"
+text = "A tartalom megjelölése után kattintson az 'Alkalmazás' gombra az összes megjelölt terület végleges kitakarásához. A függőben lévő szám jelzi, hány kitakarás vár alkalmazásra."
+bullet1 = "Alkalmazás előtt annyi területet jelölhet meg, amennyit szükséges"
+bullet2 = "Minden függőben lévő kitakarás egyszerre kerül alkalmazásra"
+bullet3 = "A kitakarások alkalmazás után nem vonhatók vissza"
+
[redact.manual]
+title = "Kitakaró eszközök"
+instructions = "Jelöljön meg szöveget vagy rajzoljon területeket a PDF-en a kitakarandó tartalom megjelöléséhez."
+markText = "Szöveg megjelölése"
+markArea = "Terület megjelölése"
+pendingLabel = "Függőben:"
+applyWarning = "⚠️ Végleges alkalmazás, nem vonható vissza, és az alatta lévő adatok törlődnek"
+apply = "Alkalmazás"
+noMarks = "Nincsenek kitakarási jelölések. Használja a fenti eszközöket a tartalom kitakarásra jelöléséhez."
header = "Kézi kitakarás"
+controlsTitle = "Kézi kitakarás vezérlők"
textBasedRedaction = "Szöveg alapú kitakarás"
pageBasedRedaction = "Oldal alapú kitakarás"
convertPDFToImageLabel = "PDF konvertálása PDF-Image formátumra (a doboz mögötti szöveg eltávolításához)"
@@ -3406,17 +3462,17 @@ label = "Függőleges felosztások"
placeholder = "Adja meg a függőleges felosztások számát"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Felosztási mód"
+description = "Válassza ki, hogyan ossza fel az oldalakat"
+splitAll = "Összes oldal felosztása"
+splitAllExceptFirst = "Összes oldal felosztása az első kivételével"
+splitAllExceptLast = "Összes oldal felosztása az utolsó kivételével"
+splitAllExceptFirstAndLast = "Összes oldal felosztása az első és az utolsó kivételével"
+custom = "Egyéni oldalak"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Egyéni oldalszámok"
+placeholder = "pl. 2,4,6"
[AddStampRequest]
tags = "Pecsét,Kép hozzáadása,középre igazítás,Vízjel,PDF,Beágyazás,Testreszabás"
@@ -3780,17 +3836,17 @@ filesize = "Fájlméret"
label = "Szürkeárnyalatok alkalmazása tömörítéshez"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "PDF linearizálása a gyors webes megjelenítéshez"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Képek átalakítása vonalrajzzá"
+description = "ImageMagick használata az oldalak nagy kontrasztú fekete-fehérré alakításához a maximális méretcsökkentés érdekében."
+unavailable = "Az ImageMagick nincs telepítve vagy engedélyezve ezen a szerveren"
+detailLevel = "Részletesség"
+edgeEmphasis = "Élkiemelés"
+edgeLow = "Enyhe"
+edgeMedium = "Kiegyensúlyozott"
+edgeHigh = "Erős"
[compress.tooltip.header]
title = "Tömörítési beállítások áttekintése"
@@ -3810,8 +3866,8 @@ title = "Szürkeárnyalatos"
text = "Válassza ezt az opciót az összes kép fekete-fehérre konvertálásához, ami jelentősen csökkentheti a fájlméretet, különösen beszkennelt PDF-eknél vagy képekkel teli dokumentumoknál."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "Vonalrajz"
+text = "Az oldalak átalakítása nagy kontrasztú fekete-fehérré az ImageMagick segítségével. A Részletességgel szabályozhatja, mennyi tartalom váljon feketévé, az Élkiemeléssel pedig, mennyire agresszíven történjen az élek felismerése."
[compress.error]
failed = "Hiba történt a PDF tömörítése közben."
@@ -3826,9 +3882,9 @@ _value = "Tömörítési beállítások"
1 = "1-3 PDF tömörítés, 4-6 enyhe kép tömörítés, 7-9 intenzív kép tömörítés Jelentősen csökkenti a kép minőségét"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Az alacsonyabb értékek megőrzik a minőséget, de nagyobb fájlméretet eredményeznek"
+range4to6 = "Közepes tömörítés mérsékelt minőségromlással"
+range7to9 = "A magasabb értékek jelentősen csökkentik a fájlméretet, de csökkenthetik a képélességet"
[decrypt]
passwordPrompt = "Ez a fájl jelszóval védett. Kérjük, adja meg a jelszót:"
@@ -4069,7 +4125,7 @@ deleteSelected = "Kijelölt oldalak törlése"
closePdf = "PDF bezárása"
exportAll = "PDF exportálása"
downloadSelected = "Kijelölt fájlok letöltése"
-annotations = "Annotations"
+annotations = "Jegyzetek"
exportSelected = "Kijelölt oldalak exportálása"
saveChanges = "Változtatások mentése"
toggleTheme = "Téma váltása"
@@ -4077,84 +4133,90 @@ language = "Nyelv"
toggleAnnotations = "Jegyzetek láthatóságának váltása"
search = "PDF keresése"
panMode = "Pásztázó mód"
+applyRedactionsFirst = "Előbb alkalmazza a kitakarásokat"
rotateLeft = "Forgatás balra"
rotateRight = "Forgatás jobbra"
toggleSidebar = "Oldalsáv ki/be"
toggleBookmarks = "Könyvjelzők megjelenítése/elrejtése"
print = "PDF nyomtatása"
+draw = "Rajzolás"
+redact = "Kitakarás"
+exitRedaction = "Kilépés a kitakarás módból"
+save = "Mentés"
downloadAll = "Összes letöltése"
saveAll = "Összes mentése"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Balra"
+center = "Középre"
+right = "Jobbra"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "Jegyzetelés"
+desc = "Használjon kiemelést, tollat, szöveget és jegyzeteket. A változások élők maradnak — nincs szükség lapításra."
+highlight = "Kiemelés"
+pen = "Toll"
+text = "Szövegdoboz"
+note = "Jegyzet"
+rectangle = "Téglalap"
+ellipse = "Ellipszis"
+select = "Kijelölés"
+exit = "Kilépés a jegyzetelésből"
+strokeWidth = "Vonalvastagság"
+opacity = "Átlátszóság"
+strokeOpacity = "Körvonal átlátszósága"
+fillOpacity = "Kitöltés átlátszósága"
+fontSize = "Betűméret"
+chooseColor = "Szín kiválasztása"
+color = "Szín"
+strokeColor = "Körvonal színe"
+fillColor = "Kitöltés színe"
+underline = "Aláhúzás"
+strikeout = "Áthúzás"
+squiggly = "Hullámos aláhúzás"
+inkHighlighter = "Szabadkézi kiemelő"
+freehandHighlighter = "Szabadkézi kiemelő"
+square = "Négyzet"
+circle = "Kör"
+polygon = "Sokszög"
+line = "Vonal"
+stamp = "Kép hozzáadása"
+textMarkup = "Szövegkiemelés"
+drawing = "Rajz"
+shapes = "Alakzatok"
+notesStamps = "Jegyzetek és bélyegek"
+settings = "Beállítások"
+borderOn = "Szegély: be"
+borderOff = "Szegély: ki"
+editInk = "Toll szerkesztése"
+editLine = "Vonal szerkesztése"
+editNote = "Jegyzet szerkesztése"
+editText = "Szövegdoboz szerkesztése"
+editTextMarkup = "Szövegkiemelés szerkesztése"
+editSelected = "Jegyzet szerkesztése"
+editSquare = "Négyzet szerkesztése"
+editCircle = "Kör szerkesztése"
+editPolygon = "Sokszög szerkesztése"
+unsupportedType = "Ennek a jegyzettípusnak a szerkesztése nem teljes körűen támogatott."
+textAlignment = "Szöveg igazítása"
+noteIcon = "Jegyzet ikonja"
+imagePreview = "Előnézet"
+contents = "Szöveg"
+backgroundColor = "Háttérszín"
+clearBackground = "Háttér eltávolítása"
+noBackground = "Nincs háttér"
+stampSettings = "Bélyeg beállításai"
+savingCopy = "Letöltés előkészítése..."
+saveFailed = "Nem sikerült a másolat mentése"
+saveReady = "Letöltés kész"
+selectAndMove = "Kijelölés és szerkesztés"
+editSelectDescription = "Kattintson egy meglévő jegyzetre a szín, átlátszóság, szöveg vagy méret szerkesztéséhez."
+editStampHint = "A kép módosításához törölje ezt a bélyeget, és adjon hozzá újat."
+editSwitchToSelect = "Váltson Kijelölés és szerkesztés módra ennek a jegyzetnek a szerkesztéséhez."
+undo = "Visszavonás"
+redo = "Újra"
+applyChanges = "Változtatások alkalmazása"
+saveChanges = "Változtatások mentése"
[search]
title = "PDF keresése"
@@ -4205,20 +4267,20 @@ settings = "Beáll."
adminSettings = "Admin beáll."
allTools = "All Tools"
reader = "Olvasó"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Bemutatók"
+showMeAround = "Vezessen körbe"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Itt nézhet bemutatókat: Eszköztúra, új V2 elrendezés túra és Admin túra."
+user = "Itt nézhet bemutatókat: Eszköztúra és az új V2 elrendezés túra."
[quickAccess.helpMenu]
toolsTour = "Eszköztúra"
toolsTourDesc = "Ismerje meg, mire képesek az eszközök"
adminTour = "Admin túra"
adminTourDesc = "Fedezze fel az admin beállításokat és funkciókat"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Nézze meg, mi új a V2-ben"
+whatsNewTourDesc = "A frissített elrendezés bejárása"
[admin]
error = "Hiba"
@@ -4237,6 +4299,8 @@ fetchError = "A beállítások betöltése sikertelen"
saveError = "A beállítások mentése sikertelen"
saved = "A beállítások sikeresen mentve"
saveSuccess = "A beállítások sikeresen mentve"
+success = "A beállítások sikeresen mentve"
+error = "Nem sikerült menteni a beállításokat"
save = "Változtatások mentése"
discard = "Elvetés"
restartRequired = "Újraindítás szükséges"
@@ -4360,6 +4424,13 @@ description = "A WeasyPrint futtatható állomány elérési útja HTML–PDF á
label = "Unoconvert futtatható állomány"
description = "Elérési út a LibreOffice unoconverthez dokumentumkonverziókhoz (hagyja üresen az alapértelmezettért: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "Frontend URL"
+description = "A frontend alap URL-je (pl. https://pdf.example.com). E-mail meghívó linkekhez és mobil QR-kódos feltöltésekhez használjuk. Hagyja üresen a backend URL használatához."
+
+[admin.settings.badge]
+clickToUpgrade = "Kattintson a csomag részleteihez"
+
[admin.settings.security]
title = "Biztonság"
description = "Hitelesítés, bejelentkezési viselkedés és biztonsági házirendek beállítása."
@@ -4496,6 +4567,19 @@ connect = "Csatlakozás"
disconnect = "Leválasztás"
disconnected = "A szolgáltató sikeresen leválasztva"
disconnectError = "A szolgáltató leválasztása nem sikerült"
+mobileScannerConvertToPdf = "Képek átalakítása PDF-be"
+mobileScannerConvertToPdfDesc = "A feltöltött képek automatikus PDF-formátumba konvertálása. Kikapcsolva a képek változatlanok maradnak."
+mobileScannerImageResolution = "Képfelbontás"
+mobileScannerImageResolutionDesc = "A feltöltött képek felbontása. A „Csökkentett” legfeljebb 1200 px-re méretezi a képeket a fájlméret csökkentése érdekében."
+imageResolutionFull = "Teljes (eredeti méret)"
+imageResolutionReduced = "Csökkentett (max. 1200 px)"
+mobileScannerPageFormat = "Oldalformátum"
+mobileScannerPageFormatDesc = "A konvertált képek PDF-oldalmérete. A „Megtartás” az eredeti képméreteket használja."
+pageFormatKeep = "Megtartás (eredeti méretek)"
+pageFormatA4 = "A4 (210×297 mm)"
+pageFormatLetter = "Letter (8,5×11 hüvelyk)"
+mobileScannerStretchToFit = "Kitöltésre nyújtás"
+mobileScannerStretchToFitDesc = "A képek nyújtása az egész oldal kitöltéséhez. Kikapcsolva a képek középre igazítva, megtartott képaránnyal jelennek meg."
[admin.settings.connections.ssoAutoLogin]
label = "SSO automatikus bejelentkezés"
@@ -4564,6 +4648,122 @@ description = "Felhasználói fiókok automatikus létrehozása az első SAML2 b
label = "Regisztráció letiltása"
description = "Új felhasználói regisztráció megakadályozása SAML2-n keresztül"
+[admin.settings.connections.mobileScanner]
+label = "Mobiltelefonos feltöltés"
+enable = "QR-kódos feltöltés engedélyezése"
+description = "Engedélyezze, hogy a felhasználók QR-kód beolvasásával mobil eszközről töltsenek fel fájlokat"
+note = "Megjegyzés: A Frontend URL beállítása szükséges. "
+link = "Beállítás a rendszerbeállításokban"
+mobileScannerConvertToPdf = "Képek átalakítása PDF-be"
+mobileScannerConvertToPdfDesc = "A feltöltött képek automatikus PDF-formátumba konvertálása. Kikapcsolva a képek változatlanok maradnak."
+mobileScannerImageResolution = "Képfelbontás"
+mobileScannerImageResolutionDesc = "A feltöltött képek felbontása. A „Csökkentett” legfeljebb 1200 px-re méretezi a képeket a fájlméret csökkentése érdekében."
+imageResolutionFull = "Teljes (eredeti méret)"
+imageResolutionReduced = "Csökkentett (max. 1200 px)"
+mobileScannerPageFormat = "Oldalformátum"
+mobileScannerPageFormatDesc = "A konvertált képek PDF-oldalmérete. A „Megtartás” az eredeti képméreteket használja."
+pageFormatKeep = "Megtartás (eredeti méretek)"
+pageFormatA4 = "A4 (210×297 mm)"
+pageFormatLetter = "Letter (8,5×11 hüvelyk)"
+mobileScannerStretchToFit = "Kitöltésre nyújtás"
+mobileScannerStretchToFitDesc = "A képek nyújtása az egész oldal kitöltéséhez. Kikapcsolva a képek középre igazítva, megtartott képaránnyal jelennek meg."
+
+[admin.settings.telegram]
+title = "Telegram bot"
+description = "A Telegram bot csatlakozásának, hozzáférésének és visszajelzési viselkedésének konfigurálása."
+
+[admin.settings.telegram.enabled]
+label = "Telegram bot engedélyezése"
+description = "Lehetővé teszi a felhasználóknak a Stirling PDF használatát a beállított Telegram botján keresztül."
+
+[admin.settings.telegram.botUsername]
+label = "Bot felhasználónév"
+description = "A Telegram bot nyilvános felhasználóneve."
+
+[admin.settings.telegram.botToken]
+label = "Bot token"
+description = "A BotFather által biztosított API token a Telegram bothoz."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Bejövő mappa"
+description = "A pipeline könyvtár alatti mappa, ahová a beérkező Telegram fájlok kerülnek."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Egyedi mappautótag használata"
+description = "A csevegés azonosítójának hozzáfűzése a bejövő fájlmappákhoz, hogy csevegésenként elkülönüljenek a feltöltések."
+
+[admin.settings.telegram.accessControl]
+title = "Hozzáférés-szabályozás"
+description = "Korlátozza, mely felhasználók vagy csatornák léphetnek kapcsolatba a bottal."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Csak megadott felhasználóazonosítók engedélyezése"
+description = "Bekapcsolva csak a listában szereplő felhasználóazonosítók használhatják a botot."
+
+[admin.settings.telegram.allowUserIDs]
+label = "Engedélyezett felhasználóazonosítók"
+description = "Adja meg a Telegram felhasználóazonosítókat, akik használhatják a botot."
+placeholder = "Adjon hozzá azonosítót és nyomja meg az entert"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Csak megadott csatornaazonosítók engedélyezése"
+description = "Bekapcsolva csak a listában szereplő csatornaazonosítók használhatják a botot."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "Engedélyezett csatornaazonosítók"
+description = "Adja meg a Telegram csatornaazonosítókat, amelyek használhatják a botot."
+placeholder = "Adjon hozzá csatornaazonosítót és nyomja meg az entert"
+
+[admin.settings.telegram.processing]
+title = "Feldolgozás"
+description = "A lekérdezési időközök és időkorlátok szabályozása a Telegram feltöltésekhez."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Feldolgozási időkorlát (másodperc)"
+description = "Maximális várakozási idő egy feldolgozási feladatra hiba jelentése előtt."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Lekérdezési időköz (ms)"
+description = "Az új Telegram frissítések ellenőrzései közti időköz."
+
+[admin.settings.telegram.feedback]
+title = "Visszajelzések"
+description = "Válassza ki, mikor küldjön a bot visszajelzést a felhasználóknak és csatornáknak."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Visszajelzések engedélyezése"
+description = "Szabályozza, küld-e a bot egyáltalán visszajelzéseket."
+
+[admin.settings.telegram.feedback.channel]
+title = "Csatorna visszajelzési szabályok"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "„Nincs érvényes dokumentum” megjelenítése (csatorna)"
+description = "A „nincs érvényes dokumentum” válasz elnyomása csatorna feltöltéseknél."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Feldolgozási hibák megjelenítése (csatorna)"
+description = "Feldolgozási hibaüzenetek küldése csatornáknak."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Hibaüzenetek megjelenítése (csatorna)"
+description = "Részletes hibaüzenetek megjelenítése csatornák számára."
+
+[admin.settings.telegram.feedback.user]
+title = "Felhasználói visszajelzési szabályok"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "„Nincs érvényes dokumentum” megjelenítése (felhasználó)"
+description = "A „nincs érvényes dokumentum” válasz elnyomása felhasználói feltöltéseknél."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Feldolgozási hibák megjelenítése (felhasználó)"
+description = "Feldolgozási hibaüzenetek küldése felhasználóknak."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Hibaüzenetek megjelenítése (felhasználó)"
+description = "Részletes hibaüzenetek megjelenítése felhasználók számára."
+
[admin.settings.database]
title = "Adatbázis"
description = "Egyéni adatbázis-kapcsolati beállítások konfigurálása vállalati telepítésekhez."
@@ -4745,6 +4945,10 @@ description = "Az adminok e-mailben hívhatnak meg felhasználókat automatikusa
label = "Frontend URL"
description = "Alap URL a frontendhez (pl. https://pdf.example.com). E-mailekben a meghívó linkek generálásához használatos. Hagyja üresen a backend URL használatához."
+[admin.settings.mail.frontendUrlNote]
+note = "Megjegyzés: A Frontend URL beállítása szükséges. "
+link = "Beállítás a rendszerbeállításokban"
+
[admin.settings.legal]
title = "Jogi dokumentumok"
description = "Hivatkozások beállítása jogi dokumentumokra és szabályzatokra."
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "Saját fájlok"
noRecentFiles = "Nem találhatók legutóbbi fájlok"
googleDriveNotAvailable = "Google Drive integráció nem érhető el"
+mobileUpload = "Mobil feltöltés"
+mobileShort = "Mobil"
+mobileUploadNotAvailable = "A mobil feltöltés nincs engedélyezve"
downloadSelected = "Kiválasztott letöltése"
saveSelected = "Kijelöltek mentése"
openFiles = "Fájlok megnyitása"
@@ -5244,7 +5451,7 @@ loading = "Betöltés..."
back = "Vissza"
continue = "Folytatás"
error = "Hiba"
-save = "Save"
+save = "Mentés"
[config.overview]
title = "Alkalmazás konfigurációja"
@@ -5307,6 +5514,15 @@ impact = "Minden olyan alkalmazás vagy szolgáltatás, amely jelenleg ezeket a
confirmPrompt = "Biztosan folytatja?"
confirmCta = "Kulcsok frissítése"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "API‑kulcs hiba"
+failedToCreateApiKey = "Nem sikerült létrehozni az API‑kulcsot."
+failedToRetrieveApiKey = "Nem sikerült lekérni az API‑kulcsot a válaszból."
+failedToFetchApiKey = "Nem sikerült lekérni az API‑kulcsot."
+apiKeyRefreshed = "API‑kulcs frissítve"
+apiKeyRefreshedBody = "Az API‑kulcsát sikeresen frissítettük."
+failedToRefreshApiKey = "Nem sikerült frissíteni az API‑kulcsot."
+
[AddAttachmentsRequest]
attachments = "Mellékletek kiválasztása"
info = "Válassza ki azokat a fájlokat, amelyeket a PDF-hez szeretne csatolni. Ezek a fájlok beágyazásra kerülnek, és a PDF mellékletpaneljén keresztül lesznek elérhetők."
@@ -5412,14 +5628,14 @@ startTour = "Túra indítása"
startTourDescription = "Vezetett túra a Stirling PDF fő funkcióiról"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Kezdje a Gyors elérés sávval, hogy a Megjelenítő, az Automatizálás, a fájlok és az összes bemutató között váltson."
+leftPanel = "A bal oldali Eszközök panelen minden elérhető funkciót megtalál. Böngésszen kategóriák szerint vagy keressen gyors eszközválasztáshoz."
+fileUpload = "A Fájlok gombbal töltsön fel vagy válasszon egy nemrég megnyitott PDF-et. Betöltünk egy mintát, hogy lássa a munkaterületet."
+rightRail = "A jobb oldali sáv gyors műveleteket tartalmaz a fájlválasztáshoz, a téma vagy nyelv módosításához és az eredmények letöltéséhez."
+topBar = "A felső sávban válthat a Megjelenítő, az Oldalszerkesztő és az Aktív fájlok között."
+pageEditorView = "Váltson az Oldalszerkesztőre az oldalak átrendezéséhez, forgatásához vagy törléséhez."
+activeFilesView = "Az Aktív fájlokban láthat mindent, ami meg van nyitva, és kiválaszthatja, min dolgozik."
+wrapUp = "Ez az, ami újdonság a V2-ben. Nyissa meg bármikor a Bemutatók menüt ennek, az Eszköztúrának vagy az Admin túrának az újra lejátszásához."
[onboarding.welcomeModal]
title = "Üdvözli a Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "Körbevezetés"
skipTheTour = "Körbevezetés kihagyása"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Bemutató áttekintése"
+body = "A Stirling PDF V2 tucatnyi eszközzel és megújult elrendezéssel érkezik. Tegyen egy gyors túrát, hogy lássa, mi változott és hol találja a szükséges funkciókat."
[onboarding.serverLicense]
skip = "Kihagyás most"
@@ -5452,7 +5668,7 @@ upgrade = "Frissítés most →"
freeTitle = "Szerverlicenc"
overLimitTitle = "Szerverlicenc szükséges"
overLimitBody = "Licencelésünk szerverenként legfeljebb {{freeTierLimit}} felhasználót enged ingyen. Önnek {{overLimitUserCopy}} Stirling felhasználója van. A zavartalan használathoz váltson a Stirling Server csomagra – korlátlan hely, PDF szövegszerkesztés és teljes adminisztrátori vezérlés $99/szerver/hó áron."
-freeBody = "A Open-Core licencünk szerverenként legfeljebb {{freeTierLimit}} felhasználót engedélyez ingyenesen. A zökkenőmentes skálázáshoz a Stirling Server csomagot ajánljuk - korlátlan felhasználó és SSO támogatás $99/szerver/hó."
+freeBody = "Az Open-Core licencelésünk szerverenként legfeljebb {{freeTierLimit}} felhasználót enged ingyen. A zavartalan bővüléshez és az új PDF szövegszerkesztő eszköz korai eléréséhez a Stirling Server csomagot ajánljuk – teljes szerkesztés és korlátlan hely $99/szerver/hó áron."
[onboarding.desktopInstall]
title = "Letöltés"
@@ -5758,28 +5974,28 @@ contactSales = "Kapcsolat az értékesítéssel"
contactToUpgrade = "Lépjen kapcsolatba velünk a csomag frissítéséhez vagy testreszabásához"
maxUsers = "Max. felhasználók"
upTo = "Legfeljebb"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Szerverlicenc beszerzése"
+upgradeToEnterprise = "Frissítés Enterprise-ra"
+selectPeriod = "Számlázási időszak kiválasztása"
+monthlyBilling = "Havi számlázás"
+yearlyBilling = "Éves számlázás"
+checkoutOpened = "Pénztár megnyitva"
+checkoutInstructions = "Fejezze be a vásárlást a Stripe fülön. A fizetés után térjen vissza ide, és frissítse az oldalt a licenc aktiválásához. E-mailben is megkapja a licenckulcsot."
+activateLicense = "Licenc aktiválása"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Pénztár új lapon megnyitva"
+instructions = "Fejezze be a vásárlást a Stripe fülön. A fizetés befejezése után e-mailben megkapja a licenckulcsot."
+enterKey = "Adja meg lent a licenckulcsot a csomag aktiválásához:"
+keyDescription = "Illessze be az e-mailben kapott licenckulcsot"
+activate = "Licenc aktiválása"
+doLater = "Majd később"
+success = "A licenc aktiválva!"
+successMessage = "A licenc sikeresen aktiválva. Most bezárhatja ezt az ablakot."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "E-mail ellenőrzés szükséges"
+message = "A Stripe számlázási portálon ellenőriznie kell az e-mail-címét. Ellenőrizze az e-mailjeit a bejelentkezési linkért."
[plan.period]
month = "hónap"
@@ -5983,8 +6199,8 @@ notAvailable = "Audit rendszer nem érhető el"
notAvailableMessage = "Az audit rendszer nincs konfigurálva vagy nem elérhető."
disabled = "Az audit naplózás le van tiltva"
disabledMessage = "Engedélyezze az audit naplózást az alkalmazás konfigurációjában a rendszeresemények követéséhez."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Vállalati licenc szükséges"
+enterpriseRequiredMessage = "A naplózási rendszer vállalati funkció. Kérjük, váltson vállalati licencre a naplók és analitikák eléréséhez."
[audit.error]
title = "Hiba az audit rendszer betöltésekor"
@@ -6156,6 +6372,7 @@ description = "Adja meg az önhostolt Stirling PDF szerver teljes URL-jét"
[setup.server.error]
emptyUrl = "Adjon meg egy szerver URL-t"
+invalidUrl = "Érvénytelen URL-formátum. Adjon meg egy érvényes URL-t, például https://your-server.com"
unreachable = "Nem sikerült kapcsolódni a szerverhez"
testFailed = "A kapcsolat tesztje sikertelen"
configFetch = "Nem sikerült letölteni a szerver konfigurációját. Ellenőrizze az URL-t, és próbálja meg újra."
@@ -6174,6 +6391,7 @@ connectingTo = "Kapcsolódás ehhez:"
submit = "Bejelentkezés"
signInWith = "Bejelentkezés ezzel"
oauthPending = "Böngésző megnyitása hitelesítéshez..."
+sso = "Egyszeri bejelentkezés"
orContinueWith = "Vagy folytassa e-maillel"
serverRequirement = "Megjegyzés: A szerveren engedélyezni kell a bejelentkezést."
showInstructions = "Hogyan engedélyezhető?"
@@ -6239,8 +6457,8 @@ reset = "Módosítások visszaállítása"
downloadJson = "JSON letöltése"
generatePdf = "PDF generálása"
saveChanges = "Változtatások mentése"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Változtatások alkalmazása"
+downloadCopy = "Másolat letöltése"
[pdfTextEditor.options.autoScaleText]
title = "Szöveg automatikus méretezése a dobozokhoz"
@@ -6260,22 +6478,22 @@ title = "Szerkesztett szöveg rögzítése egyetlen PDF-elemhez"
description = "Bekapcsolva a szerkesztő minden szerkesztett szövegdobozt egy PDF szövegelemként exportál, elkerülve az átfedő glifákat vagy kevert betűtípusokat."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Speciális beállítások"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Előnézeti korlátozások"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Szöveg és képek fókusza"
+text = "Ez a munkaterület a szöveg szerkesztésére és a beágyazott képek áthelyezésére fókuszál. Az összetett oldalgrafika, űrlapelemek és rétegelt grafikák exportáláskor megmaradnak, de itt nem minden szerkeszthető teljes körűen."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Előnézet eltérései"
+text = "Egyes vizuális elemek (például táblaszegélyek, alakzatok vagy jegyzetek megjelenése) nem biztos, hogy pontosan jelennek meg az előnézetben. Az exportált PDF lehetőség szerint megőrzi az eredeti rajzolási utasításokat."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Alfa megjelenítő"
+text = "Ez az alfa megjelenítő még fejlődik — bizonyos betűtípusok, színek, áttetszőségi hatások és elrendezési részletek kissé eltérhetnek. Kérjük, megosztás előtt ellenőrizze a létrehozott PDF-et."
[pdfTextEditor.manual]
mergeTooltip = "Kijelölt dobozok egyesítése"
@@ -6398,3 +6616,58 @@ title = "Szöveg hozzáadásának eredménye"
[addText.error]
failed = "Hiba történt szöveg hozzáadásakor a PDF-hez."
+
+[mobileUpload]
+title = "Feltöltés mobilról"
+description = "Szkenneljen a fotók feltöltéséhez. A képek automatikusan PDF-be konvertálódnak."
+descriptionNoConvert = "Szkenneljen a fotók feltöltéséhez a mobileszközéről."
+error = "Kapcsolódási hiba"
+pollingError = "Hiba a fájlok ellenőrzésekor"
+sessionId = "Munkamenet-azonosító"
+sessionCreateError = "Nem sikerült létrehozni a munkamenetet"
+expiryWarning = "A munkamenet hamarosan lejár"
+expiryWarningMessage = "Ez a QR-kód {{seconds}} másodperc múlva lejár. Új kód automatikusan generálódik."
+filesReceived = "{{count}} fájl érkezett"
+connected = "Mobil eszköz csatlakoztatva"
+instructions = "Olvassa be a telefon kamerájával. A képek automatikusan PDF-be konvertálódnak."
+instructionsNoConvert = "Olvassa be a telefon kamerájával a fájlok feltöltéséhez."
+
+[mobileScanner]
+title = "Mobil szkenner"
+noSession = "Érvénytelen munkamenet"
+noSessionMessage = "Kérjük, érvényes QR-kód beolvasásával érje el ezt az oldalt."
+validating = "Munkamenet ellenőrzése..."
+sessionInvalid = "Munkamenet hiba"
+sessionExpired = "A munkamenet lejárt. Frissítsen, és próbálja újra."
+sessionNotFound = "A munkamenet nem található. Frissítsen, és próbálja újra."
+sessionValidationError = "Nem sikerült ellenőrizni a munkamenetet. Próbálja újra."
+uploadSuccess = "Sikeres feltöltés!"
+uploadSuccessMessage = "A képei átkerültek."
+httpsRequired = "A kameraeléréshez HTTPS vagy localhost szükséges. Használjon HTTPS-t, vagy érje el localhoston keresztül."
+uploadFailed = "A feltöltés nem sikerült. Próbálja újra."
+uploading = "Feltöltés..."
+connected = "Csatlakoztatva"
+connecting = "Csatlakozás..."
+chooseMethod = "Feltöltési mód választása"
+chooseMethodDescription = "Válassza ki, hogyan kíván dokumentumokat szkennelni és feltölteni"
+camera = "Kamera"
+cameraDescription = "Dokumentumok szkennelése az eszköz kamerájával, automatikus szegélyfelismeréssel"
+fileUpload = "Fájlfeltöltés"
+fileDescription = "Létező fotók vagy dokumentumok feltöltése az eszközről"
+cameraAccessDenied = "Kamera-hozzáférés megtagadva. Engedélyezze a kamerához való hozzáférést."
+back = "Vissza"
+settings = "Beállítások"
+edgeDetection = "Szegélyfelismerés"
+flashlight = "Zseblámpa"
+flash = "Vaku"
+processing = "Feldolgozás..."
+capture = "Fénykép készítése"
+selectFilesPrompt = "Válassza ki a feltöltendő fájlokat"
+selectImage = "Kép kiválasztása"
+preview = "Előnézet"
+retake = "Újrafotózás"
+addToBatch = "Hozzáadás a köteghez"
+upload = "Feltöltés"
+batchImages = "Köteg"
+clearBatch = "Törlés"
+uploadAll = "Összes feltöltése"
diff --git a/frontend/public/locales/id-ID/translation.toml b/frontend/public/locales/id-ID/translation.toml
index 8e7bf7b50..530101c01 100644
--- a/frontend/public/locales/id-ID/translation.toml
+++ b/frontend/public/locales/id-ID/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "Anda memiliki perubahan yang belum disimpan pada PDF Anda."
+pendingRedactionsTitle = "Redaksi Belum Diterapkan"
+pendingRedactions = "Anda memiliki redaksi yang belum diterapkan yang akan hilang."
areYouSure = "Apakah Anda yakin ingin keluar?"
unsavedChangesTitle = "Perubahan Belum Disimpan"
keepWorking = "Lanjutkan"
discardChanges = "Buang & Keluar"
+discardRedactions = "Buang & Keluar"
applyAndContinue = "Simpan & Keluar"
exportAndContinue = "Ekspor & Lanjutkan"
cancel = "Batal"
@@ -195,7 +198,7 @@ title = "Pengaturan Dibuka"
message = "Silakan pilih Stirling PDF di pengaturan sistem Anda"
[defaultApp.error]
-title = "Kesalahan"
+title = "Error"
message = "Gagal menyetel penangan PDF default"
[language]
@@ -357,13 +360,14 @@ title = "Konfigurasi"
systemSettings = "Pengaturan Sistem"
features = "Fitur"
endpoints = "Endpoint"
-database = "Basis Data"
+database = "Database"
advanced = "Lanjutan"
[settings.securityAuth]
title = "Keamanan & Autentikasi"
security = "Keamanan"
connections = "Koneksi"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Lisensi & Analitik"
@@ -392,7 +396,7 @@ logout = "Keluar"
[settings.connection.mode]
saas = "Stirling Cloud"
-selfhosted = "Dihost Sendiri"
+selfhosted = "Self-Hosted"
[settings.general]
title = "Umum"
@@ -438,25 +442,34 @@ currentVersion = "Versi Saat Ini"
latestVersion = "Versi Terbaru"
checkForUpdates = "Periksa Pembaruan"
viewDetails = "Lihat Detail"
+serverNeedsUpdate = "Server perlu diperbarui oleh administrator"
+
+[settings.general.versionInfo]
+title = "Informasi Versi"
+description = "Detail versi Desktop dan Server"
+desktop = "Versi Desktop"
+server = "Versi Server"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Keamanan"
+description = "Perbarui kata sandi Anda untuk menjaga keamanan akun."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Ubah kata sandi Anda. Anda akan keluar setelah memperbarui."
+required = "Semua bidang wajib diisi."
+mismatch = "Kata sandi baru tidak cocok."
+error = "Tidak dapat memperbarui kata sandi. Harap verifikasi kata sandi saat ini dan coba lagi."
+success = "Kata sandi berhasil diperbarui. Silakan masuk kembali."
+ssoDisabled = "Perubahan kata sandi dikelola oleh penyedia identitas Anda."
+current = "Kata sandi saat ini"
+currentPlaceholder = "Masukkan kata sandi saat ini"
+new = "Kata sandi baru"
+newPlaceholder = "Masukkan kata sandi baru"
+confirm = "Konfirmasi kata sandi baru"
+confirmPlaceholder = "Masukkan ulang kata sandi baru"
+update = "Perbarui kata sandi"
+
+
[settings.hotkeys]
title = "Pintasan Keyboard"
@@ -511,16 +524,16 @@ low = "Rendah"
title = "Ubah Kredensial"
header = "Perbarui Detail Akun Anda"
changePassword = "Anda menggunakan kredensial login default. Silakan masukkan kata sandi baru"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Akun Anda dikelola oleh penyedia identitas Anda."
newUsername = "Nama Pengguna Baru"
oldPassword = "Kata Sandi Saat Ini"
newPassword = "Kata Sandi Baru"
confirmNewPassword = "Konfirmasi Kata Sandi Baru"
submit = "Kirim Perubahan"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Akun diperbarui"
+description = "Perubahan disimpan. Silakan masuk kembali."
+error = "Tidak dapat memperbarui nama pengguna. Harap verifikasi kata sandi Anda dan coba lagi."
+changeUsername = "Perbarui nama pengguna Anda. Anda akan keluar setelah memperbarui."
[account]
title = "Pengaturan Akun"
@@ -528,6 +541,8 @@ accountSettings = "Pengaturan Akun"
adminSettings = "Pengaturan Admin - Melihat dan Menambahkan Pengguna"
userControlSettings = "Pengaturan Kontrol Pengguna"
changeUsername = "Ubah Nama Pengguna"
+changeUsernameDescription = "Perbarui nama pengguna Anda. Anda akan keluar setelah memperbarui."
+newUsernamePlaceholder = "Masukkan nama pengguna baru"
newUsername = "Nama pengguna baru"
password = "Konfirmasi Kata sandi"
oldPassword = "Kata sandi lama"
@@ -577,8 +592,8 @@ usage = "Lihat Penggunaan"
[endpointStatistics]
title = "Statistik Endpoint"
header = "Statistik Endpoint"
-top10 = "10 Teratas"
-top20 = "20 Teratas"
+top10 = "Top 10"
+top20 = "Top 20"
all = "Semua"
refresh = "Muat Ulang"
dataTypeLabel = "Tipe Data:"
@@ -737,9 +752,9 @@ title = "Tanda Tangan"
desc = "Menambahkan tanda tangan ke PDF dengan gambar, teks, atau gambar"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "anotasi,sorot,gambar"
+title = "Anotasi"
+desc = "Sorot, gambar, tambahkan catatan dan bentuk di penampil"
[home.flatten]
tags = "sederhanakan,hapus,interaktif"
@@ -952,7 +967,7 @@ title = "Tumpuk PDF"
[home.pdfTextEditor]
title = "Editor Teks PDF"
-desc = "Edit teks dan gambar yang ada di dalam PDF"
+desc = "Tinjau dan edit ekspor Stirling PDF JSON dengan pengeditan teks terkelompok dan pembuatan ulang PDF"
[home.addText]
tags = "teks,anotasi,label"
@@ -963,6 +978,7 @@ desc = "Tambahkan teks kustom di mana saja di PDF Anda"
addFiles = "Tambahkan File"
uploadFromComputer = "Unggah dari komputer"
openFromComputer = "Buka dari komputer"
+mobileUpload = "Unggah dari Ponsel"
[viewPdf]
tags = "melihat,membaca,membuat anotasi,teks,gambar"
@@ -1214,7 +1230,7 @@ selectFilesPlaceholder = "Pilih file di tampilan utama untuk memulai"
settings = "Pengaturan"
conversionCompleted = "Konversi selesai"
results = "Hasil"
-defaultFilename = "file_terkonversi"
+defaultFilename = "converted_file"
conversionResults = "Hasil Konversi"
convertFrom = "Konversi dari"
convertTo = "Konversi ke"
@@ -1278,21 +1294,33 @@ cbzOptions = "Opsi CBZ ke PDF"
optimizeForEbook = "Optimalkan PDF untuk pembaca ebook (menggunakan Ghostscript)"
cbzOutputOptions = "Opsi PDF ke CBZ"
cbzDpi = "DPI untuk perenderan gambar"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "Opsi CBR"
+cbrOutputOptions = "Opsi PDF ke CBR"
+cbrDpi = "DPI untuk perenderan gambar"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "Opsi eBook ke PDF"
+ebookOptionsDesc = "Opsi untuk mengonversi eBook ke PDF"
+embedAllFonts = "Sematkan semua font"
+embedAllFontsDesc = "Sematkan semua font dari eBook ke PDF yang dihasilkan"
+includeTableOfContents = "Sertakan daftar isi"
+includeTableOfContentsDesc = "Tambahkan daftar isi yang dihasilkan ke PDF hasil"
+includePageNumbers = "Sertakan nomor halaman"
+includePageNumbersDesc = "Tambahkan nomor halaman ke PDF yang dihasilkan"
+optimizeForEbookPdf = "Optimalkan untuk pembaca eBook"
+optimizeForEbookPdfDesc = "Optimalkan PDF untuk membaca eBook (ukuran file lebih kecil, perenderan lebih baik pada perangkat eInk)"
+
+[convert.epubOptions]
+epubOptions = "Opsi PDF ke eBook"
+epubOptionsDesc = "Opsi untuk mengonversi PDF ke EPUB/AZW3"
+detectChapters = "Deteksi bab"
+detectChaptersDesc = "Deteksi judul yang tampak seperti bab dan sisipkan jeda halaman EPUB"
+targetDevice = "Perangkat target"
+targetDeviceDesc = "Pilih profil keluaran yang dioptimalkan untuk perangkat pembaca"
+outputFormat = "Format keluaran"
+outputFormatDesc = "Pilih format keluaran untuk eBook"
+tabletPhone = "Tablet/Ponsel (dengan gambar)"
+kindleEink = "Kindle e-Ink (teks dioptimalkan)"
[imageToPdf]
tags = "konversi,img,jpg,gambar,foto"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "Tambahkan Lampiran"
remove = "Hapus Lampiran"
embed = "Sematkan Lampiran"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Konversi ke PDF/A-3b"
+convertToPdfA3bDescription = "Membuat PDF arsip dengan lampiran tersemat"
+convertToPdfA3bTooltip = "PDF/A-3b adalah format arsip yang memastikan pelestarian jangka panjang. Format ini memungkinkan penyematan format file apa pun sebagai lampiran. Konversi memerlukan Ghostscript dan mungkin memakan waktu lebih lama untuk file besar."
+convertToPdfA3bTooltipHeader = "Tentang Konversi PDF/A-3b"
+convertToPdfA3bTooltipTitle = "Apa fungsinya"
submit = "Add attachments"
[watermark]
@@ -1421,7 +1449,7 @@ title = "Tambahkan Watermark"
desc = "Tambahkan tanda air teks atau gambar ke file PDF"
completed = "Tanda air ditambahkan"
submit = "Tambahkan Watermark"
-filenamePrefix = "bertanda_air"
+filenamePrefix = "watermarked"
[watermark.error]
failed = "Terjadi kesalahan saat menambahkan tanda air ke PDF."
@@ -2359,10 +2387,10 @@ saved = "Tersimpan"
label = "Unggah gambar tanda tangan"
placeholder = "Pilih berkas gambar"
hint = "Unggah gambar PNG atau JPG dari tanda tangan Anda"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Hapus latar belakang putih (buat transparan)"
+processing = "Memproses gambar..."
+backgroundRemovalFailedTitle = "Penghapusan latar belakang gagal"
+backgroundRemovalFailedMessage = "Tidak dapat menghapus latar belakang dari gambar. Menggunakan gambar asli sebagai gantinya."
[sign.instructions]
title = "Cara menambahkan tanda tangan"
@@ -2409,9 +2437,9 @@ label = "Ratakan hanya formulir"
desc = "Hanya meratakan bidang formulir, membiarkan elemen interaktif lainnya tetap utuh"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "DPI Perenderan (opsional, disarankan 150 DPI)"
+help = "Biarkan kosong untuk menggunakan bawaan sistem. DPI lebih tinggi mempertajam keluaran tetapi meningkatkan waktu pemrosesan dan ukuran file."
+placeholder = "mis. 150"
[flatten.results]
title = "Hasil Perataan"
@@ -2779,7 +2807,7 @@ header = "Hapus sertifikat digital dari PDF"
selectPDF = "Pilih file PDF:"
submit = "Hapus Tanda Tangan"
description = "Alat ini akan menghapus tanda tangan sertifikat digital dari dokumen PDF Anda."
-filenamePrefix = "tanpa_tanda_tangan"
+filenamePrefix = "unsigned"
[removeCertSign.files]
placeholder = "Pilih file PDF di tampilan utama untuk memulai"
@@ -2987,7 +3015,7 @@ header = "Pangkas PDF"
submit = "Kirim"
noFileSelected = "Pilih file PDF untuk mulai memotong"
reset = "Atur ulang ke PDF penuh"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Pangkas otomatis ruang kosong"
[crop.preview]
title = "Pilihan Area Pangkas"
@@ -3218,6 +3246,7 @@ title = "Metode Penyensoran"
mode = "Mode"
automatic = "Otomatis"
automaticDesc = "Sensor teks berdasarkan istilah pencarian"
+automaticDisabledTooltip = "Pilih file di pengelola file untuk meredaksi beberapa file sekaligus"
manual = "Manual"
manualDesc = "Klik dan seret untuk menyensor area tertentu"
manualComingSoon = "Penyensoran manual segera hadir"
@@ -3288,8 +3317,35 @@ text = "Hanya cocokkan kata lengkap, bukan kecocokan parsial. 'John' tidak cocok
title = "Konversi ke PDF-Image"
text = "Mengonversi PDF menjadi PDF berbasis gambar setelah penyensoran. Ini memastikan teks di belakang kotak sensor benar-benar dihapus dan tidak dapat dipulihkan."
+[redact.tooltip.manual.header]
+title = "Kontrol Redaksi Manual"
+
+[redact.tooltip.manual.markText]
+title = "Alat Tandai Teks"
+text = "Pilih teks langsung pada PDF untuk menandainya untuk redaksi. Klik dan seret untuk menyorot teks tertentu yang ingin Anda redaksi."
+
+[redact.tooltip.manual.markArea]
+title = "Alat Tandai Area"
+text = "Gambar area persegi panjang pada PDF untuk menandai wilayah untuk redaksi. Berguna untuk meredaksi gambar, tanda tangan, atau bentuk tidak beraturan."
+
+[redact.tooltip.manual.apply]
+title = "Terapkan Redaksi"
+text = "Setelah menandai konten, klik 'Terapkan' untuk meredaksi secara permanen semua area yang ditandai. Jumlah tertunda menunjukkan berapa banyak redaksi yang siap diterapkan."
+bullet1 = "Tandai sebanyak mungkin area sebelum menerapkan"
+bullet2 = "Semua redaksi tertunda diterapkan sekaligus"
+bullet3 = "Redaksi tidak dapat dibatalkan setelah diterapkan"
+
[redact.manual]
+title = "Alat Redaksi"
+instructions = "Pilih teks atau gambar area pada PDF untuk menandai konten untuk redaksi."
+markText = "Tandai Teks"
+markArea = "Tandai Area"
+pendingLabel = "Tertunda:"
+applyWarning = "⚠️ Penerapan permanen, tidak dapat dibatalkan dan data di bawahnya akan dihapus"
+apply = "Terapkan"
+noMarks = "Tidak ada tanda redaksi. Gunakan alat di atas untuk menandai konten untuk redaksi."
header = "Penyensoran Manual"
+controlsTitle = "Kontrol Redaksi Manual"
textBasedRedaction = "Penyensoran Berbasis Teks"
pageBasedRedaction = "Penyensoran Berbasis Halaman"
convertPDFToImageLabel = "Konversi PDF ke PDF-Image (Digunakan untuk menghapus teks di belakang kotak)"
@@ -3406,17 +3462,17 @@ label = "Pembagian Vertikal"
placeholder = "Input angka untuk pembagian vertikal"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Mode Pemisahan"
+description = "Pilih cara memisahkan halaman"
+splitAll = "Pisahkan semua halaman"
+splitAllExceptFirst = "Pisahkan semua kecuali pertama"
+splitAllExceptLast = "Pisahkan semua kecuali terakhir"
+splitAllExceptFirstAndLast = "Pisahkan semua kecuali pertama dan terakhir"
+custom = "Halaman kustom"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Nomor Halaman Kustom"
+placeholder = "mis. 2,4,6"
[AddStampRequest]
tags = "Tanda tangan, tambahkan gambar, posisikan gambar di tengah, air tinta, PDF, embedding, customisasi"
@@ -3713,7 +3769,7 @@ title = "PDF Ke Halaman Tunggal"
header = "PDF Ke Halaman Tunggal"
submit = "Konversi ke Halaman Tunggal"
description = "Alat ini akan menggabungkan semua halaman PDF Anda menjadi satu halaman besar. Lebarnya akan tetap sama dengan halaman asli, tetapi tingginya merupakan penjumlahan dari semua tinggi halaman."
-filenamePrefix = "halaman_tunggal"
+filenamePrefix = "single_page"
[pdfToSinglePage.files]
placeholder = "Pilih file PDF di tampilan utama untuk memulai"
@@ -3780,17 +3836,17 @@ filesize = "Ukuran Berkas"
label = "Terapkan Skala Abu-Abu untuk Kompresi"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Lineariskan PDF untuk penayangan web cepat"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Konversi gambar ke line art"
+description = "Menggunakan ImageMagick untuk mengubah halaman menjadi hitam-putih kontras tinggi untuk pengurangan ukuran maksimal."
+unavailable = "ImageMagick tidak terpasang atau tidak diaktifkan pada server ini"
+detailLevel = "Tingkat detail"
+edgeEmphasis = "Penekanan tepi"
+edgeLow = "Lembut"
+edgeMedium = "Seimbang"
+edgeHigh = "Kuat"
[compress.tooltip.header]
title = "Ringkasan Pengaturan Kompresi"
@@ -3811,7 +3867,7 @@ text = "Pilih opsi ini untuk mengonversi semua gambar menjadi hitam putih, yang
[compress.tooltip.lineArt]
title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+text = "Konversi halaman ke hitam-putih kontras tinggi menggunakan ImageMagick. Gunakan tingkat detail untuk mengontrol seberapa banyak konten menjadi hitam, dan penekanan tepi untuk mengontrol seberapa agresif tepi terdeteksi."
[compress.error]
failed = "Terjadi kesalahan saat mengompresi PDF."
@@ -3826,9 +3882,9 @@ _value = "Pengaturan Kompresi"
1 = "1-3 kompresi PDF, 4-6 kompresi gambar ringan, 7-9 kompresi gambar intens akan sangat mengurangi kualitas gambar"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Nilai lebih rendah mempertahankan kualitas tetapi menghasilkan file lebih besar"
+range4to6 = "Kompresi sedang dengan pengurangan kualitas moderat"
+range7to9 = "Nilai lebih tinggi mengurangi ukuran file secara signifikan tetapi dapat mengurangi kejernihan gambar"
[decrypt]
passwordPrompt = "File ini dilindungi kata sandi. Silakan masukkan kata sandi:"
@@ -4069,7 +4125,7 @@ deleteSelected = "Hapus Halaman Terpilih"
closePdf = "Tutup PDF"
exportAll = "Ekspor PDF"
downloadSelected = "Unduh File Terpilih"
-annotations = "Annotations"
+annotations = "Anotasi"
exportSelected = "Ekspor Halaman Terpilih"
saveChanges = "Simpan Perubahan"
toggleTheme = "Alihkan Tema"
@@ -4077,84 +4133,90 @@ language = "Bahasa"
toggleAnnotations = "Alihkan Visibilitas Anotasi"
search = "Cari PDF"
panMode = "Mode Geser"
+applyRedactionsFirst = "Terapkan redaksi terlebih dahulu"
rotateLeft = "Putar Kiri"
rotateRight = "Putar Kanan"
toggleSidebar = "Alihkan Sidebar"
toggleBookmarks = "Tampilkan/Sembunyikan Bookmark"
print = "Cetak PDF"
+draw = "Gambar"
+redact = "Redaksi"
+exitRedaction = "Keluar dari Mode Redaksi"
+save = "Simpan"
downloadAll = "Unduh Semua"
saveAll = "Simpan Semua"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Kiri"
+center = "Tengah"
+right = "Kanan"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "Anotasi"
+desc = "Gunakan sorotan, pena, teks, dan catatan. Perubahan tetap aktif—tidak perlu flattening."
+highlight = "Sorot"
+pen = "Pena"
+text = "Kotak teks"
+note = "Catatan"
+rectangle = "Persegi panjang"
+ellipse = "Elips"
+select = "Pilih"
+exit = "Keluar dari mode anotasi"
+strokeWidth = "Lebar"
+opacity = "Opasitas"
+strokeOpacity = "Opasitas Garis"
+fillOpacity = "Opasitas Isian"
+fontSize = "Ukuran font"
+chooseColor = "Pilih warna"
+color = "Warna"
+strokeColor = "Warna Garis"
+fillColor = "Warna Isian"
+underline = "Garis bawah"
+strikeout = "Coret"
+squiggly = "Berombak"
+inkHighlighter = "Penyorot Bebas"
+freehandHighlighter = "Penyorot Bebas"
+square = "Persegi"
+circle = "Lingkaran"
+polygon = "Poligon"
+line = "Garis"
+stamp = "Tambahkan Gambar"
+textMarkup = "Penandaan Teks"
+drawing = "Gambar"
+shapes = "Bentuk"
+notesStamps = "Catatan & Stempel"
+settings = "Pengaturan"
+borderOn = "Bingkai: Aktif"
+borderOff = "Bingkai: Nonaktif"
+editInk = "Edit Pena"
+editLine = "Edit Garis"
+editNote = "Edit Catatan"
+editText = "Edit Kotak Teks"
+editTextMarkup = "Edit Penandaan Teks"
+editSelected = "Edit Anotasi"
+editSquare = "Edit Persegi"
+editCircle = "Edit Lingkaran"
+editPolygon = "Edit Poligon"
+unsupportedType = "Jenis anotasi ini belum sepenuhnya didukung untuk pengeditan."
+textAlignment = "Perataan Teks"
+noteIcon = "Ikon Catatan"
+imagePreview = "Pratinjau"
+contents = "Teks"
+backgroundColor = "Warna latar"
+clearBackground = "Hapus latar belakang"
+noBackground = "Tanpa latar belakang"
+stampSettings = "Pengaturan Stempel"
+savingCopy = "Menyiapkan unduhan..."
+saveFailed = "Tidak dapat menyimpan salinan"
+saveReady = "Siap diunduh"
+selectAndMove = "Pilih dan Edit"
+editSelectDescription = "Klik anotasi yang ada untuk mengedit warna, opasitas, teks, atau ukurannya."
+editStampHint = "Untuk mengubah gambar, hapus stempel ini dan tambahkan yang baru."
+editSwitchToSelect = "Beralih ke Pilih & Edit untuk mengedit anotasi ini."
+undo = "Urungkan"
+redo = "Ulangi"
+applyChanges = "Terapkan Perubahan"
+saveChanges = "Simpan Perubahan"
[search]
title = "Cari PDF"
@@ -4205,20 +4267,20 @@ settings = "Setelan"
adminSettings = "Setelan Admin"
allTools = "All Tools"
reader = "Pembaca"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Tur"
+showMeAround = "Ajak saya berkeliling"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Tonton panduan di sini: tur Alat, tur tata letak V2 baru, dan tur Admin."
+user = "Tonton panduan di sini: tur Alat dan tur tata letak V2 baru."
[quickAccess.helpMenu]
toolsTour = "Tur Alat"
toolsTourDesc = "Pelajari apa yang bisa dilakukan alat"
adminTour = "Tur Admin"
adminTourDesc = "Jelajahi pengaturan & fitur admin"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Lihat yang baru di V2"
+whatsNewTourDesc = "Jelajahi tata letak yang diperbarui"
[admin]
error = "Kesalahan"
@@ -4237,6 +4299,8 @@ fetchError = "Gagal memuat pengaturan"
saveError = "Gagal menyimpan pengaturan"
saved = "Pengaturan berhasil disimpan"
saveSuccess = "Pengaturan berhasil disimpan"
+success = "Pengaturan berhasil disimpan"
+error = "Gagal menyimpan pengaturan"
save = "Simpan Perubahan"
discard = "Buang"
restartRequired = "Perlu Mulai Ulang"
@@ -4360,6 +4424,13 @@ description = "Path ke eksekutabel WeasyPrint untuk konversi HTML ke PDF (biarka
label = "Eksekutabel Unoconvert"
description = "Path ke LibreOffice unoconvert untuk konversi dokumen (biarkan kosong untuk default: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "Frontend URL"
+description = "URL dasar untuk frontend (mis., https://pdf.example.com). Digunakan untuk tautan undangan email dan unggah Kode QR seluler. Biarkan kosong untuk menggunakan backend URL."
+
+[admin.settings.badge]
+clickToUpgrade = "Klik untuk melihat detail paket"
+
[admin.settings.security]
title = "Keamanan"
description = "Konfigurasikan autentikasi, perilaku login, dan kebijakan keamanan."
@@ -4496,6 +4567,19 @@ connect = "Hubungkan"
disconnect = "Putuskan"
disconnected = "Penyedia berhasil diputuskan"
disconnectError = "Gagal memutuskan penyedia"
+mobileScannerConvertToPdf = "Konversi Gambar ke PDF"
+mobileScannerConvertToPdfDesc = "Secara otomatis mengonversi gambar yang diunggah ke format PDF. Jika dinonaktifkan, gambar akan dibiarkan apa adanya."
+mobileScannerImageResolution = "Resolusi Gambar"
+mobileScannerImageResolutionDesc = "Resolusi gambar yang diunggah. \"Reduced\" menskalakan gambar hingga maksimum 1200px untuk mengurangi ukuran file."
+imageResolutionFull = "Penuh (Ukuran Asli)"
+imageResolutionReduced = "Dikurangi (Maks 1200px)"
+mobileScannerPageFormat = "Format Halaman"
+mobileScannerPageFormatDesc = "Ukuran halaman PDF untuk gambar yang dikonversi. \"Keep\" menggunakan dimensi gambar asli."
+pageFormatKeep = "Keep (Dimensi Asli)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Rentangkan agar Pas"
+mobileScannerStretchToFitDesc = "Rentangkan gambar agar memenuhi seluruh halaman. Jika dinonaktifkan, gambar dipusatkan dengan mempertahankan rasio aspek."
[admin.settings.connections.ssoAutoLogin]
label = "Login Otomatis SSO"
@@ -4564,8 +4648,124 @@ description = "Buat akun pengguna secara otomatis pada login SAML2 pertama"
label = "Blokir Pendaftaran"
description = "Cegah pendaftaran pengguna baru melalui SAML2"
+[admin.settings.connections.mobileScanner]
+label = "Unggah dari Ponsel"
+enable = "Aktifkan Unggah Kode QR"
+description = "Izinkan pengguna mengunggah file dari perangkat seluler dengan memindai Kode QR"
+note = "Catatan: Memerlukan Frontend URL dikonfigurasi. "
+link = "Konfigurasikan di Pengaturan Sistem"
+mobileScannerConvertToPdf = "Konversi Gambar ke PDF"
+mobileScannerConvertToPdfDesc = "Secara otomatis mengonversi gambar yang diunggah ke format PDF. Jika dinonaktifkan, gambar akan dibiarkan apa adanya."
+mobileScannerImageResolution = "Resolusi Gambar"
+mobileScannerImageResolutionDesc = "Resolusi gambar yang diunggah. \"Reduced\" menskalakan gambar hingga maksimum 1200px untuk mengurangi ukuran file."
+imageResolutionFull = "Penuh (Ukuran Asli)"
+imageResolutionReduced = "Dikurangi (Maks 1200px)"
+mobileScannerPageFormat = "Format Halaman"
+mobileScannerPageFormatDesc = "Ukuran halaman PDF untuk gambar yang dikonversi. \"Keep\" menggunakan dimensi gambar asli."
+pageFormatKeep = "Keep (Dimensi Asli)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Rentangkan agar Pas"
+mobileScannerStretchToFitDesc = "Rentangkan gambar agar memenuhi seluruh halaman. Jika dinonaktifkan, gambar dipusatkan dengan mempertahankan rasio aspek."
+
+[admin.settings.telegram]
+title = "Bot Telegram"
+description = "Konfigurasikan konektivitas bot Telegram, kontrol akses, dan perilaku umpan balik."
+
+[admin.settings.telegram.enabled]
+label = "Aktifkan Bot Telegram"
+description = "Izinkan pengguna berinteraksi dengan Stirling PDF melalui bot Telegram yang Anda konfigurasi."
+
+[admin.settings.telegram.botUsername]
+label = "Nama Pengguna Bot"
+description = "Nama pengguna publik bot Telegram Anda."
+
+[admin.settings.telegram.botToken]
+label = "Bot Token"
+description = "Token API yang diberikan oleh BotFather untuk bot Telegram Anda."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Folder Inbox"
+description = "Folder di bawah direktori pipeline tempat file Telegram masuk disimpan."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Gunakan Akhiran Folder Kustom"
+description = "Tambahkan ID obrolan ke folder file masuk untuk memisahkan unggahan per obrolan."
+
+[admin.settings.telegram.accessControl]
+title = "Kontrol Akses"
+description = "Batasi pengguna atau channel mana yang dapat berinteraksi dengan bot."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Izinkan ID Pengguna Tertentu"
+description = "Saat diaktifkan, hanya ID pengguna yang terdaftar yang dapat menggunakan bot."
+
+[admin.settings.telegram.allowUserIDs]
+label = "ID Pengguna yang Diizinkan"
+description = "Masukkan ID pengguna Telegram yang diizinkan berinteraksi dengan bot."
+placeholder = "Tambahkan ID pengguna lalu tekan Enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Izinkan ID Channel Tertentu"
+description = "Saat diaktifkan, hanya ID channel yang terdaftar yang dapat menggunakan bot."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "ID Channel yang Diizinkan"
+description = "Masukkan ID channel Telegram yang diizinkan berinteraksi dengan bot."
+placeholder = "Tambahkan ID channel lalu tekan Enter"
+
+[admin.settings.telegram.processing]
+title = "Pemrosesan"
+description = "Kendalikan interval polling dan batas waktu pemrosesan untuk unggahan Telegram."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Batas Waktu Pemrosesan (detik)"
+description = "Waktu maksimum menunggu pekerjaan pemrosesan sebelum melaporkan kesalahan."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Interval Polling (ms)"
+description = "Interval antara pemeriksaan pembaruan Telegram baru."
+
+[admin.settings.telegram.feedback]
+title = "Pesan Umpan Balik"
+description = "Pilih kapan bot harus mengirim umpan balik ke pengguna dan channel."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Aktifkan Umpan Balik"
+description = "Kendalikan apakah bot mengirim pesan umpan balik sama sekali."
+
+[admin.settings.telegram.feedback.channel]
+title = "Aturan Umpan Balik Channel"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Tampilkan \"Tidak ada dokumen yang valid\" (Channel)"
+description = "Sembunyikan respons tidak ada dokumen yang valid untuk unggahan channel."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Tampilkan kesalahan pemrosesan (Channel)"
+description = "Kirim pesan kesalahan pemrosesan ke channel."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Tampilkan pesan kesalahan (Channel)"
+description = "Tampilkan pesan kesalahan terperinci untuk channel."
+
+[admin.settings.telegram.feedback.user]
+title = "Aturan Umpan Balik Pengguna"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Tampilkan \"Tidak ada dokumen yang valid\" (Pengguna)"
+description = "Sembunyikan respons tidak ada dokumen yang valid untuk unggahan pengguna."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Tampilkan kesalahan pemrosesan (Pengguna)"
+description = "Kirim pesan kesalahan pemrosesan ke pengguna."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Tampilkan pesan kesalahan (Pengguna)"
+description = "Tampilkan pesan kesalahan terperinci untuk pengguna."
+
[admin.settings.database]
-title = "Basis Data"
+title = "Database"
description = "Konfigurasikan pengaturan koneksi database kustom untuk penerapan enterprise."
configuration = "Konfigurasi Database"
@@ -4745,6 +4945,10 @@ description = "Izinkan admin mengundang pengguna via email dengan kata sandi yan
label = "URL Frontend"
description = "URL dasar untuk frontend (mis. https://pdf.example.com). Digunakan untuk membuat tautan undangan di email. Biarkan kosong untuk menggunakan URL backend."
+[admin.settings.mail.frontendUrlNote]
+note = "Catatan: Memerlukan Frontend URL dikonfigurasi. "
+link = "Konfigurasikan di Pengaturan Sistem"
+
[admin.settings.legal]
title = "Dokumen Legal"
description = "Konfigurasikan tautan ke dokumen dan kebijakan legal."
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "File Saya"
noRecentFiles = "Tidak ada file terbaru"
googleDriveNotAvailable = "Integrasi Google Drive tidak tersedia"
+mobileUpload = "Unggah dari Ponsel"
+mobileShort = "Ponsel"
+mobileUploadNotAvailable = "Unggah dari ponsel tidak diaktifkan"
downloadSelected = "Unduh yang Dipilih"
saveSelected = "Simpan Terpilih"
openFiles = "Buka File"
@@ -5243,14 +5450,14 @@ done = "Selesai"
loading = "Memuat..."
back = "Kembali"
continue = "Lanjut"
-error = "Kesalahan"
-save = "Save"
+error = "Error"
+save = "Simpan"
[config.overview]
title = "Konfigurasi Aplikasi"
description = "Pengaturan dan detail konfigurasi aplikasi saat ini."
loading = "Memuat konfigurasi..."
-error = "Kesalahan"
+error = "Error"
warning = "Peringatan Konfigurasi"
[config.overview.sections]
@@ -5307,6 +5514,15 @@ impact = "Aplikasi atau layanan yang saat ini menggunakan kunci ini akan berhent
confirmPrompt = "Apakah Anda yakin ingin melanjutkan?"
confirmCta = "Segarkan Kunci"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "Kesalahan Kunci API"
+failedToCreateApiKey = "Gagal membuat kunci API."
+failedToRetrieveApiKey = "Gagal mengambil kunci API dari respons."
+failedToFetchApiKey = "Gagal mengambil kunci API."
+apiKeyRefreshed = "Kunci API Diperbarui"
+apiKeyRefreshedBody = "Kunci API Anda berhasil diperbarui."
+failedToRefreshApiKey = "Gagal memperbarui kunci API."
+
[AddAttachmentsRequest]
attachments = "Pilih Lampiran"
info = "Pilih file untuk dilampirkan ke PDF Anda. File akan disematkan dan dapat diakses melalui panel lampiran PDF."
@@ -5412,14 +5628,14 @@ startTour = "Mulai Tur"
startTourDescription = "Ikuti tur terpandu tentang fitur utama Stirling PDF"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Mulai dari panel Akses Cepat untuk beralih antara Penampil, Automate, file Anda, dan semua tur."
+leftPanel = "Panel Alat di kiri menampilkan semua yang bisa Anda lakukan. Jelajahi kategori atau cari untuk menemukan alat dengan cepat."
+fileUpload = "Gunakan tombol Files untuk mengunggah atau memilih PDF terbaru. Kami akan memuat sampel agar Anda dapat melihat ruang kerja."
+rightRail = "Panel Kanan berisi tindakan cepat untuk memilih file, mengubah tema atau bahasa, dan mengunduh hasil."
+topBar = "Bilah atas memungkinkan Anda beralih antara Penampil, Editor Halaman, dan File Aktif."
+pageEditorView = "Beralih ke Editor Halaman untuk mengurutkan ulang, memutar, atau menghapus halaman."
+activeFilesView = "Gunakan File Aktif untuk melihat semua yang Anda buka dan memilih yang akan dikerjakan."
+wrapUp = "Itulah yang baru di V2. Buka menu Tur kapan saja untuk memutar ulang ini, tur Alat, atau tur Admin."
[onboarding.welcomeModal]
title = "Selamat datang di Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "Tunjukkan saya"
skipTheTour = "Lewati tur"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Ringkasan Tur"
+body = "Stirling PDF V2 hadir dengan puluhan alat dan tata letak yang diperbarui. Ikuti tur singkat untuk melihat apa yang berubah dan di mana menemukan fitur yang Anda butuhkan."
[onboarding.serverLicense]
skip = "Lewati dulu"
@@ -5452,7 +5668,7 @@ upgrade = "Upgrade sekarang →"
freeTitle = "Lisensi Server"
overLimitTitle = "Perlu Lisensi Server"
overLimitBody = "Lisensi kami mengizinkan hingga {{freeTierLimit}} pengguna gratis per server. Anda memiliki {{overLimitUserCopy}} pengguna Stirling. Untuk terus berjalan tanpa gangguan, upgrade ke paket Stirling Server - kursi tanpa batas, pengeditan teks PDF, dan kontrol admin penuh seharga $99/server/bulan."
-freeBody = "Lisensi Open-Core kami mengizinkan hingga {{freeTierLimit}} pengguna gratis per server. Untuk meningkatkan skala tanpa gangguan, kami merekomendasikan paket Stirling Server - pengguna tanpa batas dan dukungan SSO seharga $99/server/mo."
+freeBody = "Lisensi Open-Core kami mengizinkan hingga {{freeTierLimit}} pengguna gratis per server. Untuk skala tanpa hambatan dan mendapatkan akses awal ke alat pengeditan teks PDF baru kami, kami sarankan paket Stirling Server - pengeditan penuh dan kursi tanpa batas seharga $99/server/bulan."
[onboarding.desktopInstall]
title = "Unduh"
@@ -5733,7 +5949,7 @@ hideComparison = "Sembunyikan Perbandingan Fitur"
featureComparison = "Perbandingan Fitur"
from = "Mulai"
perMonth = "/bulan"
-perSeat = "/pengguna"
+perSeat = "/seat"
withServer = "+ Paket Server"
licensedSeats = "Berlisensi: {{count}} seat"
includedInCurrent = "Termasuk dalam Paket Anda"
@@ -5758,28 +5974,28 @@ contactSales = "Hubungi Penjualan"
contactToUpgrade = "Hubungi kami untuk meningkatkan atau menyesuaikan paket Anda"
maxUsers = "Pengguna Maks"
upTo = "Hingga"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Dapatkan Lisensi Server"
+upgradeToEnterprise = "Tingkatkan ke Enterprise"
+selectPeriod = "Pilih Periode Penagihan"
+monthlyBilling = "Penagihan Bulanan"
+yearlyBilling = "Penagihan Tahunan"
+checkoutOpened = "Checkout Dibuka"
+checkoutInstructions = "Selesaikan pembelian Anda di tab Stripe. Setelah pembayaran, kembali ke sini dan segarkan halaman untuk mengaktifkan lisensi Anda. Anda juga akan menerima email berisi kunci lisensi."
+activateLicense = "Aktifkan Lisensi Anda"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Checkout Dibuka di Tab Baru"
+instructions = "Selesaikan pembelian Anda di tab Stripe. Setelah pembayaran selesai, Anda akan menerima email berisi kunci lisensi."
+enterKey = "Masukkan kunci lisensi Anda di bawah untuk mengaktifkan paket Anda:"
+keyDescription = "Tempel kunci lisensi dari email Anda"
+activate = "Aktifkan Lisensi"
+doLater = "Saya akan lakukan ini nanti"
+success = "Lisensi Diaktifkan!"
+successMessage = "Lisensi Anda berhasil diaktifkan. Anda sekarang dapat menutup jendela ini."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "Verifikasi Email Diperlukan"
+message = "Anda perlu memverifikasi alamat email di portal penagihan Stripe. Periksa email Anda untuk tautan masuk."
[plan.period]
month = "bulan"
@@ -5916,7 +6132,7 @@ modalTitle = "Mulai - {{planName}}"
title = "Pilih Periode Penagihan"
savingsNote = "Hemat {{percent}}% dengan penagihan tahunan"
basePrice = "Harga Dasar"
-seatPrice = "Per Pengguna"
+seatPrice = "Per Seat"
totalForSeats = "Total ({{count}} seat)"
selectMonthly = "Pilih Bulanan"
selectYearly = "Pilih Tahunan"
@@ -5983,8 +6199,8 @@ notAvailable = "Sistem audit tidak tersedia"
notAvailableMessage = "Sistem audit belum dikonfigurasi atau tidak tersedia."
disabled = "Pencatatan audit dinonaktifkan"
disabledMessage = "Aktifkan pencatatan audit di konfigurasi aplikasi Anda untuk melacak peristiwa sistem."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Diperlukan Lisensi Enterprise"
+enterpriseRequiredMessage = "Sistem pencatatan audit adalah fitur enterprise. Harap tingkatkan ke lisensi enterprise untuk mengakses log audit dan analitik."
[audit.error]
title = "Kesalahan saat memuat sistem audit"
@@ -6121,7 +6337,7 @@ label = "Pilih Server"
description = "Server self-hosted"
[setup.step3]
-label = "Masuk"
+label = "Login"
description = "Masukkan kredensial"
[setup.mode.saas]
@@ -6156,6 +6372,7 @@ description = "Masukkan URL lengkap server Stirling PDF self-hosted Anda"
[setup.server.error]
emptyUrl = "Masukkan URL server"
+invalidUrl = "Format URL tidak valid. Harap masukkan URL yang valid seperti https://your-server.com"
unreachable = "Tidak dapat terhubung ke server"
testFailed = "Tes koneksi gagal"
configFetch = "Gagal mengambil konfigurasi server. Periksa URL dan coba lagi."
@@ -6171,9 +6388,10 @@ step3 = "Mulai ulang server"
title = "Masuk"
subtitle = "Masukkan kredensial Anda untuk melanjutkan"
connectingTo = "Menghubungkan ke:"
-submit = "Masuk"
+submit = "Login"
signInWith = "Masuk dengan"
oauthPending = "Membuka browser untuk autentikasi..."
+sso = "Single Sign-On"
orContinueWith = "Atau lanjut dengan email"
serverRequirement = "Catatan: Server harus mengaktifkan login."
showInstructions = "Bagaimana cara mengaktifkannya?"
@@ -6239,8 +6457,8 @@ reset = "Reset Perubahan"
downloadJson = "Unduh JSON"
generatePdf = "Buat PDF"
saveChanges = "Simpan Perubahan"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Terapkan Perubahan"
+downloadCopy = "Unduh Salinan"
[pdfTextEditor.options.autoScaleText]
title = "Sesuaikan teks otomatis ke kotak"
@@ -6260,22 +6478,22 @@ title = "Kunci teks yang diedit ke satu elemen PDF"
description = "Saat diaktifkan, editor mengekspor setiap kotak teks yang diedit sebagai satu elemen teks PDF untuk menghindari glif yang saling tumpang tindih atau font campuran."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Pengaturan Lanjutan"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Batasan Pratinjau"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Fokus Teks dan Gambar"
+text = "Ruang kerja ini berfokus pada pengeditan teks dan memosisikan ulang gambar tersemat. Karya seni halaman yang kompleks, widget formulir, dan grafik berlapis dipertahankan untuk ekspor tetapi tidak sepenuhnya dapat diedit di sini."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Perbedaan Pratinjau"
+text = "Beberapa visual (seperti batas tabel, bentuk, atau tampilan anotasi) mungkin tidak ditampilkan persis dalam pratinjau. PDF yang diekspor mempertahankan perintah gambar asli jika memungkinkan."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Penampil Alpha"
+text = "Penampil alpha ini masih berkembang—beberapa font, warna, efek transparansi, dan detail tata letak mungkin sedikit bergeser. Harap periksa kembali PDF yang dihasilkan sebelum dibagikan."
[pdfTextEditor.manual]
mergeTooltip = "Gabungkan kotak yang dipilih"
@@ -6398,3 +6616,58 @@ title = "Hasil Tambah Teks"
[addText.error]
failed = "Terjadi kesalahan saat menambahkan teks ke PDF."
+
+[mobileUpload]
+title = "Unggah dari Ponsel"
+description = "Pindai untuk mengunggah foto. Gambar otomatis dikonversi ke PDF."
+descriptionNoConvert = "Pindai untuk mengunggah foto dari perangkat seluler Anda."
+error = "Kesalahan Koneksi"
+pollingError = "Kesalahan saat memeriksa file"
+sessionId = "ID Sesi"
+sessionCreateError = "Gagal membuat sesi"
+expiryWarning = "Sesi Akan Segera Berakhir"
+expiryWarningMessage = "Kode QR ini akan kedaluwarsa dalam {{seconds}} detik. Kode baru akan dibuat secara otomatis."
+filesReceived = "Menerima {{count}} file"
+connected = "Perangkat seluler terhubung"
+instructions = "Pindai dengan kamera ponsel Anda. Gambar otomatis dikonversi ke PDF."
+instructionsNoConvert = "Pindai dengan kamera ponsel Anda untuk mengunggah file."
+
+[mobileScanner]
+title = "Pemindai Ponsel"
+noSession = "Sesi Tidak Valid"
+noSessionMessage = "Harap pindai Kode QR yang valid untuk mengakses halaman ini."
+validating = "Memvalidasi sesi..."
+sessionInvalid = "Kesalahan Sesi"
+sessionExpired = "Sesi ini telah kedaluwarsa. Harap segarkan dan coba lagi."
+sessionNotFound = "Sesi tidak ditemukan. Harap segarkan dan coba lagi."
+sessionValidationError = "Tidak dapat memverifikasi sesi. Silakan coba lagi."
+uploadSuccess = "Unggah Berhasil!"
+uploadSuccessMessage = "Gambar Anda telah ditransfer."
+httpsRequired = "Akses kamera memerlukan HTTPS atau localhost. Harap gunakan HTTPS atau akses melalui localhost."
+uploadFailed = "Unggah gagal. Silakan coba lagi."
+uploading = "Mengunggah..."
+connected = "Terhubung"
+connecting = "Menyambungkan..."
+chooseMethod = "Pilih Metode Unggah"
+chooseMethodDescription = "Pilih cara Anda ingin memindai dan mengunggah dokumen"
+camera = "Kamera"
+cameraDescription = "Pindai dokumen menggunakan kamera perangkat Anda dengan deteksi tepi otomatis"
+fileUpload = "Unggah File"
+fileDescription = "Unggah foto atau dokumen yang sudah ada dari perangkat Anda"
+cameraAccessDenied = "Akses kamera ditolak. Harap aktifkan akses kamera."
+back = "Kembali"
+settings = "Pengaturan"
+edgeDetection = "Deteksi Tepi"
+flashlight = "Senter"
+flash = "Flash"
+processing = "Memproses..."
+capture = "Ambil Foto"
+selectFilesPrompt = "Pilih file untuk diunggah"
+selectImage = "Pilih Gambar"
+preview = "Pratinjau"
+retake = "Ambil Ulang"
+addToBatch = "Tambahkan ke Batch"
+upload = "Unggah"
+batchImages = "Batch"
+clearBatch = "Bersihkan"
+uploadAll = "Unggah Semua"
diff --git a/frontend/public/locales/it-IT/translation.toml b/frontend/public/locales/it-IT/translation.toml
index 70f96fbc6..b9f1431df 100644
--- a/frontend/public/locales/it-IT/translation.toml
+++ b/frontend/public/locales/it-IT/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "Hai modifiche non salvate al tuo PDF. Cosa vuoi fare?"
+pendingRedactionsTitle = "Oscuramenti non applicati"
+pendingRedactions = "Hai oscuramenti non applicati che andranno persi."
areYouSure = "Sei sicuro di voler uscire?"
unsavedChangesTitle = "Modifiche non salvate"
keepWorking = "Continua a lavorare"
discardChanges = "Scarta modifiche"
+discardRedactions = "Scarta e esci"
applyAndContinue = "Applica e continua"
exportAndContinue = "Esporta e continua"
cancel = "Annulla"
@@ -364,6 +367,7 @@ advanced = "Avanzate"
title = "Sicurezza e autenticazione"
security = "Sicurezza"
connections = "Connessioni"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Licenze e Analytics"
@@ -438,25 +442,34 @@ currentVersion = "Versione attuale"
latestVersion = "Ultima versione"
checkForUpdates = "Controlla aggiornamenti"
viewDetails = "Vedi dettagli"
+serverNeedsUpdate = "Il server deve essere aggiornato dall'amministratore"
+
+[settings.general.versionInfo]
+title = "Informazioni sulla versione"
+description = "Dettagli versione desktop e server"
+desktop = "Versione Desktop"
+server = "Versione Server"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Sicurezza"
+description = "Aggiorna la password per mantenere sicuro il tuo account."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Cambia la password. Verrai disconnesso dopo l'aggiornamento."
+required = "Tutti i campi sono obbligatori."
+mismatch = "Le nuove password non corrispondono."
+error = "Impossibile aggiornare la password. Verifica la password attuale e riprova."
+success = "Password aggiornata correttamente. Accedi di nuovo."
+ssoDisabled = "Le modifiche alla password sono gestite dal tuo provider di identità."
+current = "Password attuale"
+currentPlaceholder = "Inserisci la tua password attuale"
+new = "Nuova password"
+newPlaceholder = "Inserisci una nuova password"
+confirm = "Conferma nuova password"
+confirmPlaceholder = "Reinserisci la nuova password"
+update = "Aggiorna password"
+
+
[settings.hotkeys]
title = "Scorciatoie da tastiera"
@@ -511,16 +524,16 @@ low = "Bassa"
title = "Cambia credenziali"
header = "Aggiorna i dettagli del tuo account"
changePassword = "Stai utilizzando le credenziali di accesso predefinite. Inserisci una nuova password"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Il tuo account è gestito dal tuo provider di identità."
newUsername = "Nuovo nome utente"
oldPassword = "Password attuale"
newPassword = "Nuova Password"
confirmNewPassword = "Conferma nuova Password"
submit = "Invia modifiche"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Account aggiornato"
+description = "Modifiche salvate. Accedi di nuovo."
+error = "Impossibile aggiornare il nome utente. Verifica la password e riprova."
+changeUsername = "Aggiorna il nome utente. Verrai disconnesso dopo l'aggiornamento."
[account]
title = "Impostazioni Account"
@@ -528,6 +541,8 @@ accountSettings = "Impostazioni Account"
adminSettings = "Impostazioni Admin - Aggiungi e Vedi Utenti"
userControlSettings = "Impostazioni Utente"
changeUsername = "Cambia nome utente"
+changeUsernameDescription = "Aggiorna il nome utente. Verrai disconnesso dopo l'aggiornamento."
+newUsernamePlaceholder = "Inserisci il nuovo nome utente"
newUsername = "Nuovo nome utente"
password = "Conferma Password"
oldPassword = "Vecchia Password"
@@ -737,9 +752,9 @@ title = "Firma"
desc = "Aggiungi una firma al PDF da disegno, testo o immagine."
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "annotare,evidenziare,disegnare"
+title = "Annota"
+desc = "Evidenzia, disegna, aggiungi note e forme nel visualizzatore"
[home.flatten]
tags = "semplifica,rimuovi,interattivo"
@@ -963,6 +978,7 @@ desc = "Aggiungi testo personalizzato ovunque nel tuo PDF"
addFiles = "Aggiungi file"
uploadFromComputer = "Carica dal computer"
openFromComputer = "Apri dal computer"
+mobileUpload = "Carica da dispositivo mobile"
[viewPdf]
tags = "visualizzare,leggere,annotare,testo,immagine"
@@ -1278,21 +1294,33 @@ cbzOptions = "Opzioni CBZ in PDF"
optimizeForEbook = "Ottimizza il PDF per i lettori ebook (usa Ghostscript)"
cbzOutputOptions = "Opzioni PDF in CBZ"
cbzDpi = "DPI per il rendering delle immagini"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "Opzioni CBR"
+cbrOutputOptions = "Opzioni da PDF a CBR"
+cbrDpi = "DPI per il rendering delle immagini"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "Opzioni da eBook a PDF"
+ebookOptionsDesc = "Opzioni per convertire eBook in PDF"
+embedAllFonts = "Incorpora tutti i font"
+embedAllFontsDesc = "Incorpora tutti i font dell'eBook nel PDF generato"
+includeTableOfContents = "Includi indice"
+includeTableOfContentsDesc = "Aggiungi un indice generato al PDF risultante"
+includePageNumbers = "Includi numeri di pagina"
+includePageNumbersDesc = "Aggiungi i numeri di pagina al PDF generato"
+optimizeForEbookPdf = "Ottimizza per lettori eBook"
+optimizeForEbookPdfDesc = "Ottimizza il PDF per la lettura su eBook (dimensione file ridotta, migliore resa su dispositivi e-Ink)"
+
+[convert.epubOptions]
+epubOptions = "Opzioni da PDF a eBook"
+epubOptionsDesc = "Opzioni per convertire PDF in EPUB/AZW3"
+detectChapters = "Rileva capitoli"
+detectChaptersDesc = "Rileva intestazioni simili a capitoli e inserisci interruzioni di pagina EPUB"
+targetDevice = "Dispositivo di destinazione"
+targetDeviceDesc = "Scegli un profilo di output ottimizzato per il dispositivo di lettura"
+outputFormat = "Formato di output"
+outputFormatDesc = "Scegli il formato di output per l'eBook"
+tabletPhone = "Tablet/Telefono (con immagini)"
+kindleEink = "Kindle e-Ink (ottimizzato per testo)"
[imageToPdf]
tags = "conversione,img,jpg,immagine,foto"
@@ -1409,11 +1437,11 @@ header = "Aggiungi allegati"
add = "Aggiungi allegato"
remove = "Rimuovi allegato"
embed = "Incorpora allegato"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Converti in PDF/A-3b"
+convertToPdfA3bDescription = "Crea un PDF per archiviazione con allegati incorporati"
+convertToPdfA3bTooltip = "PDF/A-3b è un formato di archiviazione che garantisce la conservazione a lungo termine. Consente di incorporare formati di file arbitrari come allegati. La conversione richiede Ghostscript e può richiedere più tempo per file di grandi dimensioni."
+convertToPdfA3bTooltipHeader = "Informazioni sulla conversione in PDF/A-3b"
+convertToPdfA3bTooltipTitle = "Cosa fa"
submit = "Aggiungi allegati"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "Salvate"
label = "Carica immagine firma"
placeholder = "Seleziona file immagine"
hint = "Carica un'immagine PNG o JPG della tua firma"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Rimuovi sfondo bianco (rendi trasparente)"
+processing = "Elaborazione immagine..."
+backgroundRemovalFailedTitle = "Rimozione dello sfondo non riuscita"
+backgroundRemovalFailedMessage = "Impossibile rimuovere lo sfondo dall'immagine. Verrà utilizzata l'immagine originale."
[sign.instructions]
title = "Come aggiungere la firma"
@@ -2409,9 +2437,9 @@ label = "Appiattisci solo i moduli"
desc = "Appiattisci solo i campi modulo, lasciando intatti gli altri elementi interattivi"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "DPI di rendering (opzionale, consigliato 150 DPI)"
+help = "Lascia vuoto per usare il valore predefinito di sistema. Un DPI più alto aumenta la nitidezza ma incrementa il tempo di elaborazione e la dimensione del file."
+placeholder = "es. 150"
[flatten.results]
title = "Risultati di appiattimento"
@@ -2987,7 +3015,7 @@ header = "Ritaglia PDF"
submit = "Invia"
noFileSelected = "Seleziona un file PDF per iniziare il ritaglio"
reset = "Reimposta all’intero PDF"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Ritaglio automatico spazi bianchi"
[crop.preview]
title = "Selezione area di ritaglio"
@@ -3218,6 +3246,7 @@ title = "Metodo di redazione"
mode = "Modalità"
automatic = "Automatica"
automaticDesc = "Redigi testo in base ai termini di ricerca"
+automaticDisabledTooltip = "Seleziona i file nel gestore file per oscurare più file contemporaneamente"
manual = "Manuale"
manualDesc = "Clicca e trascina per redigere aree specifiche"
manualComingSoon = "Redazione manuale in arrivo"
@@ -3288,8 +3317,35 @@ text = "Abbina solo parole complete, non corrispondenze parziali. 'Mario' non co
title = "Converti in PDF‑immagine"
text = "Converte il PDF in un PDF basato su immagini dopo la redazione. Garantisce che il testo dietro i riquadri sia completamente rimosso e non recuperabile."
+[redact.tooltip.manual.header]
+title = "Controlli di oscuramento manuale"
+
+[redact.tooltip.manual.markText]
+title = "Strumento Contrassegna testo"
+text = "Seleziona direttamente il testo sul PDF per contrassegnarlo per l'oscuramento. Clicca e trascina per evidenziare il testo specifico che vuoi oscurare."
+
+[redact.tooltip.manual.markArea]
+title = "Strumento Contrassegna area"
+text = "Disegna aree rettangolari sul PDF per contrassegnare regioni da oscurare. Utile per oscurare immagini, firme o forme irregolari."
+
+[redact.tooltip.manual.apply]
+title = "Applica oscuramenti"
+text = "Dopo aver contrassegnato i contenuti, fai clic su 'Applica' per oscurare in modo permanente tutte le aree contrassegnate. Il conteggio in sospeso mostra quante oscuramenti sono pronti per essere applicati."
+bullet1 = "Contrassegna quante aree necessarie prima di applicare"
+bullet2 = "Tutti gli oscuramenti in sospeso vengono applicati in una volta sola"
+bullet3 = "Gli oscuramenti non possono essere annullati dopo l'applicazione"
+
[redact.manual]
+title = "Strumenti di oscuramento"
+instructions = "Seleziona testo o disegna aree sul PDF per contrassegnare contenuti da oscurare."
+markText = "Contrassegna testo"
+markArea = "Contrassegna area"
+pendingLabel = "In sospeso:"
+applyWarning = "⚠️ Applicazione permanente, non può essere annullata e i dati sottostanti verranno eliminati"
+apply = "Applica"
+noMarks = "Nessun contrassegno di oscuramento. Usa gli strumenti sopra per contrassegnare contenuti da oscurare."
header = "Redazione manuale"
+controlsTitle = "Controlli di oscuramento manuale"
textBasedRedaction = "Redazione basata su testo"
pageBasedRedaction = "Redazione per pagina"
convertPDFToImageLabel = "Converti PDF in PDF‑immagine (usato per rimuovere testo dietro il riquadro)"
@@ -3406,17 +3462,17 @@ label = "Divisioni verticali"
placeholder = "Inserire il numero di divisioni verticali"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Modalità di suddivisione"
+description = "Scegli come suddividere le pagine"
+splitAll = "Dividi tutte le pagine"
+splitAllExceptFirst = "Dividi tutte tranne la prima"
+splitAllExceptLast = "Dividi tutte tranne l'ultima"
+splitAllExceptFirstAndLast = "Dividi tutte tranne la prima e l'ultima"
+custom = "Pagine personalizzate"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Numeri di pagina personalizzati"
+placeholder = "es. 2,4,6"
[AddStampRequest]
tags = "Timbro,Aggiungi immagine,Centra immagine,Filigrana,PDF,Incorpora,Personalizza"
@@ -3780,17 +3836,17 @@ filesize = "Dimensione"
label = "Applica scala di grigio per la compressione"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Linearizza PDF per visualizzazione web rapida"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Converti le immagini in disegno al tratto"
+description = "Usa ImageMagick per ridurre le pagine a bianco e nero ad alto contrasto per la massima riduzione delle dimensioni."
+unavailable = "ImageMagick non è installato o abilitato su questo server"
+detailLevel = "Livello di dettaglio"
+edgeEmphasis = "Enfasi dei bordi"
+edgeLow = "Leggera"
+edgeMedium = "Bilanciata"
+edgeHigh = "Forte"
[compress.tooltip.header]
title = "Panoramica impostazioni di compressione"
@@ -3810,8 +3866,8 @@ title = "Scala di grigi"
text = "Seleziona questa opzione per convertire tutte le immagini in bianco e nero, il che può ridurre significativamente la dimensione, specialmente per PDF scansionati o ricchi di immagini."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "Disegno al tratto"
+text = "Converti le pagine in bianco e nero ad alto contrasto usando ImageMagick. Usa il livello di dettaglio per controllare quanto contenuto diventa nero e l'enfasi dei bordi per controllare l'aggressività del rilevamento dei bordi."
[compress.error]
failed = "Si è verificato un errore durante la compressione del PDF."
@@ -3826,9 +3882,9 @@ _value = "Impostazioni di compressione"
1 = "1-3 Compressione PDF, 4-6 Compressione immagine leggera, 7-9 Compressione immagine intensa Ridurrà drasticamente la qualità dell'immagine"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Valori più bassi preservano la qualità ma producono file più grandi"
+range4to6 = "Compressione media con riduzione moderata della qualità"
+range7to9 = "Valori più alti riducono significativamente la dimensione del file ma possono ridurre la chiarezza delle immagini"
[decrypt]
passwordPrompt = "Questo file è protetto da password. Inserisci la password:"
@@ -4069,7 +4125,7 @@ deleteSelected = "Elimina pagine selezionate"
closePdf = "Chiudi PDF"
exportAll = "Esporta PDF"
downloadSelected = "Scarica file selezionati"
-annotations = "Annotations"
+annotations = "Annotazioni"
exportSelected = "Esporta pagine selezionate"
saveChanges = "Salva modifiche"
toggleTheme = "Cambia tema"
@@ -4077,84 +4133,90 @@ language = "Lingua"
toggleAnnotations = "Attiva/disattiva visibilità annotazioni"
search = "Cerca nel PDF"
panMode = "Modalità mano"
+applyRedactionsFirst = "Applica prima gli oscuramenti"
rotateLeft = "Ruota a sinistra"
rotateRight = "Ruota a destra"
toggleSidebar = "Mostra/Nascondi barra laterale"
toggleBookmarks = "Mostra/Nascondi segnalibri"
print = "Stampa PDF"
+draw = "Disegna"
+redact = "Oscura"
+exitRedaction = "Esci dalla modalità di oscuramento"
+save = "Salva"
downloadAll = "Scarica tutto"
saveAll = "Salva tutto"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Sinistra"
+center = "Centro"
+right = "Destra"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "Annota"
+desc = "Usa evidenziatore, penna, testo e note. Le modifiche restano attive—nessun appiattimento richiesto."
+highlight = "Evidenziatore"
+pen = "Penna"
+text = "Casella di testo"
+note = "Nota"
+rectangle = "Rettangolo"
+ellipse = "Ellisse"
+select = "Seleziona"
+exit = "Esci dalla modalità annotazione"
+strokeWidth = "Spessore"
+opacity = "Opacità"
+strokeOpacity = "Opacità tratto"
+fillOpacity = "Opacità riempimento"
+fontSize = "Dimensione carattere"
+chooseColor = "Scegli colore"
+color = "Colore"
+strokeColor = "Colore del tratto"
+fillColor = "Colore di riempimento"
+underline = "Sottolinea"
+strikeout = "Barrato"
+squiggly = "Ondulato"
+inkHighlighter = "Evidenziatore a mano libera"
+freehandHighlighter = "Evidenziatore a mano libera"
+square = "Quadrato"
+circle = "Cerchio"
+polygon = "Poligono"
+line = "Linea"
+stamp = "Aggiungi immagine"
+textMarkup = "Markup del testo"
+drawing = "Disegno"
+shapes = "Forme"
+notesStamps = "Note e timbri"
+settings = "Impostazioni"
+borderOn = "Bordo: attivo"
+borderOff = "Bordo: disattivato"
+editInk = "Modifica penna"
+editLine = "Modifica linea"
+editNote = "Modifica nota"
+editText = "Modifica casella di testo"
+editTextMarkup = "Modifica markup testo"
+editSelected = "Modifica annotazione"
+editSquare = "Modifica quadrato"
+editCircle = "Modifica cerchio"
+editPolygon = "Modifica poligono"
+unsupportedType = "Questo tipo di annotazione non è completamente supportato per la modifica."
+textAlignment = "Allineamento testo"
+noteIcon = "Icona nota"
+imagePreview = "Anteprima"
+contents = "Testo"
+backgroundColor = "Colore di sfondo"
+clearBackground = "Rimuovi sfondo"
+noBackground = "Nessuno sfondo"
+stampSettings = "Impostazioni timbro"
+savingCopy = "Preparazione del download..."
+saveFailed = "Impossibile salvare la copia"
+saveReady = "Download pronto"
+selectAndMove = "Seleziona e modifica"
+editSelectDescription = "Fai clic su un'annotazione esistente per modificarne colore, opacità, testo o dimensione."
+editStampHint = "Per cambiare l'immagine, elimina questo timbro e aggiungine uno nuovo."
+editSwitchToSelect = "Passa a Seleziona e modifica per modificare questa annotazione."
+undo = "Annulla"
+redo = "Ripristina"
+applyChanges = "Applica modifiche"
+saveChanges = "Salva modifiche"
[search]
title = "Cerca nel PDF"
@@ -4205,20 +4267,20 @@ settings = "Opzioni"
adminSettings = "Opzioni Admin"
allTools = "Funzioni"
reader = "Lettore"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Tour"
+showMeAround = "Fammi fare un giro"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Guarda qui le guide: Tour strumenti, Tour del nuovo layout V2 e Tour amministratore."
+user = "Guarda qui le guide: Tour strumenti e Tour del nuovo layout V2."
[quickAccess.helpMenu]
toolsTour = "Tour strumenti"
toolsTourDesc = "Scopri cosa possono fare gli strumenti"
adminTour = "Tour amministratore"
adminTourDesc = "Esplora impostazioni e funzionalità di amministrazione"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Vedi le novità in V2"
+whatsNewTourDesc = "Visita il layout aggiornato"
[admin]
error = "Errore"
@@ -4237,6 +4299,8 @@ fetchError = "Impossibile caricare le impostazioni"
saveError = "Impossibile salvare le impostazioni"
saved = "Impostazioni salvate con successo"
saveSuccess = "Impostazioni salvate con successo"
+success = "Impostazioni salvate correttamente"
+error = "Salvataggio impostazioni non riuscito"
save = "Salva modifiche"
discard = "Scarta"
restartRequired = "Riavvio richiesto"
@@ -4360,6 +4424,13 @@ description = "Percorso dell'eseguibile WeasyPrint per conversione da HTML a PDF
label = "Eseguibile Unoconvert"
description = "Percorso di LibreOffice unoconvert per conversioni di documenti (lascia vuoto per predefinito: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "URL frontend"
+description = "URL di base per il frontend (es., https://pdf.example.com). Usato per link di invito via email e caricamenti tramite QR code da mobile. Lascia vuoto per usare l'URL del backend."
+
+[admin.settings.badge]
+clickToUpgrade = "Fai clic per vedere i dettagli del piano"
+
[admin.settings.security]
title = "Sicurezza"
description = "Configura autenticazione, comportamento di accesso e politiche di sicurezza."
@@ -4496,6 +4567,19 @@ connect = "Connetti"
disconnect = "Disconnetti"
disconnected = "Provider disconnesso con successo"
disconnectError = "Impossibile disconnettere il provider"
+mobileScannerConvertToPdf = "Converti immagini in PDF"
+mobileScannerConvertToPdfDesc = "Converte automaticamente le immagini caricate in formato PDF. Se disabilitato, le immagini verranno mantenute così come sono."
+mobileScannerImageResolution = "Risoluzione immagine"
+mobileScannerImageResolutionDesc = "Risoluzione delle immagini caricate. \"Ridotta\" ridimensiona le immagini a max 1200px per ridurre la dimensione del file."
+imageResolutionFull = "Piena (dimensione originale)"
+imageResolutionReduced = "Ridotta (max 1200px)"
+mobileScannerPageFormat = "Formato pagina"
+mobileScannerPageFormatDesc = "Dimensione pagina PDF per le immagini convertite. \"Mantieni\" usa le dimensioni originali dell'immagine."
+pageFormatKeep = "Mantieni (dimensioni originali)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Adatta alla pagina"
+mobileScannerStretchToFitDesc = "Allunga le immagini per riempire l'intera pagina. Se disabilitato, le immagini sono centrate mantenendo le proporzioni."
[admin.settings.connections.ssoAutoLogin]
label = "Accesso automatico SSO"
@@ -4564,6 +4648,122 @@ description = "Crea automaticamente account utente al primo login SAML2"
label = "Blocca registrazione"
description = "Impedisci la registrazione di nuovi utenti tramite SAML2"
+[admin.settings.connections.mobileScanner]
+label = "Caricamento da cellulare"
+enable = "Abilita caricamento via QR code"
+description = "Consenti agli utenti di caricare file da dispositivi mobili scansionando un QR code"
+note = "Nota: richiede la configurazione dell'URL frontend. "
+link = "Configura nelle Impostazioni di sistema"
+mobileScannerConvertToPdf = "Converti immagini in PDF"
+mobileScannerConvertToPdfDesc = "Converte automaticamente le immagini caricate in formato PDF. Se disabilitato, le immagini verranno mantenute così come sono."
+mobileScannerImageResolution = "Risoluzione immagine"
+mobileScannerImageResolutionDesc = "Risoluzione delle immagini caricate. \"Ridotta\" ridimensiona le immagini a max 1200px per ridurre la dimensione del file."
+imageResolutionFull = "Piena (dimensione originale)"
+imageResolutionReduced = "Ridotta (max 1200px)"
+mobileScannerPageFormat = "Formato pagina"
+mobileScannerPageFormatDesc = "Dimensione pagina PDF per le immagini convertite. \"Mantieni\" usa le dimensioni originali dell'immagine."
+pageFormatKeep = "Mantieni (dimensioni originali)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Adatta alla pagina"
+mobileScannerStretchToFitDesc = "Allunga le immagini per riempire l'intera pagina. Se disabilitato, le immagini sono centrate mantenendo le proporzioni."
+
+[admin.settings.telegram]
+title = "Bot Telegram"
+description = "Configura la connettività del bot Telegram, i controlli di accesso e il comportamento dei messaggi di feedback."
+
+[admin.settings.telegram.enabled]
+label = "Abilita bot Telegram"
+description = "Consenti agli utenti di interagire con Stirling PDF tramite il tuo bot Telegram configurato."
+
+[admin.settings.telegram.botUsername]
+label = "Nome utente bot"
+description = "Il nome utente pubblico del tuo bot Telegram."
+
+[admin.settings.telegram.botToken]
+label = "Bot Token"
+description = "Token API fornito da BotFather per il tuo bot Telegram."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Cartella Inbox"
+description = "Cartella sotto la directory pipeline in cui vengono archiviati i file Telegram in arrivo."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Usa suffisso cartella personalizzato"
+description = "Aggiungi l'ID chat alle cartelle dei file in arrivo per isolare i caricamenti per chat."
+
+[admin.settings.telegram.accessControl]
+title = "Controllo accessi"
+description = "Limita quali utenti o canali possono interagire con il bot."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Consenti ID utente specifici"
+description = "Se abilitato, solo gli ID utente elencati possono usare il bot."
+
+[admin.settings.telegram.allowUserIDs]
+label = "ID utente consentiti"
+description = "Inserisci gli ID utente Telegram autorizzati a interagire con il bot."
+placeholder = "Aggiungi ID utente e premi invio"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Consenti ID canale specifici"
+description = "Se abilitato, solo gli ID canale elencati possono usare il bot."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "ID canale consentiti"
+description = "Inserisci gli ID canale Telegram autorizzati a interagire con il bot."
+placeholder = "Aggiungi ID canale e premi invio"
+
+[admin.settings.telegram.processing]
+title = "Elaborazione"
+description = "Controlla intervalli di polling e timeout di elaborazione per i caricamenti Telegram."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Timeout elaborazione (secondi)"
+description = "Tempo massimo di attesa per un processo prima di segnalare un errore."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Intervallo di polling (ms)"
+description = "Intervallo tra i controlli per nuovi aggiornamenti Telegram."
+
+[admin.settings.telegram.feedback]
+title = "Messaggi di feedback"
+description = "Scegli quando il bot deve inviare feedback a utenti e canali."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Abilita feedback"
+description = "Controlla se il bot invia messaggi di feedback."
+
+[admin.settings.telegram.feedback.channel]
+title = "Regole di feedback per canali"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Mostra \"Nessun documento valido\" (Canali)"
+description = "Sopprimi la risposta \"nessun documento valido\" per i caricamenti nei canali."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Mostra errori di elaborazione (Canali)"
+description = "Invia messaggi di errore di elaborazione ai canali."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Mostra messaggi di errore (Canali)"
+description = "Mostra messaggi di errore dettagliati per i canali."
+
+[admin.settings.telegram.feedback.user]
+title = "Regole di feedback per utenti"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Mostra \"Nessun documento valido\" (Utenti)"
+description = "Sopprimi la risposta \"nessun documento valido\" per i caricamenti degli utenti."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Mostra errori di elaborazione (Utenti)"
+description = "Invia messaggi di errore di elaborazione agli utenti."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Mostra messaggi di errore (Utenti)"
+description = "Mostra messaggi di errore dettagliati per gli utenti."
+
[admin.settings.database]
title = "Database"
description = "Configura impostazioni personalizzate di connessione al database per distribuzioni enterprise."
@@ -4745,6 +4945,10 @@ description = "Consenti agli admin di invitare utenti via email con password gen
label = "URL frontend"
description = "URL di base del frontend (es. https://pdf.example.com). Usato per generare i link di invito nelle email. Lascia vuoto per usare l'URL del backend."
+[admin.settings.mail.frontendUrlNote]
+note = "Nota: richiede la configurazione dell'URL frontend. "
+link = "Configura nelle Impostazioni di sistema"
+
[admin.settings.legal]
title = "Documenti legali"
description = "Configura i link a documenti e policy legali."
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "I miei file"
noRecentFiles = "Nessun file recente trovato"
googleDriveNotAvailable = "Integrazione Google Drive non disponibile"
+mobileUpload = "Caricamento da mobile"
+mobileShort = "Mobile"
+mobileUploadNotAvailable = "Caricamento da mobile non abilitato"
downloadSelected = "Scarica selezionati"
saveSelected = "Salva selezionati"
openFiles = "Apri file"
@@ -5244,7 +5451,7 @@ loading = "Caricamento..."
back = "Indietro"
continue = "Continua"
error = "Errore"
-save = "Save"
+save = "Salva"
[config.overview]
title = "Configurazione applicazione"
@@ -5307,6 +5514,15 @@ impact = "Qualsiasi applicazione o servizio che usa attualmente queste chiavi sm
confirmPrompt = "Sei sicuro di voler continuare?"
confirmCta = "Aggiorna chiavi"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "Errore API Key"
+failedToCreateApiKey = "Creazione della API key non riuscita."
+failedToRetrieveApiKey = "Impossibile recuperare la API key dalla risposta."
+failedToFetchApiKey = "Impossibile recuperare la API key."
+apiKeyRefreshed = "API Key aggiornata"
+apiKeyRefreshedBody = "La tua API key è stata aggiornata correttamente."
+failedToRefreshApiKey = "Aggiornamento della API key non riuscito."
+
[AddAttachmentsRequest]
attachments = "Seleziona allegati"
info = "Seleziona i file da allegare al tuo PDF. Questi file saranno incorporati e accessibili tramite il pannello allegati del PDF."
@@ -5412,14 +5628,14 @@ startTour = "Avvia tour"
startTourDescription = "Fai un tour guidato delle funzioni chiave di Stirling PDF"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Inizia dalla barra Accesso rapido per passare tra Reader, Automate, i tuoi file e tutti i tour."
+leftPanel = "Il pannello Strumenti a sinistra elenca tutto ciò che puoi fare. Sfoglia le categorie o cerca per trovare rapidamente uno strumento."
+fileUpload = "Usa il pulsante File per caricare o scegliere un PDF recente. Caricheremo un esempio per mostrarti l'area di lavoro."
+rightRail = "La barra destra contiene azioni rapide per selezionare i file, cambiare tema o lingua e scaricare i risultati."
+topBar = "La barra superiore consente di passare tra Visualizzatore, Editor pagine e File attivi."
+pageEditorView = "Passa all'Editor pagine per riordinare, ruotare o eliminare pagine."
+activeFilesView = "Usa File attivi per vedere tutto ciò che hai aperto e scegliere su cosa lavorare."
+wrapUp = "Queste sono le novità della V2. Apri il menu Tour in qualsiasi momento per rivedere questo, il Tour strumenti o il Tour amministratore."
[onboarding.welcomeModal]
title = "Benvenuto in Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "Fammi fare un tour"
skipTheTour = "Salta il tour"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Panoramica del tour"
+body = "Stirling PDF V2 include dozzine di strumenti e un layout rinnovato. Fai un breve tour per vedere cosa è cambiato e dove trovare le funzionalità che ti servono."
[onboarding.serverLicense]
skip = "Salta per ora"
@@ -5758,28 +5974,28 @@ contactSales = "Contatta il reparto vendite"
contactToUpgrade = "Contattaci per aggiornare o personalizzare il tuo piano"
maxUsers = "Utenti massimi"
upTo = "Fino a"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Ottieni licenza server"
+upgradeToEnterprise = "Esegui l'upgrade a Enterprise"
+selectPeriod = "Seleziona periodo di fatturazione"
+monthlyBilling = "Fatturazione mensile"
+yearlyBilling = "Fatturazione annuale"
+checkoutOpened = "Checkout aperto"
+checkoutInstructions = "Completa l'acquisto nella scheda Stripe. Dopo il pagamento, torna qui e aggiorna la pagina per attivare la licenza. Riceverai anche un'email con la tua chiave di licenza."
+activateLicense = "Attiva la tua licenza"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Checkout aperto in nuova scheda"
+instructions = "Completa l'acquisto nella scheda Stripe. Una volta completato il pagamento, riceverai un'email con la tua chiave di licenza."
+enterKey = "Inserisci di seguito la chiave di licenza per attivare il piano:"
+keyDescription = "Incolla la chiave di licenza dall'email"
+activate = "Attiva licenza"
+doLater = "Lo farò più tardi"
+success = "Licenza attivata!"
+successMessage = "La licenza è stata attivata correttamente. Ora puoi chiudere questa finestra."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "Verifica email necessaria"
+message = "Dovrai verificare il tuo indirizzo email nel portale di fatturazione Stripe. Controlla la tua email per un link di accesso."
[plan.period]
month = "mese"
@@ -5983,8 +6199,8 @@ notAvailable = "Sistema di audit non disponibile"
notAvailableMessage = "Il sistema di audit non è configurato o non è disponibile."
disabled = "La registrazione dell'audit è disattivata"
disabledMessage = "Abilita la registrazione dell'audit nella configurazione dell'applicazione per tracciare gli eventi di sistema."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Richiesta licenza Enterprise"
+enterpriseRequiredMessage = "Il sistema di audit logging è una funzionalità Enterprise. Esegui l'upgrade a una licenza Enterprise per accedere ai log di audit e alle analitiche."
[audit.error]
title = "Errore nel caricamento del sistema di audit"
@@ -6156,6 +6372,7 @@ description = "Inserisci l'URL completo del tuo server Stirling PDF self-hosted"
[setup.server.error]
emptyUrl = "Inserisci un URL del server"
+invalidUrl = "Formato URL non valido. Inserisci un URL valido come https://your-server.com"
unreachable = "Impossibile connettersi al server"
testFailed = "Test di connessione non riuscito"
configFetch = "Impossibile recuperare la configurazione del server. Controlla l'URL e riprova."
@@ -6174,6 +6391,7 @@ connectingTo = "Connessione a:"
submit = "Accedi"
signInWith = "Accedi con"
oauthPending = "Apertura del browser per l'autenticazione..."
+sso = "Single Sign-On"
orContinueWith = "Oppure continua con email"
serverRequirement = "Nota: il server deve avere il login abilitato."
showInstructions = "Come abilitarlo?"
@@ -6239,8 +6457,8 @@ reset = "Reimposta modifiche"
downloadJson = "Scarica JSON"
generatePdf = "Genera PDF"
saveChanges = "Salva modifiche"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Applica modifiche"
+downloadCopy = "Scarica copia"
[pdfTextEditor.options.autoScaleText]
title = "Ridimensiona automaticamente il testo alle caselle"
@@ -6260,22 +6478,22 @@ title = "Blocca il testo modificato in un singolo elemento PDF"
description = "Se attivato, l'editor esporta ogni casella di testo modificata come un unico elemento di testo PDF per evitare glifi sovrapposti o font misti."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Impostazioni avanzate"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Limitazioni anteprima"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Focus su testo e immagine"
+text = "Questo spazio di lavoro è incentrato sulla modifica del testo e sul riposizionamento delle immagini incorporate. Elementi grafici di pagina complessi, widget dei moduli e grafica stratificata sono preservati per l'esportazione ma non sono completamente modificabili qui."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Variazioni in anteprima"
+text = "Alcuni elementi visivi (come bordi di tabelle, forme o aspetto delle annotazioni) potrebbero non essere visualizzati esattamente in anteprima. Il PDF esportato mantiene i comandi di disegno originali quando possibile."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Visualizzatore alpha"
+text = "Questo visualizzatore alpha è ancora in evoluzione—alcuni font, colori, effetti di trasparenza e dettagli di layout possono variare leggermente. Controlla il PDF generato prima di condividerlo."
[pdfTextEditor.manual]
mergeTooltip = "Unisci caselle selezionate"
@@ -6398,3 +6616,58 @@ title = "Risultati aggiunta testo"
[addText.error]
failed = "Si è verificato un errore durante l'aggiunta del testo al PDF."
+
+[mobileUpload]
+title = "Carica da dispositivo mobile"
+description = "Scansiona per caricare foto. Le immagini vengono convertite automaticamente in PDF."
+descriptionNoConvert = "Scansiona per caricare foto dal tuo dispositivo mobile."
+error = "Errore di connessione"
+pollingError = "Errore nel controllo dei file"
+sessionId = "ID sessione"
+sessionCreateError = "Impossibile creare la sessione"
+expiryWarning = "Sessione in scadenza"
+expiryWarningMessage = "Questo QR code scadrà tra {{seconds}} secondi. Un nuovo codice verrà generato automaticamente."
+filesReceived = "{{count}} file ricevuti"
+connected = "Dispositivo mobile connesso"
+instructions = "Scansiona con la fotocamera del telefono. Le immagini vengono convertite automaticamente in PDF."
+instructionsNoConvert = "Scansiona con la fotocamera del telefono per caricare i file."
+
+[mobileScanner]
+title = "Scanner mobile"
+noSession = "Sessione non valida"
+noSessionMessage = "Scansiona un QR code valido per accedere a questa pagina."
+validating = "Validazione della sessione..."
+sessionInvalid = "Errore di sessione"
+sessionExpired = "Questa sessione è scaduta. Aggiorna e riprova."
+sessionNotFound = "Sessione non trovata. Aggiorna e riprova."
+sessionValidationError = "Impossibile verificare la sessione. Riprova."
+uploadSuccess = "Caricamento riuscito!"
+uploadSuccessMessage = "Le tue immagini sono state trasferite."
+httpsRequired = "L'accesso alla fotocamera richiede HTTPS o localhost. Usa HTTPS o accedi tramite localhost."
+uploadFailed = "Caricamento non riuscito. Riprova."
+uploading = "Caricamento..."
+connected = "Connesso"
+connecting = "Connessione..."
+chooseMethod = "Scegli metodo di caricamento"
+chooseMethodDescription = "Seleziona come vuoi scansionare e caricare documenti"
+camera = "Fotocamera"
+cameraDescription = "Scansiona documenti usando la fotocamera del dispositivo con rilevamento automatico dei bordi"
+fileUpload = "Caricamento file"
+fileDescription = "Carica foto o documenti esistenti dal tuo dispositivo"
+cameraAccessDenied = "Accesso alla fotocamera negato. Abilita l'accesso alla fotocamera."
+back = "Indietro"
+settings = "Impostazioni"
+edgeDetection = "Rilevamento bordi"
+flashlight = "Torcia"
+flash = "Flash"
+processing = "Elaborazione..."
+capture = "Scatta foto"
+selectFilesPrompt = "Seleziona i file da caricare"
+selectImage = "Seleziona immagine"
+preview = "Anteprima"
+retake = "Ripeti scatto"
+addToBatch = "Aggiungi al batch"
+upload = "Carica"
+batchImages = "Batch"
+clearBatch = "Svuota"
+uploadAll = "Carica tutto"
diff --git a/frontend/public/locales/ja-JP/translation.toml b/frontend/public/locales/ja-JP/translation.toml
index b55477c56..6f2794ff2 100644
--- a/frontend/public/locales/ja-JP/translation.toml
+++ b/frontend/public/locales/ja-JP/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "PDF に未保存の変更があります。"
+pendingRedactionsTitle = "未適用の墨消し"
+pendingRedactions = "未適用の墨消しがあります。失われます。"
areYouSure = "本当に離れますか?"
unsavedChangesTitle = "未保存の変更"
keepWorking = "作業を続ける"
discardChanges = "変更を破棄"
+discardRedactions = "破棄して離脱"
applyAndContinue = "適用して続行"
exportAndContinue = "エクスポートして続行"
cancel = "キャンセル"
@@ -364,6 +367,7 @@ advanced = "詳細設定"
title = "セキュリティと認証"
security = "セキュリティ"
connections = "接続"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "ライセンスと分析"
@@ -438,25 +442,34 @@ currentVersion = "現在のバージョン"
latestVersion = "最新バージョン"
checkForUpdates = "更新を確認"
viewDetails = "詳細を表示"
+serverNeedsUpdate = "サーバーは管理者による更新が必要です"
+
+[settings.general.versionInfo]
+title = "バージョン情報"
+description = "デスクトップ版とサーバー版の詳細"
+desktop = "デスクトップ版"
+server = "サーバー版"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "セキュリティ"
+description = "アカウントを安全に保つため、パスワードを更新してください。"
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "パスワードを変更します。更新後はログアウトされます。"
+required = "すべての項目は必須です。"
+mismatch = "新しいパスワードが一致しません。"
+error = "パスワードを更新できません。現在のパスワードを確認して再試行してください。"
+success = "パスワードを更新しました。再度サインインしてください。"
+ssoDisabled = "パスワードの変更はアイデンティティプロバイダーにより管理されています。"
+current = "現在のパスワード"
+currentPlaceholder = "現在のパスワードを入力"
+new = "新しいパスワード"
+newPlaceholder = "新しいパスワードを入力"
+confirm = "新しいパスワードの確認"
+confirmPlaceholder = "新しいパスワードを再入力"
+update = "パスワードを更新"
+
+
[settings.hotkeys]
title = "キーボードショートカット"
@@ -511,16 +524,16 @@ low = "低"
title = "資格情報の変更"
header = "アカウントの詳細を更新する"
changePassword = "デフォルトのログイン認証情報を使用しています。新しいパスワードを入力してください"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "あなたのアカウントはアイデンティティプロバイダーにより管理されています。"
newUsername = "新しいユーザー名"
oldPassword = "現在のパスワード"
newPassword = "新しいパスワード"
confirmNewPassword = "新しいパスワードの確認"
submit = "変更を送信"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "アカウントを更新しました"
+description = "変更を保存しました。再度ログインしてください。"
+error = "ユーザー名を更新できません。パスワードを確認して再試行してください。"
+changeUsername = "ユーザー名を更新します。更新後はログアウトされます。"
[account]
title = "アカウント設定"
@@ -528,6 +541,8 @@ accountSettings = "アカウント設定"
adminSettings = "管理者設定 - ユーザーの表示と追加"
userControlSettings = "ユーザー制御設定"
changeUsername = "ユーザー名を変更"
+changeUsernameDescription = "ユーザー名を更新します。更新後はログアウトされます。"
+newUsernamePlaceholder = "新しいユーザー名を入力"
newUsername = "新しいユーザーネーム"
password = "確認用パスワード"
oldPassword = "旧パスワード"
@@ -737,9 +752,9 @@ title = "署名"
desc = "手書き、テキストまたは画像によってPDFに署名を追加します。"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "注釈,ハイライト,描画"
+title = "注釈"
+desc = "ビューワーでハイライト、描画、ノートや図形の追加"
[home.flatten]
tags = "平坦化,削除,インタラクティブ除去"
@@ -951,8 +966,8 @@ desc = "1つのPDFを別のPDFの上に重ねます"
title = "PDFを重ね合わせ"
[home.pdfTextEditor]
-title = "PDFテキストエディタ"
-desc = "PDF内の既存のテキストと画像を編集"
+title = "PDFテキストエディター"
+desc = "グループ化されたテキスト編集とPDF再生成で、Stirling PDF の JSON エクスポートをレビュー・編集します。"
[home.addText]
tags = "テキスト,注釈,ラベル"
@@ -963,6 +978,7 @@ desc = "PDFの任意の場所にテキストを追加"
addFiles = "ファイルを追加"
uploadFromComputer = "コンピュータからアップロード"
openFromComputer = "コンピューターから開く"
+mobileUpload = "モバイルからアップロード"
[viewPdf]
tags = "view,read,annotate,text,image"
@@ -1214,7 +1230,7 @@ selectFilesPlaceholder = "開始するにはメインビューでファイルを
settings = "設定"
conversionCompleted = "変換が完了しました"
results = "結果"
-defaultFilename = "変換済みファイル"
+defaultFilename = "converted_file"
conversionResults = "変換結果"
convertFrom = "変換元"
convertTo = "変換先"
@@ -1278,21 +1294,33 @@ cbzOptions = "CBZ から PDF へのオプション"
optimizeForEbook = "PDF を eBook リーダー向けに最適化(Ghostscript 使用)"
cbzOutputOptions = "PDF から CBZ へのオプション"
cbzDpi = "画像レンダリングの DPI"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "CBR オプション"
+cbrOutputOptions = "PDF から CBR へのオプション"
+cbrDpi = "画像レンダリング用 DPI"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "eBook から PDF へのオプション"
+ebookOptionsDesc = "eBook を PDF に変換するためのオプション"
+embedAllFonts = "すべてのフォントを埋め込む"
+embedAllFontsDesc = "eBook のすべてのフォントを生成される PDF に埋め込みます"
+includeTableOfContents = "目次を含める"
+includeTableOfContentsDesc = "生成した目次を結果の PDF に追加"
+includePageNumbers = "ページ番号を含める"
+includePageNumbersDesc = "生成される PDF にページ番号を追加"
+optimizeForEbookPdf = "電子書籍リーダー向けに最適化"
+optimizeForEbookPdfDesc = "PDF を eBook 読書向けに最適化します(ファイルサイズ縮小、eInk デバイスでの表示改善)"
+
+[convert.epubOptions]
+epubOptions = "PDF から eBook へのオプション"
+epubOptionsDesc = "PDF を EPUB/AZW3 に変換するためのオプション"
+detectChapters = "章を検出"
+detectChaptersDesc = "章のように見える見出しを検出し、EPUB の改ページを挿入します"
+targetDevice = "対象デバイス"
+targetDeviceDesc = "リーダーデバイス向けに最適化された出力プロファイルを選択"
+outputFormat = "出力形式"
+outputFormatDesc = "電子書籍の出力形式を選択"
+tabletPhone = "タブレット/スマートフォン(画像あり)"
+kindleEink = "Kindle e-Ink(テキスト最適化)"
[imageToPdf]
tags = "conversion,img,jpg,picture,photo,psd,photoshop"
@@ -1409,11 +1437,11 @@ header = "添付ファイルの追加"
add = "添付を追加"
remove = "添付を削除"
embed = "添付を埋め込む"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "PDF/A-3b に変換"
+convertToPdfA3bDescription = "添付ファイルを埋め込んだアーカイブ用 PDF を作成します"
+convertToPdfA3bTooltip = "PDF/A-3b は長期保存を保証するアーカイブ形式です。任意のファイル形式を添付として埋め込めます。変換には Ghostscript が必要で、大きなファイルでは時間がかかる場合があります。"
+convertToPdfA3bTooltipHeader = "PDF/A-3b 変換について"
+convertToPdfA3bTooltipTitle = "機能"
submit = "添付ファイルの追加"
[watermark]
@@ -1421,7 +1449,7 @@ title = "透かしの追加"
desc = "PDF ファイルにテキストまたは画像の透かしを追加"
completed = "透かしを追加しました"
submit = "透かしを追加"
-filenamePrefix = "透かし入り"
+filenamePrefix = "watermarked"
[watermark.error]
failed = "PDF への透かし追加中にエラーが発生しました。"
@@ -1696,7 +1724,7 @@ subtitle = "処理済みファイルをダウンロードするか、下で操
[removePages]
tags = "ページを削除,ページ削除"
title = "削除"
-filenamePrefix = "ページ削除済み"
+filenamePrefix = "pages_removed"
submit = "削除"
[removePages.pageNumbers]
@@ -1898,7 +1926,7 @@ title = "フォームフィールドから読み取り専用を削除"
header = "PDFフォームのロックを解除"
submit = "Remove"
description = "このツールは PDF フォームフィールドの読み取り専用制限を解除し、編集・入力可能にします。"
-filenamePrefix = "フォームのロック解除済み"
+filenamePrefix = "unlocked_forms"
[unlockPDFForms.files]
placeholder = "メインビューで PDF ファイルを選択して開始してください"
@@ -1912,7 +1940,7 @@ title = "フォームのロック解除結果"
[changeMetadata]
header = "メタデータの変更"
submit = "変更"
-filenamePrefix = "メタデータ"
+filenamePrefix = "metadata"
[changeMetadata.settings]
title = "メタデータ設定"
@@ -2359,10 +2387,10 @@ saved = "保存済み"
label = "署名画像をアップロード"
placeholder = "画像ファイルを選択"
hint = "署名の PNG または JPG 画像をアップロードしてください"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "白背景を削除(透過化)"
+processing = "画像を処理中..."
+backgroundRemovalFailedTitle = "背景の削除に失敗"
+backgroundRemovalFailedMessage = "画像の背景を削除できませんでした。代わりに元の画像を使用します。"
[sign.instructions]
title = "署名の追加方法"
@@ -2391,7 +2419,7 @@ title = "平坦化"
header = "PDFを平坦化する"
flattenOnlyForms = "フォームのみを平坦にする"
submit = "平坦化"
-filenamePrefix = "フラット化済み"
+filenamePrefix = "flattened"
[flatten.files]
placeholder = "開始するにはメインビューで PDF ファイルを選択してください"
@@ -2409,9 +2437,9 @@ label = "フォームのみフラット化"
desc = "フォームフィールドのみをフラット化し、その他のインタラクティブ要素は維持します"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "レンダリング DPI(任意、150 DPI 推奨)"
+help = "空欄の場合はシステムのデフォルトを使用します。DPI を上げると出力はシャープになりますが、処理時間とファイルサイズが増加します。"
+placeholder = "例: 150"
[flatten.results]
title = "フラット化の結果"
@@ -2444,7 +2472,7 @@ title = "修復"
header = "PDFを修復"
submit = "修復"
description = "このツールは破損または損傷した PDF ファイルの修復を試みます。追加の設定は不要です。"
-filenamePrefix = "修復済み"
+filenamePrefix = "repaired"
[repair.files]
placeholder = "開始するにはメイン画面で PDF ファイルを選択してください"
@@ -2645,7 +2673,7 @@ stopButton = "比較を停止"
[certSign]
tags = "authenticate,PEM,P12,official,encrypt"
title = "証明書による署名"
-filenamePrefix = "署名済み"
+filenamePrefix = "signed"
chooseCertificate = "証明書ファイルを選択"
chooseJksFile = "JKS ファイルを選択"
chooseP12File = "PKCS12 ファイルを選択"
@@ -2779,7 +2807,7 @@ header = "PDFから電子証明書を削除する"
selectPDF = "PDFファイルの選択:"
submit = "署名の削除"
description = "このツールは PDF 文書からデジタル証明書署名を削除します。"
-filenamePrefix = "署名なし"
+filenamePrefix = "unsigned"
[removeCertSign.files]
placeholder = "開始するにはメイン画面で PDF ファイルを選択してください"
@@ -2987,7 +3015,7 @@ header = "PDFのトリミング"
submit = "送信"
noFileSelected = "トリミングを開始する PDF ファイルを選択してください"
reset = "PDF 全体にリセット"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "余白を自動トリミング"
[crop.preview]
title = "切り抜き範囲の選択"
@@ -3218,6 +3246,7 @@ title = "墨消し方法"
mode = "モード"
automatic = "自動"
automaticDesc = "検索語に基づいてテキストを墨消し"
+automaticDisabledTooltip = "複数ファイルを一度に墨消しするには、ファイルマネージャーでファイルを選択してください"
manual = "手動"
manualDesc = "クリック&ドラッグで特定領域を墨消し"
manualComingSoon = "手動墨消しは近日対応"
@@ -3288,8 +3317,35 @@ text = "単語全体のみを一致させ、部分一致を除外します。有
title = "PDF-Image に変換"
text = "墨消し後に PDF を画像ベースの PDF に変換します。これにより、墨消しボックスの背後にあるテキストが完全に除去され、復元不能になります。"
+[redact.tooltip.manual.header]
+title = "手動墨消しコントロール"
+
+[redact.tooltip.manual.markText]
+title = "テキストマーキングツール"
+text = "PDF 上のテキストを直接選択して墨消し対象にマークします。クリックしてドラッグすることで、墨消ししたい特定のテキストをハイライトできます。"
+
+[redact.tooltip.manual.markArea]
+title = "領域マーキングツール"
+text = "PDF 上に長方形の領域を描画して墨消し対象にマークします。画像、署名、不規則な形状の墨消しに便利です。"
+
+[redact.tooltip.manual.apply]
+title = "墨消しを適用"
+text = "内容をマークしたら、「適用」をクリックしてすべてのマーク済み領域を永久に墨消しします。保留カウントは、適用待ちの墨消し数を示します。"
+bullet1 = "適用前に必要なだけ領域をマークできます"
+bullet2 = "保留中の墨消しは一括で適用されます"
+bullet3 = "適用後の墨消しは元に戻せません"
+
[redact.manual]
+title = "墨消しツール"
+instructions = "PDF 上のテキストを選択するか領域を描画して、墨消し対象をマークします。"
+markText = "テキストをマーキング"
+markArea = "領域をマーキング"
+pendingLabel = "保留中:"
+applyWarning = "⚠️ 永久適用で元に戻せず、下のデータは削除されます"
+apply = "適用"
+noMarks = "墨消しマークがありません。上のツールで墨消しする内容をマーキングしてください。"
header = "手動墨消し"
+controlsTitle = "手動墨消しコントロール"
textBasedRedaction = "テキストベースの墨消し"
pageBasedRedaction = "ページ単位の墨消し"
convertPDFToImageLabel = "PDF を PDF-Image に変換(ボックス背後のテキスト除去用)"
@@ -3406,17 +3462,17 @@ label = "垂直方向"
placeholder = "垂直方向の分割数を選択"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "分割モード"
+description = "ページの分割方法を選択"
+splitAll = "全ページを分割"
+splitAllExceptFirst = "先頭以外を分割"
+splitAllExceptLast = "末尾以外を分割"
+splitAllExceptFirstAndLast = "先頭と末尾以外を分割"
+custom = "カスタムページ"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "カスタムページ番号"
+placeholder = "例: 2,4,6"
[AddStampRequest]
tags = "スタンプ, 画像を追加, 画像を中央に配置, 透かし, PDF, 埋め込み, カスタマイズ"
@@ -3713,7 +3769,7 @@ title = "PDFを単一ページに変換"
header = "PDFを単一ページに変換"
submit = "単一ページに変換"
description = "このツールは PDF の全ページを 1 つの大きな単一ページに結合します。幅は元のページと同じで、高さは全ページの高さの合計になります。"
-filenamePrefix = "単一ページ"
+filenamePrefix = "single_page"
[pdfToSinglePage.files]
placeholder = "開始するにはメイン画面で PDF ファイルを選択してください"
@@ -3780,17 +3836,17 @@ filesize = "ファイルサイズ"
label = "圧縮にグレースケールを適用する"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Web 表示を高速化するために PDF をリニアライズ"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "画像を線画に変換"
+description = "ImageMagick を使用し、ページを高コントラストの白黒にして最大限のサイズ削減を行います。"
+unavailable = "このサーバーに ImageMagick がインストールまたは有効化されていません"
+detailLevel = "詳細レベル"
+edgeEmphasis = "エッジ強調"
+edgeLow = "弱め"
+edgeMedium = "バランス"
+edgeHigh = "強め"
[compress.tooltip.header]
title = "圧縮設定の概要"
@@ -3810,8 +3866,8 @@ title = "グレースケール"
text = "このオプションを選ぶと、すべての画像を白黒に変換します。特にスキャン PDF や画像の多い文書で大幅なサイズ削減が見込めます。"
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "線画"
+text = "ImageMagick を使ってページを高コントラストの白黒に変換します。詳細レベルで黒になる範囲を、エッジ強調でエッジ検出の強さを調整できます。"
[compress.error]
failed = "PDF の圧縮中にエラーが発生しました。"
@@ -3826,9 +3882,9 @@ _value = "圧縮設定"
1 = "1-3 PDF圧縮、 4-6 弱い画像圧縮、 7-9 強い画像圧縮により画質が大幅に低下します"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "値が低いほど品質は保たれますが、ファイルサイズは大きくなります"
+range4to6 = "中程度の圧縮で、品質低下はほどほどです"
+range7to9 = "値が高いほどファイルサイズは大きく削減されますが、画像の鮮明さが低下する場合があります"
[decrypt]
passwordPrompt = "このファイルはパスワードで保護されています。パスワードを入力してください:"
@@ -4069,7 +4125,7 @@ deleteSelected = "選択したページを削除"
closePdf = "PDF を閉じる"
exportAll = "PDF を書き出し"
downloadSelected = "選択したファイルをダウンロード"
-annotations = "Annotations"
+annotations = "注釈"
exportSelected = "選択したページを書き出し"
saveChanges = "変更を保存"
toggleTheme = "テーマを切り替え"
@@ -4077,84 +4133,90 @@ language = "言語"
toggleAnnotations = "注釈の表示を切り替え"
search = "PDF を検索"
panMode = "パンモード"
+applyRedactionsFirst = "先に墨消しを適用"
rotateLeft = "左に回転"
rotateRight = "右に回転"
toggleSidebar = "サイドバーを切り替え"
toggleBookmarks = "ブックマークを切り替え"
print = "PDFを印刷"
+draw = "描画"
+redact = "墨消し"
+exitRedaction = "墨消しモードを終了"
+save = "保存"
downloadAll = "すべてをダウンロード"
saveAll = "すべて保存"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "左揃え"
+center = "中央揃え"
+right = "右揃え"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "注釈"
+desc = "ハイライト、ペン、テキスト、ノートを使用できます。変更はそのまま保持され、フラット化は不要です。"
+highlight = "ハイライト"
+pen = "ペン"
+text = "テキストボックス"
+note = "ノート"
+rectangle = "長方形"
+ellipse = "楕円"
+select = "選択"
+exit = "注釈モードを終了"
+strokeWidth = "線の太さ"
+opacity = "不透明度"
+strokeOpacity = "線の不透明度"
+fillOpacity = "塗りの不透明度"
+fontSize = "フォントサイズ"
+chooseColor = "色を選択"
+color = "色"
+strokeColor = "線の色"
+fillColor = "塗りの色"
+underline = "下線"
+strikeout = "取り消し線"
+squiggly = "波線"
+inkHighlighter = "フリーハンドハイライト"
+freehandHighlighter = "フリーハンドハイライト"
+square = "正方形"
+circle = "円"
+polygon = "多角形"
+line = "直線"
+stamp = "画像を追加"
+textMarkup = "テキストマークアップ"
+drawing = "描画"
+shapes = "図形"
+notesStamps = "ノートとスタンプ"
+settings = "設定"
+borderOn = "枠線: オン"
+borderOff = "枠線: オフ"
+editInk = "ペンを編集"
+editLine = "直線を編集"
+editNote = "ノートを編集"
+editText = "テキストボックスを編集"
+editTextMarkup = "テキストマークアップを編集"
+editSelected = "注釈を編集"
+editSquare = "正方形を編集"
+editCircle = "円を編集"
+editPolygon = "多角形を編集"
+unsupportedType = "この注釈タイプは編集に完全対応していません。"
+textAlignment = "テキストの配置"
+noteIcon = "ノートアイコン"
+imagePreview = "プレビュー"
+contents = "テキスト"
+backgroundColor = "背景色"
+clearBackground = "背景を削除"
+noBackground = "背景なし"
+stampSettings = "スタンプ設定"
+savingCopy = "ダウンロードを準備中..."
+saveFailed = "コピーを保存できません"
+saveReady = "ダウンロードの準備ができました"
+selectAndMove = "選択して編集"
+editSelectDescription = "既存の注釈をクリックして、色、不透明度、テキスト、サイズを編集します。"
+editStampHint = "画像を変更するには、このスタンプを削除して新規追加してください。"
+editSwitchToSelect = "この注釈を編集するには、選択して編集に切り替えてください。"
+undo = "元に戻す"
+redo = "やり直し"
+applyChanges = "変更を適用"
+saveChanges = "変更を保存"
[search]
title = "PDF を検索"
@@ -4205,20 +4267,20 @@ settings = "設定"
adminSettings = "管理者設定"
allTools = "All Tools"
reader = "リーダー"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "ツアー"
+showMeAround = "案内して"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "ここで次のツアーを視聴できます: ツールのツアー、新しい V2 レイアウトのツアー、管理者ツアー。"
+user = "ここで次のツアーを視聴できます: ツールのツアー、新しい V2 レイアウトのツアー。"
[quickAccess.helpMenu]
toolsTour = "ツールツアー"
toolsTourDesc = "ツールでできることを学ぶ"
adminTour = "管理ツアー"
adminTourDesc = "管理設定と機能を探索"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "V2 の新機能を見る"
+whatsNewTourDesc = "更新されたレイアウトをツアー"
[admin]
error = "エラー"
@@ -4237,6 +4299,8 @@ fetchError = "設定の読み込みに失敗しました"
saveError = "設定の保存に失敗しました"
saved = "設定を正常に保存しました"
saveSuccess = "設定を正常に保存しました"
+success = "設定を保存しました"
+error = "設定の保存に失敗しました"
save = "変更を保存"
discard = "破棄"
restartRequired = "再起動が必要"
@@ -4360,6 +4424,13 @@ description = "HTML から PDF 変換用 WeasyPrint 実行ファイルのパス
label = "Unoconvert 実行ファイル"
description = "ドキュメント変換用 LibreOffice unoconvert のパス(空欄で既定: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "フロントエンド URL"
+description = "フロントエンドのベース URL(例: https://pdf.example.com)。メール招待リンクとモバイルの QR コードアップロードで使用します。空欄の場合はバックエンドの URL を使用します。"
+
+[admin.settings.badge]
+clickToUpgrade = "クリックしてプラン詳細を表示"
+
[admin.settings.security]
title = "セキュリティ"
description = "認証、ログイン動作、セキュリティポリシーを構成します。"
@@ -4496,6 +4567,19 @@ connect = "接続"
disconnect = "切断"
disconnected = "プロバイダの切断に成功しました"
disconnectError = "プロバイダの切断に失敗しました"
+mobileScannerConvertToPdf = "画像を PDF に変換"
+mobileScannerConvertToPdfDesc = "アップロードされた画像を自動的に PDF 形式に変換します。無効にすると、画像はそのまま保持されます。"
+mobileScannerImageResolution = "画像解像度"
+mobileScannerImageResolutionDesc = "アップロード画像の解像度。「縮小」は最大 1200px にスケーリングしてファイルサイズを削減します。"
+imageResolutionFull = "フル(元のサイズ)"
+imageResolutionReduced = "縮小(最大 1200px)"
+mobileScannerPageFormat = "ページ形式"
+mobileScannerPageFormatDesc = "変換画像の PDF ページサイズ。「保持」は元の画像サイズを使用します。"
+pageFormatKeep = "保持(元の寸法)"
+pageFormatA4 = "A4(210×297mm)"
+pageFormatLetter = "Letter(8.5×11in)"
+mobileScannerStretchToFit = "ページに合わせて拡大/縮小"
+mobileScannerStretchToFitDesc = "ページ全体を満たすように画像を伸縮します。無効にすると、アスペクト比を維持して中央配置します。"
[admin.settings.connections.ssoAutoLogin]
label = "SSO 自動ログイン"
@@ -4514,15 +4598,15 @@ label = "プロバイダ"
description = "認証に使用する OAuth2 プロバイダ"
[admin.settings.connections.oauth2.issuer]
-label = "発行者 URL"
+label = "Issuer URL"
description = "OAuth2 プロバイダの Issuer URL"
[admin.settings.connections.oauth2.clientId]
-label = "クライアント ID"
+label = "Client ID"
description = "プロバイダから発行された OAuth2 の Client ID"
[admin.settings.connections.oauth2.clientSecret]
-label = "クライアント シークレット"
+label = "Client Secret"
description = "プロバイダから発行された OAuth2 の Client Secret"
[admin.settings.connections.oauth2.useAsUsername]
@@ -4553,7 +4637,7 @@ label = "プロバイダ"
description = "SAML2 プロバイダ名"
[admin.settings.connections.saml2.registrationId]
-label = "登録 ID"
+label = "Registration ID"
description = "SAML2 の登録識別子"
[admin.settings.connections.saml2.autoCreateUser]
@@ -4564,6 +4648,122 @@ description = "初回の SAML2 ログイン時にユーザーアカウントを
label = "登録をブロック"
description = "SAML2 による新規ユーザー登録を禁止"
+[admin.settings.connections.mobileScanner]
+label = "携帯電話からのアップロード"
+enable = "QR コードアップロードを有効化"
+description = "ユーザーが QR コードをスキャンしてモバイル端末からファイルをアップロードできるようにします"
+note = "注意: フロントエンド URL の設定が必要です。 "
+link = "システム設定で構成"
+mobileScannerConvertToPdf = "画像を PDF に変換"
+mobileScannerConvertToPdfDesc = "アップロードされた画像を自動的に PDF 形式に変換します。無効にすると、画像はそのまま保持されます。"
+mobileScannerImageResolution = "画像解像度"
+mobileScannerImageResolutionDesc = "アップロード画像の解像度。「縮小」は最大 1200px にスケーリングしてファイルサイズを削減します。"
+imageResolutionFull = "フル(元のサイズ)"
+imageResolutionReduced = "縮小(最大 1200px)"
+mobileScannerPageFormat = "ページ形式"
+mobileScannerPageFormatDesc = "変換画像の PDF ページサイズ。「保持」は元の画像サイズを使用します。"
+pageFormatKeep = "保持(元の寸法)"
+pageFormatA4 = "A4(210×297mm)"
+pageFormatLetter = "Letter(8.5×11in)"
+mobileScannerStretchToFit = "ページに合わせて拡大/縮小"
+mobileScannerStretchToFitDesc = "ページ全体を満たすように画像を伸縮します。無効にすると、アスペクト比を維持して中央配置します。"
+
+[admin.settings.telegram]
+title = "Telegram ボット"
+description = "Telegram ボットの接続、アクセス制御、フィードバック動作を構成します。"
+
+[admin.settings.telegram.enabled]
+label = "Telegram ボットを有効化"
+description = "設定済みの Telegram ボットを通じてユーザーが Stirling PDF とやり取りできるようにします。"
+
+[admin.settings.telegram.botUsername]
+label = "ボットのユーザー名"
+description = "Telegram ボットの公開ユーザー名。"
+
+[admin.settings.telegram.botToken]
+label = "ボットトークン"
+description = "Telegram ボット用の BotFather から提供される API トークン。"
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "受信フォルダー"
+description = "受信した Telegram ファイルを保存する、パイプラインディレクトリ配下のフォルダー。"
+
+[admin.settings.telegram.customFolderSuffix]
+label = "カスタムフォルダーサフィックスを使用"
+description = "チャット ID を受信フォルダー名に追加し、チャットごとのアップロードを分離します。"
+
+[admin.settings.telegram.accessControl]
+title = "アクセス制御"
+description = "ボットとやり取りできるユーザーやチャンネルを制限します。"
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "特定のユーザー ID を許可"
+description = "有効にすると、一覧のユーザー ID のみがボットを使用できます。"
+
+[admin.settings.telegram.allowUserIDs]
+label = "許可するユーザー ID"
+description = "ボットとのやり取りを許可する Telegram のユーザー ID を入力します。"
+placeholder = "ユーザー ID を追加して Enter を押す"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "特定のチャンネル ID を許可"
+description = "有効にすると、一覧のチャンネル ID のみがボットを使用できます。"
+
+[admin.settings.telegram.allowChannelIDs]
+label = "許可するチャンネル ID"
+description = "ボットとのやり取りを許可する Telegram のチャンネル ID を入力します。"
+placeholder = "チャンネル ID を追加して Enter を押す"
+
+[admin.settings.telegram.processing]
+title = "処理"
+description = "Telegram アップロードのポーリング間隔と処理タイムアウトを制御します。"
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "処理タイムアウト(秒)"
+description = "エラーを報告する前に処理ジョブを待機する最大時間。"
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "ポーリング間隔(ms)"
+description = "新しい Telegram 更新を確認する間隔。"
+
+[admin.settings.telegram.feedback]
+title = "フィードバックメッセージ"
+description = "ボットがユーザーやチャンネルにフィードバックを送信するタイミングを選択します。"
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "フィードバックを有効化"
+description = "ボットがフィードバックメッセージを送信するかどうかを制御します。"
+
+[admin.settings.telegram.feedback.channel]
+title = "チャンネルのフィードバックルール"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "「有効なドキュメントがありません」を表示(チャンネル)"
+description = "チャンネルへのアップロードで「有効なドキュメントがありません」の応答を抑制します。"
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "処理エラーを表示(チャンネル)"
+description = "処理エラーメッセージをチャンネルに送信します。"
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "エラーメッセージを表示(チャンネル)"
+description = "チャンネル向けの詳細なエラーメッセージを表示します。"
+
+[admin.settings.telegram.feedback.user]
+title = "ユーザーのフィードバックルール"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "「有効なドキュメントがありません」を表示(ユーザー)"
+description = "ユーザーのアップロードで「有効なドキュメントがありません」の応答を抑制します。"
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "処理エラーを表示(ユーザー)"
+description = "処理エラーメッセージをユーザーに送信します。"
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "エラーメッセージを表示(ユーザー)"
+description = "ユーザー向けの詳細なエラーメッセージを表示します。"
+
[admin.settings.database]
title = "データベース"
description = "エンタープライズ導入向けのカスタムデータベース接続設定を構成します。"
@@ -4690,7 +4890,7 @@ description = "より広範なシステム一時ディレクトリをクリー
label = "プロセス実行制限"
description = "各プロセス実行器のセッション上限とタイムアウトを設定"
libreOffice = "LibreOffice"
-pdfToHtml = "PDF を HTML に"
+pdfToHtml = "PDF to HTML"
qpdf = "QPDF"
tesseract = "Tesseract OCR"
pythonOpenCv = "Python OpenCV"
@@ -4745,6 +4945,10 @@ description = "管理者が自動生成パスワード付きでメール招待
label = "フロントエンド URL"
description = "フロントエンドのベース URL(例: https://pdf.example.com)。メール内の招待リンク生成に使用。空欄の場合はバックエンド URL を使用します。"
+[admin.settings.mail.frontendUrlNote]
+note = "注意: フロントエンド URL の設定が必要です。 "
+link = "システム設定で構成"
+
[admin.settings.legal]
title = "法的ドキュメント"
description = "法的ドキュメントおよびポリシーへのリンクを構成します。"
@@ -4929,6 +5133,9 @@ googleDriveShort = "ドライブ"
myFiles = "マイファイル"
noRecentFiles = "最近のファイルは見つかりませんでした"
googleDriveNotAvailable = "Google ドライブ連携は利用できません"
+mobileUpload = "モバイルアップロード"
+mobileShort = "モバイル"
+mobileUploadNotAvailable = "モバイルアップロードは有効になっていません"
downloadSelected = "選択をダウンロード"
saveSelected = "選択項目を保存"
openFiles = "複数ファイルを開く"
@@ -4974,7 +5181,7 @@ title = "サニタイズ"
desc = "PDF ファイルから潜在的に有害な要素を削除します。"
submit = "PDFをサニタイズ"
completed = "サニタイズが正常に完了しました"
-filenamePrefix = "サニタイズ済み"
+filenamePrefix = "sanitised"
sanitizationResults = "サニタイズ結果"
[sanitize.error]
@@ -5022,7 +5229,7 @@ title = "パスワードの追加"
desc = "パスワードで PDF 文書を暗号化します。"
completed = "パスワード保護を適用しました"
submit = "暗号化"
-filenamePrefix = "暗号化済み"
+filenamePrefix = "encrypted"
[addPassword.error]
failed = "PDF の暗号化中にエラーが発生しました。"
@@ -5117,7 +5324,7 @@ text = "これらの権限を変更不可にするには、パスワード追加
title = "パスワードの削除"
desc = "PDFからパスワードの削除します。"
tags = "セキュア,復号,セキュリティ,パスワード解除,パスワード削除"
-filenamePrefix = "復号済み"
+filenamePrefix = "decrypted"
submit = "削除"
[removePassword.password]
@@ -5244,7 +5451,7 @@ loading = "読み込み中..."
back = "戻る"
continue = "続行"
error = "エラー"
-save = "Save"
+save = "保存"
[config.overview]
title = "アプリケーション構成"
@@ -5307,6 +5514,15 @@ impact = "現在これらのキーを使用しているアプリやサービス
confirmPrompt = "続行してよろしいですか?"
confirmCta = "キーを更新"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "API キーエラー"
+failedToCreateApiKey = "API キーの作成に失敗しました。"
+failedToRetrieveApiKey = "レスポンスから API キーを取得できませんでした。"
+failedToFetchApiKey = "API キーの取得に失敗しました。"
+apiKeyRefreshed = "API キーを更新しました"
+apiKeyRefreshedBody = "API キーが正常に更新されました。"
+failedToRefreshApiKey = "API キーの更新に失敗しました。"
+
[AddAttachmentsRequest]
attachments = "添付ファイルを選択"
info = "PDF に添付するファイルを選択します。これらのファイルは埋め込まれ、PDF の添付パネルからアクセスできます。"
@@ -5412,14 +5628,14 @@ startTour = "ツアーを開始"
startTourDescription = "Stirling PDF の主な機能をガイド付きで紹介します"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "最初は Quick Access レールから始め、Reader、Automate、ファイル、各ツアーへ素早く移動できます。"
+leftPanel = "左側の ツール パネルにできることが一覧表示されています。カテゴリを閲覧するか、検索してツールを素早く見つけましょう。"
+fileUpload = "ファイル ボタンでアップロードするか最近の PDF を選択します。ワークスペースを確認できるようサンプルも読み込みます。"
+rightRail = "右レールでは、ファイル選択、テーマや言語の変更、結果のダウンロードなどのクイックアクションができます。"
+topBar = "上部バーで ビューアー、ページエディター、アクティブファイル を切り替えられます。"
+pageEditorView = "ページエディターに切り替えて、ページの並べ替え、回転、削除を行います。"
+activeFilesView = "アクティブファイルで開いているすべてを確認し、作業対象を選択できます。"
+wrapUp = "V2 の新機能は以上です。いつでも ツアー メニューを開いて、これやツールのツアー、管理者ツアーを再生できます。"
[onboarding.welcomeModal]
title = "Stirling PDF へようこそ!"
@@ -5442,8 +5658,8 @@ showMeAround = "ツアーを見る"
skipTheTour = "ツアーをスキップ"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "ツアーの概要"
+body = "Stirling PDF V2 は多数のツールと刷新されたレイアウトを搭載しています。変更点と必要な機能の見つけ方を短いツアーで確認しましょう。"
[onboarding.serverLicense]
skip = "今はスキップ"
@@ -5452,7 +5668,7 @@ upgrade = "今すぐアップグレード →"
freeTitle = "サーバーライセンス"
overLimitTitle = "サーバーライセンスが必要です"
overLimitBody = "当社のライセンスでは、サーバーごとに {{freeTierLimit}} ユーザーまで無料です。現在 {{overLimitUserCopy}} の Stirling ユーザーがいます。中断なく利用を続けるには、Stirling Server プランにアップグレードしてください - 無制限席数、PDF テキスト編集、完全な管理機能が $99/サーバー/月 です。"
-freeBody = "当社のOpen-Coreライセンスでは、サーバーごとに最大{{freeTierLimit}}ユーザーまで無料でご利用いただけます。中断なくスケールするには、Stirling Server プランをおすすめします - 無制限の席数とSSO サポートで $99/サーバー/月。"
+freeBody = "当社の オープンコア ライセンスでは、サーバーごとに最大 {{freeTierLimit}} ユーザーまで無料です。中断なく拡張し、新しい PDF テキスト編集ツール に早期アクセスするには、Stirling Server プランをお勧めします。完全編集と 無制限席数 が $99/サーバー/月 です。"
[onboarding.desktopInstall]
title = "ダウンロード"
@@ -5758,28 +5974,28 @@ contactSales = "営業に問い合わせ"
contactToUpgrade = "プランのアップグレードやカスタマイズはお問い合わせください"
maxUsers = "最大ユーザー数"
upTo = "最大"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "サーバーライセンスを取得"
+upgradeToEnterprise = "エンタープライズにアップグレード"
+selectPeriod = "課金期間を選択"
+monthlyBilling = "月額課金"
+yearlyBilling = "年額課金"
+checkoutOpened = "チェックアウトを開きました"
+checkoutInstructions = "Stripe のタブで購入手続きを完了してください。支払い後、ここに戻ってページを更新するとライセンスが有効化されます。ライセンスキーはメールでも送付されます。"
+activateLicense = "ライセンスを有効化"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "新しいタブでチェックアウトを開きました"
+instructions = "Stripe のタブで購入を完了してください。支払い完了後、ライセンスキーがメールで届きます。"
+enterKey = "プランを有効化するには以下にライセンスキーを入力してください:"
+keyDescription = "メールに記載のライセンスキーを貼り付け"
+activate = "ライセンスを有効化"
+doLater = "後で行う"
+success = "ライセンスを有効化しました!"
+successMessage = "ライセンスは正常に有効化されました。このウィンドウを閉じても構いません。"
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "メール認証が必要です"
+message = "Stripe の課金ポータルでメールアドレスの認証が必要です。メールのログインリンクを確認してください。"
[plan.period]
month = "月"
@@ -5983,8 +6199,8 @@ notAvailable = "監査システムは利用できません"
notAvailableMessage = "監査システムが未設定または利用できません。"
disabled = "監査ログは無効です"
disabledMessage = "アプリケーション設定で監査ログを有効にして、システムイベントを記録してください。"
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "エンタープライズライセンスが必要"
+enterpriseRequiredMessage = "監査ログシステムはエンタープライズ機能です。監査ログと分析にアクセスするには、エンタープライズライセンスにアップグレードしてください。"
[audit.error]
title = "監査システムの読み込みエラー"
@@ -6156,6 +6372,7 @@ description = "セルフホストの Stirling PDF サーバーの完全な URL
[setup.server.error]
emptyUrl = "サーバー URL を入力してください"
+invalidUrl = "URL の形式が無効です。https://your-server.com のような有効な URL を入力してください"
unreachable = "サーバーに接続できませんでした"
testFailed = "接続テストに失敗しました"
configFetch = "サーバー構成の取得に失敗しました。URL を確認して、もう一度お試しください。"
@@ -6174,6 +6391,7 @@ connectingTo = "接続先:"
submit = "ログイン"
signInWith = "でサインイン"
oauthPending = "認証のためブラウザーを開いています..."
+sso = "シングルサインオン"
orContinueWith = "またはメールで続行"
serverRequirement = "注: サーバーでログインを有効にする必要があります。"
showInstructions = "有効化するには?"
@@ -6188,7 +6406,7 @@ label = "ユーザー名"
placeholder = "ユーザー名を入力"
[setup.login.email]
-label = "メールアドレス"
+label = "Email"
placeholder = "メールアドレスを入力"
[setup.login.password]
@@ -6239,8 +6457,8 @@ reset = "変更をリセット"
downloadJson = "JSON をダウンロード"
generatePdf = "PDF を生成"
saveChanges = "変更を保存"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "変更を適用"
+downloadCopy = "コピーをダウンロード"
[pdfTextEditor.options.autoScaleText]
title = "ボックスに収まるようテキストを自動スケール"
@@ -6260,22 +6478,22 @@ title = "編集したテキストを1つのPDF要素に固定"
description = "有効にすると、編集した各テキストボックスを1つのPDFテキスト要素としてエクスポートし、グリフの重なりやフォント混在を避けます。"
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "詳細設定"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "プレビューの制限事項"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "テキストと画像のフォーカス"
+text = "このワークスペースはテキストの編集と埋め込み画像の位置調整に重点を置いています。複雑なページのアートワーク、フォームウィジェット、レイヤー化されたグラフィックは書き出し時に保持されますが、ここでは完全には編集できません。"
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "プレビュー差異"
+text = "表の罫線、図形、注釈の見た目など、一部のビジュアルはプレビューと完全には一致しない場合があります。書き出された PDF では可能な限り元の描画コマンドが保持されます。"
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "アルファ版ビューアー"
+text = "このアルファ版ビューアーは発展途上のため、一部のフォント、色、透明効果、レイアウトがわずかに変化することがあります。共有前に生成された PDF を再確認してください。"
[pdfTextEditor.manual]
mergeTooltip = "選択ボックスを結合"
@@ -6398,3 +6616,58 @@ title = "テキスト追加の結果"
[addText.error]
failed = "PDFにテキストを追加中にエラーが発生しました。"
+
+[mobileUpload]
+title = "モバイルからアップロード"
+description = "スキャンして写真をアップロード。画像は自動で PDF に変換されます。"
+descriptionNoConvert = "モバイルデバイスから写真をアップロードするためにスキャンします。"
+error = "接続エラー"
+pollingError = "ファイル確認中にエラーが発生しました"
+sessionId = "セッション ID"
+sessionCreateError = "セッションの作成に失敗しました"
+expiryWarning = "セッションの有効期限が間もなく切れます"
+expiryWarningMessage = "この QR コードは {{seconds}} 秒で期限切れになります。新しいコードは自動生成されます。"
+filesReceived = "{{count}} 件のファイルを受信"
+connected = "モバイルデバイスが接続されました"
+instructions = "スマホのカメラでスキャン。画像は自動的に PDF に変換されます。"
+instructionsNoConvert = "スマホのカメラでスキャンしてファイルをアップロード。"
+
+[mobileScanner]
+title = "モバイルスキャナー"
+noSession = "無効なセッション"
+noSessionMessage = "有効な QR コードをスキャンしてこのページにアクセスしてください。"
+validating = "セッションを検証中..."
+sessionInvalid = "セッションエラー"
+sessionExpired = "このセッションの有効期限が切れました。更新して再試行してください。"
+sessionNotFound = "セッションが見つかりません。更新して再試行してください。"
+sessionValidationError = "セッションを検証できません。もう一度お試しください。"
+uploadSuccess = "アップロード成功!"
+uploadSuccessMessage = "画像の転送が完了しました。"
+httpsRequired = "カメラアクセスには HTTPS または localhost が必要です。HTTPS を使用するか、localhost からアクセスしてください。"
+uploadFailed = "アップロードに失敗しました。もう一度お試しください。"
+uploading = "アップロード中..."
+connected = "接続済み"
+connecting = "接続中..."
+chooseMethod = "アップロード方法を選択"
+chooseMethodDescription = "文書のスキャンとアップロード方法を選択してください"
+camera = "カメラ"
+cameraDescription = "自動エッジ検出付きでデバイスのカメラを使って文書をスキャン"
+fileUpload = "ファイルアップロード"
+fileDescription = "デバイス内の既存の写真や文書をアップロード"
+cameraAccessDenied = "カメラへのアクセスが拒否されました。カメラアクセスを有効にしてください。"
+back = "戻る"
+settings = "設定"
+edgeDetection = "エッジ検出"
+flashlight = "フラッシュライト"
+flash = "フラッシュ"
+processing = "処理中..."
+capture = "撮影"
+selectFilesPrompt = "アップロードするファイルを選択"
+selectImage = "画像を選択"
+preview = "プレビュー"
+retake = "撮り直し"
+addToBatch = "バッチに追加"
+upload = "アップロード"
+batchImages = "バッチ"
+clearBatch = "クリア"
+uploadAll = "すべてアップロード"
diff --git a/frontend/public/locales/ko-KR/translation.toml b/frontend/public/locales/ko-KR/translation.toml
index 78bed1325..b89031d92 100644
--- a/frontend/public/locales/ko-KR/translation.toml
+++ b/frontend/public/locales/ko-KR/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "PDF에 저장되지 않은 변경 사항이 있습니다."
+pendingRedactionsTitle = "미적용 가리기"
+pendingRedactions = "적용되지 않은 가리기가 있으며, 손실됩니다."
areYouSure = "정말 떠나시겠습니까?"
unsavedChangesTitle = "저장되지 않은 변경 사항"
keepWorking = "계속 작업"
discardChanges = "폐기하고 나가기"
+discardRedactions = "삭제하고 나가기"
applyAndContinue = "저장하고 나가기"
exportAndContinue = "내보내고 계속"
cancel = "취소"
@@ -364,6 +367,7 @@ advanced = "고급"
title = "보안 및 인증"
security = "보안"
connections = "연결"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "라이선스 및 분석"
@@ -438,25 +442,34 @@ currentVersion = "현재 버전"
latestVersion = "최신 버전"
checkForUpdates = "업데이트 확인"
viewDetails = "자세히 보기"
+serverNeedsUpdate = "관리자가 서버를 업데이트해야 합니다"
+
+[settings.general.versionInfo]
+title = "버전 정보"
+description = "데스크톱 및 서버 버전 세부정보"
+desktop = "데스크톱 버전"
+server = "서버 버전"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "보안"
+description = "계정을 안전하게 유지하려면 비밀번호를 업데이트하세요."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "비밀번호를 변경합니다. 업데이트 후 로그아웃됩니다."
+required = "모든 항목은 필수입니다."
+mismatch = "새 비밀번호가 일치하지 않습니다."
+error = "비밀번호를 업데이트할 수 없습니다. 현재 비밀번호를 확인한 뒤 다시 시도하세요."
+success = "비밀번호가 성공적으로 업데이트되었습니다. 다시 로그인하세요."
+ssoDisabled = "비밀번호 변경은 ID 공급자에서 관리합니다."
+current = "현재 비밀번호"
+currentPlaceholder = "현재 비밀번호 입력"
+new = "새 비밀번호"
+newPlaceholder = "새 비밀번호 입력"
+confirm = "새 비밀번호 확인"
+confirmPlaceholder = "새 비밀번호 다시 입력"
+update = "비밀번호 업데이트"
+
+
[settings.hotkeys]
title = "키보드 단축키"
@@ -511,16 +524,16 @@ low = "낮음"
title = "자격 증명 변경"
header = "계정 정보 업데이트"
changePassword = "기본 로그인 자격 증명을 사용 중입니다. 새 비밀번호를 입력하세요"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "귀하의 계정은 ID 공급자에서 관리됩니다."
newUsername = "새 사용자 이름"
oldPassword = "현재 비밀번호"
newPassword = "새 비밀번호"
confirmNewPassword = "새 비밀번호 확인"
submit = "변경 사항 제출"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "계정이 업데이트되었습니다"
+description = "변경 사항이 저장되었습니다. 다시 로그인하세요."
+error = "사용자 이름을 업데이트할 수 없습니다. 비밀번호를 확인한 뒤 다시 시도하세요."
+changeUsername = "사용자 이름을 업데이트합니다. 업데이트 후 로그아웃됩니다."
[account]
title = "계정 설정"
@@ -528,6 +541,8 @@ accountSettings = "계정 설정"
adminSettings = "관리자 설정 - 사용자 보기 및 추가"
userControlSettings = "사용자 제어 설정"
changeUsername = "사용자 이름 변경"
+changeUsernameDescription = "사용자 이름을 업데이트합니다. 업데이트 후 로그아웃됩니다."
+newUsernamePlaceholder = "새 사용자 이름 입력"
newUsername = "새 사용자 이름"
password = "확인 비밀번호"
oldPassword = "이전 비밀번호"
@@ -737,9 +752,9 @@ title = "서명"
desc = "그리기, 텍스트 또는 이미지로 PDF에 서명 추가"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "주석,강조,그리기"
+title = "주석"
+desc = "뷰어에서 강조 표시, 그리기, 메모와 도형 추가"
[home.flatten]
tags = "단순화,제거,대화형"
@@ -952,7 +967,7 @@ title = "PDF 오버레이"
[home.pdfTextEditor]
title = "PDF 텍스트 편집기"
-desc = "PDF 내부의 기존 텍스트와 이미지를 편집합니다"
+desc = "그룹화된 텍스트 편집과 PDF 재생성으로 Stirling PDF의 JSON 내보내기를 검토하고 편집하세요"
[home.addText]
tags = "텍스트,주석,레이블"
@@ -963,6 +978,7 @@ desc = "PDF 어디에나 사용자 텍스트를 추가합니다"
addFiles = "파일 추가"
uploadFromComputer = "컴퓨터에서 업로드"
openFromComputer = "컴퓨터에서 열기"
+mobileUpload = "모바일에서 업로드"
[viewPdf]
tags = "보기,읽기,주석,텍스트,이미지"
@@ -1278,21 +1294,33 @@ cbzOptions = "CBZ → PDF 옵션"
optimizeForEbook = "전자책 리더기에 맞게 PDF 최적화(Ghostscript 사용)"
cbzOutputOptions = "PDF → CBZ 옵션"
cbzDpi = "이미지 렌더링용 DPI"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "CBR 옵션"
+cbrOutputOptions = "PDF에서 CBR로 옵션"
+cbrDpi = "이미지 렌더링용 DPI"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "eBook에서 PDF로 옵션"
+ebookOptionsDesc = "eBook을 PDF로 변환하는 옵션"
+embedAllFonts = "모든 글꼴 포함"
+embedAllFontsDesc = "eBook의 모든 글꼴을 생성된 PDF에 포함"
+includeTableOfContents = "목차 포함"
+includeTableOfContentsDesc = "결과 PDF에 생성된 목차 추가"
+includePageNumbers = "페이지 번호 포함"
+includePageNumbersDesc = "생성된 PDF에 페이지 번호 추가"
+optimizeForEbookPdf = "전자책 리더 최적화"
+optimizeForEbookPdfDesc = "eBook 읽기에 맞게 PDF 최적화(파일 크기 축소, eInk 기기에서 더 나은 렌더링)"
+
+[convert.epubOptions]
+epubOptions = "PDF에서 eBook으로 옵션"
+epubOptionsDesc = "PDF를 EPUB/AZW3로 변환하는 옵션"
+detectChapters = "챕터 감지"
+detectChaptersDesc = "챕터처럼 보이는 제목을 감지하여 EPUB 페이지 나누기 삽입"
+targetDevice = "대상 기기"
+targetDeviceDesc = "리더 기기에 최적화된 출력 프로필 선택"
+outputFormat = "출력 형식"
+outputFormatDesc = "eBook의 출력 형식 선택"
+tabletPhone = "태블릿/휴대폰(이미지 포함)"
+kindleEink = "Kindle e-Ink(텍스트 최적화)"
[imageToPdf]
tags = "변환,이미지,jpg,사진"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "첨부 파일 추가"
remove = "첨부 파일 제거"
embed = "첨부 파일 내장"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "PDF/A-3b로 변환"
+convertToPdfA3bDescription = "첨부 파일이 포함된 보관용 PDF를 생성합니다"
+convertToPdfA3bTooltip = "PDF/A-3b는 장기 보존을 보장하는 보관 형식입니다. 임의의 파일 형식을 첨부 파일로 포함할 수 있습니다. 변환에는 Ghostscript가 필요하며 큰 파일은 시간이 더 걸릴 수 있습니다."
+convertToPdfA3bTooltipHeader = "PDF/A-3b 변환 정보"
+convertToPdfA3bTooltipTitle = "기능"
submit = "Add attachments"
[watermark]
@@ -1962,8 +1990,8 @@ placeholder = "수정 날짜"
[changeMetadata.trapped]
label = "트래핑 상태"
unknown = "알 수 없음"
-true = "참"
-false = "거짓"
+true = "True"
+false = "False"
[changeMetadata.advanced]
title = "고급 옵션"
@@ -2359,10 +2387,10 @@ saved = "저장됨"
label = "서명 이미지 업로드"
placeholder = "이미지 파일 선택"
hint = "서명 PNG 또는 JPG 이미지를 업로드하세요"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "흰색 배경 제거(투명 처리)"
+processing = "이미지 처리 중..."
+backgroundRemovalFailedTitle = "배경 제거 실패"
+backgroundRemovalFailedMessage = "이미지에서 배경을 제거할 수 없습니다. 원본 이미지를 사용합니다."
[sign.instructions]
title = "서명 추가 방법"
@@ -2409,9 +2437,9 @@ label = "양식만 평면화"
desc = "양식 필드만 평탄화하고 다른 대화형 요소는 그대로 둡니다"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "렌더링 DPI(선택 사항, 권장 150 DPI)"
+help = "비워 두면 시스템 기본값을 사용합니다. DPI가 높을수록 출력이 선명하지만 처리 시간과 파일 크기가 증가합니다."
+placeholder = "예: 150"
[flatten.results]
title = "평탄화 결과"
@@ -2987,7 +3015,7 @@ header = "PDF 자르기"
submit = "제출"
noFileSelected = "자르기를 시작하려면 PDF 파일을 선택하세요"
reset = "전체 PDF로 재설정"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "여백 자동 자르기"
[crop.preview]
title = "자르기 영역 선택"
@@ -3218,6 +3246,7 @@ title = "가리기 방법"
mode = "모드"
automatic = "자동"
automaticDesc = "검색어 기준으로 텍스트 가리기"
+automaticDisabledTooltip = "한 번에 여러 파일을 가리려면 파일 관리자에서 파일을 선택하세요"
manual = "수동"
manualDesc = "드래그하여 특정 영역을 가리기"
manualComingSoon = "수동 가리기 곧 제공"
@@ -3288,8 +3317,35 @@ text = "완전한 단어만 일치시키며, 부분 일치는 제외합니다.
title = "PDF-Image로 변환"
text = "가리기 후 PDF를 이미지 기반 PDF로 변환합니다. 가리기 박스 뒤의 텍스트가 완전히 제거되어 복구할 수 없도록 보장합니다."
+[redact.tooltip.manual.header]
+title = "수동 가리기 컨트롤"
+
+[redact.tooltip.manual.markText]
+title = "텍스트 표시 도구"
+text = "PDF에서 텍스트를 직접 선택해 가리기로 표시하세요. 가릴 특정 텍스트를 강조하려면 클릭 후 드래그하세요."
+
+[redact.tooltip.manual.markArea]
+title = "영역 표시 도구"
+text = "PDF에 사각 영역을 그려 가릴 영역을 표시합니다. 이미지, 서명 또는 불규칙한 모양을 가릴 때 유용합니다."
+
+[redact.tooltip.manual.apply]
+title = "가리기 적용"
+text = "표시가 끝나면 '적용'을 클릭해 표시된 모든 영역을 영구적으로 가립니다. 대기 수는 적용할 가리기 개수를 나타냅니다."
+bullet1 = "적용 전 필요한 만큼 많은 영역을 표시하세요"
+bullet2 = "모든 대기 중인 가리기는 한 번에 적용됩니다"
+bullet3 = "적용 후에는 되돌릴 수 없습니다"
+
[redact.manual]
+title = "가리기 도구"
+instructions = "PDF에서 텍스트를 선택하거나 영역을 그려 가릴 콘텐츠를 표시하세요."
+markText = "텍스트 표시"
+markArea = "영역 표시"
+pendingLabel = "대기 중:"
+applyWarning = "⚠️ 영구 적용되며 되돌릴 수 없고, 아래 데이터는 삭제됩니다"
+apply = "적용"
+noMarks = "가리기 표시가 없습니다. 위 도구로 가릴 내용을 표시하세요."
header = "수동 가리기"
+controlsTitle = "수동 가리기 컨트롤"
textBasedRedaction = "텍스트 기반 가리기"
pageBasedRedaction = "페이지 기반 가리기"
convertPDFToImageLabel = "PDF를 PDF-Image로 변환(박스 뒤 텍스트 제거용)"
@@ -3406,17 +3462,17 @@ label = "수직 분할"
placeholder = "수직 분할 수 입력"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "분할 모드"
+description = "페이지를 분할하는 방법을 선택하세요"
+splitAll = "모든 페이지 분할"
+splitAllExceptFirst = "첫 페이지 제외 모두 분할"
+splitAllExceptLast = "마지막 페이지 제외 모두 분할"
+splitAllExceptFirstAndLast = "첫·마지막 페이지 제외 모두 분할"
+custom = "사용자 지정 페이지"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "사용자 지정 페이지 번호"
+placeholder = "예: 2,4,6"
[AddStampRequest]
tags = "스탬프,이미지 추가,중앙 이미지,워터마크,PDF,삽입,사용자 지정"
@@ -3780,17 +3836,17 @@ filesize = "파일 크기"
label = "압축을 위해 그레이스케일 적용"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "빠른 웹 보기를 위해 PDF 선형화"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "이미지를 선화로 변환"
+description = "ImageMagick을 사용해 페이지를 고대비 흑백으로 변환하여 파일 크기를 최대한 줄입니다."
+unavailable = "이 서버에 ImageMagick이 설치되지 않았거나 활성화되어 있지 않습니다"
+detailLevel = "세부 수준"
+edgeEmphasis = "가장자리 강조"
+edgeLow = "부드럽게"
+edgeMedium = "균형"
+edgeHigh = "강하게"
[compress.tooltip.header]
title = "압축 설정 개요"
@@ -3810,8 +3866,8 @@ title = "그레이스케일"
text = "이 옵션을 선택하면 모든 이미지를 흑백으로 변환합니다. 특히 스캔한 PDF나 이미지가 많은 문서의 파일 크기를 크게 줄일 수 있습니다."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "선화"
+text = "ImageMagick을 사용해 페이지를 고대비 흑백으로 변환합니다. 세부 수준은 얼마나 많은 콘텐츠를 검은색으로 만들지, 가장자리 강조는 가장자리를 얼마나 적극적으로 감지할지 제어합니다."
[compress.error]
failed = "PDF를 압축하는 중 오류가 발생했습니다."
@@ -3826,9 +3882,9 @@ _value = "압축 설정"
1 = "1-3 PDF 압축, 4-6 약한 이미지 압축, 7-9 강한 이미지 압축은 이미지 품질을 크게 낮춥니다"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "값이 낮을수록 품질은 유지되지만 파일 크기는 커집니다"
+range4to6 = "중간 압축으로 품질이 어느 정도 감소합니다"
+range7to9 = "값이 높을수록 파일 크기는 크게 줄지만 이미지 선명도가 낮아질 수 있습니다"
[decrypt]
passwordPrompt = "이 파일은 비밀번호로 보호되어 있습니다. 비밀번호를 입력하세요:"
@@ -4069,7 +4125,7 @@ deleteSelected = "선택한 페이지 삭제"
closePdf = "PDF 닫기"
exportAll = "PDF 내보내기"
downloadSelected = "선택한 파일 다운로드"
-annotations = "Annotations"
+annotations = "주석"
exportSelected = "선택한 페이지 내보내기"
saveChanges = "변경 내용 저장"
toggleTheme = "테마 전환"
@@ -4077,84 +4133,90 @@ language = "언어"
toggleAnnotations = "주석 가시성 전환"
search = "PDF 검색"
panMode = "이동 모드"
+applyRedactionsFirst = "먼저 가리기 적용"
rotateLeft = "왼쪽으로 회전"
rotateRight = "오른쪽으로 회전"
toggleSidebar = "사이드바 전환"
toggleBookmarks = "북마크 표시/숨기기"
print = "PDF 인쇄"
+draw = "그리기"
+redact = "가리기"
+exitRedaction = "가리기 모드 종료"
+save = "저장"
downloadAll = "전체 다운로드"
saveAll = "모두 저장"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "왼쪽"
+center = "가운데"
+right = "오른쪽"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "주석"
+desc = "강조, 펜, 텍스트, 메모를 사용하세요. 변경 사항은 실시간으로 유지되며 평탄화가 필요 없습니다."
+highlight = "강조 표시"
+pen = "펜"
+text = "텍스트 상자"
+note = "메모"
+rectangle = "사각형"
+ellipse = "타원"
+select = "선택"
+exit = "주석 모드 종료"
+strokeWidth = "너비"
+opacity = "불투명도"
+strokeOpacity = "선 불투명도"
+fillOpacity = "채우기 불투명도"
+fontSize = "글꼴 크기"
+chooseColor = "색상 선택"
+color = "색상"
+strokeColor = "선 색상"
+fillColor = "채우기 색상"
+underline = "밑줄"
+strikeout = "취소선"
+squiggly = "물결 밑줄"
+inkHighlighter = "자유형 형광펜"
+freehandHighlighter = "자유형 형광펜"
+square = "정사각형"
+circle = "원"
+polygon = "다각형"
+line = "선"
+stamp = "이미지 추가"
+textMarkup = "텍스트 마크업"
+drawing = "그리기"
+shapes = "도형"
+notesStamps = "메모 및 스탬프"
+settings = "설정"
+borderOn = "테두리: 켜짐"
+borderOff = "테두리: 꺼짐"
+editInk = "펜 편집"
+editLine = "선 편집"
+editNote = "메모 편집"
+editText = "텍스트 상자 편집"
+editTextMarkup = "텍스트 마크업 편집"
+editSelected = "주석 편집"
+editSquare = "사각형 편집"
+editCircle = "원 편집"
+editPolygon = "다각형 편집"
+unsupportedType = "이 주석 유형은 편집을 완전히 지원하지 않습니다."
+textAlignment = "텍스트 정렬"
+noteIcon = "메모 아이콘"
+imagePreview = "미리보기"
+contents = "텍스트"
+backgroundColor = "배경색"
+clearBackground = "배경 제거"
+noBackground = "배경 없음"
+stampSettings = "스탬프 설정"
+savingCopy = "다운로드 준비 중..."
+saveFailed = "사본을 저장할 수 없습니다"
+saveReady = "다운로드 준비됨"
+selectAndMove = "선택 및 편집"
+editSelectDescription = "기존 주석을 클릭해 색상, 불투명도, 텍스트, 크기를 편집하세요."
+editStampHint = "이미지를 변경하려면 이 스탬프를 삭제하고 새로 추가하세요."
+editSwitchToSelect = "이 주석을 편집하려면 선택 및 편집으로 전환하세요."
+undo = "실행 취소"
+redo = "다시 실행"
+applyChanges = "변경 사항 적용"
+saveChanges = "변경 사항 저장"
[search]
title = "PDF 검색"
@@ -4205,20 +4267,20 @@ settings = "설정"
adminSettings = "관리자 설정"
allTools = "All Tools"
reader = "리더"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "둘러보기"
+showMeAround = "둘러보기 시작"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "여기에서 둘러보기를 시청하세요: 도구 둘러보기, 새 V2 레이아웃 둘러보기, 관리자 둘러보기."
+user = "여기에서 둘러보기를 시청하세요: 도구 둘러보기와 새 V2 레이아웃 둘러보기."
[quickAccess.helpMenu]
toolsTour = "도구 둘러보기"
toolsTourDesc = "도구로 할 수 있는 일을 알아보세요"
adminTour = "관리자 둘러보기"
adminTourDesc = "관리자 설정 및 기능을 살펴보세요"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "V2의 새로운 기능 보기"
+whatsNewTourDesc = "업데이트된 레이아웃 둘러보기"
[admin]
error = "오류"
@@ -4237,6 +4299,8 @@ fetchError = "설정을 불러오지 못했습니다"
saveError = "설정을 저장하지 못했습니다"
saved = "설정이 성공적으로 저장되었습니다"
saveSuccess = "설정이 성공적으로 저장되었습니다"
+success = "설정을 성공적으로 저장했습니다"
+error = "설정을 저장하지 못했습니다"
save = "변경 사항 저장"
discard = "버리기"
restartRequired = "재시작 필요"
@@ -4360,6 +4424,13 @@ description = "HTML to PDF 변환을 위한 WeasyPrint 실행 파일 경로(기
label = "Unoconvert 실행 파일"
description = "문서 변환을 위한 LibreOffice unoconvert 경로(기본값 사용 시 비워두세요: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "프런트엔드 URL"
+description = "프런트엔드의 기본 URL(예: https://pdf.example.com). 이메일 초대 링크와 모바일 QR 코드 업로드에 사용됩니다. 비워 두면 백엔드 URL을 사용합니다."
+
+[admin.settings.badge]
+clickToUpgrade = "클릭하여 플랜 상세 보기"
+
[admin.settings.security]
title = "보안"
description = "인증, 로그인 동작 및 보안 정책을 구성합니다."
@@ -4436,7 +4507,7 @@ description = "컴플라이언스 및 보안 모니터링을 위해 사용자
[admin.settings.security.audit.level]
label = "감사 수준"
-description = "0=끄기, 1=기본, 2=표준, 3=상세"
+description = "0=OFF, 1=BASIC, 2=STANDARD, 3=VERBOSE"
[admin.settings.security.audit.retentionDays]
label = "감사 로그 보존 기간(일)"
@@ -4496,6 +4567,19 @@ connect = "연결"
disconnect = "연결 해제"
disconnected = "제공자가 성공적으로 연결 해제되었습니다"
disconnectError = "제공자 연결 해제에 실패했습니다"
+mobileScannerConvertToPdf = "이미지를 PDF로 변환"
+mobileScannerConvertToPdfDesc = "업로드된 이미지를 자동으로 PDF 형식으로 변환합니다. 비활성화하면 이미지는 원본 그대로 유지됩니다."
+mobileScannerImageResolution = "이미지 해상도"
+mobileScannerImageResolutionDesc = "업로드 이미지의 해상도입니다. \"축소\"는 최대 1200px로 축소해 파일 크기를 줄입니다."
+imageResolutionFull = "전체(원본 크기)"
+imageResolutionReduced = "축소(최대 1200px)"
+mobileScannerPageFormat = "페이지 형식"
+mobileScannerPageFormatDesc = "변환된 이미지의 PDF 페이지 크기입니다. \"유지\"는 원본 이미지 크기를 사용합니다."
+pageFormatKeep = "유지(원본 크기)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11인치)"
+mobileScannerStretchToFit = "맞춤 확대/축소"
+mobileScannerStretchToFitDesc = "이미지를 페이지 전체에 맞도록 늘립니다. 비활성화하면 종횡비를 유지한 채 가운데 정렬됩니다."
[admin.settings.connections.ssoAutoLogin]
label = "SSO 자동 로그인"
@@ -4564,6 +4648,122 @@ description = "첫 SAML2 로그인 시 사용자 계정을 자동으로 생성"
label = "등록 차단"
description = "SAML2를 통한 신규 사용자 등록 방지"
+[admin.settings.connections.mobileScanner]
+label = "모바일 업로드"
+enable = "QR 코드 업로드 활성화"
+description = "사용자가 QR 코드를 스캔해 모바일 기기에서 파일을 업로드하도록 허용"
+note = "참고: 프런트엔드 URL 구성이 필요합니다. "
+link = "시스템 설정에서 구성"
+mobileScannerConvertToPdf = "이미지를 PDF로 변환"
+mobileScannerConvertToPdfDesc = "업로드된 이미지를 자동으로 PDF 형식으로 변환합니다. 비활성화하면 이미지는 원본 그대로 유지됩니다."
+mobileScannerImageResolution = "이미지 해상도"
+mobileScannerImageResolutionDesc = "업로드 이미지의 해상도입니다. \"축소\"는 최대 1200px로 축소해 파일 크기를 줄입니다."
+imageResolutionFull = "전체(원본 크기)"
+imageResolutionReduced = "축소(최대 1200px)"
+mobileScannerPageFormat = "페이지 형식"
+mobileScannerPageFormatDesc = "변환된 이미지의 PDF 페이지 크기입니다. \"유지\"는 원본 이미지 크기를 사용합니다."
+pageFormatKeep = "유지(원본 크기)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11인치)"
+mobileScannerStretchToFit = "맞춤 확대/축소"
+mobileScannerStretchToFitDesc = "이미지를 페이지 전체에 맞도록 늘립니다. 비활성화하면 종횡비를 유지한 채 가운데 정렬됩니다."
+
+[admin.settings.telegram]
+title = "Telegram 봇"
+description = "Telegram 봇 연결, 접근 제어, 피드백 동작을 구성합니다."
+
+[admin.settings.telegram.enabled]
+label = "Telegram 봇 활성화"
+description = "구성한 Telegram 봇을 통해 사용자가 Stirling PDF와 상호작용하도록 허용합니다."
+
+[admin.settings.telegram.botUsername]
+label = "봇 사용자 이름"
+description = "Telegram 봇의 공개 사용자 이름입니다."
+
+[admin.settings.telegram.botToken]
+label = "봇 토큰"
+description = "Telegram 봇을 위한 BotFather 제공 API 토큰입니다."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "수신함 폴더"
+description = "수신되는 Telegram 파일이 저장될 파이프라인 디렉터리 아래의 폴더입니다."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "커스텀 폴더 접미사 사용"
+description = "채팅 ID를 수신 파일 폴더에 추가해 채팅별 업로드를 분리합니다."
+
+[admin.settings.telegram.accessControl]
+title = "접근 제어"
+description = "봇과 상호작용할 수 있는 사용자 또는 채널을 제한합니다."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "특정 사용자 ID 허용"
+description = "활성화 시, 목록에 있는 사용자 ID만 봇을 사용할 수 있습니다."
+
+[admin.settings.telegram.allowUserIDs]
+label = "허용된 사용자 ID"
+description = "봇과 상호작용을 허용할 Telegram 사용자 ID를 입력하세요."
+placeholder = "사용자 ID를 추가하고 Enter 키를 누르세요"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "특정 채널 ID 허용"
+description = "활성화 시, 목록에 있는 채널 ID만 봇을 사용할 수 있습니다."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "허용된 채널 ID"
+description = "봇과 상호작용을 허용할 Telegram 채널 ID를 입력하세요."
+placeholder = "채널 ID를 추가하고 Enter 키를 누르세요"
+
+[admin.settings.telegram.processing]
+title = "처리"
+description = "Telegram 업로드의 폴링 간격과 처리 시간 제한을 제어합니다."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "처리 시간 제한(초)"
+description = "오류를 보고하기 전 처리 작업을 대기할 최대 시간입니다."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "폴링 간격(ms)"
+description = "새로운 Telegram 업데이트 확인 간격입니다."
+
+[admin.settings.telegram.feedback]
+title = "피드백 메시지"
+description = "봇이 사용자 및 채널에 피드백을 보낼 시점을 선택합니다."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "피드백 활성화"
+description = "봇이 피드백 메시지를 보낼지 여부를 제어합니다."
+
+[admin.settings.telegram.feedback.channel]
+title = "채널 피드백 규칙"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "\"유효한 문서 없음\" 표시(채널)"
+description = "채널 업로드에 대해 유효한 문서 없음 응답을 표시하지 않습니다."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "처리 오류 표시(채널)"
+description = "채널에 처리 오류 메시지를 보냅니다."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "오류 메시지 표시(채널)"
+description = "채널에 상세 오류 메시지를 표시합니다."
+
+[admin.settings.telegram.feedback.user]
+title = "사용자 피드백 규칙"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "\"유효한 문서 없음\" 표시(사용자)"
+description = "사용자 업로드에 대해 유효한 문서 없음 응답을 표시하지 않습니다."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "처리 오류 표시(사용자)"
+description = "사용자에게 처리 오류 메시지를 보냅니다."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "오류 메시지 표시(사용자)"
+description = "사용자에게 상세 오류 메시지를 표시합니다."
+
[admin.settings.database]
title = "데이터베이스"
description = "엔터프라이즈 배포를 위한 사용자 지정 데이터베이스 연결 설정을 구성합니다."
@@ -4690,7 +4890,7 @@ description = "더 넓은 시스템 임시 디렉터리를 정리할지 여부(
label = "프로세스 실행기 제한"
description = "각 프로세스 실행기의 세션 제한 및 시간 제한을 구성합니다"
libreOffice = "LibreOffice"
-pdfToHtml = "PDF를 HTML로"
+pdfToHtml = "PDF to HTML"
qpdf = "QPDF"
tesseract = "Tesseract OCR"
pythonOpenCv = "Python OpenCV"
@@ -4745,6 +4945,10 @@ description = "관리자가 자동 생성 비밀번호로 이메일을 통해
label = "프런트엔드 URL"
description = "프런트엔드의 기본 URL(예: https://pdf.example.com). 이메일의 초대 링크 생성에 사용됩니다. 비워두면 백엔드 URL을 사용합니다."
+[admin.settings.mail.frontendUrlNote]
+note = "참고: 프런트엔드 URL 구성이 필요합니다. "
+link = "시스템 설정에서 구성"
+
[admin.settings.legal]
title = "법적 문서"
description = "법적 문서 및 정책에 대한 링크를 구성합니다."
@@ -4770,7 +4974,7 @@ label = "쿠키 정책"
description = "쿠키 정책의 URL 또는 파일 이름"
[admin.settings.legal.impressum]
-label = "법적 고지"
+label = "Impressum"
description = "Impressum의 URL 또는 파일 이름(일부 관할권에서 필수)"
[admin.settings.premium]
@@ -4929,6 +5133,9 @@ googleDriveShort = "드라이브"
myFiles = "내 파일"
noRecentFiles = "최근 파일이 없습니다"
googleDriveNotAvailable = "Google Drive 통합을 사용할 수 없습니다"
+mobileUpload = "모바일 업로드"
+mobileShort = "모바일"
+mobileUploadNotAvailable = "모바일 업로드가 활성화되어 있지 않습니다"
downloadSelected = "선택 항목 다운로드"
saveSelected = "선택 항목 저장"
openFiles = "파일 열기"
@@ -5244,7 +5451,7 @@ loading = "불러오는 중..."
back = "뒤로"
continue = "계속"
error = "오류"
-save = "Save"
+save = "저장"
[config.overview]
title = "애플리케이션 구성"
@@ -5307,6 +5514,15 @@ impact = "현재 이 키를 사용하는 애플리케이션이나 서비스는
confirmPrompt = "계속하시겠습니까?"
confirmCta = "키 새로고침"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "API 키 오류"
+failedToCreateApiKey = "API 키를 생성하지 못했습니다."
+failedToRetrieveApiKey = "응답에서 API 키를 가져오지 못했습니다."
+failedToFetchApiKey = "API 키를 가져오지 못했습니다."
+apiKeyRefreshed = "API 키 새로 고침"
+apiKeyRefreshedBody = "API 키가 성공적으로 새로 고쳐졌습니다."
+failedToRefreshApiKey = "API 키를 새로 고치지 못했습니다."
+
[AddAttachmentsRequest]
attachments = "첨부 파일 선택"
info = "PDF에 첨부할 파일을 선택하세요. 선택한 파일은 포함되며 PDF의 첨부 패널을 통해 접근할 수 있습니다."
@@ -5412,14 +5628,14 @@ startTour = "투어 시작"
startTourDescription = "Stirling PDF의 주요 기능을 둘러보는 가이드 투어"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Reader, Automate, 내 파일, 모든 둘러보기로 이동하려면 빠른 실행 레일에서 시작하세요."
+leftPanel = "왼쪽 도구 패널에 가능한 작업이 모두 나열됩니다. 카테고리를 탐색하거나 검색해 빠르게 도구를 찾으세요."
+fileUpload = "파일 버튼으로 PDF를 업로드하거나 최근 파일을 선택하세요. 작업 공간을 확인할 수 있도록 샘플을 불러옵니다."
+rightRail = "오른쪽 레일에는 파일 선택, 테마/언어 변경, 결과 다운로드 등 빠른 작업이 있습니다."
+topBar = "상단 바에서 뷰어, 페이지 편집기, 활성 파일 간 전환할 수 있습니다."
+pageEditorView = "페이지 편집기로 전환해 페이지를 재정렬, 회전 또는 삭제하세요."
+activeFilesView = "활성 파일에서 열려 있는 모든 항목을 보고 작업할 대상을 선택하세요."
+wrapUp = "이것이 V2의 새로운 점입니다. 언제든지 둘러보기 메뉴를 열어 이 둘러보기, 도구 둘러보기, 관리자 둘러보기를 다시 시청하세요."
[onboarding.welcomeModal]
title = "Stirling PDF에 오신 것을 환영합니다!"
@@ -5442,8 +5658,8 @@ showMeAround = "둘러보기"
skipTheTour = "투어 건너뛰기"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "둘러보기 개요"
+body = "Stirling PDF V2는 수십 가지 도구와 새로워진 레이아웃을 제공합니다. 변경된 점과 필요한 기능을 어디서 찾는지 빠르게 둘러보세요."
[onboarding.serverLicense]
skip = "나중에 건너뛰기"
@@ -5452,7 +5668,7 @@ upgrade = "지금 업그레이드 →"
freeTitle = "서버 라이선스"
overLimitTitle = "서버 라이선스 필요"
overLimitBody = "당사의 라이선스는 서버당 무료로 최대 {{freeTierLimit}}명의 사용자를 허용합니다. 현재 {{overLimitUserCopy}}명의 Stirling 사용자가 있습니다. 중단 없이 계속 사용하려면 Stirling Server 플랜으로 업그레이드하세요 - 무제한 좌석, PDF 텍스트 편집, 전체 관리자 제어 제공, $99/서버/월."
-freeBody = "당사의 Open-Core 라이선스는 서버당 최대 {{freeTierLimit}}명의 사용자를 무료로 허용합니다. 중단 없이 확장하려면 Stirling Server 플랜을 권장합니다 - 무제한 좌석 및 SSO 지원, $99/서버/월."
+freeBody = "당사의 Open-Core 라이선스는 서버당 최대 {{freeTierLimit}}명의 사용자를 무료로 허용합니다. 중단 없이 확장하고 새로운 PDF 텍스트 편집 도구에 조기 액세스하려면 Stirling Server 플랜을 권장합니다 - 전체 편집과 무제한 좌석을 $99/서버/월에 제공합니다."
[onboarding.desktopInstall]
title = "다운로드"
@@ -5758,28 +5974,28 @@ contactSales = "영업팀 문의"
contactToUpgrade = "요금제 업그레이드 또는 맞춤 설정은 문의해 주세요"
maxUsers = "최대 사용자 수"
upTo = "최대"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "서버 라이선스 받기"
+upgradeToEnterprise = "엔터프라이즈로 업그레이드"
+selectPeriod = "결제 주기 선택"
+monthlyBilling = "월별 결제"
+yearlyBilling = "연간 결제"
+checkoutOpened = "결제 창 열림"
+checkoutInstructions = "Stripe 탭에서 결제를 완료하세요. 결제 후 이곳으로 돌아와 페이지를 새로고침하면 라이선스가 활성화됩니다. 라이선스 키가 포함된 이메일도 발송됩니다."
+activateLicense = "라이선스 활성화"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "새 탭에서 결제 창 열림"
+instructions = "Stripe 탭에서 결제를 완료하세요. 결제가 완료되면 라이선스 키가 이메일로 전송됩니다."
+enterKey = "플랜을 활성화하려면 아래에 라이선스 키를 입력하세요:"
+keyDescription = "이메일의 라이선스 키를 붙여넣으세요"
+activate = "라이선스 활성화"
+doLater = "나중에 진행"
+success = "라이선스 활성화됨!"
+successMessage = "라이선스가 성공적으로 활성화되었습니다. 이제 이 창을 닫아도 됩니다."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "이메일 인증 필요"
+message = "Stripe 청구 포털에서 이메일 주소를 인증해야 합니다. 이메일의 로그인 링크를 확인하세요."
[plan.period]
month = "월"
@@ -5983,8 +6199,8 @@ notAvailable = "감사 시스템을 사용할 수 없습니다"
notAvailableMessage = "감사 시스템이 구성되어 있지 않거나 사용할 수 없습니다."
disabled = "감사 로깅이 비활성화되었습니다"
disabledMessage = "시스템 이벤트를 추적하려면 애플리케이션 구성에서 감사 로깅을 활성화하세요."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "엔터프라이즈 라이선스 필요"
+enterpriseRequiredMessage = "감사 로깅 시스템은 엔터프라이즈 기능입니다. 감사 로그와 분석에 접근하려면 엔터프라이즈 라이선스로 업그레이드하세요."
[audit.error]
title = "감사 시스템을 불러오는 중 오류"
@@ -6156,6 +6372,7 @@ description = "자가 호스팅 Stirling PDF 서버의 전체 URL을 입력하
[setup.server.error]
emptyUrl = "서버 URL을 입력하세요"
+invalidUrl = "잘못된 URL 형식입니다. https://your-server.com 같은 올바른 URL을 입력하세요"
unreachable = "서버에 연결할 수 없습니다"
testFailed = "연결 테스트에 실패했습니다"
configFetch = "서버 구성을 가져오지 못했습니다. URL을 확인하고 다시 시도하세요."
@@ -6174,6 +6391,7 @@ connectingTo = "연결 대상:"
submit = "로그인"
signInWith = "다음으로 로그인"
oauthPending = "인증을 위해 브라우저를 여는 중..."
+sso = "Single Sign-On"
orContinueWith = "또는 이메일로 계속"
serverRequirement = "참고: 서버에서 로그인 기능이 활성화되어 있어야 합니다."
showInstructions = "활성화 방법"
@@ -6239,8 +6457,8 @@ reset = "변경 사항 초기화"
downloadJson = "JSON 다운로드"
generatePdf = "PDF 생성"
saveChanges = "변경 사항 저장"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "변경 사항 적용"
+downloadCopy = "사본 다운로드"
[pdfTextEditor.options.autoScaleText]
title = "텍스트 자동 크기 조정"
@@ -6260,22 +6478,22 @@ title = "편집된 텍스트를 단일 PDF 요소로 고정"
description = "활성화하면 겹치는 글리프나 혼합 폰트를 피하기 위해 편집된 각 텍스트 상자를 하나의 PDF 텍스트 요소로 내보냅니다."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "고급 설정"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "미리보기 제한사항"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "텍스트 및 이미지 중심"
+text = "이 작업 공간은 텍스트 편집과 포함된 이미지 재배치에 중점을 둡니다. 복잡한 페이지 아트워크, 양식 위젯, 레이어드 그래픽은 내보내기를 위해 보존되지만 여기서는 완전히 편집할 수 없습니다."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "미리보기 차이"
+text = "표 테두리, 도형, 주석 표시 등 일부 시각 요소는 미리보기에서 정확히 표시되지 않을 수 있습니다. 내보낸 PDF는 가능하면 원래 그리기 명령을 유지합니다."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "알파 뷰어"
+text = "이 알파 뷰어는 아직 발전 중입니다. 일부 글꼴, 색상, 투명 효과, 레이아웃 세부사항이 약간 달라질 수 있습니다. 공유 전 생성된 PDF를 꼭 다시 확인하세요."
[pdfTextEditor.manual]
mergeTooltip = "선택 항목 병합"
@@ -6398,3 +6616,58 @@ title = "텍스트 추가 결과"
[addText.error]
failed = "PDF에 텍스트를 추가하는 중 오류가 발생했습니다."
+
+[mobileUpload]
+title = "모바일에서 업로드"
+description = "스캔하여 사진을 업로드하세요. 이미지는 자동으로 PDF로 변환됩니다."
+descriptionNoConvert = "모바일 기기에서 사진을 스캔해 업로드하세요."
+error = "연결 오류"
+pollingError = "파일 확인 중 오류"
+sessionId = "세션 ID"
+sessionCreateError = "세션을 생성하지 못했습니다"
+expiryWarning = "세션 만료 임박"
+expiryWarningMessage = "이 QR 코드는 {{seconds}}초 후 만료됩니다. 새 코드가 자동으로 생성됩니다."
+filesReceived = "파일 {{count}}개 수신됨"
+connected = "모바일 기기 연결됨"
+instructions = "휴대폰 카메라로 스캔하세요. 이미지는 자동으로 PDF로 변환됩니다."
+instructionsNoConvert = "휴대폰 카메라로 스캔해 파일을 업로드하세요."
+
+[mobileScanner]
+title = "모바일 스캐너"
+noSession = "잘못된 세션"
+noSessionMessage = "이 페이지에 접근하려면 유효한 QR 코드를 스캔하세요."
+validating = "세션 검증 중..."
+sessionInvalid = "세션 오류"
+sessionExpired = "이 세션은 만료되었습니다. 새로고침 후 다시 시도하세요."
+sessionNotFound = "세션을 찾을 수 없습니다. 새로고침 후 다시 시도하세요."
+sessionValidationError = "세션을 확인할 수 없습니다. 다시 시도하세요."
+uploadSuccess = "업로드 성공!"
+uploadSuccessMessage = "이미지가 전송되었습니다."
+httpsRequired = "카메라 접근에는 HTTPS 또는 localhost가 필요합니다. HTTPS를 사용하거나 localhost로 접근하세요."
+uploadFailed = "업로드에 실패했습니다. 다시 시도하세요."
+uploading = "업로드 중..."
+connected = "연결됨"
+connecting = "연결 중..."
+chooseMethod = "업로드 방법 선택"
+chooseMethodDescription = "문서를 스캔하고 업로드할 방법을 선택하세요"
+camera = "카메라"
+cameraDescription = "기기 카메라로 자동 가장자리 감지와 함께 문서를 스캔"
+fileUpload = "파일 업로드"
+fileDescription = "기기의 기존 사진 또는 문서를 업로드"
+cameraAccessDenied = "카메라 접근이 거부되었습니다. 카메라 접근을 허용하세요."
+back = "뒤로"
+settings = "설정"
+edgeDetection = "가장자리 감지"
+flashlight = "손전등"
+flash = "플래시"
+processing = "처리 중..."
+capture = "사진 촬영"
+selectFilesPrompt = "업로드할 파일 선택"
+selectImage = "이미지 선택"
+preview = "미리보기"
+retake = "다시 찍기"
+addToBatch = "배치에 추가"
+upload = "업로드"
+batchImages = "배치"
+clearBatch = "지우기"
+uploadAll = "모두 업로드"
diff --git a/frontend/public/locales/ml-ML/translation.toml b/frontend/public/locales/ml-ML/translation.toml
index 727060b27..7b65eb76c 100644
--- a/frontend/public/locales/ml-ML/translation.toml
+++ b/frontend/public/locales/ml-ML/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "നിങ്ങളുടെ PDF-ിൽ സംരക്ഷിക്കാത്ത മാറ്റങ്ങൾ ഉണ്ട്."
+pendingRedactionsTitle = "പ്രയോഗിച്ചിട്ടില്ലാത്ത റെഡാക്ഷനുകൾ"
+pendingRedactions = "നിങ്ങൾ പ്രയോഗിച്ചിട്ടില്ലാത്ത റെഡാക്ഷനുകൾ ഉണ്ട്; അവ നഷ്ടപ്പെടും."
areYouSure = "നിങ്ങൾക്ക് പോകണമെന്ന് തീർച്ചയാണോ?"
unsavedChangesTitle = "സംരക്ഷിക്കാത്ത മാറ്റങ്ങൾ"
keepWorking = "തുടർന്നു പ്രവർത്തിക്കുക"
discardChanges = "മാറ്റങ്ങൾ ഉപേക്ഷിച്ച് പുറത്ത് പോകുക"
+discardRedactions = "റദ്ദാക്കി പുറത്ത് പോകുക"
applyAndContinue = "സേവ് ചെയ്ത് പുറത്ത് പോകുക"
exportAndContinue = "എക്സ്പോർട്ട് ചെയ്ത് തുടരുക"
cancel = "റദ്ദാക്കുക"
@@ -131,7 +134,7 @@ unsupported = "പിന്തുണയില്ല"
[toolPanel]
placeholder = "തുടങ്ങാൻ ഒരു ടൂൾ തിരഞ്ഞെടുക്കുക"
-alpha = "ആൽഫ"
+alpha = "Alpha"
premiumFeature = "പ്രീമിയം ഫീച്ചർ:"
comingSoon = "വരുന്നു:"
@@ -364,6 +367,7 @@ advanced = "അഡ്വാൻസ്ഡ്"
title = "സുരക്ഷയും ഓതന്റിക്കേഷനും"
security = "സുരക്ഷ"
connections = "കണക്ഷനുകൾ"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "ലൈസൻസിംഗും അനലിറ്റിക്സും"
@@ -378,7 +382,7 @@ privacy = "സ്വകാര്യത"
[settings.developer]
title = "ഡെവലപ്പർ"
-apiKeys = "API കീകൾ"
+apiKeys = "API Keys"
[settings.tooltips]
enableLoginFirst = "ആദ്യം ലോഗിൻ മോഡ് സജീവമാക്കുക"
@@ -438,25 +442,34 @@ currentVersion = "ഇപ്പോഴത്തെ പതിപ്പ്"
latestVersion = "പുതിയ പതിപ്പ്"
checkForUpdates = "അപ്ഡേറ്റുകൾ പരിശോധിക്കുക"
viewDetails = "വിശദാംശങ്ങൾ കാണുക"
+serverNeedsUpdate = "സെർവർ അഡ്മിനിസ്ട്രേറ്റർ അപ്ഡേറ്റ് ചെയ്യണം"
+
+[settings.general.versionInfo]
+title = "പതിപ്പ് വിവരം"
+description = "ഡെസ്ക്ടോപ്പിന്റെയും സെർവറിന്റെയും പതിപ്പ് വിവരങ്ങൾ"
+desktop = "ഡെസ്ക്ടോപ് പതിപ്പ്"
+server = "സെർവർ പതിപ്പ്"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "സുരക്ഷ"
+description = "അക്കൗണ്ട് സുരക്ഷിതമായി നിലനിർത്താൻ പാസ്വേഡ് അപ്ഡേറ്റ് ചെയ്യുക."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "പാസ്വേഡ് മാറ്റുക. അപ്ഡേറ്റിനുശേഷം നിങ്ങൾ ലോഗ് ഔട്ട് ചെയ്യപ്പെടും."
+required = "എല്ലാ ഫീൽഡുകളും നിർബന്ധമാണ്."
+mismatch = "പുതിയ പാസ്വേഡുകൾ പൊരുത്തപ്പെടുന്നില്ല."
+error = "പാസ്വേഡ് അപ്ഡേറ്റ് ചെയ്യാൻ കഴിഞ്ഞില്ല. നിങ്ങളുടെ നിലവിലെ പാസ്വേഡ് ശരിയാണ് എന്ന് ഉറപ്പാക്കി വീണ്ടും ശ്രമിക്കുക."
+success = "പാസ്വേഡ് വിജയകരമായി അപ്ഡേറ്റ് ചെയ്തു. ദയവായി വീണ്ടും സൈൻ ഇൻ ചെയ്യുക."
+ssoDisabled = "പാസ്വേഡ് മാറ്റങ്ങൾ നിങ്ങളുടെ ഐഡന്റിറ്റി പ്രൊവൈഡർ കൈകാര്യം ചെയ്യുന്നു."
+current = "ഇപ്പോൾ ഉള്ള പാസ്വേഡ്"
+currentPlaceholder = "നിലവിലെ പാസ്വേഡ് നൽകുക"
+new = "പുതിയ പാസ്വേഡ്"
+newPlaceholder = "പുതിയ പാസ്വേഡ് നൽകുക"
+confirm = "പുതിയ പാസ്വേഡ് സ്ഥിരീകരിക്കുക"
+confirmPlaceholder = "നിങ്ങളുടെ പുതിയ പാസ്വേഡ് വീണ്ടും നൽകുക"
+update = "പാസ്വേഡ് അപ്ഡേറ്റ് ചെയ്യുക"
+
+
[settings.hotkeys]
title = "കീബോർഡ് ഷോർട്ട്കട്ടുകൾ"
@@ -511,16 +524,16 @@ low = "താഴ്ന്നത്"
title = "വിവരങ്ങൾ മാറ്റുക"
header = "നിങ്ങളുടെ അക്കൗണ്ട് വിവരങ്ങൾ അപ്ഡേറ്റ് ചെയ്യുക"
changePassword = "നിങ്ങൾ സ്ഥിര ലോഗിൻ വിവരങ്ങളാണ് ഉപയോഗിക്കുന്നത്. ദയവായി ഒരു പുതിയ പാസ്വേഡ് നൽകുക"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "നിങ്ങളുടെ അക്കൗണ്ട് നിങ്ങളുടെ ഐഡന്റിറ്റി പ്രൊവൈഡർ കൈകാര്യം ചെയ്യുന്നു."
newUsername = "പുതിയ ഉപയോക്തൃനാമം"
oldPassword = "നിലവിലെ പാസ്വേഡ്"
newPassword = "പുതിയ പാസ്വേഡ്"
confirmNewPassword = "പുതിയ പാസ്വേഡ് സ്ഥിരീകരിക്കുക"
submit = "മാറ്റങ്ങൾ സമർപ്പിക്കുക"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "അക്കൗണ്ട് അപ്ഡേറ്റ് ചെയ്തു"
+description = "മാറ്റങ്ങൾ സംരക്ഷിച്ചു. ദയവായി വീണ്ടും ലോഗിൻ ചെയ്യുക."
+error = "യൂസർനെയിം അപ്ഡേറ്റ് ചെയ്യാൻ കഴിഞ്ഞില്ല. നിങ്ങളുടെ പാസ്വേഡ് ശരിയെന്ന് ഉറപ്പാക്കി വീണ്ടും ശ്രമിക്കുക."
+changeUsername = "നിങ്ങളുടെ യൂസർനെയിം അപ്ഡേറ്റ് ചെയ്യുക. അപ്ഡേറ്റിന് ശേഷം നിങ്ങൾ ലോഗ് ഔട്ട് ചെയ്യപ്പെടും."
[account]
title = "അക്കൗണ്ട് ക്രമീകരണങ്ങൾ"
@@ -528,6 +541,8 @@ accountSettings = "അക്കൗണ്ട് ക്രമീകരണങ്ങ
adminSettings = "അഡ്മിൻ ക്രമീകരണങ്ങൾ - ഉപയോക്താക്കളെ കാണുക, ചേർക്കുക"
userControlSettings = "ഉപയോക്തൃ നിയന്ത്രണ ക്രമീകരണങ്ങൾ"
changeUsername = "ഉപയോക്തൃനാമം മാറ്റുക"
+changeUsernameDescription = "നിങ്ങളുടെ യൂസർനെയിം അപ്ഡേറ്റ് ചെയ്യുക. അപ്ഡേറ്റിന് ശേഷം നിങ്ങൾ ലോഗ് ഔട്ട് ചെയ്യപ്പെടും."
+newUsernamePlaceholder = "നിങ്ങളുടെ പുതിയ യൂസർനെയിം നൽകുക"
newUsername = "പുതിയ ഉപയോക്തൃനാമം"
password = "സ്ഥിരീകരണ പാസ്വേഡ്"
oldPassword = "പഴയ പാസ്വേഡ്"
@@ -737,9 +752,9 @@ title = "ഒപ്പിടുക"
desc = "വരച്ചോ, ടെക്സ്റ്റ് ഉപയോഗിച്ചോ, ചിത്രം ഉപയോഗിച്ചോ PDF-ൽ ഒപ്പ് ചേർക്കുന്നു"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "അനോട്ടേറ്റ്,ഹൈലൈറ്റ്,വരയ്ക്കുക"
+title = "അനോട്ടേറ്റ്"
+desc = "വ്യൂവറിൽ ഹൈലൈറ്റ് ചെയ്യുക, വരയ്ക്കുക, കുറിപ്പുകളും രൂപങ്ങളും ചേർക്കുക"
[home.flatten]
tags = "ലളിതമാക്കുക,നീക്കം ചെയ്യുക,ഇന്ററാക്ടീവ്"
@@ -747,7 +762,7 @@ title = "പരത്തുക"
desc = "ഒരു PDF-ൽ നിന്ന് എല്ലാ ഇന്ററാക്ടീവ് ഘടകങ്ങളും ഫോമുകളും നീക്കം ചെയ്യുക"
[home.certSign]
-tags = "പ്രാമാണീകരണം,PEM,P12,ഔദ്യോഗികം,എൻക്രിപ്റ്റ്,സൈൻ,സർട്ടിഫിക്കറ്റ്,PKCS12,JKS,സെർവർ,മാനുവൽ,ഓട്ടോ"
+tags = "authenticate,PEM,P12,official,encrypt,sign,certificate,PKCS12,JKS,server,manual,auto"
title = "സർട്ടിഫിക്കറ്റ് ഉപയോഗിച്ച് ഒപ്പിടുക"
desc = "ഒരു സർട്ടിഫിക്കറ്റ്/കീ (PEM/P12) ഉപയോഗിച്ച് ഒരു PDF ഒപ്പിടുന്നു"
@@ -832,7 +847,7 @@ title = "ഒരൊറ്റ വലിയ പേജ്"
desc = "എല്ലാ PDF പേജുകളും ഒരൊറ്റ വലിയ പേജിലേക്ക് ലയിപ്പിക്കുന്നു"
[home.showJS]
-tags = "javascript,കോഡ്,സ്ക്രിപ്റ്റ്"
+tags = "javascript,code,script"
title = "ജാവാസ്ക്രിപ്റ്റ് കാണിക്കുക"
desc = "ഒരു PDF-ൽ കുത്തിവച്ച ഏതെങ്കിലും JS തിരയുകയും പ്രദർശിപ്പിക്കുകയും ചെയ്യുന്നു"
@@ -952,10 +967,10 @@ title = "PDF-കൾ ഓവർലേ ചെയ്യുക"
[home.pdfTextEditor]
title = "PDF ടെക്സ്റ്റ് എഡിറ്റർ"
-desc = "PDFകളിലെ നിലവിലുള്ള ടെക്സ്റ്റും ചിത്രങ്ങളും തിരുത്തുക"
+desc = "ഗ്രൂപ്പുചെയ്ത ടെക്സ്റ്റ് എഡിറ്റിംഗിനോടും PDF വീണ്ടും സൃഷ്ടിക്കുന്നതോടും കൂടി Stirling PDF JSON എക്സ്പോർട്ടുകൾ റിവ്യൂ ചെയ്ത് എഡിറ്റ് ചെയ്യുക"
[home.addText]
-tags = "ടെക്സ്റ്റ്,അനോട്ടേഷൻ,ലേബൽ"
+tags = "text,annotation,label"
title = "ടെക്സ്റ്റ് ചേർക്കുക"
desc = "നിങ്ങളുടെ PDF-ൽ എവിടെയിലും കസ്റ്റം ടെക്സ്റ്റ് ചേർക്കുക"
@@ -963,6 +978,7 @@ desc = "നിങ്ങളുടെ PDF-ൽ എവിടെയിലും ക
addFiles = "ഫയലുകൾ ചേർക്കുക"
uploadFromComputer = "കമ്പ്യൂട്ടറിൽ നിന്ന് അപ്ലോഡ് ചെയ്യുക"
openFromComputer = "കമ്പ്യൂട്ടറിൽ നിന്ന് തുറക്കുക"
+mobileUpload = "മൊബൈൽ മുതൽ അപ്ലോഡ് ചെയ്യുക"
[viewPdf]
tags = "കാണുക,വായിക്കുക,വ്യാഖ്യാനിക്കുക,ടെക്സ്റ്റ്,ചിത്രം,ഹൈലൈറ്റ്,തിരുത്തുക"
@@ -1278,21 +1294,33 @@ cbzOptions = "CBZ ടു PDF ഓപ്ഷനുകൾ"
optimizeForEbook = "ഇബുക്ക് റീഡറുകൾക്കായി PDF ഓപ്റ്റിമൈസ് ചെയ്യുക (Ghostscript ഉപയോഗിക്കുന്നു)"
cbzOutputOptions = "PDF ടു CBZ ഓപ്ഷനുകൾ"
cbzDpi = "ഇമേജ് റെൻഡറിംഗിനുള്ള DPI"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "CBR ഓപ്ഷനുകൾ"
+cbrOutputOptions = "PDF-നെ CBR ആക്കാനുള്ള ഓപ്ഷനുകൾ"
+cbrDpi = "ഇമേജ് റൻഡറിംഗിനുള്ള DPI"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "eBook-നെ PDF ആക്കാനുള്ള ഓപ്ഷനുകൾ"
+ebookOptionsDesc = "eBook-കളെ PDF ആക്കുന്നതിനുള്ള ഓപ്ഷനുകൾ"
+embedAllFonts = "എല്ലാ ഫോണ്ടുകളും ഉൾസേർക്കുക"
+embedAllFontsDesc = "eBook ലെയുള്ള എല്ലാ ഫോണ്ടുകളും സൃഷ്ടിക്കുന്ന PDF-ലേക്ക് ഉൾപ്പെടുത്തുക"
+includeTableOfContents = "വിഷയ സൂചി ഉൾപ്പെടുത്തുക"
+includeTableOfContentsDesc = "ഫലം ലഭിക്കുന്ന PDF-ൽ സൃഷ്ടിച്ച വിഷയം സൂചിക ചേർക്കുക"
+includePageNumbers = "പേജ് നമ്പറുകൾ ഉൾപ്പെടുത്തുക"
+includePageNumbersDesc = "സൃഷ്ടിച്ച PDF-ൽ പേജ് നമ്പറുകൾ ചേർക്കുക"
+optimizeForEbookPdf = "eBook റീഡറുകൾക്കായി ഒപ്റ്റിമൈസ് ചെയ്യുക"
+optimizeForEbookPdfDesc = "eBook വായനയ്ക്ക് PDF ഒപ്റ്റിമൈസ് ചെയ്യുക (ചെറുതായ ഫയൽ വലിപ്പം, eInk ഉപകരണങ്ങളിൽ മെച്ചപ്പെട്ട റെൻഡറിംഗ്)"
+
+[convert.epubOptions]
+epubOptions = "PDF-നെ eBook ആക്കാനുള്ള ഓപ്ഷനുകൾ"
+epubOptionsDesc = "PDF-നെ EPUB/AZW3 ആയി മാറ്റുന്നതിനുള്ള ഓപ്ഷനുകൾ"
+detectChapters = "അധ്യായങ്ങൾ കണ്ടെത്തുക"
+detectChaptersDesc = "അധ്യായങ്ങളായി തോന്നുന്ന തലക്കെട്ടുകൾ കണ്ടെത്തി EPUB പേജ് ബ്രേക്കുകൾ ചേർക്കുക"
+targetDevice = "ലക്ഷ്യ ഉപകരണം"
+targetDeviceDesc = "റീഡർ ഉപകരണത്തിന് ഒപ്റ്റിമൈസ് ചെയ്ത ഔട്ട്പുട്ട് പ്രൊഫൈൽ തിരഞ്ഞെടുക്കുക"
+outputFormat = "ഔട്ട്പുട്ട് ഫോർമാറ്റ്"
+outputFormatDesc = "eBook-ന്റെ ഔട്ട്പുട്ട് ഫോർമാറ്റ് തിരഞ്ഞെടുക്കുക"
+tabletPhone = "ടാബ്ലെറ്റ്/ഫോൺ (ചിത്രങ്ങളോടെ)"
+kindleEink = "Kindle e-Ink (ടെക്സ്റ്റ് ഒപ്റ്റിമൈസ്ഡ്)"
[imageToPdf]
tags = "പരിവർത്തനം,img,jpg,ചിത്രം,ഫോട്ടോ"
@@ -1409,11 +1437,11 @@ header = "അറ്റാച്ച്മെന്റുകൾ ചേർക്ക
add = "അറ്റാച്ച്മെന്റ് ചേർക്കുക"
remove = "അറ്റാച്ച്മെന്റ് നീക്കം ചെയ്യുക"
embed = "അറ്റാച്ച്മെന്റ് എംബെഡ് ചെയ്യുക"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "PDF/A-3b ആയി മാറ്റുക"
+convertToPdfA3bDescription = "എംബെഡുചെയ്ത അറ്റാച്ച്മെന്റുകളോടുകൂടിയ ആർക്കൈവൽ PDF സൃഷ്ടിക്കുന്നു"
+convertToPdfA3bTooltip = "PDF/A-3b ദീർഘകാല സംരക്ഷണം ഉറപ്പാക്കുന്ന ഒരു ആർക്കൈവൽ ഫോർമാറ്റാണ്. ഇത് ഇച്ഛാനുസൃത ഫയൽ ഫോർമാറ്റുകൾ അറ്റാച്ച്മെന്റുകളായി ഉൾചേർക്കാൻ അനുവദിക്കുന്നു. പരിവർത്തനത്തിന് Ghostscript ആവശ്യമാണ്, വലിയ ഫയലുകൾക്ക് കൂടുതൽ സമയം വേണ്ടിവരാം."
+convertToPdfA3bTooltipHeader = "PDF/A-3b പരിവർത്തനത്തെക്കുറിച്ച്"
+convertToPdfA3bTooltipTitle = "ഇത് ചെയ്യുന്നത്"
submit = "അറ്റാച്ച്മെന്റുകൾ ചേർക്കുക"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "സേവ് ചെയ്തത്"
label = "ഒപ്പിന്റെ ചിത്രം അപ്ലോഡ് ചെയ്യുക"
placeholder = "ഇമേജ് ഫയൽ തിരഞ്ഞെടുക്കുക"
hint = "നിങ്ങളുടെ ഒപ്പിന്റെ PNG അല്ലെങ്കിൽ JPG ചിത്രം അപ്ലോഡ് ചെയ്യുക"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "വെള്ള ബാക്ക്ഗ്രൗണ്ട് നീക്കംചെയ്യുക (ട്രാൻസ്പാരന്റ് ആക്കുക)"
+processing = "ഇമേജ് പ്രോസസ്സ് ചെയ്യുന്നു..."
+backgroundRemovalFailedTitle = "ബാക്ക്ഗ്രൗണ്ട് നീക്കം ചെയ്യൽ പരാജയപ്പെട്ടു"
+backgroundRemovalFailedMessage = "ചിത്രത്തിൽ നിന്ന് ബാക്ക്ഗ്രൗണ്ട് നീക്കംചെയ്യാൻ കഴിഞ്ഞില്ല. പകരം യഥാർത്ഥ ചിത്രം ഉപയോഗിക്കുന്നു."
[sign.instructions]
title = "ഒപ്പ് എങ്ങനെ ചേർക്കാം"
@@ -2409,9 +2437,9 @@ label = "ഫോമുകൾ മാത്രം ഫ്ലാറ്റൻ ചെ
desc = "ഫോം ഫീൽഡുകൾ മാത്രം ഫ്ലാറ്റൻ ചെയ്ത്, മറ്റു ഇന്ററാക്ടീവ് ഘടകങ്ങൾ അവികൃതമായി വിടുക"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "റെൻഡറിംഗ് DPI (ഐച്ഛികം, ശുപാർശ 150 DPI)"
+help = "സിസ്റ്റം ഡീഫോൾട്ട് ഉപയോഗിക്കാൻ ഒഴിവാക്കുക. ഉയർന്ന DPI ഔട്ട്പുട്ട് കൂടുതൽ മൂർച്ചയാക്കും, പക്ഷേ പ്രോസസിംഗ് സമയംയും ഫയൽ വലിപ്പവും വർധിപ്പിക്കും."
+placeholder = "ഉദാ. 150"
[flatten.results]
title = "ഫ്ലാറ്റൻ ഫലങ്ങൾ"
@@ -2809,7 +2837,7 @@ submit = "സമർപ്പിക്കുക"
failed = "മൾട്ടി-പേജ് ലേഔട്ട് സൃഷ്ടിക്കുമ്പോൾ പിശക് സംഭവിച്ചു."
[bookletImposition]
-tags = "ബുക്ക്ലെറ്റ്,ഇംപോസിഷൻ,പ്രിന്റിംഗ്,ബൈൻഡിംഗ്,മടക്കൽ,സിഗ്നേച്ചർ"
+tags = "booklet,imposition,printing,binding,folding,signature"
title = "ബുക്ക്ലെറ്റ് ഇംപോസിഷൻ"
header = "ബുക്ക്ലെറ്റ് ഇംപോസിഷൻ"
submit = "ബുക്ക്ലെറ്റ് സൃഷ്ടിക്കുക"
@@ -2908,7 +2936,7 @@ scaleFactor = "ഒരു പേജിന്റെ സൂം നില (ക്ര
submit = "സമർപ്പിക്കുക"
[adjustPageScale]
-tags = "വലിപ്പമാറ്റം,ഭേദഗതി,പരിമാണം,അനുസൃതമാക്കൽ"
+tags = "resize,modify,dimension,adapt"
title = "പേജ് സ്കെയിൽ ക്രമപ്പെടുത്തുക"
header = "പേജ് സ്കെയിൽ ക്രമപ്പെടുത്തുക"
submit = "പേജ് സ്കെയിൽ ക്രമപ്പെടുത്തുക"
@@ -2919,8 +2947,8 @@ label = "സ്കെയിൽ ഫാക്ടർ"
[adjustPageScale.pageSize]
label = "ടാർഗറ്റ് പേജ് വലിപ്പം"
keep = "അസൽ വലിപ്പം നിലനിർത്തുക"
-letter = "ലറ്റർ"
-legal = "ലീഗൽ"
+letter = "Letter"
+legal = "Legal"
[adjustPageScale.error]
failed = "പേജ് സ്കെയിൽ ക്രമപ്പെടുത്തുന്നതിനിടെ പിശക് സംഭവിച്ചു."
@@ -2987,7 +3015,7 @@ header = "PDF ക്രോപ്പ് ചെയ്യുക"
submit = "സമർപ്പിക്കുക"
noFileSelected = "ക്രോപ്പ് ആരംഭിക്കാൻ ഒരു PDF ഫയൽ തിരഞ്ഞെടുക്കുക"
reset = "പൂർണ്ണ PDF ലേക്ക് റീസെറ്റ് ചെയ്യുക"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "ശൂന്യസ്ഥലം സ്വയം ക്രോപ്പ് ചെയ്യുക"
[crop.preview]
title = "ക്രോപ്പ് ഏരിയ തിരഞ്ഞെടുപ്പ്"
@@ -3218,6 +3246,7 @@ title = "റിഡാക്ഷൻ രീതി"
mode = "മോഡ്"
automatic = "ഓട്ടോമാറ്റിക്"
automaticDesc = "തിരച്ചിൽ പദങ്ങളുടെ അടിസ്ഥാനത്തിൽ ടെക്സ്റ്റ് റിഡാക്റ്റ് ചെയ്യുക"
+automaticDisabledTooltip = "ഒരുമിച്ചു ഒന്നിലധികം ഫയലുകൾ റെഡാക്റ്റ് ചെയ്യാൻ ഫയൽ മാനേജറിൽ ഫയലുകൾ തിരഞ്ഞെടുക്കുക"
manual = "മാനുവൽ"
manualDesc = "നിശ്ചിത മേഖലകൾ റിഡാക്റ്റ് ചെയ്യാൻ ക്ലിക്ക് ചെയ്ത് ഡ്രാഗ് ചെയ്യുക"
manualComingSoon = "മാനുവൽ റിഡാക്ഷൻ ഉടൻ വരുന്നു"
@@ -3288,8 +3317,35 @@ text = "പൂർണ്ണ വാക്കുകൾ മാത്രം മാച
title = "PDF-Image ആയി മാറ്റുക"
text = "റിഡാക്ഷൻ കഴിഞ്ഞ് PDF-നെ ഇമേജ്-അധിഷ്ടിത PDF ആയി മാറ്റുന്നു. റിഡാക്ഷൻ ബോക്സുകളുടെ പിന്നിലെ ടെക്സ്റ്റ് പൂർണമായും നീക്കംചെയ്ത് തിരിച്ചുപിടിക്കാനാവാത്തതാക്കുന്നു."
+[redact.tooltip.manual.header]
+title = "മാനുവൽ റെഡാക്ഷൻ നിയന്ത്രണങ്ങൾ"
+
+[redact.tooltip.manual.markText]
+title = "ടെക്സ്റ്റ് മാർക്ക് ടൂൾ"
+text = "റെഡാക്ഷൻ ചെയ്യാൻ PDF-ൽ നേരിട്ട് ടെക്സ്റ്റ് തിരഞ്ഞെടുക്കുക. റെഡാക്റ്റ് ചെയ്യേണ്ട പ്രത്യേക ടെക്സ്റ്റ് ഹൈലൈറ്റ് ചെയ്യാൻ ക്ലിക്ക് ചെയ്ത് വലിക്കുക."
+
+[redact.tooltip.manual.markArea]
+title = "ഏരിയ മാർക്ക് ടൂൾ"
+text = "റെഡാക്ഷൻ ചെയ്യേണ്ട മേഖലകൾ അടയാളപ്പെടുത്താൻ PDF-ൽ ചതുരാകൃതിയിലുള്ള പ്രദേശങ്ങൾ വരയ്ക്കുക. ചിത്രങ്ങൾ, ഒപ്പുകൾ, അല്ലെങ്കിൽ അനിയമിത ആകൃതികൾ മറയ്ക്കാൻ ഇത് ഉപകാരപ്രദമാണ്."
+
+[redact.tooltip.manual.apply]
+title = "റെഡാക്ഷനുകൾ പ്രയോഗിക്കുക"
+text = "ഉള്ളടക്കം അടയാളപ്പെടുത്തിയതിന് ശേഷം, 'Apply' ക്ലിക്ക് ചെയ്ത് എല്ലാ അടയാളപ്പെടുത്തിയ ഭാഗങ്ങളും സ്ഥിരമായി റെഡാക്റ്റ് ചെയ്യുക. പെൻഡിംഗ് എണ്ണം എത്ര റെഡാക്ഷനുകൾ പ്രയോഗിക്കാൻ തയ്യാറാണെന്ന് കാണിക്കും."
+bullet1 = "പ്രയോഗിക്കുന്നതിന് മുമ്പ് ആവശ്യമുള്ളത്ര മേഖലയെ അടയാളപ്പെടുത്തുക"
+bullet2 = "എല്ലാ പെൻഡിംഗ് റെഡാക്ഷനുകളും ഒരേസമയം പ്രയോഗിക്കും"
+bullet3 = "പ്രയോഗിച്ചതിന് ശേഷം റെഡാക്ഷനുകൾ പിൻവലിക്കാൻ സാധിക്കില്ല"
+
[redact.manual]
+title = "റെഡാക്ഷൻ ഉപകരണങ്ങൾ"
+instructions = "റെഡാക്ഷനായി ഉള്ളടക്കം അടയാളപ്പെടുത്താൻ PDF-ൽ ടെക്സ്റ്റ് തിരഞ്ഞെടുക്കുകയോ പ്രദേശങ്ങൾ വരയ്ക്കുകയോ ചെയ്യുക."
+markText = "ടെക്സ്റ്റ് മാർക്ക് ചെയ്യുക"
+markArea = "ഏരിയ മാർക്ക് ചെയ്യുക"
+pendingLabel = "പെൻഡിംഗ്:"
+applyWarning = "⚠️ സ്ഥിരമായി പ്രയോഗിക്കുന്നു; പിന്വലിക്കാൻ കഴിയില്ല, അടിഞ്ഞിരിക്കുന്ന ഡാറ്റ ഇല്ലാതാകും"
+apply = "പ്രയോഗിക്കുക"
+noMarks = "റെഡാക്ഷൻ മാർക്കുകളൊന്നുമില്ല. മുകളിലുള്ള ഉപകരണങ്ങൾ ഉപയോഗിച്ച് റെഡാക്ഷനായി ഉള്ളടക്കം അടയാളപ്പെടുത്തുക."
header = "മാനുവൽ റിഡാക്ഷൻ"
+controlsTitle = "മാനുവൽ റെഡാക്ഷൻ നിയന്ത്രണങ്ങൾ"
textBasedRedaction = "ടെക്സ്റ്റ്-അധിഷ്ടിത റിഡാക്ഷൻ"
pageBasedRedaction = "പേജ്-അധിഷ്ടിത റിഡാക്ഷൻ"
convertPDFToImageLabel = "PDF-നെ PDF-Image ആയി മാറ്റുക (ബോക്സിന് പിന്നിലെ ടെക്സ്റ്റ് നീക്കാൻ ഉപയോഗിക്കുന്നു)"
@@ -3406,17 +3462,17 @@ label = "ലംബ വിഭജനങ്ങൾ"
placeholder = "ലംബ വിഭജനങ്ങളുടെ എണ്ണം നൽകുക"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "സ്പ്ലിറ്റ് മോഡ്"
+description = "പേജുകൾ എങ്ങനെ വിഭജിക്കണമെന്ന് തിരഞ്ഞെടുക്കുക"
+splitAll = "എല്ലാ പേജുകളും വിഭജിക്കുക"
+splitAllExceptFirst = "ആദ്യത്തെ ഒഴികെ എല്ലാം വിഭജിക്കുക"
+splitAllExceptLast = "അവസാനത്തെ ഒഴികെ എല്ലാം വിഭജിക്കുക"
+splitAllExceptFirstAndLast = "ആദ്യം, അവസാനം ഒഴികെ എല്ലാം വിഭജിക്കുക"
+custom = "ഇഷ്ടാനുസൃത പേജുകൾ"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "ഇഷ്ടാനുസൃത പേജ് നമ്പറുകൾ"
+placeholder = "ഉദാ. 2,4,6"
[AddStampRequest]
tags = "സ്റ്റാമ്പ്, ചിത്രം ചേർക്കുക, ചിത്രം മധ്യത്തിലാക്കുക, വാട്ടർമാർക്ക്, PDF, ഉൾപ്പെടുത്തുക, ഇഷ്ടാനുസൃതമാക്കുക"
@@ -3557,7 +3613,7 @@ certHint = "കസ്റ്റം ട്രസ്റ്റ് സോഴ്സ
title = "സ്ഥിരീകരണ സെറ്റിങ്ങുകൾ"
[replaceColor]
-tags = "നിറം പകരുക,പേജ് പ്രവർത്തനങ്ങൾ,ബാക്ക്എൻഡ്,സെർവർ-സൈഡ്"
+tags = "Replace Colour,Page operations,Back end,server side"
[replaceColor.labels]
settings = "സെറ്റിങ്ങുകൾ"
@@ -3780,17 +3836,17 @@ filesize = "ഫയൽ വലിപ്പം"
label = "കംപ്രഷനായി ഗ്രേസ്കെയിൽ പ്രയോഗിക്കുക"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "വേഗത്തിലുള്ള വെബ് കാണുന്നതിനായി PDF ലിനിയറൈസ് ചെയ്യുക"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "ചിത്രങ്ങളെ ലൈൻ ആർട്ടാക്കി മാറ്റുക"
+description = "പരമാവധി വലുപ്പ കുറയ്ക്കുന്നതിനായി പേജുകൾ ഹൈ-കോൺട്രാസ്റ്റ് കറുപ്പ്-വെളുപ്പാക്കി മാറ്റാൻ ImageMagick ഉപയോഗിക്കുന്നു."
+unavailable = "ImageMagick ഈ സെർവറിൽ ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ല അല്ലെങ്കിൽ പ്രവർത്തനക്ഷമമല്ല"
+detailLevel = "വിശദത നില"
+edgeEmphasis = "എഡ്ജ് ഊന്നൽ"
+edgeLow = "മൃദുവായി"
+edgeMedium = "സമതുലിതം"
+edgeHigh = "ശക്തമായി"
[compress.tooltip.header]
title = "കംപ്രസ് സെറ്റിങ്ങുകളുടെ അവലോകനം"
@@ -3810,8 +3866,8 @@ title = "ഗ്രേസ്കെയിൽ"
text = "എല്ലാ ഇമേജുകളും ബ്ലാക്ക്-ആൻഡ്-വൈറ്റാക്കി മാറ്റാൻ ഈ ഓപ്ഷൻ തിരഞ്ഞെടുക്കുക; പ്രത്യേകിച്ച് സ്കാൻ ചെയ്ത PDFകൾക്കും ഇമേജ് കൂടുതലുള്ള ഡോക്യുമെന്റുകൾക്കും ഫയൽ വലിപ്പം ഗണ്യമായി കുറയ്ക്കാം."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "ലൈൻ ആർട്ട്"
+text = "ImageMagick ഉപയോഗിച്ച് പേജുകൾ ഹൈ-കോൺട്രാസ്റ്റ് കറുപ്പ്-വെളുപ്പാക്കി മാറ്റുക. എത്ര ഉള്ളടക്കം കറുപ്പാകണമെന്നത് നിയന്ത്രിക്കാൻ വിശദത നില ഉപയോഗിക്കുക, അറ്റങ്ങൾ കണ്ടെത്തുന്നതിന്റെ ശക്തി നിയന്ത്രിക്കാൻ എഡ്ജ് ഊന്നൽ ഉപയോഗിക്കുക."
[compress.error]
failed = "PDF കംപ്രസ് ചെയ്യുന്നതിനിടെ പിശക് സംഭവിച്ചു."
@@ -3826,9 +3882,9 @@ _value = "കംപ്രഷൻ ക്രമീകരണങ്ങൾ"
1 = "1-3 PDF കംപ്രഷൻ, 4-6 ലൈറ്റ് ഇമേജ് കംപ്രഷൻ, 7-9 തീവ്രമായ ഇമേജ് കംപ്രഷൻ ചിത്രത്തിന്റെ ഗുണനിലവാരം ഗണ്യമായി കുറയ്ക്കും"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "കുറഞ്ഞ മൂല്യങ്ങൾ ഗുണനിലവാരം നിലനിർത്തും, പക്ഷേ വലിയ ഫയലുകൾ ലഭിക്കും"
+range4to6 = "ഇടത്തരം കമ്പ്രഷൻ, മിതമായ ഗുണനിലവാര കുറവ്"
+range7to9 = "ഉയർന്ന മൂല്യങ്ങൾ ഫയൽ വലിപ്പം ഗണ്യമായി കുറയ്ക്കും, പക്ഷേ ചിത്രത്തിന്റെ വ്യക്തത കുറയാം"
[decrypt]
passwordPrompt = "ഈ ഫയൽ പാസ്വേഡ് ഉപയോഗിച്ച് സംരക്ഷിച്ചിരിക്കുന്നു. ദയവായി പാസ്വേഡ് നൽകുക:"
@@ -3973,7 +4029,7 @@ version = "നിലവിലെ റിലീസ്"
title = "API ഡോക്യുമെന്റേഷൻ"
header = "API ഡോക്യുമെന്റേഷൻ"
desc = "Stirling PDF API എൻഡ്പോയിന്റുകൾ കാണുകയും പരിശോധിക്കുകയും ചെയ്യുക"
-tags = "api,ഡോക്യുമെന്റേഷൻ,swagger,എൻഡ്പോയിന്റുകൾ,വികസനം"
+tags = "api,documentation,swagger,endpoints,development"
[cookieBanner.popUp]
title = "ഞങ്ങൾ കുക്കികൾ എങ്ങനെ ഉപയോഗിക്കുന്നു"
@@ -4069,7 +4125,7 @@ deleteSelected = "തിരഞ്ഞെടുത്ത പേജുകൾ ഇല
closePdf = "PDF അടയ്ക്കുക"
exportAll = "PDF എക്സ്പോർട്ട് ചെയ്യുക"
downloadSelected = "തിരഞ്ഞെടുത്ത ഫയലുകൾ ഡൗൺലോഡ് ചെയ്യുക"
-annotations = "Annotations"
+annotations = "അനോട്ടേഷനുകൾ"
exportSelected = "തിരഞ്ഞെടുത്ത പേജുകൾ എക്സ്പോർട്ട് ചെയ്യുക"
saveChanges = "മാറ്റങ്ങൾ സംരക്ഷിക്കുക"
toggleTheme = "തീം മാറ്റുക"
@@ -4077,84 +4133,90 @@ language = "ഭാഷ"
toggleAnnotations = "അനോട്ടേഷൻ ദൃശ്യമാനം മാറ്റുക"
search = "PDF തിരയുക"
panMode = "പാൻ മോഡ്"
+applyRedactionsFirst = "ആദ്യം റെഡാക്ഷനുകൾ പ്രയോഗിക്കുക"
rotateLeft = "ഇടത്തേക്ക് തിരിക്കുക"
rotateRight = "വലത്തേക്ക് തിരിക്കുക"
toggleSidebar = "സൈഡ്ബാർ മാറ്റുക"
toggleBookmarks = "ബുക്ക്മാർക്കുകൾ ടോഗിൾ ചെയ്യുക"
print = "PDF അച്ചടിക്കുക"
+draw = "വരയ്ക്കുക"
+redact = "റെഡാക്റ്റ് ചെയ്യുക"
+exitRedaction = "റെഡാക്ഷൻ മോഡിൽ നിന്ന് പുറത്ത് പോകുക"
+save = "സംരക്ഷിക്കുക"
downloadAll = "എല്ലാം ഡൗൺലോഡ് ചെയ്യുക"
saveAll = "എല്ലാം സേവ് ചെയ്യുക"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "ഇടത്"
+center = "മധ്യം"
+right = "വലത്"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "അനോട്ടേറ്റ്"
+desc = "ഹൈലൈറ്റ്, പേന, ടെക്സ്റ്റ്, കുറിപ്പുകൾ എന്നിവ ഉപയോഗിക്കുക. മാറ്റങ്ങൾ തത്സമയം നിലനിൽക്കും—ഫ്ലാറ്റൻ ചെയ്യേണ്ടതില്ല."
+highlight = "ഹൈലൈറ്റ്"
+pen = "പേന"
+text = "ടെക്സ്റ്റ് ബോക്സ്"
+note = "കുറിപ്പ്"
+rectangle = "ആയതം"
+ellipse = "എലിപ്സ്"
+select = "തിരഞ്ഞെടുക്കുക"
+exit = "അനോട്ടേഷൻ മോഡിൽ നിന്ന് പുറത്ത് പോകുക"
+strokeWidth = "കനം"
+opacity = "അപാകത"
+strokeOpacity = "സ്ട്രോക്കിന്റെ അപാകത"
+fillOpacity = "ഫിൽ അപാകത"
+fontSize = "ഫോണ്ട് വലുപ്പം"
+chooseColor = "നിറം തിരഞ്ഞെടുക്കുക"
+color = "നിറം"
+strokeColor = "സ്ട്രോക്ക് നിറം"
+fillColor = "ഫിൽ നിറം"
+underline = "അടിവര"
+strikeout = "സ്ട്രൈക്കൗട്ട്"
+squiggly = "സ്ക്വിഗ്ലി"
+inkHighlighter = "ഫ്രീഹാൻഡ് ഹൈലൈറ്റർ"
+freehandHighlighter = "ഫ്രീഹാൻഡ് ഹൈലൈറ്റർ"
+square = "ചതുരം"
+circle = "വൃത്തം"
+polygon = "ബഹുഭുജം"
+line = "രേഖ"
+stamp = "ചിത്രം ചേർക്കുക"
+textMarkup = "ടെക്സ്റ്റ് മാർക്കപ്പ്"
+drawing = "വരയ്ക്കൽ"
+shapes = "ആകൃതികൾ"
+notesStamps = "കുറിപ്പുകളും സ്റ്റാമ്പുകളും"
+settings = "സെറ്റിങ്ങുകൾ"
+borderOn = "ബോർഡർ: ഓൺ"
+borderOff = "ബോർഡർ: ഓഫ്"
+editInk = "പേന എഡിറ്റ് ചെയ്യുക"
+editLine = "രേഖ എഡിറ്റ് ചെയ്യുക"
+editNote = "കുറിപ്പ് എഡിറ്റ് ചെയ്യുക"
+editText = "ടെക്സ്റ്റ് ബോക്സ് എഡിറ്റ് ചെയ്യുക"
+editTextMarkup = "ടെക്സ്റ്റ് മാർക്കപ്പ് എഡിറ്റ് ചെയ്യുക"
+editSelected = "അനോട്ടേഷൻ എഡിറ്റ് ചെയ്യുക"
+editSquare = "ചതുരം എഡിറ്റ് ചെയ്യുക"
+editCircle = "വൃത്തം എഡിറ്റ് ചെയ്യുക"
+editPolygon = "ബഹുഭുജം എഡിറ്റ് ചെയ്യുക"
+unsupportedType = "ഈ അനോട്ടേഷൻ തരം പൂർണ്ണമായി എഡിറ്റിംഗിനായി പിന്തുണയ്ക്കുന്നില്ല."
+textAlignment = "ടെക്സ്റ്റ് അലൈന്മെന്റ്"
+noteIcon = "കുറിപ്പ് ഐക്കൺ"
+imagePreview = "പ്രിവ്യൂ"
+contents = "ടെക്സ്റ്റ്"
+backgroundColor = "ബാക്ക്ഗ്രൗണ്ട് നിറം"
+clearBackground = "ബാക്ക്ഗ്രൗണ്ട് നീക്കംചെയ്യുക"
+noBackground = "ബാക്ക്ഗ്രൗണ്ട് ഇല്ല"
+stampSettings = "സ്റ്റാമ്പ് സജ്ജീകരണങ്ങൾ"
+savingCopy = "ഡൗൺലോഡിനായി തയ്യാറാക്കുന്നു..."
+saveFailed = "കോപ്പി സംരക്ഷിക്കാൻ കഴിഞ്ഞില്ല"
+saveReady = "ഡൗൺലോഡ് തയ്യാറാണ്"
+selectAndMove = "തിരഞ്ഞെടുക്കി എഡിറ്റ് ചെയ്യുക"
+editSelectDescription = "നിറം, അപാകത, ടെക്സ്റ്റ്, വലുപ്പം എന്നിവ എഡിറ്റ് ചെയ്യാൻ നിലവിലുള്ള അനോട്ടേഷൻ ക്ലിക്ക് ചെയ്യുക."
+editStampHint = "ചിത്രം മാറ്റാൻ, ഈ സ്റ്റാമ്പ് ഇല്ലാതാക്കി പുതിയത് ചേർക്കുക."
+editSwitchToSelect = "ഈ അനോട്ടേഷൻ എഡിറ്റ് ചെയ്യാൻ Select & Edit-ലേക്ക് മാറുക."
+undo = "അൺഡു"
+redo = "റീഡു"
+applyChanges = "മാറ്റങ്ങൾ പ്രയോഗിക്കുക"
+saveChanges = "മാറ്റങ്ങൾ സംരക്ഷിക്കുക"
[search]
title = "PDF തിരയുക"
@@ -4205,20 +4267,20 @@ settings = "സെറ്റിങ്ങുകൾ"
adminSettings = "അഡ്മിൻ സെറ്റിങ്ങുകൾ"
allTools = "All Tools"
reader = "റീഡർ"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "ടൂറുകൾ"
+showMeAround = "എനിക്ക് കാണിച്ചു തരൂ"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "ഇവിടെ വാക്ക്ത്രൂസ് കാണുക: Tools ടൂർ, പുതിയ V2 ലേഔട്ട് ടൂർ, Admin ടൂർ."
+user = "ഇവിടെ വാക്ക്ത്രൂസ് കാണുക: Tools ടൂർ, പുതിയ V2 ലേഔട്ട് ടൂർ."
[quickAccess.helpMenu]
toolsTour = "ടൂളുകളുടെ പരിചയം"
toolsTourDesc = "ഉപകരണങ്ങൾ എന്ത് ചെയ്യുമെന്നു പഠിക്കുക"
adminTour = "അഡ്മിൻ പരിചയം"
adminTourDesc = "അഡ്മിൻ സജ്ജീകരണങ്ങളും സവിശേഷതകളും അന്വേഷിക്കുക"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "V2-ലെ പുതുമകൾ കാണുക"
+whatsNewTourDesc = "അപ്ഡേറ്റ് ചെയ്ത ലേഔട്ട് ടൂർ ചെയ്യുക"
[admin]
error = "പിശക്"
@@ -4237,6 +4299,8 @@ fetchError = "സജ്ജീകരണങ്ങൾ ലോഡുചെയ്യ
saveError = "സജ്ജീകരണങ്ങൾ സംരക്ഷിക്കൽ പരാജയപ്പെട്ടു"
saved = "സജ്ജീകരണങ്ങൾ വിജയകരമായി സംരക്ഷിച്ചു"
saveSuccess = "സജ്ജീകരണങ്ങൾ വിജയകരമായി സംരക്ഷിച്ചു"
+success = "സജ്ജീകരണങ്ങൾ വിജയകരമായി സംരക്ഷിച്ചു"
+error = "സജ്ജീകരണങ്ങൾ സംരക്ഷിക്കാൻ പരാജയപ്പെട്ടു"
save = "മാറ്റങ്ങൾ സംരക്ഷിക്കുക"
discard = "തള്ളുക"
restartRequired = "റീസ്റ്റാർട്ട് ആവശ്യമാണ്"
@@ -4360,6 +4424,13 @@ description = "HTML-നെ PDF ആക്കുന്നതിനുള്ള Wea
label = "Unoconvert എക്സിക്യൂട്ടബിൾ"
description = "ഡോക്യുമെന്റ് കൺവർഷനുകൾക്കായുള്ള LibreOffice unoconvert-ന്റെ പാത (ഡീഫാൾട്ട് ഉപയോഗിക്കാൻ ശൂന്യം വിടുക: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "ഫ്രണ്ട്എൻഡ് URL"
+description = "ഫ്രണ്ട്എൻഡിന്റെ ബെയ്സ് URL (ഉദാ., https://pdf.example.com). ഇമെയിൽ ക്ഷണ ലിങ്കുകൾക്കും മൊബൈൽ QR കോഡ് അപ്ലോഡുകൾക്കും ഉപയോഗിക്കുന്നു. ബാക്ക്എൻഡ് URL ഉപയോഗിക്കാനായി ശൂന്യമാക്കുക."
+
+[admin.settings.badge]
+clickToUpgrade = "പ്ലാൻ വിശദാംശങ്ങൾ കാണാൻ ക്ലിക്ക് ചെയ്യുക"
+
[admin.settings.security]
title = "സുരക്ഷ"
description = "ഓതന്റിക്കേഷൻ, ലോഗിൻ പെരുമാറ്റം, സുരക്ഷാ നയങ്ങൾ എന്നിവ ക്രമീകരിക്കുക."
@@ -4496,6 +4567,19 @@ connect = "കണക്റ്റ് ചെയ്യുക"
disconnect = "ഡിസ്കണക്റ്റ് ചെയ്യുക"
disconnected = "പ്രൊവൈഡർ വിജയകരമായി ഡിസ്കണക്റ്റ് ചെയ്തു"
disconnectError = "പ്രൊവൈഡറെ ഡിസ്കണക്റ്റ് ചെയ്യാൻ പരാജയപ്പെട്ടു"
+mobileScannerConvertToPdf = "ചിത്രങ്ങളെ PDF ആക്കുക"
+mobileScannerConvertToPdfDesc = "അപ്ലോഡ് ചെയ്ത ചിത്രങ്ങളെ സ്വയമേവ PDF ഫോർമാറ്റിലേക്ക് മാറ്റുക. പ്രവർത്തനരഹിതമാക്കിയാൽ, ചിത്രങ്ങൾ അതേപടി നിലനിർത്തും."
+mobileScannerImageResolution = "ഇമേജ് റെസല്യൂഷൻ"
+mobileScannerImageResolutionDesc = "അപ്ലോഡ് ചെയ്ത ചിത്രങ്ങളുടെ റെസല്യൂഷൻ. \"Reduced\" ഫയൽ വലുപ്പം കുറയ്ക്കാൻ ചിത്രങ്ങളെ പരമാവധി 1200px ആയി സ്കെയിൽ ചെയ്യും."
+imageResolutionFull = "ഫുൾ (യഥാർത്ഥ വലുപ്പം)"
+imageResolutionReduced = "റിഡ്യൂസ്ഡ് (പരമാവധി 1200px)"
+mobileScannerPageFormat = "പേജ് ഫോർമാറ്റ്"
+mobileScannerPageFormatDesc = "മാറ്റിയ ചിത്രങ്ങൾക്ക് PDF പേജ് വലുപ്പം. \"Keep\" യഥാർത്ഥ ചിത്രത്തിന്റെ അളവുകൾ ഉപയോഗിക്കും."
+pageFormatKeep = "കീപ് (യഥാർത്ഥ അളവുകൾ)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "ഫിറ്റ് ചെയ്യാൻ നീട്ടുക"
+mobileScannerStretchToFitDesc = "ചിത്രങ്ങളെ മുഴുവൻ പേജ് നിറയ്ക്കാൻ നീട്ടുക. പ്രവർത്തനരഹിതമാക്കിയാൽ, ചിത്രങ്ങൾ ആസ്പെക്ട് അനുപാതം നിലനിർത്തി നടുവിലേക്ക് നിരത്തും."
[admin.settings.connections.ssoAutoLogin]
label = "SSO ഓട്ടോ ലോഗിൻ"
@@ -4514,7 +4598,7 @@ label = "പ്രൊവൈഡർ"
description = "ഓതന്റിക്കേഷനായി ഉപയോഗിക്കുന്ന OAuth2 പ്രൊവൈഡർ"
[admin.settings.connections.oauth2.issuer]
-label = "ഇഷ്യൂവർ URL"
+label = "Issuer URL"
description = "OAuth2 പ്രൊവൈഡറിന്റെ issuer URL"
[admin.settings.connections.oauth2.clientId]
@@ -4538,7 +4622,7 @@ label = "രജിസ്ട്രേഷൻ തടയുക"
description = "OAuth2 വഴി പുതിയ ഉപയോക്തൃ രജിസ്ട്രേഷൻ തടയുക"
[admin.settings.connections.oauth2.scopes]
-label = "OAuth2 സ്കോപ്പുകൾ"
+label = "OAuth2 Scopes"
description = "OAuth2 സ്കോപ്പുകളുടെ കോമ ഉപയോഗിച്ച് വേർതിരിച്ച പട്ടിക (ഉദാ., openid, profile, email)"
[admin.settings.connections.saml2]
@@ -4564,6 +4648,122 @@ description = "ആദ്യ SAML2 ലോഗിനിൽ ഉപയോക്തൃ
label = "രജിസ്ട്രേഷൻ തടയുക"
description = "SAML2 വഴി പുതിയ ഉപയോക്തൃ രജിസ്ട്രേഷൻ തടയുക"
+[admin.settings.connections.mobileScanner]
+label = "മൊബൈൽ ഫോൺ അപ്ലോഡ്"
+enable = "QR കോഡ് അപ്ലോഡ് പ്രവർത്തനക്ഷമമാക്കുക"
+description = "QR കോഡ് സ്കാൻ ചെയ്ത് ഉപയോക്താക്കൾക്ക് മൊബൈൽ ഉപകരണങ്ങളിൽ നിന്ന് ഫയലുകൾ അപ്ലോഡ് ചെയ്യാൻ അനുവദിക്കുക"
+note = "കുറിപ്പ്: Frontend URL കോൺഫിഗർ ചെയ്തിരിക്കണം. "
+link = "സിസ്റ്റം സജ്ജീകരണങ്ങളിൽ കോൺഫിഗർ ചെയ്യുക"
+mobileScannerConvertToPdf = "ചിത്രങ്ങളെ PDF ആക്കുക"
+mobileScannerConvertToPdfDesc = "അപ്ലോഡ് ചെയ്ത ചിത്രങ്ങളെ സ്വയമേവ PDF ഫോർമാറ്റിലേക്ക് മാറ്റുക. പ്രവർത്തനരഹിതമാക്കിയാൽ, ചിത്രങ്ങൾ അതേപടി നിലനിർത്തും."
+mobileScannerImageResolution = "ഇമേജ് റെസല്യൂഷൻ"
+mobileScannerImageResolutionDesc = "അപ്ലോഡ് ചെയ്ത ചിത്രങ്ങളുടെ റെസല്യൂഷൻ. \"Reduced\" ഫയൽ വലുപ്പം കുറയ്ക്കാൻ ചിത്രങ്ങളെ പരമാവധി 1200px ആയി സ്കെയിൽ ചെയ്യും."
+imageResolutionFull = "ഫുൾ (യഥാർത്ഥ വലുപ്പം)"
+imageResolutionReduced = "റിഡ്യൂസ്ഡ് (പരമാവധി 1200px)"
+mobileScannerPageFormat = "പേജ് ഫോർമാറ്റ്"
+mobileScannerPageFormatDesc = "മാറ്റിയ ചിത്രങ്ങൾക്ക് PDF പേജ് വലുപ്പം. \"Keep\" യഥാർത്ഥ ചിത്രത്തിന്റെ അളവുകൾ ഉപയോഗിക്കും."
+pageFormatKeep = "കീപ് (യഥാർത്ഥ അളവുകൾ)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "ഫിറ്റ് ചെയ്യാൻ നീട്ടുക"
+mobileScannerStretchToFitDesc = "ചിത്രങ്ങളെ മുഴുവൻ പേജ് നിറയ്ക്കാൻ നീട്ടുക. പ്രവർത്തനരഹിതമാക്കിയാൽ, ചിത്രങ്ങൾ ആസ്പെക്ട് അനുപാതം നിലനിർത്തി നടുവിലേക്ക് നിരത്തും."
+
+[admin.settings.telegram]
+title = "Telegram ബോട്ട്"
+description = "Telegram ബോട്ടിന്റെ കണക്റ്റിവിറ്റി, ആക്സസ് നിയന്ത്രണങ്ങൾ, ഫീഡ്ബാക്ക് പെരുമാറ്റം എന്നിവ കോൺഫിഗർ ചെയ്യുക."
+
+[admin.settings.telegram.enabled]
+label = "Telegram ബോട്ട് പ്രവർത്തനക്ഷമമാക്കുക"
+description = "കോൺഫിഗർ ചെയ്ത Telegram ബോട്ടിലൂടെ ഉപയോക്താക്കൾക്ക് Stirling PDF ഉപയോഗിക്കാൻ അനുവദിക്കുക."
+
+[admin.settings.telegram.botUsername]
+label = "ബോട്ട് യൂസർനെയിം"
+description = "നിങ്ങളുടെ Telegram ബോട്ടിന്റെ പൊതു യൂസർനെയിം."
+
+[admin.settings.telegram.botToken]
+label = "ബോട്ട് ടോക്കൺ"
+description = "നിങ്ങളുടെ Telegram ബോട്ടിനായി BotFather നൽകുന്ന API ടോക്കൺ."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "ഇൻബോക്സ് ഫോൾഡർ"
+description = "പൈപ്പ്ലൈനിൻറെ ഡയറക്ടറിയിൽ Telegram ഫയലുകൾ സംഭരിക്കുന്ന ഫോൾഡർ."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "ഇഷ്ടാനുസൃത ഫോൾഡർ സഫിക്സ് ഉപയോഗിക്കുക"
+description = "ഓരോ ചാറ്റിനുമുള്ള അപ്ലോഡുകൾ വേർതിരിക്കാൻ, വരുന്ന ഫയൽ ഫോൾഡറുകൾക്ക് ചാറ്റ് ID ചേർക്കുക."
+
+[admin.settings.telegram.accessControl]
+title = "പ്രവേശന നിയന്ത്രണം"
+description = "ഏത് ഉപയോക്താക്കളോ ചാനലുകളോ ബോട്ടുമായി ഇടപഴകാമെന്ന് നിയന്ത്രിക്കുക."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "നിർദ്ദിഷ്ട User IDകൾ അനുവദിക്കുക"
+description = "ഇത് പ്രവർത്തനക്ഷമമാക്കിയാൽ, പട്ടികപ്പെടുത്തിയ User IDകൾക്ക് മാത്രം ബോട്ട് ഉപയോഗിക്കാം."
+
+[admin.settings.telegram.allowUserIDs]
+label = "അനുവദിച്ച User IDകൾ"
+description = "ബോട്ടുമായി ഇടപഴകാൻ അനുവദിച്ച Telegram User IDകൾ നൽകുക."
+placeholder = "User ID ചേർക്കുക, Enter അമർത്തുക"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "നിർദ്ദിഷ്ട Channel IDകൾ അനുവദിക്കുക"
+description = "ഇത് പ്രവർത്തനക്ഷമമാക്കിയാൽ, പട്ടികപ്പെടുത്തിയ Channel IDകൾക്ക് മാത്രം ബോട്ട് ഉപയോഗിക്കാം."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "അനുവദിച്ച Channel IDകൾ"
+description = "ബോട്ടുമായി ഇടപഴകാൻ അനുവദിച്ച Telegram Channel IDകൾ നൽകുക."
+placeholder = "Channel ID ചേർക്കുക, Enter അമർത്തുക"
+
+[admin.settings.telegram.processing]
+title = "പ്രോസസ്സിംഗ്"
+description = "Telegram അപ്ലോഡുകൾക്കുള്ള പോളിംഗ് ഇൻറർവാലുകളും പ്രോസസ്സിംഗ് ടൈംഔട്ടുകളും നിയന്ത്രിക്കുക."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "പ്രോസസ്സിംഗ് ടൈംഔട്ട് (സെക്കൻഡ്)"
+description = "പിശക് റിപ്പോർട്ട് ചെയ്യുന്നതിന് മുമ്പ് പ്രോസസ്സിംഗ് ജോബിനായി കാത്തിരിക്കുന്ന പരമാവധി സമയം."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "പോളിംഗ് ഇൻറർവാൽ (ms)"
+description = "പുതിയ Telegram അപ്ഡേറ്റുകൾ പരിശോധിക്കുന്നതിനിടയിലെ ഇടവേള."
+
+[admin.settings.telegram.feedback]
+title = "ഫീഡ്ബാക്ക് സന്ദേശങ്ങൾ"
+description = "ബോട്ട് ഉപയോക്താക്കൾക്കും ചാനലുകൾക്കും എപ്പോൾ ഫീഡ്ബാക്ക് അയയ്ക്കണമെന്ന് തിരഞ്ഞെടുക്കുക."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "ഫീഡ്ബാക്ക് പ്രവർത്തനക്ഷമമാക്കുക"
+description = "ബോട്ട് ഫീഡ്ബാക്ക് സന്ദേശങ്ങൾ അയയ്ക്കണമോ എന്നത് നിയന്ത്രിക്കുക."
+
+[admin.settings.telegram.feedback.channel]
+title = "ചാനൽ ഫീഡ്ബാക്ക് ചട്ടങ്ങൾ"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "\"No valid document\" കാണിക്കുക (ചാനൽ)"
+description = "ചാനൽ അപ്ലോഡുകളിൽ \"No valid document\" പ്രതികരണം പ്രദർശിപ്പിക്കാതിരിക്കുക."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "പ്രോസസ്സിംഗ് പിശകുകൾ കാണിക്കുക (ചാനൽ)"
+description = "പ്രോസസ്സിംഗ് പിശക് സന്ദേശങ്ങൾ ചാനലുകൾക്ക് അയയ്ക്കുക."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "പിശക് സന്ദേശങ്ങൾ കാണിക്കുക (ചാനൽ)"
+description = "ചാനലുകൾക്ക് വിശദമായ പിശക് സന്ദേശങ്ങൾ കാണിക്കുക."
+
+[admin.settings.telegram.feedback.user]
+title = "ഉപയോക്തൃ ഫീഡ്ബാക്ക് ചട്ടങ്ങൾ"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "\"No valid document\" കാണിക്കുക (ഉപയോക്താവ്)"
+description = "ഉപയോക്തൃ അപ്ലോഡുകളിൽ \"No valid document\" പ്രതികരണം പ്രദർശിപ്പിക്കാതിരിക്കുക."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "പ്രോസസ്സിംഗ് പിശകുകൾ കാണിക്കുക (ഉപയോക്താവ്)"
+description = "പ്രോസസ്സിംഗ് പിശക് സന്ദേശങ്ങൾ ഉപയോക്താക്കൾക്ക് അയയ്ക്കുക."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "പിശക് സന്ദേശങ്ങൾ കാണിക്കുക (ഉപയോക്താവ്)"
+description = "ഉപയോക്താക്കൾക്ക് വിശദമായ പിശക് സന്ദേശങ്ങൾ കാണിക്കുക."
+
[admin.settings.database]
title = "ഡാറ്റാബേസ്"
description = "എന്റർപ്രൈസ് വിന്യാസങ്ങൾക്ക് കസ്റ്റം ഡാറ്റാബേസുമായി ബന്ധപ്പെട്ട സജ്ജീകരണങ്ങൾ ക്രമീകരിക്കുക."
@@ -4745,6 +4945,10 @@ description = "ഓട്ടോ-ജനറേറ്റ് ചെയ്ത പാ
label = "ഫ്രണ്ട്എൻഡ് URL"
description = "ഫ്രണ്ട്എൻഡിനുള്ള ബേസ് URL (ഉദാ. https://pdf.example.com). ഇമെയിലുകളിലെ ക്ഷണ ലിങ്കുകൾ സൃഷ്ടിക്കാൻ ഉപയോഗിക്കുന്നു. ബാക്ക്എൻഡ് URL ഉപയോഗിക്കാനായി ശൂന്യം വിടുക."
+[admin.settings.mail.frontendUrlNote]
+note = "കുറിപ്പ്: Frontend URL കോൺഫിഗർ ചെയ്തിരിക്കണം. "
+link = "സിസ്റ്റം സജ്ജീകരണങ്ങളിൽ കോൺഫിഗർ ചെയ്യുക"
+
[admin.settings.legal]
title = "ലീഗൽ ഡോക്യുമെന്റുകൾ"
description = "നിയമ പ്രമാണങ്ങളും നയങ്ങളും സംബന്ധിച്ച ലിങ്കുകൾ ക്രമീകരിക്കുക."
@@ -4929,6 +5133,9 @@ googleDriveShort = "ഡ്രൈവ്"
myFiles = "എന്റെ ഫയലുകൾ"
noRecentFiles = "സമീപകാല ഫയലുകൾ ഒന്നും കണ്ടെത്തിയില്ല"
googleDriveNotAvailable = "Google Drive ഇന്റഗ്രേഷൻ ലഭ്യമല്ല"
+mobileUpload = "മൊബൈൽ അപ്ലോഡ്"
+mobileShort = "മൊബൈൽ"
+mobileUploadNotAvailable = "മൊബൈൽ അപ്ലോഡ് പ്രവർത്തനക്ഷമമാക്കിയിട്ടില്ല"
downloadSelected = "തിരഞ്ഞെടുത്തത് ഡൗൺലോഡ് ചെയ്യുക"
saveSelected = "തിരഞ്ഞെടുത്തത് സേവ് ചെയ്യുക"
openFiles = "ഫയലുകൾ തുറക്കുക"
@@ -5244,7 +5451,7 @@ loading = "ലോഡുചെയ്യുന്നു..."
back = "തിരികെ"
continue = "തുടരുക"
error = "പിശക്"
-save = "Save"
+save = "സംരക്ഷിക്കുക"
[config.overview]
title = "ആപ്ലിക്കേഷൻ ക്രമീകരണം"
@@ -5307,6 +5514,15 @@ impact = "ഇപ്പോൾ ഈ കീകൾ ഉപയോഗിക്കുന
confirmPrompt = "തുടരാൻ നിങ്ങൾക്ക് ഉറപ്പാണോ?"
confirmCta = "കീകൾ റിഫ്രെഷ് ചെയ്യുക"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "API കീ പിശക്"
+failedToCreateApiKey = "API കീ സൃഷ്ടിക്കാൻ പരാജയപ്പെട്ടു."
+failedToRetrieveApiKey = "പ്രതികരണത്തിൽ നിന്ന് API കീ ലഭ്യമാക്കാൻ പരാജയപ്പെട്ടു."
+failedToFetchApiKey = "API കീ കൊണ്ടുവരാൻ പരാജയപ്പെട്ടു."
+apiKeyRefreshed = "API കീ പുതുക്കി"
+apiKeyRefreshedBody = "നിങ്ങളുടെ API കീ വിജയകരമായി പുതുക്കി."
+failedToRefreshApiKey = "API കീ പുതുക്കാൻ പരാജയപ്പെട്ടു."
+
[AddAttachmentsRequest]
attachments = "അറ്റാച്ച്മെന്റുകൾ തിരഞ്ഞെടുക്കുക"
info = "നിങ്ങളുടെ PDFയിലേക്ക് അറ്റാച്ചുചെയ്യാൻ ഫയലുകൾ തിരഞ്ഞെടുക്കുക. ഈ ഫയലുകൾ എംബെഡ് ചെയ്യപ്പെടുകയും PDFയുടെ അറ്റാച്ച്മെന്റ് പാനൽ വഴി ആക്സസ് ചെയ്യാനാകുകയും ചെയ്യും."
@@ -5412,14 +5628,14 @@ startTour = "ടൂർ ആരംഭിക്കുക"
startTourDescription = "Stirling PDF 的 പ്രധാന സവിശേഷതകളുടെ മാർഗ്ഗനിർദ്ദേശ ടൂർ"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Reader, Automate, നിങ്ങളുടെ ഫയലുകൾ, എല്ലാ ടൂറുകളും എന്നിവയ്ക്ക് ഇടയിൽ മാറാൻ Quick Access റെയിലിൽ നിന്ന് ആരംഭിക്കുക."
+leftPanel = "ഇടത്തേയുള്ള Tools പാനൽ നിങ്ങൾക്ക് ചെയ്യാവുന്ന എല്ലാം പട്ടികപ്പെടുത്തുന്നു. വിഭാഗങ്ങൾ ബ്രൗസ് ചെയ്യുകയോ ഒരു ടൂൾ പെട്ടെന്ന് കണ്ടെത്താൻ തിരയുകയോ ചെയ്യുക."
+fileUpload = "Files ബട്ടൺ ഉപയോഗിച്ച് അപ്ലോഡ് ചെയ്യുക അല്ലെങ്കിൽ അടുത്തിടെ ഉപയോഗിച്ച PDF തിരഞ്ഞെടുക്കുക. വർക്സ്പേസ് കാണാൻ ഒരു സാമ്പിൾ ഞങ്ങൾ ലോഡ് ചെയ്യും."
+rightRail = "Right Rail ഫയലുകൾ തിരഞ്ഞെടുക്കാൻ, തീം അല്ലെങ്കിൽ ഭാഷ മാറ്റാൻ, ഫലങ്ങൾ ഡൗൺലോഡ് ചെയ്യാൻ ഉള്ള ക്വിക് ആക്ഷനുകൾ സൂക്ഷിക്കുന്നു."
+topBar = "മുകളിലെ ബാർ Viewer, Page Editor, Active Files എന്നിവയ്ക്ക് ഇടയിൽ മാറാൻ അനുവദിക്കുന്നു."
+pageEditorView = "പേജുകൾ പുനഃക്രമീകരിക്കാൻ, ഭ്രമിപ്പിക്കാൻ, അല്ലെങ്കിൽ ഇല്ലാതാക്കാൻ Page Editor-ിലേക്ക് മാറുക."
+activeFilesView = "തുറന്നിട്ടിരിക്കുന്ന എല്ലാം കാണാനും എന്തിൽ പ്രവർത്തിക്കണമെന്നത് തിരഞ്ഞെടുക്കാനും Active Files ഉപയോഗിക്കുക."
+wrapUp = "V2യിലെ പുതുമകൾ ഇത്രയാണ്. ഇത്, Tools ടൂർ, അല്ലെങ്കിൽ Admin ടൂർ വീണ്ടും കാണാൻ ഏതുസമയവും Tours മെനു തുറക്കുക."
[onboarding.welcomeModal]
title = "Stirling PDFലേക്ക് സ്വാഗതം!"
@@ -5442,8 +5658,8 @@ showMeAround = "ടൂർ കാണിക്കുക"
skipTheTour = "ടൂർ ഒഴിവാക്കുക"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "ടൂർ അവലോകനം"
+body = "Stirling PDF V2 ഡസൻകണക്കിന് ഉപകരണങ്ങളും പുതുക്കിയ ലേഔട്ടും ഉൾപ്പെടുത്തി എത്തുന്നു. എന്താണ് മാറിയതെന്നും നിങ്ങൾക്ക് ആവശ്യമായ സവിശേഷതകൾ എവിടെയാണെന്നും വേഗത്തിൽ കാണാം."
[onboarding.serverLicense]
skip = "ഇപ്പോൾ ഒഴിവാക്കുക"
@@ -5452,7 +5668,7 @@ upgrade = "ഇപ്പോൾ അപ്ഗ്രേഡ് ചെയ്യു
freeTitle = "സെർവർ ലൈസൻസ്"
overLimitTitle = "സെർവർ ലൈസൻസ് ആവശ്യമാണ്"
overLimitBody = "ഞങ്ങളുടെ ലൈസൻസിംഗ് ഓരോ സെർവർക്കും പരമാവധി {{freeTierLimit}} ഉപയോക്താക്കളെ സൗജന്യമായി അനുവദിക്കുന്നു. നിങ്ങള്ക്ക് {{overLimitUserCopy}} Stirling ഉപയോക്താക്കളുണ്ട്. തടസ്സമില്ലാതെ തുടരാൻ, Stirling Server പ്ലാനിലേക്ക് അപ്ഗ്രേഡ് ചെയ്യുക - unlimited seats, PDF text editing, പൂർണ്ണ അഡ്മിൻ നിയന്ത്രണം, $99/server/mo."
-freeBody = "ഞങ്ങളുടെ Open-Core ലൈസൻസിംഗ് ഓരോ സെർവർക്കും പരമാവധി {{freeTierLimit}} ഉപയോക്താക്കളെ സൗജന്യമായി അനുവദിക്കുന്നു. തടസ്സമില്ലാതെ സ്കെയിൽ ചെയ്യാൻ, ഞങ്ങൾ Stirling Server പ്ലാൻ ശുപാർശ ചെയ്യുന്നു - പരിമിതിയില്ലാത്ത സീറ്റുകൾയും SSO പിന്തുണയും for $99/server/mo."
+freeBody = "ഞങ്ങളുടെ Open-Core ലൈസൻസിംഗ് ഓരോ സെർവർക്കും പരമാവധി {{freeTierLimit}} ഉപയോക്താക്കളെ സൗജന്യമായി അനുവദിക്കുന്നു. തടസ്സമില്ലാതെ സ്കെയിൽ ചെയ്യാനും പുതിയ PDF text editing tool ന് മുൻകാല ആക്സസ് നേടാനും, Stirling Server പ്ലാൻ ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു - പൂർണ്ണ എഡിറ്റിംഗും unlimited seats ഉം $99/server/mo."
[onboarding.desktopInstall]
title = "ഡൗൺലോഡ്"
@@ -5758,28 +5974,28 @@ contactSales = "വിൽപ്പന ടീമിനെ ബന്ധപ്പ
contactToUpgrade = "നിങ്ങളുടെ പ്ലാൻ അപ്ഗ്രേഡ് ചെയ്യുകയോ ഇഷ്ടാനുസൃതമാക്കുകയോ ചെയ്യാൻ ഞങ്ങളെ ബന്ധപ്പെടുക"
maxUsers = "പരമാവധി ഉപയോക്താക്കൾ"
upTo = "വരെ"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "സർവർ ലൈസൻസ് നേടുക"
+upgradeToEnterprise = "Enterprise-ലേക്ക് അപ്ഗ്രേഡ് ചെയ്യുക"
+selectPeriod = "ബില്ലിംഗ് കാലയളവ് തിരഞ്ഞെടുക്കുക"
+monthlyBilling = "പ്രതിമാസ ബില്ലിംഗ്"
+yearlyBilling = "പ്രതിവർഷ ബില്ലിംഗ്"
+checkoutOpened = "ചെക്കൗട്ട് തുറന്നു"
+checkoutInstructions = "Stripe ടാബിൽ നിങ്ങളുടെ വാങ്ങൽ പൂർത്തിയാക്കുക. പെയ്മെന്റിന് ശേഷം, ലൈസൻസ് സജീവമാക്കാൻ ഇവിടെ തിരിച്ചെത്തി പേജ് റിഫ്രെഷ് ചെയ്യുക. നിങ്ങള്ക്ക് ലൈസൻസ് കീ അടങ്ങുന്ന ഒരു ഇമെയിലും ലഭിക്കും."
+activateLicense = "നിങ്ങളുടെ ലൈസൻസ് സജീവമാക്കുക"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "പുതിയ ടാബിൽ ചെക്കൗട്ട് തുറന്നു"
+instructions = "Stripe ടാബിൽ നിങ്ങളുടെ വാങ്ങൽ പൂർത്തിയാക്കുക. പെയ്മെന്റ് പൂർത്തിയായാൽ, നിങ്ങളുടെ ലൈസൻസ് കീ അടങ്ങുന്ന ഒരു ഇമെയിൽ നിങ്ങൾക്ക് ലഭിക്കും."
+enterKey = "നിങ്ങളുടെ പ്ലാൻ സജീവമാക്കാൻ താഴെ നിങ്ങളുടെ ലൈസൻസ് കീ നൽകുക:"
+keyDescription = "ഇമെയിലിൽ നിന്ന് ലൈസൻസ് കീ പേസ്റ്റ് ചെയ്യുക"
+activate = "ലൈസൻസ് സജീവമാക്കുക"
+doLater = "ഇത് പിന്നീട് ചെയ്യും"
+success = "ലൈസൻസ് സജീവമായി!"
+successMessage = "നിങ്ങളുടെ ലൈസൻസ് വിജയകരമായി സജീവപ്പെടുത്തി. നിങ്ങൾക്ക് ഇപ്പോൾ ഈ ജാലകം അടയ്ക്കാം."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "ഇമെയിൽ സ്ഥിരീകരണം ആവശ്യമാണ്"
+message = "Stripe ബില്ലിംഗ് പോർട്ടലിൽ നിങ്ങളുടെ ഇമെയിൽ വിലാസം സ്ഥിരീകരിക്കണം. ലോഗിൻ ലിങ്കിനായി ഇമെയിൽ പരിശോധിക്കുക."
[plan.period]
month = "മാസം"
@@ -5983,8 +6199,8 @@ notAvailable = "ഓഡിറ്റ് സിസ്റ്റം ലഭ്യമ
notAvailableMessage = "ഓഡിറ്റ് സിസ്റ്റം കോൺഫിഗർ ചെയ്തിട്ടില്ല അല്ലെങ്കിൽ ലഭ്യമല്ല."
disabled = "ഓഡിറ്റ് ലോഗിംഗ് പ്രവർത്തനരഹിതമാണ്"
disabledMessage = "സിസ്റ്റം ഇവന്റുകൾ ട്രാക്ക് ചെയ്യാൻ നിങ്ങളുടെ ആപ്ലിക്കേഷൻ ക്രമീകരണത്തിൽ ഓഡിറ്റ് ലോഗിംഗ് പ്രവർത്തനക്ഷമമാക്കുക."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "എന്റർപ്രൈസ് ലൈസൻസ് ആവശ്യമാണ്"
+enterpriseRequiredMessage = "ഓഡിറ്റ് ലോഗിംഗ് സിസ്റ്റം ഒരു എന്റർപ്രൈസ് സവിശേഷതയാണ്. ഓഡിറ്റ് ലോഗുകളും അനലിറ്റിക്സും ആക്സസ് ചെയ്യാൻ ദയവായി എന്റർപ്രൈസ് ലൈസൻസിലേക്ക് അപ്ഗ്രേഡ് ചെയ്യുക."
[audit.error]
title = "ഓഡിറ്റ് സിസ്റ്റം ലോഡ് ചെയ്യുന്നതിൽ പിശക്"
@@ -6156,6 +6372,7 @@ description = "നിങ്ങളുടെ സെൽഫ്-ഹോസ്റ്റ
[setup.server.error]
emptyUrl = "ദയവായി ഒരു സെർവർ URL നൽകുക"
+invalidUrl = "അസാധുവായ URL ഫോർമാറ്റ്. https://your-server.com പോലുള്ള സാധുവായ URL നൽകുക"
unreachable = "സെർവറുമായി ബന്ധപ്പെടാൻ കഴിഞ്ഞില്ല"
testFailed = "കണക്ഷൻ ടെസ്റ്റ് പരാജയപ്പെട്ടു"
configFetch = "സർവർ കോൺഫിഗറേഷൻ ലഭ്യമാക്കൽ പരാജയപ്പെട്ടു. ദയവായി URL പരിശോധിച്ച് വീണ്ടും ശ്രമിക്കുക."
@@ -6174,6 +6391,7 @@ connectingTo = "കണക്റ്റ് ചെയ്യുന്നു:"
submit = "ലോഗിൻ"
signInWith = "ഇതുപയോഗിച്ച് സൈൻ ഇൻ ചെയ്യുക"
oauthPending = "ഓതന്റിക്കേഷനായി ബ്രൗസർ തുറക്കുന്നു..."
+sso = "Single Sign-On"
orContinueWith = "അല്ലെങ്കിൽ ഇമെയിലോടെ തുടരുക"
serverRequirement = "ശ്രദ്ധിക്കുക: സെർവറിൽ ലോഗിൻ പ്രവർത്തനക്ഷമമാക്കിയിരിക്കണം."
showInstructions = "എങ്ങനെ പ്രവർത്തനക്ഷമമാക്കാം?"
@@ -6232,15 +6450,15 @@ singleLine = "സിംഗിൾ ലൈൻ"
[pdfTextEditor.badges]
unsaved = "എഡിറ്റ് ചെയ്തു"
modified = "എഡിറ്റ് ചെയ്തു"
-earlyAccess = "എർലി ആക്സസ്"
+earlyAccess = "Early Access"
[pdfTextEditor.actions]
reset = "മാറ്റങ്ങൾ റീസെറ്റ് ചെയ്യുക"
downloadJson = "JSON ഡൗൺലോഡ് ചെയ്യുക"
generatePdf = "PDF സൃഷ്ടിക്കുക"
saveChanges = "മാറ്റങ്ങൾ സംരക്ഷിക്കുക"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "മാറ്റങ്ങൾ പ്രയോഗിക്കുക"
+downloadCopy = "കോപ്പി ഡൗൺലോഡ് ചെയ്യുക"
[pdfTextEditor.options.autoScaleText]
title = "ബോക്സിൽ ഒതുങ്ങാൻ ടെക്സ്റ്റ് സ്വയം സ്കെയിൽ ചെയ്യുക"
@@ -6260,22 +6478,22 @@ title = "തിരുത്തിയ ടെക്സ്റ്റ് ഒരു
description = "ഇത് ഓണാക്കിയാൽ, ഓവർലാപ്പിംഗ് ഗ്ലിഫ്സ് അല്ലെങ്കിൽ മിശ്ര ഫോണ്ടുകൾ ഒഴിവാക്കാൻ തിരുത്തിയ ഓരോ ടെക്സ്റ്റ് ബോക്സും ഒറ്റ PDF ടെക്സ്റ്റ് ഘടകമായി എക്സ്പോർട്ട് ചെയ്യും."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "അഡ്വാൻസ്ഡ് സജ്ജീകരണങ്ങൾ"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "പ്രിവ്യൂ പരിമിതങ്ങൾ"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "ടെക്സ്റ്റും ചിത്രവും കേന്ദ്രീകരിക്കുന്നത്"
+text = "ഈ വർക്സ്പേസ് ടെക്സ്റ്റ് എഡിറ്റിംഗിലും എംബെഡുചെയ്ത ചിത്രങ്ങളുടെ സ്ഥാനമാറ്റത്തിലും ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നു. സങ്കീർണ്ണമായ പേജ് ആർട്ട്വർക്ക്, ഫോം വിഡ്ജറ്റുകൾ, ലെയേർഡ് ഗ്രാഫിക്സ് എന്നിവ എക്സ്പോർട്ടിനായി നിലനിർത്തും, പക്ഷേ ഇവിടെ പൂർണ്ണമായി എഡിറ്റ് ചെയ്യാനാകില്ല."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "പ്രിവ്യൂ വ്യത്യാസങ്ങൾ"
+text = "ചില ദൃശ്യങ്ങൾ (ടേബിൾ ബോർഡറുകൾ, ആകൃതികൾ, അല്ലെങ്കിൽ അനോട്ടേഷൻ രൂപങ്ങൾ പോലുള്ളവ) പ്രിവ്യൂവിൽ കൃത്യമായി പ്രദർശിപ്പിക്കണമെന്നില്ല. എക്സ്പോർട്ട് ചെയ്ത PDF ഓരിജിനൽ ഡ്രോയിംഗ് കമാൻഡുകൾ കഴിയുന്നിടത്തോളം നിലനിർത്തും."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "ആൽഫാ വ്യൂവർ"
+text = "ഈ ആൽഫാ വ്യൂവർ ഇനിയും വികസനത്തിലാണു—ചില ഫോണ്ടുകൾ, നിറങ്ങൾ, പാരദർശ്യത ഇഫക്ടുകൾ, ലേഔട്ട് വിശദാംശങ്ങൾ എന്നിവ നേരിയ മാറ്റങ്ങൾ കാണിക്കാം. പങ്കിടുന്നതിന് മുമ്പ് സൃഷ്ടിച്ച PDF വീണ്ടും പരിശോധിക്കുക."
[pdfTextEditor.manual]
mergeTooltip = "തിരഞ്ഞെടുത്ത ബോക്സുകൾ ലയിപ്പിക്കുക"
@@ -6398,3 +6616,58 @@ title = "ടെക്സ്റ്റ് ചേർക്കൽ ഫലങ്ങൾ
[addText.error]
failed = "PDF-യിൽ ടെക്സ്റ്റ് ചേർക്കുമ്പോൾ പിശക് സംഭവിച്ചു."
+
+[mobileUpload]
+title = "മൊബൈലിൽ നിന്ന് അപ്ലോഡ് ചെയ്യുക"
+description = "സ്കാൻ ചെയ്ത് ചിത്രങ്ങൾ അപ്ലോഡ് ചെയ്യുക. ചിത്രങ്ങൾ സ്വയമേവ PDF-യായി മാറും."
+descriptionNoConvert = "നിങ്ങളുടെ മൊബൈൽ ഉപകരണത്തിൽ നിന്ന് ചിത്രങ്ങൾ അപ്ലോഡ് ചെയ്യാൻ സ്കാൻ ചെയ്യുക."
+error = "കണക്ഷൻ പിശക്"
+pollingError = "ഫയലുകൾ പരിശോധിക്കുമ്പോൾ പിശക്"
+sessionId = "സെഷൻ ID"
+sessionCreateError = "സെഷൻ സൃഷ്ടിക്കാൻ പരാജയപ്പെട്ടു"
+expiryWarning = "സെഷൻ ഉടൻ കാലഹരണം പ്രാപിക്കും"
+expiryWarningMessage = "ഈ QR കോഡ് {{seconds}} സെക്കൻഡിൽ കാലഹരണം പ്രാപിക്കും. പുതിയ കോഡ് സ്വയമേവ സൃഷ്ടിക്കും."
+filesReceived = "{{count}} ഫയൽ(കൾ) ലഭിച്ചു"
+connected = "മൊബൈൽ ഉപകരണം കണക്റ്റുചെയ്തു"
+instructions = "നിങ്ങളുടെ ഫോണിന്റെ ക്യാമറ ഉപയോഗിച്ച് സ്കാൻ ചെയ്യുക. ചിത്രങ്ങൾ സ്വയം PDF-യായി മാറും."
+instructionsNoConvert = "ഫയലുകൾ അപ്ലോഡ് ചെയ്യാൻ ഫോണിന്റെ ക്യാമറ ഉപയോഗിച്ച് സ്കാൻ ചെയ്യുക."
+
+[mobileScanner]
+title = "മൊബൈൽ സ്കാനർ"
+noSession = "അസാധുവായ സെഷൻ"
+noSessionMessage = "ഈ പേജ് ആക്സസ് ചെയ്യാൻ സാധുവായ QR കോഡ് സ്കാൻ ചെയ്യുക."
+validating = "സെഷൻ ശരിവെയ്ക്കുന്നു..."
+sessionInvalid = "സെഷൻ പിശക്"
+sessionExpired = "ഈ സെഷന്റെ കാലാവധി കഴിഞ്ഞു. ദയവായി റിഫ്രെഷ് ചെയ്ത് വീണ്ടും ശ്രമിക്കുക."
+sessionNotFound = "സെഷൻ കണ്ടെത്തിയില്ല. ദയവായി റിഫ്രെഷ് ചെയ്ത് വീണ്ടും ശ്രമിക്കുക."
+sessionValidationError = "സെഷൻ സ്ഥിരീകരിക്കാൻ കഴിഞ്ഞില്ല. ദയവായി വീണ്ടും ശ്രമിക്കുക."
+uploadSuccess = "അപ്ലോഡ് വിജയകരം!"
+uploadSuccessMessage = "നിങ്ങളുടെ ചിത്രങ്ങൾ മാറ്റി."
+httpsRequired = "ക്യാമറ ആക്സസിന് HTTPS അല്ലെങ്കിൽ localhost ആവശ്യമാണ്. ദയവായി HTTPS ഉപയോഗിക്കുകയോ localhost വഴി പ്രവേശിക്കുകയോ ചെയ്യുക."
+uploadFailed = "അപ്ലോഡ് പരാജയപ്പെട്ടു. വീണ്ടും ശ്രമിക്കുക."
+uploading = "അപ്ലോഡ് ചെയ്യുന്നു..."
+connected = "കണക്റ്റുചെയ്തു"
+connecting = "കണക്റ്റുചെയ്യുന്നു..."
+chooseMethod = "അപ്ലോഡ് രീതി തിരഞ്ഞെടുക്കുക"
+chooseMethodDescription = "ഡോക്യുമെന്റുകൾ എങ്ങനെ സ്കാൻ ചെയ്ത് അപ്ലോഡ് ചെയ്യണമെന്ന് തിരഞ്ഞെടുക്കുക"
+camera = "ക്യാമറ"
+cameraDescription = "സ്വയമേവ എഡ്ജ് കണ്ടെത്തലോടുകൂടി നിങ്ങളുടെ ഉപകരണത്തിന്റെ ക്യാമറ ഉപയോഗിച്ച് ഡോക്യുമെന്റുകൾ സ്കാൻ ചെയ്യുക"
+fileUpload = "ഫയൽ അപ്ലോഡ്"
+fileDescription = "നിങ്ങളുടെ ഉപകരണത്തിൽ നിന്ന് നിലവിലുള്ള ഫോട്ടോകൾ അല്ലെങ്കിൽ ഡോക്യുമെന്റുകൾ അപ്ലോഡ് ചെയ്യുക"
+cameraAccessDenied = "ക്യാമറ ആക്സസ് നിരസിച്ചു. ദയവായി ക്യാമറ ആക്സസ് പ്രവർത്തനക്ഷമമാക്കുക."
+back = "മടങ്ങുക"
+settings = "സജ്ജീകരണങ്ങൾ"
+edgeDetection = "എഡ്ജ് കണ്ടെത്തൽ"
+flashlight = "ഫ്ലാഷ്ലൈറ്റ്"
+flash = "ഫ്ലാഷ്"
+processing = "പ്രോസസ്സിംഗ്..."
+capture = "ഫോട്ടോ പകർത്തുക"
+selectFilesPrompt = "അപ്ലോഡ് ചെയ്യാൻ ഫയലുകൾ തിരഞ്ഞെടുക്കുക"
+selectImage = "ചിത്രം തിരഞ്ഞെടുക്കുക"
+preview = "പ്രിവ്യൂ"
+retake = "വീണ്ടും എടുക്കുക"
+addToBatch = "ബാച്ചിലേക്ക് ചേർക്കുക"
+upload = "അപ്ലോഡ്"
+batchImages = "ബാച്ച്"
+clearBatch = "ക്ലിയർ"
+uploadAll = "എല്ലാം അപ്ലോഡ് ചെയ്യുക"
diff --git a/frontend/public/locales/nl-NL/translation.toml b/frontend/public/locales/nl-NL/translation.toml
index da8ff2b7a..66c640097 100644
--- a/frontend/public/locales/nl-NL/translation.toml
+++ b/frontend/public/locales/nl-NL/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "U heeft niet-opgeslagen wijzigingen in uw PDF."
+pendingRedactionsTitle = "Niet-toegepaste anonimiseringen"
+pendingRedactions = "U hebt niet-toegepaste anonimiseringen die verloren gaan."
areYouSure = "Weet u zeker dat u wilt vertrekken?"
unsavedChangesTitle = "Niet-opgeslagen wijzigingen"
keepWorking = "Doorgaan met werken"
discardChanges = "Verwerpen en verlaten"
+discardRedactions = "Verwerpen & verlaten"
applyAndContinue = "Opslaan en verlaten"
exportAndContinue = "Exporteren en doorgaan"
cancel = "Annuleren"
@@ -364,6 +367,7 @@ advanced = "Geavanceerd"
title = "Beveiliging & Authenticatie"
security = "Beveiliging"
connections = "Verbindingen"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Licenties & Analyse"
@@ -438,6 +442,13 @@ currentVersion = "Huidige versie"
latestVersion = "Laatste versie"
checkForUpdates = "Op updates controleren"
viewDetails = "Details bekijken"
+serverNeedsUpdate = "Server moet door de beheerder worden bijgewerkt"
+
+[settings.general.versionInfo]
+title = "Versie-informatie"
+description = "Details van desktop- en serverversie"
+desktop = "Desktopversie"
+server = "Serverversie"
[settings.security]
title = "Beveiliging"
@@ -528,6 +539,8 @@ accountSettings = "Account instellingen"
adminSettings = "Beheerdersinstellingen - Gebruikers bekijken en toevoegen"
userControlSettings = "Gebruikerscontrole instellingen"
changeUsername = "Wijzig gebruikersnaam"
+changeUsernameDescription = "Werk uw gebruikersnaam bij. U wordt afgemeld na het bijwerken."
+newUsernamePlaceholder = "Voer uw nieuwe gebruikersnaam in"
newUsername = "Nieuwe gebruikersnaam"
password = "Bevestigingswachtwoord"
oldPassword = "Oud wachtwoord"
@@ -737,9 +750,9 @@ title = "Ondertekenen"
desc = "Voegt handtekening toe aan PDF via tekenen, tekst of afbeelding"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "annoteren,markeren,tekenen"
+title = "Annoteren"
+desc = "Markeer, teken en voeg notities en vormen toe in de viewer"
[home.flatten]
tags = "vereenvoudigen,verwijderen,interactief"
@@ -963,6 +976,7 @@ desc = "Voeg overal in uw PDF aangepaste tekst toe"
addFiles = "Bestanden toevoegen"
uploadFromComputer = "Uploaden vanaf computer"
openFromComputer = "Openen vanaf computer"
+mobileUpload = "Uploaden vanaf mobiel"
[viewPdf]
tags = "bekijken,lezen,annoteren,tekst,afbeelding"
@@ -1278,21 +1292,33 @@ cbzOptions = "CBZ-naar-PDF-opties"
optimizeForEbook = "PDF optimaliseren voor e-readers (gebruikt Ghostscript)"
cbzOutputOptions = "PDF-naar-CBZ-opties"
cbzDpi = "DPI voor weergave van afbeeldingen"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "CBR-opties"
+cbrOutputOptions = "Opties voor PDF naar CBR"
+cbrDpi = "DPI voor afbeeldingsrendering"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "Opties voor eBook naar PDF"
+ebookOptionsDesc = "Opties voor het converteren van eBooks naar PDF"
+embedAllFonts = "Alle lettertypen insluiten"
+embedAllFontsDesc = "Alle lettertypen uit het eBook in de gegenereerde PDF insluiten"
+includeTableOfContents = "Inhoudsopgave opnemen"
+includeTableOfContentsDesc = "Een gegenereerde inhoudsopgave toevoegen aan de resulterende PDF"
+includePageNumbers = "Paginanummers opnemen"
+includePageNumbersDesc = "Paginanummers toevoegen aan de gegenereerde PDF"
+optimizeForEbookPdf = "Optimaliseren voor e-readers"
+optimizeForEbookPdfDesc = "De PDF optimaliseren voor eBook-lezen (kleinere bestandsgrootte, betere weergave op eInk-apparaten)"
+
+[convert.epubOptions]
+epubOptions = "Opties voor PDF naar eBook"
+epubOptionsDesc = "Opties voor het converteren van PDF naar EPUB/AZW3"
+detectChapters = "Hoofdstukken detecteren"
+detectChaptersDesc = "Koppen die op hoofdstukken lijken detecteren en EPUB-paginabreuken invoegen"
+targetDevice = "Doelapparaat"
+targetDeviceDesc = "Kies een uitvoerprofiel dat is geoptimaliseerd voor het leesapparaat"
+outputFormat = "Uitvoerformaat"
+outputFormatDesc = "Kies het uitvoerformaat voor het eBook"
+tabletPhone = "Tablet/Telefoon (met afbeeldingen)"
+kindleEink = "Kindle e-Ink (tekst geoptimaliseerd)"
[imageToPdf]
tags = "conversie,img,jpg,foto"
@@ -1409,11 +1435,11 @@ header = "Add attachments"
add = "Bijlage toevoegen"
remove = "Bijlage verwijderen"
embed = "Bijlage insluiten"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Converteren naar PDF/A-3b"
+convertToPdfA3bDescription = "Maakt een archief-PDF met ingesloten bijlagen"
+convertToPdfA3bTooltip = "PDF/A-3b is een archiefformaat dat langdurige bewaring waarborgt. Het staat het insluiten van willekeurige bestandsformaten als bijlagen toe. Converteren vereist Ghostscript en kan langer duren voor grote bestanden."
+convertToPdfA3bTooltipHeader = "Over PDF/A-3b-conversie"
+convertToPdfA3bTooltipTitle = "Wat het doet"
submit = "Add attachments"
[watermark]
@@ -2359,10 +2385,10 @@ saved = "Opgeslagen"
label = "Handtekeningafbeelding uploaden"
placeholder = "Afbeeldingsbestand selecteren"
hint = "Upload een PNG- of JPG-afbeelding van uw handtekening"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Witte achtergrond verwijderen (transparant maken)"
+processing = "Afbeelding verwerken..."
+backgroundRemovalFailedTitle = "Achtergrond verwijderen mislukt"
+backgroundRemovalFailedMessage = "Kan de achtergrond niet uit de afbeelding verwijderen. De originele afbeelding wordt gebruikt."
[sign.instructions]
title = "Hoe een handtekening toevoegen"
@@ -2409,9 +2435,9 @@ label = "Alleen formulieren afvlakken"
desc = "Alleen formuliervelden afvlakken; andere interactieve elementen blijven intact"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "Render-DPI (optioneel, aanbevolen 150 DPI)"
+help = "Laat leeg om de systeemstandaard te gebruiken. Hogere DPI verscherpt de uitvoer maar verhoogt de verwerkingstijd en bestandsgrootte."
+placeholder = "bijv. 150"
[flatten.results]
title = "Resultaten afvlakken"
@@ -2987,7 +3013,7 @@ header = "PDF bijsnijden"
submit = "Indienen"
noFileSelected = "Selecteer een PDF-bestand om te beginnen met bijsnijden"
reset = "Resetten naar volledige PDF"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Witruimte automatisch bijsnijden"
[crop.preview]
title = "Selectie bijsnijgebied"
@@ -3218,6 +3244,7 @@ title = "Methode voor zwartlakken"
mode = "Modus"
automatic = "Automatisch"
automaticDesc = "Tekst zwartlakken op basis van zoektermen"
+automaticDisabledTooltip = "Selecteer bestanden in de bestandsbeheerder om meerdere bestanden tegelijk te anonimiseren"
manual = "Handmatig"
manualDesc = "Klik en sleep om specifieke gebieden te zwartlakken"
manualComingSoon = "Handmatig zwartlakken komt binnenkort"
@@ -3288,8 +3315,35 @@ text = "Match alleen complete woorden, geen gedeeltelijke overeenkomsten. 'John'
title = "Converteren naar PDF-afbeelding"
text = "Converteert de PDF na zwartlakken naar een op afbeeldingen gebaseerde PDF. Dit zorgt ervoor dat tekst achter zwartlakvakken volledig wordt verwijderd en onherstelbaar is."
+[redact.tooltip.manual.header]
+title = "Handmatige anonimiseringsbesturingselementen"
+
+[redact.tooltip.manual.markText]
+title = "Tekst markeren"
+text = "Selecteer tekst direct op de PDF om deze te markeren voor anonimisering. Klik en sleep om specifieke tekst te markeren die u wilt anonimiseren."
+
+[redact.tooltip.manual.markArea]
+title = "Gebied markeren"
+text = "Teken rechthoekige gebieden op de PDF om regio's te markeren voor anonimisering. Handig voor het anonimiseren van afbeeldingen, handtekeningen of onregelmatige vormen."
+
+[redact.tooltip.manual.apply]
+title = "Anonimiseringen toepassen"
+text = "Klik na het markeren op 'Toepassen' om alle gemarkeerde gebieden permanent te anonimiseren. De teller in behandeling toont hoeveel anonimiseringen klaar zijn om toegepast te worden."
+bullet1 = "Markeer zoveel gebieden als nodig voordat u toepast"
+bullet2 = "Alle openstaande anonimiseringen worden in één keer toegepast"
+bullet3 = "Anonimiseringen kunnen na toepassing niet ongedaan worden gemaakt"
+
[redact.manual]
+title = "Anonimiseringshulpmiddelen"
+instructions = "Selecteer tekst of teken gebieden op de PDF om inhoud te markeren voor anonimisering."
+markText = "Tekst markeren"
+markArea = "Gebied markeren"
+pendingLabel = "In behandeling:"
+applyWarning = "⚠️ Permanente toepassing, kan niet ongedaan worden gemaakt en de onderliggende gegevens worden verwijderd"
+apply = "Toepassen"
+noMarks = "Geen anonimiseringsmarkeringen. Gebruik de bovenstaande tools om inhoud te markeren voor anonimisering."
header = "Handmatig zwartlakken"
+controlsTitle = "Handmatige anonimiseringsbesturingselementen"
textBasedRedaction = "Tekstgebaseerd zwartlakken"
pageBasedRedaction = "Pagina-gebaseerd zwartlakken"
convertPDFToImageLabel = "PDF converteren naar PDF-afbeelding (gebruikt om tekst achter het vak te verwijderen)"
@@ -3406,17 +3460,17 @@ label = "Verticale secties"
placeholder = "Voer het aantal verticale secties in"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Splitsmodus"
+description = "Kies hoe de pagina's worden gesplitst"
+splitAll = "Alle pagina's splitsen"
+splitAllExceptFirst = "Alles behalve de eerste splitsen"
+splitAllExceptLast = "Alles behalve de laatste splitsen"
+splitAllExceptFirstAndLast = "Alles behalve de eerste en laatste splitsen"
+custom = "Aangepaste pagina's"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Aangepaste paginanummers"
+placeholder = "bijv. 2,4,6"
[AddStampRequest]
tags = "Stempel, Afbeelding toevoegen, afbeelding centreren, watermerk, PDF, Insluiten, Aanpassen"
@@ -3780,7 +3834,7 @@ filesize = "Bestandsgrootte"
label = "Grijstinten toepassen voor compressie"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "PDF lineariseren voor snelle webweergave"
[compress.lineArt]
label = "Afbeeldingen omzetten in lijntekening"
@@ -3826,9 +3880,9 @@ _value = "Compressie-instellingen"
1 = "1-3 PDF-compressie, 4-6 lichte afbeeldingscompressie, 7-9 intense afbeeldingscompressie Zal de beeldkwaliteit sterk verminderen"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Lagere waarden behouden kwaliteit maar resulteren in grotere bestanden"
+range4to6 = "Gemiddelde compressie met matige kwaliteitsvermindering"
+range7to9 = "Hogere waarden verkleinen de bestandsgrootte aanzienlijk maar kunnen de afbeeldingsscherpte verminderen"
[decrypt]
passwordPrompt = "Dit bestand is met een wachtwoord beveiligd. Voer het wachtwoord in:"
@@ -4069,7 +4123,7 @@ deleteSelected = "Geselecteerde pagina's verwijderen"
closePdf = "PDF sluiten"
exportAll = "PDF exporteren"
downloadSelected = "Geselecteerde bestanden downloaden"
-annotations = "Annotations"
+annotations = "Annotaties"
exportSelected = "Geselecteerde pagina's exporteren"
saveChanges = "Wijzigingen opslaan"
toggleTheme = "Thema wisselen"
@@ -4077,84 +4131,90 @@ language = "Taal"
toggleAnnotations = "Annotaties tonen/verbergen"
search = "PDF doorzoeken"
panMode = "Pan-modus"
+applyRedactionsFirst = "Eerst anonimiseringen toepassen"
rotateLeft = "Linksom draaien"
rotateRight = "Rechtsom draaien"
toggleSidebar = "Zijbalk tonen/verbergen"
toggleBookmarks = "Bladwijzers tonen/verbergen"
print = "PDF afdrukken"
+draw = "Tekenen"
+redact = "Anonimiseren"
+exitRedaction = "Anonimiseringsmodus verlaten"
+save = "Opslaan"
downloadAll = "Alles downloaden"
saveAll = "Alles opslaan"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Links"
+center = "Midden"
+right = "Rechts"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
+title = "Annoteren"
+desc = "Gebruik markeren, pen, tekst en notities. Wijzigingen blijven actief—afvlakken is niet nodig."
+highlight = "Markeren"
pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+text = "Tekstvak"
+note = "Notitie"
+rectangle = "Rechthoek"
+ellipse = "Ellips"
+select = "Selecteren"
+exit = "Annotatiemodus verlaten"
+strokeWidth = "Breedte"
+opacity = "Dekking"
+strokeOpacity = "Lijndekking"
+fillOpacity = "Vuldekking"
+fontSize = "Lettergrootte"
+chooseColor = "Kleur kiezen"
+color = "Kleur"
+strokeColor = "Lijnkleur"
+fillColor = "Vulkleur"
+underline = "Onderstrepen"
+strikeout = "Doorhalen"
+squiggly = "Gekruld"
+inkHighlighter = "Vrije markeerstift"
+freehandHighlighter = "Vrije markeerstift"
+square = "Vierkant"
+circle = "Cirkel"
+polygon = "Veelhoek"
+line = "Lijn"
+stamp = "Afbeelding toevoegen"
+textMarkup = "Tekstmarkering"
+drawing = "Tekening"
+shapes = "Vormen"
+notesStamps = "Notities en stempels"
+settings = "Instellingen"
+borderOn = "Rand: Aan"
+borderOff = "Rand: Uit"
+editInk = "Pen bewerken"
+editLine = "Lijn bewerken"
+editNote = "Notitie bewerken"
+editText = "Tekstvak bewerken"
+editTextMarkup = "Tekstmarkering bewerken"
+editSelected = "Annotatie bewerken"
+editSquare = "Vierkant bewerken"
+editCircle = "Cirkel bewerken"
+editPolygon = "Veelhoek bewerken"
+unsupportedType = "Dit annotatietype wordt niet volledig ondersteund voor bewerken."
+textAlignment = "Tekstuitlijning"
+noteIcon = "Notitiepictogram"
+imagePreview = "Voorbeeld"
+contents = "Tekst"
+backgroundColor = "Achtergrondkleur"
+clearBackground = "Achtergrond verwijderen"
+noBackground = "Geen achtergrond"
+stampSettings = "Stempelinstellingen"
+savingCopy = "Download voorbereiden..."
+saveFailed = "Kan kopie niet opslaan"
+saveReady = "Download gereed"
+selectAndMove = "Selecteren en bewerken"
+editSelectDescription = "Klik op een bestaande annotatie om de kleur, dekking, tekst of grootte te bewerken."
+editStampHint = "Om de afbeelding te wijzigen, verwijder deze stempel en voeg een nieuwe toe."
+editSwitchToSelect = "Schakel over naar Selecteren en bewerken om deze annotatie te bewerken."
+undo = "Ongedaan maken"
+redo = "Opnieuw"
+applyChanges = "Wijzigingen toepassen"
+saveChanges = "Wijzigingen opslaan"
[search]
title = "PDF doorzoeken"
@@ -4237,6 +4297,8 @@ fetchError = "Instellingen laden mislukt"
saveError = "Instellingen opslaan mislukt"
saved = "Instellingen succesvol opgeslagen"
saveSuccess = "Instellingen succesvol opgeslagen"
+success = "Instellingen succesvol opgeslagen"
+error = "Opslaan van instellingen mislukt"
save = "Wijzigingen opslaan"
discard = "Verwerpen"
restartRequired = "Herstart vereist"
@@ -4360,6 +4422,13 @@ description = "Pad naar WeasyPrint-uitvoerbaar bestand voor HTML-naar-PDF-conver
label = "Unoconvert-uitvoerbaar bestand"
description = "Pad naar LibreOffice unoconvert voor documentconversies (laat leeg voor standaard: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "Frontend-URL"
+description = "Basis-URL voor frontend (bijv. https://pdf.example.com). Gebruikt voor e-mailuitnodigingslinks en mobiele QR-codeuploads. Laat leeg om de backend-URL te gebruiken."
+
+[admin.settings.badge]
+clickToUpgrade = "Klik om plandetails te bekijken"
+
[admin.settings.security]
title = "Beveiliging"
description = "Configureer authenticatie, inloggedrag en beveiligingsbeleid."
@@ -4496,6 +4565,19 @@ connect = "Verbinden"
disconnect = "Verbinding verbreken"
disconnected = "Provider succesvol ontkoppeld"
disconnectError = "Ontkoppelen van provider mislukt"
+mobileScannerConvertToPdf = "Afbeeldingen naar PDF converteren"
+mobileScannerConvertToPdfDesc = "Geüploade afbeeldingen automatisch naar PDF-formaat converteren. Indien uitgeschakeld, blijven afbeeldingen ongewijzigd."
+mobileScannerImageResolution = "Beeldresolutie"
+mobileScannerImageResolutionDesc = "Resolutie van geüploade afbeeldingen. \"Verlaagd\" schaalt afbeeldingen naar max 1200px om de bestandsgrootte te verkleinen."
+imageResolutionFull = "Volledig (oorspronkelijke grootte)"
+imageResolutionReduced = "Verlaagd (max 1200px)"
+mobileScannerPageFormat = "Paginaformaat"
+mobileScannerPageFormatDesc = "PDF-paginaformaat voor geconverteerde afbeeldingen. \"Behouden\" gebruikt oorspronkelijke afbeeldingsafmetingen."
+pageFormatKeep = "Behouden (oorspronkelijke afmetingen)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Passend maken"
+mobileScannerStretchToFitDesc = "Rek afbeeldingen op om de hele pagina te vullen. Indien uitgeschakeld, worden afbeeldingen gecentreerd met behoud van de beeldverhouding."
[admin.settings.connections.ssoAutoLogin]
label = "SSO automatisch inloggen"
@@ -4564,6 +4646,122 @@ description = "Automatisch gebruikersaccounts aanmaken bij de eerste SAML2-login
label = "Registratie blokkeren"
description = "Nieuwe gebruikersregistratie via SAML2 voorkomen"
+[admin.settings.connections.mobileScanner]
+label = "Uploaden via mobiele telefoon"
+enable = "QR-code-upload inschakelen"
+description = "Sta gebruikers toe bestanden te uploaden vanaf mobiele apparaten door een QR-code te scannen"
+note = "Opmerking: hiervoor moet de Frontend-URL worden geconfigureerd. "
+link = "Configureren in systeeminstellingen"
+mobileScannerConvertToPdf = "Afbeeldingen naar PDF converteren"
+mobileScannerConvertToPdfDesc = "Geüploade afbeeldingen automatisch naar PDF-formaat converteren. Indien uitgeschakeld, blijven afbeeldingen ongewijzigd."
+mobileScannerImageResolution = "Beeldresolutie"
+mobileScannerImageResolutionDesc = "Resolutie van geüploade afbeeldingen. \"Verlaagd\" schaalt afbeeldingen naar max 1200px om de bestandsgrootte te verkleinen."
+imageResolutionFull = "Volledig (oorspronkelijke grootte)"
+imageResolutionReduced = "Verlaagd (max 1200px)"
+mobileScannerPageFormat = "Paginaformaat"
+mobileScannerPageFormatDesc = "PDF-paginaformaat voor geconverteerde afbeeldingen. \"Behouden\" gebruikt oorspronkelijke afbeeldingsafmetingen."
+pageFormatKeep = "Behouden (oorspronkelijke afmetingen)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Passend maken"
+mobileScannerStretchToFitDesc = "Rek afbeeldingen op om de hele pagina te vullen. Indien uitgeschakeld, worden afbeeldingen gecentreerd met behoud van de beeldverhouding."
+
+[admin.settings.telegram]
+title = "Telegram-bot"
+description = "Telegram-botconnectiviteit, toegangsbeheer en feedbackgedrag configureren."
+
+[admin.settings.telegram.enabled]
+label = "Telegram-bot inschakelen"
+description = "Gebruikers toestaan te werken met Stirling PDF via uw geconfigureerde Telegram-bot."
+
+[admin.settings.telegram.botUsername]
+label = "Botgebruikersnaam"
+description = "De openbare gebruikersnaam van uw Telegram-bot."
+
+[admin.settings.telegram.botToken]
+label = "Bot-token"
+description = "API-token geleverd door BotFather voor uw Telegram-bot."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Inboxmap"
+description = "Map onder de pipeline-map waar inkomende Telegram-bestanden worden opgeslagen."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Aangepaste mapachtervoegsel gebruiken"
+description = "Voeg de chat-ID toe aan mappen met inkomende bestanden om uploads per chat te isoleren."
+
+[admin.settings.telegram.accessControl]
+title = "Toegangsbeheer"
+description = "Beperk welke gebruikers of kanalen met de bot kunnen communiceren."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Specifieke gebruikers-ID's toestaan"
+description = "Indien ingeschakeld, kunnen alleen vermelde gebruikers-ID's de bot gebruiken."
+
+[admin.settings.telegram.allowUserIDs]
+label = "Toegestane gebruikers-ID's"
+description = "Voer Telegram-gebruikers-ID's in die met de bot mogen communiceren."
+placeholder = "Voeg gebruikers-ID toe en druk op Enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Specifieke kanaal-ID's toestaan"
+description = "Indien ingeschakeld, kunnen alleen vermelde kanaal-ID's de bot gebruiken."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "Toegestane kanaal-ID's"
+description = "Voer Telegram-kanaal-ID's in die met de bot mogen communiceren."
+placeholder = "Voeg kanaal-ID toe en druk op Enter"
+
+[admin.settings.telegram.processing]
+title = "Verwerking"
+description = "Polling-intervallen en verwerkingstime-outs voor Telegram-uploads beheren."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Verwerkingstime-out (seconden)"
+description = "Maximale wachttijd voor een verwerkingstaak voordat een fout wordt gemeld."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Polling-interval (ms)"
+description = "Interval tussen controles op nieuwe Telegram-updates."
+
+[admin.settings.telegram.feedback]
+title = "Feedbackberichten"
+description = "Kies wanneer de bot feedback naar gebruikers en kanalen moet sturen."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Feedback inschakelen"
+description = "Bepaal of de bot überhaupt feedbackberichten verzendt."
+
+[admin.settings.telegram.feedback.channel]
+title = "Feedbackregels voor kanalen"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "‘Geen geldig document’ weergeven (kanaal)"
+description = "Onderdruk de ‘geen geldig document’-reactie voor kanaaluploads."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Verwerkingsfouten weergeven (kanaal)"
+description = "Verzend verwerkingsfoutmeldingen naar kanalen."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Foutmeldingen weergeven (kanaal)"
+description = "Gedetailleerde foutmeldingen voor kanalen weergeven."
+
+[admin.settings.telegram.feedback.user]
+title = "Feedbackregels voor gebruikers"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "‘Geen geldig document’ weergeven (gebruiker)"
+description = "Onderdruk de ‘geen geldig document’-reactie voor gebruikersuploads."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Verwerkingsfouten weergeven (gebruiker)"
+description = "Verzend verwerkingsfoutmeldingen naar gebruikers."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Foutmeldingen weergeven (gebruiker)"
+description = "Gedetailleerde foutmeldingen voor gebruikers weergeven."
+
[admin.settings.database]
title = "Database"
description = "Configureer aangepaste databaseverbindingsinstellingen voor enterprise-implementaties."
@@ -4745,6 +4943,10 @@ description = "Sta beheerders toe om gebruikers via e-mail uit te nodigen met au
label = "Frontend-URL"
description = "Basis-URL voor de frontend (bijv. https://pdf.example.com). Wordt gebruikt voor het genereren van uitnodigingslinks in e-mails. Laat leeg om de back-end-URL te gebruiken."
+[admin.settings.mail.frontendUrlNote]
+note = "Opmerking: hiervoor moet de Frontend-URL worden geconfigureerd. "
+link = "Configureren in systeeminstellingen"
+
[admin.settings.legal]
title = "Juridische documenten"
description = "Links naar juridische documenten en beleidsregels configureren."
@@ -4929,6 +5131,9 @@ googleDriveShort = "Drive"
myFiles = "Mijn bestanden"
noRecentFiles = "Geen recente bestanden gevonden"
googleDriveNotAvailable = "Google Drive-integratie niet beschikbaar"
+mobileUpload = "Mobiele upload"
+mobileShort = "Mobiel"
+mobileUploadNotAvailable = "Mobiele upload niet ingeschakeld"
downloadSelected = "Geselecteerde downloaden"
saveSelected = "Selectie opslaan"
openFiles = "Bestanden openen"
@@ -5307,6 +5512,15 @@ impact = "Eventuele applicaties of services die deze sleutels momenteel gebruike
confirmPrompt = "Weet u zeker dat u wilt doorgaan?"
confirmCta = "Sleutels vernieuwen"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "API-sleutelfout"
+failedToCreateApiKey = "API-sleutel maken mislukt."
+failedToRetrieveApiKey = "Kan API-sleutel niet uit antwoord ophalen."
+failedToFetchApiKey = "API-sleutel ophalen mislukt."
+apiKeyRefreshed = "API-sleutel vernieuwd"
+apiKeyRefreshedBody = "Uw API-sleutel is succesvol vernieuwd."
+failedToRefreshApiKey = "Vernieuwen van API-sleutel mislukt."
+
[AddAttachmentsRequest]
attachments = "Bijlagen selecteren"
info = "Selecteer bestanden om aan uw PDF toe te voegen. Deze bestanden worden ingesloten en zijn toegankelijk via het bijlagenpaneel van de PDF."
@@ -6156,6 +6370,7 @@ description = "Voer de volledige URL van uw self-hosted Stirling PDF-server in"
[setup.server.error]
emptyUrl = "Voer een server-URL in"
+invalidUrl = "Ongeldig URL-formaat. Voer een geldige URL in, zoals https://your-server.com"
unreachable = "Kan geen verbinding maken met server"
testFailed = "Verbindingstest mislukt"
configFetch = "Ophalen van serverconfiguratie mislukt. Controleer de URL en probeer het opnieuw."
@@ -6174,6 +6389,7 @@ connectingTo = "Verbinden met:"
submit = "Inloggen"
signInWith = "Inloggen met"
oauthPending = "Browser wordt geopend voor authenticatie..."
+sso = "Single Sign-On"
orContinueWith = "Of ga verder met e-mail"
serverRequirement = "Let op: op de server moet inloggen zijn ingeschakeld."
showInstructions = "Hoe inschakelen?"
@@ -6239,8 +6455,8 @@ reset = "Wijzigingen resetten"
downloadJson = "JSON downloaden"
generatePdf = "PDF genereren"
saveChanges = "Wijzigingen opslaan"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Wijzigingen toepassen"
+downloadCopy = "Kopie downloaden"
[pdfTextEditor.options.autoScaleText]
title = "Tekst automatisch schalen zodat deze in vakken past"
@@ -6260,22 +6476,22 @@ title = "Bewerkte tekst vastzetten op één PDF‑element"
description = "Wanneer ingeschakeld, exporteert de editor elk bewerkt tekstvak als één PDF-tekstelement om overlappende glyphen of gemengde lettertypen te voorkomen."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Geavanceerde instellingen"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Beperkingen van de voorbeeldweergave"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Tekst- en afbeeldingsfocus"
+text = "Deze werkruimte richt zich op het bewerken van tekst en het herpositioneren van ingesloten afbeeldingen. Complexe pagina-artwork, formulierwidgets en gelaagde graphics blijven behouden voor export maar zijn hier niet volledig bewerkbaar."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Voorbeeldvariaties"
+text = "Sommige visuals (zoals tabelranden, vormen of weergaven van annotaties) worden mogelijk niet exact weergegeven in het voorbeeld. De geëxporteerde PDF behoudt waar mogelijk de oorspronkelijke tekenopdrachten."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Alpha-viewer"
+text = "Deze alpha-viewer is nog in ontwikkeling—bepaalde lettertypen, kleuren, transparantie-effecten en details in de lay-out kunnen licht afwijken. Controleer de gegenereerde PDF voordat u deze deelt."
[pdfTextEditor.manual]
mergeTooltip = "Geselecteerde vakken samenvoegen"
@@ -6398,3 +6614,58 @@ title = "Resultaten van tekst toevoegen"
[addText.error]
failed = "Er is een fout opgetreden bij het toevoegen van tekst aan de PDF."
+
+[mobileUpload]
+title = "Uploaden vanaf mobiel"
+description = "Scan om foto's te uploaden. Afbeeldingen worden automatisch naar PDF geconverteerd."
+descriptionNoConvert = "Scan om foto's vanaf uw mobiele apparaat te uploaden."
+error = "Verbindingsfout"
+pollingError = "Fout bij controleren op bestanden"
+sessionId = "Sessie-ID"
+sessionCreateError = "Sessie maken mislukt"
+expiryWarning = "Sessie verloopt binnenkort"
+expiryWarningMessage = "Deze QR-code verloopt over {{seconds}} seconden. Er wordt automatisch een nieuwe code gegenereerd."
+filesReceived = "{{count}} bestand(en) ontvangen"
+connected = "Mobiel apparaat verbonden"
+instructions = "Scan met de camera van uw telefoon. Afbeeldingen worden automatisch naar PDF geconverteerd."
+instructionsNoConvert = "Scan met de camera van uw telefoon om bestanden te uploaden."
+
+[mobileScanner]
+title = "Mobiele scanner"
+noSession = "Ongeldige sessie"
+noSessionMessage = "Scan een geldige QR-code om deze pagina te openen."
+validating = "Sessie valideren..."
+sessionInvalid = "Sessie-fout"
+sessionExpired = "Deze sessie is verlopen. Vernieuw de pagina en probeer het opnieuw."
+sessionNotFound = "Sessie niet gevonden. Vernieuw de pagina en probeer het opnieuw."
+sessionValidationError = "Kan sessie niet verifiëren. Probeer het opnieuw."
+uploadSuccess = "Uploaden geslaagd!"
+uploadSuccessMessage = "Uw afbeeldingen zijn overgezet."
+httpsRequired = "Cameratoegang vereist HTTPS of localhost. Gebruik HTTPS of ga via localhost."
+uploadFailed = "Uploaden mislukt. Probeer het opnieuw."
+uploading = "Bezig met uploaden..."
+connected = "Verbonden"
+connecting = "Verbinden..."
+chooseMethod = "Kies uploadmethode"
+chooseMethodDescription = "Selecteer hoe u documenten wilt scannen en uploaden"
+camera = "Camera"
+cameraDescription = "Scan documenten met de camera van uw apparaat met automatische randdetectie"
+fileUpload = "Bestandsupload"
+fileDescription = "Upload bestaande foto's of documenten vanaf uw apparaat"
+cameraAccessDenied = "Cameratoegang geweigerd. Schakel cameratoegang in."
+back = "Terug"
+settings = "Instellingen"
+edgeDetection = "Randdetectie"
+flashlight = "Zaklamp"
+flash = "Flitser"
+processing = "Verwerken..."
+capture = "Foto maken"
+selectFilesPrompt = "Selecteer bestanden om te uploaden"
+selectImage = "Afbeelding selecteren"
+preview = "Voorbeeld"
+retake = "Opnieuw maken"
+addToBatch = "Toevoegen aan batch"
+upload = "Uploaden"
+batchImages = "Batch"
+clearBatch = "Wissen"
+uploadAll = "Alles uploaden"
diff --git a/frontend/public/locales/no-NB/translation.toml b/frontend/public/locales/no-NB/translation.toml
index cf6cf0822..f4277e9d3 100644
--- a/frontend/public/locales/no-NB/translation.toml
+++ b/frontend/public/locales/no-NB/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "Du har ulagrede endringer i PDF-en."
+pendingRedactionsTitle = "Ikke anvendte sladdinger"
+pendingRedactions = "Du har ikke anvendte sladdinger som vil gå tapt."
areYouSure = "Er du sikker på at du vil forlate?"
unsavedChangesTitle = "Ulagrede endringer"
keepWorking = "Fortsett å jobbe"
discardChanges = "Forkast og forlat"
+discardRedactions = "Forkast og forlat"
applyAndContinue = "Lagre og forlat"
exportAndContinue = "Eksporter og fortsett"
cancel = "Avbryt"
@@ -131,7 +134,7 @@ unsupported = "Ikke støttet"
[toolPanel]
placeholder = "Velg et verktøy for å komme i gang"
-alpha = "Alfa"
+alpha = "Alpha"
premiumFeature = "Premium-funksjon:"
comingSoon = "Kommer snart:"
@@ -364,6 +367,7 @@ advanced = "Avansert"
title = "Sikkerhet og autentisering"
security = "Sikkerhet"
connections = "Tilkoblinger"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Lisensiering og analyse"
@@ -438,25 +442,34 @@ currentVersion = "Nåværende versjon"
latestVersion = "Siste versjon"
checkForUpdates = "Søk etter oppdateringer"
viewDetails = "Vis detaljer"
+serverNeedsUpdate = "Serveren må oppdateres av administrator"
+
+[settings.general.versionInfo]
+title = "Versjonsinformasjon"
+description = "Detaljer om skrivebords- og serverversjon"
+desktop = "Skrivebordsversjon"
+server = "Serverversjon"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Sikkerhet"
+description = "Oppdater passordet ditt for å holde kontoen sikker."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Endre passordet ditt. Du blir logget ut etter oppdatering."
+required = "Alle felt er obligatoriske."
+mismatch = "De nye passordene samsvarer ikke."
+error = "Kan ikke oppdatere passordet. Bekreft gjeldende passord og prøv igjen."
+success = "Passordet ble oppdatert. Logg inn på nytt."
+ssoDisabled = "Passordendringer styres av identitetsleverandøren din."
+current = "Nåværende passord"
+currentPlaceholder = "Skriv inn nåværende passord"
+new = "Nytt passord"
+newPlaceholder = "Skriv inn et nytt passord"
+confirm = "Bekreft nytt passord"
+confirmPlaceholder = "Skriv inn det nye passordet på nytt"
+update = "Oppdater passord"
+
+
[settings.hotkeys]
title = "Tastatursnarveier"
@@ -511,16 +524,16 @@ low = "Lav"
title = "Endre Legitimasjon"
header = "Oppdater Konto Detaljer"
changePassword = "Du bruker standard påloggingsdetaljer. Vennligst skriv inn et nytt passord"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Kontoen din administreres av identitetsleverandøren din."
newUsername = "Nytt Brukernavn"
oldPassword = "Nåværende Passord"
newPassword = "Nytt Passord"
confirmNewPassword = "Bekreft Nytt Passord"
submit = "Send Endringer"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Konto oppdatert"
+description = "Endringer lagret. Logg inn på nytt."
+error = "Kan ikke oppdatere brukernavn. Bekreft passordet ditt og prøv igjen."
+changeUsername = "Oppdater brukernavnet ditt. Du blir logget ut etter oppdatering."
[account]
title = "Kontoinnstillinger"
@@ -528,6 +541,8 @@ accountSettings = "Kontoinnstillinger"
adminSettings = "Admin Innstillinger - Vis og Legg til Brukere"
userControlSettings = "Brukerkontroll Innstillinger"
changeUsername = "Endre Brukernavn"
+changeUsernameDescription = "Oppdater brukernavnet ditt. Du blir logget ut etter oppdatering."
+newUsernamePlaceholder = "Skriv inn nytt brukernavn"
newUsername = "Nytt Brukernavn"
password = "Bekreftelsespassord"
oldPassword = "Gammelt Passord"
@@ -737,9 +752,9 @@ title = "Signer"
desc = "Legger til signatur i PDF ved tegning, tekst eller bilde"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "annoter,uthev,tegn"
+title = "Annoter"
+desc = "Uthev, tegn, legg til notater og figurer i visningen"
[home.flatten]
tags = "forenkle,fjern,interaktiv"
@@ -951,8 +966,8 @@ desc = "Legger PDF-er over hverandre"
title = "Overlay PDF-er"
[home.pdfTextEditor]
-title = "PDF-teksteditor"
-desc = "Rediger eksisterende tekst og bilder i PDF-filer"
+title = "PDF-tekstredigerer"
+desc = "Gå gjennom og rediger Stirling PDF JSON-eksporter med gruppert tekstredigering og regenerering av PDF"
[home.addText]
tags = "tekst,merknad,etikett"
@@ -963,6 +978,7 @@ desc = "Legg til egendefinert tekst hvor som helst i PDF-en"
addFiles = "Legg til filer"
uploadFromComputer = "Last opp fra datamaskin"
openFromComputer = "Åpne fra datamaskin"
+mobileUpload = "Last opp fra mobil"
[viewPdf]
tags = "vis,les,annoter,tekst,bilde"
@@ -1278,21 +1294,33 @@ cbzOptions = "Alternativer for CBZ til PDF"
optimizeForEbook = "Optimaliser PDF for e-boklesere (bruker Ghostscript)"
cbzOutputOptions = "Alternativer for PDF til CBZ"
cbzDpi = "DPI for bildegjengivelse"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "CBR-alternativer"
+cbrOutputOptions = "Alternativer for PDF til CBR"
+cbrDpi = "DPI for bildegjengivelse"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "Alternativer for eBook til PDF"
+ebookOptionsDesc = "Alternativer for å konvertere eBooks til PDF"
+embedAllFonts = "Bygg inn alle skrifter"
+embedAllFontsDesc = "Bygg inn alle skrifter fra eBook-en i den genererte PDF-en"
+includeTableOfContents = "Inkluder innholdsfortegnelse"
+includeTableOfContentsDesc = "Legg til en generert innholdsfortegnelse i den resulterende PDF-en"
+includePageNumbers = "Inkluder sidenummer"
+includePageNumbersDesc = "Legg til sidenummer i den genererte PDF-en"
+optimizeForEbookPdf = "Optimaliser for eBook-lesere"
+optimizeForEbookPdfDesc = "Optimaliser PDF-en for eBook-lesing (mindre filstørrelse, bedre gjengivelse på eInk-enheter)"
+
+[convert.epubOptions]
+epubOptions = "Alternativer for PDF til eBook"
+epubOptionsDesc = "Alternativer for å konvertere PDF til EPUB/AZW3"
+detectChapters = "Oppdag kapitler"
+detectChaptersDesc = "Oppdag overskrifter som ser ut som kapitler og sett inn EPUB-sideskift"
+targetDevice = "Målenhet"
+targetDeviceDesc = "Velg en utdata-profil optimalisert for leserenheten"
+outputFormat = "Utdataformat"
+outputFormatDesc = "Velg utdataformat for eBook-en"
+tabletPhone = "Nettbrett/mobil (med bilder)"
+kindleEink = "Kindle e-Ink (tekstoptimalisert)"
[imageToPdf]
tags = "konvertering,bilde,jpg,foto"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "Legg til vedlegg"
remove = "Fjern vedlegg"
embed = "Bygg inn vedlegg"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Konverter til PDF/A-3b"
+convertToPdfA3bDescription = "Oppretter en arkiv-PDF med innebygde vedlegg"
+convertToPdfA3bTooltip = "PDF/A-3b er et arkivformat som sikrer langtidsbevaring. Det tillater å bygge inn vilkårlige filformater som vedlegg. Konvertering krever Ghostscript og kan ta lengre tid for store filer."
+convertToPdfA3bTooltipHeader = "Om PDF/A-3b-konvertering"
+convertToPdfA3bTooltipTitle = "Hva det gjør"
submit = "Add attachments"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "Lagret"
label = "Last opp signaturbilde"
placeholder = "Velg bildefil"
hint = "Last opp et PNG- eller JPG-bilde av signaturen din"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Fjern hvit bakgrunn (gjør gjennomsiktig)"
+processing = "Behandler bilde..."
+backgroundRemovalFailedTitle = "Fjerning av bakgrunn mislyktes"
+backgroundRemovalFailedMessage = "Kunne ikke fjerne bakgrunnen fra bildet. Bruker originalbildet i stedet."
[sign.instructions]
title = "Slik legger du til signatur"
@@ -2409,9 +2437,9 @@ label = "Utjevning av kun skjemaer"
desc = "Flat bare ut skjemafelter, og la andre interaktive elementer være intakte"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "Renderings-DPI (valgfritt, anbefalt 150 DPI)"
+help = "La stå tomt for å bruke systemets standard. Høyere DPI gir skarpere resultat, men øker prosesseringstid og filstørrelse."
+placeholder = "f.eks. 150"
[flatten.results]
title = "Resultater for utflating"
@@ -2987,7 +3015,7 @@ header = "Beskjær PDF"
submit = "Send inn"
noFileSelected = "Velg en PDF-fil for å begynne beskjæring"
reset = "Tilbakestill til full PDF"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Beskjær hvite mellomrom automatisk"
[crop.preview]
title = "Valg av beskjæringsområde"
@@ -3218,6 +3246,7 @@ title = "Sladdemetode"
mode = "Modus"
automatic = "Automatisk"
automaticDesc = "Sladd tekst basert på søkeord"
+automaticDisabledTooltip = "Velg filer i filbehandleren for å sladde flere filer samtidig"
manual = "Manuell"
manualDesc = "Klikk og dra for å sladde bestemte områder"
manualComingSoon = "Manuell sladding kommer snart"
@@ -3288,8 +3317,35 @@ text = "Match bare komplette ord, ikke delvise treff. «John» vil ikke matche
title = "Konverter til PDF-bilde"
text = "Konverterer PDF-en til en bildebassert PDF etter sladding. Dette sikrer at teksten bak sladdeboksene er fullstendig fjernet og ikke kan gjenopprettes."
+[redact.tooltip.manual.header]
+title = "Manuelle sladdekontroller"
+
+[redact.tooltip.manual.markText]
+title = "Verktøy for tekstmerking"
+text = "Velg tekst direkte i PDF-en for å markere den for sladding. Klikk og dra for å utheve tekst du vil sladde."
+
+[redact.tooltip.manual.markArea]
+title = "Verktøy for områdemerking"
+text = "Tegn rektangulære områder på PDF-en for å markere områder for sladding. Nyttig for å sladde bilder, signaturer eller uregelmessige former."
+
+[redact.tooltip.manual.apply]
+title = "Bruk sladding"
+text = "Når innhold er markert, klikk «Bruk» for permanent å sladde alle markerte områder. Antallet som venter viser hvor mange sladdinger som er klare til å bli brukt."
+bullet1 = "Marker så mange områder som nødvendig før du bruker"
+bullet2 = "Alle ventende sladdinger brukes samtidig"
+bullet3 = "Sladding kan ikke angres etter bruk"
+
[redact.manual]
+title = "Sladdeverktøy"
+instructions = "Velg tekst eller tegn områder på PDF-en for å markere innhold for sladding."
+markText = "Marker tekst"
+markArea = "Marker område"
+pendingLabel = "Venter:"
+applyWarning = "⚠️ Permanent handling, kan ikke angres og data under blir slettet"
+apply = "Bruk"
+noMarks = "Ingen sladdemerker. Bruk verktøyene ovenfor for å markere innhold for sladding."
header = "Manuell sladding"
+controlsTitle = "Manuelle sladdekontroller"
textBasedRedaction = "Tekstbasert sladding"
pageBasedRedaction = "Sidebasert sladding"
convertPDFToImageLabel = "Konverter PDF til PDF-bilde (brukes til å fjerne tekst bak boksen)"
@@ -3406,17 +3462,17 @@ label = "Vertikale delinger"
placeholder = "Skriv inn antall vertikale delinger"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Delingsmodus"
+description = "Velg hvordan sidene skal deles"
+splitAll = "Del alle sider"
+splitAllExceptFirst = "Del alle unntatt første"
+splitAllExceptLast = "Del alle unntatt siste"
+splitAllExceptFirstAndLast = "Del alle unntatt første og siste"
+custom = "Egendefinerte sider"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Egendefinerte sidenumre"
+placeholder = "f.eks. 2,4,6"
[AddStampRequest]
tags = "stempel,legg til bilde,senter bilde,vannmerke,PDF,embed,tilpass"
@@ -3780,17 +3836,17 @@ filesize = "Filstørrelse"
label = "Bruk gråskala for komprimering"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Lineariser PDF for rask webvisning"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Konverter bilder til strektegning"
+description = "Bruker ImageMagick for å redusere sider til høy-kontrast svart-hvitt for maksimal størrelsesreduksjon."
+unavailable = "ImageMagick er ikke installert eller aktivert på denne serveren"
+detailLevel = "Detaljnivå"
+edgeEmphasis = "Kantvektlegging"
+edgeLow = "Svak"
+edgeMedium = "Balansert"
+edgeHigh = "Sterk"
[compress.tooltip.header]
title = "Oversikt over komprimeringsinnstillinger"
@@ -3810,8 +3866,8 @@ title = "Gråtoner"
text = "Velg dette alternativet for å konvertere alle bilder til svart-hvitt, noe som kan redusere filstørrelsen betydelig, spesielt for skannede PDF-er eller dokumenter med mange bilder."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "Strektegning"
+text = "Konverter sider til høy-kontrast svart-hvitt med ImageMagick. Bruk detaljnivå for å styre hvor mye innhold som blir svart, og kantvektlegging for å styre hvor aggressivt kanter oppdages."
[compress.error]
failed = "Det oppstod en feil under komprimering av PDF-en."
@@ -3826,9 +3882,9 @@ _value = "Komprimeringsinnstillinger"
1 = "1-3 PDF-komprimering, 4-6 lett bildekomprimering, 7-9 intens bildekomprimering vil redusere bildekvaliteten kraftig"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Lavere verdier bevarer kvaliteten, men gir større filer"
+range4to6 = "Middels komprimering med moderat kvalitetsreduksjon"
+range7to9 = "Høyere verdier reduserer filstørrelsen betydelig, men kan redusere bildeklarheten"
[decrypt]
passwordPrompt = "Denne filen er passordbeskyttet. Skriv inn passordet:"
@@ -4069,7 +4125,7 @@ deleteSelected = "Slett valgte sider"
closePdf = "Lukk PDF"
exportAll = "Eksporter PDF"
downloadSelected = "Last ned valgte filer"
-annotations = "Annotations"
+annotations = "Merknader"
exportSelected = "Eksporter valgte sider"
saveChanges = "Lagre endringer"
toggleTheme = "Bytt tema"
@@ -4077,84 +4133,90 @@ language = "Språk"
toggleAnnotations = "Vis/skjul merknader"
search = "Søk i PDF"
panMode = "Panoreringsmodus"
+applyRedactionsFirst = "Bruk sladding først"
rotateLeft = "Roter til venstre"
rotateRight = "Roter til høyre"
toggleSidebar = "Vis/skjul sidepanel"
toggleBookmarks = "Veksle bokmerker"
print = "Skriv ut PDF"
+draw = "Tegn"
+redact = "Sladd"
+exitRedaction = "Avslutt sladdemodus"
+save = "Lagre"
downloadAll = "Last ned alle"
saveAll = "Lagre alle"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Venstre"
+center = "Sentrert"
+right = "Høyre"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
+title = "Annoter"
+desc = "Bruk utheving, penn, tekst og notater. Endringer er levende—ingen utflating nødvendig."
+highlight = "Uthev"
+pen = "Penn"
+text = "Tekstboks"
+note = "Notat"
+rectangle = "Rektangel"
ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
+select = "Velg"
+exit = "Avslutt annotasjonsmodus"
+strokeWidth = "Bredde"
+opacity = "Opasitet"
+strokeOpacity = "Strekopasitet"
+fillOpacity = "Fyllopasitet"
+fontSize = "Skriftstørrelse"
+chooseColor = "Velg farge"
+color = "Farge"
+strokeColor = "Strekfarge"
+fillColor = "Fyllfarge"
+underline = "Understrek"
+strikeout = "Gjennomstreking"
+squiggly = "Bølgete"
+inkHighlighter = "Frihåndsmarkering"
+freehandHighlighter = "Frihåndsmarkering"
+square = "Kvadrat"
+circle = "Sirkel"
polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+line = "Linje"
+stamp = "Legg til bilde"
+textMarkup = "Tekstmarkering"
+drawing = "Tegning"
+shapes = "Former"
+notesStamps = "Notater og stempler"
+settings = "Innstillinger"
+borderOn = "Kant: På"
+borderOff = "Kant: Av"
+editInk = "Rediger penn"
+editLine = "Rediger linje"
+editNote = "Rediger notat"
+editText = "Rediger tekstboks"
+editTextMarkup = "Rediger tekstmarkering"
+editSelected = "Rediger merknad"
+editSquare = "Rediger kvadrat"
+editCircle = "Rediger sirkel"
+editPolygon = "Rediger polygon"
+unsupportedType = "Denne merknadstypen er ikke fullt støttet for redigering."
+textAlignment = "Tekstjustering"
+noteIcon = "Notat-ikon"
+imagePreview = "Forhåndsvisning"
+contents = "Tekst"
+backgroundColor = "Bakgrunnsfarge"
+clearBackground = "Fjern bakgrunn"
+noBackground = "Ingen bakgrunn"
+stampSettings = "Stempelinnstillinger"
+savingCopy = "Forbereder nedlasting..."
+saveFailed = "Kan ikke lagre kopi"
+saveReady = "Nedlasting klar"
+selectAndMove = "Velg og rediger"
+editSelectDescription = "Klikk en eksisterende merknad for å redigere farge, opasitet, tekst eller størrelse."
+editStampHint = "For å endre bildet, slett dette stempelet og legg til et nytt."
+editSwitchToSelect = "Bytt til Velg og rediger for å redigere denne merknaden."
+undo = "Angre"
+redo = "Gjør om"
+applyChanges = "Bruk endringer"
+saveChanges = "Lagre endringer"
[search]
title = "Søk i PDF"
@@ -4205,20 +4267,20 @@ settings = "Innst."
adminSettings = "Admin Innst."
allTools = "All Tools"
reader = "Leser"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Omvisninger"
+showMeAround = "Vis meg rundt"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Se gjennomganger her: Verktøy-omvisning, ny V2-layout-omvisning og admin-omvisning."
+user = "Se gjennomganger her: Verktøy-omvisning og ny V2-layout-omvisning."
[quickAccess.helpMenu]
toolsTour = "Omvisning i verktøyene"
toolsTourDesc = "Lær hva verktøyene kan gjøre"
adminTour = "Admin-omvisning"
adminTourDesc = "Utforsk admin-innstillinger og funksjoner"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Se hva som er nytt i V2"
+whatsNewTourDesc = "Omvisning i oppdatert layout"
[admin]
error = "Feil"
@@ -4237,6 +4299,8 @@ fetchError = "Kunne ikke laste inn innstillinger"
saveError = "Kunne ikke lagre innstillinger"
saved = "Innstillinger lagret"
saveSuccess = "Innstillinger lagret"
+success = "Innstillinger lagret"
+error = "Kunne ikke lagre innstillinger"
save = "Lagre endringer"
discard = "Forkast"
restartRequired = "Omstart kreves"
@@ -4360,6 +4424,13 @@ description = "Sti til WeasyPrint-kjørbar for HTML til PDF-konvertering (la st
label = "Unoconvert-kjørbar fil"
description = "Sti til LibreOffice unoconvert for dokumentkonverteringer (la stå tomt for standard: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "Frontend URL"
+description = "Basis-URL for frontend (f.eks. https://pdf.example.com). Brukes for e-postinvitasjonslenker og mobile QR-kodeopplastinger. La stå tomt for å bruke backend-URL."
+
+[admin.settings.badge]
+clickToUpgrade = "Klikk for å se plandetaljer"
+
[admin.settings.security]
title = "Sikkerhet"
description = "Konfigurer autentisering, innloggingsatferd og sikkerhetspolicyer."
@@ -4436,7 +4507,7 @@ description = "Spor brukerhandlinger og systemhendelser for etterlevelse og sikk
[admin.settings.security.audit.level]
label = "Revisjonsnivå"
-description = "0=AV, 1=GRUNNLEGGENDE, 2=STANDARD, 3=DETALJERT"
+description = "0=OFF, 1=BASIC, 2=STANDARD, 3=VERBOSE"
[admin.settings.security.audit.retentionDays]
label = "Bevaring av revisjon (dager)"
@@ -4496,6 +4567,19 @@ connect = "Koble til"
disconnect = "Koble fra"
disconnected = "Leverandør koblet fra"
disconnectError = "Kunne ikke koble fra leverandør"
+mobileScannerConvertToPdf = "Konverter bilder til PDF"
+mobileScannerConvertToPdfDesc = "Konverter automatisk opplastede bilder til PDF-format. Hvis deaktivert, beholdes bildene som de er."
+mobileScannerImageResolution = "Bildeoppløsning"
+mobileScannerImageResolutionDesc = "Oppløsning på opplastede bilder. «Redusert» skalerer bilder til maks 1200 px for å redusere filstørrelsen."
+imageResolutionFull = "Full (original størrelse)"
+imageResolutionReduced = "Redusert (maks 1200 px)"
+mobileScannerPageFormat = "Sideformat"
+mobileScannerPageFormatDesc = "PDF-sidestørrelse for konverterte bilder. «Behold» bruker bildenes opprinnelige dimensjoner."
+pageFormatKeep = "Behold (opprinnelige dimensjoner)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Strekk for å fylle"
+mobileScannerStretchToFitDesc = "Strekk bilder for å fylle hele siden. Hvis deaktivert, sentreres bilder med beholdt sideforhold."
[admin.settings.connections.ssoAutoLogin]
label = "SSO automatisk innlogging"
@@ -4564,6 +4648,122 @@ description = "Opprett brukerkontoer automatisk ved første SAML2-innlogging"
label = "Blokker registrering"
description = "Hindre ny brukerregistrering via SAML2"
+[admin.settings.connections.mobileScanner]
+label = "Opplasting fra mobil"
+enable = "Aktiver QR-kodeopplasting"
+description = "Tillat brukere å laste opp filer fra mobile enheter ved å skanne en QR-kode"
+note = "Merk: Krever at Frontend URL er konfigurert. "
+link = "Konfigurer i systeminnstillinger"
+mobileScannerConvertToPdf = "Konverter bilder til PDF"
+mobileScannerConvertToPdfDesc = "Konverter automatisk opplastede bilder til PDF-format. Hvis deaktivert, beholdes bildene som de er."
+mobileScannerImageResolution = "Bildeoppløsning"
+mobileScannerImageResolutionDesc = "Oppløsning på opplastede bilder. «Redusert» skalerer bilder til maks 1200 px for å redusere filstørrelsen."
+imageResolutionFull = "Full (original størrelse)"
+imageResolutionReduced = "Redusert (maks 1200 px)"
+mobileScannerPageFormat = "Sideformat"
+mobileScannerPageFormatDesc = "PDF-sidestørrelse for konverterte bilder. «Behold» bruker bildenes opprinnelige dimensjoner."
+pageFormatKeep = "Behold (opprinnelige dimensjoner)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Strekk for å fylle"
+mobileScannerStretchToFitDesc = "Strekk bilder for å fylle hele siden. Hvis deaktivert, sentreres bilder med beholdt sideforhold."
+
+[admin.settings.telegram]
+title = "Telegram-bot"
+description = "Konfigurer Telegram-bottilkobling, tilgangskontroll og tilbakemeldingsatferd."
+
+[admin.settings.telegram.enabled]
+label = "Aktiver Telegram-bot"
+description = "La brukere samhandle med Stirling PDF via din konfigurerte Telegram-bot."
+
+[admin.settings.telegram.botUsername]
+label = "Bot-brukernavn"
+description = "Det offentlige brukernavnet til Telegram-boten."
+
+[admin.settings.telegram.botToken]
+label = "Bot-token"
+description = "API-token levert av BotFather for Telegram-boten din."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Innboksmappe"
+description = "Mappe under pipeline-katalogen der innkommende Telegram-filer lagres."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Bruk egendefinert mappesuffiks"
+description = "Legg til chat-ID i mapper for innkommende filer for å isolere opplastinger per chat."
+
+[admin.settings.telegram.accessControl]
+title = "Tilgangskontroll"
+description = "Begrens hvilke brukere eller kanaler som kan samhandle med boten."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Tillat spesifikke bruker-ID-er"
+description = "Når aktivert, kan kun listede bruker-ID-er bruke boten."
+
+[admin.settings.telegram.allowUserIDs]
+label = "Tillatte bruker-ID-er"
+description = "Angi Telegram-bruker-ID-er som kan samhandle med boten."
+placeholder = "Legg til bruker-ID og trykk enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Tillat spesifikke kanal-ID-er"
+description = "Når aktivert, kan kun listede kanal-ID-er bruke boten."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "Tillatte kanal-ID-er"
+description = "Angi Telegram-kanal-ID-er som kan samhandle med boten."
+placeholder = "Legg til kanal-ID og trykk enter"
+
+[admin.settings.telegram.processing]
+title = "Behandling"
+description = "Kontroller pollingintervaller og tidsavbrudd for behandling av Telegram-opplastinger."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Behandlingstidsavbrudd (sekunder)"
+description = "Maksimal tid å vente på en behandlingsjobb før en feil rapporteres."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Pollingintervall (ms)"
+description = "Intervall mellom sjekker av nye Telegram-oppdateringer."
+
+[admin.settings.telegram.feedback]
+title = "Tilbakemeldinger"
+description = "Velg når boten skal sende tilbakemeldinger til brukere og kanaler."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Aktiver tilbakemeldinger"
+description = "Styr om boten skal sende tilbakemeldingsmeldinger i det hele tatt."
+
+[admin.settings.telegram.feedback.channel]
+title = "Regler for kanaltilbakemelding"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Vis «Ingen gyldig dokument» (kanal)"
+description = "Undertrykk svaret «ingen gyldig dokument» for kanalopplastinger."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Vis behandlingsfeil (kanal)"
+description = "Send behandlingsfeilmeldinger til kanaler."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Vis feilmeldinger (kanal)"
+description = "Vis detaljerte feilmeldinger for kanaler."
+
+[admin.settings.telegram.feedback.user]
+title = "Regler for brukertilbakemelding"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Vis «Ingen gyldig dokument» (bruker)"
+description = "Undertrykk svaret «ingen gyldig dokument» for brukeropplastinger."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Vis behandlingsfeil (bruker)"
+description = "Send behandlingsfeilmeldinger til brukere."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Vis feilmeldinger (bruker)"
+description = "Vis detaljerte feilmeldinger for brukere."
+
[admin.settings.database]
title = "Database"
description = "Konfigurer egendefinerte databaseinnstillinger for bedriftsdistribusjoner."
@@ -4745,6 +4945,10 @@ description = "Tillat administratorer å invitere brukere via e-post med autogen
label = "Frontend-URL"
description = "Base-URL for frontend (f.eks. https://pdf.example.com). Brukes til å generere invitasjonslenker i e-poster. La stå tomt for å bruke backend-URL."
+[admin.settings.mail.frontendUrlNote]
+note = "Merk: Krever at Frontend URL er konfigurert. "
+link = "Konfigurer i systeminnstillinger"
+
[admin.settings.legal]
title = "Juridiske dokumenter"
description = "Konfigurer lenker til juridiske dokumenter og retningslinjer."
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "Mine filer"
noRecentFiles = "Ingen nylige filer funnet"
googleDriveNotAvailable = "Google Drive-integrasjon er ikke tilgjengelig"
+mobileUpload = "Mobilopplasting"
+mobileShort = "Mobil"
+mobileUploadNotAvailable = "Mobilopplasting er ikke aktivert"
downloadSelected = "Last ned valgte"
saveSelected = "Lagre valgte"
openFiles = "Åpne filer"
@@ -5244,7 +5451,7 @@ loading = "Laster..."
back = "Tilbake"
continue = "Fortsett"
error = "Feil"
-save = "Save"
+save = "Lagre"
[config.overview]
title = "Programkonfigurasjon"
@@ -5307,6 +5514,15 @@ impact = "Eventuelle applikasjoner eller tjenester som bruker disse nøklene nå
confirmPrompt = "Er du sikker på at du vil fortsette?"
confirmCta = "Oppdater nøkler"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "API-nøkkelfeil"
+failedToCreateApiKey = "Kunne ikke opprette API-nøkkel."
+failedToRetrieveApiKey = "Kunne ikke hente API-nøkkel fra respons."
+failedToFetchApiKey = "Kunne ikke hente API-nøkkel."
+apiKeyRefreshed = "API-nøkkel fornyet"
+apiKeyRefreshedBody = "API-nøkkelen er fornyet."
+failedToRefreshApiKey = "Kunne ikke fornye API-nøkkel."
+
[AddAttachmentsRequest]
attachments = "Velg vedlegg"
info = "Velg filer som skal legges ved PDF-en. Disse filene blir innebygd og tilgjengelige via PDF-ens vedleggspanel."
@@ -5365,7 +5581,7 @@ title = "Erstatt-Inverter-Farge"
[replace-color.options]
fill = "Fyllfarge"
-gradient = "Fargeovergang"
+gradient = "Gradient"
[replace-color.selectText]
1 = "Erstatt eller Inverter farge alternativer"
@@ -5412,14 +5628,14 @@ startTour = "Start omvisning"
startTourDescription = "Ta en guidet tur gjennom Stirling PDF sine nøkkelfunksjoner"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Start i Hurtigtilgang-panelet for å hoppe mellom Leser, Automatiser, filene dine og alle omvisningene."
+leftPanel = "Det venstre Verktøy-panelet viser alt du kan gjøre. Bla i kategorier eller søk for å finne et verktøy raskt."
+fileUpload = "Bruk Filer-knappen for å laste opp eller velge en nylig PDF. Vi laster et eksempel så du kan se arbeidsområdet."
+rightRail = "I Høyre panel finner du hurtighandlinger for å velge filer, endre tema eller språk, og laste ned resultater."
+topBar = "Toppfeltet lar deg bytte mellom Viser, Sideeditor og Aktive filer."
+pageEditorView = "Bytt til sideeditoren for å endre rekkefølge, rotere eller slette sider."
+activeFilesView = "Bruk Aktive filer for å se alt du har åpent og velge hva du vil jobbe med."
+wrapUp = "Det er det som er nytt i V2. Åpne Omvisninger-menyen når som helst for å spille av denne, verktøyomvisningen eller admin-omvisningen."
[onboarding.welcomeModal]
title = "Velkommen til Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "Vis meg rundt"
skipTheTour = "Hopp over omvisningen"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Omvisningsoversikt"
+body = "Stirling PDF V2 leveres med dusinvis av verktøy og et fornyet grensesnitt. Ta en rask omvisning for å se hva som er endret og hvor du finner funksjonene du trenger."
[onboarding.serverLicense]
skip = "Hopp over nå"
@@ -5452,7 +5668,7 @@ upgrade = "Oppgrader nå →"
freeTitle = "Serverlisens"
overLimitTitle = "Serverlisens kreves"
overLimitBody = "Lisensieringen vår tillater opptil {{freeTierLimit}} brukere gratis per server. Du har {{overLimitUserCopy}} Stirling-brukere. For å fortsette uten avbrudd, oppgrader til Stirling Server-planen – ubegrensede plasser, PDF-tekstredigering og full admin-kontroll for $99/server/mnd."
-freeBody = "Vår Open-Core-lisensiering tillater opptil {{freeTierLimit}} brukere gratis per server. For å skalere uten avbrudd anbefaler vi Stirling Server-planen - ubegrensede plasser og SSO-støtte for $99/server/mnd."
+freeBody = "Vår Open-Core-lisensiering tillater opptil {{freeTierLimit}} brukere gratis per server. For å skalere uten avbrudd og få tidlig tilgang til vårt nye PDF-tekstredigeringsverktøy, anbefaler vi Stirling Server-planen – full redigering og ubegrensede plasser for $99/server/mnd."
[onboarding.desktopInstall]
title = "Last ned"
@@ -5758,28 +5974,28 @@ contactSales = "Kontakt salg"
contactToUpgrade = "Kontakt oss for å oppgradere eller tilpasse planen din"
maxUsers = "Maks brukere"
upTo = "Opptil"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Skaff serverlisens"
+upgradeToEnterprise = "Oppgrader til Enterprise"
+selectPeriod = "Velg fakturaperiode"
+monthlyBilling = "Månedlig fakturering"
+yearlyBilling = "Årlig fakturering"
+checkoutOpened = "Kassen åpnet"
+checkoutInstructions = "Fullfør kjøpet i Stripe-fanen. Etter betaling, kom tilbake hit og oppdater siden for å aktivere lisensen. Du får også en e-post med lisensnøkkelen din."
+activateLicense = "Aktiver lisensen din"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Kassen åpnet i ny fane"
+instructions = "Fullfør kjøpet i Stripe-fanen. Når betalingen er fullført, mottar du en e-post med lisensnøkkelen din."
+enterKey = "Skriv inn lisensnøkkelen nedenfor for å aktivere planen:"
+keyDescription = "Lim inn lisensnøkkelen fra e-posten din"
+activate = "Aktiver lisens"
+doLater = "Jeg gjør dette senere"
+success = "Lisens aktivert!"
+successMessage = "Lisensen din er aktivert. Du kan nå lukke dette vinduet."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "E-postverifisering kreves"
+message = "Du må verifisere e-postadressen din i Stripe-faktureringsportalen. Sjekk e-posten din for en påloggingslenke."
[plan.period]
month = "måned"
@@ -5983,8 +6199,8 @@ notAvailable = "Revisjonssystemet er ikke tilgjengelig"
notAvailableMessage = "Revisjonssystemet er ikke konfigurert eller ikke tilgjengelig."
disabled = "Revisjonslogging er deaktivert"
disabledMessage = "Aktiver revisjonslogging i programkonfigurasjonen for å spore systemhendelser."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Enterprise-lisens kreves"
+enterpriseRequiredMessage = "Revisjonsloggsystemet er en Enterprise-funksjon. Oppgrader til en Enterprise-lisens for å få tilgang til revisjonslogger og analyse."
[audit.error]
title = "Feil ved innlasting av revisjonssystemet"
@@ -6156,6 +6372,7 @@ description = "Skriv inn full URL til din selvhostede Stirling PDF-server"
[setup.server.error]
emptyUrl = "Skriv inn en server-URL"
+invalidUrl = "Ugyldig URL-format. Angi en gyldig URL som https://your-server.com"
unreachable = "Kunne ikke koble til server"
testFailed = "Tilkoblingstest mislyktes"
configFetch = "Kunne ikke hente serverkonfigurasjon. Kontroller URL-en og prøv igjen."
@@ -6174,6 +6391,7 @@ connectingTo = "Kobler til:"
submit = "Logg inn"
signInWith = "Logg inn med"
oauthPending = "Åpner nettleser for autentisering..."
+sso = "Single Sign-On"
orContinueWith = "Eller fortsett med e-post"
serverRequirement = "Merk: Serveren må ha pålogging aktivert."
showInstructions = "Hvordan aktivere?"
@@ -6225,7 +6443,7 @@ paragraph = "Avsnittsside"
sparse = "Sparsom tekst"
[pdfTextEditor.groupingMode]
-auto = "Automatisk"
+auto = "Auto"
paragraph = "Avsnitt"
singleLine = "Én linje"
@@ -6239,8 +6457,8 @@ reset = "Tilbakestill endringer"
downloadJson = "Last ned JSON"
generatePdf = "Generer PDF"
saveChanges = "Lagre endringer"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Bruk endringer"
+downloadCopy = "Last ned kopi"
[pdfTextEditor.options.autoScaleText]
title = "Autoskalere tekst til å passe i bokser"
@@ -6260,22 +6478,22 @@ title = "Lås redigert tekst til ett PDF-element"
description = "Når aktivert, eksporterer editoren hver redigerte tekstboks som ett PDF-tekstelement for å unngå overlappende glyfer eller blandede skrifttyper."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Avanserte innstillinger"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Forhåndsvisningsbegrensninger"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Fokus på tekst og bilder"
+text = "Dette arbeidsområdet fokuserer på å redigere tekst og reposisjonere innebygde bilder. Kompleks sidegrafikk, skjemawidgets og lagdelte grafikk bevares for eksport, men er ikke fullt redigerbare her."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Forhåndsvisningsavvik"
+text = "Noen visuelle elementer (som tabellkanter, former eller hvordan annotasjoner vises) kan avvike i forhåndsvisningen. Den eksporterte PDF-en beholder de opprinnelige tegnekommandoene der det er mulig."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Alpha-visning"
+text = "Denne alpha-visningen er fortsatt under utvikling—visse skrifter, farger, gjennomsiktighetseffekter og layoutdetaljer kan endres litt. Dobbeltsjekk generert PDF før du deler."
[pdfTextEditor.manual]
mergeTooltip = "Slå sammen valgte bokser"
@@ -6398,3 +6616,58 @@ title = "Resultater for Legg til tekst"
[addText.error]
failed = "Det oppsto en feil da tekst skulle legges til i PDF-en."
+
+[mobileUpload]
+title = "Last opp fra mobil"
+description = "Skann for å laste opp bilder. Bilder konverteres automatisk til PDF."
+descriptionNoConvert = "Skann for å laste opp bilder fra mobilenheten din."
+error = "Tilkoblingsfeil"
+pollingError = "Feil ved kontroll av filer"
+sessionId = "Økt-ID"
+sessionCreateError = "Kunne ikke opprette økt"
+expiryWarning = "Økten utløper snart"
+expiryWarningMessage = "Denne QR-koden utløper om {{seconds}} sekunder. En ny kode genereres automatisk."
+filesReceived = "{{count}} fil(er) mottatt"
+connected = "Mobilenhet tilkoblet"
+instructions = "Skann med telefonkameraet ditt. Bilder konverteres automatisk til PDF."
+instructionsNoConvert = "Skann med telefonkameraet for å laste opp filer."
+
+[mobileScanner]
+title = "Mobilskanner"
+noSession = "Ugyldig økt"
+noSessionMessage = "Vennligst skann en gyldig QR-kode for å få tilgang til denne siden."
+validating = "Validerer økt..."
+sessionInvalid = "Øktfeil"
+sessionExpired = "Denne økten er utløpt. Oppdater og prøv igjen."
+sessionNotFound = "Økt ikke funnet. Oppdater og prøv igjen."
+sessionValidationError = "Kan ikke verifisere økten. Prøv igjen."
+uploadSuccess = "Opplasting vellykket!"
+uploadSuccessMessage = "Bildene dine er overført."
+httpsRequired = "Kameratilgang krever HTTPS eller localhost. Bruk HTTPS eller få tilgang via localhost."
+uploadFailed = "Opplasting mislyktes. Prøv igjen."
+uploading = "Laster opp..."
+connected = "Tilkoblet"
+connecting = "Kobler til..."
+chooseMethod = "Velg opplastingsmetode"
+chooseMethodDescription = "Velg hvordan du vil skanne og laste opp dokumenter"
+camera = "Kamera"
+cameraDescription = "Skann dokumenter med enhetens kamera med automatisk kantgjenkjenning"
+fileUpload = "Filopplasting"
+fileDescription = "Last opp eksisterende bilder eller dokumenter fra enheten din"
+cameraAccessDenied = "Kameratilgang nektet. Aktiver kameratilgang."
+back = "Tilbake"
+settings = "Innstillinger"
+edgeDetection = "Kantgjenkjenning"
+flashlight = "Lommelykt"
+flash = "Blits"
+processing = "Behandler..."
+capture = "Ta bilde"
+selectFilesPrompt = "Velg filer som skal lastes opp"
+selectImage = "Velg bilde"
+preview = "Forhåndsvis"
+retake = "Ta på nytt"
+addToBatch = "Legg til i bunt"
+upload = "Last opp"
+batchImages = "Bunt"
+clearBatch = "Tøm"
+uploadAll = "Last opp alt"
diff --git a/frontend/public/locales/pl-PL/translation.toml b/frontend/public/locales/pl-PL/translation.toml
index eabb70947..7026801ad 100644
--- a/frontend/public/locales/pl-PL/translation.toml
+++ b/frontend/public/locales/pl-PL/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "Masz niezapisane zmiany w swoim PDF."
+pendingRedactionsTitle = "Niezastosowane zaczernienia"
+pendingRedactions = "Masz niezastosowane zaczernienia, które zostaną utracone."
areYouSure = "Na pewno chcesz wyjść?"
unsavedChangesTitle = "Niezapisane zmiany"
keepWorking = "Kontynuuj pracę"
discardChanges = "Odrzuć i wyjdź"
+discardRedactions = "Odrzuć i wyjdź"
applyAndContinue = "Zapisz i wyjdź"
exportAndContinue = "Eksportuj i kontynuuj"
cancel = "Anuluj"
@@ -131,7 +134,7 @@ unsupported = "Nieobsługiwane"
[toolPanel]
placeholder = "Wybierz narzędzie, aby zacząć"
-alpha = "Alfa"
+alpha = "Alpha"
premiumFeature = "Funkcja premium:"
comingSoon = "Wkrótce:"
@@ -364,6 +367,7 @@ advanced = "Zaawansowane"
title = "Bezpieczeństwo i uwierzytelnianie"
security = "Bezpieczeństwo"
connections = "Połączenia"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Licencje i analityka"
@@ -438,25 +442,34 @@ currentVersion = "Bieżąca wersja"
latestVersion = "Najnowsza wersja"
checkForUpdates = "Sprawdź aktualizacje"
viewDetails = "Pokaż szczegóły"
+serverNeedsUpdate = "Serwer wymaga aktualizacji przez administratora"
+
+[settings.general.versionInfo]
+title = "Informacje o wersji"
+description = "Szczegóły wersji aplikacji desktopowej i serwera"
+desktop = "Wersja desktopowa"
+server = "Wersja serwera"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Bezpieczeństwo"
+description = "Zmień hasło, aby zachować bezpieczeństwo konta."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Zmień swoje hasło. Zostaniesz wylogowany po aktualizacji."
+required = "Wszystkie pola są wymagane."
+mismatch = "Nowe hasła nie są takie same."
+error = "Nie można zaktualizować hasła. Zweryfikuj obecne hasło i spróbuj ponownie."
+success = "Hasło pomyślnie zaktualizowano. Zaloguj się ponownie."
+ssoDisabled = "Zmiany hasła są zarządzane przez dostawcę tożsamości."
+current = "Bieżące hasło"
+currentPlaceholder = "Wpisz bieżące hasło"
+new = "Nowe hasło"
+newPlaceholder = "Wpisz nowe hasło"
+confirm = "Potwierdź nowe hasło"
+confirmPlaceholder = "Wpisz ponownie nowe hasło"
+update = "Zaktualizuj hasło"
+
+
[settings.hotkeys]
title = "Skróty klawiaturowe"
@@ -511,16 +524,16 @@ low = "Niski"
title = "Zmień dane logowania"
header = "Zmień dane konta"
changePassword = "Musisz zmienić domyślne dane logowania"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Twoje konto jest zarządzane przez dostawcę tożsamości."
newUsername = "Nowa nazwa użytkownika"
oldPassword = "Obecne hasło"
newPassword = "Nowe hasło"
confirmNewPassword = "Potwierdź obecne hasło"
submit = "Zapisz zmiany"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Konto zaktualizowane"
+description = "Zmiany zapisane. Zaloguj się ponownie."
+error = "Nie można zaktualizować nazwy użytkownika. Zweryfikuj hasło i spróbuj ponownie."
+changeUsername = "Zaktualizuj nazwę użytkownika. Zostaniesz wylogowany po aktualizacji."
[account]
title = "Ustawienia konta"
@@ -528,6 +541,8 @@ accountSettings = "Ustawienia konta"
adminSettings = "Admin - kontrola kont"
userControlSettings = "Kontrola praw użytkownika"
changeUsername = "Zmień nazwę użytkownika"
+changeUsernameDescription = "Zaktualizuj nazwę użytkownika. Zostaniesz wylogowany po aktualizacji."
+newUsernamePlaceholder = "Wpisz nową nazwę użytkownika"
newUsername = "Nowa nazwa użytkownika"
password = "Potwierdź hasło"
oldPassword = "Poprzednie hasło"
@@ -596,7 +611,7 @@ loading = "Ładowanie..."
failedToLoad = "Nie udało się załadować danych punktów końcowych. Spróbuj odświeżyć."
home = "Strona główna"
login = "Logowanie"
-top = "Najlepsze"
+top = "Top"
numberOfVisits = "Liczba wizyt"
visitsTooltip = "Wizyty: {0} ({1}% całości)"
retry = "Spróbuj ponownie"
@@ -737,9 +752,9 @@ title = "Podpis"
desc = "Dodaje podpis do dokumentu PDF za pomocą rysunku, tekstu lub obrazu"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "adnotuj,podświetlaj,rysuj"
+title = "Adnotuj"
+desc = "Podświetlaj, rysuj, dodawaj notatki i kształty w przeglądarce"
[home.flatten]
tags = "spłaszcz,usuń,interaktywne"
@@ -952,7 +967,7 @@ title = "Nałóż PDFa"
[home.pdfTextEditor]
title = "Edytor tekstu PDF"
-desc = "Edytuj istniejący tekst i obrazy w plikach PDF"
+desc = "Przeglądaj i edytuj eksporty JSON z Stirling PDF z grupową edycją tekstu i ponowną generacją PDF"
[home.addText]
tags = "tekst,adnotacja,etykieta"
@@ -963,6 +978,7 @@ desc = "Dodaj własny tekst w dowolnym miejscu w PDF"
addFiles = "Dodaj pliki"
uploadFromComputer = "Prześlij z komputera"
openFromComputer = "Otwórz z komputera"
+mobileUpload = "Prześlij z telefonu"
[viewPdf]
tags = "wyświetl,czytaj,adnotuj,tekst,obraz"
@@ -1258,7 +1274,7 @@ odtExt = "Tekst OpenDocument (.odt)"
pptExt = "PowerPoint (.pptx)"
odpExt = "Prezentacja OpenDocument (.odp)"
txtExt = "Tekst niesformatowany (.txt)"
-rtfExt = "Format RTF (.rtf)"
+rtfExt = "Rich Text Format (.rtf)"
selectedFiles = "Wybrane pliki"
noFileSelected = "Nie wybrano pliku. Użyj panelu plików, aby dodać pliki."
convertFiles = "Konwertuj pliki"
@@ -1278,21 +1294,33 @@ cbzOptions = "Opcje CBZ do PDF"
optimizeForEbook = "Optymalizuj PDF dla czytników e-booków (używa Ghostscript)"
cbzOutputOptions = "Opcje PDF do CBZ"
cbzDpi = "DPI renderowania obrazu"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "Opcje CBR"
+cbrOutputOptions = "Opcje konwersji PDF do CBR"
+cbrDpi = "DPI renderowania obrazu"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "Opcje konwersji eBook do PDF"
+ebookOptionsDesc = "Opcje konwersji eBooków do PDF"
+embedAllFonts = "Osadź wszystkie czcionki"
+embedAllFontsDesc = "Osadź wszystkie czcionki z eBooka w generowanym PDF"
+includeTableOfContents = "Dołącz spis treści"
+includeTableOfContentsDesc = "Dodaj wygenerowany spis treści do wynikowego PDF"
+includePageNumbers = "Dodaj numery stron"
+includePageNumbersDesc = "Dodaj numery stron do generowanego PDF"
+optimizeForEbookPdf = "Optymalizuj dla czytników eBooków"
+optimizeForEbookPdfDesc = "Optymalizuj PDF do czytania na eBookach (mniejszy rozmiar pliku, lepsze renderowanie na urządzeniach eInk)"
+
+[convert.epubOptions]
+epubOptions = "Opcje konwersji PDF do eBook"
+epubOptionsDesc = "Opcje konwersji PDF do EPUB/AZW3"
+detectChapters = "Wykrywaj rozdziały"
+detectChaptersDesc = "Wykrywaj nagłówki wyglądające jak rozdziały i wstawiaj podziały stron EPUB"
+targetDevice = "Urządzenie docelowe"
+targetDeviceDesc = "Wybierz profil wyjściowy zoptymalizowany dla urządzenia czytnika"
+outputFormat = "Format wyjściowy"
+outputFormatDesc = "Wybierz format wyjściowy dla eBooka"
+tabletPhone = "Tablet/Telefon (z obrazami)"
+kindleEink = "Kindle e-Ink (tekst zoptymalizowany)"
[imageToPdf]
tags = "konwersja,img,jpg,obraz,zdjęcie"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "Dodaj załącznik"
remove = "Usuń załącznik"
embed = "Osadź załącznik"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Konwertuj do PDF/A-3b"
+convertToPdfA3bDescription = "Tworzy archiwalny PDF z osadzonymi załącznikami"
+convertToPdfA3bTooltip = "PDF/A-3b to format archiwalny zapewniający długoterminową archiwizację. Umożliwia osadzanie dowolnych formatów plików jako załączników. Konwersja wymaga Ghostscript i może potrwać dłużej dla dużych plików."
+convertToPdfA3bTooltipHeader = "O konwersji PDF/A-3b"
+convertToPdfA3bTooltipTitle = "Co robi"
submit = "Add attachments"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "Zapisane"
label = "Prześlij obraz podpisu"
placeholder = "Wybierz plik obrazu"
hint = "Prześlij obraz podpisu w formacie PNG lub JPG"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Usuń białe tło (uczyń przezroczystym)"
+processing = "Przetwarzanie obrazu..."
+backgroundRemovalFailedTitle = "Nie udało się usunąć tła"
+backgroundRemovalFailedMessage = "Nie można usunąć tła z obrazu. Użyto oryginalnego obrazu."
[sign.instructions]
title = "Jak dodać podpis"
@@ -2409,9 +2437,9 @@ label = "Spłaszcz tylko formularze"
desc = "Spłaszczaj tylko pola formularzy, pozostawiając inne elementy interaktywne bez zmian"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "DPI renderowania (opcjonalnie, zalecane 150 DPI)"
+help = "Pozostaw puste, aby użyć domyślnych ustawień systemu. Wyższe DPI wyostrza wynik, ale zwiększa czas przetwarzania i rozmiar pliku."
+placeholder = "np. 150"
[flatten.results]
title = "Wyniki spłaszczania"
@@ -2987,7 +3015,7 @@ header = "Przytnij dokument PDF"
submit = "Wyślij"
noFileSelected = "Wybierz plik PDF, aby rozpocząć przycinanie"
reset = "Resetuj do pełnego PDF"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Automatycznie przytnij białe obszary"
[crop.preview]
title = "Wybór obszaru przycięcia"
@@ -3218,6 +3246,7 @@ title = "Metoda redakcji"
mode = "Tryb"
automatic = "Automatyczna"
automaticDesc = "Redaguj tekst na podstawie wyszukiwanych haseł"
+automaticDisabledTooltip = "Wybierz pliki w menedżerze plików, aby zaczernić wiele plików naraz"
manual = "Ręczna"
manualDesc = "Kliknij i przeciągnij, aby zredagować określone obszary"
manualComingSoon = "Ręczna redakcja wkrótce"
@@ -3288,8 +3317,35 @@ text = "Dopasowuj wyłącznie pełne słowa, bez częściowych trafień. 'John'
title = "Konwertuj do PDF-Image"
text = "Konwertuje PDF do PDF opartego na obrazie po redakcji. Zapewnia to całkowite usunięcie i brak możliwości odzyskania tekstu pod polami redakcji."
+[redact.tooltip.manual.header]
+title = "Ręczne narzędzia zaczerniania"
+
+[redact.tooltip.manual.markText]
+title = "Narzędzie zaznaczania tekstu"
+text = "Zaznaczaj tekst bezpośrednio w PDF, aby oznaczyć go do zaczernienia. Kliknij i przeciągnij, aby podświetlić konkretny tekst, który chcesz zaczernić."
+
+[redact.tooltip.manual.markArea]
+title = "Narzędzie zaznaczania obszaru"
+text = "Rysuj prostokątne obszary w PDF, aby oznaczać regiony do zaczernienia. Przydatne do zaczerniania obrazów, podpisów lub nieregularnych kształtów."
+
+[redact.tooltip.manual.apply]
+title = "Zastosuj zaczernienia"
+text = "Po oznaczeniu treści kliknij „Zastosuj”, aby trwale zaczernić wszystkie zaznaczone obszary. Licznik oczekujących pokazuje, ile zaczernień jest gotowych do zastosowania."
+bullet1 = "Oznacz tyle obszarów, ile potrzeba, przed zastosowaniem"
+bullet2 = "Wszystkie oczekujące zaczernienia są stosowane jednocześnie"
+bullet3 = "Zaczernienia nie można cofnąć po zastosowaniu"
+
[redact.manual]
+title = "Narzędzia zaczerniania"
+instructions = "Zaznacz tekst lub narysuj obszary w PDF, aby oznaczyć zawartość do zaczernienia."
+markText = "Zaznacz tekst"
+markArea = "Zaznacz obszar"
+pendingLabel = "Oczekujące:"
+applyWarning = "⚠️ Zastosowanie jest trwałe, nie można cofnąć, a dane pod spodem zostaną usunięte"
+apply = "Zastosuj"
+noMarks = "Brak oznaczeń zaczernienia. Użyj powyższych narzędzi, aby oznaczyć zawartość do zaczernienia."
header = "Ręczna redakcja"
+controlsTitle = "Ręczne narzędzia zaczerniania"
textBasedRedaction = "Redakcja oparta na tekście"
pageBasedRedaction = "Redakcja na poziomie stron"
convertPDFToImageLabel = "Konwertuj PDF do PDF-Image (używane do usunięcia tekstu pod polem)"
@@ -3406,17 +3462,17 @@ label = "Podział poziomy"
placeholder = "Podaj ilość podziałów poziomych"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Tryb dzielenia"
+description = "Wybierz, jak podzielić strony"
+splitAll = "Podziel wszystkie strony"
+splitAllExceptFirst = "Podziel wszystkie oprócz pierwszej"
+splitAllExceptLast = "Podziel wszystkie oprócz ostatniej"
+splitAllExceptFirstAndLast = "Podziel wszystkie oprócz pierwszej i ostatniej"
+custom = "Własne strony"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Niestandardowe numery stron"
+placeholder = "np. 2,4,6"
[AddStampRequest]
tags = "Stempel, dodawanie obrazu, wyśrodkowanie obrazu, znak wodny, PDF, osadzanie, dostosowywanie"
@@ -3713,7 +3769,7 @@ title = "PDF do pojedyńczej strony"
header = "PDF do pojedyńczej strony"
submit = "Zapisz dokument jako PDF z jedną stroną"
description = "To narzędzie scali wszystkie strony Twojego PDF w jedną dużą stronę. Szerokość pozostanie taka jak w oryginalnych stronach, a wysokość będzie sumą wysokości wszystkich stron."
-filenamePrefix = "pojedyncza_strona"
+filenamePrefix = "single_page"
[pdfToSinglePage.files]
placeholder = "Wybierz plik PDF w widoku głównym, aby rozpocząć"
@@ -3780,17 +3836,17 @@ filesize = "Rozmiar pliku"
label = "Zastosuj skalę szarości do kompresji"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Linearyzuj PDF dla szybkiego przeglądania w sieci"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Konwertuj obrazy na grafikę liniową"
+description = "Używa ImageMagick do redukcji stron do czarno-białych o wysokim kontraście w celu maksymalnego zmniejszenia rozmiaru."
+unavailable = "ImageMagick nie jest zainstalowany ani włączony na tym serwerze"
+detailLevel = "Poziom szczegółów"
+edgeEmphasis = "Wzmocnienie krawędzi"
+edgeLow = "Łagodne"
+edgeMedium = "Zrównoważone"
+edgeHigh = "Silne"
[compress.tooltip.header]
title = "Przegląd ustawień kompresji"
@@ -3810,8 +3866,8 @@ title = "Skala szarości"
text = "Zaznacz tę opcję, aby przekonwertować wszystkie obrazy na czarno‑białe, co może znacząco zmniejszyć rozmiar pliku, zwłaszcza dla skanów PDF lub dokumentów z wieloma obrazami."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "Grafika liniowa"
+text = "Konwertuj strony do czarno-białych o wysokim kontraście za pomocą ImageMagick. Użyj poziomu szczegółów, aby kontrolować, jak dużo treści stanie się czarna, oraz wzmocnienia krawędzi, aby określić agresywność wykrywania krawędzi."
[compress.error]
failed = "Wystąpił błąd podczas kompresowania PDF."
@@ -3826,9 +3882,9 @@ _value = "Ustawienia kompresji"
1 = "1-3 kompresja PDF, 4-6 lekka kompresja obrazów, 7-9 intensywna kompresja obrazów Znacznie obniży jakość obrazu"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Niższe wartości zachowują jakość, ale skutkują większymi plikami"
+range4to6 = "Średnia kompresja z umiarkowaną utratą jakości"
+range7to9 = "Wyższe wartości znacznie zmniejszają rozmiar pliku, ale mogą zmniejszyć klarowność obrazu"
[decrypt]
passwordPrompt = "Ten plik jest chroniony hasłem. Wprowadź hasło:"
@@ -4069,7 +4125,7 @@ deleteSelected = "Usuń wybrane strony"
closePdf = "Zamknij PDF"
exportAll = "Eksportuj PDF"
downloadSelected = "Pobierz wybrane pliki"
-annotations = "Annotations"
+annotations = "Adnotacje"
exportSelected = "Eksportuj wybrane strony"
saveChanges = "Zapisz zmiany"
toggleTheme = "Przełącz motyw"
@@ -4077,84 +4133,90 @@ language = "Język"
toggleAnnotations = "Przełącz widoczność adnotacji"
search = "Szukaj w PDF"
panMode = "Tryb przesuwania"
+applyRedactionsFirst = "Najpierw zastosuj zaczernienia"
rotateLeft = "Obróć w lewo"
rotateRight = "Obróć w prawo"
toggleSidebar = "Przełącz panel boczny"
toggleBookmarks = "Przełącz zakładki"
print = "Drukuj PDF"
+draw = "Rysuj"
+redact = "Zaczernij"
+exitRedaction = "Wyjdź z trybu zaczerniania"
+save = "Zapisz"
downloadAll = "Pobierz wszystko"
saveAll = "Zapisz wszystko"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Do lewej"
+center = "Do środka"
+right = "Do prawej"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "Adnotuj"
+desc = "Używaj podświetlania, pióra, tekstu i notatek. Zmiany są na żywo — bez potrzeby spłaszczania."
+highlight = "Podświetl"
+pen = "Pióro"
+text = "Pole tekstowe"
+note = "Notatka"
+rectangle = "Prostokąt"
+ellipse = "Elipsa"
+select = "Zaznacz"
+exit = "Wyjdź z trybu adnotacji"
+strokeWidth = "Szerokość"
+opacity = "Przezroczystość"
+strokeOpacity = "Przezroczystość obrysu"
+fillOpacity = "Przezroczystość wypełnienia"
+fontSize = "Rozmiar czcionki"
+chooseColor = "Wybierz kolor"
+color = "Kolor"
+strokeColor = "Kolor obrysu"
+fillColor = "Kolor wypełnienia"
+underline = "Podkreślenie"
+strikeout = "Przekreślenie"
+squiggly = "Faliste podkreślenie"
+inkHighlighter = "Podświetlacz odręczny"
+freehandHighlighter = "Podświetlacz odręczny"
+square = "Kwadrat"
+circle = "Okrąg"
+polygon = "Wielokąt"
+line = "Linia"
+stamp = "Dodaj obraz"
+textMarkup = "Oznaczenia tekstu"
+drawing = "Rysowanie"
+shapes = "Kształty"
+notesStamps = "Notatki i stemple"
+settings = "Ustawienia"
+borderOn = "Obramowanie: włączone"
+borderOff = "Obramowanie: wyłączone"
+editInk = "Edytuj pióro"
+editLine = "Edytuj linię"
+editNote = "Edytuj notatkę"
+editText = "Edytuj pole tekstowe"
+editTextMarkup = "Edytuj oznaczenie tekstu"
+editSelected = "Edytuj adnotację"
+editSquare = "Edytuj kwadrat"
+editCircle = "Edytuj okrąg"
+editPolygon = "Edytuj wielokąt"
+unsupportedType = "Ten typ adnotacji nie jest w pełni obsługiwany do edycji."
+textAlignment = "Wyrównanie tekstu"
+noteIcon = "Ikona notatki"
+imagePreview = "Podgląd"
+contents = "Tekst"
+backgroundColor = "Kolor tła"
+clearBackground = "Usuń tło"
+noBackground = "Brak tła"
+stampSettings = "Ustawienia stempla"
+savingCopy = "Przygotowywanie pobierania..."
+saveFailed = "Nie można zapisać kopii"
+saveReady = "Pobieranie gotowe"
+selectAndMove = "Zaznacz i edytuj"
+editSelectDescription = "Kliknij istniejącą adnotację, aby edytować jej kolor, przezroczystość, tekst lub rozmiar."
+editStampHint = "Aby zmienić obraz, usuń ten stempel i dodaj nowy."
+editSwitchToSelect = "Przełącz na Zaznacz i Edytuj, aby edytować tę adnotację."
+undo = "Cofnij"
+redo = "Ponów"
+applyChanges = "Zastosuj zmiany"
+saveChanges = "Zapisz zmiany"
[search]
title = "Szukaj w PDF"
@@ -4205,20 +4267,20 @@ settings = "Ustaw."
adminSettings = "Ustaw. admina"
allTools = "All Tools"
reader = "Czytnik"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Przewodniki"
+showMeAround = "Pokaż mi, jak to działa"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Obejrzyj tutaj: przegląd narzędzi, przewodnik po nowym układzie V2 i przewodnik administratora."
+user = "Obejrzyj tutaj: przegląd narzędzi i przewodnik po nowym układzie V2."
[quickAccess.helpMenu]
toolsTour = "Przegląd narzędzi"
toolsTourDesc = "Dowiedz się, co potrafią narzędzia"
adminTour = "Przewodnik administratora"
adminTourDesc = "Poznaj ustawienia i funkcje administratora"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Zobacz, co nowego w V2"
+whatsNewTourDesc = "Przejdź przez zaktualizowany układ"
[admin]
error = "Błąd"
@@ -4237,6 +4299,8 @@ fetchError = "Nie udało się wczytać ustawień"
saveError = "Nie udało się zapisać ustawień"
saved = "Ustawienia zapisano pomyślnie"
saveSuccess = "Ustawienia zapisano pomyślnie"
+success = "Pomyślnie zapisano ustawienia"
+error = "Nie udało się zapisać ustawień"
save = "Zapisz zmiany"
discard = "Odrzuć"
restartRequired = "Wymagane ponowne uruchomienie"
@@ -4360,6 +4424,13 @@ description = "Ścieżka do pliku wykonywalnego WeasyPrint dla konwersji HTML do
label = "Plik wykonywalny Unoconvert"
description = "Ścieżka do LibreOffice unoconvert do konwersji dokumentów (pozostaw puste, aby użyć domyślnej: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "Adres URL frontendu"
+description = "Bazowy adres URL frontendu (np. https://pdf.example.com). Używany dla linków w zaproszeniach e-mail i mobilnych przesłań przez kod QR. Pozostaw puste, aby użyć adresu URL backendu."
+
+[admin.settings.badge]
+clickToUpgrade = "Kliknij, aby zobaczyć szczegóły planu"
+
[admin.settings.security]
title = "Bezpieczeństwo"
description = "Skonfiguruj uwierzytelnianie, zachowanie logowania i polityki bezpieczeństwa."
@@ -4436,7 +4507,7 @@ description = "Śledź działania użytkowników i zdarzenia systemowe na potrze
[admin.settings.security.audit.level]
label = "Poziom audytu"
-description = "0=WYŁ., 1=PODSTAWOWY, 2=STANDARDOWY, 3=SZCZEGÓŁOWY"
+description = "0=OFF, 1=BASIC, 2=STANDARD, 3=VERBOSE"
[admin.settings.security.audit.retentionDays]
label = "Przechowywanie audytu (dni)"
@@ -4496,6 +4567,19 @@ connect = "Połącz"
disconnect = "Odłącz"
disconnected = "Pomyślnie odłączono dostawcę"
disconnectError = "Nie udało się odłączyć dostawcy"
+mobileScannerConvertToPdf = "Konwertuj obrazy do PDF"
+mobileScannerConvertToPdfDesc = "Automatycznie konwertuj przesłane obrazy do formatu PDF. Jeśli wyłączone, obrazy zostaną pozostawione bez zmian."
+mobileScannerImageResolution = "Rozdzielczość obrazu"
+mobileScannerImageResolutionDesc = "Rozdzielczość przesyłanych obrazów. „Zredukowana” skaluje obrazy do maks. 1200 px, aby zmniejszyć rozmiar pliku."
+imageResolutionFull = "Pełna (oryginalny rozmiar)"
+imageResolutionReduced = "Zredukowana (maks. 1200 px)"
+mobileScannerPageFormat = "Format strony"
+mobileScannerPageFormatDesc = "Rozmiar strony PDF dla skonwertowanych obrazów. „Zachowaj” używa oryginalnych wymiarów obrazu."
+pageFormatKeep = "Zachowaj (oryginalne wymiary)"
+pageFormatA4 = "A4 (210×297 mm)"
+pageFormatLetter = "Letter (8,5×11 in)"
+mobileScannerStretchToFit = "Rozciągnij do dopasowania"
+mobileScannerStretchToFitDesc = "Rozciągnij obrazy, aby wypełnić całą stronę. Jeśli wyłączone, obrazy są wyśrodkowane z zachowaniem proporcji."
[admin.settings.connections.ssoAutoLogin]
label = "Automatyczne logowanie SSO"
@@ -4564,6 +4648,122 @@ description = "Automatycznie twórz konta użytkowników przy pierwszym logowani
label = "Blokuj rejestrację"
description = "Zablokuj rejestrację nowych użytkowników przez SAML2"
+[admin.settings.connections.mobileScanner]
+label = "Przesyłanie z telefonu"
+enable = "Włącz przesyłanie kodem QR"
+description = "Pozwól użytkownikom przesyłać pliki z urządzeń mobilnych poprzez skanowanie kodu QR"
+note = "Uwaga: Wymaga skonfigurowanego adresu URL frontendu. "
+link = "Skonfiguruj w Ustawieniach systemu"
+mobileScannerConvertToPdf = "Konwertuj obrazy do PDF"
+mobileScannerConvertToPdfDesc = "Automatycznie konwertuj przesłane obrazy do formatu PDF. Jeśli wyłączone, obrazy zostaną pozostawione bez zmian."
+mobileScannerImageResolution = "Rozdzielczość obrazu"
+mobileScannerImageResolutionDesc = "Rozdzielczość przesyłanych obrazów. „Zredukowana” skaluje obrazy do maks. 1200 px, aby zmniejszyć rozmiar pliku."
+imageResolutionFull = "Pełna (oryginalny rozmiar)"
+imageResolutionReduced = "Zredukowana (maks. 1200 px)"
+mobileScannerPageFormat = "Format strony"
+mobileScannerPageFormatDesc = "Rozmiar strony PDF dla skonwertowanych obrazów. „Zachowaj” używa oryginalnych wymiarów obrazu."
+pageFormatKeep = "Zachowaj (oryginalne wymiary)"
+pageFormatA4 = "A4 (210×297 mm)"
+pageFormatLetter = "Letter (8,5×11 in)"
+mobileScannerStretchToFit = "Rozciągnij do dopasowania"
+mobileScannerStretchToFitDesc = "Rozciągnij obrazy, aby wypełnić całą stronę. Jeśli wyłączone, obrazy są wyśrodkowane z zachowaniem proporcji."
+
+[admin.settings.telegram]
+title = "Bot Telegram"
+description = "Skonfiguruj łączność bota Telegram, kontrolę dostępu i zachowanie komunikatów zwrotnych."
+
+[admin.settings.telegram.enabled]
+label = "Włącz bota Telegram"
+description = "Pozwól użytkownikom korzystać ze Stirling PDF przez skonfigurowanego bota Telegram."
+
+[admin.settings.telegram.botUsername]
+label = "Nazwa użytkownika bota"
+description = "Publiczna nazwa użytkownika twojego bota Telegram."
+
+[admin.settings.telegram.botToken]
+label = "Token bota"
+description = "Token API dostarczony przez BotFather dla twojego bota Telegram."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Folder skrzynki odbiorczej"
+description = "Folder w katalogu pipeline, w którym przechowywane są przychodzące pliki z Telegram."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Użyj niestandardowego sufiksu folderu"
+description = "Dołącz ID czatu do folderów plików przychodzących, aby izolować przesyłania na czat."
+
+[admin.settings.telegram.accessControl]
+title = "Kontrola dostępu"
+description = "Ogranicz, którzy użytkownicy lub kanały mogą wchodzić w interakcję z botem."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Zezwalaj na określone ID użytkowników"
+description = "Po włączeniu tylko wymienione ID użytkowników mogą używać bota."
+
+[admin.settings.telegram.allowUserIDs]
+label = "Dozwolone ID użytkowników"
+description = "Wprowadź ID użytkowników Telegram, którzy mogą używać bota."
+placeholder = "Dodaj ID użytkownika i naciśnij Enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Zezwalaj na określone ID kanałów"
+description = "Po włączeniu tylko wymienione ID kanałów mogą używać bota."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "Dozwolone ID kanałów"
+description = "Wprowadź ID kanałów Telegram dozwolonych do interakcji z botem."
+placeholder = "Dodaj ID kanału i naciśnij Enter"
+
+[admin.settings.telegram.processing]
+title = "Przetwarzanie"
+description = "Kontroluj interwały odpytywania i limity czasu przetwarzania dla przesyłań z Telegram."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Limit przetwarzania (sekundy)"
+description = "Maksymalny czas oczekiwania na zadanie przetwarzania przed zgłoszeniem błędu."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Interwał odpytywania (ms)"
+description = "Odstęp między sprawdzeniami nowych aktualizacji Telegram."
+
+[admin.settings.telegram.feedback]
+title = "Komunikaty zwrotne"
+description = "Wybierz, kiedy bot powinien wysyłać informacje zwrotne do użytkowników i kanałów."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Włącz komunikaty zwrotne"
+description = "Kontroluj, czy bot w ogóle wysyła komunikaty zwrotne."
+
+[admin.settings.telegram.feedback.channel]
+title = "Zasady komunikatów dla kanałów"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Pokaż „Brak prawidłowego dokumentu” (Kanał)"
+description = "Wyłącz odpowiedź „brak prawidłowego dokumentu” dla przesłań kanałowych."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Pokaż błędy przetwarzania (Kanał)"
+description = "Wysyłaj komunikaty o błędach przetwarzania do kanałów."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Pokaż komunikaty o błędach (Kanał)"
+description = "Pokazuj szczegółowe komunikaty o błędach dla kanałów."
+
+[admin.settings.telegram.feedback.user]
+title = "Zasady komunikatów dla użytkowników"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Pokaż „Brak prawidłowego dokumentu” (Użytkownik)"
+description = "Wyłącz odpowiedź „brak prawidłowego dokumentu” dla przesłań od użytkowników."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Pokaż błędy przetwarzania (Użytkownik)"
+description = "Wysyłaj komunikaty o błędach przetwarzania do użytkowników."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Pokaż komunikaty o błędach (Użytkownik)"
+description = "Pokazuj szczegółowe komunikaty o błędach dla użytkowników."
+
[admin.settings.database]
title = "Baza danych"
description = "Skonfiguruj niestandardowe ustawienia połączenia z bazą danych dla wdrożeń korporacyjnych."
@@ -4745,6 +4945,10 @@ description = "Zezwól administratorom zapraszać użytkowników e-mailem z auto
label = "URL frontendu"
description = "Bazowy URL frontendu (np. https://pdf.example.com). Używany do generowania linków zaproszeń w e-mailach. Pozostaw puste, aby użyć URL backendu."
+[admin.settings.mail.frontendUrlNote]
+note = "Uwaga: Wymaga skonfigurowanego adresu URL frontendu. "
+link = "Skonfiguruj w Ustawieniach systemu"
+
[admin.settings.legal]
title = "Dokumenty prawne"
description = "Skonfiguruj linki do dokumentów i polityk prawnych."
@@ -4929,6 +5133,9 @@ googleDriveShort = "Dysk"
myFiles = "Moje pliki"
noRecentFiles = "Nie znaleziono ostatnich plików"
googleDriveNotAvailable = "Integracja z Google Drive niedostępna"
+mobileUpload = "Przesyłanie z telefonu"
+mobileShort = "Mobilne"
+mobileUploadNotAvailable = "Przesyłanie z telefonu nie jest włączone"
downloadSelected = "Pobierz wybrane"
saveSelected = "Zapisz wybrane"
openFiles = "Otwórz pliki"
@@ -5244,7 +5451,7 @@ loading = "Wczytywanie..."
back = "Wstecz"
continue = "Kontynuuj"
error = "Błąd"
-save = "Save"
+save = "Zapisz"
[config.overview]
title = "Konfiguracja aplikacji"
@@ -5307,6 +5514,15 @@ impact = "Wszystkie aplikacje lub usługi obecnie używające tych kluczy przest
confirmPrompt = "Czy na pewno chcesz kontynuować?"
confirmCta = "Odśwież klucze"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "Błąd klucza API"
+failedToCreateApiKey = "Nie udało się utworzyć klucza API."
+failedToRetrieveApiKey = "Nie udało się pobrać klucza API z odpowiedzi."
+failedToFetchApiKey = "Nie udało się pobrać klucza API."
+apiKeyRefreshed = "Odświeżono klucz API"
+apiKeyRefreshedBody = "Twój klucz API został pomyślnie odświeżony."
+failedToRefreshApiKey = "Nie udało się odświeżyć klucza API."
+
[AddAttachmentsRequest]
attachments = "Wybierz załączniki"
info = "Wybierz pliki do dołączenia do PDF. Zostaną osadzone i dostępne w panelu załączników PDF."
@@ -5412,14 +5628,14 @@ startTour = "Rozpocznij przewodnik"
startTourDescription = "Przewodnik po kluczowych funkcjach Stirling PDF"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Zacznij od panelu Szybki dostęp, aby przełączać się między Czytnikiem, Automatyzacją, plikami i wszystkimi przewodnikami."
+leftPanel = "Lewy panel Narzędzia zawiera wszystko, co możesz zrobić. Przeglądaj kategorie lub wyszukaj, aby szybko znaleźć narzędzie."
+fileUpload = "Użyj przycisku Pliki, aby przesłać lub wybrać ostatni PDF. Załadujemy przykład, aby pokazać obszar roboczy."
+rightRail = "Prawy panel zawiera szybkie akcje do wybierania plików, zmiany motywu lub języka oraz pobierania wyników."
+topBar = "Górny pasek pozwala przełączać się między Przeglądarką, Edytorem stron i Aktywnymi plikami."
+pageEditorView = "Przełącz na Edytor stron, aby zmieniać kolejność, obracać lub usuwać strony."
+activeFilesView = "Użyj Aktywnych plików, aby zobaczyć wszystko, co masz otwarte, i wybrać, nad czym pracować."
+wrapUp = "To wszystko, co nowe w V2. Otwórz menu Przewodniki w dowolnym momencie, aby odtworzyć ten, przegląd narzędzi lub przewodnik administratora."
[onboarding.welcomeModal]
title = "Witamy w Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "Pokaż, co nowego"
skipTheTour = "Pomiń przewodnik"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Przegląd przewodnika"
+body = "Stirling PDF V2 zawiera dziesiątki narzędzi i odświeżony układ. Zrób szybki przegląd, aby zobaczyć, co się zmieniło i gdzie znaleźć potrzebne funkcje."
[onboarding.serverLicense]
skip = "Pomiń na razie"
@@ -5452,7 +5668,7 @@ upgrade = "Ulepsz teraz →"
freeTitle = "Licencja serwera"
overLimitTitle = "Wymagana licencja serwera"
overLimitBody = "Nasza licencja pozwala na maks. {{freeTierLimit}} użytkowników bez opłat na serwer. Masz {{overLimitUserCopy}} użytkowników Stirling. Aby kontynuować bez przerw, przejdź na plan Stirling Server – nielimitowane miejsca, edycja tekstu PDF i pełna kontrola administracyjna za 99 USD/serwer/mies."
-freeBody = "Nasza licencja Open-Core pozwala na maksymalnie {{freeTierLimit}} użytkowników bezpłatnie na serwer. Aby skalować bez zakłóceń, zalecamy plan Stirling Server - nielimitowana liczba miejsc i obsługa SSO za $99/serwer/mies."
+freeBody = "Nasza licencja Open-Core pozwala na maks. {{freeTierLimit}} użytkowników bez opłat na serwer. Aby skalować bez przerw i uzyskać wczesny dostęp do nowego narzędzia edycji tekstu PDF, polecamy plan Stirling Server – pełna edycja i nielimitowane miejsca za 99 USD/serwer/mies."
[onboarding.desktopInstall]
title = "Pobierz"
@@ -5758,28 +5974,28 @@ contactSales = "Skontaktuj się ze sprzedażą"
contactToUpgrade = "Skontaktuj się z nami, aby uaktualnić lub dostosować plan"
maxUsers = "Maks. liczba użytkowników"
upTo = "Do"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Uzyskaj licencję serwera"
+upgradeToEnterprise = "Przejdź na Enterprise"
+selectPeriod = "Wybierz okres rozliczeniowy"
+monthlyBilling = "Rozliczenie miesięczne"
+yearlyBilling = "Rozliczenie roczne"
+checkoutOpened = "Otworzono stronę płatności"
+checkoutInstructions = "Dokończ zakup w karcie Stripe. Po płatności wróć tutaj i odśwież stronę, aby aktywować licencję. Otrzymasz także e-mail z kluczem licencyjnym."
+activateLicense = "Aktywuj licencję"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Strona płatności otwarta w nowej karcie"
+instructions = "Dokończ zakup w karcie Stripe. Po zakończeniu płatności otrzymasz e-mail z kluczem licencyjnym."
+enterKey = "Wpisz poniżej klucz licencyjny, aby aktywować plan:"
+keyDescription = "Wklej klucz licencyjny z e-maila"
+activate = "Aktywuj licencję"
+doLater = "Zrobię to później"
+success = "Licencja aktywowana!"
+successMessage = "Twoja licencja została pomyślnie aktywowana. Możesz zamknąć to okno."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "Wymagana weryfikacja e-mail"
+message = "Musisz zweryfikować adres e-mail w portalu rozliczeń Stripe. Sprawdź wiadomość z linkiem logowania."
[plan.period]
month = "miesiąc"
@@ -5908,7 +6124,7 @@ emailInvalid = "Wpisz poprawny adres e‑mail"
title = "Podaj e‑mail"
description = "Użyjemy go do wysłania klucza licencyjnego i rachunków."
emailLabel = "Adres e‑mail"
-emailPlaceholder = "twoj@email.com"
+emailPlaceholder = "your@email.com"
continue = "Kontynuuj"
modalTitle = "Zaczynamy – {{planName}}"
@@ -5983,8 +6199,8 @@ notAvailable = "System audytu niedostępny"
notAvailableMessage = "System audytu nie jest skonfigurowany lub jest niedostępny."
disabled = "Rejestrowanie audytu jest wyłączone"
disabledMessage = "Włącz rejestrowanie audytu w konfiguracji aplikacji, aby śledzić zdarzenia systemowe."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Wymagana licencja Enterprise"
+enterpriseRequiredMessage = "System rejestrowania zdarzeń to funkcja Enterprise. Uaktualnij do licencji Enterprise, aby uzyskać dostęp do dzienników i analityki."
[audit.error]
title = "Błąd podczas ładowania systemu audytu"
@@ -6156,6 +6372,7 @@ description = "Wpisz pełny URL własnego serwera Stirling PDF"
[setup.server.error]
emptyUrl = "Wpisz URL serwera"
+invalidUrl = "Nieprawidłowy format URL. Wprowadź prawidłowy adres jak https://your-server.com"
unreachable = "Nie można połączyć z serwerem"
testFailed = "Test połączenia nie powiódł się"
configFetch = "Nie udało się pobrać konfiguracji serwera. Sprawdź URL i spróbuj ponownie."
@@ -6174,6 +6391,7 @@ connectingTo = "Łączenie z:"
submit = "Zaloguj"
signInWith = "Zaloguj przez"
oauthPending = "Otwieranie przeglądarki do uwierzytelnienia..."
+sso = "Single Sign-On"
orContinueWith = "Lub kontynuuj e‑mailem"
serverRequirement = "Uwaga: Na serwerze musi być włączone logowanie."
showInstructions = "Jak włączyć?"
@@ -6225,7 +6443,7 @@ paragraph = "Strona akapitowa"
sparse = "Rzadki tekst"
[pdfTextEditor.groupingMode]
-auto = "Automatycznie"
+auto = "Auto"
paragraph = "Akapit"
singleLine = "Pojedyncza linia"
@@ -6239,8 +6457,8 @@ reset = "Resetuj zmiany"
downloadJson = "Pobierz JSON"
generatePdf = "Generuj PDF"
saveChanges = "Zapisz zmiany"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Zastosuj zmiany"
+downloadCopy = "Pobierz kopię"
[pdfTextEditor.options.autoScaleText]
title = "Automatycznie skaluj tekst do pól"
@@ -6260,22 +6478,22 @@ title = "Zablokuj edytowany tekst do pojedynczego elementu PDF"
description = "Po włączeniu edytor eksportuje każde edytowane pole tekstowe jako jeden element tekstowy PDF, aby uniknąć nakładających się glifów lub mieszanych czcionek."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Ustawienia zaawansowane"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Ograniczenia podglądu"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Fokus tekstu i obrazów"
+text = "To środowisko koncentruje się na edycji tekstu i przestawianiu osadzonych obrazów. Złożona grafika strony, kontrolki formularzy i warstwowa grafika są zachowane do eksportu, ale nie są tutaj w pełni edytowalne."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Różnice w podglądzie"
+text = "Niektóre elementy (takie jak obramowania tabel, kształty lub wygląd adnotacji) mogą nie wyświetlać się dokładnie w podglądzie. Eksportowany PDF zachowuje oryginalne polecenia rysowania, gdy to możliwe."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Wersja alfa przeglądarki"
+text = "Ten widok alfa wciąż się rozwija — niektóre czcionki, kolory, efekty przezroczystości i szczegóły układu mogą się nieznacznie zmieniać. Przed udostępnieniem prosimy o ponowne sprawdzenie wygenerowanego PDF."
[pdfTextEditor.manual]
mergeTooltip = "Scal zaznaczone pola"
@@ -6398,3 +6616,58 @@ title = "Wyniki dodawania tekstu"
[addText.error]
failed = "Wystąpił błąd podczas dodawania tekstu do PDF."
+
+[mobileUpload]
+title = "Prześlij z telefonu"
+description = "Zeskanuj, aby przesłać zdjęcia. Obrazy są automatycznie konwertowane do PDF."
+descriptionNoConvert = "Zeskanuj, aby przesłać zdjęcia z urządzenia mobilnego."
+error = "Błąd połączenia"
+pollingError = "Błąd sprawdzania plików"
+sessionId = "ID sesji"
+sessionCreateError = "Nie udało się utworzyć sesji"
+expiryWarning = "Sesja wkrótce wygaśnie"
+expiryWarningMessage = "Ten QR wygaśnie za {{seconds}} sekund. Nowy kod zostanie wygenerowany automatycznie."
+filesReceived = "{{count}} plik(ów) odebrano"
+connected = "Urządzenie mobilne połączone"
+instructions = "Zeskanuj aparatem w telefonie. Obrazy konwertują się do PDF automatycznie."
+instructionsNoConvert = "Zeskanuj aparatem w telefonie, aby przesłać pliki."
+
+[mobileScanner]
+title = "Skaner mobilny"
+noSession = "Nieprawidłowa sesja"
+noSessionMessage = "Zeskanuj prawidłowy kod QR, aby uzyskać dostęp do tej strony."
+validating = "Weryfikowanie sesji..."
+sessionInvalid = "Błąd sesji"
+sessionExpired = "Ta sesja wygasła. Odśwież i spróbuj ponownie."
+sessionNotFound = "Nie znaleziono sesji. Odśwież i spróbuj ponownie."
+sessionValidationError = "Nie można zweryfikować sesji. Spróbuj ponownie."
+uploadSuccess = "Przesyłanie zakończone!"
+uploadSuccessMessage = "Twoje obrazy zostały przesłane."
+httpsRequired = "Dostęp do kamery wymaga HTTPS lub localhost. Użyj HTTPS lub uzyskaj dostęp przez localhost."
+uploadFailed = "Przesyłanie nie powiodło się. Spróbuj ponownie."
+uploading = "Przesyłanie..."
+connected = "Połączono"
+connecting = "Łączenie..."
+chooseMethod = "Wybierz metodę przesyłania"
+chooseMethodDescription = "Wybierz, jak chcesz zeskanować i przesłać dokumenty"
+camera = "Aparat"
+cameraDescription = "Skanuj dokumenty aparatem urządzenia z automatycznym wykrywaniem krawędzi"
+fileUpload = "Przesyłanie plików"
+fileDescription = "Prześlij istniejące zdjęcia lub dokumenty z urządzenia"
+cameraAccessDenied = "Dostęp do kamery zablokowany. Włącz dostęp do kamery."
+back = "Wstecz"
+settings = "Ustawienia"
+edgeDetection = "Wykrywanie krawędzi"
+flashlight = "Latarka"
+flash = "Lampa błyskowa"
+processing = "Przetwarzanie..."
+capture = "Zrób zdjęcie"
+selectFilesPrompt = "Wybierz pliki do przesłania"
+selectImage = "Wybierz obraz"
+preview = "Podgląd"
+retake = "Zrób ponownie"
+addToBatch = "Dodaj do partii"
+upload = "Prześlij"
+batchImages = "Partia"
+clearBatch = "Wyczyść"
+uploadAll = "Prześlij wszystkie"
diff --git a/frontend/public/locales/pt-BR/translation.toml b/frontend/public/locales/pt-BR/translation.toml
index 4cbb877fc..eee2c5a10 100644
--- a/frontend/public/locales/pt-BR/translation.toml
+++ b/frontend/public/locales/pt-BR/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "Você tem alterações não salvas no seu PDF. O que você gostaria de fazer?"
+pendingRedactionsTitle = "Redações não aplicadas"
+pendingRedactions = "Você tem redações não aplicadas que serão perdidas."
areYouSure = "Tem certeza de que deseja sair?"
unsavedChangesTitle = "Alterações não salvas"
keepWorking = "Continuar trabalhando"
discardChanges = "Descartar alterações"
+discardRedactions = "Descartar e sair"
applyAndContinue = "Aplicar e continuar"
exportAndContinue = "Exportar e continuar"
cancel = "Cancelar"
@@ -131,7 +134,7 @@ unsupported = "Não suportado"
[toolPanel]
placeholder = "Escolha uma ferramenta para começar"
-alpha = "Alfa"
+alpha = "Alpha"
premiumFeature = "Recurso premium:"
comingSoon = "Em breve:"
@@ -364,6 +367,7 @@ advanced = "Avançado"
title = "Segurança & Autenticação"
security = "Segurança"
connections = "Conexões"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Licenciamento & Análises"
@@ -438,25 +442,34 @@ currentVersion = "Versão atual"
latestVersion = "Última versão"
checkForUpdates = "Verificar atualizações"
viewDetails = "Ver detalhes"
+serverNeedsUpdate = "O servidor precisa ser atualizado pelo administrador"
+
+[settings.general.versionInfo]
+title = "Informações da versão"
+description = "Detalhes das versões desktop e do servidor"
+desktop = "Versão desktop"
+server = "Versão do servidor"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Segurança"
+description = "Atualize sua senha para manter sua conta segura."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Altere sua senha. Você será desconectado após a atualização."
+required = "Todos os campos são obrigatórios."
+mismatch = "As novas senhas não coincidem."
+error = "Não foi possível atualizar a senha. Verifique sua senha atual e tente novamente."
+success = "Senha atualizada com sucesso. Faça login novamente."
+ssoDisabled = "As alterações de senha são gerenciadas pelo seu provedor de identidade."
+current = "Senha atual"
+currentPlaceholder = "Digite sua senha atual"
+new = "Nova senha"
+newPlaceholder = "Digite uma nova senha"
+confirm = "Confirmar nova senha"
+confirmPlaceholder = "Redigite sua nova senha"
+update = "Atualizar senha"
+
+
[settings.hotkeys]
title = "Atalhos de teclado"
@@ -511,16 +524,16 @@ low = "Baixa"
title = "Alterar Credenciais"
header = "Atualizar Detalhes da Conta"
changePassword = "Você está usando as credenciais padrões. Por favor, insira uma nova senha"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Sua conta é gerenciada pelo seu provedor de identidade."
newUsername = "Novo Usuário"
oldPassword = "Senha Atual"
newPassword = "Senha Nova"
confirmNewPassword = "Confirme a Nova Senha"
submit = "Enviar Alterações"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Conta atualizada"
+description = "Alterações salvas. Faça login novamente."
+error = "Não foi possível atualizar o nome de usuário. Verifique sua senha e tente novamente."
+changeUsername = "Atualize seu nome de usuário. Você será desconectado após a atualização."
[account]
title = "Configurações da Conta"
@@ -528,6 +541,8 @@ accountSettings = "Configurações da Conta"
adminSettings = "Configurações de Administrador – Visualizar e Adicionar Usuários"
userControlSettings = "Configurações de Controle de Usuário"
changeUsername = "Alterar Usuário"
+changeUsernameDescription = "Atualize seu nome de usuário. Você será desconectado após a atualização."
+newUsernamePlaceholder = "Digite seu novo nome de usuário"
newUsername = "Novo Usuário"
password = "Senha de Confirmação"
oldPassword = "Senha Antiga"
@@ -737,9 +752,9 @@ title = "Assinar"
desc = "Adicionar assinatura ao PDF por desenho, texto ou imagem."
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "anotar,realçar,desenhar"
+title = "Anotar"
+desc = "Realce, desenhe, adicione notas e formas no visualizador"
[home.flatten]
tags = "simplificar,remover,interativo"
@@ -951,8 +966,8 @@ desc = "Sobrepor um PDF sobre outro"
title = "Sobrepor PDFs"
[home.pdfTextEditor]
-title = "Editor de Texto em PDF"
-desc = "Edite texto e imagens existentes em PDFs"
+title = "Editor de texto de PDF"
+desc = "Revise e edite exportações JSON do Stirling PDF com edição de texto agrupada e regeneração do PDF"
[home.addText]
tags = "texto,anotação,rótulo"
@@ -963,6 +978,7 @@ desc = "Adicione texto personalizado em qualquer lugar do seu PDF"
addFiles = "Adicionar arquivos"
uploadFromComputer = "Fazer upload do computador"
openFromComputer = "Abrir do computador"
+mobileUpload = "Enviar do celular"
[viewPdf]
tags = "visualizar,ler,anotar,texto,imagem"
@@ -1258,7 +1274,7 @@ odtExt = "Texto OpenDocument (.odt)"
pptExt = "PowerPoint (.pptx)"
odpExt = "Apresentação OpenDocument (.odp)"
txtExt = "Texto simples (.txt)"
-rtfExt = "Formato Rich Text (.rtf)"
+rtfExt = "Rich Text Format (.rtf)"
selectedFiles = "Arquivos selecionados"
noFileSelected = "Nenhum arquivo selecionado. Use o painel de arquivos para adicionar arquivos."
convertFiles = "Converter arquivos"
@@ -1278,21 +1294,33 @@ cbzOptions = "Opções de CBZ para PDF"
optimizeForEbook = "Otimizar PDF para leitores de e-book (usa Ghostscript)"
cbzOutputOptions = "Opções de PDF para CBZ"
cbzDpi = "DPI para renderização de imagem"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "Opções de CBR"
+cbrOutputOptions = "Opções de PDF para CBR"
+cbrDpi = "DPI para renderização de imagem"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "Opções de eBook para PDF"
+ebookOptionsDesc = "Opções para converter eBooks em PDF"
+embedAllFonts = "Incorporar todas as fontes"
+embedAllFontsDesc = "Incorporar todas as fontes do eBook no PDF gerado"
+includeTableOfContents = "Incluir sumário"
+includeTableOfContentsDesc = "Adicionar um sumário gerado ao PDF resultante"
+includePageNumbers = "Incluir números de página"
+includePageNumbersDesc = "Adicionar números de página ao PDF gerado"
+optimizeForEbookPdf = "Otimizar para leitores de eBook"
+optimizeForEbookPdfDesc = "Otimizar o PDF para leitura em eBook (arquivo menor, melhor renderização em dispositivos eInk)"
+
+[convert.epubOptions]
+epubOptions = "Opções de PDF para eBook"
+epubOptionsDesc = "Opções para converter PDF em EPUB/AZW3"
+detectChapters = "Detectar capítulos"
+detectChaptersDesc = "Detectar títulos que parecem capítulos e inserir quebras de página no EPUB"
+targetDevice = "Dispositivo de destino"
+targetDeviceDesc = "Escolha um perfil de saída otimizado para o dispositivo leitor"
+outputFormat = "Formato de saída"
+outputFormatDesc = "Escolha o formato de saída para o eBook"
+tabletPhone = "Tablet/Celular (com imagens)"
+kindleEink = "Kindle e-Ink (texto otimizado)"
[imageToPdf]
tags = "conversão,img,jpg,imagem,foto"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "Adicionar anexo"
remove = "Remover anexo"
embed = "Incorporar anexo"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Converter para PDF/A-3b"
+convertToPdfA3bDescription = "Cria um PDF de arquivamento com anexos incorporados"
+convertToPdfA3bTooltip = "PDF/A-3b é um formato de arquivamento que garante preservação de longo prazo. Permite incorporar formatos de arquivo arbitrários como anexos. A conversão requer Ghostscript e pode demorar mais para arquivos grandes."
+convertToPdfA3bTooltipHeader = "Sobre a conversão para PDF/A-3b"
+convertToPdfA3bTooltipTitle = "O que faz"
submit = "Add attachments"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "Salvas"
label = "Enviar imagem da assinatura"
placeholder = "Selecionar arquivo de imagem"
hint = "Envie uma imagem PNG ou JPG da sua assinatura"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Remover fundo branco (tornar transparente)"
+processing = "Processando imagem..."
+backgroundRemovalFailedTitle = "Falha ao remover o fundo"
+backgroundRemovalFailedMessage = "Não foi possível remover o fundo da imagem. Usando a imagem original."
[sign.instructions]
title = "Como adicionar assinatura"
@@ -2409,9 +2437,9 @@ label = "Achatar apenas formulários"
desc = "Achatar apenas campos de formulário, mantendo outros elementos interativos"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "DPI de renderização (opcional, recomendado 150 DPI)"
+help = "Deixe em branco para usar o padrão do sistema. Um DPI mais alto melhora a nitidez, mas aumenta o tempo de processamento e o tamanho do arquivo."
+placeholder = "ex.: 150"
[flatten.results]
title = "Resultados do achatamento"
@@ -2987,7 +3015,7 @@ header = "Recortar"
submit = "Enviar"
noFileSelected = "Selecione um arquivo PDF para iniciar o corte"
reset = "Redefinir para o PDF completo"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Cortar automaticamente espaços em branco"
[crop.preview]
title = "Seleção da área de corte"
@@ -3218,6 +3246,7 @@ title = "Método de ocultação"
mode = "Modo"
automatic = "Automático"
automaticDesc = "Oculte texto com base em termos de busca"
+automaticDisabledTooltip = "Selecione arquivos no gerenciador de arquivos para redigir vários arquivos de uma vez"
manual = "Manual"
manualDesc = "Clique e arraste para ocultar áreas específicas"
manualComingSoon = "Ocultação manual em breve"
@@ -3288,8 +3317,35 @@ text = "Corresponde apenas palavras completas, não correspondências parciais.
title = "Converter para PDF-imagem"
text = "Converte o PDF para um PDF baseado em imagem após a ocultação. Isso garante que o texto atrás das caixas seja completamente removido e irrecuperável."
+[redact.tooltip.manual.header]
+title = "Controles de redação manual"
+
+[redact.tooltip.manual.markText]
+title = "Ferramenta Marcar texto"
+text = "Selecione o texto diretamente no PDF para marcá-lo para redação. Clique e arraste para realçar o texto específico que você deseja redigir."
+
+[redact.tooltip.manual.markArea]
+title = "Ferramenta Marcar área"
+text = "Desenhe áreas retangulares no PDF para marcar regiões para redação. Útil para redigir imagens, assinaturas ou formas irregulares."
+
+[redact.tooltip.manual.apply]
+title = "Aplicar redações"
+text = "Após marcar o conteúdo, clique em 'Aplicar' para redigir permanentemente todas as áreas marcadas. A contagem de pendências mostra quantas redações estão prontas para aplicar."
+bullet1 = "Marque quantas áreas forem necessárias antes de aplicar"
+bullet2 = "Todas as redações pendentes são aplicadas de uma vez"
+bullet3 = "As redações não podem ser desfeitas após aplicar"
+
[redact.manual]
+title = "Ferramentas de redação"
+instructions = "Selecione texto ou desenhe áreas no PDF para marcar conteúdo para redação."
+markText = "Marcar texto"
+markArea = "Marcar área"
+pendingLabel = "Pendentes:"
+applyWarning = "⚠️ Aplicação permanente, não pode ser desfeita e os dados subjacentes serão excluídos"
+apply = "Aplicar"
+noMarks = "Nenhuma marca de redação. Use as ferramentas acima para marcar conteúdo para redação."
header = "Ocultação manual"
+controlsTitle = "Controles de redação manual"
textBasedRedaction = "Ocultação baseada em texto"
pageBasedRedaction = "Ocultação baseada em página"
convertPDFToImageLabel = "Converter PDF para PDF-imagem (usado para remover texto atrás da caixa)"
@@ -3406,17 +3462,17 @@ label = "Divisões Verticais:"
placeholder = "Insira o número de divisões verticais"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Modo de divisão"
+description = "Escolha como dividir as páginas"
+splitAll = "Dividir todas as páginas"
+splitAllExceptFirst = "Dividir todas exceto a primeira"
+splitAllExceptLast = "Dividir todas exceto a última"
+splitAllExceptFirstAndLast = "Dividir todas exceto a primeira e a última"
+custom = "Páginas personalizadas"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Números de página personalizados"
+placeholder = "ex.: 2,4,6"
[AddStampRequest]
tags = "Carimbo,Adicionar imagem,centralizar imagem,Marca d'água,PDF,Incorporar,Personalizar"
@@ -3780,17 +3836,17 @@ filesize = "Tamanho do Arquivo"
label = "Aplicar escala de cinza para compressão"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Linearizar PDF para visualização rápida na web"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Converter imagens em traço"
+description = "Usa ImageMagick para reduzir as páginas a preto e branco de alto contraste para máxima redução de tamanho."
+unavailable = "ImageMagick não está instalado ou habilitado neste servidor"
+detailLevel = "Nível de detalhe"
+edgeEmphasis = "Ênfase nas bordas"
+edgeLow = "Suave"
+edgeMedium = "Equilibrado"
+edgeHigh = "Forte"
[compress.tooltip.header]
title = "Visão geral das configurações de compressão"
@@ -3810,8 +3866,8 @@ title = "Tons de cinza"
text = "Selecione esta opção para converter todas as imagens para preto e branco, o que pode reduzir significativamente o tamanho do arquivo, especialmente para PDFs digitalizados ou documentos com muitas imagens."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "Traço"
+text = "Converta páginas para preto e branco de alto contraste usando ImageMagick. Use o nível de detalhe para controlar quanto conteúdo fica preto e a ênfase nas bordas para controlar quão agressiva é a detecção das bordas."
[compress.error]
failed = "Ocorreu um erro ao comprimir o PDF."
@@ -3826,9 +3882,9 @@ _value = "Configurações de Compressão:"
1 = "1-3: Compressão do PDF, 4-6: Compressão leve de Imagem, 7-9: Compressão alta de Imagem. Redução considerável de qualidade da imagem."
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Valores menores preservam a qualidade, mas resultam em arquivos maiores"
+range4to6 = "Compressão média com redução moderada de qualidade"
+range7to9 = "Valores mais altos reduzem significativamente o tamanho do arquivo, mas podem reduzir a clareza das imagens"
[decrypt]
passwordPrompt = "Este arquivo está protegido por senha. Insira a senha:"
@@ -4069,7 +4125,7 @@ deleteSelected = "Excluir páginas selecionadas"
closePdf = "Fechar PDF"
exportAll = "Exportar PDF"
downloadSelected = "Baixar arquivos selecionados"
-annotations = "Annotations"
+annotations = "Anotações"
exportSelected = "Exportar páginas selecionadas"
saveChanges = "Salvar alterações"
toggleTheme = "Alternar tema"
@@ -4077,84 +4133,90 @@ language = "Idioma"
toggleAnnotations = "Alternar visibilidade das anotações"
search = "Pesquisar PDF"
panMode = "Modo de panorâmica"
+applyRedactionsFirst = "Aplicar redações primeiro"
rotateLeft = "Girar à esquerda"
rotateRight = "Girar à direita"
toggleSidebar = "Alternar barra lateral"
toggleBookmarks = "Alternar marcadores"
print = "Imprimir PDF"
+draw = "Desenhar"
+redact = "Redigir"
+exitRedaction = "Sair do modo de redação"
+save = "Salvar"
downloadAll = "Baixar tudo"
saveAll = "Salvar tudo"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Esquerda"
+center = "Centro"
+right = "Direita"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "Anotar"
+desc = "Use realce, caneta, texto e notas. As alterações permanecem ativas — sem necessidade de achatar."
+highlight = "Realçar"
+pen = "Caneta"
+text = "Caixa de texto"
+note = "Nota"
+rectangle = "Retângulo"
+ellipse = "Elipse"
+select = "Selecionar"
+exit = "Sair do modo de anotação"
+strokeWidth = "Largura"
+opacity = "Opacidade"
+strokeOpacity = "Opacidade do contorno"
+fillOpacity = "Opacidade do preenchimento"
+fontSize = "Tamanho da fonte"
+chooseColor = "Escolher cor"
+color = "Cor"
+strokeColor = "Cor do contorno"
+fillColor = "Cor de preenchimento"
+underline = "Sublinhar"
+strikeout = "Tachar"
+squiggly = "Ondulado"
+inkHighlighter = "Marca-texto à mão livre"
+freehandHighlighter = "Marca-texto à mão livre"
+square = "Quadrado"
+circle = "Círculo"
+polygon = "Polígono"
+line = "Linha"
+stamp = "Adicionar imagem"
+textMarkup = "Marcação de texto"
+drawing = "Desenho"
+shapes = "Formas"
+notesStamps = "Notas e carimbos"
+settings = "Configurações"
+borderOn = "Borda: ativada"
+borderOff = "Borda: desativada"
+editInk = "Editar caneta"
+editLine = "Editar linha"
+editNote = "Editar nota"
+editText = "Editar caixa de texto"
+editTextMarkup = "Editar marcação de texto"
+editSelected = "Editar anotação"
+editSquare = "Editar quadrado"
+editCircle = "Editar círculo"
+editPolygon = "Editar polígono"
+unsupportedType = "Este tipo de anotação não é totalmente compatível para edição."
+textAlignment = "Alinhamento do texto"
+noteIcon = "Ícone da nota"
+imagePreview = "Prévia"
+contents = "Texto"
+backgroundColor = "Cor de fundo"
+clearBackground = "Remover fundo"
+noBackground = "Sem fundo"
+stampSettings = "Configurações de carimbo"
+savingCopy = "Preparando download..."
+saveFailed = "Não foi possível salvar a cópia"
+saveReady = "Download pronto"
+selectAndMove = "Selecionar e editar"
+editSelectDescription = "Clique em uma anotação existente para editar sua cor, opacidade, texto ou tamanho."
+editStampHint = "Para alterar a imagem, exclua este carimbo e adicione um novo."
+editSwitchToSelect = "Mude para Selecionar e Editar para editar esta anotação."
+undo = "Desfazer"
+redo = "Refazer"
+applyChanges = "Aplicar alterações"
+saveChanges = "Salvar alterações"
[search]
title = "Pesquisar PDF"
@@ -4200,25 +4262,25 @@ files = "Arquivos"
activity = "Ativ."
help = "Ajuda"
account = "Conta"
-config = "Configurações"
+config = "Config"
settings = "Ajustes"
adminSettings = "Ajustes admin"
allTools = "Ferram."
reader = "Leitor"
tours = "Tours"
-showMeAround = "Show me around"
+showMeAround = "Faça um tour"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Assista aos tutoriais aqui: tour das Ferramentas, tour do novo layout V2 e o tour do Admin."
+user = "Assista aos tutoriais aqui: tour das Ferramentas e tour do novo layout V2."
[quickAccess.helpMenu]
toolsTour = "Tour das ferramentas"
toolsTourDesc = "Saiba o que as ferramentas podem fazer"
adminTour = "Tour do administrador"
adminTourDesc = "Explore configurações e recursos de administrador"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Veja as novidades na V2"
+whatsNewTourDesc = "Faça um tour pelo layout atualizado"
[admin]
error = "Erro"
@@ -4237,6 +4299,8 @@ fetchError = "Falha ao carregar configurações"
saveError = "Falha ao salvar configurações"
saved = "Configurações salvas com sucesso"
saveSuccess = "Configurações salvas com sucesso"
+success = "Configurações salvas com sucesso"
+error = "Falha ao salvar as configurações"
save = "Salvar alterações"
discard = "Descartar"
restartRequired = "Reinicialização necessária"
@@ -4360,6 +4424,13 @@ description = "Caminho para o executável WeasyPrint para conversão de HTML par
label = "Executável do unoconvert"
description = "Caminho para o unoconvert do LibreOffice para conversões de documentos (deixe em branco para padrão: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "URL do frontend"
+description = "URL base do frontend (ex.: https://pdf.example.com). Usada para links de convite por e-mail e uploads por QR code no celular. Deixe vazio para usar a URL do backend."
+
+[admin.settings.badge]
+clickToUpgrade = "Clique para ver detalhes do plano"
+
[admin.settings.security]
title = "Segurança"
description = "Configurar autenticação, comportamento de login e políticas de segurança."
@@ -4436,7 +4507,7 @@ description = "Rastrear ações do usuário e eventos do sistema para conformida
[admin.settings.security.audit.level]
label = "Nível de auditoria"
-description = "0=DESLIGADO, 1=BÁSICO, 2=PADRÃO, 3=DETALHADO"
+description = "0=OFF, 1=BASIC, 2=STANDARD, 3=VERBOSE"
[admin.settings.security.audit.retentionDays]
label = "Retenção de auditoria (dias)"
@@ -4496,6 +4567,19 @@ connect = "Conectar"
disconnect = "Desconectar"
disconnected = "Provedor desconectado com sucesso"
disconnectError = "Falha ao desconectar provedor"
+mobileScannerConvertToPdf = "Converter imagens em PDF"
+mobileScannerConvertToPdfDesc = "Converter automaticamente as imagens enviadas para o formato PDF. Se desativado, as imagens serão mantidas como estão."
+mobileScannerImageResolution = "Resolução da imagem"
+mobileScannerImageResolutionDesc = "Resolução das imagens enviadas. \"Reduzida\" redimensiona as imagens para no máximo 1200 px para reduzir o tamanho do arquivo."
+imageResolutionFull = "Completa (tamanho original)"
+imageResolutionReduced = "Reduzida (máx. 1200 px)"
+mobileScannerPageFormat = "Formato da página"
+mobileScannerPageFormatDesc = "Tamanho da página do PDF para imagens convertidas. \"Manter\" usa as dimensões originais da imagem."
+pageFormatKeep = "Manter (dimensões originais)"
+pageFormatA4 = "A4 (210×297 mm)"
+pageFormatLetter = "Carta (8,5×11 pol)"
+mobileScannerStretchToFit = "Ajustar para preencher"
+mobileScannerStretchToFitDesc = "Esticar imagens para preencher toda a página. Se desativado, as imagens são centralizadas mantendo a proporção."
[admin.settings.connections.ssoAutoLogin]
label = "Login automático SSO"
@@ -4518,11 +4602,11 @@ label = "URL do emissor"
description = "A URL do emissor do provedor OAuth2"
[admin.settings.connections.oauth2.clientId]
-label = "ID do cliente"
+label = "Client ID"
description = "O Client ID do OAuth2 do seu provedor"
[admin.settings.connections.oauth2.clientSecret]
-label = "Segredo do cliente"
+label = "Client Secret"
description = "O Client Secret do OAuth2 do seu provedor"
[admin.settings.connections.oauth2.useAsUsername]
@@ -4564,6 +4648,122 @@ description = "Criar automaticamente contas de usuário no primeiro login via SA
label = "Bloquear registro"
description = "Impedir novo registro de usuários via SAML2"
+[admin.settings.connections.mobileScanner]
+label = "Envio pelo celular"
+enable = "Habilitar envio via QR Code"
+description = "Permitir que usuários enviem arquivos de dispositivos móveis escaneando um QR code"
+note = "Observação: requer que a URL do frontend esteja configurada. "
+link = "Configurar nas Configurações do Sistema"
+mobileScannerConvertToPdf = "Converter imagens em PDF"
+mobileScannerConvertToPdfDesc = "Converter automaticamente as imagens enviadas para o formato PDF. Se desativado, as imagens serão mantidas como estão."
+mobileScannerImageResolution = "Resolução da imagem"
+mobileScannerImageResolutionDesc = "Resolução das imagens enviadas. \"Reduzida\" redimensiona as imagens para no máximo 1200 px para reduzir o tamanho do arquivo."
+imageResolutionFull = "Completa (tamanho original)"
+imageResolutionReduced = "Reduzida (máx. 1200 px)"
+mobileScannerPageFormat = "Formato da página"
+mobileScannerPageFormatDesc = "Tamanho da página do PDF para imagens convertidas. \"Manter\" usa as dimensões originais da imagem."
+pageFormatKeep = "Manter (dimensões originais)"
+pageFormatA4 = "A4 (210×297 mm)"
+pageFormatLetter = "Carta (8,5×11 pol)"
+mobileScannerStretchToFit = "Ajustar para preencher"
+mobileScannerStretchToFitDesc = "Esticar imagens para preencher toda a página. Se desativado, as imagens são centralizadas mantendo a proporção."
+
+[admin.settings.telegram]
+title = "Bot do Telegram"
+description = "Configure a conectividade do bot do Telegram, controles de acesso e comportamento de feedback."
+
+[admin.settings.telegram.enabled]
+label = "Habilitar bot do Telegram"
+description = "Permitir que usuários interajam com o Stirling PDF por meio do seu bot do Telegram configurado."
+
+[admin.settings.telegram.botUsername]
+label = "Nome de usuário do bot"
+description = "O nome de usuário público do seu bot do Telegram."
+
+[admin.settings.telegram.botToken]
+label = "Token do bot"
+description = "Token de API fornecido pelo BotFather para seu bot do Telegram."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Pasta de entrada"
+description = "Pasta no diretório de pipeline onde os arquivos do Telegram são armazenados."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Usar sufixo de pasta personalizado"
+description = "Acrescentar o ID do chat às pastas de arquivos recebidos para isolar envios por chat."
+
+[admin.settings.telegram.accessControl]
+title = "Controle de acesso"
+description = "Restringir quais usuários ou canais podem interagir com o bot."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Permitir IDs de usuário específicos"
+description = "Quando habilitado, somente os IDs de usuário listados podem usar o bot."
+
+[admin.settings.telegram.allowUserIDs]
+label = "IDs de usuário permitidos"
+description = "Insira os IDs de usuário do Telegram autorizados a interagir com o bot."
+placeholder = "Adicione o ID do usuário e pressione Enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Permitir IDs de canal específicos"
+description = "Quando habilitado, somente os IDs de canal listados podem usar o bot."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "IDs de canal permitidos"
+description = "Insira os IDs de canal do Telegram autorizados a interagir com o bot."
+placeholder = "Adicione o ID do canal e pressione Enter"
+
+[admin.settings.telegram.processing]
+title = "Processamento"
+description = "Controle intervalos de polling e tempos limite de processamento para uploads do Telegram."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Tempo limite de processamento (segundos)"
+description = "Tempo máximo de espera por um trabalho de processamento antes de informar um erro."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Intervalo de polling (ms)"
+description = "Intervalo entre verificações por novas atualizações do Telegram."
+
+[admin.settings.telegram.feedback]
+title = "Mensagens de feedback"
+description = "Escolha quando o bot deve enviar feedback para usuários e canais."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Habilitar feedback"
+description = "Controla se o bot envia mensagens de feedback ou não."
+
+[admin.settings.telegram.feedback.channel]
+title = "Regras de feedback para canais"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Mostrar \"Nenhum documento válido\" (Canal)"
+description = "Suprimir a resposta de nenhum documento válido para envios em canal."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Mostrar erros de processamento (Canal)"
+description = "Enviar mensagens de erro de processamento para canais."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Mostrar mensagens de erro (Canal)"
+description = "Mostrar mensagens de erro detalhadas para canais."
+
+[admin.settings.telegram.feedback.user]
+title = "Regras de feedback para usuários"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Mostrar \"Nenhum documento válido\" (Usuário)"
+description = "Suprimir a resposta de nenhum documento válido para envios de usuários."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Mostrar erros de processamento (Usuário)"
+description = "Enviar mensagens de erro de processamento para usuários."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Mostrar mensagens de erro (Usuário)"
+description = "Mostrar mensagens de erro detalhadas para usuários."
+
[admin.settings.database]
title = "Banco de dados"
description = "Configurar definições personalizadas de conexão com banco de dados para implantações corporativas."
@@ -4745,6 +4945,10 @@ description = "Permitir que administradores convidem usuários por email com sen
label = "URL do frontend"
description = "URL base do frontend (ex.: https://pdf.example.com). Usada para gerar links de convite em emails. Deixe em branco para usar a URL do backend."
+[admin.settings.mail.frontendUrlNote]
+note = "Observação: requer que a URL do frontend esteja configurada. "
+link = "Configurar nas Configurações do Sistema"
+
[admin.settings.legal]
title = "Documentos legais"
description = "Configurar links para documentos e políticas legais."
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "Meus arquivos"
noRecentFiles = "Nenhum arquivo recente encontrado"
googleDriveNotAvailable = "Integração com Google Drive indisponível"
+mobileUpload = "Envio pelo celular"
+mobileShort = "Celular"
+mobileUploadNotAvailable = "Envio pelo celular não habilitado"
downloadSelected = "Baixar selecionados"
saveSelected = "Salvar selecionados"
openFiles = "Abrir arquivos"
@@ -5244,7 +5451,7 @@ loading = "Carregando..."
back = "Voltar"
continue = "Continuar"
error = "Erro"
-save = "Save"
+save = "Salvar"
[config.overview]
title = "Configuração do aplicativo"
@@ -5307,6 +5514,15 @@ impact = "Quaisquer aplicativos ou serviços que estejam usando essas chaves dei
confirmPrompt = "Tem certeza de que deseja continuar?"
confirmCta = "Atualizar chaves"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "Erro de chave de API"
+failedToCreateApiKey = "Falha ao criar chave de API."
+failedToRetrieveApiKey = "Falha ao recuperar a chave de API da resposta."
+failedToFetchApiKey = "Falha ao buscar a chave de API."
+apiKeyRefreshed = "Chave de API atualizada"
+apiKeyRefreshedBody = "Sua chave de API foi atualizada com sucesso."
+failedToRefreshApiKey = "Falha ao atualizar a chave de API."
+
[AddAttachmentsRequest]
attachments = "Selecionar anexos"
info = "Selecione arquivos para anexar ao seu PDF. Esses arquivos serão incorporados e acessíveis pelo painel de anexos do PDF."
@@ -5412,14 +5628,14 @@ startTour = "Iniciar tour"
startTourDescription = "Faça um tour guiado pelos principais recursos do Stirling PDF"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Comece no trilho de Acesso Rápido para alternar entre Leitor, Automatizar, seus arquivos e todos os tours."
+leftPanel = "O painel esquerdo de Ferramentas lista tudo o que você pode fazer. Navegue pelas categorias ou pesquise para encontrar uma ferramenta rapidamente."
+fileUpload = "Use o botão Arquivos para enviar ou escolher um PDF recente. Carregaremos um exemplo para que você veja o espaço de trabalho."
+rightRail = "O Trilho Direito contém ações rápidas para selecionar arquivos, alterar tema ou idioma e baixar resultados."
+topBar = "A barra superior permite alternar entre Visualizador, Editor de páginas e Arquivos ativos."
+pageEditorView = "Mude para o Editor de páginas para reordenar, girar ou excluir páginas."
+activeFilesView = "Use Arquivos ativos para ver tudo o que você tem aberto e escolher em que trabalhar."
+wrapUp = "Isso é o que há de novo na V2. Abra o menu Tours a qualquer momento para rever este, o tour de Ferramentas ou o tour de Admin."
[onboarding.welcomeModal]
title = "Bem-vindo ao Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "Me mostre por aí"
skipTheTour = "Pular o tour"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Visão geral do tour"
+body = "O Stirling PDF V2 vem com dezenas de ferramentas e um layout renovado. Faça um tour rápido para ver o que mudou e onde encontrar os recursos de que você precisa."
[onboarding.serverLicense]
skip = "Pular por enquanto"
@@ -5452,7 +5668,7 @@ upgrade = "Fazer upgrade agora →"
freeTitle = "Licença do servidor"
overLimitTitle = "Necessária licença do servidor"
overLimitBody = "Nossa licença permite até {{freeTierLimit}} usuários grátis por servidor. Você tem {{overLimitUserCopy}} usuários do Stirling. Para continuar sem interrupções, faça upgrade para o plano Stirling Server - assentos ilimitados, edição de texto em PDF e controle total de admin por US$ 99/servidor/mês."
-freeBody = "Nossa licença Open-Core permite até {{freeTierLimit}} usuários gratuitos por servidor. Para escalar sem interrupções, recomendamos o plano Stirling Server - assentos ilimitados e suporte a SSO por US$ 99/servidor/mês."
+freeBody = "Nossa licença Open-Core permite até {{freeTierLimit}} usuários grátis por servidor. Para escalar sem interrupções e ter acesso antecipado à nova ferramenta de edição de texto em PDF, recomendamos o plano Stirling Server - edição completa e assentos ilimitados por US$ 99/servidor/mês."
[onboarding.desktopInstall]
title = "Download"
@@ -5498,7 +5714,7 @@ active = "Ativo"
disabled = "Desativado"
activeSession = "Sessão ativa"
member = "Membro"
-admin = "Administrador"
+admin = "Admin"
editRole = "Editar função"
enable = "Ativar"
disable = "Desativar"
@@ -5758,28 +5974,28 @@ contactSales = "Falar com Vendas"
contactToUpgrade = "Entre em contato para fazer upgrade ou personalizar seu plano"
maxUsers = "Máximo de usuários"
upTo = "Até"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Obter licença do servidor"
+upgradeToEnterprise = "Atualizar para Enterprise"
+selectPeriod = "Selecionar período de cobrança"
+monthlyBilling = "Cobrança mensal"
+yearlyBilling = "Cobrança anual"
+checkoutOpened = "Checkout aberto"
+checkoutInstructions = "Conclua sua compra na aba do Stripe. Após o pagamento, volte aqui e atualize a página para ativar sua licença. Você também receberá um e-mail com sua chave de licença."
+activateLicense = "Ative sua licença"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Checkout aberto em nova aba"
+instructions = "Conclua sua compra na aba do Stripe. Após a conclusão do pagamento, você receberá um e-mail com sua chave de licença."
+enterKey = "Digite sua chave de licença abaixo para ativar seu plano:"
+keyDescription = "Cole a chave de licença do seu e-mail"
+activate = "Ativar licença"
+doLater = "Farei isso depois"
+success = "Licença ativada!"
+successMessage = "Sua licença foi ativada com sucesso. Agora você pode fechar esta janela."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "Verificação de e-mail necessária"
+message = "Você precisará verificar seu endereço de e-mail no portal de cobrança da Stripe. Verifique seu e-mail para um link de login."
[plan.period]
month = "mês"
@@ -5908,7 +6124,7 @@ emailInvalid = "Digite um endereço de e-mail válido"
title = "Informe seu e-mail"
description = "Usaremos isso para enviar sua chave de licença e recibos."
emailLabel = "Endereço de e-mail"
-emailPlaceholder = "seu@email.com"
+emailPlaceholder = "your@email.com"
continue = "Continuar"
modalTitle = "Começar - {{planName}}"
@@ -5983,8 +6199,8 @@ notAvailable = "Sistema de auditoria não disponível"
notAvailableMessage = "O sistema de auditoria não está configurado ou não está disponível."
disabled = "O registro de auditoria está desativado"
disabledMessage = "Habilite o registro de auditoria na configuração do seu aplicativo para rastrear eventos do sistema."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Licença Enterprise necessária"
+enterpriseRequiredMessage = "O sistema de registro de auditoria é um recurso Enterprise. Atualize para uma licença Enterprise para acessar logs e análises de auditoria."
[audit.error]
title = "Erro ao carregar o sistema de auditoria"
@@ -6156,6 +6372,7 @@ description = "Informe a URL completa do seu servidor self-hosted Stirling PDF"
[setup.server.error]
emptyUrl = "Informe uma URL de servidor"
+invalidUrl = "Formato de URL inválido. Insira uma URL válida como https://seu-servidor.com"
unreachable = "Não foi possível conectar ao servidor"
testFailed = "Falha no teste de conexão"
configFetch = "Falha ao buscar a configuração do servidor. Verifique a URL e tente novamente."
@@ -6174,6 +6391,7 @@ connectingTo = "Conectando a:"
submit = "Login"
signInWith = "Entrar com"
oauthPending = "Abrindo o navegador para autenticação..."
+sso = "Single Sign-On"
orContinueWith = "Ou continue com e-mail"
serverRequirement = "Observação: o servidor deve ter o login ativado."
showInstructions = "Como ativar?"
@@ -6188,7 +6406,7 @@ label = "Usuário"
placeholder = "Digite seu usuário"
[setup.login.email]
-label = "E-mail"
+label = "Email"
placeholder = "Digite seu e-mail"
[setup.login.password]
@@ -6225,7 +6443,7 @@ paragraph = "Página de parágrafos"
sparse = "Texto esparso"
[pdfTextEditor.groupingMode]
-auto = "Automático"
+auto = "Auto"
paragraph = "Parágrafo"
singleLine = "Linha única"
@@ -6239,8 +6457,8 @@ reset = "Reverter alterações"
downloadJson = "Baixar JSON"
generatePdf = "Gerar PDF"
saveChanges = "Salvar alterações"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Aplicar alterações"
+downloadCopy = "Baixar cópia"
[pdfTextEditor.options.autoScaleText]
title = "Dimensionar texto automaticamente para caber nas caixas"
@@ -6260,22 +6478,22 @@ title = "Fixar texto editado em um único elemento PDF"
description = "Quando ativado, o editor exporta cada caixa de texto editada como um único elemento de texto PDF para evitar sobreposição de glifos ou fontes misturadas."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Configurações avançadas"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Limitações da prévia"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Foco em texto e imagem"
+text = "Este espaço de trabalho foca na edição de texto e no reposicionamento de imagens incorporadas. Elementos gráficos complexos da página, widgets de formulário e gráficos em camadas são preservados para exportação, mas não são totalmente editáveis aqui."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Variação da prévia"
+text = "Alguns visuais (como bordas de tabelas, formas ou aparências de anotações) podem não ser exibidos exatamente na prévia. O PDF exportado mantém os comandos de desenho originais sempre que possível."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Visualizador alfa"
+text = "Este visualizador alfa ainda está evoluindo — certas fontes, cores, efeitos de transparência e detalhes de layout podem mudar levemente. Verifique o PDF gerado antes de compartilhar."
[pdfTextEditor.manual]
mergeTooltip = "Mesclar caixas selecionadas"
@@ -6398,3 +6616,58 @@ title = "Resultados de adicionar texto"
[addText.error]
failed = "Ocorreu um erro ao adicionar texto ao PDF."
+
+[mobileUpload]
+title = "Enviar do celular"
+description = "Escaneie para enviar fotos. As imagens convertem automaticamente para PDF."
+descriptionNoConvert = "Escaneie para enviar fotos do seu dispositivo móvel."
+error = "Erro de conexão"
+pollingError = "Erro ao verificar arquivos"
+sessionId = "ID da sessão"
+sessionCreateError = "Falha ao criar sessão"
+expiryWarning = "Sessão expirando em breve"
+expiryWarningMessage = "Este QR code expirará em {{seconds}} segundos. Um novo código será gerado automaticamente."
+filesReceived = "{{count}} arquivo(s) recebido(s)"
+connected = "Dispositivo móvel conectado"
+instructions = "Escaneie com a câmera do seu celular. As imagens convertem para PDF automaticamente."
+instructionsNoConvert = "Escaneie com a câmera do seu celular para enviar arquivos."
+
+[mobileScanner]
+title = "Scanner móvel"
+noSession = "Sessão inválida"
+noSessionMessage = "Escaneie um QR code válido para acessar esta página."
+validating = "Validando sessão..."
+sessionInvalid = "Erro de sessão"
+sessionExpired = "Esta sessão expirou. Atualize e tente novamente."
+sessionNotFound = "Sessão não encontrada. Atualize e tente novamente."
+sessionValidationError = "Não foi possível verificar a sessão. Tente novamente."
+uploadSuccess = "Envio concluído!"
+uploadSuccessMessage = "Suas imagens foram transferidas."
+httpsRequired = "O acesso à câmera requer HTTPS ou localhost. Use HTTPS ou acesse via localhost."
+uploadFailed = "Falha no envio. Tente novamente."
+uploading = "Enviando..."
+connected = "Conectado"
+connecting = "Conectando..."
+chooseMethod = "Escolha o método de envio"
+chooseMethodDescription = "Selecione como você deseja escanear e enviar documentos"
+camera = "Câmera"
+cameraDescription = "Escaneie documentos usando a câmera do seu dispositivo com detecção automática de bordas"
+fileUpload = "Envio de arquivo"
+fileDescription = "Enviar fotos ou documentos existentes do seu dispositivo"
+cameraAccessDenied = "Acesso à câmera negado. Habilite o acesso à câmera."
+back = "Voltar"
+settings = "Configurações"
+edgeDetection = "Detecção de bordas"
+flashlight = "Lanterna"
+flash = "Flash"
+processing = "Processando..."
+capture = "Capturar foto"
+selectFilesPrompt = "Selecione arquivos para enviar"
+selectImage = "Selecionar imagem"
+preview = "Prévia"
+retake = "Refazer foto"
+addToBatch = "Adicionar ao lote"
+upload = "Enviar"
+batchImages = "Lote"
+clearBatch = "Limpar"
+uploadAll = "Enviar tudo"
diff --git a/frontend/public/locales/pt-PT/translation.toml b/frontend/public/locales/pt-PT/translation.toml
index 6651a93f6..596a05d4d 100644
--- a/frontend/public/locales/pt-PT/translation.toml
+++ b/frontend/public/locales/pt-PT/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "Tem alterações não guardadas no seu PDF."
+pendingRedactionsTitle = "Ocultações não aplicadas"
+pendingRedactions = "Tem ocultações não aplicadas que serão perdidas."
areYouSure = "Tem a certeza de que pretende sair?"
unsavedChangesTitle = "Alterações não guardadas"
keepWorking = "Continuar a trabalhar"
discardChanges = "Descartar e sair"
+discardRedactions = "Descartar e sair"
applyAndContinue = "Guardar e sair"
exportAndContinue = "Exportar e continuar"
cancel = "Cancelar"
@@ -131,7 +134,7 @@ unsupported = "Não suportado"
[toolPanel]
placeholder = "Escolha uma ferramenta para começar"
-alpha = "Alfa"
+alpha = "Alpha"
premiumFeature = "Funcionalidade premium:"
comingSoon = "Em breve:"
@@ -364,6 +367,7 @@ advanced = "Avançado"
title = "Segurança e Autenticação"
security = "Segurança"
connections = "Ligações"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Licenciamento e Análises"
@@ -373,12 +377,12 @@ usageAnalytics = "Análise de utilização"
[settings.policiesPrivacy]
title = "Políticas e Privacidade"
-legal = "Jurídico"
+legal = "Legal"
privacy = "Privacidade"
[settings.developer]
title = "Programador"
-apiKeys = "Chaves de API"
+apiKeys = "API Keys"
[settings.tooltips]
enableLoginFirst = "Ative primeiro o modo de login"
@@ -438,25 +442,34 @@ currentVersion = "Versão atual"
latestVersion = "Última versão"
checkForUpdates = "Procurar atualizações"
viewDetails = "Ver detalhes"
+serverNeedsUpdate = "O servidor precisa de ser atualizado pelo administrador"
+
+[settings.general.versionInfo]
+title = "Informações da versão"
+description = "Detalhes das versões de desktop e servidor"
+desktop = "Versão de desktop"
+server = "Versão do servidor"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Segurança"
+description = "Atualize a sua palavra-passe para manter a sua conta segura."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Altere a sua palavra-passe. Será terminada a sua sessão após a atualização."
+required = "Todos os campos são obrigatórios."
+mismatch = "As novas palavras-passe não coincidem."
+error = "Não foi possível atualizar a palavra-passe. Verifique a sua palavra-passe atual e tente novamente."
+success = "Palavra-passe atualizada com sucesso. Inicie sessão novamente."
+ssoDisabled = "As alterações de palavra-passe são geridas pelo seu fornecedor de identidade."
+current = "Palavra-passe atual"
+currentPlaceholder = "Introduza a sua palavra-passe atual"
+new = "Nova palavra-passe"
+newPlaceholder = "Introduza uma nova palavra-passe"
+confirm = "Confirmar nova palavra-passe"
+confirmPlaceholder = "Volte a introduzir a sua nova palavra-passe"
+update = "Atualizar palavra-passe"
+
+
[settings.hotkeys]
title = "Atalhos de teclado"
@@ -511,16 +524,16 @@ low = "Baixa"
title = "Alterar Credenciais"
header = "Atualizar os Detalhes da sua Conta"
changePassword = "Está a usar credenciais de login padrão. Por favor insira uma nova palavra-passe"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "A sua conta é gerida pelo seu fornecedor de identidade."
newUsername = "Novo Nome de Utilizador"
oldPassword = "Palavra-passe Atual"
newPassword = "Nova Palavra-passe"
confirmNewPassword = "Confirmar Nova Palavra-passe"
submit = "Submeter Alterações"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Conta atualizada"
+description = "Alterações guardadas. Inicie sessão novamente."
+error = "Não foi possível atualizar o nome de utilizador. Verifique a sua palavra-passe e tente novamente."
+changeUsername = "Atualize o seu nome de utilizador. Será terminada a sua sessão após a atualização."
[account]
title = "Definições de Conta"
@@ -528,6 +541,8 @@ accountSettings = "Definições de Conta"
adminSettings = "Definições de Administrador - Ver e Adicionar Utilizadores"
userControlSettings = "Definições de Controlo de Utilizador"
changeUsername = "Alterar Nome de Utilizador"
+changeUsernameDescription = "Atualize o seu nome de utilizador. Será terminada a sua sessão após a atualização."
+newUsernamePlaceholder = "Introduza o seu novo nome de utilizador"
newUsername = "Novo Nome de Utilizador"
password = "Palavra-passe de Confirmação"
oldPassword = "Palavra-passe antiga"
@@ -737,9 +752,9 @@ title = "Assinar"
desc = "Adiciona assinatura ao PDF por desenho, texto ou imagem"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "anotar,realçar,desenhar"
+title = "Anotar"
+desc = "Realçar, desenhar, adicionar notas e formas no visualizador"
[home.flatten]
tags = "simplificar,remover,interativo"
@@ -951,8 +966,8 @@ desc = "Sobrepõe PDFs em cima de outro PDF"
title = "Sobrepor PDFs"
[home.pdfTextEditor]
-title = "Editor de texto de PDF"
-desc = "Edite texto e imagens existentes dentro de PDFs"
+title = "Editor de texto PDF"
+desc = "Revise e edite exportações JSON do Stirling PDF com edição de texto agrupado e regeneração de PDF"
[home.addText]
tags = "texto,anotação,etiqueta"
@@ -963,6 +978,7 @@ desc = "Adicione texto personalizado em qualquer lugar do seu PDF"
addFiles = "Adicionar ficheiros"
uploadFromComputer = "Carregar do computador"
openFromComputer = "Abrir do computador"
+mobileUpload = "Carregar do telemóvel"
[viewPdf]
tags = "ver,ler,anotar,texto,imagem"
@@ -1258,7 +1274,7 @@ odtExt = "Texto OpenDocument (.odt)"
pptExt = "PowerPoint (.pptx)"
odpExt = "Apresentação OpenDocument (.odp)"
txtExt = "Texto simples (.txt)"
-rtfExt = "Formato de Texto Enriquecido (.rtf)"
+rtfExt = "Rich Text Format (.rtf)"
selectedFiles = "Ficheiros selecionados"
noFileSelected = "Nenhum ficheiro selecionado. Use o painel de ficheiros para adicionar ficheiros."
convertFiles = "Converter ficheiros"
@@ -1278,21 +1294,33 @@ cbzOptions = "Opções de CBZ para PDF"
optimizeForEbook = "Otimizar PDF para leitores de e-books (usa Ghostscript)"
cbzOutputOptions = "Opções de PDF para CBZ"
cbzDpi = "DPI para renderização de imagem"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "Opções de CBR"
+cbrOutputOptions = "Opções de PDF para CBR"
+cbrDpi = "DPI para renderização de imagem"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "Opções de eBook para PDF"
+ebookOptionsDesc = "Opções para converter eBooks em PDF"
+embedAllFonts = "Incorporar todas as fontes"
+embedAllFontsDesc = "Incorporar todas as fontes do eBook no PDF gerado"
+includeTableOfContents = "Incluir índice"
+includeTableOfContentsDesc = "Adicionar um índice gerado ao PDF resultante"
+includePageNumbers = "Incluir números de página"
+includePageNumbersDesc = "Adicionar números de página ao PDF gerado"
+optimizeForEbookPdf = "Otimizar para leitores de eBook"
+optimizeForEbookPdfDesc = "Otimizar o PDF para leitura em eBook (ficheiro mais pequeno, melhor renderização em dispositivos eInk)"
+
+[convert.epubOptions]
+epubOptions = "Opções de PDF para eBook"
+epubOptionsDesc = "Opções para converter PDF em EPUB/AZW3"
+detectChapters = "Detetar capítulos"
+detectChaptersDesc = "Detetar títulos que parecem capítulos e inserir quebras de página EPUB"
+targetDevice = "Dispositivo de destino"
+targetDeviceDesc = "Escolha um perfil de saída otimizado para o dispositivo de leitura"
+outputFormat = "Formato de saída"
+outputFormatDesc = "Escolha o formato de saída para o eBook"
+tabletPhone = "Tablet/Telemóvel (com imagens)"
+kindleEink = "Kindle e-Ink (texto otimizado)"
[imageToPdf]
tags = "conversão,img,jpg,imagem,foto"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "Adicionar anexo"
remove = "Remover anexo"
embed = "Incorporar anexo"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Converter para PDF/A-3b"
+convertToPdfA3bDescription = "Cria um PDF de arquivo com anexos incorporados"
+convertToPdfA3bTooltip = "PDF/A-3b é um formato de arquivo que garante preservação a longo prazo. Permite incorporar formatos de ficheiro arbitrários como anexos. A conversão requer Ghostscript e pode demorar mais para ficheiros grandes."
+convertToPdfA3bTooltipHeader = "Sobre a conversão PDF/A-3b"
+convertToPdfA3bTooltipTitle = "O que faz"
submit = "Add attachments"
[watermark]
@@ -1421,7 +1449,7 @@ title = "Adicionar Marca de Água"
desc = "Adicionar marcas de água de texto ou imagem a ficheiros PDF"
completed = "Marca de água adicionada"
submit = "Adicionar Marca de Água"
-filenamePrefix = "com-marca-de-água"
+filenamePrefix = "watermarked"
[watermark.error]
failed = "Ocorreu um erro ao adicionar a marca de água ao PDF."
@@ -2359,10 +2387,10 @@ saved = "Guardadas"
label = "Carregar imagem da assinatura"
placeholder = "Selecione ficheiro de imagem"
hint = "Carregue uma imagem PNG ou JPG da sua assinatura"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Remover fundo branco (tornar transparente)"
+processing = "A processar imagem..."
+backgroundRemovalFailedTitle = "Falha na remoção do fundo"
+backgroundRemovalFailedMessage = "Não foi possível remover o fundo da imagem. A usar a imagem original."
[sign.instructions]
title = "Como adicionar a assinatura"
@@ -2409,9 +2437,9 @@ label = "Achatar apenas formulários"
desc = "Apenas aplanar campos de formulário, deixando outros elementos interativos intactos"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "DPI de renderização (opcional, recomendado 150 DPI)"
+help = "Deixe em branco para usar o padrão do sistema. Um DPI mais alto torna a saída mais nítida, mas aumenta o tempo de processamento e o tamanho do ficheiro."
+placeholder = "ex.: 150"
[flatten.results]
title = "Resultados do Aplanamento"
@@ -2919,7 +2947,7 @@ label = "Fator de escala"
[adjustPageScale.pageSize]
label = "Tamanho da página de destino"
keep = "Manter tamanho original"
-letter = "Carta"
+letter = "Letter"
legal = "Legal"
[adjustPageScale.error]
@@ -2987,7 +3015,7 @@ header = "Recortar PDF"
submit = "Submeter"
noFileSelected = "Selecione um ficheiro PDF para começar a recortar"
reset = "Repor para PDF completo"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Recortar automaticamente espaços em branco"
[crop.preview]
title = "Seleção da área de recorte"
@@ -3218,6 +3246,7 @@ title = "Método de ocultação"
mode = "Modo"
automatic = "Automático"
automaticDesc = "Oculta texto com base em termos de pesquisa"
+automaticDisabledTooltip = "Selecione ficheiros no gestor de ficheiros para ocultar vários ficheiros de uma vez"
manual = "Manual"
manualDesc = "Clique e arraste para ocultar áreas específicas"
manualComingSoon = "Ocultação manual em breve"
@@ -3288,8 +3317,35 @@ text = "Apenas corresponde a palavras completas, não correspondências parciais
title = "Converter para PDF-Imagem"
text = "Converte o PDF para um PDF baseado em imagem após a ocultação. Isso garante que o texto por detrás das caixas de ocultação seja completamente removido e irrecuperável."
+[redact.tooltip.manual.header]
+title = "Controlos de ocultação manual"
+
+[redact.tooltip.manual.markText]
+title = "Ferramenta Marcar texto"
+text = "Selecione texto diretamente no PDF para o marcar para ocultação. Clique e arraste para realçar texto específico que pretende ocultar."
+
+[redact.tooltip.manual.markArea]
+title = "Ferramenta Marcar área"
+text = "Desenhe áreas retangulares no PDF para marcar regiões para ocultação. Útil para ocultar imagens, assinaturas ou formas irregulares."
+
+[redact.tooltip.manual.apply]
+title = "Aplicar ocultações"
+text = "Depois de marcar o conteúdo, clique em 'Aplicar' para ocultar permanentemente todas as áreas marcadas. A contagem pendente mostra quantas ocultações estão prontas para aplicar."
+bullet1 = "Marque quantas áreas forem necessárias antes de aplicar"
+bullet2 = "Todas as ocultações pendentes são aplicadas de uma vez"
+bullet3 = "As ocultações não podem ser anuladas após aplicar"
+
[redact.manual]
+title = "Ferramentas de ocultação"
+instructions = "Selecione texto ou desenhe áreas no PDF para marcar conteúdo para ocultação."
+markText = "Marcar texto"
+markArea = "Marcar área"
+pendingLabel = "Pendente:"
+applyWarning = "⚠️ Aplicação permanente, não pode ser anulada e os dados subjacentes serão eliminados"
+apply = "Aplicar"
+noMarks = "Sem marcas de ocultação. Utilize as ferramentas acima para marcar conteúdo para ocultação."
header = "Ocultação manual"
+controlsTitle = "Controlos de ocultação manual"
textBasedRedaction = "Ocultação baseada em texto"
pageBasedRedaction = "Ocultação baseada em página"
convertPDFToImageLabel = "Converter PDF para PDF-Imagem (usado para remover o texto por detrás da caixa)"
@@ -3406,17 +3462,17 @@ label = "Divisões Verticais"
placeholder = "Introduza número de divisões verticais"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Modo de divisão"
+description = "Escolha como dividir as páginas"
+splitAll = "Dividir todas as páginas"
+splitAllExceptFirst = "Dividir todas exceto a primeira"
+splitAllExceptLast = "Dividir todas exceto a última"
+splitAllExceptFirstAndLast = "Dividir todas exceto a primeira e a última"
+custom = "Páginas personalizadas"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Números de página personalizados"
+placeholder = "ex.: 2,4,6"
[AddStampRequest]
tags = "Carimbo, Adicionar imagem, imagem central, Marca de água, PDF, Incorporar, Personalizar"
@@ -3780,17 +3836,17 @@ filesize = "Tamanho do Ficheiro"
label = "Aplicar escala de cinzentos para compressão"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Linearizar PDF para visualização rápida na Web"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Converter imagens em arte linear"
+description = "Usa o ImageMagick para reduzir páginas a preto e branco de alto contraste para máxima redução de tamanho."
+unavailable = "O ImageMagick não está instalado ou ativado neste servidor"
+detailLevel = "Nível de detalhe"
+edgeEmphasis = "Ênfase nos contornos"
+edgeLow = "Suave"
+edgeMedium = "Equilibrada"
+edgeHigh = "Forte"
[compress.tooltip.header]
title = "Visão geral das definições de compressão"
@@ -3810,8 +3866,8 @@ title = "Tons de cinzento"
text = "Selecione esta opção para converter todas as imagens para preto e branco, o que pode reduzir significativamente o tamanho do ficheiro, especialmente para PDFs digitalizados ou documentos com muitas imagens."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "Arte linear"
+text = "Converter páginas em preto e branco de alto contraste usando o ImageMagick. Use o nível de detalhe para controlar quanto conteúdo se torna preto e a ênfase nos contornos para controlar quão agressiva é a deteção de arestas."
[compress.error]
failed = "Ocorreu um erro ao comprimir o PDF."
@@ -3826,9 +3882,9 @@ _value = "Definições de compressão"
1 = "1-3 compressão de PDF, 4-6 compressão leve de imagem, 7-9 compressão intensa de imagem irá reduzir drasticamente a qualidade da imagem"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Valores mais baixos preservam a qualidade, mas resultam em ficheiros maiores"
+range4to6 = "Compressão média com redução moderada da qualidade"
+range7to9 = "Valores mais altos reduzem significativamente o tamanho do ficheiro, mas podem reduzir a clareza das imagens"
[decrypt]
passwordPrompt = "Este ficheiro está protegido por palavra-passe. Por favor introduza a palavra-passe:"
@@ -4069,7 +4125,7 @@ deleteSelected = "Eliminar páginas selecionadas"
closePdf = "Fechar PDF"
exportAll = "Exportar PDF"
downloadSelected = "Transferir ficheiros selecionados"
-annotations = "Annotations"
+annotations = "Anotações"
exportSelected = "Exportar páginas selecionadas"
saveChanges = "Guardar alterações"
toggleTheme = "Alternar tema"
@@ -4077,84 +4133,90 @@ language = "Idioma"
toggleAnnotations = "Alternar visibilidade das anotações"
search = "Pesquisar PDF"
panMode = "Modo de deslocamento"
+applyRedactionsFirst = "Aplique as ocultações primeiro"
rotateLeft = "Rodar à esquerda"
rotateRight = "Rodar à direita"
toggleSidebar = "Alternar barra lateral"
toggleBookmarks = "Alternar marcadores"
print = "Imprimir PDF"
+draw = "Desenhar"
+redact = "Ocultar"
+exitRedaction = "Sair do modo de ocultação"
+save = "Guardar"
downloadAll = "Transferir tudo"
saveAll = "Guardar tudo"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Esquerda"
+center = "Centro"
+right = "Direita"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "Anotar"
+desc = "Use realce, caneta, texto e notas. As alterações permanecem ativas — não é necessário achatar."
+highlight = "Realçar"
+pen = "Caneta"
+text = "Caixa de texto"
+note = "Nota"
+rectangle = "Retângulo"
+ellipse = "Elipse"
+select = "Selecionar"
+exit = "Sair do modo de anotação"
+strokeWidth = "Largura"
+opacity = "Opacidade"
+strokeOpacity = "Opacidade do contorno"
+fillOpacity = "Opacidade do preenchimento"
+fontSize = "Tamanho da letra"
+chooseColor = "Escolher cor"
+color = "Cor"
+strokeColor = "Cor do contorno"
+fillColor = "Cor de preenchimento"
+underline = "Sublinhar"
+strikeout = "Tachado"
+squiggly = "Ondulado"
+inkHighlighter = "Realce à mão livre"
+freehandHighlighter = "Realce à mão livre"
+square = "Quadrado"
+circle = "Círculo"
+polygon = "Polígono"
+line = "Linha"
+stamp = "Adicionar imagem"
+textMarkup = "Marcação de texto"
+drawing = "Desenho"
+shapes = "Formas"
+notesStamps = "Notas e carimbos"
+settings = "Definições"
+borderOn = "Contorno: Ativado"
+borderOff = "Contorno: Desativado"
+editInk = "Editar caneta"
+editLine = "Editar linha"
+editNote = "Editar nota"
+editText = "Editar caixa de texto"
+editTextMarkup = "Editar marcação de texto"
+editSelected = "Editar anotação"
+editSquare = "Editar quadrado"
+editCircle = "Editar círculo"
+editPolygon = "Editar polígono"
+unsupportedType = "Este tipo de anotação não é totalmente suportado para edição."
+textAlignment = "Alinhamento do texto"
+noteIcon = "Ícone da nota"
+imagePreview = "Pré-visualização"
+contents = "Texto"
+backgroundColor = "Cor de fundo"
+clearBackground = "Remover fundo"
+noBackground = "Sem fundo"
+stampSettings = "Definições do carimbo"
+savingCopy = "A preparar transferência..."
+saveFailed = "Não foi possível guardar a cópia"
+saveReady = "Transferência pronta"
+selectAndMove = "Selecionar e editar"
+editSelectDescription = "Clique numa anotação existente para editar a cor, opacidade, texto ou tamanho."
+editStampHint = "Para alterar a imagem, elimine este carimbo e adicione um novo."
+editSwitchToSelect = "Mude para Selecionar e Editar para editar esta anotação."
+undo = "Anular"
+redo = "Refazer"
+applyChanges = "Aplicar alterações"
+saveChanges = "Guardar alterações"
[search]
title = "Pesquisar PDF"
@@ -4205,20 +4267,20 @@ settings = "Ajustes"
adminSettings = "Ajustes admin"
allTools = "All Tools"
reader = "Leitor"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Visitas guiadas"
+showMeAround = "Faz-me uma visita guiada"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Veja aqui as visitas guiadas: visita às Ferramentas, visita ao novo layout V2 e visita de Administração."
+user = "Veja aqui as visitas guiadas: visita às Ferramentas e visita ao novo layout V2."
[quickAccess.helpMenu]
toolsTour = "Visita guiada às ferramentas"
toolsTourDesc = "Saiba o que as ferramentas podem fazer"
adminTour = "Visita guiada de administração"
adminTourDesc = "Explore definições e funcionalidades de administração"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Veja o que há de novo no V2"
+whatsNewTourDesc = "Visite o layout atualizado"
[admin]
error = "Erro"
@@ -4237,6 +4299,8 @@ fetchError = "Falha ao carregar definições"
saveError = "Falha ao guardar definições"
saved = "Definições guardadas com êxito"
saveSuccess = "Definições guardadas com êxito"
+success = "Definições guardadas com sucesso"
+error = "Falha ao guardar as definições"
save = "Guardar alterações"
discard = "Descartar"
restartRequired = "É necessário reiniciar"
@@ -4360,6 +4424,13 @@ description = "Caminho para o executável WeasyPrint para conversão de HTML par
label = "Executável Unoconvert"
description = "Caminho para o LibreOffice unoconvert para conversões de documentos (deixe vazio para predefinição: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "URL do frontend"
+description = "URL base para o frontend (por exemplo, https://pdf.example.com). Usado para links de convite por e-mail e carregamentos por código QR no telemóvel. Deixe vazio para usar o URL do backend."
+
+[admin.settings.badge]
+clickToUpgrade = "Clique para ver os detalhes do plano"
+
[admin.settings.security]
title = "Segurança"
description = "Configurar autenticação, comportamento de início de sessão e políticas de segurança."
@@ -4496,6 +4567,19 @@ connect = "Ligar"
disconnect = "Desligar"
disconnected = "Fornecedor desligado com sucesso"
disconnectError = "Falha ao desligar fornecedor"
+mobileScannerConvertToPdf = "Converter imagens em PDF"
+mobileScannerConvertToPdfDesc = "Converter automaticamente as imagens carregadas para o formato PDF. Se desativado, as imagens serão mantidas como estão."
+mobileScannerImageResolution = "Resolução da imagem"
+mobileScannerImageResolutionDesc = "Resolução das imagens carregadas. \"Reduzida\" redimensiona as imagens até 1200 px para reduzir o tamanho do ficheiro."
+imageResolutionFull = "Completa (tamanho original)"
+imageResolutionReduced = "Reduzida (máx. 1200 px)"
+mobileScannerPageFormat = "Formato de página"
+mobileScannerPageFormatDesc = "Tamanho da página PDF para imagens convertidas. \"Manter\" usa as dimensões originais da imagem."
+pageFormatKeep = "Manter (dimensões originais)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Esticar para ajustar"
+mobileScannerStretchToFitDesc = "Esticar as imagens para preencher toda a página. Se desativado, as imagens são centradas com proporção preservada."
[admin.settings.connections.ssoAutoLogin]
label = "Início de sessão automático SSO"
@@ -4564,6 +4648,122 @@ description = "Criar automaticamente contas de utilizador no primeiro início de
label = "Bloquear registo"
description = "Impedir novo registo de utilizador via SAML2"
+[admin.settings.connections.mobileScanner]
+label = "Carregamento por telemóvel"
+enable = "Ativar carregamento por código QR"
+description = "Permitir que os utilizadores carreguem ficheiros de dispositivos móveis ao digitalizar um código QR"
+note = "Nota: Requer configuração do URL do frontend. "
+link = "Configurar nas Definições do Sistema"
+mobileScannerConvertToPdf = "Converter imagens em PDF"
+mobileScannerConvertToPdfDesc = "Converter automaticamente as imagens carregadas para o formato PDF. Se desativado, as imagens serão mantidas como estão."
+mobileScannerImageResolution = "Resolução da imagem"
+mobileScannerImageResolutionDesc = "Resolução das imagens carregadas. \"Reduzida\" redimensiona as imagens até 1200 px para reduzir o tamanho do ficheiro."
+imageResolutionFull = "Completa (tamanho original)"
+imageResolutionReduced = "Reduzida (máx. 1200 px)"
+mobileScannerPageFormat = "Formato de página"
+mobileScannerPageFormatDesc = "Tamanho da página PDF para imagens convertidas. \"Manter\" usa as dimensões originais da imagem."
+pageFormatKeep = "Manter (dimensões originais)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Esticar para ajustar"
+mobileScannerStretchToFitDesc = "Esticar as imagens para preencher toda a página. Se desativado, as imagens são centradas com proporção preservada."
+
+[admin.settings.telegram]
+title = "Bot do Telegram"
+description = "Configurar a conectividade do bot Telegram, controlos de acesso e comportamento de feedback."
+
+[admin.settings.telegram.enabled]
+label = "Ativar bot do Telegram"
+description = "Permitir que os utilizadores interajam com o Stirling PDF através do seu bot Telegram configurado."
+
+[admin.settings.telegram.botUsername]
+label = "Nome de utilizador do bot"
+description = "O nome de utilizador público do seu bot Telegram."
+
+[admin.settings.telegram.botToken]
+label = "Token do bot"
+description = "Token de API fornecido pelo BotFather para o seu bot Telegram."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Pasta de entrada"
+description = "Pasta no diretório da pipeline onde são guardados os ficheiros recebidos do Telegram."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Usar sufixo de pasta personalizado"
+description = "Anexar o ID do chat às pastas de ficheiros recebidos para isolar carregamentos por chat."
+
+[admin.settings.telegram.accessControl]
+title = "Controlo de acesso"
+description = "Restringir que utilizadores ou canais podem interagir com o bot."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Permitir IDs de utilizador específicos"
+description = "Quando ativado, apenas os IDs de utilizador listados podem usar o bot."
+
+[admin.settings.telegram.allowUserIDs]
+label = "IDs de utilizador permitidos"
+description = "Introduza os IDs de utilizador do Telegram autorizados a interagir com o bot."
+placeholder = "Adicione o ID do utilizador e prima Enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Permitir IDs de canal específicos"
+description = "Quando ativado, apenas os IDs de canal listados podem usar o bot."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "IDs de canal permitidos"
+description = "Introduza os IDs de canal do Telegram autorizados a interagir com o bot."
+placeholder = "Adicione o ID do canal e prima Enter"
+
+[admin.settings.telegram.processing]
+title = "Processamento"
+description = "Controlar intervalos de polling e tempos limite de processamento para carregamentos do Telegram."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Tempo limite de processamento (segundos)"
+description = "Tempo máximo de espera por um trabalho de processamento antes de reportar um erro."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Intervalo de polling (ms)"
+description = "Intervalo entre verificações de novas atualizações do Telegram."
+
+[admin.settings.telegram.feedback]
+title = "Mensagens de feedback"
+description = "Escolha quando o bot deve enviar feedback para utilizadores e canais."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Ativar feedback"
+description = "Controlar se o bot envia mensagens de feedback."
+
+[admin.settings.telegram.feedback.channel]
+title = "Regras de feedback para canais"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Mostrar \"Nenhum documento válido\" (Canal)"
+description = "Suprimir a resposta de nenhum documento válido para carregamentos em canais."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Mostrar erros de processamento (Canal)"
+description = "Enviar mensagens de erro de processamento para canais."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Mostrar mensagens de erro (Canal)"
+description = "Mostrar mensagens de erro detalhadas para canais."
+
+[admin.settings.telegram.feedback.user]
+title = "Regras de feedback para utilizadores"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Mostrar \"Nenhum documento válido\" (Utilizador)"
+description = "Suprimir a resposta de nenhum documento válido para carregamentos de utilizadores."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Mostrar erros de processamento (Utilizador)"
+description = "Enviar mensagens de erro de processamento para utilizadores."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Mostrar mensagens de erro (Utilizador)"
+description = "Mostrar mensagens de erro detalhadas para utilizadores."
+
[admin.settings.database]
title = "Base de dados"
description = "Configurar definições personalizadas de ligação a base de dados para implementações empresariais."
@@ -4745,6 +4945,10 @@ description = "Permitir que os administradores convidem utilizadores por email c
label = "URL do frontend"
description = "URL base do frontend (por ex. https://pdf.example.com). Usado para gerar ligações de convite nos emails. Deixe vazio para usar o URL do backend."
+[admin.settings.mail.frontendUrlNote]
+note = "Nota: Requer configuração do URL do frontend. "
+link = "Configurar nas Definições do Sistema"
+
[admin.settings.legal]
title = "Documentos legais"
description = "Configurar ligações para documentos e políticas legais."
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "Os meus ficheiros"
noRecentFiles = "Nenhum ficheiro recente encontrado"
googleDriveNotAvailable = "Integração com Google Drive não disponível"
+mobileUpload = "Carregamento por telemóvel"
+mobileShort = "Telemóvel"
+mobileUploadNotAvailable = "Carregamento por telemóvel não ativado"
downloadSelected = "Transferir selecionados"
saveSelected = "Guardar selecionados"
openFiles = "Abrir ficheiros"
@@ -5244,7 +5451,7 @@ loading = "A carregar..."
back = "Voltar"
continue = "Continuar"
error = "Erro"
-save = "Save"
+save = "Guardar"
[config.overview]
title = "Configuração da aplicação"
@@ -5307,6 +5514,15 @@ impact = "Quaisquer aplicações ou serviços que estejam a usar estas chaves de
confirmPrompt = "Tem a certeza de que pretende continuar?"
confirmCta = "Atualizar chaves"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "Erro de chave de API"
+failedToCreateApiKey = "Falha ao criar a chave de API."
+failedToRetrieveApiKey = "Falha ao obter a chave de API da resposta."
+failedToFetchApiKey = "Falha ao obter a chave de API."
+apiKeyRefreshed = "Chave de API atualizada"
+apiKeyRefreshedBody = "A sua chave de API foi atualizada com sucesso."
+failedToRefreshApiKey = "Falha ao atualizar a chave de API."
+
[AddAttachmentsRequest]
attachments = "Selecionar anexos"
info = "Selecione ficheiros para anexar ao seu PDF. Estes ficheiros serão incorporados e acessíveis através do painel de anexos do PDF."
@@ -5412,14 +5628,14 @@ startTour = "Iniciar visita"
startTourDescription = "Faça uma visita guiada às principais funcionalidades do Stirling PDF"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Comece na barra de Acesso Rápido para alternar entre o Leitor, Automatizar, os seus ficheiros e todas as visitas guiadas."
+leftPanel = "O painel esquerdo de Ferramentas lista tudo o que pode fazer. Navegue pelas categorias ou pesquise para encontrar rapidamente uma ferramenta."
+fileUpload = "Use o botão Ficheiros para carregar ou escolher um PDF recente. Carregamos um exemplo para que possa ver o espaço de trabalho."
+rightRail = "A barra direita contém ações rápidas para selecionar ficheiros, alterar o tema ou idioma e transferir resultados."
+topBar = "A barra superior permite alternar entre Visualizador, Editor de Páginas e Ficheiros Ativos."
+pageEditorView = "Mude para o Editor de Páginas para reordenar, rodar ou eliminar páginas."
+activeFilesView = "Use Ficheiros Ativos para ver tudo o que tem aberto e escolher em que trabalhar."
+wrapUp = "Isto é o que há de novo no V2. Abra o menu Visitas guiadas a qualquer momento para rever esta, a visita das Ferramentas ou a visita de Administração."
[onboarding.welcomeModal]
title = "Bem-vindo ao Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "Mostre-me"
skipTheTour = "Saltar a visita guiada"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Visão geral da visita guiada"
+body = "O Stirling PDF V2 inclui dezenas de ferramentas e um layout renovado. Faça uma visita rápida para ver o que mudou e onde encontrar as funcionalidades de que precisa."
[onboarding.serverLicense]
skip = "Saltar por agora"
@@ -5452,7 +5668,7 @@ upgrade = "Atualizar agora →"
freeTitle = "Licença do servidor"
overLimitTitle = "É necessária licença de servidor"
overLimitBody = "A nossa licença permite até {{freeTierLimit}} utilizadores gratuitos por servidor. Tem {{overLimitUserCopy}} utilizadores Stirling. Para continuar sem interrupções, atualize para o plano Stirling Server - lugares ilimitados, edição de texto em PDF e controlo total de administração por $99/servidor/mês."
-freeBody = "O nosso licenciamento Open-Core permite até {{freeTierLimit}} utilizadores gratuitos por servidor. Para escalar sem interrupções, recomendamos o plano Stirling Server - lugares ilimitados e suporte SSO por $99/servidor/mês."
+freeBody = "A nossa licença Open-Core permite até {{freeTierLimit}} utilizadores gratuitos por servidor. Para escalar sem interrupções e obter acesso antecipado à nossa nova ferramenta de edição de texto PDF, recomendamos o plano Stirling Server - edição completa e lugares ilimitados por $99/servidor/mês."
[onboarding.desktopInstall]
title = "Transferir"
@@ -5627,7 +5843,7 @@ submit = "Gerar link de convite"
[workspace.people.inviteMode]
username = "Nome de utilizador"
email = "Email"
-link = "Ligação"
+link = "Link"
emailDisabled = "Convites por email requerem configuração de SMTP e mail.enableInvites=true nas definições"
[workspace.people.license]
@@ -5758,28 +5974,28 @@ contactSales = "Contactar Vendas"
contactToUpgrade = "Contacte-nos para atualizar ou personalizar o seu plano"
maxUsers = "Máximo de utilizadores"
upTo = "Até"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Obter licença do servidor"
+upgradeToEnterprise = "Atualizar para Enterprise"
+selectPeriod = "Selecionar período de faturação"
+monthlyBilling = "Faturação mensal"
+yearlyBilling = "Faturação anual"
+checkoutOpened = "Checkout aberto"
+checkoutInstructions = "Conclua a sua compra no separador do Stripe. Após o pagamento, volte aqui e atualize a página para ativar a sua licença. Também receberá um e-mail com a sua chave de licença."
+activateLicense = "Ativar a sua licença"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Checkout aberto num novo separador"
+instructions = "Conclua a sua compra no separador do Stripe. Assim que o pagamento estiver concluído, receberá um e-mail com a sua chave de licença."
+enterKey = "Introduza abaixo a sua chave de licença para ativar o seu plano:"
+keyDescription = "Cole a chave de licença do seu e-mail"
+activate = "Ativar licença"
+doLater = "Farei isto mais tarde"
+success = "Licença ativada!"
+successMessage = "A sua licença foi ativada com sucesso. Pode fechar esta janela."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "Verificação de e-mail necessária"
+message = "Terá de verificar o seu endereço de e-mail no portal de faturação do Stripe. Verifique o seu e-mail para um link de início de sessão."
[plan.period]
month = "mês"
@@ -5983,8 +6199,8 @@ notAvailable = "Sistema de auditoria não disponível"
notAvailableMessage = "O sistema de auditoria não está configurado ou não está disponível."
disabled = "Registo de auditoria desativado"
disabledMessage = "Ative o registo de auditoria na configuração da sua aplicação para rastrear eventos do sistema."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Licença Enterprise necessária"
+enterpriseRequiredMessage = "O sistema de registo de auditoria é uma funcionalidade Enterprise. Atualize para uma licença Enterprise para aceder a registos de auditoria e análises."
[audit.error]
title = "Erro ao carregar o sistema de auditoria"
@@ -6156,6 +6372,7 @@ description = "Introduza o URL completo do seu servidor Stirling PDF autoalojado
[setup.server.error]
emptyUrl = "Introduza um URL de servidor"
+invalidUrl = "Formato de URL inválido. Introduza um URL válido como https://your-server.com"
unreachable = "Não foi possível ligar ao servidor"
testFailed = "Falha no teste de ligação"
configFetch = "Falha ao obter a configuração do servidor. Verifique o URL e tente novamente."
@@ -6174,6 +6391,7 @@ connectingTo = "A ligar a:"
submit = "Iniciar sessão"
signInWith = "Iniciar sessão com"
oauthPending = "A abrir o navegador para autenticação..."
+sso = "Início de sessão único"
orContinueWith = "Ou continuar com email"
serverRequirement = "Nota: O servidor deve ter o início de sessão ativado."
showInstructions = "Como ativar?"
@@ -6225,7 +6443,7 @@ paragraph = "Página de parágrafos"
sparse = "Texto disperso"
[pdfTextEditor.groupingMode]
-auto = "Automático"
+auto = "Auto"
paragraph = "Parágrafo"
singleLine = "Linha única"
@@ -6239,8 +6457,8 @@ reset = "Repor alterações"
downloadJson = "Transferir JSON"
generatePdf = "Gerar PDF"
saveChanges = "Guardar alterações"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Aplicar alterações"
+downloadCopy = "Transferir cópia"
[pdfTextEditor.options.autoScaleText]
title = "Dimensionar texto automaticamente para caber nas caixas"
@@ -6260,22 +6478,22 @@ title = "Fixar texto editado a um único elemento PDF"
description = "Quando ativado, o editor exporta cada caixa de texto editada como um único elemento de texto PDF para evitar sobreposição de glifos ou mistura de fontes."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Definições avançadas"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Limitações da pré-visualização"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Foco em texto e imagem"
+text = "Este espaço de trabalho foca-se na edição de texto e no reposicionamento de imagens incorporadas. Arte complexa de página, widgets de formulários e gráficos em camadas são preservados para exportação, mas não são totalmente editáveis aqui."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Variações na pré-visualização"
+text = "Alguns elementos visuais (como bordas de tabelas, formas ou aparências de anotações) podem não ser exibidos exatamente na pré-visualização. O PDF exportado mantém os comandos de desenho originais sempre que possível."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Visualizador alfa"
+text = "Este visualizador alfa ainda está a evoluir — certas fontes, cores, efeitos de transparência e detalhes de layout podem variar ligeiramente. Verifique o PDF gerado antes de o partilhar."
[pdfTextEditor.manual]
mergeTooltip = "Unir caixas selecionadas"
@@ -6340,7 +6558,7 @@ warnings = "Avisos"
suggestions = "Notas"
currentPageFonts = "Fontes nesta página"
allFonts = "Todas as fontes"
-fallback = "alternativa"
+fallback = "fallback"
missing = "em falta"
perfectMessage = "Todas as fontes podem ser reproduzidas na perfeição."
warningMessage = "Algumas fontes podem não ser renderizadas corretamente."
@@ -6398,3 +6616,58 @@ title = "Resultados de adicionar texto"
[addText.error]
failed = "Ocorreu um erro ao adicionar texto ao PDF."
+
+[mobileUpload]
+title = "Carregar do telemóvel"
+description = "Digitalize para carregar fotos. As imagens convertem-se automaticamente em PDF."
+descriptionNoConvert = "Digitalize para carregar fotos a partir do seu dispositivo móvel."
+error = "Erro de ligação"
+pollingError = "Erro ao verificar ficheiros"
+sessionId = "ID da sessão"
+sessionCreateError = "Falha ao criar sessão"
+expiryWarning = "Sessão a expirar em breve"
+expiryWarningMessage = "Este código QR irá expirar em {{seconds}} segundos. Será gerado um novo código automaticamente."
+filesReceived = "{{count}} ficheiro(s) recebido(s)"
+connected = "Dispositivo móvel ligado"
+instructions = "Digitalize com a câmara do telemóvel. As imagens convertem-se automaticamente em PDF."
+instructionsNoConvert = "Digitalize com a câmara do telemóvel para carregar ficheiros."
+
+[mobileScanner]
+title = "Digitalizador móvel"
+noSession = "Sessão inválida"
+noSessionMessage = "Digitalize um código QR válido para aceder a esta página."
+validating = "A validar a sessão..."
+sessionInvalid = "Erro de sessão"
+sessionExpired = "Esta sessão expirou. Atualize e tente novamente."
+sessionNotFound = "Sessão não encontrada. Atualize e tente novamente."
+sessionValidationError = "Não foi possível verificar a sessão. Tente novamente."
+uploadSuccess = "Carregamento concluído!"
+uploadSuccessMessage = "As suas imagens foram enviadas."
+httpsRequired = "O acesso à câmara requer HTTPS ou localhost. Utilize HTTPS ou aceda via localhost."
+uploadFailed = "Falha no carregamento. Tente novamente."
+uploading = "A carregar..."
+connected = "Ligado"
+connecting = "A ligar..."
+chooseMethod = "Escolher método de carregamento"
+chooseMethodDescription = "Selecione como pretende digitalizar e carregar documentos"
+camera = "Câmara"
+cameraDescription = "Digitalize documentos com a câmara do seu dispositivo com deteção automática de margens"
+fileUpload = "Carregar ficheiro"
+fileDescription = "Carregar fotografias ou documentos existentes do seu dispositivo"
+cameraAccessDenied = "Acesso à câmara negado. Ative o acesso à câmara."
+back = "Voltar"
+settings = "Definições"
+edgeDetection = "Deteção de margens"
+flashlight = "Lanterna"
+flash = "Flash"
+processing = "A processar..."
+capture = "Capturar fotografia"
+selectFilesPrompt = "Selecione os ficheiros a carregar"
+selectImage = "Selecionar imagem"
+preview = "Pré-visualizar"
+retake = "Repetir"
+addToBatch = "Adicionar ao lote"
+upload = "Carregar"
+batchImages = "Lote"
+clearBatch = "Limpar"
+uploadAll = "Carregar tudo"
diff --git a/frontend/public/locales/ro-RO/translation.toml b/frontend/public/locales/ro-RO/translation.toml
index fc6df7d42..b95989da8 100644
--- a/frontend/public/locales/ro-RO/translation.toml
+++ b/frontend/public/locales/ro-RO/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "Aveți modificări nesalvate în PDF."
+pendingRedactionsTitle = "Redactări neaplicate"
+pendingRedactions = "Aveți redactări neaplicate care vor fi pierdute."
areYouSure = "Sigur doriți să părăsiți?"
unsavedChangesTitle = "Modificări nesalvate"
keepWorking = "Continuați lucrul"
discardChanges = "Renunțați și ieșiți"
+discardRedactions = "Renunță și părăsește"
applyAndContinue = "Salvați și ieșiți"
exportAndContinue = "Exportați și continuați"
cancel = "Anulare"
@@ -364,6 +367,7 @@ advanced = "Avansat"
title = "Securitate și autentificare"
security = "Securitate"
connections = "Conexiuni"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Licențiere și Analytics"
@@ -438,25 +442,34 @@ currentVersion = "Versiune curentă"
latestVersion = "Ultima versiune"
checkForUpdates = "Caută actualizări"
viewDetails = "Vezi detalii"
+serverNeedsUpdate = "Serverul trebuie actualizat de administrator"
+
+[settings.general.versionInfo]
+title = "Informații despre versiune"
+description = "Detalii despre versiunile pentru desktop și server"
+desktop = "Versiune Desktop"
+server = "Versiune Server"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Securitate"
+description = "Actualizați parola pentru a vă menține contul în siguranță."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Schimbați parola. Veți fi deconectat(ă) după actualizare."
+required = "Toate câmpurile sunt obligatorii."
+mismatch = "Noile parole nu coincid."
+error = "Nu s-a putut actualiza parola. Verificați parola curentă și încercați din nou."
+success = "Parola a fost actualizată cu succes. Conectați-vă din nou."
+ssoDisabled = "Schimbarea parolei este gestionată de furnizorul dvs. de identitate."
+current = "Parola curentă"
+currentPlaceholder = "Introduceți parola curentă"
+new = "Parolă nouă"
+newPlaceholder = "Introduceți o parolă nouă"
+confirm = "Confirmați parola nouă"
+confirmPlaceholder = "Reintroduceți parola nouă"
+update = "Actualizați parola"
+
+
[settings.hotkeys]
title = "Scurtături de tastatură"
@@ -511,16 +524,16 @@ low = "Scăzută"
title = "Schimbă Credențialele"
header = "Actualizează Detaliile Contului Tău"
changePassword = "Utilizezi credențiale de conectare implicite. Te rugăm să introduci o nouă parolă"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Contul dvs. este gestionat de furnizorul de identitate."
newUsername = "Nume de Utilizator Nou"
oldPassword = "Parola Curentă"
newPassword = "Parolă Nouă"
confirmNewPassword = "Confirmă Parola Nouă"
submit = "Trimite Modificările"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Cont actualizat"
+description = "Modificări salvate. Conectați-vă din nou."
+error = "Nu s-a putut actualiza numele de utilizator. Verificați parola și încercați din nou."
+changeUsername = "Actualizați numele de utilizator. Veți fi deconectat(ă) după actualizare."
[account]
title = "Setări Cont"
@@ -528,6 +541,8 @@ accountSettings = "Setări Cont"
adminSettings = "Setări Admin - Vizualizează și Adaugă Utilizatori"
userControlSettings = "Setări Control Utilizator"
changeUsername = "Schimbă Numele de Utilizator"
+changeUsernameDescription = "Actualizați numele de utilizator. Veți fi deconectat(ă) după actualizare."
+newUsernamePlaceholder = "Introduceți noul nume de utilizator"
newUsername = "Nume de Utilizator Nou"
password = "Parolă de Confirmare"
oldPassword = "Parola veche"
@@ -737,9 +752,9 @@ title = "Semnează"
desc = "Adaugă o semnătură la documentul PDF prin desenare, text sau imagine."
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "anotare,evidențiere,desen"
+title = "Anotare"
+desc = "Evidențiați, desenați, adăugați note și forme în vizualizator"
[home.flatten]
tags = "simplifică,elimină,interactiv"
@@ -951,8 +966,8 @@ desc = "Suprapune PDF-uri peste alt PDF"
title = "Suprapune PDF-uri"
[home.pdfTextEditor]
-title = "Editor de text PDF"
-desc = "Editați textul și imaginile existente în PDF-uri"
+title = "Editor text PDF"
+desc = "Revizuiește și editează exporturile JSON Stirling PDF cu editare de text grupată și regenerare PDF"
[home.addText]
tags = "text,anotare,etichetă"
@@ -963,6 +978,7 @@ desc = "Adaugă text personalizat oriunde în PDF-ul tău"
addFiles = "Adăugați fișiere"
uploadFromComputer = "Încărcați de pe calculator"
openFromComputer = "Deschide de pe calculator"
+mobileUpload = "Încărcare de pe mobil"
[viewPdf]
tags = "vizualizare,citește,adnotează,text,imagine"
@@ -1254,11 +1270,11 @@ pdfaDigitalSignatureWarning = "PDF-ul conține o semnătură digitală. Aceasta
fileFormat = "Format fișier"
wordDoc = "Document Word"
wordDocExt = "Document Word (.docx)"
-odtExt = "Text OpenDocument (.odt)"
+odtExt = "OpenDocument Text (.odt)"
pptExt = "PowerPoint (.pptx)"
-odpExt = "Prezentare OpenDocument (.odp)"
+odpExt = "OpenDocument Presentation (.odp)"
txtExt = "Text simplu (.txt)"
-rtfExt = "Format Rich Text (.rtf)"
+rtfExt = "Rich Text Format (.rtf)"
selectedFiles = "Fișiere selectate"
noFileSelected = "Niciun fișier selectat. Folosiți panoul de fișiere pentru a adăuga fișiere."
convertFiles = "Convertiți fișiere"
@@ -1278,21 +1294,33 @@ cbzOptions = "Opțiuni CBZ la PDF"
optimizeForEbook = "Optimizați PDF pentru e-readere (folosește Ghostscript)"
cbzOutputOptions = "Opțiuni PDF la CBZ"
cbzDpi = "DPI pentru randarea imaginilor"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "Opțiuni CBR"
+cbrOutputOptions = "Opțiuni PDF către CBR"
+cbrDpi = "DPI pentru randarea imaginilor"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "Opțiuni eBook către PDF"
+ebookOptionsDesc = "Opțiuni pentru conversia eBook-urilor în PDF"
+embedAllFonts = "Încorporează toate fonturile"
+embedAllFontsDesc = "Încorporează toate fonturile din eBook în PDF-ul generat"
+includeTableOfContents = "Include cuprins"
+includeTableOfContentsDesc = "Adaugă un cuprins generat în PDF-ul rezultat"
+includePageNumbers = "Include numerele de pagină"
+includePageNumbersDesc = "Adaugă numere de pagină în PDF-ul generat"
+optimizeForEbookPdf = "Optimizează pentru cititoare de eBook"
+optimizeForEbookPdfDesc = "Optimizează PDF-ul pentru citirea pe eBook (dimensiune de fișier mai mică, randare mai bună pe dispozitive eInk)"
+
+[convert.epubOptions]
+epubOptions = "Opțiuni PDF către eBook"
+epubOptionsDesc = "Opțiuni pentru conversia PDF în EPUB/AZW3"
+detectChapters = "Detectează capitolele"
+detectChaptersDesc = "Detectează titlurile care par capitole și inserează întreruperi de pagină EPUB"
+targetDevice = "Dispozitiv țintă"
+targetDeviceDesc = "Alege un profil de ieșire optimizat pentru dispozitivul de citire"
+outputFormat = "Format de ieșire"
+outputFormatDesc = "Alege formatul de ieșire pentru eBook"
+tabletPhone = "Tabletă/Telefon (cu imagini)"
+kindleEink = "Kindle e-Ink (text optimizat)"
[imageToPdf]
tags = "conversie,img,jpg,poză,fotografie"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "Adaugă atașament"
remove = "Elimină atașament"
embed = "Încorporează atașament"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Convertește la PDF/A-3b"
+convertToPdfA3bDescription = "Creează un PDF pentru arhivare cu atașamente încorporate"
+convertToPdfA3bTooltip = "PDF/A-3b este un format de arhivare care asigură păstrarea pe termen lung. Permite încorporarea oricăror formate de fișiere ca atașamente. Conversia necesită Ghostscript și poate dura mai mult pentru fișiere mari."
+convertToPdfA3bTooltipHeader = "Despre conversia PDF/A-3b"
+convertToPdfA3bTooltipTitle = "Ce face"
submit = "Add attachments"
[watermark]
@@ -1456,7 +1484,7 @@ height = "Spațiere pe înălțime"
width = "Spațiere pe lățime"
[watermark.alphabet]
-roman = "Romano/Latin"
+roman = "Roman/Latin"
arabic = "Arabă"
japanese = "Japoneză"
korean = "Coreeană"
@@ -2359,10 +2387,10 @@ saved = "Salvate"
label = "Încarcă imaginea semnăturii"
placeholder = "Selectați fișierul imagine"
hint = "Încărcați o imagine PNG sau JPG a semnăturii dvs."
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Elimină fundalul alb (transparentizează)"
+processing = "Se procesează imaginea..."
+backgroundRemovalFailedTitle = "Eliminarea fundalului a eșuat"
+backgroundRemovalFailedMessage = "Nu s-a putut elimina fundalul din imagine. Se va folosi imaginea originală."
[sign.instructions]
title = "Cum să adăugați semnătura"
@@ -2409,9 +2437,9 @@ label = "Nivelează doar formularele"
desc = "Aplatizează doar câmpurile de formular, lăsând celelalte elemente interactive intacte"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "DPI de randare (opțional, recomandat 150 DPI)"
+help = "Lăsați necompletat pentru a folosi valoarea implicită a sistemului. Un DPI mai mare îmbunătățește claritatea, dar crește timpul de procesare și dimensiunea fișierului."
+placeholder = "ex. 150"
[flatten.results]
title = "Rezultatele aplatizării"
@@ -2987,7 +3015,7 @@ header = "Decupează PDF"
submit = "Trimite"
noFileSelected = "Selectați un fișier PDF pentru a începe decuparea"
reset = "Resetează la PDF complet"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Decupare automată a spațiilor albe"
[crop.preview]
title = "Selecție zonă de decupare"
@@ -3218,6 +3246,7 @@ title = "Metoda de redactare"
mode = "Mod"
automatic = "Automat"
automaticDesc = "Redactează text pe baza termenilor de căutare"
+automaticDisabledTooltip = "Selectați fișiere în managerul de fișiere pentru a redacta mai multe fișiere deodată"
manual = "Manual"
manualDesc = "Faceți clic și trageți pentru a redacta zone specifice"
manualComingSoon = "Redactarea manuală va fi disponibilă în curând"
@@ -3288,8 +3317,35 @@ text = "Potrivește doar cuvinte complete, nu potriviri parțiale. „John” nu
title = "Convertește în PDF-imagine"
text = "Convertește PDF-ul într-un PDF bazat pe imagine după redactare. Acest lucru asigură că textul din spatele casetelor de redactare este complet eliminat și nerecuperabil."
+[redact.tooltip.manual.header]
+title = "Controale de redactare manuală"
+
+[redact.tooltip.manual.markText]
+title = "Instrument „Marcare text”"
+text = "Selectați textul direct în PDF pentru a-l marca pentru redactare. Faceți clic și trageți pentru a evidenția textul pe care doriți să-l redactați."
+
+[redact.tooltip.manual.markArea]
+title = "Instrument „Marcare zonă”"
+text = "Desenați zone dreptunghiulare în PDF pentru a marca regiuni de redactat. Util pentru redactarea imaginilor, semnăturilor sau formelor neregulate."
+
+[redact.tooltip.manual.apply]
+title = "Aplică redactările"
+text = "După ce marcați conținutul, faceți clic pe „Aplică” pentru a redacta permanent toate zonele marcate. Numărul în așteptare indică câte redactări sunt gata de aplicat."
+bullet1 = "Marcați câte zone aveți nevoie înainte de aplicare"
+bullet2 = "Toate redactările în așteptare sunt aplicate simultan"
+bullet3 = "Redactările nu pot fi anulate după aplicare"
+
[redact.manual]
+title = "Instrumente de redactare"
+instructions = "Selectați text sau desenați zone în PDF pentru a marca conținut de redactat."
+markText = "Marchează text"
+markArea = "Marchează zonă"
+pendingLabel = "În așteptare:"
+applyWarning = "⚠️ Aplicare permanentă, nu poate fi anulată, iar datele dedesubt vor fi șterse"
+apply = "Aplică"
+noMarks = "Nicio marcă de redactare. Folosiți instrumentele de mai sus pentru a marca conținutul de redactat."
header = "Redactare manuală"
+controlsTitle = "Controale de redactare manuală"
textBasedRedaction = "Redactare bazată pe text"
pageBasedRedaction = "Redactare pe pagină"
convertPDFToImageLabel = "Convertește PDF în PDF-imagine (utilizat pentru a elimina textul din spatele casetei)"
@@ -3406,17 +3462,17 @@ label = "Diviziuni Verticale"
placeholder = "Introdu numărul de diviziuni verticale"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Mod de împărțire"
+description = "Alegeți cum să împărțiți paginile"
+splitAll = "Împarte toate paginile"
+splitAllExceptFirst = "Împarte toate în afară de prima"
+splitAllExceptLast = "Împarte toate în afară de ultima"
+splitAllExceptFirstAndLast = "Împarte toate în afară de prima și ultima"
+custom = "Pagini personalizate"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Numere de pagini personalizate"
+placeholder = "ex. 2,4,6"
[AddStampRequest]
tags = "Ștampilă, Adaugă imagine, centrează imagine, Filigran, PDF, Încorporează, Personalizează"
@@ -3780,17 +3836,17 @@ filesize = "Dimensiune Fișier"
label = "Aplicare scală de gri pentru compresie"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Linearizează PDF pentru vizualizare web rapidă"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Convertește imaginile în line art"
+description = "Folosește ImageMagick pentru a reduce paginile la alb-negru cu contrast ridicat pentru o reducere maximă a dimensiunii."
+unavailable = "ImageMagick nu este instalat sau activat pe acest server"
+detailLevel = "Nivel de detaliu"
+edgeEmphasis = "Accentuare muchii"
+edgeLow = "Ușoară"
+edgeMedium = "Echilibrată"
+edgeHigh = "Puternică"
[compress.tooltip.header]
title = "Prezentare generală a setărilor de comprimare"
@@ -3811,7 +3867,7 @@ text = "Selectați această opțiune pentru a converti toate imaginile în alb-n
[compress.tooltip.lineArt]
title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+text = "Convertește paginile în alb-negru cu contrast ridicat folosind ImageMagick. Folosiți nivelul de detaliu pentru a controla cât conținut devine negru și accentuarea muchiilor pentru a controla cât de agresiv sunt detectate muchiile."
[compress.error]
failed = "A apărut o eroare la comprimarea PDF-ului."
@@ -3826,9 +3882,9 @@ _value = "Setări de comprimare"
1 = "1-3 comprimare PDF, 4-6 comprimare ușoară a imaginilor, 7-9 comprimare intensă a imaginilor Va reduce semnificativ calitatea imaginilor"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Valorile mai mici păstrează calitatea, dar duc la fișiere mai mari"
+range4to6 = "Compresie medie cu o reducere moderată a calității"
+range7to9 = "Valorile mai mari reduc semnificativ dimensiunea fișierului, dar pot reduce claritatea imaginilor"
[decrypt]
passwordPrompt = "Acest fișier este protejat cu parolă. Introduceți parola:"
@@ -4069,7 +4125,7 @@ deleteSelected = "Ștergeți paginile selectate"
closePdf = "Închide PDF"
exportAll = "Exportați PDF"
downloadSelected = "Descărcați fișierele selectate"
-annotations = "Annotations"
+annotations = "Anotări"
exportSelected = "Exportați paginile selectate"
saveChanges = "Salvați modificările"
toggleTheme = "Comutați tema"
@@ -4077,84 +4133,90 @@ language = "Limbă"
toggleAnnotations = "Comutați vizibilitatea adnotărilor"
search = "Căutați în PDF"
panMode = "Mod panoramare"
+applyRedactionsFirst = "Aplicați mai întâi redactările"
rotateLeft = "Rotiți la stânga"
rotateRight = "Rotiți la dreapta"
toggleSidebar = "Comutați bara laterală"
toggleBookmarks = "Comută semnele de carte"
print = "Imprimați PDF"
+draw = "Desenați"
+redact = "Redactează"
+exitRedaction = "Ieși din modul Redactare"
+save = "Salvați"
downloadAll = "Descărcați tot"
saveAll = "Salvează tot"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Stânga"
+center = "Centru"
+right = "Dreapta"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
+title = "Anotare"
+desc = "Folosiți evidențierea, stiloul, textul și notele. Modificările rămân active — nu este necesară aplatizarea."
+highlight = "Evidențiere"
+pen = "Stilou"
+text = "Casetă de text"
+note = "Notă"
+rectangle = "Dreptunghi"
+ellipse = "Elipsă"
+select = "Selectează"
+exit = "Ieși din modul Anotare"
+strokeWidth = "Lățime"
+opacity = "Opacitate"
+strokeOpacity = "Opacitate contur"
+fillOpacity = "Opacitate umplere"
+fontSize = "Mărime font"
+chooseColor = "Alege culoarea"
+color = "Culoare"
+strokeColor = "Culoare contur"
+fillColor = "Culoare umplere"
+underline = "Subliniere"
+strikeout = "Tăiere"
+squiggly = "Ondulat"
+inkHighlighter = "Evidențiator liber"
+freehandHighlighter = "Evidențiator liber"
+square = "Pătrat"
+circle = "Cerc"
+polygon = "Poligon"
+line = "Linie"
+stamp = "Adaugă imagine"
+textMarkup = "Marcaj text"
+drawing = "Desen"
+shapes = "Forme"
+notesStamps = "Note și ștampile"
+settings = "Setări"
+borderOn = "Chenar: Activ"
+borderOff = "Chenar: Inactiv"
+editInk = "Editează stiloul"
+editLine = "Editează linia"
+editNote = "Editează nota"
+editText = "Editează caseta de text"
+editTextMarkup = "Editează marcajul textului"
+editSelected = "Editează anotarea"
+editSquare = "Editează pătratul"
+editCircle = "Editează cercul"
+editPolygon = "Editează poligonul"
+unsupportedType = "Acest tip de anotare nu este pe deplin suportat pentru editare."
+textAlignment = "Aliniere text"
+noteIcon = "Pictogramă notă"
+imagePreview = "Previzualizare"
contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+backgroundColor = "Culoare fundal"
+clearBackground = "Elimină fundalul"
+noBackground = "Fără fundal"
+stampSettings = "Setări ștampilă"
+savingCopy = "Se pregătește descărcarea..."
+saveFailed = "Nu s-a putut salva copia"
+saveReady = "Descărcare pregătită"
+selectAndMove = "Selectează și editează"
+editSelectDescription = "Faceți clic pe o anotare existentă pentru a-i edita culoarea, opacitatea, textul sau dimensiunea."
+editStampHint = "Pentru a schimba imaginea, ștergeți această ștampilă și adăugați una nouă."
+editSwitchToSelect = "Comutați la „Selectează și editează” pentru a edita această anotare."
+undo = "Anulează"
+redo = "Refă"
+applyChanges = "Aplică modificările"
+saveChanges = "Salvează modificările"
[search]
title = "Căutați în PDF"
@@ -4200,25 +4262,25 @@ files = "Fișiere"
activity = "Jurnal"
help = "Ajutor"
account = "Cont"
-config = "Configurare"
+config = "Config"
settings = "Setări"
adminSettings = "Setări admin"
allTools = "All Tools"
reader = "Cititor"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Tururi"
+showMeAround = "Ghidează-mă"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Vizionați ghidurile aici: turul instrumentelor, turul noului layout V2 și turul de administrare."
+user = "Vizionați ghidurile aici: turul instrumentelor și turul noului layout V2."
[quickAccess.helpMenu]
toolsTour = "Turul instrumentelor"
toolsTourDesc = "Aflați ce pot face instrumentele"
adminTour = "Turul de administrare"
adminTourDesc = "Explorați setările și funcțiile de administrare"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Vezi noutățile din V2"
+whatsNewTourDesc = "Explorați layout-ul actualizat"
[admin]
error = "Eroare"
@@ -4237,6 +4299,8 @@ fetchError = "Nu s-au putut încărca setările"
saveError = "Nu s-au putut salva setările"
saved = "Setările au fost salvate cu succes"
saveSuccess = "Setările au fost salvate cu succes"
+success = "Setări salvate cu succes"
+error = "Nu s-au putut salva setările"
save = "Salvați modificările"
discard = "Renunță"
restartRequired = "Este necesară repornirea"
@@ -4360,6 +4424,13 @@ description = "Calea către executabilul WeasyPrint pentru conversia HTML în PD
label = "Executabil Unoconvert"
description = "Calea către LibreOffice unoconvert pentru conversia documentelor (lăsați gol pentru implicit: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "URL frontend"
+description = "URL de bază pentru frontend (ex.: https://pdf.example.com). Folosit pentru linkurile de invitație prin e-mail și încărcările cu cod QR de pe mobil. Lăsați gol pentru a utiliza URL-ul backend."
+
+[admin.settings.badge]
+clickToUpgrade = "Faceți clic pentru a vedea detaliile planului"
+
[admin.settings.security]
title = "Securitate"
description = "Configurați autentificarea, comportamentul de autentificare și politicile de securitate."
@@ -4436,7 +4507,7 @@ description = "Urmărește acțiunile utilizatorilor și evenimentele de sistem
[admin.settings.security.audit.level]
label = "Nivel audit"
-description = "0=OPRIT, 1=DE BAZĂ, 2=STANDARD, 3=DETALIAT"
+description = "0=OFF, 1=BASIC, 2=STANDARD, 3=VERBOSE"
[admin.settings.security.audit.retentionDays]
label = "Păstrare audit (zile)"
@@ -4496,6 +4567,19 @@ connect = "Conectează"
disconnect = "Deconectează"
disconnected = "Furnizor deconectat cu succes"
disconnectError = "Nu s-a putut deconecta furnizorul"
+mobileScannerConvertToPdf = "Convertește imaginile în PDF"
+mobileScannerConvertToPdfDesc = "Convertește automat imaginile încărcate în format PDF. Dacă este dezactivat, imaginile vor fi păstrate ca atare."
+mobileScannerImageResolution = "Rezoluția imaginii"
+mobileScannerImageResolutionDesc = "Rezoluția imaginilor încărcate. „Redusă” redimensionează imaginile la maximum 1200px pentru a reduce dimensiunea fișierului."
+imageResolutionFull = "Completă (Dimensiune originală)"
+imageResolutionReduced = "Redusă (Max 1200px)"
+mobileScannerPageFormat = "Format pagină"
+mobileScannerPageFormatDesc = "Dimensiunea paginii PDF pentru imaginile convertite. „Păstrează” folosește dimensiunile originale ale imaginii."
+pageFormatKeep = "Păstrează (Dimensiuni originale)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Întinde pentru a se potrivi"
+mobileScannerStretchToFitDesc = "Întinde imaginile pentru a umple întreaga pagină. Dacă este dezactivat, imaginile sunt centrate cu păstrarea proporțiilor."
[admin.settings.connections.ssoAutoLogin]
label = "Autentificare automată SSO"
@@ -4564,6 +4648,122 @@ description = "Creează automat conturi de utilizator la prima autentificare SAM
label = "Blochează înregistrarea"
description = "Previne înregistrarea de noi utilizatori prin SAML2"
+[admin.settings.connections.mobileScanner]
+label = "Încărcare de pe telefon mobil"
+enable = "Activează încărcarea prin cod QR"
+description = "Permite utilizatorilor să încarce fișiere de pe dispozitive mobile scanând un cod QR"
+note = "Notă: Necesită configurarea URL-ului frontend. "
+link = "Configurați în Setările sistemului"
+mobileScannerConvertToPdf = "Convertește imaginile în PDF"
+mobileScannerConvertToPdfDesc = "Convertește automat imaginile încărcate în format PDF. Dacă este dezactivat, imaginile vor fi păstrate ca atare."
+mobileScannerImageResolution = "Rezoluția imaginii"
+mobileScannerImageResolutionDesc = "Rezoluția imaginilor încărcate. „Redusă” redimensionează imaginile la maximum 1200px pentru a reduce dimensiunea fișierului."
+imageResolutionFull = "Completă (Dimensiune originală)"
+imageResolutionReduced = "Redusă (Max 1200px)"
+mobileScannerPageFormat = "Format pagină"
+mobileScannerPageFormatDesc = "Dimensiunea paginii PDF pentru imaginile convertite. „Păstrează” folosește dimensiunile originale ale imaginii."
+pageFormatKeep = "Păstrează (Dimensiuni originale)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Întinde pentru a se potrivi"
+mobileScannerStretchToFitDesc = "Întinde imaginile pentru a umple întreaga pagină. Dacă este dezactivat, imaginile sunt centrate cu păstrarea proporțiilor."
+
+[admin.settings.telegram]
+title = "Bot Telegram"
+description = "Configurați conectivitatea botului Telegram, controalele de acces și comportamentul mesajelor de feedback."
+
+[admin.settings.telegram.enabled]
+label = "Activează botul Telegram"
+description = "Permite utilizatorilor să interacționeze cu Stirling PDF prin botul Telegram configurat."
+
+[admin.settings.telegram.botUsername]
+label = "Nume de utilizator bot"
+description = "Numele de utilizator public al botului Telegram."
+
+[admin.settings.telegram.botToken]
+label = "Token bot"
+description = "Token API furnizat de BotFather pentru botul dvs. Telegram."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Folder Inbox"
+description = "Folder în directorul pipeline unde sunt stocate fișierele primite din Telegram."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Folosește sufix personalizat pentru folder"
+description = "Adaugă ID-ul conversației la folderele fișierelor primite pentru a izola încărcările per chat."
+
+[admin.settings.telegram.accessControl]
+title = "Control acces"
+description = "Restrângeți ce utilizatori sau canale pot interacționa cu botul."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Permite ID-uri specifice de utilizator"
+description = "Când este activat, doar ID-urile de utilizator listate pot folosi botul."
+
+[admin.settings.telegram.allowUserIDs]
+label = "ID-uri de utilizator permise"
+description = "Introduceți ID-urile de utilizator Telegram permise să interacționeze cu botul."
+placeholder = "Adăugați un ID utilizator și apăsați Enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Permite ID-uri specifice de canal"
+description = "Când este activat, doar ID-urile de canal listate pot folosi botul."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "ID-uri de canal permise"
+description = "Introduceți ID-urile de canal Telegram permise să interacționeze cu botul."
+placeholder = "Adăugați un ID canal și apăsați Enter"
+
+[admin.settings.telegram.processing]
+title = "Procesare"
+description = "Controlați intervalele de interogare și timpii de expirare ai procesării pentru încărcările din Telegram."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Timeout procesare (secunde)"
+description = "Timpul maxim de așteptare pentru o sarcină de procesare înainte de raportarea unei erori."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Interval de interogare (ms)"
+description = "Intervalul dintre verificările pentru noi actualizări Telegram."
+
+[admin.settings.telegram.feedback]
+title = "Mesaje de feedback"
+description = "Alegeți când botul ar trebui să trimită feedback utilizatorilor și canalelor."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Activează feedback-ul"
+description = "Controlați dacă botul trimite sau nu mesaje de feedback."
+
+[admin.settings.telegram.feedback.channel]
+title = "Reguli de feedback pentru canale"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Afișează „No valid document” (Canal)"
+description = "Suprimă răspunsul „no valid document” pentru încărcările în canale."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Afișează erorile de procesare (Canal)"
+description = "Trimite mesaje de eroare de procesare către canale."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Afișează mesajele de eroare (Canal)"
+description = "Afișează mesaje de eroare detaliate pentru canale."
+
+[admin.settings.telegram.feedback.user]
+title = "Reguli de feedback pentru utilizatori"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Afișează „No valid document” (Utilizator)"
+description = "Suprimă răspunsul „no valid document” pentru încărcările utilizatorilor."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Afișează erorile de procesare (Utilizator)"
+description = "Trimite mesaje de eroare de procesare către utilizatori."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Afișează mesajele de eroare (Utilizator)"
+description = "Afișează mesaje de eroare detaliate pentru utilizatori."
+
[admin.settings.database]
title = "Bază de date"
description = "Configurați setări personalizate de conectare la baza de date pentru implementări enterprise."
@@ -4745,6 +4945,10 @@ description = "Permite administratorilor să invite utilizatori prin e-mail cu p
label = "URL frontend"
description = "URL de bază pentru frontend (de ex. https://pdf.example.com). Folosit pentru generarea linkurilor de invitație în e-mailuri. Lăsați gol pentru a folosi URL-ul backend."
+[admin.settings.mail.frontendUrlNote]
+note = "Notă: Necesită configurarea URL-ului frontend. "
+link = "Configurați în Setările sistemului"
+
[admin.settings.legal]
title = "Documente legale"
description = "Configurați linkuri către documente și politici legale."
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "Fișierele mele"
noRecentFiles = "Nu s-au găsit fișiere recente"
googleDriveNotAvailable = "Integrarea cu Google Drive nu este disponibilă"
+mobileUpload = "Încărcare de pe mobil"
+mobileShort = "Mobil"
+mobileUploadNotAvailable = "Încărcarea de pe mobil nu este activată"
downloadSelected = "Descărcați selecția"
saveSelected = "Salvează selecția"
openFiles = "Deschideți fișiere"
@@ -5244,7 +5451,7 @@ loading = "Se încarcă..."
back = "Înapoi"
continue = "Continuă"
error = "Eroare"
-save = "Save"
+save = "Salvează"
[config.overview]
title = "Configurarea aplicației"
@@ -5307,6 +5514,15 @@ impact = "Orice aplicații sau servicii care folosesc în prezent aceste chei vo
confirmPrompt = "Sigur doriți să continuați?"
confirmCta = "Reîmprospătați cheile"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "Eroare cheie API"
+failedToCreateApiKey = "Nu s-a putut crea cheia API."
+failedToRetrieveApiKey = "Nu s-a putut obține cheia API din răspuns."
+failedToFetchApiKey = "Nu s-a putut prelua cheia API."
+apiKeyRefreshed = "Cheie API reîmprospătată"
+apiKeyRefreshedBody = "Cheia API a fost reîmprospătată cu succes."
+failedToRefreshApiKey = "Nu s-a putut reîmprospăta cheia API."
+
[AddAttachmentsRequest]
attachments = "Selectați atașamente"
info = "Selectați fișiere de atașat la PDF-ul dvs. Aceste fișiere vor fi încorporate și accesibile prin panoul de atașamente al PDF-ului."
@@ -5412,14 +5628,14 @@ startTour = "Porniți turul"
startTourDescription = "Faceți un tur ghidat al funcțiilor esențiale Stirling PDF"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Începeți din bara Acces rapid pentru a comuta între Reader, Automate, fișierele dvs. și toate tururile."
+leftPanel = "Panoul din stânga Instrumente listează tot ce puteți face. Navigați prin categorii sau căutați pentru a găsi rapid un instrument."
+fileUpload = "Folosiți butonul Fișiere pentru a încărca sau a alege un PDF recent. Vom încărca un exemplu pentru a vedea spațiul de lucru."
+rightRail = "Bara din dreapta conține acțiuni rapide pentru a selecta fișiere, a schimba tema sau limba și a descărca rezultatele."
+topBar = "Bara de sus vă permite să comutați între Vizualizator, Editor de pagini și Fișiere active."
+pageEditorView = "Comutați la Editorul de pagini pentru a reordona, roti sau șterge pagini."
+activeFilesView = "Folosiți Fișiere active pentru a vedea tot ce aveți deschis și a alege la ce să lucrați."
+wrapUp = "Acestea sunt noutățile din V2. Deschideți oricând meniul Tururi pentru a relua acesta, turul Instrumente sau turul Admin."
[onboarding.welcomeModal]
title = "Bun venit la Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "Arată-mi"
skipTheTour = "Sari peste tur"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Prezentarea turului"
+body = "Stirling PDF V2 vine cu zeci de instrumente și un layout reîmprospătat. Faceți un tur rapid pentru a vedea ce s-a schimbat și unde găsiți funcțiile de care aveți nevoie."
[onboarding.serverLicense]
skip = "Sari peste deocamdată"
@@ -5452,7 +5668,7 @@ upgrade = "Fă upgrade acum →"
freeTitle = "Licență server"
overLimitTitle = "Necesită licență de server"
overLimitBody = "Politica noastră de licențiere permite până la {{freeTierLimit}} utilizatori gratuit per server. Ai {{overLimitUserCopy}} utilizatori Stirling. Pentru a continua fără întreruperi, fă upgrade la planul Stirling Server - locuri nelimitate, editare text PDF și control complet de admin pentru $99/server/lună."
-freeBody = "Licențierea noastră Open-Core permite până la {{freeTierLimit}} utilizatori gratuit per server. Pentru scalare fără întreruperi, recomandăm planul Stirling Server - locuri nelimitate și suport SSO pentru $99/server/lună."
+freeBody = "Licențierea noastră Open-Core permite până la {{freeTierLimit}} utilizatori gratuit per server. Pentru a scala fără întreruperi și a primi acces timpuriu la noul nostru instrument de editare text PDF, recomandăm planul Stirling Server - editare completă și locuri nelimitate pentru $99/server/lună."
[onboarding.desktopInstall]
title = "Descărcare"
@@ -5725,7 +5941,7 @@ submit = "Schimbă echipa"
currency = "Monedă"
popular = "Popular"
current = "Plan curent"
-upgrade = "Actualizează"
+upgrade = "Upgrade"
contact = "Contactează-ne"
customPricing = "Personalizat"
showComparison = "Compară toate funcțiile"
@@ -5758,28 +5974,28 @@ contactSales = "Contactați vânzări"
contactToUpgrade = "Contactați-ne pentru a face upgrade sau a personaliza planul"
maxUsers = "Număr maxim de utilizatori"
upTo = "Până la"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Obține licență pentru server"
+upgradeToEnterprise = "Upgrade la Enterprise"
+selectPeriod = "Selectați perioada de facturare"
+monthlyBilling = "Facturare lunară"
+yearlyBilling = "Facturare anuală"
+checkoutOpened = "Checkout deschis"
+checkoutInstructions = "Finalizați achiziția în fila Stripe. După plată, reveniți aici și reîmprospătați pagina pentru a vă activa licența. Veți primi, de asemenea, un e-mail cu cheia de licență."
+activateLicense = "Activați licența"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Checkout deschis într-o filă nouă"
+instructions = "Finalizați achiziția în fila Stripe. După finalizarea plății, veți primi un e-mail cu cheia de licență."
+enterKey = "Introduceți mai jos cheia de licență pentru a vă activa planul:"
+keyDescription = "Lipiți cheia de licență din e-mail"
+activate = "Activează licența"
+doLater = "Voi face asta mai târziu"
+success = "Licență activată!"
+successMessage = "Licența a fost activată cu succes. Puteți închide această fereastră."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "Este necesară verificarea e-mailului"
+message = "Va trebui să vă verificați adresa de e-mail în portalul de facturare Stripe. Verificați e-mailul pentru un link de autentificare."
[plan.period]
month = "lună"
@@ -5983,8 +6199,8 @@ notAvailable = "Sistem de audit indisponibil"
notAvailableMessage = "Sistemul de audit nu este configurat sau nu este disponibil."
disabled = "Jurnalizarea de audit este dezactivată"
disabledMessage = "Activați jurnalizarea de audit în configurația aplicației pentru a urmări evenimentele sistemului."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Este necesară licența Enterprise"
+enterpriseRequiredMessage = "Sistemul de auditare a jurnalelor este o funcție Enterprise. Faceți upgrade la o licență Enterprise pentru a accesa jurnalele de audit și analizele."
[audit.error]
title = "Eroare la încărcarea sistemului de audit"
@@ -6156,6 +6372,7 @@ description = "Introdu URL-ul complet al serverului tău Stirling PDF găzduit l
[setup.server.error]
emptyUrl = "Te rugăm să introduci un URL de server"
+invalidUrl = "Format URL invalid. Introduceți un URL valid, de exemplu https://your-server.com"
unreachable = "Nu s-a putut conecta la server"
testFailed = "Testul de conexiune a eșuat"
configFetch = "Nu s-a putut prelua configurația serverului. Verificați URL-ul și încercați din nou."
@@ -6174,6 +6391,7 @@ connectingTo = "Conectare la:"
submit = "Autentificare"
signInWith = "Autentifică-te cu"
oauthPending = "Se deschide browserul pentru autentificare..."
+sso = "Single Sign-On"
orContinueWith = "Sau continuă cu email"
serverRequirement = "Notă: Serverul trebuie să aibă autentificarea activată."
showInstructions = "Cum se activează?"
@@ -6239,8 +6457,8 @@ reset = "Resetați modificările"
downloadJson = "Descărcați JSON"
generatePdf = "Generați PDF"
saveChanges = "Salvează modificările"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Aplică modificările"
+downloadCopy = "Descarcă o copie"
[pdfTextEditor.options.autoScaleText]
title = "Scalare automată a textului pentru a se potrivi în casete"
@@ -6260,22 +6478,22 @@ title = "Blocați textul editat într-un singur element PDF"
description = "Când este activată, editorul exportă fiecare casetă de text editată ca un singur element de text PDF pentru a evita suprapunerea glifelor sau amestecul de fonturi."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Setări avansate"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Limitări ale previzualizării"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Focalizare pe text și imagine"
+text = "Acest spațiu de lucru se concentrează pe editarea textului și repoziționarea imaginilor încorporate. Elementele grafice complexe ale paginii, widgeturile de formular și grafica stratificată sunt păstrate pentru export, dar nu sunt pe deplin editabile aici."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Variații în previzualizare"
+text = "Unele elemente vizuale (cum ar fi chenarul tabelelor, formele sau aspectul anotațiilor) pot să nu fie afișate exact în previzualizare. PDF-ul exportat păstrează comenzile de desen originale ori de câte ori este posibil."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Vizualizator Alpha"
+text = "Acest vizualizator alpha este încă în dezvoltare — anumite fonturi, culori, efecte de transparență și detalii de layout pot varia ușor. Verificați încă o dată PDF-ul generat înainte de a-l partaja."
[pdfTextEditor.manual]
mergeTooltip = "Unește casetele selectate"
@@ -6340,7 +6558,7 @@ warnings = "Avertizări"
suggestions = "Note"
currentPageFonts = "Fonturi pe această pagină"
allFonts = "Toate fonturile"
-fallback = "rezervă"
+fallback = "fallback"
missing = "lipsește"
perfectMessage = "Toate fonturile pot fi redate perfect."
warningMessage = "Unele fonturi pot să nu fie redate corect."
@@ -6398,3 +6616,58 @@ title = "Rezultate adăugare text"
[addText.error]
failed = "A apărut o eroare la adăugarea textului în PDF."
+
+[mobileUpload]
+title = "Încărcare de pe mobil"
+description = "Scanați pentru a încărca fotografii. Imaginile se convertesc automat în PDF."
+descriptionNoConvert = "Scanați pentru a încărca fotografii de pe dispozitivul mobil."
+error = "Eroare de conexiune"
+pollingError = "Eroare la verificarea fișierelor"
+sessionId = "ID sesiune"
+sessionCreateError = "Nu s-a putut crea sesiunea"
+expiryWarning = "Sesiunea expiră în curând"
+expiryWarningMessage = "Acest cod QR va expira în {{seconds}} secunde. Un nou cod va fi generat automat."
+filesReceived = "S-au primit {{count}} fișier(e)"
+connected = "Dispozitiv mobil conectat"
+instructions = "Scanați cu camera telefonului. Imaginile se convertesc automat în PDF."
+instructionsNoConvert = "Scanați cu camera telefonului pentru a încărca fișiere."
+
+[mobileScanner]
+title = "Scanner mobil"
+noSession = "Sesiune invalidă"
+noSessionMessage = "Scanați un cod QR valid pentru a accesa această pagină."
+validating = "Se validează sesiunea..."
+sessionInvalid = "Eroare de sesiune"
+sessionExpired = "Această sesiune a expirat. Reîmprospătați și încercați din nou."
+sessionNotFound = "Sesiunea nu a fost găsită. Reîmprospătați și încercați din nou."
+sessionValidationError = "Nu s-a putut verifica sesiunea. Încercați din nou."
+uploadSuccess = "Încărcare reușită!"
+uploadSuccessMessage = "Imaginile au fost transferate."
+httpsRequired = "Accesul la cameră necesită HTTPS sau localhost. Folosiți HTTPS sau accesați prin localhost."
+uploadFailed = "Încărcarea a eșuat. Încercați din nou."
+uploading = "Se încarcă..."
+connected = "Conectat"
+connecting = "Se conectează..."
+chooseMethod = "Alegeți metoda de încărcare"
+chooseMethodDescription = "Selectați cum doriți să scanați și să încărcați documente"
+camera = "Cameră"
+cameraDescription = "Scanați documente folosind camera dispozitivului, cu detectare automată a marginilor"
+fileUpload = "Încărcare fișier"
+fileDescription = "Încărcați fotografii sau documente existente de pe dispozitiv"
+cameraAccessDenied = "Acces la cameră refuzat. Activați accesul la cameră."
+back = "Înapoi"
+settings = "Setări"
+edgeDetection = "Detectare margini"
+flashlight = "Lanternă"
+flash = "Flash"
+processing = "Se procesează..."
+capture = "Capturați fotografie"
+selectFilesPrompt = "Selectați fișiere de încărcat"
+selectImage = "Selectați imagine"
+preview = "Previzualizare"
+retake = "Refaceți"
+addToBatch = "Adăugați la lot"
+upload = "Încărcați"
+batchImages = "Lot"
+clearBatch = "Goliți"
+uploadAll = "Încărcați tot"
diff --git a/frontend/public/locales/ru-RU/translation.toml b/frontend/public/locales/ru-RU/translation.toml
index 32d6fcfc7..d8ed937e2 100644
--- a/frontend/public/locales/ru-RU/translation.toml
+++ b/frontend/public/locales/ru-RU/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "У вас есть несохранённые изменения в вашем PDF. Что вы хотите сделать?"
+pendingRedactionsTitle = "Неприменённые зачернения"
+pendingRedactions = "У вас есть неприменённые зачернения, они будут потеряны."
areYouSure = "Вы уверены, что хотите уйти?"
unsavedChangesTitle = "Несохранённые изменения"
keepWorking = "Продолжить работу"
discardChanges = "Отменить изменения"
+discardRedactions = "Отменить и выйти"
applyAndContinue = "Применить и продолжить"
exportAndContinue = "Экспорт и продолжить"
cancel = "Отмена"
@@ -364,6 +367,7 @@ advanced = "Дополнительно"
title = "Безопасность и аутентификация"
security = "Безопасность"
connections = "Подключения"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Лицензирование и аналитика"
@@ -438,25 +442,34 @@ currentVersion = "Текущая версия"
latestVersion = "Последняя версия"
checkForUpdates = "Проверить обновления"
viewDetails = "Подробнее"
+serverNeedsUpdate = "Сервер должен быть обновлён администратором"
+
+[settings.general.versionInfo]
+title = "Сведения о версии"
+description = "Сведения о версиях Desktop и сервера"
+desktop = "Версия Desktop"
+server = "Версия сервера"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Безопасность"
+description = "Обновите пароль, чтобы защитить свою учётную запись."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Измените пароль. Вы будете автоматически выведены из системы после обновления."
+required = "Все поля обязательны."
+mismatch = "Новые пароли не совпадают."
+error = "Не удалось обновить пароль. Проверьте текущий пароль и повторите попытку."
+success = "Пароль успешно обновлён. Пожалуйста, войдите снова."
+ssoDisabled = "Смена пароля управляется вашим поставщиком идентификации."
+current = "Текущий пароль"
+currentPlaceholder = "Введите текущий пароль"
+new = "Новый пароль"
+newPlaceholder = "Введите новый пароль"
+confirm = "Подтвердите новый пароль"
+confirmPlaceholder = "Повторите новый пароль"
+update = "Обновить пароль"
+
+
[settings.hotkeys]
title = "Горячие клавиши"
@@ -511,16 +524,16 @@ low = "Низкий"
title = "Изменить учетные данные"
header = "Обновить данные вашей учетной записи"
changePassword = "Вы используете стандартные учетные данные для входа. Пожалуйста, введите новый пароль"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Ваша учётная запись управляется вашим поставщиком идентификации."
newUsername = "Новое имя пользователя"
oldPassword = "Текущий пароль"
newPassword = "Новый пароль"
confirmNewPassword = "Подтвердите новый пароль"
submit = "Отправить изменения"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Учётная запись обновлена"
+description = "Изменения сохранены. Пожалуйста, войдите снова."
+error = "Не удалось обновить имя пользователя. Проверьте пароль и повторите попытку."
+changeUsername = "Обновите имя пользователя. После обновления вы будете выведены из системы."
[account]
title = "Настройки аккаунта"
@@ -528,6 +541,8 @@ accountSettings = "Настройки аккаунта"
adminSettings = "Настройки администратора - Просмотр и добавление пользователей"
userControlSettings = "Настройки управления пользователями"
changeUsername = "Изменить имя пользователя"
+changeUsernameDescription = "Обновите имя пользователя. После обновления вы будете выведены из системы."
+newUsernamePlaceholder = "Введите новое имя пользователя"
newUsername = "Новое имя пользователя"
password = "Пароль подтверждения"
oldPassword = "Старый пароль"
@@ -737,9 +752,9 @@ title = "Подпись"
desc = "Добавляет подпись в PDF рисованием, текстом или изображением"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "аннотировать,выделять,рисовать"
+title = "Аннотации"
+desc = "Выделяйте, рисуйте, добавляйте заметки и фигуры в просмотрщике"
[home.flatten]
tags = "упростить,удалить,интерактив"
@@ -951,8 +966,8 @@ desc = "Наложить один PDF поверх другого"
title = "Наложение PDF"
[home.pdfTextEditor]
-title = "Редактор текста PDF"
-desc = "Редактируйте существующий текст и изображения внутри PDF-файлов"
+title = "Редактор текста в PDF"
+desc = "Просмотр и редактирование экспортов Stirling PDF в JSON с групповым редактированием текста и регенерацией PDF"
[home.addText]
tags = "текст,аннотация,ярлык"
@@ -963,6 +978,7 @@ desc = "Добавьте произвольный текст в ваш PDF"
addFiles = "Добавить файлы"
uploadFromComputer = "Загрузить с компьютера"
openFromComputer = "Открыть с компьютера"
+mobileUpload = "Загрузка с мобильного"
[viewPdf]
tags = "просмотр,чтение,аннотации,текст,изображение"
@@ -1278,21 +1294,33 @@ cbzOptions = "Параметры CBZ → PDF"
optimizeForEbook = "Оптимизировать PDF для ридеров (использует Ghostscript)"
cbzOutputOptions = "Параметры PDF → CBZ"
cbzDpi = "DPI для отрисовки изображений"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "Параметры CBR"
+cbrOutputOptions = "Параметры PDF в CBR"
+cbrDpi = "DPI для отрисовки изображений"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "Параметры eBook в PDF"
+ebookOptionsDesc = "Параметры преобразования eBook в PDF"
+embedAllFonts = "Встраивать все шрифты"
+embedAllFontsDesc = "Встраивать все шрифты из eBook в создаваемый PDF"
+includeTableOfContents = "Включить оглавление"
+includeTableOfContentsDesc = "Добавить сгенерированное оглавление в результирующий PDF"
+includePageNumbers = "Включить номера страниц"
+includePageNumbersDesc = "Добавить номера страниц в создаваемый PDF"
+optimizeForEbookPdf = "Оптимизировать для ридеров eBook"
+optimizeForEbookPdfDesc = "Оптимизировать PDF для чтения eBook (меньший размер файла, лучшая отрисовка на устройствах eInk)"
+
+[convert.epubOptions]
+epubOptions = "Параметры PDF в eBook"
+epubOptionsDesc = "Параметры преобразования PDF в EPUB/AZW3"
+detectChapters = "Определять главы"
+detectChaptersDesc = "Определять заголовки, похожие на главы, и вставлять разрывы страниц EPUB"
+targetDevice = "Целевое устройство"
+targetDeviceDesc = "Выберите профиль вывода, оптимизированный для устройства чтения"
+outputFormat = "Формат вывода"
+outputFormatDesc = "Выберите формат вывода для eBook"
+tabletPhone = "Планшет/Телефон (с изображениями)"
+kindleEink = "Kindle e-Ink (оптимизировано для текста)"
[imageToPdf]
tags = "конвертация,изображение,jpg,картинка,фото"
@@ -1409,11 +1437,11 @@ header = "Добавлять вложения"
add = "Добавить вложение"
remove = "Удалить вложение"
embed = "Встроить вложение"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Преобразовать в PDF/A-3b"
+convertToPdfA3bDescription = "Создаёт архивный PDF со встроенными вложениями"
+convertToPdfA3bTooltip = "PDF/A-3b — это архивный формат, обеспечивающий долгосрочное хранение. Он позволяет встраивать любые форматы файлов как вложения. Преобразование требует Ghostscript и может занять больше времени для больших файлов."
+convertToPdfA3bTooltipHeader = "О преобразовании в PDF/A-3b"
+convertToPdfA3bTooltipTitle = "Что делает"
submit = "Добавлять вложения"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "Сохранённое"
label = "Загрузить изображение подписи"
placeholder = "Выберите файл изображения"
hint = "Загрузите PNG или JPG с вашей подписью"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Удалить белый фон (сделать прозрачным)"
+processing = "Обработка изображения..."
+backgroundRemovalFailedTitle = "Не удалось удалить фон"
+backgroundRemovalFailedMessage = "Не удалось удалить фон у изображения. Будет использовано исходное изображение."
[sign.instructions]
title = "Как добавить подпись"
@@ -2409,9 +2437,9 @@ label = "Сплющивать только формы"
desc = "Уплощать только поля форм, оставляя прочие интерактивные элементы"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "DPI рендеринга (необязательно, рекомендуется 150 DPI)"
+help = "Оставьте пустым для системного значения по умолчанию. Более высокий DPI повышает чёткость, но увеличивает время обработки и размер файла."
+placeholder = "например, 150"
[flatten.results]
title = "Результаты уплощения"
@@ -2987,7 +3015,7 @@ header = "Обрезка PDF"
submit = "Отправить"
noFileSelected = "Выберите PDF-файл, чтобы начать обрезку"
reset = "Сбросить к полному PDF"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Автообрезка пустых полей"
[crop.preview]
title = "Выбор области обрезки"
@@ -3218,6 +3246,7 @@ title = "Метод редактирования"
mode = "Режим"
automatic = "Автоматически"
automaticDesc = "Скрывать текст на основе поисковых терминов"
+automaticDisabledTooltip = "Выберите файлы в файловом менеджере, чтобы зачернить несколько файлов сразу"
manual = "Вручную"
manualDesc = "Щёлкните и тяните, чтобы скрыть выбранные области"
manualComingSoon = "Ручная редакция скоро появится"
@@ -3288,8 +3317,35 @@ text = "Совпадать только с целыми словами, не с
title = "Преобразовать в PDF-изображение"
text = "Преобразует PDF в основанный на изображениях после сокрытия. Это гарантирует, что текст за рамками полностью удалён и невосстановим."
+[redact.tooltip.manual.header]
+title = "Ручные элементы управления зачернением"
+
+[redact.tooltip.manual.markText]
+title = "Инструмент «Пометить текст»"
+text = "Выделяйте текст прямо в PDF, чтобы пометить его для зачернения. Нажмите и перетащите, чтобы выделить нужный фрагмент."
+
+[redact.tooltip.manual.markArea]
+title = "Инструмент «Пометить область»"
+text = "Рисуйте прямоугольные области в PDF, чтобы пометить зоны для зачернения. Полезно для скрытия изображений, подписей или произвольных форм."
+
+[redact.tooltip.manual.apply]
+title = "Применить зачернения"
+text = "После пометки содержимого нажмите «Применить», чтобы навсегда зачернить все отмеченные области. Счётчик показывает, сколько зачернений готово к применению."
+bullet1 = "Пометьте столько областей, сколько нужно, перед применением"
+bullet2 = "Все ожидающие зачернения применяются одновременно"
+bullet3 = "После применения зачернения нельзя отменить"
+
[redact.manual]
+title = "Инструменты зачернения"
+instructions = "Выберите текст или нарисуйте области в PDF, чтобы пометить содержимое для зачернения."
+markText = "Пометить текст"
+markArea = "Пометить область"
+pendingLabel = "Ожидает:"
+applyWarning = "⚠️ Применение необратимо; отмена невозможна, данные под зачернением будут удалены"
+apply = "Применить"
+noMarks = "Нет пометок зачернения. Используйте инструменты выше, чтобы отметить содержимое для зачернения."
header = "Ручная редакция"
+controlsTitle = "Ручные элементы управления зачернением"
textBasedRedaction = "Сокрытие по тексту"
pageBasedRedaction = "Сокрытие по страницам"
convertPDFToImageLabel = "Преобразовать PDF в PDF-изображение (для удаления текста за рамкой)"
@@ -3406,17 +3462,17 @@ label = "Вертикальные разделы"
placeholder = "Введите количество вертикальных разделов"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Режим разбиения"
+description = "Выберите, как разбить страницы"
+splitAll = "Разбить все страницы"
+splitAllExceptFirst = "Разбить все, кроме первой"
+splitAllExceptLast = "Разбить все, кроме последней"
+splitAllExceptFirstAndLast = "Разбить все, кроме первой и последней"
+custom = "Произвольные страницы"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Номера произвольных страниц"
+placeholder = "например, 2,4,6"
[AddStampRequest]
tags = "Штамп,Добавить изображение,центрировать изображение,Водяной знак,PDF,Встраивание,Настройка"
@@ -3780,17 +3836,17 @@ filesize = "Размер файла"
label = "Применить шкалу серого для сжатия"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Линеаризовать PDF для быстрого просмотра в вебе"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Преобразовать изображения в линейную графику"
+description = "Использует ImageMagick для преобразования страниц в высококонтрастные чёрно‑белые, чтобы максимально уменьшить размер."
+unavailable = "ImageMagick не установлен или не включён на этом сервере"
+detailLevel = "Уровень детализации"
+edgeEmphasis = "Выделение краёв"
+edgeLow = "Мягкое"
+edgeMedium = "Сбалансированное"
+edgeHigh = "Сильное"
[compress.tooltip.header]
title = "Обзор настроек сжатия"
@@ -3810,8 +3866,8 @@ title = "Оттенки серого"
text = "Выберите эту опцию, чтобы преобразовать все изображения в чёрно-белые. Это может существенно уменьшить размер файла, особенно для отсканированных PDF или документов с большим количеством изображений."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "Линейная графика"
+text = "Преобразуйте страницы в высококонтрастные чёрно‑белые с помощью ImageMagick. Используйте уровень детализации, чтобы контролировать, сколько содержимого станет чёрным, а выделение краёв — чтобы управлять агрессивностью обнаружения границ."
[compress.error]
failed = "Произошла ошибка при сжатии PDF."
@@ -3826,9 +3882,9 @@ _value = "Настройки сжатия"
1 = "1-3 сжатие PDF, 4-6 лёгкое сжатие изображений, 7-9 интенсивное сжатие изображений (значительно снижает качество изображений)"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Низкие значения сохраняют качество, но увеличивают размер файлов"
+range4to6 = "Средняя компрессия с умеренной потерей качества"
+range7to9 = "Высокие значения значительно уменьшают размер файла, но могут ухудшить чёткость изображений"
[decrypt]
passwordPrompt = "Этот файл защищен паролем. Пожалуйста, введите пароль:"
@@ -4069,7 +4125,7 @@ deleteSelected = "Удалить выбранные страницы"
closePdf = "Закрыть PDF"
exportAll = "Экспортировать PDF"
downloadSelected = "Скачать выбранные файлы"
-annotations = "Annotations"
+annotations = "Аннотации"
exportSelected = "Экспортировать выбранные страницы"
saveChanges = "Сохранить изменения"
toggleTheme = "Переключить тему"
@@ -4077,84 +4133,90 @@ language = "Язык"
toggleAnnotations = "Показать/скрыть аннотации"
search = "Поиск по PDF"
panMode = "Режим панорамирования"
+applyRedactionsFirst = "Сначала примените зачернения"
rotateLeft = "Повернуть влево"
rotateRight = "Повернуть вправо"
toggleSidebar = "Показать/скрыть боковую панель"
toggleBookmarks = "Показать/скрыть закладки"
print = "Печать PDF"
+draw = "Рисовать"
+redact = "Зачернить"
+exitRedaction = "Выйти из режима зачернения"
+save = "Сохранить"
downloadAll = "Скачать все"
saveAll = "Сохранить всё"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "По левому краю"
+center = "По центру"
+right = "По правому краю"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "Аннотации"
+desc = "Используйте выделение, перо, текст и заметки. Изменения остаются «живыми» — сплющивание не требуется."
+highlight = "Выделение"
+pen = "Перо"
+text = "Текстовое поле"
+note = "Заметка"
+rectangle = "Прямоугольник"
+ellipse = "Эллипс"
+select = "Выбор"
+exit = "Выйти из режима аннотаций"
+strokeWidth = "Толщина"
+opacity = "Непрозрачность"
+strokeOpacity = "Непрозрачность линии"
+fillOpacity = "Непрозрачность заливки"
+fontSize = "Размер шрифта"
+chooseColor = "Выберите цвет"
+color = "Цвет"
+strokeColor = "Цвет линии"
+fillColor = "Цвет заливки"
+underline = "Подчёркивание"
+strikeout = "Зачёркивание"
+squiggly = "Волнистое подчёркивание"
+inkHighlighter = "Свободное выделение маркером"
+freehandHighlighter = "Свободное выделение маркером"
+square = "Квадрат"
+circle = "Круг"
+polygon = "Многоугольник"
+line = "Линия"
+stamp = "Добавить изображение"
+textMarkup = "Разметка текста"
+drawing = "Рисование"
+shapes = "Фигуры"
+notesStamps = "Заметки и штампы"
+settings = "Настройки"
+borderOn = "Граница: Вкл."
+borderOff = "Граница: Выкл."
+editInk = "Изменить перо"
+editLine = "Изменить линию"
+editNote = "Изменить заметку"
+editText = "Изменить текстовое поле"
+editTextMarkup = "Изменить разметку текста"
+editSelected = "Изменить аннотацию"
+editSquare = "Изменить квадрат"
+editCircle = "Изменить круг"
+editPolygon = "Изменить многоугольник"
+unsupportedType = "Этот тип аннотаций не полностью поддерживается для редактирования."
+textAlignment = "Выравнивание текста"
+noteIcon = "Значок заметки"
+imagePreview = "Предпросмотр"
+contents = "Текст"
+backgroundColor = "Цвет фона"
+clearBackground = "Удалить фон"
+noBackground = "Без фона"
+stampSettings = "Параметры штампа"
+savingCopy = "Подготовка к загрузке..."
+saveFailed = "Не удалось сохранить копию"
+saveReady = "Готово к загрузке"
+selectAndMove = "Выбрать и изменить"
+editSelectDescription = "Нажмите на существующую аннотацию, чтобы изменить её цвет, непрозрачность, текст или размер."
+editStampHint = "Чтобы изменить изображение, удалите этот штамп и добавьте новый."
+editSwitchToSelect = "Переключитесь в «Выбрать и изменить», чтобы редактировать эту аннотацию."
+undo = "Отменить"
+redo = "Повторить"
+applyChanges = "Применить изменения"
+saveChanges = "Сохранить изменения"
[search]
title = "Поиск по PDF"
@@ -4205,20 +4267,20 @@ settings = "Опции"
adminSettings = "Админ. настр."
allTools = "Инстр."
reader = "Читалка"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Туры"
+showMeAround = "Проведите по интерфейсу"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Смотрите обзоры здесь: тур по инструментам, тур по новому интерфейсу V2 и админ‑тур."
+user = "Смотрите обзоры здесь: тур по инструментам и тур по новому интерфейсу V2."
[quickAccess.helpMenu]
toolsTour = "Обзор инструментов"
toolsTourDesc = "Узнайте, что умеют инструменты"
adminTour = "Обзор администрирования"
adminTourDesc = "Изучите настройки и функции администрирования"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Что нового в V2"
+whatsNewTourDesc = "Тур по обновлённому интерфейсу"
[admin]
error = "Ошибка"
@@ -4237,6 +4299,8 @@ fetchError = "Не удалось загрузить настройки"
saveError = "Не удалось сохранить настройки"
saved = "Настройки успешно сохранены"
saveSuccess = "Настройки успешно сохранены"
+success = "Настройки успешно сохранены"
+error = "Не удалось сохранить настройки"
save = "Сохранить изменения"
discard = "Отменить"
restartRequired = "Требуется перезапуск"
@@ -4360,6 +4424,13 @@ description = "Путь к исполняемому файлу WeasyPrint для
label = "Исполняемый файл Unoconvert"
description = "Путь к LibreOffice unoconvert для конвертации документов (оставьте пустым по умолчанию: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "Frontend URL"
+description = "Базовый URL фронтенда (например, https://pdf.example.com). Используется для ссылок приглашений по email и загрузок через мобильный QR‑код. Оставьте пустым, чтобы использовать URL бэкенда."
+
+[admin.settings.badge]
+clickToUpgrade = "Нажмите, чтобы посмотреть детали плана"
+
[admin.settings.security]
title = "Безопасность"
description = "Настройка аутентификации, поведения входа и политик безопасности."
@@ -4496,6 +4567,19 @@ connect = "Подключить"
disconnect = "Отключить"
disconnected = "Провайдер успешно отключен"
disconnectError = "Не удалось отключить провайдера"
+mobileScannerConvertToPdf = "Преобразовывать изображения в PDF"
+mobileScannerConvertToPdfDesc = "Автоматически преобразовывать загруженные изображения в формат PDF. Если выключено, изображения сохраняются как есть."
+mobileScannerImageResolution = "Разрешение изображения"
+mobileScannerImageResolutionDesc = "Разрешение загруженных изображений. «Уменьшенное» масштабирует изображения до максимум 1200 px для снижения размера файла."
+imageResolutionFull = "Полное (оригинальный размер)"
+imageResolutionReduced = "Уменьшенное (макс. 1200 px)"
+mobileScannerPageFormat = "Формат страницы"
+mobileScannerPageFormatDesc = "Размер страницы PDF для преобразованных изображений. «Сохранить» использует исходные размеры изображения."
+pageFormatKeep = "Сохранить (исходные размеры)"
+pageFormatA4 = "A4 (210×297 мм)"
+pageFormatLetter = "Letter (8,5×11 дюймов)"
+mobileScannerStretchToFit = "Растянуть по странице"
+mobileScannerStretchToFitDesc = "Растягивать изображения на всю страницу. Если выключено, изображения центрируются с сохранением пропорций."
[admin.settings.connections.ssoAutoLogin]
label = "Автовход через SSO"
@@ -4564,6 +4648,122 @@ description = "Автоматически создавать учетные за
label = "Блокировать регистрацию"
description = "Запретить регистрацию новых пользователей через SAML2"
+[admin.settings.connections.mobileScanner]
+label = "Загрузка с телефона"
+enable = "Включить загрузку по QR‑коду"
+description = "Разрешить пользователям загружать файлы с мобильных устройств, сканируя QR‑код"
+note = "Примечание: требуется настроенный Frontend URL. "
+link = "Настроить в системных настройках"
+mobileScannerConvertToPdf = "Преобразовывать изображения в PDF"
+mobileScannerConvertToPdfDesc = "Автоматически преобразовывать загруженные изображения в формат PDF. Если выключено, изображения сохраняются как есть."
+mobileScannerImageResolution = "Разрешение изображения"
+mobileScannerImageResolutionDesc = "Разрешение загруженных изображений. «Уменьшенное» масштабирует изображения до максимум 1200 px для снижения размера файла."
+imageResolutionFull = "Полное (оригинальный размер)"
+imageResolutionReduced = "Уменьшенное (макс. 1200 px)"
+mobileScannerPageFormat = "Формат страницы"
+mobileScannerPageFormatDesc = "Размер страницы PDF для преобразованных изображений. «Сохранить» использует исходные размеры изображения."
+pageFormatKeep = "Сохранить (исходные размеры)"
+pageFormatA4 = "A4 (210×297 мм)"
+pageFormatLetter = "Letter (8,5×11 дюймов)"
+mobileScannerStretchToFit = "Растянуть по странице"
+mobileScannerStretchToFitDesc = "Растягивать изображения на всю страницу. Если выключено, изображения центрируются с сохранением пропорций."
+
+[admin.settings.telegram]
+title = "Бот Telegram"
+description = "Настройте подключение бота Telegram, контроль доступа и поведение обратной связи."
+
+[admin.settings.telegram.enabled]
+label = "Включить бота Telegram"
+description = "Разрешить пользователям взаимодействовать со Stirling PDF через настроенного бота Telegram."
+
+[admin.settings.telegram.botUsername]
+label = "Имя пользователя бота"
+description = "Публичное имя пользователя вашего бота Telegram."
+
+[admin.settings.telegram.botToken]
+label = "Токен бота"
+description = "API‑токен, выданный BotFather для вашего бота Telegram."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Папка входящих"
+description = "Папка в каталоге конвейера, где хранятся входящие файлы Telegram."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Использовать настраиваемый суффикс папки"
+description = "Добавлять ID чата к папкам входящих файлов, чтобы изолировать загрузки по чатам."
+
+[admin.settings.telegram.accessControl]
+title = "Контроль доступа"
+description = "Ограничьте, какие пользователи или каналы могут взаимодействовать с ботом."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Разрешить указанные ID пользователей"
+description = "Если включено, бот будет доступен только перечисленным ID пользователей."
+
+[admin.settings.telegram.allowUserIDs]
+label = "Разрешённые ID пользователей"
+description = "Введите ID пользователей Telegram, которым разрешено взаимодействовать с ботом."
+placeholder = "Добавьте ID пользователя и нажмите Enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Разрешить указанные ID каналов"
+description = "Если включено, бот будет доступен только перечисленным ID каналов."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "Разрешённые ID каналов"
+description = "Введите ID каналов Telegram, которым разрешено взаимодействовать с ботом."
+placeholder = "Добавьте ID канала и нажмите Enter"
+
+[admin.settings.telegram.processing]
+title = "Обработка"
+description = "Настройте интервалы опроса и таймауты обработки для загрузок из Telegram."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Таймаут обработки (секунды)"
+description = "Максимальное время ожидания выполнения задачи до сообщения об ошибке."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Интервал опроса (мс)"
+description = "Интервал между проверками новых обновлений Telegram."
+
+[admin.settings.telegram.feedback]
+title = "Сообщения обратной связи"
+description = "Выберите, когда бот должен отправлять сообщения обратной связи пользователям и каналам."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Включить обратную связь"
+description = "Определяет, отправляет ли бот сообщения обратной связи вообще."
+
+[admin.settings.telegram.feedback.channel]
+title = "Правила обратной связи для каналов"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Показывать «Нет подходящего документа» (канал)"
+description = "Подавлять ответ «Нет подходящего документа» для загрузок в канал."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Показывать ошибки обработки (канал)"
+description = "Отправлять сообщения об ошибках обработки в каналы."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Показывать сообщения об ошибках (канал)"
+description = "Показывать подробные сообщения об ошибках для каналов."
+
+[admin.settings.telegram.feedback.user]
+title = "Правила обратной связи для пользователей"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Показывать «Нет подходящего документа» (пользователь)"
+description = "Подавлять ответ «Нет подходящего документа» для загрузок от пользователей."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Показывать ошибки обработки (пользователь)"
+description = "Отправлять сообщения об ошибках обработки пользователям."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Показывать сообщения об ошибках (пользователь)"
+description = "Показывать подробные сообщения об ошибках для пользователей."
+
[admin.settings.database]
title = "База данных"
description = "Настройка пользовательского подключения к базе данных для корпоративных внедрений."
@@ -4745,6 +4945,10 @@ description = "Разрешить администраторам приглаш
label = "URL фронтенда"
description = "Базовый URL для фронтенда (например, https://pdf.example.com). Используется для генерации ссылок-приглашений в письмах. Оставьте пустым, чтобы использовать URL бэкенда."
+[admin.settings.mail.frontendUrlNote]
+note = "Примечание: требуется настроенный Frontend URL. "
+link = "Настроить в системных настройках"
+
[admin.settings.legal]
title = "Юридические документы"
description = "Настройка ссылок на юридические документы и политики."
@@ -4770,7 +4974,7 @@ label = "Политика cookie"
description = "URL или имя файла для политики cookie"
[admin.settings.legal.impressum]
-label = "Юридическая информация"
+label = "Impressum"
description = "URL или имя файла для impressum (требуется в некоторых юрисдикциях)"
[admin.settings.premium]
@@ -4929,6 +5133,9 @@ googleDriveShort = "Диск"
myFiles = "Мои файлы"
noRecentFiles = "Недавние файлы не найдены"
googleDriveNotAvailable = "Интеграция с Google Drive недоступна"
+mobileUpload = "Загрузка с мобильного"
+mobileShort = "Моб."
+mobileUploadNotAvailable = "Загрузка с мобильного не включена"
downloadSelected = "Скачать выбранные"
saveSelected = "Сохранить выбранные"
openFiles = "Открыть файлы"
@@ -5244,7 +5451,7 @@ loading = "Загрузка..."
back = "Назад"
continue = "Продолжить"
error = "Ошибка"
-save = "Save"
+save = "Сохранить"
[config.overview]
title = "Конфигурация приложения"
@@ -5270,7 +5477,7 @@ description = "Привяжите аккаунт, чтобы сохранить
socialLogin = "Обновить через соцсеть"
linkWith = "Привязать к"
emailPassword = "или введите email и пароль"
-email = "Эл. почта"
+email = "Email"
emailPlaceholder = "Введите ваш email"
password = "Пароль (необязательно)"
passwordPlaceholder = "Задайте пароль"
@@ -5307,6 +5514,15 @@ impact = "Любые приложения или сервисы, использ
confirmPrompt = "Вы уверены, что хотите продолжить?"
confirmCta = "Обновить ключи"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "Ошибка ключа API"
+failedToCreateApiKey = "Не удалось создать ключ API."
+failedToRetrieveApiKey = "Не удалось получить ключ API из ответа."
+failedToFetchApiKey = "Не удалось получить ключ API."
+apiKeyRefreshed = "Ключ API обновлён"
+apiKeyRefreshedBody = "Ваш ключ API успешно обновлён."
+failedToRefreshApiKey = "Не удалось обновить ключ API."
+
[AddAttachmentsRequest]
attachments = "Выбор вложений"
info = "Выберите файлы для прикрепления к вашему PDF. Эти файлы будут внедрены и доступны через панель вложений PDF."
@@ -5412,14 +5628,14 @@ startTour = "Начать тур"
startTourDescription = "Пройдите ознакомительный тур по ключевым функциям Stirling PDF"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Начните с панели Быстрый доступ, чтобы переходить между Читалкой, Автоматизацией, вашими файлами и всеми турами."
+leftPanel = "Левая панель Инструменты содержит всё, что можно сделать. Просматривайте категории или ищите, чтобы быстро найти нужный инструмент."
+fileUpload = "Используйте кнопку Файлы, чтобы загрузить или выбрать недавний PDF. Мы загрузим пример, чтобы вы увидели рабочую область."
+rightRail = "В Правой панели доступны быстрые действия: выбор файлов, смена темы или языка и загрузка результатов."
+topBar = "Верхняя панель позволяет переключаться между Просмотрщиком, Редактором страниц и Активными файлами."
+pageEditorView = "Переключитесь в Редактор страниц, чтобы переупорядочивать, поворачивать или удалять страницы."
+activeFilesView = "Используйте Активные файлы, чтобы видеть все открытые документы и выбрать, с чем работать."
+wrapUp = "Вот что нового в V2. В любое время откройте меню Туры, чтобы повторно посмотреть этот тур, тур по инструментам или админ‑тур."
[onboarding.welcomeModal]
title = "Добро пожаловать в Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "Показать обзор"
skipTheTour = "Пропустить тур"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Обзор тура"
+body = "Stirling PDF V2 включает десятки инструментов и обновлённый интерфейс. Пройдите короткий тур, чтобы узнать, что изменилось и где найти нужные функции."
[onboarding.serverLicense]
skip = "Пока пропустить"
@@ -5452,7 +5668,7 @@ upgrade = "Обновить сейчас →"
freeTitle = "Серверная лицензия"
overLimitTitle = "Требуется серверная лицензия"
overLimitBody = "Наша лицензия допускает до {{freeTierLimit}} пользователей бесплатно на сервер. У вас {{overLimitUserCopy}} пользователей Stirling. Чтобы продолжить без перебоев, перейдите на тариф Stirling Server — неограниченные места, редактирование текста в PDF и полный админ‑контроль за $99/server/mo."
-freeBody = "Наша лицензия Open-Core позволяет бесплатно использовать до {{freeTierLimit}} пользователей на сервер. Для бесшовного масштабирования мы рекомендуем план Stirling Server - неограниченное число мест и поддержка SSO за $99/сервер/мес."
+freeBody = "Наша лицензия Open-Core допускает до {{freeTierLimit}} пользователей бесплатно на сервер. Чтобы масштабироваться без ограничений и раньше получить доступ к новому инструменту редактирования текста в PDF, рекомендуем тариф Stirling Server — полный редактор и неограниченные места за $99/server/mo."
[onboarding.desktopInstall]
title = "Скачать"
@@ -5758,28 +5974,28 @@ contactSales = "Связаться с отделом продаж"
contactToUpgrade = "Свяжитесь с нами, чтобы обновить или настроить ваш план"
maxUsers = "Максимум пользователей"
upTo = "До"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Получить серверную лицензию"
+upgradeToEnterprise = "Перейти на Enterprise"
+selectPeriod = "Выберите период оплаты"
+monthlyBilling = "Ежемесячная оплата"
+yearlyBilling = "Ежегодная оплата"
+checkoutOpened = "Открыта оплата"
+checkoutInstructions = "Завершите покупку во вкладке Stripe. После оплаты вернитесь сюда и обновите страницу, чтобы активировать лицензию. Вы также получите письмо с лицензионным ключом."
+activateLicense = "Активируйте лицензию"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Оплата открыта в новой вкладке"
+instructions = "Завершите покупку во вкладке Stripe. После оплаты вы получите письмо с лицензионным ключом."
+enterKey = "Введите ниже лицензионный ключ, чтобы активировать план:"
+keyDescription = "Вставьте лицензионный ключ из письма"
+activate = "Активировать лицензию"
+doLater = "Сделаю это позже"
+success = "Лицензия активирована!"
+successMessage = "Ваша лицензия успешно активирована. Теперь можно закрыть это окно."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "Требуется подтверждение email"
+message = "Вам нужно подтвердить адрес email в биллинговом портале Stripe. Проверьте почту на наличие ссылки для входа."
[plan.period]
month = "месяц"
@@ -5983,8 +6199,8 @@ notAvailable = "Система аудита недоступна"
notAvailableMessage = "Система аудита не настроена или недоступна."
disabled = "Журнал аудита отключен"
disabledMessage = "Включите журнал аудита в конфигурации приложения, чтобы отслеживать события системы."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Требуется лицензия Enterprise"
+enterpriseRequiredMessage = "Система журналирования аудита — функция уровня Enterprise. Пожалуйста, перейдите на лицензию Enterprise, чтобы получить доступ к аудит‑логам и аналитике."
[audit.error]
title = "Ошибка загрузки системы аудита"
@@ -6156,6 +6372,7 @@ description = "Введите полный URL вашего self-hosted серв
[setup.server.error]
emptyUrl = "Введите URL сервера"
+invalidUrl = "Неверный формат URL. Введите корректный URL, например https://your-server.com"
unreachable = "Не удалось подключиться к серверу"
testFailed = "Тест подключения не пройден"
configFetch = "Не удалось получить конфигурацию сервера. Проверьте URL и попробуйте ещё раз."
@@ -6174,6 +6391,7 @@ connectingTo = "Подключение к:"
submit = "Войти"
signInWith = "Войти через"
oauthPending = "Открываем браузер для аутентификации..."
+sso = "Единый вход (SSO)"
orContinueWith = "Или продолжить по email"
serverRequirement = "Примечание: на сервере должен быть включён вход в систему."
showInstructions = "Как включить?"
@@ -6188,7 +6406,7 @@ label = "Имя пользователя"
placeholder = "Введите имя пользователя"
[setup.login.email]
-label = "Эл. почта"
+label = "Email"
placeholder = "Введите email"
[setup.login.password]
@@ -6239,8 +6457,8 @@ reset = "Сбросить изменения"
downloadJson = "Скачать JSON"
generatePdf = "Сформировать PDF"
saveChanges = "Сохранить изменения"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Применить изменения"
+downloadCopy = "Скачать копию"
[pdfTextEditor.options.autoScaleText]
title = "Автоматически подгонять текст по рамке"
@@ -6260,22 +6478,22 @@ title = "Фиксировать отредактированный текст в
description = "При включении редактор экспортирует каждый отредактированный блок как один элемент текста PDF, чтобы избежать наложений глифов или смешения шрифтов."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Дополнительные настройки"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Ограничения предпросмотра"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Фокус на тексте и изображениях"
+text = "Это рабочее пространство ориентировано на редактирование текста и перемещение встроенных изображений. Сложные элементы страниц, виджеты форм и многослойная графика сохраняются для экспорта, но здесь не полностью редактируемы."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Отличия предпросмотра"
+text = "Некоторые элементы (например, границы таблиц, фигуры или вид аннотаций) могут отображаться в предпросмотре неточно. Экспортируемый PDF по возможности сохраняет исходные команды отрисовки."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Альфа‑просмотрщик"
+text = "Этот альфа‑просмотрщик ещё развивается — некоторые шрифты, цвета, эффекты прозрачности и детали макета могут немного отличаться. Пожалуйста, перепроверьте созданный PDF перед отправкой."
[pdfTextEditor.manual]
mergeTooltip = "Объединить выбранные блоки"
@@ -6398,3 +6616,58 @@ title = "Результаты добавления текста"
[addText.error]
failed = "Произошла ошибка при добавлении текста в PDF."
+
+[mobileUpload]
+title = "Загрузка с мобильного"
+description = "Сканируйте для загрузки фото. Изображения автоматически преобразуются в PDF."
+descriptionNoConvert = "Сканируйте, чтобы загрузить фото с мобильного устройства."
+error = "Ошибка соединения"
+pollingError = "Ошибка при проверке файлов"
+sessionId = "ID сессии"
+sessionCreateError = "Не удалось создать сессию"
+expiryWarning = "Сеанс скоро истечёт"
+expiryWarningMessage = "Срок действия этого QR‑кода истечёт через {{seconds}} секунд. Новый код будет сгенерирован автоматически."
+filesReceived = "Получено файлов: {{count}}"
+connected = "Мобильное устройство подключено"
+instructions = "Сканируйте камерой телефона. Изображения автоматически преобразуются в PDF."
+instructionsNoConvert = "Сканируйте камерой телефона, чтобы загрузить файлы."
+
+[mobileScanner]
+title = "Мобильный сканер"
+noSession = "Недействительный сеанс"
+noSessionMessage = "Отсканируйте действительный QR‑код для доступа к этой странице."
+validating = "Проверка сеанса..."
+sessionInvalid = "Ошибка сеанса"
+sessionExpired = "Сеанс истёк. Обновите страницу и попробуйте ещё раз."
+sessionNotFound = "Сеанс не найден. Обновите страницу и попробуйте ещё раз."
+sessionValidationError = "Не удалось проверить сеанс. Попробуйте ещё раз."
+uploadSuccess = "Загрузка выполнена!"
+uploadSuccessMessage = "Ваши изображения переданы."
+httpsRequired = "Доступ к камере требует HTTPS или localhost. Используйте HTTPS или обращайтесь через localhost."
+uploadFailed = "Не удалось загрузить. Повторите попытку."
+uploading = "Загрузка..."
+connected = "Подключено"
+connecting = "Подключение..."
+chooseMethod = "Выберите способ загрузки"
+chooseMethodDescription = "Выберите, как вы хотите сканировать и загружать документы"
+camera = "Камера"
+cameraDescription = "Сканируйте документы с помощью камеры устройства с автоматическим определением границ"
+fileUpload = "Загрузка файла"
+fileDescription = "Загрузите имеющиеся фото или документы с устройства"
+cameraAccessDenied = "Доступ к камере запрещён. Разрешите доступ к камере."
+back = "Назад"
+settings = "Настройки"
+edgeDetection = "Обнаружение границ"
+flashlight = "Фонарик"
+flash = "Вспышка"
+processing = "Обработка..."
+capture = "Сделать фото"
+selectFilesPrompt = "Выберите файлы для загрузки"
+selectImage = "Выбрать изображение"
+preview = "Предпросмотр"
+retake = "Переснять"
+addToBatch = "Добавить в пакет"
+upload = "Загрузить"
+batchImages = "Пакет"
+clearBatch = "Очистить"
+uploadAll = "Загрузить все"
diff --git a/frontend/public/locales/sk-SK/translation.toml b/frontend/public/locales/sk-SK/translation.toml
index 159f2ce79..b241946e7 100644
--- a/frontend/public/locales/sk-SK/translation.toml
+++ b/frontend/public/locales/sk-SK/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "Máte neuložené zmeny v PDF."
+pendingRedactionsTitle = "Nepoužité začiernenia"
+pendingRedactions = "Máte nepoužité začiernenia, ktoré sa stratia."
areYouSure = "Naozaj chcete odísť?"
unsavedChangesTitle = "Neuložené zmeny"
keepWorking = "Pokračovať v práci"
discardChanges = "Zahodiť a odísť"
+discardRedactions = "Zahodiť a odísť"
applyAndContinue = "Uložiť a odísť"
exportAndContinue = "Exportovať a pokračovať"
cancel = "Zrušiť"
@@ -99,7 +102,7 @@ visitGithub = "Navštíviť GitHub repozitár"
donate = "Darovať"
color = "Farba"
sponsor = "Sponzorovať"
-info = "Informácie"
+info = "Info"
pro = "Pro"
page = "Strana"
pages = "Strany"
@@ -279,7 +282,7 @@ iAgreeToThe = "Súhlasím so všetkými"
terms = "Podmienkami používania"
accessibility = "Prístupnosť"
cookie = "Zásady používania súborov cookie"
-impressum = "Impresum"
+impressum = "Impressum"
showCookieBanner = "Predvoľby súborov cookie"
[pipeline]
@@ -364,6 +367,7 @@ advanced = "Pokročilé"
title = "Zabezpečenie a autentifikácia"
security = "Zabezpečenie"
connections = "Pripojenia"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Licencovanie a analytika"
@@ -438,25 +442,34 @@ currentVersion = "Aktuálna verzia"
latestVersion = "Najnovšia verzia"
checkForUpdates = "Skontrolovať aktualizácie"
viewDetails = "Zobraziť podrobnosti"
+serverNeedsUpdate = "Server musí aktualizovať administrátor"
+
+[settings.general.versionInfo]
+title = "Informácie o verzii"
+description = "Podrobnosti o verzii desktopu a servera"
+desktop = "Desktopová verzia"
+server = "Verzia servera"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Zabezpečenie"
+description = "Aktualizujte svoje heslo, aby bol váš účet v bezpečí."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Zmeňte si heslo. Po aktualizácii budete odhlásení."
+required = "Všetky polia sú povinné."
+mismatch = "Nové heslá sa nezhodujú."
+error = "Heslo sa nepodarilo aktualizovať. Overte svoje aktuálne heslo a skúste znova."
+success = "Heslo bolo úspešne aktualizované. Prihláste sa prosím znova."
+ssoDisabled = "Zmeny hesla spravuje váš poskytovateľ identity."
+current = "Aktuálne heslo"
+currentPlaceholder = "Zadajte svoje aktuálne heslo"
+new = "Nové heslo"
+newPlaceholder = "Zadajte nové heslo"
+confirm = "Potvrďte nové heslo"
+confirmPlaceholder = "Zadajte znova svoje nové heslo"
+update = "Aktualizovať heslo"
+
+
[settings.hotkeys]
title = "Klávesové skratky"
@@ -511,16 +524,16 @@ low = "Nízka"
title = "Zmeniť údaje"
header = "Aktualizujte údaje svojho účtu"
changePassword = "Používate predvolené prihlasovacie údaje. Prosím, zadajte nové heslo"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Váš účet spravuje váš poskytovateľ identity."
newUsername = "Nové používateľské meno"
oldPassword = "Aktuálne heslo"
newPassword = "Nové heslo"
confirmNewPassword = "Potvrďte nové heslo"
submit = "Odoslať zmeny"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Účet aktualizovaný"
+description = "Zmeny boli uložené. Prihláste sa prosím znova."
+error = "Používateľské meno sa nepodarilo aktualizovať. Overte svoje heslo a skúste znova."
+changeUsername = "Aktualizujte svoje používateľské meno. Po aktualizácii budete odhlásení."
[account]
title = "Nastavenia účtu"
@@ -528,6 +541,8 @@ accountSettings = "Nastavenia účtu"
adminSettings = "Admin nastavenia - Zobraziť a pridať používateľov"
userControlSettings = "Nastavenia kontroly používateľov"
changeUsername = "Zmeniť používateľské meno"
+changeUsernameDescription = "Aktualizujte svoje používateľské meno. Po aktualizácii budete odhlásení."
+newUsernamePlaceholder = "Zadajte svoje nové používateľské meno"
newUsername = "Nové používateľské meno"
password = "Potvrdzovacie heslo"
oldPassword = "Staré heslo"
@@ -546,7 +561,7 @@ syncToAccount = "Synchronizovať účet <- Prehliadač"
[adminUserSettings]
title = "Nastavenia kontroly používateľov"
header = "Admin nastavenia kontroly používateľov"
-admin = "Administrátor"
+admin = "Admin"
user = "Používateľ"
addUser = "Pridať nového používateľa"
deleteUser = "Odstrániť používateľa"
@@ -737,9 +752,9 @@ title = "Podpísať"
desc = "Pridáva podpis do PDF kreslením, textom alebo obrázkom"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "anotovať,zvýrazniť,kresliť"
+title = "Anotovať"
+desc = "Zvýrazňujte, kreslite, pridávajte poznámky a tvary vo videní"
[home.flatten]
tags = "zjednodušiť,odstrániť,interaktívne"
@@ -952,7 +967,7 @@ title = "Prekrývanie PDF"
[home.pdfTextEditor]
title = "Editor textu PDF"
-desc = "Upravujte existujúci text a obrázky v PDF"
+desc = "Kontrolujte a upravujte Stirling PDF JSON exporty so skupinovými úpravami textu a opätovným vytvorením PDF"
[home.addText]
tags = "text,anotácia,štítok"
@@ -963,6 +978,7 @@ desc = "Pridajte vlastný text kdekoľvek do svojho PDF"
addFiles = "Pridať súbory"
uploadFromComputer = "Nahrať z počítača"
openFromComputer = "Otvoriť z počítača"
+mobileUpload = "Nahratie z mobilu"
[viewPdf]
tags = "zobraziť,čítať,anotovať,text,obrázok"
@@ -1278,21 +1294,33 @@ cbzOptions = "Možnosti CBZ na PDF"
optimizeForEbook = "Optimalizovať PDF pre čítačky e‑kníh (používa Ghostscript)"
cbzOutputOptions = "Možnosti PDF na CBZ"
cbzDpi = "DPI pre vykresľovanie obrázkov"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "Možnosti CBR"
+cbrOutputOptions = "Možnosti PDF na CBR"
+cbrDpi = "DPI pre vykresľovanie obrázkov"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "Možnosti eBook na PDF"
+ebookOptionsDesc = "Možnosti prevodu eBook na PDF"
+embedAllFonts = "Vložiť všetky písma"
+embedAllFontsDesc = "Vložiť všetky písma z eBook do generovaného PDF"
+includeTableOfContents = "Zahrnúť obsah"
+includeTableOfContentsDesc = "Pridať vygenerovaný obsah do výsledného PDF"
+includePageNumbers = "Zahrnúť čísla strán"
+includePageNumbersDesc = "Pridať čísla strán do generovaného PDF"
+optimizeForEbookPdf = "Optimalizovať pre čítačky eBookov"
+optimizeForEbookPdfDesc = "Optimalizovať PDF na čítanie eBookov (menšia veľkosť, lepšie vykresľovanie na eInk zariadeniach)"
+
+[convert.epubOptions]
+epubOptions = "Možnosti PDF na eBook"
+epubOptionsDesc = "Možnosti prevodu PDF do EPUB/AZW3"
+detectChapters = "Rozpoznať kapitoly"
+detectChaptersDesc = "Rozpoznať nadpisy, ktoré vyzerajú ako kapitoly, a vložiť zalomenia strán EPUB"
+targetDevice = "Cieľové zariadenie"
+targetDeviceDesc = "Vyberte výstupný profil optimalizovaný pre čítačku"
+outputFormat = "Výstupný formát"
+outputFormatDesc = "Vyberte výstupný formát pre eBook"
+tabletPhone = "Tablet/Telefón (s obrázkami)"
+kindleEink = "Kindle e-Ink (optimalizované pre text)"
[imageToPdf]
tags = "konverzia,img,jpg,obrázok,fotografia"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "Pridať prílohu"
remove = "Odstrániť prílohu"
embed = "Vložiť prílohu"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Konvertovať na PDF/A-3b"
+convertToPdfA3bDescription = "Vytvorí archívne PDF s vloženými prílohami"
+convertToPdfA3bTooltip = "PDF/A-3b je archívny formát zabezpečujúci dlhodobé uchovanie. Umožňuje vkladať ľubovoľné formáty súborov ako prílohy. Konverzia vyžaduje Ghostscript a pri veľkých súboroch môže trvať dlhšie."
+convertToPdfA3bTooltipHeader = "O konverzii PDF/A-3b"
+convertToPdfA3bTooltipTitle = "Čo to robí"
submit = "Add attachments"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "Uložené"
label = "Nahrať obrázok podpisu"
placeholder = "Vyberte súbor obrázka"
hint = "Nahrajte obrázok vášho podpisu vo formáte PNG alebo JPG"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Odstrániť biele pozadie (spriehľadniť)"
+processing = "Spracovanie obrázka..."
+backgroundRemovalFailedTitle = "Odstránenie pozadia zlyhalo"
+backgroundRemovalFailedMessage = "Pozadie z obrázka sa nepodarilo odstrániť. Namiesto toho sa použije pôvodný obrázok."
[sign.instructions]
title = "Ako pridať podpis"
@@ -2409,9 +2437,9 @@ label = "Zploštiť iba formuláre"
desc = "Sploštiť len polia formulára, ostatné interaktívne prvky ponechať"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "DPI vykresľovania (voliteľné, odporúčané 150 DPI)"
+help = "Nechajte prázdne pre systémové predvolené. Vyššie DPI zostrí výstup, ale zvýši čas spracovania a veľkosť súboru."
+placeholder = "napr. 150"
[flatten.results]
title = "Výsledky sploštenia"
@@ -2987,7 +3015,7 @@ header = "Orezať PDF"
submit = "Odoslať"
noFileSelected = "Vyberte súbor PDF a začnite orezávať"
reset = "Obnoviť na celé PDF"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Automaticky orezať biele okraje"
[crop.preview]
title = "Výber oblasti orezania"
@@ -3218,6 +3246,7 @@ title = "Metóda redigovania"
mode = "Režim"
automatic = "Automaticky"
automaticDesc = "Redigovať text na základe hľadaných výrazov"
+automaticDisabledTooltip = "Vyberte súbory v správcovi súborov, aby ste začiernili viacero súborov naraz"
manual = "Manuálne"
manualDesc = "Kliknite a ťahajte na redigovanie konkrétnych oblastí"
manualComingSoon = "Manuálne redigovanie už čoskoro"
@@ -3288,8 +3317,35 @@ text = "Zhoduje iba celé slová, nie čiastkové zhody. 'John' sa nezhodí s 'J
title = "Konvertovať na PDF-Image"
text = "Po redigovaní konvertuje PDF na obrazové PDF. Zabezpečí, že text za rámčekmi redigovania je úplne odstránený a neobnoviteľný."
+[redact.tooltip.manual.header]
+title = "Manuálne ovládanie začiernenia"
+
+[redact.tooltip.manual.markText]
+title = "Nástroj na označenie textu"
+text = "Vyberte text priamo v PDF a označte ho na začiernenie. Kliknite a ťahajte pre zvýraznenie konkrétneho textu, ktorý chcete začierniť."
+
+[redact.tooltip.manual.markArea]
+title = "Nástroj na označenie oblasti"
+text = "Kreslite obdĺžnikové oblasti v PDF a označte regióny na začiernenie. Užitočné na začiernenie obrázkov, podpisov alebo nepravidelných tvarov."
+
+[redact.tooltip.manual.apply]
+title = "Použiť začiernenia"
+text = "Po označení obsahu kliknite na 'Použiť' a natrvalo začiernime všetky označené oblasti. Počet čakajúcich ukazuje, koľko začiernení je pripravených na použitie."
+bullet1 = "Označte toľko oblastí, koľko potrebujete, pred použitím"
+bullet2 = "Všetky čakajúce začiernenia sa použijú naraz"
+bullet3 = "Začiernenia nemožno po použití vrátiť späť"
+
[redact.manual]
+title = "Nástroje na začiernenie"
+instructions = "Vyberte text alebo nakreslite oblasti v PDF a označte obsah na začiernenie."
+markText = "Označiť text"
+markArea = "Označiť oblasť"
+pendingLabel = "Čaká:"
+applyWarning = "⚠️ Trvalé použitie, nedá sa vrátiť späť a údaje pod tým budú odstránené"
+apply = "Použiť"
+noMarks = "Žiadne značky na začiernenie. Použite nástroje vyššie a označte obsah na začiernenie."
header = "Manuálne redigovanie"
+controlsTitle = "Manuálne ovládanie začiernenia"
textBasedRedaction = "Redigovanie podľa textu"
pageBasedRedaction = "Redigovanie podľa strán"
convertPDFToImageLabel = "Konvertovať PDF na PDF-Image (Používa sa na odstránenie textu za rámčekom)"
@@ -3406,17 +3462,17 @@ label = "Vertikálne delenia"
placeholder = "Zadajte počet vertikálnych delení"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Režim rozdelenia"
+description = "Vyberte, ako rozdeliť strany"
+splitAll = "Rozdeliť všetky strany"
+splitAllExceptFirst = "Rozdeliť všetko okrem prvej"
+splitAllExceptLast = "Rozdeliť všetko okrem poslednej"
+splitAllExceptFirstAndLast = "Rozdeliť všetko okrem prvej a poslednej"
+custom = "Vlastné strany"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Vlastné čísla strán"
+placeholder = "napr. 2,4,6"
[AddStampRequest]
tags = "pečiatka, pridať obrázok, stred obrázka, vodotlač, PDF, vložiť, prispôsobiť"
@@ -3713,7 +3769,7 @@ title = "PDF na jednu stránku"
header = "PDF na jednu stránku"
submit = "Konvertovať na jednu stránku"
description = "Tento nástroj zlúči všetky strany vášho PDF do jednej veľkej stránky. Šírka zostane rovnaká ako pri pôvodných stranách, výška bude súčtom výšok všetkých strán."
-filenamePrefix = "jedna_strana"
+filenamePrefix = "single_page"
[pdfToSinglePage.files]
placeholder = "Vyberte súbor PDF v hlavnom zobrazení, aby ste začali"
@@ -3780,17 +3836,17 @@ filesize = "Veľkosť súboru"
label = "Použiť odtiene šedej na kompresiu"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Linearizovať PDF pre rýchle zobrazenie na webe"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Konvertovať obrázky na kresbu čiarami"
+description = "Používa ImageMagick na redukciu strán na vysokokontrastnú čiernobielu pre maximálne zmenšenie veľkosti."
+unavailable = "ImageMagick nie je nainštalovaný alebo povolený na tomto serveri"
+detailLevel = "Úroveň detailov"
+edgeEmphasis = "Zvýraznenie hrán"
+edgeLow = "Jemné"
+edgeMedium = "Vyvážené"
+edgeHigh = "Silné"
[compress.tooltip.header]
title = "Prehľad nastavení kompresie"
@@ -3810,8 +3866,8 @@ title = "Odtiene sivej"
text = "Vyberte túto možnosť na prevod všetkých obrázkov na čiernobiele, čo môže výrazne zmenšiť veľkosť súboru, najmä pri skenovaných PDF alebo dokumentoch s množstvom obrázkov."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "Kresba čiarami"
+text = "Konvertujte strany na vysokokontrastnú čiernobielu pomocou ImageMagick. Úroveň detailov riadi, koľko obsahu bude čierne, a zvýraznenie hrán určuje, ako agresívne sa majú detegovať okraje."
[compress.error]
failed = "Pri komprimovaní PDF došlo k chybe."
@@ -3826,9 +3882,9 @@ _value = "Nastavenia kompresie"
1 = "1–3 kompresia PDF, 4–6 mierna kompresia obrázkov, 7–9 silná kompresia obrázkov výrazne zníži kvalitu obrázkov"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Nižšie hodnoty zachovávajú kvalitu, ale vedú k väčším súborom"
+range4to6 = "Stredná kompresia s miernym znížením kvality"
+range7to9 = "Vyššie hodnoty výrazne znižujú veľkosť súboru, ale môžu znížiť ostrosť obrazu"
[decrypt]
passwordPrompt = "Tento súbor je chránený heslom. Zadajte heslo:"
@@ -3973,7 +4029,7 @@ version = "Aktuálne vydanie"
title = "Dokumentácia API"
header = "Dokumentácia API"
desc = "Zobraziť a testovať API endpointy Stirling PDF"
-tags = "api,dokumentácia,swagger,endpointy,vývoj"
+tags = "api,documentation,swagger,endpoints,development"
[cookieBanner.popUp]
title = "Ako používame súbory cookie"
@@ -4069,7 +4125,7 @@ deleteSelected = "Odstrániť vybrané strany"
closePdf = "Zavrieť PDF"
exportAll = "Exportovať PDF"
downloadSelected = "Stiahnuť vybrané súbory"
-annotations = "Annotations"
+annotations = "Anotácie"
exportSelected = "Exportovať vybrané strany"
saveChanges = "Uložiť zmeny"
toggleTheme = "Prepnúť tému"
@@ -4077,84 +4133,90 @@ language = "Jazyk"
toggleAnnotations = "Prepnúť zobrazenie anotácií"
search = "Hľadať v PDF"
panMode = "Režim posunu"
+applyRedactionsFirst = "Najprv použite začiernenia"
rotateLeft = "Otočiť doľava"
rotateRight = "Otočiť doprava"
toggleSidebar = "Prepnúť bočný panel"
toggleBookmarks = "Prepnúť záložky"
print = "Vytlačiť PDF"
+draw = "Kresliť"
+redact = "Začierniť"
+exitRedaction = "Ukončiť režim začiernenia"
+save = "Uložiť"
downloadAll = "Stiahnuť všetko"
saveAll = "Uložiť všetko"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Vľavo"
+center = "Na stred"
+right = "Vpravo"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
+title = "Anotovať"
+desc = "Použite zvýrazňovanie, pero, text a poznámky. Zmeny zostávajú aktívne — zploštenie nie je potrebné."
+highlight = "Zvýrazniť"
+pen = "Pero"
+text = "Textové pole"
+note = "Poznámka"
+rectangle = "Obdĺžnik"
+ellipse = "Elipsa"
+select = "Vybrať"
+exit = "Ukončiť režim anotácií"
+strokeWidth = "Šírka"
+opacity = "Nepriehľadnosť"
+strokeOpacity = "Nepriehľadnosť obrysu"
+fillOpacity = "Nepriehľadnosť výplne"
+fontSize = "Veľkosť písma"
+chooseColor = "Vyberte farbu"
+color = "Farba"
+strokeColor = "Farba obrysu"
+fillColor = "Farba výplne"
+underline = "Podčiarknutie"
+strikeout = "Prečiarknutie"
+squiggly = "Vlnovka"
+inkHighlighter = "Zvýrazňovač voľnou rukou"
+freehandHighlighter = "Zvýrazňovač voľnou rukou"
+square = "Štvorec"
+circle = "Kruh"
+polygon = "Mnohouholník"
+line = "Čiara"
+stamp = "Pridať obrázok"
+textMarkup = "Značenie textu"
+drawing = "Kreslenie"
+shapes = "Tvary"
+notesStamps = "Poznámky a pečiatky"
+settings = "Nastavenia"
+borderOn = "Okraj: Zapnuté"
+borderOff = "Okraj: Vypnuté"
+editInk = "Upraviť pero"
+editLine = "Upraviť čiaru"
+editNote = "Upraviť poznámku"
+editText = "Upraviť textové pole"
+editTextMarkup = "Upraviť značenie textu"
+editSelected = "Upraviť anotáciu"
+editSquare = "Upraviť štvorec"
+editCircle = "Upraviť kruh"
+editPolygon = "Upraviť mnohouholník"
+unsupportedType = "Tento typ anotácie nie je plne podporovaný na úpravu."
+textAlignment = "Zarovnanie textu"
+noteIcon = "Ikona poznámky"
+imagePreview = "Náhľad"
contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+backgroundColor = "Farba pozadia"
+clearBackground = "Odstrániť pozadie"
+noBackground = "Bez pozadia"
+stampSettings = "Nastavenia pečiatky"
+savingCopy = "Príprava sťahovania..."
+saveFailed = "Kópiu sa nepodarilo uložiť"
+saveReady = "Sťahovanie pripravené"
+selectAndMove = "Vybrať a upraviť"
+editSelectDescription = "Kliknite na existujúcu anotáciu a upravte jej farbu, nepriehľadnosť, text alebo veľkosť."
+editStampHint = "Ak chcete zmeniť obrázok, odstráňte túto pečiatku a pridajte novú."
+editSwitchToSelect = "Prepnite na Vybrať a upraviť, aby ste upravili túto anotáciu."
+undo = "Späť"
+redo = "Znova"
+applyChanges = "Použiť zmeny"
+saveChanges = "Uložiť zmeny"
[search]
title = "Hľadať v PDF"
@@ -4205,20 +4267,20 @@ settings = "Nast."
adminSettings = "Admin nast."
allTools = "All Tools"
reader = "Čítačka"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Prehliadky"
+showMeAround = "Previesť ma"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Pozrite si návody tu: prehliadka Nástrojov, prehliadka nového rozloženia V2 a Administrátorská prehliadka."
+user = "Pozrite si návody tu: prehliadka Nástrojov a prehliadka nového rozloženia V2."
[quickAccess.helpMenu]
toolsTour = "Prehliadka nástrojov"
toolsTourDesc = "Zistite, čo nástroje dokážu"
adminTour = "Prehliadka administrácie"
adminTourDesc = "Preskúmajte administrátorské nastavenia a funkcie"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Pozrite, čo je nové vo V2"
+whatsNewTourDesc = "Prehliadka aktualizovaného rozloženia"
[admin]
error = "Chyba"
@@ -4237,6 +4299,8 @@ fetchError = "Nepodarilo sa načítať nastavenia"
saveError = "Nepodarilo sa uložiť nastavenia"
saved = "Nastavenia boli úspešne uložené"
saveSuccess = "Nastavenia boli úspešne uložené"
+success = "Nastavenia boli úspešne uložené"
+error = "Nepodarilo sa uložiť nastavenia"
save = "Uložiť zmeny"
discard = "Zahodiť"
restartRequired = "Vyžaduje sa reštart"
@@ -4360,6 +4424,13 @@ description = "Cesta k spustiteľnému súboru WeasyPrint na konverziu HTML do P
label = "Spustiteľný súbor Unoconvert"
description = "Cesta k LibreOffice unoconvert pre konverzie dokumentov (ponechajte prázdne pre predvolené: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "Frontend URL"
+description = "Základná URL pre frontend (napr. https://pdf.example.com). Používa sa pre odkazy v e-mailových pozvánkach a mobilné nahrávanie cez QR kód. Nechajte prázdne, aby sa použila URL backendu."
+
+[admin.settings.badge]
+clickToUpgrade = "Kliknite pre zobrazenie podrobností plánu"
+
[admin.settings.security]
title = "Zabezpečenie"
description = "Nakonfigurujte overenie, správanie prihlásenia a bezpečnostné politiky."
@@ -4496,6 +4567,19 @@ connect = "Pripojiť"
disconnect = "Odpojiť"
disconnected = "Poskytovateľ bol úspešne odpojený"
disconnectError = "Poskytovateľa sa nepodarilo odpojiť"
+mobileScannerConvertToPdf = "Konvertovať obrázky na PDF"
+mobileScannerConvertToPdfDesc = "Automaticky konvertovať nahrané obrázky do formátu PDF. Ak je vypnuté, obrázky zostanú nezmenené."
+mobileScannerImageResolution = "Rozlíšenie obrázkov"
+mobileScannerImageResolutionDesc = "Rozlíšenie nahraných obrázkov. „Znížené“ zmenší obrázky na max. 1200 px pre zníženie veľkosti súboru."
+imageResolutionFull = "Plné (pôvodná veľkosť)"
+imageResolutionReduced = "Znížené (max. 1200 px)"
+mobileScannerPageFormat = "Formát strany"
+mobileScannerPageFormatDesc = "Veľkosť stránky PDF pre konvertované obrázky. „Ponechať“ použije pôvodné rozmery obrázka."
+pageFormatKeep = "Ponechať (pôvodné rozmery)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Roztiahnuť na celú stránku"
+mobileScannerStretchToFitDesc = "Roztiahnuť obrázky tak, aby vyplnili celú stranu. Ak je vypnuté, obrázky budú vystredené so zachovaním pomeru strán."
[admin.settings.connections.ssoAutoLogin]
label = "Automatické prihlásenie SSO"
@@ -4564,6 +4648,122 @@ description = "Automaticky vytvoriť používateľské účty pri prvom prihlás
label = "Blokovať registráciu"
description = "Zabrániť registrácii nových používateľov cez SAML2"
+[admin.settings.connections.mobileScanner]
+label = "Nahrávanie z mobilu"
+enable = "Povoliť nahrávanie cez QR kód"
+description = "Umožnite používateľom nahrávať súbory z mobilných zariadení naskenovaním QR kódu"
+note = "Poznámka: Vyžaduje nastavený Frontend URL. "
+link = "Nastaviť v systémových nastaveniach"
+mobileScannerConvertToPdf = "Konvertovať obrázky na PDF"
+mobileScannerConvertToPdfDesc = "Automaticky konvertovať nahrané obrázky do formátu PDF. Ak je vypnuté, obrázky zostanú nezmenené."
+mobileScannerImageResolution = "Rozlíšenie obrázkov"
+mobileScannerImageResolutionDesc = "Rozlíšenie nahraných obrázkov. „Znížené“ zmenší obrázky na max. 1200 px pre zníženie veľkosti súboru."
+imageResolutionFull = "Plné (pôvodná veľkosť)"
+imageResolutionReduced = "Znížené (max. 1200 px)"
+mobileScannerPageFormat = "Formát strany"
+mobileScannerPageFormatDesc = "Veľkosť stránky PDF pre konvertované obrázky. „Ponechať“ použije pôvodné rozmery obrázka."
+pageFormatKeep = "Ponechať (pôvodné rozmery)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Roztiahnuť na celú stránku"
+mobileScannerStretchToFitDesc = "Roztiahnuť obrázky tak, aby vyplnili celú stranu. Ak je vypnuté, obrázky budú vystredené so zachovaním pomeru strán."
+
+[admin.settings.telegram]
+title = "Telegram Bot"
+description = "Nakonfigurujte pripojenie Telegram bota, riadenie prístupu a správanie spätnej väzby."
+
+[admin.settings.telegram.enabled]
+label = "Povoliť Telegram bota"
+description = "Umožniť používateľom pracovať so Stirling PDF cez váš nakonfigurovaný Telegram bot."
+
+[admin.settings.telegram.botUsername]
+label = "Používateľské meno bota"
+description = "Verejné používateľské meno vášho Telegram bota."
+
+[admin.settings.telegram.botToken]
+label = "Token bota"
+description = "API token poskytnutý BotFather pre váš Telegram bot."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Priečinok Doručená pošta"
+description = "Priečinok v adresári pipeline, kde sa ukladajú prichádzajúce súbory z Telegramu."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Použiť vlastnú príponu priečinka"
+description = "Pripojiť ID chatu k priečinkom s prichádzajúcimi súbormi na izolovanie nahrávaní podľa chatu."
+
+[admin.settings.telegram.accessControl]
+title = "Riadenie prístupu"
+description = "Obmedzte, ktorí používatelia alebo kanály môžu komunikovať s botom."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Povoliť konkrétne ID používateľov"
+description = "Ak je zapnuté, bot môžu používať len uvedené používateľské ID."
+
+[admin.settings.telegram.allowUserIDs]
+label = "Povolené ID používateľov"
+description = "Zadajte Telegram ID používateľov, ktorí môžu komunikovať s botom."
+placeholder = "Pridajte ID používateľa a stlačte Enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Povoliť konkrétne ID kanálov"
+description = "Ak je zapnuté, bot môžu používať len uvedené ID kanálov."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "Povolené ID kanálov"
+description = "Zadajte Telegram ID kanálov, ktoré môžu komunikovať s botom."
+placeholder = "Pridajte ID kanála a stlačte Enter"
+
+[admin.settings.telegram.processing]
+title = "Spracovanie"
+description = "Nastavte intervaly dotazovania a časové limity spracovania pre nahrávky z Telegramu."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Časový limit spracovania (sekundy)"
+description = "Maximálny čas čakania na spracovanie úlohy pred nahlásením chyby."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Interval dotazovania (ms)"
+description = "Interval medzi kontrolami nových aktualizácií z Telegramu."
+
+[admin.settings.telegram.feedback]
+title = "Správy spätnej väzby"
+description = "Vyberte, kedy má bot posielať spätnú väzbu používateľom a kanálom."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Povoliť spätnú väzbu"
+description = "Určuje, či bot vôbec posiela správy spätnej väzby."
+
+[admin.settings.telegram.feedback.channel]
+title = "Pravidlá spätnej väzby pre kanály"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Zobraziť „Žiadny platný dokument“ (Kanál)"
+description = "Potlačiť odpoveď „Žiadny platný dokument“ pri nahrávaní do kanálov."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Zobraziť chyby spracovania (Kanál)"
+description = "Posielať správy o chybách spracovania do kanálov."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Zobraziť chybové správy (Kanál)"
+description = "Zobraziť podrobné chybové správy pre kanály."
+
+[admin.settings.telegram.feedback.user]
+title = "Pravidlá spätnej väzby pre používateľov"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Zobraziť „Žiadny platný dokument“ (Používateľ)"
+description = "Potlačiť odpoveď „Žiadny platný dokument“ pri nahrávaní od používateľov."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Zobraziť chyby spracovania (Používateľ)"
+description = "Posielať správy o chybách spracovania používateľom."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Zobraziť chybové správy (Používateľ)"
+description = "Zobraziť podrobné chybové správy pre používateľov."
+
[admin.settings.database]
title = "Databáza"
description = "Nakonfigurujte vlastné nastavenia pripojenia k databáze pre podnikové nasadenia."
@@ -4745,6 +4945,10 @@ description = "Umožniť správcom pozývať používateľov e-mailom s automati
label = "Frontend URL"
description = "Základná URL pre frontend (napr. https://pdf.example.com). Používa sa na generovanie odkazov na pozvánky v e-mailoch. Ponechajte prázdne pre použitie backend URL."
+[admin.settings.mail.frontendUrlNote]
+note = "Poznámka: Vyžaduje nastavený Frontend URL. "
+link = "Nastaviť v systémových nastaveniach"
+
[admin.settings.legal]
title = "Právne dokumenty"
description = "Nakonfigurujte odkazy na právne dokumenty a zásady."
@@ -4770,7 +4974,7 @@ label = "Zásady používania súborov cookie"
description = "URL alebo názov súboru so zásadami používania súborov cookie"
[admin.settings.legal.impressum]
-label = "Impresum"
+label = "Impressum"
description = "URL alebo názov súboru k Impressu (požadované v niektorých jurisdikciách)"
[admin.settings.premium]
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "Moje súbory"
noRecentFiles = "Nenašli sa žiadne nedávne súbory"
googleDriveNotAvailable = "Integrácia Google Drive nie je dostupná"
+mobileUpload = "Nahrávanie z mobilu"
+mobileShort = "Mobil"
+mobileUploadNotAvailable = "Nahrávanie z mobilu nie je povolené"
downloadSelected = "Stiahnuť vybrané"
saveSelected = "Uložiť vybrané"
openFiles = "Otvoriť súbory"
@@ -5244,7 +5451,7 @@ loading = "Načítava sa..."
back = "Späť"
continue = "Pokračovať"
error = "Chyba"
-save = "Save"
+save = "Uložiť"
[config.overview]
title = "Konfigurácia aplikácie"
@@ -5307,6 +5514,15 @@ impact = "Všetky aplikácie alebo služby, ktoré tieto kľúče aktuálne pou
confirmPrompt = "Naozaj chcete pokračovať?"
confirmCta = "Obnoviť kľúče"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "Chyba API kľúča"
+failedToCreateApiKey = "Nepodarilo sa vytvoriť API kľúč."
+failedToRetrieveApiKey = "Nepodarilo sa získať API kľúč z odpovede."
+failedToFetchApiKey = "Nepodarilo sa načítať API kľúč."
+apiKeyRefreshed = "API kľúč obnovený"
+apiKeyRefreshedBody = "Váš API kľúč bol úspešne obnovený."
+failedToRefreshApiKey = "Nepodarilo sa obnoviť API kľúč."
+
[AddAttachmentsRequest]
attachments = "Vyberte prílohy"
info = "Vyberte súbory, ktoré chcete pripojiť k PDF. Tieto súbory budú vložené a prístupné cez panel príloh PDF."
@@ -5412,14 +5628,14 @@ startTour = "Spustiť prehliadku"
startTourDescription = "Prejdite si sprievodcu kľúčovými funkciami Stirling PDF"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Začnite na lište Rýchly prístup a prepnite sa medzi Prehliadačom, Automatizáciou, vašimi súbormi a všetkými prehliadkami."
+leftPanel = "Ľavý panel Nástroje obsahuje všetko, čo môžete robiť. Prezrite si kategórie alebo hľadajte nástroj rýchlo."
+fileUpload = "Použite tlačidlo Súbory na nahratie alebo výber nedávneho PDF. Na ukážku načítame vzor, aby ste videli pracovné prostredie."
+rightRail = "Pravý panel obsahuje rýchle akcie na výber súborov, zmenu témy alebo jazyka a stiahnutie výsledkov."
+topBar = "Horná lišta umožňuje prepínať medzi Prehliadač, Editor strán a Aktívne súbory."
+pageEditorView = "Prepnite do Editora strán na zmenu poradia, otáčanie alebo odstránenie strán."
+activeFilesView = "Použite Aktívne súbory na zobrazenie všetkého, čo máte otvorené, a vyberte si, na čom pracovať."
+wrapUp = "To je všetko nové vo V2. Otvorte menu Prehliadky kedykoľvek a prehrajte si znova toto, prehliadku Nástrojov alebo Administrátorskú prehliadku."
[onboarding.welcomeModal]
title = "Vitajte v Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "Ukážte mi to"
skipTheTour = "Preskočiť prehliadku"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Prehľad prehliadky"
+body = "Stirling PDF V2 prichádza s desiatkami nástrojov a obnoveným rozložením. Dajte si rýchlu prehliadku, aby ste zistili, čo sa zmenilo a kde nájdete potrebné funkcie."
[onboarding.serverLicense]
skip = "Preskočiť zatiaľ"
@@ -5452,7 +5668,7 @@ upgrade = "Upgradovať teraz →"
freeTitle = "Serverová licencia"
overLimitTitle = "Potrebná serverová licencia"
overLimitBody = "Naše licencovanie povoľuje až {{freeTierLimit}} používateľov zdarma na server. Máte {{overLimitUserCopy}} používateľov Stirling. Ak chcete pokračovať bez prerušenia, prejdite na plán Stirling Server - neobmedzené miesta, úpravy textu PDF a plná správa pre $99/server/mo."
-freeBody = "Naše licencovanie Open-Core umožňuje až {{freeTierLimit}} používateľov zadarmo na server. Na plynulé škálovanie odporúčame plán Stirling Server - neobmedzený počet používateľov a podporu SSO za $99/server/mes."
+freeBody = "Naše licencovanie Open-Core povoľuje až {{freeTierLimit}} používateľov zdarma na server. Ak chcete škálovať bez prerušenia a získať skorý prístup k nášmu novému nástroju na úpravu textu PDF, odporúčame plán Stirling Server - plné úpravy a neobmedzené miesta za $99/server/mo."
[onboarding.desktopInstall]
title = "Stiahnuť"
@@ -5498,7 +5714,7 @@ active = "Aktívny"
disabled = "Zakázaný"
activeSession = "Aktívna relácia"
member = "Člen"
-admin = "Administrátor"
+admin = "Admin"
editRole = "Upraviť rolu"
enable = "Povoliť"
disable = "Zakázať"
@@ -5758,28 +5974,28 @@ contactSales = "Kontaktovať obchod"
contactToUpgrade = "Kontaktujte nás na inovovanie alebo prispôsobenie vášho plánu"
maxUsers = "Max. počet používateľov"
upTo = "Až do"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Získať serverovú licenciu"
+upgradeToEnterprise = "Prejsť na Enterprise"
+selectPeriod = "Vyberte fakturačné obdobie"
+monthlyBilling = "Mesačné fakturovanie"
+yearlyBilling = "Ročné fakturovanie"
+checkoutOpened = "Pokladňa otvorená"
+checkoutInstructions = "Dokončite nákup na karte Stripe. Po platbe sa sem vráťte a obnovte stránku, aby ste aktivovali licenciu. E‑mailom tiež dostanete licenčný kľúč."
+activateLicense = "Aktivujte svoju licenciu"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Pokladňa otvorená v novej karte"
+instructions = "Dokončite nákup na karte Stripe. Po dokončení platby dostanete e‑mail s licenčným kľúčom."
+enterKey = "Nižšie zadajte licenčný kľúč na aktiváciu plánu:"
+keyDescription = "Vložte licenčný kľúč z e‑mailu"
+activate = "Aktivovať licenciu"
+doLater = "Urobím to neskôr"
+success = "Licencia aktivovaná!"
+successMessage = "Vaša licencia bola úspešne aktivovaná. Teraz môžete toto okno zatvoriť."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "Vyžaduje sa overenie e‑mailu"
+message = "V portáli platieb Stripe budete musieť overiť svoju e‑mailovú adresu. Skontrolujte e‑mail pre prihlasovací odkaz."
[plan.period]
month = "mesiac"
@@ -5983,8 +6199,8 @@ notAvailable = "Auditný systém nie je k dispozícii"
notAvailableMessage = "Auditný systém nie je nakonfigurovaný alebo nie je k dispozícii."
disabled = "Auditné protokolovanie je vypnuté"
disabledMessage = "Povolením auditného protokolovania v konfigurácii aplikácie môžete sledovať udalosti systému."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Vyžaduje sa licencia Enterprise"
+enterpriseRequiredMessage = "Systém auditných záznamov je funkcia Enterprise. Ak chcete získať prístup k auditným záznamom a analytike, prejdite na licenciu Enterprise."
[audit.error]
title = "Chyba pri načítaní auditného systému"
@@ -6156,6 +6372,7 @@ description = "Zadajte úplnú URL svojho self-hostovaného servera Stirling PDF
[setup.server.error]
emptyUrl = "Zadajte URL servera"
+invalidUrl = "Neplatný formát URL. Zadajte platnú URL ako https://your-server.com"
unreachable = "Nedá sa pripojiť k serveru"
testFailed = "Test pripojenia zlyhal"
configFetch = "Nepodarilo sa načítať konfiguráciu servera. Skontrolujte URL a skúste to znova."
@@ -6174,6 +6391,7 @@ connectingTo = "Pripája sa k:"
submit = "Prihlásiť sa"
signInWith = "Prihlásiť sa cez"
oauthPending = "Otvára sa prehliadač na overenie..."
+sso = "Jednotné prihlásenie"
orContinueWith = "Alebo pokračujte emailom"
serverRequirement = "Poznámka: Na serveri musí byť povolené prihlásenie."
showInstructions = "Ako povoliť?"
@@ -6188,7 +6406,7 @@ label = "Používateľské meno"
placeholder = "Zadajte používateľské meno"
[setup.login.email]
-label = "E-mail"
+label = "Email"
placeholder = "Zadajte svoj email"
[setup.login.password]
@@ -6225,7 +6443,7 @@ paragraph = "Strana s odsekmi"
sparse = "Riedky text"
[pdfTextEditor.groupingMode]
-auto = "Automaticky"
+auto = "Auto"
paragraph = "Odsek"
singleLine = "Jeden riadok"
@@ -6239,8 +6457,8 @@ reset = "Resetovať zmeny"
downloadJson = "Stiahnuť JSON"
generatePdf = "Vygenerovať PDF"
saveChanges = "Uložiť zmeny"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Použiť zmeny"
+downloadCopy = "Stiahnuť kópiu"
[pdfTextEditor.options.autoScaleText]
title = "Automaticky prispôsobiť text do boxov"
@@ -6260,22 +6478,22 @@ title = "Uzamknúť upravovaný text na jeden PDF prvok"
description = "Keď je zapnuté, editor exportuje každý upravený textový box ako jeden PDF textový prvok, aby sa predišlo prekrývaniu glyfov alebo miešaniu písiem."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Pokročilé nastavenia"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Obmedzenia náhľadu"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Zameranie na text a obrázky"
+text = "Tento pracovný priestor sa zameriava na úpravu textu a premiestňovanie vložených obrázkov. Zložitá grafika strán, formulárové widgety a vrstvená grafika sú zachované na export, ale nie sú tu plne upraviteľné."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Odchýlky náhľadu"
+text = "Niektoré vizuály (ako okraje tabuliek, tvary alebo vzhľady anotácií) sa nemusia v náhľade zobraziť úplne presne. Exportované PDF si zachová pôvodné kresliace príkazy, kde je to možné."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Alfa prehliadač"
+text = "Tento alfa prehliadač sa stále vyvíja—niektoré písma, farby, efekty priehľadnosti a detaily rozloženia sa môžu mierne zmeniť. Pred zdieľaním si, prosím, vygenerované PDF skontrolujte."
[pdfTextEditor.manual]
mergeTooltip = "Zlúčiť vybrané boxy"
@@ -6398,3 +6616,58 @@ title = "Výsledky pridania textu"
[addText.error]
failed = "Pri pridávaní textu do PDF sa vyskytla chyba."
+
+[mobileUpload]
+title = "Nahratie z mobilu"
+description = "Naskenujte na nahratie fotiek. Obrázky sa automaticky konvertujú na PDF."
+descriptionNoConvert = "Naskenujte na nahratie fotiek z mobilného zariadenia."
+error = "Chyba pripojenia"
+pollingError = "Chyba pri kontrole súborov"
+sessionId = "ID relácie"
+sessionCreateError = "Nepodarilo sa vytvoriť reláciu"
+expiryWarning = "Relácia čoskoro vyprší"
+expiryWarningMessage = "Tento QR kód vyprší o {{seconds}} sekúnd. Nový kód sa vygeneruje automaticky."
+filesReceived = "{{count}} prijatých súborov"
+connected = "Mobilné zariadenie pripojené"
+instructions = "Naskenujte fotoaparátom telefónu. Obrázky sa automaticky konvertujú na PDF."
+instructionsNoConvert = "Naskenujte fotoaparátom telefónu a nahrajte súbory."
+
+[mobileScanner]
+title = "Mobilný skener"
+noSession = "Neplatná relácia"
+noSessionMessage = "Naskenujte platný QR kód pre prístup na túto stránku."
+validating = "Overuje sa relácia..."
+sessionInvalid = "Chyba relácie"
+sessionExpired = "Táto relácia vypršala. Obnovte stránku a skúste znova."
+sessionNotFound = "Relácia sa nenašla. Obnovte stránku a skúste znova."
+sessionValidationError = "Reláciu sa nepodarilo overiť. Skúste znova."
+uploadSuccess = "Nahrávanie úspešné!"
+uploadSuccessMessage = "Vaše obrázky boli prenesené."
+httpsRequired = "Prístup ku kamere vyžaduje HTTPS alebo localhost. Použite HTTPS alebo pristupujte cez localhost."
+uploadFailed = "Nahrávanie zlyhalo. Skúste znova."
+uploading = "Nahráva sa..."
+connected = "Pripojené"
+connecting = "Pripája sa..."
+chooseMethod = "Vyberte metódu nahrávania"
+chooseMethodDescription = "Vyberte, ako chcete skenovať a nahrávať dokumenty"
+camera = "Kamera"
+cameraDescription = "Skenujte dokumenty pomocou kamery zariadenia s automatickou detekciou okrajov"
+fileUpload = "Nahrávanie súborov"
+fileDescription = "Nahrajte existujúce fotografie alebo dokumenty zo svojho zariadenia"
+cameraAccessDenied = "Prístup ku kamere bol zamietnutý. Povoľte prístup ku kamere."
+back = "Späť"
+settings = "Nastavenia"
+edgeDetection = "Detekcia okrajov"
+flashlight = "Svetlo"
+flash = "Blesk"
+processing = "Spracováva sa..."
+capture = "Odfotiť"
+selectFilesPrompt = "Vyberte súbory na nahratie"
+selectImage = "Vybrať obrázok"
+preview = "Náhľad"
+retake = "Odfotiť znova"
+addToBatch = "Pridať do dávky"
+upload = "Nahrať"
+batchImages = "Dávka"
+clearBatch = "Vymazať"
+uploadAll = "Nahrať všetko"
diff --git a/frontend/public/locales/sl-SI/translation.toml b/frontend/public/locales/sl-SI/translation.toml
index 1f4652c20..c22d2745c 100644
--- a/frontend/public/locales/sl-SI/translation.toml
+++ b/frontend/public/locales/sl-SI/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "Imate neshranjene spremembe v vašem PDF."
+pendingRedactionsTitle = "Neuporabljena prekrivanja"
+pendingRedactions = "Imate neuporabljena prekrivanja, ki bodo izgubljena."
areYouSure = "Ali ste prepričani, da želite oditi?"
unsavedChangesTitle = "Neshranjene spremembe"
keepWorking = "Nadaljuj z delom"
discardChanges = "Zavrzi in zapusti"
+discardRedactions = "Zavrzi in zapusti"
applyAndContinue = "Shrani in zapusti"
exportAndContinue = "Izvozi in nadaljuj"
cancel = "Prekliči"
@@ -364,6 +367,7 @@ advanced = "Napredno"
title = "Varnost in avtentikacija"
security = "Varnost"
connections = "Povezave"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Licenciranje in analitika"
@@ -438,25 +442,34 @@ currentVersion = "Trenutna različica"
latestVersion = "Najnovejša različica"
checkForUpdates = "Preveri posodobitve"
viewDetails = "Poglej podrobnosti"
+serverNeedsUpdate = "Strežnik mora posodobiti skrbnik"
+
+[settings.general.versionInfo]
+title = "Informacije o različici"
+description = "Podrobnosti o namizni in strežniški različici"
+desktop = "Namizna različica"
+server = "Različica strežnika"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Varnost"
+description = "Posodobite geslo, da ostane vaš račun varen."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Spremenite geslo. Po posodobitvi boste odjavljeni."
+required = "Vsa polja so obvezna."
+mismatch = "Novi gesli se ne ujemata."
+error = "Gesla ni mogoče posodobiti. Preverite trenutno geslo in poskusite znova."
+success = "Geslo je uspešno posodobljeno. Znova se prijavite."
+ssoDisabled = "Spremembe gesla upravlja vaš ponudnik identitete."
+current = "Trenutno geslo"
+currentPlaceholder = "Vnesite trenutno geslo"
+new = "Novo geslo"
+newPlaceholder = "Vnesite novo geslo"
+confirm = "Potrdite novo geslo"
+confirmPlaceholder = "Znova vnesite novo geslo"
+update = "Posodobi geslo"
+
+
[settings.hotkeys]
title = "Bližnjice na tipkovnici"
@@ -511,16 +524,16 @@ low = "Nizka"
title = "Spremeni poverilnice"
header = "Posodobite podrobnosti svojega računa"
changePassword = "Uporabljate privzete poverilnice za prijavo. Prosim vnesite novo geslo"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Vaš račun upravlja vaš ponudnik identitete."
newUsername = "Novo uporabniško ime"
oldPassword = "Trenutno geslo"
newPassword = "Novo geslo"
confirmNewPassword = "Potrdi novo geslo"
submit = "Pošlji spremembe"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Račun posodobljen"
+description = "Spremembe shranjene. Prosimo, ponovno se prijavite."
+error = "Uporabniškega imena ni mogoče posodobiti. Preverite geslo in poskusite znova."
+changeUsername = "Posodobite uporabniško ime. Po posodobitvi boste odjavljeni."
[account]
title = "Nastavitve računa"
@@ -528,6 +541,8 @@ accountSettings = "Nastavitve računa"
adminSettings = "Skrbniške nastavitve - ogled in dodajanje uporabnikov"
userControlSettings = "Nastavitve uporabniškega nadzora"
changeUsername = "Spremeni uporabniško ime"
+changeUsernameDescription = "Posodobite uporabniško ime. Po posodobitvi boste odjavljeni."
+newUsernamePlaceholder = "Vnesite novo uporabniško ime"
newUsername = "Novo uporabniško ime"
password = "Geslo za potrditev"
oldPassword = "Staro geslo"
@@ -737,9 +752,9 @@ title = "Podpiši"
desc = "Doda podpis v PDF z risbo, besedilom ali sliko"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "anotiraj,poudari,riši"
+title = "Opombe"
+desc = "Poudarjajte, rišite, dodajajte opombe in like v pregledovalniku"
[home.flatten]
tags = "poenostavi,odstrani,interaktivno"
@@ -952,7 +967,7 @@ title = "Prekrivanje PDF-jev"
[home.pdfTextEditor]
title = "Urejevalnik besedila PDF"
-desc = "Urejajte obstoječe besedilo in slike v PDF-jih"
+desc = "Pregledujte in urejajte Stirling PDF JSON izvoze z urejanjem združenega besedila in ponovnim ustvarjanjem PDF"
[home.addText]
tags = "besedilo,pripomba,oznaka"
@@ -963,6 +978,7 @@ desc = "Dodajte poljubno besedilo kjer koli v svoj PDF"
addFiles = "Dodaj datoteke"
uploadFromComputer = "Naloži z računalnika"
openFromComputer = "Odpri iz računalnika"
+mobileUpload = "Naloži iz mobilne naprave"
[viewPdf]
tags = "ogled, branje, opomba, besedilo, slika"
@@ -1278,21 +1294,33 @@ cbzOptions = "Možnosti CBZ v PDF"
optimizeForEbook = "Optimiziraj PDF za e-bralnike (uporablja Ghostscript)"
cbzOutputOptions = "Možnosti PDF v CBZ"
cbzDpi = "DPI za upodabljanje slik"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "Možnosti CBR"
+cbrOutputOptions = "Možnosti PDF v CBR"
+cbrDpi = "DPI za upodabljanje slik"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "Možnosti eBook v PDF"
+ebookOptionsDesc = "Možnosti pretvorbe eBook v PDF"
+embedAllFonts = "Vdelaj vse pisave"
+embedAllFontsDesc = "Vdelaj vse pisave iz e-knjige v ustvarjeni PDF"
+includeTableOfContents = "Vključi kazalo"
+includeTableOfContentsDesc = "Dodaj ustvarjeno kazalo v rezultatni PDF"
+includePageNumbers = "Vključi številke strani"
+includePageNumbersDesc = "Dodaj številke strani v ustvarjeni PDF"
+optimizeForEbookPdf = "Optimiziraj za bralnike e-knjig"
+optimizeForEbookPdfDesc = "Optimiziraj PDF za branje eBook (manjša velikost datoteke, boljše upodabljanje na napravah eInk)"
+
+[convert.epubOptions]
+epubOptions = "Možnosti PDF v eBook"
+epubOptionsDesc = "Možnosti pretvorbe PDF v EPUB/AZW3"
+detectChapters = "Zaznaj poglavja"
+detectChaptersDesc = "Zaznaj naslove, ki so videti kot poglavja, in vstavi prelome strani EPUB"
+targetDevice = "Ciljna naprava"
+targetDeviceDesc = "Izberite izhodni profil, optimiziran za bralno napravo"
+outputFormat = "Izhodni format"
+outputFormatDesc = "Izberite izhodni format za e-knjigo"
+tabletPhone = "Tablica/Telefon (s slikami)"
+kindleEink = "Kindle e-Ink (optimizirano za besedilo)"
[imageToPdf]
tags = "pretvorba,img,jpg,slika,fotografija"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "Dodaj prilogo"
remove = "Odstrani prilogo"
embed = "Vdelaj prilogo"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Pretvori v PDF/A-3b"
+convertToPdfA3bDescription = "Ustvari arhivski PDF z vdelanimi prilogami"
+convertToPdfA3bTooltip = "PDF/A-3b je arhivski format, ki zagotavlja dolgoročno ohranitev. Omogoča vdelavo poljubnih vrst datotek kot priloge. Pretvorba zahteva Ghostscript in je lahko daljša pri velikih datotekah."
+convertToPdfA3bTooltipHeader = "O pretvorbi v PDF/A-3b"
+convertToPdfA3bTooltipTitle = "Kaj počne"
submit = "Add attachments"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "Shranjeno"
label = "Naložite sliko podpisa"
placeholder = "Izberite slikovno datoteko"
hint = "Naložite sliko podpisa v PNG ali JPG"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Odstrani belo ozadje (naredi prozorno)"
+processing = "Obdelava slike..."
+backgroundRemovalFailedTitle = "Odstranjevanje ozadja ni uspelo"
+backgroundRemovalFailedMessage = "Ozadja iz slike ni bilo mogoče odstraniti. Namesto tega bo uporabljena izvirna slika."
[sign.instructions]
title = "Kako dodati podpis"
@@ -2409,9 +2437,9 @@ label = "Splošči samo obrazce"
desc = "Splošči samo polja obrazcev in pusti druge interaktivne elemente nedotaknjene"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "Upodabljalni DPI (neobvezno, priporočeno 150 DPI)"
+help = "Pustite prazno za privzeto nastavitev sistema. Višji DPI izostri izhod, vendar poveča čas obdelave in velikost datoteke."
+placeholder = "npr. 150"
[flatten.results]
title = "Rezultati sploščenja"
@@ -2987,7 +3015,7 @@ header = "Obreži PDF"
submit = "Pošlji"
noFileSelected = "Izberite datoteko PDF za začetek obrezovanja"
reset = "Ponastavi na celoten PDF"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Samodejno obreži prazne robove"
[crop.preview]
title = "Izbira območja obrezovanja"
@@ -3218,6 +3246,7 @@ title = "Način redakcije"
mode = "Način"
automatic = "Samodejno"
automaticDesc = "Redigiraj besedilo na podlagi iskalnih izrazov"
+automaticDisabledTooltip = "Izberite datoteke v upravljalniku datotek za prekrivanje več datotek hkrati"
manual = "Ročno"
manualDesc = "Kliknite in povlecite za redakcijo določenih območij"
manualComingSoon = "Ročna redakcija prihaja kmalu"
@@ -3288,8 +3317,35 @@ text = "Ujemajte samo cele besede, ne delnih ujemanj. »John« se ne bo ujemal z
title = "Pretvori v PDF-Image"
text = "Po redakciji pretvori PDF v na sliki temelječ PDF. To zagotovi, da je besedilo za polji redakcije popolnoma odstranjeno in neobnovljivo."
+[redact.tooltip.manual.header]
+title = "Ročni nadzor prekrivanja"
+
+[redact.tooltip.manual.markText]
+title = "Orodje Označi besedilo"
+text = "Neposredno izberite besedilo v PDF-ju in ga označite za prekrivanje. Kliknite in povlecite, da označite specifično besedilo, ki ga želite prekriti."
+
+[redact.tooltip.manual.markArea]
+title = "Orodje Označi območje"
+text = "Narišite pravokotna območja v PDF-ju, da označite regije za prekrivanje. Uporabno za prekrivanje slik, podpisov ali nepravilnih oblik."
+
+[redact.tooltip.manual.apply]
+title = "Uveljavi prekrivanja"
+text = "Po označevanju kliknite »Uveljavi«, da trajno prekrijete vsa označena območja. Števec v čakanju prikazuje, koliko prekrivanj je pripravljenih za uveljavitev."
+bullet1 = "Označite toliko območij, kolikor je potrebno, preden uveljavite"
+bullet2 = "Vsa prekrivanja v čakanju se uveljavijo naenkrat"
+bullet3 = "Prekrivanj po uveljavitvi ni mogoče razveljaviti"
+
[redact.manual]
+title = "Orodja za prekrivanje"
+instructions = "Izberite besedilo ali narišite območja v PDF-ju, da označite vsebino za prekrivanje."
+markText = "Označi besedilo"
+markArea = "Označi območje"
+pendingLabel = "V čakanju:"
+applyWarning = "⚠️ Trajna uveljavitev, ni je mogoče razveljaviti in podatki spodaj bodo izbrisani"
+apply = "Uveljavi"
+noMarks = "Ni oznak za prekrivanje. Uporabite zgornja orodja za označevanje vsebine za prekrivanje."
header = "Ročna redakcija"
+controlsTitle = "Ročni nadzor prekrivanja"
textBasedRedaction = "Redakcija na osnovi besedila"
pageBasedRedaction = "Redakcija na osnovi strani"
convertPDFToImageLabel = "Pretvori PDF v PDF-Image (za odstranitev besedila za poljem)"
@@ -3406,17 +3462,17 @@ label = "Navpične delitve"
placeholder = "Vnesite število navpičnih delitev"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Način razdelitve"
+description = "Izberite, kako razdeliti strani"
+splitAll = "Razdeli vse strani"
+splitAllExceptFirst = "Razdeli vse razen prve"
+splitAllExceptLast = "Razdeli vse razen zadnje"
+splitAllExceptFirstAndLast = "Razdeli vse razen prve in zadnje"
+custom = "Strani po meri"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Številke strani po meri"
+placeholder = "npr. 2,4,6"
[AddStampRequest]
tags = "Žig, Dodaj sliko, sredinska slika, Vodni žig, PDF, Vdelaj, Prilagodi, Prilagodi"
@@ -3780,17 +3836,17 @@ filesize = "Velikost datoteke"
label = "Uporabi sivinsko lestvico za stiskanje"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Lineariziraj PDF za hiter spletni ogled"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Pretvori slike v črtno risbo"
+description = "Uporabi ImageMagick in pretvori strani v visokokontrastno črno-belo za največje zmanjšanje velikosti."
+unavailable = "ImageMagick ni nameščen ali omogočen na tem strežniku"
+detailLevel = "Raven podrobnosti"
+edgeEmphasis = "Poudarjanje robov"
+edgeLow = "Blago"
+edgeMedium = "Uravnoteženo"
+edgeHigh = "Močno"
[compress.tooltip.header]
title = "Pregled nastavitev stiskanja"
@@ -3810,8 +3866,8 @@ title = "Sivine"
text = "Izberite to možnost za pretvorbo vseh slik v črno-belo, kar lahko bistveno zmanjša velikost datoteke, zlasti pri skeniranih PDF-jih ali dokumentih s številnimi slikami."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "Črtna risba"
+text = "S pomočjo ImageMagick pretvori strani v visokokontrastno črno-belo. Z ravnjo podrobnosti nadzorujete, koliko vsebine postane črna, s poudarjanjem robov pa, kako agresivno se zaznavajo robovi."
[compress.error]
failed = "Pri stiskanju PDF-ja je prišlo do napake."
@@ -3826,9 +3882,9 @@ _value = "Nastavitve stiskanja"
1 = "1-3 stiskanje PDF, 4-6 enostavno stiskanje slik, 7-9 intenzivno stiskanje slik Bo dramatično zmanjšalo kakovost slike"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Nižje vrednosti ohranijo kakovost, a povzročijo večje datoteke"
+range4to6 = "Srednje stiskanje z zmernim zmanjšanjem kakovosti"
+range7to9 = "Višje vrednosti močno zmanjšajo velikost datoteke, lahko pa zmanjšajo jasnost slik"
[decrypt]
passwordPrompt = "Ta datoteka je zaščitena z geslom. Prosim vnesite geslo:"
@@ -4069,7 +4125,7 @@ deleteSelected = "Izbriši izbrane strani"
closePdf = "Zapri PDF"
exportAll = "Izvozi PDF"
downloadSelected = "Prenesi izbrane datoteke"
-annotations = "Annotations"
+annotations = "Opombe"
exportSelected = "Izvozi izbrane strani"
saveChanges = "Shrani spremembe"
toggleTheme = "Preklopi temo"
@@ -4077,84 +4133,90 @@ language = "Jezik"
toggleAnnotations = "Preklopi vidnost opomb"
search = "Išči v PDF"
panMode = "Način premikanja"
+applyRedactionsFirst = "Najprej uveljavi prekrivanja"
rotateLeft = "Zavrti levo"
rotateRight = "Zavrti desno"
toggleSidebar = "Preklopi stransko vrstico"
toggleBookmarks = "Preklopi zaznamke"
print = "Natisni PDF"
+draw = "Riši"
+redact = "Prekrij"
+exitRedaction = "Izhod iz načina prekrivanja"
+save = "Shrani"
downloadAll = "Prenesi vse"
saveAll = "Shrani vse"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Levo"
+center = "Na sredino"
+right = "Desno"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "Opombe"
+desc = "Uporabite poudarjanje, pero, besedilo in opombe. Spremembe ostanejo v živo — ni potrebno sploščenje."
+highlight = "Poudarjanje"
+pen = "Pero"
+text = "Besedilno polje"
+note = "Opomba"
+rectangle = "Pravokotnik"
+ellipse = "Elipsa"
+select = "Izberi"
+exit = "Izhod iz načina opomb"
+strokeWidth = "Širina"
+opacity = "Prosojnost"
+strokeOpacity = "Prosojnost poteze"
+fillOpacity = "Prosojnost polnila"
+fontSize = "Velikost pisave"
+chooseColor = "Izberite barvo"
+color = "Barva"
+strokeColor = "Barva poteze"
+fillColor = "Barva polnila"
+underline = "Podčrtaj"
+strikeout = "Prečrtaj"
+squiggly = "Valovito podčrtaj"
+inkHighlighter = "Prostoročni označevalnik"
+freehandHighlighter = "Prostoročni označevalnik"
+square = "Kvadrat"
+circle = "Krog"
+polygon = "Mnogokotnik"
+line = "Črta"
+stamp = "Dodaj sliko"
+textMarkup = "Označevanje besedila"
+drawing = "Risanje"
+shapes = "Oblike"
+notesStamps = "Opombe in žigi"
+settings = "Nastavitve"
+borderOn = "Obroba: Vklopljeno"
+borderOff = "Obroba: Izklopljeno"
+editInk = "Uredi pero"
+editLine = "Uredi črto"
+editNote = "Uredi opombo"
+editText = "Uredi besedilno polje"
+editTextMarkup = "Uredi označevanje besedila"
+editSelected = "Uredi opombo"
+editSquare = "Uredi kvadrat"
+editCircle = "Uredi krog"
+editPolygon = "Uredi mnogokotnik"
+unsupportedType = "Ta vrsta opombe ni v celoti podprta za urejanje."
+textAlignment = "Poravnava besedila"
+noteIcon = "Ikona opombe"
+imagePreview = "Predogled"
+contents = "Besedilo"
+backgroundColor = "Barva ozadja"
+clearBackground = "Odstrani ozadje"
+noBackground = "Brez ozadja"
+stampSettings = "Nastavitve žiga"
+savingCopy = "Priprava prenosa..."
+saveFailed = "Kopije ni mogoče shraniti"
+saveReady = "Prenos pripravljen"
+selectAndMove = "Izberi in uredi"
+editSelectDescription = "Kliknite obstoječo opombo za urejanje barve, prosojnosti, besedila ali velikosti."
+editStampHint = "Za spremembo slike izbrišite ta žig in dodajte novega."
+editSwitchToSelect = "Za urejanje te opombe preklopite na Izberi in uredi."
+undo = "Razveljavi"
+redo = "Ponovi"
+applyChanges = "Uveljavi spremembe"
+saveChanges = "Shrani spremembe"
[search]
title = "Iskanje v PDF"
@@ -4205,20 +4267,20 @@ settings = "Možnosti"
adminSettings = "Skrbnik"
allTools = "All Tools"
reader = "Bralnik"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Ogledi"
+showMeAround = "Pokaži mi naokrog"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Oglejte si predstavitve tukaj: ogled orodij, ogled nove postavitve V2 in skrbniški ogled."
+user = "Oglejte si predstavitve tukaj: ogled orodij in ogled nove postavitve V2."
[quickAccess.helpMenu]
toolsTour = "Ogled orodij"
toolsTourDesc = "Spoznajte, kaj zmorejo orodja"
adminTour = "Ogled za skrbnike"
adminTourDesc = "Raziščite skrbniške nastavitve in funkcije"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Oglejte si novosti v V2"
+whatsNewTourDesc = "Ogled posodobljene postavitve"
[admin]
error = "Napaka"
@@ -4237,6 +4299,8 @@ fetchError = "Nastavitev ni bilo mogoče naložiti"
saveError = "Nastavitev ni bilo mogoče shraniti"
saved = "Nastavitve uspešno shranjene"
saveSuccess = "Nastavitve uspešno shranjene"
+success = "Nastavitve uspešno shranjene"
+error = "Shranjevanje nastavitev ni uspelo"
save = "Shrani spremembe"
discard = "Zavrzi"
restartRequired = "Potreben je ponovni zagon"
@@ -4360,6 +4424,13 @@ description = "Pot do izvedljive datoteke WeasyPrint za pretvorbo HTML v PDF (pu
label = "Izvedljiva datoteka Unoconvert"
description = "Pot do LibreOffice unoconvert za pretvorbe dokumentov (pustite prazno za privzeto: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "Frontend URL"
+description = "Osnovni URL za frontend (npr. https://pdf.example.com). Uporablja se za povezave v e-poštnih povabilih in mobilna nalaganja prek QR kode. Pustite prazno za uporabo URL-ja zaledja."
+
+[admin.settings.badge]
+clickToUpgrade = "Kliknite za ogled podrobnosti paketa"
+
[admin.settings.security]
title = "Varnost"
description = "Konfigurirajte preverjanje pristnosti, vedenje prijave in varnostne politike."
@@ -4496,6 +4567,19 @@ connect = "Poveži"
disconnect = "Prekini povezavo"
disconnected = "Ponudnik uspešno odklopljen"
disconnectError = "Ponudnika ni bilo mogoče odklopiti"
+mobileScannerConvertToPdf = "Pretvori slike v PDF"
+mobileScannerConvertToPdfDesc = "Samodejno pretvori naložene slike v format PDF. Če je onemogočeno, bodo slike ostale nespremenjene."
+mobileScannerImageResolution = "Ločljivost slike"
+mobileScannerImageResolutionDesc = "Ločljivost naloženih slik. »Zmanjšana« pomanjša slike na največ 1200 px za manjšo velikost datoteke."
+imageResolutionFull = "Polna (izvirna velikost)"
+imageResolutionReduced = "Zmanjšana (maks. 1200px)"
+mobileScannerPageFormat = "Format strani"
+mobileScannerPageFormatDesc = "Velikost PDF strani za pretvorjene slike. »Ohrani« uporabi izvirne dimenzije slike."
+pageFormatKeep = "Ohrani (izvirne dimenzije)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Raztegni na velikost"
+mobileScannerStretchToFitDesc = "Raztegni slike, da zapolnijo celotno stran. Če je onemogočeno, so slike sredinjene z ohranjenim razmerjem stranic."
[admin.settings.connections.ssoAutoLogin]
label = "SSO samodejna prijava"
@@ -4564,6 +4648,122 @@ description = "Ob prvi prijavi prek SAML2 samodejno ustvari uporabniške račune
label = "Blokiraj registracijo"
description = "Prepreči novo registracijo uporabnikov prek SAML2"
+[admin.settings.connections.mobileScanner]
+label = "Nalaganje z mobilnega telefona"
+enable = "Omogoči nalaganje prek QR kode"
+description = "Dovoli uporabnikom nalaganje datotek z mobilnih naprav s skeniranjem QR kode"
+note = "Opomba: Zahteva konfiguriran Frontend URL. "
+link = "Nastavi v sistemskih nastavitvah"
+mobileScannerConvertToPdf = "Pretvori slike v PDF"
+mobileScannerConvertToPdfDesc = "Samodejno pretvori naložene slike v format PDF. Če je onemogočeno, bodo slike ostale nespremenjene."
+mobileScannerImageResolution = "Ločljivost slike"
+mobileScannerImageResolutionDesc = "Ločljivost naloženih slik. »Zmanjšana« pomanjša slike na največ 1200 px za manjšo velikost datoteke."
+imageResolutionFull = "Polna (izvirna velikost)"
+imageResolutionReduced = "Zmanjšana (maks. 1200px)"
+mobileScannerPageFormat = "Format strani"
+mobileScannerPageFormatDesc = "Velikost PDF strani za pretvorjene slike. »Ohrani« uporabi izvirne dimenzije slike."
+pageFormatKeep = "Ohrani (izvirne dimenzije)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Raztegni na velikost"
+mobileScannerStretchToFitDesc = "Raztegni slike, da zapolnijo celotno stran. Če je onemogočeno, so slike sredinjene z ohranjenim razmerjem stranic."
+
+[admin.settings.telegram]
+title = "Telegram bot"
+description = "Konfigurirajte povezljivost Telegram bota, nadzor dostopa in vedenje povratnih sporočil."
+
+[admin.settings.telegram.enabled]
+label = "Omogoči Telegram bota"
+description = "Dovoli uporabnikom interakcijo s Stirling PDF prek konfiguriranega Telegram bota."
+
+[admin.settings.telegram.botUsername]
+label = "Uporabniško ime bota"
+description = "Javno uporabniško ime vašega Telegram bota."
+
+[admin.settings.telegram.botToken]
+label = "Žeton bota"
+description = "API žeton, ki ga zagotovi BotFather za vaš Telegram bot."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Mapa Prejeto"
+description = "Mapa pod imenikom pipeline, kjer so shranjene dohodne Telegram datoteke."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Uporabi pripono mape po meri"
+description = "Mapam z dohodnimi datotekami pripni ID klepeta za izolacijo nalaganj po klepetih."
+
+[admin.settings.telegram.accessControl]
+title = "Nadzor dostopa"
+description = "Omejite, kateri uporabniki ali kanali lahko komunicirajo z botom."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Dovoli določene ID-je uporabnikov"
+description = "Ko je omogočeno, lahko bot uporabljajo samo navedeni ID-ji uporabnikov."
+
+[admin.settings.telegram.allowUserIDs]
+label = "Dovoljeni ID-ji uporabnikov"
+description = "Vnesite Telegram ID-je uporabnikov, ki smejo komunicirati z botom."
+placeholder = "Dodajte ID uporabnika in pritisnite Enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Dovoli določene ID-je kanalov"
+description = "Ko je omogočeno, lahko bot uporabljajo samo navedeni ID-ji kanalov."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "Dovoljeni ID-ji kanalov"
+description = "Vnesite Telegram ID-je kanalov, ki smejo komunicirati z botom."
+placeholder = "Dodajte ID kanala in pritisnite Enter"
+
+[admin.settings.telegram.processing]
+title = "Obdelava"
+description = "Nadzirajte intervale preverjanja in časovne omejitve obdelave za nalaganja prek Telegrama."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Časovna omejitev obdelave (sekunde)"
+description = "Najdaljši čas čakanja na opravilo obdelave, preden se prijavi napaka."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Interval preverjanja (ms)"
+description = "Interval med preverjanjem novih posodobitev Telegrama."
+
+[admin.settings.telegram.feedback]
+title = "Povratna sporočila"
+description = "Izberite, kdaj naj bot pošilja povratne informacije uporabnikom in kanalom."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Omogoči povratna sporočila"
+description = "Nadzira, ali bot sploh pošilja povratna sporočila."
+
+[admin.settings.telegram.feedback.channel]
+title = "Pravila povratnih sporočil za kanale"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Prikaži \"Ni veljavnega dokumenta\" (kanal)"
+description = "Zatre odgovor \"Ni veljavnega dokumenta\" za nalaganja v kanalu."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Prikaži napake pri obdelavi (kanal)"
+description = "Pošiljaj sporočila o napakah obdelave kanalom."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Prikaži sporočila o napakah (kanal)"
+description = "Prikaži podrobna sporočila o napakah za kanale."
+
+[admin.settings.telegram.feedback.user]
+title = "Pravila povratnih sporočil za uporabnike"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Prikaži \"Ni veljavnega dokumenta\" (uporabnik)"
+description = "Zatre odgovor \"Ni veljavnega dokumenta\" za uporabniška nalaganja."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Prikaži napake pri obdelavi (uporabnik)"
+description = "Pošiljaj sporočila o napakah obdelave uporabnikom."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Prikaži sporočila o napakah (uporabnik)"
+description = "Prikaži podrobna sporočila o napakah za uporabnike."
+
[admin.settings.database]
title = "Baza podatkov"
description = "Konfigurirajte nastavitve povezave baze podatkov po meri za podjetniške namestitve."
@@ -4745,6 +4945,10 @@ description = "Dovoli skrbnikom vabilo uporabnikov po e-pošti z samodejno ustva
label = "URL frontenda"
description = "Osnovni URL za frontend (npr. https://pdf.example.com). Uporablja se za generiranje povezav za povabila v e-poštnih sporočilih. Pustite prazno za uporabo URL zaledja."
+[admin.settings.mail.frontendUrlNote]
+note = "Opomba: Zahteva konfiguriran Frontend URL. "
+link = "Nastavi v sistemskih nastavitvah"
+
[admin.settings.legal]
title = "Pravni dokumenti"
description = "Konfigurirajte povezave do pravnih dokumentov in politik."
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "Moje datoteke"
noRecentFiles = "Ni najdenih nedavnih datotek"
googleDriveNotAvailable = "Integracija z Google Drive ni na voljo"
+mobileUpload = "Mobilno nalaganje"
+mobileShort = "Mobilno"
+mobileUploadNotAvailable = "Mobilno nalaganje ni omogočeno"
downloadSelected = "Prenesi izbrano"
saveSelected = "Shrani izbrano"
openFiles = "Odpri datoteke"
@@ -5244,7 +5451,7 @@ loading = "Nalaganje..."
back = "Nazaj"
continue = "Nadaljuj"
error = "Napaka"
-save = "Save"
+save = "Shrani"
[config.overview]
title = "Konfiguracija aplikacije"
@@ -5307,6 +5514,15 @@ impact = "Vse aplikacije ali storitve, ki trenutno uporabljajo te ključe, bodo
confirmPrompt = "Ali ste prepričani, da želite nadaljevati?"
confirmCta = "Osveži ključe"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "Napaka ključa API"
+failedToCreateApiKey = "Ustvarjanje ključa API ni uspelo."
+failedToRetrieveApiKey = "Ni bilo mogoče pridobiti ključa API iz odziva."
+failedToFetchApiKey = "Pridobivanje ključa API ni uspelo."
+apiKeyRefreshed = "Ključ API osvežen"
+apiKeyRefreshedBody = "Vaš ključ API je bil uspešno osvežen."
+failedToRefreshApiKey = "Osveževanje ključa API ni uspelo."
+
[AddAttachmentsRequest]
attachments = "Izberite priloge"
info = "Izberite datoteke, ki jih želite priložiti svojemu PDF. Te datoteke bodo vdelane in dostopne prek podokna prilog v PDF."
@@ -5412,14 +5628,14 @@ startTour = "Začni vodnik"
startTourDescription = "Opravite voden ogled ključnih funkcij Stirling PDF"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Začnite na stranskem traku Hiter dostop za preklapljanje med Bralnikom, Avtomatizacijo, vašimi datotekami in vsemi ogledi."
+leftPanel = "Levi panel Orodja navaja vse, kar lahko storite. Brskajte po kategorijah ali poiščite orodje."
+fileUpload = "Uporabite gumb Datoteke za nalaganje ali izbiro nedavnega PDF-ja. Naložili bomo vzorec, da vidite delovno okolje."
+rightRail = "Desni trak vsebuje hitra dejanja za izbiro datotek, spremembo teme ali jezika ter prenos rezultatov."
+topBar = "Zgornja vrstica omogoča preklapljanje med Pregledovalnik, Urejevalnik strani in Aktivne datoteke."
+pageEditorView = "Preklopite na Urejevalnik strani za preurejanje, vrtenje ali brisanje strani."
+activeFilesView = "Uporabite Aktivne datoteke, da vidite vse odprto in izberete, na čem delati."
+wrapUp = "To je novo v V2. Kadar koli odprite meni Ogledi za ponoven ogled tega, ogleda orodij ali skrbniškega ogleda."
[onboarding.welcomeModal]
title = "Dobrodošli v Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "Predstavi okolje"
skipTheTour = "Preskoči ogled"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Pregled ogleda"
+body = "Stirling PDF V2 prinaša številna orodja in osveženo postavitev. Opravite kratek ogled, da vidite, kaj se je spremenilo in kje najdete potrebne funkcije."
[onboarding.serverLicense]
skip = "Preskoči za zdaj"
@@ -5452,7 +5668,7 @@ upgrade = "Nadgradi zdaj →"
freeTitle = "Licenca strežnika"
overLimitTitle = "Potrebna licenca strežnika"
overLimitBody = "Naše licenciranje brezplačno omogoča do {{freeTierLimit}} uporabnikov na strežnik. Imate {{overLimitUserCopy}} uporabnikov Stirling. Za nemoteno uporabo nadgradite na načrt Stirling Server – neomejena mesta, urejanje besedila PDF in popoln skrbniški nadzor za $99/strežnik/mesec."
-freeBody = "Naše licenciranje Open-Core omogoča do {{freeTierLimit}} uporabnikov brezplačno na strežnik. Za nemoteno skaliranje priporočamo načrt Stirling Server - neomejena mesta in podpora za SSO za $99/strežnik/mesec."
+freeBody = "Naše licenciranje Open-Core brezplačno omogoča do {{freeTierLimit}} uporabnikov na strežnik. Za nemoteno rast in zgodnji dostop do našega novega orodja za urejanje besedila PDF priporočamo načrt Stirling Server – polno urejanje in neomejena mesta za $99/strežnik/mesec."
[onboarding.desktopInstall]
title = "Prenesi"
@@ -5758,28 +5974,28 @@ contactSales = "Kontaktirajte prodajo"
contactToUpgrade = "Kontaktirajte nas za nadgradnjo ali prilagoditev vašega paketa"
maxUsers = "Največ uporabnikov"
upTo = "Do"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Pridobi licenco strežnika"
+upgradeToEnterprise = "Nadgradi na Enterprise"
+selectPeriod = "Izberite obračunsko obdobje"
+monthlyBilling = "Mesečno obračunavanje"
+yearlyBilling = "Letno obračunavanje"
+checkoutOpened = "Blagajna odprta"
+checkoutInstructions = "Nakup zaključite v zavihku Stripe. Po plačilu se vrnite sem in osvežite stran, da aktivirate licenco. Po e-pošti boste prejeli tudi licenčni ključ."
+activateLicense = "Aktivirajte svojo licenco"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Blagajna odprta v novem zavihku"
+instructions = "Nakup zaključite v zavihku Stripe. Ko bo plačilo zaključeno, boste po e-pošti prejeli licenčni ključ."
+enterKey = "Spodaj vnesite licenčni ključ za aktivacijo paketa:"
+keyDescription = "Prilepite licenčni ključ iz e-pošte"
+activate = "Aktiviraj licenco"
+doLater = "To bom opravil pozneje"
+success = "Licenca aktivirana!"
+successMessage = "Vaša licenca je bila uspešno aktivirana. To okno lahko zaprete."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "Zahtevana je verifikacija e-pošte"
+message = "V Stripe portalu za obračun boste morali preveriti svoj e-poštni naslov. Preverite e-pošto za prijavno povezavo."
[plan.period]
month = "mesec"
@@ -5983,8 +6199,8 @@ notAvailable = "Revizijski sistem ni na voljo"
notAvailableMessage = "Revizijski sistem ni konfiguriran ali ni na voljo."
disabled = "Revizijsko beleženje je onemogočeno"
disabledMessage = "Omogočite revizijsko beleženje v konfiguraciji vaše aplikacije za sledenje sistemskim dogodkom."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Potrebna licenca Enterprise"
+enterpriseRequiredMessage = "Sistem revizijskega beleženja je funkcija za podjetja. Za dostop do revizijskih dnevnikov in analitike nadgradite na licenco Enterprise."
[audit.error]
title = "Napaka pri nalaganju revizijskega sistema"
@@ -6156,6 +6372,7 @@ description = "Vnesite celoten URL svojega samogostovanega strežnika Stirling P
[setup.server.error]
emptyUrl = "Vnesite URL strežnika"
+invalidUrl = "Neveljavna oblika URL. Vnesite veljaven URL, npr. https://your-server.com"
unreachable = "Povezava s strežnikom ni uspela"
testFailed = "Preizkus povezave ni uspel"
configFetch = "Pridobitev konfiguracije strežnika ni uspela. Preverite URL in poskusite znova."
@@ -6174,6 +6391,7 @@ connectingTo = "Povezovanje z:"
submit = "Prijava"
signInWith = "Prijavite se z"
oauthPending = "Odpiranje brskalnika za overjanje..."
+sso = "Enotna prijava"
orContinueWith = "Ali nadaljujte z e-pošto"
serverRequirement = "Opomba: Strežnik mora imeti omogočeno prijavo."
showInstructions = "Kako omogočiti?"
@@ -6239,8 +6457,8 @@ reset = "Ponastavi spremembe"
downloadJson = "Prenesi JSON"
generatePdf = "Ustvari PDF"
saveChanges = "Shrani spremembe"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Uveljavi spremembe"
+downloadCopy = "Prenesi kopijo"
[pdfTextEditor.options.autoScaleText]
title = "Samodejno prilagodi besedilo okvirjem"
@@ -6260,22 +6478,22 @@ title = "Zakleni urejeno besedilo na en sam element PDF"
description = "Ko je omogočeno, urejevalnik izvozi vsak urejen besedilni okvir kot en element besedila PDF, da se izogne prekrivanju znakov ali mešanim pisavam."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Napredne nastavitve"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Omejitve predogleda"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Osredotočeno na besedilo in slike"
+text = "To delovno okolje je osredotočeno na urejanje besedila in prestavljanje vdelanih slik. Zapleteni elementi strani, obrazci in slojevita grafika se ohranijo za izvoz, vendar tukaj niso v celoti urejljivi."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Razlike v predogledu"
+text = "Nekateri vizualni elementi (kot so obrobe tabel, oblike ali videz opomb) se morda v predogledu ne prikažejo natančno. Izvoženi PDF, kjer je mogoče, ohrani izvirne risalne ukaze."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Alfa pregledovalnik"
+text = "Ta alfa pregledovalnik se še razvija — določene pisave, barve, učinki prosojnosti in podrobnosti postavitve se lahko nekoliko spremenijo. Pred deljenjem prosimo, ponovno preverite ustvarjeni PDF."
[pdfTextEditor.manual]
mergeTooltip = "Združi izbrane okvirje"
@@ -6398,3 +6616,58 @@ title = "Rezultati dodajanja besedila"
[addText.error]
failed = "Pri dodajanju besedila v PDF je prišlo do napake."
+
+[mobileUpload]
+title = "Naloži iz mobilne naprave"
+description = "Skenirajte za nalaganje fotografij. Slike se samodejno pretvorijo v PDF."
+descriptionNoConvert = "Skenirajte za nalaganje fotografij z vaše mobilne naprave."
+error = "Napaka povezave"
+pollingError = "Napaka pri preverjanju datotek"
+sessionId = "ID seje"
+sessionCreateError = "Ustvarjanje seje ni uspelo"
+expiryWarning = "Seja bo kmalu potekla"
+expiryWarningMessage = "Ta QR koda bo potekla čez {{seconds}} sekund. Nova koda bo ustvarjena samodejno."
+filesReceived = "{{count}} datotek prejetih"
+connected = "Mobilna naprava povezana"
+instructions = "Skenirajte s kamero telefona. Slike se samodejno pretvorijo v PDF."
+instructionsNoConvert = "Skenirajte s kamero telefona za nalaganje datotek."
+
+[mobileScanner]
+title = "Mobilni skener"
+noSession = "Neveljavna seja"
+noSessionMessage = "Skenirajte veljavno QR kodo za dostop do te strani."
+validating = "Preverjanje seje..."
+sessionInvalid = "Napaka seje"
+sessionExpired = "Ta seja je potekla. Osvežite in poskusite znova."
+sessionNotFound = "Seje ni bilo mogoče najti. Prosimo, osvežite in poskusite znova."
+sessionValidationError = "Seje ni mogoče preveriti. Poskusite znova."
+uploadSuccess = "Nalaganje uspešno!"
+uploadSuccessMessage = "Vaše slike so bile prenesene."
+httpsRequired = "Dostop do kamere zahteva HTTPS ali localhost. Uporabite HTTPS ali dostopajte prek localhost."
+uploadFailed = "Nalaganje ni uspelo. Poskusite znova."
+uploading = "Nalaganje..."
+connected = "Povezano"
+connecting = "Povezovanje..."
+chooseMethod = "Izberite način nalaganja"
+chooseMethodDescription = "Izberite, kako želite skenirati in nalagati dokumente"
+camera = "Kamera"
+cameraDescription = "Skenirajte dokumente z vašo kamero naprave s samodejnim zaznavanjem robov"
+fileUpload = "Nalaganje datotek"
+fileDescription = "Naložite obstoječe fotografije ali dokumente z vaše naprave"
+cameraAccessDenied = "Dostop do kamere zavrnjen. Omogočite dostop do kamere."
+back = "Nazaj"
+settings = "Nastavitve"
+edgeDetection = "Zaznavanje robov"
+flashlight = "Svetilka"
+flash = "Bliskavica"
+processing = "Obdelava..."
+capture = "Zajemi fotografijo"
+selectFilesPrompt = "Izberite datoteke za nalaganje"
+selectImage = "Izberi sliko"
+preview = "Predogled"
+retake = "Ponovi zajem"
+addToBatch = "Dodaj v serijo"
+upload = "Naloži"
+batchImages = "Serija"
+clearBatch = "Počisti"
+uploadAll = "Naloži vse"
diff --git a/frontend/public/locales/sr-LATN-RS/translation.toml b/frontend/public/locales/sr-LATN-RS/translation.toml
index 6b2369bba..b67ab1100 100644
--- a/frontend/public/locales/sr-LATN-RS/translation.toml
+++ b/frontend/public/locales/sr-LATN-RS/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "Imate nesačuvane promene u svom PDF-u."
+pendingRedactionsTitle = "Neprimenjena zacrnjivanja"
+pendingRedactions = "Imate neprimenjena zacrnjivanja koja će biti izgubljena."
areYouSure = "Da li ste sigurni da želite da napustite?"
unsavedChangesTitle = "Nesačuvane promene"
keepWorking = "Nastavi sa radom"
discardChanges = "Odbaci i napusti"
+discardRedactions = "Odbaci i izađi"
applyAndContinue = "Sačuvaj i napusti"
exportAndContinue = "Izvezi i nastavi"
cancel = "Otkaži"
@@ -364,6 +367,7 @@ advanced = "Napredno"
title = "Bezbednost i autentikacija"
security = "Bezbednost"
connections = "Konekcije"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Licenciranje i analitika"
@@ -438,25 +442,34 @@ currentVersion = "Trenutna verzija"
latestVersion = "Najnovija verzija"
checkForUpdates = "Proveri ažuriranja"
viewDetails = "Prikaži detalje"
+serverNeedsUpdate = "Server mora da bude ažuriran od strane administratora"
+
+[settings.general.versionInfo]
+title = "Informacije o verziji"
+description = "Detalji verzije za desktop i server"
+desktop = "Desktop verzija"
+server = "Serverska verzija"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Bezbednost"
+description = "Ažurirajte lozinku da biste svoj nalog održali bezbednim."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Promenite lozinku. Bićete odjavljeni nakon ažuriranja."
+required = "Sva polja su obavezna."
+mismatch = "Nove lozinke se ne podudaraju."
+error = "Lozinka ne može da se ažurira. Proverite trenutnu lozinku i pokušajte ponovo."
+success = "Lozinka je uspešno ažurirana. Prijavite se ponovo."
+ssoDisabled = "Promenom lozinke upravlja vaš provajder identiteta."
+current = "Trenutna lozinka"
+currentPlaceholder = "Unesite trenutnu lozinku"
+new = "Nova lozinka"
+newPlaceholder = "Unesite novu lozinku"
+confirm = "Potvrdite novu lozinku"
+confirmPlaceholder = "Ponovo unesite novu lozinku"
+update = "Ažuriraj lozinku"
+
+
[settings.hotkeys]
title = "Prečice na tastaturi"
@@ -511,16 +524,16 @@ low = "Nizak"
title = "Promeni pristupne podatke"
header = "Ažurirajte detalje svog naloga"
changePassword = "Koristiš podrazumevane pristupne podatke. Molim te unesi novu lozinku"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Vašim nalogom upravlja vaš provajder identiteta."
newUsername = "Novo korisničko ime"
oldPassword = "Trenutna lozinka"
newPassword = "Nova lozinka"
confirmNewPassword = "Potvrdite novu lozinku"
submit = "Potvrdi promene"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Nalog ažuriran"
+description = "Izmene sačuvane. Prijavite se ponovo."
+error = "Korisničko ime ne može da se ažurira. Proverite lozinku i pokušajte ponovo."
+changeUsername = "Ažurirajte korisničko ime. Bićete odjavljeni nakon ažuriranja."
[account]
title = "Podešavanja naloga"
@@ -528,6 +541,8 @@ accountSettings = "Podešavanja naloga"
adminSettings = "Admin podešavanja - Pregled i dodavanje korisnika"
userControlSettings = "Podešavanja kontrole korisnika"
changeUsername = "Pormeni korisničko ime"
+changeUsernameDescription = "Ažurirajte korisničko ime. Bićete odjavljeni nakon ažuriranja."
+newUsernamePlaceholder = "Unesite novo korisničko ime"
newUsername = "Novo korisničko ime"
password = "Potvrda lozinke"
oldPassword = "Stara lozinka"
@@ -737,9 +752,9 @@ title = "Potpis"
desc = "Dodaje potpis u PDF crtežom, tekstom ili slikom"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "anotiraj,istakni,crtaj"
+title = "Anotiraj"
+desc = "Istaknite, crtajte, dodajte beleške i oblike u pregledaču"
[home.flatten]
tags = "pojednostavi,ukloni,interaktivno"
@@ -952,7 +967,7 @@ title = "Preklapanje PDF-ova"
[home.pdfTextEditor]
title = "PDF uređivač teksta"
-desc = "Uređujte postojeći tekst i slike unutar PDF-ova"
+desc = "Pregledajte i uređujte Stirling PDF JSON izvoze uz grupisano uređivanje teksta i ponovno generisanje PDF-a"
[home.addText]
tags = "tekst,anotacija,oznaka"
@@ -963,6 +978,7 @@ desc = "Dodajte prilagođeni tekst bilo gde u PDF"
addFiles = "Dodaj datoteke"
uploadFromComputer = "Otpremi sa računara"
openFromComputer = "Otvori sa računara"
+mobileUpload = "Otpremi sa mobilnog"
[viewPdf]
tags = "pregled,čitanje,anotiranje,tekst,slika"
@@ -1254,11 +1270,11 @@ pdfaDigitalSignatureWarning = "PDF sadrži digitalni potpis. Biće uklonjen u sl
fileFormat = "Format datoteke"
wordDoc = "Word dokument"
wordDocExt = "Word dokument (.docx)"
-odtExt = "OpenDocument tekst (.odt)"
+odtExt = "OpenDocument Text (.odt)"
pptExt = "PowerPoint (.pptx)"
-odpExt = "OpenDocument prezentacija (.odp)"
+odpExt = "OpenDocument Presentation (.odp)"
txtExt = "Običan tekst (.txt)"
-rtfExt = "Format obogaćenog teksta (.rtf)"
+rtfExt = "Rich Text Format (.rtf)"
selectedFiles = "Izabrane datoteke"
noFileSelected = "Nije izabrana nijedna datoteka. Koristite panel datoteka da dodate datoteke."
convertFiles = "Konvertuj datoteke"
@@ -1278,21 +1294,33 @@ cbzOptions = "CBZ u PDF opcije"
optimizeForEbook = "Optimizuj PDF za čitače e‑knjiga (koristi Ghostscript)"
cbzOutputOptions = "PDF u CBZ opcije"
cbzDpi = "DPI za renderovanje slike"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "CBR opcije"
+cbrOutputOptions = "Opcije za PDF u CBR"
+cbrDpi = "DPI za renderovanje slike"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "Opcije za eBook u PDF"
+ebookOptionsDesc = "Opcije za konvertovanje eBook izdanja u PDF"
+embedAllFonts = "Ugradi sve fontove"
+embedAllFontsDesc = "Ugradi sve fontove iz e-knjige u generisani PDF"
+includeTableOfContents = "Uključi sadržaj"
+includeTableOfContentsDesc = "Dodaj generisani sadržaj u rezultatni PDF"
+includePageNumbers = "Uključi brojeve stranica"
+includePageNumbersDesc = "Dodaj brojeve stranica u generisani PDF"
+optimizeForEbookPdf = "Optimizuj za eBook čitače"
+optimizeForEbookPdfDesc = "Optimizuj PDF za čitanje e-knjiga (manja veličina fajla, bolje renderovanje na eInk uređajima)"
+
+[convert.epubOptions]
+epubOptions = "Opcije za PDF u eBook"
+epubOptionsDesc = "Opcije za konverziju PDF u EPUB/AZW3"
+detectChapters = "Otkrij poglavlja"
+detectChaptersDesc = "Otkriva naslove koji liče na poglavlja i ubacuje EPUB prelome stranica"
+targetDevice = "Ciljni uređaj"
+targetDeviceDesc = "Izaberite izlazni profil optimizovan za uređaj za čitanje"
+outputFormat = "Izlazni format"
+outputFormatDesc = "Izaberite izlazni format za eBook"
+tabletPhone = "Tablet/Telefon (sa slikama)"
+kindleEink = "Kindle e-Ink (optimizovano za tekst)"
[imageToPdf]
tags = "konverzija,img,jpg,slika,foto"
@@ -1409,11 +1437,11 @@ header = "Dodaj priloge"
add = "Dodaj prilog"
remove = "Ukloni prilog"
embed = "Ugradi prilog"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Konvertuj u PDF/A-3b"
+convertToPdfA3bDescription = "Kreira arhivski PDF sa ugrađenim prilozima"
+convertToPdfA3bTooltip = "PDF/A-3b je arhivski format koji obezbeđuje dugoročno čuvanje. Dozvoljava ugrađivanje proizvoljnih formata fajlova kao priloga. Konverzija zahteva Ghostscript i može duže trajati za velike fajlove."
+convertToPdfA3bTooltipHeader = "O konverziji u PDF/A-3b"
+convertToPdfA3bTooltipTitle = "Šta radi"
submit = "Dodaj priloge"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "Sačuvano"
label = "Otpremite sliku potpisa"
placeholder = "Izaberite slikovnu datoteku"
hint = "Otpremite PNG ili JPG sliku svog potpisa"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Ukloni belu pozadinu (učini providnom)"
+processing = "Obrada slike..."
+backgroundRemovalFailedTitle = "Uklanjanje pozadine nije uspelo"
+backgroundRemovalFailedMessage = "Nije moguće ukloniti pozadinu sa slike. Umesto toga se koristi originalna slika."
[sign.instructions]
title = "Kako dodati potpis"
@@ -2391,7 +2419,7 @@ title = "Ravnanje"
header = "Ravnanje PDF fajlova"
flattenOnlyForms = "Izravnaj samo forme"
submit = "Ravnanje"
-filenamePrefix = "spljošteno"
+filenamePrefix = "flattened"
[flatten.files]
placeholder = "Izaberite PDF datoteku u glavnom prikazu da biste započeli"
@@ -2409,9 +2437,9 @@ label = "Izravnaj samo forme"
desc = "Ravnaj samo polja formulara, ostavljajući druge interaktivne elemente netaknutim"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "DPI renderovanja (opciono, preporučeno 150 DPI)"
+help = "Ostavite prazno da biste koristili podrazumevanu vrednost sistema. Veći DPI izoštrava rezultat, ali povećava vreme obrade i veličinu fajla."
+placeholder = "npr. 150"
[flatten.results]
title = "Rezultati ravnanja"
@@ -2987,7 +3015,7 @@ header = "Skraćivanje PDF-a"
submit = "Potvrdi"
noFileSelected = "Izaberite PDF fajl da biste započeli isecanje"
reset = "Vrati na ceo PDF"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Automatski iseci beline"
[crop.preview]
title = "Izbor oblasti za isecanje"
@@ -3218,6 +3246,7 @@ title = "Metod zacrnjivanja"
mode = "Režim"
automatic = "Automatski"
automaticDesc = "Zacrni tekst na osnovu termina pretrage"
+automaticDisabledTooltip = "Izaberite fajlove u menadžeru fajlova da biste zacrnili više fajlova odjednom"
manual = "Ručno"
manualDesc = "Kliknite i prevucite da zacrnite određene oblasti"
manualComingSoon = "Ručno zacrnjivanje uskoro"
@@ -3288,8 +3317,35 @@ text = "Poklapajte samo cele reči, ne delimična poklapanja. 'John' neće poklo
title = "Konvertuj u PDF-Image"
text = "Pretvara PDF u PDF zasnovan na slici nakon zacrnjivanja. Ovo obezbeđuje da je tekst iza okvira za zacrnjivanje potpuno uklonjen i ne može se povratiti."
+[redact.tooltip.manual.header]
+title = "Kontrole ručnog zacrnjivanja"
+
+[redact.tooltip.manual.markText]
+title = "Alat za označavanje teksta"
+text = "Izaberite tekst direktno na PDF-u da biste ga označili za zacrnjivanje. Kliknite i prevucite da biste istakli određeni tekst koji želite da zacrnite."
+
+[redact.tooltip.manual.markArea]
+title = "Alat za označavanje oblasti"
+text = "Nacrtajte pravougaone oblasti na PDF-u da označite regione za zacrnjivanje. Korisno za zacrnjivanje slika, potpisa ili nepravilnih oblika."
+
+[redact.tooltip.manual.apply]
+title = "Primeni zacrnjivanja"
+text = "Nakon označavanja sadržaja, kliknite „Primeni“ da trajno zacrnite sve označene oblasti. Broj na čekanju pokazuje koliko je zacrnjivanja spremno za primenu."
+bullet1 = "Označite koliko god oblasti treba pre primene"
+bullet2 = "Sva zacrnjivanja na čekanju se primenjuju odjednom"
+bullet3 = "Zacrnjivanja se ne mogu opozvati nakon primene"
+
[redact.manual]
+title = "Alati za zacrnjivanje"
+instructions = "Izaberite tekst ili nacrtajte oblasti na PDF-u da označite sadržaj za zacrnjivanje."
+markText = "Označi tekst"
+markArea = "Označi oblast"
+pendingLabel = "Na čekanju:"
+applyWarning = "⚠️ Trajna primena, ne može se opozvati i podaci ispod će biti obrisani"
+apply = "Primeni"
+noMarks = "Nema oznaka za zacrnjivanje. Upotrebite gornje alate da označite sadržaj za zacrnjivanje."
header = "Ručno zacrnjivanje"
+controlsTitle = "Kontrole ručnog zacrnjivanja"
textBasedRedaction = "Zacrnivanje zasnovano na tekstu"
pageBasedRedaction = "Zacrnivanje po stranici"
convertPDFToImageLabel = "Konvertuj PDF u PDF-Image (koristi se za uklanjanje teksta iza okvira)"
@@ -3406,17 +3462,17 @@ label = "Vertikalne podele"
placeholder = "Unesite broj vertikalnih podele"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Režim deljenja"
+description = "Izaberite kako da podelite stranice"
+splitAll = "Podeli sve stranice"
+splitAllExceptFirst = "Podeli sve osim prve"
+splitAllExceptLast = "Podeli sve osim poslednje"
+splitAllExceptFirstAndLast = "Podeli sve osim prve i poslednje"
+custom = "Prilagođene stranice"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Prilagođeni brojevi stranica"
+placeholder = "npr. 2,4,6"
[AddStampRequest]
tags = "Stamp, Add image, center image, Watermark, PDF, Embed, Customize"
@@ -3780,17 +3836,17 @@ filesize = "Veličina datoteke"
label = "Primeni sivinu za kompresiju"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Linearizuj PDF za brzo pregledanje na vebu"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Konvertuj slike u linijski crtež"
+description = "Koristi ImageMagick da smanji stranice na visokokontrastnu crno-belu radi maksimalnog smanjenja veličine."
+unavailable = "ImageMagick nije instaliran ili omogućen na ovom serveru"
+detailLevel = "Nivo detalja"
+edgeEmphasis = "Naglašavanje ivica"
+edgeLow = "Blago"
+edgeMedium = "Uravnoteženo"
+edgeHigh = "Jako"
[compress.tooltip.header]
title = "Pregled podešavanja kompresije"
@@ -3810,8 +3866,8 @@ title = "Nijanse sive"
text = "Izaberite ovu opciju da konvertujete sve slike u crno-belo, što može značajno smanjiti veličinu fajla, posebno za skenirane PDF-ove ili dokumente sa mnogo slika."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "Linijski crtež"
+text = "Konvertuje stranice u visokokontrastnu crno-belu koristeći ImageMagick. Koristite nivo detalja da biste kontrolisali koliko sadržaja postaje crno, a naglašavanje ivica da biste kontrolisali koliko agresivno se otkrivaju ivice."
[compress.error]
failed = "Došlo je do greške prilikom kompresovanja PDF-a."
@@ -3826,9 +3882,9 @@ _value = "Podešavanja kompresije"
1 = "1-3 PDF kompresija, 4-6 blaga kompresija slika, 7-9 intenzivna kompresija slika koja značajno smanjuje kvalitet slika"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Niže vrednosti čuvaju kvalitet, ali daju veće fajlove"
+range4to6 = "Srednja kompresija uz umereno smanjenje kvaliteta"
+range7to9 = "Veće vrednosti značajno smanjuju veličinu fajla, ali mogu smanjiti jasnoću slika"
[decrypt]
passwordPrompt = "Ova datoteka je zaštićena lozinkom. Unesi lozinku:"
@@ -3973,7 +4029,7 @@ version = "Aktuelno izdanje"
title = "API dokumentacija"
header = "API dokumentacija"
desc = "Pregledajte i testirajte Stirling PDF API endpoints"
-tags = "api,dokumentacija,swagger,krajnje tačke,razvoj"
+tags = "api,documentation,swagger,endpoints,development"
[cookieBanner.popUp]
title = "Kako koristimo kolačiće"
@@ -4069,7 +4125,7 @@ deleteSelected = "Obriši izabrane stranice"
closePdf = "Zatvori PDF"
exportAll = "Izvezi PDF"
downloadSelected = "Preuzmi izabrane fajlove"
-annotations = "Annotations"
+annotations = "Anotacije"
exportSelected = "Izvezi izabrane stranice"
saveChanges = "Sačuvaj izmene"
toggleTheme = "Uključi/isključi temu"
@@ -4077,84 +4133,90 @@ language = "Jezik"
toggleAnnotations = "Uključi/isključi vidljivost anotacija"
search = "Pretraži PDF"
panMode = "Režim pomeranja"
+applyRedactionsFirst = "Prvo primenite zacrnjivanja"
rotateLeft = "Rotiraj ulevo"
rotateRight = "Rotiraj udesno"
toggleSidebar = "Uključi/isključi bočnu traku"
toggleBookmarks = "Prikaži/sakrij obeleživače"
print = "Štampaj PDF"
+draw = "Crtaj"
+redact = "Zacrni"
+exitRedaction = "Izađi iz režima zacrnjivanja"
+save = "Sačuvaj"
downloadAll = "Preuzmi sve"
saveAll = "Sačuvaj sve"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Levo"
+center = "Centar"
+right = "Desno"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "Anotiraj"
+desc = "Koristite isticanje, olovku, tekst i beleške. Izmene ostaju aktivne—nije potrebno spajanje slojeva."
+highlight = "Istakni"
+pen = "Olovka"
+text = "Tekstualni okvir"
+note = "Beleška"
+rectangle = "Pravougaonik"
+ellipse = "Elipsa"
+select = "Izaberi"
+exit = "Izađi iz režima anotiranja"
+strokeWidth = "Širina"
+opacity = "Neprozirnost"
+strokeOpacity = "Neprozirnost linije"
+fillOpacity = "Neprozirnost popune"
+fontSize = "Veličina fonta"
+chooseColor = "Izaberite boju"
+color = "Boja"
+strokeColor = "Boja linije"
+fillColor = "Boja popune"
+underline = "Podvuci"
+strikeout = "Precrtaj"
+squiggly = "Talasasto isticanje"
+inkHighlighter = "Ručni marker"
+freehandHighlighter = "Ručni marker"
+square = "Kvadrat"
+circle = "Krug"
+polygon = "Poligon"
+line = "Linija"
+stamp = "Dodaj sliku"
+textMarkup = "Označavanje teksta"
+drawing = "Crtanje"
+shapes = "Oblici"
+notesStamps = "Beleške i pečati"
+settings = "Podešavanja"
+borderOn = "Okvir: uključen"
+borderOff = "Okvir: isključen"
+editInk = "Uredi olovku"
+editLine = "Uredi liniju"
+editNote = "Uredi belešku"
+editText = "Uredi tekstualni okvir"
+editTextMarkup = "Uredi označavanje teksta"
+editSelected = "Uredi anotaciju"
+editSquare = "Uredi kvadrat"
+editCircle = "Uredi krug"
+editPolygon = "Uredi poligon"
+unsupportedType = "Ovaj tip anotacije nije u potpunosti podržan za uređivanje."
+textAlignment = "Poravnanje teksta"
+noteIcon = "Ikona beleške"
+imagePreview = "Pregled"
+contents = "Tekst"
+backgroundColor = "Boja pozadine"
+clearBackground = "Ukloni pozadinu"
+noBackground = "Bez pozadine"
+stampSettings = "Podešavanja pečata"
+savingCopy = "Priprema preuzimanja..."
+saveFailed = "Nije moguće sačuvati kopiju"
+saveReady = "Preuzimanje spremno"
+selectAndMove = "Izaberi i uredi"
+editSelectDescription = "Kliknite postojeću anotaciju da biste uredili njenu boju, neprozirnost, tekst ili veličinu."
+editStampHint = "Da biste promenili sliku, obrišite ovaj pečat i dodajte novi."
+editSwitchToSelect = "Prebacite se na Izaberi i uredi da biste uredili ovu anotaciju."
+undo = "Opozovi"
+redo = "Ponovi"
+applyChanges = "Primeni izmene"
+saveChanges = "Sačuvaj izmene"
[search]
title = "Pretraži PDF"
@@ -4205,20 +4267,20 @@ settings = "Postavke"
adminSettings = "Admin postavke"
allTools = "All Tools"
reader = "Čitač"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Obilasci"
+showMeAround = "Provedi me kroz"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Pogledajte vodiče ovde: obilazak Alata, obilazak novog V2 rasporeda i Admin obilazak."
+user = "Pogledajte vodiče ovde: obilazak Alata i obilazak novog V2 rasporeda."
[quickAccess.helpMenu]
toolsTour = "Obilazak alata"
toolsTourDesc = "Saznajte šta alati mogu da urade"
adminTour = "Administratorski obilazak"
adminTourDesc = "Istražite admin podešavanja i funkcije"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Pogledajte šta je novo u V2"
+whatsNewTourDesc = "Obilazak ažuriranog rasporeda"
[admin]
error = "Greška"
@@ -4237,6 +4299,8 @@ fetchError = "Nije uspelo učitavanje podešavanja"
saveError = "Nije uspelo čuvanje podešavanja"
saved = "Podešavanja uspešno sačuvana"
saveSuccess = "Podešavanja uspešno sačuvana"
+success = "Podešavanja su uspešno sačuvana"
+error = "Nije uspelo čuvanje podešavanja"
save = "Sačuvaj izmene"
discard = "Odbaci"
restartRequired = "Potreban je restart"
@@ -4360,6 +4424,13 @@ description = "Putanja do WeasyPrint izvršne datoteke za konverziju HTML u PDF
label = "Unoconvert izvršna datoteka"
description = "Putanja do LibreOffice unoconvert za konverzije dokumenata (ostavite prazno za podrazumevano: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "Frontend URL"
+description = "Osnovni URL za frontend (npr., https://pdf.example.com). Koristi se za linkove pozivnica e-poštom i otpremanja putem mobilnog QR koda. Ostavite prazno da biste koristili backend URL."
+
+[admin.settings.badge]
+clickToUpgrade = "Kliknite da vidite detalje plana"
+
[admin.settings.security]
title = "Bezbednost"
description = "Podesite autentikaciju, ponašanje prijave i bezbednosne politike."
@@ -4496,6 +4567,19 @@ connect = "Poveži"
disconnect = "Prekini vezu"
disconnected = "Veza sa provajderom je uspešno prekinuta"
disconnectError = "Prekid veze sa provajderom nije uspeo"
+mobileScannerConvertToPdf = "Konvertuj slike u PDF"
+mobileScannerConvertToPdfDesc = "Automatski konvertuje otpremljene slike u PDF format. Ako je onemogućeno, slike će ostati neizmenjene."
+mobileScannerImageResolution = "Rezolucija slike"
+mobileScannerImageResolutionDesc = "Rezolucija otpremljenih slika. „Smanjena“ skaluje slike do najviše 1200px radi smanjenja veličine fajla."
+imageResolutionFull = "Puna (originalna veličina)"
+imageResolutionReduced = "Smanjena (maks. 1200px)"
+mobileScannerPageFormat = "Format stranice"
+mobileScannerPageFormatDesc = "Veličina PDF stranice za konvertovane slike. „Zadrži“ koristi izvorne dimenzije slike."
+pageFormatKeep = "Zadrži (izvorne dimenzije)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Razvuci da popuni"
+mobileScannerStretchToFitDesc = "Razvuci slike da ispune celu stranicu. Ako je onemogućeno, slike su centrirane uz očuvan odnos stranica."
[admin.settings.connections.ssoAutoLogin]
label = "SSO automatska prijava"
@@ -4564,6 +4648,122 @@ description = "Automatski kreiraj korisničke naloge pri prvoj SAML2 prijavi"
label = "Blokiraj registraciju"
description = "Spreči registraciju novih korisnika putem SAML2"
+[admin.settings.connections.mobileScanner]
+label = "Otpremanje sa mobilnog telefona"
+enable = "Omogući otpremanje putem QR koda"
+description = "Dozvoli korisnicima da otpremaju fajlove sa mobilnih uređaja skeniranjem QR koda"
+note = "Napomena: Zahteva da Frontend URL bude podešen. "
+link = "Podesi u sistemskim podešavanjima"
+mobileScannerConvertToPdf = "Konvertuj slike u PDF"
+mobileScannerConvertToPdfDesc = "Automatski konvertuje otpremljene slike u PDF format. Ako je onemogućeno, slike će ostati neizmenjene."
+mobileScannerImageResolution = "Rezolucija slike"
+mobileScannerImageResolutionDesc = "Rezolucija otpremljenih slika. „Smanjena“ skaluje slike do najviše 1200px radi smanjenja veličine fajla."
+imageResolutionFull = "Puna (originalna veličina)"
+imageResolutionReduced = "Smanjena (maks. 1200px)"
+mobileScannerPageFormat = "Format stranice"
+mobileScannerPageFormatDesc = "Veličina PDF stranice za konvertovane slike. „Zadrži“ koristi izvorne dimenzije slike."
+pageFormatKeep = "Zadrži (izvorne dimenzije)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Razvuci da popuni"
+mobileScannerStretchToFitDesc = "Razvuci slike da ispune celu stranicu. Ako je onemogućeno, slike su centrirane uz očuvan odnos stranica."
+
+[admin.settings.telegram]
+title = "Telegram bot"
+description = "Konfigurišite povezivanje Telegram bota, kontrolu pristupa i ponašanje povratnih poruka."
+
+[admin.settings.telegram.enabled]
+label = "Omogući Telegram bot"
+description = "Omogućava korisnicima interakciju sa Stirling PDF putem vašeg podešenog Telegram bota."
+
+[admin.settings.telegram.botUsername]
+label = "Korisničko ime bota"
+description = "Javno korisničko ime vašeg Telegram bota."
+
+[admin.settings.telegram.botToken]
+label = "Token bota"
+description = "API token koji je obezbedio BotFather za vaš Telegram bot."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Folder prijemnog sandučeta"
+description = "Folder u okviru direktorijuma pipeline u kojem se čuvaju dolazni Telegram fajlovi."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Koristi prilagođeni sufiks foldera"
+description = "Dodaj ID razgovora folderima dolaznih fajlova kako bi se otpremanja izolovala po razgovoru."
+
+[admin.settings.telegram.accessControl]
+title = "Kontrola pristupa"
+description = "Ograničite koji korisnici ili kanali mogu da komuniciraju sa botom."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Dozvoli određene ID-jeve korisnika"
+description = "Kada je omogućeno, samo navedeni ID-jevi korisnika mogu koristiti bota."
+
+[admin.settings.telegram.allowUserIDs]
+label = "Dozvoljeni ID-jevi korisnika"
+description = "Unesite Telegram ID-jeve korisnika koji smeju da koriste bota."
+placeholder = "Dodajte ID korisnika i pritisnite enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Dozvoli određene ID-jeve kanala"
+description = "Kada je omogućeno, samo navedeni ID-jevi kanala mogu koristiti bota."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "Dozvoljeni ID-jevi kanala"
+description = "Unesite Telegram ID-jeve kanala koji smeju da koriste bota."
+placeholder = "Dodajte ID kanala i pritisnite enter"
+
+[admin.settings.telegram.processing]
+title = "Obrada"
+description = "Kontrolišite intervale provere i vremenska ograničenja obrade za Telegram otpremanja."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Vremensko ograničenje obrade (sekunde)"
+description = "Maksimalno vreme čekanja na zadatak obrade pre prijave greške."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Interval provere (ms)"
+description = "Interval između provera novih Telegram ažuriranja."
+
+[admin.settings.telegram.feedback]
+title = "Povratne poruke"
+description = "Izaberite kada bot treba da šalje povratne informacije korisnicima i kanalima."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Omogući povratne poruke"
+description = "Kontroliše da li bot uopšte šalje povratne poruke."
+
+[admin.settings.telegram.feedback.channel]
+title = "Pravila povratnih poruka za kanale"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Prikaži „Nema važećeg dokumenta“ (kanal)"
+description = "Potisni odgovor „Nema važećeg dokumenta“ za otpremanja u kanale."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Prikaži greške obrade (kanal)"
+description = "Šalje poruke o greškama obrade u kanale."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Prikaži poruke o greškama (kanal)"
+description = "Prikaži detaljne poruke o greškama za kanale."
+
+[admin.settings.telegram.feedback.user]
+title = "Pravila povratnih poruka za korisnike"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Prikaži „Nema važećeg dokumenta“ (korisnik)"
+description = "Potisni odgovor „Nema važećeg dokumenta“ za korisnička otpremanja."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Prikaži greške obrade (korisnik)"
+description = "Šalje poruke o greškama obrade korisnicima."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Prikaži poruke o greškama (korisnik)"
+description = "Prikaži detaljne poruke o greškama za korisnike."
+
[admin.settings.database]
title = "Baza podataka"
description = "Podesite prilagođena podešavanja konekcije baze podataka za korporativna okruženja."
@@ -4745,6 +4945,10 @@ description = "Dozvoli administratorima da pozovu korisnike putem e-pošte sa au
label = "Frontend URL"
description = "Osnovni URL za frontend (npr. https://pdf.example.com). Koristi se za generisanje pozivnih linkova u emailovima. Ostavite prazno da biste koristili backend URL."
+[admin.settings.mail.frontendUrlNote]
+note = "Napomena: Zahteva da Frontend URL bude podešen. "
+link = "Podesi u sistemskim podešavanjima"
+
[admin.settings.legal]
title = "Pravni dokumenti"
description = "Podesite linkove ka pravnim dokumentima i politikama."
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "Moje datoteke"
noRecentFiles = "Nisu pronađene nedavne datoteke"
googleDriveNotAvailable = "Integracija sa Google Drive nije dostupna"
+mobileUpload = "Otpremanje sa mobilnog"
+mobileShort = "Mobilni"
+mobileUploadNotAvailable = "Otpremanje sa mobilnog nije omogućeno"
downloadSelected = "Preuzmi izabrano"
saveSelected = "Sačuvaj izabrano"
openFiles = "Otvori datoteke"
@@ -5244,7 +5451,7 @@ loading = "Učitavanje..."
back = "Nazad"
continue = "Nastavi"
error = "Greška"
-save = "Save"
+save = "Sačuvaj"
[config.overview]
title = "Konfiguracija aplikacije"
@@ -5307,6 +5514,15 @@ impact = "Sve aplikacije ili servisi koji trenutno koriste ove ključeve presta
confirmPrompt = "Da li ste sigurni da želite da nastavite?"
confirmCta = "Osveži ključeve"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "Greška API ključa"
+failedToCreateApiKey = "Neuspešno kreiranje API ključa."
+failedToRetrieveApiKey = "Neuspešno preuzimanje API ključa iz odgovora."
+failedToFetchApiKey = "Neuspešno dovlačenje API ključa."
+apiKeyRefreshed = "API ključ osvežen"
+apiKeyRefreshedBody = "Vaš API ključ je uspešno osvežen."
+failedToRefreshApiKey = "Neuspešno osvežavanje API ključa."
+
[AddAttachmentsRequest]
attachments = "Izaberite priloge"
info = "Izaberite fajlove koje želite da priložite vašem PDF-u. Ovi fajlovi će biti ugnježdeni i dostupni kroz panel priloga u PDF-u."
@@ -5412,14 +5628,14 @@ startTour = "Započni turu"
startTourDescription = "Krenite u vođenu turu kroz ključne funkcije Stirling PDF-a"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Počnite na traci za Brzi pristup da biste prelazili između Čitača, Automatizacije, svojih fajlova i svih obilazaka."
+leftPanel = "Levi panel Alati sadrži sve što možete da uradite. Pregledajte kategorije ili pretražite da brzo nađete alat."
+fileUpload = "Koristite dugme Fajlovi da otpremite ili izaberete skorašnji PDF. Učitaćemo primer da biste videli radni prostor."
+rightRail = "Desna traka sadrži brze radnje za izbor fajlova, promenu teme ili jezika i preuzimanje rezultata."
+topBar = "Gornja traka vam omogućava da prebacujete između Pregledača, Uređivača stranica i Aktivnih fajlova."
+pageEditorView = "Prebacite se na Uređivač stranica da biste preuredili, rotirali ili obrisali stranice."
+activeFilesView = "Koristite Aktivne fajlove da vidite sve što je otvoreno i izaberete na čemu ćete raditi."
+wrapUp = "To je ono što je novo u V2. Otvorite meni Obilasci bilo kada da ponovo pokrenete ovo, obilazak Alata ili Admin obilazak."
[onboarding.welcomeModal]
title = "Dobrodošli u Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "Provedi me kroz aplikaciju"
skipTheTour = "Preskoči obilazak"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Pregled obilaska"
+body = "Stirling PDF V2 dolazi sa desetinama alata i osveženim rasporedom. Pođite na kratki obilazak da vidite šta se promenilo i gde da pronađete funkcije koje su vam potrebne."
[onboarding.serverLicense]
skip = "Preskoči za sada"
@@ -5452,7 +5668,7 @@ upgrade = "Nadogradite sada →"
freeTitle = "Serverska licenca"
overLimitTitle = "Potrebna serverska licenca"
overLimitBody = "Naše licenciranje dozvoljava do {{freeTierLimit}} korisnika besplatno po serveru. Imate {{overLimitUserCopy}} Stirling korisnika. Da nastavite bez prekida, pređite na Stirling Server plan - neograničena mesta, uređivanje PDF teksta i puna admin kontrola za $99/server/mes."
-freeBody = "Naše licenciranje Open-Core dozvoljava do {{freeTierLimit}} korisnika besplatno po serveru. Za neometano skaliranje, preporučujemo plan Stirling Server - neograničena mesta i SSO podrška za $99/server/mo."
+freeBody = "Naše Open-Core licenciranje dozvoljava do {{freeTierLimit}} korisnika besplatno po serveru. Da se bez prekida skalirate i dobijete rani pristup našem novom alatu za uređivanje PDF teksta, preporučujemo Stirling Server plan - puno uređivanje i neograničena mesta za $99/server/mes."
[onboarding.desktopInstall]
title = "Preuzmi"
@@ -5758,28 +5974,28 @@ contactSales = "Kontaktirajte prodaju"
contactToUpgrade = "Kontaktirajte nas za nadogradnju ili prilagođavanje vašeg paketa"
maxUsers = "Maks. broj korisnika"
upTo = "Do"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Nabavi serversku licencu"
+upgradeToEnterprise = "Nadogradi na Enterprise"
+selectPeriod = "Izaberi obračunski period"
+monthlyBilling = "Mesečno fakturisanje"
+yearlyBilling = "Godišnje fakturisanje"
+checkoutOpened = "Plaćanje otvoreno"
+checkoutInstructions = "Dovršite kupovinu u Stripe kartici. Nakon plaćanja, vratite se ovde i osvežite stranicu da aktivirate licencu. Takođe ćete dobiti e-poštom licencni ključ."
+activateLicense = "Aktivirajte licencu"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Plaćanje otvoreno u novoj kartici"
+instructions = "Dovršite kupovinu u Stripe kartici. Kada uplata bude završena, dobićete e-poštom licencni ključ."
+enterKey = "Unesite svoj licencni ključ ispod da biste aktivirali plan:"
+keyDescription = "Nalepite licencni ključ iz e-pošte"
+activate = "Aktiviraj licencu"
+doLater = "Učiniću to kasnije"
+success = "Licenca aktivirana!"
+successMessage = "Vaša licenca je uspešno aktivirana. Sada možete zatvoriti ovaj prozor."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "Potrebna je verifikacija e-pošte"
+message = "Moraćete da verifikujete svoju e-poštu u Stripe portalu za naplatu. Proverite e-poštu za link za prijavu."
[plan.period]
month = "mesec"
@@ -5983,8 +6199,8 @@ notAvailable = "Audit sistem nije dostupan"
notAvailableMessage = "Audit sistem nije podešen ili nije dostupan."
disabled = "Audit logovanje je onemogućeno"
disabledMessage = "Omogućite audit logovanje u konfiguraciji aplikacije da biste pratili događaje sistema."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Potrebna je Enterprise licenca"
+enterpriseRequiredMessage = "Sistem evidencije revizije je enterprise funkcija. Nadogradite na enterprise licencu da biste pristupili revizorskim zapisima i analitici."
[audit.error]
title = "Greška pri učitavanju audit sistema"
@@ -6156,6 +6372,7 @@ description = "Unesite puni URL vašeg samohostovanog Stirling PDF servera"
[setup.server.error]
emptyUrl = "Unesite URL servera"
+invalidUrl = "Nevažeći format URL-a. Unesite ispravan URL kao https://your-server.com"
unreachable = "Nije moguće povezati se sa serverom"
testFailed = "Test veze nije uspeo"
configFetch = "Nije uspelo preuzimanje konfiguracije servera. Proverite URL i pokušajte ponovo."
@@ -6174,6 +6391,7 @@ connectingTo = "Povezivanje na:"
submit = "Prijavi se"
signInWith = "Prijavite se sa"
oauthPending = "Otvaranje pregledača za autentikaciju..."
+sso = "Jedinstvena prijava"
orContinueWith = "Ili nastavite uz email"
serverRequirement = "Napomena: Server mora imati omogućenu prijavu."
showInstructions = "Kako omogućiti?"
@@ -6239,8 +6457,8 @@ reset = "Poništi izmene"
downloadJson = "Preuzmi JSON"
generatePdf = "Generiši PDF"
saveChanges = "Sačuvajte izmene"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Primeni izmene"
+downloadCopy = "Preuzmi kopiju"
[pdfTextEditor.options.autoScaleText]
title = "Automatski prilagodi tekst okvirima"
@@ -6260,22 +6478,22 @@ title = "Zaključaj izmenjeni tekst u jedan PDF element"
description = "Kada je uključeno, editor izvozi svaki izmenjeni tekstualni okvir kao jedan PDF tekstualni element kako bi se izbeglo preklapanje glifova ili mešani fontovi."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Napredna podešavanja"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Ograničenja pregleda"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Fokus na tekst i sliku"
+text = "Ovaj radni prostor je usredsređen na uređivanje teksta i premeštanje ugrađenih slika. Složen crtež stranice, vidžeti formulara i slojevita grafika čuvaju se za izvoz, ali ovde nisu u potpunosti izmenjivi."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Razlike u prikazu"
+text = "Neki vizuelni elementi (kao što su ivice tabela, oblici ili izgled anotacija) možda neće biti prikazani identično u pregledu. Izvezeni PDF zadržava originalne komande crtanja kad god je moguće."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Alfa pregledač"
+text = "Ovaj alfa pregledač se i dalje razvija—određeni fontovi, boje, efekti providnosti i detalji rasporeda mogu se blago promeniti. Molimo dvaput proverite generisani PDF pre deljenja."
[pdfTextEditor.manual]
mergeTooltip = "Spoji izabrane okvire"
@@ -6398,3 +6616,58 @@ title = "Rezultati dodavanja teksta"
[addText.error]
failed = "Došlo je do greške pri dodavanju teksta u PDF."
+
+[mobileUpload]
+title = "Otpremi sa mobilnog"
+description = "Skenirajte da otpremite fotografije. Slike se automatski konvertuju u PDF."
+descriptionNoConvert = "Skenirajte da otpremite fotografije sa mobilnog uređaja."
+error = "Greška pri povezivanju"
+pollingError = "Greška pri proveri fajlova"
+sessionId = "ID sesije"
+sessionCreateError = "Kreiranje sesije nije uspelo"
+expiryWarning = "Sesija uskoro ističe"
+expiryWarningMessage = "Ovaj QR kod će isteći za {{seconds}} sekundi. Novi kod će biti automatski generisan."
+filesReceived = "{{count}} fajl(ova) primljeno"
+connected = "Mobilni uređaj povezan"
+instructions = "Skenirajte kamerom telefona. Slike se automatski konvertuju u PDF."
+instructionsNoConvert = "Skenirajte kamerom telefona da otpremite fajlove."
+
+[mobileScanner]
+title = "Mobilni skener"
+noSession = "Nevažeća sesija"
+noSessionMessage = "Skenirajte važeći QR kod da biste pristupili ovoj stranici."
+validating = "Provera sesije..."
+sessionInvalid = "Greška sesije"
+sessionExpired = "Ova sesija je istekla. Osvežite i pokušajte ponovo."
+sessionNotFound = "Sesija nije pronađena. Osvežite i pokušajte ponovo."
+sessionValidationError = "Nije moguće verifikovati sesiju. Pokušajte ponovo."
+uploadSuccess = "Otpremanje uspešno!"
+uploadSuccessMessage = "Vaše slike su prenete."
+httpsRequired = "Pristup kameri zahteva HTTPS ili localhost. Koristite HTTPS ili pristupite preko localhost-a."
+uploadFailed = "Otpremanje nije uspelo. Pokušajte ponovo."
+uploading = "Otpremanje..."
+connected = "Povezano"
+connecting = "Povezivanje..."
+chooseMethod = "Izaberite metod otpremanja"
+chooseMethodDescription = "Izaberite kako želite da skenirate i otpremite dokumente"
+camera = "Kamera"
+cameraDescription = "Skenirajte dokumente kamerom uređaja uz automatsko prepoznavanje ivica"
+fileUpload = "Otpremanje fajlova"
+fileDescription = "Otpremite postojeće fotografije ili dokumente sa uređaja"
+cameraAccessDenied = "Pristup kameri je odbijen. Omogućite pristup kameri."
+back = "Nazad"
+settings = "Podešavanja"
+edgeDetection = "Detekcija ivica"
+flashlight = "Svetiljka"
+flash = "Blic"
+processing = "Obrada..."
+capture = "Snimi fotografiju"
+selectFilesPrompt = "Izaberite fajlove za otpremanje"
+selectImage = "Izaberi sliku"
+preview = "Pregled"
+retake = "Ponovi snimak"
+addToBatch = "Dodaj u grupu"
+upload = "Otpremi"
+batchImages = "Grupa"
+clearBatch = "Očisti"
+uploadAll = "Otpremi sve"
diff --git a/frontend/public/locales/sv-SE/translation.toml b/frontend/public/locales/sv-SE/translation.toml
index 8d6c7417d..da8cc95f6 100644
--- a/frontend/public/locales/sv-SE/translation.toml
+++ b/frontend/public/locales/sv-SE/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "Du har osparade ändringar i din PDF."
+pendingRedactionsTitle = "Ej tillämpade maskningar"
+pendingRedactions = "Du har ej tillämpade maskningar som kommer att gå förlorade."
areYouSure = "Är du säker på att du vill lämna?"
unsavedChangesTitle = "Osparade ändringar"
keepWorking = "Fortsätt arbeta"
discardChanges = "Förkasta och lämna"
+discardRedactions = "Kasta och lämna"
applyAndContinue = "Spara och lämna"
exportAndContinue = "Exportera och fortsätt"
cancel = "Avbryt"
@@ -364,6 +367,7 @@ advanced = "Avancerat"
title = "Säkerhet och autentisering"
security = "Säkerhet"
connections = "Anslutningar"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Licensiering och analys"
@@ -438,25 +442,32 @@ currentVersion = "Aktuell version"
latestVersion = "Senaste version"
checkForUpdates = "Sök efter uppdateringar"
viewDetails = "Visa detaljer"
+serverNeedsUpdate = "Servern måste uppdateras av administratören"
+
+[settings.general.versionInfo]
+title = "Versionsinformation"
+description = "Information om skrivbords- och serverversioner"
+desktop = "Skrivbordsversion"
+server = "Serverversion"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Säkerhet"
+description = "Uppdatera ditt lösenord för att hålla ditt konto säkert."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Byt ditt lösenord. Du loggas ut efter uppdateringen."
+required = "Alla fält är obligatoriska."
+mismatch = "Nya lösenord matchar inte."
+error = "Det gick inte att uppdatera lösenordet. Verifiera ditt nuvarande lösenord och försök igen."
+success = "Lösenordet har uppdaterats. Logga in igen."
+ssoDisabled = "Lösenordsändringar hanteras av din identitetsleverantör."
+current = "Nuvarande lösenord"
+currentPlaceholder = "Ange ditt nuvarande lösenord"
+new = "Nytt lösenord"
+newPlaceholder = "Ange ett nytt lösenord"
+confirm = "Bekräfta nytt lösenord"
+confirmPlaceholder = "Ange ditt nya lösenord igen"
+update = "Uppdatera lösenord"
[settings.hotkeys]
title = "Kortkommandon"
@@ -511,16 +522,16 @@ low = "Låg"
title = "Ändra inloggningsuppgifter"
header = "Uppdatera dina kontouppgifter"
changePassword = "Du använder standardinloggningsuppgifter. Vänligen ange ett nytt lösenord"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Ditt konto hanteras av din identitetsleverantör."
newUsername = "Nytt användarnamn"
oldPassword = "Nuvarande lösenord"
newPassword = "Nytt lösenord"
confirmNewPassword = "Bekräfta nytt lösenord"
submit = "Skicka ändringar"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Konto uppdaterat"
+description = "Ändringarna har sparats. Logga in igen."
+error = "Det gick inte att uppdatera användarnamn. Kontrollera ditt lösenord och försök igen."
+changeUsername = "Uppdatera ditt användarnamn. Du loggas ut efter uppdateringen."
[account]
title = "Kontoinställningar"
@@ -528,6 +539,8 @@ accountSettings = "Kontoinställningar"
adminSettings = "Admininställningar - Visa och lägg till användare"
userControlSettings = "Användarhanteringsinställningar"
changeUsername = "Ändra användarnamn"
+changeUsernameDescription = "Uppdatera ditt användarnamn. Du loggas ut efter uppdateringen."
+newUsernamePlaceholder = "Ange ditt nya användarnamn"
newUsername = "Nytt användarnamn"
password = "Bekräftelselösenord"
oldPassword = "Gammalt lösenord"
@@ -737,9 +750,9 @@ title = "Signera"
desc = "Lägger till signatur till PDF genom ritning, text eller bild"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "annotera,markera,rita"
+title = "Annotera"
+desc = "Markera, rita, lägg till anteckningar och former i visaren"
[home.flatten]
tags = "förenkla,ta bort,interaktiv"
@@ -952,7 +965,7 @@ title = "Överlagra PDF:er"
[home.pdfTextEditor]
title = "PDF-textredigerare"
-desc = "Redigera befintlig text och bilder i PDF-filer"
+desc = "Granska och redigera Stirling PDF JSON-exporter med grupperad textredigering och PDF-återgenerering"
[home.addText]
tags = "text,kommentar,etikett"
@@ -963,6 +976,7 @@ desc = "Lägg till egen text var som helst i din PDF"
addFiles = "Lägg till filer"
uploadFromComputer = "Ladda upp från datorn"
openFromComputer = "Öppna från dator"
+mobileUpload = "Ladda upp från mobil"
[viewPdf]
tags = "visa,läs,kommentera,text,bild"
@@ -1278,21 +1292,33 @@ cbzOptions = "CBZ till PDF‑alternativ"
optimizeForEbook = "Optimera PDF för e‑boksläsare (använder Ghostscript)"
cbzOutputOptions = "PDF till CBZ‑alternativ"
cbzDpi = "DPI för bildrendering"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "CBR-alternativ"
+cbrOutputOptions = "Alternativ för PDF till CBR"
+cbrDpi = "DPI för bildrendering"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "Alternativ för e-bok till PDF"
+ebookOptionsDesc = "Alternativ för att konvertera e-böcker till PDF"
+embedAllFonts = "Bädda in alla typsnitt"
+embedAllFontsDesc = "Bädda in alla typsnitt från e-boken i den genererade PDF-filen"
+includeTableOfContents = "Inkludera innehållsförteckning"
+includeTableOfContentsDesc = "Lägg till en genererad innehållsförteckning i den resulterande PDF-filen"
+includePageNumbers = "Inkludera sidnummer"
+includePageNumbersDesc = "Lägg till sidnummer i den genererade PDF-filen"
+optimizeForEbookPdf = "Optimera för e-boksläsare"
+optimizeForEbookPdfDesc = "Optimera PDF:en för e-boksläsning (mindre filstorlek, bättre rendering på eInk-enheter)"
+
+[convert.epubOptions]
+epubOptions = "Alternativ för PDF till e-bok"
+epubOptionsDesc = "Alternativ för att konvertera PDF till EPUB/AZW3"
+detectChapters = "Identifiera kapitel"
+detectChaptersDesc = "Identifiera rubriker som liknar kapitel och infoga EPUB-sidbrytningar"
+targetDevice = "Målenhet"
+targetDeviceDesc = "Välj en utmatningsprofil optimerad för läsarenheten"
+outputFormat = "Utdataformat"
+outputFormatDesc = "Välj utdataformat för e-boken"
+tabletPhone = "Surfplatta/telefon (med bilder)"
+kindleEink = "Kindle e‑Ink (textoptimerad)"
[imageToPdf]
tags = "konvertering,img,jpg,bild,foto"
@@ -1409,11 +1435,11 @@ header = "Add attachments"
add = "Lägg till bilaga"
remove = "Ta bort bilaga"
embed = "Bädda in bilaga"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Konvertera till PDF/A-3b"
+convertToPdfA3bDescription = "Skapar en arkiv-PDF med inbäddade bilagor"
+convertToPdfA3bTooltip = "PDF/A-3b är ett arkivformat som säkerställer långsiktig bevaring. Det tillåter inbäddning av godtyckliga filformat som bilagor. Konverteringen kräver Ghostscript och kan ta längre tid för stora filer."
+convertToPdfA3bTooltipHeader = "Om konvertering till PDF/A-3b"
+convertToPdfA3bTooltipTitle = "Vad den gör"
submit = "Add attachments"
[watermark]
@@ -2350,7 +2376,7 @@ placeDesc = "Placera signaturen på din PDF"
[sign.type]
title = "Signaturtyp"
draw = "Rita"
-canvas = "Rityta"
+canvas = "Canvas"
image = "Bild"
text = "Text"
saved = "Sparad"
@@ -2359,10 +2385,10 @@ saved = "Sparad"
label = "Ladda upp signaturbild"
placeholder = "Välj bildfil"
hint = "Ladda upp en PNG- eller JPG-bild av din signatur"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Ta bort vit bakgrund (gör transparent)"
+processing = "Bearbetar bild..."
+backgroundRemovalFailedTitle = "Borttagning av bakgrund misslyckades"
+backgroundRemovalFailedMessage = "Kunde inte ta bort bakgrunden från bilden. Använder originalbilden i stället."
[sign.instructions]
title = "Så här lägger du till signatur"
@@ -2409,9 +2435,9 @@ label = "Platta till endast formulär"
desc = "Platta endast ut formulärfält, låt andra interaktiva element vara intakta"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "Renderings-DPI (valfritt, rekommenderas 150 DPI)"
+help = "Lämna tomt för att använda systemets standard. Högre DPI ger skarpare resultat men ökar bearbetningstid och filstorlek."
+placeholder = "t.ex. 150"
[flatten.results]
title = "Resultat för utplattning"
@@ -2987,7 +3013,7 @@ header = "Beskär PDF"
submit = "Skicka"
noFileSelected = "Välj en PDF-fil för att börja beskära"
reset = "Återställ till full PDF"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Auto-beskär tomrum"
[crop.preview]
title = "Val av beskärningsområde"
@@ -3218,6 +3244,7 @@ title = "Maskningsmetod"
mode = "Läge"
automatic = "Automatisk"
automaticDesc = "Maskera text baserat på söktermer"
+automaticDisabledTooltip = "Välj filer i filhanteraren för att maskera flera filer samtidigt"
manual = "Manuell"
manualDesc = "Klicka och dra för att maskera specifika områden"
manualComingSoon = "Manuell maskning kommer snart"
@@ -3288,8 +3315,35 @@ text = "Matcha endast kompletta ord, inte delträffar. 'John' matchar inte 'John
title = "Konvertera till PDF-bild"
text = "Konverterar PDF:en till en bildbaserad PDF efter maskning. Detta säkerställer att text bakom maskeringsrutorna är helt borttagen och inte kan återskapas."
+[redact.tooltip.manual.header]
+title = "Manuella maskeringskontroller"
+
+[redact.tooltip.manual.markText]
+title = "Verktyg för att markera text"
+text = "Markera text direkt på PDF-filen för maskering. Klicka och dra för att markera specifik text som du vill maskera."
+
+[redact.tooltip.manual.markArea]
+title = "Verktyg för att markera område"
+text = "Rita rektangulära områden på PDF-filen för att markera regioner som ska maskeras. Användbart för att maskera bilder, signaturer eller oregelbundna former."
+
+[redact.tooltip.manual.apply]
+title = "Tillämpa maskningar"
+text = "Efter att ha markerat innehåll klickar du på \"Tillämpa\" för att permanent maskera alla markerade områden. Räknaren visar hur många maskningar som är redo att tillämpas."
+bullet1 = "Markera så många områden som behövs innan du tillämpar"
+bullet2 = "Alla väntande maskningar tillämpas samtidigt"
+bullet3 = "Maskningar kan inte ångras efter tillämpning"
+
[redact.manual]
+title = "Maskeringsverktyg"
+instructions = "Markera text eller rita områden på PDF-filen för att markera innehåll för maskering."
+markText = "Markera text"
+markArea = "Markera område"
+pendingLabel = "Väntande:"
+applyWarning = "⚠️ Permanent åtgärd, kan inte ångras och underliggande data raderas"
+apply = "Tillämpa"
+noMarks = "Inga maskeringsmarkeringar. Använd verktygen ovan för att markera innehåll för maskering."
header = "Manuell maskning"
+controlsTitle = "Manuella maskeringskontroller"
textBasedRedaction = "Textbaserad maskning"
pageBasedRedaction = "Sidbaserad maskning"
convertPDFToImageLabel = "Konvertera PDF till PDF-bild (Används för att ta bort text bakom rutan)"
@@ -3406,17 +3460,17 @@ label = "Vertikala indelningar"
placeholder = "Ange antal vertikala indelningar"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Delningsläge"
+description = "Välj hur sidorna ska delas"
+splitAll = "Dela alla sidor"
+splitAllExceptFirst = "Dela alla utom första"
+splitAllExceptLast = "Dela alla utom sista"
+splitAllExceptFirstAndLast = "Dela alla utom första och sista"
+custom = "Anpassade sidor"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Anpassade sidnummer"
+placeholder = "t.ex. 2,4,6"
[AddStampRequest]
tags = "Stämpel,Lägg till bild,centrera bild,Vattenstämpel,PDF,Bädda in,Anpassa"
@@ -3780,17 +3834,17 @@ filesize = "Filstorlek"
label = "Tillämpa gråskala för komprimering"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Lineariserad PDF för snabb webbvisning"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Konvertera bilder till linjegrafik"
+description = "Använder ImageMagick för att reducera sidor till högkontrast svartvitt för maximal storleksminskning."
+unavailable = "ImageMagick är inte installerat eller aktiverat på denna server"
+detailLevel = "Detaljnivå"
+edgeEmphasis = "Kantbetoning"
+edgeLow = "Mjuk"
+edgeMedium = "Balanserad"
+edgeHigh = "Stark"
[compress.tooltip.header]
title = "Översikt över komprimeringsinställningar"
@@ -3810,8 +3864,8 @@ title = "Gråskala"
text = "Välj detta alternativ för att konvertera alla bilder till svartvitt, vilket kan minska filstorleken avsevärt, särskilt för skannade PDF:er eller bildtunga dokument."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "Linjegrafik"
+text = "Konvertera sidor till högkontrast svartvitt med ImageMagick. Använd detaljnivå för att styra hur mycket innehåll som blir svart och kantbetoning för hur aggressivt kanter upptäcks."
[compress.error]
failed = "Ett fel inträffade vid komprimering av PDF:en."
@@ -3826,9 +3880,9 @@ _value = "Komprimeringsinställningar"
1 = "1–3 PDF-komprimering, 4–6 lätt bildkomprimering, 7–9 kraftig bildkomprimering Försämrar bildkvaliteten avsevärt"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Lägre värden bevarar kvalitet men ger större filer"
+range4to6 = "Måttlig komprimering med måttlig kvalitetsminskning"
+range7to9 = "Högre värden minskar filstorleken avsevärt men kan försämra bildskärpan"
[decrypt]
passwordPrompt = "Denna fil är lösenordsskyddad. Fyll i lösenord:"
@@ -4069,7 +4123,7 @@ deleteSelected = "Ta bort markerade sidor"
closePdf = "Stäng PDF"
exportAll = "Exportera PDF"
downloadSelected = "Ladda ner markerade filer"
-annotations = "Annotations"
+annotations = "Annoteringar"
exportSelected = "Exportera markerade sidor"
saveChanges = "Spara ändringar"
toggleTheme = "Växla tema"
@@ -4077,84 +4131,90 @@ language = "Språk"
toggleAnnotations = "Växla synlighet för anteckningar"
search = "Sök i PDF"
panMode = "Panoreringsläge"
+applyRedactionsFirst = "Tillämpa maskningar först"
rotateLeft = "Rotera åt vänster"
rotateRight = "Rotera åt höger"
toggleSidebar = "Växla sidofält"
toggleBookmarks = "Visa/dölj bokmärken"
print = "Skriv ut PDF"
+draw = "Rita"
+redact = "Maskera"
+exitRedaction = "Avsluta maskeringsläge"
+save = "Spara"
downloadAll = "Ladda ner alla"
saveAll = "Spara alla"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Vänster"
+center = "Centrerat"
+right = "Höger"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
+title = "Annotera"
+desc = "Använd överstrykning, penna, text och anteckningar. Ändringar förblir live — ingen utplattning krävs."
+highlight = "Överstrykning"
+pen = "Penna"
+text = "Textruta"
+note = "Anteckning"
+rectangle = "Rektangel"
+ellipse = "Ellips"
+select = "Välj"
+exit = "Avsluta annoteringsläge"
+strokeWidth = "Bredd"
+opacity = "Opacitet"
+strokeOpacity = "Konturopacitet"
+fillOpacity = "Fyllnadsopacitet"
+fontSize = "Teckenstorlek"
+chooseColor = "Välj färg"
+color = "Färg"
+strokeColor = "Konturfärg"
+fillColor = "Fyllnadsfärg"
+underline = "Understrykning"
+strikeout = "Genomstrykning"
+squiggly = "Vågig"
+inkHighlighter = "Frihandsöverstrykning"
+freehandHighlighter = "Frihandsöverstrykning"
+square = "Kvadrat"
+circle = "Cirkel"
polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
+line = "Linje"
+stamp = "Lägg till bild"
+textMarkup = "Textmarkering"
+drawing = "Ritning"
+shapes = "Former"
+notesStamps = "Anteckningar och stämplar"
+settings = "Inställningar"
+borderOn = "Ram: På"
+borderOff = "Ram: Av"
+editInk = "Redigera penna"
+editLine = "Redigera linje"
+editNote = "Redigera anteckning"
+editText = "Redigera textruta"
+editTextMarkup = "Redigera textmarkering"
+editSelected = "Redigera annotering"
+editSquare = "Redigera kvadrat"
+editCircle = "Redigera cirkel"
+editPolygon = "Redigera polygon"
+unsupportedType = "Denna annoteringstyp stöds inte fullt ut för redigering."
+textAlignment = "Textjustering"
+noteIcon = "Ikon för anteckning"
+imagePreview = "Förhandsvisning"
contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+backgroundColor = "Bakgrundsfärg"
+clearBackground = "Ta bort bakgrund"
+noBackground = "Ingen bakgrund"
+stampSettings = "Stämpelinställningar"
+savingCopy = "Förbereder nedladdning..."
+saveFailed = "Kunde inte spara kopia"
+saveReady = "Nedladdning klar"
+selectAndMove = "Välj och redigera"
+editSelectDescription = "Klicka på en befintlig annotering för att redigera dess färg, opacitet, text eller storlek."
+editStampHint = "För att byta bild, ta bort denna stämpel och lägg till en ny."
+editSwitchToSelect = "Byt till Välj och redigera för att redigera denna annotering."
+undo = "Ångra"
+redo = "Gör om"
+applyChanges = "Verkställ ändringar"
+saveChanges = "Spara ändringar"
[search]
title = "Sök i PDF"
@@ -4205,20 +4265,20 @@ settings = "Inst."
adminSettings = "Admin inst."
allTools = "All Tools"
reader = "Läsare"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Guider"
+showMeAround = "Visa mig runt"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Se genomgångar här: Verktygsturen, turen för nya V2-layouten och administratörsturen."
+user = "Se genomgångar här: Verktygsturen och turen för nya V2-layouten."
[quickAccess.helpMenu]
toolsTour = "Verktygsrundtur"
toolsTourDesc = "Lär dig vad verktygen kan göra"
adminTour = "Adminrundtur"
adminTourDesc = "Utforska admininställningar och funktioner"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Se vad som är nytt i V2"
+whatsNewTourDesc = "Gå igenom den uppdaterade layouten"
[admin]
error = "Fel"
@@ -4237,6 +4297,8 @@ fetchError = "Kunde inte läsa in inställningar"
saveError = "Kunde inte spara inställningar"
saved = "Inställningarna sparades"
saveSuccess = "Inställningarna sparades"
+success = "Inställningarna har sparats"
+error = "Det gick inte att spara inställningarna"
save = "Spara ändringar"
discard = "Förkasta"
restartRequired = "Omstart krävs"
@@ -4360,6 +4422,13 @@ description = "Sökväg till WeasyPrint-körbar fil för konvertering från HTML
label = "Unoconvert-körbar fil"
description = "Sökväg till LibreOffice unoconvert för dokumentkonverteringar (lämna tomt för standard: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "Frontend-URL"
+description = "Bas-URL för frontend (t.ex. https://pdf.example.com). Används för e-postinbjudningslänkar och mobila QR-koduppladdningar. Lämna tomt för att använda backend-URL."
+
+[admin.settings.badge]
+clickToUpgrade = "Klicka för att visa plandetaljer"
+
[admin.settings.security]
title = "Säkerhet"
description = "Konfigurera autentisering, inloggningsbeteende och säkerhetspolicys."
@@ -4496,6 +4565,19 @@ connect = "Anslut"
disconnect = "Koppla från"
disconnected = "Leverantör frånkopplad"
disconnectError = "Det gick inte att koppla från leverantören"
+mobileScannerConvertToPdf = "Konvertera bilder till PDF"
+mobileScannerConvertToPdfDesc = "Konvertera automatiskt uppladdade bilder till PDF-format. Om inaktiverat behålls bilderna som de är."
+mobileScannerImageResolution = "Bildupplösning"
+mobileScannerImageResolutionDesc = "Upplösning för uppladdade bilder. \"Reducerad\" skalar bilder till max 1200px för att minska filstorleken."
+imageResolutionFull = "Full (originalstorlek)"
+imageResolutionReduced = "Reducerad (max 1200px)"
+mobileScannerPageFormat = "Sidformat"
+mobileScannerPageFormatDesc = "PDF-sidstorlek för konverterade bilder. \"Behåll\" använder bildens ursprungliga dimensioner."
+pageFormatKeep = "Behåll (ursprungliga dimensioner)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Sträck för att passa"
+mobileScannerStretchToFitDesc = "Sträck bilder för att fylla hela sidan. Om inaktiverat centreras bilder med bibehållen proportion."
[admin.settings.connections.ssoAutoLogin]
label = "Automatisk SSO-inloggning"
@@ -4564,6 +4646,122 @@ description = "Skapa automatiskt användarkonton vid första SAML2-inloggningen"
label = "Blockera registrering"
description = "Förhindra ny användarregistrering via SAML2"
+[admin.settings.connections.mobileScanner]
+label = "Uppladdning från mobiltelefon"
+enable = "Aktivera QR-koduppladdning"
+description = "Tillåt användare att ladda upp filer från mobila enheter genom att skanna en QR-kod"
+note = "Obs! Kräver att Frontend-URL är konfigurerad. "
+link = "Konfigurera i systeminställningarna"
+mobileScannerConvertToPdf = "Konvertera bilder till PDF"
+mobileScannerConvertToPdfDesc = "Konvertera automatiskt uppladdade bilder till PDF-format. Om inaktiverat behålls bilderna som de är."
+mobileScannerImageResolution = "Bildupplösning"
+mobileScannerImageResolutionDesc = "Upplösning för uppladdade bilder. \"Reducerad\" skalar bilder till max 1200px för att minska filstorleken."
+imageResolutionFull = "Full (originalstorlek)"
+imageResolutionReduced = "Reducerad (max 1200px)"
+mobileScannerPageFormat = "Sidformat"
+mobileScannerPageFormatDesc = "PDF-sidstorlek för konverterade bilder. \"Behåll\" använder bildens ursprungliga dimensioner."
+pageFormatKeep = "Behåll (ursprungliga dimensioner)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Sträck för att passa"
+mobileScannerStretchToFitDesc = "Sträck bilder för att fylla hela sidan. Om inaktiverat centreras bilder med bibehållen proportion."
+
+[admin.settings.telegram]
+title = "Telegram-bot"
+description = "Konfigurera anslutning till Telegram-bot, åtkomstkontroller och feedbackbeteende."
+
+[admin.settings.telegram.enabled]
+label = "Aktivera Telegram-bot"
+description = "Låt användare interagera med Stirling PDF via din konfigurerade Telegram-bot."
+
+[admin.settings.telegram.botUsername]
+label = "Botens användarnamn"
+description = "Det offentliga användarnamnet för din Telegram-bot."
+
+[admin.settings.telegram.botToken]
+label = "Bot-token"
+description = "API-token från BotFather för din Telegram-bot."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Inkorgsmapp"
+description = "Mapp under pipeline-katalogen där inkommande Telegram-filer lagras."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Använd anpassat mappsuffix"
+description = "Lägg till chatt-ID som suffix i mappar för inkommande filer för att isolera uppladdningar per chatt."
+
+[admin.settings.telegram.accessControl]
+title = "Åtkomstkontroll"
+description = "Begränsa vilka användare eller kanaler som kan interagera med boten."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Tillåt specifika användar-ID:n"
+description = "När aktiverat kan endast listade användar-ID:n använda boten."
+
+[admin.settings.telegram.allowUserIDs]
+label = "Tillåtna användar-ID:n"
+description = "Ange Telegram-användar-ID:n som får interagera med boten."
+placeholder = "Lägg till användar-ID och tryck Enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Tillåt specifika kanal-ID:n"
+description = "När aktiverat kan endast listade kanal-ID:n använda boten."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "Tillåtna kanal-ID:n"
+description = "Ange Telegram-kanal-ID:n som får interagera med boten."
+placeholder = "Lägg till kanal-ID och tryck Enter"
+
+[admin.settings.telegram.processing]
+title = "Bearbetning"
+description = "Styr pollingintervall och tidsgränser för bearbetning av Telegram-uppladdningar."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Tidsgräns för bearbetning (sekunder)"
+description = "Maximal väntetid för ett bearbetningsjobb innan fel rapporteras."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Pollingintervall (ms)"
+description = "Intervall mellan kontroller av nya Telegram-uppdateringar."
+
+[admin.settings.telegram.feedback]
+title = "Feedbackmeddelanden"
+description = "Välj när boten ska skicka feedback till användare och kanaler."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Aktivera feedback"
+description = "Styr om boten överhuvudtaget skickar feedbackmeddelanden."
+
+[admin.settings.telegram.feedback.channel]
+title = "Feedbackregler för kanaler"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Visa \"Inget giltigt dokument\" (Kanal)"
+description = "Undertryck svaret \"inget giltigt dokument\" för kanaluppladdningar."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Visa bearbetningsfel (Kanal)"
+description = "Skicka bearbetningsfelmeddelanden till kanaler."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Visa felmeddelanden (Kanal)"
+description = "Visa detaljerade felmeddelanden för kanaler."
+
+[admin.settings.telegram.feedback.user]
+title = "Feedbackregler för användare"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Visa \"Inget giltigt dokument\" (Användare)"
+description = "Undertryck svaret \"inget giltigt dokument\" för användaruppladdningar."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Visa bearbetningsfel (Användare)"
+description = "Skicka bearbetningsfelmeddelanden till användare."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Visa felmeddelanden (Användare)"
+description = "Visa detaljerade felmeddelanden för användare."
+
[admin.settings.database]
title = "Databas"
description = "Konfigurera anpassade databasanslutningar för företagsinstallationer."
@@ -4745,6 +4943,10 @@ description = "Tillåt administratörer att bjuda in användare via e-post med a
label = "Frontend-URL"
description = "Bas-URL för frontend (t.ex. https://pdf.example.com). Används för att generera inbjudningslänkar i e-post. Lämna tomt för att använda backend-URL."
+[admin.settings.mail.frontendUrlNote]
+note = "Obs! Kräver att Frontend-URL är konfigurerad. "
+link = "Konfigurera i systeminställningarna"
+
[admin.settings.legal]
title = "Juridiska dokument"
description = "Konfigurera länkar till juridiska dokument och policyer."
@@ -4929,6 +5131,9 @@ googleDriveShort = "Drive"
myFiles = "Mina filer"
noRecentFiles = "Inga senaste filer hittades"
googleDriveNotAvailable = "Google Drive-integration är inte tillgänglig"
+mobileUpload = "Mobiluppladdning"
+mobileShort = "Mobil"
+mobileUploadNotAvailable = "Mobiluppladdning inte aktiverad"
downloadSelected = "Ladda ner markerade"
saveSelected = "Spara markerade"
openFiles = "Öppna filer"
@@ -5244,7 +5449,7 @@ loading = "Läser in..."
back = "Tillbaka"
continue = "Fortsätt"
error = "Fel"
-save = "Save"
+save = "Spara"
[config.overview]
title = "Programkonfiguration"
@@ -5307,6 +5512,15 @@ impact = "Alla applikationer eller tjänster som för närvarande använder dess
confirmPrompt = "Är du säker på att du vill fortsätta?"
confirmCta = "Uppdatera nycklar"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "Fel på API-nyckel"
+failedToCreateApiKey = "Det gick inte att skapa API-nyckel."
+failedToRetrieveApiKey = "Det gick inte att hämta API-nyckel från svaret."
+failedToFetchApiKey = "Det gick inte att hämta API-nyckel."
+apiKeyRefreshed = "API-nyckel förnyad"
+apiKeyRefreshedBody = "Din API-nyckel har förnyats."
+failedToRefreshApiKey = "Det gick inte att förnya API-nyckeln."
+
[AddAttachmentsRequest]
attachments = "Välj bilagor"
info = "Välj filer att bifoga till din PDF. Dessa filer bäddas in och är åtkomliga via PDF:ens bilagepanel."
@@ -5412,14 +5626,14 @@ startTour = "Starta rundtur"
startTourDescription = "Ta en guidad tur av Stirling PDFs nyckelfunktioner"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Börja i panelen Snabbåtkomst för att hoppa mellan Reader, Automate, dina filer och alla guider."
+leftPanel = "Den vänstra panelen Verktyg listar allt du kan göra. Bläddra i kategorier eller sök för att snabbt hitta ett verktyg."
+fileUpload = "Använd knappen Filer för att ladda upp eller välja en senaste PDF. Vi laddar ett exempel så att du kan se arbetsytan."
+rightRail = "Den Högra panelen innehåller snabba åtgärder för att välja filer, byta tema eller språk och ladda ned resultat."
+topBar = "I översta listen kan du växla mellan Visare, Sidredigerare och Aktiva filer."
+pageEditorView = "Byt till Sidredigerare för att ordna om, rotera eller ta bort sidor."
+activeFilesView = "Använd Aktiva filer för att se allt du har öppet och välja vad du vill arbeta med."
+wrapUp = "Detta är nytt i V2. Öppna menyn Guider när som helst för att spela upp detta, verktygsturen eller administratörsturen igen."
[onboarding.welcomeModal]
title = "Välkommen till Stirling PDF!"
@@ -5442,8 +5656,8 @@ showMeAround = "Visa mig runt"
skipTheTour = "Hoppa över rundturen"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Översikt över rundtur"
+body = "Stirling PDF V2 levereras med dussintals verktyg och en uppdaterad layout. Ta en snabb tur för att se vad som ändrats och var du hittar de funktioner du behöver."
[onboarding.serverLicense]
skip = "Hoppa över nu"
@@ -5452,7 +5666,7 @@ upgrade = "Uppgradera nu →"
freeTitle = "Serverlicens"
overLimitTitle = "Serverlicens krävs"
overLimitBody = "Vår licensiering tillåter upp till {{freeTierLimit}} användare gratis per server. Du har {{overLimitUserCopy}} Stirling-användare. För att fortsätta utan avbrott, uppgradera till Stirling Server-planen - obegränsade platser, PDF-textredigering och full adminkontroll för $99/server/mån."
-freeBody = "Vår Open-Core-licens tillåter upp till {{freeTierLimit}} användare gratis per server. För att skala utan avbrott rekommenderar vi Stirling Server plan - obegränsat antal platser och SSO-stöd för $99/server/månad."
+freeBody = "Vår Open-Core-licens tillåter upp till {{freeTierLimit}} användare gratis per server. För att skala utan avbrott och få tidig åtkomst till vårt nya PDF-textredigeringsverktyg rekommenderar vi Stirling Server-planen - full redigering och obegränsade platser för $99/server/mån."
[onboarding.desktopInstall]
title = "Ladda ner"
@@ -5758,28 +5972,28 @@ contactSales = "Kontakta sälj"
contactToUpgrade = "Kontakta oss för att uppgradera eller anpassa din plan"
maxUsers = "Max antal användare"
upTo = "Upp till"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Skaffa serverlicens"
+upgradeToEnterprise = "Uppgradera till Enterprise"
+selectPeriod = "Välj faktureringsperiod"
+monthlyBilling = "Månadsvis fakturering"
+yearlyBilling = "Årsvis fakturering"
+checkoutOpened = "Kassan öppnad"
+checkoutInstructions = "Slutför ditt köp i Stripe-fliken. Efter betalning, återvänd hit och uppdatera sidan för att aktivera din licens. Du får även ett e-postmeddelande med din licensnyckel."
+activateLicense = "Aktivera din licens"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Kassan öppnad i ny flik"
+instructions = "Slutför ditt köp i Stripe-fliken. När betalningen är klar får du ett e-postmeddelande med din licensnyckel."
+enterKey = "Ange din licensnyckel nedan för att aktivera din plan:"
+keyDescription = "Klistra in licensnyckeln från ditt e‑postmeddelande"
+activate = "Aktivera licens"
+doLater = "Jag gör detta senare"
+success = "Licens aktiverad!"
+successMessage = "Din licens har aktiverats. Du kan nu stänga detta fönster."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "E-postverifiering krävs"
+message = "Du måste verifiera din e-postadress i Stripes faktureringsportal. Kontrollera din e-post för en inloggningslänk."
[plan.period]
month = "månad"
@@ -5983,8 +6197,8 @@ notAvailable = "Granskningssystemet är inte tillgängligt"
notAvailableMessage = "Granskningssystemet är inte konfigurerat eller inte tillgängligt."
disabled = "Granskningsloggning är inaktiverad"
disabledMessage = "Aktivera granskningsloggning i din applikationskonfiguration för att spåra systemhändelser."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Enterprise-licens krävs"
+enterpriseRequiredMessage = "Revisionsloggningen är en Enterprise-funktion. Uppgradera till en Enterprise-licens för att få åtkomst till revisionsloggar och analys."
[audit.error]
title = "Fel vid inläsning av granskningssystemet"
@@ -6156,6 +6370,7 @@ description = "Ange den fullständiga URL:en till din självhostade Stirling PDF
[setup.server.error]
emptyUrl = "Ange en server-URL"
+invalidUrl = "Ogiltigt URL-format. Ange en giltig URL som https://your-server.com"
unreachable = "Kunde inte ansluta till servern"
testFailed = "Anslutningstest misslyckades"
configFetch = "Det gick inte att hämta serverkonfigurationen. Kontrollera URL:en och försök igen."
@@ -6174,6 +6389,7 @@ connectingTo = "Ansluter till:"
submit = "Logga in"
signInWith = "Logga in med"
oauthPending = "Öppnar webbläsaren för autentisering..."
+sso = "Single Sign-On"
orContinueWith = "Eller fortsätt med e-post"
serverRequirement = "Observera: Servern måste ha inloggning aktiverad."
showInstructions = "Hur aktiverar man?"
@@ -6239,8 +6455,8 @@ reset = "Återställ ändringar"
downloadJson = "Ladda ner JSON"
generatePdf = "Skapa PDF"
saveChanges = "Spara ändringar"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Verkställ ändringar"
+downloadCopy = "Ladda ned kopia"
[pdfTextEditor.options.autoScaleText]
title = "Skala text automatiskt för att passa rutor"
@@ -6260,22 +6476,22 @@ title = "Lås redigerad text till ett enda PDF-element"
description = "När detta är aktiverat exporterar editorn varje redigerad textruta som ett PDF-textelement för att undvika överlappande tecken eller blandade typsnitt."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Avancerade inställningar"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Begränsningar i förhandsvisningen"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Fokus på text och bild"
+text = "Denna arbetsyta fokuserar på att redigera text och flytta inbäddade bilder. Komplex sidgrafik, formulärwidgets och lagergrafik bevaras för export men kan inte redigeras fullt ut här."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Avvikelser i förhandsvisning"
+text = "Vissa visuella element (t.ex. tabellramar, former eller annoteringsutseenden) kanske inte visas exakt i förhandsvisningen. Den exporterade PDF:en behåller de ursprungliga ritkommandona när det är möjligt."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Alfa-visare"
+text = "Denna alfa‑visare utvecklas fortfarande — vissa typsnitt, färger, transparenteffekter och layoutdetaljer kan avvika något. Kontrollera den genererade PDF:en noggrant innan du delar den."
[pdfTextEditor.manual]
mergeTooltip = "Slå ihop markerade textrutor"
@@ -6398,3 +6614,58 @@ title = "Resultat för Lägg till text"
[addText.error]
failed = "Ett fel inträffade när text lades till i PDF:en."
+
+[mobileUpload]
+title = "Ladda upp från mobil"
+description = "Skanna för att ladda upp foton. Bilder konverteras automatiskt till PDF."
+descriptionNoConvert = "Skanna för att ladda upp foton från din mobila enhet."
+error = "Anslutningsfel"
+pollingError = "Fel vid kontroll av filer"
+sessionId = "Sessions-ID"
+sessionCreateError = "Det gick inte att skapa session"
+expiryWarning = "Sessionen går snart ut"
+expiryWarningMessage = "Denna QR-kod upphör att gälla om {{seconds}} sekunder. En ny kod genereras automatiskt."
+filesReceived = "{{count}} fil(er) mottagna"
+connected = "Mobil enhet ansluten"
+instructions = "Skanna med din mobilkamera. Bilder konverteras automatiskt till PDF."
+instructionsNoConvert = "Skanna med din mobilkamera för att ladda upp filer."
+
+[mobileScanner]
+title = "Mobilskanner"
+noSession = "Ogiltig session"
+noSessionMessage = "Skanna en giltig QR-kod för att komma åt denna sida."
+validating = "Validerar session..."
+sessionInvalid = "Sessionsfel"
+sessionExpired = "Denna session har löpt ut. Uppdatera och försök igen."
+sessionNotFound = "Sessionen hittades inte. Uppdatera och försök igen."
+sessionValidationError = "Det går inte att verifiera sessionen. Försök igen."
+uploadSuccess = "Uppladdning lyckades!"
+uploadSuccessMessage = "Dina bilder har överförts."
+httpsRequired = "Kameraåtkomst kräver HTTPS eller localhost. Använd HTTPS eller anslut via localhost."
+uploadFailed = "Uppladdningen misslyckades. Försök igen."
+uploading = "Laddar upp..."
+connected = "Ansluten"
+connecting = "Ansluter..."
+chooseMethod = "Välj uppladdningsmetod"
+chooseMethodDescription = "Välj hur du vill skanna och ladda upp dokument"
+camera = "Kamera"
+cameraDescription = "Skanna dokument med din enhets kamera med automatisk kantdetektering"
+fileUpload = "Filuppladdning"
+fileDescription = "Ladda upp befintliga foton eller dokument från din enhet"
+cameraAccessDenied = "Kameraåtkomst nekades. Aktivera kameraåtkomst."
+back = "Tillbaka"
+settings = "Inställningar"
+edgeDetection = "Kantdetektering"
+flashlight = "Ficklampa"
+flash = "Blixt"
+processing = "Bearbetar..."
+capture = "Ta foto"
+selectFilesPrompt = "Välj filer att ladda upp"
+selectImage = "Välj bild"
+preview = "Förhandsgranska"
+retake = "Ta om"
+addToBatch = "Lägg till i batch"
+upload = "Ladda upp"
+batchImages = "Batch"
+clearBatch = "Rensa"
+uploadAll = "Ladda upp alla"
diff --git a/frontend/public/locales/th-TH/translation.toml b/frontend/public/locales/th-TH/translation.toml
index 339b4351e..9efd7fde9 100644
--- a/frontend/public/locales/th-TH/translation.toml
+++ b/frontend/public/locales/th-TH/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "คุณมีการเปลี่ยนแปลงที่ยังไม่ได้บันทึกใน PDF"
+pendingRedactionsTitle = "การปกปิดที่ยังไม่ได้ใช้"
+pendingRedactions = "คุณมีการปกปิดที่ยังไม่ได้ใช้ ซึ่งจะสูญหาย"
areYouSure = "แน่ใจหรือไม่ว่าต้องการออก?"
unsavedChangesTitle = "การเปลี่ยนแปลงที่ยังไม่ได้บันทึก"
keepWorking = "ทำงานต่อ"
discardChanges = "ยกเลิกและออก"
+discardRedactions = "ละทิ้งและออก"
applyAndContinue = "บันทึกและออก"
exportAndContinue = "ส่งออกและทำต่อ"
cancel = "ยกเลิก"
@@ -356,7 +359,7 @@ teams = "ทีม"
title = "การกำหนดค่า"
systemSettings = "การตั้งค่าระบบ"
features = "ฟีเจอร์"
-endpoints = "ปลายทาง"
+endpoints = "Endpoints"
database = "ฐานข้อมูล"
advanced = "ขั้นสูง"
@@ -364,6 +367,7 @@ advanced = "ขั้นสูง"
title = "ความปลอดภัยและการยืนยันตัวตน"
security = "ความปลอดภัย"
connections = "การเชื่อมต่อ"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "สิทธิ์การใช้งานและการวิเคราะห์"
@@ -378,7 +382,7 @@ privacy = "ความเป็นส่วนตัว"
[settings.developer]
title = "นักพัฒนา"
-apiKeys = "คีย์ API"
+apiKeys = "API Keys"
[settings.tooltips]
enableLoginFirst = "เปิดใช้งานโหมดเข้าสู่ระบบก่อน"
@@ -438,25 +442,34 @@ currentVersion = "เวอร์ชันปัจจุบัน"
latestVersion = "เวอร์ชันล่าสุด"
checkForUpdates = "ตรวจสอบอัปเดต"
viewDetails = "ดูรายละเอียด"
+serverNeedsUpdate = "เซิร์ฟเวอร์จำเป็นต้องอัปเดตโดยผู้ดูแลระบบ"
+
+[settings.general.versionInfo]
+title = "ข้อมูลเวอร์ชัน"
+description = "รายละเอียดเวอร์ชันของเดสก์ท็อปและเซิร์ฟเวอร์"
+desktop = "เวอร์ชันเดสก์ท็อป"
+server = "เวอร์ชันเซิร์ฟเวอร์"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "ความปลอดภัย"
+description = "อัปเดตรหัสผ่านของคุณเพื่อให้บัญชีปลอดภัย"
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "เปลี่ยนรหัสผ่านของคุณ คุณจะถูกออกจากระบบหลังจากอัปเดต"
+required = "ต้องกรอกทุกช่อง"
+mismatch = "รหัสผ่านใหม่ไม่ตรงกัน"
+error = "ไม่สามารถอัปเดตรหัสผ่านได้ โปรดยืนยันรหัสผ่านปัจจุบันและลองอีกครั้ง"
+success = "อัปเดตรหัสผ่านเรียบร้อย โปรดลงชื่อเข้าใช้อีกครั้ง"
+ssoDisabled = "การเปลี่ยนรหัสผ่านถูกจัดการโดยผู้ให้บริการยืนยันตัวตนของคุณ"
+current = "รหัสผ่านปัจจุบัน"
+currentPlaceholder = "กรอกรหัสผ่านปัจจุบันของคุณ"
+new = "รหัสผ่านใหม่"
+newPlaceholder = "กรอกรหัสผ่านใหม่"
+confirm = "ยืนยันรหัสผ่านใหม่"
+confirmPlaceholder = "กรอกรหัสผ่านใหม่อีกครั้ง"
+update = "อัปเดตรหัสผ่าน"
+
+
[settings.hotkeys]
title = "แป้นพิมพ์ลัด"
@@ -511,16 +524,16 @@ low = "ต่ำ"
title = "เปลี่ยนข้อมูลรับรอง"
header = "อัปเดตรายละเอียดบัญชีของคุณ"
changePassword = "คุณกำลังใช้ข้อมูลรับรองการเข้าสู่ระบบเริ่มต้น กรุณาใส่รหัสผ่านใหม่"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "บัญชีของคุณถูกจัดการโดยผู้ให้บริการยืนยันตัวตน"
newUsername = "ชื่อผู้ใช้ใหม่"
oldPassword = "รหัสผ่านปัจจุบัน"
newPassword = "รหัสผ่านใหม่"
confirmNewPassword = "ยืนยันรหัสผ่านใหม่"
submit = "ส่งการเปลี่ยนแปลง"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "อัปเดตบัญชีแล้ว"
+description = "บันทึกการเปลี่ยนแปลงแล้ว โปรดเข้าสู่ระบบอีกครั้ง"
+error = "ไม่สามารถอัปเดตชื่อผู้ใช้ได้ โปรดยืนยันรหัสผ่านของคุณแล้วลองอีกครั้ง"
+changeUsername = "อัปเดตชื่อผู้ใช้ของคุณ คุณจะถูกออกจากระบบหลังจากอัปเดต"
[account]
title = "การตั้งค่าบัญชี"
@@ -528,6 +541,8 @@ accountSettings = "การตั้งค่าบัญชี"
adminSettings = "การตั้งค่าผู้ดูแลระบบ - ดูและเพิ่มผู้ใช้"
userControlSettings = "การควบคุมผู้ใช้"
changeUsername = "เปลี่ยนชื่อผู้ใช้"
+changeUsernameDescription = "อัปเดตชื่อผู้ใช้ของคุณ คุณจะถูกออกจากระบบหลังจากอัปเดต"
+newUsernamePlaceholder = "กรอกชื่อผู้ใช้ใหม่ของคุณ"
newUsername = "ชื่อผู้ใช้ใหม่"
password = "รหัสผ่านยืนยัน"
oldPassword = "รหัสผ่านเก่า"
@@ -589,7 +604,7 @@ totalEndpoints = "จำนวน Endpoint ทั้งหมด"
totalVisits = "จำนวนการเข้าชมทั้งหมด"
showing = "กำลังแสดง"
selectedVisits = "การเข้าชมที่เลือก"
-endpoint = "ปลายทาง"
+endpoint = "Endpoint"
visits = "การเข้าชม"
percentage = "เปอร์เซ็นต์"
loading = "กำลังโหลด..."
@@ -737,9 +752,9 @@ title = "เซ็นชื่อ"
desc = "เพิ่มลายเซ็นลงใน PDF ด้วยการวาด ข้อความ หรือรูปภาพ"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "คำอธิบายประกอบ,ไฮไลต์,วาด"
+title = "ใส่คำอธิบายประกอบ"
+desc = "ไฮไลต์ วาด เพิ่มโน้ตและรูปร่างในตัวดูเอกสาร"
[home.flatten]
tags = "ทำให้เรียบ,ลบ,โต้ตอบ"
@@ -832,7 +847,7 @@ title = "รวมเป็น หน้าเดียว"
desc = "รวมหน้าทั้งหมดของ PDF เป็นหน้าเดียวขนาดใหญ่"
[home.showJS]
-tags = "javascript,โค้ด,สคริปต์"
+tags = "javascript,code,script"
title = "แสดง Javascript"
desc = "ค้นหาและแสดง Javascript ที่ฝังใน PDF"
@@ -867,7 +882,7 @@ title = "ตรวจสอบลายเซ็น PDF"
desc = "ตรวจสอบลายเซ็นดิจิทัลและใบรับรองในเอกสาร PDF"
[home.swagger]
-tags = "API,เอกสารประกอบ,ทดสอบ"
+tags = "API,documentation,test"
title = "เอกสาร API"
desc = "ดูเอกสาร API และทดสอบเอ็นด์พอยต์"
@@ -916,7 +931,7 @@ title = "แทนที่และกลับสี"
desc = "แทนที่หรือกลับสีในเอกสาร PDF"
[home.devApi]
-tags = "API,การพัฒนา,เอกสารประกอบ"
+tags = "API,development,documentation"
title = "API"
desc = "ลิงก์ไปยังเอกสาร API"
@@ -951,11 +966,11 @@ desc = "ซ้อนทับ PDF บน PDF อีกไฟล์หนึ่
title = "ซ้อนทับ PDF"
[home.pdfTextEditor]
-title = "ตัวแก้ไขข้อความ PDF"
-desc = "แก้ไขข้อความและรูปภาพที่มีอยู่ภายในไฟล์ PDF"
+title = "แก้ไขข้อความ PDF"
+desc = "ตรวจทานและแก้ไขไฟล์ JSON ที่ส่งออกจาก Stirling PDF ด้วยการแก้ไขข้อความแบบกลุ่มและการสร้าง PDF ใหม่"
[home.addText]
-tags = "ข้อความ,คำอธิบายประกอบ,ป้ายกำกับ"
+tags = "text,annotation,label"
title = "เพิ่มข้อความ"
desc = "เพิ่มข้อความที่กำหนดเองที่ใดก็ได้ใน PDF ของคุณ"
@@ -963,6 +978,7 @@ desc = "เพิ่มข้อความที่กำหนดเองท
addFiles = "เพิ่มไฟล์"
uploadFromComputer = "อัปโหลดจากคอมพิวเตอร์"
openFromComputer = "เปิดจากคอมพิวเตอร์"
+mobileUpload = "อัปโหลดจากมือถือ"
[viewPdf]
tags = "ดู, อ่าน, เพิ่มคำอธิบาย, ข้อความ, รูปภาพ"
@@ -1254,9 +1270,9 @@ pdfaDigitalSignatureWarning = "PDF มีลายเซ็นดิจิทั
fileFormat = "รูปแบบไฟล์"
wordDoc = "เอกสาร Word"
wordDocExt = "เอกสาร Word (.docx)"
-odtExt = "ข้อความ OpenDocument (.odt)"
+odtExt = "OpenDocument Text (.odt)"
pptExt = "PowerPoint (.pptx)"
-odpExt = "งานนำเสนอ OpenDocument (.odp)"
+odpExt = "OpenDocument Presentation (.odp)"
txtExt = "ข้อความล้วน (.txt)"
rtfExt = "Rich Text Format (.rtf)"
selectedFiles = "ไฟล์ที่เลือก"
@@ -1278,21 +1294,33 @@ cbzOptions = "ตัวเลือก CBZ เป็น PDF"
optimizeForEbook = "ปรับ PDF ให้เหมาะกับเครื่องอ่าน ebook (ใช้ Ghostscript)"
cbzOutputOptions = "ตัวเลือก PDF เป็น CBZ"
cbzDpi = "DPI สำหรับการเรนเดอร์ภาพ"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "ตัวเลือก CBR"
+cbrOutputOptions = "ตัวเลือก PDF เป็น CBR"
+cbrDpi = "DPI สำหรับการเรนเดอร์ภาพ"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "ตัวเลือก eBook เป็น PDF"
+ebookOptionsDesc = "ตัวเลือกสำหรับการแปลง eBook เป็น PDF"
+embedAllFonts = "ฝังแบบอักษรทั้งหมด"
+embedAllFontsDesc = "ฝังแบบอักษรทั้งหมดจาก eBook ลงใน PDF ที่สร้าง"
+includeTableOfContents = "รวมสารบัญ"
+includeTableOfContentsDesc = "เพิ่มสารบัญที่สร้างขึ้นไปยัง PDF ที่ได้"
+includePageNumbers = "ใส่หมายเลขหน้า"
+includePageNumbersDesc = "เพิ่มหมายเลขหน้าลงใน PDF ที่สร้าง"
+optimizeForEbookPdf = "ปรับให้เหมาะกับเครื่องอ่าน eBook"
+optimizeForEbookPdfDesc = "ปรับ PDF ให้เหมาะกับการอ่าน eBook (ขนาดไฟล์เล็กลง แสดงผลดีกว่าบนอุปกรณ์ eInk)"
+
+[convert.epubOptions]
+epubOptions = "ตัวเลือก PDF เป็น eBook"
+epubOptionsDesc = "ตัวเลือกสำหรับการแปลง PDF เป็น EPUB/AZW3"
+detectChapters = "ตรวจจับบท"
+detectChaptersDesc = "ตรวจจับหัวข้อที่เหมือนเป็นบท และแทรกตัวแบ่งหน้า EPUB"
+targetDevice = "อุปกรณ์เป้าหมาย"
+targetDeviceDesc = "เลือกโปรไฟล์เอาต์พุตที่ปรับให้เหมาะกับอุปกรณ์อ่าน"
+outputFormat = "รูปแบบเอาต์พุต"
+outputFormatDesc = "เลือกรูปแบบเอาต์พุตสำหรับ eBook"
+tabletPhone = "แท็บเล็ต/โทรศัพท์ (พร้อมรูปภาพ)"
+kindleEink = "Kindle e-Ink (ปรับเหมาะสำหรับข้อความ)"
[imageToPdf]
tags = "การแปลง, รูปภาพ, JPG, ภาพ, รูปถ่าย"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "เพิ่มไฟล์แนบ"
remove = "ลบไฟล์แนบ"
embed = "ฝังไฟล์แนบ"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "แปลงเป็น PDF/A-3b"
+convertToPdfA3bDescription = "สร้าง PDF สำหรับเก็บถาวรพร้อมฝังไฟล์แนบ"
+convertToPdfA3bTooltip = "PDF/A-3b เป็นรูปแบบเพื่อการเก็บถาวรที่รับรองการเก็บรักษาระยะยาว สามารถฝังไฟล์แนบได้หลายรูปแบบ การแปลงต้องใช้ Ghostscript และอาจใช้เวลานานสำหรับไฟล์ขนาดใหญ่"
+convertToPdfA3bTooltipHeader = "เกี่ยวกับการแปลงเป็น PDF/A-3b"
+convertToPdfA3bTooltipTitle = "สิ่งที่ทำ"
submit = "Add attachments"
[watermark]
@@ -1893,7 +1921,7 @@ title = "ขั้นสูง"
tags = "ย่อ, เล็ก, จิ๋ว"
[unlockPDFForms]
-tags = "เอาออก,ลบ,ฟอร์ม,ฟิลด์,อ่านอย่างเดียว"
+tags = "remove,delete,form,field,readonly"
title = "ลบสถานะอ่านอย่างเดียวออกจากช่องฟอร์ม"
header = "ปลดล็อกฟอร์ม PDF"
submit = "Remove"
@@ -2359,10 +2387,10 @@ saved = "ที่บันทึกไว้"
label = "อัปโหลดภาพลายเซ็น"
placeholder = "เลือกไฟล์รูปภาพ"
hint = "อัปโหลดภาพลายเซ็นเป็น PNG หรือ JPG"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "ลบพื้นหลังสีขาว (ทำให้โปร่งใส)"
+processing = "กำลังประมวลผลภาพ..."
+backgroundRemovalFailedTitle = "ลบพื้นหลังไม่สำเร็จ"
+backgroundRemovalFailedMessage = "ไม่สามารถลบพื้นหลังออกจากภาพ จะใช้ภาพต้นฉบับแทน"
[sign.instructions]
title = "วิธีเพิ่มลายเซ็น"
@@ -2409,9 +2437,9 @@ label = "แบนเฉพาะฟอร์ม"
desc = "ทำให้แบนเฉพาะช่องฟอร์ม โดยคงองค์ประกอบเชิงโต้ตอบอื่นไว้"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "DPI สำหรับการเรนเดอร์ (ไม่บังคับ แนะนำ 150 DPI)"
+help = "เว้นว่างเพื่อใช้ค่าเริ่มต้นของระบบ ค่า DPI ที่สูงขึ้นจะคมชัดขึ้นแต่ใช้เวลาประมวลผลและขนาดไฟล์มากขึ้น"
+placeholder = "เช่น 150"
[flatten.results]
title = "ผลการทำให้แบน"
@@ -2809,7 +2837,7 @@ submit = "ส่ง"
failed = "เกิดข้อผิดพลาดขณะสร้างเลย์เอาต์หลายหน้า"
[bookletImposition]
-tags = "หนังสือเย็บเล่ม,การจัดหน้า,การพิมพ์,การเข้าเล่ม,การพับ,ชุดพิมพ์"
+tags = "booklet,imposition,printing,binding,folding,signature"
title = "การจัดหน้าสมุด"
header = "การจัดหน้าสมุด"
submit = "สร้างสมุด"
@@ -2908,7 +2936,7 @@ scaleFactor = "ระดับการซูม (ครอบตัด) ขอ
submit = "ส่ง"
[adjustPageScale]
-tags = "ปรับขนาด,แก้ไข,ขนาด,ปรับให้เหมาะสม"
+tags = "resize,modify,dimension,adapt"
title = "ปรับสเกลหน้า"
header = "ปรับสเกลหน้า"
submit = "ปรับสเกลหน้า"
@@ -2987,7 +3015,7 @@ header = "ครอบตัด PDF"
submit = "ส่ง"
noFileSelected = "เลือกไฟล์ PDF เพื่อเริ่มการครอบตัด"
reset = "รีเซ็ตเป็น PDF เต็มหน้า"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "ครอบตัดช่องว่างอัตโนมัติ"
[crop.preview]
title = "การเลือกพื้นที่ครอบตัด"
@@ -3218,6 +3246,7 @@ title = "วิธีการปกปิด"
mode = "โหมด"
automatic = "อัตโนมัติ"
automaticDesc = "ปกปิดข้อความตามคำที่ค้นหา"
+automaticDisabledTooltip = "เลือกไฟล์ในตัวจัดการไฟล์เพื่อปกปิดหลายไฟล์พร้อมกัน"
manual = "แมนนวล"
manualDesc = "คลิกและลากเพื่อปกปิดพื้นที่ที่ต้องการ"
manualComingSoon = "การปกปิดแบบแมนนวลจะมาเร็ว ๆ นี้"
@@ -3288,8 +3317,35 @@ text = "จับคู่เฉพาะคำเต็ม ๆ ไม่จั
title = "แปลงเป็น PDF-Image"
text = "แปลง PDF เป็น PDF แบบภาพหลังการปกปิด เพื่อให้แน่ใจว่าข้อความหลังกรอบปกปิดถูกลบออกอย่างสมบูรณ์และไม่สามารถกู้คืนได้"
+[redact.tooltip.manual.header]
+title = "การควบคุมการปกปิดแบบแมนนวล"
+
+[redact.tooltip.manual.markText]
+title = "เครื่องมือทำเครื่องหมายข้อความ"
+text = "เลือกข้อความบน PDF โดยตรงเพื่อทำเครื่องหมายสำหรับการปกปิด คลิกและลากเพื่อไฮไลต์ข้อความที่ต้องการปกปิด"
+
+[redact.tooltip.manual.markArea]
+title = "เครื่องมือทำเครื่องหมายพื้นที่"
+text = "วาดพื้นที่สี่เหลี่ยมบน PDF เพื่อทำเครื่องหมายส่วนที่จะปกปิด มีประโยชน์สำหรับการปกปิดรูปภาพ ลายเซ็น หรือรูปร่างที่ไม่ปกติ"
+
+[redact.tooltip.manual.apply]
+title = "ใช้การปกปิด"
+text = "หลังจากทำเครื่องหมายเนื้อหาแล้ว ให้คลิก 'ใช้' เพื่อปกปิดรายการที่ทำเครื่องหมายทั้งหมดอย่างถาวร ตัวนับที่ค้างอยู่จะแสดงจำนวนการปกปิดที่พร้อมใช้งาน"
+bullet1 = "ทำเครื่องหมายได้หลายพื้นที่ตามต้องการก่อนทำการใช้"
+bullet2 = "การปกปิดที่ค้างทั้งหมดจะถูกใช้พร้อมกัน"
+bullet3 = "ไม่สามารถยกเลิกการปกปิดได้หลังจากใช้แล้ว"
+
[redact.manual]
+title = "เครื่องมือปกปิด"
+instructions = "เลือกข้อความหรือวาดพื้นที่บน PDF เพื่อทำเครื่องหมายเนื้อหาสำหรับการปกปิด"
+markText = "ทำเครื่องหมายข้อความ"
+markArea = "ทำเครื่องหมายพื้นที่"
+pendingLabel = "ค้างอยู่:"
+applyWarning = "⚠️ การใช้แบบถาวร ไม่สามารถยกเลิกได้ และข้อมูลด้านล่างจะถูกลบ"
+apply = "ใช้"
+noMarks = "ไม่มีเครื่องหมายการปกปิด ใช้เครื่องมือด้านบนเพื่อทำเครื่องหมายเนื้อหาที่ต้องการปกปิด"
header = "การปกปิดแบบแมนนวล"
+controlsTitle = "การควบคุมการปกปิดแบบแมนนวล"
textBasedRedaction = "การปกปิดตามข้อความ"
pageBasedRedaction = "การปกปิดตามหน้า"
convertPDFToImageLabel = "แปลง PDF เป็น PDF-Image (ใช้เพื่อลบข้อความที่อยู่หลังกรอบ)"
@@ -3406,17 +3462,17 @@ label = "การแบ่งแนวตั้ง"
placeholder = "ป้อนจำนวนการแบ่งแนวตั้ง"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "โหมดการแยก"
+description = "เลือกวิธีการแยกหน้า"
+splitAll = "แยกทุกหน้า"
+splitAllExceptFirst = "แยกทั้งหมดยกเว้นหน้าแรก"
+splitAllExceptLast = "แยกทั้งหมดยกเว้นหน้าสุดท้าย"
+splitAllExceptFirstAndLast = "แยกทั้งหมดยกเว้นหน้าแรกและหน้าสุดท้าย"
+custom = "หน้ากำหนดเอง"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "หมายเลขหน้ากำหนดเอง"
+placeholder = "เช่น 2,4,6"
[AddStampRequest]
tags = "ตราประทับ, เพิ่มรูปภาพ, รูปภาพกึ่งกลาง, ลายน้ำ, PDF, ฝัง, ปรับแต่ง"
@@ -3780,17 +3836,17 @@ filesize = "ขนาดไฟล์"
label = "ใช้ระดับสีเทาสำหรับการบีบอัด"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "จัดเรียงเชิงเส้น PDF เพื่อการดูบนเว็บอย่างรวดเร็ว"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "แปลงภาพเป็นลายเส้น"
+description = "ใช้ ImageMagick เพื่อลดเพจให้เป็นขาวดำคอนทราสต์สูงเพื่อให้ขนาดเล็กที่สุด"
+unavailable = "ไม่ได้ติดตั้งหรือเปิดใช้งาน ImageMagick บนเซิร์ฟเวอร์นี้"
+detailLevel = "ระดับรายละเอียด"
+edgeEmphasis = "การเน้นขอบ"
+edgeLow = "นุ่มนวล"
+edgeMedium = "สมดุล"
+edgeHigh = "แรง"
[compress.tooltip.header]
title = "ภาพรวมการตั้งค่าการบีบอัด"
@@ -3810,8 +3866,8 @@ title = "ภาพขาวดำ"
text = "เลือกตัวเลือกนี้เพื่อแปลงรูปภาพทั้งหมดเป็นขาวดำ ซึ่งช่วยลดขนาดไฟล์ได้มาก โดยเฉพาะสำหรับ PDF ที่สแกนหรือเอกสารที่มีภาพจำนวนมาก"
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "ลายเส้น"
+text = "แปลงเพจเป็นขาวดำคอนทราสต์สูงด้วย ImageMagick ใช้ระดับรายละเอียดเพื่อควบคุมปริมาณเนื้อหาที่กลายเป็นสีดำ และการเน้นขอบเพื่อควบคุมความเข้มในการตรวจจับขอบ"
[compress.error]
failed = "เกิดข้อผิดพลาดขณะบีบอัด PDF"
@@ -3826,9 +3882,9 @@ _value = "การตั้งค่าการบีบอัด"
1 = "1-3 บีบอัด PDF, 4-6 บีบอัดรูปภาพแบบเบา, 7-9 บีบอัดรูปภาพอย่างหนัก จะลดคุณภาพของภาพลงอย่างมาก"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "ค่าต่ำจะรักษาคุณภาพไว้ แต่ทำให้ไฟล์มีขนาดใหญ่"
+range4to6 = "การบีบอัดปานกลางพร้อมลดคุณภาพในระดับกลาง"
+range7to9 = "ค่าที่สูงกว่าจะลดขนาดไฟล์ลงอย่างมาก แต่ความคมชัดของภาพอาจลดลง"
[decrypt]
passwordPrompt = "ไฟล์นี้มีการป้องกันด้วยรหัสผ่าน โปรดป้อนรหัสผ่าน:"
@@ -3973,7 +4029,7 @@ version = "รุ่นปัจจุบัน"
title = "เอกสาร API"
header = "เอกสาร API"
desc = "ดูและทดสอบจุดปลายทาง API ของ Stirling PDF"
-tags = "api,เอกสารประกอบ,swagger,ปลายทาง,การพัฒนา"
+tags = "api,documentation,swagger,endpoints,development"
[cookieBanner.popUp]
title = "เราใช้คุกกี้อย่างไร"
@@ -4069,7 +4125,7 @@ deleteSelected = "ลบหน้าที่เลือก"
closePdf = "ปิด PDF"
exportAll = "ส่งออก PDF"
downloadSelected = "ดาวน์โหลดไฟล์ที่เลือก"
-annotations = "Annotations"
+annotations = "คำอธิบายประกอบ"
exportSelected = "ส่งออกหน้าที่เลือก"
saveChanges = "บันทึกการเปลี่ยนแปลง"
toggleTheme = "สลับธีม"
@@ -4077,84 +4133,90 @@ language = "ภาษา"
toggleAnnotations = "สลับการแสดงคำอธิบายประกอบ"
search = "ค้นหาใน PDF"
panMode = "โหมดเลื่อนดู"
+applyRedactionsFirst = "ใช้การปกปิดก่อน"
rotateLeft = "หมุนซ้าย"
rotateRight = "หมุนขวา"
toggleSidebar = "สลับแถบข้าง"
toggleBookmarks = "สลับที่คั่นหน้า"
print = "พิมพ์ PDF"
+draw = "วาด"
+redact = "ปกปิด"
+exitRedaction = "ออกจากโหมดการปกปิด"
+save = "บันทึก"
downloadAll = "ดาวน์โหลดทั้งหมด"
saveAll = "บันทึกทั้งหมด"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "ชิดซ้าย"
+center = "กึ่งกลาง"
+right = "ชิดขวา"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "ใส่คำอธิบายประกอบ"
+desc = "ใช้ไฮไลต์ ปากกา ข้อความ และโน้ต การเปลี่ยนแปลงมีผลทันที—ไม่ต้องแปลงเป็นชั้นเดียว"
+highlight = "ไฮไลต์"
+pen = "ปากกา"
+text = "กล่องข้อความ"
+note = "โน้ต"
+rectangle = "สี่เหลี่ยมผืนผ้า"
+ellipse = "วงรี"
+select = "เลือก"
+exit = "ออกจากโหมดคำอธิบายประกอบ"
+strokeWidth = "ความกว้าง"
+opacity = "ความทึบ"
+strokeOpacity = "ความทึบของเส้นขอบ"
+fillOpacity = "ความทึบของการเติม"
+fontSize = "ขนาดแบบอักษร"
+chooseColor = "เลือกสี"
+color = "สี"
+strokeColor = "สีเส้นขอบ"
+fillColor = "สีพื้น"
+underline = "ขีดเส้นใต้"
+strikeout = "ขีดทับ"
+squiggly = "เส้นหยัก"
+inkHighlighter = "ไฮไลต์แบบวาดอิสระ"
+freehandHighlighter = "ไฮไลต์แบบวาดอิสระ"
+square = "สี่เหลี่ยมจัตุรัส"
+circle = "วงกลม"
+polygon = "รูปหลายเหลี่ยม"
+line = "เส้น"
+stamp = "เพิ่มรูปภาพ"
+textMarkup = "การมาร์กอัปข้อความ"
+drawing = "การวาด"
+shapes = "รูปร่าง"
+notesStamps = "โน้ตและตราประทับ"
+settings = "การตั้งค่า"
+borderOn = "เส้นขอบ: เปิด"
+borderOff = "เส้นขอบ: ปิด"
+editInk = "แก้ไขปากกา"
+editLine = "แก้ไขเส้น"
+editNote = "แก้ไขโน้ต"
+editText = "แก้ไขกล่องข้อความ"
+editTextMarkup = "แก้ไขการมาร์กอัปข้อความ"
+editSelected = "แก้ไขคำอธิบายประกอบ"
+editSquare = "แก้ไขสี่เหลี่ยมจัตุรัส"
+editCircle = "แก้ไขวงกลม"
+editPolygon = "แก้ไขรูปหลายเหลี่ยม"
+unsupportedType = "ประเภทคำอธิบายประกอบนี้ยังไม่รองรับการแก้ไขอย่างสมบูรณ์"
+textAlignment = "การจัดแนวข้อความ"
+noteIcon = "ไอคอนโน้ต"
+imagePreview = "แสดงตัวอย่าง"
+contents = "ข้อความ"
+backgroundColor = "สีพื้นหลัง"
+clearBackground = "ลบพื้นหลัง"
+noBackground = "ไม่มีพื้นหลัง"
+stampSettings = "การตั้งค่าตราประทับ"
+savingCopy = "กำลังเตรียมดาวน์โหลด..."
+saveFailed = "ไม่สามารถบันทึกสำเนาได้"
+saveReady = "พร้อมดาวน์โหลด"
+selectAndMove = "เลือกและแก้ไข"
+editSelectDescription = "คลิกคำอธิบายประกอบที่มีอยู่เพื่อแก้ไขสี ความทึบ ข้อความ หรือขนาด"
+editStampHint = "หากต้องการเปลี่ยนรูปภาพ ให้ลบตราประทับนี้และเพิ่มใหม่"
+editSwitchToSelect = "สลับไปยัง เลือกและแก้ไข เพื่อแก้ไขคำอธิบายประกอบนี้"
+undo = "เลิกทำ"
+redo = "ทำซ้ำ"
+applyChanges = "ใช้การเปลี่ยนแปลง"
+saveChanges = "บันทึกการเปลี่ยนแปลง"
[search]
title = "ค้นหาใน PDF"
@@ -4205,20 +4267,20 @@ settings = "ตั้งค่า"
adminSettings = "ตั้งค่า แอดมิน"
allTools = "All Tools"
reader = "ตัวอ่าน"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "ทัวร์"
+showMeAround = "พาชมรอบๆ"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "ดูวิดีโอแนะนำได้ที่นี่: ทัวร์ Tools ทัวร์เลย์เอาต์ V2 ใหม่ และทัวร์ Admin"
+user = "ดูวิดีโอแนะนำได้ที่นี่: ทัวร์ Tools และทัวร์เลย์เอาต์ V2 ใหม่"
[quickAccess.helpMenu]
toolsTour = "แนะนำเครื่องมือ"
toolsTourDesc = "เรียนรู้ว่าเครื่องมือทำอะไรได้บ้าง"
adminTour = "ทัวร์ผู้ดูแล"
adminTourDesc = "สำรวจการตั้งค่าและฟีเจอร์ของผู้ดูแล"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "ดูมีอะไรใหม่ใน V2"
+whatsNewTourDesc = "ทัวร์เลย์เอาต์ที่อัปเดตแล้ว"
[admin]
error = "ข้อผิดพลาด"
@@ -4237,6 +4299,8 @@ fetchError = "ไม่สามารถโหลดการตั้งค่
saveError = "ไม่สามารถบันทึกการตั้งค่าได้"
saved = "บันทึกการตั้งค่าสำเร็จ"
saveSuccess = "บันทึกการตั้งค่าสำเร็จ"
+success = "บันทึกการตั้งค่าสำเร็จ"
+error = "บันทึกการตั้งค่าไม่สำเร็จ"
save = "บันทึกการเปลี่ยนแปลง"
discard = "ละทิ้ง"
restartRequired = "ต้องรีสตาร์ท"
@@ -4360,6 +4424,13 @@ description = "พาธไปยังไฟล์ปฏิบัติกา
label = "ไฟล์ปฏิบัติการ Unoconvert"
description = "พาธไปยัง LibreOffice unoconvert สำหรับการแปลงเอกสาร (ปล่อยว่างเพื่อค่าเริ่มต้น: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "Frontend URL"
+description = "URL ฐานสำหรับ Frontend (เช่น https://pdf.example.com) ใช้สำหรับลิงก์เชิญทางอีเมลและการอัปโหลดด้วยรหัส QR บนมือถือ เว้นว่างเพื่อใช้ Backend URL"
+
+[admin.settings.badge]
+clickToUpgrade = "คลิกเพื่อดูรายละเอียดแผน"
+
[admin.settings.security]
title = "ความปลอดภัย"
description = "กำหนดค่าการยืนยันตัวตน พฤติกรรมการเข้าสู่ระบบ และนโยบายความปลอดภัย"
@@ -4496,6 +4567,19 @@ connect = "เชื่อมต่อ"
disconnect = "ตัดการเชื่อมต่อ"
disconnected = "ตัดการเชื่อมต่อผู้ให้บริการสำเร็จ"
disconnectError = "ไม่สามารถตัดการเชื่อมต่อผู้ให้บริการได้"
+mobileScannerConvertToPdf = "แปลงรูปภาพเป็น PDF"
+mobileScannerConvertToPdfDesc = "แปลงรูปภาพที่อัปโหลดเป็น PDF โดยอัตโนมัติ หากปิดใช้งาน รูปภาพจะคงสภาพเดิม"
+mobileScannerImageResolution = "ความละเอียดของภาพ"
+mobileScannerImageResolutionDesc = "ความละเอียดของภาพที่อัปโหลด \"ลดลง\" จะย่อภาพให้สูงสุด 1200px เพื่อลดขนาดไฟล์"
+imageResolutionFull = "เต็ม (ขนาดดั้งเดิม)"
+imageResolutionReduced = "ลดลง (สูงสุด 1200px)"
+mobileScannerPageFormat = "รูปแบบหน้า"
+mobileScannerPageFormatDesc = "ขนาดหน้า PDF สำหรับรูปภาพที่แปลง \"คงไว้\" จะใช้ขนาดดั้งเดิมของรูปภาพ"
+pageFormatKeep = "คงไว้ (ขนาดดั้งเดิม)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "ยืดให้พอดี"
+mobileScannerStretchToFitDesc = "ยืดภาพให้เต็มหน้ากระดาษ หากปิดใช้งาน ภาพจะถูกจัดกึ่งกลางโดยคงอัตราส่วนภาพไว้"
[admin.settings.connections.ssoAutoLogin]
label = "เข้าสู่ระบบอัตโนมัติด้วย SSO"
@@ -4553,7 +4637,7 @@ label = "ผู้ให้บริการ"
description = "ชื่อผู้ให้บริการ SAML2"
[admin.settings.connections.saml2.registrationId]
-label = "รหัสการลงทะเบียน"
+label = "Registration ID"
description = "ตัวระบุการลงทะเบียนของ SAML2"
[admin.settings.connections.saml2.autoCreateUser]
@@ -4564,6 +4648,122 @@ description = "สร้างบัญชีผู้ใช้โดยอั
label = "ปิดการลงทะเบียน"
description = "ป้องกันการลงทะเบียนผู้ใช้ใหม่ผ่าน SAML2"
+[admin.settings.connections.mobileScanner]
+label = "อัปโหลดจากโทรศัพท์มือถือ"
+enable = "เปิดใช้งานการอัปโหลดด้วยรหัส QR"
+description = "อนุญาตให้ผู้ใช้สแกนรหัส QR เพื่ออัปโหลดไฟล์จากอุปกรณ์มือถือ"
+note = "หมายเหตุ: ต้องกำหนดค่า Frontend URL "
+link = "กำหนดค่าในการตั้งค่าระบบ"
+mobileScannerConvertToPdf = "แปลงรูปภาพเป็น PDF"
+mobileScannerConvertToPdfDesc = "แปลงรูปภาพที่อัปโหลดเป็น PDF โดยอัตโนมัติ หากปิดใช้งาน รูปภาพจะคงสภาพเดิม"
+mobileScannerImageResolution = "ความละเอียดของภาพ"
+mobileScannerImageResolutionDesc = "ความละเอียดของภาพที่อัปโหลด \"ลดลง\" จะย่อภาพให้สูงสุด 1200px เพื่อลดขนาดไฟล์"
+imageResolutionFull = "เต็ม (ขนาดดั้งเดิม)"
+imageResolutionReduced = "ลดลง (สูงสุด 1200px)"
+mobileScannerPageFormat = "รูปแบบหน้า"
+mobileScannerPageFormatDesc = "ขนาดหน้า PDF สำหรับรูปภาพที่แปลง \"คงไว้\" จะใช้ขนาดดั้งเดิมของรูปภาพ"
+pageFormatKeep = "คงไว้ (ขนาดดั้งเดิม)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "ยืดให้พอดี"
+mobileScannerStretchToFitDesc = "ยืดภาพให้เต็มหน้ากระดาษ หากปิดใช้งาน ภาพจะถูกจัดกึ่งกลางโดยคงอัตราส่วนภาพไว้"
+
+[admin.settings.telegram]
+title = "Telegram Bot"
+description = "กำหนดค่าการเชื่อมต่อบอต Telegram การควบคุมการเข้าถึง และพฤติกรรมข้อความตอบกลับ"
+
+[admin.settings.telegram.enabled]
+label = "เปิดใช้งาน Telegram Bot"
+description = "อนุญาตให้ผู้ใช้โต้ตอบกับ Stirling PDF ผ่าน Telegram bot ที่คุณกำหนดค่าไว้"
+
+[admin.settings.telegram.botUsername]
+label = "ชื่อผู้ใช้บอต"
+description = "ชื่อผู้ใช้สาธารณะของ Telegram bot ของคุณ"
+
+[admin.settings.telegram.botToken]
+label = "Bot Token"
+description = "API token ที่ให้โดย BotFather สำหรับ Telegram bot ของคุณ"
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "โฟลเดอร์ขาเข้า"
+description = "โฟลเดอร์ภายใต้ไดเรกทอรี pipeline ที่ใช้เก็บไฟล์ Telegram ที่เข้ามา"
+
+[admin.settings.telegram.customFolderSuffix]
+label = "ใช้คำต่อท้ายโฟลเดอร์แบบกำหนดเอง"
+description = "เพิ่ม chat ID ต่อท้ายโฟลเดอร์ไฟล์ที่เข้ามาเพื่อแยกการอัปโหลดตามแต่ละแชต"
+
+[admin.settings.telegram.accessControl]
+title = "การควบคุมการเข้าถึง"
+description = "จำกัดผู้ใช้หรือช่องทางที่จะโต้ตอบกับบอตได้"
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "อนุญาตเฉพาะ User ID ที่กำหนด"
+description = "เมื่อเปิดใช้งาน จะมีเพียง User ID ที่ระบุเท่านั้นที่ใช้บอตได้"
+
+[admin.settings.telegram.allowUserIDs]
+label = "User ID ที่อนุญาต"
+description = "ใส่ Telegram User ID ที่อนุญาตให้โต้ตอบกับบอต"
+placeholder = "เพิ่ม User ID แล้วกด Enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "อนุญาตเฉพาะ Channel ID ที่กำหนด"
+description = "เมื่อเปิดใช้งาน จะมีเพียง Channel ID ที่ระบุเท่านั้นที่ใช้บอตได้"
+
+[admin.settings.telegram.allowChannelIDs]
+label = "Channel ID ที่อนุญาต"
+description = "ใส่ Telegram Channel ID ที่อนุญาตให้โต้ตอบกับบอต"
+placeholder = "เพิ่ม Channel ID แล้วกด Enter"
+
+[admin.settings.telegram.processing]
+title = "การประมวลผล"
+description = "ควบคุมช่วงเวลา polling และเวลา timeout สำหรับการอัปโหลดผ่าน Telegram"
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "เวลา Timeout การประมวลผล (วินาที)"
+description = "เวลาสูงสุดที่รอการประมวลผลก่อนรายงานข้อผิดพลาด"
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "ช่วงเวลา Polling (ms)"
+description = "ช่วงเวลาระหว่างการตรวจสอบอัปเดตใหม่ของ Telegram"
+
+[admin.settings.telegram.feedback]
+title = "ข้อความตอบกลับ"
+description = "เลือกเวลาที่บอตจะส่งข้อความตอบกลับไปยังผู้ใช้และช่องทาง"
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "เปิดใช้งานข้อความตอบกลับ"
+description = "ควบคุมว่าบอตจะส่งข้อความตอบกลับหรือไม่"
+
+[admin.settings.telegram.feedback.channel]
+title = "กฎการตอบกลับสำหรับ Channel"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "แสดง \"ไม่มีเอกสารที่ถูกต้อง\" (Channel)"
+description = "ระงับการตอบกลับ \"ไม่มีเอกสารที่ถูกต้อง\" สำหรับการอัปโหลดจากช่องทาง"
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "แสดงข้อผิดพลาดการประมวลผล (Channel)"
+description = "ส่งข้อความข้อผิดพลาดการประมวลผลไปยังช่องทาง"
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "แสดงข้อความข้อผิดพลาด (Channel)"
+description = "แสดงข้อความข้อผิดพลาดแบบละเอียดสำหรับช่องทาง"
+
+[admin.settings.telegram.feedback.user]
+title = "กฎการตอบกลับสำหรับผู้ใช้"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "แสดง \"ไม่มีเอกสารที่ถูกต้อง\" (ผู้ใช้)"
+description = "ระงับการตอบกลับ \"ไม่มีเอกสารที่ถูกต้อง\" สำหรับการอัปโหลดของผู้ใช้"
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "แสดงข้อผิดพลาดการประมวลผล (ผู้ใช้)"
+description = "ส่งข้อความข้อผิดพลาดการประมวลผลให้ผู้ใช้"
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "แสดงข้อความข้อผิดพลาด (ผู้ใช้)"
+description = "แสดงข้อความข้อผิดพลาดแบบละเอียดสำหรับผู้ใช้"
+
[admin.settings.database]
title = "ฐานข้อมูล"
description = "กำหนดค่าการเชื่อมต่อฐานข้อมูลแบบกำหนดเองสำหรับการใช้งานระดับองค์กรมหาชน"
@@ -4626,7 +4826,7 @@ features = "แฟลกฟีเจอร์"
processing = "การประมวลผล"
[admin.settings.advanced.endpoints]
-label = "ปลายทาง"
+label = "Endpoints"
manage = "จัดการ API Endpoints"
description = "การจัดการ Endpoint กำหนดค่าผ่าน YAML ดูเอกสารประกอบสำหรับรายละเอียดการเปิด/ปิดใช้งาน Endpoint เฉพาะ"
@@ -4690,7 +4890,7 @@ description = "จะทำความสะอาดไดเรกทอร
label = "ข้อจำกัดของตัวประมวลผลกระบวนการ"
description = "กำหนดขีดจำกัดเซสชันและระยะหมดเวลาสำหรับตัวประมวลผลแต่ละตัว"
libreOffice = "LibreOffice"
-pdfToHtml = "PDF เป็น HTML"
+pdfToHtml = "PDF to HTML"
qpdf = "QPDF"
tesseract = "Tesseract OCR"
pythonOpenCv = "Python OpenCV"
@@ -4745,6 +4945,10 @@ description = "อนุญาตให้ผู้ดูแลเชิญผ
label = "URL ส่วนหน้า"
description = "URL ฐานสำหรับส่วนหน้า (เช่น https://pdf.example.com) ใช้สำหรับสร้างลิงก์เชิญในอีเมล ปล่อยว่างเพื่อใช้ URL ฝั่งแบ็กเอนด์"
+[admin.settings.mail.frontendUrlNote]
+note = "หมายเหตุ: ต้องกำหนดค่า Frontend URL "
+link = "กำหนดค่าในการตั้งค่าระบบ"
+
[admin.settings.legal]
title = "เอกสารทางกฎหมาย"
description = "กำหนดค่าลิงก์ไปยังเอกสารและนโยบายทางกฎหมาย"
@@ -4847,7 +5051,7 @@ label = "สร้างใหม่เมื่อเริ่มต้น"
description = "สร้างใบรับรองใหม่ทุกครั้งที่แอปพลิเคชันเริ่มต้น"
[admin.settings.endpoints]
-title = "ปลายทาง API"
+title = "API Endpoints"
description = "ควบคุมว่า API Endpoints และกลุ่ม Endpoint ใดที่ใช้งานได้"
management = "การจัดการ Endpoint"
note = "หมายเหตุ: การปิดการใช้งาน endpoints จะจำกัดการเข้าถึง API แต่จะไม่ลบส่วนติดต่อผู้ใช้ ต้องรีสตาร์ทจึงจะมีผล"
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "ไฟล์ของฉัน"
noRecentFiles = "ไม่พบไฟล์ล่าสุด"
googleDriveNotAvailable = "ไม่สามารถใช้งานการเชื่อมต่อกับ Google Drive"
+mobileUpload = "อัปโหลดจากมือถือ"
+mobileShort = "มือถือ"
+mobileUploadNotAvailable = "ไม่ได้เปิดใช้งานการอัปโหลดจากมือถือ"
downloadSelected = "ดาวน์โหลดที่เลือก"
saveSelected = "บันทึกที่เลือก"
openFiles = "เปิดไฟล์"
@@ -5244,7 +5451,7 @@ loading = "กำลังโหลด..."
back = "ย้อนกลับ"
continue = "ดำเนินการต่อ"
error = "ข้อผิดพลาด"
-save = "Save"
+save = "บันทึก"
[config.overview]
title = "การกำหนดค่าแอปพลิเคชัน"
@@ -5295,7 +5502,7 @@ chartAriaLabel = "การใช้เครดิต: ใช้แบบรว
nextReset = "รีเซ็ตครั้งถัดไป"
lastApiUse = "การใช้งาน API ล่าสุด"
overlayMessage = "สร้างคีย์เพื่อดูเครดิตและเครดิตที่มีอยู่"
-label = "คีย์ API"
+label = "API Key"
guestInfo = "ผู้ใช้แบบแขกจะไม่ได้รับ API key สร้างบัญชีเพื่อรับ API key สำหรับใช้งานในแอปพลิเคชันของคุณ"
goToAccount = "ไปที่บัญชี"
generateError = "ไม่สามารถสร้าง API key ของคุณได้"
@@ -5307,6 +5514,15 @@ impact = "แอปพลิเคชันหรือบริการใด
confirmPrompt = "คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ"
confirmCta = "รีเฟรชคีย์"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "ข้อผิดพลาด API Key"
+failedToCreateApiKey = "ไม่สามารถสร้าง API Key ได้"
+failedToRetrieveApiKey = "ไม่สามารถดึง API Key จากการตอบกลับได้"
+failedToFetchApiKey = "ไม่สามารถดึง API Key ได้"
+apiKeyRefreshed = "รีเฟรช API Key แล้ว"
+apiKeyRefreshedBody = "รีเฟรช API Key ของคุณเรียบร้อยแล้ว"
+failedToRefreshApiKey = "ไม่สามารถรีเฟรช API Key ได้"
+
[AddAttachmentsRequest]
attachments = "เลือกไฟล์แนบ"
info = "เลือกไฟล์เพื่อแนบกับ PDF ของคุณ ไฟล์เหล่านี้จะถูกฝังและเข้าถึงได้ผ่านแผงไฟล์แนบของ PDF"
@@ -5412,14 +5628,14 @@ startTour = "เริ่มทัวร์"
startTourDescription = "ทัวร์แนะนำฟีเจอร์สำคัญของ Stirling PDF"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "เริ่มที่ราง Quick Access เพื่อสลับระหว่าง Reader, Automate, ไฟล์ของคุณ และทุกทัวร์"
+leftPanel = "แผง Tools ทางซ้ายแสดงทุกสิ่งที่คุณทำได้ เรียกดูหมวดหมู่หรือค้นหาเพื่อหาเครื่องมืออย่างรวดเร็ว"
+fileUpload = "ใช้ปุ่ม Files เพื่ออัปโหลดหรือเลือก PDF ล่าสุด เราจะโหลดตัวอย่างเพื่อให้คุณเห็นพื้นที่ทำงาน"
+rightRail = "ส่วน Right Rail มีการกระทำด่วนสำหรับเลือกไฟล์ เปลี่ยนธีมหรือภาษา และดาวน์โหลดผลลัพธ์"
+topBar = "แถบด้านบนช่วยให้คุณสลับระหว่าง Viewer, Page Editor และ Active Files"
+pageEditorView = "สลับไปที่ Page Editor เพื่อจัดเรียง หมุน หรือ ลบหน้า"
+activeFilesView = "ใช้ Active Files เพื่อดูทุกไฟล์ที่คุณเปิดและเลือกสิ่งที่จะทำงานต่อ"
+wrapUp = "นี่คือสิ่งใหม่ใน V2 เปิดเมนู Tours ได้ทุกเวลาเพื่อดูสิ่งนี้อีกครั้ง ทัวร์ Tools หรือทัวร์ Admin"
[onboarding.welcomeModal]
title = "ยินดีต้อนรับสู่ Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "พาชมรอบๆ"
skipTheTour = "ข้ามทัวร์"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "ภาพรวมทัวร์"
+body = "Stirling PDF V2 มาพร้อมเครื่องมือหลายสิบรายการและเลย์เอาต์ใหม่ ลองทัวร์แบบย่อเพื่อดูสิ่งที่เปลี่ยนไปและตำแหน่งของฟีเจอร์ที่คุณต้องการ"
[onboarding.serverLicense]
skip = "ข้ามไปก่อน"
@@ -5452,7 +5668,7 @@ upgrade = "อัปเกรดเลย →"
freeTitle = "ไลเซนส์เซิร์ฟเวอร์"
overLimitTitle = "ต้องใช้ไลเซนส์เซิร์ฟเวอร์"
overLimitBody = "สิทธิ์การใช้งานของเรารองรับผู้ใช้ได้ฟรีสูงสุด {{freeTierLimit}} คนต่อเซิร์ฟเวอร์ ขณะนี้คุณมีผู้ใช้ Stirling {{overLimitUserCopy}} คน เพื่อใช้งานต่อเนื่อง โปรดอัปเกรดเป็นแพ็กเกจ Stirling Server - ที่นั่งไม่จำกัด แก้ไขข้อความ PDF และควบคุมแอดมินเต็มรูปแบบ ราคา $99/ต่อเซิร์ฟเวอร์/เดือน"
-freeBody = "สัญญาอนุญาตแบบ Open-Core ของเราอนุญาตให้ใช้งานฟรีได้สูงสุด {{freeTierLimit}} ผู้ใช้ต่อเซิร์ฟเวอร์หนึ่งเครื่อง เพื่อขยายการใช้งานอย่างต่อเนื่อง เราขอแนะนำแผน Stirling Server - ที่นั่งไม่จำกัด และ รองรับ SSO ในราคา $99/เซิร์ฟเวอร์/เดือน"
+freeBody = "ไลเซนส์แบบ Open-Core ของเรารองรับผู้ใช้ได้ฟรีสูงสุด {{freeTierLimit}} คนต่อเซิร์ฟเวอร์ เพื่อขยายการใช้งานได้ต่อเนื่องและเข้าถึง เครื่องมือแก้ไขข้อความ PDF ล่วงหน้า เราแนะนำแพ็กเกจ Stirling Server - แก้ไขได้เต็มรูปแบบและ ที่นั่งไม่จำกัด ราคา $99/ต่อเซิร์ฟเวอร์/เดือน"
[onboarding.desktopInstall]
title = "ดาวน์โหลด"
@@ -5758,28 +5974,28 @@ contactSales = "ติดต่อฝ่ายขาย"
contactToUpgrade = "ติดต่อเราเพื่ออัปเกรดหรือปรับแต่งแผนของคุณ"
maxUsers = "ผู้ใช้สูงสุด"
upTo = "สูงสุด"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "รับไลเซนส์เซิร์ฟเวอร์"
+upgradeToEnterprise = "อัปเกรดเป็น Enterprise"
+selectPeriod = "เลือกช่วงการเรียกเก็บเงิน"
+monthlyBilling = "เรียกเก็บเงินรายเดือน"
+yearlyBilling = "เรียกเก็บเงินรายปี"
+checkoutOpened = "เปิดหน้าชำระเงินแล้ว"
+checkoutInstructions = "ทำการซื้อของคุณในแท็บ Stripe หลังการชำระเงิน ให้กลับมาที่นี่และรีเฟรชหน้าเพื่อเปิดใช้งานไลเซนส์ คุณจะได้รับอีเมลพร้อมคีย์ไลเซนส์ด้วย"
+activateLicense = "เปิดใช้งานไลเซนส์ของคุณ"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "เปิดหน้าชำระเงินในแท็บใหม่แล้ว"
+instructions = "ทำการซื้อของคุณในแท็บ Stripe เมื่อการชำระเงินเสร็จสมบูรณ์ คุณจะได้รับอีเมลพร้อมคีย์ไลเซนส์"
+enterKey = "ใส่คีย์ไลเซนส์ของคุณด้านล่างเพื่อเปิดใช้งานแผน:"
+keyDescription = "วางคีย์ไลเซนส์จากอีเมลของคุณ"
+activate = "เปิดใช้งานไลเซนส์"
+doLater = "ฉันจะทำภายหลัง"
+success = "เปิดใช้งานไลเซนส์แล้ว!"
+successMessage = "เปิดใช้งานไลเซนส์ของคุณเรียบร้อยแล้ว ตอนนี้คุณสามารถปิดหน้าต่างนี้ได้"
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "ต้องยืนยันอีเมล"
+message = "คุณต้องยืนยันที่อยู่อีเมลของคุณในพอร์ทัลการเรียกเก็บเงินของ Stripe ตรวจสอบอีเมลของคุณเพื่อรับลิงก์เข้าสู่ระบบ"
[plan.period]
month = "เดือน"
@@ -5983,8 +6199,8 @@ notAvailable = "ระบบบันทึกการตรวจสอบไ
notAvailableMessage = "ระบบบันทึกการตรวจสอบยังไม่ได้กำหนดค่าหรือไม่พร้อมใช้งาน"
disabled = "การบันทึกการตรวจสอบถูกปิดใช้งาน"
disabledMessage = "เปิดใช้การบันทึกการตรวจสอบในการกำหนดค่าแอปพลิเคชันของคุณเพื่อการติดตามเหตุการณ์ของระบบ"
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "ต้องใช้ไลเซนส์ Enterprise"
+enterpriseRequiredMessage = "ระบบบันทึกการตรวจสอบเป็นฟีเจอร์ระดับองค์กร โปรดอัปเกรดเป็นไลเซนส์ Enterprise เพื่อเข้าถึงบันทึกการตรวจสอบและการวิเคราะห์"
[audit.error]
title = "เกิดข้อผิดพลาดในการโหลดระบบบันทึกการตรวจสอบ"
@@ -6078,7 +6294,7 @@ title = "แผนภูมิการใช้งาน Endpoint"
[usage.table]
title = "สถิติแบบละเอียด"
-endpoint = "ปลายทาง"
+endpoint = "Endpoint"
visits = "การเข้าชม"
percentage = "เปอร์เซ็นต์"
noData = "ไม่มีข้อมูล"
@@ -6156,6 +6372,7 @@ description = "ป้อน URL แบบเต็มของเซิร์ฟ
[setup.server.error]
emptyUrl = "โปรดป้อน URL เซิร์ฟเวอร์"
+invalidUrl = "รูปแบบ URL ไม่ถูกต้อง โปรดป้อน URL ที่ถูกต้องเช่น https://your-server.com"
unreachable = "ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์"
testFailed = "การทดสอบการเชื่อมต่อล้มเหลว"
configFetch = "ไม่สามารถดึงการกำหนดค่าของเซิร์ฟเวอร์ได้ โปรดตรวจสอบ URL แล้วลองอีกครั้ง"
@@ -6174,6 +6391,7 @@ connectingTo = "กำลังเชื่อมต่อกับ:"
submit = "เข้าสู่ระบบ"
signInWith = "ลงชื่อเข้าใช้ด้วย"
oauthPending = "กำลังเปิดเบราว์เซอร์เพื่อยืนยันตัวตน..."
+sso = "Single Sign-On"
orContinueWith = "หรือดำเนินการต่อด้วยอีเมล"
serverRequirement = "หมายเหตุ: เซิร์ฟเวอร์ต้องเปิดใช้งานการเข้าสู่ระบบ"
showInstructions = "เปิดใช้งานอย่างไร?"
@@ -6239,8 +6457,8 @@ reset = "รีเซ็ตการเปลี่ยนแปลง"
downloadJson = "ดาวน์โหลด JSON"
generatePdf = "สร้าง PDF"
saveChanges = "บันทึกการเปลี่ยนแปลง"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "ใช้การเปลี่ยนแปลง"
+downloadCopy = "ดาวน์โหลดสำเนา"
[pdfTextEditor.options.autoScaleText]
title = "ปรับขนาดข้อความอัตโนมัติให้พอดีกล่อง"
@@ -6260,22 +6478,22 @@ title = "ล็อกข้อความที่แก้ไขเป็น
description = "เมื่อเปิดใช้ เครื่องมือจะส่งออกแต่ละกล่องข้อความที่แก้ไขเป็นองค์ประกอบข้อความ PDF เดียว เพื่อหลีกเลี่ยงอักขระซ้อนทับหรือฟอนต์ปะปน"
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "การตั้งค่าขั้นสูง"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "ข้อจำกัดของการแสดงตัวอย่าง"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "เน้นข้อความและรูปภาพ"
+text = "พื้นที่ทำงานนี้เน้นการแก้ไขข้อความและปรับตำแหน่งรูปภาพที่ฝังไว้ งานกราฟิกของหน้าแบบซับซ้อน วิดเจ็ตฟอร์ม และกราฟิกแบบหลายชั้นจะคงไว้สำหรับการส่งออก แต่ไม่สามารถแก้ไขได้ทั้งหมดที่นี่"
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "ความแตกต่างระหว่างการแสดงตัวอย่าง"
+text = "องค์ประกอบบางอย่าง (เช่น เส้นตาราง รูปร่าง หรือรูปลักษณ์ของคำอธิบายประกอบ) อาจแสดงไม่ตรงในตัวอย่าง PDF ที่ส่งออกจะคงคำสั่งการวาดเดิมไว้เท่าที่เป็นไปได้"
[pdfTextEditor.tooltip.alpha]
title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+text = "Alpha Viewer นี้ยังอยู่ระหว่างพัฒนา—แบบอักษรบางชนิด สี เอฟเฟกต์ความโปร่งใส และรายละเอียดเลย์เอาต์อาจเปลี่ยนเล็กน้อย โปรดตรวจสอบ PDF ที่สร้างอย่างรอบคอบก่อนแชร์"
[pdfTextEditor.manual]
mergeTooltip = "รวมกล่องที่เลือก"
@@ -6340,13 +6558,13 @@ warnings = "คำเตือน"
suggestions = "หมายเหตุ"
currentPageFonts = "ฟอนต์บนหน้านี้"
allFonts = "ฟอนต์ทั้งหมด"
-fallback = "สำรอง"
+fallback = "fallback"
missing = "หายไป"
perfectMessage = "สามารถทำซ้ำฟอนต์ทั้งหมดได้อย่างสมบูรณ์แบบ"
warningMessage = "บางฟอนต์อาจแสดงผลไม่ถูกต้อง"
infoMessage = "มีข้อมูลการทำซ้ำฟอนต์"
perfect = "สมบูรณ์แบบ"
-subset = "ซับเซ็ต"
+subset = "subset"
[pdfTextEditor.errors]
invalidJson = "ไม่สามารถอ่านไฟล์ JSON โปรดตรวจสอบว่าไฟล์ถูกสร้างโดยเครื่องมือ PDF to JSON"
@@ -6361,7 +6579,7 @@ insufficientPermissions = "คุณไม่มีสิทธิ์ในก
[addText]
title = "เพิ่มข้อความ"
header = "เพิ่มข้อความลงใน PDF"
-tags = "ข้อความ,คำอธิบายประกอบ,ป้ายกำกับ"
+tags = "text,annotation,label"
applySignatures = "ใช้ข้อความ"
[addText.text]
@@ -6398,3 +6616,58 @@ title = "ผลการเพิ่มข้อความ"
[addText.error]
failed = "เกิดข้อผิดพลาดระหว่างเพิ่มข้อความลงใน PDF"
+
+[mobileUpload]
+title = "อัปโหลดจากมือถือ"
+description = "สแกนเพื่ออัปโหลดรูปภาพ รูปภาพจะแปลงเป็น PDF อัตโนมัติ"
+descriptionNoConvert = "สแกนเพื่ออัปโหลดรูปภาพจากอุปกรณ์มือถือของคุณ"
+error = "ข้อผิดพลาดในการเชื่อมต่อ"
+pollingError = "เกิดข้อผิดพลาดขณะตรวจสอบไฟล์"
+sessionId = "Session ID"
+sessionCreateError = "ไม่สามารถสร้างเซสชันได้"
+expiryWarning = "เซสชันใกล้หมดอายุ"
+expiryWarningMessage = "รหัส QR นี้จะหมดอายุใน {{seconds}} วินาที จะมีการสร้างโค้ดใหม่โดยอัตโนมัติ"
+filesReceived = "ได้รับไฟล์ {{count}} ไฟล์"
+connected = "เชื่อมต่ออุปกรณ์มือถือแล้ว"
+instructions = "สแกนด้วยกล้องโทรศัพท์ของคุณ รูปภาพจะถูกแปลงเป็น PDF อัตโนมัติ"
+instructionsNoConvert = "สแกนด้วยกล้องโทรศัพท์ของคุณเพื่ออัปโหลดไฟล์"
+
+[mobileScanner]
+title = "สแกนเนอร์มือถือ"
+noSession = "เซสชันไม่ถูกต้อง"
+noSessionMessage = "โปรดสแกนรหัส QR ที่ถูกต้องเพื่อเข้าถึงหน้านี้"
+validating = "กำลังตรวจสอบเซสชัน..."
+sessionInvalid = "ข้อผิดพลาดของเซสชัน"
+sessionExpired = "เซสชันนี้หมดอายุแล้ว โปรดรีเฟรชและลองอีกครั้ง"
+sessionNotFound = "ไม่พบเซสชัน โปรดรีเฟรชและลองอีกครั้ง"
+sessionValidationError = "ไม่สามารถยืนยันเซสชันได้ โปรดลองอีกครั้ง"
+uploadSuccess = "อัปโหลดสำเร็จ!"
+uploadSuccessMessage = "ถ่ายโอนรูปภาพของคุณเรียบร้อยแล้ว"
+httpsRequired = "การเข้าถึงกล้องต้องใช้ HTTPS หรือ localhost โปรดใช้ HTTPS หรือเข้าผ่าน localhost"
+uploadFailed = "อัปโหลดไม่สำเร็จ โปรดลองอีกครั้ง"
+uploading = "กำลังอัปโหลด..."
+connected = "เชื่อมต่อแล้ว"
+connecting = "กำลังเชื่อมต่อ..."
+chooseMethod = "เลือกวิธีการอัปโหลด"
+chooseMethodDescription = "เลือกวิธีที่คุณต้องการสแกนและอัปโหลดเอกสาร"
+camera = "กล้อง"
+cameraDescription = "สแกนเอกสารด้วยกล้องอุปกรณ์ของคุณ พร้อมตรวจจับขอบอัตโนมัติ"
+fileUpload = "อัปโหลดไฟล์"
+fileDescription = "อัปโหลดรูปภาพหรือเอกสารที่มีอยู่จากอุปกรณ์ของคุณ"
+cameraAccessDenied = "ถูกปฏิเสธการเข้าถึงกล้อง โปรดเปิดการเข้าถึงกล้อง"
+back = "ย้อนกลับ"
+settings = "การตั้งค่า"
+edgeDetection = "การตรวจจับขอบ"
+flashlight = "ไฟฉาย"
+flash = "แฟลช"
+processing = "กำลังประมวลผล..."
+capture = "ถ่ายภาพ"
+selectFilesPrompt = "เลือกไฟล์เพื่ออัปโหลด"
+selectImage = "เลือกรูปภาพ"
+preview = "แสดงตัวอย่าง"
+retake = "ถ่ายใหม่"
+addToBatch = "เพิ่มไปยังชุด"
+upload = "อัปโหลด"
+batchImages = "ชุด"
+clearBatch = "ล้าง"
+uploadAll = "อัปโหลดทั้งหมด"
diff --git a/frontend/public/locales/tr-TR/translation.toml b/frontend/public/locales/tr-TR/translation.toml
index 9ca86952e..e2f028a85 100644
--- a/frontend/public/locales/tr-TR/translation.toml
+++ b/frontend/public/locales/tr-TR/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "PDF'inizde kaydedilmemiş değişiklikler var."
+pendingRedactionsTitle = "Uygulanmamış Karartmalar"
+pendingRedactions = "Uygulanmamış karartmalarınız var; kaybolacak."
areYouSure = "Ayrılmak istediğinizden emin misiniz?"
unsavedChangesTitle = "Kaydedilmemiş Değişiklikler"
keepWorking = "Çalışmaya Devam Et"
discardChanges = "At ve Çık"
+discardRedactions = "Vazgeç ve Çık"
applyAndContinue = "Kaydet ve Çık"
exportAndContinue = "Dışa aktar ve Devam et"
cancel = "İptal"
@@ -364,6 +367,7 @@ advanced = "Gelişmiş"
title = "Güvenlik ve Kimlik Doğrulama"
security = "Güvenlik"
connections = "Bağlantılar"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Lisanslama ve Analitik"
@@ -438,25 +442,34 @@ currentVersion = "Geçerli Sürüm"
latestVersion = "En Son Sürüm"
checkForUpdates = "Güncellemeleri Kontrol Et"
viewDetails = "Ayrıntıları Görüntüle"
+serverNeedsUpdate = "Sunucunun yönetici tarafından güncellenmesi gerekiyor"
+
+[settings.general.versionInfo]
+title = "Sürüm Bilgileri"
+description = "Masaüstü ve sunucu sürüm ayrıntıları"
+desktop = "Masaüstü Sürümü"
+server = "Sunucu Sürümü"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Güvenlik"
+description = "Hesabınızı güvende tutmak için şifrenizi güncelleyin."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Şifrenizi değiştirin. Güncellemeden sonra oturumunuz kapatılacak."
+required = "Tüm alanlar zorunludur."
+mismatch = "Yeni şifreler eşleşmiyor."
+error = "Şifre güncellenemiyor. Lütfen mevcut şifrenizi doğrulayıp tekrar deneyin."
+success = "Şifre başarıyla güncellendi. Lütfen yeniden oturum açın."
+ssoDisabled = "Şifre değişiklikleri kimlik sağlayıcınız tarafından yönetilir."
+current = "Mevcut şifre"
+currentPlaceholder = "Mevcut şifrenizi girin"
+new = "Yeni şifre"
+newPlaceholder = "Yeni bir şifre girin"
+confirm = "Yeni şifreyi onaylayın"
+confirmPlaceholder = "Yeni şifrenizi tekrar girin"
+update = "Şifreyi güncelle"
+
+
[settings.hotkeys]
title = "Klavye Kısayolları"
@@ -511,16 +524,16 @@ low = "Düşük"
title = "Giriş Bilgilerini Değiştir"
header = "Hesap Detaylarınızı Güncelleyin"
changePassword = "Varsayılan giriş bilgilerini kullanıyorsunuz. Lütfen yeni bir şifre girin."
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Hesabınız kimlik sağlayıcınız tarafından yönetiliyor."
newUsername = "Yeni Kullanıcı Adı"
oldPassword = "Mevcut Şifre"
newPassword = "Yeni Şifre"
confirmNewPassword = "Yeni Şifreyi Onayla"
submit = "Değişiklikleri Gönder"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Hesap güncellendi"
+description = "Değişiklikler kaydedildi. Lütfen tekrar giriş yapın."
+error = "Kullanıcı adı güncellenemiyor. Lütfen şifrenizi doğrulayıp tekrar deneyin."
+changeUsername = "Kullanıcı adınızı güncelleyin. Güncellemeden sonra oturumunuz kapatılacak."
[account]
title = "Hesap Ayarları"
@@ -528,6 +541,8 @@ accountSettings = "Hesap Ayarları"
adminSettings = "Yönetici Ayarları - Kullanıcıları Görüntüle ve Ekle"
userControlSettings = "Kullanıcı Kontrol Ayarları"
changeUsername = "Kullanıcı Adını Değiştir"
+changeUsernameDescription = "Kullanıcı adınızı güncelleyin. Güncellemeden sonra oturumunuz kapatılacak."
+newUsernamePlaceholder = "Yeni kullanıcı adınızı girin"
newUsername = "Yeni kullanıcı adı"
password = "Onay Şifresi"
oldPassword = "Eski Şifre"
@@ -737,9 +752,9 @@ title = "İmzala"
desc = "Çizim, metin veya resim ile PDF'e imza ekler"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "açıklama,vurgula,çiz"
+title = "Açıklama Ekle"
+desc = "Görüntüleyicide vurgulayın, çizin, not ve şekil ekleyin"
[home.flatten]
tags = "basitleştir,kaldır,etkileşimli"
@@ -952,7 +967,7 @@ title = "PDF'leri Bindirme"
[home.pdfTextEditor]
title = "PDF Metin Düzenleyici"
-desc = "PDF'lerin içindeki mevcut metinleri ve görselleri düzenleyin"
+desc = "Gruplu metin düzenleme ve PDF yeniden oluşturma ile Stirling PDF JSON dışa aktarımlarını gözden geçirin ve düzenleyin"
[home.addText]
tags = "metin,ek açıklama,etiket"
@@ -963,6 +978,7 @@ desc = "PDF'inize istediğiniz yere özel metin ekleyin"
addFiles = "Dosya Ekle"
uploadFromComputer = "Bilgisayardan yükle"
openFromComputer = "Bilgisayardan aç"
+mobileUpload = "Mobil Cihazdan Yükle"
[viewPdf]
tags = "görüntüle,oku,açıklama ekle,metin,görüntü"
@@ -1278,21 +1294,33 @@ cbzOptions = "CBZ'den PDF'e Seçenekleri"
optimizeForEbook = "PDF'yi e-kitap okuyucular için optimize et (Ghostscript kullanır)"
cbzOutputOptions = "PDF'den CBZ'ye Seçenekleri"
cbzDpi = "Görüntü oluşturma için DPI"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "CBR Seçenekleri"
+cbrOutputOptions = "PDF'den CBR'ye Dönüştürme Seçenekleri"
+cbrDpi = "Görüntü oluşturma için DPI"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "eBook'tan PDF'ye Dönüştürme Seçenekleri"
+ebookOptionsDesc = "eBook'ları PDF'ye dönüştürme seçenekleri"
+embedAllFonts = "Tüm yazı tiplerini göm"
+embedAllFontsDesc = "eBook'taki tüm yazı tiplerini oluşturulan PDF'ye göm"
+includeTableOfContents = "İçindekiler tablosunu ekle"
+includeTableOfContentsDesc = "Ortaya çıkan PDF'ye oluşturulmuş bir içindekiler tablosu ekle"
+includePageNumbers = "Sayfa numaralarını ekle"
+includePageNumbersDesc = "Oluşturulan PDF'ye sayfa numaraları ekle"
+optimizeForEbookPdf = "eBook okuyucular için optimize et"
+optimizeForEbookPdfDesc = "PDF'yi eBook okumaya göre optimize et (daha küçük dosya boyutu, eInk cihazlarda daha iyi işleme)"
+
+[convert.epubOptions]
+epubOptions = "PDF'den eBook'a Dönüştürme Seçenekleri"
+epubOptionsDesc = "PDF'yi EPUB/AZW3'e dönüştürme seçenekleri"
+detectChapters = "Bölümleri algıla"
+detectChaptersDesc = "Bölüm gibi görünen başlıkları algıla ve EPUB sayfa sonları ekle"
+targetDevice = "Hedef cihaz"
+targetDeviceDesc = "Okuyucu cihaz için optimize edilmiş bir çıktı profili seçin"
+outputFormat = "Çıktı biçimi"
+outputFormatDesc = "eBook için çıktı biçimini seçin"
+tabletPhone = "Tablet/Telefon (görsellerle)"
+kindleEink = "Kindle e-Ink (metin için optimize edilmiş)"
[imageToPdf]
tags = "dönüşüm,img,jpg,fotoğraf,resim"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "Ek Ekle"
remove = "Eki Kaldır"
embed = "Eki Göm"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "PDF/A-3b'ye dönüştür"
+convertToPdfA3bDescription = "Gömülü eklerle arşivlik bir PDF oluşturur"
+convertToPdfA3bTooltip = "PDF/A-3b, uzun süreli saklama sağlayan bir arşivleme biçimidir. Ek olarak rastgele dosya biçimlerinin gömülmesine izin verir. Dönüştürme için Ghostscript gerekir ve büyük dosyalarda daha uzun sürebilir."
+convertToPdfA3bTooltipHeader = "PDF/A-3b Dönüştürme Hakkında"
+convertToPdfA3bTooltipTitle = "Ne yapar"
submit = "Add attachments"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "Kaydedildi"
label = "İmza görseli yükle"
placeholder = "Görsel dosyası seç"
hint = "İmzanızın PNG veya JPG görselini yükleyin"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Beyaz arka planı kaldır (şeffaf yap)"
+processing = "Görsel işleniyor..."
+backgroundRemovalFailedTitle = "Arka plan kaldırılamadı"
+backgroundRemovalFailedMessage = "Görselin arka planı kaldırılamadı. Bunun yerine orijinal görsel kullanılacak."
[sign.instructions]
title = "İmza nasıl eklenir"
@@ -2409,9 +2437,9 @@ label = "Yalnızca formları düzleştir"
desc = "Yalnızca form alanlarını düzleştir, diğer etkileşimli öğeleri olduğu gibi bırak"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "Oluşturma DPI'ı (isteğe bağlı, önerilen 150 DPI)"
+help = "Sistem varsayılanını kullanmak için boş bırakın. Daha yüksek DPI çıktıyı keskinleştirir ancak işlem süresini ve dosya boyutunu artırır."
+placeholder = "örn. 150"
[flatten.results]
title = "Düzleştirme Sonuçları"
@@ -2987,7 +3015,7 @@ header = "PDF'i Kırp"
submit = "Gönder"
noFileSelected = "Kırpmaya başlamak için bir PDF seçin"
reset = "Tam PDF'ye sıfırla"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Boşlukları otomatik kırp"
[crop.preview]
title = "Kırpma Alanı Seçimi"
@@ -3218,6 +3246,7 @@ title = "Sansürleme Yöntemi"
mode = "Mod"
automatic = "Otomatik"
automaticDesc = "Arama terimlerine göre metni sansürle"
+automaticDisabledTooltip = "Birden fazla dosyayı aynı anda karartmak için dosya yöneticisinde dosyaları seçin"
manual = "Manuel"
manualDesc = "Belirli alanları sansürlemek için tıklayıp sürükleyin"
manualComingSoon = "Manuel sansürleme yakında"
@@ -3288,8 +3317,35 @@ text = "Yalnızca tam kelimeleri eşleştirir, kısmi eşleşmeleri değil. Etki
title = "PDF-Image'a Dönüştür"
text = "Sansürlemeden sonra PDF'yi görsel tabanlı bir PDF'ye dönüştürür. Bu, sansür kutularının arkasındaki metnin tamamen kaldırılmasını ve geri getirilememesini sağlar."
+[redact.tooltip.manual.header]
+title = "Manuel Karartma Kontrolleri"
+
+[redact.tooltip.manual.markText]
+title = "Metin İşaretleme Aracı"
+text = "PDF üzerinde metni doğrudan seçerek karartma için işaretleyin. Karartmak istediğiniz metni vurgulamak için tıklayıp sürükleyin."
+
+[redact.tooltip.manual.markArea]
+title = "Alan İşaretleme Aracı"
+text = "Karartılacak bölgeleri işaretlemek için PDF üzerinde dikdörtgen alanlar çizin. Görseller, imzalar veya düzensiz şekilleri karartmak için kullanışlıdır."
+
+[redact.tooltip.manual.apply]
+title = "Karartmaları Uygula"
+text = "İçeriği işaretledikten sonra 'Uygula'ya tıklayarak işaretlenen tüm alanları kalıcı olarak karartın. Bekleyen sayı, uygulanmaya hazır karartma sayısını gösterir."
+bullet1 = "Uygulamadan önce gerektiği kadar alan işaretleyin"
+bullet2 = "Tüm bekleyen karartmalar tek seferde uygulanır"
+bullet3 = "Karartmalar uygulandıktan sonra geri alınamaz"
+
[redact.manual]
+title = "Karartma Araçları"
+instructions = "Karartılacak içeriği işaretlemek için PDF üzerinde metin seçin veya alan çizin."
+markText = "Metni İşaretle"
+markArea = "Alan İşaretle"
+pendingLabel = "Bekleyen:"
+applyWarning = "⚠️ Kalıcı uygulama, geri alınamaz ve altındaki veriler silinir"
+apply = "Uygula"
+noMarks = "Karartma işareti yok. Karartma için içerik işaretlemek üzere yukarıdaki araçları kullanın."
header = "Manuel Sansürleme"
+controlsTitle = "Manuel Karartma Kontrolleri"
textBasedRedaction = "Metin tabanlı Sansürleme"
pageBasedRedaction = "Sayfa tabanlı Sansürleme"
convertPDFToImageLabel = "PDF'yi PDF-Image'a dönüştür (Kutunun arkasındaki metni kaldırmak için kullanılır)"
@@ -3406,17 +3462,17 @@ label = "Dikey Bölümler"
placeholder = "Dikey bölme sayısını girin"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Bölme Modu"
+description = "Sayfaların nasıl bölüneceğini seçin"
+splitAll = "Tüm sayfaları böl"
+splitAllExceptFirst = "İlk hariç tümünü böl"
+splitAllExceptLast = "Son hariç tümünü böl"
+splitAllExceptFirstAndLast = "İlk ve son hariç tümünü böl"
+custom = "Özel sayfalar"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Özel Sayfa Numaraları"
+placeholder = "örn. 2,4,6"
[AddStampRequest]
tags = "Damga, Görüntü ekle, Görüntüyü ortala, Filigran, PDF, Göm, Özelleştir"
@@ -3780,17 +3836,17 @@ filesize = "Dosya Boyutu"
label = "Sıkıştırma için Gri Ton Uygula"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Hızlı web görüntüleme için PDF'yi doğrusal hale getir"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Görselleri çizgi sanatına dönüştür"
+description = "Sayfaları maksimum boyut küçültme için yüksek kontrastlı siyah beyaza indirgemek üzere ImageMagick kullanır."
+unavailable = "Bu sunucuda ImageMagick yüklü veya etkin değil"
+detailLevel = "Detay seviyesi"
+edgeEmphasis = "Kenar vurgusu"
+edgeLow = "Hafif"
+edgeMedium = "Dengeli"
+edgeHigh = "Güçlü"
[compress.tooltip.header]
title = "Sıkıştırma Ayarlarına Genel Bakış"
@@ -3810,8 +3866,8 @@ title = "Gri Tonlama"
text = "Tüm görselleri siyah beyaza dönüştürmek için bu seçeneği belirleyin; özellikle taranmış PDF'ler veya görsel ağırlıklı belgeler için dosya boyutunu önemli ölçüde azaltabilir."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "Çizgi Sanatı"
+text = "Sayfaları ImageMagick kullanarak yüksek kontrastlı siyah beyaza dönüştürün. İçeriğin ne kadarının siyaha dönüşeceğini 'detay seviyesi' ile, kenarların ne kadar agresif algılanacağını 'kenar vurgusu' ile kontrol edin."
[compress.error]
failed = "PDF sıkıştırılırken bir hata oluştu."
@@ -3826,9 +3882,9 @@ _value = "Sıkıştırma Ayarları"
1 = "1-3 PDF sıkıştırma, 4-6 hafif görüntü sıkıştırma, 7-9 yoğun görüntü sıkıştırma görüntü kalitesini ciddi ölçüde düşürür"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Daha düşük değerler kaliteyi korur ancak daha büyük dosyalar üretir"
+range4to6 = "Orta sıkıştırma, orta düzey kalite düşüşüyle"
+range7to9 = "Daha yüksek değerler dosya boyutunu önemli ölçüde düşürür ancak görüntü netliğini azaltabilir"
[decrypt]
passwordPrompt = "Bu dosya parola korumalı. Lütfen parolayı girin:"
@@ -4069,7 +4125,7 @@ deleteSelected = "Seçilen Sayfaları Sil"
closePdf = "PDF'yi Kapat"
exportAll = "PDF'yi Dışa Aktar"
downloadSelected = "Seçilen Dosyaları İndir"
-annotations = "Annotations"
+annotations = "Açıklamalar"
exportSelected = "Seçilen Sayfaları Dışa Aktar"
saveChanges = "Değişiklikleri Kaydet"
toggleTheme = "Temayı Değiştir"
@@ -4077,84 +4133,90 @@ language = "Dil"
toggleAnnotations = "Açıklamaların Görünürlüğünü Değiştir"
search = "PDF Ara"
panMode = "Kaydırma Modu"
+applyRedactionsFirst = "Önce karartmaları uygula"
rotateLeft = "Sola Döndür"
rotateRight = "Sağa Döndür"
toggleSidebar = "Kenar Çubuğunu Aç/Kapat"
toggleBookmarks = "Yer imlerini aç/kapat"
print = "PDF'yi Yazdır"
+draw = "Çiz"
+redact = "Karart"
+exitRedaction = "Karartma Modundan Çık"
+save = "Kaydet"
downloadAll = "Tümünü İndir"
saveAll = "Tümünü Kaydet"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Sol"
+center = "Orta"
+right = "Sağ"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "Açıklama Ekle"
+desc = "Vurgu, kalem, metin ve notları kullanın. Değişiklikler canlı kalır—düzleştirme gerekmez."
+highlight = "Vurgula"
+pen = "Kalem"
+text = "Metin kutusu"
+note = "Not"
+rectangle = "Dikdörtgen"
+ellipse = "Elips"
+select = "Seç"
+exit = "Açıklama modundan çık"
+strokeWidth = "Genişlik"
+opacity = "Opaklık"
+strokeOpacity = "Çizgi Opaklığı"
+fillOpacity = "Dolgu Opaklığı"
+fontSize = "Yazı tipi boyutu"
+chooseColor = "Renk seç"
+color = "Renk"
+strokeColor = "Çizgi Rengi"
+fillColor = "Dolgu Rengi"
+underline = "Altını çiz"
+strikeout = "Üstünü çiz"
+squiggly = "Dalgalı"
+inkHighlighter = "Serbest Vurgu Kalemi"
+freehandHighlighter = "Serbest Vurgu Kalemi"
+square = "Kare"
+circle = "Daire"
+polygon = "Çokgen"
+line = "Çizgi"
+stamp = "Görsel Ekle"
+textMarkup = "Metin İşaretleme"
+drawing = "Çizim"
+shapes = "Şekiller"
+notesStamps = "Notlar ve Damgalar"
+settings = "Ayarlar"
+borderOn = "Kenarlık: Açık"
+borderOff = "Kenarlık: Kapalı"
+editInk = "Kalemi Düzenle"
+editLine = "Çizgiyi Düzenle"
+editNote = "Notu Düzenle"
+editText = "Metin Kutusunu Düzenle"
+editTextMarkup = "Metin İşaretlemeyi Düzenle"
+editSelected = "Açıklamayı Düzenle"
+editSquare = "Kareyi Düzenle"
+editCircle = "Daireyi Düzenle"
+editPolygon = "Çokgeni Düzenle"
+unsupportedType = "Bu açıklama türü düzenleme için tam olarak desteklenmiyor."
+textAlignment = "Metin Hizalama"
+noteIcon = "Not Simgesi"
+imagePreview = "Önizleme"
+contents = "Metin"
+backgroundColor = "Arka plan rengi"
+clearBackground = "Arka planı kaldır"
+noBackground = "Arka plan yok"
+stampSettings = "Damga Ayarları"
+savingCopy = "İndirmeye hazırlanıyor..."
+saveFailed = "Kopya kaydedilemiyor"
+saveReady = "İndirmeye hazır"
+selectAndMove = "Seç ve Düzenle"
+editSelectDescription = "Bir açıklamanın renk, opaklık, metin veya boyutunu düzenlemek için mevcut açıklamaya tıklayın."
+editStampHint = "Görseli değiştirmek için bu damgayı silip yenisini ekleyin."
+editSwitchToSelect = "Bu açıklamayı düzenlemek için Seç ve Düzenle moduna geçin."
+undo = "Geri al"
+redo = "Yinele"
+applyChanges = "Değişiklikleri Uygula"
+saveChanges = "Değişiklikleri Kaydet"
[search]
title = "PDF Ara"
@@ -4205,20 +4267,20 @@ settings = "Ayarlar"
adminSettings = "Admin Ayarları"
allTools = "All Tools"
reader = "Okuyucu"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Turlar"
+showMeAround = "Bana etrafı göster"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Buradan tanıtımları izleyin: Araçlar turu, Yeni V2 düzen turu ve Yönetici turu."
+user = "Buradan tanıtımları izleyin: Araçlar turu ve Yeni V2 düzen turu."
[quickAccess.helpMenu]
toolsTour = "Araç Turu"
toolsTourDesc = "Araçların neler yapabildiğini öğrenin"
adminTour = "Yönetici Turu"
adminTourDesc = "Yönetici ayarlarını ve özelliklerini keşfedin"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "V2'de neler yeni görün"
+whatsNewTourDesc = "Güncellenmiş düzeni keşfedin"
[admin]
error = "Hata"
@@ -4237,6 +4299,8 @@ fetchError = "Ayarlar yüklenemedi"
saveError = "Ayarlar kaydedilemedi"
saved = "Ayarlar başarıyla kaydedildi"
saveSuccess = "Ayarlar başarıyla kaydedildi"
+success = "Ayarlar başarıyla kaydedildi"
+error = "Ayarlar kaydedilemedi"
save = "Değişiklikleri Kaydet"
discard = "Vazgeç"
restartRequired = "Yeniden Başlatma Gerekiyor"
@@ -4360,6 +4424,13 @@ description = "HTML’den PDF’ye dönüştürme için WeasyPrint çalıştır
label = "Unoconvert Çalıştırılabilir Dosyası"
description = "Belge dönüştürmeleri için LibreOffice unoconvert yolunu belirtin (varsayılan için boş bırakın: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "Ön Uç URL'si"
+description = "Ön uç için temel URL (örn. https://pdf.example.com). E-posta davet bağlantıları ve mobil QR kod yüklemeleri için kullanılır. Arka uç URL'sini kullanmak için boş bırakın."
+
+[admin.settings.badge]
+clickToUpgrade = "Plan ayrıntılarını görmek için tıklayın"
+
[admin.settings.security]
title = "Güvenlik"
description = "Kimlik doğrulama, oturum açma davranışı ve güvenlik ilkelerini yapılandırın."
@@ -4496,6 +4567,19 @@ connect = "Bağlan"
disconnect = "Bağlantıyı Kes"
disconnected = "Sağlayıcının bağlantısı başarıyla kesildi"
disconnectError = "Sağlayıcı bağlantısı kesilemedi"
+mobileScannerConvertToPdf = "Görselleri PDF'ye Dönüştür"
+mobileScannerConvertToPdfDesc = "Yüklenen görselleri otomatik olarak PDF biçimine dönüştürür. Devre dışı bırakılırsa görseller olduğu gibi tutulur."
+mobileScannerImageResolution = "Görsel Çözünürlüğü"
+mobileScannerImageResolutionDesc = "Yüklenen görsellerin çözünürlüğü. \"Azaltılmış\", dosya boyutunu küçültmek için görselleri en fazla 1200px'e ölçekler."
+imageResolutionFull = "Tam (Orijinal Boyut)"
+imageResolutionReduced = "Azaltılmış (Maks 1200px)"
+mobileScannerPageFormat = "Sayfa Biçimi"
+mobileScannerPageFormatDesc = "Dönüştürülen görseller için PDF sayfa boyutu. \"Koru\", görselin orijinal boyutlarını kullanır."
+pageFormatKeep = "Koru (Orijinal Boyutlar)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Sığdırmak için esnet"
+mobileScannerStretchToFitDesc = "Görselleri tüm sayfayı dolduracak şekilde esnetir. Devre dışıysa görseller, en-boy oranı korunarak ortalanır."
[admin.settings.connections.ssoAutoLogin]
label = "SSO Otomatik Giriş"
@@ -4564,6 +4648,122 @@ description = "İlk SAML2 girişinde kullanıcı hesaplarını otomatik olarak o
label = "Kaydı Engelle"
description = "SAML2 üzerinden yeni kullanıcı kaydını engelle"
+[admin.settings.connections.mobileScanner]
+label = "Mobil Telefon Yükleme"
+enable = "QR Kod Yüklemeyi Etkinleştir"
+description = "Kullanıcıların bir QR kodunu tarayarak mobil cihazlardan dosya yüklemesine izin verin"
+note = "Not: Ön Uç URL'sinin yapılandırılması gerekir. "
+link = "Sistem Ayarlarında Yapılandır"
+mobileScannerConvertToPdf = "Görselleri PDF'ye Dönüştür"
+mobileScannerConvertToPdfDesc = "Yüklenen görselleri otomatik olarak PDF biçimine dönüştürür. Devre dışı bırakılırsa görseller olduğu gibi tutulur."
+mobileScannerImageResolution = "Görsel Çözünürlüğü"
+mobileScannerImageResolutionDesc = "Yüklenen görsellerin çözünürlüğü. \"Azaltılmış\", dosya boyutunu küçültmek için görselleri en fazla 1200px'e ölçekler."
+imageResolutionFull = "Tam (Orijinal Boyut)"
+imageResolutionReduced = "Azaltılmış (Maks 1200px)"
+mobileScannerPageFormat = "Sayfa Biçimi"
+mobileScannerPageFormatDesc = "Dönüştürülen görseller için PDF sayfa boyutu. \"Koru\", görselin orijinal boyutlarını kullanır."
+pageFormatKeep = "Koru (Orijinal Boyutlar)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Sığdırmak için esnet"
+mobileScannerStretchToFitDesc = "Görselleri tüm sayfayı dolduracak şekilde esnetir. Devre dışıysa görseller, en-boy oranı korunarak ortalanır."
+
+[admin.settings.telegram]
+title = "Telegram Botu"
+description = "Telegram bot bağlantısını, erişim kontrollerini ve geri bildirim davranışını yapılandırın."
+
+[admin.settings.telegram.enabled]
+label = "Telegram Botunu Etkinleştir"
+description = "Kullanıcıların yapılandırdığınız Telegram botu üzerinden Stirling PDF ile etkileşim kurmasına izin verin."
+
+[admin.settings.telegram.botUsername]
+label = "Bot Kullanıcı Adı"
+description = "Telegram botunuzun herkese açık kullanıcı adı."
+
+[admin.settings.telegram.botToken]
+label = "Bot Token"
+description = "Telegram botunuz için BotFather tarafından sağlanan API token'ı."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Gelen Kutusu Klasörü"
+description = "Gelen Telegram dosyalarının saklandığı, pipeline dizini altındaki klasör."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Özel Klasör Soneki Kullan"
+description = "Gelen dosya klasörlerine sohbet kimliğini ekleyerek yüklemeleri sohbet başına ayırın."
+
+[admin.settings.telegram.accessControl]
+title = "Erişim Kontrolü"
+description = "Botla hangi kullanıcı veya kanalların etkileşime girebileceğini kısıtlayın."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Belirli Kullanıcı Kimliklerine İzin Ver"
+description = "Etkinleştirildiğinde yalnızca listelenen kullanıcı kimlikleri botu kullanabilir."
+
+[admin.settings.telegram.allowUserIDs]
+label = "İzin Verilen Kullanıcı Kimlikleri"
+description = "Botla etkileşime izin verilen Telegram kullanıcı kimliklerini girin."
+placeholder = "Kullanıcı kimliği ekleyin ve enter'a basın"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Belirli Kanal Kimliklerine İzin Ver"
+description = "Etkinleştirildiğinde yalnızca listelenen kanal kimlikleri botu kullanabilir."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "İzin Verilen Kanal Kimlikleri"
+description = "Botla etkileşime izin verilen Telegram kanal kimliklerini girin."
+placeholder = "Kanal kimliği ekleyin ve enter'a basın"
+
+[admin.settings.telegram.processing]
+title = "İşleme"
+description = "Telegram yüklemeleri için yoklama aralıklarını ve işleme zaman aşımlarını kontrol edin."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "İşleme Zaman Aşımı (saniye)"
+description = "Hata bildirmeden önce bir işin işlenmesi için beklenecek azami süre."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Yoklama Aralığı (ms)"
+description = "Yeni Telegram güncellemelerini kontrol etme aralığı."
+
+[admin.settings.telegram.feedback]
+title = "Geri Bildirim Mesajları"
+description = "Botun kullanıcılara ve kanallara ne zaman geri bildirim göndereceğini seçin."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Geri Bildirimi Etkinleştir"
+description = "Botun geri bildirim mesajları gönderip göndermeyeceğini kontrol edin."
+
+[admin.settings.telegram.feedback.channel]
+title = "Kanal Geri Bildirim Kuralları"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "\"Geçerli belge yok\" mesajını göster (Kanal)"
+description = "Kanal yüklemeleri için 'geçerli belge yok' yanıtını bastırın."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "İşleme hatalarını göster (Kanal)"
+description = "Kanallara işleme hata mesajları gönderin."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Hata mesajlarını göster (Kanal)"
+description = "Kanallar için ayrıntılı hata mesajlarını gösterin."
+
+[admin.settings.telegram.feedback.user]
+title = "Kullanıcı Geri Bildirim Kuralları"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "\"Geçerli belge yok\" mesajını göster (Kullanıcı)"
+description = "Kullanıcı yüklemeleri için 'geçerli belge yok' yanıtını bastırın."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "İşleme hatalarını göster (Kullanıcı)"
+description = "Kullanıcılara işleme hata mesajları gönderin."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Hata mesajlarını göster (Kullanıcı)"
+description = "Kullanıcılar için ayrıntılı hata mesajlarını gösterin."
+
[admin.settings.database]
title = "Veritabanı"
description = "Kurumsal kurulumlar için özel veritabanı bağlantı ayarlarını yapılandırın."
@@ -4745,6 +4945,10 @@ description = "Yöneticilerin kullanıcılara otomatik oluşturulan parolalarla
label = "Ön Uç URL’si"
description = "Ön uç için temel URL (örn. https://pdf.example.com). E-postalardaki davet bağlantılarını üretmek için kullanılır. Boş bırakılırsa arka uç URL’si kullanılır."
+[admin.settings.mail.frontendUrlNote]
+note = "Not: Ön Uç URL'sinin yapılandırılması gerekir. "
+link = "Sistem Ayarlarında Yapılandır"
+
[admin.settings.legal]
title = "Hukuki Belgeler"
description = "Hukuki belgelere ve politikalara bağlantıları yapılandırın."
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "Dosyalarım"
noRecentFiles = "Son dosya bulunamadı"
googleDriveNotAvailable = "Google Drive entegrasyonu kullanılamıyor"
+mobileUpload = "Mobil Yükleme"
+mobileShort = "Mobil"
+mobileUploadNotAvailable = "Mobil yükleme etkin değil"
downloadSelected = "Seçilenleri İndir"
saveSelected = "Seçilenleri Kaydet"
openFiles = "Dosyaları Aç"
@@ -5244,7 +5451,7 @@ loading = "Yükleniyor..."
back = "Geri"
continue = "Devam et"
error = "Hata"
-save = "Save"
+save = "Kaydet"
[config.overview]
title = "Uygulama Yapılandırması"
@@ -5307,6 +5514,15 @@ impact = "Bu anahtarları kullanan tüm uygulamalar veya hizmetler, onları yeni
confirmPrompt = "Devam etmek istediğinizden emin misiniz?"
confirmCta = "Anahtarları Yenile"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "API Anahtarı Hatası"
+failedToCreateApiKey = "API anahtarı oluşturulamadı."
+failedToRetrieveApiKey = "Yanıttan API anahtarı alınamadı."
+failedToFetchApiKey = "API anahtarı getirilemedi."
+apiKeyRefreshed = "API Anahtarı Yenilendi"
+apiKeyRefreshedBody = "API anahtarınız başarıyla yenilendi."
+failedToRefreshApiKey = "API anahtarı yenilenemedi."
+
[AddAttachmentsRequest]
attachments = "Ekleri Seçin"
info = "PDF'inize eklenecek dosyaları seçin. Bu dosyalar gömülecek ve PDF'in ekler panelinden erişilebilir olacaktır."
@@ -5412,14 +5628,14 @@ startTour = "Turu Başlat"
startTourDescription = "Stirling PDF'in temel özelliklerinde rehberli bir tura çıkın"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Okuyucu, Otomasyon, dosyalarınız ve tüm turlar arasında geçiş yapmak için Hızlı Erişim panelinden başlayın."
+leftPanel = "Soldaki Araçlar paneli yapabileceklerinizin tümünü listeler. Kategorilere göz atın veya hızlıca bir araç bulmak için arayın."
+fileUpload = "Dosyalar düğmesini kullanarak bir PDF yükleyin veya yakın zamanda açılanı seçin. Çalışma alanını görebilmeniz için bir örnek yükleyeceğiz."
+rightRail = "Sağ Panel, dosya seçme, tema veya dil değiştirme ve sonuçları indirme için hızlı işlemler barındırır."
+topBar = "Üst çubuk, Görüntüleyici, Sayfa Düzenleyici ve Aktif Dosyalar arasında geçiş yapmanızı sağlar."
+pageEditorView = "Sayfaları yeniden sıralamak, döndürmek veya silmek için Sayfa Düzenleyiciye geçin."
+activeFilesView = "Açık olan her şeyi görmek ve üzerinde çalışılacak dosyayı seçmek için Aktif Dosyaları kullanın."
+wrapUp = "V2'deki yenilikler bunlar. Bunu, Araçlar turunu veya Yönetici turunu yeniden izlemek için Turlar menüsünü istediğiniz zaman açın."
[onboarding.welcomeModal]
title = "Stirling PDF'ye Hoş Geldiniz!"
@@ -5442,8 +5658,8 @@ showMeAround = "Bana etrafı göster"
skipTheTour = "Turu atla"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Tur Genel Bakış"
+body = "Stirling PDF V2 onlarca araç ve yenilenmiş bir düzenle gelir. Nelerin değiştiğini ve ihtiyaç duyduğunuz özellikleri nerede bulacağınızı görmek için kısa bir tura çıkın."
[onboarding.serverLicense]
skip = "Şimdilik atla"
@@ -5452,7 +5668,7 @@ upgrade = "Şimdi yükselt →"
freeTitle = "Sunucu Lisansı"
overLimitTitle = "Sunucu Lisansı Gerekli"
overLimitBody = "Lisansımız, sunucu başına ücretsiz olarak en fazla {{freeTierLimit}} kullanıcıya izin verir. {{overLimitUserCopy}} Stirling kullanıcınız var. Kesintisiz devam etmek için Stirling Server planına yükseltin - sınırsız koltuk, PDF metin düzenleme ve tam yönetici kontrolü $99/server/ay."
-freeBody = "Open-Core lisanslamamız, sunucu başına en fazla {{freeTierLimit}} kullanıcıya ücretsiz izin verir. Kesintisiz ölçeklendirme için Stirling Server planını öneririz - sınırsız kullanıcı ve SSO desteği için $99/sunucu/ay."
+freeBody = "Open-Core lisansımız, sunucu başına ücretsiz olarak en fazla {{freeTierLimit}} kullanıcıya izin verir. Kesintisiz ölçeklemek ve yeni PDF metin düzenleme aracımıza erken erişim almak için Stirling Server planını öneririz - tam düzenleme ve sınırsız koltuk $99/server/ay."
[onboarding.desktopInstall]
title = "İndir"
@@ -5758,28 +5974,28 @@ contactSales = "Satış ile İletişime Geçin"
contactToUpgrade = "Planınızı yükseltmek veya özelleştirmek için bizimle iletişime geçin"
maxUsers = "Maksimum Kullanıcı"
upTo = "En fazla"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Sunucu Lisansı Al"
+upgradeToEnterprise = "Enterprise'a Yükselt"
+selectPeriod = "Faturalandırma Dönemini Seçin"
+monthlyBilling = "Aylık Faturalandırma"
+yearlyBilling = "Yıllık Faturalandırma"
+checkoutOpened = "Ödeme Sayfası Açıldı"
+checkoutInstructions = "Satın almayı Stripe sekmesinde tamamlayın. Ödemeden sonra lisansınızı etkinleştirmek için buraya dönüp sayfayı yenileyin. Ayrıca lisans anahtarınız e-postayla gönderilecektir."
+activateLicense = "Lisansınızı Etkinleştirin"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Ödeme Sayfası Yeni Sekmede Açıldı"
+instructions = "Satın almayı Stripe sekmesinde tamamlayın. Ödeme tamamlandığında lisans anahtarınız e-postayla gönderilecektir."
+enterKey = "Planınızı etkinleştirmek için lisans anahtarınızı aşağıya girin:"
+keyDescription = "E-postanızdaki lisans anahtarını yapıştırın"
+activate = "Lisansı Etkinleştir"
+doLater = "Bunu sonra yapacağım"
+success = "Lisans Etkinleştirildi!"
+successMessage = "Lisansınız başarıyla etkinleştirildi. Bu pencereyi şimdi kapatabilirsiniz."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "E-posta Doğrulaması Gerekli"
+message = "Stripe faturalandırma portalında e-posta adresinizi doğrulamanız gerekecek. Giriş bağlantısı için e-postanızı kontrol edin."
[plan.period]
month = "ay"
@@ -5983,8 +6199,8 @@ notAvailable = "Denetim sistemi kullanılamıyor"
notAvailableMessage = "Denetim sistemi yapılandırılmamış veya kullanılamıyor."
disabled = "Denetim günlüğü devre dışı"
disabledMessage = "Sistem olaylarını takip etmek için uygulama yapılandırmanızda denetim günlüğünü etkinleştirin."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Enterprise Lisansı Gerekli"
+enterpriseRequiredMessage = "Denetim günlükleme sistemi bir Enterprise özelliğidir. Denetim günlüklerine ve analizlerine erişmek için lütfen Enterprise lisansına yükseltin."
[audit.error]
title = "Denetim sistemi yüklenirken hata"
@@ -6156,6 +6372,7 @@ description = "Öz barındırılan Stirling PDF sunucunuzun tam URL'sini girin"
[setup.server.error]
emptyUrl = "Lütfen bir sunucu URL'si girin"
+invalidUrl = "Geçersiz URL biçimi. Lütfen https://your-server.com gibi geçerli bir URL girin"
unreachable = "Sunucuya bağlanılamadı"
testFailed = "Bağlantı testi başarısız"
configFetch = "Sunucu yapılandırması alınamadı. Lütfen URL'yi kontrol edip tekrar deneyin."
@@ -6174,6 +6391,7 @@ connectingTo = "Bağlanılıyor:"
submit = "Oturum Aç"
signInWith = "Şununla oturum aç"
oauthPending = "Kimlik doğrulama için tarayıcı açılıyor..."
+sso = "Tek Oturum Açma"
orContinueWith = "Veya e-postayla devam edin"
serverRequirement = "Not: Sunucuda oturum açma etkin olmalıdır."
showInstructions = "Nasıl etkinleştirilir?"
@@ -6239,8 +6457,8 @@ reset = "Değişiklikleri Sıfırla"
downloadJson = "JSON'u İndir"
generatePdf = "PDF Oluştur"
saveChanges = "Değişiklikleri Kaydet"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Değişiklikleri Uygula"
+downloadCopy = "Kopyayı İndir"
[pdfTextEditor.options.autoScaleText]
title = "Metni kutulara otomatik sığdır"
@@ -6260,22 +6478,22 @@ title = "Düzenlenen metni tek bir PDF öğesine kilitle"
description = "Etkinleştirildiğinde, düzenlenmiş her metin kutusu, üst üste binen glifler veya karışık yazı tiplerini önlemek için tek bir PDF metin öğesi olarak dışa aktarılır."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Gelişmiş Ayarlar"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Önizleme Sınırlamaları"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Metin ve Görsel Odak"
+text = "Bu çalışma alanı, metin düzenlemeye ve gömülü görselleri yeniden konumlandırmaya odaklanır. Karmaşık sayfa illüstrasyonları, form bileşenleri ve katmanlı grafikler dışa aktarım için korunur ancak burada tam olarak düzenlenemez."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Önizleme Farklılıkları"
+text = "Bazı görseller (tablo kenarlıkları, şekiller veya açıklama görünümleri gibi) önizlemede tam olarak görüntülenmeyebilir. Dışa aktarılan PDF, mümkün olduğunda orijinal çizim komutlarını korur."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Alfa Görüntüleyici"
+text = "Bu alfa görüntüleyici hâlâ gelişmektedir—bazı yazı tipleri, renkler, saydamlık efektleri ve yerleşim ayrıntıları biraz değişebilir. Lütfen paylaşmadan önce oluşturulan PDF'yi tekrar kontrol edin."
[pdfTextEditor.manual]
mergeTooltip = "Seçili kutuları birleştir"
@@ -6398,3 +6616,58 @@ title = "Metin Ekleme Sonuçları"
[addText.error]
failed = "PDF'ye metin eklenirken bir hata oluştu."
+
+[mobileUpload]
+title = "Mobil Cihazdan Yükle"
+description = "Fotoğrafları yüklemek için tarayın. Görseller otomatik olarak PDF'ye dönüştürülür."
+descriptionNoConvert = "Mobil cihazınızdan fotoğrafları yüklemek için tarayın."
+error = "Bağlantı Hatası"
+pollingError = "Dosyalar kontrol edilirken hata oluştu"
+sessionId = "Oturum Kimliği"
+sessionCreateError = "Oturum oluşturulamadı"
+expiryWarning = "Oturum Yakında Sona Eriyor"
+expiryWarningMessage = "Bu QR kodunun süresi {{seconds}} saniye içinde dolacak. Yeni bir kod otomatik olarak oluşturulacak."
+filesReceived = "{{count}} dosya alındı"
+connected = "Mobil cihaz bağlandı"
+instructions = "Telefonunuzun kamerasıyla tarayın. Görseller otomatik olarak PDF'ye dönüştürülür."
+instructionsNoConvert = "Dosyaları yüklemek için telefon kameranızla tarayın."
+
+[mobileScanner]
+title = "Mobil Tarayıcı"
+noSession = "Geçersiz Oturum"
+noSessionMessage = "Bu sayfaya erişmek için lütfen geçerli bir QR kodu tarayın."
+validating = "Oturum doğrulanıyor..."
+sessionInvalid = "Oturum Hatası"
+sessionExpired = "Bu oturumun süresi doldu. Lütfen yenileyip tekrar deneyin."
+sessionNotFound = "Oturum bulunamadı. Lütfen yenileyip tekrar deneyin."
+sessionValidationError = "Oturum doğrulanamıyor. Lütfen tekrar deneyin."
+uploadSuccess = "Yükleme Başarılı!"
+uploadSuccessMessage = "Görselleriniz aktarıldı."
+httpsRequired = "Kameraya erişim HTTPS veya localhost gerektirir. Lütfen HTTPS kullanın veya localhost üzerinden erişin."
+uploadFailed = "Yükleme başarısız. Lütfen tekrar deneyin."
+uploading = "Yükleniyor..."
+connected = "Bağlandı"
+connecting = "Bağlanıyor..."
+chooseMethod = "Yükleme Yöntemi Seçin"
+chooseMethodDescription = "Belgeleri nasıl tarayıp yüklemek istediğinizi seçin"
+camera = "Kamera"
+cameraDescription = "Cihazınızın kamerasını otomatik kenar algılama ile kullanarak belgeleri tarayın"
+fileUpload = "Dosya Yükleme"
+fileDescription = "Cihazınızdaki mevcut fotoğrafları veya belgeleri yükleyin"
+cameraAccessDenied = "Kameraya erişim reddedildi. Lütfen kamera erişimini etkinleştirin."
+back = "Geri"
+settings = "Ayarlar"
+edgeDetection = "Kenar Algılama"
+flashlight = "El Feneri"
+flash = "Flaş"
+processing = "İşleniyor..."
+capture = "Fotoğraf Çek"
+selectFilesPrompt = "Yüklenecek dosyaları seçin"
+selectImage = "Görsel Seç"
+preview = "Önizleme"
+retake = "Yeniden çek"
+addToBatch = "Topluya Ekle"
+upload = "Yükle"
+batchImages = "Toplu"
+clearBatch = "Temizle"
+uploadAll = "Tümünü Yükle"
diff --git a/frontend/public/locales/uk-UA/translation.toml b/frontend/public/locales/uk-UA/translation.toml
index 64110cdf0..b87edb719 100644
--- a/frontend/public/locales/uk-UA/translation.toml
+++ b/frontend/public/locales/uk-UA/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "У вас є незбережені зміни у вашому PDF."
+pendingRedactionsTitle = "Незастосовані зачорнення"
+pendingRedactions = "У вас є незастосовані зачорнення, які буде втрачено."
areYouSure = "Ви впевнені, що хочете вийти?"
unsavedChangesTitle = "Незбережені зміни"
keepWorking = "Продовжити роботу"
discardChanges = "Відхилити й вийти"
+discardRedactions = "Скасувати й вийти"
applyAndContinue = "Зберегти й вийти"
exportAndContinue = "Експортувати й продовжити"
cancel = "Скасувати"
@@ -364,6 +367,7 @@ advanced = "Додатково"
title = "Безпека та автентифікація"
security = "Безпека"
connections = "Підключення"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Ліцензування та аналітика"
@@ -438,25 +442,34 @@ currentVersion = "Поточна версія"
latestVersion = "Остання версія"
checkForUpdates = "Перевірити оновлення"
viewDetails = "Переглянути деталі"
+serverNeedsUpdate = "Сервер має бути оновлений адміністратором"
+
+[settings.general.versionInfo]
+title = "Відомості про версію"
+description = "Деталі версій Desktop і сервера"
+desktop = "Версія Desktop"
+server = "Версія сервера"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Безпека"
+description = "Оновіть свій пароль, щоб убезпечити обліковий запис."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Змініть пароль. Після оновлення вас буде виведено із системи."
+required = "Усі поля обов’язкові."
+mismatch = "Нові паролі не збігаються."
+error = "Не вдалося оновити пароль. Перевірте поточний пароль і спробуйте ще раз."
+success = "Пароль успішно оновлено. Увійдіть знову."
+ssoDisabled = "Зміни пароля керуються вашим постачальником ідентифікації."
+current = "Поточний пароль"
+currentPlaceholder = "Введіть поточний пароль"
+new = "Новий пароль"
+newPlaceholder = "Введіть новий пароль"
+confirm = "Підтвердження нового пароля"
+confirmPlaceholder = "Повторно введіть новий пароль"
+update = "Оновити пароль"
+
+
[settings.hotkeys]
title = "Комбінації клавіш"
@@ -511,16 +524,16 @@ low = "Низький"
title = "Змінити облікові дані"
header = "Оновіть дані вашого облікового запису"
changePassword = "Ви використовуєте заводські облікові дані для входу. Будь ласка, введіть новий пароль"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Вашим обліковим записом керує ваш постачальник ідентифікації."
newUsername = "Нове ім'я користувача"
oldPassword = "Поточний пароль"
newPassword = "Новий пароль"
confirmNewPassword = "Підтвердіть новий пароль"
submit = "Надіслати зміни"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Обліковий запис оновлено"
+description = "Зміни збережено. Будь ласка, увійдіть знову."
+error = "Не вдалося змінити ім’я користувача. Перевірте пароль і спробуйте ще раз."
+changeUsername = "Оновіть ім’я користувача. Після оновлення вас буде виведено із системи."
[account]
title = "Налаштування акаунта"
@@ -528,6 +541,8 @@ accountSettings = "Налаштування акаунта"
adminSettings = "Налаштування адміністратора - Перегляд і додавання користувачів"
userControlSettings = "Налаштування контролю користувача"
changeUsername = "Змінити ім'я користувача"
+changeUsernameDescription = "Оновіть ім’я користувача. Після оновлення вас буде виведено із системи."
+newUsernamePlaceholder = "Введіть нове ім’я користувача"
newUsername = "Нове ім'я користувача"
password = "Підтвердження пароля"
oldPassword = "Старий пароль"
@@ -737,9 +752,9 @@ title = "Підпис"
desc = "Додає підпис до PDF за допомогою малюнка, тексту або зображення"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "анотація,підсвічування,малювання"
+title = "Анотувати"
+desc = "Підсвічуйте, малюйте, додавайте нотатки та фігури у переглядачі"
[home.flatten]
tags = "спростити,прибрати,інтерактивність"
@@ -952,7 +967,7 @@ title = "Накладення PDF"
[home.pdfTextEditor]
title = "Редактор тексту PDF"
-desc = "Редагуйте наявний текст і зображення у PDF"
+desc = "Переглядайте й редагуйте JSON-експорти Stirling PDF з груповим редагуванням тексту та повторною генерацією PDF"
[home.addText]
tags = "текст,анотація,мітка"
@@ -963,6 +978,7 @@ desc = "Додавайте свій текст будь-де в PDF"
addFiles = "Додати файли"
uploadFromComputer = "Завантажити з комп’ютера"
openFromComputer = "Відкрити з комп’ютера"
+mobileUpload = "Завантажити з мобільного"
[viewPdf]
tags = "перегляд,читання,анотації,текст,зображення"
@@ -1278,21 +1294,33 @@ cbzOptions = "Параметри CBZ у PDF"
optimizeForEbook = "Оптимізувати PDF для рідерів електронних книг (використовує Ghostscript)"
cbzOutputOptions = "Параметри PDF у CBZ"
cbzDpi = "DPI для рендерингу зображень"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "Параметри CBR"
+cbrOutputOptions = "Параметри перетворення PDF у CBR"
+cbrDpi = "DPI для рендерингу зображень"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "Параметри перетворення електронної книги у PDF"
+ebookOptionsDesc = "Параметри перетворення електронних книг у PDF"
+embedAllFonts = "Вбудувати всі шрифти"
+embedAllFontsDesc = "Вбудувати всі шрифти з електронної книги до створеного PDF"
+includeTableOfContents = "Додати зміст"
+includeTableOfContentsDesc = "Додати згенерований зміст до підсумкового PDF"
+includePageNumbers = "Додати номери сторінок"
+includePageNumbersDesc = "Додати номери сторінок до створеного PDF"
+optimizeForEbookPdf = "Оптимізувати для рідерів"
+optimizeForEbookPdfDesc = "Оптимізувати PDF для читання електронних книг (менший розмір файла, краще відтворення на eInk-пристроях)"
+
+[convert.epubOptions]
+epubOptions = "Параметри перетворення PDF у eBook"
+epubOptionsDesc = "Параметри перетворення PDF у EPUB/AZW3"
+detectChapters = "Виявляти розділи"
+detectChaptersDesc = "Виявляти заголовки, схожі на розділи, і вставляти розриви сторінок EPUB"
+targetDevice = "Цільовий пристрій"
+targetDeviceDesc = "Виберіть профіль виводу, оптимізований для пристрою читання"
+outputFormat = "Формат виводу"
+outputFormatDesc = "Виберіть формат виводу для електронної книги"
+tabletPhone = "Планшет/Телефон (із зображеннями)"
+kindleEink = "Kindle e-Ink (оптимізовано для тексту)"
[imageToPdf]
tags = "конвертація,зображення,jpg,картинка,фото"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "Додати вкладення"
remove = "Видалити вкладення"
embed = "Вбудувати вкладення"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Перетворити в PDF/A-3b"
+convertToPdfA3bDescription = "Створює архівний PDF із вбудованими вкладеннями"
+convertToPdfA3bTooltip = "PDF/A-3b — архівний формат для довгострокового зберігання. Дозволяє вбудовувати довільні формати файлів як вкладення. Перетворення потребує Ghostscript і може тривати довше для великих файлів."
+convertToPdfA3bTooltipHeader = "Про перетворення PDF/A-3b"
+convertToPdfA3bTooltipTitle = "Що це робить"
submit = "Add attachments"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "Збережені"
label = "Завантажити зображення підпису"
placeholder = "Виберіть файл зображення"
hint = "Завантажте зображення підпису у форматі PNG або JPG"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Прибрати білий фон (зробити прозорим)"
+processing = "Обробка зображення..."
+backgroundRemovalFailedTitle = "Не вдалося прибрати фон"
+backgroundRemovalFailedMessage = "Не вдалося прибрати фон із зображення. Використано оригінальне зображення."
[sign.instructions]
title = "Як додати підпис"
@@ -2409,9 +2437,9 @@ label = "Згладити тільки форми"
desc = "Сплющувати лише поля форм, залишивши інші інтерактивні елементи без змін"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "DPI рендерингу (необов’язково, рекомендовано 150 DPI)"
+help = "Залиште порожнім, щоб використовувати стандарт системи. Вищий DPI підвищує чіткість, але збільшує час обробки та розмір файла."
+placeholder = "напр., 150"
[flatten.results]
title = "Результати сплющення"
@@ -2987,7 +3015,7 @@ header = "Обрізати PDF-файл"
submit = "Надіслати"
noFileSelected = "Виберіть PDF, щоб почати обрізання"
reset = "Скинути до повного PDF"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Автообрізання білих полів"
[crop.preview]
title = "Вибір області обрізки"
@@ -3218,6 +3246,7 @@ title = "Метод приховування"
mode = "Режим"
automatic = "Автоматичний"
automaticDesc = "Приховувати текст за пошуковими термінами"
+automaticDisabledTooltip = "Виберіть файли у менеджері файлів, щоб за раз зачищати кілька файлів"
manual = "Ручний"
manualDesc = "Клацніть і тягніть, щоб приховати конкретні області"
manualComingSoon = "Ручне приховування скоро з’явиться"
@@ -3288,8 +3317,35 @@ text = "Збігаються лише повні слова, не частков
title = "Перетворити на PDF-Image"
text = "Перетворює PDF на PDF на основі зображень після приховування. Це гарантує, що текст під прямокутниками приховування повністю видалено і його неможливо відновити."
+[redact.tooltip.manual.header]
+title = "Ручні інструменти зачорнення"
+
+[redact.tooltip.manual.markText]
+title = "Інструмент «Позначити текст»"
+text = "Виділіть текст безпосередньо в PDF, щоб позначити його для зачорнення. Клацніть і перетягніть, щоб виділити конкретний текст, який потрібно зачорнити."
+
+[redact.tooltip.manual.markArea]
+title = "Інструмент «Позначити область»"
+text = "Намалюйте прямокутні області в PDF, щоб позначити регіони для зачорнення. Корисно для зображень, підписів або нерегулярних форм."
+
+[redact.tooltip.manual.apply]
+title = "Застосувати зачорнення"
+text = "Після позначення вмісту натисніть «Застосувати», щоб назавжди зачорнити всі позначені області. Лічильник в очікуванні показує, скільки зачорнень готові до застосування."
+bullet1 = "Позначте стільки областей, скільки потрібно, перш ніж застосовувати"
+bullet2 = "Усі очікувані зачорнення застосовуються одночасно"
+bullet3 = "Після застосування скасувати зачорнення неможливо"
+
[redact.manual]
+title = "Інструменти зачорнення"
+instructions = "Виділяйте текст або малюйте області на PDF, щоб позначити вміст для зачорнення."
+markText = "Позначити текст"
+markArea = "Позначити область"
+pendingLabel = "В очікуванні:"
+applyWarning = "⚠️ Застосовується назавжди, скасувати неможливо, а приховані дані буде видалено"
+apply = "Застосувати"
+noMarks = "Немає позначок зачорнення. Використайте інструменти вище, щоб позначити вміст для зачорнення."
header = "Ручне приховування"
+controlsTitle = "Ручні інструменти зачорнення"
textBasedRedaction = "Приховування на основі тексту"
pageBasedRedaction = "Приховування на рівні сторінки"
convertPDFToImageLabel = "Перетворити PDF на PDF-Image (щоб видалити текст за прямокутником)"
@@ -3406,17 +3462,17 @@ label = "Вертикальні розділи"
placeholder = "Введіть кількість вертикальних розділів"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Режим поділу"
+description = "Виберіть спосіб поділу сторінок"
+splitAll = "Розділити всі сторінки"
+splitAllExceptFirst = "Розділити всі, крім першої"
+splitAllExceptLast = "Розділити всі, крім останньої"
+splitAllExceptFirstAndLast = "Розділити всі, крім першої та останньої"
+custom = "Вибрані сторінки"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Користувацькі номери сторінок"
+placeholder = "напр., 2,4,6"
[AddStampRequest]
tags = "штамп,додати зображення,центральне зображення,водяний знак,pdf,вставити,налаштувати"
@@ -3780,17 +3836,17 @@ filesize = "Розмір файлу"
label = "Застосувати відтінки сірого для стиснення"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Лінеаризувати PDF для швидкого перегляду в інтернеті"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Перетворити зображення у лінійне"
+description = "Використовує ImageMagick, щоб звести сторінки до контрастного чорно-білого для максимальної економії розміру."
+unavailable = "ImageMagick не встановлено або не ввімкнено на цьому сервері"
+detailLevel = "Рівень деталізації"
+edgeEmphasis = "Підсилення країв"
+edgeLow = "М’яке"
+edgeMedium = "Збалансоване"
+edgeHigh = "Сильне"
[compress.tooltip.header]
title = "Огляд налаштувань стиснення"
@@ -3810,8 +3866,8 @@ title = "Відтінки сірого"
text = "Увімкніть цю опцію, щоб перетворити всі зображення в чорно-білі, що може суттєво зменшити розмір файлу, особливо для відсканованих PDF або документів із великою кількістю зображень."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "Лінійне зображення"
+text = "Перетворюйте сторінки на висококонтрастні чорно-білі за допомогою ImageMagick. Рівень деталізації визначає, скільки вмісту стане чорним, а підсилення країв — наскільки активно виявляються контури."
[compress.error]
failed = "Під час стиснення PDF сталася помилка."
@@ -3826,9 +3882,9 @@ _value = "Параметри стиснення"
1 = "1-3 стиснення PDF, 4-6 невелике стиснення зображень, 7-9 посилене стиснення зображень (різко знизить якість зображень)"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Нижчі значення зберігають якість, але збільшують розмір файла"
+range4to6 = "Середня компресія з помірним зниженням якості"
+range7to9 = "Вищі значення значно зменшують розмір файла, але можуть погіршити чіткість зображень"
[decrypt]
passwordPrompt = "Цей файл захищений паролем. Будь ласка, введіть пароль:"
@@ -3973,7 +4029,7 @@ version = "Текущий релиз"
title = "Документація API"
header = "Документація API"
desc = "Переглядайте та тестуйте кінцеві точки API Stirling PDF"
-tags = "api,документація,swagger,кінцеві точки,розробка"
+tags = "api,documentation,swagger,endpoints,development"
[cookieBanner.popUp]
title = "Як ми використовуємо файли cookie"
@@ -4069,7 +4125,7 @@ deleteSelected = "Видалити вибрані сторінки"
closePdf = "Закрити PDF"
exportAll = "Експорт PDF"
downloadSelected = "Завантажити вибрані файли"
-annotations = "Annotations"
+annotations = "Анотації"
exportSelected = "Експорт вибраних сторінок"
saveChanges = "Зберегти зміни"
toggleTheme = "Перемкнути тему"
@@ -4077,84 +4133,90 @@ language = "Мова"
toggleAnnotations = "Перемкнути видимість анотацій"
search = "Пошук у PDF"
panMode = "Режим переміщення"
+applyRedactionsFirst = "Спочатку застосуйте зачорнення"
rotateLeft = "Повернути ліворуч"
rotateRight = "Повернути праворуч"
toggleSidebar = "Перемкнути бічну панель"
toggleBookmarks = "Перемкнути закладки"
print = "Надрукувати PDF"
+draw = "Малювати"
+redact = "Зачорнити"
+exitRedaction = "Вийти з режиму зачорнення"
+save = "Зберегти"
downloadAll = "Завантажити все"
saveAll = "Зберегти все"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Ліворуч"
+center = "По центру"
+right = "Праворуч"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "Анотувати"
+desc = "Використовуйте підсвічування, перо, текст і нотатки. Зміни залишаються «живими» — без потреби сплющення."
+highlight = "Підсвічування"
+pen = "Перо"
+text = "Текстове поле"
+note = "Нотатка"
+rectangle = "Прямокутник"
+ellipse = "Еліпс"
+select = "Вибір"
+exit = "Вийти з режиму анотацій"
+strokeWidth = "Товщина"
+opacity = "Непрозорість"
+strokeOpacity = "Непрозорість обведення"
+fillOpacity = "Непрозорість заливки"
+fontSize = "Розмір шрифту"
+chooseColor = "Вибрати колір"
+color = "Колір"
+strokeColor = "Колір обведення"
+fillColor = "Колір заливки"
+underline = "Підкреслення"
+strikeout = "Закреслення"
+squiggly = "Хвилясте підкреслення"
+inkHighlighter = "Маркер від руки"
+freehandHighlighter = "Маркер від руки"
+square = "Квадрат"
+circle = "Коло"
+polygon = "Багатокутник"
+line = "Лінія"
+stamp = "Додати зображення"
+textMarkup = "Розмітка тексту"
+drawing = "Малювання"
+shapes = "Фігури"
+notesStamps = "Нотатки та штампи"
+settings = "Налаштування"
+borderOn = "Рамка: увімкнено"
+borderOff = "Рамка: вимкнено"
+editInk = "Редагувати перо"
+editLine = "Редагувати лінію"
+editNote = "Редагувати нотатку"
+editText = "Редагувати текстове поле"
+editTextMarkup = "Редагувати розмітку тексту"
+editSelected = "Редагувати анотацію"
+editSquare = "Редагувати квадрат"
+editCircle = "Редагувати коло"
+editPolygon = "Редагувати багатокутник"
+unsupportedType = "Цей тип анотації не повністю підтримується для редагування."
+textAlignment = "Вирівнювання тексту"
+noteIcon = "Піктограма нотатки"
+imagePreview = "Попередній перегляд"
+contents = "Текст"
+backgroundColor = "Колір фону"
+clearBackground = "Прибрати фон"
+noBackground = "Без фону"
+stampSettings = "Налаштування штампа"
+savingCopy = "Підготовка завантаження..."
+saveFailed = "Не вдалося зберегти копію"
+saveReady = "Готово до завантаження"
+selectAndMove = "Вибрати та редагувати"
+editSelectDescription = "Клацніть наявну анотацію, щоб змінити її колір, непрозорість, текст або розмір."
+editStampHint = "Щоб змінити зображення, видаліть цей штамп і додайте новий."
+editSwitchToSelect = "Перемкніться на «Вибір і редагування», щоб редагувати цю анотацію."
+undo = "Скасувати"
+redo = "Повернути"
+applyChanges = "Застосувати зміни"
+saveChanges = "Зберегти зміни"
[search]
title = "Пошук у PDF"
@@ -4205,20 +4267,20 @@ settings = "Налашт."
adminSettings = "Налашт. адміна"
allTools = "All Tools"
reader = "Перегляд"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Тури"
+showMeAround = "Проведіть екскурсію"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Перегляньте тут проходження: тур інструментами, тур нового макета V2 та тур для адміністратора."
+user = "Перегляньте тут проходження: тур інструментами та тур нового макета V2."
[quickAccess.helpMenu]
toolsTour = "Огляд інструментів"
toolsTourDesc = "Дізнайтеся, що вміють інструменти"
adminTour = "Огляд адміністратора"
adminTourDesc = "Ознайомтеся з адміністраторськими налаштуваннями та функціями"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Дізнайтесь, що нового у V2"
+whatsNewTourDesc = "Екскурсія оновленим макетом"
[admin]
error = "Помилка"
@@ -4237,6 +4299,8 @@ fetchError = "Не вдалося завантажити налаштуванн
saveError = "Не вдалося зберегти налаштування"
saved = "Налаштування успішно збережено"
saveSuccess = "Налаштування успішно збережено"
+success = "Налаштування успішно збережено"
+error = "Не вдалося зберегти налаштування"
save = "Зберегти зміни"
discard = "Відхилити"
restartRequired = "Потрібне перезавантаження"
@@ -4360,6 +4424,13 @@ description = "Шлях до виконуваного файлу WeasyPrint дл
label = "Виконуваний файл Unoconvert"
description = "Шлях до LibreOffice unoconvert для конвертації документів (залиште порожнім для типового: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "URL фронтенду"
+description = "Базовий URL для фронтенду (напр., https://pdf.example.com). Використовується для посилань у листах-запрошеннях і мобільних завантажень через QR-код. Залиште порожнім, щоб використовувати URL бекенду."
+
+[admin.settings.badge]
+clickToUpgrade = "Клацніть, щоб переглянути деталі плану"
+
[admin.settings.security]
title = "Безпека"
description = "Налаштуйте автентифікацію, поведінку входу та політики безпеки."
@@ -4436,7 +4507,7 @@ description = "Відстежувати дії користувачів і си
[admin.settings.security.audit.level]
label = "Рівень аудиту"
-description = "0=ВИМКНЕНО, 1=БАЗОВИЙ, 2=СТАНДАРТ, 3=ДОКЛАДНИЙ"
+description = "0=OFF, 1=BASIC, 2=STANDARD, 3=VERBOSE"
[admin.settings.security.audit.retentionDays]
label = "Зберігання аудиту (дні)"
@@ -4496,6 +4567,19 @@ connect = "Підключити"
disconnect = "Від’єднати"
disconnected = "Провайдера успішно від’єднано"
disconnectError = "Не вдалося від’єднати провайдера"
+mobileScannerConvertToPdf = "Перетворювати зображення в PDF"
+mobileScannerConvertToPdfDesc = "Автоматично перетворювати завантажені зображення у формат PDF. Якщо вимкнено, зображення залишаться без змін."
+mobileScannerImageResolution = "Роздільна здатність зображення"
+mobileScannerImageResolutionDesc = "Роздільна здатність завантажених зображень. «Зменшена» масштабує зображення до максимум 1200 пікселів для зменшення розміру файла."
+imageResolutionFull = "Повна (оригінальний розмір)"
+imageResolutionReduced = "Зменшена (макс. 1200 пікселів)"
+mobileScannerPageFormat = "Формат сторінки"
+mobileScannerPageFormatDesc = "Розмір сторінки PDF для перетворених зображень. «Зберегти» використовує оригінальні розміри зображення."
+pageFormatKeep = "Зберегти (оригінальні розміри)"
+pageFormatA4 = "A4 (210×297мм)"
+pageFormatLetter = "Letter (8.5×11дюйм)"
+mobileScannerStretchToFit = "Розтягнути під сторінку"
+mobileScannerStretchToFitDesc = "Розтягувати зображення на всю сторінку. Якщо вимкнено, зображення центруються зі збереженням пропорцій."
[admin.settings.connections.ssoAutoLogin]
label = "SSO авто-вхід"
@@ -4564,6 +4648,122 @@ description = "Автоматично створювати облікові за
label = "Заблокувати реєстрацію"
description = "Заборонити реєстрацію нових користувачів через SAML2"
+[admin.settings.connections.mobileScanner]
+label = "Завантаження з телефона"
+enable = "Увімкнути завантаження за QR-кодом"
+description = "Дозволити користувачам завантажувати файли з мобільних пристроїв, скануючи QR-код"
+note = "Примітка: Потрібно налаштувати Frontend URL. "
+link = "Налаштувати в системних параметрах"
+mobileScannerConvertToPdf = "Перетворювати зображення в PDF"
+mobileScannerConvertToPdfDesc = "Автоматично перетворювати завантажені зображення у формат PDF. Якщо вимкнено, зображення залишаться без змін."
+mobileScannerImageResolution = "Роздільна здатність зображення"
+mobileScannerImageResolutionDesc = "Роздільна здатність завантажених зображень. «Зменшена» масштабує зображення до максимум 1200 пікселів для зменшення розміру файла."
+imageResolutionFull = "Повна (оригінальний розмір)"
+imageResolutionReduced = "Зменшена (макс. 1200 пікселів)"
+mobileScannerPageFormat = "Формат сторінки"
+mobileScannerPageFormatDesc = "Розмір сторінки PDF для перетворених зображень. «Зберегти» використовує оригінальні розміри зображення."
+pageFormatKeep = "Зберегти (оригінальні розміри)"
+pageFormatA4 = "A4 (210×297мм)"
+pageFormatLetter = "Letter (8.5×11дюйм)"
+mobileScannerStretchToFit = "Розтягнути під сторінку"
+mobileScannerStretchToFitDesc = "Розтягувати зображення на всю сторінку. Якщо вимкнено, зображення центруються зі збереженням пропорцій."
+
+[admin.settings.telegram]
+title = "Telegram Bot"
+description = "Налаштуйте підключення бота Telegram, контроль доступу та поведінку зворотного зв’язку."
+
+[admin.settings.telegram.enabled]
+label = "Увімкнути бота Telegram"
+description = "Дозволити користувачам взаємодіяти зі Stirling PDF через налаштованого бота Telegram."
+
+[admin.settings.telegram.botUsername]
+label = "Ім’я користувача бота"
+description = "Публічне ім’я користувача вашого бота Telegram."
+
+[admin.settings.telegram.botToken]
+label = "Токен бота"
+description = "API-токен від BotFather для вашого бота Telegram."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Вхідна тека"
+description = "Тека в каталозі pipeline, де зберігаються вхідні файли з Telegram."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Використовувати власний суфікс теки"
+description = "Додавати ID чату до вхідних тек файлів, щоб ізолювати завантаження для кожного чату."
+
+[admin.settings.telegram.accessControl]
+title = "Керування доступом"
+description = "Обмежте, які користувачі або канали можуть взаємодіяти з ботом."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Дозволити конкретні ID користувачів"
+description = "Якщо ввімкнено, бот доступний лише для перелічених ID користувачів."
+
+[admin.settings.telegram.allowUserIDs]
+label = "Дозволені ID користувачів"
+description = "Введіть ID користувачів Telegram, які можуть взаємодіяти з ботом."
+placeholder = "Додайте ID користувача і натисніть Enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Дозволити конкретні ID каналів"
+description = "Якщо ввімкнено, бот доступний лише для перелічених ID каналів."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "Дозволені ID каналів"
+description = "Введіть ID каналів Telegram, які можуть взаємодіяти з ботом."
+placeholder = "Додайте ID каналу і натисніть Enter"
+
+[admin.settings.telegram.processing]
+title = "Обробка"
+description = "Керуйте інтервалами опитування та тайм-аутами обробки для завантажень Telegram."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Тайм-аут обробки (секунди)"
+description = "Максимальний час очікування на завдання обробки перед повідомленням про помилку."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Інтервал опитування (мс)"
+description = "Інтервал між перевірками нових оновлень Telegram."
+
+[admin.settings.telegram.feedback]
+title = "Повідомлення зворотного зв’язку"
+description = "Виберіть, коли бот має надсилати відгуки користувачам і каналам."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Увімкнути зворотний зв’язок"
+description = "Керувати тим, чи взагалі бот надсилає повідомлення зворотного зв’язку."
+
+[admin.settings.telegram.feedback.channel]
+title = "Правила для каналів"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Показувати «Немає дійсного документа» (Канал)"
+description = "Приховувати відповідь «Немає дійсного документа» для завантажень у каналах."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Показувати помилки обробки (Канал)"
+description = "Надсилати повідомлення про помилки обробки до каналів."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Показувати повідомлення про помилки (Канал)"
+description = "Показувати докладні повідомлення про помилки для каналів."
+
+[admin.settings.telegram.feedback.user]
+title = "Правила для користувачів"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Показувати «Немає дійсного документа» (Користувач)"
+description = "Приховувати відповідь «Немає дійсного документа» для завантажень від користувачів."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Показувати помилки обробки (Користувач)"
+description = "Надсилати повідомлення про помилки обробки користувачам."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Показувати повідомлення про помилки (Користувач)"
+description = "Показувати докладні повідомлення про помилки для користувачів."
+
[admin.settings.database]
title = "База даних"
description = "Налаштуйте користувацькі параметри підключення бази даних для корпоративних розгортань."
@@ -4690,7 +4890,7 @@ description = "Чи очищати ширший системний тимчас
label = "Обмеження виконавця процесів"
description = "Налаштуйте ліміти сеансів і тайм-аути для кожного виконавця процесів"
libreOffice = "LibreOffice"
-pdfToHtml = "PDF у HTML"
+pdfToHtml = "PDF to HTML"
qpdf = "QPDF"
tesseract = "Tesseract OCR"
pythonOpenCv = "Python OpenCV"
@@ -4745,6 +4945,10 @@ description = "Дозволити адміністраторам запрошу
label = "URL фронтенду"
description = "Базовий URL для фронтенду (наприклад, https://pdf.example.com). Використовується для генерації посилань-запрошень в email. Залиште порожнім, щоб використовувати URL бекенду."
+[admin.settings.mail.frontendUrlNote]
+note = "Примітка: Потрібно налаштувати Frontend URL. "
+link = "Налаштувати в системних параметрах"
+
[admin.settings.legal]
title = "Юридичні документи"
description = "Налаштуйте посилання на юридичні документи та політики."
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "Мої файли"
noRecentFiles = "Недавніх файлів не знайдено"
googleDriveNotAvailable = "Інтеграція з Google Drive недоступна"
+mobileUpload = "Мобільне завантаження"
+mobileShort = "Мобільні"
+mobileUploadNotAvailable = "Мобільне завантаження не ввімкнено"
downloadSelected = "Завантажити вибрані"
saveSelected = "Зберегти вибране"
openFiles = "Відкрити файли"
@@ -5244,7 +5451,7 @@ loading = "Завантаження..."
back = "Назад"
continue = "Продовжити"
error = "Помилка"
-save = "Save"
+save = "Зберегти"
[config.overview]
title = "Конфігурація застосунку"
@@ -5307,6 +5514,15 @@ impact = "Будь-які застосунки або сервіси, що на
confirmPrompt = "Ви впевнені, що хочете продовжити?"
confirmCta = "Оновити ключі"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "Помилка ключа API"
+failedToCreateApiKey = "Не вдалося створити ключ API."
+failedToRetrieveApiKey = "Не вдалося отримати ключ API з відповіді."
+failedToFetchApiKey = "Не вдалося отримати ключ API."
+apiKeyRefreshed = "Ключ API оновлено"
+apiKeyRefreshedBody = "Ваш ключ API успішно оновлено."
+failedToRefreshApiKey = "Не вдалося оновити ключ API."
+
[AddAttachmentsRequest]
attachments = "Виберіть вкладення"
info = "Виберіть файли для додавання до вашого PDF. Ці файли буде вбудовано й вони будуть доступні через панель вкладень PDF."
@@ -5412,14 +5628,14 @@ startTour = "Почати тур"
startTourDescription = "Пройдіть покрокову екскурсію ключовими можливостями Stirling PDF"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Почніть із панелі Швидкий доступ, щоб переходити між Читачем, Автоматизацією, вашими файлами та всіма турами."
+leftPanel = "Ліва панель Інструменти містить усе, що можна зробити. Переглядайте категорії або шукайте, щоб швидко знайти інструмент."
+fileUpload = "Скористайтеся кнопкою Файли, щоб завантажити або вибрати нещодавній PDF. Ми завантажимо зразок, щоб ви побачили робочий простір."
+rightRail = "Права панель містить швидкі дії: вибір файлів, зміну теми чи мови та завантаження результатів."
+topBar = "Верхня панель дозволяє перемикатися між Переглядачем, Редактором сторінок та Активними файлами."
+pageEditorView = "Перейдіть до Редактора сторінок, щоб змінювати порядок, обертати чи видаляти сторінки."
+activeFilesView = "Використовуйте Активні файли, щоб бачити все відкрите й обирати, над чим працювати."
+wrapUp = "Ось що нового у V2. Відкривайте меню Тури будь-коли, щоб переглянути це знову, тур інструментами або тур для адміністратора."
[onboarding.welcomeModal]
title = "Ласкаво просимо до Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "Проведіть екскурсію"
skipTheTour = "Пропустити тур"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Огляд туру"
+body = "Stirling PDF V2 постачається з десятками інструментів і оновленим макетом. Здійсніть короткий тур, щоб побачити зміни та знайти потрібні функції."
[onboarding.serverLicense]
skip = "Пропустити зараз"
@@ -5452,7 +5668,7 @@ upgrade = "Оновити зараз →"
freeTitle = "Ліцензія сервера"
overLimitTitle = "Потрібна ліцензія сервера"
overLimitBody = "Наша ліцензія дозволяє до {{freeTierLimit}} користувачів безкоштовно на сервер. У вас {{overLimitUserCopy}} користувачів Stirling. Щоб працювати без перерв, перейдіть на план Stirling Server — необмежена кількість місць, редагування тексту PDF та повний адмін-контроль за $99/server/mo."
-freeBody = "Наша ліцензія Open-Core дозволяє до {{freeTierLimit}} користувачів безкоштовно на сервер. Щоб масштабуватися без перерв, рекомендуємо план Stirling Server — необмежена кількість місць і підтримка SSO за $99/сервер/міс."
+freeBody = "Наша Open-Core ліцензія дозволяє до {{freeTierLimit}} користувачів безкоштовно на сервер. Щоб масштабуватися безперервно та отримати ранній доступ до нового інструмента редагування тексту PDF, рекомендуємо план Stirling Server — повне редагування та необмежена кількість місць за $99/server/mo."
[onboarding.desktopInstall]
title = "Завантажити"
@@ -5626,7 +5842,7 @@ submit = "Згенерувати посилання-запрошення"
[workspace.people.inviteMode]
username = "Ім’я користувача"
-email = "Електронна пошта"
+email = "Email"
link = "Посилання"
emailDisabled = "Запрошення електронною поштою потребують налаштування SMTP і mail.enableInvites=true в налаштуваннях"
@@ -5758,28 +5974,28 @@ contactSales = "Зв’язатися з відділом продажу"
contactToUpgrade = "Зв’яжіться з нами, щоб оновити або налаштувати свій план"
maxUsers = "Максимум користувачів"
upTo = "До"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Отримати серверну ліцензію"
+upgradeToEnterprise = "Оновити до Enterprise"
+selectPeriod = "Виберіть період оплати"
+monthlyBilling = "Місячна оплата"
+yearlyBilling = "Річна оплата"
+checkoutOpened = "Оформлення відкрито"
+checkoutInstructions = "Завершіть покупку на вкладці Stripe. Після оплати поверніться сюди та оновіть сторінку, щоб активувати ліцензію. Ви також отримаєте лист із ліцензійним ключем."
+activateLicense = "Активуйте свою ліцензію"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Оформлення відкрито в новій вкладці"
+instructions = "Завершіть покупку на вкладці Stripe. Після оплати ви отримаєте лист із ліцензійним ключем."
+enterKey = "Введіть свій ліцензійний ключ нижче, щоб активувати план:"
+keyDescription = "Вставте ліцензійний ключ із листа"
+activate = "Активувати ліцензію"
+doLater = "Зроблю це пізніше"
+success = "Ліцензію активовано!"
+successMessage = "Вашу ліцензію успішно активовано. Тепер можете закрити це вікно."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "Потрібна верифікація електронної пошти"
+message = "Вам потрібно підтвердити адресу електронної пошти у білінг-порталі Stripe. Перевірте пошту для посилання на вхід."
[plan.period]
month = "місяць"
@@ -5983,8 +6199,8 @@ notAvailable = "Система аудиту недоступна"
notAvailableMessage = "Система аудиту не налаштована або недоступна."
disabled = "Ведення журналу аудиту вимкнено"
disabledMessage = "Увімкніть ведення журналу аудиту в конфігурації застосунку, щоб відстежувати події системи."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Потрібна ліцензія Enterprise"
+enterpriseRequiredMessage = "Система журналювання аудиту — функція рівня Enterprise. Оновіть до ліцензії Enterprise, щоб мати доступ до журналів аудиту та аналітики."
[audit.error]
title = "Помилка завантаження системи аудиту"
@@ -6156,6 +6372,7 @@ description = "Введіть повну URL-адресу вашого само
[setup.server.error]
emptyUrl = "Введіть URL сервера"
+invalidUrl = "Неправильний формат URL. Введіть коректний URL на зразок https://your-server.com"
unreachable = "Не вдалося під’єднатися до сервера"
testFailed = "Тест підключення не вдався"
configFetch = "Не вдалося отримати конфігурацію сервера. Перевірте URL і спробуйте ще раз."
@@ -6174,6 +6391,7 @@ connectingTo = "Підключення до:"
submit = "Увійти"
signInWith = "Увійти через"
oauthPending = "Відкриваємо браузер для автентифікації..."
+sso = "Єдиний вхід"
orContinueWith = "Або продовжити через email"
serverRequirement = "Примітка: на сервері має бути увімкнено вхід."
showInstructions = "Як увімкнути?"
@@ -6188,7 +6406,7 @@ label = "Ім’я користувача"
placeholder = "Введіть ім’я користувача"
[setup.login.email]
-label = "Електронна пошта"
+label = "Email"
placeholder = "Введіть свій email"
[setup.login.password]
@@ -6239,8 +6457,8 @@ reset = "Скинути зміни"
downloadJson = "Завантажити JSON"
generatePdf = "Згенерувати PDF"
saveChanges = "Зберегти зміни"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Застосувати зміни"
+downloadCopy = "Завантажити копію"
[pdfTextEditor.options.autoScaleText]
title = "Автопідгін тексту під рамки"
@@ -6260,22 +6478,22 @@ title = "Фіксувати відредагований текст в одно
description = "Якщо ввімкнено, редактор експортує кожен відредагований текстовий блок як один елемент тексту PDF, щоб уникнути перекриття гліфів чи змішаних шрифтів."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Розширені налаштування"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Обмеження попереднього перегляду"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Фокус на тексті та зображеннях"
+text = "Це робоче середовище зосереджене на редагуванні тексту та переміщенні вбудованих зображень. Складні графічні елементи сторінок, віджети форм і багатошарова графіка зберігаються для експорту, але тут повністю не редагуються."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Відмінності попереднього перегляду"
+text = "Деякі візуальні елементи (як-от межі таблиць, фігури або вигляд анотацій) можуть відображатися в попередньому перегляді неточно. Експортований PDF за можливості зберігає оригінальні команди малювання."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Альфа-версія переглядача"
+text = "Ця альфа-версія переглядача ще розвивається — деякі шрифти, кольори, ефекти прозорості та деталі верстки можуть трохи відрізнятися. Будь ласка, перевіряйте згенерований PDF перед поширенням."
[pdfTextEditor.manual]
mergeTooltip = "Об’єднати вибрані блоки"
@@ -6398,3 +6616,58 @@ title = "Результати додавання тексту"
[addText.error]
failed = "Під час додавання тексту до PDF сталася помилка."
+
+[mobileUpload]
+title = "Завантажити з мобільного"
+description = "Скануйте для завантаження фото. Зображення автоматично конвертуються в PDF."
+descriptionNoConvert = "Скануйте для завантаження фото зі свого мобільного пристрою."
+error = "Помилка з’єднання"
+pollingError = "Помилка перевірки файлів"
+sessionId = "ID сеансу"
+sessionCreateError = "Не вдалося створити сеанс"
+expiryWarning = "Сеанс скоро завершиться"
+expiryWarningMessage = "Цей QR-код завершить дію через {{seconds}} с. Новий код буде згенеровано автоматично."
+filesReceived = "Отримано {{count}} файл(и)"
+connected = "Мобільний пристрій підключено"
+instructions = "Скануйте камерою телефона. Зображення автоматично конвертуються в PDF."
+instructionsNoConvert = "Скануйте камерою телефона, щоб завантажити файли."
+
+[mobileScanner]
+title = "Мобільний сканер"
+noSession = "Недійсний сеанс"
+noSessionMessage = "Будь ласка, відскануйте дійсний QR-код, щоб отримати доступ до цієї сторінки."
+validating = "Перевірка сеансу..."
+sessionInvalid = "Помилка сеансу"
+sessionExpired = "Термін дії цього сеансу минув. Оновіть сторінку й спробуйте ще раз."
+sessionNotFound = "Сеанс не знайдено. Оновіть сторінку й спробуйте ще раз."
+sessionValidationError = "Не вдалося підтвердити сеанс. Спробуйте ще раз."
+uploadSuccess = "Завантаження успішне!"
+uploadSuccessMessage = "Ваші зображення передано."
+httpsRequired = "Доступ до камери потребує HTTPS або localhost. Будь ласка, використовуйте HTTPS або зайдіть через localhost."
+uploadFailed = "Не вдалося завантажити. Спробуйте ще раз."
+uploading = "Завантаження..."
+connected = "Підключено"
+connecting = "Підключення..."
+chooseMethod = "Виберіть спосіб завантаження"
+chooseMethodDescription = "Виберіть, як ви хочете сканувати та завантажувати документи"
+camera = "Камера"
+cameraDescription = "Скануйте документи камерою пристрою з автоматичним визначенням країв"
+fileUpload = "Завантаження файлів"
+fileDescription = "Завантажуйте наявні фото або документи зі свого пристрою"
+cameraAccessDenied = "Доступ до камери заборонено. Дозвольте доступ до камери."
+back = "Назад"
+settings = "Налаштування"
+edgeDetection = "Виявлення країв"
+flashlight = "Ліхтарик"
+flash = "Спалах"
+processing = "Обробка..."
+capture = "Зробити фото"
+selectFilesPrompt = "Виберіть файли для завантаження"
+selectImage = "Вибрати зображення"
+preview = "Попередній перегляд"
+retake = "Перезняти"
+addToBatch = "Додати до пакета"
+upload = "Завантажити"
+batchImages = "Пакет"
+clearBatch = "Очистити"
+uploadAll = "Завантажити все"
diff --git a/frontend/public/locales/vi-VN/translation.toml b/frontend/public/locales/vi-VN/translation.toml
index 9f6fb48c2..639ef986b 100644
--- a/frontend/public/locales/vi-VN/translation.toml
+++ b/frontend/public/locales/vi-VN/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "Bạn có thay đổi chưa lưu đối với PDF."
+pendingRedactionsTitle = "Bôi đen chưa áp dụng"
+pendingRedactions = "Bạn có các bôi đen chưa áp dụng và sẽ bị mất."
areYouSure = "Bạn có chắc muốn rời đi không?"
unsavedChangesTitle = "Thay đổi chưa lưu"
keepWorking = "Tiếp tục làm việc"
discardChanges = "Hủy và rời đi"
+discardRedactions = "Hủy và rời đi"
applyAndContinue = "Lưu và rời đi"
exportAndContinue = "Xuất và tiếp tục"
cancel = "Hủy"
@@ -301,7 +304,7 @@ saveSettings = "Lưu cài đặt thao tác"
pipelineNamePrompt = "Nhập tên pipeline tại đây"
selectOperation = "Chọn thao tác"
addOperationButton = "Thêm thao tác"
-pipelineHeader = "Chuỗi xử lý:"
+pipelineHeader = "Pipeline:"
saveButton = "Tải xuống"
validateButton = "Xác thực"
@@ -356,7 +359,7 @@ teams = "Nhóm"
title = "Cấu hình"
systemSettings = "Cài đặt hệ thống"
features = "Tính năng"
-endpoints = "Điểm cuối"
+endpoints = "Endpoints"
database = "Cơ sở dữ liệu"
advanced = "Nâng cao"
@@ -364,11 +367,12 @@ advanced = "Nâng cao"
title = "Bảo mật & Xác thực"
security = "Bảo mật"
connections = "Kết nối"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "Giấy phép & Phân tích"
plan = "Gói"
-audit = "Kiểm toán"
+audit = "Audit"
usageAnalytics = "Phân tích sử dụng"
[settings.policiesPrivacy]
@@ -378,7 +382,7 @@ privacy = "Quyền riêng tư"
[settings.developer]
title = "Nhà phát triển"
-apiKeys = "Khóa API"
+apiKeys = "API Keys"
[settings.tooltips]
enableLoginFirst = "Bật chế độ đăng nhập trước"
@@ -438,25 +442,34 @@ currentVersion = "Phiên bản hiện tại"
latestVersion = "Phiên bản mới nhất"
checkForUpdates = "Kiểm tra cập nhật"
viewDetails = "Xem chi tiết"
+serverNeedsUpdate = "Máy chủ cần được quản trị viên cập nhật"
+
+[settings.general.versionInfo]
+title = "Thông tin phiên bản"
+description = "Chi tiết phiên bản Desktop và máy chủ"
+desktop = "Phiên bản Desktop"
+server = "Phiên bản Máy chủ"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "Bảo mật"
+description = "Cập nhật mật khẩu để giữ an toàn cho tài khoản của bạn."
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "Đổi mật khẩu. Bạn sẽ bị đăng xuất sau khi cập nhật."
+required = "Tất cả các trường là bắt buộc."
+mismatch = "Mật khẩu mới không khớp."
+error = "Không thể cập nhật mật khẩu. Vui lòng xác minh mật khẩu hiện tại và thử lại."
+success = "Đã cập nhật mật khẩu thành công. Vui lòng đăng nhập lại."
+ssoDisabled = "Việc thay đổi mật khẩu do nhà cung cấp danh tính của bạn quản lý."
+current = "Mật khẩu hiện tại"
+currentPlaceholder = "Nhập mật khẩu hiện tại"
+new = "Mật khẩu mới"
+newPlaceholder = "Nhập mật khẩu mới"
+confirm = "Xác nhận mật khẩu mới"
+confirmPlaceholder = "Nhập lại mật khẩu mới"
+update = "Cập nhật mật khẩu"
+
+
[settings.hotkeys]
title = "Phím tắt"
@@ -511,16 +524,16 @@ low = "Thấp"
title = "Thay đổi thông tin đăng nhập"
header = "Cập nhật thông tin tài khoản của bạn"
changePassword = "Bạn đang sử dụng thông tin đăng nhập mặc định. Vui lòng nhập mật khẩu mới"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "Tài khoản của bạn do nhà cung cấp danh tính quản lý."
newUsername = "Tên người dùng mới"
oldPassword = "Mật khẩu hiện tại"
newPassword = "Mật khẩu mới"
confirmNewPassword = "Xác nhận mật khẩu mới"
submit = "Gửi thay đổi"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "Đã cập nhật tài khoản"
+description = "Đã lưu thay đổi. Vui lòng đăng nhập lại."
+error = "Không thể cập nhật tên người dùng. Vui lòng xác minh mật khẩu và thử lại."
+changeUsername = "Cập nhật tên người dùng. Bạn sẽ bị đăng xuất sau khi cập nhật."
[account]
title = "Cài đặt tài khoản"
@@ -528,6 +541,8 @@ accountSettings = "Cài đặt tài khoản"
adminSettings = "Cài đặt quản trị - Xem và thêm người dùng"
userControlSettings = "Cài đặt kiểm soát người dùng"
changeUsername = "Thay đổi tên người dùng"
+changeUsernameDescription = "Cập nhật tên người dùng. Bạn sẽ bị đăng xuất sau khi cập nhật."
+newUsernamePlaceholder = "Nhập tên người dùng mới của bạn"
newUsername = "Tên người dùng mới"
password = "Mật khẩu xác nhận"
oldPassword = "Mật khẩu cũ"
@@ -737,9 +752,9 @@ title = "Ký"
desc = "Thêm chữ ký vào PDF bằng cách vẽ, văn bản hoặc hình ảnh"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "chú thích,tô sáng,vẽ"
+title = "Chú thích"
+desc = "Tô sáng, vẽ, thêm ghi chú và hình dạng trong trình xem"
[home.flatten]
tags = "làm phẳng,loại bỏ,tương tác"
@@ -952,7 +967,7 @@ title = "Chồng lớp PDF"
[home.pdfTextEditor]
title = "Trình chỉnh sửa văn bản PDF"
-desc = "Chỉnh sửa văn bản và hình ảnh hiện có bên trong PDF"
+desc = "Xem và chỉnh sửa xuất JSON của Stirling PDF với chỉnh sửa văn bản theo nhóm và tái tạo PDF"
[home.addText]
tags = "văn bản,chú thích,nhãn"
@@ -963,6 +978,7 @@ desc = "Thêm văn bản tùy chỉnh ở bất kỳ đâu trong PDF"
addFiles = "Thêm tệp"
uploadFromComputer = "Tải lên từ máy tính"
openFromComputer = "Mở từ máy tính"
+mobileUpload = "Tải lên từ Di động"
[viewPdf]
tags = "xem,đọc,chú thích,văn bản,hình ảnh"
@@ -1214,7 +1230,7 @@ selectFilesPlaceholder = "Chọn tệp trong khung chính để bắt đầu"
settings = "Cài đặt"
conversionCompleted = "Hoàn tất chuyển đổi"
results = "Kết quả"
-defaultFilename = "tep_da_chuyen_doi"
+defaultFilename = "converted_file"
conversionResults = "Kết quả chuyển đổi"
convertFrom = "Chuyển từ"
convertTo = "Sang"
@@ -1278,21 +1294,33 @@ cbzOptions = "Tùy chọn CBZ sang PDF"
optimizeForEbook = "Tối ưu PDF cho thiết bị đọc sách điện tử (dùng Ghostscript)"
cbzOutputOptions = "Tùy chọn PDF sang CBZ"
cbzDpi = "DPI cho kết xuất ảnh"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "Tùy chọn CBR"
+cbrOutputOptions = "Tùy chọn PDF sang CBR"
+cbrDpi = "DPI cho kết xuất hình ảnh"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "Tùy chọn eBook sang PDF"
+ebookOptionsDesc = "Tùy chọn chuyển đổi eBook sang PDF"
+embedAllFonts = "Nhúng tất cả phông chữ"
+embedAllFontsDesc = "Nhúng mọi phông chữ từ eBook vào PDF được tạo"
+includeTableOfContents = "Bao gồm mục lục"
+includeTableOfContentsDesc = "Thêm mục lục được tạo vào PDF kết quả"
+includePageNumbers = "Bao gồm số trang"
+includePageNumbersDesc = "Thêm số trang vào PDF được tạo"
+optimizeForEbookPdf = "Tối ưu cho thiết bị đọc eBook"
+optimizeForEbookPdfDesc = "Tối ưu PDF cho việc đọc eBook (kích thước tệp nhỏ hơn, hiển thị tốt hơn trên thiết bị eInk)"
+
+[convert.epubOptions]
+epubOptions = "Tùy chọn PDF sang eBook"
+epubOptionsDesc = "Tùy chọn chuyển đổi PDF sang EPUB/AZW3"
+detectChapters = "Phát hiện chương"
+detectChaptersDesc = "Phát hiện các tiêu đề giống chương và chèn ngắt trang EPUB"
+targetDevice = "Thiết bị đích"
+targetDeviceDesc = "Chọn cấu hình đầu ra tối ưu cho thiết bị đọc"
+outputFormat = "Định dạng đầu ra"
+outputFormatDesc = "Chọn định dạng đầu ra cho ebook"
+tabletPhone = "Máy tính bảng/Điện thoại (có hình ảnh)"
+kindleEink = "Kindle e‑Ink (tối ưu văn bản)"
[imageToPdf]
tags = "chuyển đổi,img,jpg,hình ảnh,ảnh"
@@ -1409,11 +1437,11 @@ header = "Add attachments"
add = "Thêm tệp đính kèm"
remove = "Xóa tệp đính kèm"
embed = "Nhúng tệp đính kèm"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "Chuyển sang PDF/A-3b"
+convertToPdfA3bDescription = "Tạo PDF lưu trữ với tệp đính kèm được nhúng"
+convertToPdfA3bTooltip = "PDF/A-3b là định dạng lưu trữ đảm bảo bảo quản lâu dài. Nó cho phép nhúng các định dạng tệp bất kỳ dưới dạng tệp đính kèm. Chuyển đổi yêu cầu Ghostscript và có thể mất nhiều thời gian hơn với tệp lớn."
+convertToPdfA3bTooltipHeader = "Giới thiệu về chuyển đổi PDF/A-3b"
+convertToPdfA3bTooltipTitle = "Chức năng"
submit = "Add attachments"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "Đã lưu"
label = "Tải lên ảnh chữ ký"
placeholder = "Chọn tệp hình ảnh"
hint = "Tải lên ảnh chữ ký định dạng PNG hoặc JPG"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "Xóa nền trắng (tạo trong suốt)"
+processing = "Đang xử lý hình ảnh..."
+backgroundRemovalFailedTitle = "Xóa nền thất bại"
+backgroundRemovalFailedMessage = "Không thể xóa nền khỏi hình ảnh. Sẽ dùng hình ảnh gốc."
[sign.instructions]
title = "Cách thêm chữ ký"
@@ -2409,9 +2437,9 @@ label = "Chỉ làm phẳng biểu mẫu"
desc = "Chỉ làm phẳng các trường biểu mẫu, giữ nguyên các thành phần tương tác khác"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "DPI kết xuất (tùy chọn, khuyến nghị 150 DPI)"
+help = "Để trống để dùng mặc định hệ thống. DPI cao hơn cho kết quả sắc nét hơn nhưng tăng thời gian xử lý và kích thước tệp."
+placeholder = "vd. 150"
[flatten.results]
title = "Kết quả làm phẳng"
@@ -2645,7 +2673,7 @@ stopButton = "Dừng so sánh"
[certSign]
tags = "xác thực,PEM,P12,chính thức,mã hóa"
title = "Ký bằng chứng chỉ"
-filenamePrefix = "da_ky"
+filenamePrefix = "signed"
chooseCertificate = "Chọn tệp chứng chỉ"
chooseJksFile = "Chọn tệp JKS"
chooseP12File = "Chọn tệp PKCS12"
@@ -2779,7 +2807,7 @@ header = "Xóa chứng chỉ số khỏi PDF"
selectPDF = "Chọn một tệp PDF:"
submit = "Xóa chữ ký"
description = "Công cụ này sẽ xóa chữ ký chứng chỉ số khỏi tài liệu PDF của bạn."
-filenamePrefix = "chua_ky"
+filenamePrefix = "unsigned"
[removeCertSign.files]
placeholder = "Chọn một tệp PDF trong màn hình chính để bắt đầu"
@@ -2987,7 +3015,7 @@ header = "Cắt cúp PDF"
submit = "Gửi"
noFileSelected = "Chọn một tệp PDF để bắt đầu cắt xén"
reset = "Đặt lại về toàn bộ PDF"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "Tự động cắt khoảng trắng"
[crop.preview]
title = "Chọn vùng cắt"
@@ -3218,6 +3246,7 @@ title = "Phương thức che"
mode = "Chế độ"
automatic = "Tự động"
automaticDesc = "Che văn bản dựa trên từ khóa tìm kiếm"
+automaticDisabledTooltip = "Chọn tệp trong trình quản lý tệp để bôi đen nhiều tệp cùng lúc"
manual = "Thủ công"
manualDesc = "Nhấp và kéo để che các vùng cụ thể"
manualComingSoon = "Sắp có che thủ công"
@@ -3288,8 +3317,35 @@ text = "Chỉ khớp các từ hoàn chỉnh, không khớp một phần. 'John'
title = "Chuyển sang PDF-Image"
text = "Chuyển PDF thành PDF dựa trên ảnh sau khi che. Điều này đảm bảo văn bản phía sau hộp che được xóa hoàn toàn và không thể khôi phục."
+[redact.tooltip.manual.header]
+title = "Điều khiển bôi đen thủ công"
+
+[redact.tooltip.manual.markText]
+title = "Công cụ đánh dấu văn bản"
+text = "Chọn văn bản trực tiếp trên PDF để đánh dấu bôi đen. Nhấp và kéo để tô sáng phần văn bản bạn muốn bôi đen."
+
+[redact.tooltip.manual.markArea]
+title = "Công cụ đánh dấu vùng"
+text = "Vẽ các vùng hình chữ nhật trên PDF để đánh dấu khu vực cần bôi đen. Hữu ích để bôi đen hình ảnh, chữ ký, hoặc hình dạng không đều."
+
+[redact.tooltip.manual.apply]
+title = "Áp dụng bôi đen"
+text = "Sau khi đánh dấu nội dung, nhấp 'Áp dụng' để bôi đen vĩnh viễn tất cả vùng đã đánh dấu. Số đang chờ cho biết có bao nhiêu bôi đen sẵn sàng áp dụng."
+bullet1 = "Đánh dấu bao nhiêu vùng tùy ý trước khi áp dụng"
+bullet2 = "Tất cả bôi đen đang chờ sẽ được áp dụng cùng lúc"
+bullet3 = "Không thể hoàn tác sau khi áp dụng bôi đen"
+
[redact.manual]
+title = "Công cụ bôi đen"
+instructions = "Chọn văn bản hoặc vẽ vùng trên PDF để đánh dấu nội dung cần bôi đen."
+markText = "Đánh dấu văn bản"
+markArea = "Đánh dấu vùng"
+pendingLabel = "Đang chờ:"
+applyWarning = "⚠️ Áp dụng vĩnh viễn, không thể hoàn tác và dữ liệu bên dưới sẽ bị xóa"
+apply = "Áp dụng"
+noMarks = "Chưa có dấu bôi đen. Hãy dùng các công cụ phía trên để đánh dấu nội dung cần bôi đen."
header = "Che thủ công"
+controlsTitle = "Điều khiển bôi đen thủ công"
textBasedRedaction = "Che theo văn bản"
pageBasedRedaction = "Che theo trang"
convertPDFToImageLabel = "Chuyển PDF thành PDF-Image (Dùng để xóa văn bản phía sau hộp)"
@@ -3406,17 +3462,17 @@ label = "Phân chia theo chiều dọc"
placeholder = "Nhập số lượng phân chia theo chiều dọc"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "Chế độ tách"
+description = "Chọn cách tách các trang"
+splitAll = "Tách tất cả các trang"
+splitAllExceptFirst = "Tách tất cả trừ trang đầu"
+splitAllExceptLast = "Tách tất cả trừ trang cuối"
+splitAllExceptFirstAndLast = "Tách tất cả trừ trang đầu và cuối"
+custom = "Trang tùy chỉnh"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "Số trang tùy chỉnh"
+placeholder = "vd. 2,4,6"
[AddStampRequest]
tags = "Dấu,Thêm hình ảnh,căn giữa hình ảnh,Hình mờ,PDF,Nhúng,Tùy chỉnh"
@@ -3713,7 +3769,7 @@ title = "PDF thành một trang"
header = "PDF thành một trang"
submit = "Chuyển đổi thành một trang"
description = "Công cụ này sẽ gộp tất cả các trang của PDF của bạn thành một trang đơn lớn. Chiều rộng giữ nguyên như các trang gốc, còn chiều cao sẽ bằng tổng chiều cao của tất cả các trang."
-filenamePrefix = "mot_trang"
+filenamePrefix = "single_page"
[pdfToSinglePage.files]
placeholder = "Chọn một tệp PDF ở màn hình chính để bắt đầu"
@@ -3780,17 +3836,17 @@ filesize = "Kích thước tệp"
label = "Áp dụng thang độ xám để nén"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "Linearize PDF để xem nhanh trên web"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "Chuyển hình ảnh thành tranh nét"
+description = "Sử dụng ImageMagick để giảm trang về đen trắng tương phản cao nhằm tối đa hóa mức độ nén."
+unavailable = "ImageMagick chưa được cài đặt hoặc bật trên máy chủ này"
+detailLevel = "Mức độ chi tiết"
+edgeEmphasis = "Nhấn mạnh đường biên"
+edgeLow = "Nhẹ"
+edgeMedium = "Cân bằng"
+edgeHigh = "Mạnh"
[compress.tooltip.header]
title = "Tổng quan cài đặt nén"
@@ -3810,8 +3866,8 @@ title = "Thang xám"
text = "Chọn tùy chọn này để chuyển tất cả hình ảnh sang đen trắng, có thể giảm đáng kể kích thước tệp, đặc biệt với PDF quét hoặc tài liệu nhiều hình ảnh."
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "Tranh nét"
+text = "Chuyển trang sang đen trắng tương phản cao bằng ImageMagick. Dùng mức độ chi tiết để kiểm soát lượng nội dung chuyển sang màu đen, và nhấn mạnh đường biên để kiểm soát mức phát hiện cạnh."
[compress.error]
failed = "Đã xảy ra lỗi khi nén PDF."
@@ -3826,9 +3882,9 @@ _value = "Cài đặt nén"
1 = "1-3 nén PDF, 4-6 nén ảnh nhẹ, 7-9 nén ảnh mạnh sẽ làm giảm chất lượng hình ảnh đáng kể"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "Giá trị thấp giữ chất lượng tốt hơn nhưng tệp lớn hơn"
+range4to6 = "Nén trung bình với giảm chất lượng vừa phải"
+range7to9 = "Giá trị cao giảm đáng kể kích thước tệp nhưng có thể giảm độ rõ của hình ảnh"
[decrypt]
passwordPrompt = "Tệp này được bảo vệ bằng mật khẩu. Vui lòng nhập mật khẩu:"
@@ -4069,7 +4125,7 @@ deleteSelected = "Xóa các trang đã chọn"
closePdf = "Đóng PDF"
exportAll = "Xuất PDF"
downloadSelected = "Tải xuống các tệp đã chọn"
-annotations = "Annotations"
+annotations = "Chú thích"
exportSelected = "Xuất các trang đã chọn"
saveChanges = "Lưu thay đổi"
toggleTheme = "Chuyển đổi chủ đề"
@@ -4077,84 +4133,90 @@ language = "Ngôn ngữ"
toggleAnnotations = "Chuyển đổi hiển thị chú thích"
search = "Tìm kiếm PDF"
panMode = "Chế độ kéo"
+applyRedactionsFirst = "Áp dụng bôi đen trước"
rotateLeft = "Xoay trái"
rotateRight = "Xoay phải"
toggleSidebar = "Chuyển đổi thanh bên"
toggleBookmarks = "Bật/tắt dấu trang"
print = "In PDF"
+draw = "Vẽ"
+redact = "Bôi đen"
+exitRedaction = "Thoát chế độ bôi đen"
+save = "Lưu"
downloadAll = "Tải xuống tất cả"
saveAll = "Lưu tất cả"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "Trái"
+center = "Giữa"
+right = "Phải"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "Chú thích"
+desc = "Dùng tô sáng, bút, văn bản và ghi chú. Thay đổi được giữ nguyên trực tiếp—không cần làm phẳng."
+highlight = "Tô sáng"
+pen = "Bút"
+text = "Hộp văn bản"
+note = "Ghi chú"
+rectangle = "Hình chữ nhật"
+ellipse = "Hình elip"
+select = "Chọn"
+exit = "Thoát chế độ chú thích"
+strokeWidth = "Độ dày nét"
+opacity = "Độ mờ"
+strokeOpacity = "Độ mờ nét viền"
+fillOpacity = "Độ mờ phần tô"
+fontSize = "Cỡ chữ"
+chooseColor = "Chọn màu"
+color = "Màu"
+strokeColor = "Màu nét"
+fillColor = "Màu tô"
+underline = "Gạch dưới"
+strikeout = "Gạch bỏ"
+squiggly = "Gạch lượn sóng"
+inkHighlighter = "Bút tô sáng tự do"
+freehandHighlighter = "Bút tô sáng tự do"
+square = "Hình vuông"
+circle = "Hình tròn"
+polygon = "Đa giác"
+line = "Đường thẳng"
+stamp = "Thêm hình ảnh"
+textMarkup = "Đánh dấu văn bản"
+drawing = "Vẽ"
+shapes = "Hình dạng"
+notesStamps = "Ghi chú & Dấu"
+settings = "Cài đặt"
+borderOn = "Viền: Bật"
+borderOff = "Viền: Tắt"
+editInk = "Chỉnh sửa Bút"
+editLine = "Chỉnh sửa Đường thẳng"
+editNote = "Chỉnh sửa Ghi chú"
+editText = "Chỉnh sửa Hộp văn bản"
+editTextMarkup = "Chỉnh sửa Đánh dấu văn bản"
+editSelected = "Chỉnh sửa chú thích"
+editSquare = "Chỉnh sửa Hình vuông"
+editCircle = "Chỉnh sửa Hình tròn"
+editPolygon = "Chỉnh sửa Đa giác"
+unsupportedType = "Loại chú thích này chưa được hỗ trợ đầy đủ để chỉnh sửa."
+textAlignment = "Căn chỉnh văn bản"
+noteIcon = "Biểu tượng ghi chú"
+imagePreview = "Xem trước"
+contents = "Văn bản"
+backgroundColor = "Màu nền"
+clearBackground = "Xóa nền"
+noBackground = "Không nền"
+stampSettings = "Cài đặt dấu"
+savingCopy = "Đang chuẩn bị tải xuống..."
+saveFailed = "Không thể lưu bản sao"
+saveReady = "Sẵn sàng tải xuống"
+selectAndMove = "Chọn và Chỉnh sửa"
+editSelectDescription = "Nhấp một chú thích hiện có để chỉnh màu, độ mờ, văn bản hoặc kích thước của nó."
+editStampHint = "Để đổi hình ảnh, hãy xóa dấu này và thêm dấu mới."
+editSwitchToSelect = "Chuyển sang Chọn & Chỉnh sửa để chỉnh sửa chú thích này."
+undo = "Hoàn tác"
+redo = "Làm lại"
+applyChanges = "Áp dụng thay đổi"
+saveChanges = "Lưu thay đổi"
[search]
title = "Tìm kiếm PDF"
@@ -4205,20 +4267,20 @@ settings = "Cài đặt"
adminSettings = "Cài đặt quản trị"
allTools = "All Tools"
reader = "Trình đọc"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "Hướng dẫn"
+showMeAround = "Dẫn tôi tham quan"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "Xem video hướng dẫn tại đây: Tour công cụ, tour bố cục V2 mới và tour Quản trị."
+user = "Xem video hướng dẫn tại đây: Tour công cụ và tour bố cục V2 mới."
[quickAccess.helpMenu]
toolsTour = "Hướng dẫn công cụ"
toolsTourDesc = "Tìm hiểu công cụ có thể làm gì"
adminTour = "Hướng dẫn quản trị"
adminTourDesc = "Khám phá cài đặt & tính năng quản trị"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "Xem có gì mới trong V2"
+whatsNewTourDesc = "Tham quan bố cục đã cập nhật"
[admin]
error = "Lỗi"
@@ -4237,6 +4299,8 @@ fetchError = "Không thể tải cài đặt"
saveError = "Không thể lưu cài đặt"
saved = "Lưu cài đặt thành công"
saveSuccess = "Lưu cài đặt thành công"
+success = "Đã lưu cài đặt thành công"
+error = "Không thể lưu cài đặt"
save = "Lưu thay đổi"
discard = "Bỏ"
restartRequired = "Cần khởi động lại"
@@ -4360,6 +4424,13 @@ description = "Đường dẫn đến tệp thực thi WeasyPrint để chuyển
label = "Tệp thực thi Unoconvert"
description = "Đường dẫn đến LibreOffice unoconvert để chuyển đổi tài liệu (để trống dùng mặc định: /opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "URL Frontend"
+description = "URL gốc cho frontend (vd., https://pdf.example.com). Dùng cho liên kết mời qua email và tải lên bằng mã QR trên di động. Để trống để dùng URL backend."
+
+[admin.settings.badge]
+clickToUpgrade = "Nhấp để xem chi tiết gói"
+
[admin.settings.security]
title = "Bảo mật"
description = "Cấu hình xác thực, hành vi đăng nhập và chính sách bảo mật."
@@ -4496,6 +4567,19 @@ connect = "Kết nối"
disconnect = "Ngắt kết nối"
disconnected = "Ngắt kết nối nhà cung cấp thành công"
disconnectError = "Không thể ngắt kết nối nhà cung cấp"
+mobileScannerConvertToPdf = "Chuyển đổi Hình ảnh sang PDF"
+mobileScannerConvertToPdfDesc = "Tự động chuyển đổi hình ảnh tải lên sang định dạng PDF. Nếu tắt, hình ảnh sẽ được giữ nguyên."
+mobileScannerImageResolution = "Độ phân giải hình ảnh"
+mobileScannerImageResolutionDesc = "Độ phân giải của hình ảnh tải lên. \"Giảm\" sẽ co về tối đa 1200px để giảm kích thước tệp."
+imageResolutionFull = "Đầy đủ (Kích thước gốc)"
+imageResolutionReduced = "Giảm (Tối đa 1200px)"
+mobileScannerPageFormat = "Khổ trang"
+mobileScannerPageFormatDesc = "Kích thước trang PDF cho hình ảnh đã chuyển đổi. \"Giữ nguyên\" dùng kích thước ảnh gốc."
+pageFormatKeep = "Giữ nguyên (Kích thước gốc)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Kéo giãn vừa trang"
+mobileScannerStretchToFitDesc = "Kéo giãn hình ảnh để lấp đầy toàn bộ trang. Nếu tắt, hình ảnh sẽ được căn giữa và giữ tỷ lệ khung hình."
[admin.settings.connections.ssoAutoLogin]
label = "SSO tự động đăng nhập"
@@ -4564,6 +4648,122 @@ description = "Tự động tạo tài khoản người dùng khi đăng nhập
label = "Chặn đăng ký"
description = "Ngăn đăng ký người dùng mới qua SAML2"
+[admin.settings.connections.mobileScanner]
+label = "Tải lên từ điện thoại di động"
+enable = "Bật tải lên bằng mã QR"
+description = "Cho phép người dùng tải tệp từ thiết bị di động bằng cách quét mã QR"
+note = "Lưu ý: Yêu cầu cấu hình Frontend URL. "
+link = "Cấu hình trong Cài đặt hệ thống"
+mobileScannerConvertToPdf = "Chuyển đổi Hình ảnh sang PDF"
+mobileScannerConvertToPdfDesc = "Tự động chuyển đổi hình ảnh tải lên sang định dạng PDF. Nếu tắt, hình ảnh sẽ được giữ nguyên."
+mobileScannerImageResolution = "Độ phân giải hình ảnh"
+mobileScannerImageResolutionDesc = "Độ phân giải của hình ảnh tải lên. \"Giảm\" sẽ co về tối đa 1200px để giảm kích thước tệp."
+imageResolutionFull = "Đầy đủ (Kích thước gốc)"
+imageResolutionReduced = "Giảm (Tối đa 1200px)"
+mobileScannerPageFormat = "Khổ trang"
+mobileScannerPageFormatDesc = "Kích thước trang PDF cho hình ảnh đã chuyển đổi. \"Giữ nguyên\" dùng kích thước ảnh gốc."
+pageFormatKeep = "Giữ nguyên (Kích thước gốc)"
+pageFormatA4 = "A4 (210×297mm)"
+pageFormatLetter = "Letter (8.5×11in)"
+mobileScannerStretchToFit = "Kéo giãn vừa trang"
+mobileScannerStretchToFitDesc = "Kéo giãn hình ảnh để lấp đầy toàn bộ trang. Nếu tắt, hình ảnh sẽ được căn giữa và giữ tỷ lệ khung hình."
+
+[admin.settings.telegram]
+title = "Bot Telegram"
+description = "Cấu hình kết nối bot Telegram, kiểm soát truy cập và hành vi phản hồi."
+
+[admin.settings.telegram.enabled]
+label = "Bật Bot Telegram"
+description = "Cho phép người dùng tương tác với Stirling PDF qua bot Telegram đã cấu hình của bạn."
+
+[admin.settings.telegram.botUsername]
+label = "Tên người dùng Bot"
+description = "Tên người dùng công khai của bot Telegram của bạn."
+
+[admin.settings.telegram.botToken]
+label = "Bot Token"
+description = "API token do BotFather cung cấp cho bot Telegram của bạn."
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "Thư mục Inbox"
+description = "Thư mục dưới thư mục pipeline nơi lưu trữ tệp Telegram đến."
+
+[admin.settings.telegram.customFolderSuffix]
+label = "Dùng hậu tố thư mục tùy chỉnh"
+description = "Thêm chat ID vào thư mục tệp đến để tách biệt tải lên theo từng cuộc trò chuyện."
+
+[admin.settings.telegram.accessControl]
+title = "Kiểm soát truy cập"
+description = "Hạn chế người dùng hoặc kênh được phép tương tác với bot."
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "Chỉ cho phép User ID cụ thể"
+description = "Khi bật, chỉ các User ID trong danh sách mới được dùng bot."
+
+[admin.settings.telegram.allowUserIDs]
+label = "User ID được phép"
+description = "Nhập các Telegram User ID được phép tương tác với bot."
+placeholder = "Thêm user ID và nhấn Enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "Chỉ cho phép Channel ID cụ thể"
+description = "Khi bật, chỉ các Channel ID trong danh sách mới được dùng bot."
+
+[admin.settings.telegram.allowChannelIDs]
+label = "Channel ID được phép"
+description = "Nhập các Telegram Channel ID được phép tương tác với bot."
+placeholder = "Thêm channel ID và nhấn Enter"
+
+[admin.settings.telegram.processing]
+title = "Xử lý"
+description = "Kiểm soát khoảng thăm dò và thời gian chờ xử lý cho tải lên từ Telegram."
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "Thời gian chờ xử lý (giây)"
+description = "Thời gian tối đa chờ một tác vụ xử lý trước khi báo lỗi."
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "Khoảng thăm dò (ms)"
+description = "Khoảng thời gian giữa các lần kiểm tra bản cập nhật Telegram mới."
+
+[admin.settings.telegram.feedback]
+title = "Tin nhắn phản hồi"
+description = "Chọn thời điểm bot nên gửi phản hồi cho người dùng và kênh."
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "Bật phản hồi"
+description = "Kiểm soát việc bot có gửi tin nhắn phản hồi hay không."
+
+[admin.settings.telegram.feedback.channel]
+title = "Quy tắc phản hồi kênh"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "Hiển thị \"Không có tài liệu hợp lệ\" (Kênh)"
+description = "Ẩn phản hồi không có tài liệu hợp lệ đối với tải lên từ kênh."
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "Hiển thị lỗi xử lý (Kênh)"
+description = "Gửi tin nhắn lỗi xử lý tới các kênh."
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "Hiển thị thông báo lỗi (Kênh)"
+description = "Hiển thị thông báo lỗi chi tiết cho kênh."
+
+[admin.settings.telegram.feedback.user]
+title = "Quy tắc phản hồi người dùng"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "Hiển thị \"Không có tài liệu hợp lệ\" (Người dùng)"
+description = "Ẩn phản hồi không có tài liệu hợp lệ đối với tải lên của người dùng."
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "Hiển thị lỗi xử lý (Người dùng)"
+description = "Gửi tin nhắn lỗi xử lý tới người dùng."
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "Hiển thị thông báo lỗi (Người dùng)"
+description = "Hiển thị thông báo lỗi chi tiết cho người dùng."
+
[admin.settings.database]
title = "Cơ sở dữ liệu"
description = "Cấu hình cài đặt kết nối cơ sở dữ liệu tùy chỉnh cho triển khai doanh nghiệp."
@@ -4745,6 +4945,10 @@ description = "Cho phép quản trị viên mời người dùng qua email với
label = "URL Frontend"
description = "URL cơ sở cho Frontend (ví dụ https://pdf.example.com). Dùng để tạo liên kết mời trong email. Để trống để dùng URL backend."
+[admin.settings.mail.frontendUrlNote]
+note = "Lưu ý: Yêu cầu cấu hình Frontend URL. "
+link = "Cấu hình trong Cài đặt hệ thống"
+
[admin.settings.legal]
title = "Tài liệu pháp lý"
description = "Cấu hình liên kết đến các tài liệu và chính sách pháp lý."
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "Tệp của tôi"
noRecentFiles = "Không tìm thấy tệp gần đây"
googleDriveNotAvailable = "Tích hợp Google Drive không khả dụng"
+mobileUpload = "Tải lên từ di động"
+mobileShort = "Di động"
+mobileUploadNotAvailable = "Tải lên từ di động chưa được bật"
downloadSelected = "Tải xuống mục đã chọn"
saveSelected = "Lưu mục đã chọn"
openFiles = "Mở các tệp"
@@ -5244,7 +5451,7 @@ loading = "Đang tải..."
back = "Quay lại"
continue = "Tiếp tục"
error = "Lỗi"
-save = "Save"
+save = "Lưu"
[config.overview]
title = "Cấu hình ứng dụng"
@@ -5307,6 +5514,15 @@ impact = "Bất kỳ ứng dụng hoặc dịch vụ nào đang dùng các khóa
confirmPrompt = "Bạn có chắc muốn tiếp tục?"
confirmCta = "Làm mới khóa"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "Lỗi API Key"
+failedToCreateApiKey = "Không thể tạo API key."
+failedToRetrieveApiKey = "Không thể lấy API key từ phản hồi."
+failedToFetchApiKey = "Không thể truy xuất API key."
+apiKeyRefreshed = "Đã làm mới API Key"
+apiKeyRefreshedBody = "API key của bạn đã được làm mới thành công."
+failedToRefreshApiKey = "Không thể làm mới API key."
+
[AddAttachmentsRequest]
attachments = "Chọn tệp đính kèm"
info = "Chọn tệp để đính kèm vào PDF của bạn. Các tệp này sẽ được nhúng và truy cập qua bảng đính kèm của PDF."
@@ -5412,14 +5628,14 @@ startTour = "Bắt đầu tham quan"
startTourDescription = "Tham quan có hướng dẫn các tính năng chính của Stirling PDF"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "Bắt đầu tại thanh Truy cập nhanh để chuyển giữa Reader, Automate, tệp của bạn và tất cả các hướng dẫn."
+leftPanel = "Bảng Công cụ bên trái liệt kê mọi việc bạn có thể làm. Duyệt theo danh mục hoặc tìm kiếm để nhanh chóng tìm công cụ."
+fileUpload = "Dùng nút Tệp để tải lên hoặc chọn một PDF gần đây. Chúng tôi sẽ tải một mẫu để bạn thấy không gian làm việc."
+rightRail = "Thanh bên phải có các thao tác nhanh để chọn tệp, đổi chủ đề hoặc ngôn ngữ, và tải kết quả."
+topBar = "Thanh trên cho phép bạn chuyển giữa Trình xem, Trình chỉnh sửa trang và Tệp đang hoạt động."
+pageEditorView = "Chuyển sang Trình chỉnh sửa trang để sắp xếp lại, xoay hoặc xóa trang."
+activeFilesView = "Dùng Tệp đang hoạt động để xem mọi thứ bạn đang mở và chọn việc cần làm."
+wrapUp = "Đó là những điểm mới trong V2. Mở menu Hướng dẫn bất cứ lúc nào để xem lại nội dung này, tour Công cụ hoặc tour Quản trị."
[onboarding.welcomeModal]
title = "Chào mừng đến với Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "Hướng dẫn nhanh"
skipTheTour = "Bỏ qua hướng dẫn"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "Tổng quan tour"
+body = "Stirling PDF V2 đi kèm hàng chục công cụ và bố cục được làm mới. Hãy tham quan nhanh để xem những thay đổi và nơi tìm các tính năng bạn cần."
[onboarding.serverLicense]
skip = "Bỏ qua tạm thời"
@@ -5452,7 +5668,7 @@ upgrade = "Nâng cấp ngay →"
freeTitle = "Giấy phép Server"
overLimitTitle = "Cần giấy phép Server"
overLimitBody = "Giấy phép của chúng tôi cho phép tối đa {{freeTierLimit}} người dùng miễn phí mỗi server. Bạn có {{overLimitUserCopy}} người dùng Stirling. Để tiếp tục không gián đoạn, hãy nâng cấp lên gói Stirling Server - số ghế không giới hạn, chỉnh sửa văn bản PDF và toàn quyền quản trị với $99/server/tháng."
-freeBody = "Giấy phép Open-Core của chúng tôi cho phép tối đa {{freeTierLimit}} người dùng miễn phí cho mỗi máy chủ. Để mở rộng quy mô liền mạch, chúng tôi khuyến nghị gói Stirling Server - số lượng người dùng không giới hạn và hỗ trợ SSO với giá $99/máy chủ/tháng."
+freeBody = "Giấy phép Open-Core của chúng tôi cho phép tối đa {{freeTierLimit}} người dùng miễn phí mỗi server. Để mở rộng không gián đoạn và truy cập sớm công cụ chỉnh sửa văn bản PDF mới, chúng tôi khuyến nghị gói Stirling Server - chỉnh sửa đầy đủ và số ghế không giới hạn với $99/server/tháng."
[onboarding.desktopInstall]
title = "Tải xuống"
@@ -5758,28 +5974,28 @@ contactSales = "Liên hệ bộ phận kinh doanh"
contactToUpgrade = "Liên hệ với chúng tôi để nâng cấp hoặc tùy chỉnh gói của bạn"
maxUsers = "Số người dùng tối đa"
upTo = "Tối đa"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "Mua giấy phép Máy chủ"
+upgradeToEnterprise = "Nâng cấp lên Enterprise"
+selectPeriod = "Chọn chu kỳ thanh toán"
+monthlyBilling = "Thanh toán hàng tháng"
+yearlyBilling = "Thanh toán hàng năm"
+checkoutOpened = "Đã mở thanh toán"
+checkoutInstructions = "Hoàn tất mua hàng trong thẻ Stripe. Sau khi thanh toán, quay lại đây và làm mới trang để kích hoạt giấy phép. Bạn cũng sẽ nhận được email chứa khóa giấy phép."
+activateLicense = "Kích hoạt giấy phép của bạn"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "Đã mở thanh toán trong thẻ mới"
+instructions = "Hoàn tất mua hàng trong thẻ Stripe. Khi thanh toán xong, bạn sẽ nhận được email chứa khóa giấy phép."
+enterKey = "Nhập khóa giấy phép của bạn bên dưới để kích hoạt gói:"
+keyDescription = "Dán khóa giấy phép từ email của bạn"
+activate = "Kích hoạt giấy phép"
+doLater = "Tôi sẽ làm việc này sau"
+success = "Đã kích hoạt giấy phép!"
+successMessage = "Giấy phép của bạn đã được kích hoạt thành công. Bạn có thể đóng cửa sổ này."
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "Cần xác minh email"
+message = "Bạn sẽ cần xác minh địa chỉ email trong cổng thanh toán Stripe. Kiểm tra email để lấy liên kết đăng nhập."
[plan.period]
month = "tháng"
@@ -5983,8 +6199,8 @@ notAvailable = "Hệ thống kiểm toán không khả dụng"
notAvailableMessage = "Hệ thống kiểm toán chưa được cấu hình hoặc không khả dụng."
disabled = "Ghi nhật ký kiểm toán đã bị tắt"
disabledMessage = "Bật ghi nhật ký kiểm toán trong cấu hình ứng dụng để theo dõi các sự kiện hệ thống."
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "Yêu cầu giấy phép Enterprise"
+enterpriseRequiredMessage = "Hệ thống ghi nhật ký kiểm toán là tính năng Enterprise. Vui lòng nâng cấp lên giấy phép Enterprise để truy cập nhật ký và phân tích."
[audit.error]
title = "Lỗi khi tải hệ thống kiểm toán"
@@ -6156,6 +6372,7 @@ description = "Nhập URL đầy đủ của server Stirling PDF tự lưu trữ
[setup.server.error]
emptyUrl = "Vui lòng nhập URL server"
+invalidUrl = "Định dạng URL không hợp lệ. Vui lòng nhập URL hợp lệ như https://your-server.com"
unreachable = "Không thể kết nối đến server"
testFailed = "Kiểm tra kết nối thất bại"
configFetch = "Không thể lấy cấu hình máy chủ. Vui lòng kiểm tra URL và thử lại."
@@ -6174,6 +6391,7 @@ connectingTo = "Đang kết nối đến:"
submit = "Đăng nhập"
signInWith = "Đăng nhập với"
oauthPending = "Đang mở trình duyệt để xác thực..."
+sso = "Single Sign-On"
orContinueWith = "Hoặc tiếp tục bằng email"
serverRequirement = "Lưu ý: Máy chủ phải bật đăng nhập."
showInstructions = "Cách bật?"
@@ -6239,8 +6457,8 @@ reset = "Đặt lại thay đổi"
downloadJson = "Tải JSON"
generatePdf = "Tạo PDF"
saveChanges = "Lưu thay đổi"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "Áp dụng thay đổi"
+downloadCopy = "Tải bản sao"
[pdfTextEditor.options.autoScaleText]
title = "Tự căn chỉnh văn bản cho vừa hộp"
@@ -6260,22 +6478,22 @@ title = "Khóa văn bản đã chỉnh sửa thành một phần tử PDF duy nh
description = "Khi bật, trình chỉnh sửa xuất mỗi hộp văn bản đã chỉnh sửa thành một phần tử văn bản PDF để tránh chồng ký tự hoặc trộn font."
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "Cài đặt nâng cao"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "Giới hạn xem trước"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "Tập trung Văn bản và Hình ảnh"
+text = "Không gian làm việc này tập trung vào chỉnh sửa văn bản và thay đổi vị trí hình ảnh nhúng. Tác phẩm trang phức tạp, tiện ích biểu mẫu và đồ họa nhiều lớp sẽ được giữ lại khi xuất nhưng không thể chỉnh sửa đầy đủ tại đây."
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "Sai lệch khi xem trước"
+text = "Một số yếu tố (như đường viền bảng, hình dạng hoặc giao diện chú thích) có thể không hiển thị chính xác trong bản xem trước. PDF xuất ra sẽ giữ các lệnh vẽ gốc khi có thể."
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Trình xem Alpha"
+text = "Trình xem alpha này vẫn đang phát triển—một số phông chữ, màu sắc, hiệu ứng trong suốt và chi tiết bố cục có thể thay đổi nhẹ. Vui lòng kiểm tra lại PDF đã tạo trước khi chia sẻ."
[pdfTextEditor.manual]
mergeTooltip = "Gộp các hộp đã chọn"
@@ -6398,3 +6616,58 @@ title = "Kết quả thêm văn bản"
[addText.error]
failed = "Đã xảy ra lỗi khi thêm văn bản vào PDF."
+
+[mobileUpload]
+title = "Tải lên từ Di động"
+description = "Quét để tải ảnh. Hình ảnh tự động chuyển sang PDF."
+descriptionNoConvert = "Quét để tải ảnh từ thiết bị di động của bạn."
+error = "Lỗi kết nối"
+pollingError = "Lỗi kiểm tra tệp"
+sessionId = "ID phiên"
+sessionCreateError = "Không thể tạo phiên"
+expiryWarning = "Phiên sắp hết hạn"
+expiryWarningMessage = "Mã QR này sẽ hết hạn trong {{seconds}} giây. Mã mới sẽ được tạo tự động."
+filesReceived = "Đã nhận {{count}} tệp"
+connected = "Thiết bị di động đã kết nối"
+instructions = "Quét bằng camera điện thoại của bạn. Hình ảnh sẽ tự động chuyển sang PDF."
+instructionsNoConvert = "Quét bằng camera điện thoại để tải tệp lên."
+
+[mobileScanner]
+title = "Máy quét di động"
+noSession = "Phiên không hợp lệ"
+noSessionMessage = "Vui lòng quét mã QR hợp lệ để truy cập trang này."
+validating = "Đang xác thực phiên..."
+sessionInvalid = "Lỗi phiên"
+sessionExpired = "Phiên này đã hết hạn. Vui lòng làm mới và thử lại."
+sessionNotFound = "Không tìm thấy phiên. Vui lòng làm mới và thử lại."
+sessionValidationError = "Không thể xác minh phiên. Vui lòng thử lại."
+uploadSuccess = "Tải lên thành công!"
+uploadSuccessMessage = "Hình ảnh của bạn đã được chuyển."
+httpsRequired = "Truy cập camera yêu cầu HTTPS hoặc localhost. Vui lòng dùng HTTPS hoặc truy cập qua localhost."
+uploadFailed = "Tải lên thất bại. Vui lòng thử lại."
+uploading = "Đang tải lên..."
+connected = "Đã kết nối"
+connecting = "Đang kết nối..."
+chooseMethod = "Chọn phương thức tải lên"
+chooseMethodDescription = "Chọn cách bạn muốn quét và tải tài liệu"
+camera = "Camera"
+cameraDescription = "Quét tài liệu bằng camera thiết bị với tự động phát hiện viền"
+fileUpload = "Tải tệp lên"
+fileDescription = "Tải lên ảnh hoặc tài liệu có sẵn từ thiết bị của bạn"
+cameraAccessDenied = "Bị từ chối truy cập camera. Vui lòng bật quyền camera."
+back = "Quay lại"
+settings = "Cài đặt"
+edgeDetection = "Phát hiện viền"
+flashlight = "Đèn pin"
+flash = "Đèn flash"
+processing = "Đang xử lý..."
+capture = "Chụp ảnh"
+selectFilesPrompt = "Chọn tệp để tải lên"
+selectImage = "Chọn ảnh"
+preview = "Xem trước"
+retake = "Chụp lại"
+addToBatch = "Thêm vào lô"
+upload = "Tải lên"
+batchImages = "Lô"
+clearBatch = "Xóa"
+uploadAll = "Tải lên tất cả"
diff --git a/frontend/public/locales/zh-BO/translation.toml b/frontend/public/locales/zh-BO/translation.toml
index 6f9925a0a..346945cbc 100644
--- a/frontend/public/locales/zh-BO/translation.toml
+++ b/frontend/public/locales/zh-BO/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "您的 PDF 有未保存的更改。"
+pendingRedactionsTitle = "未应用的涂黑"
+pendingRedactions = "您有未应用的涂黑,离开将会丢失。"
areYouSure = "确定要离开吗?"
unsavedChangesTitle = "未保存的更改"
keepWorking = "继续编辑"
discardChanges = "放弃并离开"
+discardRedactions = "放弃并离开"
applyAndContinue = "保存并离开"
exportAndContinue = "导出并继续"
cancel = "取消"
@@ -364,6 +367,7 @@ advanced = "高级"
title = "安全与认证"
security = "安全"
connections = "连接"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "许可与分析"
@@ -438,25 +442,34 @@ currentVersion = "当前版本"
latestVersion = "最新版本"
checkForUpdates = "检查更新"
viewDetails = "查看详情"
+serverNeedsUpdate = "需要管理员更新服务器"
+
+[settings.general.versionInfo]
+title = "版本信息"
+description = "桌面端和服务器版本详情"
+desktop = "桌面版"
+server = "服务器版本"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "安全"
+description = "更新您的密码以确保账户安全。"
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "更改您的密码。更新后您将被登出。"
+required = "所有字段均为必填。"
+mismatch = "新密码不匹配。"
+error = "无法更新密码。请验证您当前的密码后重试。"
+success = "密码更新成功。请重新登录。"
+ssoDisabled = "密码更改由您的身份提供商管理。"
+current = "当前密码"
+currentPlaceholder = "输入您当前的密码"
+new = "新密码"
+newPlaceholder = "输入新密码"
+confirm = "确认新密码"
+confirmPlaceholder = "再次输入新密码"
+update = "更新密码"
+
+
[settings.hotkeys]
title = "键盘快捷键"
@@ -511,16 +524,16 @@ low = "低"
title = "ངོ་སྤྲོད་ལག་ཁྱེར་བསྒྱུར་བ།"
header = "ཁྱེད་ཀྱི་ཐོ་མིང་ཞིབ་ཕྲ་གསར་སྒྱུར།"
changePassword = "ཁྱེད་ཀྱིས་སྔོན་སྒྲིག་ནང་འཛུལ་ངོ་སྤྲོད་བེད་སྤྱོད་བྱེད་བཞིན་ཡོད། གསང་ཚིག་གསར་པ་འཇུག་རོགས།"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "您的账户由身份提供商管理。"
newUsername = "སྤྱོད་མཁན་མིང་གསར་པ།"
oldPassword = "ད་ལྟའི་གསང་ཚིག"
newPassword = "གསང་ཚིག་གསར་པ།"
confirmNewPassword = "གསང་ཚིག་གསར་པ་ངོས་སྦྱོར།"
submit = "འགྱུར་བ་ཕུལ་བ།"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "账户已更新"
+description = "更改已保存。请重新登录。"
+error = "无法更新用户名。请验证您的密码后重试。"
+changeUsername = "更新您的用户名。更新后您将被登出。"
[account]
title = "ཐོ་མིང་སྒྲིག་འགོད།"
@@ -528,6 +541,8 @@ accountSettings = "ཐོ་མིང་སྒྲིག་འགོད།"
adminSettings = "དོ་དམ་པའི་སྒྲིག་འགོད། - སྤྱོད་མཁན་ལྟ་བ་དང་སྣོན་པ།"
userControlSettings = "སྤྱོད་མཁན་ཚོད་འཛིན་སྒྲིག་འགོད།"
changeUsername = "སྤྱོད་མཁན་མིང་བསྒྱུར་བ།"
+changeUsernameDescription = "更新您的用户名。更新后您将被登出。"
+newUsernamePlaceholder = "输入您的新用户名"
newUsername = "སྤྱོད་མཁན་མིང་གསར་པ།"
password = "གསང་ཚིག་ངོས་སྦྱོར།"
oldPassword = "གསང་ཚིག་རྙིང་པ།"
@@ -737,9 +752,9 @@ title = "མིང་རྟགས།"
desc = "རི་མོ། ཡི་གེ། པར་རིས་བཅས་ཀྱི་སྒོ་ནས་ PDF ལ་མིང་རྟགས་སྣོན་པ།"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "注释,高亮,绘制"
+title = "注释"
+desc = "在查看器中高亮、绘制、添加笔记和形状"
[home.flatten]
tags = "扁平化,移除,交互"
@@ -952,7 +967,7 @@ title = "PDF སྟེང་བརྩེགས།"
[home.pdfTextEditor]
title = "PDF 文本编辑器"
-desc = "编辑 PDF 中的现有文本和图像"
+desc = "审阅并编辑 Stirling PDF 的 JSON 导出,支持分组文本编辑与 PDF 再生成"
[home.addText]
tags = "文本,注释,标签"
@@ -963,6 +978,7 @@ desc = "在 PDF 任意位置添加自定义文本"
addFiles = "添加文件"
uploadFromComputer = "从电脑上传"
openFromComputer = "从电脑打开"
+mobileUpload = "从手机上传"
[viewPdf]
tags = "ལྟ་བ།,ཀློག་པ།,མཆན་འགྲེལ།,ཡི་གེ,པར་རིས།"
@@ -1214,7 +1230,7 @@ selectFilesPlaceholder = "在主视图中选择文件以开始"
settings = "设置"
conversionCompleted = "转换完成"
results = "结果"
-defaultFilename = "已转换_文件"
+defaultFilename = "converted_file"
conversionResults = "转换结果"
convertFrom = "从以下格式转换"
convertTo = "转换为"
@@ -1278,21 +1294,33 @@ cbzOptions = "CBZ 转 PDF 选项"
optimizeForEbook = "为电子书阅读器优化 PDF(使用 Ghostscript)"
cbzOutputOptions = "PDF 转 CBZ 选项"
cbzDpi = "图像渲染的 DPI"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "CBR 选项"
+cbrOutputOptions = "PDF 转 CBR 选项"
+cbrDpi = "图像渲染的 DPI"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "电子书转 PDF 选项"
+ebookOptionsDesc = "将电子书转换为 PDF 的选项"
+embedAllFonts = "嵌入所有字体"
+embedAllFontsDesc = "将电子书中的所有字体嵌入生成的 PDF 中"
+includeTableOfContents = "包含目录"
+includeTableOfContentsDesc = "为生成的 PDF 添加生成的目录"
+includePageNumbers = "包含页码"
+includePageNumbersDesc = "为生成的 PDF 添加页码"
+optimizeForEbookPdf = "为电子书阅读器优化"
+optimizeForEbookPdfDesc = "为电子书阅读优化 PDF(文件更小,在电子墨水设备上渲染更佳)"
+
+[convert.epubOptions]
+epubOptions = "PDF 转电子书选项"
+epubOptionsDesc = "将 PDF 转换为 EPUB/AZW3 的选项"
+detectChapters = "检测章节"
+detectChaptersDesc = "检测看起来像章节的标题并插入 EPUB 分页符"
+targetDevice = "目标设备"
+targetDeviceDesc = "选择为阅读设备优化的输出配置"
+outputFormat = "输出格式"
+outputFormatDesc = "选择电子书的输出格式"
+tabletPhone = "平板/手机(带图像)"
+kindleEink = "Kindle 电子墨水(文本优化)"
[imageToPdf]
tags = "བསྒྱུར་བ།,པར་རིས།,jpg,པར།,འདྲ་པར།"
@@ -1409,11 +1437,11 @@ header = "添加附件"
add = "添加附件"
remove = "移除附件"
embed = "嵌入附件"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "转换为 PDF/A-3b"
+convertToPdfA3bDescription = "创建带嵌入附件的归档 PDF"
+convertToPdfA3bTooltip = "PDF/A-3b 是一种确保长期保存的归档格式。它允许将任意文件格式作为附件嵌入。转换需要 Ghostscript,对于大文件可能耗时更长。"
+convertToPdfA3bTooltipHeader = "关于 PDF/A-3b 转换"
+convertToPdfA3bTooltipTitle = "功能说明"
submit = "添加附件"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "已保存"
label = "上传签名图片"
placeholder = "选择图像文件"
hint = "上传您的签名 PNG 或 JPG 图片"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "移除白色背景(变为透明)"
+processing = "正在处理图像..."
+backgroundRemovalFailedTitle = "背景移除失败"
+backgroundRemovalFailedMessage = "无法移除图像背景。将使用原始图像。"
[sign.instructions]
title = "如何添加签名"
@@ -2409,9 +2437,9 @@ label = "仅扁平化表单"
desc = "只扁平化表单字段,保留其他交互元素"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "渲染 DPI(可选,建议 150 DPI)"
+help = "留空以使用系统默认值。更高的 DPI 可提升清晰度,但会增加处理时间和文件大小。"
+placeholder = "例如 150"
[flatten.results]
title = "扁平化结果"
@@ -2987,7 +3015,7 @@ header = "PDF གཏུབ་གཅོད།"
submit = "ཕུལ་བ།"
noFileSelected = "选择一个 PDF 文件开始裁剪"
reset = "重置为完整 PDF"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "自动裁剪空白"
[crop.preview]
title = "裁剪区域选择"
@@ -3218,6 +3246,7 @@ title = "遮盖方式"
mode = "模式"
automatic = "自动"
automaticDesc = "基于搜索词遮盖文本"
+automaticDisabledTooltip = "在文件管理器中选择文件以一次性对多个文件进行涂黑"
manual = "手动"
manualDesc = "点击并拖动以遮盖特定区域"
manualComingSoon = "手动遮盖即将推出"
@@ -3288,8 +3317,35 @@ text = "仅匹配完整单词,不匹配部分。启用时,“John”不会
title = "转换为 PDF-Image"
text = "在遮盖后将 PDF 转换为基于图像的 PDF。这可确保遮盖框后的文本被完全移除且无法恢复。"
+[redact.tooltip.manual.header]
+title = "手动涂黑控制"
+
+[redact.tooltip.manual.markText]
+title = "标记文本工具"
+text = "在 PDF 上直接选择文本以标记为涂黑。单击并拖动以高亮您想要涂黑的特定文本。"
+
+[redact.tooltip.manual.markArea]
+title = "标记区域工具"
+text = "在 PDF 上绘制矩形区域以标记为涂黑。适合涂黑图像、签名或不规则形状。"
+
+[redact.tooltip.manual.apply]
+title = "应用涂黑"
+text = "标记内容后,点击“应用”以永久涂黑所有标记区域。待处理计数显示有多少涂黑可应用。"
+bullet1 = "在应用前可尽情标记多个区域"
+bullet2 = "所有待处理的涂黑将一次性应用"
+bullet3 = "应用后无法撤销涂黑"
+
[redact.manual]
+title = "涂黑工具"
+instructions = "在 PDF 上选择文本或绘制区域以标记要涂黑的内容。"
+markText = "标记文本"
+markArea = "标记区域"
+pendingLabel = "待处理:"
+applyWarning = "⚠️ 将永久应用,无法撤销,且底层数据将被删除"
+apply = "应用"
+noMarks = "暂无涂黑标记。使用上方工具标记要涂黑的内容。"
header = "手动遮盖"
+controlsTitle = "手动涂黑控制"
textBasedRedaction = "基于文本的遮盖"
pageBasedRedaction = "基于页面的遮盖"
convertPDFToImageLabel = "将 PDF 转为 PDF-Image(用于移除框后面的文本)"
@@ -3406,17 +3462,17 @@ label = "གྱེན་ཕྱོགས་བགོ་བཤའ།"
placeholder = "གྱེན་ཕྱོགས་བགོ་བཤའི་གྲངས་ཀ་འཇུག་པ།"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "拆分模式"
+description = "选择如何拆分页面"
+splitAll = "拆分所有页面"
+splitAllExceptFirst = "除第一页外全部拆分"
+splitAllExceptLast = "除最后一页外全部拆分"
+splitAllExceptFirstAndLast = "除首尾页外全部拆分"
+custom = "自定义页面"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "自定义页码"
+placeholder = "例如 2,4,6"
[AddStampRequest]
tags = "ཐེལ་ཙེ།,པར་རིས་སྣོན་པ།,དཀྱིལ་སྒྲིག་པར་རིས།,ཆུ་རྟགས།,PDF,ནང་འཇུག,རང་སྒྲིག,སྒྲིག་སྦྱོར།"
@@ -3780,17 +3836,17 @@ filesize = "文件大小"
label = "应用灰度进行压缩"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "线性化 PDF 以便快速网页浏览"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "将图像转换为线稿"
+description = "使用 ImageMagick 将页面转换为高对比度的黑白线稿,以最大限度减小体积。"
+unavailable = "此服务器未安装或未启用 ImageMagick"
+detailLevel = "细节级别"
+edgeEmphasis = "边缘强化"
+edgeLow = "柔和"
+edgeMedium = "平衡"
+edgeHigh = "强"
[compress.tooltip.header]
title = "压缩设置概览"
@@ -3810,8 +3866,8 @@ title = "灰度"
text = "选择此选项可将所有图像转换为黑白,这对扫描 PDF 或图像较多的文档可显著减小文件大小。"
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "线稿"
+text = "使用 ImageMagick 将页面转换为高对比度黑白。通过细节级别控制有多少内容变为黑色,通过边缘强化控制边缘检测的强度。"
[compress.error]
failed = "压缩 PDF 时发生错误。"
@@ -3826,9 +3882,9 @@ _value = "压缩设置"
1 = "1-3 PDF 压缩, 4-6 轻度图像压缩, 7-9 强烈图像压缩 会显著降低图像质量"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "数值越低越保真,但文件更大"
+range4to6 = "中等压缩,质量适度下降"
+range7to9 = "更高数值可显著减小文件大小,但可能降低图像清晰度"
[decrypt]
passwordPrompt = "ཡིག་ཆ་འདི་གསང་ཚིག་གིས་སྲུང་སྐྱོབ་བྱས་ཡོད། གསང་ཚིག་འཇུག་རོགས།"
@@ -4069,7 +4125,7 @@ deleteSelected = "删除所选页面"
closePdf = "关闭 PDF"
exportAll = "导出 PDF"
downloadSelected = "下载所选文件"
-annotations = "Annotations"
+annotations = "注释"
exportSelected = "导出所选页面"
saveChanges = "保存更改"
toggleTheme = "切换主题"
@@ -4077,84 +4133,90 @@ language = "语言"
toggleAnnotations = "切换注释可见性"
search = "搜索 PDF"
panMode = "平移模式"
+applyRedactionsFirst = "请先应用涂黑"
rotateLeft = "向左旋转"
rotateRight = "向右旋转"
toggleSidebar = "切换侧边栏"
toggleBookmarks = "切换书签"
print = "打印 PDF"
+draw = "绘制"
+redact = "涂黑"
+exitRedaction = "退出涂黑模式"
+save = "保存"
downloadAll = "全部下载"
saveAll = "全部保存"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "左对齐"
+center = "居中"
+right = "右对齐"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "注释"
+desc = "使用高亮、画笔、文本和便签。更改实时生效——无需扁平化。"
+highlight = "高亮"
+pen = "画笔"
+text = "文本框"
+note = "便签"
+rectangle = "矩形"
+ellipse = "椭圆"
+select = "选择"
+exit = "退出注释模式"
+strokeWidth = "宽度"
+opacity = "不透明度"
+strokeOpacity = "描边不透明度"
+fillOpacity = "填充不透明度"
+fontSize = "字号"
+chooseColor = "选择颜色"
+color = "颜色"
+strokeColor = "描边颜色"
+fillColor = "填充颜色"
+underline = "下划线"
+strikeout = "删除线"
+squiggly = "波浪线"
+inkHighlighter = "自由手高亮"
+freehandHighlighter = "自由手高亮"
+square = "正方形"
+circle = "圆形"
+polygon = "多边形"
+line = "直线"
+stamp = "添加图像"
+textMarkup = "文本标注"
+drawing = "绘图"
+shapes = "形状"
+notesStamps = "便签与图章"
+settings = "设置"
+borderOn = "边框:开"
+borderOff = "边框:关"
+editInk = "编辑画笔"
+editLine = "编辑直线"
+editNote = "编辑便签"
+editText = "编辑文本框"
+editTextMarkup = "编辑文本标注"
+editSelected = "编辑注释"
+editSquare = "编辑正方形"
+editCircle = "编辑圆形"
+editPolygon = "编辑多边形"
+unsupportedType = "此注释类型暂不完全支持编辑。"
+textAlignment = "文本对齐"
+noteIcon = "便签图标"
+imagePreview = "预览"
+contents = "文本"
+backgroundColor = "背景颜色"
+clearBackground = "移除背景"
+noBackground = "无背景"
+stampSettings = "图章设置"
+savingCopy = "正在准备下载..."
+saveFailed = "无法保存副本"
+saveReady = "下载已准备好"
+selectAndMove = "选择并编辑"
+editSelectDescription = "单击现有注释以编辑其颜色、不透明度、文本或大小。"
+editStampHint = "若要更换图像,请删除此图章并重新添加。"
+editSwitchToSelect = "切换到“选择并编辑”以编辑此注释。"
+undo = "撤销"
+redo = "重做"
+applyChanges = "应用更改"
+saveChanges = "保存更改"
[search]
title = "搜索 PDF"
@@ -4205,20 +4267,20 @@ settings = "设置"
adminSettings = "管理员设置"
allTools = "All Tools"
reader = "阅读器"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "导览"
+showMeAround = "带我看看"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "在此观看演示:工具导览、V2 新布局导览,以及管理员导览。"
+user = "在此观看演示:工具导览和 V2 新布局导览。"
[quickAccess.helpMenu]
toolsTour = "工具导览"
toolsTourDesc = "了解这些工具能做什么"
adminTour = "管理导览"
adminTourDesc = "探索管理设置与功能"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "查看 V2 的新变化"
+whatsNewTourDesc = "导览更新后的布局"
[admin]
error = "错误"
@@ -4237,6 +4299,8 @@ fetchError = "加载设置失败"
saveError = "保存设置失败"
saved = "设置保存成功"
saveSuccess = "设置保存成功"
+success = "设置保存成功"
+error = "设置保存失败"
save = "保存更改"
discard = "放弃"
restartRequired = "需要重启"
@@ -4360,6 +4424,13 @@ description = "WeasyPrint 可执行文件的路径,用于 HTML 转 PDF(留
label = "Unoconvert 可执行文件"
description = "LibreOffice unoconvert 的路径,用于文档转换(留空使用默认:/opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "前端 URL"
+description = "前端的基础 URL(例如 https://pdf.example.com)。用于邮件邀请链接和移动端 QR 码上传。留空则使用后端 URL。"
+
+[admin.settings.badge]
+clickToUpgrade = "点击查看方案详情"
+
[admin.settings.security]
title = "安全"
description = "配置身份验证、登录行为和安全策略。"
@@ -4496,6 +4567,19 @@ connect = "连接"
disconnect = "断开连接"
disconnected = "已成功断开提供方"
disconnectError = "断开提供方失败"
+mobileScannerConvertToPdf = "将图像转换为 PDF"
+mobileScannerConvertToPdfDesc = "自动将上传的图像转换为 PDF 格式。若禁用,图像将保持原样。"
+mobileScannerImageResolution = "图像分辨率"
+mobileScannerImageResolutionDesc = "上传图像的分辨率。“缩小”会将图像缩放到最长边 1200px 以减小文件大小。"
+imageResolutionFull = "完整(原始大小)"
+imageResolutionReduced = "缩小(最大 1200px)"
+mobileScannerPageFormat = "页面格式"
+mobileScannerPageFormatDesc = "转换后图像的 PDF 页面尺寸。“保留”使用原始图像尺寸。"
+pageFormatKeep = "保留(原始尺寸)"
+pageFormatA4 = "A4(210×297mm)"
+pageFormatLetter = "信纸(8.5×11 英寸)"
+mobileScannerStretchToFit = "拉伸以适配"
+mobileScannerStretchToFitDesc = "将图像拉伸以填满整页。禁用时,图像会在保持纵横比的情况下居中。"
[admin.settings.connections.ssoAutoLogin]
label = "SSO 自动登录"
@@ -4564,6 +4648,122 @@ description = "首次使用 SAML2 登录时自动创建用户账号"
label = "阻止注册"
description = "阻止通过 SAML2 进行新用户注册"
+[admin.settings.connections.mobileScanner]
+label = "手机上传"
+enable = "启用 QR 码上传"
+description = "允许用户通过扫描 QR 码从移动设备上传文件"
+note = "注意:需要先配置前端 URL。 "
+link = "在系统设置中配置"
+mobileScannerConvertToPdf = "将图像转换为 PDF"
+mobileScannerConvertToPdfDesc = "自动将上传的图像转换为 PDF 格式。若禁用,图像将保持原样。"
+mobileScannerImageResolution = "图像分辨率"
+mobileScannerImageResolutionDesc = "上传图像的分辨率。“缩小”会将图像缩放到最长边 1200px 以减小文件大小。"
+imageResolutionFull = "完整(原始大小)"
+imageResolutionReduced = "缩小(最大 1200px)"
+mobileScannerPageFormat = "页面格式"
+mobileScannerPageFormatDesc = "转换后图像的 PDF 页面尺寸。“保留”使用原始图像尺寸。"
+pageFormatKeep = "保留(原始尺寸)"
+pageFormatA4 = "A4(210×297mm)"
+pageFormatLetter = "信纸(8.5×11 英寸)"
+mobileScannerStretchToFit = "拉伸以适配"
+mobileScannerStretchToFitDesc = "将图像拉伸以填满整页。禁用时,图像会在保持纵横比的情况下居中。"
+
+[admin.settings.telegram]
+title = "Telegram 机器人"
+description = "配置 Telegram 机器人连接、访问控制和反馈行为。"
+
+[admin.settings.telegram.enabled]
+label = "启用 Telegram 机器人"
+description = "允许用户通过您配置的 Telegram 机器人与 Stirling PDF 交互。"
+
+[admin.settings.telegram.botUsername]
+label = "机器人用户名"
+description = "您的 Telegram 机器人的公共用户名。"
+
+[admin.settings.telegram.botToken]
+label = "机器人令牌"
+description = "由 BotFather 提供的 Telegram 机器人 API 令牌。"
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "收件文件夹"
+description = "pipeline 目录下用于存放来自 Telegram 的传入文件的文件夹。"
+
+[admin.settings.telegram.customFolderSuffix]
+label = "使用自定义文件夹后缀"
+description = "将聊天 ID 附加到传入文件文件夹中,以按聊天隔离上传。"
+
+[admin.settings.telegram.accessControl]
+title = "访问控制"
+description = "限制哪些用户或频道可与机器人交互。"
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "仅允许特定用户 ID"
+description = "启用后,仅列出的用户 ID 可使用该机器人。"
+
+[admin.settings.telegram.allowUserIDs]
+label = "允许的用户 ID"
+description = "输入允许与机器人交互的 Telegram 用户 ID。"
+placeholder = "添加用户 ID 并按回车"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "仅允许特定频道 ID"
+description = "启用后,仅列出的频道 ID 可使用该机器人。"
+
+[admin.settings.telegram.allowChannelIDs]
+label = "允许的频道 ID"
+description = "输入允许与机器人交互的 Telegram 频道 ID。"
+placeholder = "添加频道 ID 并按回车"
+
+[admin.settings.telegram.processing]
+title = "处理"
+description = "控制 Telegram 上传的轮询间隔与处理超时。"
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "处理超时(秒)"
+description = "在报告错误前等待处理作业的最长时间。"
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "轮询间隔(毫秒)"
+description = "检查新的 Telegram 更新之间的间隔。"
+
+[admin.settings.telegram.feedback]
+title = "反馈消息"
+description = "选择机器人何时向用户和频道发送反馈。"
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "启用反馈"
+description = "控制机器人是否发送反馈消息。"
+
+[admin.settings.telegram.feedback.channel]
+title = "频道反馈规则"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "显示“无有效文档”(频道)"
+description = "对频道上传抑制“无有效文档”的响应。"
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "显示处理错误(频道)"
+description = "向频道发送处理错误消息。"
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "显示错误消息(频道)"
+description = "为频道显示详细错误消息。"
+
+[admin.settings.telegram.feedback.user]
+title = "用户反馈规则"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "显示“无有效文档”(用户)"
+description = "对用户上传抑制“无有效文档”的响应。"
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "显示处理错误(用户)"
+description = "向用户发送处理错误消息。"
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "显示错误消息(用户)"
+description = "为用户显示详细错误消息。"
+
[admin.settings.database]
title = "数据库"
description = "为企业部署配置自定义数据库连接设置。"
@@ -4745,6 +4945,10 @@ description = "允许管理员通过邮件邀请用户,并自动生成密码"
label = "前端 URL"
description = "前端的基础 URL(例如:https://pdf.example.com)。用于在邮件中生成邀请链接。留空则使用后端 URL。"
+[admin.settings.mail.frontendUrlNote]
+note = "注意:需要先配置前端 URL。 "
+link = "在系统设置中配置"
+
[admin.settings.legal]
title = "法律文档"
description = "配置法律文档与政策的链接。"
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
myFiles = "我的文件"
noRecentFiles = "未找到最近文件"
googleDriveNotAvailable = "Google Drive 集成不可用"
+mobileUpload = "手机上传"
+mobileShort = "手机"
+mobileUploadNotAvailable = "未启用手机上传"
downloadSelected = "下载所选"
saveSelected = "保存所选"
openFiles = "打开文件"
@@ -5244,7 +5451,7 @@ loading = "正在加载..."
back = "返回"
continue = "继续"
error = "错误"
-save = "Save"
+save = "保存"
[config.overview]
title = "应用配置"
@@ -5307,6 +5514,15 @@ impact = "任何当前使用这些密钥的应用或服务将停止工作,直
confirmPrompt = "确定要继续吗?"
confirmCta = "刷新密钥"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "API 密钥错误"
+failedToCreateApiKey = "创建 API 密钥失败。"
+failedToRetrieveApiKey = "无法从响应中获取 API 密钥。"
+failedToFetchApiKey = "获取 API 密钥失败。"
+apiKeyRefreshed = "API 密钥已刷新"
+apiKeyRefreshedBody = "您的 API 密钥已成功刷新。"
+failedToRefreshApiKey = "刷新 API 密钥失败。"
+
[AddAttachmentsRequest]
attachments = "选择附件"
info = "选择要附加到 PDF 的文件。这些文件将被嵌入,并可通过 PDF 的附件面板访问。"
@@ -5412,14 +5628,14 @@ startTour = "开始导览"
startTourDescription = "带您了解 Stirling PDF 的关键功能"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "从 快速访问 侧栏开始,可在阅读器、自动化、您的文件和所有导览之间快速切换。"
+leftPanel = "左侧的工具面板列出了所有功能。可按类别浏览或搜索快速找到工具。"
+fileUpload = "使用文件按钮上传或选择最近的 PDF。我们会加载一个示例以展示工作区。"
+rightRail = "右侧栏包含选择文件、更改主题或语言以及下载结果的快捷操作。"
+topBar = "顶部栏可在查看器、页面编辑器和活动文件之间切换。"
+pageEditorView = "切换到页面编辑器以重新排序、旋转或删除页面。"
+activeFilesView = "使用活动文件查看所有已打开的内容并选择要处理的文件。"
+wrapUp = "这就是 V2 的新内容。随时打开导览菜单重播本导览、工具导览或管理员导览。"
[onboarding.welcomeModal]
title = "欢迎使用 Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "带我看看"
skipTheTour = "跳过引导"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "导览概述"
+body = "Stirling PDF V2 提供数十种工具和焕新的布局。快速导览可帮助您了解变化以及如何找到所需功能。"
[onboarding.serverLicense]
skip = "暂时跳过"
@@ -5452,7 +5668,7 @@ upgrade = "立即升级 →"
freeTitle = "服务器许可证"
overLimitTitle = "需要服务器许可证"
overLimitBody = "我们的许可每台服务器最多允许 {{freeTierLimit}} 名用户免费使用。您共有 {{overLimitUserCopy}} 名 Stirling 用户。为避免中断,请升级到 Stirling Server 方案 - 无限席位、PDF 文本编辑,以及每台服务器 $99/月 的完整管理员控制。"
-freeBody = "我们的Open-Core许可允许每台服务器最多{{freeTierLimit}}名用户免费使用。为实现不中断的扩展,我们推荐 Stirling Server 方案 - 不限席位并提供SSO 支持,$99/服务器/月。"
+freeBody = "我们的 开源内核(Open-Core) 许可允许每台服务器最多 {{freeTierLimit}} 名用户免费使用。为顺畅扩展并抢先体验全新的 PDF 文本编辑工具,我们推荐 Stirling Server 方案 - 完整编辑与 无限席位,$99/服务器/月。"
[onboarding.desktopInstall]
title = "下载"
@@ -5758,28 +5974,28 @@ contactSales = "联系销售"
contactToUpgrade = "联系我们以升级或自定义您的套餐"
maxUsers = "最大用户数"
upTo = "最多"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "获取服务器许可证"
+upgradeToEnterprise = "升级到企业版"
+selectPeriod = "选择计费周期"
+monthlyBilling = "按月计费"
+yearlyBilling = "按年计费"
+checkoutOpened = "已打开结账"
+checkoutInstructions = "在 Stripe 选项卡中完成购买。付款后返回此处并刷新页面以激活您的许可证。您也会收到含许可证密钥的电子邮件。"
+activateLicense = "激活您的许可证"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "在新标签页中打开了结账"
+instructions = "在 Stripe 标签页中完成购买。付款完成后,您将收到包含许可证密钥的电子邮件。"
+enterKey = "在下方输入您的许可证密钥以激活您的方案:"
+keyDescription = "粘贴您邮件中的许可证密钥"
+activate = "激活许可证"
+doLater = "稍后再做"
+success = "许可证已激活!"
+successMessage = "您的许可证已成功激活。您现在可以关闭此窗口。"
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "需要邮箱验证"
+message = "您需要在 Stripe 账单门户中验证您的邮箱地址。请检查邮箱获取登录链接。"
[plan.period]
month = "月"
@@ -5983,8 +6199,8 @@ notAvailable = "审计系统不可用"
notAvailableMessage = "审计系统未配置或不可用。"
disabled = "已禁用审计日志"
disabledMessage = "请在应用配置中启用审计日志以跟踪系统事件。"
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "需要企业版许可证"
+enterpriseRequiredMessage = "审计日志系统是企业功能。请升级到企业版许可证以访问审计日志和分析功能。"
[audit.error]
title = "加载审计系统时出错"
@@ -6156,6 +6372,7 @@ description = "输入自托管 Stirling PDF 服务器的完整 URL"
[setup.server.error]
emptyUrl = "请输入服务器 URL"
+invalidUrl = "URL 格式无效。请输入有效的 URL,例如 https://your-server.com"
unreachable = "无法连接到服务器"
testFailed = "连接测试失败"
configFetch = "获取服务器配置失败。请检查 URL 后重试。"
@@ -6174,6 +6391,7 @@ connectingTo = "正在连接:"
submit = "登录"
signInWith = "登录方式"
oauthPending = "正在打开浏览器进行认证..."
+sso = "单点登录"
orContinueWith = "或使用邮箱继续"
serverRequirement = "注意:服务器必须启用登录功能。"
showInstructions = "如何启用?"
@@ -6239,8 +6457,8 @@ reset = "重置更改"
downloadJson = "下载 JSON"
generatePdf = "生成 PDF"
saveChanges = "保存更改"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "应用更改"
+downloadCopy = "下载副本"
[pdfTextEditor.options.autoScaleText]
title = "自动缩放文本以适配框"
@@ -6260,22 +6478,22 @@ title = "将已编辑文本锁定为单个 PDF 元素"
description = "启用后,导出时每个已编辑文本框将作为一个 PDF 文本元素,以避免字形重叠或字体混杂。"
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "高级设置"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "预览限制"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "文本与图像重点"
+text = "此工作区侧重于编辑文本和重新定位嵌入图像。复杂的页面图形、表单控件和分层图形会在导出时保留,但在此处不可完全编辑。"
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "预览差异"
+text = "某些视觉元素(如表格边框、形状或注释外观)在预览中可能不完全一致。导出的 PDF 会尽可能保留原始绘制指令。"
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Alpha 查看器"
+text = "该 Alpha 查看器仍在完善——某些字体、颜色、透明效果和布局细节可能略有变化。请在分享前仔细检查生成的 PDF。"
[pdfTextEditor.manual]
mergeTooltip = "合并所选框"
@@ -6398,3 +6616,58 @@ title = "添加文本结果"
[addText.error]
failed = "向 PDF 添加文本时发生错误。"
+
+[mobileUpload]
+title = "从手机上传"
+description = "扫码上传照片。图像将自动转换为 PDF。"
+descriptionNoConvert = "从移动设备扫码上传照片。"
+error = "连接错误"
+pollingError = "检查文件时出错"
+sessionId = "会话 ID"
+sessionCreateError = "创建会话失败"
+expiryWarning = "会话即将过期"
+expiryWarningMessage = "此 QR 码将在 {{seconds}} 秒后过期。将自动生成新代码。"
+filesReceived = "已接收 {{count}} 个文件"
+connected = "移动设备已连接"
+instructions = "用手机相机扫描。图像会自动转换为 PDF。"
+instructionsNoConvert = "用手机相机扫描以上传文件。"
+
+[mobileScanner]
+title = "手机扫描器"
+noSession = "无效的会话"
+noSessionMessage = "请扫描有效的 QR 码以访问此页面。"
+validating = "正在验证会话..."
+sessionInvalid = "会话错误"
+sessionExpired = "此会话已过期。请刷新后重试。"
+sessionNotFound = "未找到会话。请刷新后重试。"
+sessionValidationError = "无法验证会话。请重试。"
+uploadSuccess = "上传成功!"
+uploadSuccessMessage = "您的图像已传输。"
+httpsRequired = "相机访问需要 HTTPS 或 localhost。请使用 HTTPS 或通过 localhost 访问。"
+uploadFailed = "上传失败,请重试。"
+uploading = "正在上传..."
+connected = "已连接"
+connecting = "正在连接..."
+chooseMethod = "选择上传方式"
+chooseMethodDescription = "选择您希望如何扫描并上传文档"
+camera = "相机"
+cameraDescription = "使用设备相机扫描文档,自动边缘检测"
+fileUpload = "文件上传"
+fileDescription = "从设备上传现有照片或文档"
+cameraAccessDenied = "相机访问被拒。请启用相机权限。"
+back = "返回"
+settings = "设置"
+edgeDetection = "边缘检测"
+flashlight = "手电筒"
+flash = "闪光灯"
+processing = "正在处理..."
+capture = "拍照"
+selectFilesPrompt = "选择要上传的文件"
+selectImage = "选择图像"
+preview = "预览"
+retake = "重拍"
+addToBatch = "加入批次"
+upload = "上传"
+batchImages = "批次"
+clearBatch = "清空"
+uploadAll = "全部上传"
diff --git a/frontend/public/locales/zh-CN/translation.toml b/frontend/public/locales/zh-CN/translation.toml
index b744affe8..260810df7 100644
--- a/frontend/public/locales/zh-CN/translation.toml
+++ b/frontend/public/locales/zh-CN/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "您的 PDF 有未保存的更改。您想做什么?"
+pendingRedactionsTitle = "未应用的涂黑"
+pendingRedactions = "您有未应用的涂黑操作,这些将会丢失。"
areYouSure = "确定要离开吗?"
unsavedChangesTitle = "未保存的更改"
keepWorking = "继续工作"
discardChanges = "放弃更改"
+discardRedactions = "放弃并离开"
applyAndContinue = "应用并继续"
exportAndContinue = "导出并继续"
cancel = "取消"
@@ -364,6 +367,7 @@ advanced = "高级"
title = "安全与认证"
security = "安全"
connections = "连接"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "许可与分析"
@@ -438,25 +442,34 @@ currentVersion = "当前版本"
latestVersion = "最新版本"
checkForUpdates = "检查更新"
viewDetails = "查看详情"
+serverNeedsUpdate = "需要管理员更新服务器"
+
+[settings.general.versionInfo]
+title = "版本信息"
+description = "桌面端与服务器版本详情"
+desktop = "桌面版本"
+server = "服务器版本"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "安全"
+description = "更新密码以保障您的账户安全。"
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "更改您的密码。更新后您将被登出。"
+required = "所有字段均为必填。"
+mismatch = "新密码不匹配。"
+error = "无法更新密码。请验证您当前的密码后重试。"
+success = "密码更新成功。请重新登录。"
+ssoDisabled = "密码更改由您的身份提供商管理。"
+current = "当前密码"
+currentPlaceholder = "输入当前密码"
+new = "新密码"
+newPlaceholder = "输入新密码"
+confirm = "确认新密码"
+confirmPlaceholder = "再次输入新密码"
+update = "更新密码"
+
+
[settings.hotkeys]
title = "键盘快捷键"
@@ -511,16 +524,16 @@ low = "低"
title = "更改凭证"
header = "更新您的账户详情"
changePassword = "您正在使用默认登录凭证,请输入新密码"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "您的账户由您的身份提供商管理。"
newUsername = "新用户名"
oldPassword = "当前密码"
newPassword = "新密码"
confirmNewPassword = "确认新密码"
submit = "提交更改"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "账户已更新"
+description = "更改已保存。请重新登录。"
+error = "无法更新用户名。请验证您的密码后重试。"
+changeUsername = "更新您的用户名。更新后您将被登出。"
[account]
title = "账号设定"
@@ -528,6 +541,8 @@ accountSettings = "账号设定"
adminSettings = "管理员设置 - 查看和添加用户"
userControlSettings = "用户控制设置"
changeUsername = "更改用户名"
+changeUsernameDescription = "更新您的用户名。更新后您将被登出。"
+newUsernamePlaceholder = "输入新的用户名"
newUsername = "新用户名"
password = "确认密码"
oldPassword = "旧密码"
@@ -737,9 +752,9 @@ title = "签名"
desc = "通过绘图、文字或图像向 PDF 添加签名"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "注释,高亮,绘制"
+title = "注释"
+desc = "在查看器中高亮、绘制、添加便笺与形状"
[home.flatten]
tags = "简化,删除,交互式"
@@ -952,7 +967,7 @@ title = "叠加 PDF"
[home.pdfTextEditor]
title = "PDF 文本编辑器"
-desc = "编辑 PDF 中的现有文本和图像"
+desc = "审阅并编辑 Stirling PDF 导出的 JSON,支持分组文本编辑并重新生成 PDF"
[home.addText]
tags = "文本,注释,标签"
@@ -963,6 +978,7 @@ desc = "在 PDF 任意位置添加自定义文本"
addFiles = "添加文件"
uploadFromComputer = "从电脑上传"
openFromComputer = "从电脑打开"
+mobileUpload = "从手机上传"
[viewPdf]
tags = "浏览、阅读、注释、文本、图像"
@@ -1278,21 +1294,33 @@ cbzOptions = "CBZ 转 PDF 选项"
optimizeForEbook = "为电子书阅读器优化 PDF(使用 Ghostscript)"
cbzOutputOptions = "PDF 转 CBZ 选项"
cbzDpi = "图像渲染的 DPI"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "CBR 选项"
+cbrOutputOptions = "PDF 转 CBR 选项"
+cbrDpi = "用于图像渲染的 DPI"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "电子书转 PDF 选项"
+ebookOptionsDesc = "将电子书转换为 PDF 的选项"
+embedAllFonts = "嵌入所有字体"
+embedAllFontsDesc = "将电子书中的所有字体嵌入到生成的 PDF 中"
+includeTableOfContents = "包含目录"
+includeTableOfContentsDesc = "在生成的 PDF 中添加自动生成的目录"
+includePageNumbers = "包含页码"
+includePageNumbersDesc = "为生成的 PDF 添加页码"
+optimizeForEbookPdf = "为电子书阅读器优化"
+optimizeForEbookPdfDesc = "为电子书阅读优化 PDF(更小的文件大小,在 eInk 设备上有更好的渲染)"
+
+[convert.epubOptions]
+epubOptions = "PDF 转电子书选项"
+epubOptionsDesc = "将 PDF 转换为 EPUB/AZW3 的选项"
+detectChapters = "检测章节"
+detectChaptersDesc = "检测类似章节的标题并插入 EPUB 分页"
+targetDevice = "目标设备"
+targetDeviceDesc = "选择为阅读设备优化的输出配置"
+outputFormat = "输出格式"
+outputFormatDesc = "选择电子书的输出格式"
+tabletPhone = "平板/手机(含图像)"
+kindleEink = "Kindle e-Ink(文本优化)"
[imageToPdf]
tags = "转换、图像、JPG、图片、照片"
@@ -1409,11 +1437,11 @@ header = "添加附件"
add = "添加附件"
remove = "移除附件"
embed = "嵌入附件"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "转换为 PDF/A-3b"
+convertToPdfA3bDescription = "创建带有嵌入附件的归档 PDF"
+convertToPdfA3bTooltip = "PDF/A-3b 是一种保证长期保存的归档格式。它允许将任意文件格式作为附件嵌入。转换需要 Ghostscript,对于大文件可能耗时更长。"
+convertToPdfA3bTooltipHeader = "关于 PDF/A-3b 转换"
+convertToPdfA3bTooltipTitle = "功能说明"
submit = "添加附件"
[watermark]
@@ -2359,10 +2387,10 @@ saved = "已保存"
label = "上传签名图像"
placeholder = "选择图像文件"
hint = "上传 PNG 或 JPG 格式的签名图像"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "移除白色背景(变为透明)"
+processing = "正在处理图像..."
+backgroundRemovalFailedTitle = "背景移除失败"
+backgroundRemovalFailedMessage = "无法移除图像背景。将改用原始图像。"
[sign.instructions]
title = "如何添加签名"
@@ -2409,9 +2437,9 @@ label = "仅扁平化表单"
desc = "仅扁平化表单字段,保留其他交互元素"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "渲染 DPI(可选,建议 150 DPI)"
+help = "留空以使用系统默认值。更高的 DPI 会使输出更清晰,但会增加处理时间和文件大小。"
+placeholder = "例如 150"
[flatten.results]
title = "扁平化结果"
@@ -2652,7 +2680,7 @@ chooseP12File = "选择 PKCS12 文件"
choosePfxFile = "选择 PFX 文件"
choosePrivateKey = "选择私钥文件"
location = "位置"
-logoTitle = "徽标"
+logoTitle = "Logo"
name = "名称"
noLogo = "无 Logo"
pageNumber = "页码"
@@ -2987,7 +3015,7 @@ header = "裁剪 PDF"
submit = "提交"
noFileSelected = "选择一个 PDF 文件开始裁剪"
reset = "重置为整页"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "自动裁剪空白"
[crop.preview]
title = "裁剪区域选择"
@@ -3218,6 +3246,7 @@ title = "涂黑方式"
mode = "模式"
automatic = "自动"
automaticDesc = "基于搜索词涂黑文本"
+automaticDisabledTooltip = "在文件管理器中选择文件以一次涂黑多个文件"
manual = "手动"
manualDesc = "点击并拖拽以涂黑特定区域"
manualComingSoon = "手动涂黑即将推出"
@@ -3288,8 +3317,35 @@ text = "仅匹配完整单词,而非部分匹配。启用后,“John”不
title = "转为图像 PDF"
text = "在涂黑后将 PDF 转换为基于图像的 PDF。确保框下文字被完全移除且不可恢复。"
+[redact.tooltip.manual.header]
+title = "手动涂黑控制"
+
+[redact.tooltip.manual.markText]
+title = "标记文本工具"
+text = "在 PDF 上直接选择文本以标记为涂黑。单击并拖动以高亮需要涂黑的文本。"
+
+[redact.tooltip.manual.markArea]
+title = "标记区域工具"
+text = "在 PDF 上绘制矩形区域以标记涂黑区域。适合涂黑图像、签名或不规则区域。"
+
+[redact.tooltip.manual.apply]
+title = "应用涂黑"
+text = "标记完成后,单击“应用”以永久涂黑所有标记区域。待处理计数显示有多少项准备应用。"
+bullet1 = "在应用前可标记任意数量的区域"
+bullet2 = "所有待处理涂黑将一次性应用"
+bullet3 = "应用后无法撤销涂黑"
+
[redact.manual]
+title = "涂黑工具"
+instructions = "选择文本或绘制区域以标记需要涂黑的内容。"
+markText = "标记文本"
+markArea = "标记区域"
+pendingLabel = "待处理:"
+applyWarning = "⚠️ 永久应用,无法撤销,且底层数据将被删除"
+apply = "应用"
+noMarks = "没有涂黑标记。使用上方工具标记需要涂黑的内容。"
header = "手动涂黑"
+controlsTitle = "手动涂黑控制"
textBasedRedaction = "基于文本的涂黑"
pageBasedRedaction = "基于页面的涂黑"
convertPDFToImageLabel = "将 PDF 转为图像 PDF(用于移除框后面的文字)"
@@ -3406,17 +3462,17 @@ label = "垂直分割"
placeholder = "输入垂直分割数"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "拆分模式"
+description = "选择如何拆分页面"
+splitAll = "拆分所有页面"
+splitAllExceptFirst = "拆分除第一页外的所有页面"
+splitAllExceptLast = "拆分除最后一页外的所有页面"
+splitAllExceptFirstAndLast = "拆分除首尾外的所有页面"
+custom = "自定义页面"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "自定义页码"
+placeholder = "例如 2,4,6"
[AddStampRequest]
tags = "图章、添加图片、图片居中、水印、PDF、嵌入、自定义"
@@ -3780,17 +3836,17 @@ filesize = "文件大小"
label = "应用灰度进行压缩"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "线性化 PDF 以加快网页查看"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "将图像转换为线稿"
+description = "使用 ImageMagick 将页面转换为高对比度的黑白,以最大化体积压缩。"
+unavailable = "此服务器未安装或未启用 ImageMagick"
+detailLevel = "细节级别"
+edgeEmphasis = "边缘强调"
+edgeLow = "柔和"
+edgeMedium = "均衡"
+edgeHigh = "强"
[compress.tooltip.header]
title = "压缩设置概览"
@@ -3810,8 +3866,8 @@ title = "灰度"
text = "选择此选项将所有图像转换为黑白,这对扫描 PDF 或图片较多的文档可显著减小体积。"
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "线稿"
+text = "使用 ImageMagick 将页面转换为高对比度黑白。通过细节级别控制有多少内容变为黑色,通过边缘强调控制边缘检测的强度。"
[compress.error]
failed = "压缩 PDF 时发生错误。"
@@ -3826,9 +3882,9 @@ _value = "压缩设置"
1 = "1-3 PDF 压缩, 4-6 轻度图像压缩, 7-9 深度图像压缩(将显著降低图像质量)"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "较低的值可保留质量但文件更大"
+range4to6 = "中等压缩,质量适度下降"
+range7to9 = "较高的值可显著减小体积,但可能降低图像清晰度"
[decrypt]
passwordPrompt = "此文件受密码保护。请输入密码:"
@@ -4069,7 +4125,7 @@ deleteSelected = "删除所选页面"
closePdf = "关闭 PDF"
exportAll = "导出 PDF"
downloadSelected = "下载所选文件"
-annotations = "Annotations"
+annotations = "注释"
exportSelected = "导出所选页面"
saveChanges = "保存更改"
toggleTheme = "切换主题"
@@ -4077,84 +4133,90 @@ language = "语言"
toggleAnnotations = "切换注释可见性"
search = "搜索 PDF"
panMode = "平移模式"
+applyRedactionsFirst = "请先应用涂黑"
rotateLeft = "向左旋转"
rotateRight = "向右旋转"
toggleSidebar = "切换侧边栏"
toggleBookmarks = "切换书签"
print = "打印 PDF"
+draw = "绘制"
+redact = "涂黑"
+exitRedaction = "退出涂黑模式"
+save = "保存"
downloadAll = "全部下载"
saveAll = "全部保存"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "左对齐"
+center = "居中"
+right = "右对齐"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "注释"
+desc = "使用高亮、画笔、文本和便笺。更改实时生效——无需合并层。"
+highlight = "高亮"
+pen = "画笔"
+text = "文本框"
+note = "便笺"
+rectangle = "矩形"
+ellipse = "椭圆"
+select = "选择"
+exit = "退出注释模式"
+strokeWidth = "线宽"
+opacity = "不透明度"
+strokeOpacity = "描边不透明度"
+fillOpacity = "填充不透明度"
+fontSize = "字体大小"
+chooseColor = "选择颜色"
+color = "颜色"
+strokeColor = "描边颜色"
+fillColor = "填充颜色"
+underline = "下划线"
+strikeout = "删除线"
+squiggly = "波浪线"
+inkHighlighter = "手绘高亮"
+freehandHighlighter = "手绘高亮"
+square = "正方形"
+circle = "圆形"
+polygon = "多边形"
+line = "直线"
+stamp = "添加图像"
+textMarkup = "文本标注"
+drawing = "绘图"
+shapes = "形状"
+notesStamps = "便笺与图章"
+settings = "设置"
+borderOn = "边框:开"
+borderOff = "边框:关"
+editInk = "编辑画笔"
+editLine = "编辑直线"
+editNote = "编辑便笺"
+editText = "编辑文本框"
+editTextMarkup = "编辑文本标注"
+editSelected = "编辑注释"
+editSquare = "编辑正方形"
+editCircle = "编辑圆形"
+editPolygon = "编辑多边形"
+unsupportedType = "此注释类型暂不完全支持编辑。"
+textAlignment = "文本对齐"
+noteIcon = "便笺图标"
+imagePreview = "预览"
+contents = "文本"
+backgroundColor = "背景颜色"
+clearBackground = "移除背景"
+noBackground = "无背景"
+stampSettings = "图章设置"
+savingCopy = "正在准备下载..."
+saveFailed = "无法保存副本"
+saveReady = "下载已就绪"
+selectAndMove = "选择并编辑"
+editSelectDescription = "单击现有注释以编辑其颜色、不透明度、文本或大小。"
+editStampHint = "要更换图像,请删除此图章并添加新的。"
+editSwitchToSelect = "切换到“选择并编辑”以编辑此注释。"
+undo = "撤销"
+redo = "重做"
+applyChanges = "应用更改"
+saveChanges = "保存更改"
[search]
title = "搜索 PDF"
@@ -4205,20 +4267,20 @@ settings = "设置"
adminSettings = "管理设置"
allTools = "全部工具"
reader = "阅读器"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "导览"
+showMeAround = "带我看看"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "在此观看演示:工具导览、V2 新布局导览,以及管理员导览。"
+user = "在此观看演示:工具导览与 V2 新布局导览。"
[quickAccess.helpMenu]
toolsTour = "工具导览"
toolsTourDesc = "了解这些工具能做什么"
adminTour = "管理导览"
adminTourDesc = "浏览管理设置与功能"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "查看 V2 的新变化"
+whatsNewTourDesc = "浏览更新后的布局"
[admin]
error = "错误"
@@ -4237,6 +4299,8 @@ fetchError = "加载设置失败"
saveError = "保存设置失败"
saved = "设置保存成功"
saveSuccess = "设置保存成功"
+success = "设置保存成功"
+error = "设置保存失败"
save = "保存更改"
discard = "丢弃"
restartRequired = "需要重启"
@@ -4360,6 +4424,13 @@ description = "用于 HTML 转 PDF 的 WeasyPrint 可执行文件路径(留空
label = "Unoconvert 可执行文件"
description = "用于文档转换的 LibreOffice unoconvert 路径(留空为默认:/opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "前端 URL"
+description = "前端的基础 URL(例如:https://pdf.example.com)。用于邮件邀请链接和手机二维码上传。留空则使用后端 URL。"
+
+[admin.settings.badge]
+clickToUpgrade = "点击查看计划详情"
+
[admin.settings.security]
title = "安全"
description = "配置身份验证、登录行为和安全策略。"
@@ -4496,6 +4567,19 @@ connect = "连接"
disconnect = "断开连接"
disconnected = "已成功断开提供商"
disconnectError = "断开提供商失败"
+mobileScannerConvertToPdf = "将图像转换为 PDF"
+mobileScannerConvertToPdfDesc = "自动将上传的图像转换为 PDF 格式。若禁用,图像将保持原样。"
+mobileScannerImageResolution = "图像分辨率"
+mobileScannerImageResolutionDesc = "上传图像的分辨率。“压缩”会将图像缩放至最大 1200px 以减小文件大小。"
+imageResolutionFull = "完整(原始尺寸)"
+imageResolutionReduced = "压缩(最大 1200px)"
+mobileScannerPageFormat = "页面格式"
+mobileScannerPageFormatDesc = "转换后图像的 PDF 页面大小。“保留”将使用原始图像尺寸。"
+pageFormatKeep = "保留(原始尺寸)"
+pageFormatA4 = "A4(210×297mm)"
+pageFormatLetter = "Letter(8.5×11in)"
+mobileScannerStretchToFit = "拉伸以适配"
+mobileScannerStretchToFitDesc = "拉伸图像以填满整页。若禁用,图像将保持纵横比并居中。"
[admin.settings.connections.ssoAutoLogin]
label = "SSO 自动登录"
@@ -4564,6 +4648,122 @@ description = "首次通过 SAML2 登录时自动创建用户账户"
label = "阻止注册"
description = "阻止通过 SAML2 进行新用户注册"
+[admin.settings.connections.mobileScanner]
+label = "手机上传"
+enable = "启用二维码上传"
+description = "允许用户通过扫描二维码从移动设备上传文件"
+note = "注意:需要先配置前端 URL。"
+link = "前往系统设置进行配置"
+mobileScannerConvertToPdf = "将图像转换为 PDF"
+mobileScannerConvertToPdfDesc = "自动将上传的图像转换为 PDF 格式。若禁用,图像将保持原样。"
+mobileScannerImageResolution = "图像分辨率"
+mobileScannerImageResolutionDesc = "上传图像的分辨率。“压缩”会将图像缩放至最大 1200px 以减小文件大小。"
+imageResolutionFull = "完整(原始尺寸)"
+imageResolutionReduced = "压缩(最大 1200px)"
+mobileScannerPageFormat = "页面格式"
+mobileScannerPageFormatDesc = "转换后图像的 PDF 页面大小。“保留”将使用原始图像尺寸。"
+pageFormatKeep = "保留(原始尺寸)"
+pageFormatA4 = "A4(210×297mm)"
+pageFormatLetter = "Letter(8.5×11in)"
+mobileScannerStretchToFit = "拉伸以适配"
+mobileScannerStretchToFitDesc = "拉伸图像以填满整页。若禁用,图像将保持纵横比并居中。"
+
+[admin.settings.telegram]
+title = "Telegram 机器人"
+description = "配置 Telegram 机器人的连接、访问控制和反馈行为。"
+
+[admin.settings.telegram.enabled]
+label = "启用 Telegram 机器人"
+description = "允许用户通过您配置的 Telegram 机器人与 Stirling PDF 交互。"
+
+[admin.settings.telegram.botUsername]
+label = "机器人用户名"
+description = "您的 Telegram 机器人的公开用户名。"
+
+[admin.settings.telegram.botToken]
+label = "机器人令牌"
+description = "由 BotFather 提供的 Telegram 机器人 API 令牌。"
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "收件文件夹"
+description = "管道目录下用于存放来自 Telegram 的传入文件的文件夹。"
+
+[admin.settings.telegram.customFolderSuffix]
+label = "使用自定义文件夹后缀"
+description = "将聊天 ID 追加到传入文件文件夹,以按聊天隔离上传。"
+
+[admin.settings.telegram.accessControl]
+title = "访问控制"
+description = "限制哪些用户或频道可以与机器人交互。"
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "仅允许特定用户 ID"
+description = "启用后,仅列出的用户 ID 可使用机器人。"
+
+[admin.settings.telegram.allowUserIDs]
+label = "允许的用户 ID"
+description = "输入允许与机器人交互的 Telegram 用户 ID。"
+placeholder = "添加用户 ID 并按回车"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "仅允许特定频道 ID"
+description = "启用后,仅列出的频道 ID 可使用机器人。"
+
+[admin.settings.telegram.allowChannelIDs]
+label = "允许的频道 ID"
+description = "输入允许与机器人交互的 Telegram 频道 ID。"
+placeholder = "添加频道 ID 并按回车"
+
+[admin.settings.telegram.processing]
+title = "处理"
+description = "控制 Telegram 上传的轮询间隔与处理超时。"
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "处理超时(秒)"
+description = "等待处理作业的最长时间,超时后报告错误。"
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "轮询间隔(毫秒)"
+description = "检查新的 Telegram 更新之间的间隔。"
+
+[admin.settings.telegram.feedback]
+title = "反馈消息"
+description = "选择机器人何时向用户与频道发送反馈。"
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "启用反馈"
+description = "控制机器人是否发送反馈消息。"
+
+[admin.settings.telegram.feedback.channel]
+title = "频道反馈规则"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "显示“无有效文档”(频道)"
+description = "对频道上传不显示“无有效文档”响应。"
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "显示处理错误(频道)"
+description = "向频道发送处理错误消息。"
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "显示错误消息(频道)"
+description = "向频道显示详细错误消息。"
+
+[admin.settings.telegram.feedback.user]
+title = "用户反馈规则"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "显示“无有效文档”(用户)"
+description = "对用户上传不显示“无有效文档”响应。"
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "显示处理错误(用户)"
+description = "向用户发送处理错误消息。"
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "显示错误消息(用户)"
+description = "向用户显示详细错误消息。"
+
[admin.settings.database]
title = "数据库"
description = "为企业部署配置自定义数据库连接设置。"
@@ -4745,6 +4945,10 @@ description = "允许管理员通过邮件邀请用户并自动生成密码"
label = "前端 URL"
description = "前端基础 URL(例如:https://pdf.example.com)。用于在邮件中生成邀请链接。留空则使用后端 URL。"
+[admin.settings.mail.frontendUrlNote]
+note = "注意:需要先配置前端 URL。"
+link = "前往系统设置进行配置"
+
[admin.settings.legal]
title = "法律文档"
description = "配置法律文档与政策的链接。"
@@ -4925,10 +5129,13 @@ searchFiles = "搜索文件…"
recent = "最近"
localFiles = "本地文件"
googleDrive = "Google 云端硬盘"
-googleDriveShort = "云端硬盘"
+googleDriveShort = "Drive"
myFiles = "我的文件"
noRecentFiles = "未找到最近文件"
googleDriveNotAvailable = "不可使用 Google 云端硬盘集成"
+mobileUpload = "手机上传"
+mobileShort = "手机"
+mobileUploadNotAvailable = "未启用手机上传"
downloadSelected = "下载所选"
saveSelected = "保存已选"
openFiles = "打开文件"
@@ -5244,7 +5451,7 @@ loading = "正在加载..."
back = "返回"
continue = "继续"
error = "错误"
-save = "Save"
+save = "保存"
[config.overview]
title = "应用配置"
@@ -5307,6 +5514,15 @@ impact = "任何当前使用这些密钥的应用或服务将停止工作,直
confirmPrompt = "确定要继续吗?"
confirmCta = "刷新密钥"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "API 密钥错误"
+failedToCreateApiKey = "创建 API 密钥失败。"
+failedToRetrieveApiKey = "从响应中获取 API 密钥失败。"
+failedToFetchApiKey = "获取 API 密钥失败。"
+apiKeyRefreshed = "API 密钥已刷新"
+apiKeyRefreshedBody = "您的 API 密钥已成功刷新。"
+failedToRefreshApiKey = "刷新 API 密钥失败。"
+
[AddAttachmentsRequest]
attachments = "选择附件"
info = "选择要附加到 PDF 的文件。这些文件将被嵌入并可通过 PDF 的附件面板访问。"
@@ -5412,14 +5628,14 @@ startTour = "开始导览"
startTourDescription = "查看 Stirling PDF 的关键功能导览"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "从快速访问栏开始,在阅读器、自动化、您的文件和所有导览之间快速切换。"
+leftPanel = "左侧的工具面板列出所有可用功能。按类别浏览或搜索快速找到工具。"
+fileUpload = "使用文件按钮上传或选择最近的 PDF。我们会加载示例以便您查看工作区。"
+rightRail = "右侧栏用于快速操作:选择文件、更改主题或语言、下载结果。"
+topBar = "顶部栏可在查看器、页面编辑器和活动文件之间切换。"
+pageEditorView = "切换到页面编辑器以重新排序、旋转或删除页面。"
+activeFilesView = "使用活动文件查看所有已打开内容并选择要处理的对象。"
+wrapUp = "以上是 V2 的新变化。随时打开导览菜单重看本导览、工具导览或管理员导览。"
[onboarding.welcomeModal]
title = "欢迎使用 Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "带我看看"
skipTheTour = "跳过导览"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "导览概述"
+body = "Stirling PDF V2 提供数十种工具和焕新的布局。快速导览,了解变化以及如何找到所需功能。"
[onboarding.serverLicense]
skip = "暂时跳过"
@@ -5452,7 +5668,7 @@ upgrade = "立即升级 →"
freeTitle = "服务器许可证"
overLimitTitle = "需要服务器许可证"
overLimitBody = "我们的许可允许每台服务器最多免费 {{freeTierLimit}} 名用户。您有 {{overLimitUserCopy}} 名 Stirling 用户。为不间断使用,请升级至 Stirling Server 方案 - 无限席位、PDF 文本编辑,以及 $99/server/mo 的完整管理员控制。"
-freeBody = "我们的 Open-Core 许可允许每台服务器最多 {{freeTierLimit}} 名用户免费使用。为实现不间断扩展,我们推荐 Stirling Server 方案 - 无限席位 和 SSO 支持,$99/server/mo."
+freeBody = "我们的 Open-Core 许可允许每台服务器最多免费 {{freeTierLimit}} 名用户。为无缝扩展并抢先体验全新的 PDF 文本编辑工具,推荐 Stirling Server 方案 - 完整编辑与 无限席位,$99/server/mo。"
[onboarding.desktopInstall]
title = "下载"
@@ -5758,28 +5974,28 @@ contactSales = "联系销售"
contactToUpgrade = "联系我们以升级或定制您的套餐"
maxUsers = "最大用户数"
upTo = "最多"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "获取服务器许可证"
+upgradeToEnterprise = "升级到企业版"
+selectPeriod = "选择账单周期"
+monthlyBilling = "按月计费"
+yearlyBilling = "按年计费"
+checkoutOpened = "已打开结账页面"
+checkoutInstructions = "请在 Stripe 标签页完成购买。付款后返回此处并刷新页面以激活许可证。您还会收到包含许可证密钥的电子邮件。"
+activateLicense = "激活您的许可证"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "已在新标签页中打开结账"
+instructions = "请在 Stripe 标签页完成购买。付款完成后,您将收到包含许可证密钥的电子邮件。"
+enterKey = "在下方输入您的许可证密钥以激活您的计划:"
+keyDescription = "粘贴您邮件中的许可证密钥"
+activate = "激活许可证"
+doLater = "稍后再说"
+success = "许可证已激活!"
+successMessage = "您的许可证已成功激活。现在可以关闭此窗口。"
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "需要验证邮箱"
+message = "您需要在 Stripe 账单门户中验证您的邮箱地址。请检查邮件中的登录链接。"
[plan.period]
month = "月"
@@ -5983,8 +6199,8 @@ notAvailable = "审计系统不可用"
notAvailableMessage = "审计系统未配置或不可用。"
disabled = "已禁用审计日志"
disabledMessage = "请在应用配置中启用审计日志以跟踪系统事件。"
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "需要企业许可证"
+enterpriseRequiredMessage = "审计日志系统是企业功能。请升级到企业许可证以访问审计日志和分析。"
[audit.error]
title = "加载审计系统时出错"
@@ -6156,6 +6372,7 @@ description = "输入您自托管 Stirling PDF 服务器的完整 URL"
[setup.server.error]
emptyUrl = "请输入服务器 URL"
+invalidUrl = "无效的 URL 格式。请输入有效的 URL,例如 https://your-server.com"
unreachable = "无法连接到服务器"
testFailed = "连接测试失败"
configFetch = "获取服务器配置失败。请检查 URL 并重试。"
@@ -6174,6 +6391,7 @@ connectingTo = "正在连接到:"
submit = "登录"
signInWith = "使用以下方式登录"
oauthPending = "正在打开浏览器进行认证..."
+sso = "单点登录"
orContinueWith = "或使用 Email 继续"
serverRequirement = "注意:服务器必须启用登录功能。"
showInstructions = "如何启用?"
@@ -6239,8 +6457,8 @@ reset = "重置更改"
downloadJson = "下载 JSON"
generatePdf = "生成 PDF"
saveChanges = "保存更改"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "应用更改"
+downloadCopy = "下载副本"
[pdfTextEditor.options.autoScaleText]
title = "自动缩放文本以适配框体"
@@ -6260,22 +6478,22 @@ title = "将已编辑文本锁定为单个 PDF 元素"
description = "启用后,编辑器会将每个已编辑文本框导出为一个 PDF 文本元素,以避免字形重叠或混合字体。"
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "高级设置"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "预览限制"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "文本与图像聚焦"
+text = "此工作区专注于编辑文本与重新定位嵌入图像。复杂页面图形、表单控件和分层图形将在导出时保留,但在此处不可完全编辑。"
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "预览差异"
+text = "某些视觉元素(例如表格边框、形状或注释外观)在预览中可能不会完全一致。导出的 PDF 会尽可能保留原始绘图指令。"
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Alpha 查看器"
+text = "此 Alpha 查看器仍在演进中——某些字体、颜色、透明效果和布局细节可能会略有变化。分享前请仔细检查生成的 PDF。"
[pdfTextEditor.manual]
mergeTooltip = "合并所选框"
@@ -6398,3 +6616,58 @@ title = "添加文本结果"
[addText.error]
failed = "向PDF添加文本时发生错误。"
+
+[mobileUpload]
+title = "从手机上传"
+description = "扫码上传照片。图像会自动转换为 PDF。"
+descriptionNoConvert = "使用手机扫码上传照片。"
+error = "连接错误"
+pollingError = "检查文件时出错"
+sessionId = "会话 ID"
+sessionCreateError = "创建会话失败"
+expiryWarning = "会话即将过期"
+expiryWarningMessage = "此二维码将在 {{seconds}} 秒后过期。将自动生成新的二维码。"
+filesReceived = "已接收 {{count}} 个文件"
+connected = "移动设备已连接"
+instructions = "使用手机相机扫描。图像将自动转换为 PDF。"
+instructionsNoConvert = "使用手机相机扫描以上传文件。"
+
+[mobileScanner]
+title = "手机扫描"
+noSession = "会话无效"
+noSessionMessage = "请扫描有效的二维码以访问此页面。"
+validating = "正在验证会话..."
+sessionInvalid = "会话错误"
+sessionExpired = "此会话已过期。请刷新后重试。"
+sessionNotFound = "找不到会话。请刷新后重试。"
+sessionValidationError = "无法验证会话。请重试。"
+uploadSuccess = "上传成功!"
+uploadSuccessMessage = "您的图像已传输。"
+httpsRequired = "摄像头访问需要 HTTPS 或 localhost。请使用 HTTPS 或通过 localhost 访问。"
+uploadFailed = "上传失败。请重试。"
+uploading = "正在上传..."
+connected = "已连接"
+connecting = "正在连接..."
+chooseMethod = "选择上传方式"
+chooseMethodDescription = "选择您希望扫描并上传文档的方式"
+camera = "相机"
+cameraDescription = "使用设备相机扫描文档并自动检测边缘"
+fileUpload = "文件上传"
+fileDescription = "从设备上传现有照片或文档"
+cameraAccessDenied = "相机访问被拒绝。请启用相机访问权限。"
+back = "返回"
+settings = "设置"
+edgeDetection = "边缘检测"
+flashlight = "手电筒"
+flash = "闪光灯"
+processing = "正在处理..."
+capture = "拍照"
+selectFilesPrompt = "选择要上传的文件"
+selectImage = "选择图像"
+preview = "预览"
+retake = "重拍"
+addToBatch = "添加到批次"
+upload = "上传"
+batchImages = "批次"
+clearBatch = "清空"
+uploadAll = "全部上传"
diff --git a/frontend/public/locales/zh-TW/translation.toml b/frontend/public/locales/zh-TW/translation.toml
index f04b7008d..67d14fca2 100644
--- a/frontend/public/locales/zh-TW/translation.toml
+++ b/frontend/public/locales/zh-TW/translation.toml
@@ -1,8 +1,11 @@
unsavedChanges = "您對 PDF 的變更尚未儲存。"
+pendingRedactionsTitle = "未套用的塗黑"
+pendingRedactions = "您有尚未套用的塗黑,將會遺失。"
areYouSure = "確定要離開嗎?"
unsavedChangesTitle = "未儲存的變更"
keepWorking = "繼續編輯"
discardChanges = "捨棄並離開"
+discardRedactions = "捨棄並離開"
applyAndContinue = "儲存並離開"
exportAndContinue = "匯出並繼續"
cancel = "取消"
@@ -364,6 +367,7 @@ advanced = "進階"
title = "安全性與身分驗證"
security = "安全性"
connections = "連線"
+telegram = "Telegram"
[settings.licensingAnalytics]
title = "授權與分析"
@@ -438,25 +442,34 @@ currentVersion = "目前版本"
latestVersion = "最新版本"
checkForUpdates = "檢查更新"
viewDetails = "檢視詳細資料"
+serverNeedsUpdate = "伺服器需要由管理員更新"
+
+[settings.general.versionInfo]
+title = "版本資訊"
+description = "桌面版與伺服器版詳細資訊"
+desktop = "桌面版版本"
+server = "伺服器版本"
[settings.security]
-title = "Security"
-description = "Update your password to keep your account secure."
+title = "安全性"
+description = "更新您的密碼以保護帳戶安全。"
[settings.security.password]
-subtitle = "Change your password. You will be logged out after updating."
-required = "All fields are required."
-mismatch = "New passwords do not match."
-error = "Unable to update password. Please verify your current password and try again."
-success = "Password updated successfully. Please sign in again."
-ssoDisabled = "Password changes are managed by your identity provider."
-current = "Current password"
-currentPlaceholder = "Enter your current password"
-new = "New password"
-newPlaceholder = "Enter a new password"
-confirm = "Confirm new password"
-confirmPlaceholder = "Re-enter your new password"
-update = "Update password"
+subtitle = "變更您的密碼。更新後您將被登出。"
+required = "所有欄位皆為必填。"
+mismatch = "新密碼不相符。"
+error = "無法更新密碼。請確認您目前的密碼後再試一次。"
+success = "密碼更新成功。請重新登入。"
+ssoDisabled = "密碼變更由您的身分提供者管理。"
+current = "目前的密碼"
+currentPlaceholder = "輸入您目前的密碼"
+new = "新密碼"
+newPlaceholder = "輸入新密碼"
+confirm = "確認新密碼"
+confirmPlaceholder = "再次輸入您的新密碼"
+update = "更新密碼"
+
+
[settings.hotkeys]
title = "鍵盤快速鍵"
@@ -511,16 +524,16 @@ low = "低"
title = "變更憑證"
header = "更新您的帳號詳細資訊"
changePassword = "您正在使用預設登入憑證。請輸入新密碼"
-ssoManaged = "Your account is managed by your identity provider."
+ssoManaged = "您的帳戶由身分提供者管理。"
newUsername = "新使用者名稱"
oldPassword = "目前密碼"
newPassword = "新密碼"
confirmNewPassword = "確認新密碼"
submit = "送出變更"
-credsUpdated = "Account updated"
-description = "Changes saved. Please log in again."
-error = "Unable to update username. Please verify your password and try again."
-changeUsername = "Update your username. You will be logged out after updating."
+credsUpdated = "帳戶已更新"
+description = "變更已儲存。請重新登入。"
+error = "無法更新使用者名稱。請確認您的密碼後再試一次。"
+changeUsername = "更新您的使用者名稱。更新後您將被登出。"
[account]
title = "帳號設定"
@@ -528,6 +541,8 @@ accountSettings = "帳號設定"
adminSettings = "管理員設定 - 檢視和新增使用者"
userControlSettings = "使用者控制設定"
changeUsername = "修改使用者名稱"
+changeUsernameDescription = "更新您的使用者名稱。更新後您將被登出。"
+newUsernamePlaceholder = "輸入您的新使用者名稱"
newUsername = "新使用者名稱"
password = "確認密碼"
oldPassword = "舊密碼"
@@ -737,9 +752,9 @@ title = "簽章"
desc = "透過繪圖、文字或影像新增簽章到 PDF"
[home.annotate]
-tags = "annotate,highlight,draw"
-title = "Annotate"
-desc = "Highlight, draw, add notes and shapes in the viewer"
+tags = "註解,螢光標記,繪圖"
+title = "註解"
+desc = "在檢視器中突顯、手繪、加入註釋與形狀"
[home.flatten]
tags = "簡化,移除,互動"
@@ -952,7 +967,7 @@ title = "覆蓋 PDF"
[home.pdfTextEditor]
title = "PDF 文字編輯器"
-desc = "編輯 PDF 中既有的文字與圖片"
+desc = "檢視與編輯 Stirling PDF 的 JSON 匯出,支援群組文字編輯與重新產生 PDF"
[home.addText]
tags = "文字,註解,標籤"
@@ -963,6 +978,7 @@ desc = "在 PDF 的任意位置新增自訂文字"
addFiles = "新增檔案"
uploadFromComputer = "從電腦上傳"
openFromComputer = "從電腦開啟"
+mobileUpload = "從行動裝置上傳"
[viewPdf]
tags = "檢視,閱讀,註釋,文字,圖片"
@@ -1214,7 +1230,7 @@ selectFilesPlaceholder = "在主視圖選取檔案以開始"
settings = "設定"
conversionCompleted = "轉換完成"
results = "結果"
-defaultFilename = "已轉換_檔案"
+defaultFilename = "converted_file"
conversionResults = "轉換結果"
convertFrom = "來源格式"
convertTo = "目標格式"
@@ -1278,21 +1294,33 @@ cbzOptions = "CBZ 轉 PDF 選項"
optimizeForEbook = "為電子書閱讀器最佳化 PDF(使用 Ghostscript)"
cbzOutputOptions = "PDF 轉 CBZ 選項"
cbzDpi = "影像轉繪的 DPI"
-cbrOptions = "CBR Options"
-cbrOutputOptions = "PDF to CBR Options"
-cbrDpi = "DPI for image rendering"
+cbrOptions = "CBR 選項"
+cbrOutputOptions = "PDF 轉 CBR 選項"
+cbrDpi = "影像渲染的 DPI"
[convert.ebookOptions]
-ebookOptions = "eBook to PDF Options"
-ebookOptionsDesc = "Options for converting eBooks to PDF"
-embedAllFonts = "Embed all fonts"
-embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
-includeTableOfContents = "Include table of contents"
-includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
-includePageNumbers = "Include page numbers"
-includePageNumbersDesc = "Add page numbers to the generated PDF"
-optimizeForEbookPdf = "Optimize for ebook readers"
-optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
+ebookOptions = "電子書轉 PDF 選項"
+ebookOptionsDesc = "電子書轉換為 PDF 的選項"
+embedAllFonts = "內嵌所有字型"
+embedAllFontsDesc = "將電子書中的所有字型內嵌至產生的 PDF"
+includeTableOfContents = "包含目錄"
+includeTableOfContentsDesc = "在結果 PDF 中加入自動產生的目錄"
+includePageNumbers = "包含頁碼"
+includePageNumbersDesc = "在產生的 PDF 中加入頁碼"
+optimizeForEbookPdf = "為電子書閱讀器最佳化"
+optimizeForEbookPdfDesc = "為電子書閱讀最佳化 PDF(檔案較小、在電子紙裝置上有更佳顯示)"
+
+[convert.epubOptions]
+epubOptions = "PDF 轉電子書選項"
+epubOptionsDesc = "將 PDF 轉為 EPUB/AZW3 的選項"
+detectChapters = "偵測章節"
+detectChaptersDesc = "偵測看起來像章節的標題並插入 EPUB 分頁"
+targetDevice = "目標裝置"
+targetDeviceDesc = "選擇為閱讀裝置最佳化的輸出設定檔"
+outputFormat = "輸出格式"
+outputFormatDesc = "選擇電子書的輸出格式"
+tabletPhone = "平板/手機(含圖片)"
+kindleEink = "Kindle 電子墨水(文字最佳化)"
[imageToPdf]
tags = "轉換,img,jpg,圖片,照片"
@@ -1409,11 +1437,11 @@ header = "新增附件"
add = "新增附件"
remove = "移除附件"
embed = "內嵌附件"
-convertToPdfA3b = "Convert to PDF/A-3b"
-convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
-convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
-convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
-convertToPdfA3bTooltipTitle = "What it does"
+convertToPdfA3b = "轉換為 PDF/A-3b"
+convertToPdfA3bDescription = "建立含內嵌附件的封存用 PDF"
+convertToPdfA3bTooltip = "PDF/A-3b 是確保長期保存的封存格式。它允許將任意檔案格式作為附件內嵌。轉換需要 Ghostscript,大型檔案可能耗時較久。"
+convertToPdfA3bTooltipHeader = "關於 PDF/A-3b 轉換"
+convertToPdfA3bTooltipTitle = "功能說明"
submit = "新增附件"
[watermark]
@@ -1421,7 +1449,7 @@ title = "新增浮水印"
desc = "將文字或影像浮水印加入 PDF 檔案"
completed = "已加入浮水印"
submit = "新增浮水印"
-filenamePrefix = "已加_浮水印"
+filenamePrefix = "watermarked"
[watermark.error]
failed = "為 PDF 新增浮水印時發生錯誤。"
@@ -2359,10 +2387,10 @@ saved = "已儲存"
label = "上傳簽名影像"
placeholder = "選擇影像檔"
hint = "上傳您的簽名 PNG 或 JPG 影像"
-removeBackground = "Remove white background (make transparent)"
-processing = "Processing image..."
-backgroundRemovalFailedTitle = "Background removal failed"
-backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
+removeBackground = "移除白色背景(設為透明)"
+processing = "正在處理影像…"
+backgroundRemovalFailedTitle = "背景移除失敗"
+backgroundRemovalFailedMessage = "無法移除影像背景。將改用原始影像。"
[sign.instructions]
title = "如何加入簽名"
@@ -2409,9 +2437,9 @@ label = "僅將表單平坦化"
desc = "僅扁平化表單欄位,保留其他互動元素"
[flatten.renderDpi]
-label = "Rendering DPI (optional, recommended 150 DPI)"
-help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
-placeholder = "e.g. 150"
+label = "渲染 DPI(選用,建議 150 DPI)"
+help = "留空以使用系統預設值。較高的 DPI 會使輸出更銳利,但會增加處理時間與檔案大小。"
+placeholder = "例如 150"
[flatten.results]
title = "扁平化結果"
@@ -2987,7 +3015,7 @@ header = "裁剪 PDF"
submit = "送出"
noFileSelected = "選取一個 PDF 檔以開始裁切"
reset = "重設為整個 PDF"
-autoCrop = "Auto-crop whitespace"
+autoCrop = "自動裁切空白"
[crop.preview]
title = "裁切區域選擇"
@@ -3218,6 +3246,7 @@ title = "遮蔽方式"
mode = "模式"
automatic = "自動"
automaticDesc = "根據搜尋詞遮蔽文字"
+automaticDisabledTooltip = "在檔案管理器中選取檔案可一次塗黑多個檔案"
manual = "手動"
manualDesc = "點擊並拖曳以遮蔽特定區域"
manualComingSoon = "即將推出手動遮蔽"
@@ -3288,8 +3317,35 @@ text = "只比對完整單字,不進行部分比對。啟用後『John』不
title = "轉為 PDF-Image"
text = "遮蔽後將 PDF 轉為以影像為基礎的 PDF,確保遮蔽方框後方的文字完全移除且無法復原。"
+[redact.tooltip.manual.header]
+title = "手動塗黑控制"
+
+[redact.tooltip.manual.markText]
+title = "標記文字工具"
+text = "直接在 PDF 上選取文字以標記為塗黑。點擊並拖曳可反白想要塗黑的特定文字。"
+
+[redact.tooltip.manual.markArea]
+title = "標記區域工具"
+text = "在 PDF 上繪製矩形區域以標記要塗黑的區塊。適用於塗黑圖片、簽名或不規則形狀。"
+
+[redact.tooltip.manual.apply]
+title = "套用塗黑"
+text = "標記完成後,按一下「套用」即可永久塗黑所有標記區域。待處理計數會顯示有多少塗黑已可套用。"
+bullet1 = "套用前可視需要標記任意多個區域"
+bullet2 = "所有待處理的塗黑會一次套用"
+bullet3 = "套用後無法復原"
+
[redact.manual]
+title = "塗黑工具"
+instructions = "在 PDF 上選取文字或繪製區域,以標記要塗黑的內容。"
+markText = "標記文字"
+markArea = "標記區域"
+pendingLabel = "待處理:"
+applyWarning = "⚠️ 永久套用,無法復原,且底層資料將被刪除"
+apply = "套用"
+noMarks = "沒有塗黑標記。請使用上方工具來標記要塗黑的內容。"
header = "手動遮蔽"
+controlsTitle = "手動塗黑控制"
textBasedRedaction = "文字式遮蔽"
pageBasedRedaction = "以頁面為單位遮蔽"
convertPDFToImageLabel = "將 PDF 轉為 PDF-Image(用於移除方框後方文字)"
@@ -3406,17 +3462,17 @@ label = "垂直劃分"
placeholder = "輸入垂直劃分的數量"
[split-by-sections.splitMode]
-label = "Split Mode"
-description = "Choose how to split the pages"
-splitAll = "Split all pages"
-splitAllExceptFirst = "Split all except first"
-splitAllExceptLast = "Split all except last"
-splitAllExceptFirstAndLast = "Split all except first and last"
-custom = "Custom pages"
+label = "分割模式"
+description = "選擇要如何分割頁面"
+splitAll = "分割所有頁面"
+splitAllExceptFirst = "除第一頁外全部分割"
+splitAllExceptLast = "除最後一頁外全部分割"
+splitAllExceptFirstAndLast = "除第一與最後一頁外全部分割"
+custom = "自訂頁面"
[split-by-sections.customPages]
-label = "Custom Page Numbers"
-placeholder = "e.g. 2,4,6"
+label = "自訂頁碼"
+placeholder = "例如 2,4,6"
[AddStampRequest]
tags = "圖章,新增圖片,中心影像,浮水印,PDF,嵌入,自訂"
@@ -3713,7 +3769,7 @@ title = "PDF 轉為單一頁面"
header = "PDF 轉為單一頁面"
submit = "轉換為單一頁面"
description = "此工具會將 PDF 的所有頁面合併成一個大型單頁。寬度將與原頁相同,但高度會是所有頁面高度之總和。"
-filenamePrefix = "單一_頁面"
+filenamePrefix = "single_page"
[pdfToSinglePage.files]
placeholder = "在主畫面選擇一個 PDF 檔開始使用"
@@ -3780,17 +3836,17 @@ filesize = "檔案大小"
label = "套用灰階進行壓縮"
[compress.linearize]
-label = "Linearize PDF for fast web viewing"
+label = "線性化 PDF 以加快網頁檢視"
[compress.lineArt]
-label = "Convert images to line art"
-description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
-unavailable = "ImageMagick is not installed or enabled on this server"
-detailLevel = "Detail level"
-edgeEmphasis = "Edge emphasis"
-edgeLow = "Gentle"
-edgeMedium = "Balanced"
-edgeHigh = "Strong"
+label = "將影像轉換為線條圖"
+description = "使用 ImageMagick 將頁面轉為高對比黑白,以達到最大壓縮率。"
+unavailable = "此伺服器未安裝或未啟用 ImageMagick"
+detailLevel = "細節層級"
+edgeEmphasis = "邊緣強化"
+edgeLow = "柔和"
+edgeMedium = "適中"
+edgeHigh = "強烈"
[compress.tooltip.header]
title = "壓縮設定總覽"
@@ -3810,8 +3866,8 @@ title = "灰階"
text = "選取此選項可將所有影像轉為黑白,對於掃描 PDF 或影像較多的文件,可大幅減少檔案大小。"
[compress.tooltip.lineArt]
-title = "Line Art"
-text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
+title = "線條圖"
+text = "使用 ImageMagick 將頁面轉為高對比黑白。利用細節層級控制有多少內容會變成黑色,並用邊緣強化控制邊緣偵測的強度。"
[compress.error]
failed = "壓縮 PDF 時發生錯誤。"
@@ -3826,9 +3882,9 @@ _value = "壓縮設定"
1 = "1-3 為一般 PDF 壓縮, 4-6 為輕度圖片壓縮, 7-9 為高強度圖片壓縮,將大幅降低圖片品質"
[compress.compressionLevel]
-range1to3 = "Lower values preserve quality but result in larger files"
-range4to6 = "Medium compression with moderate quality reduction"
-range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
+range1to3 = "較低的數值可保留品質,但檔案較大"
+range4to6 = "中等壓縮,品質適度降低"
+range7to9 = "較高的數值可大幅減少檔案大小,但可能降低影像清晰度"
[decrypt]
passwordPrompt = "此檔案已受密碼保護。請輸入密碼:"
@@ -4069,7 +4125,7 @@ deleteSelected = "刪除所選頁面"
closePdf = "關閉 PDF"
exportAll = "匯出 PDF"
downloadSelected = "下載選取的檔案"
-annotations = "Annotations"
+annotations = "註解"
exportSelected = "匯出選取的頁面"
saveChanges = "儲存變更"
toggleTheme = "切換主題"
@@ -4077,84 +4133,90 @@ language = "語言"
toggleAnnotations = "切換註解可見度"
search = "搜尋 PDF"
panMode = "平移模式"
+applyRedactionsFirst = "請先套用塗黑"
rotateLeft = "向左旋轉"
rotateRight = "向右旋轉"
toggleSidebar = "切換側邊欄"
toggleBookmarks = "切換書籤"
print = "列印 PDF"
+draw = "繪圖"
+redact = "塗黑"
+exitRedaction = "退出塗黑模式"
+save = "儲存"
downloadAll = "全部下載"
saveAll = "全部儲存"
[textAlign]
-left = "Left"
-center = "Center"
-right = "Right"
+left = "靠左"
+center = "置中"
+right = "靠右"
[annotation]
-title = "Annotate"
-desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
-highlight = "Highlight"
-pen = "Pen"
-text = "Text box"
-note = "Note"
-rectangle = "Rectangle"
-ellipse = "Ellipse"
-select = "Select"
-exit = "Exit annotation mode"
-strokeWidth = "Width"
-opacity = "Opacity"
-strokeOpacity = "Stroke Opacity"
-fillOpacity = "Fill Opacity"
-fontSize = "Font size"
-chooseColor = "Choose colour"
-color = "Colour"
-strokeColor = "Stroke Colour"
-fillColor = "Fill Colour"
-underline = "Underline"
-strikeout = "Strikeout"
-squiggly = "Squiggly"
-inkHighlighter = "Freehand Highlighter"
-freehandHighlighter = "Freehand Highlighter"
-square = "Square"
-circle = "Circle"
-polygon = "Polygon"
-line = "Line"
-stamp = "Add Image"
-textMarkup = "Text Markup"
-drawing = "Drawing"
-shapes = "Shapes"
-notesStamps = "Notes & Stamps"
-settings = "Settings"
-borderOn = "Border: On"
-borderOff = "Border: Off"
-editInk = "Edit Pen"
-editLine = "Edit Line"
-editNote = "Edit Note"
-editText = "Edit Text Box"
-editTextMarkup = "Edit Text Markup"
-editSelected = "Edit Annotation"
-editSquare = "Edit Square"
-editCircle = "Edit Circle"
-editPolygon = "Edit Polygon"
-unsupportedType = "This annotation type is not fully supported for editing."
-textAlignment = "Text Alignment"
-noteIcon = "Note Icon"
-imagePreview = "Preview"
-contents = "Text"
-backgroundColor = "Background colour"
-clearBackground = "Remove background"
-noBackground = "No background"
-stampSettings = "Stamp Settings"
-savingCopy = "Preparing download..."
-saveFailed = "Unable to save copy"
-saveReady = "Download ready"
-selectAndMove = "Select and Edit"
-editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
-editStampHint = "To change the image, delete this stamp and add a new one."
-editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
-undo = "Undo"
-redo = "Redo"
-applyChanges = "Apply Changes"
+title = "註解"
+desc = "使用螢光標記、筆、文字與註釋。變更即時生效—無需扁平化。"
+highlight = "螢光標記"
+pen = "筆"
+text = "文字框"
+note = "註釋"
+rectangle = "長方形"
+ellipse = "橢圓"
+select = "選取"
+exit = "退出註解模式"
+strokeWidth = "線寬"
+opacity = "不透明度"
+strokeOpacity = "邊框不透明度"
+fillOpacity = "填滿不透明度"
+fontSize = "字型大小"
+chooseColor = "選擇顏色"
+color = "顏色"
+strokeColor = "邊框顏色"
+fillColor = "填滿顏色"
+underline = "底線"
+strikeout = "刪除線"
+squiggly = "波浪底線"
+inkHighlighter = "手繪螢光標記"
+freehandHighlighter = "手繪螢光標記"
+square = "正方形"
+circle = "圓形"
+polygon = "多邊形"
+line = "線條"
+stamp = "新增圖片"
+textMarkup = "文字標記"
+drawing = "繪圖"
+shapes = "形狀"
+notesStamps = "註釋與圖章"
+settings = "設定"
+borderOn = "邊框:開"
+borderOff = "邊框:關"
+editInk = "編輯筆"
+editLine = "編輯線條"
+editNote = "編輯註釋"
+editText = "編輯文字框"
+editTextMarkup = "編輯文字標記"
+editSelected = "編輯註解"
+editSquare = "編輯正方形"
+editCircle = "編輯圓形"
+editPolygon = "編輯多邊形"
+unsupportedType = "此註解類型尚未完全支援編輯。"
+textAlignment = "文字對齊"
+noteIcon = "註釋圖示"
+imagePreview = "預覽"
+contents = "文字"
+backgroundColor = "背景顏色"
+clearBackground = "移除背景"
+noBackground = "無背景"
+stampSettings = "圖章設定"
+savingCopy = "正在準備下載…"
+saveFailed = "無法儲存副本"
+saveReady = "下載已就緒"
+selectAndMove = "選取與編輯"
+editSelectDescription = "點選現有註解以編輯其顏色、不透明度、文字或大小。"
+editStampHint = "若要更換圖片,請刪除此圖章並新增一個新的。"
+editSwitchToSelect = "切換到「選取與編輯」以編輯此註解。"
+undo = "復原"
+redo = "重做"
+applyChanges = "套用變更"
+saveChanges = "儲存變更"
[search]
title = "搜尋 PDF"
@@ -4205,20 +4267,20 @@ settings = "設定"
adminSettings = "管理員設定"
allTools = "All Tools"
reader = "閱讀器"
-tours = "Tours"
-showMeAround = "Show me around"
+tours = "導覽"
+showMeAround = "帶我逛逛"
[quickAccess.toursTooltip]
-admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
-user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
+admin = "在此觀看導覽:工具導覽、V2 新版版面配置導覽,以及管理員導覽。"
+user = "在此觀看導覽:工具導覽與 V2 新版版面配置導覽。"
[quickAccess.helpMenu]
toolsTour = "工具導覽"
toolsTourDesc = "了解這些工具能做什麼"
adminTour = "管理導覽"
adminTourDesc = "探索管理設定與功能"
-whatsNewTour = "See what's new in V2"
-whatsNewTourDesc = "Tour the updated layout"
+whatsNewTour = "查看 V2 的新功能"
+whatsNewTourDesc = "導覽更新後的版面配置"
[admin]
error = "錯誤"
@@ -4237,6 +4299,8 @@ fetchError = "載入設定失敗"
saveError = "儲存設定失敗"
saved = "設定已成功儲存"
saveSuccess = "設定已成功儲存"
+success = "設定已成功儲存"
+error = "儲存設定失敗"
save = "儲存變更"
discard = "捨棄"
restartRequired = "需要重新啟動"
@@ -4360,6 +4424,13 @@ description = "用於 HTML 轉 PDF 的 WeasyPrint 可執行檔路徑(留空使
label = "Unoconvert 可執行檔"
description = "用於文件轉換的 LibreOffice unoconvert 路徑(留空使用預設:/opt/venv/bin/unoconvert)"
+[admin.settings.general.frontendUrl]
+label = "前端 URL"
+description = "前端的基礎 URL(例如:https://pdf.example.com)。用於電子郵件邀請連結與行動 QR 碼上傳。留空則使用後端 URL。"
+
+[admin.settings.badge]
+clickToUpgrade = "點擊查看方案詳情"
+
[admin.settings.security]
title = "安全性"
description = "設定驗證、登入行為與安全性原則。"
@@ -4496,6 +4567,19 @@ connect = "連線"
disconnect = "中斷連線"
disconnected = "已成功中斷提供者的連線"
disconnectError = "無法中斷提供者的連線"
+mobileScannerConvertToPdf = "將影像轉為 PDF"
+mobileScannerConvertToPdfDesc = "自動將上傳的影像轉換為 PDF 格式。若停用,影像將維持原樣。"
+mobileScannerImageResolution = "影像解析度"
+mobileScannerImageResolutionDesc = "上傳影像的解析度。「縮減」會將影像縮放至最長邊 1200px 以降低檔案大小。"
+imageResolutionFull = "完整(原始尺寸)"
+imageResolutionReduced = "縮減(最長 1200px)"
+mobileScannerPageFormat = "頁面格式"
+mobileScannerPageFormatDesc = "轉換後影像的 PDF 頁面大小。「保留」會使用原始影像尺寸。"
+pageFormatKeep = "保留(原始尺寸)"
+pageFormatA4 = "A4(210×297mm)"
+pageFormatLetter = "Letter(8.5×11 吋)"
+mobileScannerStretchToFit = "等比填滿"
+mobileScannerStretchToFitDesc = "將影像拉伸以填滿整個頁面。若停用,影像將置中並保留長寬比。"
[admin.settings.connections.ssoAutoLogin]
label = "SSO 自動登入"
@@ -4564,6 +4648,122 @@ description = "首次以 SAML2 登入時自動建立使用者帳戶"
label = "阻止註冊"
description = "阻止透過 SAML2 註冊新使用者"
+[admin.settings.connections.mobileScanner]
+label = "手機上傳"
+enable = "啟用 QR 碼上傳"
+description = "允許使用者透過掃描 QR 碼從行動裝置上傳檔案"
+note = "注意:需要先設定前端 URL。 "
+link = "在系統設定中設定"
+mobileScannerConvertToPdf = "將影像轉為 PDF"
+mobileScannerConvertToPdfDesc = "自動將上傳的影像轉換為 PDF 格式。若停用,影像將維持原樣。"
+mobileScannerImageResolution = "影像解析度"
+mobileScannerImageResolutionDesc = "上傳影像的解析度。「縮減」會將影像縮放至最長邊 1200px 以降低檔案大小。"
+imageResolutionFull = "完整(原始尺寸)"
+imageResolutionReduced = "縮減(最長 1200px)"
+mobileScannerPageFormat = "頁面格式"
+mobileScannerPageFormatDesc = "轉換後影像的 PDF 頁面大小。「保留」會使用原始影像尺寸。"
+pageFormatKeep = "保留(原始尺寸)"
+pageFormatA4 = "A4(210×297mm)"
+pageFormatLetter = "Letter(8.5×11 吋)"
+mobileScannerStretchToFit = "等比填滿"
+mobileScannerStretchToFitDesc = "將影像拉伸以填滿整個頁面。若停用,影像將置中並保留長寬比。"
+
+[admin.settings.telegram]
+title = "Telegram 機器人"
+description = "設定 Telegram 機器人的連線、存取控制與回饋行為。"
+
+[admin.settings.telegram.enabled]
+label = "啟用 Telegram 機器人"
+description = "允許使用者透過您設定的 Telegram 機器人操作 Stirling PDF。"
+
+[admin.settings.telegram.botUsername]
+label = "機器人使用者名稱"
+description = "您的 Telegram 機器人的公開使用者名稱。"
+
+[admin.settings.telegram.botToken]
+label = "機器人 Token"
+description = "由 BotFather 提供的 Telegram 機器人 API token。"
+
+[admin.settings.telegram.pipelineInboxFolder]
+label = "收件匣資料夾"
+description = "pipeline 目錄下儲存來自 Telegram 之傳入檔案的資料夾。"
+
+[admin.settings.telegram.customFolderSuffix]
+label = "使用自訂資料夾後綴"
+description = "在傳入檔案資料夾後附加聊天 ID,以分隔各聊天的上傳。"
+
+[admin.settings.telegram.accessControl]
+title = "存取控制"
+description = "限制哪些使用者或頻道可以與機器人互動。"
+
+[admin.settings.telegram.enableAllowUserIDs]
+label = "僅允許特定使用者 ID"
+description = "啟用後,只有清單中的使用者 ID 可使用機器人。"
+
+[admin.settings.telegram.allowUserIDs]
+label = "允許的使用者 ID"
+description = "輸入允許與機器人互動的 Telegram 使用者 ID。"
+placeholder = "新增使用者 ID 並按 Enter"
+
+[admin.settings.telegram.enableAllowChannelIDs]
+label = "僅允許特定頻道 ID"
+description = "啟用後,只有清單中的頻道 ID 可使用機器人。"
+
+[admin.settings.telegram.allowChannelIDs]
+label = "允許的頻道 ID"
+description = "輸入允許與機器人互動的 Telegram 頻道 ID。"
+placeholder = "新增頻道 ID 並按 Enter"
+
+[admin.settings.telegram.processing]
+title = "處理"
+description = "控制 Telegram 上傳的輪詢間隔與處理逾時。"
+
+[admin.settings.telegram.processingTimeoutSeconds]
+label = "處理逾時(秒)"
+description = "等待處理工作的最長時間,超過即回報錯誤。"
+
+[admin.settings.telegram.pollingIntervalMillis]
+label = "輪詢間隔(毫秒)"
+description = "檢查新的 Telegram 更新之間的間隔。"
+
+[admin.settings.telegram.feedback]
+title = "回饋訊息"
+description = "選擇機器人何時向使用者與頻道發送回饋。"
+
+[admin.settings.telegram.feedback.general.enabled]
+label = "啟用回饋"
+description = "控制機器人是否要發送回饋訊息。"
+
+[admin.settings.telegram.feedback.channel]
+title = "頻道回饋規則"
+
+[admin.settings.telegram.feedback.channel.noValidDocument]
+label = "顯示「沒有有效文件」(頻道)"
+description = "對頻道上傳抑制「沒有有效文件」的回應。"
+
+[admin.settings.telegram.feedback.channel.errorProcessing]
+label = "顯示處理錯誤(頻道)"
+description = "將處理錯誤訊息傳送至頻道。"
+
+[admin.settings.telegram.feedback.channel.errorMessage]
+label = "顯示錯誤訊息(頻道)"
+description = "向頻道顯示詳細錯誤訊息。"
+
+[admin.settings.telegram.feedback.user]
+title = "使用者回饋規則"
+
+[admin.settings.telegram.feedback.user.noValidDocument]
+label = "顯示「沒有有效文件」(使用者)"
+description = "對使用者上傳抑制「沒有有效文件」的回應。"
+
+[admin.settings.telegram.feedback.user.errorProcessing]
+label = "顯示處理錯誤(使用者)"
+description = "將處理錯誤訊息傳送給使用者。"
+
+[admin.settings.telegram.feedback.user.errorMessage]
+label = "顯示錯誤訊息(使用者)"
+description = "向使用者顯示詳細錯誤訊息。"
+
[admin.settings.database]
title = "資料庫"
description = "設定企業部署的自訂資料庫連線。"
@@ -4745,6 +4945,10 @@ description = "允許管理員透過電子郵件邀請使用者,並自動產
label = "前端 URL"
description = "前端的基底 URL(例如:https://pdf.example.com)。用於在電子郵件中產生邀請連結。留空則使用後端 URL。"
+[admin.settings.mail.frontendUrlNote]
+note = "注意:需要先設定前端 URL。 "
+link = "在系統設定中設定"
+
[admin.settings.legal]
title = "法律文件"
description = "設定法律文件與政策的連結。"
@@ -4929,6 +5133,9 @@ googleDriveShort = "雲端硬碟"
myFiles = "我的檔案"
noRecentFiles = "找不到最近的檔案"
googleDriveNotAvailable = "無法使用 Google Drive 整合"
+mobileUpload = "行動上傳"
+mobileShort = "行動"
+mobileUploadNotAvailable = "未啟用行動上傳"
downloadSelected = "下載所選"
saveSelected = "儲存已選"
openFiles = "開啟檔案"
@@ -5244,7 +5451,7 @@ loading = "正在載入..."
back = "返回"
continue = "繼續"
error = "錯誤"
-save = "Save"
+save = "儲存"
[config.overview]
title = "應用程式設定"
@@ -5307,6 +5514,15 @@ impact = "任何目前使用這些金鑰的應用程式或服務都會停止運
confirmPrompt = "確定要繼續嗎?"
confirmCta = "重新產生金鑰"
+[config.apiKeys.alert]
+apiKeyErrorTitle = "API 金鑰錯誤"
+failedToCreateApiKey = "建立 API 金鑰失敗。"
+failedToRetrieveApiKey = "無法自回應中取得 API 金鑰。"
+failedToFetchApiKey = "擷取 API 金鑰失敗。"
+apiKeyRefreshed = "API 金鑰已更新"
+apiKeyRefreshedBody = "您的 API 金鑰已成功重新整理。"
+failedToRefreshApiKey = "重新整理 API 金鑰失敗。"
+
[AddAttachmentsRequest]
attachments = "選擇附件"
info = "選擇要附加到您的 PDF 的檔案。這些檔案會被內嵌,並可透過 PDF 的附件面板存取。"
@@ -5412,14 +5628,14 @@ startTour = "開始導覽"
startTourDescription = "帶您導覽 Stirling PDF 的重點功能"
[onboarding.whatsNew]
-quickAccess = "Start at the Quick Access rail to jump between Reader, Automate, your files, and all the tours."
-leftPanel = "The left Tools panel lists everything you can do. Browse categories or search to find a tool quickly."
-fileUpload = "Use the Files button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
-rightRail = "The Right Rail holds quick actions to select files, change theme or language, and download results."
-topBar = "The top bar lets you swap between Viewer, Page Editor, and Active Files."
-pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
-activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
-wrapUp = "That is what is new in V2. Open the Tours menu anytime to replay this, the Tools tour, or the Admin tour."
+quickAccess = "從快速存取側欄開始,可在閱讀器、Automate、您的檔案與所有導覽間快速切換。"
+leftPanel = "左側的工具面板列出您可以做的所有事。瀏覽分類或搜尋以快速找到工具。"
+fileUpload = "使用檔案按鈕上傳或選擇最近的 PDF。我們會載入範例以展示工作區。"
+rightRail = "右側欄提供快速操作,可選擇檔案、變更主題或語言,以及下載結果。"
+topBar = "頂端列可在檢視器、頁面編輯器與使用中檔案間切換。"
+pageEditorView = "切換到頁面編輯器以重新排序、旋轉或刪除頁面。"
+activeFilesView = "使用「使用中檔案」查看所有已開啟的內容並選擇要處理的項目。"
+wrapUp = "以上是 V2 的新內容。隨時開啟導覽選單以重播本導覽、工具導覽或管理員導覽。"
[onboarding.welcomeModal]
title = "歡迎使用 Stirling PDF!"
@@ -5442,8 +5658,8 @@ showMeAround = "帶我導覽"
skipTheTour = "略過導覽"
[onboarding.tourOverview]
-title = "Tour Overview"
-body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
+title = "導覽總覽"
+body = "Stirling PDF V2 隨附數十種工具與全新版面配置。快速導覽可讓您了解有哪些改變以及在哪裡找到所需功能。"
[onboarding.serverLicense]
skip = "暫時略過"
@@ -5452,7 +5668,7 @@ upgrade = "立即升級 →"
freeTitle = "伺服器授權"
overLimitTitle = "需要伺服器授權"
overLimitBody = "我們的授權允許每台伺服器最多 {{freeTierLimit}} 位使用者免費使用。你有 {{overLimitUserCopy}} 位 Stirling 使用者。若要不中斷使用,請升級至 Stirling Server 方案 - 不限席次、PDF 文字編輯,以及完整管理控制,每台伺服器 $99/月。"
-freeBody = "我們的 Open-Core 授權允許每台伺服器最多 {{freeTierLimit}} 位使用者免費使用。若要無縫擴充,我們建議選用 Stirling Server 方案 - 不限席次 與 SSO 支援,每伺服器每月 $99。"
+freeBody = "我們的 Open-Core 授權允許每台伺服器最多 {{freeTierLimit}} 位使用者免費使用。若要無縫擴充並搶先體驗全新的 PDF 文字編輯工具,建議升級至 Stirling Server 方案 - 完整編輯與 不限席次,每台伺服器 $99/月。"
[onboarding.desktopInstall]
title = "下載"
@@ -5758,28 +5974,28 @@ contactSales = "聯絡業務"
contactToUpgrade = "聯絡我們以升級或自訂您的方案"
maxUsers = "使用者上限"
upTo = "最多"
-getLicense = "Get Server License"
-upgradeToEnterprise = "Upgrade to Enterprise"
-selectPeriod = "Select Billing Period"
-monthlyBilling = "Monthly Billing"
-yearlyBilling = "Yearly Billing"
-checkoutOpened = "Checkout Opened"
-checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
-activateLicense = "Activate Your License"
+getLicense = "取得伺服器授權"
+upgradeToEnterprise = "升級至企業版"
+selectPeriod = "選擇計費週期"
+monthlyBilling = "按月計費"
+yearlyBilling = "按年計費"
+checkoutOpened = "已開啟結帳"
+checkoutInstructions = "請在 Stripe 分頁完成購買。付款後返回此處並重新整理頁面以啟用您的授權。您也會收到一封包含授權金鑰的電子郵件。"
+activateLicense = "啟用您的授權"
[plan.static.licenseActivation]
-checkoutOpened = "Checkout Opened in New Tab"
-instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
-enterKey = "Enter your license key below to activate your plan:"
-keyDescription = "Paste the license key from your email"
-activate = "Activate License"
-doLater = "I'll do this later"
-success = "License Activated!"
-successMessage = "Your license has been successfully activated. You can now close this window."
+checkoutOpened = "已在新分頁開啟結帳"
+instructions = "請在 Stripe 分頁完成購買。付款完成後,您將收到一封包含授權金鑰的電子郵件。"
+enterKey = "在下方輸入您的授權金鑰以啟用方案:"
+keyDescription = "貼上電子郵件中的授權金鑰"
+activate = "啟用授權"
+doLater = "稍後再說"
+success = "授權已啟用!"
+successMessage = "您的授權已成功啟用。您現在可以關閉此視窗。"
[plan.static.billingPortal]
-title = "Email Verification Required"
-message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
+title = "需要電子郵件驗證"
+message = "您需要在 Stripe 計費入口網站驗證電子郵件地址。請至信箱查收登入連結。"
[plan.period]
month = "月"
@@ -5983,8 +6199,8 @@ notAvailable = "稽核系統不可用"
notAvailableMessage = "稽核系統未設定或不可用。"
disabled = "已停用稽核記錄"
disabledMessage = "請在應用程式設定中啟用稽核記錄以追蹤系統事件。"
-enterpriseRequired = "Enterprise License Required"
-enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
+enterpriseRequired = "需要企業版授權"
+enterpriseRequiredMessage = "稽核記錄系統是企業版功能。請升級至企業版授權以存取稽核記錄與分析。"
[audit.error]
title = "載入稽核系統時發生錯誤"
@@ -6156,6 +6372,7 @@ description = "輸入你自託管 Stirling PDF 伺服器的完整 URL"
[setup.server.error]
emptyUrl = "請輸入伺服器 URL"
+invalidUrl = "URL 格式無效。請輸入有效的 URL,如 https://your-server.com"
unreachable = "無法連線至伺服器"
testFailed = "連線測試失敗"
configFetch = "無法擷取伺服器組態。請檢查 URL 後再試一次。"
@@ -6174,6 +6391,7 @@ connectingTo = "正在連線到:"
submit = "登入"
signInWith = "以此登入"
oauthPending = "正在開啟瀏覽器進行驗證..."
+sso = "單一登入"
orContinueWith = "或改用 Email 繼續"
serverRequirement = "注意:伺服器必須啟用登入功能。"
showInstructions = "如何啟用?"
@@ -6188,7 +6406,7 @@ label = "使用者名稱"
placeholder = "輸入你的使用者名稱"
[setup.login.email]
-label = "電子郵件"
+label = "Email"
placeholder = "輸入你的 Email"
[setup.login.password]
@@ -6239,8 +6457,8 @@ reset = "重設變更"
downloadJson = "下載 JSON"
generatePdf = "產生 PDF"
saveChanges = "儲存變更"
-applyChanges = "Apply Changes"
-downloadCopy = "Download Copy"
+applyChanges = "套用變更"
+downloadCopy = "下載副本"
[pdfTextEditor.options.autoScaleText]
title = "自動縮放文字以符合方框"
@@ -6260,22 +6478,22 @@ title = "將已編輯文字鎖定為單一 PDF 元素"
description = "啟用時,編輯器會將每個已編輯文字框匯出為一個 PDF 文字元素,以避免字形重疊或字型混用。"
[pdfTextEditor.options.advanced]
-title = "Advanced Settings"
+title = "進階設定"
[pdfTextEditor.tooltip.header]
-title = "Preview Limitations"
+title = "預覽限制"
[pdfTextEditor.tooltip.textFocus]
-title = "Text and Image Focus"
-text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
+title = "文字與影像焦點"
+text = "此工作區專注於編輯文字與重新定位內嵌影像。複雜的頁面圖稿、表單元件與分層圖形會在匯出時保留,但在此處不支援完整編輯。"
[pdfTextEditor.tooltip.previewVariance]
-title = "Preview Variance"
-text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
+title = "預覽差異"
+text = "某些視覺元素(例如表格邊框、形狀或註解外觀)在預覽中可能不完全一致。匯出的 PDF 會在可行時保留原始繪圖指令。"
[pdfTextEditor.tooltip.alpha]
-title = "Alpha Viewer"
-text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
+title = "Alpha 檢視器"
+text = "此 Alpha 檢視器仍在演進中—某些字型、顏色、透明效果與版面細節可能略有變動。分享前請再次確認產生的 PDF。"
[pdfTextEditor.manual]
mergeTooltip = "合併所選方框"
@@ -6398,3 +6616,58 @@ title = "新增文字結果"
[addText.error]
failed = "將文字新增到 PDF 時發生錯誤。"
+
+[mobileUpload]
+title = "從行動裝置上傳"
+description = "掃描即可上傳相片。影像會自動轉換為 PDF。"
+descriptionNoConvert = "掃描即可從行動裝置上傳相片。"
+error = "連線錯誤"
+pollingError = "檢查檔案時發生錯誤"
+sessionId = "工作階段 ID"
+sessionCreateError = "建立工作階段失敗"
+expiryWarning = "工作階段即將到期"
+expiryWarningMessage = "此 QR 碼將在 {{seconds}} 秒後到期。系統會自動產生新的 QR 碼。"
+filesReceived = "已接收 {{count}} 個檔案"
+connected = "已連線至行動裝置"
+instructions = "以手機相機掃描。影像會自動轉為 PDF。"
+instructionsNoConvert = "以手機相機掃描以上傳檔案。"
+
+[mobileScanner]
+title = "行動掃描器"
+noSession = "無效的工作階段"
+noSessionMessage = "請掃描有效的 QR 碼以存取此頁面。"
+validating = "正在驗證工作階段…"
+sessionInvalid = "工作階段錯誤"
+sessionExpired = "此工作階段已到期。請重新整理後再試一次。"
+sessionNotFound = "找不到工作階段。請重新整理後再試一次。"
+sessionValidationError = "無法驗證工作階段。請再試一次。"
+uploadSuccess = "上傳成功!"
+uploadSuccessMessage = "您的影像已傳送完成。"
+httpsRequired = "相機存取需要 HTTPS 或 localhost。請使用 HTTPS 或透過 localhost 存取。"
+uploadFailed = "上傳失敗。請再試一次。"
+uploading = "上傳中…"
+connected = "已連線"
+connecting = "連線中…"
+chooseMethod = "選擇上傳方式"
+chooseMethodDescription = "選擇您要如何掃描並上傳文件"
+camera = "相機"
+cameraDescription = "使用裝置相機掃描文件並自動進行邊緣偵測"
+fileUpload = "檔案上傳"
+fileDescription = "從裝置上傳現有的相片或文件"
+cameraAccessDenied = "相機權限被拒。請啟用相機存取權。"
+back = "返回"
+settings = "設定"
+edgeDetection = "邊緣偵測"
+flashlight = "手電筒"
+flash = "閃光燈"
+processing = "處理中…"
+capture = "拍攝照片"
+selectFilesPrompt = "選擇要上傳的檔案"
+selectImage = "選擇圖片"
+preview = "預覽"
+retake = "重拍"
+addToBatch = "加入批次"
+upload = "上傳"
+batchImages = "批次"
+clearBatch = "清除"
+uploadAll = "全部上傳"