From 7253b9fa6d5ddd55e5f021fe400e4682b05ead49 Mon Sep 17 00:00:00 2001 From: Anthony Stirling <77850077+Frooodle@users.noreply.github.com> Date: Tue, 25 Nov 2025 16:39:21 +0000 Subject: [PATCH] translations and login page (#5008) # 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. --- .../src/main/resources/settings.yml.template | 2 +- .../api/ProprietaryUIDataController.java | 33 + .../public/locales/ar-AR/translation.json | 894 ++++++++++++-- .../public/locales/az-AZ/translation.json | 914 ++++++++++++-- .../public/locales/bg-BG/translation.json | 916 ++++++++++++-- .../public/locales/ca-CA/translation.json | 900 ++++++++++++-- .../public/locales/cs-CZ/translation.json | 1051 ++++++++++++++--- .../public/locales/da-DK/translation.json | 892 ++++++++++++-- .../public/locales/de-DE/translation.json | 888 ++++++++++++-- .../public/locales/el-GR/translation.json | 896 ++++++++++++-- .../public/locales/en-GB/translation.json | 2 + .../public/locales/es-ES/translation.json | 890 ++++++++++++-- .../public/locales/eu-ES/translation.json | 924 +++++++++++++-- .../public/locales/fa-IR/translation.json | 892 ++++++++++++-- .../public/locales/fr-FR/translation.json | 888 ++++++++++++-- .../public/locales/ga-IE/translation.json | 894 ++++++++++++-- .../public/locales/hi-IN/translation.json | 888 ++++++++++++-- .../public/locales/hr-HR/translation.json | 897 ++++++++++++-- .../public/locales/hu-HU/translation.json | 894 ++++++++++++-- .../public/locales/id-ID/translation.json | 894 ++++++++++++-- .../public/locales/it-IT/translation.json | 896 ++++++++++++-- .../public/locales/ja-JP/translation.json | 887 ++++++++++++-- .../public/locales/ko-KR/translation.json | 922 +++++++++++++-- .../public/locales/ml-ML/translation.json | 932 +++++++++++++-- .../public/locales/nl-NL/translation.json | 884 ++++++++++++-- .../public/locales/no-NB/translation.json | 906 ++++++++++++-- .../public/locales/pl-PL/translation.json | 900 ++++++++++++-- .../public/locales/pt-BR/translation.json | 886 ++++++++++++-- .../public/locales/pt-PT/translation.json | 888 ++++++++++++-- .../public/locales/ro-RO/translation.json | 894 ++++++++++++-- .../public/locales/ru-RU/translation.json | 914 ++++++++++++-- .../public/locales/sk-SK/translation.json | 896 ++++++++++++-- .../public/locales/sl-SI/translation.json | 892 ++++++++++++-- .../locales/sr-LATN-RS/translation.json | 902 ++++++++++++-- .../public/locales/sv-SE/translation.json | 900 ++++++++++++-- .../public/locales/th-TH/translation.json | 912 ++++++++++++-- .../public/locales/tr-TR/translation.json | 890 ++++++++++++-- .../public/locales/uk-UA/translation.json | 894 ++++++++++++-- .../public/locales/vi-VN/translation.json | 904 ++++++++++++-- .../public/locales/zh-BO/translation.json | 908 ++++++++++++-- .../public/locales/zh-CN/translation.json | 892 ++++++++++++-- .../public/locales/zh-TW/translation.json | 898 ++++++++++++-- frontend/src/proprietary/routes/Login.tsx | 32 + 43 files changed, 32299 insertions(+), 2979 deletions(-) diff --git a/app/core/src/main/resources/settings.yml.template b/app/core/src/main/resources/settings.yml.template index 7e9438ac5..5ea28f71e 100644 --- a/app/core/src/main/resources/settings.yml.template +++ b/app/core/src/main/resources/settings.yml.template @@ -11,7 +11,7 @@ ############################################################################################################# security: - enableLogin: false # set to 'true' to enable login + enableLogin: true # set to 'true' to enable login csrfDisabled: false # set to 'true' to disable CSRF protection (not recommended for production) loginAttemptCount: 5 # lock user account after 5 tries; when using e.g. Fail2Ban you can deactivate the function with -1 loginResetTimeMinutes: 120 # lock account for 2 hours after x attempts diff --git a/app/proprietary/src/main/java/stirling/software/proprietary/controller/api/ProprietaryUIDataController.java b/app/proprietary/src/main/java/stirling/software/proprietary/controller/api/ProprietaryUIDataController.java index a5e0b8a0f..5c2c9502f 100644 --- a/app/proprietary/src/main/java/stirling/software/proprietary/controller/api/ProprietaryUIDataController.java +++ b/app/proprietary/src/main/java/stirling/software/proprietary/controller/api/ProprietaryUIDataController.java @@ -120,6 +120,37 @@ public class ProprietaryUIDataController { // Add enableLogin flag so frontend doesn't need to call /app-config data.setEnableLogin(securityProps.getEnableLogin()); + // Check if this is first-time setup with default credentials + // The isFirstLogin flag captures: default username/password usage and unchanged state + boolean isFirstTimeSetup = false; + boolean showDefaultCredentials = false; + + List allUsers = userRepository.findAll(); + List realUsers = + allUsers.stream() + .filter( + user -> + !Role.INTERNAL_API_USER + .getRoleId() + .equals(user.getUsername())) + .toList(); + long userCount = realUsers.size(); + + if (userCount == 0) { + isFirstTimeSetup = true; + showDefaultCredentials = true; + } else if (userCount == 1) { + Optional adminUser = userRepository.findByUsernameIgnoreCase("admin"); + + if (adminUser.isPresent() && Boolean.TRUE.equals(adminUser.get().getIsFirstLogin())) { + isFirstTimeSetup = true; + showDefaultCredentials = true; + } + } + + data.setFirstTimeSetup(isFirstTimeSetup); + data.setShowDefaultCredentials(showDefaultCredentials); + OAUTH2 oauth = securityProps.getOauth2(); if (oauth != null && oauth.getEnabled()) { @@ -456,6 +487,8 @@ public class ProprietaryUIDataController { private Map providerList; private String loginMethod; private boolean altLogin; + private boolean firstTimeSetup; + private boolean showDefaultCredentials; } @Data diff --git a/frontend/public/locales/ar-AR/translation.json b/frontend/public/locales/ar-AR/translation.json index ac6ad558f..b7b0625b8 100644 --- a/frontend/public/locales/ar-AR/translation.json +++ b/frontend/public/locales/ar-AR/translation.json @@ -17,6 +17,8 @@ "comingSoon": "قريبًا:", "favorite": "إضافة إلى المفضلة", "favorites": "المفضلة", + "unavailable": "معطَّل من قِبل مسؤول الخادم:", + "unavailableDependency": "غير متاح - الأداة المطلوبة مفقودة على الخادم:", "heading": "كل الأدوات (عرض ملء الشاشة)", "noResults": "جرّب ضبط البحث أو تبديل الوصف للعثور على ما تحتاجه.", "recommended": "موصى به", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "التبديل إلى وضع ملء الشاشة", "sidebar": "التبديل إلى وضع الشريط الجانبي" - } + }, + "alpha": "ألفا", + "premiumFeature": "ميزة Premium:", + "comingSoon": "قريباً:" }, "unsavedChanges": "لديك تغييرات غير محفوظة على ملف PDF. ماذا تريد أن تفعل؟", "areYouSure": "هل أنت متأكد أنك تريد المغادرة؟", @@ -41,6 +46,30 @@ "cancel": "إلغاء", "confirm": "استخراج" }, + "defaultApp": { + "title": "تعيين كتطبيق PDF الافتراضي", + "message": "هل ترغب في تعيين Stirling PDF كمحرر PDF الافتراضي؟", + "description": "يمكنك تغيير ذلك لاحقاً من إعدادات النظام.", + "notNow": "ليس الآن", + "setDefault": "تعيين كافتراضي", + "dismiss": "تجاهل", + "prompt": { + "title": "تعيين كمحرر PDF افتراضي", + "message": "اجعل Stirling PDF التطبيق الافتراضي لفتح ملفات PDF." + }, + "success": { + "title": "تم تعيين التطبيق الافتراضي", + "message": "أصبح Stirling PDF محرر PDF الافتراضي لديك" + }, + "settingsOpened": { + "title": "تم فتح الإعدادات", + "message": "يرجى اختيار Stirling PDF في إعدادات النظام" + }, + "error": { + "title": "خطأ", + "message": "فشل تعيين معالج PDF الافتراضي" + } + }, "language": { "direction": "rtl" }, @@ -101,6 +130,8 @@ "save": "حفظ", "saveToBrowser": "حفظ في المتصفح", "download": "تنزيل", + "downloadUnavailable": "التنزيل غير متاح لهذا العنصر", + "saveUnavailable": "الحفظ غير متاح لهذا العنصر", "pin": "تثبيت الملف (إبقاؤه نشطًا بعد تشغيل الأداة)", "unpin": "إلغاء تثبيت الملف (استبداله بعد تشغيل الأداة)", "undoOperationTooltip": "انقر للتراجع عن آخر عملية واستعادة الملفات الأصلية", @@ -168,6 +199,7 @@ }, "edit": "تحرير", "delete": "حذف", + "never": "أبداً", "username": "اسم المستخدم", "password": "كلمة المرور", "welcome": "مرحبا", @@ -262,7 +294,8 @@ "learnMore": "اعرف المزيد", "enable": "تفعيل الإحصائيات", "disable": "تعطيل الإحصائيات", - "settings": "يمكنك تغيير إعدادات الإحصائيات في ملف config/settings.yml" + "settings": "يمكنك تغيير إعدادات الإحصائيات في ملف config/settings.yml", + "privacyAssurance": "لا نقوم بتتبع أي معلومات شخصية أو محتوى ملفاتك." }, "navbar": { "favorite": "المفضلة", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "الإعدادات", - "update": "التحديث متاح", - "updateAvailable": "{0} هو الإصدار المثبت حاليًا. إصدار جديد ({1}) متاح.", - "appVersion": "إصدار التطبيق:", - "downloadOption": { - "title": "تحديد خيار التنزيل (للتنزيلات ذات الملف الواحد غير المضغوط):", - "1": "فتح في نفس النافذة", - "2": "فتح في نافذة جديدة", - "3": "تنزيل الملف" - }, - "zipThreshold": "ملفات مضغوطة عند تجاوز عدد الملفات التي تم تنزيلها", - "signOut": "تسجيل الخروج", - "accountSettings": "اعدادات الحساب", - "bored": { - "help": "تمكين لعبة البيضة المخفية" - }, - "cacheInputs": { - "name": "حفظ إدخالات النموذج", - "help": "تمكين لتخزين الإدخالات المستخدمة سابقًا للتشغيلات المستقبلية" + "connection": { + "title": "وضع الاتصال", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "مستضاف ذاتياً" + }, + "server": "الخادم", + "user": "تم تسجيل الدخول باسم", + "logout": "تسجيل الخروج" }, "general": { "title": "عام", "description": "تهيئة تفضيلات التطبيق العامة.", - "account": "الحساب", - "accountDescription": "إدارة إعدادات حسابك", "user": "المستخدم", - "signedInAs": "مسجل الدخول كـ", "logout": "تسجيل الخروج", "enableFeatures": { + "dismiss": "تجاهل", "title": "لمدراء النظام", "intro": "فعّل مصادقة المستخدمين وإدارة الفرق وميزات مساحة العمل لمؤسستك.", "action": "تكوين", "and": "و", "benefit": "يُفعّل أدوار المستخدمين، والتعاون عبر الفرق، وضوابط المشرف، وميزات المؤسسات.", - "learnMore": "تعرّف أكثر في التوثيق", - "dismiss": "تجاهل" + "learnMore": "تعرّف أكثر في التوثيق" }, - "autoUnzip": "فك ضغط استجابات API تلقائيًا", - "autoUnzipDescription": "استخراج الملفات تلقائيًا من استجابات ZIP", - "autoUnzipTooltip": "فك ضغط ملفات ZIP التي تُعاد من عمليات API تلقائيًا. عطّل للحفاظ على ملفات ZIP كما هي. هذا لا يؤثر على سير عمل الأتمتة.", - "autoUnzipFileLimit": "حد فك الضغط التلقائي للملفات", - "autoUnzipFileLimitDescription": "الحد الأقصى لعدد الملفات المطلوب استخراجها من ZIP", - "autoUnzipFileLimitTooltip": "لا يتم فك الضغط إلا إذا احتوى ملف ZIP على هذا العدد من الملفات أو أقل. ارفع القيمة لاستخراج ملفات ZIP الأكبر.", "defaultToolPickerMode": "وضع منتقي الأدوات الافتراضي", "defaultToolPickerModeDescription": "اختر ما إذا كان منتقي الأدوات يفتح افتراضيًا بملء الشاشة أو في الشريط الجانبي", "mode": { - "fullscreen": "ملء الشاشة", - "sidebar": "الشريط الجانبي" - } + "sidebar": "الشريط الجانبي", + "fullscreen": "ملء الشاشة" + }, + "autoUnzipTooltip": "فك ضغط ملفات ZIP التي تُعاد من عمليات API تلقائيًا. عطّل للحفاظ على ملفات ZIP كما هي. هذا لا يؤثر على سير عمل الأتمتة.", + "autoUnzip": "فك ضغط استجابات API تلقائيًا", + "autoUnzipDescription": "استخراج الملفات تلقائيًا من استجابات ZIP", + "autoUnzipFileLimitTooltip": "لا يتم فك الضغط إلا إذا احتوى ملف ZIP على هذا العدد من الملفات أو أقل. ارفع القيمة لاستخراج ملفات ZIP الأكبر.", + "autoUnzipFileLimit": "حد فك الضغط التلقائي للملفات", + "autoUnzipFileLimitDescription": "الحد الأقصى لعدد الملفات المطلوب استخراجها من ZIP", + "defaultPdfEditor": "محرر PDF الافتراضي", + "defaultPdfEditorActive": "Stirling PDF هو محرر PDF الافتراضي لديك", + "defaultPdfEditorInactive": "تطبيق آخر معيّن كافتراضي", + "defaultPdfEditorChecking": "جارٍ الفحص...", + "defaultPdfEditorSet": "افتراضي بالفعل", + "setAsDefault": "تعيين كافتراضي", + "updates": { + "title": "تحديثات البرنامج", + "description": "التحقق من التحديثات وعرض معلومات الإصدار", + "currentVersion": "الإصدار الحالي", + "latestVersion": "أحدث إصدار", + "checkForUpdates": "التحقق من التحديثات", + "viewDetails": "عرض التفاصيل" + }, + "hideUnavailableTools": "إخفاء الأدوات غير المتاحة", + "hideUnavailableToolsDescription": "إزالة الأدوات التي عطّلها خادمك بدلاً من عرضها باللون الرمادي.", + "hideUnavailableConversions": "إخفاء التحويلات غير المتاحة", + "hideUnavailableConversionsDescription": "إزالة خيارات التحويل المعطّلة في أداة التحويل بدلاً من عرضها باللون الرمادي." }, "hotkeys": { - "title": "اختصارات لوحة المفاتيح", - "description": "حرّك المؤشر فوق أداة لرؤية اختصارها أو خصّصه أدناه. انقر \"تغيير الاختصار\" ثم اضغط مجموعة مفاتيح جديدة. اضغط Esc للإلغاء.", - "errorModifier": { - "mac": "ضمّن ⌘ (Command) أو ⌥ (Option) أو مُعدِّلًا آخر في الاختصار.", - "windows": "ضمّن Ctrl أو Alt أو مُعدِّلًا آخر في الاختصار." - }, "errorConflict": "الاختصار مستخدم بالفعل بواسطة {{tool}}.", + "searchPlaceholder": "ابحث في الأدوات...", "none": "غير معيّن", "customBadge": "مخصص", "defaultLabel": "الافتراضي: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "تغيير الاختصار", "reset": "إعادة ضبط", "shortcut": "اختصار", - "noShortcut": "لا يوجد اختصار معيّن", - "searchPlaceholder": "ابحث في الأدوات..." + "noShortcut": "لا يوجد اختصار معيّن" } }, + "update": { + "modalTitle": "يتوفر تحديث", + "current": "الإصدار الحالي", + "latest": "أحدث إصدار", + "latestStable": "أحدث مستقر", + "priorityLabel": "الأولوية", + "recommendedAction": "الإجراء الموصى به", + "breakingChangesDetected": "تم اكتشاف تغييرات كاسرة للتوافق", + "breakingChangesMessage": "تحتوي بعض الإصدارات على تغييرات كاسرة للتوافق. يرجى مراجعة أدلة الترحيل أدناه قبل التحديث.", + "migrationGuides": "أدلة الترحيل", + "viewGuide": "عرض الدليل", + "loadingDetailedInfo": "جارٍ تحميل معلومات تفصيلية...", + "close": "إغلاق", + "viewAllReleases": "عرض جميع الإصدارات", + "downloadLatest": "تنزيل الأحدث", + "availableUpdates": "التحديثات المتاحة", + "unableToLoadDetails": "تعذّر تحميل المعلومات التفصيلية.", + "version": "الإصدار", + "urgentUpdateAvailable": "تحديث عاجل", + "updateAvailable": "يتوفر تحديث", + "releaseNotes": "ملاحظات الإصدار", + "priority": { + "urgent": "عاجل", + "normal": "عادي", + "minor": "ثانوي", + "low": "منخفض" + }, + "breakingChanges": "تغييرات كاسرة للتوافق", + "breakingChangesDefault": "يحتوي هذا الإصدار على تغييرات كاسرة للتوافق.", + "migrationGuide": "دليل الترحيل" + }, "changeCreds": { "title": "تغيير بيانات الاعتماد", "header": "تحديث تفاصيل حسابك", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "تراكب ملف PDF فوق آخر", "title": "تراكب ملفات PDF" + }, + "pdfTextEditor": { + "title": "محرر نصوص PDF", + "desc": "مراجعة وتحرير صادرات Stirling PDF بصيغة JSON مع تحرير نصوص مجمّعة وإعادة إنشاء PDF" + }, + "addText": { + "tags": "نص,تعليق,تسمية", + "title": "إضافة نص", + "desc": "أضف نصاً مخصصاً في أي مكان داخل PDF" } }, "landing": { "addFiles": "إضافة ملفات", - "uploadFromComputer": "الرفع من الكمبيوتر" + "uploadFromComputer": "الرفع من الكمبيوتر", + "openFromComputer": "فتح من الكمبيوتر" }, "viewPdf": { "tags": "عرض,قراءة,تعليق,نص,صورة", @@ -849,6 +922,11 @@ }, "error": { "failed": "حدث خطأ أثناء دمج ملفات PDF." + }, + "tooltip": { + "header": { + "title": "نظرة عامة على إعدادات الدمج" + } } }, "split": { @@ -1047,7 +1125,7 @@ "settings": "إعدادات", "conversionCompleted": "اكتمل التحويل", "results": "النتائج", - "defaultFilename": "converted_file", + "defaultFilename": "ملف_محول", "conversionResults": "نتائج التحويل", "convertFrom": "التحويل من", "convertTo": "التحويل إلى", @@ -1091,7 +1169,7 @@ "pptExt": "PowerPoint (.pptx)", "odpExt": "عرض OpenDocument (.odp)", "txtExt": "نص عادي (.txt)", - "rtfExt": "Rich Text Format (.rtf)", + "rtfExt": "تنسيق نص منسق (.rtf)", "selectedFiles": "الملفات المحددة", "noFileSelected": "لا يوجد ملف محدد. استخدم لوحة الملفات لإضافة ملفات.", "convertFiles": "تحويل الملفات", @@ -1182,9 +1260,43 @@ "tags": "صورة,jpg,صورة,صورة فوتوغرافية", "title": "إضافة صورة", "header": "إضافة صورة إلى PDF", - "everyPage": "كل صفحة؟", - "upload": "إضافة صورة", - "submit": "إضافة صورة" + "image": { + "name": "صورة", + "placeholder": "ارفع صورة", + "label": "ملف صورة" + }, + "steps": { + "configure": "تهيئة الصورة" + }, + "step": { + "createDesc": "ارفع الصورة التي تريد إضافتها", + "place": "وضع الصورة", + "placeDesc": "انقر على ملف PDF لإضافة صورتك" + }, + "instructions": { + "title": "كيفية إضافة الصور", + "text": "بعد رفع صورتك أعلاه، انقر في أي مكان على ملف PDF لوضعها.", + "paused": "تم إيقاف الوضع مؤقتاً", + "resumeHint": "استأنف الوضع للنقر وإضافة صورتك.", + "noSignature": "ارفع صورة أعلاه لتمكين الوضع." + }, + "mode": { + "move": "تحريك الصورة", + "place": "وضع الصورة", + "pause": "إيقاف الوضع مؤقتاً", + "resume": "استئناف الوضع" + }, + "results": { + "title": "نتائج إضافة الصورة" + }, + "error": { + "failed": "حدث خطأ أثناء إضافة الصورة إلى ملف PDF." + }, + "saved": { + "defaultLabel": "صورة", + "defaultImageLabel": "صورة مرفوعة" + }, + "applySignatures": "تطبيق الصور" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1397,6 +1509,93 @@ }, "submit": "تغيير" }, + "editTableOfContents": { + "settings": { + "title": "الإشارات المرجعية والمخطط", + "replaceExisting": "استبدال الإشارات المرجعية الحالية (أزل التحديد للإلحاق)", + "replaceExistingHint": "عند التعطيل، يتم إلحاق المخطط الجديد بعد الإشارات المرجعية الحالية." + }, + "actions": { + "source": "تحميل الإشارات المرجعية", + "selectedFile": "تم التحميل من {{file}}", + "noFile": "اختر ملف PDF لاستخراج الإشارات المرجعية الحالية.", + "loadFromPdf": "التحميل من ملف PDF المحدد", + "importJson": "استيراد JSON", + "importClipboard": "لصق JSON من الحافظة", + "export": "تصدير الإشارات المرجعية", + "exportJson": "تنزيل JSON", + "exportClipboard": "نسخ JSON إلى الحافظة", + "clipboardUnavailable": "وصول الحافظة غير متاح في هذا المتصفح." + }, + "info": { + "line1": "تحتاج كل إشارة مرجعية إلى عنوان وصفي والصفحة التي يجب فتحها.", + "line2": "استخدم الإشارات المرجعية الفرعية لبناء تسلسل هرمي للفصول والأقسام والفروع الفرعية.", + "line3": "استورد الإشارات المرجعية من PDF المحدد أو من ملف JSON لتوفير الوقت." + }, + "workbench": { + "empty": { + "title": "افتح الأداة لبدء التحرير", + "description": "اختر أداة تحرير جدول المحتويات لتحميل مساحة العمل." + }, + "tabTitle": "مساحة عمل المخطط", + "subtitle": "استورد الإشارات المرجعية وابنِ التسلسلات الهرمية وطبّق المخطط دون لوحات جانبية مزدحمة.", + "noFile": "لا يوجد PDF محدد", + "fileLabel": "ستُطبّق التغييرات على ملف PDF المحدد حالياً.", + "filePrompt": "اختر ملف PDF من مكتبتك أو ارفع ملفاً جديداً للبدء.", + "changeFile": "تغيير ملف PDF", + "selectFile": "اختيار PDF" + }, + "editor": { + "heading": "محرر الإشارات المرجعية", + "description": "أضف الإشارات المرجعية وداخلها وأعد ترتيبها لصياغة مخطط PDF الخاص بك.", + "addTopLevel": "إضافة إشارة مرجعية علوية", + "empty": { + "title": "لا توجد إشارات مرجعية بعد", + "description": "استورد الإشارات المرجعية الحالية أو ابدأ بإضافة أول إدخال.", + "action": "إضافة أول إشارة" + }, + "defaultTitle": "إشارة مرجعية جديدة", + "defaultChildTitle": "إشارة مرجعية فرعية", + "defaultSiblingTitle": "إشارة مرجعية جديدة", + "untitled": "إشارة مرجعية بدون عنوان", + "childBadge": "فرعي", + "pagePreview": "الصفحة {{page}}", + "field": { + "title": "عنوان الإشارة المرجعية", + "page": "رقم الصفحة المستهدفة" + }, + "actions": { + "toggle": "تبديل العناصر الفرعية", + "addChild": "إضافة إشارة مرجعية فرعية", + "addSibling": "إضافة إشارة مرجعية شقيقة", + "remove": "إزالة الإشارة المرجعية" + }, + "confirmRemove": "إزالة هذه الإشارة وكل فروعها؟" + }, + "messages": { + "loadedTitle": "تم استخراج الإشارات المرجعية", + "loadedBody": "تم تحميل الإشارات المرجعية الحالية من ملف PDF إلى المحرر.", + "noBookmarks": "لم يتم العثور على إشارات مرجعية في ملف PDF المحدد.", + "loadFailed": "تعذّر استخراج الإشارات المرجعية من ملف PDF المحدد.", + "imported": "تم استيراد الإشارات المرجعية", + "importedBody": "استبدل مخطط JSON محتويات المحرر الحالية.", + "importedClipboard": "استبدلت بيانات الحافظة قائمة الإشارات المرجعية الحالية.", + "invalidJson": "بنية JSON غير صالحة", + "invalidJsonBody": "يرجى توفير ملف JSON صالح للإشارات المرجعية ثم المحاولة مرة أخرى.", + "exported": "تنزيل JSON جاهز", + "copied": "تم النسخ إلى الحافظة", + "copiedBody": "تم نسخ JSON الخاص بالإشارات المرجعية بنجاح.", + "copyFailed": "فشل النسخ" + }, + "error": { + "failed": "فشل تحديث جدول المحتويات" + }, + "submit": "تطبيق جدول المحتويات", + "results": { + "title": "تم تحديث PDF مع إشارات مرجعية", + "subtitle": "نزّل الملف المعالج أو تراجع عن العملية أدناه." + } + }, "removePages": { "tags": "إزالة الصفحات,حذف الصفحات", "title": "إزالة الصفحات", @@ -1978,13 +2177,54 @@ "title": "ارسم توقيعك", "clear": "مسح" }, + "canvas": { + "heading": "ارسم توقيعك", + "clickToOpen": "انقر لفتح لوحة الرسم", + "modalTitle": "ارسم توقيعك", + "colorLabel": "اللون", + "penSizeLabel": "حجم القلم", + "penSizePlaceholder": "الحجم", + "clear": "مسح اللوحة", + "colorPickerTitle": "اختر لون الضربة" + }, "text": { "name": "اسم الموقّع", - "placeholder": "أدخل اسمك الكامل" + "placeholder": "أدخل اسمك الكامل", + "fontLabel": "الخط", + "fontSizeLabel": "حجم الخط", + "fontSizePlaceholder": "اكتب أو اختر حجم الخط (8-200)", + "colorLabel": "لون النص" }, "clear": "مسح", "add": "إضافة", - "saved": "توقيعات تم حفظها", + "saved": { + "heading": "التواقيع المحفوظة", + "description": "أعد استخدام التواقيع المحفوظة في أي وقت.", + "emptyTitle": "لا توجد تواقيع محفوظة بعد", + "emptyDescription": "ارسم أو ارفع أو اكتب توقيعاً أعلاه، ثم استخدم \"حفظ في المكتبة\" للاحتفاظ بما يصل إلى {{max}} مفضلات جاهزة للاستخدام.", + "type": { + "canvas": "رسم", + "image": "رفع", + "text": "نص" + }, + "limitTitle": "تم بلوغ الحد", + "limitDescription": "أزل توقيعاً محفوظاً قبل إضافة جديد (حتى {{max}}).", + "carouselPosition": "{{current}} من {{total}}", + "prev": "السابق", + "next": "التالي", + "delete": "إزالة", + "label": "التسمية", + "defaultLabel": "توقيع", + "defaultCanvasLabel": "توقيع مرسوم", + "defaultImageLabel": "توقيع مرفوع", + "defaultTextLabel": "توقيع مكتوب", + "saveButton": "حفظ التوقيع", + "saveUnavailable": "أنشئ توقيعاً أولاً لحفظه.", + "noChanges": "التوقيع الحالي محفوظ بالفعل.", + "status": { + "saved": "تم الحفظ" + } + }, "save": "حفظ توقيع", "applySignatures": "تطبيق التواقيع", "personalSigs": "توقيعات شخصية", @@ -2003,12 +2243,18 @@ "steps": { "configure": "تهيئة التوقيع" }, + "step": { + "createDesc": "اختر كيفية إنشاء التوقيع", + "place": "وضع وحفظ", + "placeDesc": "ضع التوقيع على ملف PDF" + }, "type": { "title": "نوع التوقيع", "draw": "رسم", "canvas": "لوحة Canvas", "image": "صورة", - "text": "نص" + "text": "نص", + "saved": "محفوظ" }, "image": { "label": "رفع صورة التوقيع", @@ -2019,11 +2265,17 @@ "title": "كيفية إضافة توقيع", "canvas": "بعد رسم توقيعك في لوحة الرسم، أغلق النافذة ثم انقر في أي مكان على ملف PDF لوضعه.", "image": "بعد رفع صورة توقيعك أعلاه، انقر في أي مكان على ملف PDF لوضعه.", - "text": "بعد إدخال اسمك أعلاه، انقر في أي مكان على ملف PDF لوضع توقيعك." + "saved": "اختر توقيعاً محفوظاً أعلاه، ثم انقر في أي مكان على ملف PDF لوضعه.", + "text": "بعد إدخال اسمك أعلاه، انقر في أي مكان على ملف PDF لوضع توقيعك.", + "paused": "تم إيقاف الوضع مؤقتاً", + "resumeHint": "استأنف الوضع للنقر وإضافة توقيعك.", + "noSignature": "أنشئ توقيعاً أعلاه لتمكين أدوات الوضع." }, "mode": { "move": "تحريك التوقيع", - "place": "وضع التوقيع" + "place": "وضع التوقيع", + "pause": "إيقاف الوضع مؤقتاً", + "resume": "استئناف الوضع" }, "updateAndPlace": "تحديث ووضع", "activate": "تفعيل وضع وضع التوقيع", @@ -2163,6 +2415,14 @@ "title": "حول إزالة التعليقات", "description": "ستزيل هذه الأداة جميع التعليقات (تعليقات، تمييزات، ملاحظات، إلخ) من ملفات PDF." }, + "tooltip": { + "header": { + "title": "حول إزالة التعليقات التوضيحية" + }, + "description": { + "title": "ما الذي يقدمه" + } + }, "error": { "failed": "حدث خطأ أثناء إزالة التعليقات من PDF." } @@ -2627,6 +2887,9 @@ "header": { "title": "كيف تعمل إعادة التسمية التلقائية" }, + "description": { + "title": "ما الذي يقدمه" + }, "howItWorks": { "title": "إعادة تسمية ذكية", "text": "يجد تلقائيًا العنوان من محتوى PDF ويستخدمه كاسم الملف.", @@ -2634,6 +2897,9 @@ "bullet2": "ينشئ اسم ملف نظيفًا وصالحًا من العنوان المُكتشف", "bullet3": "يبقي الاسم الأصلي إذا لم يُعثر على عنوان مناسب" } + }, + "settings": { + "title": "حول" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "خطأ غير متوقع: {{message}}", "accountCreatedSuccess": "تم إنشاء الحساب بنجاح! يمكنك الآن تسجيل الدخول.", "passwordChangedSuccess": "تم تغيير كلمة المرور بنجاح! يرجى تسجيل الدخول بكلمة المرور الجديدة.", - "credentialsUpdated": "تم تحديث بيانات الاعتماد الخاصة بك. يرجى تسجيل الدخول مجددًا." + "credentialsUpdated": "تم تحديث بيانات الاعتماد الخاصة بك. يرجى تسجيل الدخول مجددًا.", + "defaultCredentials": "بيانات اعتماد تسجيل الدخول الافتراضية", + "changePasswordWarning": "يرجى تغيير كلمة المرور بعد تسجيل الدخول لأول مرة", + "slides": { + "overview": { + "alt": "نظرة عامة على Stirling PDF", + "title": "كل ما تحتاجه لـ PDF في مكان واحد.", + "subtitle": "حزمة سحابية تضع الخصوصية أولاً لملفات PDF تتيح لك تحويل المستندات وتوقيعها وتنقيحها وإدارتها، إلى جانب أكثر من 50 أداة قوية أخرى." + }, + "edit": { + "alt": "تحرير ملفات PDF", + "title": "حرّر ملفات PDF لعرض/تأمين المعلومات التي تريدها", + "subtitle": "مع أكثر من 12 أداة تساعدك على تنقيح ملفات PDF وتوقيعها وقراءتها ومعالجتها، ستجد بالتأكيد ما تبحث عنه." + }, + "secure": { + "alt": "حماية ملفات PDF", + "title": "احمِ المعلومات الحساسة في ملفات PDF الخاصة بك", + "subtitle": "أضِف كلمات مرور، ونقّح المحتوى، وأدر الشهادات بسهولة." + } + } }, "signup": { "title": "إنشاء حساب", @@ -3598,7 +3883,9 @@ "exportAll": "تصدير PDF", "downloadSelected": "تنزيل الملفات المحددة", "downloadAll": "تنزيل الكل", + "saveAll": "حفظ الكل", "toggleTheme": "تبديل السِمة", + "toggleBookmarks": "تبديل الإشارات المرجعية", "language": "اللغة", "search": "بحث في PDF", "panMode": "وضع السحب", @@ -3685,8 +3972,16 @@ "saved": "تم حفظ الإعدادات بنجاح", "saveSuccess": "تم حفظ الإعدادات بنجاح", "save": "حفظ التغييرات", + "discard": "تجاهل", "restartRequired": "مطلوب إعادة تشغيل", "loginRequired": "يجب تمكين وضع تسجيل الدخول لتعديل إعدادات المسؤول", + "unsavedChanges": { + "title": "تغييرات غير محفوظة", + "message": "لديك تغييرات غير محفوظة. هل تريد تجاهلها؟", + "cancel": "متابعة التحرير", + "discard": "تجاهل التغييرات", + "hint": "لديك تغييرات غير محفوظة" + }, "loginDisabled": { "title": "مطلوب وضع تسجيل الدخول", "message": "يجب تمكين وضع تسجيل الدخول لتعديل إعدادات المسؤول. يرجى ضبط SECURITY_ENABLELOGIN=true في بيئتك أو security.enableLogin: true في settings.yml، ثم أعد تشغيل الخادم.", @@ -4132,12 +4427,12 @@ "description": "الحد الأقصى لوقت التنفيذ" }, "libreOffice": "LibreOffice", - "pdfToHtml": "PDF to HTML", + "pdfToHtml": "PDF إلى HTML", "qpdf": "QPDF", "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", "weasyPrint": "WeasyPrint", - "installApp": "Install App", + "installApp": "تثبيت التطبيق", "calibre": "Calibre", "ghostscript": "Ghostscript", "ocrMyPdf": "OCRmyPDF" @@ -4212,9 +4507,21 @@ "title": "الممتاز والمؤسسي", "description": "تهيئة مفتاح الترخيص للمزايا الممتازة أو المؤسسية.", "license": "تهيئة الترخيص", + "licenseKey": { + "toggle": "هل لديك مفتاح ترخيص أو ملف شهادة؟", + "info": "إذا كان لديك مفتاح ترخيص أو ملف شهادة من عملية شراء مباشرة، فيمكنك إدخاله هنا لتفعيل ميزات Premium أو Enterprise." + }, "key": { "label": "مفتاح الترخيص", - "description": "أدخل مفتاح الترخيص للمزايا الممتازة أو المؤسسية" + "description": "أدخل مفتاح الترخيص للمزايا الممتازة أو المؤسسية", + "success": "تم حفظ مفتاح الترخيص", + "successMessage": "تم تفعيل مفتاح الترخيص بنجاح. لا حاجة لإعادة التشغيل.", + "overwriteWarning": { + "title": "⚠️ تحذير: تم اكتشاف ترخيص قائم", + "line1": "لا يمكن التراجع عن استبدال مفتاح الترخيص الحالي.", + "line2": "سيُفقد ترخيصك السابق نهائياً ما لم تكن قد احتفظت بنسخة احتياطية منه في مكان آخر.", + "line3": "مهم: احتفظ بمفاتيح الترخيص خاصة وآمنة. لا تشاركها علناً أبداً." + } }, "enabled": { "label": "تمكين الميزات الممتازة", @@ -4278,12 +4585,17 @@ "or": "أو", "dropFileHere": "أسقط الملف هنا أو انقر للتحميل", "dropFilesHere": "أسقط الملفات هنا أو انقر زر التحميل", + "dropFilesHereOpen": "أسقط الملفات هنا أو انقر زر الفتح", "pdfFilesOnly": "ملفات PDF فقط", "supportedFileTypes": "أنواع الملفات المدعومة", "upload": "تحميل", "uploadFile": "تحميل ملف", "uploadFiles": "تحميل ملفات", + "open": "فتح", + "openFile": "فتح ملف", + "openFiles": "فتح ملفات", "noFilesInStorage": "لا توجد ملفات في التخزين. ارفع بعض الملفات أولًا.", + "noFilesInStorageOpen": "لا توجد ملفات في التخزين. افتح بعض الملفات أولاً.", "selectFromStorage": "الاختيار من التخزين", "backToTools": "عودة إلى الأدوات", "addFiles": "إضافة ملفات", @@ -4329,6 +4641,8 @@ "myFiles": "ملفاتي", "noRecentFiles": "لم يتم العثور على ملفات حديثة", "googleDriveNotAvailable": "تكامل Google Drive غير متاح", + "downloadSelected": "تنزيل المحدّد", + "saveSelected": "حفظ المحدد", "openFiles": "فتح ملفات", "openFile": "فتح ملف", "details": "تفاصيل الملف", @@ -4341,7 +4655,6 @@ "selectAll": "تحديد الكل", "deselectAll": "إلغاء تحديد الكل", "deleteSelected": "حذف المحدد", - "downloadSelected": "تنزيل المحدّد", "selectedCount": "{{count}} محدد", "download": "تنزيل", "delete": "حذف", @@ -4528,7 +4841,7 @@ "placeholder": "أدخل كلمة المرور الحالية", "completed": "تم إعداد كلمة المرور" }, - "filenamePrefix": "decrypted", + "filenamePrefix": "غير_مشفر", "error": { "failed": "حدث خطأ أثناء إزالة كلمة المرور من PDF." }, @@ -4621,9 +4934,14 @@ "secureWorkflow": "سير عمل الأمان", "secureWorkflowDesc": "يؤمّن مستندات PDF بإزالة المحتوى المحتمل الضرر مثل JavaScript والملفات المضمّنة، ثم يضيف حماية بكلمة مرور لمنع الوصول غير المصرح به. كلمة المرور الافتراضية 'password'.", "processImages": "معالجة الصور", - "processImagesDesc": "تحوّل ملفات صور متعددة إلى ملف PDF واحد، ثم تطبّق تقنية OCR لاستخراج نص قابل للبحث من الصور." + "processImagesDesc": "تحوّل ملفات صور متعددة إلى ملف PDF واحد، ثم تطبّق تقنية OCR لاستخراج نص قابل للبحث من الصور.", + "prePublishSanitization": "تنقية ما قبل النشر", + "prePublishSanitizationDesc": "سير عمل تنقية يزيل كل البيانات الوصفية المخفية وJavaScript والملفات المضمّنة والتعليقات، ويبسّط النماذج لمنع تسرّب البيانات قبل نشر ملفات PDF على الإنترنت." } }, + "colorPicker": { + "title": "اختر اللون" + }, "common": { "previous": "السابق", "next": "التالي", @@ -4639,7 +4957,13 @@ "used": "مستخدم", "available": "متاح", "cancel": "إلغاء", - "preview": "معاينة" + "preview": "معاينة", + "close": "إغلاق", + "done": "تم", + "loading": "جارٍ التحميل...", + "back": "رجوع", + "continue": "متابعة", + "error": "خطأ" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "أضف مزيدًا من الملفات...", "selectedFiles": "الملفات المحددة", "submit": "إضافة المرفقات", + "tooltip": { + "header": { + "title": "حول إضافة المرفقات" + }, + "description": { + "title": "ما الذي يقدمه" + } + }, "results": { "title": "نتائج المرفقات" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "موضع مخصص", "details": "التفاصيل", - "downloadUnavailable": "التنزيل غير متاح لهذا العنصر", "invalidUndoData": "لا يمكن التراجع: بيانات العملية غير صالحة", "margin": { "large": "كبير", @@ -4801,6 +5132,10 @@ "maybeLater": "ربما لاحقًا", "dontShowAgain": "عدم الإظهار مجددًا" }, + "welcomeSlide": { + "title": "مرحباً بك في Stirling", + "body": "Stirling PDF أصبح جاهزاً الآن للفرق من جميع الأحجام. يتضمن هذا التحديث تخطيطاً جديداً، وإمكانات إدارية قوية، وأكثر ميزة طُلبت - تحرير النص." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "لنختر أداة القص لشرح كيفية استخدام إحدى الأدوات.", "toolInterface": "هذه هي واجهة أداة القص. كما ترى، لا يوجد الكثير هنا لأننا لم نُضِف بعد أي ملفات PDF للعمل عليها.", @@ -4823,7 +5158,39 @@ "next": "التالي", "finish": "إنهاء", "startTour": "بدء الجولة", - "startTourDescription": "قم بجولة إرشادية للتعرّف على الميزات الرئيسية في Stirling PDF" + "startTourDescription": "قم بجولة إرشادية للتعرّف على الميزات الرئيسية في Stirling PDF", + "buttons": { + "next": "التالي →", + "back": "رجوع", + "skipForNow": "تخطي الآن", + "download": "تنزيل →", + "showMeAround": "أرني الجولة", + "skipTheTour": "تخطي الجولة" + }, + "serverLicense": { + "skip": "تخطي الآن", + "seePlans": "عرض الخطط →", + "upgrade": "الترقية الآن →", + "freeTitle": "ترخيص الخادم", + "overLimitTitle": "مطلوب ترخيص خادم", + "overLimitBody": "ترخيصنا يسمح حتى {{freeTierLimit}} مستخدمين مجاناً لكل خادم. لديك {{overLimitUserCopy}} مستخدمي Stirling. للمتابعة دون انقطاع، ارقَ إلى خطة خادم Stirling - مقاعد غير محدودة، تحرير نصوص PDF، وتحكم إداري كامل مقابل $99/خادم/شهرياً.", + "freeBody": "ترخيص Open-Core لدينا يسمح حتى {{freeTierLimit}} مستخدمين مجاناً لكل خادم. للتوسع بسلاسة والحصول على وصول مبكر إلى أداة تحرير نصوص PDF الجديدة، نوصي بخطة خادم Stirling - تحرير كامل ومقاعد غير محدودة مقابل $99/خادم/شهرياً." + }, + "desktopInstall": { + "title": "تنزيل", + "titleWithOs": "تنزيل لـ {{osLabel}}", + "body": "يعمل Stirling بشكل أفضل كتطبيق سطح مكتب. يمكنك استخدامه دون اتصال، والوصول إلى المستندات بسرعة أكبر، وإجراء التعديلات محلياً على جهازك." + }, + "planOverview": { + "adminTitle": "نظرة عامة للمشرف", + "userTitle": "نظرة عامة على الخطة", + "adminBodyLoginEnabled": "بصفتك مشرفاً، يمكنك إدارة المستخدمين، وضبط الإعدادات، ومراقبة حالة الخادم. أول {{freeTierLimit}} شخصاً على خادمك يستخدمون Stirling مجاناً.", + "adminBodyLoginDisabled": "بمجرد تمكين وضع تسجيل الدخول، يمكنك إدارة المستخدمين، وضبط الإعدادات، ومراقبة حالة الخادم. أول {{freeTierLimit}} شخصاً على خادمك يستخدمون Stirling مجاناً.", + "userBody": "ادعُ زملاءك، وخصص الأدوار، واحفظ مستنداتك منظمة في مساحة عمل آمنة واحدة. فعّل وضع تسجيل الدخول عندما تكون مستعداً للتوسع بعد الاستخدام الفردي." + }, + "securityCheck": { + "message": "خضعت التطبيق لتغييرات كبيرة مؤخراً. قد يتطلب ذلك انتباه مشرف الخادم. يرجى تأكيد دورك للمتابعة." + } }, "adminOnboarding": { "welcome": "مرحبًا بك في جولة المسؤول! فلنستكشف الميزات المؤسسية القوية والإعدادات المتاحة لمسؤولي النظام.", @@ -4852,7 +5219,10 @@ "role": "الدور", "team": "الفريق", "status": "الحالة", - "actions": "إجراءات", + "actions": { + "label": "إجراءات", + "upgrade": "ترقية" + }, "noMembersFound": "لم يتم العثور على أعضاء", "active": "نشط", "disabled": "معطّل", @@ -4928,7 +5298,7 @@ "inviteLink": { "description": "إنشاء رابط آمن يتيح للمستخدم تعيين كلمة مروره بنفسه", "email": "عنوان البريد الإلكتروني", - "emailPlaceholder": "user@example.com (optional)", + "emailPlaceholder": "user@example.com (اختياري)", "emailDescription": "اختياري — اتركه فارغًا للحصول على رابط دعوة عام يمكن لأي شخص استخدامه", "emailRequired": "عنوان البريد الإلكتروني مطلوب", "emailOptional": "اختياري — اتركه فارغًا للحصول على رابط دعوة عام", @@ -4964,7 +5334,8 @@ "slotsAvailable": "متاح {{count}} مقعد مستخدم", "noSlotsAvailable": "لا توجد مقاعد متاحة", "currentUsage": "تستخدم حالياً {{current}} من {{max}} تراخيص المستخدمين" - } + }, + "loginRequired": "فعّل وضع تسجيل الدخول أولاً" }, "teams": { "title": "الفرق", @@ -5057,6 +5428,17 @@ "showComparison": "قارن جميع الميزات", "hideComparison": "إخفاء مقارنة الميزات", "featureComparison": "مقارنة الميزات", + "from": "من", + "perMonth": "/شهر", + "perSeat": "/مقعد", + "withServer": "+ خطة الخادم", + "licensedSeats": "المرخَّصة: {{count}} مقعداً", + "includedInCurrent": "مشمولة في خطتك", + "selectPlan": "اختيار الخطة", + "manage": "إدارة", + "manageSubscription": { + "description": "إدارة الاشتراك والفوترة وطرق الدفع" + }, "activePlan": { "title": "الخطة النشطة", "subtitle": "تفاصيل اشتراكك الحالي" @@ -5074,13 +5456,16 @@ "upTo": "حتى" }, "period": { - "month": "شهر" + "month": "شهر", + "perUserPerMonth": "/مستخدم/شهر" }, "free": { "name": "مجانية", "highlight1": "استخدام الأدوات محدود أسبوعيًا", "highlight2": "الوصول إلى جميع الأدوات", - "highlight3": "دعم المجتمع" + "highlight3": "دعم المجتمع", + "forever": "مجاني للأبد", + "included": "مشمولة" }, "pro": { "name": "احترافية", @@ -5092,7 +5477,9 @@ "name": "مؤسسات", "highlight1": "تسعير مخصص", "highlight2": "دعم مخصص", - "highlight3": "أحدث الميزات" + "highlight3": "أحدث الميزات", + "requiresServer": "يتطلب خادماً", + "requiresServerMessage": "يرجى الترقية إلى خطة الخادم أولاً قبل الترقية إلى Enterprise." }, "feature": { "title": "الميزة", @@ -5102,6 +5489,12 @@ "api": "وصول API", "priority": "دعم أولوية", "customPricing": "تسعير مخصص" + }, + "licenseWarning": { + "title": "تم بلوغ حد الاستضافة الذاتية المجاني", + "body": "لديك {{total}} مستخدماً لكن الشريحة المجانية تدعم {{limit}} فقط لكل خادم. قم بالترقية للحفاظ على عمل Stirling PDF بسلاسة.", + "overLimit": "أكثر من {{limit}}", + "cta": "عرض الخطط" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "إدارة الفوترة", "portal": { "error": "فشل فتح بوابة الفوترة" - } + }, + "updateSeats": "تحديث المقاعد", + "updateEnterpriseSeats": "تحديث مقاعد Enterprise", + "currentSeats": "المقاعد الحالية", + "minimumSeats": "الحد الأدنى للمقاعد", + "basedOnUsers": "(المستخدمون الحاليون)", + "newSeatCount": "عدد المقاعد الجديد", + "newSeatCountDescription": "اختر عدد المقاعد لترخيص Enterprise", + "whatHappensNext": "ماذا سيحدث لاحقاً؟", + "stripePortalRedirect": "ستتم إعادة توجيهك إلى بوابة فوترة Stripe لمراجعة تأكيد تغيير المقاعد. سيتم حساب المبلغ النسبي تلقائياً.", + "preparingUpdate": "جارٍ تجهيز تحديث المقاعد...", + "seatCountTooLow": "يجب ألا يقل عدد المقاعد عن {{minimum}} (عدد المستخدمين الحالي)", + "seatCountUnchanged": "يرجى اختيار عدد مقاعد مختلف", + "seatsUpdated": "تم تحديث المقاعد", + "seatsUpdatedMessage": "تم تحديث مقاعد Enterprise إلى {{seats}}", + "updateProcessing": "جاري تنفيذ التحديث", + "updateProcessingMessage": "جارٍ معالجة تحديث المقاعد. يرجى التحديث بعد قليل.", + "notEnterprise": "إدارة المقاعد متاحة فقط لتراخيص Enterprise" + }, + "upgradeBanner": { + "title": "الترقية إلى خطة الخادم", + "message": "احصل على أقصى استفادة من Stirling PDF مع مستخدمين غير محدودين وميزات متقدمة", + "upgradeButton": "الترقية الآن", + "dismiss": "تجاهل الشريط", + "attentionTitle": "هذا الخادم يحتاج إلى انتباه المشرف", + "attentionBody": "يجب على المشرف تسجيل الدخول لرؤية المزيد من المعلومات. يرجى التواصل معه فوراً.", + "attentionBodyAdmin": "راجع متطلبات الترخيص للحفاظ على امتثال هذا الخادم.", + "seeInfo": "عرض المعلومات" }, "payment": { "preparing": "جارٍ تجهيز عملية الدفع...", @@ -5128,7 +5548,61 @@ "success": "تم الدفع بنجاح!", "successMessage": "تم تفعيل اشتراكك بنجاح. ستتلقى رسالة تأكيد عبر البريد الإلكتروني قريبًا.", "autoClose": "سيتم إغلاق هذه النافذة تلقائيًا...", - "error": "خطأ في الدفع" + "error": "خطأ في الدفع", + "upgradeSuccess": "تم الدفع بنجاح! تم ترقية اشتراكك. تم تحديث الترخيص على خادمك. ستتلقى رسالة تأكيد عبر البريد الإلكتروني قريباً.", + "paymentSuccess": "تم الدفع بنجاح! جارٍ جلب مفتاح الترخيص...", + "licenseActivated": "تم تفعيل الترخيص! تم حفظ مفتاح الترخيص الخاص بك. تم إرسال رسالة تأكيد إلى بريدك الإلكتروني المسجل.", + "licenseDelayed": "تم الدفع بنجاح! يتم إنشاء ترخيصك. ستتلقى رسالة تحتوي على مفتاح الترخيص قريباً. إذا لم تصلك خلال 10 دقائق، يرجى التواصل مع الدعم.", + "licensePollingError": "تم الدفع بنجاح ولكن تعذّر جلب مفتاح الترخيص تلقائياً. يرجى التحقق من بريدك الإلكتروني أو التواصل مع الدعم مع تأكيد الدفع.", + "licenseRetrievalError": "تم الدفع بنجاح ولكن فشل جلب الترخيص. ستتلقى مفتاح الترخيص عبر البريد الإلكتروني. يرجى التواصل مع الدعم إذا لم يصلك خلال 10 دقائق.", + "syncError": "تم الدفع بنجاح ولكن فشلت مزامنة الترخيص. سيتم تحديث الترخيص قريباً. يرجى التواصل مع الدعم إذا استمرت المشكلة.", + "licenseSaveError": "فشل حفظ مفتاح الترخيص. يرجى التواصل مع الدعم مع مفتاح الترخيص لإكمال التفعيل.", + "paymentCanceled": "تم إلغاء الدفع. لم يتم خصم أي رسوم.", + "syncingLicense": "جارٍ مزامنة الترخيص المُرقّى...", + "generatingLicense": "جارٍ إنشاء مفتاح الترخيص...", + "upgradeComplete": "اكتملت الترقية", + "upgradeCompleteMessage": "تمت ترقية اشتراكك بنجاح. تم تحديث مفتاح الترخيص الحالي.", + "stripeNotConfigured": "Stripe غير مُهيأ", + "stripeNotConfiguredMessage": "تكامل دفع Stripe غير مُعد. يرجى التواصل مع المسؤول.", + "monthly": "شهري", + "yearly": "سنوي", + "billingPeriod": "فترة الفوترة", + "enterpriseNote": "يمكن تعديل المقاعد عند الدفع (1-1000).", + "installationId": "معرّف التثبيت", + "licenseKey": "مفتاح الترخيص الخاص بك", + "licenseInstructions": "تمت إضافته إلى تثبيتك. ستتلقى نسخة عبر بريدك الإلكتروني أيضاً.", + "canCloseWindow": "يمكنك الآن إغلاق هذه النافذة.", + "licenseKeyProcessing": "جارٍ معالجة مفتاح الترخيص", + "licenseDelayedMessage": "يتم إنشاء مفتاح الترخيص الخاص بك. يرجى التحقق من بريدك الإلكتروني قريباً أو التواصل مع الدعم.", + "perYear": "/سنة", + "perMonth": "/شهر", + "emailInvalid": "يرجى إدخال عنوان بريد إلكتروني صالح", + "emailStage": { + "title": "أدخل بريدك الإلكتروني", + "description": "سنستخدمه لإرسال مفتاح الترخيص والإيصالات.", + "emailLabel": "عنوان البريد الإلكتروني", + "emailPlaceholder": "your@email.com", + "continue": "متابعة", + "modalTitle": "البدء - {{planName}}" + }, + "planStage": { + "title": "اختر فترة الفوترة", + "savingsNote": "وفّر {{percent}}% مع الفوترة السنوية", + "basePrice": "السعر الأساسي", + "seatPrice": "لكل مقعد", + "totalForSeats": "الإجمالي ({{count}} مقعداً)", + "selectMonthly": "اختر الشهري", + "selectYearly": "اختر السنوي", + "savePercent": "وفّر {{percent}}%", + "savingsAmount": "ستوفّر {{amount}}", + "modalTitle": "اختر فترة الفوترة - {{planName}}", + "billedYearly": "يُفوتر سنوياً بقيمة {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "عودة لاختيار الخطة", + "selectedPlan": "الخطة المحددة", + "modalTitle": "أكمل الدفع - {{planName}}" + } }, "firstLogin": { "title": "تسجيل الدخول لأول مرة", @@ -5287,5 +5761,281 @@ "offline": "الواجهة الخلفية غير متصلة", "starting": "الواجهة الخلفية قيد التشغيل...", "wait": "يرجى انتظار اكتمال تشغيل الواجهة الخلفية ثم المحاولة مرة أخرى." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "افتح قفل PDF للمتابعة", + "title": "أزل كلمة المرور للمتابعة", + "description": "هذا الملف محمي بكلمة مرور. أدخل كلمة المرور للمتابعة في العمل عليه.", + "password": { + "label": "كلمة مرور PDF", + "placeholder": "أدخل كلمة مرور PDF" + }, + "skip": "تخطَّ الآن", + "unlock": "فتح القفل والمتابعة", + "incorrectPassword": "كلمة مرور غير صحيحة", + "missingFile": "الملف المحدد لم يعد متاحاً.", + "emptyResponse": "لم تنتج إزالة كلمة المرور ملفاً.", + "required": "أدخل كلمة المرور للمتابعة.", + "successTitle": "تمت إزالة كلمة المرور", + "successBodyWithName": "تمت إزالة كلمة المرور من {{fileName}}", + "successBody": "تمت إزالة كلمة المرور بنجاح." + }, + "setup": { + "welcome": "مرحباً بك في Stirling PDF", + "description": "ابدأ باختيار كيفية استخدام Stirling PDF", + "step1": { + "label": "اختيار الوضع", + "description": "دون اتصال أو خادم" + }, + "step2": { + "label": "اختيار الخادم", + "description": "خادم مستضاف ذاتياً" + }, + "step3": { + "label": "تسجيل الدخول", + "description": "أدخل بيانات الاعتماد" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "سجّل الدخول بحساب Stirling الخاص بك" + }, + "selfhosted": { + "title": "خادم مستضاف ذاتياً", + "description": "اتصل بخادم Stirling PDF الخاص بك" + } + }, + "saas": { + "title": "سجّل الدخول إلى Stirling", + "subtitle": "سجّل الدخول بحساب Stirling الخاص بك" + }, + "selfhosted": { + "title": "سجّل الدخول إلى الخادم", + "subtitle": "أدخل بيانات اعتماد الخادم" + }, + "server": { + "title": "الاتصال بالخادم", + "subtitle": "أدخل عنوان URL لخادمك المستضاف ذاتياً", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "خادم مستضاف ذاتياً" + }, + "url": { + "label": "عنوان URL للخادم", + "description": "أدخل عنوان URL الكامل لخادم Stirling PDF المستضاف ذاتياً" + }, + "error": { + "emptyUrl": "يرجى إدخال عنوان URL للخادم", + "unreachable": "تعذّر الاتصال بالخادم", + "testFailed": "فشل اختبار الاتصال" + }, + "testing": "جارٍ اختبار الاتصال..." + }, + "login": { + "title": "تسجيل الدخول", + "subtitle": "أدخل بيانات الاعتماد للمتابعة", + "connectingTo": "جارٍ الاتصال بـ:", + "username": { + "label": "اسم المستخدم", + "placeholder": "أدخل اسم المستخدم" + }, + "email": { + "label": "البريد الإلكتروني", + "placeholder": "أدخل بريدك الإلكتروني" + }, + "password": { + "label": "كلمة المرور", + "placeholder": "أدخل كلمة المرور" + }, + "error": { + "emptyUsername": "يرجى إدخال اسم المستخدم", + "emptyEmail": "يرجى إدخال البريد الإلكتروني", + "emptyPassword": "يرجى إدخال كلمة المرور", + "oauthFailed": "فشل تسجيل الدخول عبر OAuth. يرجى المحاولة مرة أخرى." + }, + "submit": "تسجيل الدخول", + "signInWith": "تسجيل الدخول باستخدام", + "oauthPending": "جارٍ فتح المتصفح للمصادقة...", + "orContinueWith": "أو المتابعة بالبريد الإلكتروني" + } + }, + "oauth": { + "success": { + "title": "تمت المصادقة بنجاح", + "message": "يمكنك إغلاق هذه النافذة والعودة إلى Stirling PDF." + }, + "error": { + "title": "فشلت المصادقة", + "message": "لم تتم المصادقة بنجاح. يمكنك إغلاق هذه النافذة والمحاولة مجدداً." + } + }, + "pdfTextEditor": { + "title": "محرر JSON لملف PDF", + "viewLabel": "محرر PDF", + "converting": "جارٍ تحويل PDF إلى صيغة قابلة للتحرير...", + "conversionFailed": "فشل تحويل PDF. يرجى المحاولة مرة أخرى.", + "currentFile": "الملف الحالي: {{name}}", + "pageSummary": "الصفحة {{number}} من {{total}}", + "pagePreviewAlt": "معاينة الصفحة", + "imageLabel": "صورة موضوعة", + "noTextOnPage": "لم يتم اكتشاف نص قابل للتحرير في هذه الصفحة.", + "pageType": { + "paragraph": "صفحة فقرة", + "sparse": "نص متفرق" + }, + "groupingMode": { + "auto": "تلقائي", + "paragraph": "فقرة", + "singleLine": "سطر واحد" + }, + "badges": { + "unsaved": "معدَّل", + "modified": "معدَّل", + "earlyAccess": "وصول مبكر" + }, + "actions": { + "reset": "إعادة تعيين التغييرات", + "downloadJson": "تنزيل JSON", + "generatePdf": "توليد PDF" + }, + "options": { + "autoScaleText": { + "title": "ضبط النص تلقائياً ليتناسب مع الصناديق", + "description": "يضبط النص أفقياً تلقائياً ليتناسب مع صندوق الاحتواء الأصلي عند اختلاف عرض الخط عن PDF." + }, + "groupingMode": { + "title": "وضع تجميع النص", + "autoDescription": "يكتشف نوع الصفحة تلقائياً ويجمع النص بالشكل المناسب.", + "paragraphDescription": "يجمع السطور المتراصة في صناديق نص متعددة الأسطر.", + "singleLineDescription": "يبقي كل سطر نص PDF في صندوق نص منفصل." + }, + "manualGrouping": { + "descriptionInline": "نصيحة: اضغط Ctrl (Cmd) أو Shift لتحديد عدة صناديق نص. سيظهر شريط أدوات عائم فوق التحديد لتتمكن من الدمج أو إلغاء التجميع أو ضبط العرض." + }, + "forceSingleElement": { + "title": "قفل النص المُحرّر ضمن عنصر PDF واحد", + "description": "عند التفعيل، يصدّر المحرر كل صندوق نص مُحرّر كعنصر نص PDF واحد لتجنب تراكب المحارف أو اختلاط الخطوط." + } + }, + "manual": { + "mergeTooltip": "دمج الصناديق المحددة", + "merge": "دمج التحديد", + "ungroupTooltip": "تفكيك الفقرة إلى سطور", + "ungroup": "إلغاء تجميع التحديد", + "widthMenu": "خيارات العرض", + "expandWidth": "توسيع حتى حافة الصفحة", + "resetWidth": "إعادة تعيين العرض", + "resizeHandle": "ضبط عرض النص" + }, + "disclaimer": { + "heading": "قيود المعاينة", + "textFocus": "تركّز مساحة العمل هذه على تحرير النص وإعادة تموضع الصور المضمّنة. يتم الحفاظ على الأعمال الفنية المعقّدة وعناصر النماذج والرسومات الطبقية للتصدير ولكنها ليست قابلة للتحرير بالكامل هنا.", + "previewVariance": "قد لا تظهر بعض العناصر المرئية (مثل حدود الجداول أو الأشكال أو مظاهر التعليقات) تماماً كما في المعاينة. يحتفظ PDF المصدّر بأوامر الرسم الأصلية كلما أمكن.", + "alpha": "هذا العارض بنسخة ألفا ولا يزال يتطور—قد تتغير بعض الخطوط والألوان وتأثيرات الشفافية وتفاصيل التخطيط قليلاً. يرجى التحقق من ملف PDF المُنشأ قبل المشاركة." + }, + "empty": { + "title": "لم يتم تحميل مستند", + "subtitle": "حمّل ملف PDF أو JSON لبدء تحرير محتوى النص." + }, + "welcomeBanner": { + "title": "مرحباً بك في محرر نصوص PDF (وصول مبكر)", + "experimental": "هذه ميزة تجريبية قيد التطوير النشط. توقّع بعض عدم الاستقرار والمشكلات أثناء الاستخدام.", + "howItWorks": "تحوّل هذه الأداة ملف PDF إلى صيغة قابلة للتحرير حيث يمكنك تعديل محتوى النص وإعادة تموضع الصور. تُحفظ التغييرات كملف PDF جديد.", + "bestFor": "يعمل بشكل أفضل مع:", + "bestFor1": "ملفات PDF البسيطة التي تحتوي أساساً على نصوص وصور", + "bestFor2": "المستندات ذات تنسيق الفقرات القياسي", + "bestFor3": "الرسائل والمقالات والتقارير والمستندات الأساسية", + "notIdealFor": "غير مناسب لـ:", + "notIdealFor1": "ملفات PDF ذات تنسيق خاص مثل التعداد النقطي والجداول أو التخطيطات متعددة الأعمدة", + "notIdealFor2": "المجلات، الكتيبات، أو المستندات ذات التصميم المكثف", + "notIdealFor3": "أدلة الاستخدام ذات التخطيطات المعقّدة", + "limitations": "القيود الحالية:", + "limitation1": "قد يختلف عرض الخطوط قليلًا عن ملف PDF الأصلي", + "limitation2": "يتم الحفاظ على الرسومات المعقّدة وحقول النماذج والتعليقات، لكنها غير قابلة للتحرير", + "limitation3": "قد تستغرق الملفات الكبيرة وقتًا للتحويل والمعالجة", + "knownIssues": "مشكلات معروفة (قيد الإصلاح):", + "issue1": "لا يُحفَظ لون النص حاليًا (سيُضاف قريبًا)", + "issue2": "وضع الفقرة يعاني مشكلات أكثر في المحاذاة والتباعد - يُوصى بوضع السطر الواحد", + "issue3": "تختلف معاينة العرض عن ملف PDF المُصدَّر - ملفات PDF المُصدَّرة أقرب إلى الأصل", + "issue4": "قد تحتاج محاذاة النص المُدوَّر إلى ضبط يدوي", + "issue5": "قد تختلف تأثيرات الشفافية والطبقات عن الأصل", + "feedback": "هذه ميزة وصول مبكر. يُرجى الإبلاغ عن أي مشكلات تصادفها لمساعدتنا على التحسين!", + "gotIt": "حسنًا", + "dontShowAgain": "لا تُظهر هذا مجددًا" + }, + "modeChange": { + "title": "تأكيد تغيير الوضع", + "warning": "سيؤدي تغيير وضع تجميع النص إلى إعادة ضبط كل التغييرات غير المحفوظة. هل تريد المتابعة بالتأكيد؟", + "cancel": "إلغاء", + "confirm": "إعادة الضبط وتغيير الوضع" + }, + "fontAnalysis": { + "details": "تفاصيل الخط", + "embedded": "مضمَّن", + "type": "النوع", + "webFormat": "تنسيق الويب", + "warnings": "تحذيرات", + "suggestions": "ملاحظات", + "currentPageFonts": "الخطوط في هذه الصفحة", + "allFonts": "كل الخطوط", + "fallback": "بديل", + "missing": "مفقود", + "perfectMessage": "يمكن إعادة إنتاج جميع الخطوط بشكل مثالي.", + "warningMessage": "قد لا تُعرَض بعض الخطوط بشكل صحيح.", + "infoMessage": "تتوفر معلومات حول إعادة إنتاج الخطوط.", + "perfect": "مثالي", + "subset": "فرعي" + }, + "errors": { + "invalidJson": "تعذّر قراءة ملف JSON. تأكّد من أنه تم إنشاؤه بواسطة أداة PDF إلى JSON.", + "pdfConversion": "تعذّر تحويل ملف JSON المُحرَّر إلى PDF." + } + }, + "auth": { + "sessionExpired": "انتهت الجلسة", + "pleaseLoginAgain": "يرجى تسجيل الدخول مرة أخرى.", + "accessDenied": "تم رفض الوصول", + "insufficientPermissions": "ليست لديك صلاحية لتنفيذ هذا الإجراء." + }, + "addText": { + "title": "إضافة نص", + "header": "إضافة نص إلى ملفات PDF", + "text": { + "name": "محتوى النص", + "placeholder": "أدخل النص الذي تريد إضافته", + "fontLabel": "الخط", + "fontSizeLabel": "حجم الخط", + "fontSizePlaceholder": "اكتب أو اختر حجم الخط (8-200)", + "colorLabel": "لون النص" + }, + "steps": { + "configure": "إعداد النص" + }, + "step": { + "createDesc": "أدخل النص الذي تريد إضافته", + "place": "ضع النص", + "placeDesc": "انقر على ملف PDF لإضافة نصك" + }, + "instructions": { + "title": "طريقة إضافة النص", + "text": "بعد إدخال نصك أعلاه، انقر في أي مكان على ملف PDF لوضعه.", + "paused": "تم إيقاف الوضع مؤقتًا", + "resumeHint": "استأنف الوضع للنقر وإضافة نصك.", + "noSignature": "أدخل نصًا أعلاه لتمكين الوضع." + }, + "mode": { + "move": "تحريك النص", + "place": "وضع النص", + "pause": "إيقاف الوضع مؤقتًا", + "resume": "استئناف الوضع" + }, + "results": { + "title": "نتائج إضافة النص" + }, + "error": { + "failed": "حدث خطأ أثناء إضافة النص إلى ملف PDF." + }, + "tags": "نص,تعليق,تسمية", + "applySignatures": "تطبيق النص" } } \ No newline at end of file diff --git a/frontend/public/locales/az-AZ/translation.json b/frontend/public/locales/az-AZ/translation.json index 18226aed4..dc75d9286 100644 --- a/frontend/public/locales/az-AZ/translation.json +++ b/frontend/public/locales/az-AZ/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Tezliklə:", "favorite": "Seçilmişlərə əlavə et", "favorites": "Seçilmişlər", + "unavailable": "Server administratoru tərəfindən deaktiv edilib:", + "unavailableDependency": "Mövcud deyil - serverdə tələb olunan alət yoxdur:", "heading": "Bütün alətlər (tam ekran görünüşü)", "noResults": "Lazımi aləti tapmaq üçün axtarışı tənzimləyin və ya təsvirləri dəyişin.", "recommended": "Tövsiyə olunur", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Tam ekran rejiminə keç", "sidebar": "Yan panel rejiminə keç" - } + }, + "alpha": "Alfa", + "premiumFeature": "Premium xüsusiyyət:", + "comingSoon": "Tezliklə:" }, "unsavedChanges": "PDF-də saxlanmamış dəyişiklikləriniz var.", "areYouSure": "Çıxmaq istədiyinizə əminsiniz?", @@ -41,6 +46,30 @@ "cancel": "Ləğv et", "confirm": "Çıxart" }, + "defaultApp": { + "title": "Standart PDF tətbiqi kimi təyin et", + "message": "Stirling PDF-i standart PDF redaktorunuz kimi təyin etmək istəyirsiniz?", + "description": "Bunu sonra sistem ayarlarında dəyişə bilərsiniz.", + "notNow": "İndi yox", + "setDefault": "Standart et", + "dismiss": "Gözardı et", + "prompt": { + "title": "Standart PDF redaktoru kimi təyin et", + "message": "PDF fayllarını açmaq üçün Stirling PDF-i standart tətbiqiniz edin." + }, + "success": { + "title": "Standart tətbiq təyin edildi", + "message": "Stirling PDF artıq standart PDF redaktorunuzdur" + }, + "settingsOpened": { + "title": "Ayarlar açıldı", + "message": "Zəhmət olmasa sistem ayarlarında Stirling PDF-i seçin" + }, + "error": { + "title": "Xəta", + "message": "Standart PDF işləyicisini təyin etmək alınmadı" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Saxla", "saveToBrowser": "Brauzerdə Saxla", "download": "Endir", + "downloadUnavailable": "Bu element üçün endirmə mövcud deyil", + "saveUnavailable": "Bu element üçün saxlama mövcud deyil", "pin": "Faylı bərkid (alət icrasından sonra aktiv saxla)", "unpin": "Faylın bərkidilməsini ləğv et (alət icrasından sonra əvəzlə)", "undoOperationTooltip": "Son əməliyyatı geri qaytarmaq və orijinal faylları bərpa etmək üçün klikləyin", @@ -168,6 +199,7 @@ }, "edit": "Redaktə et", "delete": "Sil", + "never": "Heç vaxt", "username": "İstifadəçi Adı", "password": "Şifr", "welcome": "Xoş gəldiniz", @@ -262,7 +294,8 @@ "learnMore": "Daha ətraflı öyrənin", "enable": "Analitikanı aktivləşdir", "disable": "Analitikanı deaktivləşdir", - "settings": "Analitikanın parametrlərini config/settings.yml faylından dəyişə bilərsiniz." + "settings": "Analitikanın parametrlərini config/settings.yml faylından dəyişə bilərsiniz.", + "privacyAssurance": "Heç bir şəxsi məlumatınızı və ya fayllarınızın məzmununu izləmirik." }, "navbar": { "favorite": "Sevimlilər", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Parametrlər", - "update": "Yeniləmə mövcuddur", - "updateAvailable": "{0} cari quraşdırılmış versiyadır. Yeni ({1}) versiyası mövcuddur.", - "appVersion": "Proqram Versiyası:", - "downloadOption": { - "title": "Yükləmə versiyasını seçin (Tək fayllı zip olmayan yükləmələr üçün):", - "1": "Eyni pəncərədə açın", - "2": "Yeni pəncərədə açın", - "3": "Faylı endirin" - }, - "zipThreshold": "Yüklənmiş faylların sayı artıq olduqda zip faylları", - "signOut": "Çıxın", - "accountSettings": "Hesab Parametrləri", - "bored": { - "help": "Easter egg oyununu aktivləşdirir" - }, - "cacheInputs": { - "name": "Formada daxil edilən bilgiləri yadda saxlayın", - "help": "Gələcək əməliyyatlar üçün əvvəllər istifadə edilmiş daxil edilmiş bilgiləri saxlamağa imkan verin" + "connection": { + "title": "Bağlantı rejimi", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Öz serverində" + }, + "server": "Server", + "user": "Daxil olub:", + "logout": "Çıxış" }, "general": { "title": "Ümumi", "description": "Tətbiqin ümumi parametrlərini konfiqurasiya edin.", - "account": "Hesab", - "accountDescription": "Hesab ayarlarınızı idarə edin", "user": "İstifadəçi", - "signedInAs": "Daxil olmusunuz:", "logout": "Hesabdan çıx", "enableFeatures": { + "dismiss": "Bağla", "title": "Sistem administratorları üçün", "intro": "Təşkilatınız üçün istifadəçi identifikasiyası, komanda idarəetməsi və iş sahəsi funksiyalarını aktiv edin.", "action": "Konfiqurasiya et", "and": "və", "benefit": "İstifadəçi rolları, komanda əməkdaşlığı, admin nəzarəti və müəssisə funksiyalarını aktivləşdirir.", - "learnMore": "Daha çoxu üçün sənədlərə baxın", - "dismiss": "Bağla" + "learnMore": "Daha çoxu üçün sənədlərə baxın" }, - "autoUnzip": "API cavablarını avtomatik aç", - "autoUnzipDescription": "ZIP cavablarından faylları avtomatik çıxart", - "autoUnzipTooltip": "API əməliyyatlarından qaytarılan ZIP fayllarını avtomatik çıxarın. ZIP fayllarını toxunulmaz saxlamaq üçün bunu deaktiv edin. Bu, avtomatlaşdırma iş axınlarına təsir etmir.", - "autoUnzipFileLimit": "Avtomatik açma fayl limiti", - "autoUnzipFileLimitDescription": "ZIP-dən çıxarılacaq maksimum fayl sayı", - "autoUnzipFileLimitTooltip": "Yalnız ZIP bu qədər və ya daha az fayl ehtiva edirsə çıxarın. Daha böyük ZIP-ləri çıxarmaq üçün dəyəri artırın.", "defaultToolPickerMode": "Standart alət seçicisi rejimi", "defaultToolPickerModeDescription": "Alət seçicisinin ilkin olaraq tam ekranda, yoxsa yan paneldə açılacağını seçin", "mode": { - "fullscreen": "Tam ekran", - "sidebar": "Yan panel" - } + "sidebar": "Yan panel", + "fullscreen": "Tam ekran" + }, + "autoUnzipTooltip": "API əməliyyatlarından qaytarılan ZIP fayllarını avtomatik çıxarın. ZIP fayllarını toxunulmaz saxlamaq üçün bunu deaktiv edin. Bu, avtomatlaşdırma iş axınlarına təsir etmir.", + "autoUnzip": "API cavablarını avtomatik aç", + "autoUnzipDescription": "ZIP cavablarından faylları avtomatik çıxart", + "autoUnzipFileLimitTooltip": "Yalnız ZIP bu qədər və ya daha az fayl ehtiva edirsə çıxarın. Daha böyük ZIP-ləri çıxarmaq üçün dəyəri artırın.", + "autoUnzipFileLimit": "Avtomatik açma fayl limiti", + "autoUnzipFileLimitDescription": "ZIP-dən çıxarılacaq maksimum fayl sayı", + "defaultPdfEditor": "Standart PDF redaktoru", + "defaultPdfEditorActive": "Stirling PDF standart PDF redaktorunuzdur", + "defaultPdfEditorInactive": "Başqa tətbiq standart kimi təyin edilib", + "defaultPdfEditorChecking": "Yoxlanılır...", + "defaultPdfEditorSet": "Artıq standartdır", + "setAsDefault": "Standart et", + "updates": { + "title": "Proqram yeniləmələri", + "description": "Yeniləmələri yoxlayın və versiya məlumatlarını görün", + "currentVersion": "Cari versiya", + "latestVersion": "Ən son versiya", + "checkForUpdates": "Yeniləmələri yoxla", + "viewDetails": "Ətraflı bax" + }, + "hideUnavailableTools": "Mövcud olmayan alətləri gizlət", + "hideUnavailableToolsDescription": "Serveriniz tərəfindən deaktiv edilən alətləri boz göstərmək əvəzinə siyahıdan çıxarın.", + "hideUnavailableConversions": "Mövcud olmayan çevirmələri gizlət", + "hideUnavailableConversionsDescription": "Convert alətində deaktiv edilmiş çevirmə seçimlərini boz göstərmək əvəzinə siyahıdan çıxarın." }, "hotkeys": { - "title": "Klaviatura qısayolları", - "description": "Qısayolu görmək üçün alətin üzərinə gəlin və ya aşağıda fərdiləşdirin. \"Qısayolu dəyişdir\" düyməsini klikləyin və yeni kombinasiyanı basın. Ləğv üçün Esc.", - "errorModifier": { - "mac": "Qısayolunuza ⌘ (Command), ⌥ (Option) və ya başqa bir modifikator daxil edin.", - "windows": "Qısayolunuza Ctrl, Alt və ya başqa bir modifikator daxil edin." - }, "errorConflict": "Qısayol artıq {{tool}} tərəfindən istifadə olunur.", + "searchPlaceholder": "Alətlərdə axtarın...", "none": "Təyin edilməyib", "customBadge": "Fərdi", "defaultLabel": "Standart: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Qısayolu dəyişdir", "reset": "Sıfırla", "shortcut": "Qısayol", - "noShortcut": "Qısayol təyin edilməyib", - "searchPlaceholder": "Alətlərdə axtarın..." + "noShortcut": "Qısayol təyin edilməyib" } }, + "update": { + "modalTitle": "Yeniləmə mövcuddur", + "current": "Cari versiya", + "latest": "Ən son versiya", + "latestStable": "Ən son sabit", + "priorityLabel": "Prioritet", + "recommendedAction": "Tövsiyə olunan əməl", + "breakingChangesDetected": "Uyğunluğu pozan dəyişikliklər aşkarlandı", + "breakingChangesMessage": "Bəzi versiyalar uyğunluğu pozan dəyişikliklər ehtiva edir. Yeniləməzdən əvvəl aşağıdakı miqrasiya bələdçilərini nəzərdən keçirin.", + "migrationGuides": "Miqrasiya bələdçiləri", + "viewGuide": "Bələdçiyə bax", + "loadingDetailedInfo": "Ətraflı məlumat yüklənir...", + "close": "Bağla", + "viewAllReleases": "Bütün buraxılışlara bax", + "downloadLatest": "Ən sonunu yüklə", + "availableUpdates": "Mövcud yeniləmələr", + "unableToLoadDetails": "Ətraflı məlumatı yükləmək mümkün olmadı.", + "version": "Versiya", + "urgentUpdateAvailable": "Təcili yeniləmə", + "updateAvailable": "Yeniləmə mövcuddur", + "releaseNotes": "Buraxılış qeydləri", + "priority": { + "urgent": "Təcili", + "normal": "Normal", + "minor": "Kiçik", + "low": "Aşağı" + }, + "breakingChanges": "Uyğunluğu pozan dəyişikliklər", + "breakingChangesDefault": "Bu versiya uyğunluğu pozan dəyişikliklər ehtiva edir.", + "migrationGuide": "Miqrasiya bələdçisi" + }, "changeCreds": { "title": "Məlumatları dəyişdirin", "header": "Hesab Məlumatlarınızı Yeniləyin", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Bir PDF-i digərinin üstünə qoyur", "title": "Üst-Üstə Qoy" + }, + "pdfTextEditor": { + "title": "PDF Mətn Redaktoru", + "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" + }, + "addText": { + "tags": "mətn,şərh,etiket", + "title": "Mətn əlavə et", + "desc": "PDF faylınıza istənilən yerə mətn əlavə edin" } }, "landing": { "addFiles": "Fayllar əlavə et", - "uploadFromComputer": "Kompüterdən yüklə" + "uploadFromComputer": "Kompüterdən yüklə", + "openFromComputer": "Komputerdən aç" }, "viewPdf": { "tags": "bax,oxu,sitat götür,mətn,şəkil", @@ -849,6 +922,11 @@ }, "error": { "failed": "PDF-ləri birləşdirərkən xəta baş verdi." + }, + "tooltip": { + "header": { + "title": "Birləşdirmə ayarlarına ümumi baxış" + } } }, "split": { @@ -1047,7 +1125,7 @@ "settings": "Parametrlər", "conversionCompleted": "Çevirma tamamlandı", "results": "Nəticələr", - "defaultFilename": "converted_file", + "defaultFilename": "çevrilmiş_fayl", "conversionResults": "Konvertasiya nəticələri", "convertFrom": "Bundan çevir", "convertTo": "Buna çevir", @@ -1182,9 +1260,43 @@ "tags": "şəkil,jpg,fotoşəkil,foto", "title": "Şəkli Əlavə Et", "header": "Şəkli PDF-ə Əlavə Et", - "everyPage": "Bütün Səhifələr?", - "upload": "Şəkli Əlavə Et", - "submit": "Şəkli Əlavə Et" + "image": { + "name": "Şəkil", + "placeholder": "Şəkil yükləyin", + "label": "Şəkil faylı" + }, + "steps": { + "configure": "Şəkili tənzimlə" + }, + "step": { + "createDesc": "Əlavə etmək istədiyiniz şəkli yükləyin", + "place": "Şəkli yerləşdirin", + "placeDesc": "Şəkli əlavə etmək üçün PDF üzərinə klikləyin" + }, + "instructions": { + "title": "Şəkilləri necə əlavə etməli", + "text": "Şəkli yüklədikdən sonra onu yerləşdirmək üçün PDF-in istənilən yerinə klikləyin.", + "paused": "Yerləşdirmə dayandırılıb", + "resumeHint": "Şəkli əlavə etmək üçün yerləşdirməni davam etdirin.", + "noSignature": "Yerləşdirməni aktivləşdirmək üçün yuxarıda şəkil yükləyin." + }, + "mode": { + "move": "Şəkli hərəkət etdir", + "place": "Şəkli yerləşdir", + "pause": "Yerləşdirməni dayandır", + "resume": "Yerləşdirməni davam etdir" + }, + "results": { + "title": "Şəkil əlavə etmə nəticələri" + }, + "error": { + "failed": "Şəkli PDF-ə əlavə edərkən xəta baş verdi." + }, + "saved": { + "defaultLabel": "Şəkil", + "defaultImageLabel": "Yüklənmiş şəkil" + }, + "applySignatures": "Şəkilləri tətbiq et" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1200,7 +1312,7 @@ "desc": "PDF fayllarına mətn və ya şəkil su nişanları əlavə edin", "completed": "Su nişanı əlavə olundu", "submit": "Watermark Əlavə Et", - "filenamePrefix": "watermarked", + "filenamePrefix": "filigranlı", "error": { "failed": "PDF-ə su nişanı əlavə edərkən xəta baş verdi." }, @@ -1397,6 +1509,93 @@ }, "submit": "Dəyiş" }, + "editTableOfContents": { + "settings": { + "title": "Əlfəcinlər və mündəricat", + "replaceExisting": "Mövcud əlfəcinləri əvəz et (əlavə etmək üçün işarəni silin)", + "replaceExistingHint": "Söndürüləndə yeni mündəricat mövcud əlfəcinlərin ardınca əlavə olunur." + }, + "actions": { + "source": "Əlfəcinləri yüklə", + "selectedFile": "{{file}} faylından yükləndi", + "noFile": "Mövcud əlfəcinləri çıxarmaq üçün PDF seçin.", + "loadFromPdf": "Seçilmiş PDF-dən yüklə", + "importJson": "JSON idxal et", + "importClipboard": "JSON-u mübadilə buferindən yapışdır", + "export": "Əlfəcinləri ixrac et", + "exportJson": "JSON yüklə", + "exportClipboard": "JSON-u mübadilə buferinə kopyala", + "clipboardUnavailable": "Bu brauzerdə mübadilə buferinə çıxış mövcud deyil." + }, + "info": { + "line1": "Hər əlfəcin üçün təsviri başlıq və açılmalı olduğu səhifə lazımdır.", + "line2": "Fəsillər və bölmələr üçün iyerarxiya qurmaq məqsədilə alt əlfəcinlərdən istifadə edin.", + "line3": "Vaxt qazanmaq üçün əlfəcinləri seçilmiş PDF-dən və ya JSON faylından idxal edin." + }, + "workbench": { + "empty": { + "title": "Redaktəyə başlamaq üçün aləti açın", + "description": "İş sahəsini yükləmək üçün Mündəricatı Redaktə et alətini seçin." + }, + "tabTitle": "Mündəricat iş sahəsi", + "subtitle": "Əlfəcinləri idxal edin, iyerarxiya qurun və dar yan panellər olmadan mündəricatı tətbiq edin.", + "noFile": "PDF seçilməyib", + "fileLabel": "Dəyişikliklər hazırda seçilmiş PDF-ə tətbiq olunacaq.", + "filePrompt": "Başlamaq üçün kitabxanadan PDF seçin və ya yenisini yükləyin.", + "changeFile": "PDF-i dəyiş", + "selectFile": "PDF seç" + }, + "editor": { + "heading": "Əlfəcin redaktoru", + "description": "PDF mündəricatınız üçün əlfəcinləri əlavə edin, iç-içə düzün və yenidən sıralayın.", + "addTopLevel": "Yüksək səviyyəli əlfəcin əlavə et", + "empty": { + "title": "Hələ əlfəcin yoxdur", + "description": "Mövcud əlfəcinləri idxal edin və ya ilkini əlavə etməklə başlayın.", + "action": "İlk əlfəcini əlavə et" + }, + "defaultTitle": "Yeni əlfəcin", + "defaultChildTitle": "Alt əlfəcin", + "defaultSiblingTitle": "Yeni əlfəcin", + "untitled": "Adsız əlfəcin", + "childBadge": "Alt", + "pagePreview": "Səhifə {{page}}", + "field": { + "title": "Əlfəcin başlığı", + "page": "Hədəf səhifə nömrəsi" + }, + "actions": { + "toggle": "Altları aç/bağla", + "addChild": "Alt əlfəcin əlavə et", + "addSibling": "Eyni səviyyəli əlfəcin əlavə et", + "remove": "Əlfəcini sil" + }, + "confirmRemove": "Bu əlfəcini və bütün altlarını silək?" + }, + "messages": { + "loadedTitle": "Əlfəcinlər çıxarıldı", + "loadedBody": "PDF-dəki mövcud əlfəcinlər redaktora yükləndi.", + "noBookmarks": "Seçilmiş PDF-də əlfəcin tapılmadı.", + "loadFailed": "Seçilmiş PDF-dən əlfəcinləri çıxarmaq mümkün olmadı.", + "imported": "Əlfəcinlər idxal edildi", + "importedBody": "JSON mündəricatınız cari redaktor məzmununu əvəz etdi.", + "importedClipboard": "Mübadilə buferi məlumatı cari əlfəcin siyahısını əvəz etdi.", + "invalidJson": "Yanlış JSON strukturu", + "invalidJsonBody": "Zəhmət olmasa, düzgün əlfəcin JSON faylı təqdim edin və yenidən cəhd edin.", + "exported": "JSON yükləməsi hazırdır", + "copied": "Mübadilə buferinə kopyalandı", + "copiedBody": "Əlfəcin JSON-u uğurla kopyalandı.", + "copyFailed": "Kopyalama uğursuz oldu" + }, + "error": { + "failed": "Mündəricatı yeniləmək alınmadı" + }, + "submit": "Mündəricatı tətbiq et", + "results": { + "title": "Əlfəcinlərlə yenilənmiş PDF", + "subtitle": "Emal olunmuş faylı yükləyin və ya aşağıdan əməliyyatı geri alın." + } + }, "removePages": { "tags": "Səhifələri təmizlə,səhifələri sil", "title": "Sil", @@ -1405,7 +1604,7 @@ "placeholder": "məs., 1,3,5-8,10", "error": "Yanlış səhifə nömrəsi formatı. Sayılar, aralıqlar (1-5) və ya riyazi ifadələr (2n+1) istifadə edin" }, - "filenamePrefix": "pages_removed", + "filenamePrefix": "səhifələr_silinib", "files": { "placeholder": "Başlamaq üçün əsas görünüşdə bir PDF faylı seçin" }, @@ -1601,12 +1800,12 @@ "tags": "sıx,balaca,kiçik" }, "unlockPDFForms": { - "tags": "remove,delete,form,field,readonly", + "tags": "sil,poz,forma,sahə,yalnızoxu", "title": "Form sahələrindən \"yalnız oxu\" rejimini silin", "header": "PDF formalarını kiliddən çıxarın", "submit": "Remove", "description": "Bu alət PDF forma sahələrindəki yalnız-oxu məhdudiyyətlərini siləcək, beləliklə onlar redaktə və doldurula bilən olacaq.", - "filenamePrefix": "unlocked_forms", + "filenamePrefix": "kilidi_açılmış_formalar", "files": { "placeholder": "Başlamaq üçün əsas görünüşdə bir PDF faylı seçin" }, @@ -1620,7 +1819,7 @@ "changeMetadata": { "header": "Metadata-nı Dəyiş", "submit": "Dəyiş", - "filenamePrefix": "metadata", + "filenamePrefix": "metaməlumat", "settings": { "title": "Metadata ayarları" }, @@ -1978,13 +2177,54 @@ "title": "İmzanızı çəkin", "clear": "Təmizlə" }, + "canvas": { + "heading": "İmzanızı çəkin", + "clickToOpen": "Rəsm kətanını açmaq üçün klikləyin", + "modalTitle": "İmzanızı çəkin", + "colorLabel": "Rəng", + "penSizeLabel": "Qələm ölçüsü", + "penSizePlaceholder": "Ölçü", + "clear": "Kətanı təmizlə", + "colorPickerTitle": "Xətt rəngini seçin" + }, "text": { "name": "İmzalayanın adı", - "placeholder": "Tam adınızı daxil edin" + "placeholder": "Tam adınızı daxil edin", + "fontLabel": "Şrift", + "fontSizeLabel": "Şrift ölçüsü", + "fontSizePlaceholder": "Şrift ölçüsünü yazın və ya seçin (8-200)", + "colorLabel": "Mətn rəngi" }, "clear": "Təmizləmək", "add": "Əlavə et", - "saved": "Saxlanan İmzalar", + "saved": { + "heading": "Saxlanmış imzalar", + "description": "Saxlanmış imzalardan istənilən vaxt istifadə edin.", + "emptyTitle": "Hələ saxlanmış imza yoxdur", + "emptyDescription": "Yuxarıda imza çəkin, yükləyin və ya yazın, sonra \"Kitabxanaya saxla\" ilə {{max}}-ə qədər sevimlini hazır saxlayın.", + "type": { + "canvas": "Rəsm", + "image": "Yükləmə", + "text": "Mətn" + }, + "limitTitle": "Limitə çatıldı", + "limitDescription": "Yenisini əlavə etməzdən əvvəl saxlanmış imzalardan birini silin (maks. {{max}}).", + "carouselPosition": "{{current}} / {{total}}", + "prev": "Əvvəlki", + "next": "Növbəti", + "delete": "Sil", + "label": "Etiket", + "defaultLabel": "İmza", + "defaultCanvasLabel": "Çəkilmiş imza", + "defaultImageLabel": "Yüklənmiş imza", + "defaultTextLabel": "Yazılmış imza", + "saveButton": "İmzanı saxla", + "saveUnavailable": "Saxlamaq üçün əvvəlcə imza yaradın.", + "noChanges": "Cari imza artıq saxlanıb.", + "status": { + "saved": "Saxlanıldı" + } + }, "save": "İmzanı yadda Saxla", "applySignatures": "İmzaları tətbiq et", "personalSigs": "Şəxsi İmzalar", @@ -2003,12 +2243,18 @@ "steps": { "configure": "İmzanı konfiqurasiya et" }, + "step": { + "createDesc": "İmzanı necə yaratmaq istədiyinizi seçin", + "place": "Yerləşdir və saxla", + "placeDesc": "İmzanı PDF üzərində yerləşdirin" + }, "type": { "title": "İmza növü", "draw": "Çək", "canvas": "Kətan", "image": "Şəkil", - "text": "Mətn" + "text": "Mətn", + "saved": "Saxlanmış" }, "image": { "label": "İmza şəklini yüklə", @@ -2019,11 +2265,17 @@ "title": "İmza necə əlavə olunur", "canvas": "İmzanızı kətanda çəkdikdən sonra pəncərəni bağlayın, sonra PDF üzərində istənilən yerə klikləyərək yerləşdirin.", "image": "Yuxarıda imza şəklinizi yüklədikdən sonra, PDF üzərində istənilən yerə klikləyərək yerləşdirin.", - "text": "Yuxarıda adınızı daxil etdikdən sonra, imzanızı yerləşdirmək üçün PDF üzərində istənilən yerə klikləyin." + "saved": "Yuxarıdan saxlanmış imza seçin, sonra yerləşdirmək üçün PDF-in istənilən yerinə klikləyin.", + "text": "Yuxarıda adınızı daxil etdikdən sonra, imzanızı yerləşdirmək üçün PDF üzərində istənilən yerə klikləyin.", + "paused": "Yerləşdirmə dayandırılıb", + "resumeHint": "İmzanı əlavə etmək üçün yerləşdirməni davam etdirin.", + "noSignature": "Yerləşdirmə alətlərini aktivləşdirmək üçün yuxarıda imza yaradın." }, "mode": { "move": "İmzanı hərəkət etdir", - "place": "İmzanı yerləşdir" + "place": "İmzanı yerləşdir", + "pause": "Yerləşdirməni dayandır", + "resume": "Yerləşdirməni davam etdir" }, "updateAndPlace": "Yenilə və yerləşdir", "activate": "İmza yerləşdirməni aktiv et", @@ -2040,7 +2292,7 @@ "header": "PDF-i düzləşdirin", "flattenOnlyForms": "Yalnız formaları düzəldin", "submit": "Düzləşdirin", - "filenamePrefix": "flattened", + "filenamePrefix": "yastılanmış", "files": { "placeholder": "Başlamaq üçün əsas görünüşdə bir PDF faylı seçin" }, @@ -2090,7 +2342,7 @@ "header": "PDFləri Bərpa Et", "submit": "Bərpa Et", "description": "Bu alət zədələnmiş və ya korlanmış PDF fayllarını bərpa etməyə cəhd edəcək. Əlavə ayarlar tələb olunmur.", - "filenamePrefix": "repaired", + "filenamePrefix": "bərpa_edilmiş", "files": { "placeholder": "Başlamaq üçün əsas görünüşdə bir PDF faylı seçin" }, @@ -2163,6 +2415,14 @@ "title": "Annotasiyaların silinməsi haqqında", "description": "Bu alət PDF sənədlərinizdən bütün annotasiyaları (şərhlər, vurğular, qeydlər və s.) siləcək." }, + "tooltip": { + "header": { + "title": "Annotasiyaların silinməsi haqqında" + }, + "description": { + "title": "Nə edir" + } + }, "error": { "failed": "PDF-dən annotasiyalar silinərkən xəta baş verdi." } @@ -2265,7 +2525,7 @@ "body": "Bu müqayisə adətənkindən daha uzun çəkir. Davam etməsinə icazə verə və ya ləğv edə bilərsiniz.", "cancel": "Müqayisəni ləğv et" }, - "newLine": "new-line", + "newLine": "yeni-sətir", "complex": { "message": "Fayllardan biri və ya ikisi də böyük fayldır. Müqayisə effektivliyi azala bilər." }, @@ -2293,7 +2553,7 @@ "certSign": { "tags": "Doğrula,PEM,P12,rəsmi,şifrlə", "title": "Sertifikatla İmzala", - "filenamePrefix": "signed", + "filenamePrefix": "imzalanmış", "signMode": { "stepTitle": "İmzalama rejimi", "tooltip": { @@ -2627,6 +2887,9 @@ "header": { "title": "Avto-adlandırma necə işləyir" }, + "description": { + "title": "Nə edir" + }, "howItWorks": { "title": "Ağıllı adlandırma", "text": "PDF məzmunundan başlığı avtomatik tapır və onu fayl adı kimi istifadə edir.", @@ -2634,6 +2897,9 @@ "bullet2": "Aşkarlanmış başlıqdan təmiz və düzgün fayl adı yaradır", "bullet3": "Uyğun başlıq tapılmazsa orijinal adı saxlayır" } + }, + "settings": { + "title": "Haqqında" } }, "adjust-contrast": { @@ -3023,7 +3289,7 @@ "tags": "böl,fəsillər,əlfəcinlər,nizamla" }, "validateSignature": { - "tags": "signature,verify,validate,pdf,certificate,digital signature,Validate Signature,Validate certificate", + "tags": "imza,yoxla,doğrula,pdf,sertifikat,rəqəmsal imza,İmzanı Doğrula,Sertifikatı Doğrula", "title": "PDF imzalarını doğrula", "header": "Rəqəmsal imzaları doğrula", "selectPDF": "İmzalanmış PDF faylı seçin", @@ -3106,7 +3372,7 @@ "signatureDate": "İmza tarixi" }, "filesEvaluated": "{{count}} fayl qiymətləndirildi", - "footer": "Validated via Stirling PDF", + "footer": "Stirling PDF vasitəsilə təsdiqlənib", "generatedAt": "Yaradılma vaxtı", "noPdf": "PDF hesabatı uğurlu doğrulamadan sonra əlçatan olacaq.", "page": "Səhifə", @@ -3227,7 +3493,26 @@ "unexpectedError": "Gözlənilməz xəta: {{message}}", "accountCreatedSuccess": "Hesab uğurla yaradıldı! İndi daxil ola bilərsiniz.", "passwordChangedSuccess": "Parol uğurla dəyişdirildi! Zəhmət olmasa yeni parolunuzla daxil olun.", - "credentialsUpdated": "Giriş məlumatlarınız yeniləndi. Zəhmət olmasa yenidən daxil olun." + "credentialsUpdated": "Giriş məlumatlarınız yeniləndi. Zəhmət olmasa yenidən daxil olun.", + "defaultCredentials": "Standart giriş məlumatları", + "changePasswordWarning": "İlk dəfə daxil olduqdan sonra şifrənizi dəyişin", + "slides": { + "overview": { + "alt": "Stirling PDF icmalı", + "title": "PDF ehtiyaclarınız üçün tək ünvan.", + "subtitle": "PDF-lər üçün məxfilik-öncəli bulud paketi: sənədləri çevirməyə, imzalamağa, məzmunu məxfiləşdirməyə və idarə etməyə, üstəlik 50+ güclü alət." + }, + "edit": { + "alt": "PDF-ləri redaktə et", + "title": "İstədiyiniz məlumatı göstərmək/qorumaq üçün PDF-ləri redaktə edin", + "subtitle": "PDF-ləri məxfiləşdirmək, imzalamaq, oxumaq və onlarla işləmək üçün onlarla alətlə axtardığınızı tapacaqsınız." + }, + "secure": { + "alt": "PDF-ləri qoruyun", + "title": "PDF-lərinizdə həssas məlumatları qoruyun", + "subtitle": "Şifrələr əlavə edin, məzmunu məxfiləşdirin və sertifikatları asanlıqla idarə edin." + } + } }, "signup": { "title": "Hesab yaradın", @@ -3262,7 +3547,7 @@ "header": "PDF-dən Tək Səhifəyə", "submit": "Tək Səhifəyə Çevir", "description": "Bu alət PDF-inizin bütün səhifələrini bir böyük tək səhifədə birləşdirəcək. En orijinal səhifələrlə eyni qalacaq, lakin hündürlük bütün səhifə hündürlüklərinin cəmi olacaq.", - "filenamePrefix": "single_page", + "filenamePrefix": "tək_səhifə", "files": { "placeholder": "Başlamaq üçün əsas görünüşdə bir PDF faylı seçin" }, @@ -3502,7 +3787,7 @@ "title": "API sənədləşməsi", "header": "API sənədləşməsi", "desc": "Stirling PDF API endpoint-lərini görüntüləyin və test edin", - "tags": "api,documentation,swagger,endpoints,development" + "tags": "api,sənədləşmə,swagger,endpointlər,inkişaf" }, "cookieBanner": { "popUp": { @@ -3598,7 +3883,9 @@ "exportAll": "PDF-i ixrac et", "downloadSelected": "Seçilmiş faylları yüklə", "downloadAll": "Hamısını yüklə", + "saveAll": "Hamısını saxla", "toggleTheme": "Mövzunu dəyiş", + "toggleBookmarks": "Əlfəcinləri aç/bağla", "language": "Dil", "search": "PDF-də axtar", "panMode": "Sürüşdürmə rejimi", @@ -3685,8 +3972,16 @@ "saved": "Ayarlar uğurla yadda saxlanıldı", "saveSuccess": "Ayarlar uğurla yadda saxlanıldı", "save": "Dəyişiklikləri yadda saxla", + "discard": "Ləğv et", "restartRequired": "Yenidən başlatmaq tələb olunur", "loginRequired": "Admin ayarlarını dəyişmək üçün giriş rejimi aktiv olmalıdır", + "unsavedChanges": { + "title": "Yadda saxlanmamış dəyişikliklər", + "message": "Yadda saxlanmamış dəyişiklikləriniz var. Ləğv etmək istəyirsiniz?", + "cancel": "Redaktəyə davam et", + "discard": "Dəyişiklikləri ləğv et", + "hint": "Yadda saxlanmamış dəyişiklikləriniz var" + }, "loginDisabled": { "title": "Giriş rejimi tələb olunur", "message": "Admin ayarlarını dəyişmək üçün giriş rejimi aktiv olmalıdır. Zəhmət olmasa mühitinizdə SECURITY_ENABLELOGIN=true və ya settings.yml faylında security.enableLogin: true olaraq təyin edin, sonra serveri yenidən başladın.", @@ -4137,7 +4432,7 @@ "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", "weasyPrint": "WeasyPrint", - "installApp": "Install App", + "installApp": "Tətbiqi quraşdır", "calibre": "Calibre", "ghostscript": "Ghostscript", "ocrMyPdf": "OCRmyPDF" @@ -4212,9 +4507,21 @@ "title": "Premium və Enterprise", "description": "Premium və ya enterprise lisenziya açarınızı konfiqurasiya edin.", "license": "Lisenziya Konfiqurasiyası", + "licenseKey": { + "toggle": "Lisenziya açarınız və ya sertifikat faylınız var?", + "info": "Birbaşa satınalmadan lisenziya açarı və ya sertifikat faylınız varsa, premium və ya enterprise xüsusiyyətləri aktivləşdirmək üçün onu burada daxil edə bilərsiniz." + }, "key": { "label": "Lisenziya Açarı", - "description": "Premium və ya enterprise lisenziya açarınızı daxil edin" + "description": "Premium və ya enterprise lisenziya açarınızı daxil edin", + "success": "Lisenziya açarı saxlanıldı", + "successMessage": "Lisenziya açarınız uğurla aktivləşdirildi. Yenidən başlatmaq tələb olunmur.", + "overwriteWarning": { + "title": "⚠️ Xəbərdarlıq: Mövcud lisenziya aşkarlandı", + "line1": "Cari lisenziya açarının üzərinə yazmaq geri alına bilməz.", + "line2": "Ehtiyat nüsxəsi yoxdursa, əvvəlki lisenziyanız birdəfəlik itəcək.", + "line3": "Vacibdir: Lisenziya açarlarını məxfi və təhlükəsiz saxlayın. Heç vaxt onları ictimai paylaşmayın." + } }, "enabled": { "label": "Premium Xüsusiyyətlərini aktiv et", @@ -4278,12 +4585,17 @@ "or": "və ya", "dropFileHere": "Faylı bura atın və ya yükləmək üçün klikləyin", "dropFilesHere": "Faylları bura atın və ya yükləmə düyməsinə klikləyin", + "dropFilesHereOpen": "Faylları bura atın və ya aç düyməsini klikləyin", "pdfFilesOnly": "Yalnız PDF faylları", "supportedFileTypes": "Dəstəklənən fayl növləri", "upload": "Yüklə", "uploadFile": "Fayl yüklə", "uploadFiles": "Faylları yüklə", + "open": "Aç", + "openFile": "Faylı aç", + "openFiles": "Faylları aç", "noFilesInStorage": "Saxlamada mövcud fayl yoxdur. Öncə bəzi fayllar yükləyin.", + "noFilesInStorageOpen": "Yaddaşda fayl yoxdur. Əvvəlcə bəzi faylları açın.", "selectFromStorage": "Saxlamadan seç", "backToTools": "Alətlərə qayıt", "addFiles": "Fayllar əlavə et", @@ -4329,6 +4641,8 @@ "myFiles": "Fayllarım", "noRecentFiles": "Son fayl tapılmadı", "googleDriveNotAvailable": "Google Drive inteqrasiyası mövcud deyil", + "downloadSelected": "Seçilmişləri yüklə", + "saveSelected": "Seçilənləri saxla", "openFiles": "Faylları aç", "openFile": "Faylı aç", "details": "Fayl təfərrüatları", @@ -4341,7 +4655,6 @@ "selectAll": "Hamısını Seç", "deselectAll": "Hamısını Seçməni Ləğv Et", "deleteSelected": "Seçilmişi Sil", - "downloadSelected": "Seçilmişləri yüklə", "selectedCount": "{{count}} seçildi", "download": "Endir", "delete": "Sil", @@ -4621,9 +4934,14 @@ "secureWorkflow": "Təhlükəsizlik İş Axını", "secureWorkflowDesc": "PDF sənədlərini JavaScript və daxil edilmiş fayllar kimi potensial zərərli məzmunu silməklə təhlükəsizləşdirir, sonra icazəsiz girişin qarşısını almaq üçün parol mühafizəsi əlavə edir. Parol standart olaraq 'password' olaraq təyin edilir.", "processImages": "Şəkilləri Emal Et", - "processImagesDesc": "Bir neçə şəkil faylını tək PDF sənədinə çevirir, sonra şəkillərdən axtarıla bilən mətn çıxarmaq üçün OCR tətbiq edir." + "processImagesDesc": "Bir neçə şəkil faylını tək PDF sənədinə çevirir, sonra şəkillərdən axtarıla bilən mətn çıxarmaq üçün OCR tətbiq edir.", + "prePublishSanitization": "Yayınlamadan əvvəl təmizləmə", + "prePublishSanitizationDesc": "PDF-ləri onlayn dərc etməzdən əvvəl məlumat sızmasının qarşısını almaq üçün bütün gizli metadata, JavaScript, quraşdırılmış faylları, annotasiyaları silən və formaları düzləşdirən təmizləmə axını." } }, + "colorPicker": { + "title": "Rəng seçin" + }, "common": { "previous": "Əvvəlki", "next": "Növbəti", @@ -4639,7 +4957,13 @@ "used": "istifadə edilib", "available": "mövcuddur", "cancel": "Ləğv et", - "preview": "Önizləmə" + "preview": "Önizləmə", + "close": "Bağla", + "done": "Bitdi", + "loading": "Yüklənir...", + "back": "Geri", + "continue": "Davam et", + "error": "Xəta" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Daha çox fayl əlavə edin...", "selectedFiles": "Seçilmiş Fayllar", "submit": "Qoşmaları əlavə et", + "tooltip": { + "header": { + "title": "Qoşmaların əlavə edilməsi haqqında" + }, + "description": { + "title": "Nə edir" + } + }, "results": { "title": "Qoşma Nəticələri" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Xüsusi mövqe", "details": "Təfərrüatlar", - "downloadUnavailable": "Bu element üçün endirmə mövcud deyil", "invalidUndoData": "Geri alma mümkün deyil: etibarsız əməliyyat məlumatı", "margin": { "large": "Böyük", @@ -4801,6 +5132,10 @@ "maybeLater": "Bəlkə sonra", "dontShowAgain": "Bir də göstərmə" }, + "welcomeSlide": { + "title": "Stirling-ə xoş gəlmisiniz", + "body": "Stirling PDF artıq hər ölçüdə komanda üçün hazırdır. Bu yeniləmə yeni düzən, güclü admin imkanları və ən çox tələb olunan xüsusiyyətimizi ehtiva edir - Mətni redaktə et." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Gəlin, Kəsmə alətini seçərək alətlərdən birinin istifadəsini nümayiş etdirək.", "toolInterface": "Bu, Kəsmə alətinin interfeysidir. Gördüyünüz kimi, hələ işləmək üçün PDF faylı əlavə etmədiyimiz üçün burada çox şey yoxdur.", @@ -4823,7 +5158,39 @@ "next": "Növbəti", "finish": "Bitir", "startTour": "Tura başla", - "startTourDescription": "Stirling PDF-in əsas xüsusiyyətləri üzrə bələdçili tura başlayın" + "startTourDescription": "Stirling PDF-in əsas xüsusiyyətləri üzrə bələdçili tura başlayın", + "buttons": { + "next": "Növbəti →", + "back": "Geri", + "skipForNow": "Hələlik ötür", + "download": "Yüklə →", + "showMeAround": "Turu göstər", + "skipTheTour": "Turu keç" + }, + "serverLicense": { + "skip": "Hələlik ötür", + "seePlans": "Planlara baxın →", + "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 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." + }, + "desktopInstall": { + "title": "Yüklə", + "titleWithOs": "{{osLabel}} üçün yüklə", + "body": "Stirling masaüstü tətbiq kimi ən yaxşı işləyir. Onu oflayn istifadə edə, sənədlərə daha sürətli baxa və düzəlişləri yerli olaraq kompüterinizdə edə bilərsiniz." + }, + "planOverview": { + "adminTitle": "Admin icmalı", + "userTitle": "Plan icmalı", + "adminBodyLoginEnabled": "Admin kimi istifadəçiləri idarə edə, ayarları konfiqurasiya edə və serverin vəziyyətini izləyə bilərsiniz. Serverinizdə ilk {{freeTierLimit}} nəfər Stirling-dən pulsuz istifadə edir.", + "adminBodyLoginDisabled": "Giriş rejimini aktivləşdirdikdən sonra istifadəçiləri idarə edə, ayarları konfiqurasiya edə və serverin vəziyyətini izləyə bilərsiniz. Serverinizdə ilk {{freeTierLimit}} nəfər Stirling-dən pulsuz istifadə edir.", + "userBody": "Komanda yoldaşlarını dəvət edin, rollar təyin edin və sənədlərinizi bir təhlükəsiz iş mühitində səliqəli saxlayın. Tək istifadədən böyüməyə hazır olduqda giriş rejimini aktivləşdirin." + }, + "securityCheck": { + "message": "Tətbiq son vaxtlar əhəmiyyətli dəyişikliklərdən keçib. Server administratorunun müdaxiləsi tələb oluna bilər. Davam etmək üçün rolunuzu təsdiqləyin." + } }, "adminOnboarding": { "welcome": "Admin Turuna xoş gəlmisiniz! Gəlin, sistem administratorları üçün əlçatan güclü müəssisə xüsusiyyətləri və ayarları araşdıraq.", @@ -4852,7 +5219,10 @@ "role": "Rol", "team": "Komanda", "status": "Status", - "actions": "Hərəkətlər", + "actions": { + "label": "Əməliyyatlar", + "upgrade": "Yüksəlt" + }, "noMembersFound": "Üzv tapılmadı", "active": "Aktiv", "disabled": "Deaktiv", @@ -4952,7 +5322,7 @@ "inviteMode": { "username": "İstifadəçi adı", "email": "E-poçt", - "link": "Link", + "link": "Keçid", "emailDisabled": "E-poçt dəvətləri üçün ayarlarda SMTP konfiqurasiyası və mail.enableInvites=true tələb olunur" }, "license": { @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} istifadəçi yeri mövcuddur", "noSlotsAvailable": "Mövcud yer yoxdur", "currentUsage": "Hazırda {{max}} istifadəçi lisenziyasından {{current}} istifadə olunur" - } + }, + "loginRequired": "Əvvəlcə giriş rejimini aktivləşdirin" }, "teams": { "title": "Komandalar", @@ -5057,6 +5428,17 @@ "showComparison": "Bütün xüsusiyyətləri müqayisə et", "hideComparison": "Xüsusiyyət müqayisəsini gizlət", "featureComparison": "Xüsusiyyət Müqayisəsi", + "from": "Başlayır", + "perMonth": "/ay", + "perSeat": "/yer", + "withServer": "+ Server Planı", + "licensedSeats": "Lisenziyalı: {{count}} yer", + "includedInCurrent": "Cari planınıza daxildir", + "selectPlan": "Plan seç", + "manage": "İdarə et", + "manageSubscription": { + "description": "Abunəliyi, ödənişləri və ödəmə üsullarını idarə edin" + }, "activePlan": { "title": "Aktiv Plan", "subtitle": "Cari abunəlik detalları" @@ -5074,13 +5456,16 @@ "upTo": "Maksimum" }, "period": { - "month": "ay" + "month": "ay", + "perUserPerMonth": "/istifadəçi/ay" }, "free": { "name": "Pulsuz", "highlight1": "Həftəlik məhdud alət istifadəsi", "highlight2": "Bütün alətlərə çıxış", - "highlight3": "İcma dəstəyi" + "highlight3": "İcma dəstəyi", + "forever": "Həmişə pulsuz", + "included": "Daxildir" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Fərdi qiymətləndirmə", "highlight2": "Həsr olunmuş dəstək", - "highlight3": "Ən son xüsusiyyətlər" + "highlight3": "Ən son xüsusiyyətlər", + "requiresServer": "Server tələb edir", + "requiresServerMessage": "Enterprise-a yüksəltmədən əvvəl əvvəlcə Server planına keçin." }, "feature": { "title": "Xüsusiyyət", @@ -5102,6 +5489,12 @@ "api": "API Girişi", "priority": "Prioritet Dəstək", "customPricing": "Fərdi Qiymətləndirmə" + }, + "licenseWarning": { + "title": "Pulsuz self-hosted limiti çatıb", + "body": "Sizdə {{total}} istifadəçi var, lakin pulsuz səviyyə hər server üçün yalnız {{limit}}-ni dəstəkləyir. Stirling PDF-in fasiləsiz işləməsi üçün yüksəldin.", + "overLimit": "{{limit}}-dən çox", + "cta": "Planlara bax" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Ödənişləri idarə et", "portal": { "error": "Ödəniş portalını açmaq alınmadı" - } + }, + "updateSeats": "Yerləri yenilə", + "updateEnterpriseSeats": "Enterprise yerlərini yenilə", + "currentSeats": "Cari yerlər", + "minimumSeats": "Minimum yerlər", + "basedOnUsers": "(cari istifadəçilər)", + "newSeatCount": "Yeni yer sayı", + "newSeatCountDescription": "Enterprise lisenziyası üçün yerlərin sayını seçin", + "whatHappensNext": "Sonra nə olacaq?", + "stripePortalRedirect": "Yerlərin dəyişməsini yoxlamaq və təsdiqləmək üçün Stripe ödəniş portalına yönləndiriləcəksiniz. Nisbətli məbləğ avtomatik hesablanacaq.", + "preparingUpdate": "Yer yeniləməsi hazırlanır...", + "seatCountTooLow": "Yer sayı ən azı {{minimum}} olmalıdır (cari istifadəçi sayı)", + "seatCountUnchanged": "Zəhmət olmasa, başqa yer sayı seçin", + "seatsUpdated": "Yerlər yeniləndi", + "seatsUpdatedMessage": "Enterprise yerləriniz {{seats}} olaraq yeniləndi", + "updateProcessing": "Yeniləmə işlənir", + "updateProcessingMessage": "Yer yeniləməniz işlənir. Bir neçə dəqiqəyə yeniləyin.", + "notEnterprise": "Yer idarəsi yalnız Enterprise lisenziyaları üçün mövcuddur" + }, + "upgradeBanner": { + "title": "Server planına yüksəldin", + "message": "Limitsiz istifadəçi və qabaqcıl xüsusiyyətlərlə Stirling PDF-dən maksimum yararlanın", + "upgradeButton": "İndi yüksəlt", + "dismiss": "Baneri gizlət", + "attentionTitle": "Bu server admin diqqəti tələb edir", + "attentionBody": "Daha çox məlumat üçün admin daxil olmalıdır. Zəhmət olmasa, dərhal əlaqə saxlayın.", + "attentionBodyAdmin": "Bu serverin uyğunluğunu qorumaq üçün lisenziya tələblərini nəzərdən keçirin.", + "seeInfo": "Məlumata bax" }, "payment": { "preparing": "Ödənişiniz hazırlanır...", @@ -5128,7 +5548,61 @@ "success": "Ödəniş uğurludur!", "successMessage": "Abunəliyiniz uğurla aktivləşdirildi. Tezliklə təsdiq e-poçtu alacaqsınız.", "autoClose": "Bu pəncərə avtomatik bağlanacaq...", - "error": "Ödəniş xətası" + "error": "Ödəniş xətası", + "upgradeSuccess": "Ödəniş uğurludur! Abunəliyiniz yüksəldildi. Lisenziya serverinizdə yeniləndi. Tezliklə təsdiq e-poçtu alacaqsınız.", + "paymentSuccess": "Ödəniş uğurludur! Lisenziya açarınız alınır...", + "licenseActivated": "Lisenziya aktivləşdirildi! Lisenziya açarınız saxlanıldı. Qeydiyyat e-poçt ünvanınıza təsdiq göndərildi.", + "licenseDelayed": "Ödəniş uğurludur! Lisenziyanız yaradılır. Tezliklə lisenziya açarınızla e-poçt alacaqsınız. 10 dəqiqə ərzində gəlməzsə, dəstək ilə əlaqə saxlayın.", + "licensePollingError": "Ödəniş uğurludur, lakin lisenziya açarınızı avtomatik ala bilmədik. Zəhmət olmasa e-poçtunuzu yoxlayın və ya ödəniş təsdiqi ilə dəstək ilə əlaqə saxlayın.", + "licenseRetrievalError": "Ödəniş uğurludur, lakin lisenziyanın alınması uğursuz oldu. Lisenziya açarınız e-poçtla göndəriləcək. 10 dəqiqə ərzində gəlməzsə, dəstək ilə əlaqə saxlayın.", + "syncError": "Ödəniş uğurludur, lakin lisenziyanın sinxronizasiyası uğursuz oldu. Lisenziyanız tezliklə yenilənəcək. Problem davam edərsə, dəstəyə müraciət edin.", + "licenseSaveError": "Lisenziya açarını saxlamaq alınmadı. Aktivləşdirməni tamamlamaq üçün lisenziya açarınızla dəstəyə müraciət edin.", + "paymentCanceled": "Ödəniş ləğv edildi. Heç bir ödəniş tutulmadı.", + "syncingLicense": "Yüksəldilmiş lisenziyanız sinxronlaşdırılır...", + "generatingLicense": "Lisenziya açarınız yaradılır...", + "upgradeComplete": "Yeniləmə tamamlandı", + "upgradeCompleteMessage": "Abunəliyiniz uğurla yüksəldildi. Mövcud lisenziya açarınız yeniləndi.", + "stripeNotConfigured": "Stripe konfiqurasiya olunmayıb", + "stripeNotConfiguredMessage": "Stripe ödəniş inteqrasiyası konfiqurasiya olunmayıb. Zəhmət olmasa administratorla əlaqə saxlayın.", + "monthly": "Aylıq", + "yearly": "İllik", + "billingPeriod": "Ödəniş dövrü", + "enterpriseNote": "Yerləri checkout zamanı tənzimləyə bilərsiniz (1-1000).", + "installationId": "Quraşdırma ID-si", + "licenseKey": "Lisenziya açarınız", + "licenseInstructions": "Bu, quraşdırmanıza əlavə edildi. Bir nüsxə e-poçtunuza da göndəriləcək.", + "canCloseWindow": "Bu pəncərəni indi bağlaya bilərsiniz.", + "licenseKeyProcessing": "Lisenziya açarı işlənir", + "licenseDelayedMessage": "Lisenziya açarınız yaradılır. Tezliklə e-poçtunuzu yoxlayın və ya dəstəyə müraciət edin.", + "perYear": "/il", + "perMonth": "/ay", + "emailInvalid": "Zəhmət olmasa düzgün e-poçt ünvanı daxil edin", + "emailStage": { + "title": "E-poçtunuzu daxil edin", + "description": "Lisenziya açarınızı və qəbzləri göndərmək üçün bunu istifadə edəcəyik.", + "emailLabel": "E-poçt ünvanı", + "emailPlaceholder": "your@email.com", + "continue": "Davam et", + "modalTitle": "Başlayaq - {{planName}}" + }, + "planStage": { + "title": "Ödəniş dövrünü seçin", + "savingsNote": "İllik ödənişlə {{percent}}% qənaət edin", + "basePrice": "Baza qiymət", + "seatPrice": "Hər yer üçün", + "totalForSeats": "Cəmi ({{count}} yer)", + "selectMonthly": "Aylığı seç", + "selectYearly": "İlliyi seç", + "savePercent": "{{percent}}% qənaət edin", + "savingsAmount": "{{amount}} qənaət edirsiniz", + "modalTitle": "Ödəniş dövrünü seçin - {{planName}}", + "billedYearly": "İllik olaraq {{currency}}{{amount}} hesablanır" + }, + "paymentStage": { + "backToPlan": "Plan seçiminə qayıt", + "selectedPlan": "Seçilmiş plan", + "modalTitle": "Ödənişi tamamlayın - {{planName}}" + } }, "firstLogin": { "title": "İlk dəfə giriş", @@ -5287,5 +5761,281 @@ "offline": "Backend oflayndır", "starting": "Backend işə düşür...", "wait": "Zəhmət olmasa backend-in işə düşməsini gözləyin və yenidən cəhd edin." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Davam etmək üçün PDF-i açın", + "title": "Davam etmək üçün şifrəni silin", + "description": "Bu PDF parol ilə qorunur. Onunla işləməyə davam etmək üçün parolu daxil edin.", + "password": { + "label": "PDF parolu", + "placeholder": "PDF parolunu daxil edin" + }, + "skip": "Hələlik ötür", + "unlock": "Kilidi aç və davam et", + "incorrectPassword": "Yanlış parol", + "missingFile": "Seçilmiş fayl artıq mövcud deyil.", + "emptyResponse": "Parolun silinməsi fayl yaratmadı.", + "required": "Davam etmək üçün parolu daxil edin.", + "successTitle": "Parol silindi", + "successBodyWithName": "Parol {{fileName}} faylından silindi", + "successBody": "Parol uğurla silindi." + }, + "setup": { + "welcome": "Stirling PDF-ə xoş gəlmisiniz", + "description": "Stirling PDF-dən necə istifadə edəcəyinizi seçərək başlayın", + "step1": { + "label": "Rejimi seçin", + "description": "Oflayn və ya Server" + }, + "step2": { + "label": "Server seçin", + "description": "Öz serveriniz" + }, + "step3": { + "label": "Giriş", + "description": "Məlumatları daxil edin" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Stirling hesabınızla daxil olun" + }, + "selfhosted": { + "title": "Öz serveriniz", + "description": "Öz Stirling PDF serverinizə qoşulun" + } + }, + "saas": { + "title": "Stirling-ə daxil olun", + "subtitle": "Stirling hesabınızla daxil olun" + }, + "selfhosted": { + "title": "Serverə daxil olun", + "subtitle": "Server məlumatlarınızı daxil edin" + }, + "server": { + "title": "Serverə qoşulun", + "subtitle": "Öz serverinizin URL ünvanını daxil edin", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Öz serveriniz" + }, + "url": { + "label": "Server URL", + "description": "Öz Stirling PDF serverinizin tam URL ünvanını daxil edin" + }, + "error": { + "emptyUrl": "Zəhmət olmasa server URL-i daxil edin", + "unreachable": "Serverə qoşulmaq mümkün olmadı", + "testFailed": "Bağlantı testi uğursuz oldu" + }, + "testing": "Bağlantı yoxlanılır..." + }, + "login": { + "title": "Daxil ol", + "subtitle": "Davam etmək üçün məlumatlarınızı daxil edin", + "connectingTo": "Qoşulur:", + "username": { + "label": "İstifadəçi adı", + "placeholder": "İstifadəçi adınızı daxil edin" + }, + "email": { + "label": "E-poçt", + "placeholder": "E-poçtunuzu daxil edin" + }, + "password": { + "label": "Parol", + "placeholder": "Parolunuzu daxil edin" + }, + "error": { + "emptyUsername": "Zəhmət olmasa istifadəçi adınızı daxil edin", + "emptyEmail": "Zəhmət olmasa e-poçtunuzu daxil edin", + "emptyPassword": "Zəhmət olmasa parolunuzu daxil edin", + "oauthFailed": "OAuth girişi uğursuz oldu. Yenidən cəhd edin." + }, + "submit": "Daxil ol", + "signInWith": "Bununla daxil ol", + "oauthPending": "Təsdiqləmə üçün brauzer açılır...", + "orContinueWith": "Və ya e-poçt ilə davam edin" + } + }, + "oauth": { + "success": { + "title": "Təsdiqləmə uğurlu oldu", + "message": "Bu pəncərəni bağlayıb Stirling PDF-ə qayıda bilərsiniz." + }, + "error": { + "title": "Təsdiqləmə uğursuz oldu", + "message": "Təsdiqləmə uğurlu olmadı. Bu pəncərəni bağlayıb yenidən cəhd edə bilərsiniz." + } + }, + "pdfTextEditor": { + "title": "PDF JSON Redaktoru", + "viewLabel": "PDF redaktoru", + "converting": "PDF redaktə edilə bilən formata çevrilir...", + "conversionFailed": "PDF-i çevirmək alınmadı. Yenidən cəhd edin.", + "currentFile": "Cari fayl: {{name}}", + "pageSummary": "Səhifə {{number}}/{{total}}", + "pagePreviewAlt": "Səhifə önbaxışı", + "imageLabel": "Yerləşdirilmiş şəkil", + "noTextOnPage": "Bu səhifədə redaktə oluna bilən mətn aşkar edilmədi.", + "pageType": { + "paragraph": "Paraqraf səhifəsi", + "sparse": "Seyrək mətn" + }, + "groupingMode": { + "auto": "Avto", + "paragraph": "Paraqraf", + "singleLine": "Tək sətir" + }, + "badges": { + "unsaved": "Redaktə edilib", + "modified": "Redaktə edilib", + "earlyAccess": "Erkən Giriş" + }, + "actions": { + "reset": "Dəyişiklikləri sıfırla", + "downloadJson": "JSON-u endir", + "generatePdf": "PDF yarat" + }, + "options": { + "autoScaleText": { + "title": "Mətni avtomatik miqyasla", + "description": "Şrift göstərilişi PDF-dən fərqləndikdə, mətni orijinal sərhəd qutusuna üfüqi sığdırmaq üçün avtomatik miqyaslayır." + }, + "groupingMode": { + "title": "Mətn qruplaşdırma rejimi", + "autoDescription": "Səhifə növünü avtomatik aşkar edir və mətni uyğun qruplaşdırır.", + "paragraphDescription": "Düzülmüş sətirləri çoxsətirli abzas mətn qutularına qruplaşdırır.", + "singleLineDescription": "Hər PDF mətn sətrini ayrı mətn qutusu kimi saxlayır." + }, + "manualGrouping": { + "descriptionInline": "Məsləhət: Mətn qutularını çoxseçim üçün Ctrl (Cmd) və ya Shift basılı saxlayın. Seçimin üstündə üzən alət paneli görünəcək ki, birləşdirə, qruplaşdırmanı ləğv edə və ya enləri tənzimləyə biləsiniz." + }, + "forceSingleElement": { + "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." + } + }, + "manual": { + "mergeTooltip": "Seçilmiş qutuları birləşdir", + "merge": "Seçimi birləşdir", + "ungroupTooltip": "Abzası yenidən sətirlərə böl", + "ungroup": "Seçimi qruplaşdırmadan çıxar", + "widthMenu": "En seçimləri", + "expandWidth": "Səhifə kənarınadək genişləndir", + "resetWidth": "Eni sıfırla", + "resizeHandle": "Mətnin enini tənzimlə" + }, + "disclaimer": { + "heading": "Önizləmə məhdudiyyətləri", + "textFocus": "Bu iş sahəsi mətnin redaktəsinə və yerləşdirilmiş şəkillərin yerinin dəyişdirilməsinə fokuslanır. Mürəkkəb səhifə qrafikası, forma vidcetləri və qatlı qrafika ixrac üçün saxlanılır, lakin burada tam redaktə olunmur.", + "previewVariance": "Bəzi vizuallar (məsələn, cədvəl çərçivələri, fiqurlar və ya annotasiya görünüşləri) önizləmədə tam dəqiq göstərilməyə bilər. İxrac olunan PDF mümkün olduqda orijinal çəkmə əmrlərini saxlayır.", + "alpha": "Bu alfa görüntüləyici hələ inkişaf edir—bəzi şriftlər, rənglər, şəffaflıq effektləri və yerləşim detalları cüzi dəyişə bilər. Paylaşmadan əvvəl yaradılan PDF-i bir daha yoxlayın." + }, + "empty": { + "title": "Sənəd yüklənməyib", + "subtitle": "Mətn məzmununu redaktə etməyə başlamaq üçün PDF və ya JSON faylı yükləyin." + }, + "welcomeBanner": { + "title": "PDF Text Editor-ə xoş gəldiniz (Erkən Giriş)", + "experimental": "Bu, aktiv inkişafda olan eksperimental funksiyadır. İstifadə zamanı müəyyən qeyri-sabitlik və problemlər gözləniləndir.", + "howItWorks": "Bu alət PDF-inizi redaktə edilə bilən formata çevirir, burada mətni dəyişə və şəkillərin yerini dəyişə bilərsiniz. Dəyişikliklər yeni PDF kimi saxlanılır.", + "bestFor": "Ən yaxşı uyğun:", + "bestFor1": "Əsasən mətn və şəkillərdən ibarət sadə PDF-lər", + "bestFor2": "Standart abzas formatlı sənədlər", + "bestFor3": "Məktublar, esselər, hesabatlar və əsas sənədlər", + "notIdealFor": "Aşağıdakılar üçün uyğun deyil:", + "notIdealFor1": "Markerli siyahılar, cədvəllər və ya çoxsütunlu yerləşim kimi xüsusi formatlı PDF-lər", + "notIdealFor2": "Jurnallar, broşürlər və ya dizaynı mürəkkəb sənədlər", + "notIdealFor3": "Mürəkkəb yerləşimli təlimat kitabçaları", + "limitations": "Cari məhdudiyyətlər:", + "limitation1": "Şrift göstərilməsi orijinal PDF-dən azca fərqlənə bilər", + "limitation2": "Mürəkkəb qrafika, forma sahələri və annotasiyalar saxlanılır, lakin redaktə olunmur", + "limitation3": "Böyük faylların çevrilməsi və işlənməsi vaxt apara bilər", + "knownIssues": "Məlum problemlər (düzəldilir):", + "issue1": "Mətn rəngi hazırda saxlanmır (tezliklə əlavə olunacaq)", + "issue2": "Abzas rejimində düzülüş və aralıq problemləri daha çoxdur - Tək sətir rejimi tövsiyə olunur", + "issue3": "Önizləmə görüntüsü ixrac olunan PDF-dən fərqlənir - ixrac olunan PDF-lər orijinala daha yaxındır", + "issue4": "Döndərilmiş mətnin düzülüşü əl ilə tənzimləmə tələb edə bilər", + "issue5": "Şəffaflıq və qat effektləri orijinaldan fərqlənə bilər", + "feedback": "Bu, erkən giriş funksiyasıdır. Təkmilləşdirməyə kömək üçün rast gəldiyiniz problemləri bildirin!", + "gotIt": "Anladım", + "dontShowAgain": "Bir daha göstərmə" + }, + "modeChange": { + "title": "Rejim dəyişikliyini təsdiqlə", + "warning": "Mətn qruplaşdırma rejimini dəyişmək yadda saxlanmamış bütün dəyişiklikləri sıfırlayacaq. Davam etmək istədiyinizə əminsiniz?", + "cancel": "Ləğv et", + "confirm": "Sıfırla və rejimi dəyiş" + }, + "fontAnalysis": { + "details": "Şrift detalları", + "embedded": "Gömülü", + "type": "Növ", + "webFormat": "Veb formatı", + "warnings": "Xəbərdarlıqlar", + "suggestions": "Qeydlər", + "currentPageFonts": "Bu səhifədəki şriftlər", + "allFonts": "Bütün şriftlər", + "fallback": "ehtiyat", + "missing": "çatışmır", + "perfectMessage": "Bütün şriftlər mükəmməl şəkildə göstərilə bilər.", + "warningMessage": "Bəzi şriftlər düzgün göstərilməyə bilər.", + "infoMessage": "Şriftlərin göstərilməsi barədə məlumat var.", + "perfect": "mükəmməl", + "subset": "alt dəst" + }, + "errors": { + "invalidJson": "JSON faylını oxumaq mümkün deyil. Onun PDF to JSON aləti ilə yaradıldığından əmin olun.", + "pdfConversion": "Redaktə olunmuş JSON-u yenidən PDF-ə çevirmək mümkün deyil." + } + }, + "auth": { + "sessionExpired": "Sessiya başa çatdı", + "pleaseLoginAgain": "Zəhmət olmasa yenidən daxil olun.", + "accessDenied": "Giriş rədd edildi", + "insufficientPermissions": "Bu əməliyyatı yerinə yetirmək üçün icazəniz yoxdur." + }, + "addText": { + "title": "Mətn əlavə et", + "header": "PDF-lərə mətn əlavə edin", + "text": { + "name": "Mətn məzmunu", + "placeholder": "Əlavə etmək istədiyiniz mətni daxil edin", + "fontLabel": "Şrift", + "fontSizeLabel": "Şrift ölçüsü", + "fontSizePlaceholder": "Şrift ölçüsünü yazın və ya seçin (8-200)", + "colorLabel": "Mətn rəngi" + }, + "steps": { + "configure": "Mətni tənzimlə" + }, + "step": { + "createDesc": "Əlavə etmək istədiyiniz mətni daxil edin", + "place": "Mətni yerləşdir", + "placeDesc": "Mətni əlavə etmək üçün PDF üzərinə klikləyin" + }, + "instructions": { + "title": "Mətni necə əlavə etməli", + "text": "Yuxarıda mətni daxil etdikdən sonra onu yerləşdirmək üçün PDF-də istənilən yerə klikləyin.", + "paused": "Yerləşdirmə dayandırılıb", + "resumeHint": "Mətni əlavə etmək üçün yerləşdirməni davam etdirin.", + "noSignature": "Yerləşdirməni aktivləşdirmək üçün yuxarıda mətn daxil edin." + }, + "mode": { + "move": "Mətni hərəkət etdir", + "place": "Mətni yerləşdir", + "pause": "Yerləşdirməni dayandır", + "resume": "Yerləşdirməni davam etdir" + }, + "results": { + "title": "Mətn əlavə etmə nəticələri" + }, + "error": { + "failed": "PDF-ə mətn əlavə edilərkən xəta baş verdi." + }, + "tags": "mətn,annotasiya,etiket", + "applySignatures": "Mətni tətbiq et" } } \ No newline at end of file diff --git a/frontend/public/locales/bg-BG/translation.json b/frontend/public/locales/bg-BG/translation.json index 2c62a56c3..0b370415c 100644 --- a/frontend/public/locales/bg-BG/translation.json +++ b/frontend/public/locales/bg-BG/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Очаквайте скоро:", "favorite": "Добавяне към любими", "favorites": "Любими", + "unavailable": "Деактивирано от администратор на сървъра:", + "unavailableDependency": "Недостъпно – липсва необходим инструмент на сървъра:", "heading": "Всички инструменти (изглед на цял екран)", "noResults": "Опитайте да коригирате търсенето или превключете описанията, за да намерите нужното.", "recommended": "Препоръчително", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Превключване към режим на цял екран", "sidebar": "Превключване към режим със странична лента" - } + }, + "alpha": "Алфа", + "premiumFeature": "Премиум функция:", + "comingSoon": "Очаквайте скоро:" }, "unsavedChanges": "Имате незаписани промени във вашия PDF.", "areYouSure": "Сигурни ли сте, че искате да напуснете?", @@ -41,6 +46,30 @@ "cancel": "Отказ", "confirm": "Извлечи" }, + "defaultApp": { + "title": "Задай като приложение по подразбиране за PDF", + "message": "Искате ли да зададете Stirling PDF като редактор на PDF по подразбиране?", + "description": "Можете да го промените по-късно в системните настройки.", + "notNow": "Не сега", + "setDefault": "Задай по подразбиране", + "dismiss": "Отхвърли", + "prompt": { + "title": "Задай като редактор на PDF по подразбиране", + "message": "Направете Stirling PDF приложение по подразбиране за отваряне на PDF файлове." + }, + "success": { + "title": "Зададено приложение по подразбиране", + "message": "Stirling PDF вече е вашият редактор на PDF по подразбиране" + }, + "settingsOpened": { + "title": "Настройките са отворени", + "message": "Моля, изберете Stirling PDF в системните настройки" + }, + "error": { + "title": "Грешка", + "message": "Неуспешно задаване на обработчик на PDF по подразбиране" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Съхранете", "saveToBrowser": "Съхраняване в браузъра", "download": "Изтегли", + "downloadUnavailable": "Изтеглянето не е налично за този елемент", + "saveUnavailable": "Записът не е наличен за този елемент", "pin": "Закачи файл (запазва активен след изпълнение на инструмента)", "unpin": "Откачи файл (замяна след изпълнение на инструмента)", "undoOperationTooltip": "Щракнете, за да отмените последната операция и да възстановите оригиналните файлове", @@ -168,6 +199,7 @@ }, "edit": "Редактиране", "delete": "Изтрий", + "never": "Никога", "username": "Потребителско име", "password": "Парола", "welcome": "Добре дошли", @@ -262,7 +294,8 @@ "learnMore": "Научете повече", "enable": "Активиране на анализа", "disable": "Деактивиране на анализа", - "settings": "Можете да промените настройките за анализ във config/settings.yml файла" + "settings": "Можете да промените настройките за анализ във config/settings.yml файла", + "privacyAssurance": "Не събираме лични данни и не проследяваме съдържанието на вашите файлове." }, "navbar": { "favorite": "Любими", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Настройки", - "update": "Налична актуализация", - "updateAvailable": "{0} е текущата инсталирана версия. Налична е нова версия ({1}).", - "appVersion": "Версия на приложението:", - "downloadOption": { - "title": "Изберете опция за изтегляне (за изтегляния на един файл без да е архивиран):", - "1": "Отваряне в същия прозорец", - "2": "Отваряне в нов прозорец", - "3": "Изтегли файл" - }, - "zipThreshold": "Архивирайте файловете, когато броят на изтеглените файлове надвишава", - "signOut": "Изход", - "accountSettings": "Настройки на акаунта", - "bored": { - "help": "Активира игра с великденски яйца" - }, - "cacheInputs": { - "name": "Запазете въведените формуляри", - "help": "Активирайте за съхраняване на предишни използвани въведени данни за бъдещи изпълнения" + "connection": { + "title": "Режим на свързване", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Самостоятелно хостван" + }, + "server": "Сървър", + "user": "Влезли сте като", + "logout": "Изход" }, "general": { "title": "Общи", "description": "Конфигурирайте общите предпочитания на приложението.", - "account": "Акаунт", - "accountDescription": "Управлявайте настройките на акаунта", "user": "Потребител", - "signedInAs": "Вписан като", "logout": "Изход", "enableFeatures": { + "dismiss": "Отхвърли", "title": "За системни администратори", "intro": "Активирайте удостоверяване на потребители, управление на екипи и функции на работното пространство за вашата организация.", "action": "Конфигурирай", "and": "и", "benefit": "Активира роли на потребители, екипно сътрудничество, админ контрол и корпоративни функции.", - "learnMore": "Научете повече в документацията", - "dismiss": "Отхвърли" + "learnMore": "Научете повече в документацията" }, - "autoUnzip": "Автоматично разархивиране на API отговори", - "autoUnzipDescription": "Автоматично извличане на файлове от ZIP отговори", - "autoUnzipTooltip": "Автоматично разархивиране на ZIP файлове, върнати от API операции. Забранете, за да запазвате ZIP файловете непокътнати. Това не засяга автоматизирани работни процеси.", - "autoUnzipFileLimit": "Лимит за авто-разархивиране", - "autoUnzipFileLimitDescription": "Максимален брой файлове за извличане от ZIP", - "autoUnzipFileLimitTooltip": "Разархивирай само ако ZIP съдържа толкова файлове или по-малко. Задайте по-висока стойност за извличане на по-големи ZIP-ове.", "defaultToolPickerMode": "Режим по подразбиране за избор на инструмент", "defaultToolPickerModeDescription": "Изберете дали изборът на инструмент да се отваря по подразбиране на цял екран или в страничната лента", "mode": { - "fullscreen": "Цял екран", - "sidebar": "Странична лента" - } + "sidebar": "Странична лента", + "fullscreen": "Цял екран" + }, + "autoUnzipTooltip": "Автоматично разархивиране на ZIP файлове, върнати от API операции. Забранете, за да запазвате ZIP файловете непокътнати. Това не засяга автоматизирани работни процеси.", + "autoUnzip": "Автоматично разархивиране на API отговори", + "autoUnzipDescription": "Автоматично извличане на файлове от ZIP отговори", + "autoUnzipFileLimitTooltip": "Разархивирай само ако ZIP съдържа толкова файлове или по-малко. Задайте по-висока стойност за извличане на по-големи ZIP-ове.", + "autoUnzipFileLimit": "Лимит за авто-разархивиране", + "autoUnzipFileLimitDescription": "Максимален брой файлове за извличане от ZIP", + "defaultPdfEditor": "Редактор на PDF по подразбиране", + "defaultPdfEditorActive": "Stirling PDF е вашият редактор на PDF по подразбиране", + "defaultPdfEditorInactive": "Друго приложение е зададено по подразбиране", + "defaultPdfEditorChecking": "Проверка...", + "defaultPdfEditorSet": "Вече е по подразбиране", + "setAsDefault": "Задай като по подразбиране", + "updates": { + "title": "Актуализации на софтуера", + "description": "Проверете за актуализации и вижте информация за версията", + "currentVersion": "Текуща версия", + "latestVersion": "Последна версия", + "checkForUpdates": "Провери за актуализации", + "viewDetails": "Виж подробности" + }, + "hideUnavailableTools": "Скрий недостъпните инструменти", + "hideUnavailableToolsDescription": "Премахва инструментите, деактивирани от вашия сървър, вместо да ги показва посивени.", + "hideUnavailableConversions": "Скрий недостъпните конверсии", + "hideUnavailableConversionsDescription": "Премахва деактивираните опции за конвертиране в инструмента Convert, вместо да ги показва посивени." }, "hotkeys": { - "title": "Клавишни комбинации", - "description": "Задръжте курсора върху инструмент, за да видите комбинацията му, или я персонализирайте по-долу. Щракнете „Промяна на комбинацията“ и натиснете нова клавишна комбинация. Натиснете Esc за отказ.", - "errorModifier": { - "mac": "Включете ⌘ (Command), ⌥ (Option) или друг модификатор в комбинацията.", - "windows": "Включете Ctrl, Alt или друг модификатор в комбинацията." - }, "errorConflict": "Комбинацията вече се използва от {{tool}}.", + "searchPlaceholder": "Търсене на инструменти...", "none": "Не е зададено", "customBadge": "Потребителски", "defaultLabel": "По подразбиране: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Промяна на комбинацията", "reset": "Нулиране", "shortcut": "Комбинация", - "noShortcut": "Няма зададена комбинация", - "searchPlaceholder": "Търсене на инструменти..." + "noShortcut": "Няма зададена комбинация" } }, + "update": { + "modalTitle": "Налична е актуализация", + "current": "Текуща версия", + "latest": "Последна версия", + "latestStable": "Последна стабилна", + "priorityLabel": "Приоритет", + "recommendedAction": "Препоръчано действие", + "breakingChangesDetected": "Открити несъвместими промени", + "breakingChangesMessage": "Някои версии съдържат несъвместими промени. Прегледайте ръководствата за миграция по-долу, преди да актуализирате.", + "migrationGuides": "Ръководства за миграция", + "viewGuide": "Виж ръководството", + "loadingDetailedInfo": "Зареждане на подробна информация...", + "close": "Затвори", + "viewAllReleases": "Виж всички версии", + "downloadLatest": "Изтегли последната", + "availableUpdates": "Налични актуализации", + "unableToLoadDetails": "Неуспешно зареждане на подробна информация.", + "version": "Версия", + "urgentUpdateAvailable": "Спешна актуализация", + "updateAvailable": "Налична е актуализация", + "releaseNotes": "Бележки към изданието", + "priority": { + "urgent": "Спешно", + "normal": "Нормален", + "minor": "Незначителен", + "low": "Нисък" + }, + "breakingChanges": "Несъвместими промени", + "breakingChangesDefault": "Тази версия съдържа несъвместими промени.", + "migrationGuide": "Ръководство за миграция" + }, "changeCreds": { "title": "Промяна на идентификационните данни", "header": "Актуализирайте данните за акаунта си", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Наслагва PDF файлове върху друг PDF", "title": "Наслагване PDF-и" + }, + "pdfTextEditor": { + "title": "PDF текстов редактор", + "desc": "Преглеждайте и редактирайте JSON експорти на Stirling PDF с групово редактиране на текст и повторно генериране на PDF" + }, + "addText": { + "tags": "текст,анотация,етикет", + "title": "Добави текст", + "desc": "Добавете собствен текст навсякъде в PDF" } }, "landing": { "addFiles": "Добавяне на файлове", - "uploadFromComputer": "Качване от компютър" + "uploadFromComputer": "Качване от компютър", + "openFromComputer": "Отвори от компютър" }, "viewPdf": { "tags": "преглед,четене,анотиране,текст,изображение", @@ -849,6 +922,11 @@ }, "error": { "failed": "Възникна грешка при сливането на PDFs." + }, + "tooltip": { + "header": { + "title": "Преглед на настройките за сливане" + } } }, "split": { @@ -1047,7 +1125,7 @@ "settings": "Настройки", "conversionCompleted": "Конвертирането завърши", "results": "Резултати", - "defaultFilename": "converted_file", + "defaultFilename": "преобразуван_файл", "conversionResults": "Резултати от конвертиране", "convertFrom": "Конвертиране от", "convertTo": "Конвертиране към", @@ -1087,11 +1165,11 @@ "fileFormat": "Файлов формат", "wordDoc": "Word документ", "wordDocExt": "Word документ (.docx)", - "odtExt": "OpenDocument Text (.odt)", + "odtExt": "Текст OpenDocument (.odt)", "pptExt": "PowerPoint (.pptx)", - "odpExt": "OpenDocument Presentation (.odp)", - "txtExt": "Plain Text (.txt)", - "rtfExt": "Rich Text Format (.rtf)", + "odpExt": "Презентация OpenDocument (.odp)", + "txtExt": "Обикновен текст (.txt)", + "rtfExt": "Формат Rich Text (.rtf)", "selectedFiles": "Избрани файлове", "noFileSelected": "Няма избран файл. Използвайте панела с файлове, за да добавите.", "convertFiles": "Конвертиране на файлове", @@ -1182,9 +1260,43 @@ "tags": "img,jpg,изображение,снимка", "title": "Добавяне на изображение", "header": "Добавяне на изображение към PDF", - "everyPage": "Всяка страница?", - "upload": "Добавяне на изображение", - "submit": "Добавяне на изображение" + "image": { + "name": "Изображение", + "placeholder": "Качете изображение", + "label": "Файл с изображение" + }, + "steps": { + "configure": "Конфигурирай изображението" + }, + "step": { + "createDesc": "Качете изображението, което искате да добавите", + "place": "Постави изображението", + "placeDesc": "Щракнете върху PDF, за да добавите изображението" + }, + "instructions": { + "title": "Как да добавяте изображения", + "text": "След като качите изображението, щракнете навсякъде в PDF, за да го поставите.", + "paused": "Поставянето е на пауза", + "resumeHint": "Възобновете поставянето, за да щракнете и добавите изображението.", + "noSignature": "Качете изображение, за да активирате поставянето." + }, + "mode": { + "move": "Премести изображението", + "place": "Постави изображението", + "pause": "Пауза на поставянето", + "resume": "Възобнови поставянето" + }, + "results": { + "title": "Резултати от добавяне на изображение" + }, + "error": { + "failed": "Възникна грешка при добавяне на изображението към PDF." + }, + "saved": { + "defaultLabel": "Изображение", + "defaultImageLabel": "Качено изображение" + }, + "applySignatures": "Приложи изображения" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1200,7 +1312,7 @@ "desc": "Добавяне на текстови или изображени водни знаци към PDF файлове", "completed": "Добавен е воден знак", "submit": "Добавяне на воден знак", - "filenamePrefix": "watermarked", + "filenamePrefix": "воден_знак", "error": { "failed": "Възникна грешка при добавяне на воден знак към PDF." }, @@ -1397,6 +1509,93 @@ }, "submit": "Промени" }, + "editTableOfContents": { + "settings": { + "title": "Отметки и структура", + "replaceExisting": "Замени съществуващите отметки (махнете отметката, за да добавите)", + "replaceExistingHint": "Когато е изключено, новата структура се добавя след текущите отметки." + }, + "actions": { + "source": "Зареди отметки", + "selectedFile": "Заредено от {{file}}", + "noFile": "Изберете PDF, за да извлечете съществуващите отметки.", + "loadFromPdf": "Зареди от избрания PDF", + "importJson": "Импортирай JSON", + "importClipboard": "Постави JSON от клипборда", + "export": "Експортирай отметки", + "exportJson": "Изтегли JSON", + "exportClipboard": "Копирай JSON в клипборда", + "clipboardUnavailable": "Достъпът до клипборда не е наличен в този браузър." + }, + "info": { + "line1": "Всяка отметка се нуждае от описателно заглавие и страница, която да отваря.", + "line2": "Използвайте под-отметки, за да изградите йерархия за глави, раздели или подраздели.", + "line3": "Импортирайте отметки от избрания PDF или от JSON файл, за да спестите време." + }, + "workbench": { + "empty": { + "title": "Отворете инструмента, за да започнете редакция", + "description": "Изберете инструмента Edit Table of Contents, за да заредите работното му пространство." + }, + "tabTitle": "Работно пространство за структура", + "subtitle": "Импортирайте отметки, изграждайте йерархии и приложете структурата без тесни странични панели.", + "noFile": "Няма избран PDF", + "fileLabel": "Промените ще се приложат към текущо избрания PDF.", + "filePrompt": "Изберете PDF от библиотеката си или качете нов, за да започнете.", + "changeFile": "Смени PDF", + "selectFile": "Избери PDF" + }, + "editor": { + "heading": "Редактор на отметки", + "description": "Добавяйте, влагайте и пренареждайте отметки, за да оформите структурата на PDF.", + "addTopLevel": "Добави отметка на най-горно ниво", + "empty": { + "title": "Още няма отметки", + "description": "Импортирайте съществуващи отметки или започнете, като добавите първата.", + "action": "Добави първа отметка" + }, + "defaultTitle": "Нова отметка", + "defaultChildTitle": "Под-отметка", + "defaultSiblingTitle": "Нова отметка", + "untitled": "Отметка без заглавие", + "childBadge": "Под-", + "pagePreview": "Страница {{page}}", + "field": { + "title": "Заглавие на отметката", + "page": "Номер на целевата страница" + }, + "actions": { + "toggle": "Превключи под-отметките", + "addChild": "Добави под-отметка", + "addSibling": "Добави съседна отметка", + "remove": "Премахни отметката" + }, + "confirmRemove": "Да се премахне тази отметка и всички нейни под-отметки?" + }, + "messages": { + "loadedTitle": "Отметките са извлечени", + "loadedBody": "Съществуващите отметки от PDF бяха заредени в редактора.", + "noBookmarks": "В избрания PDF не бяха открити отметки.", + "loadFailed": "Неуспешно извличане на отметки от избрания PDF.", + "imported": "Отметките са импортирани", + "importedBody": "Вашата JSON структура замени текущото съдържание на редактора.", + "importedClipboard": "Данните от клипборда замениха текущия списък с отметки.", + "invalidJson": "Невалидна JSON структура", + "invalidJsonBody": "Моля, предоставете валиден JSON файл с отметки и опитайте отново.", + "exported": "JSON за изтегляне е готов", + "copied": "Копирано в клипборда", + "copiedBody": "JSON с отметки е копиран успешно.", + "copyFailed": "Неуспешно копиране" + }, + "error": { + "failed": "Неуспешно обновяване на съдържанието" + }, + "submit": "Приложи съдържанието", + "results": { + "title": "Обновен PDF с отметки", + "subtitle": "Изтеглете обработения файл или отменете операцията по-долу." + } + }, "removePages": { "tags": "Премахване на страници,изтриване на страници", "title": "Премахване", @@ -1405,7 +1604,7 @@ "placeholder": "напр., 1,3,5-8,10", "error": "Невалиден формат на номера на страници. Използвайте числа, диапазони (1-5) или математически изрази (2n+1)" }, - "filenamePrefix": "pages_removed", + "filenamePrefix": "страници_премахнати", "files": { "placeholder": "Изберете PDF файл в основния изглед, за да започнете" }, @@ -1601,12 +1800,12 @@ "tags": "мачкам,малък,мъничък" }, "unlockPDFForms": { - "tags": "remove,delete,form,field,readonly", + "tags": "премахване,изтриване,формуляр,поле,само_за_четене", "title": "Премахване на „само за четене“ от полета на формуляри", "header": "Отключване на PDF формуляри", "submit": "Remove", "description": "Този инструмент ще премахне ограниченията „само за четене“ от полетата във PDF формуляри, за да станат редактируеми и попълваеми.", - "filenamePrefix": "unlocked_forms", + "filenamePrefix": "отключени_формуляри", "files": { "placeholder": "Изберете PDF файл в основния изглед, за да започнете" }, @@ -1620,7 +1819,7 @@ "changeMetadata": { "header": "Промени метаданните", "submit": "Промени", - "filenamePrefix": "metadata", + "filenamePrefix": "метаданни", "settings": { "title": "Настройки на метаданни" }, @@ -1978,13 +2177,54 @@ "title": "Нарисувайте подписа си", "clear": "Изчистване" }, + "canvas": { + "heading": "Нарисувайте подписа си", + "clickToOpen": "Щракнете, за да отворите платното за рисуване", + "modalTitle": "Нарисувайте подписа си", + "colorLabel": "Цвят", + "penSizeLabel": "Дебелина на писалката", + "penSizePlaceholder": "Размер", + "clear": "Изчисти платното", + "colorPickerTitle": "Изберете цвят на линията" + }, "text": { "name": "Име на подписващия", - "placeholder": "Въведете пълното си име" + "placeholder": "Въведете пълното си име", + "fontLabel": "Шрифт", + "fontSizeLabel": "Размер на шрифта", + "fontSizePlaceholder": "Въведете или изберете размер на шрифта (8–200)", + "colorLabel": "Цвят на текста" }, "clear": "Изчисти", "add": "Добави", - "saved": "Съхранени подписи", + "saved": { + "heading": "Запазени подписи", + "description": "Използвайте отново запазените подписи по всяко време.", + "emptyTitle": "Все още няма запазени подписи", + "emptyDescription": "Нарисувайте, качете или въведете подпис по-горе, след това използвайте „Запази в библиотеката“, за да съхраните до {{max}} любими за готова употреба.", + "type": { + "canvas": "Рисунка", + "image": "Качване", + "text": "Текст" + }, + "limitTitle": "Достигнат е лимитът", + "limitDescription": "Премахнете запазен подпис, преди да добавите нови (макс {{max}}).", + "carouselPosition": "{{current}} от {{total}}", + "prev": "Предишна", + "next": "Следваща", + "delete": "Премахни", + "label": "Етикет", + "defaultLabel": "Подпис", + "defaultCanvasLabel": "Нарисуван подпис", + "defaultImageLabel": "Качен подпис", + "defaultTextLabel": "Въведен подпис", + "saveButton": "Запази подписа", + "saveUnavailable": "Първо създайте подпис, за да го запазите.", + "noChanges": "Текущият подпис вече е запазен.", + "status": { + "saved": "Запазено" + } + }, "save": "Запазване на подпис", "applySignatures": "Приложи подписите", "personalSigs": "Лични подписи", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Конфигуриране на подпис" }, + "step": { + "createDesc": "Изберете как искате да създадете подписа", + "place": "Постави и запази", + "placeDesc": "Позиционирайте подписа в PDF" + }, "type": { "title": "Тип подпис", "draw": "Рисуване", "canvas": "Платно", "image": "Изображение", - "text": "Текст" + "text": "Текст", + "saved": "Запазени" }, "image": { "label": "Качете изображение на подпис", @@ -2019,11 +2265,17 @@ "title": "Как да добавите подпис", "canvas": "След като нарисувате подписа си върху платното, затворете прозореца, после щракнете навсякъде върху PDF-а, за да го поставите.", "image": "След като качите изображението на подписа по-горе, щракнете навсякъде върху PDF-а, за да го поставите.", - "text": "След като въведете името си по-горе, щракнете навсякъде върху PDF-а, за да поставите подписа." + "saved": "Изберете запазен подпис по-горе, след това щракнете навсякъде в PDF, за да го поставите.", + "text": "След като въведете името си по-горе, щракнете навсякъде върху PDF-а, за да поставите подписа.", + "paused": "Поставянето е на пауза", + "resumeHint": "Възобновете поставянето, за да щракнете и добавите подписа си.", + "noSignature": "Създайте подпис по-горе, за да активирате инструментите за поставяне." }, "mode": { "move": "Преместване на подпис", - "place": "Поставяне на подпис" + "place": "Поставяне на подпис", + "pause": "Пауза на поставянето", + "resume": "Възобнови поставянето" }, "updateAndPlace": "Обнови и постави", "activate": "Активирай поставянето на подпис", @@ -2040,7 +2292,7 @@ "header": "Изравнете PDF-и", "flattenOnlyForms": "Изравнете само форми", "submit": "Изравнете", - "filenamePrefix": "flattened", + "filenamePrefix": "сплескан", "files": { "placeholder": "Изберете PDF файл в основния изглед, за да започнете" }, @@ -2090,7 +2342,7 @@ "header": "Поправи PDF-и", "submit": "Поправи", "description": "Този инструмент ще се опита да поправи повредени или увредени PDF файлове. Не са необходими допълнителни настройки.", - "filenamePrefix": "repaired", + "filenamePrefix": "поправен", "files": { "placeholder": "Изберете PDF файл в основния изглед, за да започнете" }, @@ -2163,6 +2415,14 @@ "title": "Относно премахването на анотации", "description": "Този инструмент ще премахне всички анотации (коментари, подчертавания, бележки и др.) от вашите PDF документи." }, + "tooltip": { + "header": { + "title": "Относно Remove Annotations" + }, + "description": { + "title": "Какво прави" + } + }, "error": { "failed": "Възникна грешка при премахването на анотациите от PDF." } @@ -2293,7 +2553,7 @@ "certSign": { "tags": "удостоверяване,PEM,P12,официален,шифроване", "title": "Подписване със сертификат", - "filenamePrefix": "signed", + "filenamePrefix": "подписан", "signMode": { "stepTitle": "Режим на подписване", "tooltip": { @@ -2568,7 +2828,7 @@ "submit": "Подайте" }, "adjustPageScale": { - "tags": "resize,modify,dimension,adapt", + "tags": "преоразмеряване,промяна,размер,адаптиране", "title": "Настройка на мащаба на страницата", "header": "Настройка на мащаба на страницата", "scaleFactor": { @@ -2627,6 +2887,9 @@ "header": { "title": "Как работи авто-преименуването" }, + "description": { + "title": "Какво прави" + }, "howItWorks": { "title": "Умно преименуване", "text": "Автоматично открива заглавието от съдържанието на вашия PDF и го използва като име на файла.", @@ -2634,6 +2897,9 @@ "bullet2": "Създава чисто и валидно име на файл от засеченото заглавие", "bullet3": "Запазва оригиналното име, ако не бъде намерено подходящо заглавие" } + }, + "settings": { + "title": "Относно" } }, "adjust-contrast": { @@ -3124,7 +3390,7 @@ "totalSignatures": "Общо подписи" }, "replaceColor": { - "tags": "Replace Colour,Page operations,Back end,server side", + "tags": "Смяна на цвят,Операции със страници,бекенд,сървърна страна", "labels": { "settings": "Настройки", "colourOperation": "Операция за цвят" @@ -3227,7 +3493,26 @@ "unexpectedError": "Неочаквана грешка: {{message}}", "accountCreatedSuccess": "Акаунтът е създаден успешно! Сега можете да влезете.", "passwordChangedSuccess": "Паролата е променена успешно! Моля, влезте с новата парола.", - "credentialsUpdated": "Данните ви за вход бяха обновени. Моля, влезте отново." + "credentialsUpdated": "Данните ви за вход бяха обновени. Моля, влезте отново.", + "defaultCredentials": "Данни за вход по подразбиране", + "changePasswordWarning": "Моля, сменете паролата си след първото влизане", + "slides": { + "overview": { + "alt": "Преглед на Stirling PDF", + "title": "Всичко за PDF на едно място.", + "subtitle": "Облачна платформа с приоритет на поверителността за PDF, която позволява да конвертирате, подписвате, зачертавате и управлявате документи, плюс 50+ други мощни инструменти." + }, + "edit": { + "alt": "Редактиране на PDF", + "title": "Редактирайте PDF, за да показвате/защитавате желаната информация", + "subtitle": "С над дузина инструменти за зачертаване, подписване, четене и обработка на PDF, със сигурност ще намерите това, което търсите." + }, + "secure": { + "alt": "Защита на PDF", + "title": "Защитете чувствителна информация в PDF файловете си", + "subtitle": "Добавяйте пароли, зачертавайте съдържание и управлявайте сертификати с лекота." + } + } }, "signup": { "title": "Създайте акаунт", @@ -3502,7 +3787,7 @@ "title": "API документация", "header": "API документация", "desc": "Преглед и тестване на API крайните точки на Stirling PDF", - "tags": "api,documentation,swagger,endpoints,development" + "tags": "api,документация,swagger,крайни точки,разработка" }, "cookieBanner": { "popUp": { @@ -3598,7 +3883,9 @@ "exportAll": "Експорт на PDF", "downloadSelected": "Изтегли избраните файлове", "downloadAll": "Изтегли всички", + "saveAll": "Запази всички", "toggleTheme": "Превключи тема", + "toggleBookmarks": "Превключи отметките", "language": "Език", "search": "Търсене в PDF", "panMode": "Режим на придвижване", @@ -3685,8 +3972,16 @@ "saved": "Настройките са запазени успешно", "saveSuccess": "Настройките са запазени успешно", "save": "Запази промените", + "discard": "Отхвърли", "restartRequired": "Изисква се рестарт", "loginRequired": "Режимът за вход трябва да е активиран, за да променяте административните настройки", + "unsavedChanges": { + "title": "Незаписани промени", + "message": "Имате незаписани промени. Искате ли да ги отхвърлите?", + "cancel": "Продължи редактирането", + "discard": "Отхвърли промените", + "hint": "Имате незаписани промени" + }, "loginDisabled": { "title": "Необходим е режим за вход", "message": "Режимът за вход трябва да е активиран, за да променяте административните настройки. Моля, задайте SECURITY_ENABLELOGIN=true във вашата среда или security.enableLogin: true в settings.yml, след което рестартирайте сървъра.", @@ -4137,7 +4432,7 @@ "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", "weasyPrint": "WeasyPrint", - "installApp": "Install App", + "installApp": "Инсталирай приложение", "calibre": "Calibre", "ghostscript": "Ghostscript", "ocrMyPdf": "OCRmyPDF" @@ -4212,9 +4507,21 @@ "title": "Премиум и Enterprise", "description": "Конфигурирайте вашия премиум или enterprise лицензионен ключ.", "license": "Конфигурация на лиценз", + "licenseKey": { + "toggle": "Имате лицензен ключ или сертификат?", + "info": "Ако имате лицензен ключ или сертификат от директна покупка, въведете го тук, за да активирате премиум или enterprise функции." + }, "key": { "label": "Лицензен ключ", - "description": "Въведете вашия премиум или enterprise лицензен ключ" + "description": "Въведете вашия премиум или enterprise лицензен ключ", + "success": "Лицензният ключ е запазен", + "successMessage": "Лицензният ви ключ беше активиран успешно. Не се изисква рестарт.", + "overwriteWarning": { + "title": "⚠️ Внимание: Открит е съществуващ лиценз", + "line1": "Презаписването на текущия лицензен ключ не може да бъде отменено.", + "line2": "Предишният лиценз ще бъде окончателно загубен, освен ако не сте го архивирали другаде.", + "line3": "Важно: Пазете лицензните ключове поверителни и сигурни. Никога не ги споделяйте публично." + } }, "enabled": { "label": "Активирай премиум функции", @@ -4278,12 +4585,17 @@ "or": "или", "dropFileHere": "Пуснете файла тук или кликнете, за да качите", "dropFilesHere": "Пуснете файловете тук или кликнете бутона за качване", + "dropFilesHereOpen": "Пуснете файловете тук или щракнете върху бутона за отваряне", "pdfFilesOnly": "Само PDF файлове", "supportedFileTypes": "Поддържани типове файлове", "upload": "Качване", "uploadFile": "Качване на файл", "uploadFiles": "Качване на файлове", + "open": "Отвори", + "openFile": "Отвори файл", + "openFiles": "Отвори файлове", "noFilesInStorage": "Няма налични файлове в хранилището. Първо качете няколко файла.", + "noFilesInStorageOpen": "Няма налични файлове в хранилището. Първо отворете някои файлове.", "selectFromStorage": "Изберете от хранилище", "backToTools": "Назад към инструментите", "addFiles": "Добави файлове", @@ -4329,6 +4641,8 @@ "myFiles": "Моите файлове", "noRecentFiles": "Няма намерени последни файлове", "googleDriveNotAvailable": "Интеграцията с Google Drive не е налична", + "downloadSelected": "Изтегли избраните", + "saveSelected": "Запази избраните", "openFiles": "Отвори файлове", "openFile": "Отвори файл", "details": "Детайли за файла", @@ -4341,7 +4655,6 @@ "selectAll": "Изберете всички", "deselectAll": "Отмяна на избора на всички", "deleteSelected": "Изтриване на избраното", - "downloadSelected": "Изтегли избраните", "selectedCount": "{{count}} избрани", "download": "Изтегли", "delete": "Изтрий", @@ -4621,9 +4934,14 @@ "secureWorkflow": "Работен поток за сигурност", "secureWorkflowDesc": "Защитава PDF документи чрез премахване на потенциално злонамерено съдържание като JavaScript и вградени файлове, след което добавя защита с парола за предотвратяване на неоторизиран достъп. По подразбиране паролата е 'password'.", "processImages": "Обработка на изображения", - "processImagesDesc": "Преобразува множество файлове с изображения в един PDF документ и след това прилага OCR за извличане на търсим текст от изображенията." + "processImagesDesc": "Преобразува множество файлове с изображения в един PDF документ и след това прилага OCR за извличане на търсим текст от изображенията.", + "prePublishSanitization": "Саниране преди публикуване", + "prePublishSanitizationDesc": "Процес на саниране, който премахва скритите метаданни, JavaScript, вградените файлове, анотациите и изравнява формулярите, за да предотврати изтичане на данни преди публикуване на PDF онлайн." } }, + "colorPicker": { + "title": "Изберете цвят" + }, "common": { "previous": "Назад", "next": "Напред", @@ -4639,7 +4957,13 @@ "used": "използвани", "available": "налични", "cancel": "Отказ", - "preview": "Преглед" + "preview": "Преглед", + "close": "Затвори", + "done": "Готово", + "loading": "Зареждане...", + "back": "Назад", + "continue": "Продължи", + "error": "Грешка" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Добавете още файлове...", "selectedFiles": "Избрани файлове", "submit": "Добавяне на прикачени файлове", + "tooltip": { + "header": { + "title": "Относно Add Attachments" + }, + "description": { + "title": "Какво прави" + } + }, "results": { "title": "Резултати от прикачвания" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Персонализирана позиция", "details": "Детайли", - "downloadUnavailable": "Изтеглянето не е налично за този елемент", "invalidUndoData": "Не може да се отмени: невалидни данни за операцията", "margin": { "large": "Голямо", @@ -4801,6 +5132,10 @@ "maybeLater": "Може би по-късно", "dontShowAgain": "Не показвай повече" }, + "welcomeSlide": { + "title": "Добре дошли в Stirling", + "body": "Stirling PDF вече е готов за екипи от всякакъв размер. Тази актуализация включва нов облик, мощни админ възможности и най-желаната ни функция – Редакция на текст." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Нека изберем инструмента Изрязване, за да демонстрираме как се използва инструмент.", "toolInterface": "Това е интерфейсът на инструмента Изрязване. Както виждате, няма много неща, защото още не сме добавили PDF файлове за работа.", @@ -4823,7 +5158,39 @@ "next": "Напред", "finish": "Готово", "startTour": "Започни обиколката", - "startTourDescription": "Направете обиколка с водач на основните функции на Stirling PDF" + "startTourDescription": "Направете обиколка с водач на основните функции на Stirling PDF", + "buttons": { + "next": "Напред →", + "back": "Назад", + "skipForNow": "Пропусни засега", + "download": "Изтегли →", + "showMeAround": "Разходи ме из новото", + "skipTheTour": "Пропусни обиколката" + }, + "serverLicense": { + "skip": "Пропусни засега", + "seePlans": "Виж плановете →", + "upgrade": "Надградете сега →", + "freeTitle": "Лиценз за сървър", + "overLimitTitle": "Необходим е лиценз за сървър", + "overLimitBody": "Нашият лиценз позволява до {{freeTierLimit}} безплатни потребители на сървър. Имате {{overLimitUserCopy}} потребители на Stirling. За да продължите без прекъсвания, надградете до плана Stirling Server – неограничени места, редакция на PDF текст и пълен админ контрол за $99/сървър/месец.", + "freeBody": "Нашият Open-Core лиценз позволява до {{freeTierLimit}} безплатни потребители на сървър. За да мащабирате без прекъсвания и да получите ранен достъп до нашия нов инструмент за редакция на PDF текст, препоръчваме плана Stirling Server – пълно редактиране и неограничени места за $99/сървър/месец." + }, + "desktopInstall": { + "title": "Изтегляне", + "titleWithOs": "Изтегляне за {{osLabel}}", + "body": "Stirling работи най-добре като десктоп приложение. Можете да го ползвате офлайн, да отваряте документите по-бързо и да правите промени локално на компютъра си." + }, + "planOverview": { + "adminTitle": "Админ преглед", + "userTitle": "Преглед на плана", + "adminBodyLoginEnabled": "Като администратор можете да управлявате потребители, да конфигурирате настройки и да следите състоянието на сървъра. Първите {{freeTierLimit}} души на вашия сървър използват Stirling безплатно.", + "adminBodyLoginDisabled": "След като активирате режим вход, ще можете да управлявате потребители, да конфигурирате настройки и да следите състоянието на сървъра. Първите {{freeTierLimit}} души на вашия сървър използват Stirling безплатно.", + "userBody": "Поканете колеги, задавайте роли и поддържайте документите си организирани в едно защитено работно пространство. Активирайте режима за вход, когато сте готови да надскочите самостоятелното ползване." + }, + "securityCheck": { + "message": "Приложението претърпя значителни промени наскоро. Може да е необходимо внимание от администратора на вашия сървър. Моля, потвърдете ролята си, за да продължите." + } }, "adminOnboarding": { "welcome": "Добре дошли в Админ обиколката! Нека разгледаме мощните фирмени функции и настройки, достъпни за системни администратори.", @@ -4852,7 +5219,10 @@ "role": "Роля", "team": "Екип", "status": "Статус", - "actions": "Действия", + "actions": { + "label": "Действия", + "upgrade": "Надграждане" + }, "noMembersFound": "Няма намерени членове", "active": "Активен", "disabled": "Деактивиран", @@ -4964,7 +5334,8 @@ "slotsAvailable": "Налични са {{count}} потребителски слота", "noSlotsAvailable": "Няма налични слотове", "currentUsage": "В момента се използват {{current}} от {{max}} потребителски лицензи" - } + }, + "loginRequired": "Първо активирайте режима за вход" }, "teams": { "title": "Екипи", @@ -5057,6 +5428,17 @@ "showComparison": "Сравни всички функции", "hideComparison": "Скрий сравнението на функциите", "featureComparison": "Сравнение на функциите", + "from": "От", + "perMonth": "/месец", + "perSeat": "/място", + "withServer": "+ Server план", + "licensedSeats": "Лицензирани: {{count}} места", + "includedInCurrent": "Включено в плана ви", + "selectPlan": "Избери план", + "manage": "Управление", + "manageSubscription": { + "description": "Управлявайте абонамента, фактурирането и начините на плащане" + }, "activePlan": { "title": "Активен план", "subtitle": "Детайли за текущия ви абонамент" @@ -5074,13 +5456,16 @@ "upTo": "До" }, "period": { - "month": "месец" + "month": "месец", + "perUserPerMonth": "/потребител/месец" }, "free": { "name": "Безплатен", "highlight1": "Ограничено ползване на инструменти на седмица", "highlight2": "Достъп до всички инструменти", - "highlight3": "Общностна поддръжка" + "highlight3": "Общностна поддръжка", + "forever": "Завинаги безплатно", + "included": "Включено" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Персонализирано ценообразуване", "highlight2": "Специализирана поддръжка", - "highlight3": "Най-нови функции" + "highlight3": "Най-нови функции", + "requiresServer": "Изисква Server", + "requiresServerMessage": "Моля, първо надградете до Server плана, преди да преминете към Enterprise." }, "feature": { "title": "Функция", @@ -5102,6 +5489,12 @@ "api": "Достъп до API", "priority": "Приоритетна поддръжка", "customPricing": "Персонализирано ценообразуване" + }, + "licenseWarning": { + "title": "Достигнат е безплатният лимит за self-hosted", + "body": "Имате {{total}} потребители, но безплатният план поддържа само {{limit}} на сървър. Надградете, за да работи Stirling PDF безпроблемно.", + "overLimit": "повече от {{limit}}", + "cta": "Виж плановете" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Управление на плащанията", "portal": { "error": "Неуспешно отваряне на портала за плащания" - } + }, + "updateSeats": "Обнови местата", + "updateEnterpriseSeats": "Обнови Enterprise местата", + "currentSeats": "Текущ брой места", + "minimumSeats": "Минимални места", + "basedOnUsers": "(текущи потребители)", + "newSeatCount": "Нов брой места", + "newSeatCountDescription": "Изберете броя места за вашия enterprise лиценз", + "whatHappensNext": "Какво следва?", + "stripePortalRedirect": "Ще бъдете пренасочени към портала за плащания на Stripe, за да прегледате и потвърдите промяната на местата. Пропорционалната сума ще бъде изчислена автоматично.", + "preparingUpdate": "Подготовка на обновяване на местата...", + "seatCountTooLow": "Броят места трябва да е поне {{minimum}} (текущ брой потребители)", + "seatCountUnchanged": "Моля, изберете различен брой места", + "seatsUpdated": "Местата са обновени", + "seatsUpdatedMessage": "Enterprise местата ви бяха обновени на {{seats}}", + "updateProcessing": "Обработване на обновяването", + "updateProcessingMessage": "Обновяването на местата се обработва. Моля, обновете след малко.", + "notEnterprise": "Управлението на места е налично само за enterprise лицензи" + }, + "upgradeBanner": { + "title": "Надградете до Server плана", + "message": "Извлечете максимум от Stirling PDF с неограничени потребители и разширени функции", + "upgradeButton": "Надградете сега", + "dismiss": "Скрий банера", + "attentionTitle": "Този сървър изисква внимание от админ", + "attentionBody": "Администраторът ви трябва да влезе, за да види повече информация. Свържете се с него незабавно.", + "attentionBodyAdmin": "Прегледайте лицензионните изисквания, за да остане този сървър в съответствие.", + "seeInfo": "Виж информация" }, "payment": { "preparing": "Подготвя се плащането ви...", @@ -5128,7 +5548,61 @@ "success": "Плащането е успешно!", "successMessage": "Абонаментът ви беше активиран успешно. Скоро ще получите потвърждение по имейл.", "autoClose": "Този прозорец ще се затвори автоматично...", - "error": "Грешка при плащане" + "error": "Грешка при плащане", + "upgradeSuccess": "Плащането е успешно! Абонаментът ви е надграден. Лицензът е обновен на вашия сървър. Скоро ще получите потвърждение по имейл.", + "paymentSuccess": "Плащането е успешно! Извличане на лицензния ви ключ...", + "licenseActivated": "Лицензът е активиран! Лицензният ви ключ е запазен. Изпратено е потвърждение на регистрирания ви имейл.", + "licenseDelayed": "Плащането е успешно! Вашият лиценз се генерира. Скоро ще получите имейл с лицензния ключ. Ако не го получите до 10 минути, моля, свържете се с поддръжката.", + "licensePollingError": "Плащането е успешно, но не успяхме да извлечем лицензния ви ключ автоматично. Моля, проверете имейла си или се свържете с поддръжката с потвърждението за плащане.", + "licenseRetrievalError": "Плащането е успешно, но извличането на лиценза неуспешно. Ще получите лицензния си ключ по имейл. Свържете се с поддръжката, ако не го получите до 10 минути.", + "syncError": "Плащането е успешно, но синхронизирането на лиценза неуспешно. Лицензът ви ще бъде обновен скоро. Моля, свържете се с поддръжката, ако проблемите продължат.", + "licenseSaveError": "Неуспешно запазване на лицензния ключ. Моля, свържете се с поддръжката с лицензния си ключ, за да завършите активирането.", + "paymentCanceled": "Плащането беше отменено. Не са начислени суми.", + "syncingLicense": "Синхронизиране на надградения ви лиценз...", + "generatingLicense": "Генериране на лицензния ви ключ...", + "upgradeComplete": "Надграждането завърши", + "upgradeCompleteMessage": "Абонаментът ви беше надграден успешно. Съществуващият ви лицензен ключ беше обновен.", + "stripeNotConfigured": "Stripe не е конфигуриран", + "stripeNotConfiguredMessage": "Интеграцията за плащания със Stripe не е конфигурирана. Моля, свържете се с вашия администратор.", + "monthly": "Месечно", + "yearly": "Годишно", + "billingPeriod": "Период на фактуриране", + "enterpriseNote": "Местата могат да се коригират при плащане (1–1000).", + "installationId": "ID на инсталацията", + "licenseKey": "Вашият лицензен ключ", + "licenseInstructions": "Това беше добавено към вашата инсталация. Ще получите копие и по имейл.", + "canCloseWindow": "Можете да затворите този прозорец.", + "licenseKeyProcessing": "Обработка на лицензния ключ", + "licenseDelayedMessage": "Лицензният ви ключ се генерира. Скоро проверете имейла си или се свържете с поддръжката.", + "perYear": "/година", + "perMonth": "/месец", + "emailInvalid": "Моля, въведете валиден имейл адрес", + "emailStage": { + "title": "Въведете имейла си", + "description": "Ще го използваме, за да ви изпратим лицензния ключ и разписките.", + "emailLabel": "Имейл адрес", + "emailPlaceholder": "your@email.com", + "continue": "Продължи", + "modalTitle": "Стартиране – {{planName}}" + }, + "planStage": { + "title": "Изберете периода на фактуриране", + "savingsNote": "Спестете {{percent}}% с годишно плащане", + "basePrice": "Базова цена", + "seatPrice": "За място", + "totalForSeats": "Общо ({{count}} места)", + "selectMonthly": "Избери месечно", + "selectYearly": "Избери годишно", + "savePercent": "Спести {{percent}}%", + "savingsAmount": "Спестявате {{amount}}", + "modalTitle": "Избор на период на фактуриране – {{planName}}", + "billedYearly": "Таксуване годишно по {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Назад към избора на план", + "selectedPlan": "Избран план", + "modalTitle": "Завършване на плащането – {{planName}}" + } }, "firstLogin": { "title": "Първи вход", @@ -5287,5 +5761,281 @@ "offline": "Бекенд офлайн", "starting": "Стартиране на бекенда...", "wait": "Моля, изчакайте бекендът да завърши стартирането и опитайте отново." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Отключете PDF, за да продължите", + "title": "Премахнете паролата, за да продължите", + "description": "Този PDF е защитен с парола. Въведете паролата, за да продължите да работите с него.", + "password": { + "label": "Парола за PDF", + "placeholder": "Въведете паролата за PDF" + }, + "skip": "Пропусни засега", + "unlock": "Отключи и продължи", + "incorrectPassword": "Невалидна парола", + "missingFile": "Избраният файл вече не е наличен.", + "emptyResponse": "Премахването на паролата не създаде файл.", + "required": "Въведете паролата, за да продължите.", + "successTitle": "Паролата е премахната", + "successBodyWithName": "Паролата е премахната от {{fileName}}", + "successBody": "Паролата е премахната успешно." + }, + "setup": { + "welcome": "Добре дошли в Stirling PDF", + "description": "Започнете, като изберете как искате да използвате Stirling PDF", + "step1": { + "label": "Изберете режим", + "description": "Офлайн или Сървър" + }, + "step2": { + "label": "Изберете сървър", + "description": "Самостоятелно хостван сървър" + }, + "step3": { + "label": "Вход", + "description": "Въведете данни за вход" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Впишете се с вашия Stirling акаунт" + }, + "selfhosted": { + "title": "Самостоятелно хостван сървър", + "description": "Свържете се с вашия собствен Stirling PDF сървър" + } + }, + "saas": { + "title": "Впишете се в Stirling", + "subtitle": "Впишете се с вашия Stirling акаунт" + }, + "selfhosted": { + "title": "Впишете се в сървъра", + "subtitle": "Въведете своите данни за сървъра" + }, + "server": { + "title": "Свързване към сървър", + "subtitle": "Въведете URL на самостоятелно хоствания си сървър", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Самостоятелно хостван сървър" + }, + "url": { + "label": "URL на сървъра", + "description": "Въведете пълния URL на вашия самостоятелно хостван Stirling PDF сървър" + }, + "error": { + "emptyUrl": "Моля, въведете URL на сървър", + "unreachable": "Неуспешна връзка със сървъра", + "testFailed": "Тестът на връзката е неуспешен" + }, + "testing": "Тестване на връзката..." + }, + "login": { + "title": "Вписване", + "subtitle": "Въведете данните си, за да продължите", + "connectingTo": "Свързване към:", + "username": { + "label": "Потребителско име", + "placeholder": "Въведете потребителско име" + }, + "email": { + "label": "Имейл", + "placeholder": "Въведете имейла си" + }, + "password": { + "label": "Парола", + "placeholder": "Въведете паролата си" + }, + "error": { + "emptyUsername": "Моля, въведете потребителско име", + "emptyEmail": "Моля, въведете имейла си", + "emptyPassword": "Моля, въведете паролата си", + "oauthFailed": "Неуспешен вход чрез OAuth. Моля, опитайте отново." + }, + "submit": "Вход", + "signInWith": "Вписване с", + "oauthPending": "Отваряне на браузър за удостоверяване...", + "orContinueWith": "Или продължете с имейл" + } + }, + "oauth": { + "success": { + "title": "Удостоверяването е успешно", + "message": "Можете да затворите този прозорец и да се върнете в Stirling PDF." + }, + "error": { + "title": "Удостоверяването неуспешно", + "message": "Удостоверяването беше неуспешно. Можете да затворите този прозорец и да опитате отново." + } + }, + "pdfTextEditor": { + "title": "PDF JSON редактор", + "viewLabel": "PDF редактор", + "converting": "Конвертиране на PDF в редактируем формат...", + "conversionFailed": "Неуспешно конвертиране на PDF. Моля, опитайте отново.", + "currentFile": "Текущ файл: {{name}}", + "pageSummary": "Страница {{number}} от {{total}}", + "pagePreviewAlt": "Преглед на страница", + "imageLabel": "Поставено изображение", + "noTextOnPage": "На тази страница не беше открит редактируем текст.", + "pageType": { + "paragraph": "Страница с абзаци", + "sparse": "Рехав текст" + }, + "groupingMode": { + "auto": "Авто", + "paragraph": "Абзац", + "singleLine": "Единичен ред" + }, + "badges": { + "unsaved": "Редактирано", + "modified": "Редактирано", + "earlyAccess": "Ранен достъп" + }, + "actions": { + "reset": "Отмени промените", + "downloadJson": "Изтегли JSON", + "generatePdf": "Генерирай PDF" + }, + "options": { + "autoScaleText": { + "title": "Авто-мащабиране на текст за напасване в полетата", + "description": "Автоматично мащабира текста хоризонтално, за да се побере в първоначалната рамка, когато рендерирането на шрифта се различава от PDF." + }, + "groupingMode": { + "title": "Режим на групиране на текста", + "autoDescription": "Автоматично открива типа страница и групира текста подходящо.", + "paragraphDescription": "Групира подравнените редове в многострочни текстови полета за абзаци.", + "singleLineDescription": "Запазва всеки ред текст от PDF като отделно текстово поле." + }, + "manualGrouping": { + "descriptionInline": "Съвет: Задръжте Ctrl (Cmd) или Shift за множествен избор на текстови полета. Над избора ще се появи плаваща лента с инструменти, за да слеете, разгрупирате или коригирате ширините." + }, + "forceSingleElement": { + "title": "Заключи редактирания текст към един PDF елемент", + "description": "Когато е включено, редакторът експортира всяко редактирано текстово поле като един PDF текстов елемент, за да избегне застъпване на глифове или смесени шрифтове." + } + }, + "manual": { + "mergeTooltip": "Слей избраните полета", + "merge": "Слей избраното", + "ungroupTooltip": "Раздели абзаца обратно на редове", + "ungroup": "Разгрупирай избраното", + "widthMenu": "Опции за ширина", + "expandWidth": "Разшири до ръба на страницата", + "resetWidth": "Нулирай ширината", + "resizeHandle": "Регулирай ширината на текста" + }, + "disclaimer": { + "heading": "Ограничения на визуализацията", + "textFocus": "Това работно пространство е фокусирано върху редактиране на текст и преместване на вградени изображения. Сложни графични елементи на страницата, контроли на формуляри и слоести графики се запазват при експортиране, но тук не са напълно редактируеми.", + "previewVariance": "Някои визуални елементи (като рамки на таблици, фигури или външен вид на анотациите) може да не се показват точно в прегледа. Експортираният PDF запазва оригиналните команди за рисуване, когато е възможно.", + "alpha": "Този алфа визуализатор все още се развива — определени шрифтове, цветове, ефекти на прозрачност и детайли в оформлението може леко да се променят. Моля, прегледайте внимателно генерирания PDF преди споделяне." + }, + "empty": { + "title": "Няма зареден документ", + "subtitle": "Заредете PDF или JSON файл, за да започнете да редактирате текстовото съдържание." + }, + "welcomeBanner": { + "title": "Добре дошли в PDF Text Editor (ранен достъп)", + "experimental": "Това е експериментална функция в активно развитие. Очаквайте известна нестабилност и проблеми при ползване.", + "howItWorks": "Този инструмент преобразува вашия PDF в редактируем формат, в който можете да променяте текстовото съдържание и да премествате изображения. Промените се запазват обратно като нов PDF.", + "bestFor": "Най-добре работи с:", + "bestFor1": "Прости PDF файлове, съдържащи основно текст и изображения", + "bestFor2": "Документи със стандартно форматиране на абзаци", + "bestFor3": "Писма, есета, отчети и базови документи", + "notIdealFor": "Не е подходящо за:", + "notIdealFor1": "PDF файлове със специално форматиране като маркирани списъци, таблици или многоколонни оформления", + "notIdealFor2": "Списания, брошури или сложно оформени документи", + "notIdealFor3": "Ръководства за употреба със сложни оформления", + "limitations": "Текущи ограничения:", + "limitation1": "Рендирането на шрифтовете може леко да се различава от оригиналния PDF", + "limitation2": "Сложни графики, полета на формуляри и анотации се запазват, но не са редактируеми", + "limitation3": "Големите файлове може да изискват време за конвертиране и обработка", + "knownIssues": "Известни проблеми (в процес на отстраняване):", + "issue1": "Цветът на текста в момента не се запазва (скоро ще бъде добавено)", + "issue2": "Режимът „Абзац“ има повече проблеми с подравняването и разредката – препоръчва се режим „Единичен ред“", + "issue3": "Визуализацията се различава от експортирания PDF – експортираните PDF файлове са по-близки до оригинала", + "issue4": "Подравняването на завъртения текст може да изисква ръчна корекция", + "issue5": "Ефектите на прозрачност и наслояване може да се различават от оригинала", + "feedback": "Това е функция в ранен достъп. Моля, докладвайте срещнатите проблеми, за да ни помогнете да се подобрим!", + "gotIt": "Разбрах", + "dontShowAgain": "Не показвай отново" + }, + "modeChange": { + "title": "Потвърди смяната на режима", + "warning": "Смяната на режима за групиране на текста ще нулира всички незапазени промени. Сигурни ли сте, че искате да продължите?", + "cancel": "Отказ", + "confirm": "Нулирай и смени режима" + }, + "fontAnalysis": { + "details": "Детайли за шрифта", + "embedded": "Вграден", + "type": "Тип", + "webFormat": "Уеб формат", + "warnings": "Предупреждения", + "suggestions": "Бележки", + "currentPageFonts": "Шрифтове на тази страница", + "allFonts": "Всички шрифтове", + "fallback": "резервен", + "missing": "липсва", + "perfectMessage": "Всички шрифтове могат да бъдат възпроизведени перфектно.", + "warningMessage": "Някои шрифтове може да не се визуализират коректно.", + "infoMessage": "Налична е информация за възпроизвеждането на шрифтове.", + "perfect": "перфектно", + "subset": "поднабор" + }, + "errors": { + "invalidJson": "Не може да се прочете JSON файлът. Уверете се, че е генериран от инструмента PDF to JSON.", + "pdfConversion": "Не може да се конвертира редактираният JSON обратно в PDF." + } + }, + "auth": { + "sessionExpired": "Сесията изтече", + "pleaseLoginAgain": "Моля, влезте отново.", + "accessDenied": "Достъпът е отказан", + "insufficientPermissions": "Нямате разрешение да извършите това действие." + }, + "addText": { + "title": "Добавяне на текст", + "header": "Добавяне на текст към PDF файлове", + "text": { + "name": "Текстово съдържание", + "placeholder": "Въведете текста, който искате да добавите", + "fontLabel": "Шрифт", + "fontSizeLabel": "Размер на шрифта", + "fontSizePlaceholder": "Въведете или изберете размер (8-200)", + "colorLabel": "Цвят на текста" + }, + "steps": { + "configure": "Настройване на текста" + }, + "step": { + "createDesc": "Въведете текста, който искате да добавите", + "place": "Поставяне на текст", + "placeDesc": "Щракнете върху PDF, за да добавите текста" + }, + "instructions": { + "title": "Как да добавите текст", + "text": "След като въведете текста по-горе, щракнете някъде върху PDF, за да го поставите.", + "paused": "Поставянето е на пауза", + "resumeHint": "Възобновете поставянето, за да щракнете и добавите текста.", + "noSignature": "Въведете текст по-горе, за да активирате поставянето." + }, + "mode": { + "move": "Преместване на текст", + "place": "Поставяне на текст", + "pause": "Пауза на поставянето", + "resume": "Възобновяване на поставянето" + }, + "results": { + "title": "Резултати от добавяне на текст" + }, + "error": { + "failed": "Възникна грешка при добавяне на текст към PDF." + }, + "tags": "текст,анотация,етикет", + "applySignatures": "Приложи текста" } } \ No newline at end of file diff --git a/frontend/public/locales/ca-CA/translation.json b/frontend/public/locales/ca-CA/translation.json index d1eeebc69..e98b43dc7 100644 --- a/frontend/public/locales/ca-CA/translation.json +++ b/frontend/public/locales/ca-CA/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Properament:", "favorite": "Afegeix als preferits", "favorites": "Preferits", + "unavailable": "Desactivat per l'administrador del servidor:", + "unavailableDependency": "No disponible: falta l'eina necessària al servidor:", "heading": "Totes les eines (vista a pantalla completa)", "noResults": "Prova d'ajustar la cerca o activa/desactiva les descripcions per trobar el que necessites.", "recommended": "Recomanat", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Canvia al mode de pantalla completa", "sidebar": "Canvia al mode de barra lateral" - } + }, + "alpha": "Alfa", + "premiumFeature": "Funció premium:", + "comingSoon": "Aviat disponible:" }, "unsavedChanges": "Tens canvis sense desar al teu PDF.", "areYouSure": "Segur que vols sortir?", @@ -41,6 +46,30 @@ "cancel": "Cancel·la", "confirm": "Extreu" }, + "defaultApp": { + "title": "Estableix com a aplicació PDF per defecte", + "message": "Vols establir Stirling PDF com a editor PDF per defecte?", + "description": "Pots canviar-ho més endavant a la configuració del sistema.", + "notNow": "Ara no", + "setDefault": "Estableix per defecte", + "dismiss": "Descarta", + "prompt": { + "title": "Estableix com a editor PDF per defecte", + "message": "Fes que Stirling PDF sigui l'aplicació per defecte per obrir fitxers PDF." + }, + "success": { + "title": "Aplicació per defecte establerta", + "message": "Stirling PDF ara és el teu editor PDF per defecte" + }, + "settingsOpened": { + "title": "Configuració oberta", + "message": "Selecciona Stirling PDF a la configuració del sistema" + }, + "error": { + "title": "Error", + "message": "No s'ha pogut establir el gestor PDF per defecte" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Desa", "saveToBrowser": "Desa al navegador", "download": "Descarrega", + "downloadUnavailable": "Descàrrega no disponible per a aquest element", + "saveUnavailable": "No es pot desar aquest element", "pin": "Fixa el fitxer (mantén-lo actiu després d'executar l'eina)", "unpin": "Desfixa el fitxer (substitueix-lo després d'executar l'eina)", "undoOperationTooltip": "Fes clic per desfer l'última operació i restaurar els fitxers originals", @@ -168,6 +199,7 @@ }, "edit": "Edita", "delete": "Esborra", + "never": "Mai", "username": "Usuari", "password": "Contrasenya", "welcome": "Benvingut", @@ -262,7 +294,8 @@ "learnMore": "Més informació", "enable": "Habilita analítiques", "disable": "Desactiva analítiques", - "settings": "Pots canviar la configuració de les analítiques al fitxer config/settings.yml" + "settings": "Pots canviar la configuració de les analítiques al fitxer config/settings.yml", + "privacyAssurance": "No rastregem cap informació personal ni el contingut dels teus fitxers." }, "navbar": { "favorite": "Favorits", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Opcions", - "update": "Actualització Disponible", - "updateAvailable": "La versió actual instal·lada és {0}. Una nova versió ({1}) està disponible.", - "appVersion": "Versió de l'App:", - "downloadOption": { - "title": "Trieu l'opció de descàrrega (per a descàrregues d'un sol fitxer no comprimit):", - "1": "Obre en la mateixa finestra", - "2": "Obre en una finestra nova", - "3": "Descarrega fitxer" - }, - "zipThreshold": "Comprimiu els fitxers quan el nombre de fitxers baixats superi", - "signOut": "Sortir", - "accountSettings": "Configuració del Compte", - "bored": { - "help": "Activa un joc ocult" - }, - "cacheInputs": { - "name": "Desa els valors del formulari", - "help": "Habilita per guardar els valors utilitzats prèviament per a futures execucions" + "connection": { + "title": "Mode de connexió", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Autoallotjat" + }, + "server": "Servidor", + "user": "Sessió iniciada com", + "logout": "Tancar sessió" }, "general": { "title": "General", "description": "Configura les preferències generals de l'aplicació.", - "account": "Compte", - "accountDescription": "Gestiona la configuració del teu compte", "user": "Usuari", - "signedInAs": "Has iniciat sessió com a", "logout": "Tanca la sessió", "enableFeatures": { + "dismiss": "Tanca", "title": "Per als administradors del sistema", "intro": "Habilita l'autenticació d'usuaris, la gestió d'equips i funcions d'espai de treball per a la teva organització.", "action": "Configura", "and": "i", "benefit": "Activa rols d'usuari, col·laboració d'equip, controls d'administració i funcions d'empresa.", - "learnMore": "Més informació a la documentació", - "dismiss": "Tanca" + "learnMore": "Més informació a la documentació" }, - "autoUnzip": "Descomprimeix automàticament respostes de l'API", - "autoUnzipDescription": "Extreu automàticament els fitxers de respostes ZIP", - "autoUnzipTooltip": "Descomprimeix automàticament els fitxers ZIP retornats per operacions de l'API. Desactiva-ho per mantenir els fitxers ZIP intactes. Això no afecta els fluxos d'automatització.", - "autoUnzipFileLimit": "Límit de fitxers per a la descompressió automàtica", - "autoUnzipFileLimitDescription": "Nombre màxim de fitxers a extreure del ZIP", - "autoUnzipFileLimitTooltip": "Només descomprimeix si el ZIP conté aquest nombre de fitxers o menys. Augmenta'l per extreure ZIPs més grans.", "defaultToolPickerMode": "Mode per defecte del selector d'eines", "defaultToolPickerModeDescription": "Tria si el selector d'eines s'obre per defecte a pantalla completa o a la barra lateral", "mode": { - "fullscreen": "Pantalla completa", - "sidebar": "Barra lateral" - } + "sidebar": "Barra lateral", + "fullscreen": "Pantalla completa" + }, + "autoUnzipTooltip": "Descomprimeix automàticament els fitxers ZIP retornats per operacions de l'API. Desactiva-ho per mantenir els fitxers ZIP intactes. Això no afecta els fluxos d'automatització.", + "autoUnzip": "Descomprimeix automàticament respostes de l'API", + "autoUnzipDescription": "Extreu automàticament els fitxers de respostes ZIP", + "autoUnzipFileLimitTooltip": "Només descomprimeix si el ZIP conté aquest nombre de fitxers o menys. Augmenta'l per extreure ZIPs més grans.", + "autoUnzipFileLimit": "Límit de fitxers per a la descompressió automàtica", + "autoUnzipFileLimitDescription": "Nombre màxim de fitxers a extreure del ZIP", + "defaultPdfEditor": "Editor PDF per defecte", + "defaultPdfEditorActive": "Stirling PDF és el teu editor PDF per defecte", + "defaultPdfEditorInactive": "Una altra aplicació està establerta per defecte", + "defaultPdfEditorChecking": "Comprovant...", + "defaultPdfEditorSet": "Ja és per defecte", + "setAsDefault": "Estableix per defecte", + "updates": { + "title": "Actualitzacions de programari", + "description": "Comprova actualitzacions i informació de la versió", + "currentVersion": "Versió actual", + "latestVersion": "Última versió", + "checkForUpdates": "Comprova actualitzacions", + "viewDetails": "Veure detalls" + }, + "hideUnavailableTools": "Amaga les eines no disponibles", + "hideUnavailableToolsDescription": "Elimina les eines que el teu servidor ha desactivat en lloc de mostrar-les en gris.", + "hideUnavailableConversions": "Amaga les conversions no disponibles", + "hideUnavailableConversionsDescription": "Elimina les opcions de conversió desactivades a l'eina Convertir en lloc de mostrar-les en gris." }, "hotkeys": { - "title": "Dreceres de teclat", - "description": "Passa el cursor per sobre d'una eina per veure la seva drecera o personalitza-la a continuació. Fes clic a \"Canvia la drecera\" i prem una nova combinació de tecles. Prem Esc per cancel·lar.", - "errorModifier": { - "mac": "Inclou ⌘ (Command), ⌥ (Option) o un altre modificador a la drecera.", - "windows": "Inclou Ctrl, Alt o un altre modificador a la drecera." - }, "errorConflict": "Drecera ja utilitzada per {{tool}}.", + "searchPlaceholder": "Cerca eines...", "none": "Sense assignar", "customBadge": "Personalitzada", "defaultLabel": "Per defecte: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Canvia la drecera", "reset": "Restableix", "shortcut": "Drecera", - "noShortcut": "Cap drecera definida", - "searchPlaceholder": "Cerca eines..." + "noShortcut": "Cap drecera definida" } }, + "update": { + "modalTitle": "Actualització disponible", + "current": "Versió actual", + "latest": "Última versió", + "latestStable": "Última estable", + "priorityLabel": "Prioritat", + "recommendedAction": "Acció recomanada", + "breakingChangesDetected": "S'han detectat canvis incompatibles", + "breakingChangesMessage": "Algunes versions contenen canvis incompatibles. Revisa les guies de migració abans d'actualitzar.", + "migrationGuides": "Guies de migració", + "viewGuide": "Veure guia", + "loadingDetailedInfo": "Carregant informació detallada...", + "close": "Tanca", + "viewAllReleases": "Veure totes les versions", + "downloadLatest": "Baixa l'última", + "availableUpdates": "Actualitzacions disponibles", + "unableToLoadDetails": "No s'ha pogut carregar la informació detallada.", + "version": "Versió", + "urgentUpdateAvailable": "Actualització urgent", + "updateAvailable": "Actualització disponible", + "releaseNotes": "Notes de llançament", + "priority": { + "urgent": "Urgent", + "normal": "Normal", + "minor": "Menor", + "low": "Baixa" + }, + "breakingChanges": "Canvis incompatibles", + "breakingChangesDefault": "Aquesta versió conté canvis incompatibles.", + "migrationGuide": "Guia de migració" + }, "changeCreds": { "title": "Canvia les Credencials", "header": "Actualitza les Dades del Compte", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Superposa PDFs sobre un altre PDF", "title": "Superposar PDFs" + }, + "pdfTextEditor": { + "title": "Editor de text PDF", + "desc": "Revisa i edita exportacions JSON de Stirling PDF amb edició de text agrupada i regeneració del PDF" + }, + "addText": { + "tags": "text,anotació,etiqueta", + "title": "Afegeix text", + "desc": "Afegeix text personalitzat a qualsevol lloc del teu PDF" } }, "landing": { "addFiles": "Afegeix fitxers", - "uploadFromComputer": "Puja des de l'ordinador" + "uploadFromComputer": "Puja des de l'ordinador", + "openFromComputer": "Obre des de l'ordinador" }, "viewPdf": { "tags": "veure,llegir,anotar,text,imatge", @@ -849,6 +922,11 @@ }, "error": { "failed": "S'ha produït un error en combinar els PDFs." + }, + "tooltip": { + "header": { + "title": "Resum de la configuració de combinació" + } } }, "split": { @@ -1047,7 +1125,7 @@ "settings": "Opcions", "conversionCompleted": "Conversió completada", "results": "Resultats", - "defaultFilename": "converted_file", + "defaultFilename": "fitxer_convertit", "conversionResults": "Resultats de la conversió", "convertFrom": "Converteix de", "convertTo": "Converteix a", @@ -1087,9 +1165,9 @@ "fileFormat": "Format de fitxer", "wordDoc": "Document de Word", "wordDocExt": "Document de Word (.docx)", - "odtExt": "OpenDocument Text (.odt)", + "odtExt": "Text OpenDocument (.odt)", "pptExt": "PowerPoint (.pptx)", - "odpExt": "OpenDocument Presentation (.odp)", + "odpExt": "Presentació OpenDocument (.odp)", "txtExt": "Text pla (.txt)", "rtfExt": "Format de text enriquit (.rtf)", "selectedFiles": "Fitxers seleccionats", @@ -1182,9 +1260,43 @@ "tags": "img,jpg,imatge,foto", "title": "Afegir Imatge", "header": "Afegir Imatge a PDF (en construcció)", - "everyPage": "Totes les pàgines?", - "upload": "Afegir Imatge", - "submit": "Afegir Imatge" + "image": { + "name": "Imatge", + "placeholder": "Puja una imatge", + "label": "Fitxer d'imatge" + }, + "steps": { + "configure": "Configura la imatge" + }, + "step": { + "createDesc": "Puja la imatge que vols afegir", + "place": "Col·loca la imatge", + "placeDesc": "Fes clic al PDF per afegir la imatge" + }, + "instructions": { + "title": "Com afegir imatges", + "text": "Després de pujar la imatge, fes clic a qualsevol lloc del PDF per col·locar-la.", + "paused": "Col·locació en pausa", + "resumeHint": "Reprèn la col·locació per poder fer clic i afegir la imatge.", + "noSignature": "Puja una imatge per habilitar la col·locació." + }, + "mode": { + "move": "Mou la imatge", + "place": "Col·loca la imatge", + "pause": "Pausa la col·locació", + "resume": "Reprèn la col·locació" + }, + "results": { + "title": "Resultats d'afegir imatge" + }, + "error": { + "failed": "S'ha produït un error en afegir la imatge al PDF." + }, + "saved": { + "defaultLabel": "Imatge", + "defaultImageLabel": "Imatge pujada" + }, + "applySignatures": "Aplica les imatges" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1200,7 +1312,7 @@ "desc": "Afegeix marques d'aigua de text o d'imatge als fitxers PDF", "completed": "Marca d'aigua afegida", "submit": "Afegir Marca d'Aigua", - "filenamePrefix": "watermarked", + "filenamePrefix": "amb_marca_d_aigua", "error": { "failed": "S'ha produït un error en afegir la marca d'aigua al PDF." }, @@ -1397,6 +1509,93 @@ }, "submit": "Canviar Permissos" }, + "editTableOfContents": { + "settings": { + "title": "Marcadors i esquema", + "replaceExisting": "Substitueix els marcadors existents (desmarca per afegir)", + "replaceExistingHint": "Si està desactivat, l'esquema nou s'afegirà després dels marcadors actuals." + }, + "actions": { + "source": "Carrega marcadors", + "selectedFile": "Carregat des de {{file}}", + "noFile": "Selecciona un PDF per extreure els marcadors existents.", + "loadFromPdf": "Carrega des del PDF seleccionat", + "importJson": "Importa JSON", + "importClipboard": "Enganxa JSON del porta-retalls", + "export": "Exporta marcadors", + "exportJson": "Baixa JSON", + "exportClipboard": "Copia JSON al porta-retalls", + "clipboardUnavailable": "Aquest navegador no permet accedir al porta-retalls." + }, + "info": { + "line1": "Cada marcador necessita un títol descriptiu i la pàgina que ha d'obrir.", + "line2": "Utilitza marcadors fills per construir una jerarquia per a capítols, seccions o subseccions.", + "line3": "Importa marcadors del PDF seleccionat o d'un fitxer JSON per estalviar temps." + }, + "workbench": { + "empty": { + "title": "Obre l'eina per començar a editar", + "description": "Selecciona l'eina Editar taula de continguts per carregar-ne l'espai de treball." + }, + "tabTitle": "Espai de treball de l'esquema", + "subtitle": "Importa marcadors, crea jerarquies i aplica l'esquema sense panells laterals estrets.", + "noFile": "Cap PDF seleccionat", + "fileLabel": "Els canvis s'aplicaran al PDF seleccionat actualment.", + "filePrompt": "Selecciona un PDF de la biblioteca o puja'n un de nou per començar.", + "changeFile": "Canvia el PDF", + "selectFile": "Selecciona PDF" + }, + "editor": { + "heading": "Editor de marcadors", + "description": "Afegeix, niua i reordena marcadors per crear l'esquema del teu PDF.", + "addTopLevel": "Afegeix un marcador de primer nivell", + "empty": { + "title": "Encara no hi ha marcadors", + "description": "Importa els marcadors existents o comença afegint la primera entrada.", + "action": "Afegeix el primer marcador" + }, + "defaultTitle": "Marcador nou", + "defaultChildTitle": "Marcador fill", + "defaultSiblingTitle": "Marcador nou", + "untitled": "Marcador sense títol", + "childBadge": "Fill", + "pagePreview": "Pàgina {{page}}", + "field": { + "title": "Títol del marcador", + "page": "Número de pàgina de destinació" + }, + "actions": { + "toggle": "Mostra/amaga fills", + "addChild": "Afegeix marcador fill", + "addSibling": "Afegeix marcador germà", + "remove": "Elimina marcador" + }, + "confirmRemove": "Vols eliminar aquest marcador i tots els seus fills?" + }, + "messages": { + "loadedTitle": "Marcadors extrets", + "loadedBody": "S'han carregat a l'editor els marcadors existents del PDF.", + "noBookmarks": "No s'han trobat marcadors al PDF seleccionat.", + "loadFailed": "No s'han pogut extreure els marcadors del PDF seleccionat.", + "imported": "Marcadors importats", + "importedBody": "El teu esquema JSON ha substituït el contingut actual de l'editor.", + "importedClipboard": "Les dades del porta-retalls han substituït la llista actual de marcadors.", + "invalidJson": "Estructura JSON no vàlida", + "invalidJsonBody": "Proporciona un fitxer JSON de marcadors vàlid i torna-ho a provar.", + "exported": "Baixada de JSON a punt", + "copied": "Copiat al porta-retalls", + "copiedBody": "JSON de marcadors copiat correctament.", + "copyFailed": "No s'ha pogut copiar" + }, + "error": { + "failed": "No s'ha pogut actualitzar la taula de continguts" + }, + "submit": "Aplica la taula de continguts", + "results": { + "title": "PDF actualitzat amb marcadors", + "subtitle": "Baixa el fitxer processat o desfés l'operació a continuació." + } + }, "removePages": { "tags": "eliminar pàgines,suprimir pàgines", "title": "Elimina", @@ -1601,7 +1800,7 @@ "tags": "estrènyer,petit,minúscul" }, "unlockPDFForms": { - "tags": "remove,delete,form,field,readonly", + "tags": "elimina,esborra,formulari,camp,noméslectura", "title": "Elimina el mode de només lectura dels camps de formulari", "header": "Desbloqueja formularis PDF", "submit": "Remove", @@ -1978,13 +2177,54 @@ "title": "Dibuixa la teva signatura", "clear": "Esborra" }, + "canvas": { + "heading": "Dibuixa la teva signatura", + "clickToOpen": "Fes clic per obrir el llenç de dibuix", + "modalTitle": "Dibuixa la teva signatura", + "colorLabel": "Color", + "penSizeLabel": "Mida del traç", + "penSizePlaceholder": "Mida", + "clear": "Neteja el llenç", + "colorPickerTitle": "Tria el color del traç" + }, "text": { "name": "Nom del signant", - "placeholder": "Introdueix el teu nom complet" + "placeholder": "Introdueix el teu nom complet", + "fontLabel": "Tipus de lletra", + "fontSizeLabel": "Mida del tipus de lletra", + "fontSizePlaceholder": "Escriu o selecciona la mida (8-200)", + "colorLabel": "Color del text" }, "clear": "Esborra", "add": "Afegeix", - "saved": "Signatures Desades", + "saved": { + "heading": "Signatures desades", + "description": "Reutilitza signatures desades en qualsevol moment.", + "emptyTitle": "Encara no hi ha signatures desades", + "emptyDescription": "Dibuixa, puja o escriu una signatura a dalt i usa \"Desa a la biblioteca\" per guardar fins a {{max}} preferides a punt per usar.", + "type": { + "canvas": "Dibuix", + "image": "Pujada", + "text": "Text" + }, + "limitTitle": "S'ha assolit el límit", + "limitDescription": "Elimina una signatura desada abans d'afegir-ne de noves (màx. {{max}}).", + "carouselPosition": "{{current}} de {{total}}", + "prev": "Anterior", + "next": "Següent", + "delete": "Elimina", + "label": "Etiqueta", + "defaultLabel": "Signatura", + "defaultCanvasLabel": "Signatura dibuixada", + "defaultImageLabel": "Signatura pujada", + "defaultTextLabel": "Signatura teclejada", + "saveButton": "Desa la signatura", + "saveUnavailable": "Crea una signatura primer per poder-la desar.", + "noChanges": "La signatura actual ja està desada.", + "status": { + "saved": "Desada" + } + }, "save": "Desa Signatura", "applySignatures": "Aplica les signatures", "personalSigs": "Signatures Personals", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Configura la signatura" }, + "step": { + "createDesc": "Tria com vols crear la signatura", + "place": "Col·loca i desa", + "placeDesc": "Posiciona la signatura al teu PDF" + }, "type": { "title": "Tipus de signatura", "draw": "Dibuixa", - "canvas": "Canvas", + "canvas": "Llenç", "image": "Imatge", - "text": "Text" + "text": "Text", + "saved": "Desades" }, "image": { "label": "Carrega la imatge de la signatura", @@ -2019,11 +2265,17 @@ "title": "Com afegir la signatura", "canvas": "Després de dibuixar la signatura al canvas, tanca la finestra modal i fes clic en qualsevol lloc del PDF per col·locar-la.", "image": "Després de carregar la imatge de la signatura a dalt, fes clic en qualsevol lloc del PDF per col·locar-la.", - "text": "Després d'introduir el teu nom a dalt, fes clic en qualsevol lloc del PDF per col·locar la signatura." + "saved": "Selecciona una signatura desada a dalt i fes clic a qualsevol lloc del PDF per col·locar-la.", + "text": "Després d'introduir el teu nom a dalt, fes clic en qualsevol lloc del PDF per col·locar la signatura.", + "paused": "Col·locació en pausa", + "resumeHint": "Reprèn la col·locació per poder fer clic i afegir la signatura.", + "noSignature": "Crea una signatura a dalt per habilitar les eines de col·locació." }, "mode": { "move": "Mou la signatura", - "place": "Col·loca la signatura" + "place": "Col·loca la signatura", + "pause": "Pausa la col·locació", + "resume": "Reprèn la col·locació" }, "updateAndPlace": "Actualitza i col·loca", "activate": "Activa la col·locació de la signatura", @@ -2163,6 +2415,14 @@ "title": "Sobre eliminar anotacions", "description": "Aquesta eina eliminarà totes les anotacions (comentaris, ressaltats, notes, etc.) dels teus documents PDF." }, + "tooltip": { + "header": { + "title": "Quant a Eliminar anotacions" + }, + "description": { + "title": "Què fa" + } + }, "error": { "failed": "S'ha produït un error en eliminar les anotacions del PDF." } @@ -2577,7 +2837,7 @@ "pageSize": { "label": "Mida de pàgina de destinació", "keep": "Mantén la mida original", - "letter": "Letter", + "letter": "Carta", "legal": "Legal" }, "submit": "Ajusta l'escala de pàgina", @@ -2627,6 +2887,9 @@ "header": { "title": "Com funciona el canvi de nom automàtic" }, + "description": { + "title": "Què fa" + }, "howItWorks": { "title": "Canvi de nom intel·ligent", "text": "Troba automàticament el títol del contingut del vostre PDF i l'utilitza com a nom de fitxer.", @@ -2634,6 +2897,9 @@ "bullet2": "Crea un nom de fitxer net i vàlid a partir del títol detectat", "bullet3": "Manté el nom original si no es troba cap títol adequat" } + }, + "settings": { + "title": "Quant a" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "Error inesperat: {{message}}", "accountCreatedSuccess": "Compte creat correctament! Ara podeu iniciar sessió.", "passwordChangedSuccess": "Contrasenya canviada correctament! Inicieu sessió amb la nova contrasenya.", - "credentialsUpdated": "S'han actualitzat les vostres credencials. Torneu a iniciar sessió." + "credentialsUpdated": "S'han actualitzat les vostres credencials. Torneu a iniciar sessió.", + "defaultCredentials": "Credencials d'inici de sessió predeterminades", + "changePasswordWarning": "Canvia la contrasenya després d'iniciar sessió per primera vegada", + "slides": { + "overview": { + "alt": "Visió general de Stirling PDF", + "title": "Tot el que necessites per als teus PDF en un sol lloc.", + "subtitle": "Una suite al núvol centrada en la privadesa per a PDF que et permet convertir, signar, censurar i gestionar documents, amb més de 50 eines potents." + }, + "edit": { + "alt": "Edita PDF", + "title": "Edita PDF per mostrar/protegir la informació que vulguis", + "subtitle": "Amb més d'una dotzena d'eines per censurar, signar, llegir i manipular PDF, segur que hi trobaràs el que busques." + }, + "secure": { + "alt": "Protegeix PDF", + "title": "Protegeix la informació sensible dels teus PDF", + "subtitle": "Afegeix contrasenyes, censura contingut i gestiona certificats amb facilitat." + } + } }, "signup": { "title": "Crea un compte", @@ -3598,7 +3883,9 @@ "exportAll": "Exporta el PDF", "downloadSelected": "Descarrega els fitxers seleccionats", "downloadAll": "Descarrega-ho tot", + "saveAll": "Desa-ho tot", "toggleTheme": "Canvia el tema", + "toggleBookmarks": "Mostra/amaga marcadors", "language": "Idioma", "search": "Cerca al PDF", "panMode": "Mode de desplaçament", @@ -3685,8 +3972,16 @@ "saved": "Configuració desada correctament", "saveSuccess": "Configuració desada correctament", "save": "Desa els canvis", + "discard": "Descarta", "restartRequired": "Cal reiniciar", "loginRequired": "Heu d'activar el mode d'inici de sessió per modificar la configuració d'administració", + "unsavedChanges": { + "title": "Canvis no desats", + "message": "Tens canvis no desats. Vols descartar-los?", + "cancel": "Continua editant", + "discard": "Descarta els canvis", + "hint": "Tens canvis no desats" + }, "loginDisabled": { "title": "Cal el mode d'inici de sessió", "message": "S'ha d'activar el mode d'inici de sessió per modificar la configuració d'administració. Si us plau, establiu SECURITY_ENABLELOGIN=true al vostre entorn o security.enableLogin: true a settings.yml, i després reinicieu el servidor.", @@ -4132,12 +4427,12 @@ "description": "Temps màxim d'execució" }, "libreOffice": "LibreOffice", - "pdfToHtml": "PDF to HTML", + "pdfToHtml": "PDF a HTML", "qpdf": "QPDF", "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", "weasyPrint": "WeasyPrint", - "installApp": "Install App", + "installApp": "Instal·la l'app", "calibre": "Calibre", "ghostscript": "Ghostscript", "ocrMyPdf": "OCRmyPDF" @@ -4212,9 +4507,21 @@ "title": "Premium i Enterprise", "description": "Configureu la clau de llicència Premium o Enterprise.", "license": "Configuració de llicència", + "licenseKey": { + "toggle": "Tens una clau de llicència o un fitxer de certificat?", + "info": "Si tens una clau de llicència o un fitxer de certificat d'una compra directa, pots introduir-los aquí per activar funcions premium o enterprise." + }, "key": { "label": "Clau de llicència", - "description": "Introduïu la vostra clau de llicència Premium o Enterprise" + "description": "Introduïu la vostra clau de llicència Premium o Enterprise", + "success": "Clau de llicència desada", + "successMessage": "La clau de llicència s'ha activat correctament. No cal reiniciar.", + "overwriteWarning": { + "title": "⚠️ Avís: s'ha detectat una llicència existent", + "line1": "Sobreescriure la clau de llicència actual no es pot desfer.", + "line2": "La llicència anterior es perdrà permanentment si no en tens una còpia de seguretat.", + "line3": "Important: mantén les claus de llicència privades i segures. No les comparteixis mai públicament." + } }, "enabled": { "label": "Habilita les funcions Premium", @@ -4278,12 +4585,17 @@ "or": "o", "dropFileHere": "Deixeu anar el fitxer aquí o feu clic per pujar-lo", "dropFilesHere": "Deixeu anar els fitxers aquí o feu clic al botó de pujada", + "dropFilesHereOpen": "Arrossega fitxers aquí o fes clic al botó d'obrir", "pdfFilesOnly": "Només fitxers PDF", "supportedFileTypes": "Tipus de fitxer compatibles", "upload": "Puja", "uploadFile": "Puja fitxer", "uploadFiles": "Puja fitxers", + "open": "Obre", + "openFile": "Obre fitxer", + "openFiles": "Obre fitxers", "noFilesInStorage": "No hi ha fitxers disponibles a l'emmagatzematge. Pugeu alguns fitxers primer.", + "noFilesInStorageOpen": "No hi ha fitxers disponibles a l'emmagatzematge. Obre alguns fitxers primer.", "selectFromStorage": "Seleccioneu de l'emmagatzematge", "backToTools": "Torna a les eines", "addFiles": "Afegeix fitxers", @@ -4329,6 +4641,8 @@ "myFiles": "Els meus fitxers", "noRecentFiles": "No s'han trobat fitxers recents", "googleDriveNotAvailable": "La integració amb Google Drive no està disponible", + "downloadSelected": "Descarrega els seleccionats", + "saveSelected": "Desa la selecció", "openFiles": "Obre fitxers", "openFile": "Obre fitxer", "details": "Detalls del fitxer", @@ -4341,7 +4655,6 @@ "selectAll": "Selecciona-ho tot", "deselectAll": "Desselecciona-ho tot", "deleteSelected": "Suprimeix seleccionades", - "downloadSelected": "Descarrega els seleccionats", "selectedCount": "{{count}} seleccionats", "download": "Descarrega", "delete": "Esborra", @@ -4621,9 +4934,14 @@ "secureWorkflow": "Flux de seguretat", "secureWorkflowDesc": "Assegura els documents PDF eliminant contingut potencialment maliciós com JavaScript i fitxers incrustats, i després afegeix protecció amb contrasenya per evitar accessos no autoritzats. Per defecte, la contrasenya és 'password'.", "processImages": "Processa imatges", - "processImagesDesc": "Converteix múltiples fitxers d’imatge en un sol document PDF, i després aplica tecnologia OCR per extreure text cercable de les imatges." + "processImagesDesc": "Converteix múltiples fitxers d’imatge en un sol document PDF, i després aplica tecnologia OCR per extreure text cercable de les imatges.", + "prePublishSanitization": "Sanitització prèvia a la publicació", + "prePublishSanitizationDesc": "Flux de sanitització que elimina totes les metadades ocultes, JavaScript, fitxers incrustats i anotacions, i aplana els formularis per evitar fugues de dades abans de publicar PDFs en línia." } }, + "colorPicker": { + "title": "Tria el color" + }, "common": { "previous": "Anterior", "next": "Següent", @@ -4639,7 +4957,13 @@ "used": "utilitzats", "available": "disponibles", "cancel": "Cancel·la", - "preview": "Vista prèvia" + "preview": "Vista prèvia", + "close": "Tanca", + "done": "Fet", + "loading": "Carregant...", + "back": "Enrere", + "continue": "Continua", + "error": "Error" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Afegeix més fitxers...", "selectedFiles": "Fitxers seleccionats", "submit": "Afegeix adjunts", + "tooltip": { + "header": { + "title": "Quant a Afegir adjunts" + }, + "description": { + "title": "Què fa" + } + }, "results": { "title": "Resultats dels adjunts" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Posició personalitzada", "details": "Detalls", - "downloadUnavailable": "Descàrrega no disponible per a aquest element", "invalidUndoData": "No es pot desfer: dades d’operació no vàlides", "margin": { "large": "Gran", @@ -4801,6 +5132,10 @@ "maybeLater": "Més tard", "dontShowAgain": "No ho tornis a mostrar" }, + "welcomeSlide": { + "title": "Benvingut a Stirling", + "body": "Stirling PDF ara està llest per a equips de totes les mides. Aquesta actualització inclou un disseny nou, potents capacitats d'administració i la funció més demanada: Editar text." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Seleccionem l’eina de Retalla per demostrar com utilitzar una de les eines.", "toolInterface": "Aquesta és la interfície de l’eina de Retalla. Com podeu veure, no hi ha gaire res perquè encara no hem afegit cap fitxer PDF per treballar-hi.", @@ -4823,7 +5158,39 @@ "next": "Següent", "finish": "Finalitza", "startTour": "Inicia la visita", - "startTourDescription": "Feu una visita guiada per les funcions clau de Stirling PDF" + "startTourDescription": "Feu una visita guiada per les funcions clau de Stirling PDF", + "buttons": { + "next": "Següent →", + "back": "Enrere", + "skipForNow": "Omet per ara", + "download": "Baixa →", + "showMeAround": "Fes-me un recorregut", + "skipTheTour": "Omet la visita guiada" + }, + "serverLicense": { + "skip": "Omet per ara", + "seePlans": "Veure plans →", + "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 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." + }, + "desktopInstall": { + "title": "Baixa", + "titleWithOs": "Baixa per a {{osLabel}}", + "body": "Stirling funciona millor com a aplicació d'escriptori. Pots usar-la fora de línia, accedir als documents més ràpid i fer edicions localment a l'ordinador." + }, + "planOverview": { + "adminTitle": "Resum d'administració", + "userTitle": "Resum del pla", + "adminBodyLoginEnabled": "Com a administrador, pots gestionar usuaris, configurar paràmetres i supervisar la salut del servidor. Les primeres {{freeTierLimit}} persones del teu servidor poden usar Stirling gratuïtament.", + "adminBodyLoginDisabled": "Quan habilitis el mode d'inici de sessió, podràs gestionar usuaris, configurar paràmetres i supervisar la salut del servidor. Les primeres {{freeTierLimit}} persones del teu servidor poden usar Stirling gratuïtament.", + "userBody": "Convida companys, assigna rols i mantén els documents organitzats en un espai de treball segur. Habilita el mode d'inici de sessió quan estiguis llest per anar més enllà de l'ús individual." + }, + "securityCheck": { + "message": "L'aplicació ha patit canvis importants recentment. Pot ser necessària l'atenció de l'administrador del servidor. Confirma el teu rol per continuar." + } }, "adminOnboarding": { "welcome": "Benvinguts a la Visita d’administració! Explorem les potents funcionalitats i paràmetres d’empresa disponibles per als administradors del sistema.", @@ -4852,7 +5219,10 @@ "role": "Rol", "team": "Equip", "status": "Estat", - "actions": "Accions", + "actions": { + "label": "Accions", + "upgrade": "Actualitza" + }, "noMembersFound": "No s’han trobat membres", "active": "Actiu", "disabled": "Desactivat", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} plaça(es) d’usuari disponibles", "noSlotsAvailable": "No hi ha places disponibles", "currentUsage": "Actualment s’estan utilitzant {{current}} de {{max}} llicències d’usuari" - } + }, + "loginRequired": "Habilita primer el mode d'inici de sessió" }, "teams": { "title": "Equips", @@ -5057,6 +5428,17 @@ "showComparison": "Compara totes les funcions", "hideComparison": "Amaga la comparativa de funcions", "featureComparison": "Comparativa de funcions", + "from": "Des de", + "perMonth": "/mes", + "perSeat": "/seient", + "withServer": "+ Pla Server", + "licensedSeats": "Llicenciats: {{count}} seients", + "includedInCurrent": "Inclòs al teu pla", + "selectPlan": "Selecciona el pla", + "manage": "Gestiona", + "manageSubscription": { + "description": "Gestiona la subscripció, la facturació i els mètodes de pagament" + }, "activePlan": { "title": "Pla actiu", "subtitle": "Detalls de la vostra subscripció actual" @@ -5074,13 +5456,16 @@ "upTo": "Fins a" }, "period": { - "month": "mes" + "month": "mes", + "perUserPerMonth": "/usuari/mes" }, "free": { "name": "Gratuït", "highlight1": "Ús limitat d’eines per setmana", "highlight2": "Accés a totes les eines", - "highlight3": "Suport de la comunitat" + "highlight3": "Suport de la comunitat", + "forever": "Gratuït per sempre", + "included": "Inclòs" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Preus personalitzats", "highlight2": "Suport dedicat", - "highlight3": "Funcions més recents" + "highlight3": "Funcions més recents", + "requiresServer": "Requereix servidor", + "requiresServerMessage": "Actualitza primer al pla Server abans de passar a Enterprise." }, "feature": { "title": "Funció", @@ -5102,6 +5489,12 @@ "api": "Accés a l’API", "priority": "Suport prioritari", "customPricing": "Preus personalitzats" + }, + "licenseWarning": { + "title": "S'ha assolit el límit gratuït d'autoallotjats", + "body": "Tens {{total}} usuaris, però el nivell gratuït només admet {{limit}} per servidor. Actualitza per mantenir Stirling PDF funcionant sense problemes.", + "overLimit": "més de {{limit}}", + "cta": "Veure plans" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Gestiona la facturació", "portal": { "error": "No s’ha pogut obrir el portal de facturació" - } + }, + "updateSeats": "Actualitza seients", + "updateEnterpriseSeats": "Actualitza seients Enterprise", + "currentSeats": "Seients actuals", + "minimumSeats": "Seients mínims", + "basedOnUsers": "(usuaris actuals)", + "newSeatCount": "Nou nombre de seients", + "newSeatCountDescription": "Selecciona el nombre de seients per a la llicència enterprise", + "whatHappensNext": "Què passa després?", + "stripePortalRedirect": "Se't redirigirà al portal de facturació de Stripe per revisar i confirmar el canvi de seients. L'import prorratejat es calcularà automàticament.", + "preparingUpdate": "Preparant l'actualització de seients...", + "seatCountTooLow": "El nombre de seients ha de ser com a mínim {{minimum}} (nombre actual d'usuaris)", + "seatCountUnchanged": "Selecciona un nombre de seients diferent", + "seatsUpdated": "Seients actualitzats", + "seatsUpdatedMessage": "Els seients Enterprise s'han actualitzat a {{seats}}", + "updateProcessing": "Actualització en processament", + "updateProcessingMessage": "S'està processant l'actualització de seients. Actualitza en uns moments.", + "notEnterprise": "La gestió de seients només està disponible per a llicències Enterprise" + }, + "upgradeBanner": { + "title": "Actualitza al pla Server", + "message": "Treu el màxim rendiment de Stirling PDF amb usuaris il·limitats i funcions avançades", + "upgradeButton": "Actualitza ara", + "dismiss": "Descarta el bàner", + "attentionTitle": "Aquest servidor requereix atenció d'administrador", + "attentionBody": "L'administrador ha d'iniciar sessió per veure més informació. Contacta-hi immediatament.", + "attentionBodyAdmin": "Revisa els requisits de llicència per mantenir aquest servidor complint la normativa.", + "seeInfo": "Veure informació" }, "payment": { "preparing": "S’està preparant el pagament...", @@ -5128,7 +5548,61 @@ "success": "Pagament correcte!", "successMessage": "La vostra subscripció s’ha activat correctament. Rebreu un correu de confirmació en breu.", "autoClose": "Aquesta finestra es tancarà automàticament...", - "error": "Error de pagament" + "error": "Error de pagament", + "upgradeSuccess": "Pagament correcte! La subscripció s'ha actualitzat. La llicència s'ha actualitzat al servidor. Rebràs un correu de confirmació aviat.", + "paymentSuccess": "Pagament correcte! Recuperant la clau de llicència...", + "licenseActivated": "Llicència activada! La clau de llicència s'ha desat. S'ha enviat un correu de confirmació a l'adreça registrada.", + "licenseDelayed": "Pagament correcte! S'està generant la llicència. Rebràs un correu amb la teva clau de llicència aviat. Si no el reps en 10 minuts, contacta amb el suport.", + "licensePollingError": "Pagament correcte, però no s'ha pogut recuperar automàticament la clau de llicència. Revisa el correu o contacta amb el suport amb la confirmació de pagament.", + "licenseRetrievalError": "Pagament correcte, però la recuperació de la llicència ha fallat. Rebràs la clau de llicència per correu. Contacta amb el suport si no la reps en 10 minuts.", + "syncError": "Pagament correcte, però la sincronització de la llicència ha fallat. La llicència s'actualitzarà en breu. Contacta amb el suport si el problema persisteix.", + "licenseSaveError": "No s'ha pogut desar la clau de llicència. Contacta amb el suport amb la teva clau per completar l'activació.", + "paymentCanceled": "S'ha cancel·lat el pagament. No s'ha realitzat cap càrrec.", + "syncingLicense": "Sincronitzant la llicència actualitzada...", + "generatingLicense": "Generant la clau de llicència...", + "upgradeComplete": "Actualització completada", + "upgradeCompleteMessage": "La subscripció s'ha actualitzat correctament. La clau de llicència existent s'ha actualitzat.", + "stripeNotConfigured": "Stripe no està configurat", + "stripeNotConfiguredMessage": "La integració de pagaments de Stripe no està configurada. Contacta amb l'administrador.", + "monthly": "Mensual", + "yearly": "Anual", + "billingPeriod": "Període de facturació", + "enterpriseNote": "Els seients es poden ajustar al checkout (1-1000).", + "installationId": "ID d'instal·lació", + "licenseKey": "La teva clau de llicència", + "licenseInstructions": "Això s'ha afegit a la teva instal·lació. També en rebràs una còpia per correu.", + "canCloseWindow": "Ara pots tancar aquesta finestra.", + "licenseKeyProcessing": "Processant la clau de llicència", + "licenseDelayedMessage": "S'està generant la teva clau de llicència. Revisa el correu aviat o contacta amb el suport.", + "perYear": "/any", + "perMonth": "/mes", + "emailInvalid": "Introdueix una adreça de correu vàlida", + "emailStage": { + "title": "Introdueix el teu correu electrònic", + "description": "L'usarem per enviar-te la clau de llicència i els rebuts.", + "emailLabel": "Adreça de correu", + "emailPlaceholder": "your@email.com", + "continue": "Continua", + "modalTitle": "Comença - {{planName}}" + }, + "planStage": { + "title": "Tria el període de facturació", + "savingsNote": "Estalvia un {{percent}}% amb la facturació anual", + "basePrice": "Preu base", + "seatPrice": "Per seient", + "totalForSeats": "Total ({{count}} seients)", + "selectMonthly": "Selecciona mensual", + "selectYearly": "Selecciona anual", + "savePercent": "Estalvia {{percent}}%", + "savingsAmount": "Estalvies {{amount}}", + "modalTitle": "Selecciona el període de facturació - {{planName}}", + "billedYearly": "Facturat anualment a {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Torna a la selecció del pla", + "selectedPlan": "Pla seleccionat", + "modalTitle": "Completa el pagament - {{planName}}" + } }, "firstLogin": { "title": "Primer inici de sessió", @@ -5287,5 +5761,281 @@ "offline": "Backend fora de línia", "starting": "El backend s'està iniciant...", "wait": "Espereu que el backend acabi d'engegar i torneu-ho a provar." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Desbloqueja el PDF per continuar", + "title": "Elimina la contrasenya per continuar", + "description": "Aquest PDF està protegit amb contrasenya. Introdueix-la per poder continuar treballant-hi.", + "password": { + "label": "Contrasenya del PDF", + "placeholder": "Introdueix la contrasenya del PDF" + }, + "skip": "Omet per ara", + "unlock": "Desbloqueja i continua", + "incorrectPassword": "Contrasenya incorrecta", + "missingFile": "El fitxer seleccionat ja no està disponible.", + "emptyResponse": "L'eliminació de la contrasenya no ha produït cap fitxer.", + "required": "Introdueix la contrasenya per continuar.", + "successTitle": "Contrasenya eliminada", + "successBodyWithName": "Contrasenya eliminada de {{fileName}}", + "successBody": "Contrasenya eliminada correctament." + }, + "setup": { + "welcome": "Benvingut a Stirling PDF", + "description": "Comença triant com vols usar Stirling PDF", + "step1": { + "label": "Tria el mode", + "description": "Fora de línia o servidor" + }, + "step2": { + "label": "Selecciona el servidor", + "description": "Servidor autoallotjat" + }, + "step3": { + "label": "Inicia sessió", + "description": "Introdueix les credencials" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Inicia sessió amb el teu compte de Stirling" + }, + "selfhosted": { + "title": "Servidor autoallotjat", + "description": "Connecta't al teu servidor de Stirling PDF" + } + }, + "saas": { + "title": "Inicia sessió a Stirling", + "subtitle": "Inicia sessió amb el teu compte de Stirling" + }, + "selfhosted": { + "title": "Inicia sessió al servidor", + "subtitle": "Introdueix les credencials del servidor" + }, + "server": { + "title": "Connecta't al servidor", + "subtitle": "Introdueix la URL del servidor autoallotjat", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Servidor autoallotjat" + }, + "url": { + "label": "URL del servidor", + "description": "Introdueix la URL completa del teu servidor autoallotjat de Stirling PDF" + }, + "error": { + "emptyUrl": "Introdueix una URL de servidor", + "unreachable": "No s'ha pogut connectar amb el servidor", + "testFailed": "Ha fallat la prova de connexió" + }, + "testing": "Provant la connexió..." + }, + "login": { + "title": "Inicia sessió", + "subtitle": "Introdueix les credencials per continuar", + "connectingTo": "Connectant amb:", + "username": { + "label": "Nom d'usuari", + "placeholder": "Introdueix el nom d'usuari" + }, + "email": { + "label": "Correu electrònic", + "placeholder": "Introdueix el correu electrònic" + }, + "password": { + "label": "Contrasenya", + "placeholder": "Introdueix la contrasenya" + }, + "error": { + "emptyUsername": "Introdueix el teu nom d'usuari", + "emptyEmail": "Introdueix el teu correu electrònic", + "emptyPassword": "Introdueix la teva contrasenya", + "oauthFailed": "Ha fallat l'inici de sessió OAuth. Torna-ho a provar." + }, + "submit": "Inicia sessió", + "signInWith": "Inicia sessió amb", + "oauthPending": "Obrint el navegador per autenticar-te...", + "orContinueWith": "O continua amb el correu electrònic" + } + }, + "oauth": { + "success": { + "title": "Autenticació correcta", + "message": "Pots tancar aquesta finestra i tornar a Stirling PDF." + }, + "error": { + "title": "Ha fallat l'autenticació", + "message": "L'autenticació no ha estat correcta. Pots tancar aquesta finestra i tornar-ho a provar." + } + }, + "pdfTextEditor": { + "title": "Editor JSON de PDF", + "viewLabel": "Editor de PDF", + "converting": "Convertint el PDF a format editable...", + "conversionFailed": "No s'ha pogut convertir el PDF. Torna-ho a provar.", + "currentFile": "Fitxer actual: {{name}}", + "pageSummary": "Pàgina {{number}} de {{total}}", + "pagePreviewAlt": "Vista prèvia", + "imageLabel": "Imatge col·locada", + "noTextOnPage": "No s'ha detectat text editable en aquesta pàgina.", + "pageType": { + "paragraph": "Pàgina de paràgrafs", + "sparse": "Text dispers" + }, + "groupingMode": { + "auto": "Automàtic", + "paragraph": "Paràgraf", + "singleLine": "Línia única" + }, + "badges": { + "unsaved": "Editat", + "modified": "Editat", + "earlyAccess": "Accés anticipat" + }, + "actions": { + "reset": "Restableix els canvis", + "downloadJson": "Descarrega JSON", + "generatePdf": "Genera PDF" + }, + "options": { + "autoScaleText": { + "title": "Autoajusta el text a les caixes", + "description": "Ajusta automàticament el text horitzontalment perquè encaixi dins del seu quadre delimitador original quan la representació del tipus de lletra difereix del PDF." + }, + "groupingMode": { + "title": "Mode d'agrupació del text", + "autoDescription": "Detecta automàticament el tipus de pàgina i agrupa el text adequadament.", + "paragraphDescription": "Agrupa línies alineades en quadres de text de paràgraf multilínia.", + "singleLineDescription": "Manté cada línia de text del PDF com un quadre de text separat." + }, + "manualGrouping": { + "descriptionInline": "Consell: Mantén premut Ctrl (Cmd) o Shift per seleccionar diversos quadres de text. Apareixerà una barra d'eines flotant sobre la selecció per fusionar, desagrupar o ajustar les amplades." + }, + "forceSingleElement": { + "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." + } + }, + "manual": { + "mergeTooltip": "Fusiona els quadres seleccionats", + "merge": "Fusiona la selecció", + "ungroupTooltip": "Separa el paràgraf de nou en línies", + "ungroup": "Desagrupa la selecció", + "widthMenu": "Opcions d'amplada", + "expandWidth": "Amplia fins a la vora de la pàgina", + "resetWidth": "Restableix l'amplada", + "resizeHandle": "Ajusta l'amplada del text" + }, + "disclaimer": { + "heading": "Limitacions de la vista prèvia", + "textFocus": "Aquest espai de treball se centra en editar text i reposicionar imatges incrustades. Les il·lustracions de pàgina complexes, els controls de formulari i els gràfics en capes es conserven per a l'exportació però aquí no són totalment editables.", + "previewVariance": "Alguns elements visuals (com ara vores de taula, formes o aparences d'anotacions) poden no mostrar-se exactament a la vista prèvia. El PDF exportat manté les ordres de dibuix originals sempre que sigui possible.", + "alpha": "Aquest visor alfa encara evoluciona—certs tipus de lletra, colors, efectes de transparència i detalls de disposició poden variar lleugerament. Revisa el PDF generat abans de compartir-lo." + }, + "empty": { + "title": "No s'ha carregat cap document", + "subtitle": "Carrega un fitxer PDF o JSON per començar a editar el contingut de text." + }, + "welcomeBanner": { + "title": "Benvingut a l'Editor de text PDF (accés anticipat)", + "experimental": "Funció experimental en desenvolupament actiu. Espera una certa inestabilitat i problemes durant l'ús.", + "howItWorks": "Aquesta eina converteix el PDF a un format editable on pots modificar el contingut del text i reposicionar imatges. Els canvis es guarden com un nou PDF.", + "bestFor": "Funciona millor amb:", + "bestFor1": "PDF simples amb principalment text i imatges", + "bestFor2": "Documents amb format de paràgraf estàndard", + "bestFor3": "Cartes, assaigs, informes i documents bàsics", + "notIdealFor": "No és ideal per a:", + "notIdealFor1": "PDF amb formats especials com vinyetes, taules o dissenys multicolumna", + "notIdealFor2": "Revistes, fullets o documents molt dissenyats", + "notIdealFor3": "Manuals d'instruccions amb dissenys complexos", + "limitations": "Limitacions actuals:", + "limitation1": "La representació del tipus de lletra pot diferir lleugerament del PDF original", + "limitation2": "Els gràfics complexos, els camps de formulari i les anotacions es conserven però no són editables", + "limitation3": "Els fitxers grans poden trigar a convertir-se i processar-se", + "knownIssues": "Problemes coneguts (en procés de correcció):", + "issue1": "El color del text no es conserva actualment (s'afegirà aviat)", + "issue2": "El mode Paràgraf té més problemes d'alineació i espaiat; es recomana el mode Línia única", + "issue3": "La vista prèvia difereix del PDF exportat; els PDF exportats s'assemblen més a l'original", + "issue4": "L'alineació del text girat pot requerir ajust manual", + "issue5": "La transparència i els efectes de capes poden variar respecte a l'original", + "feedback": "Aquesta és una funció d'accés anticipat. Si us plau, informa de qualsevol problema que trobis per ajudar-nos a millorar!", + "gotIt": "D'acord", + "dontShowAgain": "No ho tornis a mostrar" + }, + "modeChange": { + "title": "Confirma el canvi de mode", + "warning": "Canviar el mode d'agrupació del text restablirà tots els canvis no desats. Segur que vols continuar?", + "cancel": "Cancel·la", + "confirm": "Restableix i canvia el mode" + }, + "fontAnalysis": { + "details": "Detalls del tipus de lletra", + "embedded": "Incrustada", + "type": "Tipus", + "webFormat": "Format web", + "warnings": "Avisos", + "suggestions": "Notes", + "currentPageFonts": "Tipus de lletra en aquesta pàgina", + "allFonts": "Tots els tipus de lletra", + "fallback": "alternativa", + "missing": "absent", + "perfectMessage": "Tots els tipus de lletra es poden reproduir perfectament.", + "warningMessage": "Alguns tipus de lletra poden no representar-se correctament.", + "infoMessage": "Informació disponible sobre la reproducció de tipus de lletra.", + "perfect": "perfecte", + "subset": "subconjunt" + }, + "errors": { + "invalidJson": "No es pot llegir el fitxer JSON. Assegura't que s'hagi generat amb l'eina de PDF a JSON.", + "pdfConversion": "No es pot convertir el JSON editat de nou a PDF." + } + }, + "auth": { + "sessionExpired": "Sessió caducada", + "pleaseLoginAgain": "Si us plau, torna a iniciar sessió.", + "accessDenied": "Accés denegat", + "insufficientPermissions": "No tens permís per fer aquesta acció." + }, + "addText": { + "title": "Afegeix text", + "header": "Afegeix text als PDF", + "text": { + "name": "Contingut del text", + "placeholder": "Introdueix el text que vols afegir", + "fontLabel": "Tipus de lletra", + "fontSizeLabel": "Mida de la lletra", + "fontSizePlaceholder": "Escriu o selecciona la mida de la lletra (8-200)", + "colorLabel": "Color del text" + }, + "steps": { + "configure": "Configura el text" + }, + "step": { + "createDesc": "Introdueix el text que vols afegir", + "place": "Col·loca el text", + "placeDesc": "Fes clic al PDF per afegir-hi el text" + }, + "instructions": { + "title": "Com afegir text", + "text": "Després d'introduir el text a dalt, fes clic en qualsevol lloc del PDF per col·locar-lo.", + "paused": "Col·locació en pausa", + "resumeHint": "Reprèn la col·locació per fer clic i afegir el text.", + "noSignature": "Introdueix el text a dalt per habilitar la col·locació." + }, + "mode": { + "move": "Mou el text", + "place": "Col·loca el text", + "pause": "Pausa la col·locació", + "resume": "Reprèn la col·locació" + }, + "results": { + "title": "Resultats d'afegir text" + }, + "error": { + "failed": "S'ha produït un error en afegir text al PDF." + }, + "tags": "text,anotació,etiqueta", + "applySignatures": "Aplica el text" } } \ No newline at end of file diff --git a/frontend/public/locales/cs-CZ/translation.json b/frontend/public/locales/cs-CZ/translation.json index f94523d8d..e899484ed 100644 --- a/frontend/public/locales/cs-CZ/translation.json +++ b/frontend/public/locales/cs-CZ/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Již brzy:", "favorite": "Přidat do oblíbených", "favorites": "Oblíbené", + "unavailable": "Zakázáno správcem serveru:", + "unavailableDependency": "Nedostupné – na serveru chybí požadovaný nástroj:", "heading": "Všechny nástroje (zobrazení na celou obrazovku)", "noResults": "Zkuste upravit hledání nebo přepnout popisy, abyste našli, co potřebujete.", "recommended": "Doporučeno", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Přepnout na režim na celou obrazovku", "sidebar": "Přepnout na režim postranního panelu" - } + }, + "alpha": "Alfa", + "premiumFeature": "Prémiová funkce:", + "comingSoon": "Již brzy:" }, "unsavedChanges": "Máte neuložené změny v PDF.", "areYouSure": "Opravdu chcete odejít?", @@ -41,6 +46,30 @@ "cancel": "Zrušit", "confirm": "Rozbalit" }, + "defaultApp": { + "title": "Nastavit jako výchozí aplikaci pro PDF", + "message": "Chcete nastavit Stirling PDF jako výchozí editor PDF?", + "description": "Později to můžete změnit v nastavení systému.", + "notNow": "Teď ne", + "setDefault": "Nastavit jako výchozí", + "dismiss": "Zavřít", + "prompt": { + "title": "Nastavit jako výchozí editor PDF", + "message": "Nastavte Stirling PDF jako výchozí aplikaci pro otevírání souborů PDF." + }, + "success": { + "title": "Výchozí aplikace nastavena", + "message": "Stirling PDF je nyní váš výchozí editor PDF" + }, + "settingsOpened": { + "title": "Otevřeno nastavení", + "message": "Vyberte prosím v nastavení systému Stirling PDF" + }, + "error": { + "title": "Chyba", + "message": "Nepodařilo se nastavit výchozí aplikaci pro PDF" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Uložit", "saveToBrowser": "Uložit do prohlížeče", "download": "Stáhnout", + "downloadUnavailable": "Stažení pro tuto položku není k dispozici", + "saveUnavailable": "Uložení pro tuto položku není k dispozici", "pin": "Připnout soubor (ponechat aktivní po spuštění nástroje)", "unpin": "Odepnout soubor (nahradit po spuštění nástroje)", "undoOperationTooltip": "Kliknutím vrátíte poslední operaci a obnovíte původní soubory", @@ -168,6 +199,7 @@ }, "edit": "Upravit", "delete": "Smazat", + "never": "Nikdy", "username": "Uživatelské jméno", "password": "Heslo", "welcome": "Vítejte", @@ -262,7 +294,8 @@ "learnMore": "Více informací", "enable": "Povolit analytiku", "disable": "Zakázat analytiku", - "settings": "Nastavení analytiky můžete změnit v souboru config/settings.yml" + "settings": "Nastavení analytiky můžete změnit v souboru config/settings.yml", + "privacyAssurance": "Nesledujeme žádné osobní údaje ani obsah vašich souborů." }, "navbar": { "favorite": "Oblíbené", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Nastavení", - "update": "K dispozici je aktualizace", - "updateAvailable": "{0} je aktuálně nainstalovaná verze. Je k dispozici nová verze ({1}).", - "appVersion": "Verze aplikace:", - "downloadOption": { - "title": "Vyberte možnost stahování (Pro stahování jednoho souboru bez zipu):", - "1": "Otevřít ve stejném okně", - "2": "Otevřít v novém okně", - "3": "Stáhnout soubor" - }, - "zipThreshold": "Zazipovat soubory, když počet stahovaných souborů přesáhne", - "signOut": "Odhlásit se", - "accountSettings": "Nastavení účtu", - "bored": { - "help": "Povolí velikonoční vajíčko hry" - }, - "cacheInputs": { - "name": "Ukládat vstupy formulářů", - "help": "Povolí ukládání dříve použitých vstupů pro budoucí použití" + "connection": { + "title": "Režim připojení", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Self-Hosted" + }, + "server": "Server", + "user": "Přihlášen jako", + "logout": "Odhlásit se" }, "general": { "title": "Obecné", "description": "Nastavte obecné předvolby aplikace.", - "account": "Účet", - "accountDescription": "Spravujte nastavení účtu", "user": "Uživatel", - "signedInAs": "Přihlášen jako", "logout": "Odhlásit se", "enableFeatures": { + "dismiss": "Zavřít", "title": "Pro správce systému", "intro": "Povolte ověřování uživatelů, správu týmů a funkce pracovního prostoru pro vaši organizaci.", "action": "Nastavit", "and": "a", "benefit": "Umožňuje uživatelské role, týmovou spolupráci, administrační ovládací prvky a podnikové funkce.", - "learnMore": "Více v dokumentaci", - "dismiss": "Zavřít" + "learnMore": "Více v dokumentaci" }, - "autoUnzip": "Automaticky rozbalovat odpovědi API", - "autoUnzipDescription": "Automaticky extrahovat soubory ze ZIP odpovědí", - "autoUnzipTooltip": "Automaticky extrahuje ZIP soubory vrácené z operací API. Vypněte pro zachování ZIP souborů. Toto neovlivňuje automatizační workflow.", - "autoUnzipFileLimit": "Limit pro automatické rozbalení", - "autoUnzipFileLimitDescription": "Maximální počet souborů k extrahování ze ZIP", - "autoUnzipFileLimitTooltip": "Rozbalit pouze, pokud ZIP obsahuje tolik nebo méně souborů. Nastavte vyšší hodnotu pro rozbalení větších ZIP archivů.", "defaultToolPickerMode": "Výchozí režim výběru nástrojů", "defaultToolPickerModeDescription": "Zvolte, zda se výběr nástrojů otevře ve výchozím nastavení na celou obrazovku nebo v postranním panelu", "mode": { - "fullscreen": "Celá obrazovka", - "sidebar": "Postranní panel" - } + "sidebar": "Postranní panel", + "fullscreen": "Celá obrazovka" + }, + "autoUnzipTooltip": "Automaticky extrahuje ZIP soubory vrácené z operací API. Vypněte pro zachování ZIP souborů. Toto neovlivňuje automatizační workflow.", + "autoUnzip": "Automaticky rozbalovat odpovědi API", + "autoUnzipDescription": "Automaticky extrahovat soubory ze ZIP odpovědí", + "autoUnzipFileLimitTooltip": "Rozbalit pouze, pokud ZIP obsahuje tolik nebo méně souborů. Nastavte vyšší hodnotu pro rozbalení větších ZIP archivů.", + "autoUnzipFileLimit": "Limit pro automatické rozbalení", + "autoUnzipFileLimitDescription": "Maximální počet souborů k extrahování ze ZIP", + "defaultPdfEditor": "Výchozí editor PDF", + "defaultPdfEditorActive": "Stirling PDF je váš výchozí editor PDF", + "defaultPdfEditorInactive": "Jiná aplikace je nastavena jako výchozí", + "defaultPdfEditorChecking": "Kontrola...", + "defaultPdfEditorSet": "Již výchozí", + "setAsDefault": "Nastavit jako výchozí", + "updates": { + "title": "Aktualizace softwaru", + "description": "Zkontrolujte aktualizace a zobrazte informace o verzi", + "currentVersion": "Aktuální verze", + "latestVersion": "Nejnovější verze", + "checkForUpdates": "Zkontrolovat aktualizace", + "viewDetails": "Zobrazit podrobnosti" + }, + "hideUnavailableTools": "Skrýt nedostupné nástroje", + "hideUnavailableToolsDescription": "Místo šedých ikon odeberte nástroje, které váš server zakázal.", + "hideUnavailableConversions": "Skrýt nedostupné konverze", + "hideUnavailableConversionsDescription": "Místo šedých voleb odeberte zakázané možnosti převodu v nástroji Převod." }, "hotkeys": { - "title": "Klávesové zkratky", - "description": "Najetím myší na nástroj uvidíte jeho zkratku nebo ji níže upravte. Klikněte na \"Změnit zkratku\" a stiskněte novou kombinaci kláves. Esc pro zrušení.", - "errorModifier": { - "mac": "Do zkratky zahrňte ⌘ (Command), ⌥ (Option) nebo jiný modifikátor.", - "windows": "Do zkratky zahrňte Ctrl, Alt nebo jiný modifikátor." - }, "errorConflict": "Zkratku již používá {{tool}}.", + "searchPlaceholder": "Hledat nástroje...", "none": "Nepřiřazeno", "customBadge": "Vlastní", "defaultLabel": "Výchozí: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Změnit zkratku", "reset": "Obnovit", "shortcut": "Zkratka", - "noShortcut": "Není nastavena žádná zkratka", - "searchPlaceholder": "Hledat nástroje..." + "noShortcut": "Není nastavena žádná zkratka" } }, + "update": { + "modalTitle": "Dostupná aktualizace", + "current": "Aktuální verze", + "latest": "Nejnovější verze", + "latestStable": "Nejnovější stabilní", + "priorityLabel": "Priorita", + "recommendedAction": "Doporučený postup", + "breakingChangesDetected": "Zjištěny nekompatibilní změny", + "breakingChangesMessage": "Některé verze obsahují nekompatibilní změny. Před aktualizací si prosím prostudujte migrační průvodce níže.", + "migrationGuides": "Migrační průvodci", + "viewGuide": "Zobrazit průvodce", + "loadingDetailedInfo": "Načítání podrobných informací...", + "close": "Zavřít", + "viewAllReleases": "Zobrazit všechna vydání", + "downloadLatest": "Stáhnout nejnovější", + "availableUpdates": "Dostupné aktualizace", + "unableToLoadDetails": "Nelze načíst podrobné informace.", + "version": "Verze", + "urgentUpdateAvailable": "Naléhavá aktualizace", + "updateAvailable": "Dostupná aktualizace", + "releaseNotes": "Poznámky k vydání", + "priority": { + "urgent": "Naléhavá", + "normal": "Normální", + "minor": "Menší", + "low": "Nízká" + }, + "breakingChanges": "Nekompatibilní změny", + "breakingChangesDefault": "Tato verze obsahuje nekompatibilní změny.", + "migrationGuide": "Migrační průvodce" + }, "changeCreds": { "title": "Změnit přihlašovací údaje", "header": "Aktualizovat údaje vašeho účtu", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Překryje PDF nad jiným PDF", "title": "Překrýt PDF" + }, + "pdfTextEditor": { + "title": "Editor textu PDF", + "desc": "Prohlížejte a upravujte exporty JSON ze Stirling PDF se skupinovými úpravami textu a regenerací PDF" + }, + "addText": { + "tags": "text,anotace,štítek", + "title": "Přidat text", + "desc": "Přidejte libovolný text kamkoli do PDF" } }, "landing": { "addFiles": "Přidat soubory", - "uploadFromComputer": "Nahrát z počítače" + "uploadFromComputer": "Nahrát z počítače", + "openFromComputer": "Otevřít z počítače" }, "viewPdf": { "tags": "zobrazit,číst,anotovat,text,obrázek", @@ -849,6 +922,11 @@ }, "error": { "failed": "Při slučování PDF došlo k chybě." + }, + "tooltip": { + "header": { + "title": "Přehled nastavení sloučení" + } } }, "split": { @@ -1182,9 +1260,43 @@ "tags": "img,jpg,obrázek,fotka", "title": "Přidat obrázek", "header": "Přidat obrázek do PDF", - "everyPage": "Každá stránka?", - "upload": "Přidat obrázek", - "submit": "Přidat obrázek" + "image": { + "name": "Obrázek", + "placeholder": "Nahrajte obrázek", + "label": "Soubor obrázku" + }, + "steps": { + "configure": "Nastavit obrázek" + }, + "step": { + "createDesc": "Nahrajte obrázek, který chcete přidat", + "place": "Umístit obrázek", + "placeDesc": "Kliknutím do PDF přidáte obrázek" + }, + "instructions": { + "title": "Jak přidat obrázky", + "text": "Po nahrání obrázku výše klikněte kamkoli do PDF a umístěte ho.", + "paused": "Umisťování pozastaveno", + "resumeHint": "Obnovte umisťování a kliknutím přidejte obrázek.", + "noSignature": "Nahrajte výše obrázek, aby bylo možné umisťovat." + }, + "mode": { + "move": "Přesunout obrázek", + "place": "Umístit obrázek", + "pause": "Pozastavit umisťování", + "resume": "Obnovit umisťování" + }, + "results": { + "title": "Výsledky přidání obrázku" + }, + "error": { + "failed": "Při přidávání obrázku do PDF došlo k chybě." + }, + "saved": { + "defaultLabel": "Obrázek", + "defaultImageLabel": "Nahraný obrázek" + }, + "applySignatures": "Použít obrázky" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1397,6 +1509,93 @@ }, "submit": "Změnit" }, + "editTableOfContents": { + "settings": { + "title": "Záložky a osnova", + "replaceExisting": "Nahradit stávající záložky (zrušte zaškrtnutí pro připojení)", + "replaceExistingHint": "Když je vypnuto, nová osnova se přidá za stávající záložky." + }, + "actions": { + "source": "Načíst záložky", + "selectedFile": "Načteno z {{file}}", + "noFile": "Vyberte PDF pro extrakci stávajících záložek.", + "loadFromPdf": "Načíst z vybraného PDF", + "importJson": "Importovat JSON", + "importClipboard": "Vložit JSON ze schránky", + "export": "Exportovat záložky", + "exportJson": "Stáhnout JSON", + "exportClipboard": "Zkopírovat JSON do schránky", + "clipboardUnavailable": "V tomto prohlížeči není k dispozici přístup ke schránce." + }, + "info": { + "line1": "Každá záložka potřebuje popisný název a stránku, kterou má otevřít.", + "line2": "Použijte podřízené záložky k vytvoření hierarchie kapitol, sekcí nebo podsekcí.", + "line3": "Pro úsporu času importujte záložky z vybraného PDF nebo ze souboru JSON." + }, + "workbench": { + "empty": { + "title": "Otevřete nástroj a začněte upravovat", + "description": "Vyberte nástroj Upravit obsah pro načtení pracovního prostoru." + }, + "tabTitle": "Pracovní prostor osnovy", + "subtitle": "Importujte záložky, vytvářejte hierarchie a aplikujte osnovu bez stísněných postranních panelů.", + "noFile": "Není vybráno žádné PDF", + "fileLabel": "Změny budou aplikovány na aktuálně vybrané PDF.", + "filePrompt": "Vyberte PDF z knihovny nebo nahrajte nové a začněte.", + "changeFile": "Změnit PDF", + "selectFile": "Vybrat PDF" + }, + "editor": { + "heading": "Editor záložek", + "description": "Přidávejte, vnořujte a přeuspořádávejte záložky pro tvorbu osnovy PDF.", + "addTopLevel": "Přidat záložku nejvyšší úrovně", + "empty": { + "title": "Zatím žádné záložky", + "description": "Importujte stávající záložky nebo začněte přidáním první položky.", + "action": "Přidat první záložku" + }, + "defaultTitle": "Nová záložka", + "defaultChildTitle": "Podřízená záložka", + "defaultSiblingTitle": "Nová záložka", + "untitled": "Nepojmenovaná záložka", + "childBadge": "Podřízená", + "pagePreview": "Strana {{page}}", + "field": { + "title": "Název záložky", + "page": "Cílové číslo strany" + }, + "actions": { + "toggle": "Přepnout podřízené", + "addChild": "Přidat podřízenou záložku", + "addSibling": "Přidat záložku stejné úrovně", + "remove": "Odstranit záložku" + }, + "confirmRemove": "Odstranit tuto záložku a všechny její podřízené?" + }, + "messages": { + "loadedTitle": "Záložky byly extrahovány", + "loadedBody": "Stávající záložky z PDF byly načteny do editoru.", + "noBookmarks": "Ve vybraném PDF nebyly nalezeny žádné záložky.", + "loadFailed": "Nelze extrahovat záložky z vybraného PDF.", + "imported": "Záložky byly importovány", + "importedBody": "Osnova z JSON nahradila aktuální obsah editoru.", + "importedClipboard": "Data ze schránky nahradila aktuální seznam záložek.", + "invalidJson": "Neplatná struktura JSON", + "invalidJsonBody": "Zadejte platný soubor JSON se záložkami a zkuste to znovu.", + "exported": "Stahování JSON připraveno", + "copied": "Zkopírováno do schránky", + "copiedBody": "JSON se záložkami byl úspěšně zkopírován.", + "copyFailed": "Kopírování selhalo" + }, + "error": { + "failed": "Nepodařilo se aktualizovat obsah" + }, + "submit": "Použít obsah", + "results": { + "title": "Aktualizované PDF se záložkami", + "subtitle": "Stáhněte zpracovaný soubor nebo níže akci vraťte." + } + }, "removePages": { "tags": "Odstranit stránky,smazat stránky", "title": "Odstranit", @@ -1601,7 +1800,7 @@ "tags": "stlačit,malý,drobný" }, "unlockPDFForms": { - "tags": "remove,delete,form,field,readonly", + "tags": "odebrat,smazat,formulář,pole,jen pro čtení", "title": "Odstranit režim jen pro čtení z formulářových polí", "header": "Odemknout PDF formuláře", "submit": "Remove", @@ -1978,13 +2177,54 @@ "title": "Nakreslete svůj podpis", "clear": "Vymazat" }, + "canvas": { + "heading": "Nakreslete svůj podpis", + "clickToOpen": "Kliknutím otevřete kreslicí plátno", + "modalTitle": "Nakreslete svůj podpis", + "colorLabel": "Barva", + "penSizeLabel": "Tloušťka pera", + "penSizePlaceholder": "Velikost", + "clear": "Vyčistit plátno", + "colorPickerTitle": "Zvolte barvu tahu" + }, "text": { "name": "Jméno podepisujícího", - "placeholder": "Zadejte své celé jméno" + "placeholder": "Zadejte své celé jméno", + "fontLabel": "Písmo", + "fontSizeLabel": "Velikost písma", + "fontSizePlaceholder": "Zadejte nebo vyberte velikost písma (8–200)", + "colorLabel": "Barva textu" }, "clear": "Vymazat", "add": "Přidat", - "saved": "Uložené podpisy", + "saved": { + "heading": "Uložené podpisy", + "description": "Uložené podpisy můžete kdykoli znovu použít.", + "emptyTitle": "Zatím žádné uložené podpisy", + "emptyDescription": "Nakreslete, nahrajte nebo napište podpis výše a poté použijte „Uložit do knihovny“ a mějte připraveno až {{max}} oblíbených.", + "type": { + "canvas": "Kresba", + "image": "Nahrání", + "text": "Text" + }, + "limitTitle": "Dosažen limit", + "limitDescription": "Před přidáním nových nejprve odstraňte uložený podpis (max. {{max}}).", + "carouselPosition": "{{current}} z {{total}}", + "prev": "Předchozí", + "next": "Další", + "delete": "Odstranit", + "label": "Štítek", + "defaultLabel": "Podpis", + "defaultCanvasLabel": "Nakreslený podpis", + "defaultImageLabel": "Nahraný podpis", + "defaultTextLabel": "Napsaný podpis", + "saveButton": "Uložit podpis", + "saveUnavailable": "Nejprve vytvořte podpis, abyste jej mohli uložit.", + "noChanges": "Aktuální podpis je již uložen.", + "status": { + "saved": "Uloženo" + } + }, "save": "Uložit podpis", "applySignatures": "Použít podpisy", "personalSigs": "Osobní podpisy", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Nastavit podpis" }, + "step": { + "createDesc": "Vyberte, jak chcete podpis vytvořit", + "place": "Umístit a uložit", + "placeDesc": "Umístěte podpis do PDF" + }, "type": { "title": "Typ podpisu", "draw": "Kreslit", "canvas": "Plátno", "image": "Obrázek", - "text": "Text" + "text": "Text", + "saved": "Uložené" }, "image": { "label": "Nahrát obrázek podpisu", @@ -2019,11 +2265,17 @@ "title": "Jak přidat podpis", "canvas": "Po nakreslení podpisu na plátně zavřete okno a poté klikněte kamkoli do PDF pro umístění.", "image": "Po nahrání obrázku podpisu výše klikněte kamkoli do PDF pro jeho umístění.", - "text": "Po zadání jména výše klikněte kamkoli do PDF pro umístění podpisu." + "saved": "Vyberte výše uložený podpis a poté klikněte kamkoli do PDF pro jeho umístění.", + "text": "Po zadání jména výše klikněte kamkoli do PDF pro umístění podpisu.", + "paused": "Umisťování pozastaveno", + "resumeHint": "Obnovte umisťování a kliknutím přidejte podpis.", + "noSignature": "Vytvořte výše podpis, aby se zpřístupnily nástroje pro umisťování." }, "mode": { "move": "Přesunout podpis", - "place": "Umístit podpis" + "place": "Umístit podpis", + "pause": "Pozastavit umisťování", + "resume": "Obnovit umisťování" }, "updateAndPlace": "Aktualizovat a umístit", "activate": "Aktivovat umisťování podpisu", @@ -2163,6 +2415,14 @@ "title": "O nástroji Odstranit anotace", "description": "Tento nástroj odstraní všechny anotace (komentáře, zvýraznění, poznámky atd.) z vašich PDF dokumentů." }, + "tooltip": { + "header": { + "title": "O nástroji Odebrat anotace" + }, + "description": { + "title": "Co dělá" + } + }, "error": { "failed": "Při odstraňování anotací z PDF došlo k chybě." } @@ -2627,6 +2887,9 @@ "header": { "title": "Jak funguje automatické přejmenování" }, + "description": { + "title": "Co dělá" + }, "howItWorks": { "title": "Chytré přejmenování", "text": "Automaticky najde název z obsahu vašeho PDF a použije jej jako název souboru.", @@ -2634,6 +2897,9 @@ "bullet2": "Vytvoří čistý, platný název souboru z nalezeného názvu", "bullet3": "Ponechá původní název, pokud se nenajde vhodný název" } + }, + "settings": { + "title": "O nástroji" } }, "adjust-contrast": { @@ -3174,11 +3440,12 @@ "title": "Přihlášení", "header": "Přihlášení", "signin": "Přihlásit se", - "signInWith": "Sign in with", - "signInAnonymously": "Sign Up as a Guest", + "signInWith": "Přihlásit se pomocí", + "signInAnonymously": "Přihlásit se jako host", "rememberme": "Zapamatovat si mě", "invalid": "Neplatné uživatelské jméno nebo heslo.", "locked": "Váš účet byl uzamčen.", + "sessionExpired": "Relace vypršela. Přihlaste se prosím znovu.", "signinTitle": "Prosím přihlaste se", "ssoSignIn": "Přihlásit se přes Single Sign-on", "oAuth2AutoCreateDisabled": "Automatické vytváření OAUTH2 uživatelů je zakázáno", @@ -3194,82 +3461,101 @@ "alreadyLoggedIn": "Již jste přihlášeni na", "alreadyLoggedIn2": "zařízeních. Odhlaste se prosím z těchto zařízení a zkuste to znovu.", "toManySessions": "Máte příliš mnoho aktivních relací", - "logoutMessage": "You have been logged out.", - "youAreLoggedIn": "You are logged in!", - "email": "Email", - "password": "Password", - "enterEmail": "Enter your email", - "enterPassword": "Enter your password", - "loggingIn": "Logging In...", - "username": "Username", - "enterUsername": "Enter username", - "useEmailInstead": "Login with email", - "forgotPassword": "Forgot your password?", - "logIn": "Log In", - "signingIn": "Signing in...", - "login": "Login", - "or": "Or", - "useMagicLink": "Use magic link instead", - "enterEmailForMagicLink": "Enter your email for magic link", - "sending": "Sending…", - "sendMagicLink": "Send Magic Link", - "cancel": "Cancel", - "dontHaveAccount": "Don't have an account? Sign up", - "home": "Home", - "debug": "Debug", - "signOut": "Sign Out", - "pleaseEnterBoth": "Please enter both email and password", - "pleaseEnterEmail": "Please enter your email address", - "magicLinkSent": "Magic link sent to {{email}}! Check your email and click the link to sign in.", - "passwordResetSent": "Password reset link sent to {{email}}! Check your email and follow the instructions.", - "failedToSignIn": "Failed to sign in with {{provider}}: {{message}}", - "unexpectedError": "Unexpected error: {{message}}", - "accountCreatedSuccess": "Account created successfully! You can now sign in.", - "passwordChangedSuccess": "Password changed successfully! Please sign in with your new password.", - "credentialsUpdated": "Your credentials have been updated. Please sign in again." + "logoutMessage": "Byli jste odhlášeni.", + "youAreLoggedIn": "Jste přihlášeni!", + "email": "E-mail", + "password": "Heslo", + "enterEmail": "Zadejte svůj e-mail", + "enterPassword": "Zadejte své heslo", + "loggingIn": "Přihlašování...", + "username": "Uživatelské jméno", + "enterUsername": "Zadejte uživatelské jméno", + "useEmailInstead": "Přihlásit pomocí e-mailu", + "forgotPassword": "Zapomněli jste heslo?", + "logIn": "Přihlásit se", + "signingIn": "Přihlašování...", + "login": "Přihlášení", + "or": "Nebo", + "useMagicLink": "Použít místo toho magický odkaz", + "enterEmailForMagicLink": "Zadejte e-mail pro magický odkaz", + "sending": "Odesílání…", + "sendMagicLink": "Odeslat magický odkaz", + "cancel": "Zrušit", + "dontHaveAccount": "Nemáte účet? Zaregistrujte se", + "home": "Domů", + "debug": "Ladění", + "signOut": "Odhlásit se", + "pleaseEnterBoth": "Zadejte prosím e-mail i heslo", + "pleaseEnterEmail": "Zadejte prosím svou e-mailovou adresu", + "magicLinkSent": "Magický odkaz byl odeslán na {{email}}! Zkontrolujte e-mail a kliknutím na odkaz se přihlaste.", + "passwordResetSent": "Odkaz na reset hesla byl odeslán na {{email}}! Zkontrolujte e-mail a postupujte podle pokynů.", + "failedToSignIn": "Nepodařilo se přihlásit pomocí {{provider}}: {{message}}", + "unexpectedError": "Neočekávaná chyba: {{message}}", + "accountCreatedSuccess": "Účet byl úspěšně vytvořen! Nyní se můžete přihlásit.", + "passwordChangedSuccess": "Heslo bylo úspěšně změněno! Přihlaste se novým heslem.", + "credentialsUpdated": "Vaše přihlašovací údaje byly aktualizovány. Přihlaste se prosím znovu.", + "defaultCredentials": "Výchozí přihlašovací údaje", + "changePasswordWarning": "Po prvním přihlášení si prosím změňte heslo", + "slides": { + "overview": { + "alt": "Přehled Stirling PDF", + "title": "Vše pro práci s PDF na jednom místě.", + "subtitle": "Cloudová sada s důrazem na soukromí pro práci s PDF, která umožňuje konvertovat, podepisovat, začerňovat a spravovat dokumenty, a nabízí přes 50 dalších užitečných nástrojů." + }, + "edit": { + "alt": "Úprava PDF", + "title": "Upravujte PDF pro zobrazení/ochranu požadovaných informací", + "subtitle": "Více než desítka nástrojů pro začerňování, podepisování, čtení a manipulaci s PDF — najdete, co potřebujete." + }, + "secure": { + "alt": "Zabezpečení PDF", + "title": "Chraňte citlivé informace ve svých PDF", + "subtitle": "Snadno přidávejte hesla, začerňujte obsah a spravujte certifikáty." + } + } }, "signup": { - "title": "Create an account", - "subtitle": "Join Stirling PDF to get started", - "name": "Name", - "email": "Email", - "password": "Password", - "confirmPassword": "Confirm password", - "enterName": "Enter your name", - "enterEmail": "Enter your email", - "enterPassword": "Enter your password", - "confirmPasswordPlaceholder": "Confirm password", - "or": "or", - "creatingAccount": "Creating Account...", - "signUp": "Sign Up", - "alreadyHaveAccount": "Already have an account? Sign in", - "pleaseFillAllFields": "Please fill in all fields", - "passwordsDoNotMatch": "Passwords do not match", - "passwordTooShort": "Password must be at least 6 characters long", - "invalidEmail": "Please enter a valid email address", - "checkEmailConfirmation": "Check your email for a confirmation link to complete your registration.", - "accountCreatedSuccessfully": "Account created successfully! You can now sign in.", - "unexpectedError": "Unexpected error: {{message}}", - "useEmailInstead": "Use Email Instead", - "nameRequired": "Name is required", - "emailRequired": "Email is required", - "passwordRequired": "Password is required", - "confirmPasswordRequired": "Please confirm your password" + "title": "Vytvořit účet", + "subtitle": "Připojte se ke Stirling PDF a začněte", + "name": "Jméno", + "email": "E-mail", + "password": "Heslo", + "confirmPassword": "Potvrďte heslo", + "enterName": "Zadejte své jméno", + "enterEmail": "Zadejte svůj e-mail", + "enterPassword": "Zadejte své heslo", + "confirmPasswordPlaceholder": "Potvrďte heslo", + "or": "nebo", + "creatingAccount": "Vytváření účtu...", + "signUp": "Zaregistrovat se", + "alreadyHaveAccount": "Už máte účet? Přihlaste se", + "pleaseFillAllFields": "Vyplňte prosím všechna pole", + "passwordsDoNotMatch": "Hesla se neshodují", + "passwordTooShort": "Heslo musí mít alespoň 6 znaků", + "invalidEmail": "Zadejte prosím platnou e-mailovou adresu", + "checkEmailConfirmation": "Zkontrolujte e-mail s potvrzovacím odkazem pro dokončení registrace.", + "accountCreatedSuccessfully": "Účet byl úspěšně vytvořen! Nyní se můžete přihlásit.", + "unexpectedError": "Neočekávaná chyba: {{message}}", + "useEmailInstead": "Použít místo toho e-mail", + "nameRequired": "Jméno je povinné", + "emailRequired": "E-mail je povinný", + "passwordRequired": "Heslo je povinné", + "confirmPasswordRequired": "Potvrďte prosím své heslo" }, "pdfToSinglePage": { "title": "PDF na jednu stránku", "header": "PDF na jednu stránku", "submit": "Převést na jednu stránku", - "description": "This tool will merge all pages of your PDF into one large single page. The width will remain the same as the original pages, but the height will be the sum of all page heights.", + "description": "Tento nástroj sloučí všechny stránky vašeho PDF do jedné velké stránky. Šířka zůstane stejná jako u původních stránek, výška bude součtem výšek všech stránek.", "filenamePrefix": "single_page", "files": { - "placeholder": "Select a PDF file in the main view to get started" + "placeholder": "Chcete-li začít, vyberte v hlavním zobrazení soubor PDF" }, "error": { - "failed": "An error occurred whilst converting to single page." + "failed": "Při převodu na jednu stránku došlo k chybě." }, "results": { - "title": "Single Page Results" + "title": "Výsledky jedné stránky" } }, "pageExtracter": { @@ -3284,32 +3570,32 @@ "selectText": { "1": "Odstranit JavaScript akce", "2": "Odstranit vložené soubory", - "3": "Remove XMP metadata", + "3": "Odstranit metadata XMP", "4": "Odstranit odkazy", "5": "Odstranit písma", - "6": "Remove Document Info Metadata" + "6": "Odstranit metadata informací o dokumentu" }, "submit": "Sanitizovat PDF" }, "adjustContrast": { "title": "Upravit kontrast", "header": "Upravit kontrast", - "basic": "Basic Adjustments", + "basic": "Základní úpravy", "contrast": "Kontrast:", "brightness": "Jas:", "saturation": "Sytost:", "download": "Stáhnout", - "adjustColors": "Adjust Colors", - "blue": "Blue", - "confirm": "Confirm", + "adjustColors": "Upravit barvy", + "blue": "Modrá", + "confirm": "Potvrdit", "error": { - "failed": "Failed to adjust colors/contrast" + "failed": "Nepodařilo se upravit barvy/kontrast" }, - "green": "Green", - "noPreview": "Select a PDF to preview", - "red": "Red", + "green": "Zelená", + "noPreview": "Vyberte PDF pro náhled", + "red": "Červená", "results": { - "title": "Adjusted PDF" + "title": "Upravené PDF" } }, "compress": { @@ -3501,7 +3787,7 @@ "title": "API Dokumentace", "header": "API Dokumentace", "desc": "Zobrazte a otestujte endpointy API Stirling PDF", - "tags": "api,documentation,swagger,endpoints,development" + "tags": "api,dokumentace,swagger,endpointy,vývoj" }, "cookieBanner": { "popUp": { @@ -3597,7 +3883,9 @@ "exportAll": "Exportovat PDF", "downloadSelected": "Stáhnout vybrané soubory", "downloadAll": "Stáhnout vše", + "saveAll": "Uložit vše", "toggleTheme": "Přepnout motiv", + "toggleBookmarks": "Přepnout záložky", "language": "Jazyk", "search": "Hledat v PDF", "panMode": "Režim posunu", @@ -3684,8 +3972,16 @@ "saved": "Nastavení byla úspěšně uložena", "saveSuccess": "Nastavení byla úspěšně uložena", "save": "Uložit změny", + "discard": "Zahodit", "restartRequired": "Vyžadován restart", "loginRequired": "Režim přihlášení musí být povolen, abyste mohli upravovat nastavení správce", + "unsavedChanges": { + "title": "Neuložené změny", + "message": "Máte neuložené změny. Chcete je zahodit?", + "cancel": "Pokračovat v úpravách", + "discard": "Zahodit změny", + "hint": "Máte neuložené změny" + }, "loginDisabled": { "title": "Vyžadován režim přihlášení", "message": "Režim přihlášení musí být povolen, abyste mohli upravovat nastavení správce. Nastavte prosím SECURITY_ENABLELOGIN=true ve vašem prostředí nebo security.enableLogin: true v souboru settings.yml a poté restartujte server.", @@ -3946,15 +4242,15 @@ "description": "Poskytovatel OAuth2 použitý pro autentizaci" }, "issuer": { - "label": "Issuer URL", + "label": "URL vydavatele", "description": "Issuer URL poskytovatele OAuth2" }, "clientId": { - "label": "Client ID", + "label": "ID klienta", "description": "Client ID OAuth2 od vašeho poskytovatele" }, "clientSecret": { - "label": "Client Secret", + "label": "Tajný kód klienta", "description": "Client Secret OAuth2 od vašeho poskytovatele" }, "useAsUsername": { @@ -4131,12 +4427,12 @@ "description": "Maximální doba běhu" }, "libreOffice": "LibreOffice", - "pdfToHtml": "PDF to HTML", + "pdfToHtml": "PDF do HTML", "qpdf": "QPDF", "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", "weasyPrint": "WeasyPrint", - "installApp": "Install App", + "installApp": "Nainstalovat aplikaci", "calibre": "Calibre", "ghostscript": "Ghostscript", "ocrMyPdf": "OCRmyPDF" @@ -4175,7 +4471,7 @@ "description": "Umožnit správcům zvát uživatele e-mailem s automaticky generovanými hesly" }, "frontendUrl": { - "label": "Frontend URL", + "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." } }, @@ -4211,9 +4507,21 @@ "title": "Premium & Enterprise", "description": "Nakonfigurujte svůj prémiový nebo enterprise licenční klíč.", "license": "Konfigurace licence", + "licenseKey": { + "toggle": "Máte licenční klíč nebo certifikační soubor?", + "info": "Máte-li licenční klíč nebo certifikační soubor z přímého nákupu, můžete jej zde zadat a aktivovat prémiové či enterprise funkce." + }, "key": { "label": "Licenční klíč", - "description": "Zadejte svůj prémiový nebo enterprise licenční klíč" + "description": "Zadejte svůj prémiový nebo enterprise licenční klíč", + "success": "Licenční klíč uložen", + "successMessage": "Váš licenční klíč byl úspěšně aktivován. Restart není potřeba.", + "overwriteWarning": { + "title": "⚠️ Varování: Zjištěna stávající licence", + "line1": "Přepsání aktuálního licenčního klíče nelze vrátit zpět.", + "line2": "Předchozí licence bude trvale ztracena, pokud ji nemáte zálohovanou jinde.", + "line3": "Důležité: Uchovávejte licenční klíče v soukromí a v bezpečí. Nikdy je nesdílejte veřejně." + } }, "enabled": { "label": "Povolit prémiové funkce", @@ -4277,12 +4585,17 @@ "or": "nebo", "dropFileHere": "Přetáhněte soubor sem nebo klikněte pro nahrání", "dropFilesHere": "Přetáhněte soubory sem nebo klikněte na tlačítko Nahrát", + "dropFilesHereOpen": "Přetáhněte sem soubory nebo klikněte na tlačítko Otevřít", "pdfFilesOnly": "Pouze soubory PDF", "supportedFileTypes": "Podporované typy souborů", "upload": "Nahrát", "uploadFile": "Nahrát soubor", "uploadFiles": "Nahrát soubory", + "open": "Otevřít", + "openFile": "Otevřít soubor", + "openFiles": "Otevřít soubory", "noFilesInStorage": "V úložišti nejsou žádné soubory. Nejprve nahrajte nějaké soubory.", + "noFilesInStorageOpen": "V úložišti nejsou k dispozici žádné soubory. Nejprve otevřete nějaké soubory.", "selectFromStorage": "Vybrat z úložiště", "backToTools": "Zpět k nástrojům", "addFiles": "Přidat soubory", @@ -4328,6 +4641,8 @@ "myFiles": "Moje soubory", "noRecentFiles": "Nebyly nalezeny žádné nedávné soubory", "googleDriveNotAvailable": "Integrace s Google Drive není dostupná", + "downloadSelected": "Stáhnout vybrané", + "saveSelected": "Uložit vybrané", "openFiles": "Otevřít soubory", "openFile": "Otevřít soubor", "details": "Podrobnosti", @@ -4340,7 +4655,6 @@ "selectAll": "Vybrat vše", "deselectAll": "Zrušit výběr všeho", "deleteSelected": "Smazat vybrané", - "downloadSelected": "Stáhnout vybrané", "selectedCount": "{{count}} vybráno", "download": "Stáhnout", "delete": "Smazat", @@ -4620,9 +4934,14 @@ "secureWorkflow": "Bezpečnostní pracovní postup", "secureWorkflowDesc": "Zabezpečí PDF dokumenty odstraněním potenciálně škodlivého obsahu, jako je JavaScript a vložené soubory, a poté přidá ochranu heslem, aby se zabránilo neoprávněnému přístupu. Výchozí heslo je 'password'.", "processImages": "Zpracování obrázků", - "processImagesDesc": "Převede více obrazových souborů do jednoho PDF dokumentu a poté použije technologii OCR k extrakci vyhledatelného textu z obrázků." + "processImagesDesc": "Převede více obrazových souborů do jednoho PDF dokumentu a poté použije technologii OCR k extrakci vyhledatelného textu z obrázků.", + "prePublishSanitization": "Sanitizace před publikováním", + "prePublishSanitizationDesc": "Postup sanitizace, který před zveřejněním PDF online odstraní veškerá skrytá metadata, JavaScript, vložené soubory, anotace a zploští formuláře, aby se zabránilo úniku dat." } }, + "colorPicker": { + "title": "Zvolte barvu" + }, "common": { "previous": "Předchozí", "next": "Další", @@ -4638,7 +4957,13 @@ "used": "využito", "available": "k dispozici", "cancel": "Zrušit", - "preview": "Náhled" + "preview": "Náhled", + "close": "Zavřít", + "done": "Hotovo", + "loading": "Načítání...", + "back": "Zpět", + "continue": "Pokračovat", + "error": "Chyba" }, "config": { "overview": { @@ -4670,7 +4995,7 @@ "docsTitle": "API dokumentace", "docsDescription": "Zjistěte více o integraci se Stirling PDF:", "docsLink": "API dokumentace", - "schemaLink": "API Schema Reference", + "schemaLink": "Reference schématu API", "usage": "Zahrňte tento klíč do hlavičky X-API-KEY u všech API požadavků.", "description": "Váš API klíč pro přístup k sadě PDF nástrojů Stirlingu. Zkopírujte si ho do projektu nebo obnovte pro vygenerování nového.", "publicKeyAriaLabel": "Veřejný API klíč", @@ -4704,6 +5029,14 @@ "addMoreFiles": "Přidat další soubory...", "selectedFiles": "Vybrané soubory", "submit": "Přidat přílohy", + "tooltip": { + "header": { + "title": "O nástroji Přidat přílohy" + }, + "description": { + "title": "Co dělá" + } + }, "results": { "title": "Výsledky příloh" }, @@ -4723,7 +5056,6 @@ }, "customPosition": "Vlastní umístění", "details": "Podrobnosti", - "downloadUnavailable": "Stažení pro tuto položku není k dispozici", "invalidUndoData": "Nelze vrátit: neplatná data operace", "margin": { "large": "Velké", @@ -4800,6 +5132,10 @@ "maybeLater": "Možná později", "dontShowAgain": "Znovu nezobrazovat" }, + "welcomeSlide": { + "title": "Vítejte ve Stirling", + "body": "Stirling PDF je nyní připraven pro týmy všech velikostí. Tato aktualizace přináší nové rozvržení, výkonné nové funkce pro správce a naši nejžádanější funkci – Úpravy textu." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Vyberme nástroj Oříznout, abychom ukázali, jak nástroje používat.", "toolInterface": "Toto je rozhraní nástroje Oříznout. Jak vidíte, zatím tu toho moc není, protože jsme ještě nepřidali žádné PDF k úpravám.", @@ -4822,7 +5158,39 @@ "next": "Další", "finish": "Dokončit", "startTour": "Spustit prohlídku", - "startTourDescription": "Vydejte se na průvodce hlavními funkcemi Stirling PDF" + "startTourDescription": "Vydejte se na průvodce hlavními funkcemi Stirling PDF", + "buttons": { + "next": "Další →", + "back": "Zpět", + "skipForNow": "Zatím přeskočit", + "download": "Stáhnout →", + "showMeAround": "Proveďte mě", + "skipTheTour": "Přeskočit průvodce" + }, + "serverLicense": { + "skip": "Zatím přeskočit", + "seePlans": "Zobrazit plány →", + "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š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." + }, + "desktopInstall": { + "title": "Stáhnout", + "titleWithOs": "Stáhnout pro {{osLabel}}", + "body": "Stirling nejlépe funguje jako desktopová aplikace. Můžete ji používat offline, rychleji přistupovat k dokumentům a provádět úpravy lokálně ve svém počítači." + }, + "planOverview": { + "adminTitle": "Přehled pro správce", + "userTitle": "Přehled plánu", + "adminBodyLoginEnabled": "Jako správce můžete spravovat uživatele, konfigurovat nastavení a sledovat stav serveru. Prvních {{freeTierLimit}} uživatelů na vašem serveru může Stirling používat zdarma.", + "adminBodyLoginDisabled": "Po povolení režimu přihlášení můžete spravovat uživatele, konfigurovat nastavení a sledovat stav serveru. Prvních {{freeTierLimit}} uživatelů na vašem serveru může Stirling používat zdarma.", + "userBody": "Pozvěte kolegy, přiřazujte role a udržujte dokumenty uspořádané v jednom zabezpečeném prostoru. Režim přihlášení zapněte, jakmile budete chtít růst nad rámec sólo použití." + }, + "securityCheck": { + "message": "Aplikace nedávno prošla významnými změnami. Může být nutný zásah správce serveru. Pro pokračování prosím potvrďte svou roli." + } }, "adminOnboarding": { "welcome": "Vítejte v Prohlídce pro administrátory! Prozkoumejme výkonné podnikové funkce a nastavení dostupné správcům systému.", @@ -4851,7 +5219,10 @@ "role": "Role", "team": "Tým", "status": "Stav", - "actions": "Akce", + "actions": { + "label": "Akce", + "upgrade": "Upgradovat" + }, "noMembersFound": "Nebyli nalezeni žádní členové", "active": "Aktivní", "disabled": "Deaktivován", @@ -4963,7 +5334,8 @@ "slotsAvailable": "{{count}} míst pro uživatele k dispozici", "noSlotsAvailable": "Žádná volná místa", "currentUsage": "Aktuálně používáte {{current}} z {{max}} uživatelských licencí" - } + }, + "loginRequired": "Nejprve povolte režim přihlášení" }, "teams": { "title": "Týmy", @@ -5056,6 +5428,17 @@ "showComparison": "Porovnat všechny funkce", "hideComparison": "Skrýt porovnání funkcí", "featureComparison": "Srovnání funkcí", + "from": "Od", + "perMonth": "/měsíc", + "perSeat": "/místo", + "withServer": "+ Serverový plán", + "licensedSeats": "Licencováno: {{count}} míst", + "includedInCurrent": "Součást vašeho plánu", + "selectPlan": "Vybrat plán", + "manage": "Spravovat", + "manageSubscription": { + "description": "Spravujte své předplatné, fakturaci a platební metody" + }, "activePlan": { "title": "Aktivní plán", "subtitle": "Podrobnosti vašeho aktuálního předplatného" @@ -5073,13 +5456,16 @@ "upTo": "Až" }, "period": { - "month": "měsíc" + "month": "měsíc", + "perUserPerMonth": "/uživatel/měsíc" }, "free": { "name": "Zdarma", "highlight1": "Omezené používání nástrojů týdně", "highlight2": "Přístup ke všem nástrojům", - "highlight3": "Komunitní podpora" + "highlight3": "Komunitní podpora", + "forever": "Navždy zdarma", + "included": "Zahrnuto" }, "pro": { "name": "Pro", @@ -5091,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Vlastní ceny", "highlight2": "Vyhrazená podpora", - "highlight3": "Nejnovější funkce" + "highlight3": "Nejnovější funkce", + "requiresServer": "Vyžaduje Server", + "requiresServerMessage": "Nejprve prosím přejděte na plán Server a teprve poté na Enterprise." }, "feature": { "title": "Funkce", @@ -5101,6 +5489,12 @@ "api": "Přístup k API", "priority": "Prioritní podpora", "customPricing": "Vlastní ceny" + }, + "licenseWarning": { + "title": "Dosažen limit bezplatné self-hosted verze", + "body": "Máte {{total}} uživatelů, ale bezplatná úroveň podporuje pouze {{limit}} na server. Upgradujte, aby Stirling PDF běžel hladce.", + "overLimit": "více než {{limit}}", + "cta": "Zobrazit plány" } }, "subscription": { @@ -5119,7 +5513,34 @@ "manageBilling": "Spravovat fakturaci", "portal": { "error": "Nepodařilo se otevřít fakturační portál" - } + }, + "updateSeats": "Aktualizovat místa", + "updateEnterpriseSeats": "Aktualizovat místa Enterprise", + "currentSeats": "Aktuální počet míst", + "minimumSeats": "Minimální počet míst", + "basedOnUsers": "(aktuální uživatelé)", + "newSeatCount": "Nový počet míst", + "newSeatCountDescription": "Zvolte počet míst pro svou enterprise licenci", + "whatHappensNext": "Co bude dál?", + "stripePortalRedirect": "Budete přesměrováni do fakturačního portálu Stripe k přezkoumání a potvrzení změny počtu míst. Poměrná částka bude vypočtena automaticky.", + "preparingUpdate": "Příprava aktualizace míst...", + "seatCountTooLow": "Počet míst musí být alespoň {{minimum}} (aktuální počet uživatelů)", + "seatCountUnchanged": "Vyberte prosím jiný počet míst", + "seatsUpdated": "Místa aktualizována", + "seatsUpdatedMessage": "Počet vašich enterprise míst byl aktualizován na {{seats}}", + "updateProcessing": "Aktualizace se zpracovává", + "updateProcessingMessage": "Vaše změna počtu míst se zpracovává. Za chvíli prosím obnovte.", + "notEnterprise": "Správa míst je dostupná pouze pro enterprise licence" + }, + "upgradeBanner": { + "title": "Přejděte na Serverový plán", + "message": "Využijte Stirling PDF naplno s neomezeným počtem uživatelů a pokročilými funkcemi", + "upgradeButton": "Upgradovat nyní", + "dismiss": "Skrýt banner", + "attentionTitle": "Tento server vyžaduje zásah správce", + "attentionBody": "Váš správce se musí přihlásit, aby zobrazil další informace. Kontaktujte jej prosím co nejdříve.", + "attentionBodyAdmin": "Zkontrolujte licenční požadavky, aby byl tento server v souladu.", + "seeInfo": "Zobrazit informace" }, "payment": { "preparing": "Připravujeme vaši platbu...", @@ -5127,7 +5548,61 @@ "success": "Platba úspěšná!", "successMessage": "Vaše předplatné bylo úspěšně aktivováno. Brzy obdržíte potvrzující e‑mail.", "autoClose": "Toto okno se zavře automaticky...", - "error": "Chyba platby" + "error": "Chyba platby", + "upgradeSuccess": "Platba proběhla úspěšně! Vaše předplatné bylo upgradováno. Licence na vašem serveru byla aktualizována. Brzy obdržíte potvrzovací e-mail.", + "paymentSuccess": "Platba proběhla úspěšně! Získává se váš licenční klíč...", + "licenseActivated": "Licence aktivována! Váš licenční klíč byl uložen. Na registrovaný e-mail byl odeslán potvrzovací e-mail.", + "licenseDelayed": "Platba proběhla úspěšně! Vaše licence se generuje. Brzy obdržíte e-mail s licenčním klíčem. Pokud jej nedostanete do 10 minut, kontaktujte podporu.", + "licensePollingError": "Platba proběhla úspěšně, ale nepodařilo se automaticky získat licenční klíč. Zkontrolujte prosím e-mail nebo kontaktujte podporu s potvrzením platby.", + "licenseRetrievalError": "Platba proběhla úspěšně, ale získání licence selhalo. Licenční klíč obdržíte e-mailem. Pokud jej nedostanete do 10 minut, kontaktujte podporu.", + "syncError": "Platba proběhla úspěšně, ale synchronizace licence selhala. Vaše licence bude brzy aktualizována. Pokud problém přetrvá, kontaktujte podporu.", + "licenseSaveError": "Nepodařilo se uložit licenční klíč. Dokončení aktivace vyřešíte kontaktováním podpory a zasláním licenčního klíče.", + "paymentCanceled": "Platba byla zrušena. Nic vám nebylo účtováno.", + "syncingLicense": "Synchronizuje se vaše upgradovaná licence...", + "generatingLicense": "Generuje se váš licenční klíč...", + "upgradeComplete": "Upgrade dokončen", + "upgradeCompleteMessage": "Vaše předplatné bylo úspěšně upgradováno. Váš stávající licenční klíč byl aktualizován.", + "stripeNotConfigured": "Stripe není nastaven", + "stripeNotConfiguredMessage": "Integrace plateb Stripe není nakonfigurována. Kontaktujte prosím svého správce.", + "monthly": "Měsíčně", + "yearly": "Ročně", + "billingPeriod": "Fakturační období", + "enterpriseNote": "Počet míst lze upravit při platbě (1–1000).", + "installationId": "ID instalace", + "licenseKey": "Váš licenční klíč", + "licenseInstructions": "Bylo přidáno do vaší instalace. Kopii obdržíte také e-mailem.", + "canCloseWindow": "Toto okno můžete nyní zavřít.", + "licenseKeyProcessing": "Zpracování licenčního klíče", + "licenseDelayedMessage": "Váš licenční klíč se generuje. Brzy zkontrolujte e-mail nebo kontaktujte podporu.", + "perYear": "/rok", + "perMonth": "/měsíc", + "emailInvalid": "Zadejte prosím platnou e-mailovou adresu", + "emailStage": { + "title": "Zadejte svůj e-mail", + "description": "Použijeme jej k zaslání vašeho licenčního klíče a potvrzení.", + "emailLabel": "E-mailová adresa", + "emailPlaceholder": "your@email.com", + "continue": "Pokračovat", + "modalTitle": "Začínáme – {{planName}}" + }, + "planStage": { + "title": "Zvolte fakturační období", + "savingsNote": "Ušetřete {{percent}} % s roční fakturací", + "basePrice": "Základní cena", + "seatPrice": "Za místo", + "totalForSeats": "Celkem ({{count}} míst)", + "selectMonthly": "Zvolit měsíčně", + "selectYearly": "Zvolit ročně", + "savePercent": "Ušetříte {{percent}} %", + "savingsAmount": "Ušetříte {{amount}}", + "modalTitle": "Vyberte fakturační období – {{planName}}", + "billedYearly": "Fakturováno ročně {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Zpět k výběru plánu", + "selectedPlan": "Vybraný plán", + "modalTitle": "Dokončit platbu – {{planName}}" + } }, "firstLogin": { "title": "První přihlášení", @@ -5286,5 +5761,281 @@ "offline": "Backend offline", "starting": "Backend se spouští...", "wait": "Počkejte, až backend dokončí spouštění, a zkuste to znovu." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Odemkněte PDF pro pokračování", + "title": "Odstraňte heslo pro pokračování", + "description": "Toto PDF je chráněno heslem. Zadejte heslo, abyste mohli pokračovat v práci.", + "password": { + "label": "Heslo k PDF", + "placeholder": "Zadejte heslo k PDF" + }, + "skip": "Zatím přeskočit", + "unlock": "Odemknout a pokračovat", + "incorrectPassword": "Nesprávné heslo", + "missingFile": "Vybraný soubor již není k dispozici.", + "emptyResponse": "Odstranění hesla nevytvořilo soubor.", + "required": "Zadejte heslo pro pokračování.", + "successTitle": "Heslo odstraněno", + "successBodyWithName": "Heslo odstraněno ze souboru {{fileName}}", + "successBody": "Heslo bylo úspěšně odstraněno." + }, + "setup": { + "welcome": "Vítejte ve Stirling PDF", + "description": "Začněte výběrem způsobu používání Stirling PDF", + "step1": { + "label": "Zvolte režim", + "description": "Offline nebo server" + }, + "step2": { + "label": "Vyberte server", + "description": "Samohostovaný server" + }, + "step3": { + "label": "Přihlášení", + "description": "Zadejte přihlašovací údaje" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Přihlaste se svým účtem Stirling" + }, + "selfhosted": { + "title": "Samohostovaný server", + "description": "Připojte se ke svému serveru Stirling PDF" + } + }, + "saas": { + "title": "Přihlásit se do Stirling", + "subtitle": "Přihlaste se svým účtem Stirling" + }, + "selfhosted": { + "title": "Přihlásit se k serveru", + "subtitle": "Zadejte přihlašovací údaje k vašemu serveru" + }, + "server": { + "title": "Připojit k serveru", + "subtitle": "Zadejte URL vašeho samohostovaného serveru", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Samohostovaný server" + }, + "url": { + "label": "URL serveru", + "description": "Zadejte úplnou URL vašeho samohostovaného serveru Stirling PDF" + }, + "error": { + "emptyUrl": "Zadejte URL serveru", + "unreachable": "Nelze se připojit k serveru", + "testFailed": "Test připojení selhal" + }, + "testing": "Testuji připojení..." + }, + "login": { + "title": "Přihlášení", + "subtitle": "Zadejte přihlašovací údaje pro pokračování", + "connectingTo": "Připojuji se k:", + "username": { + "label": "Uživatelské jméno", + "placeholder": "Zadejte své uživatelské jméno" + }, + "email": { + "label": "E-mail", + "placeholder": "Zadejte svůj e-mail" + }, + "password": { + "label": "Heslo", + "placeholder": "Zadejte své heslo" + }, + "error": { + "emptyUsername": "Zadejte své uživatelské jméno", + "emptyEmail": "Zadejte svůj e-mail", + "emptyPassword": "Zadejte své heslo", + "oauthFailed": "Přihlášení přes OAuth selhalo. Zkuste to znovu." + }, + "submit": "Přihlásit se", + "signInWith": "Přihlásit se pomocí", + "oauthPending": "Otevírám prohlížeč pro ověření...", + "orContinueWith": "Nebo pokračovat e-mailem" + } + }, + "oauth": { + "success": { + "title": "Ověření úspěšné", + "message": "Toto okno můžete zavřít a vrátit se do Stirling PDF." + }, + "error": { + "title": "Ověření selhalo", + "message": "Ověření nebylo úspěšné. Toto okno můžete zavřít a zkusit to znovu." + } + }, + "pdfTextEditor": { + "title": "Editor PDF JSON", + "viewLabel": "Editor PDF", + "converting": "Převádím PDF do editovatelného formátu...", + "conversionFailed": "Nepodařilo se převést PDF. Zkuste to znovu.", + "currentFile": "Aktuální soubor: {{name}}", + "pageSummary": "Strana {{number}} z {{total}}", + "pagePreviewAlt": "Náhled stránky", + "imageLabel": "Vložený obrázek", + "noTextOnPage": "Na této stránce nebyl zjištěn žádný editovatelný text.", + "pageType": { + "paragraph": "Odstavcová stránka", + "sparse": "Řídký text" + }, + "groupingMode": { + "auto": "Auto", + "paragraph": "Odstavec", + "singleLine": "Jeden řádek" + }, + "badges": { + "unsaved": "Upraveno", + "modified": "Upraveno", + "earlyAccess": "Předběžný přístup" + }, + "actions": { + "reset": "Obnovit změny", + "downloadJson": "Stáhnout JSON", + "generatePdf": "Vytvořit PDF" + }, + "options": { + "autoScaleText": { + "title": "Automaticky přizpůsobit text rámečkům", + "description": "Automaticky vodorovně škáluje text, aby se vešel do původního ohraničujícího rámečku, když se vykreslení fontu liší od PDF." + }, + "groupingMode": { + "title": "Režim seskupení textu", + "autoDescription": "Automaticky detekuje typ stránky a vhodně seskupí text.", + "paragraphDescription": "Seskupí zarovnané řádky do vícerádkových textových rámečků.", + "singleLineDescription": "Ponechá každý řádek textu PDF jako samostatný textový rámeček." + }, + "manualGrouping": { + "descriptionInline": "Tip: Podržením Ctrl (Cmd) nebo Shift vyberete více textových rámečků. Nad výběrem se zobrazí plovoucí panel nástrojů, kde můžete slučovat, rozdělovat nebo upravovat šířky." + }, + "forceSingleElement": { + "title": "Uzamknout upravený text do jednoho prvku PDF", + "description": "Při zapnutí editor exportuje každý upravený textový rámeček jako jeden textový prvek PDF, aby se předešlo překrývání znaků nebo míchání fontů." + } + }, + "manual": { + "mergeTooltip": "Sloučit vybrané rámečky", + "merge": "Sloučit výběr", + "ungroupTooltip": "Rozdělit odstavec zpět na řádky", + "ungroup": "Zrušit seskupení", + "widthMenu": "Možnosti šířky", + "expandWidth": "Roztáhnout k okraji stránky", + "resetWidth": "Obnovit šířku", + "resizeHandle": "Upravit šířku textu" + }, + "disclaimer": { + "heading": "Omezení náhledu", + "textFocus": "Toto pracovní prostředí se zaměřuje na úpravu textu a přesouvání vložených obrázků. Složitá grafika stránky, formulářové prvky a vrstvená grafika jsou zachovány pro export, ale zde nejsou plně editovatelné.", + "previewVariance": "Některé vizuální prvky (např. okraje tabulek, tvary nebo vzhledy anotací) se v náhledu nemusí zobrazit přesně. Exportované PDF si kde je to možné zachovává původní kreslicí příkazy.", + "alpha": "Tento alfa prohlížeč se stále vyvíjí — některé fonty, barvy, efekty průhlednosti a detaily rozvržení se mohou mírně lišit. Před sdílením prosím zkontrolujte vygenerované PDF." + }, + "empty": { + "title": "Není načten žádný dokument", + "subtitle": "Načtěte soubor PDF nebo JSON a začněte upravovat text." + }, + "welcomeBanner": { + "title": "Vítejte v editoru textu PDF (předběžný přístup)", + "experimental": "Jde o experimentální funkci ve vývoji. Během používání můžete narazit na nestabilitu a problémy.", + "howItWorks": "Tento nástroj převede vaše PDF do editovatelného formátu, kde můžete upravovat text a přesouvat obrázky. Změny se uloží zpět jako nové PDF.", + "bestFor": "Nejlépe funguje s:", + "bestFor1": "Jednodušší PDF obsahující hlavně text a obrázky", + "bestFor2": "Dokumenty se standardním odstavcovým formátováním", + "bestFor3": "Dopisy, eseje, zprávy a základní dokumenty", + "notIdealFor": "Nevhodné pro:", + "notIdealFor1": "PDF se speciálním formátováním jako odrážky, tabulky nebo vícesloupcové rozvržení", + "notIdealFor2": "Magazíny, brožury nebo graficky náročné dokumenty", + "notIdealFor3": "Příručky se složitým rozvržením", + "limitations": "Aktuální omezení:", + "limitation1": "Vykreslení fontů se může mírně lišit od původního PDF", + "limitation2": "Složitá grafika, formulářová pole a anotace jsou zachovány, ale nelze je upravovat", + "limitation3": "Převod a zpracování velkých souborů může chvíli trvat", + "knownIssues": "Známé problémy (probíhá oprava):", + "issue1": "Barva textu se zatím nezachovává (brzy bude přidáno)", + "issue2": "Režim Odstavec má více problémů se zarovnáním a rozestupy – doporučen režim Jeden řádek", + "issue3": "Zobrazení náhledu se liší od exportovaného PDF – exportované PDF je bližší originálu", + "issue4": "Zarovnání otočeného textu může vyžadovat ruční úpravu", + "issue5": "Efekty průhlednosti a vrstvení se mohou lišit od originálu", + "feedback": "Toto je funkce v režimu předběžného přístupu. Prosíme, hlaste jakékoli problémy, abychom ji mohli zlepšit!", + "gotIt": "Rozumím", + "dontShowAgain": "Příště nezobrazovat" + }, + "modeChange": { + "title": "Potvrdit změnu režimu", + "warning": "Změna režimu seskupení textu resetuje všechny neuložené změny. Opravdu chcete pokračovat?", + "cancel": "Zrušit", + "confirm": "Resetovat a změnit režim" + }, + "fontAnalysis": { + "details": "Detaily fontu", + "embedded": "Vložené", + "type": "Typ", + "webFormat": "Webový formát", + "warnings": "Varování", + "suggestions": "Poznámky", + "currentPageFonts": "Fonty na této stránce", + "allFonts": "Všechny fonty", + "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": "perfect", + "subset": "subset" + }, + "errors": { + "invalidJson": "Nelze přečíst soubor JSON. Ujistěte se, že byl vytvořen nástrojem PDF to JSON.", + "pdfConversion": "Nelze převést upravený JSON zpět na PDF." + } + }, + "auth": { + "sessionExpired": "Relace vypršela", + "pleaseLoginAgain": "Přihlaste se prosím znovu.", + "accessDenied": "Přístup odepřen", + "insufficientPermissions": "Nemáte oprávnění k provedení této akce." + }, + "addText": { + "title": "Přidat text", + "header": "Přidat text do PDF", + "text": { + "name": "Text", + "placeholder": "Zadejte text, který chcete přidat", + "fontLabel": "Písmo", + "fontSizeLabel": "Velikost fontu", + "fontSizePlaceholder": "Zadejte nebo vyberte velikost fontu (8–200)", + "colorLabel": "Barva textu" + }, + "steps": { + "configure": "Nastavit text" + }, + "step": { + "createDesc": "Zadejte text, který chcete přidat", + "place": "Umístit text", + "placeDesc": "Kliknutím do PDF přidáte text" + }, + "instructions": { + "title": "Jak přidat text", + "text": "Po zadání textu výše klikněte kdekoli do PDF pro jeho umístění.", + "paused": "Umisťování pozastaveno", + "resumeHint": "Obnovením umisťování budete moci kliknout a přidat text.", + "noSignature": "Zadejte výše text pro povolení umisťování." + }, + "mode": { + "move": "Přesunout text", + "place": "Umístit text", + "pause": "Pozastavit umisťování", + "resume": "Obnovit umisťování" + }, + "results": { + "title": "Výsledky přidání textu" + }, + "error": { + "failed": "Při přidávání textu do PDF došlo k chybě." + }, + "tags": "text,anotace,štítek", + "applySignatures": "Použít text" } } \ No newline at end of file diff --git a/frontend/public/locales/da-DK/translation.json b/frontend/public/locales/da-DK/translation.json index eb759d8c1..6c305c13a 100644 --- a/frontend/public/locales/da-DK/translation.json +++ b/frontend/public/locales/da-DK/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Kommer snart:", "favorite": "Føj til favoritter", "favorites": "Favoritter", + "unavailable": "Deaktiveret af serveradministrator:", + "unavailableDependency": "Ikke tilgængelig – påkrævet værktøj mangler på serveren:", "heading": "Alle værktøjer (fuldskærmsvisning)", "noResults": "Prøv at justere din søgning eller slå beskrivelser til for at finde det, du har brug for.", "recommended": "Anbefalet", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Skift til fuldskærmstilstand", "sidebar": "Skift til sidepanel-tilstand" - } + }, + "alpha": "Alpha", + "premiumFeature": "Premium-funktion:", + "comingSoon": "Kommer snart:" }, "unsavedChanges": "Du har ikke-gemte ændringer i din PDF.", "areYouSure": "Er du sikker på, at du vil forlade?", @@ -41,6 +46,30 @@ "cancel": "Annuller", "confirm": "Udpak" }, + "defaultApp": { + "title": "Sæt som standard PDF-app", + "message": "Vil du sætte Stirling PDF som din standard PDF-editor?", + "description": "Du kan ændre dette senere i dine systemindstillinger.", + "notNow": "Ikke nu", + "setDefault": "Sæt som standard", + "dismiss": "Afvis", + "prompt": { + "title": "Sæt som standard PDF-editor", + "message": "Gør Stirling PDF til din standardapp til at åbne PDF-filer." + }, + "success": { + "title": "Standardapp valgt", + "message": "Stirling PDF er nu din standard PDF-editor" + }, + "settingsOpened": { + "title": "Indstillinger åbnet", + "message": "Vælg Stirling PDF i dine systemindstillinger" + }, + "error": { + "title": "Fejl", + "message": "Kunne ikke angive standard PDF-håndterer" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Gem", "saveToBrowser": "Gem til browser", "download": "Download", + "downloadUnavailable": "Download ikke tilgængelig for dette element", + "saveUnavailable": "Gem er ikke tilgængelig for dette element", "pin": "Fastgør fil (behold aktiv efter værktøjskørsel)", "unpin": "Frigør fil (erstat efter værktøjskørsel)", "undoOperationTooltip": "Klik for at fortryde den sidste handling og gendanne de oprindelige filer", @@ -168,6 +199,7 @@ }, "edit": "Rediger", "delete": "Slet", + "never": "Aldrig", "username": "Brugernavn", "password": "Adgangskode", "welcome": "Velkommen", @@ -262,7 +294,8 @@ "learnMore": "Lær mere", "enable": "Aktivér analytics", "disable": "Deaktiver analytics", - "settings": "Du kan ændre analytics-indstillingerne i config/settings.yml-filen" + "settings": "Du kan ændre analytics-indstillingerne i config/settings.yml-filen", + "privacyAssurance": "Vi sporer ikke personlige oplysninger eller indholdet af dine filer." }, "navbar": { "favorite": "Favoritter", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Indstillinger", - "update": "Opdatering tilgængelig", - "updateAvailable": "{0} er den aktuelt installerede version. En ny version ({1}) er tilgængelig.", - "appVersion": "App-version:", - "downloadOption": { - "title": "Vælg download mulighed (For enkelt fil ikke-zip downloads):", - "1": "Åbn i samme vindue", - "2": "Åbn i nyt vindue", - "3": "Download fil" - }, - "zipThreshold": "Zip filer når antallet af downloadede filer overstiger", - "signOut": "Log ud", - "accountSettings": "Kontoindstillinger", - "bored": { - "help": "Aktiverer påskeæg spil" - }, - "cacheInputs": { - "name": "Gem formularinput", - "help": "Aktivér for at gemme tidligere anvendte input til fremtidige kørsler" + "connection": { + "title": "Forbindelsestilstand", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Selvhostet" + }, + "server": "Server", + "user": "Logget ind som", + "logout": "Log ud" }, "general": { "title": "Generelt", "description": "Konfigurer generelle programindstillinger.", - "account": "Konto", - "accountDescription": "Administrer dine kontoindstillinger", "user": "Bruger", - "signedInAs": "Logget ind som", "logout": "Log ud", "enableFeatures": { + "dismiss": "Afvis", "title": "For systemadministratorer", "intro": "Aktivér brugergodkendelse, teamstyring og arbejdsområdefunktioner for din organisation.", "action": "Konfigurer", "and": "og", "benefit": "Aktiverer brugerroller, teamsamarbejde, admin-kontroller og enterprise-funktioner.", - "learnMore": "Læs mere i dokumentationen", - "dismiss": "Afvis" + "learnMore": "Læs mere i dokumentationen" }, - "autoUnzip": "Auto-udpak API-svar", - "autoUnzipDescription": "Udpak automatisk filer fra ZIP-svar", - "autoUnzipTooltip": "Udpak automatisk ZIP-filer returneret fra API-operationer. Deaktivér for at beholde ZIP-filer intakte. Dette påvirker ikke automatiseringsarbejdsgange.", - "autoUnzipFileLimit": "Grænse for auto-udpakning", - "autoUnzipFileLimitDescription": "Maksimalt antal filer der udtrækkes fra ZIP", - "autoUnzipFileLimitTooltip": "Pak kun ud, hvis ZIP'en indeholder dette antal filer eller færre. Sæt højere for at udpakke større ZIP'er.", "defaultToolPickerMode": "Standardtilstand for værktøjsvælger", "defaultToolPickerModeDescription": "Vælg om værktøjsvælgeren skal åbne i fuldskærm eller sidepanel som standard", "mode": { - "fullscreen": "Fuldskærm", - "sidebar": "Sidepanel" - } + "sidebar": "Sidepanel", + "fullscreen": "Fuldskærm" + }, + "autoUnzipTooltip": "Udpak automatisk ZIP-filer returneret fra API-operationer. Deaktivér for at beholde ZIP-filer intakte. Dette påvirker ikke automatiseringsarbejdsgange.", + "autoUnzip": "Auto-udpak API-svar", + "autoUnzipDescription": "Udpak automatisk filer fra ZIP-svar", + "autoUnzipFileLimitTooltip": "Pak kun ud, hvis ZIP'en indeholder dette antal filer eller færre. Sæt højere for at udpakke større ZIP'er.", + "autoUnzipFileLimit": "Grænse for auto-udpakning", + "autoUnzipFileLimitDescription": "Maksimalt antal filer der udtrækkes fra ZIP", + "defaultPdfEditor": "Standard PDF-editor", + "defaultPdfEditorActive": "Stirling PDF er din standard PDF-editor", + "defaultPdfEditorInactive": "En anden app er sat som standard", + "defaultPdfEditorChecking": "Tjekker...", + "defaultPdfEditorSet": "Allerede standard", + "setAsDefault": "Sæt som standard", + "updates": { + "title": "Softwareopdateringer", + "description": "Søg efter opdateringer og se versionsinfo", + "currentVersion": "Nuværende version", + "latestVersion": "Seneste version", + "checkForUpdates": "Søg efter opdateringer", + "viewDetails": "Vis detaljer" + }, + "hideUnavailableTools": "Skjul utilgængelige værktøjer", + "hideUnavailableToolsDescription": "Fjern værktøjer, som din server har deaktiveret, i stedet for at vise dem nedtonet.", + "hideUnavailableConversions": "Skjul utilgængelige konverteringer", + "hideUnavailableConversionsDescription": "Fjern deaktiverede konverteringsmuligheder i Konverter-værktøjet i stedet for at vise dem nedtonet." }, "hotkeys": { - "title": "Tastaturgenveje", - "description": "Hold markøren over et værktøj for at se dets genvej eller tilpas den nedenfor. Klik \"Skift genvej\" og tryk en ny tastekombination. Tryk Esc for at annullere.", - "errorModifier": { - "mac": "Medtag ⌘ (Command), ⌥ (Option) eller en anden modifikatortast i din genvej.", - "windows": "Medtag Ctrl, Alt eller en anden modifikatortast i din genvej." - }, "errorConflict": "Genvej bruges allerede af {{tool}}.", + "searchPlaceholder": "Søg værktøjer...", "none": "Ikke tildelt", "customBadge": "Brugerdefineret", "defaultLabel": "Standard: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Skift genvej", "reset": "Nulstil", "shortcut": "Genvej", - "noShortcut": "Ingen genvej angivet", - "searchPlaceholder": "Søg værktøjer..." + "noShortcut": "Ingen genvej angivet" } }, + "update": { + "modalTitle": "Opdatering tilgængelig", + "current": "Nuværende version", + "latest": "Seneste version", + "latestStable": "Seneste stabile", + "priorityLabel": "Prioritet", + "recommendedAction": "Anbefalet handling", + "breakingChangesDetected": "Inkompatible ændringer registreret", + "breakingChangesMessage": "Nogle versioner indeholder inkompatible ændringer. Gennemgå venligst migrationsvejledningerne nedenfor før opdatering.", + "migrationGuides": "Migrationsvejledninger", + "viewGuide": "Vis vejledning", + "loadingDetailedInfo": "Indlæser detaljerede oplysninger...", + "close": "Luk", + "viewAllReleases": "Se alle udgivelser", + "downloadLatest": "Download seneste", + "availableUpdates": "Tilgængelige opdateringer", + "unableToLoadDetails": "Kan ikke indlæse detaljerede oplysninger.", + "version": "Version", + "urgentUpdateAvailable": "Hastende opdatering", + "updateAvailable": "Opdatering tilgængelig", + "releaseNotes": "Udgivelsesnoter", + "priority": { + "urgent": "Hastende", + "normal": "Normal", + "minor": "Mindre", + "low": "Lav" + }, + "breakingChanges": "Inkompatible ændringer", + "breakingChangesDefault": "Denne version indeholder inkompatible ændringer.", + "migrationGuide": "Migrationsvejledning" + }, "changeCreds": { "title": "Skift Legitimationsoplysninger", "header": "Opdater Dine Kontooplysninger", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Overlejrer PDF'er oven på en anden PDF", "title": "Overlejr PDF'er" + }, + "pdfTextEditor": { + "title": "PDF-teksteditor", + "desc": "Gennemse og rediger Stirling PDF JSON-eksporter med grupperet tekstredigering og regenerering af PDF" + }, + "addText": { + "tags": "tekst,annotering,etiket", + "title": "Tilføj tekst", + "desc": "Tilføj brugerdefineret tekst hvor som helst i din PDF" } }, "landing": { "addFiles": "Tilføj filer", - "uploadFromComputer": "Upload fra computer" + "uploadFromComputer": "Upload fra computer", + "openFromComputer": "Åbn fra computer" }, "viewPdf": { "tags": "se,læs,annotér,tekst,billede", @@ -849,6 +922,11 @@ }, "error": { "failed": "Der opstod en fejl under sammenfletning af PDF'erne." + }, + "tooltip": { + "header": { + "title": "Overblik over fletteindstillinger" + } } }, "split": { @@ -1182,9 +1260,43 @@ "tags": "img,jpg,billede,foto", "title": "Tilføj Billede", "header": "Tilføj billede til PDF", - "everyPage": "Hver Side?", - "upload": "Tilføj billede", - "submit": "Tilføj billede" + "image": { + "name": "Billede", + "placeholder": "Upload et billede", + "label": "Billedfil" + }, + "steps": { + "configure": "Konfigurer billede" + }, + "step": { + "createDesc": "Upload billedet, du vil tilføje", + "place": "Placer billede", + "placeDesc": "Klik på PDF'en for at tilføje dit billede" + }, + "instructions": { + "title": "Sådan tilføjer du billeder", + "text": "Når du har uploadet billedet ovenfor, skal du klikke hvor som helst på PDF'en for at placere det.", + "paused": "Placering sat på pause", + "resumeHint": "Genoptag placering for at klikke og tilføje dit billede.", + "noSignature": "Upload et billede ovenfor for at aktivere placering." + }, + "mode": { + "move": "Flyt billede", + "place": "Placer billede", + "pause": "Sæt placering på pause", + "resume": "Genoptag placering" + }, + "results": { + "title": "Resultater for billedtilføjelse" + }, + "error": { + "failed": "Der opstod en fejl under tilføjelse af billede til PDF'en." + }, + "saved": { + "defaultLabel": "Billede", + "defaultImageLabel": "Uploadet billede" + }, + "applySignatures": "Anvend billeder" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1397,6 +1509,93 @@ }, "submit": "Ændre" }, + "editTableOfContents": { + "settings": { + "title": "Bogmærker og oversigt", + "replaceExisting": "Erstat eksisterende bogmærker (fjern markering for at tilføje efter)", + "replaceExistingHint": "Når deaktiveret, tilføjes den nye oversigt efter de nuværende bogmærker." + }, + "actions": { + "source": "Indlæs bogmærker", + "selectedFile": "Indlæst fra {{file}}", + "noFile": "Vælg en PDF for at udtrække eksisterende bogmærker.", + "loadFromPdf": "Indlæs fra valgt PDF", + "importJson": "Importer JSON", + "importClipboard": "Indsæt JSON fra udklipsholderen", + "export": "Eksporter bogmærker", + "exportJson": "Download JSON", + "exportClipboard": "Kopiér JSON til udklipsholder", + "clipboardUnavailable": "Adgang til udklipsholder er ikke tilgængelig i denne browser." + }, + "info": { + "line1": "Hvert bogmærke skal have en beskrivende titel og den side, det skal åbne.", + "line2": "Brug underbogmærker til at opbygge et hierarki for kapitler, afsnit eller underafsnit.", + "line3": "Importer bogmærker fra den valgte PDF eller fra en JSON-fil for at spare tid." + }, + "workbench": { + "empty": { + "title": "Åbn værktøjet for at begynde at redigere", + "description": "Vælg værktøjet Rediger indholdsfortegnelse for at indlæse arbejdsområdet." + }, + "tabTitle": "Oversigtsarbejdsområde", + "subtitle": "Importer bogmærker, opbyg hierarkier og anvend oversigten uden trange sidepaneler.", + "noFile": "Ingen PDF valgt", + "fileLabel": "Ændringer anvendes på den aktuelt valgte PDF.", + "filePrompt": "Vælg en PDF fra dit bibliotek eller upload en ny for at starte.", + "changeFile": "Skift PDF", + "selectFile": "Vælg PDF" + }, + "editor": { + "heading": "Bogmærke-editor", + "description": "Tilføj, indlejr og omarrangér bogmærker for at skabe din PDF-oversigt.", + "addTopLevel": "Tilføj bogmærke på øverste niveau", + "empty": { + "title": "Ingen bogmærker endnu", + "description": "Importer eksisterende bogmærker, eller start med at tilføje din første post.", + "action": "Tilføj første bogmærke" + }, + "defaultTitle": "Nyt bogmærke", + "defaultChildTitle": "Underbogmærke", + "defaultSiblingTitle": "Nyt bogmærke", + "untitled": "Unavngivet bogmærke", + "childBadge": "Under", + "pagePreview": "Side {{page}}", + "field": { + "title": "Bogmærketitel", + "page": "Målsidenummer" + }, + "actions": { + "toggle": "Skift underbogmærker", + "addChild": "Tilføj underbogmærke", + "addSibling": "Tilføj sideordnet bogmærke", + "remove": "Fjern bogmærke" + }, + "confirmRemove": "Fjerne dette bogmærke og alle dets underbogmærker?" + }, + "messages": { + "loadedTitle": "Bogmærker udtrukket", + "loadedBody": "Eksisterende bogmærker fra PDF'en blev indlæst i editoren.", + "noBookmarks": "Der blev ikke fundet bogmærker i den valgte PDF.", + "loadFailed": "Kan ikke udtrække bogmærker fra den valgte PDF.", + "imported": "Bogmærker importeret", + "importedBody": "Din JSON-oversigt erstattede det aktuelle indhold i editoren.", + "importedClipboard": "Data fra udklipsholderen erstattede den aktuelle bogmærkeliste.", + "invalidJson": "Ugyldig JSON-struktur", + "invalidJsonBody": "Angiv en gyldig JSON-fil med bogmærker, og prøv igen.", + "exported": "JSON-download klar", + "copied": "Kopieret til udklipsholderen", + "copiedBody": "JSON for bogmærker kopieret.", + "copyFailed": "Kopiering mislykkedes" + }, + "error": { + "failed": "Kunne ikke opdatere indholdsfortegnelsen" + }, + "submit": "Anvend indholdsfortegnelsen", + "results": { + "title": "Opdateret PDF med bogmærker", + "subtitle": "Download den behandlede fil, eller fortryd handlingen nedenfor." + } + }, "removePages": { "tags": "Fjern sider,slet sider", "title": "Fjern", @@ -1652,7 +1851,7 @@ "placeholder": "Dokumentopretter" }, "producer": { - "label": "Producer", + "label": "Producent", "placeholder": "Dokumentproducer" }, "dates": { @@ -1978,13 +2177,54 @@ "title": "Tegn din underskrift", "clear": "Ryd" }, + "canvas": { + "heading": "Tegn din signatur", + "clickToOpen": "Klik for at åbne tegnefeltet", + "modalTitle": "Tegn din signatur", + "colorLabel": "Farve", + "penSizeLabel": "Pennestørrelse", + "penSizePlaceholder": "Størrelse", + "clear": "Ryd tegnefelt", + "colorPickerTitle": "Vælg stregfarve" + }, "text": { "name": "Underskrivers navn", - "placeholder": "Indtast dit fulde navn" + "placeholder": "Indtast dit fulde navn", + "fontLabel": "Skrifttype", + "fontSizeLabel": "Skriftstørrelse", + "fontSizePlaceholder": "Skriv eller vælg skriftstørrelse (8-200)", + "colorLabel": "Tekstfarve" }, "clear": "Ryd", "add": "Tilføj", - "saved": "Gemte Signaturer", + "saved": { + "heading": "Gemte signaturer", + "description": "Genbrug gemte signaturer når som helst.", + "emptyTitle": "Ingen gemte signaturer endnu", + "emptyDescription": "Tegn, upload eller skriv en signatur ovenfor, og brug derefter \"Gem i bibliotek\" for at gemme op til {{max}} favoritter klar til brug.", + "type": { + "canvas": "Tegning", + "image": "Upload", + "text": "Tekst" + }, + "limitTitle": "Grænse nået", + "limitDescription": "Fjern en gemt signatur, før du tilføjer nye (maks. {{max}}).", + "carouselPosition": "{{current}} af {{total}}", + "prev": "Forrige", + "next": "Næste", + "delete": "Fjern", + "label": "Etiket", + "defaultLabel": "Signatur", + "defaultCanvasLabel": "Tegnet signatur", + "defaultImageLabel": "Uploadet signatur", + "defaultTextLabel": "Indtastet signatur", + "saveButton": "Gem signatur", + "saveUnavailable": "Opret først en signatur for at gemme den.", + "noChanges": "Nuværende signatur er allerede gemt.", + "status": { + "saved": "Gemt" + } + }, "save": "Gem Signatur", "applySignatures": "Anvend underskrifter", "personalSigs": "Personlige Signaturer", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Konfigurer underskrift" }, + "step": { + "createDesc": "Vælg, hvordan du vil oprette signaturen", + "place": "Placér og gem", + "placeDesc": "Placér signaturen på din PDF" + }, "type": { "title": "Underskriftstype", "draw": "Tegn", "canvas": "Lærred", "image": "Billede", - "text": "Tekst" + "text": "Tekst", + "saved": "Gemt" }, "image": { "label": "Upload billede af underskrift", @@ -2019,11 +2265,17 @@ "title": "Sådan tilføjer du underskrift", "canvas": "Når du har tegnet din underskrift på lærredet, luk dialogen og klik derefter hvor som helst på PDF'en for at placere den.", "image": "Når du har uploadet din underskriftsbillede ovenfor, klik hvor som helst på PDF'en for at placere den.", - "text": "Når du har indtastet dit navn ovenfor, klik hvor som helst på PDF'en for at placere din underskrift." + "saved": "Vælg en gemt signatur ovenfor, og klik derefter hvor som helst på PDF'en for at placere den.", + "text": "Når du har indtastet dit navn ovenfor, klik hvor som helst på PDF'en for at placere din underskrift.", + "paused": "Placering sat på pause", + "resumeHint": "Genoptag placering for at klikke og tilføje din signatur.", + "noSignature": "Opret en signatur ovenfor for at aktivere placeringsværktøjer." }, "mode": { "move": "Flyt underskrift", - "place": "Placer underskrift" + "place": "Placer underskrift", + "pause": "Sæt placering på pause", + "resume": "Genoptag placering" }, "updateAndPlace": "Opdater og placer", "activate": "Aktivér placering af underskrift", @@ -2163,6 +2415,14 @@ "title": "Om fjernelse af annoteringer", "description": "Dette værktøj fjerner alle annoteringer (kommentarer, fremhævninger, noter osv.) fra dine PDF-dokumenter." }, + "tooltip": { + "header": { + "title": "Om Fjern annoteringer" + }, + "description": { + "title": "Hvad den gør" + } + }, "error": { "failed": "Der opstod en fejl under fjernelse af annoteringer fra PDF'en." } @@ -2568,7 +2828,7 @@ "submit": "Indsend" }, "adjustPageScale": { - "tags": "resize,modify,dimension,adapt", + "tags": "ændre størrelse,ændre,dimension,tilpas", "title": "Juster sideskalering", "header": "Juster sideskalering", "scaleFactor": { @@ -2627,6 +2887,9 @@ "header": { "title": "Sådan fungerer Automatisk omdøbning" }, + "description": { + "title": "Hvad den gør" + }, "howItWorks": { "title": "Smart omdøbning", "text": "Finder automatisk titlen fra dit PDF-indhold og bruger den som filnavn.", @@ -2634,6 +2897,9 @@ "bullet2": "Opretter et rent, gyldigt filnavn ud fra den fundne titel", "bullet3": "Beholder det oprindelige navn, hvis ingen passende titel findes" } + }, + "settings": { + "title": "Om" } }, "adjust-contrast": { @@ -3058,7 +3324,7 @@ "algorithm": "Algoritme", "keySize": "Nøglestørrelse", "version": "Version", - "keyUsage": "Key Usage", + "keyUsage": "Nøgleanvendelse", "selfSigned": "Selvsigneret", "bits": "bit", "details": "Certifikatdetaljer" @@ -3227,7 +3493,26 @@ "unexpectedError": "Uventet fejl: {{message}}", "accountCreatedSuccess": "Konto oprettet! Du kan nu logge ind.", "passwordChangedSuccess": "Adgangskoden blev ændret! Log ind med din nye adgangskode.", - "credentialsUpdated": "Dine legitimationsoplysninger er opdateret. Log ind igen." + "credentialsUpdated": "Dine legitimationsoplysninger er opdateret. Log ind igen.", + "defaultCredentials": "Standard loginoplysninger", + "changePasswordWarning": "Skift din adgangskode efter du har logget ind første gang", + "slides": { + "overview": { + "alt": "Stirling PDF oversigt", + "title": "Din alt-i-en-løsning til alle dine PDF-behov.", + "subtitle": "En privacy-first cloud suite til PDF'er, der lader dig konvertere, signere, redigere og administrere dokumenter samt 50+ andre kraftfulde værktøjer." + }, + "edit": { + "alt": "Rediger PDF'er", + "title": "Rediger PDF'er for at vise/beskytte de oplysninger, du ønsker", + "subtitle": "Med over et dusin værktøjer til at redigere, signere, læse og manipulere PDF'er skal du nok finde det, du leder efter." + }, + "secure": { + "alt": "Sikr PDF'er", + "title": "Beskyt følsomme oplysninger i dine PDF'er", + "subtitle": "Tilføj adgangskoder, slør indhold, og håndter certifikater nemt." + } + } }, "signup": { "title": "Opret en konto", @@ -3598,7 +3883,9 @@ "exportAll": "Eksporter PDF", "downloadSelected": "Download valgte filer", "downloadAll": "Download alle", + "saveAll": "Gem alle", "toggleTheme": "Skift tema", + "toggleBookmarks": "Skift bogmærker", "language": "Sprog", "search": "Søg i PDF", "panMode": "Pan-tilstand", @@ -3685,8 +3972,16 @@ "saved": "Indstillinger gemt", "saveSuccess": "Indstillinger gemt", "save": "Gem ændringer", + "discard": "Kassér", "restartRequired": "Genstart påkrævet", "loginRequired": "Login-tilstand skal være aktiveret for at ændre adminindstillinger", + "unsavedChanges": { + "title": "Ugemte ændringer", + "message": "Du har ugemte ændringer. Vil du kassere dem?", + "cancel": "Fortsæt redigering", + "discard": "Kassér ændringer", + "hint": "Du har ugemte ændringer" + }, "loginDisabled": { "title": "Login-tilstand påkrævet", "message": "Login-tilstand skal være aktiveret for at ændre adminindstillinger. Angiv SECURITY_ENABLELOGIN=true i dit miljø eller security.enableLogin: true i settings.yml, og genstart derefter serveren.", @@ -4137,7 +4432,7 @@ "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", "weasyPrint": "WeasyPrint", - "installApp": "Install App", + "installApp": "Installer app", "calibre": "Calibre", "ghostscript": "Ghostscript", "ocrMyPdf": "OCRmyPDF" @@ -4212,9 +4507,21 @@ "title": "Premium og Enterprise", "description": "Konfigurer din premium- eller enterprise-licensnøgle.", "license": "Licenskonfiguration", + "licenseKey": { + "toggle": "Har du en licensnøgle eller en certifikatfil?", + "info": "Hvis du har en licensnøgle eller en certifikatfil fra et direkte køb, kan du indtaste den her for at aktivere premium- eller enterprise-funktioner." + }, "key": { "label": "Licensnøgle", - "description": "Indtast din premium- eller enterprise-licensnøgle" + "description": "Indtast din premium- eller enterprise-licensnøgle", + "success": "Licensnøgle gemt", + "successMessage": "Din licensnøgle er aktiveret. Genstart er ikke påkrævet.", + "overwriteWarning": { + "title": "⚠️ Advarsel: Eksisterende licens fundet", + "line1": "Overskrivning af din nuværende licensnøgle kan ikke fortrydes.", + "line2": "Din tidligere licens går permanent tabt, medmindre du har sikkerhedskopieret den andetsteds.", + "line3": "Vigtigt: Hold licensnøgler private og sikre. Del dem aldrig offentligt." + } }, "enabled": { "label": "Aktivér premium-funktioner", @@ -4278,12 +4585,17 @@ "or": "eller", "dropFileHere": "Slip fil her eller klik for at uploade", "dropFilesHere": "Slip filer her eller klik på upload-knappen", + "dropFilesHereOpen": "Slip filer her eller klik på knappen Åbn", "pdfFilesOnly": "Kun PDF-filer", "supportedFileTypes": "Understøttede filtyper", "upload": "Upload", "uploadFile": "Upload fil", "uploadFiles": "Upload filer", + "open": "Åbn", + "openFile": "Åbn fil", + "openFiles": "Åbn filer", "noFilesInStorage": "Ingen filer tilgængelige i lageret. Upload nogle filer først.", + "noFilesInStorageOpen": "Ingen filer tilgængelige i lageret. Åbn nogle filer først.", "selectFromStorage": "Vælg fra lager", "backToTools": "Tilbage til værktøjer", "addFiles": "Tilføj filer", @@ -4329,6 +4641,8 @@ "myFiles": "Mine filer", "noRecentFiles": "Ingen seneste filer fundet", "googleDriveNotAvailable": "Google Drive-integration ikke tilgængelig", + "downloadSelected": "Download valgte", + "saveSelected": "Gem valgte", "openFiles": "Åbn filer", "openFile": "Åbn fil", "details": "Fildetaljer", @@ -4341,7 +4655,6 @@ "selectAll": "Vælg alle", "deselectAll": "Fravælg alle", "deleteSelected": "Slet valgte", - "downloadSelected": "Download valgte", "selectedCount": "{{count}} valgt", "download": "Download", "delete": "Slet", @@ -4439,7 +4752,7 @@ "keyLength": { "label": "Længde på krypteringsnøgle", "40bit": "40-bit (Lav)", - "128bit": "128-bit (Standard)", + "128bit": "128-bit (standard)", "256bit": "256-bit (Høj)" } }, @@ -4621,9 +4934,14 @@ "secureWorkflow": "Sikkerhedsarbejdsgang", "secureWorkflowDesc": "Sikrer PDF-dokumenter ved at fjerne potentielt ondsindet indhold som JavaScript og indlejrede filer og tilføjer derefter adgangskodebeskyttelse for at forhindre uautoriseret adgang. Adgangskoden er som standard sat til 'password'.", "processImages": "Behandl billeder", - "processImagesDesc": "Konverterer flere billedfiler til ét PDF-dokument og anvender derefter OCR-teknologi for at udtrække søgbar tekst fra billederne." + "processImagesDesc": "Konverterer flere billedfiler til ét PDF-dokument og anvender derefter OCR-teknologi for at udtrække søgbar tekst fra billederne.", + "prePublishSanitization": "Sanering før publicering", + "prePublishSanitizationDesc": "Saneringsworkflow, der fjerner al skjult metadata, JavaScript, indlejrede filer og annoteringer og fladgør formularer for at forhindre datalækage før publicering af PDF'er online." } }, + "colorPicker": { + "title": "Vælg farve" + }, "common": { "previous": "Forrige", "next": "Næste", @@ -4639,7 +4957,13 @@ "used": "brugt", "available": "tilgængelig", "cancel": "Annullér", - "preview": "Forhåndsvisning" + "preview": "Forhåndsvisning", + "close": "Luk", + "done": "Færdig", + "loading": "Indlæser...", + "back": "Tilbage", + "continue": "Fortsæt", + "error": "Fejl" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Tilføj flere filer...", "selectedFiles": "Valgte filer", "submit": "Tilføj vedhæftede filer", + "tooltip": { + "header": { + "title": "Om Tilføj vedhæftede filer" + }, + "description": { + "title": "Hvad den gør" + } + }, "results": { "title": "Resultater for vedhæftninger" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Tilpasset placering", "details": "Detaljer", - "downloadUnavailable": "Download ikke tilgængelig for dette element", "invalidUndoData": "Kan ikke fortryde: ugyldige handlingsdata", "margin": { "large": "Stor", @@ -4801,6 +5132,10 @@ "maybeLater": "Måske senere", "dontShowAgain": "Vis ikke igen" }, + "welcomeSlide": { + "title": "Velkommen til Stirling", + "body": "Stirling PDF er nu klar til teams i alle størrelser. Denne opdatering indeholder et nyt layout, stærke nye admin-funktioner og vores mest efterspurgte funktion – Rediger tekst." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Lad os vælge Beskær-værktøjet for at demonstrere, hvordan man bruger et af værktøjerne.", "toolInterface": "Dette er Beskær-værktøjets grænseflade. Som du kan se, er der ikke meget at se, fordi vi endnu ikke har tilføjet nogen PDF-filer at arbejde med.", @@ -4823,7 +5158,39 @@ "next": "Næste", "finish": "Færdig", "startTour": "Start rundtur", - "startTourDescription": "Tag en guidet tur gennem Stirling PDFs nøglefunktioner" + "startTourDescription": "Tag en guidet tur gennem Stirling PDFs nøglefunktioner", + "buttons": { + "next": "Næste →", + "back": "Tilbage", + "skipForNow": "Spring over for nu", + "download": "Download →", + "showMeAround": "Vis mig rundt", + "skipTheTour": "Spring rundvisningen over" + }, + "serverLicense": { + "skip": "Spring over for nu", + "seePlans": "Se planer →", + "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 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." + }, + "desktopInstall": { + "title": "Download", + "titleWithOs": "Download til {{osLabel}}", + "body": "Stirling fungerer bedst som desktop-app. Du kan bruge den offline, få hurtigere adgang til dokumenter og redigere lokalt på din computer." + }, + "planOverview": { + "adminTitle": "Admin-overblik", + "userTitle": "Plan-overblik", + "adminBodyLoginEnabled": "Som admin kan du administrere brugere, konfigurere indstillinger og overvåge serverens tilstand. De første {{freeTierLimit}} personer på din server kan bruge Stirling gratis.", + "adminBodyLoginDisabled": "Når du aktiverer login-tilstand, kan du administrere brugere, konfigurere indstillinger og overvåge serverens tilstand. De første {{freeTierLimit}} personer på din server kan bruge Stirling gratis.", + "userBody": "Invitér teammedlemmer, tildel roller, og hold dine dokumenter organiseret i ét sikkert arbejdsområde. Aktiver login-tilstand, når du er klar til at vokse ud over solo-brug." + }, + "securityCheck": { + "message": "Applikationen har gennemgået væsentlige ændringer for nylig. Din serveradmins opmærksomhed kan være påkrævet. Bekræft din rolle for at fortsætte." + } }, "adminOnboarding": { "welcome": "Velkommen til Administratorrundturen! Lad os udforske de avancerede enterprise-funktioner og indstillinger, der er tilgængelige for systemadministratorer.", @@ -4852,7 +5219,10 @@ "role": "Rolle", "team": "Team", "status": "Status", - "actions": "Handlinger", + "actions": { + "label": "Handlinger", + "upgrade": "Opgrader" + }, "noMembersFound": "Ingen medlemmer fundet", "active": "Aktiv", "disabled": "Deaktiveret", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} ledig(e) brugerplads(er)", "noSlotsAvailable": "Ingen pladser tilgængelige", "currentUsage": "Bruger i øjeblikket {{current}} af {{max}} brugerlicenser" - } + }, + "loginRequired": "Aktivér først login-tilstand" }, "teams": { "title": "Teams", @@ -5057,6 +5428,17 @@ "showComparison": "Sammenlign alle funktioner", "hideComparison": "Skjul funktionssammenligning", "featureComparison": "Sammenligning af funktioner", + "from": "Fra", + "perMonth": "/måned", + "perSeat": "/plads", + "withServer": "+ Server-plan", + "licensedSeats": "Licenseret: {{count}} pladser", + "includedInCurrent": "Inkluderet i din plan", + "selectPlan": "Vælg plan", + "manage": "Administrer", + "manageSubscription": { + "description": "Administrer dit abonnement, fakturering og betalingsmetoder" + }, "activePlan": { "title": "Aktiv plan", "subtitle": "Dine nuværende abonnementsdetaljer" @@ -5074,13 +5456,16 @@ "upTo": "Op til" }, "period": { - "month": "måned" + "month": "måned", + "perUserPerMonth": "/bruger/måned" }, "free": { "name": "Gratis", "highlight1": "Begrænset brug af værktøjer pr. uge", "highlight2": "Adgang til alle værktøjer", - "highlight3": "Support fra fællesskabet" + "highlight3": "Support fra fællesskabet", + "forever": "Altid gratis", + "included": "Inkluderet" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Skræddersyet prissætning", "highlight2": "Dedikeret support", - "highlight3": "Nyeste funktioner" + "highlight3": "Nyeste funktioner", + "requiresServer": "Kræver server", + "requiresServerMessage": "Opgrader først til Server-planen, før du opgraderer til Enterprise." }, "feature": { "title": "Funktion", @@ -5102,6 +5489,12 @@ "api": "API-adgang", "priority": "Prioriteret support", "customPricing": "Skræddersyet prissætning" + }, + "licenseWarning": { + "title": "Gratis selvhostet grænse nået", + "body": "Du har {{total}} brugere, men den gratis plan understøtter kun {{limit}} pr. server. Opgrader for at holde Stirling PDF kørende uden problemer.", + "overLimit": "mere end {{limit}}", + "cta": "Se planer" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Administrer fakturering", "portal": { "error": "Kunne ikke åbne faktureringsportal" - } + }, + "updateSeats": "Opdater pladser", + "updateEnterpriseSeats": "Opdater Enterprise-pladser", + "currentSeats": "Nuværende pladser", + "minimumSeats": "Minimum pladser", + "basedOnUsers": "(nuværende brugere)", + "newSeatCount": "Nyt antal pladser", + "newSeatCountDescription": "Vælg antal pladser til din Enterprise-licens", + "whatHappensNext": "Hvad sker der nu?", + "stripePortalRedirect": "Du bliver omdirigeret til Stripes faktureringsportal for at gennemgå og bekræfte ændringen. Det forholdsmæssige beløb beregnes automatisk.", + "preparingUpdate": "Forbereder opdatering af pladser...", + "seatCountTooLow": "Antal pladser skal være mindst {{minimum}} (nuværende antal brugere)", + "seatCountUnchanged": "Vælg venligst et andet antal pladser", + "seatsUpdated": "Pladser opdateret", + "seatsUpdatedMessage": "Dine Enterprise-pladser er opdateret til {{seats}}", + "updateProcessing": "Opdatering behandles", + "updateProcessingMessage": "Din opdatering af pladser behandles. Opdater siden om et øjeblik.", + "notEnterprise": "Pladshåndtering er kun tilgængelig for Enterprise-licenser" + }, + "upgradeBanner": { + "title": "Opgrader til Server-plan", + "message": "Få mest ud af Stirling PDF med ubegrænsede brugere og avancerede funktioner", + "upgradeButton": "Opgrader nu", + "dismiss": "Afvis banner", + "attentionTitle": "Denne server kræver admin-opmærksomhed", + "attentionBody": "Din admin skal logge ind for at se flere oplysninger. Kontakt dem straks.", + "attentionBodyAdmin": "Gennemgå licenskravene for at holde denne server i overensstemmelse.", + "seeInfo": "Se info" }, "payment": { "preparing": "Forbereder din betaling...", @@ -5128,7 +5548,61 @@ "success": "Betaling gennemført!", "successMessage": "Dit abonnement er blevet aktiveret. Du modtager snart en bekræftelsesmail.", "autoClose": "Dette vindue lukker automatisk...", - "error": "Betalingsfejl" + "error": "Betalingsfejl", + "upgradeSuccess": "Betaling gennemført! Dit abonnement er opgraderet. Licensen er opdateret på din server. Du modtager snart en bekræftelsesmail.", + "paymentSuccess": "Betaling gennemført! Henter din licensnøgle...", + "licenseActivated": "Licens aktiveret! Din licensnøgle er gemt. En bekræftelsesmail er sendt til din registrerede e-mailadresse.", + "licenseDelayed": "Betaling gennemført! Din licens genereres. Du modtager snart en e-mail med din licensnøgle. Hvis du ikke modtager den inden for 10 minutter, kontakt support.", + "licensePollingError": "Betaling gennemført, men vi kunne ikke hente din licensnøgle automatisk. Tjek din e-mail, eller kontakt support med din betalingsbekræftelse.", + "licenseRetrievalError": "Betaling gennemført, men hentning af licens mislykkedes. Du modtager din licensnøgle via e-mail. Kontakt support, hvis du ikke modtager den inden for 10 minutter.", + "syncError": "Betaling gennemført, men licenssynkronisering mislykkedes. Din licens bliver opdateret snart. Kontakt support, hvis problemet fortsætter.", + "licenseSaveError": "Kunne ikke gemme licensnøgle. Kontakt support med din licensnøgle for at fuldføre aktiveringen.", + "paymentCanceled": "Betalingen blev annulleret. Du er ikke blevet opkrævet.", + "syncingLicense": "Synkroniserer din opgraderede licens...", + "generatingLicense": "Genererer din licensnøgle...", + "upgradeComplete": "Opgradering fuldført", + "upgradeCompleteMessage": "Dit abonnement er opgraderet. Din eksisterende licensnøgle er blevet opdateret.", + "stripeNotConfigured": "Stripe ikke konfigureret", + "stripeNotConfiguredMessage": "Stripe-betalingsintegration er ikke konfigureret. Kontakt din administrator.", + "monthly": "Månedlig", + "yearly": "Årlig", + "billingPeriod": "Faktureringsperiode", + "enterpriseNote": "Pladser kan justeres i checkout (1-1000).", + "installationId": "Installations-ID", + "licenseKey": "Din licensnøgle", + "licenseInstructions": "Dette er tilføjet til din installation. Du modtager også en kopi via e-mail.", + "canCloseWindow": "Du kan nu lukke dette vindue.", + "licenseKeyProcessing": "Behandler licensnøgle", + "licenseDelayedMessage": "Din licensnøgle genereres. Tjek din e-mail om lidt, eller kontakt support.", + "perYear": "/år", + "perMonth": "/måned", + "emailInvalid": "Indtast en gyldig e-mailadresse", + "emailStage": { + "title": "Indtast din e-mail", + "description": "Vi bruger den til at sende din licensnøgle og kvitteringer.", + "emailLabel": "E-mailadresse", + "emailPlaceholder": "your@email.com", + "continue": "Fortsæt", + "modalTitle": "Kom i gang – {{planName}}" + }, + "planStage": { + "title": "Vælg din faktureringsperiode", + "savingsNote": "Spar {{percent}}% med årlig fakturering", + "basePrice": "Basispris", + "seatPrice": "Per plads", + "totalForSeats": "I alt ({{count}} pladser)", + "selectMonthly": "Vælg månedlig", + "selectYearly": "Vælg årlig", + "savePercent": "Spar {{percent}}%", + "savingsAmount": "Du sparer {{amount}}", + "modalTitle": "Vælg faktureringsperiode – {{planName}}", + "billedYearly": "Faktureres årligt med {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Tilbage til planvalg", + "selectedPlan": "Valgt plan", + "modalTitle": "Gennemfør betaling – {{planName}}" + } }, "firstLogin": { "title": "Første login", @@ -5287,5 +5761,281 @@ "offline": "Backend offline", "starting": "Backend starter op...", "wait": "Vent, til backend er startet helt op, og prøv igen." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Lås PDF op for at fortsætte", + "title": "Fjern adgangskode for at fortsætte", + "description": "Denne PDF er beskyttet med adgangskode. Indtast adgangskoden, så du kan fortsætte arbejdet.", + "password": { + "label": "PDF-adgangskode", + "placeholder": "Indtast PDF-adgangskoden" + }, + "skip": "Spring over for nu", + "unlock": "Lås op og fortsæt", + "incorrectPassword": "Forkert adgangskode", + "missingFile": "Den valgte fil er ikke længere tilgængelig.", + "emptyResponse": "Fjernelse af adgangskode gav ingen fil.", + "required": "Indtast adgangskoden for at fortsætte.", + "successTitle": "Adgangskode fjernet", + "successBodyWithName": "Adgangskode fjernet fra {{fileName}}", + "successBody": "Adgangskoden blev fjernet." + }, + "setup": { + "welcome": "Velkommen til Stirling PDF", + "description": "Kom i gang ved at vælge, hvordan du vil bruge Stirling PDF", + "step1": { + "label": "Vælg tilstand", + "description": "Offline eller server" + }, + "step2": { + "label": "Vælg server", + "description": "Selvhostet server" + }, + "step3": { + "label": "Login", + "description": "Indtast loginoplysninger" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Log ind med din Stirling-konto" + }, + "selfhosted": { + "title": "Selvhostet server", + "description": "Forbind til din egen Stirling PDF-server" + } + }, + "saas": { + "title": "Log ind på Stirling", + "subtitle": "Log ind med din Stirling-konto" + }, + "selfhosted": { + "title": "Log ind på server", + "subtitle": "Indtast dine server-loginoplysninger" + }, + "server": { + "title": "Forbind til server", + "subtitle": "Indtast URL til din selvhostede server", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Selvhostet server" + }, + "url": { + "label": "Server-URL", + "description": "Indtast den fulde URL til din selvhostede Stirling PDF-server" + }, + "error": { + "emptyUrl": "Indtast en server-URL", + "unreachable": "Kunne ikke forbinde til server", + "testFailed": "Forbindelsestest mislykkedes" + }, + "testing": "Tester forbindelse..." + }, + "login": { + "title": "Log ind", + "subtitle": "Indtast dine oplysninger for at fortsætte", + "connectingTo": "Forbinder til:", + "username": { + "label": "Brugernavn", + "placeholder": "Indtast dit brugernavn" + }, + "email": { + "label": "E-mail", + "placeholder": "Indtast din e-mail" + }, + "password": { + "label": "Adgangskode", + "placeholder": "Indtast din adgangskode" + }, + "error": { + "emptyUsername": "Indtast dit brugernavn", + "emptyEmail": "Indtast din email", + "emptyPassword": "Indtast din adgangskode", + "oauthFailed": "OAuth-login mislykkedes. Prøv igen." + }, + "submit": "Log ind", + "signInWith": "Log ind med", + "oauthPending": "Åbner browser for godkendelse...", + "orContinueWith": "Eller fortsæt med email" + } + }, + "oauth": { + "success": { + "title": "Godkendelse lykkedes", + "message": "Du kan lukke dette vindue og vende tilbage til Stirling PDF." + }, + "error": { + "title": "Godkendelse mislykkedes", + "message": "Godkendelsen var ikke vellykket. Du kan lukke dette vindue og prøve igen." + } + }, + "pdfTextEditor": { + "title": "PDF JSON-editor", + "viewLabel": "PDF-editor", + "converting": "Konverterer PDF til redigerbart format...", + "conversionFailed": "Kunne ikke konvertere PDF. Prøv igen.", + "currentFile": "Aktuel fil: {{name}}", + "pageSummary": "Side {{number}} af {{total}}", + "pagePreviewAlt": "Forhåndsvisning af side", + "imageLabel": "Placeret billede", + "noTextOnPage": "Ingen redigerbar tekst blev fundet på denne side.", + "pageType": { + "paragraph": "Afsnitsside", + "sparse": "Sparsom tekst" + }, + "groupingMode": { + "auto": "Auto", + "paragraph": "Afsnit", + "singleLine": "Enkeltlinje" + }, + "badges": { + "unsaved": "Redigeret", + "modified": "Redigeret", + "earlyAccess": "Tidlig adgang" + }, + "actions": { + "reset": "Nulstil ændringer", + "downloadJson": "Download JSON", + "generatePdf": "Generer PDF" + }, + "options": { + "autoScaleText": { + "title": "Autoskalér tekst, så den passer i bokse", + "description": "Skalerer automatisk tekst vandret, så den passer inden for sin oprindelige afgrænsningsboks, når skrifttypegengivelsen afviger fra PDF'en." + }, + "groupingMode": { + "title": "Tilstand for tekstgruppering", + "autoDescription": "Registrerer automatisk sidetype og grupperer tekst passende.", + "paragraphDescription": "Grupperer justerede linjer til flerlinjede afsnitstekstbokse.", + "singleLineDescription": "Beholder hver PDF-tekstlinje som en separat tekstboks." + }, + "manualGrouping": { + "descriptionInline": "Tip: Hold Ctrl (Cmd) eller Shift for at multivælge tekstbokse. En flydende værktøjslinje vises over markeringen, så du kan flette, ophæve gruppering eller justere bredder." + }, + "forceSingleElement": { + "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." + } + }, + "manual": { + "mergeTooltip": "Flet valgte bokse", + "merge": "Flet markering", + "ungroupTooltip": "Del afsnit op i linjer igen", + "ungroup": "Ophæv gruppering af markering", + "widthMenu": "Breddeindstillinger", + "expandWidth": "Udvid til sidens kant", + "resetWidth": "Nulstil bredde", + "resizeHandle": "Juster tekstbredde" + }, + "disclaimer": { + "heading": "Begrænsninger i forhåndsvisning", + "textFocus": "Dette arbejdsområde fokuserer på at redigere tekst og omplacere indlejrede billeder. Kompleks sidegrafik, formularfelter og lagdelt grafik bevares til eksport, men er ikke fuldt redigerbare her.", + "previewVariance": "Nogle visuelle elementer (såsom tabelkanter, figurer eller kommentarers udseende) vises måske ikke præcist i forhåndsvisningen. Den eksporterede PDF bevarer de originale tegnekommandoer, når det er muligt.", + "alpha": "Denne alpha-fremviser er stadig under udvikling—visse skrifttyper, farver, gennemsigtighedseffekter og layoutdetaljer kan ændre sig en smule. Dobbelttjek den genererede PDF, før du deler." + }, + "empty": { + "title": "Intet dokument indlæst", + "subtitle": "Indlæs en PDF- eller JSON-fil for at begynde at redigere tekstindhold." + }, + "welcomeBanner": { + "title": "Velkommen til PDF-teksteditor (Early Access)", + "experimental": "Dette er en eksperimentel funktion under aktiv udvikling. Forvent en vis ustabilitet og problemer under brug.", + "howItWorks": "Dette værktøj konverterer din PDF til et redigerbart format, hvor du kan ændre tekstindhold og flytte billeder. Ændringer gemmes tilbage som en ny PDF.", + "bestFor": "Fungerer bedst med:", + "bestFor1": "Enkle PDF'er primært med tekst og billeder", + "bestFor2": "Dokumenter med standard afsnitsformatering", + "bestFor3": "Brev, essays, rapporter og basale dokumenter", + "notIdealFor": "Ikke ideelt til:", + "notIdealFor1": "PDF'er med særlig formatering som punktlister, tabeller eller layout med flere kolonner", + "notIdealFor2": "Magasiner, brochurer eller stærkt designede dokumenter", + "notIdealFor3": "Brugervejledninger med komplekse layouts", + "limitations": "Nuværende begrænsninger:", + "limitation1": "Skrifttypegengivelse kan afvige en smule fra den originale PDF", + "limitation2": "Kompleks grafik, formularfelter og kommentarer bevares, men kan ikke redigeres", + "limitation3": "Store filer kan tage tid at konvertere og behandle", + "knownIssues": "Kendte problemer (under rettelse):", + "issue1": "Tekstfarve bevares ikke i øjeblikket (tilføjes snart)", + "issue2": "Afsnit-tilstand har flere problemer med justering og afstand - Enkeltlinje-tilstand anbefales", + "issue3": "Forhåndsvisningen afviger fra den eksporterede PDF - eksporterede PDF'er ligger tættere på originalen", + "issue4": "Justeret roteret tekst kan kræve manuel finjustering", + "issue5": "Gennemsigtighed og lagdelte effekter kan afvige fra originalen", + "feedback": "Dette er en Early Access-funktion. Rapporter venligst eventuelle problemer, du støder på, så vi kan forbedre os!", + "gotIt": "Forstået", + "dontShowAgain": "Vis ikke igen" + }, + "modeChange": { + "title": "Bekræft tilstandsændring", + "warning": "Ændring af tekstgruppering nulstiller alle ikke-gemte ændringer. Er du sikker på, at du vil fortsætte?", + "cancel": "Annuller", + "confirm": "Nulstil og skift tilstand" + }, + "fontAnalysis": { + "details": "Skrifttypedetaljer", + "embedded": "Indlejret", + "type": "Type", + "webFormat": "Webformat", + "warnings": "Advarsler", + "suggestions": "Bemærkninger", + "currentPageFonts": "Skrifttyper på denne side", + "allFonts": "Alle skrifttyper", + "fallback": "fallback", + "missing": "mangler", + "perfectMessage": "Alle skrifttyper kan gengives perfekt.", + "warningMessage": "Nogle skrifttyper gengives muligvis ikke korrekt.", + "infoMessage": "Info om skrifttypegengivelse er tilgængelig.", + "perfect": "perfekt", + "subset": "delmængde" + }, + "errors": { + "invalidJson": "Kan ikke læse JSON-filen. Sørg for, at den blev genereret af PDF-til-JSON-værktøjet.", + "pdfConversion": "Kan ikke konvertere den redigerede JSON tilbage til en PDF." + } + }, + "auth": { + "sessionExpired": "Session udløbet", + "pleaseLoginAgain": "Log ind igen.", + "accessDenied": "Adgang nægtet", + "insufficientPermissions": "Du har ikke tilladelse til at udføre denne handling." + }, + "addText": { + "title": "Tilføj tekst", + "header": "Tilføj tekst til PDF'er", + "text": { + "name": "Tekstindhold", + "placeholder": "Indtast teksten, du vil tilføje", + "fontLabel": "Skrifttype", + "fontSizeLabel": "Skriftstørrelse", + "fontSizePlaceholder": "Skriv eller vælg skriftstørrelse (8-200)", + "colorLabel": "Tekstfarve" + }, + "steps": { + "configure": "Konfigurer tekst" + }, + "step": { + "createDesc": "Indtast teksten, du vil tilføje", + "place": "Placer tekst", + "placeDesc": "Klik på PDF'en for at tilføje din tekst" + }, + "instructions": { + "title": "Sådan tilføjer du tekst", + "text": "Når du har indtastet din tekst ovenfor, skal du klikke hvor som helst på PDF'en for at placere den.", + "paused": "Placering sat på pause", + "resumeHint": "Genoptag placering for at klikke og tilføje din tekst.", + "noSignature": "Indtast tekst ovenfor for at aktivere placering." + }, + "mode": { + "move": "Flyt tekst", + "place": "Placer tekst", + "pause": "Sæt placering på pause", + "resume": "Genoptag placering" + }, + "results": { + "title": "Resultater af tilføjelse af tekst" + }, + "error": { + "failed": "Der opstod en fejl under tilføjelse af tekst til PDF'en." + }, + "tags": "tekst,annotering,etiket", + "applySignatures": "Anvend tekst" } } \ No newline at end of file diff --git a/frontend/public/locales/de-DE/translation.json b/frontend/public/locales/de-DE/translation.json index 8752913be..65c53ac33 100644 --- a/frontend/public/locales/de-DE/translation.json +++ b/frontend/public/locales/de-DE/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Demnächst:", "favorite": "Zu Favoriten hinzufügen", "favorites": "Favoriten", + "unavailable": "Vom Serveradministrator deaktiviert:", + "unavailableDependency": "Nicht verfügbar – erforderliches Tool auf dem Server fehlt:", "heading": "Alle Tools (Vollbildansicht)", "noResults": "Passen Sie Ihre Suche an oder blenden Sie Beschreibungen ein/aus, um das Gewünschte zu finden.", "recommended": "Empfohlen", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "In den Vollbildmodus wechseln", "sidebar": "In den Seitenleistenmodus wechseln" - } + }, + "alpha": "Alpha", + "premiumFeature": "Premium-Funktion:", + "comingSoon": "Demnächst verfügbar:" }, "unsavedChanges": "Sie haben ungespeicherte Änderungen an Ihrer PDF. Was möchten Sie tun?", "areYouSure": "Möchten Sie wirklich verlassen?", @@ -41,6 +46,30 @@ "cancel": "Abbrechen", "confirm": "Extrahieren" }, + "defaultApp": { + "title": "Als Standard-PDF-App festlegen", + "message": "Möchten Sie Stirling PDF als Ihren Standard-PDF-Editor festlegen?", + "description": "Sie können dies später in den Systemeinstellungen ändern.", + "notNow": "Jetzt nicht", + "setDefault": "Als Standard festlegen", + "dismiss": "Ausblenden", + "prompt": { + "title": "Als Standard-PDF-Editor festlegen", + "message": "Stellen Sie Stirling PDF als Standardanwendung zum Öffnen von PDF-Dateien ein." + }, + "success": { + "title": "Standard-App festgelegt", + "message": "Stirling PDF ist nun Ihr Standard-PDF-Editor" + }, + "settingsOpened": { + "title": "Einstellungen geöffnet", + "message": "Bitte wählen Sie Stirling PDF in den Systemeinstellungen aus" + }, + "error": { + "title": "Fehler", + "message": "Standard-PDF-Handler konnte nicht festgelegt werden" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Speichern", "saveToBrowser": "Im Browser speichern", "download": "Herunterladen", + "downloadUnavailable": "Download für dieses Element nicht verfügbar", + "saveUnavailable": "Speichern für dieses Element nicht verfügbar", "pin": "Datei anheften (nach Tool-Ausführung aktiv halten)", "unpin": "Datei lösen (nach Tool-Ausführung ersetzen)", "undoOperationTooltip": "Klicken zum Rückgängigmachen der letzten Operation und Wiederherstellen der ursprünglichen Dateien", @@ -168,6 +199,7 @@ }, "edit": "Bearbeiten", "delete": "Löschen", + "never": "Nie", "username": "Benutzername", "password": "Passwort", "welcome": "Willkommen", @@ -262,7 +294,8 @@ "learnMore": "Mehr erfahren", "enable": "Analytics aktivieren", "disable": "Analytics deaktivieren", - "settings": "Sie können die Einstellungen für die Analytics in der config/settings.yml Datei bearbeiten" + "settings": "Sie können die Einstellungen für die Analytics in der config/settings.yml Datei bearbeiten", + "privacyAssurance": "Wir erfassen keine personenbezogenen Daten oder Inhalte Ihrer Dateien." }, "navbar": { "favorite": "Favoriten", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Einstellungen", - "update": "Update verfügbar", - "updateAvailable": "{0} ist die aktuelle installierte Version. Eine neue Version ({1}) ist verfügbar.", - "appVersion": "App-Version:", - "downloadOption": { - "title": "Download-Option wählen (für einzelne Dateien, die keine Zip-Downloads sind):", - "1": "Im selben Fenster öffnen", - "2": "In neuem Fenster öffnen", - "3": "Datei herunterladen" - }, - "zipThreshold": "Dateien komprimieren, wenn die Anzahl der heruntergeladenen Dateien überschritten wird", - "signOut": "Abmelden", - "accountSettings": "Kontoeinstellungen", - "bored": { - "help": "Aktiviert das Easter-Egg-Spiel" - }, - "cacheInputs": { - "name": "Formulareingaben speichern", - "help": "Aktivieren, um zuvor verwendete Eingaben für zukünftige Durchläufe zu speichern" + "connection": { + "title": "Verbindungsmodus", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Self-Hosted" + }, + "server": "Server", + "user": "Angemeldet als", + "logout": "Abmelden" }, "general": { "title": "Allgemein", "description": "Allgemeine Anwendungseinstellungen konfigurieren.", - "account": "Konto", - "accountDescription": "Ihre Kontoeinstellungen verwalten", "user": "Benutzer", - "signedInAs": "Angemeldet als", "logout": "Abmelden", "enableFeatures": { + "dismiss": "Schließen", "title": "Für Systemadministratoren", "intro": "Aktivieren Sie Benutzer-Authentifizierung, Teamverwaltung und Arbeitsbereichsfunktionen für Ihre Organisation.", "action": "Konfigurieren", "and": "und", "benefit": "Aktiviert Benutzerrollen, Teamzusammenarbeit, Admin-Kontrollen und Enterprise-Funktionen.", - "learnMore": "Mehr in der Dokumentation erfahren", - "dismiss": "Schließen" + "learnMore": "Mehr in der Dokumentation erfahren" }, - "autoUnzip": "API-Antworten automatisch entpacken", - "autoUnzipDescription": "Dateien aus ZIP-Antworten automatisch extrahieren", - "autoUnzipTooltip": "ZIP-Dateien, die von API-Operationen zurückgegeben werden, automatisch extrahieren. Deaktivieren, um ZIP-Dateien intakt zu lassen. Dies beeinflusst Automatisierungs-Workflows nicht.", - "autoUnzipFileLimit": "Limit für automatisches Entpacken", - "autoUnzipFileLimitDescription": "Maximale Anzahl an Dateien, die aus einem ZIP extrahiert werden", - "autoUnzipFileLimitTooltip": "Nur entpacken, wenn das ZIP höchstens so viele Dateien enthält. Erhöhen, um größere ZIPs zu extrahieren.", "defaultToolPickerMode": "Standardmodus für Toolauswahl", "defaultToolPickerModeDescription": "Wählen Sie, ob die Toolauswahl standardmäßig im Vollbild oder in der Seitenleiste öffnet", "mode": { - "fullscreen": "Vollbild", - "sidebar": "Seitenleiste" - } + "sidebar": "Seitenleiste", + "fullscreen": "Vollbild" + }, + "autoUnzipTooltip": "ZIP-Dateien, die von API-Operationen zurückgegeben werden, automatisch extrahieren. Deaktivieren, um ZIP-Dateien intakt zu lassen. Dies beeinflusst Automatisierungs-Workflows nicht.", + "autoUnzip": "API-Antworten automatisch entpacken", + "autoUnzipDescription": "Dateien aus ZIP-Antworten automatisch extrahieren", + "autoUnzipFileLimitTooltip": "Nur entpacken, wenn das ZIP höchstens so viele Dateien enthält. Erhöhen, um größere ZIPs zu extrahieren.", + "autoUnzipFileLimit": "Limit für automatisches Entpacken", + "autoUnzipFileLimitDescription": "Maximale Anzahl an Dateien, die aus einem ZIP extrahiert werden", + "defaultPdfEditor": "Standard-PDF-Editor", + "defaultPdfEditorActive": "Stirling PDF ist Ihr Standard-PDF-Editor", + "defaultPdfEditorInactive": "Eine andere Anwendung ist als Standard festgelegt", + "defaultPdfEditorChecking": "Prüfen...", + "defaultPdfEditorSet": "Bereits Standard", + "setAsDefault": "Als Standard festlegen", + "updates": { + "title": "Software-Updates", + "description": "Nach Updates suchen und Versionsinformationen anzeigen", + "currentVersion": "Aktuelle Version", + "latestVersion": "Neueste Version", + "checkForUpdates": "Nach Updates suchen", + "viewDetails": "Details anzeigen" + }, + "hideUnavailableTools": "Nicht verfügbare Tools ausblenden", + "hideUnavailableToolsDescription": "Deaktivierte Tools vom Server ausblenden statt ausgegraut anzuzeigen.", + "hideUnavailableConversions": "Nicht verfügbare Konvertierungen ausblenden", + "hideUnavailableConversionsDescription": "Deaktivierte Konvertierungsoptionen im Konvertieren-Tool ausblenden statt ausgegraut anzuzeigen." }, "hotkeys": { - "title": "Tastenkürzel", - "description": "Fahren Sie mit der Maus über ein Tool, um dessen Kürzel zu sehen, oder passen Sie es unten an. Klicken Sie auf \"Kürzel ändern\" und drücken Sie eine neue Tastenkombination. Drücken Sie Esc zum Abbrechen.", - "errorModifier": { - "mac": "Fügen Sie ⌘ (Command), ⌥ (Option) oder eine andere Modifikatortaste in Ihrem Kürzel ein.", - "windows": "Fügen Sie Strg, Alt oder eine andere Modifikatortaste in Ihrem Kürzel ein." - }, "errorConflict": "Kürzel wird bereits von {{tool}} verwendet.", + "searchPlaceholder": "Tools durchsuchen...", "none": "Nicht zugewiesen", "customBadge": "Benutzerdefiniert", "defaultLabel": "Standard: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Kürzel ändern", "reset": "Zurücksetzen", "shortcut": "Kürzel", - "noShortcut": "Kein Kürzel festgelegt", - "searchPlaceholder": "Tools durchsuchen..." + "noShortcut": "Kein Kürzel festgelegt" } }, + "update": { + "modalTitle": "Update verfügbar", + "current": "Aktuelle Version", + "latest": "Neueste Version", + "latestStable": "Neueste stabile Version", + "priorityLabel": "Priorität", + "recommendedAction": "Empfohlene Aktion", + "breakingChangesDetected": "Inkompatible Änderungen erkannt", + "breakingChangesMessage": "Einige Versionen enthalten inkompatible Änderungen. Bitte prüfen Sie vor dem Update die folgenden Migrationshinweise.", + "migrationGuides": "Migrationshinweise", + "viewGuide": "Leitfaden anzeigen", + "loadingDetailedInfo": "Detaillierte Informationen werden geladen...", + "close": "Schließen", + "viewAllReleases": "Alle Releases anzeigen", + "downloadLatest": "Neueste herunterladen", + "availableUpdates": "Verfügbare Updates", + "unableToLoadDetails": "Detaillierte Informationen konnten nicht geladen werden.", + "version": "Version", + "urgentUpdateAvailable": "Dringendes Update", + "updateAvailable": "Update verfügbar", + "releaseNotes": "Versionshinweise", + "priority": { + "urgent": "Dringend", + "normal": "Normal", + "minor": "Gering", + "low": "Niedrig" + }, + "breakingChanges": "Inkompatible Änderungen", + "breakingChangesDefault": "Diese Version enthält inkompatible Änderungen.", + "migrationGuide": "Migrationshinweis" + }, "changeCreds": { "title": "Anmeldeinformationen ändern", "header": "Aktualisieren Sie Ihre Kontodaten", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Ein PDF über ein anderes legen", "title": "PDFs überlagern" + }, + "pdfTextEditor": { + "title": "PDF-Texteditor", + "desc": "Stirling PDF JSON-Exporte prüfen und bearbeiten – mit gruppierter Textbearbeitung und PDF-Neuerzeugung" + }, + "addText": { + "tags": "text,annotation,label", + "title": "Text hinzufügen", + "desc": "Beliebigen Text überall in Ihrem PDF hinzufügen" } }, "landing": { "addFiles": "Dateien hinzufügen", - "uploadFromComputer": "Vom Computer hochladen" + "uploadFromComputer": "Vom Computer hochladen", + "openFromComputer": "Vom Computer öffnen" }, "viewPdf": { "tags": "anzeigen,lesen,kommentieren,text,bild", @@ -849,6 +922,11 @@ }, "error": { "failed": "Ein Fehler ist beim Zusammenführen der PDFs aufgetreten." + }, + "tooltip": { + "header": { + "title": "Übersicht zu Zusammenführen-Einstellungen" + } } }, "split": { @@ -1182,9 +1260,43 @@ "tags": "img,jpg,bild,foto", "title": "Bild hinzufügen", "header": "Ein Bild einfügen", - "everyPage": "In jede Seite einfügen?", - "upload": "Bild hinzufügen", - "submit": "Bild hinzufügen" + "image": { + "name": "Bild", + "placeholder": "Ein Bild hochladen", + "label": "Bilddatei" + }, + "steps": { + "configure": "Bild konfigurieren" + }, + "step": { + "createDesc": "Das hinzuzufügende Bild hochladen", + "place": "Bild platzieren", + "placeDesc": "Klicken Sie auf das PDF, um Ihr Bild hinzuzufügen" + }, + "instructions": { + "title": "So fügen Sie Bilder hinzu", + "text": "Nach dem Hochladen oben, klicken Sie irgendwo ins PDF, um es zu platzieren.", + "paused": "Platzieren pausiert", + "resumeHint": "Platzieren fortsetzen, um Ihr Bild per Klick hinzuzufügen.", + "noSignature": "Laden Sie oben ein Bild hoch, um das Platzieren zu aktivieren." + }, + "mode": { + "move": "Bild verschieben", + "place": "Bild platzieren", + "pause": "Platzieren pausieren", + "resume": "Platzieren fortsetzen" + }, + "results": { + "title": "Ergebnisse: Bild hinzufügen" + }, + "error": { + "failed": "Beim Hinzufügen des Bildes zum PDF ist ein Fehler aufgetreten." + }, + "saved": { + "defaultLabel": "Bild", + "defaultImageLabel": "Hochgeladenes Bild" + }, + "applySignatures": "Bilder anwenden" }, "attachments": { "tags": "einbetten, anhängen, datei, anhang, anhänge", @@ -1397,6 +1509,93 @@ }, "submit": "Ändern" }, + "editTableOfContents": { + "settings": { + "title": "Lesezeichen & Gliederung", + "replaceExisting": "Bestehende Lesezeichen ersetzen (deaktivieren zum Anhängen)", + "replaceExistingHint": "Wenn deaktiviert, wird die neue Gliederung hinter die aktuellen Lesezeichen angehängt." + }, + "actions": { + "source": "Lesezeichen laden", + "selectedFile": "Geladen aus {{file}}", + "noFile": "Wählen Sie ein PDF, um vorhandene Lesezeichen zu extrahieren.", + "loadFromPdf": "Aus ausgewähltem PDF laden", + "importJson": "JSON importieren", + "importClipboard": "JSON aus Zwischenablage einfügen", + "export": "Lesezeichen exportieren", + "exportJson": "JSON herunterladen", + "exportClipboard": "JSON in die Zwischenablage kopieren", + "clipboardUnavailable": "Zwischenablagezugriff ist in diesem Browser nicht verfügbar." + }, + "info": { + "line1": "Jedes Lesezeichen benötigt einen aussagekräftigen Titel und die zu öffnende Seite.", + "line2": "Erstellen Sie Hierarchien für Kapitel, Abschnitte und Unterabschnitte mit untergeordneten Lesezeichen.", + "line3": "Importieren Sie Lesezeichen aus dem ausgewählten PDF oder einer JSON-Datei, um Zeit zu sparen." + }, + "workbench": { + "empty": { + "title": "Tool öffnen, um mit dem Bearbeiten zu beginnen", + "description": "Wählen Sie das Tool Inhaltsverzeichnis bearbeiten, um den Arbeitsbereich zu laden." + }, + "tabTitle": "Arbeitsbereich Gliederung", + "subtitle": "Lesezeichen importieren, Hierarchien erstellen und die Gliederung ohne enge Seitenleisten anwenden.", + "noFile": "Kein PDF ausgewählt", + "fileLabel": "Änderungen werden auf das aktuell ausgewählte PDF angewendet.", + "filePrompt": "Wählen Sie ein PDF aus Ihrer Bibliothek oder laden Sie ein neues hoch.", + "changeFile": "PDF wechseln", + "selectFile": "PDF auswählen" + }, + "editor": { + "heading": "Lesezeichen-Editor", + "description": "Lesezeichen hinzufügen, verschachteln und neu anordnen, um die PDF-Gliederung zu erstellen.", + "addTopLevel": "Oberstes Lesezeichen hinzufügen", + "empty": { + "title": "Noch keine Lesezeichen", + "description": "Importieren Sie vorhandene Lesezeichen oder fügen Sie Ihren ersten Eintrag hinzu.", + "action": "Erstes Lesezeichen hinzufügen" + }, + "defaultTitle": "Neues Lesezeichen", + "defaultChildTitle": "Untergeordnetes Lesezeichen", + "defaultSiblingTitle": "Neues Lesezeichen", + "untitled": "Unbenanntes Lesezeichen", + "childBadge": "Untergeordnet", + "pagePreview": "Seite {{page}}", + "field": { + "title": "Lesezeichentitel", + "page": "Zielseitennummer" + }, + "actions": { + "toggle": "Unterelemente ein-/ausblenden", + "addChild": "Untergeordnetes Lesezeichen hinzufügen", + "addSibling": "Gleichgeordnetes Lesezeichen hinzufügen", + "remove": "Lesezeichen entfernen" + }, + "confirmRemove": "Dieses Lesezeichen und alle Unterelemente entfernen?" + }, + "messages": { + "loadedTitle": "Lesezeichen extrahiert", + "loadedBody": "Vorhandene Lesezeichen aus dem PDF wurden in den Editor geladen.", + "noBookmarks": "Im ausgewählten PDF wurden keine Lesezeichen gefunden.", + "loadFailed": "Lesezeichen konnten nicht aus dem ausgewählten PDF extrahiert werden.", + "imported": "Lesezeichen importiert", + "importedBody": "Ihre JSON-Gliederung hat den aktuellen Editorinhalt ersetzt.", + "importedClipboard": "Daten aus der Zwischenablage haben die aktuelle Lesezeichenliste ersetzt.", + "invalidJson": "Ungültige JSON-Struktur", + "invalidJsonBody": "Bitte eine gültige JSON-Datei mit Lesezeichen angeben und erneut versuchen.", + "exported": "JSON-Download bereit", + "copied": "In die Zwischenablage kopiert", + "copiedBody": "Lesezeichen-JSON erfolgreich kopiert.", + "copyFailed": "Kopieren fehlgeschlagen" + }, + "error": { + "failed": "Aktualisieren des Inhaltsverzeichnisses fehlgeschlagen" + }, + "submit": "Inhaltsverzeichnis anwenden", + "results": { + "title": "Aktualisiertes PDF mit Lesezeichen", + "subtitle": "Laden Sie die verarbeitete Datei herunter oder machen Sie die Aktion unten rückgängig." + } + }, "removePages": { "tags": "seiten entfernen,seiten löschen", "title": "Entfernen", @@ -1978,13 +2177,54 @@ "title": "Zeichnen Sie Ihre Unterschrift", "clear": "Löschen" }, + "canvas": { + "heading": "Unterschrift zeichnen", + "clickToOpen": "Klicken, um die Zeichenfläche zu öffnen", + "modalTitle": "Unterschrift zeichnen", + "colorLabel": "Farbe", + "penSizeLabel": "Stiftstärke", + "penSizePlaceholder": "Größe", + "clear": "Zeichenfläche löschen", + "colorPickerTitle": "Strichfarbe wählen" + }, "text": { "name": "Name des Unterzeichners", - "placeholder": "Geben Sie Ihren vollständigen Namen ein" + "placeholder": "Geben Sie Ihren vollständigen Namen ein", + "fontLabel": "Schriftart", + "fontSizeLabel": "Schriftgröße", + "fontSizePlaceholder": "Schriftgröße eingeben oder auswählen (8–200)", + "colorLabel": "Textfarbe" }, "clear": "Leeren", "add": "Signieren", - "saved": "Gespeicherte Signaturen", + "saved": { + "heading": "Gespeicherte Unterschriften", + "description": "Gespeicherte Unterschriften jederzeit wiederverwenden.", + "emptyTitle": "Noch keine gespeicherten Unterschriften", + "emptyDescription": "Zeichnen, laden oder tippen Sie oben eine Unterschrift und wählen Sie dann „In Bibliothek speichern“, um bis zu {{max}} Favoriten bereitzuhalten.", + "type": { + "canvas": "Zeichnung", + "image": "Upload", + "text": "Text" + }, + "limitTitle": "Limit erreicht", + "limitDescription": "Entfernen Sie eine gespeicherte Unterschrift, bevor Sie neue hinzufügen (max. {{max}}).", + "carouselPosition": "{{current}} von {{total}}", + "prev": "Zurück", + "next": "Weiter", + "delete": "Entfernen", + "label": "Bezeichnung", + "defaultLabel": "Unterschrift", + "defaultCanvasLabel": "Gezeichnete Unterschrift", + "defaultImageLabel": "Hochgeladene Unterschrift", + "defaultTextLabel": "Getippte Unterschrift", + "saveButton": "Unterschrift speichern", + "saveUnavailable": "Erstellen Sie zuerst eine Unterschrift, um sie zu speichern.", + "noChanges": "Die aktuelle Unterschrift ist bereits gespeichert.", + "status": { + "saved": "Gespeichert" + } + }, "save": "Signature speichern", "applySignatures": "Signaturen anwenden", "personalSigs": "Persönliche Signaturen", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Signatur konfigurieren" }, + "step": { + "createDesc": "Wählen Sie, wie Sie die Unterschrift erstellen möchten", + "place": "Platzieren & speichern", + "placeDesc": "Positionieren Sie die Unterschrift auf Ihrem PDF" + }, "type": { "title": "Signaturtyp", "draw": "Zeichnen", "canvas": "Zeichenfläche", "image": "Bild", - "text": "Text" + "text": "Text", + "saved": "Gespeichert" }, "image": { "label": "Unterschriftsbild hochladen", @@ -2019,11 +2265,17 @@ "title": "So fügen Sie eine Unterschrift hinzu", "canvas": "Nachdem Sie Ihre Unterschrift in der Zeichenfläche erstellt haben, schließen Sie das Modal und klicken Sie dann irgendwo auf das PDF, um sie zu platzieren.", "image": "Nachdem Sie Ihr Unterschriftsbild oben hochgeladen haben, klicken Sie irgendwo auf das PDF, um es zu platzieren.", - "text": "Nachdem Sie oben Ihren Namen eingegeben haben, klicken Sie irgendwo auf das PDF, um Ihre Signatur zu platzieren." + "saved": "Wählen Sie oben eine gespeicherte Unterschrift und klicken Sie dann ins PDF, um sie zu platzieren.", + "text": "Nachdem Sie oben Ihren Namen eingegeben haben, klicken Sie irgendwo auf das PDF, um Ihre Signatur zu platzieren.", + "paused": "Platzieren pausiert", + "resumeHint": "Platzieren fortsetzen, um Ihre Unterschrift per Klick hinzuzufügen.", + "noSignature": "Erstellen Sie oben eine Unterschrift, um die Platzierungswerkzeuge zu aktivieren." }, "mode": { "move": "Signatur bewegen", - "place": "Signatur platzieren" + "place": "Signatur platzieren", + "pause": "Platzieren pausieren", + "resume": "Platzieren fortsetzen" }, "updateAndPlace": "Aktualisieren und platzieren", "activate": "Signatur-Platzierung aktivieren", @@ -2163,6 +2415,14 @@ "title": "Über Anmerkungen entfernen", "description": "Dieses Werkzeug entfernt alle Anmerkungen (Kommentare, Hervorhebungen, Notizen usw.) aus Ihren PDF-Dokumenten." }, + "tooltip": { + "header": { + "title": "Über „Anmerkungen entfernen“" + }, + "description": { + "title": "Funktion" + } + }, "error": { "failed": "Beim Entfernen der Anmerkungen aus der PDF ist ein Fehler aufgetreten." } @@ -2627,6 +2887,9 @@ "header": { "title": "Wie Auto-Umbenennung funktioniert" }, + "description": { + "title": "Funktion" + }, "howItWorks": { "title": "Intelligente Umbenennung", "text": "Findet automatisch den Titel aus Ihrem PDF-Inhalt und verwendet ihn als Dateiname.", @@ -2634,6 +2897,9 @@ "bullet2": "Erstellt einen sauberen, gültigen Dateinamen aus dem erkannten Titel", "bullet3": "Behält den ursprünglichen Namen bei, wenn kein geeigneter Titel gefunden wird" } + }, + "settings": { + "title": "Info" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "Unerwarteter Fehler: {{message}}", "accountCreatedSuccess": "Konto erfolgreich erstellt! Sie können sich jetzt anmelden.", "passwordChangedSuccess": "Passwort erfolgreich geändert! Bitte melden Sie sich mit Ihrem neuen Passwort an.", - "credentialsUpdated": "Ihre Anmeldedaten wurden aktualisiert. Bitte melden Sie sich erneut an." + "credentialsUpdated": "Ihre Anmeldedaten wurden aktualisiert. Bitte melden Sie sich erneut an.", + "defaultCredentials": "Standard-Login-Daten", + "changePasswordWarning": "Bitte ändern Sie Ihr Passwort nach dem ersten Login.", + "slides": { + "overview": { + "alt": "Stirling PDF Übersicht", + "title": "Ihr One-Stop-Shop für alle PDF-Anforderungen.", + "subtitle": "Eine Privacy-First-Cloud-Suite für PDFs, mit der Sie Dokumente konvertieren, signieren, schwärzen und verwalten – plus 50+ weitere leistungsstarke Tools." + }, + "edit": { + "alt": "PDFs bearbeiten", + "title": "PDFs bearbeiten, um gewünschte Informationen anzuzeigen/zu schützen", + "subtitle": "Mit über einem Dutzend Tools zum Schwärzen, Signieren, Lesen und Bearbeiten von PDFs finden Sie sicher, was Sie suchen." + }, + "secure": { + "alt": "PDFs schützen", + "title": "Schützen Sie sensible Informationen in Ihren PDFs", + "subtitle": "Fügen Sie Passwörter hinzu, schwärzen Sie Inhalte und verwalten Sie Zertifikate mühelos." + } + } }, "signup": { "title": "Konto erstellen", @@ -3598,7 +3883,9 @@ "exportAll": "PDF exportieren", "downloadSelected": "Ausgewählte Dateien herunterladen", "downloadAll": "Alle herunterladen", + "saveAll": "Alle speichern", "toggleTheme": "Design wechseln", + "toggleBookmarks": "Lesezeichen ein-/ausblenden", "language": "Sprache", "search": "PDF durchsuchen", "panMode": "Verschiebemodus", @@ -3685,8 +3972,16 @@ "saved": "Einstellungen erfolgreich gespeichert", "saveSuccess": "Einstellungen erfolgreich gespeichert", "save": "Änderungen speichern", + "discard": "Verwerfen", "restartRequired": "Neustart erforderlich", "loginRequired": "Der Anmeldemodus muss aktiviert sein, um Admin-Einstellungen zu ändern", + "unsavedChanges": { + "title": "Ungespeicherte Änderungen", + "message": "Sie haben ungespeicherte Änderungen. Möchten Sie diese verwerfen?", + "cancel": "Weiter bearbeiten", + "discard": "Änderungen verwerfen", + "hint": "Sie haben ungespeicherte Änderungen" + }, "loginDisabled": { "title": "Anmeldemodus erforderlich", "message": "Der Anmeldemodus muss aktiviert sein, um Admin-Einstellungen zu ändern. Bitte setzen Sie SECURITY_ENABLELOGIN=true in Ihrer Umgebung oder security.enableLogin: true in settings.yml und starten Sie dann den Server neu.", @@ -4060,7 +4355,7 @@ "features": "Feature-Flags", "processing": "Verarbeitung", "endpoints": { - "label": "Endpoints", + "label": "Endpunkte", "manage": "API-Endpunkte verwalten", "description": "Die Endpunktverwaltung wird über YAML konfiguriert. Siehe Dokumentation für Details zum Aktivieren/Deaktivieren spezifischer Endpunkte." }, @@ -4132,12 +4427,12 @@ "description": "Maximale Ausführungszeit" }, "libreOffice": "LibreOffice", - "pdfToHtml": "PDF to HTML", + "pdfToHtml": "PDF zu HTML", "qpdf": "QPDF", "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", "weasyPrint": "WeasyPrint", - "installApp": "Install App", + "installApp": "App installieren", "calibre": "Calibre", "ghostscript": "Ghostscript", "ocrMyPdf": "OCRmyPDF" @@ -4212,9 +4507,21 @@ "title": "Premium & Enterprise", "description": "Ihren Premium- oder Enterprise-Lizenzschlüssel konfigurieren.", "license": "Lizenzkonfiguration", + "licenseKey": { + "toggle": "Lizenzschlüssel oder Zertifikatsdatei vorhanden?", + "info": "Wenn Sie einen Lizenzschlüssel oder eine Zertifikatsdatei aus einem Direktkauf haben, können Sie ihn hier eingeben, um Premium- oder Enterprise-Funktionen zu aktivieren." + }, "key": { "label": "Lizenzschlüssel", - "description": "Geben Sie Ihren Premium- oder Enterprise-Lizenzschlüssel ein" + "description": "Geben Sie Ihren Premium- oder Enterprise-Lizenzschlüssel ein", + "success": "Lizenzschlüssel gespeichert", + "successMessage": "Ihr Lizenzschlüssel wurde erfolgreich aktiviert. Kein Neustart erforderlich.", + "overwriteWarning": { + "title": "⚠️ Warnung: Vorhandene Lizenz erkannt", + "line1": "Das Überschreiben Ihres aktuellen Lizenzschlüssels kann nicht rückgängig gemacht werden.", + "line2": "Ihre vorherige Lizenz geht dauerhaft verloren, sofern Sie sie nicht anderweitig gesichert haben.", + "line3": "Wichtig: Halten Sie Lizenzschlüssel privat und sicher. Geben Sie sie niemals öffentlich weiter." + } }, "enabled": { "label": "Premium-Funktionen aktivieren", @@ -4278,12 +4585,17 @@ "or": "oder", "dropFileHere": "Datei hier ablegen oder zum Hochladen klicken", "dropFilesHere": "Dateien hier ablegen oder Upload-Button klicken", + "dropFilesHereOpen": "Dateien hier ablegen oder auf Öffnen klicken", "pdfFilesOnly": "Nur PDF-Dateien", "supportedFileTypes": "Unterstützte Dateitypen", "upload": "Hochladen", "uploadFile": "Datei hochladen", "uploadFiles": "Dateien hochladen", + "open": "Öffnen", + "openFile": "Datei öffnen", + "openFiles": "Dateien öffnen", "noFilesInStorage": "Keine Dateien im Speicher verfügbar. Laden Sie zuerst einige Dateien hoch.", + "noFilesInStorageOpen": "Keine Dateien im Speicher verfügbar. Öffnen Sie zuerst einige Dateien.", "selectFromStorage": "Aus Speicher auswählen", "backToTools": "Zurück zu Tools", "addFiles": "Dateien hinzufügen", @@ -4329,6 +4641,8 @@ "myFiles": "Meine Dateien", "noRecentFiles": "Keine kürzlichen Dateien gefunden", "googleDriveNotAvailable": "Google Drive-Integration nicht verfügbar", + "downloadSelected": "Ausgewählte herunterladen", + "saveSelected": "Auswahl speichern", "openFiles": "Dateien öffnen", "openFile": "Datei öffnen", "details": "Dateidetails", @@ -4341,7 +4655,6 @@ "selectAll": "Alle auswählen", "deselectAll": "Auswahl aufheben", "deleteSelected": "Auswahl löschen", - "downloadSelected": "Ausgewählte herunterladen", "selectedCount": "{{count}} ausgewählt", "download": "Herunterladen", "delete": "Löschen", @@ -4621,9 +4934,14 @@ "secureWorkflow": "Sicherheits-Workflow", "secureWorkflowDesc": "Sichert PDF-Dokumente durch Entfernen potentiell schädlicher Inhalte wie JavaScript und eingebettete Dateien, dann fügt Passwortschutz hinzu, um unbefugten Zugriff zu verhindern. Passwort ist standardmäßig auf 'password' gesetzt.", "processImages": "Bilder verarbeiten", - "processImagesDesc": "Konvertiert mehrere Bilddateien in ein einzelnes PDF-Dokument und wendet dann OCR-Technologie an, um durchsuchbaren Text aus den Bildern zu extrahieren." + "processImagesDesc": "Konvertiert mehrere Bilddateien in ein einzelnes PDF-Dokument und wendet dann OCR-Technologie an, um durchsuchbaren Text aus den Bildern zu extrahieren.", + "prePublishSanitization": "Bereinigung vor Veröffentlichung", + "prePublishSanitizationDesc": "Bereinigungs-Workflow, der alle versteckten Metadaten, JavaScript, eingebettete Dateien und Anmerkungen entfernt und Formulare flacht, um Datenabfluss vor der Online-Veröffentlichung von PDFs zu verhindern." } }, + "colorPicker": { + "title": "Farbe wählen" + }, "common": { "previous": "Zurück", "next": "Weiter", @@ -4639,7 +4957,13 @@ "used": "verwendet", "available": "verfügbar", "cancel": "Abbrechen", - "preview": "Vorschau" + "preview": "Vorschau", + "close": "Schließen", + "done": "Fertig", + "loading": "Laden...", + "back": "Zurück", + "continue": "Weiter", + "error": "Fehler" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Weitere Dateien hinzufügen...", "selectedFiles": "Ausgewählte Dateien", "submit": "Anhänge hinzufügen", + "tooltip": { + "header": { + "title": "Über „Anhänge hinzufügen“" + }, + "description": { + "title": "Funktion" + } + }, "results": { "title": "Anhangs-Ergebnisse" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Benutzerdefinierte Position", "details": "Details", - "downloadUnavailable": "Download für dieses Element nicht verfügbar", "invalidUndoData": "Rückgängig nicht möglich: ungültige Vorgangsdaten", "margin": { "large": "Groß", @@ -4801,6 +5132,10 @@ "maybeLater": "Vielleicht später", "dontShowAgain": "Nicht mehr anzeigen" }, + "welcomeSlide": { + "title": "Willkommen bei Stirling", + "body": "Stirling PDF ist jetzt bereit für Teams jeder Größe. Dieses Update bringt ein neues Layout, leistungsstarke neue Admin-Funktionen und unser meistgewünschtes Feature – Text bearbeiten." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Wählen wir das Tool Crop aus, um zu zeigen, wie eines der Tools verwendet wird.", "toolInterface": "Dies ist die Oberfläche des Tools Crop. Wie Sie sehen, ist hier noch nicht viel zu sehen, da wir noch keine PDF-Dateien hinzugefügt haben.", @@ -4823,7 +5158,39 @@ "next": "Weiter", "finish": "Fertigstellen", "startTour": "Tour starten", - "startTourDescription": "Geführte Tour zu den wichtigsten Funktionen von Stirling PDF" + "startTourDescription": "Geführte Tour zu den wichtigsten Funktionen von Stirling PDF", + "buttons": { + "next": "Weiter →", + "back": "Zurück", + "skipForNow": "Für jetzt überspringen", + "download": "Download →", + "showMeAround": "Rundgang starten", + "skipTheTour": "Rundgang überspringen" + }, + "serverLicense": { + "skip": "Für jetzt überspringen", + "seePlans": "Pläne ansehen →", + "upgrade": "Jetzt upgraden →", + "freeTitle": "Server-Lizenz", + "overLimitTitle": "Server-Lizenz erforderlich", + "overLimitBody": "Unsere Lizenz erlaubt bis zu {{freeTierLimit}} Nutzer pro Server kostenlos. Sie haben {{overLimitUserCopy}} Stirling-Nutzer. Um ohne Unterbrechung fortzufahren, upgraden Sie auf den Stirling-Server-Plan – unbegrenzte Plätze, PDF-Textbearbeitung und volle Admin-Kontrolle für $99/Server/Monat.", + "freeBody": "Unsere Open-Core-Lizenz erlaubt bis zu {{freeTierLimit}} Nutzer pro Server kostenlos. Für unterbrechungsfreies Skalieren und frühen Zugriff auf unser neues PDF-Textbearbeitungs-Tool empfehlen wir den Stirling-Server-Plan – volle Bearbeitung und unbegrenzte Plätze für $99/Server/Monat." + }, + "desktopInstall": { + "title": "Download", + "titleWithOs": "Download für {{osLabel}}", + "body": "Stirling funktioniert am besten als Desktop-App. Sie können es offline nutzen, schneller auf Dokumente zugreifen und lokal auf Ihrem Computer bearbeiten." + }, + "planOverview": { + "adminTitle": "Admin-Übersicht", + "userTitle": "Plan-Übersicht", + "adminBodyLoginEnabled": "Als Admin können Sie Nutzer verwalten, Einstellungen konfigurieren und die Servergesundheit überwachen. Die ersten {{freeTierLimit}} Personen auf Ihrem Server nutzen Stirling kostenlos.", + "adminBodyLoginDisabled": "Sobald Sie den Login-Modus aktivieren, können Sie Nutzer verwalten, Einstellungen konfigurieren und die Servergesundheit überwachen. Die ersten {{freeTierLimit}} Personen auf Ihrem Server nutzen Stirling kostenlos.", + "userBody": "Laden Sie Teammitglieder ein, weisen Sie Rollen zu und halten Sie Ihre Dokumente in einem sicheren Arbeitsbereich organisiert. Aktivieren Sie den Login-Modus, wenn Sie über die Einzelnutzung hinaus wachsen möchten." + }, + "securityCheck": { + "message": "Die Anwendung hat kürzlich bedeutende Änderungen erfahren. Möglicherweise ist Aufmerksamkeit Ihres Server-Admins erforderlich. Bitte bestätigen Sie Ihre Rolle, um fortzufahren." + } }, "adminOnboarding": { "welcome": "Willkommen zur Admin-Tour! Entdecken wir die leistungsstarken Enterprise-Funktionen und Einstellungen für Systemadministratoren.", @@ -4852,7 +5219,10 @@ "role": "Rolle", "team": "Team", "status": "Status", - "actions": "Aktionen", + "actions": { + "label": "Aktionen", + "upgrade": "Upgrade" + }, "noMembersFound": "Keine Mitglieder gefunden", "active": "Aktiv", "disabled": "Deaktiviert", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} Benutzer-Slot(s) verfügbar", "noSlotsAvailable": "Keine Slots verfügbar", "currentUsage": "Derzeit werden {{current}} von {{max}} Benutzerlizenzen verwendet" - } + }, + "loginRequired": "Zuerst Login-Modus aktivieren" }, "teams": { "title": "Teams", @@ -5057,6 +5428,17 @@ "showComparison": "Alle Funktionen vergleichen", "hideComparison": "Funktionsvergleich ausblenden", "featureComparison": "Funktionsvergleich", + "from": "Ab", + "perMonth": "/Monat", + "perSeat": "/Platz", + "withServer": "+ Server-Plan", + "licensedSeats": "Lizenziert: {{count}} Plätze", + "includedInCurrent": "In Ihrem Plan enthalten", + "selectPlan": "Plan auswählen", + "manage": "Verwalten", + "manageSubscription": { + "description": "Abo, Abrechnung und Zahlungsmethoden verwalten" + }, "activePlan": { "title": "Aktiver Plan", "subtitle": "Details Ihres aktuellen Abonnements" @@ -5074,13 +5456,16 @@ "upTo": "Bis zu" }, "period": { - "month": "Monat" + "month": "Monat", + "perUserPerMonth": "/Benutzer/Monat" }, "free": { "name": "Kostenlos", "highlight1": "Begrenzte Tool-Nutzung pro Woche", "highlight2": "Zugriff auf alle Tools", - "highlight3": "Community-Support" + "highlight3": "Community-Support", + "forever": "Für immer kostenlos", + "included": "Inbegriffen" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Individuelle Preisgestaltung", "highlight2": "Dedizierter Support", - "highlight3": "Neueste Funktionen" + "highlight3": "Neueste Funktionen", + "requiresServer": "Erfordert Server", + "requiresServerMessage": "Bitte zuerst auf den Server-Plan upgraden, bevor Sie auf Enterprise upgraden." }, "feature": { "title": "Funktion", @@ -5102,6 +5489,12 @@ "api": "API-Zugriff", "priority": "Priorisierter Support", "customPricing": "Individuelle Preisgestaltung" + }, + "licenseWarning": { + "title": "Freies Self-Hosted-Limit erreicht", + "body": "Sie haben {{total}} Nutzer, aber die kostenlose Stufe unterstützt nur {{limit}} pro Server. Upgraden Sie, um Stirling PDF reibungslos weiter zu betreiben.", + "overLimit": "mehr als {{limit}}", + "cta": "Pläne ansehen" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Abrechnung verwalten", "portal": { "error": "Abrechnungsportal konnte nicht geöffnet werden" - } + }, + "updateSeats": "Plätze aktualisieren", + "updateEnterpriseSeats": "Enterprise-Plätze aktualisieren", + "currentSeats": "Aktuelle Plätze", + "minimumSeats": "Mindestplätze", + "basedOnUsers": "(aktuelle Nutzer)", + "newSeatCount": "Neue Platzanzahl", + "newSeatCountDescription": "Anzahl der Plätze für Ihre Enterprise-Lizenz auswählen", + "whatHappensNext": "Wie geht es weiter?", + "stripePortalRedirect": "Sie werden zum Stripe-Abrechnungsportal weitergeleitet, um die Platzänderung zu prüfen und zu bestätigen. Der anteilige Betrag wird automatisch berechnet.", + "preparingUpdate": "Platzaktualisierung wird vorbereitet...", + "seatCountTooLow": "Die Platzanzahl muss mindestens {{minimum}} betragen (aktuelle Nutzerzahl)", + "seatCountUnchanged": "Bitte eine andere Platzanzahl auswählen", + "seatsUpdated": "Plätze aktualisiert", + "seatsUpdatedMessage": "Ihre Enterprise-Plätze wurden auf {{seats}} aktualisiert", + "updateProcessing": "Aktualisierung wird verarbeitet", + "updateProcessingMessage": "Ihre Platzaktualisierung wird verarbeitet. Bitte aktualisieren Sie in wenigen Momenten.", + "notEnterprise": "Platzverwaltung ist nur für Enterprise-Lizenzen verfügbar" + }, + "upgradeBanner": { + "title": "Upgrade auf Server-Plan", + "message": "Holen Sie das Beste aus Stirling PDF heraus – mit unbegrenzten Nutzern und erweiterten Funktionen", + "upgradeButton": "Jetzt upgraden", + "dismiss": "Banner ausblenden", + "attentionTitle": "Dieser Server benötigt Admin-Aufmerksamkeit", + "attentionBody": "Ihr Admin muss sich anmelden, um mehr Infos zu sehen. Bitte kontaktieren Sie ihn umgehend.", + "attentionBodyAdmin": "Prüfen Sie die Lizenzanforderungen, um diesen Server konform zu halten.", + "seeInfo": "Infos anzeigen" }, "payment": { "preparing": "Checkout wird vorbereitet...", @@ -5128,7 +5548,61 @@ "success": "Zahlung erfolgreich!", "successMessage": "Ihr Abonnement wurde erfolgreich aktiviert. Sie erhalten in Kürze eine Bestätigungs-E-Mail.", "autoClose": "Dieses Fenster schließt sich automatisch...", - "error": "Zahlungsfehler" + "error": "Zahlungsfehler", + "upgradeSuccess": "Zahlung erfolgreich! Ihr Abo wurde upgegradet. Die Lizenz wurde auf Ihrem Server aktualisiert. Sie erhalten in Kürze eine Bestätigungs-E-Mail.", + "paymentSuccess": "Zahlung erfolgreich! Lizenzschlüssel wird abgerufen...", + "licenseActivated": "Lizenz aktiviert! Ihr Lizenzschlüssel wurde gespeichert. Eine Bestätigungs-E-Mail wurde an Ihre registrierte E-Mail-Adresse gesendet.", + "licenseDelayed": "Zahlung erfolgreich! Ihre Lizenz wird erstellt. Sie erhalten in Kürze eine E-Mail mit Ihrem Lizenzschlüssel. Wenn Sie sie nicht innerhalb von 10 Minuten erhalten, kontaktieren Sie bitte den Support.", + "licensePollingError": "Zahlung erfolgreich, aber Ihr Lizenzschlüssel konnte nicht automatisch abgerufen werden. Bitte prüfen Sie Ihre E-Mail oder kontaktieren Sie den Support mit Ihrer Zahlungsbestätigung.", + "licenseRetrievalError": "Zahlung erfolgreich, aber das Abrufen der Lizenz ist fehlgeschlagen. Sie erhalten Ihren Lizenzschlüssel per E-Mail. Bitte kontaktieren Sie den Support, wenn Sie ihn nicht innerhalb von 10 Minuten erhalten.", + "syncError": "Zahlung erfolgreich, aber die Lizenzsynchronisierung ist fehlgeschlagen. Ihre Lizenz wird in Kürze aktualisiert. Bitte kontaktieren Sie den Support, wenn das Problem bestehen bleibt.", + "licenseSaveError": "Speichern des Lizenzschlüssels fehlgeschlagen. Bitte kontaktieren Sie den Support mit Ihrem Lizenzschlüssel, um die Aktivierung abzuschließen.", + "paymentCanceled": "Zahlung wurde abgebrochen. Es wurden keine Gebühren erhoben.", + "syncingLicense": "Ihre upgegradete Lizenz wird synchronisiert...", + "generatingLicense": "Ihr Lizenzschlüssel wird erstellt...", + "upgradeComplete": "Upgrade abgeschlossen", + "upgradeCompleteMessage": "Ihr Abo wurde erfolgreich upgegradet. Ihr vorhandener Lizenzschlüssel wurde aktualisiert.", + "stripeNotConfigured": "Stripe nicht konfiguriert", + "stripeNotConfiguredMessage": "Stripe-Zahlungsintegration ist nicht konfiguriert. Bitte wenden Sie sich an Ihren Administrator.", + "monthly": "Monatlich", + "yearly": "Jährlich", + "billingPeriod": "Abrechnungszeitraum", + "enterpriseNote": "Plätze können im Checkout angepasst werden (1–1000).", + "installationId": "Installations-ID", + "licenseKey": "Ihr Lizenzschlüssel", + "licenseInstructions": "Dies wurde zu Ihrer Installation hinzugefügt. Sie erhalten außerdem eine Kopie per E-Mail.", + "canCloseWindow": "Sie können dieses Fenster jetzt schließen.", + "licenseKeyProcessing": "Lizenzschlüssel wird verarbeitet", + "licenseDelayedMessage": "Ihr Lizenzschlüssel wird erstellt. Bitte prüfen Sie in Kürze Ihre E-Mail oder kontaktieren Sie den Support.", + "perYear": "/Jahr", + "perMonth": "/Monat", + "emailInvalid": "Bitte geben Sie eine gültige E-Mail-Adresse ein", + "emailStage": { + "title": "E-Mail eingeben", + "description": "Wir verwenden diese, um Ihren Lizenzschlüssel und Belege zu senden.", + "emailLabel": "E-Mail-Adresse", + "emailPlaceholder": "your@email.com", + "continue": "Weiter", + "modalTitle": "Loslegen – {{planName}}" + }, + "planStage": { + "title": "Abrechnungszeitraum wählen", + "savingsNote": "{{percent}}% sparen mit jährlicher Abrechnung", + "basePrice": "Grundpreis", + "seatPrice": "Pro Platz", + "totalForSeats": "Gesamt ({{count}} Plätze)", + "selectMonthly": "Monatlich wählen", + "selectYearly": "Jährlich wählen", + "savePercent": "{{percent}}% sparen", + "savingsAmount": "Sie sparen {{amount}}", + "modalTitle": "Abrechnungszeitraum wählen – {{planName}}", + "billedYearly": "Jährlich abgerechnet mit {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Zur Planauswahl zurück", + "selectedPlan": "Ausgewählter Plan", + "modalTitle": "Zahlung abschließen – {{planName}}" + } }, "firstLogin": { "title": "Erste Anmeldung", @@ -5287,5 +5761,281 @@ "offline": "Backend offline", "starting": "Backend startet...", "wait": "Bitte warten Sie, bis das Backend vollständig gestartet ist, und versuchen Sie es erneut." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "PDF entsperren, um fortzufahren", + "title": "Passwort entfernen, um fortzufahren", + "description": "Dieses PDF ist passwortgeschützt. Geben Sie das Passwort ein, um weiter damit zu arbeiten.", + "password": { + "label": "PDF-Passwort", + "placeholder": "PDF-Passwort eingeben" + }, + "skip": "Für jetzt überspringen", + "unlock": "Entsperren & fortfahren", + "incorrectPassword": "Falsches Passwort", + "missingFile": "Die ausgewählte Datei ist nicht mehr verfügbar.", + "emptyResponse": "Das Entfernen des Passworts hat keine Datei erzeugt.", + "required": "Geben Sie das Passwort ein, um fortzufahren.", + "successTitle": "Passwort entfernt", + "successBodyWithName": "Passwort von {{fileName}} entfernt", + "successBody": "Passwort erfolgreich entfernt." + }, + "setup": { + "welcome": "Willkommen bei Stirling PDF", + "description": "Wählen Sie, wie Sie Stirling PDF verwenden möchten, um zu starten", + "step1": { + "label": "Modus wählen", + "description": "Offline oder Server" + }, + "step2": { + "label": "Server auswählen", + "description": "Self-Hosted-Server" + }, + "step3": { + "label": "Login", + "description": "Anmeldedaten eingeben" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Mit Ihrem Stirling-Konto anmelden" + }, + "selfhosted": { + "title": "Self-Hosted-Server", + "description": "Mit Ihrem eigenen Stirling PDF-Server verbinden" + } + }, + "saas": { + "title": "Bei Stirling anmelden", + "subtitle": "Mit Ihrem Stirling-Konto anmelden" + }, + "selfhosted": { + "title": "Am Server anmelden", + "subtitle": "Geben Sie Ihre Server-Anmeldedaten ein" + }, + "server": { + "title": "Mit Server verbinden", + "subtitle": "Geben Sie die URL Ihres Self-Hosted-Servers ein", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Self-Hosted-Server" + }, + "url": { + "label": "Server-URL", + "description": "Geben Sie die vollständige URL Ihres selbst gehosteten Stirling PDF-Servers ein" + }, + "error": { + "emptyUrl": "Bitte eine Server-URL eingeben", + "unreachable": "Verbindung zum Server konnte nicht hergestellt werden", + "testFailed": "Verbindungstest fehlgeschlagen" + }, + "testing": "Verbindung wird getestet..." + }, + "login": { + "title": "Anmelden", + "subtitle": "Geben Sie Ihre Anmeldedaten ein, um fortzufahren", + "connectingTo": "Verbinden mit:", + "username": { + "label": "Benutzername", + "placeholder": "Benutzernamen eingeben" + }, + "email": { + "label": "E-Mail", + "placeholder": "E-Mail eingeben" + }, + "password": { + "label": "Passwort", + "placeholder": "Passwort eingeben" + }, + "error": { + "emptyUsername": "Bitte geben Sie Ihren Benutzernamen ein", + "emptyEmail": "Bitte geben Sie Ihre E-Mail ein", + "emptyPassword": "Bitte geben Sie Ihr Passwort ein", + "oauthFailed": "OAuth-Login fehlgeschlagen. Bitte erneut versuchen." + }, + "submit": "Login", + "signInWith": "Anmelden mit", + "oauthPending": "Browser zur Authentifizierung wird geöffnet...", + "orContinueWith": "Oder mit E-Mail fortfahren" + } + }, + "oauth": { + "success": { + "title": "Authentifizierung erfolgreich", + "message": "Sie können dieses Fenster schließen und zu Stirling PDF zurückkehren." + }, + "error": { + "title": "Authentifizierung fehlgeschlagen", + "message": "Die Authentifizierung war nicht erfolgreich. Sie können dieses Fenster schließen und es erneut versuchen." + } + }, + "pdfTextEditor": { + "title": "PDF-JSON-Editor", + "viewLabel": "PDF-Editor", + "converting": "PDF wird in ein bearbeitbares Format umgewandelt...", + "conversionFailed": "PDF konnte nicht konvertiert werden. Bitte versuchen Sie es erneut.", + "currentFile": "Aktuelle Datei: {{name}}", + "pageSummary": "Seite {{number}} von {{total}}", + "pagePreviewAlt": "Seitenvorschau", + "imageLabel": "Platziertes Bild", + "noTextOnPage": "Auf dieser Seite wurde kein bearbeitbarer Text erkannt.", + "pageType": { + "paragraph": "Absatzseite", + "sparse": "Spärlicher Text" + }, + "groupingMode": { + "auto": "Automatisch", + "paragraph": "Absatz", + "singleLine": "Einzeilig" + }, + "badges": { + "unsaved": "Bearbeitet", + "modified": "Bearbeitet", + "earlyAccess": "Early Access" + }, + "actions": { + "reset": "Änderungen zurücksetzen", + "downloadJson": "JSON herunterladen", + "generatePdf": "PDF generieren" + }, + "options": { + "autoScaleText": { + "title": "Text automatisch in Rahmen einpassen", + "description": "Skaliert Text automatisch horizontal, sodass er in seinen ursprünglichen Begrenzungsrahmen passt, wenn die Schriftwiedergabe vom PDF abweicht." + }, + "groupingMode": { + "title": "Textgruppierungsmodus", + "autoDescription": "Erkennt den Seitentyp automatisch und gruppiert den Text entsprechend.", + "paragraphDescription": "Gruppiert ausgerichtete Zeilen zu mehrzeiligen Absatz-Textfeldern.", + "singleLineDescription": "Behält jede PDF-Textzeile als eigenes Textfeld bei." + }, + "manualGrouping": { + "descriptionInline": "Tipp: Halten Sie Strg (Cmd) oder Umschalt, um mehrere Textfelder auszuwählen. Über der Auswahl erscheint eine schwebende Werkzeugleiste, über die Sie zusammenführen, aufteilen oder Breiten anpassen können." + }, + "forceSingleElement": { + "title": "Bearbeiteten Text auf ein einzelnes PDF-Element fixieren", + "description": "Wenn aktiviert, exportiert der Editor jedes bearbeitete Textfeld als ein PDF-Textelement, um überlappende Glyphen oder gemischte Schriften zu vermeiden." + } + }, + "manual": { + "mergeTooltip": "Ausgewählte Felder zusammenführen", + "merge": "Auswahl zusammenführen", + "ungroupTooltip": "Absatz wieder in Zeilen aufteilen", + "ungroup": "Gruppierung aufheben", + "widthMenu": "Breitenoptionen", + "expandWidth": "Bis zum Seitenrand erweitern", + "resetWidth": "Breite zurücksetzen", + "resizeHandle": "Textbreite anpassen" + }, + "disclaimer": { + "heading": "Einschränkungen der Vorschau", + "textFocus": "Dieser Arbeitsbereich konzentriert sich auf das Bearbeiten von Text und das Neupositionieren eingebetteter Bilder. Komplexe Seitenzeichnungen, Formular-Widgets und grafische Ebenen werden für den Export beibehalten, sind hier aber nicht vollständig bearbeitbar.", + "previewVariance": "Einige Darstellungen (z. B. Tabellenrahmen, Formen oder Anmerkungsdarstellungen) werden in der Vorschau eventuell nicht exakt angezeigt. Das exportierte PDF behält nach Möglichkeit die ursprünglichen Zeichenbefehle bei.", + "alpha": "Dieser Alpha-Viewer entwickelt sich noch weiter – bestimmte Schriften, Farben, Transparenzeffekte und Layoutdetails können leicht abweichen. Bitte prüfen Sie das erzeugte PDF vor dem Teilen noch einmal." + }, + "empty": { + "title": "Kein Dokument geladen", + "subtitle": "Laden Sie eine PDF- oder JSON-Datei, um mit der Textbearbeitung zu beginnen." + }, + "welcomeBanner": { + "title": "Willkommen beim PDF-Texteditor (Early Access)", + "experimental": "Dies ist eine experimentelle Funktion in aktiver Entwicklung. Während der Nutzung kann es zu Instabilitäten und Problemen kommen.", + "howItWorks": "Dieses Tool wandelt Ihr PDF in ein bearbeitbares Format um, in dem Sie Textinhalte ändern und Bilder neu positionieren können. Änderungen werden als neues PDF gespeichert.", + "bestFor": "Am besten geeignet für:", + "bestFor1": "Einfache PDFs mit überwiegend Text und Bildern", + "bestFor2": "Dokumente mit standardmäßiger Absatzformatierung", + "bestFor3": "Briefe, Aufsätze, Berichte und einfache Dokumente", + "notIdealFor": "Weniger geeignet für:", + "notIdealFor1": "PDFs mit spezieller Formatierung wie Aufzählungen, Tabellen oder mehrspaltigen Layouts", + "notIdealFor2": "Magazine, Broschüren oder stark gestaltete Dokumente", + "notIdealFor3": "Anleitungen mit komplexen Layouts", + "limitations": "Aktuelle Einschränkungen:", + "limitation1": "Die Schriftwiedergabe kann leicht vom Original-PDF abweichen", + "limitation2": "Komplexe Grafiken, Formularfelder und Anmerkungen werden beibehalten, sind jedoch nicht bearbeitbar", + "limitation3": "Große Dateien können beim Konvertieren und Verarbeiten Zeit beanspruchen", + "knownIssues": "Bekannte Probleme (in Bearbeitung):", + "issue1": "Textfarbe wird derzeit nicht beibehalten (wird bald hinzugefügt)", + "issue2": "Im Absatzmodus treten häufiger Ausrichtungs- und Abstandsprobleme auf – Einzeilig-Modus empfohlen", + "issue3": "Die Vorschau unterscheidet sich vom exportierten PDF – exportierte PDFs sind näher am Original", + "issue4": "Ausrichtung von gedrehtem Text erfordert ggf. manuelle Anpassung", + "issue5": "Transparenz- und Ebeneneffekte können vom Original abweichen", + "feedback": "Dies ist eine Early-Access-Funktion. Bitte melden Sie auftretende Probleme, um uns bei der Verbesserung zu helfen!", + "gotIt": "Verstanden", + "dontShowAgain": "Nicht mehr anzeigen" + }, + "modeChange": { + "title": "Moduswechsel bestätigen", + "warning": "Das Ändern des Textgruppierungsmodus setzt alle nicht gespeicherten Änderungen zurück. Möchten Sie wirklich fortfahren?", + "cancel": "Abbrechen", + "confirm": "Zurücksetzen und Modus ändern" + }, + "fontAnalysis": { + "details": "Schriftdetails", + "embedded": "Eingebettet", + "type": "Typ", + "webFormat": "Web-Format", + "warnings": "Warnungen", + "suggestions": "Hinweise", + "currentPageFonts": "Schriften auf dieser Seite", + "allFonts": "Alle Schriften", + "fallback": "Fallback", + "missing": "fehlend", + "perfectMessage": "Alle Schriften können perfekt reproduziert werden.", + "warningMessage": "Einige Schriften werden möglicherweise nicht korrekt dargestellt.", + "infoMessage": "Informationen zur Schriftreproduktion verfügbar.", + "perfect": "perfekt", + "subset": "Subset" + }, + "errors": { + "invalidJson": "JSON-Datei kann nicht gelesen werden. Stellen Sie sicher, dass sie vom PDF-zu-JSON-Tool erzeugt wurde.", + "pdfConversion": "Das bearbeitete JSON kann nicht zurück in ein PDF konvertiert werden." + } + }, + "auth": { + "sessionExpired": "Sitzung abgelaufen", + "pleaseLoginAgain": "Bitte melden Sie sich erneut an.", + "accessDenied": "Zugriff verweigert", + "insufficientPermissions": "Sie haben keine Berechtigung, diese Aktion auszuführen." + }, + "addText": { + "title": "Text hinzufügen", + "header": "Text zu PDFs hinzufügen", + "text": { + "name": "Textinhalt", + "placeholder": "Geben Sie den hinzuzufügenden Text ein", + "fontLabel": "Schriftart", + "fontSizeLabel": "Schriftgröße", + "fontSizePlaceholder": "Schriftgröße eingeben oder wählen (8-200)", + "colorLabel": "Textfarbe" + }, + "steps": { + "configure": "Text konfigurieren" + }, + "step": { + "createDesc": "Geben Sie den hinzuzufügenden Text ein", + "place": "Text platzieren", + "placeDesc": "Klicken Sie auf das PDF, um Ihren Text hinzuzufügen" + }, + "instructions": { + "title": "So fügen Sie Text hinzu", + "text": "Nachdem Sie oben Ihren Text eingegeben haben, klicken Sie irgendwo auf das PDF, um ihn zu platzieren.", + "paused": "Platzierung pausiert", + "resumeHint": "Setzen Sie die Platzierung fort, um zu klicken und Ihren Text hinzuzufügen.", + "noSignature": "Geben Sie oben Text ein, um die Platzierung zu aktivieren." + }, + "mode": { + "move": "Text verschieben", + "place": "Text platzieren", + "pause": "Platzierung pausieren", + "resume": "Platzierung fortsetzen" + }, + "results": { + "title": "Ergebnisse: Text hinzufügen" + }, + "error": { + "failed": "Beim Hinzufügen von Text zum PDF ist ein Fehler aufgetreten." + }, + "tags": "text,anmerkung,beschriftung", + "applySignatures": "Text anwenden" } } \ No newline at end of file diff --git a/frontend/public/locales/el-GR/translation.json b/frontend/public/locales/el-GR/translation.json index 409347957..1a2c24362 100644 --- a/frontend/public/locales/el-GR/translation.json +++ b/frontend/public/locales/el-GR/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Σύντομα διαθέσιμο:", "favorite": "Προσθήκη στα Αγαπημένα", "favorites": "Αγαπημένα", + "unavailable": "Απενεργοποιήθηκε από τον διαχειριστή διακομιστή:", + "unavailableDependency": "Μη διαθέσιμο - λείπει το απαιτούμενο εργαλείο στον διακομιστή:", "heading": "Όλα τα εργαλεία (πλήρης οθόνη)", "noResults": "Δοκιμάστε να προσαρμόσετε την αναζήτηση ή να εναλλάξετε τις περιγραφές για να βρείτε αυτό που χρειάζεστε.", "recommended": "Προτείνεται", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Μετάβαση σε λειτουργία πλήρους οθόνης", "sidebar": "Μετάβαση σε λειτουργία πλευρικής γραμμής" - } + }, + "alpha": "Άλφα", + "premiumFeature": "Premium λειτουργία:", + "comingSoon": "Σύντομα διαθέσιμο:" }, "unsavedChanges": "Έχετε μη αποθηκευμένες αλλαγές στο PDF σας.", "areYouSure": "Είστε βέβαιοι ότι θέλετε να αποχωρήσετε;", @@ -41,6 +46,30 @@ "cancel": "Άκυρο", "confirm": "Αποσυμπίεση" }, + "defaultApp": { + "title": "Ορισμός ως προεπιλεγμένη εφαρμογή PDF", + "message": "Θέλετε να ορίσετε το Stirling PDF ως προεπιλεγμένο πρόγραμμα επεξεργασίας PDF;", + "description": "Μπορείτε να το αλλάξετε αργότερα στις ρυθμίσεις συστήματος.", + "notNow": "Όχι τώρα", + "setDefault": "Ορισμός ως προεπιλογή", + "dismiss": "Απόρριψη", + "prompt": { + "title": "Ορισμός ως προεπιλεγμένος επεξεργαστής PDF", + "message": "Κάντε το Stirling PDF την προεπιλεγμένη εφαρμογή για άνοιγμα αρχείων PDF." + }, + "success": { + "title": "Ορίστηκε προεπιλεγμένη εφαρμογή", + "message": "Το Stirling PDF είναι πλέον ο προεπιλεγμένος επεξεργαστής PDF" + }, + "settingsOpened": { + "title": "Άνοιξαν οι Ρυθμίσεις", + "message": "Επιλέξτε το Stirling PDF στις ρυθμίσεις συστήματος" + }, + "error": { + "title": "Σφάλμα", + "message": "Αποτυχία ορισμού προεπιλεγμένου χειριστή PDF" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Αποθήκευση", "saveToBrowser": "Αποθήκευση στον περιηγητή", "download": "Λήψη", + "downloadUnavailable": "Η λήψη δεν είναι διαθέσιμη για αυτό το στοιχείο", + "saveUnavailable": "Η αποθήκευση δεν είναι διαθέσιμη για αυτό το στοιχείο", "pin": "Καρφίτσωμα αρχείου (παραμένει ενεργό μετά την εκτέλεση εργαλείου)", "unpin": "Ξεκαρφίτσωμα αρχείου (αντικατάσταση μετά την εκτέλεση εργαλείου)", "undoOperationTooltip": "Κάντε κλικ για αναίρεση της τελευταίας ενέργειας και επαναφορά των αρχικών αρχείων", @@ -168,6 +199,7 @@ }, "edit": "Επεξεργασία", "delete": "Διαγραφή", + "never": "Ποτέ", "username": "Όνομα χρήστη", "password": "Κωδικός", "welcome": "Καλώς ήρθατε", @@ -262,7 +294,8 @@ "learnMore": "Μάθετε περισσότερα", "enable": "Ενεργοποίηση analytics", "disable": "Απενεργοποίηση analytics", - "settings": "Μπορείτε να αλλάξετε τις ρυθμίσεις για τα analytics στο αρχείο config/settings.yml" + "settings": "Μπορείτε να αλλάξετε τις ρυθμίσεις για τα analytics στο αρχείο config/settings.yml", + "privacyAssurance": "Δεν καταγράφουμε προσωπικά δεδομένα ούτε το περιεχόμενο των αρχείων σας." }, "navbar": { "favorite": "Αγαπημένα", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Ρυθμίσεις", - "update": "Διαθέσιμη ενημέρωση", - "updateAvailable": "{0} είναι η τρέχουσα εγκατεστημένη έκδοση. Μια νέα έκδοση ({1}) είναι διαθέσιμη.", - "appVersion": "Έκδοση εφαρμογής:", - "downloadOption": { - "title": "Επιλογή λήψης (Για μεμονωμένη λήψη αρχείων χωρίς συμπίεση):", - "1": "Άνοιγμα στο ίδιο παράθυρο", - "2": "Άνοιγμα σε νέο παράθυρο", - "3": "Λήψη αρχείου" - }, - "zipThreshold": "Συμπίεση αρχείων όταν ο αριθμός των ληφθέντων αρχείων υπερβαίνει", - "signOut": "Αποσύνδεση", - "accountSettings": "Ρυθμίσεις λογαριασμού", - "bored": { - "help": "Ενεργοποίηση παιχνιδιού easter egg" - }, - "cacheInputs": { - "name": "Αποθήκευση εισόδων φόρμας", - "help": "Ενεργοποίηση για αποθήκευση προηγούμενων εισόδων για μελλοντική χρήση" + "connection": { + "title": "Λειτουργία σύνδεσης", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Self-Hosted" + }, + "server": "Διακομιστής", + "user": "Συνδεθήκατε ως", + "logout": "Αποσύνδεση" }, "general": { "title": "Γενικά", "description": "Ρυθμίστε γενικές προτιμήσεις της εφαρμογής.", - "account": "Λογαριασμός", - "accountDescription": "Διαχείριση ρυθμίσεων λογαριασμού", "user": "Χρήστης", - "signedInAs": "Συνδεδεμένος ως", "logout": "Αποσύνδεση", "enableFeatures": { + "dismiss": "Απόρριψη", "title": "Για διαχειριστές συστήματος", "intro": "Ενεργοποιήστε τον έλεγχο ταυτότητας χρηστών, τη διαχείριση ομάδων και λειτουργίες χώρου εργασίας για τον οργανισμό σας.", "action": "Ρύθμιση", "and": "και", "benefit": "Ενεργοποιεί ρόλους χρηστών, ομαδική συνεργασία, στοιχεία ελέγχου διαχειριστή και επιχειρησιακές δυνατότητες.", - "learnMore": "Μάθετε περισσότερα στην τεκμηρίωση", - "dismiss": "Απόρριψη" + "learnMore": "Μάθετε περισσότερα στην τεκμηρίωση" }, - "autoUnzip": "Αυτόματη αποσυμπίεση αποκρίσεων API", - "autoUnzipDescription": "Αυτόματη εξαγωγή αρχείων από αποκρίσεις ZIP", - "autoUnzipTooltip": "Αυτόματη εξαγωγή αρχείων ZIP που επιστρέφονται από λειτουργίες API. Απενεργοποιήστε για να διατηρήσετε τα ZIP ανέπαφα. Αυτό δεν επηρεάζει τις ροές αυτοματοποίησης.", - "autoUnzipFileLimit": "Όριο αρχείων αυτόματης αποσυμπίεσης", - "autoUnzipFileLimitDescription": "Μέγιστος αριθμός αρχείων για εξαγωγή από ZIP", - "autoUnzipFileLimitTooltip": "Αποσυμπιέστε μόνο αν το ZIP περιέχει τόσα αρχεία ή λιγότερα. Ορίστε μεγαλύτερο για εξαγωγή μεγαλύτερων ZIP.", "defaultToolPickerMode": "Προεπιλεγμένη λειτουργία επιλογέα εργαλείων", "defaultToolPickerModeDescription": "Επιλέξτε αν ο επιλογέας εργαλείων ανοίγει εξ ορισμού σε πλήρη οθόνη ή στην πλευρική γραμμή", "mode": { - "fullscreen": "Πλήρης οθόνη", - "sidebar": "Πλευρική γραμμή" - } + "sidebar": "Πλευρική γραμμή", + "fullscreen": "Πλήρης οθόνη" + }, + "autoUnzipTooltip": "Αυτόματη εξαγωγή αρχείων ZIP που επιστρέφονται από λειτουργίες API. Απενεργοποιήστε για να διατηρήσετε τα ZIP ανέπαφα. Αυτό δεν επηρεάζει τις ροές αυτοματοποίησης.", + "autoUnzip": "Αυτόματη αποσυμπίεση αποκρίσεων API", + "autoUnzipDescription": "Αυτόματη εξαγωγή αρχείων από αποκρίσεις ZIP", + "autoUnzipFileLimitTooltip": "Αποσυμπιέστε μόνο αν το ZIP περιέχει τόσα αρχεία ή λιγότερα. Ορίστε μεγαλύτερο για εξαγωγή μεγαλύτερων ZIP.", + "autoUnzipFileLimit": "Όριο αρχείων αυτόματης αποσυμπίεσης", + "autoUnzipFileLimitDescription": "Μέγιστος αριθμός αρχείων για εξαγωγή από ZIP", + "defaultPdfEditor": "Προεπιλεγμένος επεξεργαστής PDF", + "defaultPdfEditorActive": "Το Stirling PDF είναι ο προεπιλεγμένος επεξεργαστής PDF", + "defaultPdfEditorInactive": "Έχει οριστεί άλλη εφαρμογή ως προεπιλογή", + "defaultPdfEditorChecking": "Έλεγχος...", + "defaultPdfEditorSet": "Ήδη προεπιλογή", + "setAsDefault": "Ορισμός ως προεπιλογή", + "updates": { + "title": "Ενημερώσεις λογισμικού", + "description": "Έλεγχος ενημερώσεων και προβολή πληροφοριών έκδοσης", + "currentVersion": "Τρέχουσα έκδοση", + "latestVersion": "Νεότερη έκδοση", + "checkForUpdates": "Έλεγχος για ενημερώσεις", + "viewDetails": "Προβολή λεπτομερειών" + }, + "hideUnavailableTools": "Απόκρυψη μη διαθέσιμων εργαλείων", + "hideUnavailableToolsDescription": "Κατάργηση εργαλείων που έχουν απενεργοποιηθεί από τον διακομιστή αντί να εμφανίζονται ξεθωριασμένα.", + "hideUnavailableConversions": "Απόκρυψη μη διαθέσιμων μετατροπών", + "hideUnavailableConversionsDescription": "Κατάργηση απενεργοποιημένων επιλογών μετατροπής στο εργαλείο Convert αντί να εμφανίζονται ξεθωριασμένες." }, "hotkeys": { - "title": "Συντομεύσεις πληκτρολογίου", - "description": "Τοποθετήστε τον δείκτη πάνω σε ένα εργαλείο για να δείτε τη συντόμευσή του ή προσαρμόστε την παρακάτω. Κάντε κλικ στο \"Αλλαγή συντόμευσης\" και πατήστε νέο συνδυασμό πλήκτρων. Πατήστε Esc για ακύρωση.", - "errorModifier": { - "mac": "Συμπεριλάβετε ⌘ (Command), ⌥ (Option) ή άλλο τροποποιητή στη συντόμευσή σας.", - "windows": "Συμπεριλάβετε Ctrl, Alt ή άλλο τροποποιητή στη συντόμευσή σας." - }, "errorConflict": "Η συντόμευση χρησιμοποιείται ήδη από το {{tool}}.", + "searchPlaceholder": "Αναζήτηση εργαλείων...", "none": "Μη εκχωρημένο", "customBadge": "Προσαρμοσμένη", "defaultLabel": "Προεπιλογή: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Αλλαγή συντόμευσης", "reset": "Επαναφορά", "shortcut": "Συντόμευση", - "noShortcut": "Δεν έχει οριστεί συντόμευση", - "searchPlaceholder": "Αναζήτηση εργαλείων..." + "noShortcut": "Δεν έχει οριστεί συντόμευση" } }, + "update": { + "modalTitle": "Διαθέσιμη ενημέρωση", + "current": "Τρέχουσα έκδοση", + "latest": "Νεότερη έκδοση", + "latestStable": "Νεότερη σταθερή", + "priorityLabel": "Προτεραιότητα", + "recommendedAction": "Προτεινόμενη ενέργεια", + "breakingChangesDetected": "Εντοπίστηκαν ασύμβατες αλλαγές", + "breakingChangesMessage": "Ορισμένες εκδόσεις περιέχουν ασύμβατες αλλαγές. Ελέγξτε τους οδηγούς μετεγκατάστασης παρακάτω πριν ενημερώσετε.", + "migrationGuides": "Οδηγοί μετεγκατάστασης", + "viewGuide": "Προβολή οδηγού", + "loadingDetailedInfo": "Φόρτωση αναλυτικών πληροφοριών...", + "close": "Κλείσιμο", + "viewAllReleases": "Προβολή όλων των εκδόσεων", + "downloadLatest": "Λήψη νεότερης", + "availableUpdates": "Διαθέσιμες ενημερώσεις", + "unableToLoadDetails": "Αδυναμία φόρτωσης αναλυτικών πληροφοριών.", + "version": "Έκδοση", + "urgentUpdateAvailable": "Επείγουσα ενημέρωση", + "updateAvailable": "Διαθέσιμη ενημέρωση", + "releaseNotes": "Σημειώσεις έκδοσης", + "priority": { + "urgent": "Επείγον", + "normal": "Κανονική", + "minor": "Δευτερεύουσα", + "low": "Χαμηλή" + }, + "breakingChanges": "Ασύμβατες αλλαγές", + "breakingChangesDefault": "Αυτή η έκδοση περιέχει ασύμβατες αλλαγές.", + "migrationGuide": "Οδηγός μετεγκατάστασης" + }, "changeCreds": { "title": "Αλλαγή διαπιστευτηρίων", "header": "Ενημέρωση στοιχείων λογαριασμού", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Επικάλυψη PDF πάνω σε άλλο PDF", "title": "Επικάλυψη PDF" + }, + "pdfTextEditor": { + "title": "Επεξεργαστής κειμένου PDF", + "desc": "Επιθεωρήστε και επεξεργαστείτε εξαγωγές JSON του Stirling PDF με ομαδοποιημένη επεξεργασία κειμένου και αναδημιουργία PDF" + }, + "addText": { + "tags": "κείμενο,σχολιασμός,ετικέτα", + "title": "Προσθήκη κειμένου", + "desc": "Προσθέστε προσαρμοσμένο κείμενο οπουδήποτε στο PDF σας" } }, "landing": { "addFiles": "Προσθήκη αρχείων", - "uploadFromComputer": "Μεταφόρτωση από υπολογιστή" + "uploadFromComputer": "Μεταφόρτωση από υπολογιστή", + "openFromComputer": "Άνοιγμα από τον υπολογιστή" }, "viewPdf": { "tags": "προβολή,ανάγνωση,σχολιασμός,κείμενο,εικόνα", @@ -849,6 +922,11 @@ }, "error": { "failed": "Παρουσιάστηκε σφάλμα κατά τη συγχώνευση των PDF." + }, + "tooltip": { + "header": { + "title": "Επισκόπηση ρυθμίσεων συγχώνευσης" + } } }, "split": { @@ -1073,9 +1151,9 @@ "autoRotateDescription": "Περιστρέφει αυτόματα τις εικόνες για καλύτερη προσαρμογή στη σελίδα του PDF", "combineImages": "Συνδυασμός εικόνων", "combineImagesDescription": "Συνδυάστε όλες τις εικόνες σε ένα PDF ή δημιουργήστε ξεχωριστά PDF για κάθε εικόνα", - "webOptions": "Web to PDF Options", + "webOptions": "Επιλογές Web σε PDF", "zoomLevel": "Επίπεδο ζουμ", - "emailOptions": "Email to PDF Options", + "emailOptions": "Επιλογές Email σε PDF", "includeAttachments": "Συμπερίληψη συνημμένων email", "maxAttachmentSize": "Μέγιστο μέγεθος συνημμένου (MB)", "includeAllRecipients": "Συμπερίληψη παραληπτών CC και BCC στην κεφαλίδα", @@ -1182,9 +1260,43 @@ "tags": "εικόνα,jpg,φωτογραφία", "title": "Προσθήκη εικόνας", "header": "Προσθήκη εικόνας σε PDF", - "everyPage": "Κάθε σελίδα;", - "upload": "Προσθήκη εικόνας", - "submit": "Προσθήκη εικόνας" + "image": { + "name": "Εικόνα", + "placeholder": "Ανεβάστε μια εικόνα", + "label": "Αρχείο εικόνας" + }, + "steps": { + "configure": "Ρύθμιση εικόνας" + }, + "step": { + "createDesc": "Ανεβάστε την εικόνα που θέλετε να προσθέσετε", + "place": "Τοποθέτηση εικόνας", + "placeDesc": "Κάντε κλικ στο PDF για να προσθέσετε την εικόνα σας" + }, + "instructions": { + "title": "Πώς να προσθέσετε εικόνες", + "text": "Αφού ανεβάσετε την εικόνα σας, κάντε κλικ οπουδήποτε στο PDF για να την τοποθετήσετε.", + "paused": "Η τοποθέτηση σε παύση", + "resumeHint": "Συνεχίστε την τοποθέτηση για να κάνετε κλικ και να προσθέσετε την εικόνα σας.", + "noSignature": "Ανεβάστε μια εικόνα παραπάνω για να ενεργοποιήσετε την τοποθέτηση." + }, + "mode": { + "move": "Μετακίνηση εικόνας", + "place": "Τοποθέτηση εικόνας", + "pause": "Παύση τοποθέτησης", + "resume": "Συνέχιση τοποθέτησης" + }, + "results": { + "title": "Αποτελέσματα προσθήκης εικόνας" + }, + "error": { + "failed": "Παρουσιάστηκε σφάλμα κατά την προσθήκη εικόνας στο PDF." + }, + "saved": { + "defaultLabel": "Εικόνα", + "defaultImageLabel": "Ανεβασμένη εικόνα" + }, + "applySignatures": "Εφαρμογή εικόνων" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1397,6 +1509,93 @@ }, "submit": "Αλλαγή" }, + "editTableOfContents": { + "settings": { + "title": "Σελιδοδείκτες & διάρθρωση", + "replaceExisting": "Αντικατάσταση υπαρχόντων σελιδοδεικτών (αποεπιλέξτε για προσθήκη)", + "replaceExistingHint": "Όταν είναι απενεργοποιημένο, η νέα διάρθρωση προστίθεται μετά τους τρέχοντες σελιδοδείκτες." + }, + "actions": { + "source": "Φόρτωση σελιδοδεικτών", + "selectedFile": "Φορτώθηκε από {{file}}", + "noFile": "Επιλέξτε ένα PDF για εξαγωγή υπαρχόντων σελιδοδεικτών.", + "loadFromPdf": "Φόρτωση από το επιλεγμένο PDF", + "importJson": "Εισαγωγή JSON", + "importClipboard": "Επικόλληση JSON από το πρόχειρο", + "export": "Εξαγωγή σελιδοδεικτών", + "exportJson": "Λήψη JSON", + "exportClipboard": "Αντιγραφή JSON στο πρόχειρο", + "clipboardUnavailable": "Η πρόσβαση στο πρόχειρο δεν είναι διαθέσιμη σε αυτό το πρόγραμμα περιήγησης." + }, + "info": { + "line1": "Κάθε σελιδοδείκτης χρειάζεται περιγραφικό τίτλο και τη σελίδα που θα ανοίγει.", + "line2": "Χρησιμοποιήστε υποσελιδοδείκτες για να δημιουργήσετε ιεραρχία για κεφάλαια, ενότητες ή υποενότητες.", + "line3": "Εισαγάγετε σελιδοδείκτες από το επιλεγμένο PDF ή από αρχείο JSON για εξοικονόμηση χρόνου." + }, + "workbench": { + "empty": { + "title": "Ανοίξτε το εργαλείο για να ξεκινήσετε την επεξεργασία", + "description": "Επιλέξτε το εργαλείο Επεξεργασία Πίνακα Περιεχομένων για να φορτώσει τον χώρο εργασίας του." + }, + "tabTitle": "Χώρος εργασίας διάρθρωσης", + "subtitle": "Εισαγάγετε σελιδοδείκτες, δημιουργήστε ιεραρχίες και εφαρμόστε τη διάρθρωση χωρίς στενά πλευρικά πάνελ.", + "noFile": "Δεν έχει επιλεγεί PDF", + "fileLabel": "Οι αλλαγές θα εφαρμοστούν στο τρέχον επιλεγμένο PDF.", + "filePrompt": "Επιλέξτε ένα PDF από τη βιβλιοθήκη σας ή ανεβάστε νέο για να ξεκινήσετε.", + "changeFile": "Αλλαγή PDF", + "selectFile": "Επιλογή PDF" + }, + "editor": { + "heading": "Επεξεργαστής σελιδοδεικτών", + "description": "Προσθέστε, εμφωλεύστε και αναδιατάξτε σελιδοδείκτες για να διαμορφώσετε τη διάρθρωση του PDF σας.", + "addTopLevel": "Προσθήκη σελιδοδείκτη κορυφαίου επιπέδου", + "empty": { + "title": "Δεν υπάρχουν σελιδοδείκτες ακόμη", + "description": "Εισαγάγετε υπάρχοντες σελιδοδείκτες ή ξεκινήστε προσθέτοντας την πρώτη καταχώριση.", + "action": "Προσθήκη πρώτου σελιδοδείκτη" + }, + "defaultTitle": "Νέος σελιδοδείκτης", + "defaultChildTitle": "Υποσελιδοδείκτης", + "defaultSiblingTitle": "Νέος σελιδοδείκτης", + "untitled": "Σελιδοδείκτης χωρίς τίτλο", + "childBadge": "Υπο", + "pagePreview": "Σελίδα {{page}}", + "field": { + "title": "Τίτλος σελιδοδείκτη", + "page": "Αριθμός σελίδας στόχου" + }, + "actions": { + "toggle": "Εναλλαγή υποσελιδοδεικτών", + "addChild": "Προσθήκη υποσελιδοδείκτη", + "addSibling": "Προσθήκη ομοεπίπεδου σελιδοδείκτη", + "remove": "Αφαίρεση σελιδοδείκτη" + }, + "confirmRemove": "Αφαίρεση αυτού του σελιδοδείκτη και όλων των υποσελιδοδεικτών του;" + }, + "messages": { + "loadedTitle": "Εξήχθησαν σελιδοδείκτες", + "loadedBody": "Οι υπάρχοντες σελιδοδείκτες του PDF φορτώθηκαν στον επεξεργαστή.", + "noBookmarks": "Δεν βρέθηκαν σελιδοδείκτες στο επιλεγμένο PDF.", + "loadFailed": "Αδυναμία εξαγωγής σελιδοδεικτών από το επιλεγμένο PDF.", + "imported": "Εισήχθησαν σελιδοδείκτες", + "importedBody": "Η διάρθρωση JSON αντικατέστησε τα τρέχοντα περιεχόμενα του επεξεργαστή.", + "importedClipboard": "Τα δεδομένα προχείρου αντικατέστησαν την τρέχουσα λίστα σελιδοδεικτών.", + "invalidJson": "Μη έγκυρη δομή JSON", + "invalidJsonBody": "Παρακαλούμε δώστε έγκυρο αρχείο JSON σελιδοδεικτών και δοκιμάστε ξανά.", + "exported": "Έτοιμη η λήψη JSON", + "copied": "Αντιγράφηκε στο πρόχειρο", + "copiedBody": "Το JSON σελιδοδεικτών αντιγράφηκε με επιτυχία.", + "copyFailed": "Αποτυχία αντιγραφής" + }, + "error": { + "failed": "Αποτυχία ενημέρωσης του πίνακα περιεχομένων" + }, + "submit": "Εφαρμογή πίνακα περιεχομένων", + "results": { + "title": "Ενημερωμένο PDF με σελιδοδείκτες", + "subtitle": "Κατεβάστε το επεξεργασμένο αρχείο ή αναιρέστε την ενέργεια παρακάτω." + } + }, "removePages": { "tags": "αφαίρεση σελίδων,διαγραφή σελίδων", "title": "Αφαίρεση", @@ -1601,7 +1800,7 @@ "tags": "συμπίεση,μικρό,μικροσκοπικό" }, "unlockPDFForms": { - "tags": "remove,delete,form,field,readonly", + "tags": "αφαίρεση,διαγραφή,φόρμα,πεδίο,μόνο-ανάγνωση", "title": "Κατάργηση ιδιότητας μόνο για ανάγνωση από πεδία φόρμας", "header": "Ξεκλείδωμα φορμών PDF", "submit": "Remove", @@ -1978,13 +2177,54 @@ "title": "Σχεδιάστε την υπογραφή σας", "clear": "Καθαρισμός" }, + "canvas": { + "heading": "Σχεδιάστε την υπογραφή σας", + "clickToOpen": "Κάντε κλικ για να ανοίξετε τον καμβά σχεδίασης", + "modalTitle": "Σχεδιάστε την υπογραφή σας", + "colorLabel": "Χρώμα", + "penSizeLabel": "Μέγεθος πένας", + "penSizePlaceholder": "Μέγεθος", + "clear": "Καθαρισμός καμβά", + "colorPickerTitle": "Επιλέξτε χρώμα γραμμής" + }, "text": { "name": "Όνομα υπογράφοντα", - "placeholder": "Εισαγάγετε το πλήρες όνομά σας" + "placeholder": "Εισαγάγετε το πλήρες όνομά σας", + "fontLabel": "Γραμματοσειρά", + "fontSizeLabel": "Μέγεθος γραμματοσειράς", + "fontSizePlaceholder": "Πληκτρολογήστε ή επιλέξτε μέγεθος γραμματοσειράς (8-200)", + "colorLabel": "Χρώμα κειμένου" }, "clear": "Καθαρισμός", "add": "Προσθήκη", - "saved": "Αποθηκευμένες υπογραφές", + "saved": { + "heading": "Αποθηκευμένες υπογραφές", + "description": "Χρησιμοποιήστε ξανά αποθηκευμένες υπογραφές οποτεδήποτε.", + "emptyTitle": "Δεν υπάρχουν αποθηκευμένες υπογραφές ακόμη", + "emptyDescription": "Σχεδιάστε, ανεβάστε ή πληκτρολογήστε μια υπογραφή παραπάνω και μετά χρησιμοποιήστε «Αποθήκευση στη βιβλιοθήκη» για να κρατήσετε έως {{max}} αγαπημένες έτοιμες για χρήση.", + "type": { + "canvas": "Σχέδιο", + "image": "Ανέβασμα", + "text": "Κείμενο" + }, + "limitTitle": "Έχει επιτευχθεί το όριο", + "limitDescription": "Αφαιρέστε μια αποθηκευμένη υπογραφή πριν προσθέσετε νέες (μέγ. {{max}}).", + "carouselPosition": "{{current}} από {{total}}", + "prev": "Προηγούμενο", + "next": "Επόμενο", + "delete": "Αφαίρεση", + "label": "Ετικέτα", + "defaultLabel": "Υπογραφή", + "defaultCanvasLabel": "Σχεδιασμένη υπογραφή", + "defaultImageLabel": "Ανεβασμένη υπογραφή", + "defaultTextLabel": "Πληκτρολογημένη υπογραφή", + "saveButton": "Αποθήκευση υπογραφής", + "saveUnavailable": "Δημιουργήστε πρώτα μια υπογραφή για να την αποθηκεύσετε.", + "noChanges": "Η τρέχουσα υπογραφή είναι ήδη αποθηκευμένη.", + "status": { + "saved": "Αποθηκεύτηκε" + } + }, "save": "Αποθήκευση υπογραφής", "applySignatures": "Εφαρμογή υπογραφών", "personalSigs": "Προσωπικές υπογραφές", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Διαμόρφωση υπογραφής" }, + "step": { + "createDesc": "Επιλέξτε πώς θέλετε να δημιουργήσετε την υπογραφή", + "place": "Τοποθέτηση & αποθήκευση", + "placeDesc": "Τοποθετήστε την υπογραφή στο PDF σας" + }, "type": { "title": "Τύπος υπογραφής", "draw": "Σχεδίαση", "canvas": "Καμβάς", "image": "Εικόνα", - "text": "Κείμενο" + "text": "Κείμενο", + "saved": "Αποθηκευμένες" }, "image": { "label": "Μεταφορτώστε εικόνα υπογραφής", @@ -2019,11 +2265,17 @@ "title": "Πώς να προσθέσετε υπογραφή", "canvas": "Αφού σχεδιάσετε την υπογραφή σας στον καμβά, κλείστε το παράθυρο και έπειτα κάντε κλικ οπουδήποτε στο PDF για να την τοποθετήσετε.", "image": "Αφού μεταφορτώσετε την εικόνα υπογραφής παραπάνω, κάντε κλικ οπουδήποτε στο PDF για να την τοποθετήσετε.", - "text": "Αφού εισαγάγετε το όνομά σας παραπάνω, κάντε κλικ οπουδήποτε στο PDF για να τοποθετήσετε την υπογραφή σας." + "saved": "Επιλέξτε μια αποθηκευμένη υπογραφή παραπάνω και μετά κάντε κλικ οπουδήποτε στο PDF για να την τοποθετήσετε.", + "text": "Αφού εισαγάγετε το όνομά σας παραπάνω, κάντε κλικ οπουδήποτε στο PDF για να τοποθετήσετε την υπογραφή σας.", + "paused": "Η τοποθέτηση σε παύση", + "resumeHint": "Συνεχίστε την τοποθέτηση για να κάνετε κλικ και να προσθέσετε την υπογραφή σας.", + "noSignature": "Δημιουργήστε μια υπογραφή παραπάνω για να ενεργοποιήσετε τα εργαλεία τοποθέτησης." }, "mode": { "move": "Μετακίνηση υπογραφής", - "place": "Τοποθέτηση υπογραφής" + "place": "Τοποθέτηση υπογραφής", + "pause": "Παύση τοποθέτησης", + "resume": "Συνέχιση τοποθέτησης" }, "updateAndPlace": "Ενημέρωση και τοποθέτηση", "activate": "Ενεργοποίηση τοποθέτησης υπογραφής", @@ -2163,6 +2415,14 @@ "title": "Σχετικά με την αφαίρεση σχολιασμών", "description": "Αυτό το εργαλείο θα αφαιρέσει όλους τους σχολιασμούς (σχόλια, επισημάνσεις, σημειώσεις, κ.λπ.) από τα έγγραφα PDF σας." }, + "tooltip": { + "header": { + "title": "Σχετικά με το Remove Annotations" + }, + "description": { + "title": "Τι κάνει" + } + }, "error": { "failed": "Παρουσιάστηκε σφάλμα κατά την αφαίρεση σχολιασμών από το PDF." } @@ -2467,7 +2727,7 @@ } }, "bookletImposition": { - "tags": "booklet,imposition,printing,binding,folding,signature", + "tags": "φυλλάδιο,επιβολή,εκτύπωση,βιβλιοδεσία,δίπλωμα,signature", "title": "Επιβολή βιβλιαρακίου", "header": "Επιβολή βιβλιαρακίου", "submit": "Δημιουργία βιβλιαρακίου", @@ -2568,7 +2828,7 @@ "submit": "Υποβολή" }, "adjustPageScale": { - "tags": "resize,modify,dimension,adapt", + "tags": "αλλαγή μεγέθους,τροποποίηση,διάσταση,προσαρμογή", "title": "Προσαρμογή κλίμακας σελίδας", "header": "Προσαρμογή κλίμακας σελίδας", "scaleFactor": { @@ -2627,6 +2887,9 @@ "header": { "title": "Πώς λειτουργεί η αυτόματη μετονομασία" }, + "description": { + "title": "Τι κάνει" + }, "howItWorks": { "title": "Έξυπνη μετονομασία", "text": "Εντοπίζει αυτόματα τον τίτλο από το περιεχόμενο του PDF και τον χρησιμοποιεί ως όνομα αρχείου.", @@ -2634,6 +2897,9 @@ "bullet2": "Δημιουργεί καθαρό, έγκυρο όνομα αρχείου από τον εντοπισμένο τίτλο", "bullet3": "Διατηρεί το αρχικό όνομα αν δεν βρεθεί κατάλληλος τίτλος" } + }, + "settings": { + "title": "Σχετικά" } }, "adjust-contrast": { @@ -3124,7 +3390,7 @@ "totalSignatures": "Σύνολο υπογραφών" }, "replaceColor": { - "tags": "Replace Colour,Page operations,Back end,server side", + "tags": "Αντικατάσταση χρώματος,Ενέργειες σελίδας,Back end,server side", "labels": { "settings": "Ρυθμίσεις", "colourOperation": "Ενέργεια χρώματος" @@ -3227,7 +3493,26 @@ "unexpectedError": "Απρόσμενο σφάλμα: {{message}}", "accountCreatedSuccess": "Ο λογαριασμός δημιουργήθηκε με επιτυχία! Μπορείτε τώρα να συνδεθείτε.", "passwordChangedSuccess": "Ο κωδικός άλλαξε με επιτυχία! Συνδεθείτε με τον νέο σας κωδικό.", - "credentialsUpdated": "Τα διαπιστευτήριά σας ενημερώθηκαν. Συνδεθείτε ξανά." + "credentialsUpdated": "Τα διαπιστευτήριά σας ενημερώθηκαν. Συνδεθείτε ξανά.", + "defaultCredentials": "Προεπιλεγμένα διαπιστευτήρια σύνδεσης", + "changePasswordWarning": "Αλλάξτε τον κωδικό σας μετά την πρώτη σας σύνδεση", + "slides": { + "overview": { + "alt": "Επισκόπηση του Stirling PDF", + "title": "Ό,τι χρειάζεστε για τα PDF σε ένα σημείο.", + "subtitle": "Σουίτα cloud με προτεραιότητα το απόρρητο για PDF που σας επιτρέπει να μετατρέπετε, να υπογράφετε, να αποκρύπτετε και να διαχειρίζεστε έγγραφα, μαζί με 50+ ακόμη ισχυρά εργαλεία." + }, + "edit": { + "alt": "Επεξεργασία PDF", + "title": "Επεξεργαστείτε PDF για να προβάλετε/προστατεύσετε τις πληροφορίες που θέλετε", + "subtitle": "Με πάνω από δώδεκα εργαλεία για απόκρυψη, υπογραφή, ανάγνωση και χειρισμό PDF, θα βρείτε σίγουρα αυτό που ψάχνετε." + }, + "secure": { + "alt": "Ασφάλεια PDF", + "title": "Προστατέψτε ευαίσθητες πληροφορίες στα PDF σας", + "subtitle": "Προσθέστε κωδικούς, αποκρύψτε περιεχόμενο και διαχειριστείτε πιστοποιητικά με ευκολία." + } + } }, "signup": { "title": "Δημιουργία λογαριασμού", @@ -3598,7 +3883,9 @@ "exportAll": "Εξαγωγή PDF", "downloadSelected": "Λήψη επιλεγμένων αρχείων", "downloadAll": "Λήψη όλων", + "saveAll": "Αποθήκευση όλων", "toggleTheme": "Εναλλαγή θέματος", + "toggleBookmarks": "Εναλλαγή σελιδοδεικτών", "language": "Γλώσσα", "search": "Αναζήτηση PDF", "panMode": "Λειτουργία μετακίνησης", @@ -3685,8 +3972,16 @@ "saved": "Οι ρυθμίσεις αποθηκεύτηκαν με επιτυχία", "saveSuccess": "Οι ρυθμίσεις αποθηκεύτηκαν με επιτυχία", "save": "Αποθήκευση αλλαγών", + "discard": "Απόρριψη", "restartRequired": "Απαιτείται επανεκκίνηση", "loginRequired": "Πρέπει να είναι ενεργοποιημένη η λειτουργία σύνδεσης για να τροποποιήσετε τις ρυθμίσεις διαχειριστή", + "unsavedChanges": { + "title": "Μη αποθηκευμένες αλλαγές", + "message": "Έχετε μη αποθηκευμένες αλλαγές. Θέλετε να τις απορρίψετε;", + "cancel": "Συνέχεια επεξεργασίας", + "discard": "Απόρριψη αλλαγών", + "hint": "Έχετε μη αποθηκευμένες αλλαγές" + }, "loginDisabled": { "title": "Απαιτείται λειτουργία σύνδεσης", "message": "Πρέπει να είναι ενεργοποιημένη η λειτουργία σύνδεσης για να τροποποιήσετε τις ρυθμίσεις διαχειριστή. Ορίστε το SECURITY_ENABLELOGIN=true στο περιβάλλον σας ή το security.enableLogin: true στο settings.yml, και στη συνέχεια επανεκκινήστε τον διακομιστή.", @@ -4212,9 +4507,21 @@ "title": "Premium & Enterprise", "description": "Ρυθμίστε το κλειδί άδειας premium ή enterprise.", "license": "Διαμόρφωση άδειας", + "licenseKey": { + "toggle": "Έχετε κλειδί άδειας ή αρχείο πιστοποιητικού;", + "info": "Αν έχετε κλειδί άδειας ή αρχείο πιστοποιητικού από άμεση αγορά, εισαγάγετέ το εδώ για να ενεργοποιήσετε τις λειτουργίες premium ή enterprise." + }, "key": { "label": "Κλειδί άδειας", - "description": "Εισαγάγετε το κλειδί άδειας premium ή enterprise" + "description": "Εισαγάγετε το κλειδί άδειας premium ή enterprise", + "success": "Το κλειδί άδειας αποθηκεύτηκε", + "successMessage": "Το κλειδί άδειας ενεργοποιήθηκε επιτυχώς. Δεν απαιτείται επανεκκίνηση.", + "overwriteWarning": { + "title": "⚠️ Προειδοποίηση: Βρέθηκε υπάρχουσα άδεια", + "line1": "Η αντικατάσταση του τρέχοντος κλειδιού άδειας δεν μπορεί να αναιρεθεί.", + "line2": "Η προηγούμενη άδεια θα χαθεί οριστικά εκτός αν την έχετε αποθηκεύσει αλλού.", + "line3": "Σημαντικό: Κρατήστε τα κλειδιά άδειας ιδιωτικά και ασφαλή. Μην τα κοινοποιείτε δημόσια." + } }, "enabled": { "label": "Ενεργοποίηση λειτουργιών premium", @@ -4278,12 +4585,17 @@ "or": "ή", "dropFileHere": "Αποθέστε το αρχείο εδώ ή κάντε κλικ για μεταφόρτωση", "dropFilesHere": "Αποθέστε αρχεία εδώ ή κάντε κλικ στο κουμπί μεταφόρτωσης", + "dropFilesHereOpen": "Σύρετε αρχεία εδώ ή κάντε κλικ στο κουμπί «Άνοιγμα»", "pdfFilesOnly": "Μόνο αρχεία PDF", "supportedFileTypes": "Υποστηριζόμενοι τύποι αρχείων", "upload": "Μεταφόρτωση", "uploadFile": "Μεταφόρτωση αρχείου", "uploadFiles": "Μεταφόρτωση αρχείων", + "open": "Άνοιγμα", + "openFile": "Άνοιγμα αρχείου", + "openFiles": "Άνοιγμα αρχείων", "noFilesInStorage": "Δεν υπάρχουν διαθέσιμα αρχεία στην αποθήκευση. Μεταφορτώστε πρώτα μερικά αρχεία.", + "noFilesInStorageOpen": "Δεν υπάρχουν αρχεία στην αποθήκευση. Ανοίξτε πρώτα μερικά αρχεία.", "selectFromStorage": "Επιλογή από αποθήκευση", "backToTools": "Πίσω στα εργαλεία", "addFiles": "Προσθήκη αρχείων", @@ -4329,6 +4641,8 @@ "myFiles": "Τα αρχεία μου", "noRecentFiles": "Δεν βρέθηκαν πρόσφατα αρχεία", "googleDriveNotAvailable": "Η ενσωμάτωση με το Google Drive δεν είναι διαθέσιμη", + "downloadSelected": "Λήψη επιλεγμένων", + "saveSelected": "Αποθήκευση επιλεγμένων", "openFiles": "Άνοιγμα αρχείων", "openFile": "Άνοιγμα αρχείου", "details": "Λεπτομέρειες αρχείου", @@ -4341,7 +4655,6 @@ "selectAll": "Επιλογή όλων", "deselectAll": "Αποεπιλογή όλων", "deleteSelected": "Διαγραφή επιλεγμένων", - "downloadSelected": "Λήψη επιλεγμένων", "selectedCount": "{{count}} επιλεγμένα", "download": "Λήψη", "delete": "Διαγραφή", @@ -4621,9 +4934,14 @@ "secureWorkflow": "Ροή Ασφαλείας", "secureWorkflowDesc": "Ασφαλίζει έγγραφα PDF αφαιρώντας ενδεχομένως κακόβουλο περιεχόμενο όπως JavaScript και ενσωματωμένα αρχεία και στη συνέχεια προσθέτει προστασία με κωδικό για την αποτροπή μη εξουσιοδοτημένης πρόσβασης. Ο κωδικός ορίζεται σε 'password' από προεπιλογή.", "processImages": "Επεξεργασία εικόνων", - "processImagesDesc": "Μετατρέπει πολλά αρχεία εικόνας σε ένα μόνο έγγραφο PDF και στη συνέχεια εφαρμόζει τεχνολογία OCR για την εξαγωγή αναζητήσιμου κειμένου από τις εικόνες." + "processImagesDesc": "Μετατρέπει πολλά αρχεία εικόνας σε ένα μόνο έγγραφο PDF και στη συνέχεια εφαρμόζει τεχνολογία OCR για την εξαγωγή αναζητήσιμου κειμένου από τις εικόνες.", + "prePublishSanitization": "Καθαρισμός πριν τη δημοσίευση", + "prePublishSanitizationDesc": "Ροή καθαρισμού που αφαιρεί όλα τα κρυφά μεταδεδομένα, JavaScript, ενσωματωμένα αρχεία, σχόλια και επιπεδοποιεί τις φόρμες για να αποτραπεί διαρροή δεδομένων πριν τη δημοσίευση PDF online." } }, + "colorPicker": { + "title": "Επιλέξτε χρώμα" + }, "common": { "previous": "Προηγούμενο", "next": "Επόμενο", @@ -4639,7 +4957,13 @@ "used": "χρησιμοποιημένα", "available": "διαθέσιμα", "cancel": "Άκυρο", - "preview": "Προεπισκόπηση" + "preview": "Προεπισκόπηση", + "close": "Κλείσιμο", + "done": "Τέλος", + "loading": "Φόρτωση...", + "back": "Πίσω", + "continue": "Συνέχεια", + "error": "Σφάλμα" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Προσθήκη περισσότερων αρχείων...", "selectedFiles": "Επιλεγμένα αρχεία", "submit": "Προσθήκη συνημμένων", + "tooltip": { + "header": { + "title": "Σχετικά με το Add Attachments" + }, + "description": { + "title": "Τι κάνει" + } + }, "results": { "title": "Αποτελέσματα συνημμένων" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Προσαρμοσμένη θέση", "details": "Λεπτομέρειες", - "downloadUnavailable": "Η λήψη δεν είναι διαθέσιμη για αυτό το στοιχείο", "invalidUndoData": "Αδύνατη η αναίρεση: μη έγκυρα δεδομένα ενέργειας", "margin": { "large": "Μεγάλο", @@ -4801,6 +5132,10 @@ "maybeLater": "Ίσως αργότερα", "dontShowAgain": "Να μην εμφανιστεί ξανά" }, + "welcomeSlide": { + "title": "Καλώς ήρθατε στο Stirling", + "body": "Το Stirling PDF είναι πλέον έτοιμο για ομάδες κάθε μεγέθους. Αυτή η ενημέρωση περιλαμβάνει νέα διάταξη, ισχυρές νέες δυνατότητες διαχείρισης, και το πιο ζητούμενο χαρακτηριστικό μας - Edit Text." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Ας επιλέξουμε το εργαλείο Περικοπή για να δείξουμε πώς να χρησιμοποιείτε ένα από τα εργαλεία.", "toolInterface": "Αυτή είναι η διεπαφή του εργαλείου Περικοπή. Όπως βλέπετε, δεν υπάρχει ακόμη πολλά, επειδή δεν έχουμε προσθέσει αρχεία PDF για εργασία.", @@ -4823,7 +5158,39 @@ "next": "Επόμενο", "finish": "Τέλος", "startTour": "Έναρξη περιήγησης", - "startTourDescription": "Κάντε μια καθοδηγούμενη περιήγηση στα βασικά χαρακτηριστικά του Stirling PDF" + "startTourDescription": "Κάντε μια καθοδηγούμενη περιήγηση στα βασικά χαρακτηριστικά του Stirling PDF", + "buttons": { + "next": "Επόμενο →", + "back": "Πίσω", + "skipForNow": "Παράλειψη προς το παρόν", + "download": "Λήψη →", + "showMeAround": "Ξεναγήστε με", + "skipTheTour": "Παράλειψη ξενάγησης" + }, + "serverLicense": { + "skip": "Παράλειψη προς το παρόν", + "seePlans": "Δείτε τα πλάνα →", + "upgrade": "Αναβάθμιση τώρα →", + "freeTitle": "Άδεια διακομιστή", + "overLimitTitle": "Απαιτείται άδεια διακομιστή", + "overLimitBody": "Η αδειοδότηση μας επιτρέπει έως {{freeTierLimit}} χρήστες δωρεάν ανά διακομιστή. Έχετε {{overLimitUserCopy}} χρήστες Stirling. Για να συνεχίσετε χωρίς διακοπές, αναβαθμίστε στο πλάνο Stirling Server - απεριόριστες θέσεις, επεξεργασία κειμένου PDF και πλήρης έλεγχος διαχειριστή για $99/server/μήνα.", + "freeBody": "Η αδειοδότηση Open-Core μας επιτρέπει έως {{freeTierLimit}} χρήστες δωρεάν ανά διακομιστή. Για απρόσκοπτη κλιμάκωση και έγκαιρη πρόσβαση στο νέο εργαλείο επεξεργασίας κειμένου PDF, προτείνουμε το πλάνο Stirling Server - πλήρης επεξεργασία και απεριόριστες θέσεις για $99/server/μήνα." + }, + "desktopInstall": { + "title": "Λήψη", + "titleWithOs": "Λήψη για {{osLabel}}", + "body": "Το Stirling λειτουργεί καλύτερα ως εφαρμογή για υπολογιστή. Μπορείτε να το χρησιμοποιείτε offline, να έχετε ταχύτερη πρόσβαση στα έγγραφα και να κάνετε επεξεργασίες τοπικά στον υπολογιστή σας." + }, + "planOverview": { + "adminTitle": "Επισκόπηση διαχειριστή", + "userTitle": "Επισκόπηση πλάνου", + "adminBodyLoginEnabled": "Ως διαχειριστής, μπορείτε να διαχειρίζεστε χρήστες, να ρυθμίζετε επιλογές και να παρακολουθείτε την υγεία του διακομιστή. Τα πρώτα {{freeTierLimit}} άτομα στον διακομιστή σας χρησιμοποιούν το Stirling δωρεάν.", + "adminBodyLoginDisabled": "Μόλις ενεργοποιήσετε τη λειτουργία σύνδεσης, μπορείτε να διαχειρίζεστε χρήστες, να ρυθμίζετε επιλογές και να παρακολουθείτε την υγεία του διακομιστή. Τα πρώτα {{freeTierLimit}} άτομα στον διακομιστή σας χρησιμοποιούν το Stirling δωρεάν.", + "userBody": "Προσκαλέστε συνεργάτες, αναθέστε ρόλους και κρατήστε τα έγγραφα οργανωμένα σε έναν ασφαλή χώρο εργασίας. Ενεργοποιήστε τη λειτουργία σύνδεσης όταν είστε έτοιμοι να ξεπεράσετε τη μονοπρόσωπη χρήση." + }, + "securityCheck": { + "message": "Η εφαρμογή έχει υποστεί σημαντικές αλλαγές πρόσφατα. Ίσως απαιτείται η προσοχή του διαχειριστή του διακομιστή σας. Επιβεβαιώστε τον ρόλο σας για να συνεχίσετε." + } }, "adminOnboarding": { "welcome": "Καλώς ήρθατε στην Περιήγηση Διαχειριστή! Ας εξερευνήσουμε τις ισχυρές εταιρικές λειτουργίες και ρυθμίσεις για διαχειριστές συστήματος.", @@ -4852,7 +5219,10 @@ "role": "Ρόλος", "team": "Ομάδα", "status": "Κατάσταση", - "actions": "Ενέργειες", + "actions": { + "label": "Ενέργειες", + "upgrade": "Αναβάθμιση" + }, "noMembersFound": "Δεν βρέθηκαν μέλη", "active": "Ενεργός", "disabled": "Απενεργοποιημένος", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} διαθέσιμη(ες) θέση(εις) χρήστη", "noSlotsAvailable": "Δεν υπάρχουν διαθέσιμες θέσεις", "currentUsage": "Αυτή τη στιγμή χρησιμοποιείτε {{current}} από {{max}} άδειες χρήστη" - } + }, + "loginRequired": "Ενεργοποιήστε πρώτα τη λειτουργία σύνδεσης" }, "teams": { "title": "Ομάδες", @@ -5057,6 +5428,17 @@ "showComparison": "Σύγκριση όλων των λειτουργιών", "hideComparison": "Απόκρυψη σύγκρισης λειτουργιών", "featureComparison": "Σύγκριση λειτουργιών", + "from": "Από", + "perMonth": "/μήνα", + "perSeat": "/θέση", + "withServer": "+ Πλάνο Server", + "licensedSeats": "Αδειοδοτημένες: {{count}} θέσεις", + "includedInCurrent": "Περιλαμβάνεται στο πλάνο σας", + "selectPlan": "Επιλογή πλάνου", + "manage": "Διαχείριση", + "manageSubscription": { + "description": "Διαχειριστείτε τη συνδρομή, τη χρέωση και τους τρόπους πληρωμής σας" + }, "activePlan": { "title": "Ενεργό πλάνο", "subtitle": "Οι τρέχουσες λεπτομέρειες συνδρομής σας" @@ -5074,13 +5456,16 @@ "upTo": "Έως" }, "period": { - "month": "μήνα" + "month": "μήνα", + "perUserPerMonth": "/χρήστη/μήνα" }, "free": { - "name": "Free", + "name": "Δωρεάν", "highlight1": "Περιορισμένη χρήση εργαλείων ανά εβδομάδα", "highlight2": "Πρόσβαση σε όλα τα εργαλεία", - "highlight3": "Υποστήριξη κοινότητας" + "highlight3": "Υποστήριξη κοινότητας", + "forever": "Για πάντα δωρεάν", + "included": "Περιλαμβάνεται" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Προσαρμοσμένη τιμολόγηση", "highlight2": "Αποκλειστική υποστήριξη", - "highlight3": "Τελευταίες λειτουργίες" + "highlight3": "Τελευταίες λειτουργίες", + "requiresServer": "Απαιτεί Server", + "requiresServerMessage": "Παρακαλούμε αναβαθμίστε πρώτα στο πλάνο Server πριν αναβαθμίσετε σε Enterprise." }, "feature": { "title": "Λειτουργία", @@ -5102,6 +5489,12 @@ "api": "Πρόσβαση API", "priority": "Υποστήριξη προτεραιότητας", "customPricing": "Προσαρμοσμένη τιμολόγηση" + }, + "licenseWarning": { + "title": "Έφτασε το όριο δωρεάν self-hosted", + "body": "Έχετε {{total}} χρήστες, αλλά το δωρεάν επίπεδο υποστηρίζει μόνο {{limit}} ανά διακομιστή. Αναβαθμίστε για να συνεχίσει το Stirling PDF να λειτουργεί ομαλά.", + "overLimit": "πάνω από {{limit}}", + "cta": "Δείτε τα πλάνα" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Διαχείριση χρέωσης", "portal": { "error": "Αποτυχία ανοίγματος πύλης χρέωσης" - } + }, + "updateSeats": "Ενημέρωση θέσεων", + "updateEnterpriseSeats": "Ενημέρωση θέσεων Enterprise", + "currentSeats": "Τρέχουσες θέσεις", + "minimumSeats": "Ελάχιστες θέσεις", + "basedOnUsers": "(τρέχοντες χρήστες)", + "newSeatCount": "Νέος αριθμός θέσεων", + "newSeatCountDescription": "Επιλέξτε τον αριθμό θέσεων για την άδεια Enterprise", + "whatHappensNext": "Τι ακολουθεί;", + "stripePortalRedirect": "Θα ανακατευθυνθείτε στην πύλη χρέωσης της Stripe για να ελέγξετε και να επιβεβαιώσετε την αλλαγή θέσεων. Το αναλογικό ποσό θα υπολογιστεί αυτόματα.", + "preparingUpdate": "Προετοιμασία ενημέρωσης θέσεων...", + "seatCountTooLow": "Ο αριθμός θέσεων πρέπει να είναι τουλάχιστον {{minimum}} (τρέχων αριθμός χρηστών)", + "seatCountUnchanged": "Επιλέξτε διαφορετικό αριθμό θέσεων", + "seatsUpdated": "Οι θέσεις ενημερώθηκαν", + "seatsUpdatedMessage": "Οι θέσεις Enterprise ενημερώθηκαν σε {{seats}}", + "updateProcessing": "Επεξεργασία ενημέρωσης", + "updateProcessingMessage": "Η ενημέρωση θέσεων επεξεργάζεται. Ανανεώστε σε λίγες στιγμές.", + "notEnterprise": "Η διαχείριση θέσεων είναι διαθέσιμη μόνο για άδειες Enterprise" + }, + "upgradeBanner": { + "title": "Αναβαθμίστε στο πλάνο Server", + "message": "Αξιοποιήστε το Stirling PDF στο έπακρο με απεριόριστους χρήστες και προηγμένες δυνατότητες", + "upgradeButton": "Αναβάθμιση τώρα", + "dismiss": "Απόκρυψη banner", + "attentionTitle": "Αυτός ο διακομιστής χρειάζεται προσοχή διαχειριστή", + "attentionBody": "Ο διαχειριστής σας πρέπει να συνδεθεί για να δει περισσότερες πληροφορίες. Επικοινωνήστε μαζί του άμεσα.", + "attentionBodyAdmin": "Ελέγξτε τις απαιτήσεις άδειας για να παραμείνει αυτός ο διακομιστής συμμορφωμένος.", + "seeInfo": "Δείτε πληροφορίες" }, "payment": { "preparing": "Προετοιμασία ολοκλήρωσης αγοράς...", @@ -5128,7 +5548,61 @@ "success": "Επιτυχής πληρωμή!", "successMessage": "Η συνδρομή σας ενεργοποιήθηκε με επιτυχία. Θα λάβετε σύντομα email επιβεβαίωσης.", "autoClose": "Αυτό το παράθυρο θα κλείσει αυτόματα...", - "error": "Σφάλμα πληρωμής" + "error": "Σφάλμα πληρωμής", + "upgradeSuccess": "Πληρωμή επιτυχής! Η συνδρομή σας αναβαθμίστηκε. Η άδεια ενημερώθηκε στον διακομιστή σας. Θα λάβετε σύντομα email επιβεβαίωσης.", + "paymentSuccess": "Πληρωμή επιτυχής! Γίνεται ανάκτηση του κλειδιού άδειας...", + "licenseActivated": "Η άδεια ενεργοποιήθηκε! Το κλειδί άδειας αποθηκεύτηκε. Στάλθηκε email επιβεβαίωσης στη δηλωμένη διεύθυνσή σας.", + "licenseDelayed": "Πληρωμή επιτυχής! Η άδειά σας δημιουργείται. Θα λάβετε σύντομα email με το κλειδί άδειας. Αν δεν το λάβετε σε 10 λεπτά, επικοινωνήστε με την υποστήριξη.", + "licensePollingError": "Η πληρωμή ολοκληρώθηκε αλλά δεν μπορέσαμε να ανακτήσουμε αυτόματα το κλειδί άδειας. Ελέγξτε το email σας ή επικοινωνήστε με την υποστήριξη με την επιβεβαίωση πληρωμής.", + "licenseRetrievalError": "Η πληρωμή ολοκληρώθηκε αλλά απέτυχε η ανάκτηση άδειας. Θα λάβετε το κλειδί άδειας μέσω email. Επικοινωνήστε με την υποστήριξη αν δεν το λάβετε σε 10 λεπτά.", + "syncError": "Η πληρωμή ολοκληρώθηκε αλλά απέτυχε ο συγχρονισμός άδειας. Η άδεια θα ενημερωθεί σύντομα. Επικοινωνήστε με την υποστήριξη αν το πρόβλημα επιμείνει.", + "licenseSaveError": "Αποτυχία αποθήκευσης κλειδιού άδειας. Επικοινωνήστε με την υποστήριξη με το κλειδί άδειας για να ολοκληρώσετε την ενεργοποίηση.", + "paymentCanceled": "Η πληρωμή ακυρώθηκε. Δεν έγινε χρέωση.", + "syncingLicense": "Γίνεται συγχρονισμός της αναβαθμισμένης άδειας...", + "generatingLicense": "Δημιουργία κλειδιού άδειας...", + "upgradeComplete": "Η αναβάθμιση ολοκληρώθηκε", + "upgradeCompleteMessage": "Η συνδρομή σας αναβαθμίστηκε επιτυχώς. Το υπάρχον κλειδί άδειας ενημερώθηκε.", + "stripeNotConfigured": "Η Stripe δεν έχει ρυθμιστεί", + "stripeNotConfiguredMessage": "Η ενσωμάτωση πληρωμών Stripe δεν έχει ρυθμιστεί. Επικοινωνήστε με τον διαχειριστή σας.", + "monthly": "Μηνιαία", + "yearly": "Ετήσια", + "billingPeriod": "Περίοδος χρέωσης", + "enterpriseNote": "Οι θέσεις ρυθμίζονται στο checkout (1-1000).", + "installationId": "ID εγκατάστασης", + "licenseKey": "Το κλειδί άδειας σας", + "licenseInstructions": "Αυτό έχει προστεθεί στην εγκατάστασή σας. Θα λάβετε αντίγραφο και στο email σας.", + "canCloseWindow": "Μπορείτε τώρα να κλείσετε αυτό το παράθυρο.", + "licenseKeyProcessing": "Επεξεργασία κλειδιού άδειας", + "licenseDelayedMessage": "Το κλειδί άδειας δημιουργείται. Ελέγξτε το email σας σύντομα ή επικοινωνήστε με την υποστήριξη.", + "perYear": "/έτος", + "perMonth": "/μήνα", + "emailInvalid": "Εισαγάγετε έγκυρη διεύθυνση email", + "emailStage": { + "title": "Εισαγάγετε το email σας", + "description": "Θα το χρησιμοποιήσουμε για να στείλουμε το κλειδί άδειας και τις αποδείξεις.", + "emailLabel": "Διεύθυνση email", + "emailPlaceholder": "your@email.com", + "continue": "Συνέχεια", + "modalTitle": "Ξεκινήστε - {{planName}}" + }, + "planStage": { + "title": "Επιλέξτε περίοδο χρέωσης", + "savingsNote": "Εξοικονομήστε {{percent}}% με ετήσια χρέωση", + "basePrice": "Βασική τιμή", + "seatPrice": "Ανά θέση", + "totalForSeats": "Σύνολο ({{count}} θέσεις)", + "selectMonthly": "Επιλογή μηνιαίου", + "selectYearly": "Επιλογή ετήσιου", + "savePercent": "Εξοικονομήστε {{percent}}%", + "savingsAmount": "Εξοικονομείτε {{amount}}", + "modalTitle": "Επιλέξτε περίοδο χρέωσης - {{planName}}", + "billedYearly": "Χρέωση ετήσια στα {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Πίσω στην επιλογή πλάνου", + "selectedPlan": "Επιλεγμένο πλάνο", + "modalTitle": "Ολοκλήρωση πληρωμής - {{planName}}" + } }, "firstLogin": { "title": "Πρώτη σύνδεση", @@ -5287,5 +5761,281 @@ "offline": "Backend εκτός λειτουργίας", "starting": "Το backend εκκινεί...", "wait": "Παρακαλώ περιμένετε να ολοκληρωθεί η εκκίνηση του backend και δοκιμάστε ξανά." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Ξεκλειδώστε το PDF για να συνεχίσετε", + "title": "Αφαιρέστε τον κωδικό για να συνεχίσετε", + "description": "Αυτό το PDF είναι προστατευμένο με κωδικό. Εισαγάγετε τον κωδικό ώστε να συνεχίσετε να δουλεύετε με αυτό.", + "password": { + "label": "Κωδικός PDF", + "placeholder": "Εισαγάγετε τον κωδικό PDF" + }, + "skip": "Παράλειψη προς το παρόν", + "unlock": "Ξεκλείδωμα & συνέχεια", + "incorrectPassword": "Λάθος κωδικός", + "missingFile": "Το επιλεγμένο αρχείο δεν είναι πλέον διαθέσιμο.", + "emptyResponse": "Η αφαίρεση κωδικού δεν παρήγαγε αρχείο.", + "required": "Εισαγάγετε τον κωδικό για να συνεχίσετε.", + "successTitle": "Ο κωδικός αφαιρέθηκε", + "successBodyWithName": "Ο κωδικός αφαιρέθηκε από το {{fileName}}", + "successBody": "Η αφαίρεση κωδικού ολοκληρώθηκε." + }, + "setup": { + "welcome": "Καλώς ήρθατε στο Stirling PDF", + "description": "Ξεκινήστε επιλέγοντας πώς θέλετε να χρησιμοποιείτε το Stirling PDF", + "step1": { + "label": "Επιλογή λειτουργίας", + "description": "Offline ή Server" + }, + "step2": { + "label": "Επιλογή διακομιστή", + "description": "Self-hosted διακομιστής" + }, + "step3": { + "label": "Σύνδεση", + "description": "Εισαγωγή διαπιστευτηρίων" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Συνδεθείτε με τον λογαριασμό Stirling" + }, + "selfhosted": { + "title": "Self-Hosted διακομιστής", + "description": "Συνδεθείτε με τον δικό σας διακομιστή Stirling PDF" + } + }, + "saas": { + "title": "Σύνδεση στο Stirling", + "subtitle": "Συνδεθείτε με τον λογαριασμό Stirling" + }, + "selfhosted": { + "title": "Σύνδεση στον διακομιστή", + "subtitle": "Εισαγάγετε τα διαπιστευτήρια του διακομιστή σας" + }, + "server": { + "title": "Σύνδεση σε διακομιστή", + "subtitle": "Εισαγάγετε το URL του self-hosted διακομιστή σας", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Self-hosted διακομιστής" + }, + "url": { + "label": "URL διακομιστή", + "description": "Εισαγάγετε το πλήρες URL του self-hosted διακομιστή Stirling PDF" + }, + "error": { + "emptyUrl": "Εισαγάγετε URL διακομιστή", + "unreachable": "Αδυναμία σύνδεσης με τον διακομιστή", + "testFailed": "Αποτυχία ελέγχου σύνδεσης" + }, + "testing": "Έλεγχος σύνδεσης..." + }, + "login": { + "title": "Σύνδεση", + "subtitle": "Εισαγάγετε τα διαπιστευτήριά σας για να συνεχίσετε", + "connectingTo": "Σύνδεση με:", + "username": { + "label": "Όνομα χρήστη", + "placeholder": "Εισαγάγετε το όνομα χρήστη" + }, + "email": { + "label": "Email", + "placeholder": "Εισαγάγετε το email σας" + }, + "password": { + "label": "Κωδικός πρόσβασης", + "placeholder": "Εισαγάγετε τον κωδικό πρόσβασης" + }, + "error": { + "emptyUsername": "Εισαγάγετε το όνομα χρήστη", + "emptyEmail": "Εισαγάγετε το email σας", + "emptyPassword": "Εισαγάγετε τον κωδικό πρόσβασης", + "oauthFailed": "Η σύνδεση OAuth απέτυχε. Προσπαθήστε ξανά." + }, + "submit": "Σύνδεση", + "signInWith": "Σύνδεση με", + "oauthPending": "Άνοιγμα προγράμματος περιήγησης για έλεγχο ταυτότητας...", + "orContinueWith": "Ή συνεχίστε με email" + } + }, + "oauth": { + "success": { + "title": "Επιτυχής έλεγχος ταυτότητας", + "message": "Μπορείτε να κλείσετε αυτό το παράθυρο και να επιστρέψετε στο Stirling PDF." + }, + "error": { + "title": "Αποτυχία ελέγχου ταυτότητας", + "message": "Η ταυτοποίηση δεν ήταν επιτυχής. Μπορείτε να κλείσετε αυτό το παράθυρο και να δοκιμάσετε ξανά." + } + }, + "pdfTextEditor": { + "title": "Επεξεργαστής PDF JSON", + "viewLabel": "Επεξεργαστής PDF", + "converting": "Μετατροπή PDF σε επεξεργάσιμη μορφή...", + "conversionFailed": "Αποτυχία μετατροπής PDF. Δοκιμάστε ξανά.", + "currentFile": "Τρέχον αρχείο: {{name}}", + "pageSummary": "Σελίδα {{number}} από {{total}}", + "pagePreviewAlt": "Προεπισκόπηση σελίδας", + "imageLabel": "Τοποθετημένη εικόνα", + "noTextOnPage": "Δεν εντοπίστηκε επεξεργάσιμο κείμενο σε αυτή τη σελίδα.", + "pageType": { + "paragraph": "Σελίδα παραγράφων", + "sparse": "Αραιό κείμενο" + }, + "groupingMode": { + "auto": "Αυτόματο", + "paragraph": "Παράγραφος", + "singleLine": "Μονή γραμμή" + }, + "badges": { + "unsaved": "Επεξεργασμένο", + "modified": "Επεξεργασμένο", + "earlyAccess": "Πρόωρη πρόσβαση" + }, + "actions": { + "reset": "Επαναφορά αλλαγών", + "downloadJson": "Λήψη JSON", + "generatePdf": "Δημιουργία PDF" + }, + "options": { + "autoScaleText": { + "title": "Αυτόματη προσαρμογή κειμένου στα πλαίσια", + "description": "Προσαρμόζει αυτόματα οριζόντια το κείμενο ώστε να χωρά στο αρχικό πλαίσιο όταν η απόδοση γραμματοσειράς διαφέρει από του PDF." + }, + "groupingMode": { + "title": "Λειτουργία ομαδοποίησης κειμένου", + "autoDescription": "Ανιχνεύει αυτόματα τον τύπο σελίδας και ομαδοποιεί το κείμενο ανάλογα.", + "paragraphDescription": "Ομαδοποιεί ευθυγραμμισμένες γραμμές σε πολυγραμμικά πλαίσια παραγράφου.", + "singleLineDescription": "Διατηρεί κάθε γραμμή κειμένου του PDF ως ξεχωριστό πλαίσιο κειμένου." + }, + "manualGrouping": { + "descriptionInline": "Συμβουλή: Κρατήστε πατημένο το Ctrl (Cmd) ή το Shift για πολλαπλή επιλογή πλαισίων κειμένου. Θα εμφανιστεί μια αιωρούμενη γραμμή εργαλείων πάνω από την επιλογή ώστε να μπορείτε να συγχωνεύσετε, να καταργήσετε ομαδοποίηση ή να ρυθμίσετε το πλάτος." + }, + "forceSingleElement": { + "title": "Κλείδωμα επεξεργασμένου κειμένου σε ένα μόνο στοιχείο PDF", + "description": "Όταν είναι ενεργό, ο επεξεργαστής εξάγει κάθε επεξεργασμένο πλαίσιο κειμένου ως ένα στοιχείο κειμένου PDF για να αποφύγει επικαλυπτόμενους γλύφους ή ανάμεικτες γραμματοσειρές." + } + }, + "manual": { + "mergeTooltip": "Συγχώνευση επιλεγμένων πλαισίων", + "merge": "Συγχώνευση επιλογής", + "ungroupTooltip": "Διαχωρισμός παραγράφου σε γραμμές", + "ungroup": "Κατάργηση ομαδοποίησης επιλογής", + "widthMenu": "Επιλογές πλάτους", + "expandWidth": "Επέκταση έως την άκρη της σελίδας", + "resetWidth": "Επαναφορά πλάτους", + "resizeHandle": "Ρύθμιση πλάτους κειμένου" + }, + "disclaimer": { + "heading": "Περιορισμοί προεπισκόπησης", + "textFocus": "Αυτός ο χώρος εργασίας εστιάζει στην επεξεργασία κειμένου και στην ανατοποθέτηση ενσωματωμένων εικόνων. Σύνθετο εικαστικό σελίδας, στοιχεία φόρμας και γραφικά με επίπεδα διατηρούνται για εξαγωγή αλλά δεν είναι πλήρως επεξεργάσιμα εδώ.", + "previewVariance": "Ορισμένα οπτικά στοιχεία (όπως περιγράμματα πινάκων, σχήματα ή εμφανίσεις σχολιασμών) ίσως να μην εμφανίζονται ακριβώς στην προεπισκόπηση. Το εξαγόμενο PDF διατηρεί τις αρχικές εντολές σχεδίασης όπου είναι δυνατόν.", + "alpha": "Αυτός ο προβολέας άλφα εξελίσσεται ακόμη—ορισμένες γραμματοσειρές, χρώματα, εφέ διαφάνειας και λεπτομέρειες διάταξης μπορεί να μεταβληθούν ελαφρά. Ελέγξτε προσεκτικά το παραγόμενο PDF πριν το κοινοποιήσετε." + }, + "empty": { + "title": "Δεν φορτώθηκε έγγραφο", + "subtitle": "Φορτώστε ένα αρχείο PDF ή JSON για να ξεκινήσετε την επεξεργασία κειμένου." + }, + "welcomeBanner": { + "title": "Καλώς ορίσατε στο PDF Text Editor (Πρώιμη πρόσβαση)", + "experimental": "Αυτό είναι πειραματικό χαρακτηριστικό σε ενεργή ανάπτυξη. Αναμένεται κάποια αστάθεια και ζητήματα κατά τη χρήση.", + "howItWorks": "Αυτό το εργαλείο μετατρέπει το PDF σας σε επεξεργάσιμη μορφή όπου μπορείτε να τροποποιείτε το κείμενο και να ανατοποθετείτε εικόνες. Οι αλλαγές αποθηκεύονται ως νέο PDF.", + "bestFor": "Λειτουργεί καλύτερα με:", + "bestFor1": "Απλά PDFs με κυρίως κείμενο και εικόνες", + "bestFor2": "Έγγραφα με τυπική μορφοποίηση παραγράφων", + "bestFor3": "Επιστολές, δοκίμια, αναφορές και βασικά έγγραφα", + "notIdealFor": "Όχι ιδανικό για:", + "notIdealFor1": "PDFs με ειδική μορφοποίηση όπως κουκκίδες, πίνακες ή διατάξεις πολλαπλών στηλών", + "notIdealFor2": "Περιοδικά, φυλλάδια ή έγγραφα με έντονο σχεδιασμό", + "notIdealFor3": "Εγχειρίδια με σύνθετες διατάξεις", + "limitations": "Τρέχοντες περιορισμοί:", + "limitation1": "Η απόδοση γραμματοσειρών μπορεί να διαφέρει ελαφρά από το αρχικό PDF", + "limitation2": "Σύνθετα γραφικά, πεδία φορμών και σχολιασμοί διατηρούνται αλλά δεν είναι επεξεργάσιμα", + "limitation3": "Τα μεγάλα αρχεία μπορεί να χρειαστούν χρόνο για μετατροπή και επεξεργασία", + "knownIssues": "Γνωστά προβλήματα (υπό διόρθωση):", + "issue1": "Το χρώμα κειμένου δεν διατηρείται προς το παρόν (θα προστεθεί σύντομα)", + "issue2": "Η λειτουργία παραγράφου έχει περισσότερα θέματα στοίχισης και αποστάσεων - προτείνεται η λειτουργία Μίας Γραμμής", + "issue3": "Η προεπισκόπηση διαφέρει από το εξαγόμενο PDF - τα εξαγόμενα PDFs είναι πιο κοντά στο πρωτότυπο", + "issue4": "Η στοίχιση περιστραμμένου κειμένου ίσως απαιτεί χειροκίνητη ρύθμιση", + "issue5": "Τα εφέ διαφάνειας και επιπέδων μπορεί να διαφέρουν από το πρωτότυπο", + "feedback": "Αυτό είναι χαρακτηριστικό πρώιμης πρόσβασης. Αναφέρετε τυχόν προβλήματα για να μας βοηθήσετε να βελτιωθούμε!", + "gotIt": "Το κατάλαβα", + "dontShowAgain": "Να μην εμφανιστεί ξανά" + }, + "modeChange": { + "title": "Επιβεβαίωση αλλαγής λειτουργίας", + "warning": "Η αλλαγή λειτουργίας ομαδοποίησης κειμένου θα επαναφέρει όλες τις μη αποθηκευμένες αλλαγές. Θέλετε σίγουρα να συνεχίσετε;", + "cancel": "Ακύρωση", + "confirm": "Επαναφορά και αλλαγή λειτουργίας" + }, + "fontAnalysis": { + "details": "Λεπτομέρειες γραμματοσειράς", + "embedded": "Ενσωματωμένη", + "type": "Τύπος", + "webFormat": "Μορφή Web", + "warnings": "Προειδοποιήσεις", + "suggestions": "Σημειώσεις", + "currentPageFonts": "Γραμματοσειρές σε αυτή τη σελίδα", + "allFonts": "Όλες οι γραμματοσειρές", + "fallback": "εναλλακτικό", + "missing": "λείπει", + "perfectMessage": "Όλες οι γραμματοσειρές μπορούν να αναπαραχθούν άψογα.", + "warningMessage": "Ορισμένες γραμματοσειρές μπορεί να μην αποδοθούν σωστά.", + "infoMessage": "Διαθέσιμες πληροφορίες αναπαραγωγής γραμματοσειρών.", + "perfect": "τέλειο", + "subset": "υποσύνολο" + }, + "errors": { + "invalidJson": "Δεν είναι δυνατή η ανάγνωση του αρχείου JSON. Βεβαιωθείτε ότι δημιουργήθηκε από το εργαλείο PDF σε JSON.", + "pdfConversion": "Δεν είναι δυνατή η μετατροπή του επεξεργασμένου JSON πίσω σε PDF." + } + }, + "auth": { + "sessionExpired": "Η συνεδρία έληξε", + "pleaseLoginAgain": "Συνδεθείτε ξανά.", + "accessDenied": "Απαγορεύεται η πρόσβαση", + "insufficientPermissions": "Δεν έχετε άδεια για αυτή την ενέργεια." + }, + "addText": { + "title": "Προσθήκη κειμένου", + "header": "Προσθήκη κειμένου σε PDFs", + "text": { + "name": "Περιεχόμενο κειμένου", + "placeholder": "Εισαγάγετε το κείμενο που θέλετε να προσθέσετε", + "fontLabel": "Γραμματοσειρά", + "fontSizeLabel": "Μέγεθος γραμματοσειράς", + "fontSizePlaceholder": "Πληκτρολογήστε ή επιλέξτε μέγεθος (8-200)", + "colorLabel": "Χρώμα κειμένου" + }, + "steps": { + "configure": "Ρύθμιση κειμένου" + }, + "step": { + "createDesc": "Εισαγάγετε το κείμενο που θέλετε να προσθέσετε", + "place": "Τοποθέτηση κειμένου", + "placeDesc": "Κάντε κλικ στο PDF για να προσθέσετε το κείμενό σας" + }, + "instructions": { + "title": "Πώς να προσθέσετε κείμενο", + "text": "Αφού εισαγάγετε το κείμενό σας, κάντε κλικ οπουδήποτε στο PDF για να το τοποθετήσετε.", + "paused": "Παύση τοποθέτησης", + "resumeHint": "Συνεχίστε την τοποθέτηση για να κάνετε κλικ και να προσθέσετε το κείμενό σας.", + "noSignature": "Εισαγάγετε κείμενο παραπάνω για να ενεργοποιήσετε την τοποθέτηση." + }, + "mode": { + "move": "Μετακίνηση κειμένου", + "place": "Τοποθέτηση κειμένου", + "pause": "Παύση τοποθέτησης", + "resume": "Συνέχιση τοποθέτησης" + }, + "results": { + "title": "Αποτελέσματα προσθήκης κειμένου" + }, + "error": { + "failed": "Παρουσιάστηκε σφάλμα κατά την προσθήκη κειμένου στο PDF." + }, + "tags": "κείμενο,σχολιασμός,ετικέτα", + "applySignatures": "Εφαρμογή κειμένου" } } \ No newline at end of file diff --git a/frontend/public/locales/en-GB/translation.json b/frontend/public/locales/en-GB/translation.json index 9c1f3c253..da2ee3623 100644 --- a/frontend/public/locales/en-GB/translation.json +++ b/frontend/public/locales/en-GB/translation.json @@ -3517,6 +3517,8 @@ "accountCreatedSuccess": "Account created successfully! You can now sign in.", "passwordChangedSuccess": "Password changed successfully! Please sign in with your new password.", "credentialsUpdated": "Your credentials have been updated. Please sign in again.", + "defaultCredentials": "Default Login Credentials", + "changePasswordWarning": "Please change your password after logging in for the first time", "slides": { "overview": { "alt": "Stirling PDF overview", diff --git a/frontend/public/locales/es-ES/translation.json b/frontend/public/locales/es-ES/translation.json index a77ff1185..0e78d23ac 100644 --- a/frontend/public/locales/es-ES/translation.json +++ b/frontend/public/locales/es-ES/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Próximamente:", "favorite": "Añadir a favoritos", "favorites": "Favoritos", + "unavailable": "Desactivado por el administrador del servidor:", + "unavailableDependency": "No disponible - falta la herramienta requerida en el servidor:", "heading": "Todas las herramientas (vista de pantalla completa)", "noResults": "Intenta ajustar tu búsqueda o activar/desactivar las descripciones para encontrar lo que necesitas.", "recommended": "Recomendado", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Cambiar a modo pantalla completa", "sidebar": "Cambiar a modo barra lateral" - } + }, + "alpha": "Alfa", + "premiumFeature": "Función Premium:", + "comingSoon": "Próximamente:" }, "unsavedChanges": "Tiene cambios sin guardar en su PDF. ¿Qué le gustaría hacer?", "areYouSure": "¿Seguro que quieres salir?", @@ -41,6 +46,30 @@ "cancel": "Cancelar", "confirm": "Extraer" }, + "defaultApp": { + "title": "Establecer como aplicación PDF predeterminada", + "message": "¿Desea establecer Stirling PDF como su editor de PDF predeterminado?", + "description": "Puede cambiarlo más tarde en la configuración del sistema.", + "notNow": "Ahora no", + "setDefault": "Establecer como predeterminado", + "dismiss": "Descartar", + "prompt": { + "title": "Establecer como editor de PDF predeterminado", + "message": "Haga que Stirling PDF sea su aplicación predeterminada para abrir archivos PDF." + }, + "success": { + "title": "Configurada la aplicación predeterminada", + "message": "Stirling PDF es ahora su editor de PDF predeterminado" + }, + "settingsOpened": { + "title": "Configuración abierta", + "message": "Seleccione Stirling PDF en la configuración del sistema" + }, + "error": { + "title": "Error", + "message": "No se pudo establecer el gestor de PDF predeterminado" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Guardar", "saveToBrowser": "Guardar en el navegador", "download": "Descargar", + "downloadUnavailable": "Descarga no disponible para este elemento", + "saveUnavailable": "Guardar no disponible para este elemento", "pin": "Fijar archivo (mantener activo tras ejecutar la herramienta)", "unpin": "Desfijar archivo (reemplazar tras ejecutar la herramienta)", "undoOperationTooltip": "Haga clic para deshacer la última operación y restaurar los archivos originales", @@ -168,6 +199,7 @@ }, "edit": "Editar", "delete": "Borrar", + "never": "Nunca", "username": "Nombre de usuario", "password": "Contraseña", "welcome": "Bienvenido", @@ -262,7 +294,8 @@ "learnMore": "Más información", "enable": "Habilitar analíticas", "disable": "Deshabilitar analíticas", - "settings": "Puede cambiar la configuración de analíticas en el archivo config/settings.yml" + "settings": "Puede cambiar la configuración de analíticas en el archivo config/settings.yml", + "privacyAssurance": "No rastreamos información personal ni el contenido de sus archivos." }, "navbar": { "favorite": "Favoritos", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Configuración", - "update": "Actualización disponible", - "updateAvailable": "{0} es la versión instalada actualmente. Hay una nueva versión ({1}) disponible.", - "appVersion": "Versión de la aplicación:", - "downloadOption": { - "title": "Elegir la opción de descarga (para descargas de un solo archivo sin ZIP):", - "1": "Abrir en la misma ventana", - "2": "Abrir en una nueva ventana", - "3": "Descargar el archivo" - }, - "zipThreshold": "Archivos ZIP cuando excede el número de archivos descargados", - "signOut": "Desconectar", - "accountSettings": "Configuración de la cuenta", - "bored": { - "help": "Habilita el juego del huevo de pascua" - }, - "cacheInputs": { - "name": "Guardar entradas del formulario", - "help": "Habilitar guardar entradas previamente utilizadas para futuras acciones" + "connection": { + "title": "Modo de conexión", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Autoalojado" + }, + "server": "Servidor", + "user": "Conectado como", + "logout": "Cerrar sesión" }, "general": { "title": "General", "description": "Configura las preferencias generales de la aplicación.", - "account": "Cuenta", - "accountDescription": "Gestiona la configuración de tu cuenta", "user": "Usuario", - "signedInAs": "Has iniciado sesión como", "logout": "Cerrar sesión", "enableFeatures": { + "dismiss": "Descartar", "title": "Para administradores del sistema", "intro": "Activa la autenticación de usuarios, la gestión de equipos y las funciones del espacio de trabajo para tu organización.", "action": "Configurar", "and": "y", "benefit": "Activa roles de usuario, colaboración en equipo, controles de administrador y funciones empresariales.", - "learnMore": "Más información en la documentación", - "dismiss": "Descartar" + "learnMore": "Más información en la documentación" }, - "autoUnzip": "Descomprimir automáticamente respuestas de la API", - "autoUnzipDescription": "Extraer automáticamente archivos de respuestas ZIP", - "autoUnzipTooltip": "Extrae automáticamente archivos ZIP devueltos por operaciones de la API. Desactívalo para mantener los ZIP intactos. Esto no afecta a los flujos de trabajo de automatización.", - "autoUnzipFileLimit": "Límite de archivos para descompresión automática", - "autoUnzipFileLimitDescription": "Número máximo de archivos a extraer de un ZIP", - "autoUnzipFileLimitTooltip": "Solo descomprime si el ZIP contiene esta cantidad de archivos o menos. Establécelo más alto para extraer ZIPs más grandes.", "defaultToolPickerMode": "Modo predeterminado del selector de herramientas", "defaultToolPickerModeDescription": "Elige si el selector de herramientas se abre por defecto en pantalla completa o barra lateral", "mode": { - "fullscreen": "Pantalla completa", - "sidebar": "Barra lateral" - } + "sidebar": "Barra lateral", + "fullscreen": "Pantalla completa" + }, + "autoUnzipTooltip": "Extrae automáticamente archivos ZIP devueltos por operaciones de la API. Desactívalo para mantener los ZIP intactos. Esto no afecta a los flujos de trabajo de automatización.", + "autoUnzip": "Descomprimir automáticamente respuestas de la API", + "autoUnzipDescription": "Extraer automáticamente archivos de respuestas ZIP", + "autoUnzipFileLimitTooltip": "Solo descomprime si el ZIP contiene esta cantidad de archivos o menos. Establécelo más alto para extraer ZIPs más grandes.", + "autoUnzipFileLimit": "Límite de archivos para descompresión automática", + "autoUnzipFileLimitDescription": "Número máximo de archivos a extraer de un ZIP", + "defaultPdfEditor": "Editor de PDF predeterminado", + "defaultPdfEditorActive": "Stirling PDF es su editor de PDF predeterminado", + "defaultPdfEditorInactive": "Otra aplicación está establecida como predeterminada", + "defaultPdfEditorChecking": "Comprobando...", + "defaultPdfEditorSet": "Ya es predeterminado", + "setAsDefault": "Establecer como predeterminado", + "updates": { + "title": "Actualizaciones de software", + "description": "Compruebe actualizaciones y vea la información de versión", + "currentVersion": "Versión actual", + "latestVersion": "Última versión", + "checkForUpdates": "Buscar actualizaciones", + "viewDetails": "Ver detalles" + }, + "hideUnavailableTools": "Ocultar herramientas no disponibles", + "hideUnavailableToolsDescription": "Eliminar las herramientas desactivadas por su servidor en lugar de mostrarlas en gris.", + "hideUnavailableConversions": "Ocultar conversiones no disponibles", + "hideUnavailableConversionsDescription": "Eliminar las opciones de conversión desactivadas en la herramienta Convertir en lugar de mostrarlas en gris." }, "hotkeys": { - "title": "Atajos de teclado", - "description": "Pasa el cursor sobre una herramienta para ver su atajo o personalízalo abajo. Haz clic en \"Cambiar atajo\" y pulsa una nueva combinación de teclas. Pulsa Esc para cancelar.", - "errorModifier": { - "mac": "Incluye ⌘ (Command), ⌥ (Option) u otro modificador en tu atajo.", - "windows": "Incluye Ctrl, Alt u otro modificador en tu atajo." - }, "errorConflict": "Atajo ya utilizado por {{tool}}.", + "searchPlaceholder": "Buscar herramientas...", "none": "No asignado", "customBadge": "Personalizado", "defaultLabel": "Predeterminado: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Cambiar atajo", "reset": "Restablecer", "shortcut": "Atajo", - "noShortcut": "Sin atajo", - "searchPlaceholder": "Buscar herramientas..." + "noShortcut": "Sin atajo" } }, + "update": { + "modalTitle": "Actualización disponible", + "current": "Versión actual", + "latest": "Última versión", + "latestStable": "Última estable", + "priorityLabel": "Prioridad", + "recommendedAction": "Acción recomendada", + "breakingChangesDetected": "Se detectaron cambios incompatibles", + "breakingChangesMessage": "Algunas versiones contienen cambios incompatibles. Revise las guías de migración a continuación antes de actualizar.", + "migrationGuides": "Guías de migración", + "viewGuide": "Ver guía", + "loadingDetailedInfo": "Cargando información detallada...", + "close": "Cerrar", + "viewAllReleases": "Ver todas las versiones", + "downloadLatest": "Descargar la última", + "availableUpdates": "Actualizaciones disponibles", + "unableToLoadDetails": "No se puede cargar la información detallada.", + "version": "Versión", + "urgentUpdateAvailable": "Actualización urgente", + "updateAvailable": "Actualización disponible", + "releaseNotes": "Notas de la versión", + "priority": { + "urgent": "Urgente", + "normal": "Normal", + "minor": "Menor", + "low": "Baja" + }, + "breakingChanges": "Cambios incompatibles", + "breakingChangesDefault": "Esta versión contiene cambios incompatibles.", + "migrationGuide": "Guía de migración" + }, "changeCreds": { "title": "Cambiar Credenciales", "header": "Actualice los detalles de su cuenta", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Superponer PDFs encima de otro PDF", "title": "Superponer PDFs" + }, + "pdfTextEditor": { + "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" + }, + "addText": { + "tags": "texto,anotación,etiqueta", + "title": "Añadir texto", + "desc": "Añada texto personalizado en cualquier parte del PDF" } }, "landing": { "addFiles": "Agregar Archivos", - "uploadFromComputer": "Cargar desde el ordenador" + "uploadFromComputer": "Cargar desde el ordenador", + "openFromComputer": "Abrir desde el ordenador" }, "viewPdf": { "tags": "ver,leer,anotar,texto,imagen", @@ -849,6 +922,11 @@ }, "error": { "failed": "Se produjo un error al combinar los PDF." + }, + "tooltip": { + "header": { + "title": "Resumen de ajustes de combinación" + } } }, "split": { @@ -1182,9 +1260,43 @@ "tags": "img,jpg,imagen,fotografía", "title": "Añadir imagen", "header": "Añadir imagen al PDF", - "everyPage": "¿Todas las páginas?", - "upload": "Añadir imagen", - "submit": "Enviar imagen" + "image": { + "name": "Imagen", + "placeholder": "Suba una imagen", + "label": "Archivo de imagen" + }, + "steps": { + "configure": "Configurar imagen" + }, + "step": { + "createDesc": "Suba la imagen que desea añadir", + "place": "Colocar imagen", + "placeDesc": "Haga clic en el PDF para añadir su imagen" + }, + "instructions": { + "title": "Cómo añadir imágenes", + "text": "Después de subir su imagen arriba, haga clic en cualquier parte del PDF para colocarla.", + "paused": "Colocación en pausa", + "resumeHint": "Reanude la colocación para hacer clic y añadir su imagen.", + "noSignature": "Suba una imagen arriba para habilitar la colocación." + }, + "mode": { + "move": "Mover imagen", + "place": "Colocar imagen", + "pause": "Pausar colocación", + "resume": "Reanudar colocación" + }, + "results": { + "title": "Resultados de añadir imagen" + }, + "error": { + "failed": "Se produjo un error al añadir la imagen al PDF." + }, + "saved": { + "defaultLabel": "Imagen", + "defaultImageLabel": "Imagen subida" + }, + "applySignatures": "Aplicar imágenes" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1397,6 +1509,93 @@ }, "submit": "Cambiar" }, + "editTableOfContents": { + "settings": { + "title": "Marcadores y esquema", + "replaceExisting": "Reemplazar marcadores existentes (desmarcar para añadir al final)", + "replaceExistingHint": "Si está desactivado, el nuevo esquema se añadirá tras los marcadores actuales." + }, + "actions": { + "source": "Cargar marcadores", + "selectedFile": "Cargado desde {{file}}", + "noFile": "Seleccione un PDF para extraer los marcadores existentes.", + "loadFromPdf": "Cargar desde el PDF seleccionado", + "importJson": "Importar JSON", + "importClipboard": "Pegar JSON desde el portapapeles", + "export": "Exportar marcadores", + "exportJson": "Descargar JSON", + "exportClipboard": "Copiar JSON al portapapeles", + "clipboardUnavailable": "El acceso al portapapeles no está disponible en este navegador." + }, + "info": { + "line1": "Cada marcador necesita un título descriptivo y la página que debe abrir.", + "line2": "Use marcadores hijos para crear una jerarquía para capítulos, secciones o subsecciones.", + "line3": "Importe marcadores del PDF seleccionado o de un archivo JSON para ahorrar tiempo." + }, + "workbench": { + "empty": { + "title": "Abra la herramienta para empezar a editar", + "description": "Seleccione la herramienta Editar índice para cargar su espacio de trabajo." + }, + "tabTitle": "Espacio de trabajo del esquema", + "subtitle": "Importe marcadores, cree jerarquías y aplique el esquema sin paneles laterales estrechos.", + "noFile": "Ningún PDF seleccionado", + "fileLabel": "Los cambios se aplicarán al PDF seleccionado.", + "filePrompt": "Seleccione un PDF de su biblioteca o suba uno nuevo para comenzar.", + "changeFile": "Cambiar PDF", + "selectFile": "Seleccionar PDF" + }, + "editor": { + "heading": "Editor de marcadores", + "description": "Añada, anide y reordene marcadores para crear el esquema de su PDF.", + "addTopLevel": "Añadir marcador de primer nivel", + "empty": { + "title": "Aún no hay marcadores", + "description": "Importe marcadores existentes o empiece añadiendo su primera entrada.", + "action": "Añadir primer marcador" + }, + "defaultTitle": "Nuevo marcador", + "defaultChildTitle": "Marcador hijo", + "defaultSiblingTitle": "Nuevo marcador", + "untitled": "Marcador sin título", + "childBadge": "Hijo", + "pagePreview": "Página {{page}}", + "field": { + "title": "Título del marcador", + "page": "Número de página de destino" + }, + "actions": { + "toggle": "Mostrar/ocultar hijos", + "addChild": "Añadir marcador hijo", + "addSibling": "Añadir marcador hermano", + "remove": "Eliminar marcador" + }, + "confirmRemove": "¿Eliminar este marcador y todos sus hijos?" + }, + "messages": { + "loadedTitle": "Marcadores extraídos", + "loadedBody": "Se cargaron en el editor los marcadores existentes del PDF.", + "noBookmarks": "No se encontraron marcadores en el PDF seleccionado.", + "loadFailed": "No se pudieron extraer los marcadores del PDF seleccionado.", + "imported": "Marcadores importados", + "importedBody": "Su esquema JSON reemplazó el contenido actual del editor.", + "importedClipboard": "Los datos del portapapeles reemplazaron la lista de marcadores actual.", + "invalidJson": "Estructura JSON no válida", + "invalidJsonBody": "Proporcione un archivo JSON de marcadores válido e inténtelo de nuevo.", + "exported": "Descarga de JSON lista", + "copied": "Copiado al portapapeles", + "copiedBody": "El JSON de marcadores se copió correctamente.", + "copyFailed": "Error al copiar" + }, + "error": { + "failed": "No se pudo actualizar el índice" + }, + "submit": "Aplicar índice", + "results": { + "title": "PDF actualizado con marcadores", + "subtitle": "Descargue el archivo procesado o deshaga la operación abajo." + } + }, "removePages": { "tags": "Borrar páginas,eliminar páginas", "title": "Eliminar", @@ -1978,13 +2177,54 @@ "title": "Dibuje su firma", "clear": "Limpiar" }, + "canvas": { + "heading": "Dibuje su firma", + "clickToOpen": "Haga clic para abrir el lienzo de dibujo", + "modalTitle": "Dibuje su firma", + "colorLabel": "Color", + "penSizeLabel": "Grosor del trazo", + "penSizePlaceholder": "Tamaño", + "clear": "Limpiar lienzo", + "colorPickerTitle": "Elija el color del trazo" + }, "text": { "name": "Nombre del Firmante", - "placeholder": "Ingrese su nombre completo" + "placeholder": "Ingrese su nombre completo", + "fontLabel": "Fuente", + "fontSizeLabel": "Tamaño de fuente", + "fontSizePlaceholder": "Escriba o seleccione el tamaño de fuente (8-200)", + "colorLabel": "Color del texto" }, "clear": "Borrar", "add": "Agregar", - "saved": "firmas guardadas", + "saved": { + "heading": "Firmas guardadas", + "description": "Reutilice firmas guardadas en cualquier momento.", + "emptyTitle": "Aún no hay firmas guardadas", + "emptyDescription": "Dibuje, suba o escriba una firma arriba y luego use \"Guardar en la biblioteca\" para mantener hasta {{max}} favoritas listas para usar.", + "type": { + "canvas": "Dibujo", + "image": "Subida", + "text": "Texto" + }, + "limitTitle": "Límite alcanzado", + "limitDescription": "Elimine una firma guardada antes de añadir nuevas (máx. {{max}}).", + "carouselPosition": "{{current}} de {{total}}", + "prev": "Anterior", + "next": "Siguiente", + "delete": "Eliminar", + "label": "Etiqueta", + "defaultLabel": "Firma", + "defaultCanvasLabel": "Firma dibujada", + "defaultImageLabel": "Firma subida", + "defaultTextLabel": "Firma escrita", + "saveButton": "Guardar firma", + "saveUnavailable": "Cree primero una firma para guardarla.", + "noChanges": "La firma actual ya está guardada.", + "status": { + "saved": "Guardado" + } + }, "save": "Guardar Firma", "applySignatures": "Aplicar Firmas", "personalSigs": "Firmas Personales", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Configurar Firma" }, + "step": { + "createDesc": "Elija cómo quiere crear la firma", + "place": "Colocar y guardar", + "placeDesc": "Posicione la firma en su PDF" + }, "type": { "title": "Tipo de Firma", "draw": "Dibujar", "canvas": "Lienzo", "image": "Imagen", - "text": "Texto" + "text": "Texto", + "saved": "Guardadas" }, "image": { "label": "Cargar imagen de firma", @@ -2019,11 +2265,17 @@ "title": "Cómo añadir firma", "canvas": "Tras dibujar tu firma en el lienzo, cierra la ventana y haz clic en cualquier parte del PDF para colocarla.", "image": "Tras subir la imagen de tu firma arriba, haz clic en cualquier parte del PDF para colocarla.", - "text": "Tras introducir tu nombre arriba, haz clic en cualquier parte del PDF para colocar tu firma." + "saved": "Seleccione una firma guardada arriba y haga clic en cualquier parte del PDF para colocarla.", + "text": "Tras introducir tu nombre arriba, haz clic en cualquier parte del PDF para colocar tu firma.", + "paused": "Colocación en pausa", + "resumeHint": "Reanude la colocación para hacer clic y añadir su firma.", + "noSignature": "Cree una firma arriba para activar las herramientas de colocación." }, "mode": { "move": "Mover firma", - "place": "Colocar firma" + "place": "Colocar firma", + "pause": "Pausar colocación", + "resume": "Reanudar colocación" }, "updateAndPlace": "Actualizar y colocar", "activate": "Activar Colocación de Firma", @@ -2163,6 +2415,14 @@ "title": "Acerca de Eliminar Anotaciones", "description": "Esta herramienta eliminará todas las anotaciones (comentarios, resaltados, notas, etc.) de sus documentos PDF." }, + "tooltip": { + "header": { + "title": "Acerca de Eliminar anotaciones" + }, + "description": { + "title": "Qué hace" + } + }, "error": { "failed": "Se produjo un error al eliminar las anotaciones del PDF." } @@ -2627,6 +2887,9 @@ "header": { "title": "Cómo funciona el cambio de nombre automático" }, + "description": { + "title": "Qué hace" + }, "howItWorks": { "title": "Cambio de nombre inteligente", "text": "Encuentra automáticamente el título del contenido de su PDF y lo utiliza como nombre de archivo.", @@ -2634,6 +2897,9 @@ "bullet2": "Crea un nombre de archivo limpio y válido a partir del título detectado", "bullet3": "Conserva el nombre original si no se encuentra un título adecuado" } + }, + "settings": { + "title": "Acerca de" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "Error inesperado: {{message}}", "accountCreatedSuccess": "¡Cuenta creada correctamente! Ya puedes iniciar sesión.", "passwordChangedSuccess": "¡Contraseña cambiada correctamente! Inicia sesión con tu nueva contraseña.", - "credentialsUpdated": "Tus credenciales se han actualizado. Vuelve a iniciar sesión." + "credentialsUpdated": "Tus credenciales se han actualizado. Vuelve a iniciar sesión.", + "defaultCredentials": "Credenciales de inicio de sesión predeterminadas", + "changePasswordWarning": "Cambie su contraseña tras iniciar sesión por primera vez", + "slides": { + "overview": { + "alt": "Vista general de Stirling PDF", + "title": "Su solución integral para todas sus necesidades de PDF.", + "subtitle": "Una suite en la nube centrada en la privacidad para PDF que le permite convertir, firmar, ocultar y gestionar documentos, junto con 50+ herramientas potentes." + }, + "edit": { + "alt": "Editar PDFs", + "title": "Edite PDFs para mostrar/proteger la información que quiera", + "subtitle": "Con más de una docena de herramientas para ocultar, firmar, leer y manipular PDFs, seguro que encuentra lo que busca." + }, + "secure": { + "alt": "Proteger PDFs", + "title": "Proteja la información sensible en sus PDFs", + "subtitle": "Añada contraseñas, oculte contenido y gestione certificados con facilidad." + } + } }, "signup": { "title": "Crear una cuenta", @@ -3598,7 +3883,9 @@ "exportAll": "Exportar PDF", "downloadSelected": "Descargar Archivos Seleccionados", "downloadAll": "Descargar Todo", + "saveAll": "Guardar todo", "toggleTheme": "Alternar Tema", + "toggleBookmarks": "Mostrar/ocultar marcadores", "language": "Idioma", "search": "Buscar en PDF", "panMode": "Modo de Desplazamiento", @@ -3685,8 +3972,16 @@ "saved": "Configuración guardada correctamente", "saveSuccess": "Configuración guardada correctamente", "save": "Guardar cambios", + "discard": "Descartar", "restartRequired": "Se requiere reiniciar", "loginRequired": "El modo de inicio de sesión debe estar habilitado para modificar la configuración de administración", + "unsavedChanges": { + "title": "Cambios sin guardar", + "message": "Tiene cambios sin guardar. ¿Desea descartarlos?", + "cancel": "Seguir editando", + "discard": "Descartar cambios", + "hint": "Tiene cambios sin guardar" + }, "loginDisabled": { "title": "Se requiere modo de inicio de sesión", "message": "El modo de inicio de sesión debe estar habilitado para modificar la configuración de administración. Establece SECURITY_ENABLELOGIN=true en tu entorno o security.enableLogin: true en settings.yml y reinicia el servidor.", @@ -4060,7 +4355,7 @@ "features": "Indicadores de funciones", "processing": "Procesamiento", "endpoints": { - "label": "Endpoints", + "label": "Puntos de conexión", "manage": "Gestionar endpoints de la API", "description": "La gestión de endpoints se configura mediante YAML. Consulta la documentación para obtener detalles sobre cómo habilitar/deshabilitar endpoints específicos." }, @@ -4137,7 +4432,7 @@ "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", "weasyPrint": "WeasyPrint", - "installApp": "Install App", + "installApp": "Instalar aplicación", "calibre": "Calibre", "ghostscript": "Ghostscript", "ocrMyPdf": "OCRmyPDF" @@ -4204,7 +4499,7 @@ "description": "URL o nombre de archivo de la política de cookies" }, "impressum": { - "label": "Impressum", + "label": "Aviso legal", "description": "URL o nombre de archivo del impressum (requerido en algunas jurisdicciones)" } }, @@ -4212,9 +4507,21 @@ "title": "Premium y Enterprise", "description": "Configura tu clave de licencia premium o enterprise.", "license": "Configuración de licencia", + "licenseKey": { + "toggle": "¿Tiene una clave de licencia o un archivo de certificado?", + "info": "Si tiene una clave de licencia o un archivo de certificado de una compra directa, puede introducirlo aquí para activar funciones Premium o Enterprise." + }, "key": { "label": "Clave de licencia", - "description": "Introduce tu clave de licencia premium o enterprise" + "description": "Introduce tu clave de licencia premium o enterprise", + "success": "Clave de licencia guardada", + "successMessage": "Su clave de licencia se ha activado correctamente. No es necesario reiniciar.", + "overwriteWarning": { + "title": "⚠️ Advertencia: se detectó una licencia existente", + "line1": "Sobrescribir su clave de licencia actual no se puede deshacer.", + "line2": "Su licencia anterior se perderá de forma permanente a menos que la haya respaldado en otro lugar.", + "line3": "Importante: mantenga las claves de licencia privadas y seguras. Nunca las comparta públicamente." + } }, "enabled": { "label": "Habilitar funciones Premium", @@ -4278,12 +4585,17 @@ "or": "o", "dropFileHere": "Suelte el archivo aquí o haga clic para cargar", "dropFilesHere": "Suelte los archivos aquí o haga clic en el botón de carga", + "dropFilesHereOpen": "Suelte archivos aquí o haga clic en el botón Abrir", "pdfFilesOnly": "Solo archivos PDF", "supportedFileTypes": "Tipos de archivo soportados", "upload": "Cargar", "uploadFile": "Cargar Archivo", "uploadFiles": "Cargar Archivos", + "open": "Abrir", + "openFile": "Abrir archivo", + "openFiles": "Abrir archivos", "noFilesInStorage": "No hay archivos disponibles en el almacenamiento. Cargue algunos archivos primero.", + "noFilesInStorageOpen": "No hay archivos disponibles en el almacenamiento. Abra algunos archivos primero.", "selectFromStorage": "Seleccionar del Almacenamiento", "backToTools": "Volver a Herramientas", "addFiles": "Agregar Archivos", @@ -4329,6 +4641,8 @@ "myFiles": "Mis Archivos", "noRecentFiles": "No se encontraron archivos recientes", "googleDriveNotAvailable": "Integración con Google Drive no disponible", + "downloadSelected": "Descargar Seleccionados", + "saveSelected": "Guardar seleccionados", "openFiles": "Abrir Archivos", "openFile": "Abrir Archivo", "details": "Detalles del Archivo", @@ -4341,7 +4655,6 @@ "selectAll": "Seleccionar Todo", "deselectAll": "Deseleccionar Todo", "deleteSelected": "Borrar seleccionado(s)", - "downloadSelected": "Descargar Seleccionados", "selectedCount": "{{count}} seleccionados", "download": "Descargar", "delete": "Borrar", @@ -4621,9 +4934,14 @@ "secureWorkflow": "Flujo de trabajo de seguridad", "secureWorkflowDesc": "Asegura documentos PDF eliminando contenido potencialmente malicioso como JavaScript y archivos incrustados, luego añade protección con contraseña para evitar acceso no autorizado. La contraseña se establece en 'password' de forma predeterminada.", "processImages": "Procesar imágenes", - "processImagesDesc": "Convierte varios archivos de imagen en un solo documento PDF, luego aplica tecnología OCR para extraer texto con capacidad de búsqueda de las imágenes." + "processImagesDesc": "Convierte varios archivos de imagen en un solo documento PDF, luego aplica tecnología OCR para extraer texto con capacidad de búsqueda de las imágenes.", + "prePublishSanitization": "Saneamiento previo a la publicación", + "prePublishSanitizationDesc": "Flujo de trabajo de saneamiento que elimina todos los metadatos ocultos, JavaScript, archivos incrustados y anotaciones, y aplana formularios para evitar fugas de datos antes de publicar PDFs en línea." } }, + "colorPicker": { + "title": "Elija el color" + }, "common": { "previous": "Anterior", "next": "Siguiente", @@ -4639,7 +4957,13 @@ "used": "usado", "available": "disponible", "cancel": "Cancelar", - "preview": "Vista previa" + "preview": "Vista previa", + "close": "Cerrar", + "done": "Hecho", + "loading": "Cargando...", + "back": "Atrás", + "continue": "Continuar", + "error": "Error" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Añadir más archivos...", "selectedFiles": "Archivos seleccionados", "submit": "Añadir archivos adjuntos", + "tooltip": { + "header": { + "title": "Acerca de Añadir adjuntos" + }, + "description": { + "title": "Qué hace" + } + }, "results": { "title": "Resultados de archivos adjuntos" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Posición personalizada", "details": "Detalles", - "downloadUnavailable": "Descarga no disponible para este elemento", "invalidUndoData": "No se puede deshacer: datos de la operación no válidos", "margin": { "large": "Grande", @@ -4801,6 +5132,10 @@ "maybeLater": "Quizás más tarde", "dontShowAgain": "No mostrar de nuevo" }, + "welcomeSlide": { + "title": "Bienvenido a Stirling", + "body": "Stirling PDF ya está listo para equipos de todos los tamaños. Esta actualización incluye un nuevo diseño, potentes capacidades de administración y nuestra función más solicitada: Editar texto." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Seleccionemos la herramienta Recortar para mostrar cómo usar una de las herramientas.", "toolInterface": "Esta es la interfaz de la herramienta Recortar. Como puedes ver, no hay mucho porque aún no hemos añadido ningún archivo PDF con el que trabajar.", @@ -4823,7 +5158,39 @@ "next": "Siguiente", "finish": "Finalizar", "startTour": "Iniciar recorrido", - "startTourDescription": "Realiza un recorrido guiado por las funciones clave de Stirling PDF" + "startTourDescription": "Realiza un recorrido guiado por las funciones clave de Stirling PDF", + "buttons": { + "next": "Siguiente →", + "back": "Atrás", + "skipForNow": "Omitir por ahora", + "download": "Descargar →", + "showMeAround": "Muéstreme el recorrido", + "skipTheTour": "Saltar el recorrido" + }, + "serverLicense": { + "skip": "Omitir por ahora", + "seePlans": "Ver planes →", + "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 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." + }, + "desktopInstall": { + "title": "Descargar", + "titleWithOs": "Descargar para {{osLabel}}", + "body": "Stirling funciona mejor como aplicación de escritorio. Puede usarla sin conexión, acceder a los documentos más rápido y editar localmente en su ordenador." + }, + "planOverview": { + "adminTitle": "Resumen de administrador", + "userTitle": "Resumen del plan", + "adminBodyLoginEnabled": "Como administrador, puede gestionar usuarios, configurar ajustes y supervisar la salud del servidor. Las primeras {{freeTierLimit}} personas de su servidor pueden usar Stirling gratis.", + "adminBodyLoginDisabled": "Cuando habilite el modo de inicio de sesión, podrá gestionar usuarios, configurar ajustes y supervisar la salud del servidor. Las primeras {{freeTierLimit}} personas de su servidor pueden usar Stirling gratis.", + "userBody": "Invite a sus compañeros, asigne roles y mantenga sus documentos organizados en un espacio de trabajo seguro. Active el modo de inicio de sesión cuando esté listo para pasar del uso individual." + }, + "securityCheck": { + "message": "La aplicación ha sufrido cambios importantes recientemente. Puede requerirse la atención del administrador del servidor. Confirme su rol para continuar." + } }, "adminOnboarding": { "welcome": "¡Bienvenido al recorrido de administrador! Vamos a explorar las potentes funciones y ajustes empresariales disponibles para los administradores del sistema.", @@ -4852,7 +5219,10 @@ "role": "Rol", "team": "Equipo", "status": "Estado", - "actions": "Acciones", + "actions": { + "label": "Acciones", + "upgrade": "Actualizar" + }, "noMembersFound": "No se encontraron miembros", "active": "Activo", "disabled": "Deshabilitado", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} plaza(s) de usuario disponible(s)", "noSlotsAvailable": "No hay plazas disponibles", "currentUsage": "Actualmente usando {{current}} de {{max}} licencias de usuario" - } + }, + "loginRequired": "Habilite primero el modo de inicio de sesión" }, "teams": { "title": "Equipos", @@ -5057,6 +5428,17 @@ "showComparison": "Comparar todas las funciones", "hideComparison": "Ocultar comparación de funciones", "featureComparison": "Comparación de funciones", + "from": "Desde", + "perMonth": "/mes", + "perSeat": "/plaza", + "withServer": "+ Plan de servidor", + "licensedSeats": "Con licencia: {{count}} plazas", + "includedInCurrent": "Incluido en su plan", + "selectPlan": "Seleccionar plan", + "manage": "Gestionar", + "manageSubscription": { + "description": "Gestione su suscripción, facturación y métodos de pago" + }, "activePlan": { "title": "Plan activo", "subtitle": "Detalles de tu suscripción actual" @@ -5074,13 +5456,16 @@ "upTo": "Hasta" }, "period": { - "month": "mes" + "month": "mes", + "perUserPerMonth": "/usuario/mes" }, "free": { "name": "Gratis", "highlight1": "Uso de herramientas limitado por semana", "highlight2": "Acceso a todas las herramientas", - "highlight3": "Soporte de la comunidad" + "highlight3": "Soporte de la comunidad", + "forever": "Gratis para siempre", + "included": "Incluido" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Precios personalizados", "highlight2": "Soporte dedicado", - "highlight3": "Funciones más recientes" + "highlight3": "Funciones más recientes", + "requiresServer": "Requiere servidor", + "requiresServerMessage": "Actualice primero al plan Server antes de pasar a Enterprise." }, "feature": { "title": "Función", @@ -5102,6 +5489,12 @@ "api": "Acceso a API", "priority": "Soporte prioritario", "customPricing": "Precios personalizados" + }, + "licenseWarning": { + "title": "Alcanzado el límite gratuito en autoalojado", + "body": "Tiene {{total}} usuarios, pero el nivel gratuito solo admite {{limit}} por servidor. Actualice para que Stirling PDF siga funcionando sin problemas.", + "overLimit": "más de {{limit}}", + "cta": "Ver planes" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Gestionar facturación", "portal": { "error": "No se pudo abrir el portal de facturación" - } + }, + "updateSeats": "Actualizar plazas", + "updateEnterpriseSeats": "Actualizar plazas de Enterprise", + "currentSeats": "Plazas actuales", + "minimumSeats": "Plazas mínimas", + "basedOnUsers": "(usuarios actuales)", + "newSeatCount": "Nuevo número de plazas", + "newSeatCountDescription": "Seleccione el número de plazas para su licencia Enterprise", + "whatHappensNext": "¿Qué sucede a continuación?", + "stripePortalRedirect": "Será redirigido al portal de facturación de Stripe para revisar y confirmar el cambio de plazas. El importe prorrateado se calculará automáticamente.", + "preparingUpdate": "Preparando actualización de plazas...", + "seatCountTooLow": "El número de plazas debe ser al menos {{minimum}} (número actual de usuarios)", + "seatCountUnchanged": "Seleccione un número de plazas diferente", + "seatsUpdated": "Plazas actualizadas", + "seatsUpdatedMessage": "Sus plazas Enterprise se han actualizado a {{seats}}", + "updateProcessing": "Procesando actualización", + "updateProcessingMessage": "Se está procesando la actualización de plazas. Actualice en unos momentos.", + "notEnterprise": "La gestión de plazas solo está disponible para licencias Enterprise" + }, + "upgradeBanner": { + "title": "Actualice al plan Server", + "message": "Aproveche al máximo Stirling PDF con usuarios ilimitados y funciones avanzadas", + "upgradeButton": "Actualizar ahora", + "dismiss": "Descartar banner", + "attentionTitle": "Este servidor necesita atención del administrador", + "attentionBody": "Su administrador debe iniciar sesión para ver más información. Contáctelo de inmediato.", + "attentionBodyAdmin": "Revise los requisitos de licencia para mantener este servidor conforme.", + "seeInfo": "Ver información" }, "payment": { "preparing": "Preparando tu pago...", @@ -5128,7 +5548,61 @@ "success": "¡Pago realizado con éxito!", "successMessage": "Tu suscripción se ha activado correctamente. Recibirás un correo de confirmación en breve.", "autoClose": "Esta ventana se cerrará automáticamente...", - "error": "Error de pago" + "error": "Error de pago", + "upgradeSuccess": "¡Pago correcto! Su suscripción se ha actualizado. La licencia se ha actualizado en su servidor. Recibirá un correo electrónico de confirmación en breve.", + "paymentSuccess": "¡Pago correcto! Recuperando su clave de licencia...", + "licenseActivated": "¡Licencia activada! Su clave de licencia se ha guardado. Se ha enviado un correo de confirmación a su dirección de correo electrónico registrada.", + "licenseDelayed": "¡Pago correcto! Su licencia se está generando. Recibirá en breve un correo con su clave de licencia. Si no lo recibe en 10 minutos, póngase en contacto con soporte.", + "licensePollingError": "Pago correcto, pero no pudimos recuperar su clave de licencia automáticamente. Revise su correo electrónico o contacte con soporte con su confirmación de pago.", + "licenseRetrievalError": "Pago correcto pero falló la recuperación de la licencia. Recibirá su clave de licencia por correo electrónico. Contacte con soporte si no la recibe en 10 minutos.", + "syncError": "Pago correcto pero falló la sincronización de la licencia. Su licencia se actualizará en breve. Contacte con soporte si el problema persiste.", + "licenseSaveError": "No se pudo guardar la clave de licencia. Contacte con soporte con su clave de licencia para completar la activación.", + "paymentCanceled": "El pago fue cancelado. No se realizaron cargos.", + "syncingLicense": "Sincronizando su licencia actualizada...", + "generatingLicense": "Generando su clave de licencia...", + "upgradeComplete": "Actualización completa", + "upgradeCompleteMessage": "Su suscripción se ha actualizado correctamente. Su clave de licencia existente ha sido actualizada.", + "stripeNotConfigured": "Stripe no configurado", + "stripeNotConfiguredMessage": "La integración de pago con Stripe no está configurada. Póngase en contacto con su administrador.", + "monthly": "Mensual", + "yearly": "Anual", + "billingPeriod": "Periodo de facturación", + "enterpriseNote": "Las plazas pueden ajustarse en el checkout (1-1000).", + "installationId": "ID de instalación", + "licenseKey": "Su clave de licencia", + "licenseInstructions": "Esto se ha añadido a su instalación. También recibirá una copia por correo electrónico.", + "canCloseWindow": "Ya puede cerrar esta ventana.", + "licenseKeyProcessing": "Procesando clave de licencia", + "licenseDelayedMessage": "Su clave de licencia se está generando. Revise su correo electrónico en breve o contacte con soporte.", + "perYear": "/año", + "perMonth": "/mes", + "emailInvalid": "Introduzca una dirección de correo válida", + "emailStage": { + "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": "your@email.com", + "continue": "Continuar", + "modalTitle": "Comenzar - {{planName}}" + }, + "planStage": { + "title": "Elija su periodo de facturación", + "savingsNote": "Ahorre {{percent}}% con facturación anual", + "basePrice": "Precio base", + "seatPrice": "Por plaza", + "totalForSeats": "Total ({{count}} plazas)", + "selectMonthly": "Seleccionar mensual", + "selectYearly": "Seleccionar anual", + "savePercent": "Ahorre {{percent}}%", + "savingsAmount": "Ahorra {{amount}}", + "modalTitle": "Seleccionar periodo de facturación - {{planName}}", + "billedYearly": "Facturado anualmente a {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Volver a la selección de plan", + "selectedPlan": "Plan seleccionado", + "modalTitle": "Completar pago - {{planName}}" + } }, "firstLogin": { "title": "Primer inicio de sesión", @@ -5275,7 +5749,7 @@ }, "table": { "title": "Estadísticas detalladas", - "endpoint": "Endpoint", + "endpoint": "Punto de conexión", "visits": "Visitas", "percentage": "Porcentaje", "noData": "No hay datos disponibles" @@ -5287,5 +5761,281 @@ "offline": "Backend sin conexión", "starting": "Iniciando el backend...", "wait": "Espera a que el backend termine de iniciarse e inténtalo de nuevo." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Desbloquee el PDF para continuar", + "title": "Elimine la contraseña para continuar", + "description": "Este PDF está protegido con contraseña. Introduzca la contraseña para seguir trabajando con él.", + "password": { + "label": "Contraseña del PDF", + "placeholder": "Introduzca la contraseña del PDF" + }, + "skip": "Omitir por ahora", + "unlock": "Desbloquear y continuar", + "incorrectPassword": "Contraseña incorrecta", + "missingFile": "El archivo seleccionado ya no está disponible.", + "emptyResponse": "La eliminación de la contraseña no produjo un archivo.", + "required": "Introduzca la contraseña para continuar.", + "successTitle": "Contraseña eliminada", + "successBodyWithName": "Contraseña eliminada de {{fileName}}", + "successBody": "Contraseña eliminada correctamente." + }, + "setup": { + "welcome": "Bienvenido a Stirling PDF", + "description": "Empiece eligiendo cómo quiere usar Stirling PDF", + "step1": { + "label": "Elegir modo", + "description": "Sin conexión o servidor" + }, + "step2": { + "label": "Seleccionar servidor", + "description": "Servidor autoalojado" + }, + "step3": { + "label": "Inicio de sesión", + "description": "Introduzca credenciales" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Inicie sesión con su cuenta de Stirling" + }, + "selfhosted": { + "title": "Servidor autoalojado", + "description": "Conéctese a su propio servidor de Stirling PDF" + } + }, + "saas": { + "title": "Inicie sesión en Stirling", + "subtitle": "Inicie sesión con su cuenta de Stirling" + }, + "selfhosted": { + "title": "Inicie sesión en el servidor", + "subtitle": "Introduzca las credenciales de su servidor" + }, + "server": { + "title": "Conectar con el servidor", + "subtitle": "Introduzca la URL de su servidor autoalojado", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Servidor autoalojado" + }, + "url": { + "label": "URL del servidor", + "description": "Introduzca la URL completa de su servidor autoalojado de Stirling PDF" + }, + "error": { + "emptyUrl": "Introduzca una URL de servidor", + "unreachable": "No se pudo conectar con el servidor", + "testFailed": "Falló la prueba de conexión" + }, + "testing": "Probando la conexión..." + }, + "login": { + "title": "Iniciar sesión", + "subtitle": "Introduzca sus credenciales para continuar", + "connectingTo": "Conectando a:", + "username": { + "label": "Nombre de usuario", + "placeholder": "Introduzca su nombre de usuario" + }, + "email": { + "label": "Email", + "placeholder": "Introduzca su email" + }, + "password": { + "label": "Contraseña", + "placeholder": "Introduzca su contraseña" + }, + "error": { + "emptyUsername": "Introduzca su nombre de usuario", + "emptyEmail": "Introduzca su email", + "emptyPassword": "Introduzca su contraseña", + "oauthFailed": "Falló el inicio de sesión OAuth. Inténtelo de nuevo." + }, + "submit": "Iniciar sesión", + "signInWith": "Iniciar sesión con", + "oauthPending": "Abriendo el navegador para autenticación...", + "orContinueWith": "O continuar con email" + } + }, + "oauth": { + "success": { + "title": "Autenticación correcta", + "message": "Puede cerrar esta ventana y volver a Stirling PDF." + }, + "error": { + "title": "Autenticación fallida", + "message": "La autenticación no se realizó correctamente. Puede cerrar esta ventana e intentarlo de nuevo." + } + }, + "pdfTextEditor": { + "title": "Editor JSON de PDF", + "viewLabel": "Editor de PDF", + "converting": "Convirtiendo PDF a formato editable...", + "conversionFailed": "No se pudo convertir el PDF. Inténtelo de nuevo.", + "currentFile": "Archivo actual: {{name}}", + "pageSummary": "Página {{number}} de {{total}}", + "pagePreviewAlt": "Vista previa de página", + "imageLabel": "Imagen colocada", + "noTextOnPage": "No se detectó texto editable en esta página.", + "pageType": { + "paragraph": "Página de párrafos", + "sparse": "Texto disperso" + }, + "groupingMode": { + "auto": "Auto", + "paragraph": "Párrafo", + "singleLine": "Línea única" + }, + "badges": { + "unsaved": "Editado", + "modified": "Editado", + "earlyAccess": "Acceso anticipado" + }, + "actions": { + "reset": "Restablecer cambios", + "downloadJson": "Descargar JSON", + "generatePdf": "Generar PDF" + }, + "options": { + "autoScaleText": { + "title": "Escalar texto automáticamente para ajustar a las cajas", + "description": "Escala automáticamente el texto horizontalmente para ajustarlo a su caja delimitadora original cuando el renderizado de la fuente difiere del PDF." + }, + "groupingMode": { + "title": "Modo de agrupación de texto", + "autoDescription": "Detecta automáticamente el tipo de página y agrupa el texto adecuadamente.", + "paragraphDescription": "Agrupa líneas alineadas en cuadros de texto de varias líneas.", + "singleLineDescription": "Mantiene cada línea de texto del PDF como un cuadro de texto independiente." + }, + "manualGrouping": { + "descriptionInline": "Consejo: mantenga pulsado Ctrl (Cmd) o Shift para seleccionar varios cuadros de texto. Aparecerá una barra de herramientas flotante sobre la selección para que pueda unir, desagrupar o ajustar anchos." + }, + "forceSingleElement": { + "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." + } + }, + "manual": { + "mergeTooltip": "Combinar cuadros seleccionados", + "merge": "Combinar selección", + "ungroupTooltip": "Volver a dividir el párrafo en líneas", + "ungroup": "Desagrupar selección", + "widthMenu": "Opciones de ancho", + "expandWidth": "Expandir hasta el borde de la página", + "resetWidth": "Restablecer ancho", + "resizeHandle": "Ajustar ancho del texto" + }, + "disclaimer": { + "heading": "Limitaciones de la vista previa", + "textFocus": "Este espacio de trabajo se centra en editar texto y recolocar imágenes incrustadas. Las ilustraciones complejas de la página, los widgets de formulario y los gráficos con capas se conservan para la exportación, pero no son totalmente editables aquí.", + "previewVariance": "Algunos elementos visuales (como bordes de tablas, formas o apariencias de anotaciones) pueden no mostrarse exactamente en la vista previa. El PDF exportado mantiene los comandos de dibujo originales siempre que sea posible.", + "alpha": "Este visor alfa sigue evolucionando: ciertas fuentes, colores, efectos de transparencia y detalles de diseño pueden variar ligeramente. Por favor, comprueba el PDF generado antes de compartirlo." + }, + "empty": { + "title": "Ningún documento cargado", + "subtitle": "Carga un archivo PDF o JSON para empezar a editar el contenido de texto." + }, + "welcomeBanner": { + "title": "Bienvenido a PDF Text Editor (Acceso anticipado)", + "experimental": "Esta es una función experimental en desarrollo activo. Espera cierta inestabilidad y problemas durante el uso.", + "howItWorks": "Esta herramienta convierte tu PDF en un formato editable donde puedes modificar el contenido de texto y recolocar imágenes. Los cambios se guardan como un nuevo PDF.", + "bestFor": "Funciona mejor con:", + "bestFor1": "PDF sencillos que contienen principalmente texto e imágenes", + "bestFor2": "Documentos con formato de párrafo estándar", + "bestFor3": "Cartas, ensayos, informes y documentos básicos", + "notIdealFor": "No es ideal para:", + "notIdealFor1": "PDF con formatos especiales como viñetas, tablas o diseños multicolumna", + "notIdealFor2": "Revistas, folletos o documentos con diseño muy elaborado", + "notIdealFor3": "Manuales de instrucciones con diseños complejos", + "limitations": "Limitaciones actuales:", + "limitation1": "El renderizado de fuentes puede diferir ligeramente del PDF original", + "limitation2": "Los gráficos complejos, campos de formulario y anotaciones se conservan pero no son editables", + "limitation3": "Los archivos grandes pueden tardar en convertirse y procesarse", + "knownIssues": "Problemas conocidos (en corrección):", + "issue1": "Actualmente no se conserva el color del texto (se añadirá pronto)", + "issue2": "El modo Párrafo tiene más problemas de alineación y espaciado: se recomienda el modo Línea única", + "issue3": "La vista previa difiere del PDF exportado: los PDF exportados se acercan más al original", + "issue4": "La alineación del texto rotado puede requerir ajuste manual", + "issue5": "Los efectos de transparencia y capas pueden variar respecto al original", + "feedback": "Es una función de acceso anticipado. Por favor, informa de cualquier problema que encuentres para ayudarnos a mejorar.", + "gotIt": "Entendido", + "dontShowAgain": "No mostrar de nuevo" + }, + "modeChange": { + "title": "Confirmar cambio de modo", + "warning": "Cambiar el modo de agrupación de texto restablecerá todos los cambios no guardados. ¿Seguro que quieres continuar?", + "cancel": "Cancelar", + "confirm": "Restablecer y cambiar de modo" + }, + "fontAnalysis": { + "details": "Detalles de la fuente", + "embedded": "Incrustada", + "type": "Tipo", + "webFormat": "Formato web", + "warnings": "Advertencias", + "suggestions": "Notas", + "currentPageFonts": "Fuentes en esta página", + "allFonts": "Todas las fuentes", + "fallback": "reserva", + "missing": "ausente", + "perfectMessage": "Todas las fuentes se pueden reproducir perfectamente.", + "warningMessage": "Algunas fuentes pueden no renderizarse correctamente.", + "infoMessage": "Información sobre la reproducción de fuentes disponible.", + "perfect": "perfecto", + "subset": "subconjunto" + }, + "errors": { + "invalidJson": "No se puede leer el archivo JSON. Asegúrate de que fue generado por la herramienta PDF a JSON.", + "pdfConversion": "No se puede convertir el JSON editado de vuelta a PDF." + } + }, + "auth": { + "sessionExpired": "Sesión caducada", + "pleaseLoginAgain": "Inicia sesión de nuevo.", + "accessDenied": "Acceso denegado", + "insufficientPermissions": "No tienes permiso para realizar esta acción." + }, + "addText": { + "title": "Añadir texto", + "header": "Añadir texto a PDF", + "text": { + "name": "Contenido de texto", + "placeholder": "Introduce el texto que quieres añadir", + "fontLabel": "Fuente", + "fontSizeLabel": "Tamaño de fuente", + "fontSizePlaceholder": "Escribe o selecciona el tamaño de fuente (8-200)", + "colorLabel": "Color del texto" + }, + "steps": { + "configure": "Configurar texto" + }, + "step": { + "createDesc": "Introduce el texto que quieres añadir", + "place": "Colocar texto", + "placeDesc": "Haz clic en el PDF para añadir tu texto" + }, + "instructions": { + "title": "Cómo añadir texto", + "text": "Después de introducir tu texto arriba, haz clic en cualquier parte del PDF para colocarlo.", + "paused": "Colocación en pausa", + "resumeHint": "Reanuda la colocación para hacer clic y añadir tu texto.", + "noSignature": "Introduce texto arriba para habilitar la colocación." + }, + "mode": { + "move": "Mover texto", + "place": "Colocar texto", + "pause": "Pausar colocación", + "resume": "Reanudar colocación" + }, + "results": { + "title": "Resultados de añadir texto" + }, + "error": { + "failed": "Se produjo un error al añadir texto al PDF." + }, + "tags": "texto,anotación,etiqueta", + "applySignatures": "Aplicar texto" } } \ No newline at end of file diff --git a/frontend/public/locales/eu-ES/translation.json b/frontend/public/locales/eu-ES/translation.json index 4a170ec76..12d455a08 100644 --- a/frontend/public/locales/eu-ES/translation.json +++ b/frontend/public/locales/eu-ES/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Laster:", "favorite": "Gehitu gogokoetan", "favorites": "Gogokoak", + "unavailable": "Zerbitzariaren administratzaileak desgaituta:", + "unavailableDependency": "Ez dago eskuragarri - beharrezko tresna falta da zerbitzarian:", "heading": "Tresna guztiak (pantaila osoko ikuspegia)", "noResults": "Saiatu bilaketa moldatzen edo deskribapenak txandakatzen behar duzuna aurkitzeko.", "recommended": "Gomendatua", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Aldatu pantaila osoko modura", "sidebar": "Aldatu alboko barra modura" - } + }, + "alpha": "Alpha", + "premiumFeature": "Premium ezaugarria:", + "comingSoon": "Laster eskuragarri:" }, "unsavedChanges": "Gorde gabeko aldaketak dituzu zure PDFan.", "areYouSure": "Ziur zaude irten nahi duzula?", @@ -41,6 +46,30 @@ "cancel": "Utzi", "confirm": "Erauzi" }, + "defaultApp": { + "title": "Ezarri PDF aplikazio lehenetsi gisa", + "message": "Nahi duzu Stirling PDF zure PDF editore lehenetsi gisa ezartzea?", + "description": "Geroago alda dezakezu sistemaren ezarpenetan.", + "notNow": "Orain ez", + "setDefault": "Ezarri lehenetsia", + "dismiss": "Baztertu", + "prompt": { + "title": "Ezarri PDF editore lehenetsi gisa", + "message": "Egin Stirling PDF PDF fitxategiak irekitzeko zure aplikazio lehenetsia." + }, + "success": { + "title": "Aplikazio lehenetsia ezarrita", + "message": "Stirling PDF orain zure PDF editore lehenetsia da" + }, + "settingsOpened": { + "title": "Ezarpenak ireki dira", + "message": "Hautatu Stirling PDF sistemaren ezarpenetan, mesedez" + }, + "error": { + "title": "Errorea", + "message": "Ezin izan da PDF kudeatzaile lehenetsia ezarri" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Gorde", "saveToBrowser": "Gorde nabigatzailean", "download": "Distira", + "downloadUnavailable": "Ezin da deskargatu elementu honetarako", + "saveUnavailable": "Ezin da gorde elementu honetarako", "pin": "Ainguratu fitxategia (aktibo mantendu tresna exekutatu ondoren)", "unpin": "Kendu aingura fitxategiari (ordeztu tresna exekutatu ondoren)", "undoOperationTooltip": "Egin klik azken eragiketa desegiteko eta jatorrizko fitxategiak leheneratzeko", @@ -168,6 +199,7 @@ }, "edit": "Editatu", "delete": "ezabatu", + "never": "Inoiz ez", "username": "Erabiltzaile izena", "password": "Pasahitza", "welcome": "Ongi etorria", @@ -262,7 +294,8 @@ "learnMore": "Argibide gehiago", "enable": "Gaitu analitika", "disable": "Desgaitu analitika", - "settings": "Analitikaren ezarpenak alda ditzakezu config/settings.yml fitxategian" + "settings": "Analitikaren ezarpenak alda ditzakezu config/settings.yml fitxategian", + "privacyAssurance": "Ez dugu jarraitzen datu pertsonalik ezta zure fitxategien edukirik ere." }, "navbar": { "favorite": "Gogokoak", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Ezarpenak", - "update": "Eguneratze eskuragarria", - "updateAvailable": "{0} da unean instalatutako bertsioa. Bertsio berria ({1}) erabilgarri dago.", - "appVersion": "Aplikazioaren bertsioa:", - "downloadOption": { - "title": "Hautatu deskargatzeko aukera (fitxategi bakarra deskargatzeko ZIP gabe):", - "1": "Ireki leiho berean", - "2": "Ireki leiho berrian", - "3": "Deskargatu fitxategia" - }, - "zipThreshold": "ZIP fitxategiak deskargatutako fitxategi kopurua gainditzen denean", - "signOut": "Saioa itxi", - "accountSettings": "Kontuaren ezarpenak", - "bored": { - "help": "Ezkutuko joko bat gaitzen du" - }, - "cacheInputs": { - "name": "Gorde inprimaki-sarrerak", - "help": "Gaitu aurrez erabilitako sarrerak gordetzeko etorkizuneko exekuzioetarako" + "connection": { + "title": "Konexio modua", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Auto-ostatua" + }, + "server": "Zerbitzaria", + "user": "Saioa hasita:", + "logout": "Saioa amaitu" }, "general": { "title": "Orokorra", "description": "Konfiguratu aplikazioaren hobespen orokorrak.", - "account": "Kontua", - "accountDescription": "Kudeatu zure kontuaren ezarpenak", "user": "Erabiltzailea", - "signedInAs": "Saioa hasita honela", "logout": "Amaitu saioa", "enableFeatures": { + "dismiss": "Itxi", "title": "Sistemako administratzaileentzat", "intro": "Gaitu erabiltzaileen autentifikazioa, talde-kudeaketa eta lan-eremuaren ezaugarriak zure erakundearentzat.", "action": "Konfiguratu", "and": "eta", "benefit": "Erabiltzaile-rolak, talde-lana, administrazio-kontrolak eta enpresa-ezaugarriak gaitzen ditu.", - "learnMore": "Ikasi gehiago dokumentazioan", - "dismiss": "Itxi" + "learnMore": "Ikasi gehiago dokumentazioan" }, - "autoUnzip": "Automatikoki deskonprimitu API erantzunak", - "autoUnzipDescription": "Automatikoki atera fitxategiak ZIP erantzunetatik", - "autoUnzipTooltip": "Automatikoki deskonprimitu API eragiketek itzultzen dituzten ZIP fitxategiak. Desgaitu ZIP fitxategiak bere horretan mantentzeko. Honek ez du eraginik automatizazio-fluxuetan.", - "autoUnzipFileLimit": "Auto-deskonprimitze fitxategi-muga", - "autoUnzipFileLimitDescription": "Gehienez zenbat fitxategi atera ZIPetik", - "autoUnzipFileLimitTooltip": "Deskonprimitu soilik ZIPak hainbeste fitxategi edo gutxiago baditu. Ezarri handiagoa ZIP handiagoak erauzteko.", "defaultToolPickerMode": "Lehenetsitako tresna-hautatzailearen modua", "defaultToolPickerModeDescription": "Aukeratu tresna-hautatzailea lehenespenez pantaila osoan edo alboko barran irekitzen den", "mode": { - "fullscreen": "Pantaila osoa", - "sidebar": "Alboko barra" - } + "sidebar": "Alboko barra", + "fullscreen": "Pantaila osoa" + }, + "autoUnzipTooltip": "Automatikoki deskonprimitu API eragiketek itzultzen dituzten ZIP fitxategiak. Desgaitu ZIP fitxategiak bere horretan mantentzeko. Honek ez du eraginik automatizazio-fluxuetan.", + "autoUnzip": "Automatikoki deskonprimitu API erantzunak", + "autoUnzipDescription": "Automatikoki atera fitxategiak ZIP erantzunetatik", + "autoUnzipFileLimitTooltip": "Deskonprimitu soilik ZIPak hainbeste fitxategi edo gutxiago baditu. Ezarri handiagoa ZIP handiagoak erauzteko.", + "autoUnzipFileLimit": "Auto-deskonprimitze fitxategi-muga", + "autoUnzipFileLimitDescription": "Gehienez zenbat fitxategi atera ZIPetik", + "defaultPdfEditor": "PDF editore lehenetsia", + "defaultPdfEditorActive": "Stirling PDF zure PDF editore lehenetsia da", + "defaultPdfEditorInactive": "Beste aplikazio bat dago lehenetsi gisa", + "defaultPdfEditorChecking": "Egiaztatzen...", + "defaultPdfEditorSet": "Dagoeneko lehenetsia", + "setAsDefault": "Ezarri lehenetsia", + "updates": { + "title": "Software eguneratzeak", + "description": "Egiaztatu eguneratzeak eta ikusi bertsio-informazioa", + "currentVersion": "Uneko bertsioa", + "latestVersion": "Azken bertsioa", + "checkForUpdates": "Egiaztatu eguneratzeak", + "viewDetails": "Xehetasunak ikusi" + }, + "hideUnavailableTools": "Eskura ez dauden tresnak ezkutatu", + "hideUnavailableToolsDescription": "Kendu zure zerbitzariak desgaitu dituen tresnak gris gisa erakutsi ordez.", + "hideUnavailableConversions": "Eskura ez dauden bihurketak ezkutatu", + "hideUnavailableConversionsDescription": "Kendu desgaitutako bihurketa aukerak Convert tresnan gris gisa erakutsi ordez." }, "hotkeys": { - "title": "Laster-teklak", - "description": "Eraman kurtsorea tresna baten gainera bere laster-tekla ikusteko edo pertsonalizatu behean. Egin klik \"Aldatu laster-tekla\" eta sakatu konbinazio berria. Sakatu Esc bertan behera uzteko.", - "errorModifier": { - "mac": "Sartu ⌘ (Command), ⌥ (Option) edo beste aldatzaile bat zure laster-teklan.", - "windows": "Sartu Ctrl, Alt edo beste aldatzaile bat zure laster-teklan." - }, "errorConflict": "Laster-tekla dagoeneko {{tool}} tresnak erabiltzen du.", + "searchPlaceholder": "Bilatu tresnak...", "none": "Esleitu gabe", "customBadge": "Pertsonalizatua", "defaultLabel": "Lehenetsia: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Aldatu laster-tekla", "reset": "Berrezarri", "shortcut": "Laster-tekla", - "noShortcut": "Ez da laster-teklarik ezarri", - "searchPlaceholder": "Bilatu tresnak..." + "noShortcut": "Ez da laster-teklarik ezarri" } }, + "update": { + "modalTitle": "Eguneratzea eskuragarri", + "current": "Uneko bertsioa", + "latest": "Azken bertsioa", + "latestStable": "Azken egonkorra", + "priorityLabel": "Lehentasuna", + "recommendedAction": "Gomendatutako ekintza", + "breakingChangesDetected": "Bateragarritasuna hausten duten aldaketak atzeman dira", + "breakingChangesMessage": "Bertsio batzuek bateragarritasuna hausten duten aldaketak dituzte. Irakurri beheko migrazio-gidak eguneratu aurretik.", + "migrationGuides": "Migrazio-gidak", + "viewGuide": "Gida ikusi", + "loadingDetailedInfo": "Informazio zehatza kargatzen...", + "close": "Itxi", + "viewAllReleases": "Argitalpen guztiak ikusi", + "downloadLatest": "Azkena deskargatu", + "availableUpdates": "Eskuragarri dauden eguneratzeak", + "unableToLoadDetails": "Ezin izan da informazio zehatza kargatu.", + "version": "Bertsioa", + "urgentUpdateAvailable": "Eguneratze premiazkoa", + "updateAvailable": "Eguneratzea eskuragarri", + "releaseNotes": "Argitalpen-oharrak", + "priority": { + "urgent": "Premiazko", + "normal": "Arrunta", + "minor": "Txikia", + "low": "Baxua" + }, + "breakingChanges": "Aldaketa haustzaileak", + "breakingChangesDefault": "Bertsio honek aldaketa haustzaileak ditu.", + "migrationGuide": "Migrazio-gida" + }, "changeCreds": { "title": "Aldatu kredentzialak", "header": "Eguneratu zure kontuaren xehetasunak", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Overlays PDFs on-top of another PDF", "title": "Gainjarri PDFak" + }, + "pdfTextEditor": { + "title": "PDF testu-editorea", + "desc": "Berrikusi eta editatu Stirling PDF JSON esportazioak taldekatutako testu-edizioarekin eta PDF birsorkuntzarekin" + }, + "addText": { + "tags": "testua,anotazioa,etiketa", + "title": "Testua gehitu", + "desc": "Gehitu testu pertsonalizatua zure PDFan edonon" } }, "landing": { "addFiles": "Gehitu fitxategiak", - "uploadFromComputer": "Igo ordenagailutik" + "uploadFromComputer": "Igo ordenagailutik", + "openFromComputer": "Ireki ordenagailutik" }, "viewPdf": { "tags": "view,read,annotate,text,image", @@ -849,6 +922,11 @@ }, "error": { "failed": "Errore bat gertatu da PDFak batzean." + }, + "tooltip": { + "header": { + "title": "Bateratze ezarpenen ikuspegi orokorra" + } } }, "split": { @@ -1132,7 +1210,7 @@ "placeholder": "(adib. 1,2,8 edo 4,7,12-16 edo 2n-1)" }, "pdfOrganiser": { - "tags": "duplex,even,odd,sort,move", + "tags": "duplex,even,odd,ordenatu,mugitu", "title": "Orrialdeen antolatzailea", "header": "PDF orrialdeen antolatzailea", "submit": "Antolatu orrialdeak", @@ -1179,12 +1257,46 @@ "placeholder": "(adib. 1,3,2 edo 4-8,2,10-12 edo 2n-1)" }, "addImage": { - "tags": "img,jpg,picture,photo", + "tags": "img,jpg,irudi,argazki", "title": "Gehitu irudia", "header": "Gehitu PDF-irudia", - "everyPage": "Orrialde guztiak?", - "upload": "Gehitu irudia", - "submit": "Gehitu irudia" + "image": { + "name": "Irudia", + "placeholder": "Igo irudi bat", + "label": "Irudi fitxategia" + }, + "steps": { + "configure": "Irudia konfiguratu" + }, + "step": { + "createDesc": "Gehitu nahi duzun irudia igo", + "place": "Irudia kokatu", + "placeDesc": "Egin klik PDFan zure irudia gehitzeko" + }, + "instructions": { + "title": "Nola gehitu irudiak", + "text": "Goian zure irudia igo ondoren, egin klik PDFan edozein lekutan kokatzeko.", + "paused": "Kokatzea pausatuta", + "resumeHint": "Berrekin kokatzeari klik egin eta zure irudia gehitzeko.", + "noSignature": "Igo goian irudi bat kokapena gaitzeko." + }, + "mode": { + "move": "Irudia mugitu", + "place": "Irudia kokatu", + "pause": "Kokatzea pausatu", + "resume": "Berrekin kokatzeari" + }, + "results": { + "title": "Irudia gehitzearen emaitzak" + }, + "error": { + "failed": "Errore bat gertatu da irudia PDFari gehitzean." + }, + "saved": { + "defaultLabel": "Irudia", + "defaultImageLabel": "Igotako irudia" + }, + "applySignatures": "Aplikatu irudiak" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1379,7 +1491,7 @@ } }, "permissions": { - "tags": "read,write,edit,print", + "tags": "irakurri,idatzi,editatu,inprimatu", "title": "Aldatu baimenak", "header": "Aldatu baimenak", "warning": "Oharra: baimen hauek aldatzea ezinezkoa izan dadin, gomendatzen da pasahitz batekin konfiguratzea pasahitza aldatzeko orriaren bitartez", @@ -1397,8 +1509,95 @@ }, "submit": "Aldatu" }, + "editTableOfContents": { + "settings": { + "title": "Laster-markak eta eskema", + "replaceExisting": "Dauden laster-markak ordeztu (kenduta gehitzeko)", + "replaceExistingHint": "Desgaituta dagoenean, eskema berria uneko laster-marken ondoren gehituko da." + }, + "actions": { + "source": "Kargatu laster-markak", + "selectedFile": "Hemendik kargatuta: {{file}}", + "noFile": "Aukeratu PDF bat dauden laster-markak erauzteko.", + "loadFromPdf": "Kargatu hautatutako PDFtik", + "importJson": "JSON inportatu", + "importClipboard": "Itsatsi JSONa arbeletik", + "export": "Esportatu laster-markak", + "exportJson": "JSON deskargatu", + "exportClipboard": "Kopiatu JSONa arbelean", + "clipboardUnavailable": "Arbelerako sarbidea ez dago eskuragarri nabigatzaile honetan." + }, + "info": { + "line1": "Laster-marka bakoitzak deskribapen-izenburu bat eta irekiko duen orria behar ditu.", + "line2": "Erabili haur laster-markak kapitulu, atalak edo azpiatalak hierarkikoki antolatzeko.", + "line3": "Inportatu laster-markak hautatutako PDFtik edo JSON fitxategi batetik denbora aurrezteko." + }, + "workbench": { + "empty": { + "title": "Ireki tresna editatzen hasteko", + "description": "Hautatu Aurkibidea editatu tresna lan-espazioa kargatzeko." + }, + "tabTitle": "Eskema lan-espazioa", + "subtitle": "Inportatu laster-markak, eraiki hierarkiak, eta aplikatu eskema alboko panel esturik gabe.", + "noFile": "Ez da PDFrik hautatu", + "fileLabel": "Aldaketak unean hautatutako PDFari aplikatuko zaizkio.", + "filePrompt": "Hautatu zure liburutegiko PDF bat edo igo berri bat hasteko.", + "changeFile": "Aldatu PDFa", + "selectFile": "Hautatu PDFa" + }, + "editor": { + "heading": "Laster-marken editorea", + "description": "Gehitu, habiaratu eta berrantolatu laster-markak zure PDFaren eskema sortzeko.", + "addTopLevel": "Gehitu goi-mailako laster-marka", + "empty": { + "title": "Oraindik ez dago laster-markarik", + "description": "Inportatu dauden laster-markak edo hasi lehen sarrera gehituz.", + "action": "Gehitu lehen laster-marka" + }, + "defaultTitle": "Laster-marka berria", + "defaultChildTitle": "Haur laster-marka", + "defaultSiblingTitle": "Laster-marka berria", + "untitled": "Izenik gabeko laster-marka", + "childBadge": "Haurra", + "pagePreview": "Orri {{page}}", + "field": { + "title": "Laster-markaren izenburua", + "page": "Helburuko orri-zenbakia" + }, + "actions": { + "toggle": "Haurrak txandakatu", + "addChild": "Gehitu haur laster-marka", + "addSibling": "Gehitu senide laster-marka", + "remove": "Kendu laster-marka" + }, + "confirmRemove": "Kendu laster-marka hau eta bere haur guztiak?" + }, + "messages": { + "loadedTitle": "Laster-markak erauzi dira", + "loadedBody": "PDFko dauden laster-markak editorean kargatu dira.", + "noBookmarks": "Ez da laster-markarik aurkitu hautatutako PDFan.", + "loadFailed": "Ezin izan dira laster-markak erauzi hautatutako PDFtik.", + "imported": "Laster-markak inportatu dira", + "importedBody": "Zure JSON eskemak uneko editorearen edukia ordezkatu du.", + "importedClipboard": "Arbeleko datuek uneko laster-marka zerrenda ordezkatu dute.", + "invalidJson": "JSON egitura baliogabea", + "invalidJsonBody": "Eman baliozko laster-marka JSON fitxategi bat eta saiatu berriro.", + "exported": "JSON deskarga prest", + "copied": "Arbelera kopiatuta", + "copiedBody": "Laster-marken JSONa ondo kopiatu da.", + "copyFailed": "Kopiak huts egin du" + }, + "error": { + "failed": "Ezin izan da edukien taula eguneratu" + }, + "submit": "Aplikatu edukien taula", + "results": { + "title": "Laster-markadun PDF eguneratua", + "subtitle": "Deskargatu prozesatutako fitxategia edo desegin eragiketa behean." + } + }, "removePages": { - "tags": "Remove pages,delete pages", + "tags": "orrialdeak kendu,orrialdeak ezabatu", "title": "Ezabatu", "pageNumbers": { "label": "Kendu beharreko orrialdeak", @@ -1598,10 +1797,10 @@ } }, "compressPdfs": { - "tags": "squish,small,tiny" + "tags": "estutu,txiki,oso-txiki" }, "unlockPDFForms": { - "tags": "remove,delete,form,field,readonly", + "tags": "kendu,ezabatu,formulario,eremu,irakurtzeko-bakarrik", "title": "Kendu irakurtzeko‑soilik inprimaki‑eremuetatik", "header": "Desblokeatu PDF inprimakiak", "submit": "Remove", @@ -1741,7 +1940,7 @@ } }, "fileToPDF": { - "tags": "transformation,format,document,picture,slide,text,conversion,office,docs,word,excel,powerpoint", + "tags": "eraldaketa,formatua,dokumentua,irudia,diapositiba,testua,bihurketa,office,docs,word,excel,powerpoint", "title": "Fitxategia PDF bihurtu", "header": "Edozein fitxategi PDF bihurtu", "credit": "Zerbitzu honek LibreOffice eta Unoconv erabiltzen ditu fitxategiak bihurtzeko", @@ -1750,7 +1949,7 @@ "submit": "PDF bihurtu" }, "ocr": { - "tags": "recognition,text,image,scan,read,identify,detection,editable", + "tags": "ezagutzea,testua,irudia,eskaneatu,irakurri,identifikatu,detekzioa,editagarria", "title": "OCR / Garbiketa-eskaneatzea", "desc": "Garbiketa-eskaneatzeak eta irudi-testuak detektatu PDF baten barruan eta berriz ere gehitu testu gisa", "header": "Garbiketa-eskaneatzea / OCR (Karaktere-ezagutze optikoa)", @@ -1857,7 +2056,7 @@ } }, "extractImages": { - "tags": "picture,photo,save,archive,zip,capture,grab", + "tags": "irudi,argazki,gorde,artxibatu,zip,harrapatu,eskuratu", "title": "Atera irudiak", "header": "Atera irudiak", "selectText": "Hautatu irudi-formatua ateratako irudiak bihurtzeko", @@ -1871,7 +2070,7 @@ } }, "pdfToPDFA": { - "tags": "archive,long-term,standard,conversion,storage,preservation", + "tags": "artxibo,epe-luze,estandar,bihurketa,biltegiratzea,kontserbazioa", "title": "PDFa PDF/A bihurtu", "header": "PDFa PDF/A bihurtu", "credit": "Zerbitzu honek libreoffice erabiltzen du PDFak PDF/A bihurtzeko", @@ -1881,7 +2080,7 @@ "pdfWithDigitalSignature": "PDFak sinadura digitala dauka. Hurrengo urratsean kenduko da." }, "PDFToWord": { - "tags": "doc,docx,odt,word,transformation,format,conversion,office,microsoft,docfile", + "tags": "doc,docx,odt,word,eraldaketa,formatua,bihurketa,office,microsoft,doc-fitxategia", "title": "PDFa Word bihurtu", "header": "PDFa Word bihurtu", "selectText": { @@ -1891,7 +2090,7 @@ "submit": "Bihurtu" }, "PDFToPresentation": { - "tags": "slides,show,office,microsoft", + "tags": "diapositibak,aurkezpena,office,microsoft", "title": "PDFa aurkezpen bihurtu", "header": "PDFa aurkezpen bihurtu", "selectText": { @@ -1901,7 +2100,7 @@ "submit": "Bihurtu" }, "PDFToText": { - "tags": "richformat,richtextformat,rich text format", + "tags": "formatuaberatsa,testuformatuaberatsa,testu formatu aberatsa", "title": "PDFa TXT/RTF bihurtu", "header": "PDFa TXT/RTF bihurtu", "selectText": { @@ -1911,21 +2110,21 @@ "submit": "Bihurtu" }, "PDFToHTML": { - "tags": "web content,browser friendly", + "tags": "web edukia,nabigatzaile-egokia", "title": "PDFa HTML bihurtu", "header": "PDFa HTML bihurtu", "credit": "Zerbitzu honek pdftohtml erabiltzen du fitxategiak bihurtzeko", "submit": "Bihurtu" }, "PDFToXML": { - "tags": "data-extraction,structured-content,interop,transformation,convert", + "tags": "datu-erauzketa,eduki-egituratua,interop,eraldaketa,bihurtu", "title": "PDFa XML bihurtu", "header": "PDFa XML bihurtu", "credit": "Zerbitzu honek LibreOffice erabiltzen du fitxategiak bihurtzeko", "submit": "Bihurtu" }, "ScannerImageSplit": { - "tags": "separate,auto-detect,scans,multi-photo,organize", + "tags": "banatu,auto-atzeman,eskaneoak,multi-argazki,antolatu", "selectText": { "1": "Angeluaren gutxieneko balioa:", "2": "Ezarri eskatutako gutxieneko angelu absolutua irudia biratzeko (lehenetsia: 10).", @@ -1978,13 +2177,54 @@ "title": "Marraztu zure sinadura", "clear": "Garbitu" }, + "canvas": { + "heading": "Zure sinadura marraztu", + "clickToOpen": "Egin klik marrazketa-oihala irekitzeko", + "modalTitle": "Zure sinadura marraztu", + "colorLabel": "Kolorea", + "penSizeLabel": "Lumaren tamaina", + "penSizePlaceholder": "Tamaina", + "clear": "Oihala garbitu", + "colorPickerTitle": "Aukeratu trazatuaren kolorea" + }, "text": { "name": "Sinatzailearen izena", - "placeholder": "Sartu zure izen-abizenak" + "placeholder": "Sartu zure izen-abizenak", + "fontLabel": "Letra-tipoa", + "fontSizeLabel": "Letra-tamainua", + "fontSizePlaceholder": "Idatzi edo aukeratu letra-tamaina (8-200)", + "colorLabel": "Testu kolorea" }, "clear": "Garbitu", "add": "Gehitu", - "saved": "Gordetako sinadurak", + "saved": { + "heading": "Gordetako sinadurak", + "description": "Erabili gordetako sinadurak edozein unetan.", + "emptyTitle": "Ez dago oraindik gordetako sinadurarik", + "emptyDescription": "Marraztu, igo edo idatzi sinadura bat goian, ondoren erabili \"Gorde liburutegian\" gehienez {{max}} gogoko prest edukitzeko.", + "type": { + "canvas": "Marrazkia", + "image": "Igo", + "text": "Testua" + }, + "limitTitle": "Muga gaindituta", + "limitDescription": "Kendu gordetako sinadura bat berriak gehitu aurretik (gehienez {{max}}).", + "carouselPosition": "{{current}} / {{total}}", + "prev": "Aurrekoa", + "next": "Hurrengoa", + "delete": "Kendu", + "label": "Etiketa", + "defaultLabel": "Sinadura", + "defaultCanvasLabel": "Marrazketa sinadura", + "defaultImageLabel": "Igotako sinadura", + "defaultTextLabel": "Idatzitako sinadura", + "saveButton": "Gorde sinadura", + "saveUnavailable": "Lehenik sortu sinadura bat gordetzeko.", + "noChanges": "Uneko sinadura dagoeneko gorde da.", + "status": { + "saved": "Gordeta" + } + }, "save": "Gorde sinadura", "applySignatures": "Aplikatu sinadurak", "personalSigs": "Sinadura pertsonalak", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Konfiguratu sinadura" }, + "step": { + "createDesc": "Aukeratu nola sortu nahi duzun sinadura", + "place": "Kokatu eta gorde", + "placeDesc": "Kokatu sinadura zure PDFan" + }, "type": { "title": "Sinadura mota", "draw": "Marraztu", - "canvas": "Canvas", + "canvas": "Marrazkia", "image": "Irudia", - "text": "Testua" + "text": "Testua", + "saved": "Gordeta" }, "image": { "label": "Igo sinaduraren irudia", @@ -2019,11 +2265,17 @@ "title": "Nola gehitu sinadura", "canvas": "Kanvas-ean sinadura marraztu ondoren, itxi modala eta egin klik PDFn edonon kokatzeko.", "image": "Goian zure sinaduraren irudia igo ondoren, egin klik PDFn edonon kokatzeko.", - "text": "Goian zure izena sartu ondoren, egin klik PDFn edonon zure sinadura kokatzeko." + "saved": "Hautatu goiko gordetako sinadura, ondoren egin klik PDFan edozein lekutan kokatzeko.", + "text": "Goian zure izena sartu ondoren, egin klik PDFn edonon zure sinadura kokatzeko.", + "paused": "Kokatzea pausatuta", + "resumeHint": "Berrekin kokatzeari klik egin eta zure sinadura gehitzeko.", + "noSignature": "Sortu sinadura bat goian kokapen-tresnak gaitzeko." }, "mode": { "move": "Mugitu sinadura", - "place": "Kokatu sinadura" + "place": "Kokatu sinadura", + "pause": "Kokatzea pausatu", + "resume": "Berrekin kokatzeari" }, "updateAndPlace": "Eguneratu eta kokatu", "activate": "Aktibatu sinadura kokatzea", @@ -2163,6 +2415,14 @@ "title": "Anotazioak kentzeari buruz", "description": "Tresna honek anotazio guztiak (iruzkinak, nabarmentzeak, oharrak, etab.) kenduko ditu zure PDF dokumentuetatik." }, + "tooltip": { + "header": { + "title": "Oharpenak kentzeari buruz" + }, + "description": { + "title": "Zer egiten duen" + } + }, "error": { "failed": "Errore bat gertatu da anotazioak PDFtik kentzean." } @@ -2627,6 +2887,9 @@ "header": { "title": "Nola funtzionatzen duen Berriz-izendatze automatikoak" }, + "description": { + "title": "Zer egiten duen" + }, "howItWorks": { "title": "Berriz-izendatze adimenduna", "text": "Automatikoki aurkitzen du zure PDF edukitik titulua eta fitxategi-izen gisa erabiltzen du.", @@ -2634,6 +2897,9 @@ "bullet2": "Detektatutako tituluarekin fitxategi-izen garbi eta balioduna sortzen du", "bullet3": "Izen egokirik aurkitzen ez bada, jatorrizkoa mantentzen du" } + }, + "settings": { + "title": "Honi buruz" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "Ustekabeko errorea: {{message}}", "accountCreatedSuccess": "Kontua ongi sortu da! Orain saioa hasi dezakezu.", "passwordChangedSuccess": "Pasahitza ongi aldatu da! Hasi saioa pasahitz berriarekin.", - "credentialsUpdated": "Zure kredentzialak eguneratu dira. Hasi saioa berriro." + "credentialsUpdated": "Zure kredentzialak eguneratu dira. Hasi saioa berriro.", + "defaultCredentials": "Saio-hasierako kredentzial lehenetsiak", + "changePasswordWarning": "Mesedez, aldatu pasahitza lehen aldiz saioa hasi ondoren", + "slides": { + "overview": { + "alt": "Stirling PDF ikuspegi orokorra", + "title": "Zure PDF behar guztietarako gune bakarra.", + "subtitle": "Pribatutasuna lehenesten duen hodeiko suitea, PDFak bihurtu, sinatu, zentsuratu eta kudeatzeko, eta 50+ tresna indartsu gehiagorekin." + }, + "edit": { + "alt": "PDFak editatu", + "title": "Editatu PDFak nahi duzun informazioa bistaratu edo babesteko", + "subtitle": "Dozenaka tresnarekin PDFak zentsuratu, sinatu, irakurri eta manipulatzeko, bilatzen ari zarena aurkituko duzu." + }, + "secure": { + "alt": "PDFak segurtatu", + "title": "Babestu informazio sentikorra zure PDFetan", + "subtitle": "Gehitu pasahitzak, zentsuratu edukia eta kudeatu ziurtagiriak erraz." + } + } }, "signup": { "title": "Sortu kontu bat", @@ -3502,7 +3787,7 @@ "title": "API Dokumentazioa", "header": "API Dokumentazioa", "desc": "Ikusi eta probatu Stirling PDF APIko amaiera-puntuak", - "tags": "api,documentation,swagger,endpoints,development" + "tags": "api,dokumentazioa,swagger,endpointak,garapena" }, "cookieBanner": { "popUp": { @@ -3536,7 +3821,7 @@ "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." }, "analytics": { - "title": "Analytics", + "title": "Analitika", "description": "Cookie hauek gure tresnak nola erabiltzen diren ulertzen laguntzen digute, gure komunitateak baloratzen dituen ezaugarriak eraikitzera bideratu ahal izateko. Ziur egon—Stirling PDFk ezin du eta ez du inoiz jarraituko lantzen dituzun dokumentuen edukia." } }, @@ -3598,7 +3883,9 @@ "exportAll": "Esportatu PDFa", "downloadSelected": "Deskargatu hautatutako fitxategiak", "downloadAll": "Deskargatu dena", + "saveAll": "Gorde dena", "toggleTheme": "Gaia txandakatu", + "toggleBookmarks": "Laster-markak txandakatu", "language": "Hizkuntza", "search": "Bilatu PDF", "panMode": "Pan modua", @@ -3685,8 +3972,16 @@ "saved": "Ezarpenak ongi gorde dira", "saveSuccess": "Ezarpenak ongi gorde dira", "save": "Aldaketak gorde", + "discard": "Baztertu", "restartRequired": "Berrabiarazi behar da", "loginRequired": "Saio-hasiera modua gaitu behar da admin ezarpenak aldatzeko", + "unsavedChanges": { + "title": "Gorde gabeko aldaketak", + "message": "Gorde gabeko aldaketak dituzu. Baztertu nahi dituzu?", + "cancel": "Editatzen jarraitu", + "discard": "Aldaketak baztertu", + "hint": "Gorde gabeko aldaketak dituzu" + }, "loginDisabled": { "title": "Saio-hasiera modua beharrezkoa da", "message": "Saio-hasiera modua gaitu behar da admin ezarpenak aldatzeko. Ezarri SECURITY_ENABLELOGIN=true zure ingurunean edo security.enableLogin: true settings.yml, eta berrabiarazi zerbitzaria.", @@ -4212,9 +4507,21 @@ "title": "Premium eta Enterprise", "description": "Konfiguratu zure premium edo enterprise lizentzia-gakoa.", "license": "Lizentziaren konfigurazioa", + "licenseKey": { + "toggle": "Lizentzia-gakoa edo ziurtagiri-fitxategia duzu?", + "info": "Erosketa zuzenetik lizentzia-gakoa edo ziurtagiri-fitxategia baduzu, hemen sartu dezakezu premium edo enterprise eginbideak aktibatzeko." + }, "key": { "label": "Lizentzia-gakoa", - "description": "Sartu zure premium edo enterprise lizentzia-gakoa" + "description": "Sartu zure premium edo enterprise lizentzia-gakoa", + "success": "Lizentzia-gakoa gordeta", + "successMessage": "Zure lizentzia-gakoa behar bezala aktibatu da. Ez da berrabiarazi behar.", + "overwriteWarning": { + "title": "⚠️ Abisua: Aurrezko lizentzia atzemanda", + "line1": "Uneko lizentzia-gakoa gainidaztea ezin da desegin.", + "line2": "Aurreko lizentzia betiko galduko da beste nonbait babestu ezean.", + "line3": "Garrantzitsua: Mantendu lizentzia-gakoak pribatu eta seguru. Ez partekatu publikoki inoiz." + } }, "enabled": { "label": "Premium eginbideak gaitu", @@ -4278,12 +4585,17 @@ "or": "edo", "dropFileHere": "Jaregin fitxategia hemen edo egin klik igotzeko", "dropFilesHere": "Jaregin fitxategiak hemen edo egin klik igo botoian", + "dropFilesHereOpen": "Jaregin fitxategiak hemen edo egin klik irekitze-botoian", "pdfFilesOnly": "PDF fitxategiak soilik", "supportedFileTypes": "Onartutako fitxategi motak", "upload": "Igo", "uploadFile": "Fitxategia igo", "uploadFiles": "Fitxategiak igo", + "open": "Ireki", + "openFile": "Fitxategia ireki", + "openFiles": "Fitxategiak ireki", "noFilesInStorage": "Ez dago fitxategirik biltegian. Igo batzuk lehenik.", + "noFilesInStorageOpen": "Ez dago fitxategirik biltegian. Ireki lehenik fitxategi batzuk.", "selectFromStorage": "Biltegitik hautatu", "backToTools": "Itzuli tresnetara", "addFiles": "Fitxategiak gehitu", @@ -4329,6 +4641,8 @@ "myFiles": "Nire fitxategiak", "noRecentFiles": "Ez da azken fitxategirik aurkitu", "googleDriveNotAvailable": "Google Drive integrazioa ez dago erabilgarri", + "downloadSelected": "Deskargatu hautatutakoak", + "saveSelected": "Hautatutakoa gorde", "openFiles": "Ireki fitxategiak", "openFile": "Ireki fitxategia", "details": "Fitxategiaren xehetasunak", @@ -4341,7 +4655,6 @@ "selectAll": "Hautatu dena", "deselectAll": "Desautatu dena", "deleteSelected": "Ezabatu hautatutakoak", - "downloadSelected": "Deskargatu hautatutakoak", "selectedCount": "{{count}} hautatuta", "download": "Distira", "delete": "ezabatu", @@ -4621,9 +4934,14 @@ "secureWorkflow": "Segurtasun lan-fluxua", "secureWorkflowDesc": "PDF dokumentuak seguru bihurtzen ditu eduki gaizto potentziala kentzen (JavaScript eta txertatutako fitxategiak, adibidez), eta ondoren pasahitz-babesa gehitzen du baimenik gabeko sarbidea saihesteko. Lehenespenez pasahitza 'password' da.", "processImages": "Irudiak prozesatu", - "processImagesDesc": "Hainbat irudi-fitxategi PDF dokumentu bakarrean bihurtzen ditu, eta gero OCR teknologia aplikatzen du irudietatik bilatua daitekeen testua erauzteko." + "processImagesDesc": "Hainbat irudi-fitxategi PDF dokumentu bakarrean bihurtzen ditu, eta gero OCR teknologia aplikatzen du irudietatik bilatua daitekeen testua erauzteko.", + "prePublishSanitization": "Argitaratu aurreko saneamendua", + "prePublishSanitizationDesc": "Saneamendu-fluxua: ezkutuko metadatuak, JavaScript, txertatutako fitxategiak eta oharpenak kentzen ditu, eta inprimakiak lautu egiten ditu PDFak sarean argitaratu aurretik datu-ihesak saihesteko." } }, + "colorPicker": { + "title": "Aukeratu kolorea" + }, "common": { "previous": "Aurrekoa", "next": "Hurrengoa", @@ -4639,7 +4957,13 @@ "used": "erabilita", "available": "eskuragarri", "cancel": "Utzi", - "preview": "Aurrebista" + "preview": "Aurrebista", + "close": "Itxi", + "done": "Eginda", + "loading": "Kargatzen...", + "back": "Atzera", + "continue": "Jarraitu", + "error": "Errorea" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Gehitu fitxategi gehiago...", "selectedFiles": "Hautatutako fitxategiak", "submit": "Gehitu eranskinak", + "tooltip": { + "header": { + "title": "Eranskinak gehitzeari buruz" + }, + "description": { + "title": "Zer egiten duen" + } + }, "results": { "title": "Eranskinen emaitzak" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Posizio pertsonalizatua", "details": "Xehetasunak", - "downloadUnavailable": "Ezin da deskargatu elementu honetarako", "invalidUndoData": "Ezin da desegin: eragiketaren datuak baliogabeak dira", "margin": { "large": "Handia", @@ -4801,6 +5132,10 @@ "maybeLater": "Agian geroago", "dontShowAgain": "Ez berriz erakutsi" }, + "welcomeSlide": { + "title": "Ongi etorri Stirlingera", + "body": "Stirling PDF orain tamaina guztietako taldeentzat prest dago. Eguneratze honek diseinu berria, admin gaitasun indartsu berriak, eta eskatuen izan den eginbidea dakar - Testua editatu." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Hauta dezagun Moztu tresna tresnetako bat nola erabili erakusteko.", "toolInterface": "Hau da Moztu tresnaren interfazea. Ikusten duzunez, ez dago asko oraindik, lantzeko PDF fitxategirik ez dugulako gehitu.", @@ -4823,7 +5158,39 @@ "next": "Hurrengoa", "finish": "Amaitu", "startTour": "Hasi bira", - "startTourDescription": "Stirling PDFren ezaugarri nagusien gida-bira" + "startTourDescription": "Stirling PDFren ezaugarri nagusien gida-bira", + "buttons": { + "next": "Hurrengoa →", + "back": "Atzera", + "skipForNow": "Utzi oraingoz", + "download": "Deskargatu →", + "showMeAround": "Erakutsi ingurunea", + "skipTheTour": "Utzi bisita gidatua" + }, + "serverLicense": { + "skip": "Utzi oraingoz", + "seePlans": "Ikusi planak →", + "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 {{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." + }, + "desktopInstall": { + "title": "Deskargatu", + "titleWithOs": "Deskargatu {{osLabel}}-rako", + "body": "Stirling hobekien funtzionatzen du mahaigaineko aplikazio gisa. Offline erabil dezakezu, dokumentuak azkarrago atzitu, eta editatu tokian bertan zure ordenagailuan." + }, + "planOverview": { + "adminTitle": "Admin ikuspegi orokorra", + "userTitle": "Planaren ikuspegi orokorra", + "adminBodyLoginEnabled": "Admin gisa, erabiltzaileak kudeatu, ezarpenak konfiguratu eta zerbitzariaren osasuna monitorizatu ditzakezu. Zure zerbitzariko lehen {{freeTierLimit}} pertsonak doan erabil dezakete Stirling.", + "adminBodyLoginDisabled": "Saio-hasiera modua gaitzen duzunean, erabiltzaileak kudeatu, ezarpenak konfiguratu eta zerbitzariaren osasuna monitorizatu ahal izango dituzu. Zure zerbitzariko lehen {{freeTierLimit}} pertsonek doan erabil dezakete Stirling.", + "userBody": "Gonbidatu taldekideak, esleitu rolak eta mantendu dokumentuak antolatuta lan-espazio seguruan. Gaitu saio-hasiera modua bakarkako erabileratik harago hazteko prest zaudenean." + }, + "securityCheck": { + "message": "Aplikazioak aldaketa handiak izan ditu azkenaldian. Zure zerbitzariaren administratzailearen arreta behar izan daiteke. Mesedez, berretsi zure rola jarraitzeko." + } }, "adminOnboarding": { "welcome": "Ongi etorri Administrazio-birara! Azter ditzagun sistema-administratzaileentzako ezaugarri eta ezarpen boteretsuak.", @@ -4852,7 +5219,10 @@ "role": "Rola", "team": "Taldea", "status": "Egoera", - "actions": "Ekintzak", + "actions": { + "label": "Ekintzak", + "upgrade": "Eguneratu" + }, "noMembersFound": "Ez da kiderik aurkitu", "active": "Aktibo", "disabled": "Desgaituta", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} erabiltzaile-slot erabilgarri", "noSlotsAvailable": "Ez dago slot erabilgarririk", "currentUsage": "Une honetan {{current}}/{{max}} erabiltzaile-lizentzia erabiltzen" - } + }, + "loginRequired": "Gaitu saio-hasiera modua lehenik" }, "teams": { "title": "Taldeak", @@ -5057,6 +5428,17 @@ "showComparison": "Alderatu ezaugarri guztiak", "hideComparison": "Ezkutatu ezaugarrien konparazioa", "featureComparison": "Ezaugarrien konparazioa", + "from": "Hasita", + "perMonth": "/hilean", + "perSeat": "/eserleku", + "withServer": "+ Zerbitzari-plana", + "licensedSeats": "Lizentziadunak: {{count}} eserleku", + "includedInCurrent": "Zure planean sartuta", + "selectPlan": "Aukeratu plana", + "manage": "Kudeatu", + "manageSubscription": { + "description": "Kudeatu zure harpidetza, fakturazioa eta ordainketa-metodoak" + }, "activePlan": { "title": "Plan aktiboa", "subtitle": "Zure uneko harpidetzaren xehetasunak" @@ -5074,13 +5456,16 @@ "upTo": "Gehienez" }, "period": { - "month": "hilabete" + "month": "hilabete", + "perUserPerMonth": "/erabiltzaile/hilean" }, "free": { "name": "Doakoa", "highlight1": "Astean tresnen erabilera mugatua", "highlight2": "Tresna guztietarako sarbidea", - "highlight3": "Komunitatearen laguntza" + "highlight3": "Komunitatearen laguntza", + "forever": "Betiko doan", + "included": "Sartuta" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Enpresa", "highlight1": "Prezio pertsonalizatua", "highlight2": "Laguntza espezializatua", - "highlight3": "Azken ezaugarriak" + "highlight3": "Azken ezaugarriak", + "requiresServer": "Zerbitzaria behar du", + "requiresServerMessage": "Mesedez, eguneratu lehenik Zerbitzari planera Enpresara eguneratu aurretik." }, "feature": { "title": "Ezaugarria", @@ -5102,6 +5489,12 @@ "api": "API sarbidea", "priority": "Lehentasunezko laguntza", "customPricing": "Prezio pertsonalizatua" + }, + "licenseWarning": { + "title": "Doako auto-ostatu muga gaindituta", + "body": "{{total}} erabiltzaile dituzu baina maila doakoak {{limit}} soilik onartzen ditu zerbitzari bakoitzeko. Eguneratu Stirling PDF ondo ibil dadin.", + "overLimit": "{{limit}} baino gehiago", + "cta": "Ikusi planak" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Kudeatu fakturazioa", "portal": { "error": "Ezin izan da fakturazio ataria ireki" - } + }, + "updateSeats": "Eguneratu eserlekuak", + "updateEnterpriseSeats": "Eguneratu Enterprise eserlekuak", + "currentSeats": "Uneko eserlekuak", + "minimumSeats": "Gutxieneko eserlekuak", + "basedOnUsers": "(uneko erabiltzaileak)", + "newSeatCount": "Eserleku kopuru berria", + "newSeatCountDescription": "Hautatu enpresa-lizentziarako eserleku kopurua", + "whatHappensNext": "Zer dator orain?", + "stripePortalRedirect": "Stripe-ren fakturazio portalera birbideratuko zaituzte eserleku aldaketa berrikusi eta berresteko. Proportzionatutako zenbatekoa automatikoki kalkulatuko da.", + "preparingUpdate": "Eserleku eguneraketa prestatzen...", + "seatCountTooLow": "Eserleku kopuruak gutxienez {{minimum}} izan behar du (uneko erabiltzaile kopurua)", + "seatCountUnchanged": "Aukeratu beste eserleku kopuru bat", + "seatsUpdated": "Eserlekuak eguneratuta", + "seatsUpdatedMessage": "Zure enpresa eserlekuak {{seats}}-ra eguneratu dira", + "updateProcessing": "Eguneratzea prozesatzen", + "updateProcessingMessage": "Zure eserleku eguneraketa prozesatzen ari da. Mesedez, freskatu une batzuen buruan.", + "notEnterprise": "Eserleku kudeaketa enpresa-lizentzietarako soilik dago erabilgarri" + }, + "upgradeBanner": { + "title": "Eguneratu Zerbitzari Planera", + "message": "Atera etekinik handiena Stirling PDF-i erabiltzaile mugagabeekin eta funtzio aurreratuekin", + "upgradeButton": "Eguneratu orain", + "dismiss": "Baztertu bannerra", + "attentionTitle": "Zerbitzari honek admin arreta behar du", + "attentionBody": "Zure administratzaileak saioa hasi behar du informazio gehiago ikusteko. Jarri harekin harremanetan berehala.", + "attentionBodyAdmin": "Berrikusi lizentzia-eskakizunak zerbitzari hau betean mantentzeko.", + "seeInfo": "Ikusi informazioa" }, "payment": { "preparing": "Zure ordainketa prestatzen...", @@ -5128,7 +5548,61 @@ "success": "Ordainketa arrakastatsua!", "successMessage": "Zure harpidetza ongi aktibatu da. Laster jasoko duzu baieztapen-mezu elektronikoa.", "autoClose": "Leiho hau automatikoki itxiko da...", - "error": "Ordainketa-errorea" + "error": "Ordainketa-errorea", + "upgradeSuccess": "Ordainketa arrakastatsua! Zure harpidetza eguneratu da. Lizentzia zure zerbitzarian eguneratu da. Laster jasoko duzu berrespen email bat.", + "paymentSuccess": "Ordainketa arrakastatsua! Zure lizentzia-gakoa eskuratzen...", + "licenseActivated": "Lizentzia aktibatuta! Zure lizentzia-gakoa gorde da. Berrespen email bat bidali da zure erregistratutako helbide elektronikora.", + "licenseDelayed": "Ordainketa arrakastatsua! Zure lizentzia sortzen ari da. Laster jasoko duzu email bat zure lizentzia-gakoarekin. 10 minututan jasotzen ez baduzu, jarri harremanetan laguntzarekin.", + "licensePollingError": "Ordainketa arrakastatsua baina ezin izan dugu zure lizentzia-gakoa automatikoki eskuratu. Egiaztatu zure emaila edo jarri harremanetan laguntzarekin ordainketa berrespenarekin.", + "licenseRetrievalError": "Ordainketa arrakastatsua baina lizentzia eskuratzeak huts egin du. Zure lizentzia-gakoa email bidez jasoko duzu. 10 minututan jasotzen ez baduzu, jarri harremanetan laguntzarekin.", + "syncError": "Ordainketa arrakastatsua baina lizentzia sinkronizazioak huts egin du. Zure lizentzia laster eguneratuko da. Arazoek jarraitzen badute, jarri harremanetan laguntzarekin.", + "licenseSaveError": "Ezin izan da lizentzia-gakoa gorde. Jarri harremanetan laguntzarekin aktibazioa osatzeko zure lizentzia-gakoarekin.", + "paymentCanceled": "Ordainketa bertan behera utzi da. Ez da kobratu.", + "syncingLicense": "Zure lizentzia eguneratua sinkronizatzen...", + "generatingLicense": "Zure lizentzia-gakoa sortzen...", + "upgradeComplete": "Eguneratzea osatuta", + "upgradeCompleteMessage": "Zure harpidetza behar bezala eguneratu da. Zure oraingo lizentzia-gakoa eguneratu da.", + "stripeNotConfigured": "Stripe ez dago konfiguratuta", + "stripeNotConfiguredMessage": "Stripe ordainketa integrazioa ez dago konfiguratuta. Jarri harremanetan zure administratzailearekin.", + "monthly": "Hilero", + "yearly": "Urtero", + "billingPeriod": "Fakturazio epea", + "enterpriseNote": "Eserlekuak checkout-ean doi daitezke (1-1000).", + "installationId": "Instalazioaren IDa", + "licenseKey": "Zure lizentzia-gakoa", + "licenseInstructions": "Hau zure instalazioan gehitu da. Zure emailera ere kopia bat bidaliko da.", + "canCloseWindow": "Orain leiho hau itxi dezakezu.", + "licenseKeyProcessing": "Lizentzia-gakoa prozesatzen", + "licenseDelayedMessage": "Zure lizentzia-gakoa sortzen ari da. Egiaztatu zure emaila laster edo jarri harremanetan laguntzarekin.", + "perYear": "/urte", + "perMonth": "/hilean", + "emailInvalid": "Sartu baliozko helbide elektroniko bat", + "emailStage": { + "title": "Sartu zure emaila", + "description": "Lizentzia-gakoa eta ordainagiriak bidaltzeko erabiliko dugu.", + "emailLabel": "Helbide elektronikoa", + "emailPlaceholder": "your@email.com", + "continue": "Jarraitu", + "modalTitle": "Hasi - {{planName}}" + }, + "planStage": { + "title": "Aukeratu fakturazio epea", + "savingsNote": "Aurreztu {{percent}}% urteko fakturazioarekin", + "basePrice": "Oinarrizko prezioa", + "seatPrice": "Eserleku bakoitzeko", + "totalForSeats": "Guztira ({{count}} eserleku)", + "selectMonthly": "Aukeratu hilero", + "selectYearly": "Aukeratu urtero", + "savePercent": "Aurreztu {{percent}}%", + "savingsAmount": "Aurreztu {{amount}}", + "modalTitle": "Hautatu fakturazio epea - {{planName}}", + "billedYearly": "Urtero fakturatuta: {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Itzuli plan aukerara", + "selectedPlan": "Hautatutako plana", + "modalTitle": "Osatu ordainketa - {{planName}}" + } }, "firstLogin": { "title": "Lehen aldiko saio-hasiera", @@ -5260,8 +5734,8 @@ } }, "showing": { - "top10": "Top 10", - "top20": "Top 20", + "top10": "Top 10 erakusten", + "top20": "Top 20 erakusten", "all": "Guztiak" }, "stats": { @@ -5287,5 +5761,281 @@ "offline": "Backend lineaz kanpo", "starting": "Backend abiarazten...", "wait": "Itxaron backenda abiarazten amaitu arte eta saiatu berriro." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Desblokeatu PDFa jarraitzeko", + "title": "Kendu pasahitza jarraitzeko", + "description": "PDF hau pasahitzarekin babestuta dago. Sartu pasahitza lanean jarraitu ahal izateko.", + "password": { + "label": "PDF pasahitza", + "placeholder": "Sartu PDFaren pasahitza" + }, + "skip": "Utzi oraingoz", + "unlock": "Desblokeatu eta jarraitu", + "incorrectPassword": "Pasahitz okerra", + "missingFile": "Hautatutako fitxategia ez dago gehiago eskuragarri.", + "emptyResponse": "Pasahitza kentzeak ez du fitxategirik sortu.", + "required": "Sartu pasahitza jarraitzeko.", + "successTitle": "Pasahitza kenduta", + "successBodyWithName": "Pasahitza {{fileName}}-tik kendu da", + "successBody": "Pasahitza ondo kendu da." + }, + "setup": { + "welcome": "Ongi etorri Stirling PDF-era", + "description": "Hasi Stirling PDF nola erabili nahi duzun aukeratuz", + "step1": { + "label": "Aukeratu modua", + "description": "Offline edo Zerbitzaria" + }, + "step2": { + "label": "Hautatu zerbitzaria", + "description": "Auto-ostatuko zerbitzaria" + }, + "step3": { + "label": "Hasi saioa", + "description": "Sartu kredentzialak" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Hasi saioa zure Stirling kontuarekin" + }, + "selfhosted": { + "title": "Auto-ostatuko zerbitzaria", + "description": "Konektatu zure Stirling PDF zerbitzarira" + } + }, + "saas": { + "title": "Hasi saioa Stirlingen", + "subtitle": "Hasi saioa zure Stirling kontuarekin" + }, + "selfhosted": { + "title": "Hasi saioa zerbitzarian", + "subtitle": "Sartu zure zerbitzariaren kredentzialak" + }, + "server": { + "title": "Konektatu zerbitzarira", + "subtitle": "Sartu zure auto-ostatuko zerbitzariaren URLa", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Auto-ostatuko zerbitzaria" + }, + "url": { + "label": "Zerbitzariaren URLa", + "description": "Sartu zure auto-ostatuko Stirling PDF zerbitzariaren URLa osoa" + }, + "error": { + "emptyUrl": "Sartu zerbitzari baten URLa", + "unreachable": "Ezin izan da zerbitzarira konektatu", + "testFailed": "Konexio proba huts egin du" + }, + "testing": "Konexioa probatzen..." + }, + "login": { + "title": "Hasi saioa", + "subtitle": "Sartu zure kredentzialak jarraitzeko", + "connectingTo": "Hona konektatzen:", + "username": { + "label": "Erabiltzaile-izena", + "placeholder": "Sartu zure erabiltzaile-izena" + }, + "email": { + "label": "Emaila", + "placeholder": "Sartu zure emaila" + }, + "password": { + "label": "Pasahitza", + "placeholder": "Sartu zure pasahitza" + }, + "error": { + "emptyUsername": "Sartu zure erabiltzaile-izena", + "emptyEmail": "Sartu zure emaila", + "emptyPassword": "Sartu zure pasahitza", + "oauthFailed": "OAuth saio-hasierak huts egin du. Saiatu berriro." + }, + "submit": "Hasi saioa", + "signInWith": "Hasi saioa honekin", + "oauthPending": "Nabigatzailea irekitzen autentifikaziorako...", + "orContinueWith": "Edo jarraitu emailarekin" + } + }, + "oauth": { + "success": { + "title": "Autentifikazioa ongi burutu da", + "message": "Leiho hau itxi eta Stirling PDF-era itzul zaitezke." + }, + "error": { + "title": "Autentifikazioak huts egin du", + "message": "Autentifikazioa ez da ongi burutu. Leiho hau itxi eta saiatu berriro." + } + }, + "pdfTextEditor": { + "title": "PDF JSON editorea", + "viewLabel": "PDF Editorea", + "converting": "PDFa editagarri bihurtzen...", + "conversionFailed": "Ezin izan da PDFa bihurtu. Saiatu berriro.", + "currentFile": "Uneko fitxategia: {{name}}", + "pageSummary": "{{number}} / {{total}} orri", + "pagePreviewAlt": "Orriaren aurrebista", + "imageLabel": "Kokatutako irudia", + "noTextOnPage": "Ez da testu editagarririk detektatu orri honetan.", + "pageType": { + "paragraph": "Paragrafo orria", + "sparse": "Testu sakabanatua" + }, + "groupingMode": { + "auto": "Auto", + "paragraph": "Paragrafoa", + "singleLine": "Lerro bakarra" + }, + "badges": { + "unsaved": "Editatuta", + "modified": "Editatuta", + "earlyAccess": "Sarbide goiztiarra" + }, + "actions": { + "reset": "Aldaketak berrezarri", + "downloadJson": "JSON deskargatu", + "generatePdf": "PDF sortu" + }, + "options": { + "autoScaleText": { + "title": "Testua automatikoki eskalatu kutxetara egokitzeko", + "description": "Letra-tipoen errendatzea PDFarekiko desberdina denean, testua horizontalki automatikoki eskalatzen du jatorrizko mugaketa-kutxan sartzeko." + }, + "groupingMode": { + "title": "Testu taldekatzeko modua", + "autoDescription": "Orrialde mota automatikoki detektatu eta testua egoki taldekatu.", + "paragraphDescription": "Lerro lerrokatuak lerro anitzeko paragrafo-testu kutxetan taldekatzen ditu.", + "singleLineDescription": "PDFko testu-lerro bakoitza testu-kutxa bereizi gisa mantentzen du." + }, + "manualGrouping": { + "descriptionInline": "Aholkua: Eutsi sakatuta Ctrl (Cmd) edo Shift testu-kutxa anitz hautatzeko. Hautapenaren gainean tresna-barra mugikor bat agertuko da, batzea, banantzea edo zabalera doitzea egin dezazun." + }, + "forceSingleElement": { + "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." + } + }, + "manual": { + "mergeTooltip": "Hautatutako kutxak batu", + "merge": "Hautapena batu", + "ungroupTooltip": "Paragrafoa berriro lerrotan zatitu", + "ungroup": "Hautapena banandu", + "widthMenu": "Zabalera-aukerak", + "expandWidth": "Hedatu orriaren ertzeraino", + "resetWidth": "Zabalera berrezarri", + "resizeHandle": "Testuaren zabalera doitu" + }, + "disclaimer": { + "heading": "Aurrebistaren mugak", + "textFocus": "Lan-espazio honek testua editatzea eta txertatutako irudiak birkokatzea ditu ardatz. Orrialdeko arte konplexua, inprimaki widget-ak eta geruzatutako grafikoak esportatzeko gordetzen dira, baina ez dira guztiz editagarriak hemen.", + "previewVariance": "Zenbait ikusmen-elementu (adibidez, taulen ertzak, formak edo anotazioen itxura) agian ez dira zehatz erakutsiko aurrebistan. Esportatutako PDFak jatorrizko marrazketa-aginduak mantentzen ditu ahal denean.", + "alpha": "Ikusle alfa hau oraindik eboluzioan dago—zenbait letra-tipo, kolore, gardentasun-efektu eta diseinu xehetasun apur bat alda daitezke. Mesedez, egiaztatu sortutako PDFa partekatu aurretik." + }, + "empty": { + "title": "Ez da dokumenturik kargatu", + "subtitle": "Kargatu PDF edo JSON fitxategi bat testu-edukia editatzen hasteko." + }, + "welcomeBanner": { + "title": "Ongi etorri PDF Text Editor-era (Sarbide goiztiarra)", + "experimental": "Hau garapen aktiboan dagoen ezaugarri esperimentala da. Espero ezegonkortasuna eta erabileran arazo batzuk.", + "howItWorks": "Tresna honek zure PDFa formatu editagarri bihurtzen du, testua aldatzeko eta irudiak birkokatzeko. Aldaketak PDF berri gisa gordetzen dira.", + "bestFor": "Hobeto funtzionatzen du honekin:", + "bestFor1": "Testua eta irudiak nagusi dituzten PDF sinpleak", + "bestFor2": "Paragrafo formatu estandarra duten dokumentuak", + "bestFor3": "Gutunak, saiakerak, txostenak eta oinarrizko dokumentuak", + "notIdealFor": "Ez da egokiena honetarako:", + "notIdealFor1": "Bala-zerrendak, taulak edo zutabe anitzeko diseinuak dituzten PDFak", + "notIdealFor2": "Aldizkariak, eskuorriak edo diseinu kargadun dokumentuak", + "notIdealFor3": "Diseinu konplexua duten eskuliburuak", + "limitations": "Uneko murriztapenak:", + "limitation1": "Letra-tipoen errendatzea pixka bat desberdina izan daiteke jatorrizko PDFarekiko", + "limitation2": "Grafiko konplexuak, inprimaki-eremuak eta anotazioak gordetzen dira baina ez dira editagarriak", + "limitation3": "Fitxategi handiek denbora behar dezakete bihurtu eta prozesatzeko", + "knownIssues": "Arazo ezagunak (konpontzen ari gara):", + "issue1": "Testuaren kolorea oraindik ez da mantentzen (laster gehituko da)", + "issue2": "Paragrafo moduak lerrokadura eta tarte arazo gehiago ditu - Gomendatua: Lerro Bakar modua", + "issue3": "Aurrebistaren bistaratzea esportatutako PDFarekiko desberdina da - esportatutako PDFak jatorrizkoarekiko hurbilago daude", + "issue4": "Biratutako testuaren lerrokadurak eskuzko doikuntza beharra izan dezake", + "issue5": "Gardentasun eta geruzatze-efektuak jatorrizkotik alda daitezke", + "feedback": "Hau sarbide goiztiarreko ezaugarria da. Mesedez, jakinarazi aurkitzen dituzun arazoak hobetzen laguntzeko!", + "gotIt": "Ulertuta", + "dontShowAgain": "Ez erakutsi berriro" + }, + "modeChange": { + "title": "Modu aldaketa baieztatu", + "warning": "Testu taldekatzeko modua aldatzeak gorde gabeko aldaketa guztiak berrezarriko ditu. Ziur jarraitu nahi duzula?", + "cancel": "Ezeztatu", + "confirm": "Berrezarri eta aldatu modua" + }, + "fontAnalysis": { + "details": "Letra-tipoaren xehetasunak", + "embedded": "Txertatuta", + "type": "Mota", + "webFormat": "Web formatua", + "warnings": "Abisuak", + "suggestions": "Oharrak", + "currentPageFonts": "Orrialde honetan dauden letra-tipoak", + "allFonts": "Letra-tipo guztiak", + "fallback": "ordezko", + "missing": "falta", + "perfectMessage": "Letra-tipo guztiak perfektuki erreproduzi daitezke.", + "warningMessage": "Zenbait letra-tipo agian ez dira behar bezala errendatuko.", + "infoMessage": "Letra-tipoen erreprodukzioari buruzko informazioa eskuragarri.", + "perfect": "perfektua", + "subset": "azpimultzoa" + }, + "errors": { + "invalidJson": "Ezin da JSON fitxategia irakurri. Ziurtatu PDF to JSON tresnarekin sortua dela.", + "pdfConversion": "Ezin da editatutako JSONa berriz PDF bihurtu." + } + }, + "auth": { + "sessionExpired": "Saioa iraungi da", + "pleaseLoginAgain": "Hasi saioa berriro, mesedez.", + "accessDenied": "Sarbidea ukatuta", + "insufficientPermissions": "Ez duzu ekintza hau egiteko baimenik." + }, + "addText": { + "title": "Testua gehitu", + "header": "Testua gehitu PDFetara", + "text": { + "name": "Testu-edukia", + "placeholder": "Sartu gehitu nahi duzun testua", + "fontLabel": "Letra-tipoa", + "fontSizeLabel": "Letra-tamainoa", + "fontSizePlaceholder": "Idatzi edo hautatu letra-tamainoa (8-200)", + "colorLabel": "Testuaren kolorea" + }, + "steps": { + "configure": "Testua konfiguratu" + }, + "step": { + "createDesc": "Sartu gehitu nahi duzun testua", + "place": "Testua kokatu", + "placeDesc": "Egin klik PDFan zure testua gehitzeko" + }, + "instructions": { + "title": "Nola gehitu testua", + "text": "Goian zure testua sartu ondoren, egin klik PDFan edonon kokatzeko.", + "paused": "Kokatzea pausatuta", + "resumeHint": "Berrekin kokatzeari testua gehitzeko.", + "noSignature": "Sartu goian testua kokatzea gaitzeko." + }, + "mode": { + "move": "Testua mugitu", + "place": "Testua kokatu", + "pause": "Kokatzea pausatu", + "resume": "Kokatzea berrekin" + }, + "results": { + "title": "Testua gehitzearen emaitzak" + }, + "error": { + "failed": "Errore bat gertatu da testua PDFari gehitzean." + }, + "tags": "testua,anotazioa,etiketa", + "applySignatures": "Testua aplikatu" } } \ No newline at end of file diff --git a/frontend/public/locales/fa-IR/translation.json b/frontend/public/locales/fa-IR/translation.json index 9481e9222..5e823b66c 100644 --- a/frontend/public/locales/fa-IR/translation.json +++ b/frontend/public/locales/fa-IR/translation.json @@ -17,6 +17,8 @@ "comingSoon": "به‌زودی:", "favorite": "افزودن به علاقه‌مندی‌ها", "favorites": "علاقه‌مندی‌ها", + "unavailable": "توسط مدیر سرور غیرفعال شده:", + "unavailableDependency": "در دسترس نیست - ابزار موردنیاز روی سرور موجود نیست:", "heading": "همه ابزارها (نمای تمام‌صفحه)", "noResults": "جستجوی خود را تنظیم کنید یا نمایش توضیحات را تغییر دهید تا مورد نیاز را بیابید.", "recommended": "توصیه‌شده", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "تغییر به حالت تمام‌صفحه", "sidebar": "تغییر به حالت نوار کناری" - } + }, + "alpha": "آلفا", + "premiumFeature": "ویژگی پرمیوم:", + "comingSoon": "به‌زودی:" }, "unsavedChanges": "شما تغییرات ذخیره‌نشده‌ای در PDF دارید.", "areYouSure": "مطمئنید می‌خواهید خارج شوید؟", @@ -41,6 +46,30 @@ "cancel": "انصراف", "confirm": "استخراج" }, + "defaultApp": { + "title": "تنظیم به‌عنوان برنامه پیش‌فرض PDF", + "message": "می‌خواهید Stirling PDF را به‌عنوان ویرایشگر پیش‌فرض PDF خود تنظیم کنید؟", + "description": "می‌توانید بعداً در تنظیمات سیستم تغییر دهید.", + "notNow": "فعلاً نه", + "setDefault": "تنظیم به‌عنوان پیش‌فرض", + "dismiss": "بستن", + "prompt": { + "title": "تنظیم به‌عنوان ویرایشگر پیش‌فرض PDF", + "message": "Stirling PDF را برنامه پیش‌فرض خود برای باز کردن فایل‌های PDF کنید." + }, + "success": { + "title": "برنامه پیش‌فرض تنظیم شد", + "message": "Stirling PDF اکنون ویرایشگر پیش‌فرض PDF شماست" + }, + "settingsOpened": { + "title": "تنظیمات باز شد", + "message": "لطفاً Stirling PDF را در تنظیمات سیستم انتخاب کنید" + }, + "error": { + "title": "خطا", + "message": "تنظیم برنامه پیش‌فرض PDF ناموفق بود" + } + }, "language": { "direction": "rtl" }, @@ -101,6 +130,8 @@ "save": "ذخیره", "saveToBrowser": "ذخیره در مرورگر", "download": "دانلود", + "downloadUnavailable": "دانلود برای این مورد در دسترس نیست", + "saveUnavailable": "ذخیره برای این مورد در دسترس نیست", "pin": "سنجاق کردن فایل (پس از اجرای ابزار فعال بماند)", "unpin": "برداشتن سنجاق فایل (پس از اجرای ابزار جایگزین شود)", "undoOperationTooltip": "برای واگرد آخرین عملیات و بازیابی فایل‌های اصلی کلیک کنید", @@ -168,6 +199,7 @@ }, "edit": "ویرایش", "delete": "حذف", + "never": "هرگز", "username": "نام کاربری", "password": "رمز عبور", "welcome": "خوش آمدید", @@ -262,7 +294,8 @@ "learnMore": "بیشتر بدانید", "enable": "فعال کردن تحلیل‌ها", "disable": "غیرفعال کردن تحلیل‌ها", - "settings": "می‌توانید تنظیمات مربوط به تحلیل‌ها را در فایل config/settings.yml تغییر دهید" + "settings": "می‌توانید تنظیمات مربوط به تحلیل‌ها را در فایل config/settings.yml تغییر دهید", + "privacyAssurance": "ما هیچ اطلاعات شخصی یا محتوای فایل‌های شما را ردیابی نمی‌کنیم." }, "navbar": { "favorite": "علاقه‌مندی‌ها", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "تنظیمات", - "update": "به‌روزرسانی موجود است", - "updateAvailable": "{0} نسخه نصب شده فعلی است. یک نسخه جدید ({1}) موجود است.", - "appVersion": "نسخه برنامه:", - "downloadOption": { - "title": "گزینه دانلود را انتخاب کنید (برای دانلود یک فایل غیر فشرده):", - "1": "باز کردن در همان پنجره", - "2": "باز کردن در پنجره جدید", - "3": "دانلود فایل" - }, - "zipThreshold": "فشرده کردن فایل‌ها وقتی تعداد فایل‌های دانلود شده بیشتر شود از", - "signOut": "خروج", - "accountSettings": "تنظیمات حساب کاربری", - "bored": { - "help": "فعال کردن بازی مخفی" - }, - "cacheInputs": { - "name": "ذخیره ورودی‌های فرم", - "help": "فعال کردن برای ذخیره ورودی‌های قبلی برای اجرای بعدی" + "connection": { + "title": "حالت اتصال", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "خودمیزبان" + }, + "server": "سرور", + "user": "وارد شده با", + "logout": "خروج" }, "general": { "title": "عمومی", "description": "پیکربندی ترجیحات عمومی برنامه.", - "account": "حساب", - "accountDescription": "مدیریت تنظیمات حساب", "user": "کاربر", - "signedInAs": "وارد شده به‌عنوان", "logout": "خروج", "enableFeatures": { + "dismiss": "رد کردن", "title": "برای مدیران سیستم", "intro": "احراز هویت کاربر، مدیریت تیم و قابلیت‌های فضای کار را برای سازمان خود فعال کنید.", "action": "پیکربندی", "and": "و", "benefit": "نقش‌های کاربری، همکاری تیمی، کنترل‌های مدیر و قابلیت‌های سازمانی را فعال می‌کند.", - "learnMore": "بیشتر در مستندات بیاموزید", - "dismiss": "رد کردن" + "learnMore": "بیشتر در مستندات بیاموزید" }, - "autoUnzip": "استخراج خودکار پاسخ‌های API", - "autoUnzipDescription": "استخراج خودکار فایل‌ها از پاسخ‌های ZIP", - "autoUnzipTooltip": "فایل‌های ZIP بازگشتی از عملیات API را به‌طور خودکار استخراج می‌کند. برای نگه‌داشتن فایل‌های ZIP غیرفعال کنید. این بر گردش‌کارهای اتوماسیون تأثیر نمی‌گذارد.", - "autoUnzipFileLimit": "حد مجاز استخراج خودکار", - "autoUnzipFileLimitDescription": "حداکثر تعداد فایل برای استخراج از ZIP", - "autoUnzipFileLimitTooltip": "تنها اگر ZIP این تعداد فایل یا کمتر داشته باشد استخراج کن. برای استخراج ZIPهای بزرگ‌تر مقدار بیشتری تعیین کنید.", "defaultToolPickerMode": "حالت پیش‌فرض انتخاب‌گر ابزار", "defaultToolPickerModeDescription": "انتخاب کنید انتخاب‌گر ابزار به‌صورت تمام‌صفحه یا نوار کناری به‌طور پیش‌فرض باز شود", "mode": { - "fullscreen": "تمام‌صفحه", - "sidebar": "نوار کناری" - } + "sidebar": "نوار کناری", + "fullscreen": "تمام‌صفحه" + }, + "autoUnzipTooltip": "فایل‌های ZIP بازگشتی از عملیات API را به‌طور خودکار استخراج می‌کند. برای نگه‌داشتن فایل‌های ZIP غیرفعال کنید. این بر گردش‌کارهای اتوماسیون تأثیر نمی‌گذارد.", + "autoUnzip": "استخراج خودکار پاسخ‌های API", + "autoUnzipDescription": "استخراج خودکار فایل‌ها از پاسخ‌های ZIP", + "autoUnzipFileLimitTooltip": "تنها اگر ZIP این تعداد فایل یا کمتر داشته باشد استخراج کن. برای استخراج ZIPهای بزرگ‌تر مقدار بیشتری تعیین کنید.", + "autoUnzipFileLimit": "حد مجاز استخراج خودکار", + "autoUnzipFileLimitDescription": "حداکثر تعداد فایل برای استخراج از ZIP", + "defaultPdfEditor": "ویرایشگر پیش‌فرض PDF", + "defaultPdfEditorActive": "Stirling PDF ویرایشگر پیش‌فرض PDF شماست", + "defaultPdfEditorInactive": "برنامه دیگری به‌عنوان پیش‌فرض تنظیم شده است", + "defaultPdfEditorChecking": "در حال بررسی...", + "defaultPdfEditorSet": "از پیش پیش‌فرض است", + "setAsDefault": "تنظیم به‌عنوان پیش‌فرض", + "updates": { + "title": "به‌روزرسانی نرم‌افزار", + "description": "بررسی به‌روزرسانی و مشاهده اطلاعات نسخه", + "currentVersion": "نسخه فعلی", + "latestVersion": "آخرین نسخه", + "checkForUpdates": "بررسی به‌روزرسانی", + "viewDetails": "مشاهده جزئیات" + }, + "hideUnavailableTools": "مخفی‌کردن ابزارهای غیردردسترس", + "hideUnavailableToolsDescription": "به‌جای نمایش خاکستری، ابزارهایی را که سرور شما غیرفعال کرده حذف می‌کند.", + "hideUnavailableConversions": "مخفی‌کردن تبدیل‌های غیردردسترس", + "hideUnavailableConversionsDescription": "به‌جای نمایش خاکستری، گزینه‌های تبدیل غیرفعال در ابزار Convert را حذف می‌کند." }, "hotkeys": { - "title": "میانبرهای صفحه‌کلید", - "description": "برای مشاهده میانبر یک ابزار روی آن نگه‌دارید یا در زیر سفارشی‌سازی کنید. روی «تغییر میانبر» کلیک کنید و یک ترکیب کلید جدید فشار دهید. برای انصراف Esc را فشار دهید.", - "errorModifier": { - "mac": "در میانبر خود ⌘ (Command)، ⌥ (Option) یا یک تغییردهنده دیگر را بگنجانید.", - "windows": "در میانبر خود Ctrl، Alt یا یک تغییردهنده دیگر را بگنجانید." - }, "errorConflict": "میانبر قبلاً توسط {{tool}} استفاده شده است.", + "searchPlaceholder": "جستجوی ابزارها...", "none": "اختصاص نیافته", "customBadge": "سفارشی", "defaultLabel": "پیش‌فرض: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "تغییر میانبر", "reset": "بازنشانی", "shortcut": "میانبر", - "noShortcut": "هیچ میانبری تنظیم نشده است", - "searchPlaceholder": "جستجوی ابزارها..." + "noShortcut": "هیچ میانبری تنظیم نشده است" } }, + "update": { + "modalTitle": "به‌روزرسانی موجود است", + "current": "نسخه فعلی", + "latest": "آخرین نسخه", + "latestStable": "آخرین پایدار", + "priorityLabel": "اولویت", + "recommendedAction": "اقدام پیشنهادی", + "breakingChangesDetected": "تغییرات ناسازگار شناسایی شد", + "breakingChangesMessage": "برخی نسخه‌ها شامل تغییرات ناسازگارند. لطفاً پیش از به‌روزرسانی، راهنماهای مهاجرت زیر را مرور کنید.", + "migrationGuides": "راهنمای مهاجرت", + "viewGuide": "مشاهده راهنما", + "loadingDetailedInfo": "در حال بارگذاری اطلاعات کامل...", + "close": "بستن", + "viewAllReleases": "مشاهده همه انتشارها", + "downloadLatest": "دانلود آخرین نسخه", + "availableUpdates": "به‌روزرسانی‌های موجود", + "unableToLoadDetails": "بارگذاری اطلاعات کامل ممکن نیست.", + "version": "نسخه", + "urgentUpdateAvailable": "به‌روزرسانی فوری", + "updateAvailable": "به‌روزرسانی موجود است", + "releaseNotes": "یادداشت‌های انتشار", + "priority": { + "urgent": "فوری", + "normal": "عادی", + "minor": "جزئی", + "low": "کم" + }, + "breakingChanges": "تغییرات ناسازگار", + "breakingChangesDefault": "این نسخه شامل تغییرات ناسازگار است.", + "migrationGuide": "راهنمای مهاجرت" + }, "changeCreds": { "title": "تغییر مشخصات", "header": "به‌روزرسانی جزئیات حساب کاربری", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "PDF‌ها را بر روی PDF دیگری هم‌پوشانی می‌کند", "title": "هم‌پوشانی PDF‌ها" + }, + "pdfTextEditor": { + "title": "ویرایشگر متن PDF", + "desc": "بازبینی و ویرایش خروجی‌های JSON Stirling PDF با ویرایش گروهی متن و بازتولید PDF" + }, + "addText": { + "tags": "متن,حاشیه‌نویسی,برچسب", + "title": "افزودن متن", + "desc": "افزودن متن دلخواه در هر جای PDF" } }, "landing": { "addFiles": "افزودن فایل‌ها", - "uploadFromComputer": "بارگذاری از رایانه" + "uploadFromComputer": "بارگذاری از رایانه", + "openFromComputer": "باز کردن از رایانه" }, "viewPdf": { "tags": "مشاهده،خواندن،حاشیه‌نویسی،متن،تصویر", @@ -849,6 +922,11 @@ }, "error": { "failed": "هنگام ادغام PDFها خطایی رخ داد." + }, + "tooltip": { + "header": { + "title": "نمای کلی تنظیمات ادغام" + } } }, "split": { @@ -1047,7 +1125,7 @@ "settings": "تنظیمات", "conversionCompleted": "تبدیل انجام شد", "results": "نتایج", - "defaultFilename": "converted_file", + "defaultFilename": "فایل_تبدیل‌شده", "conversionResults": "نتایج تبدیل", "convertFrom": "تبدیل از", "convertTo": "تبدیل به", @@ -1087,11 +1165,11 @@ "fileFormat": "قالب فایل", "wordDoc": "سند Word", "wordDocExt": "سند Word (.docx)", - "odtExt": "OpenDocument Text (.odt)", + "odtExt": "متن OpenDocument (.odt)", "pptExt": "PowerPoint (.pptx)", - "odpExt": "OpenDocument Presentation (.odp)", + "odpExt": "ارائه OpenDocument (.odp)", "txtExt": "متن ساده (.txt)", - "rtfExt": "Rich Text Format (.rtf)", + "rtfExt": "قالب متن غنی (.rtf)", "selectedFiles": "فایل‌های انتخاب‌شده", "noFileSelected": "هیچ فایلی انتخاب نشده. از پنل فایل‌ها برای افزودن فایل استفاده کنید.", "convertFiles": "تبدیل فایل‌ها", @@ -1182,9 +1260,43 @@ "tags": "تصویر،jpg،عکس", "title": "افزودن تصویر", "header": "افزودن تصویر به PDF", - "everyPage": "هر صفحه؟", - "upload": "افزودن تصویر", - "submit": "افزودن تصویر" + "image": { + "name": "تصویر", + "placeholder": "بارگذاری یک تصویر", + "label": "فایل تصویر" + }, + "steps": { + "configure": "پیکربندی تصویر" + }, + "step": { + "createDesc": "تصویری را که می‌خواهید اضافه کنید بارگذاری کنید", + "place": "جانمایی تصویر", + "placeDesc": "برای افزودن تصویر روی PDF کلیک کنید" + }, + "instructions": { + "title": "نحوه افزودن تصویر", + "text": "پس از بارگذاری تصویر، برای جانمایی آن هرکجا روی PDF کلیک کنید.", + "paused": "جانمایی مکث شد", + "resumeHint": "برای کلیک و افزودن تصویر، جانمایی را از سر بگیرید.", + "noSignature": "برای فعال‌شدن جانمایی، یک تصویر بارگذاری کنید." + }, + "mode": { + "move": "جابجایی تصویر", + "place": "جانمایی تصویر", + "pause": "مکث جانمایی", + "resume": "ازسرگیری جانمایی" + }, + "results": { + "title": "نتایج افزودن تصویر" + }, + "error": { + "failed": "هنگام افزودن تصویر به PDF خطایی رخ داد." + }, + "saved": { + "defaultLabel": "تصویر", + "defaultImageLabel": "تصویر بارگذاری‌شده" + }, + "applySignatures": "اعمال تصاویر" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1200,7 +1312,7 @@ "desc": "افزودن واترمارک متنی یا تصویری به فایل‌های PDF", "completed": "واترمارک افزوده شد", "submit": "افزودن واترمارک", - "filenamePrefix": "watermarked", + "filenamePrefix": "واترمارک‌شده", "error": { "failed": "هنگام افزودن واترمارک به PDF خطایی رخ داد." }, @@ -1397,6 +1509,93 @@ }, "submit": "تغییر" }, + "editTableOfContents": { + "settings": { + "title": "نشانک‌ها و طرح کلی", + "replaceExisting": "جایگزینی نشانک‌های موجود (برای افزودن، علامت را بردارید)", + "replaceExistingHint": "وقتی غیرفعال باشد، طرح کلی جدید پس از نشانک‌های فعلی افزوده می‌شود." + }, + "actions": { + "source": "بارگذاری نشانک‌ها", + "selectedFile": "از {{file}} بارگذاری شد", + "noFile": "یک PDF انتخاب کنید تا نشانک‌های موجود استخراج شوند.", + "loadFromPdf": "بارگذاری از PDF انتخاب‌شده", + "importJson": "وارد کردن JSON", + "importClipboard": "چسباندن JSON از کلیپ‌بورد", + "export": "خروجی گرفتن از نشانک‌ها", + "exportJson": "دانلود JSON", + "exportClipboard": "کپی JSON در کلیپ‌بورد", + "clipboardUnavailable": "دسترسی به کلیپ‌بورد در این مرورگر موجود نیست." + }, + "info": { + "line1": "هر نشانک به یک عنوان توضیحی و شماره صفحه مقصد نیاز دارد.", + "line2": "از نشانک‌های فرزند برای ساخت سلسله‌مراتب فصل‌ها و بخش‌ها استفاده کنید.", + "line3": "برای صرفه‌جویی در زمان، نشانک‌ها را از PDF انتخاب‌شده یا از فایل JSON وارد کنید." + }, + "workbench": { + "empty": { + "title": "برای شروع ویرایش، ابزار را باز کنید", + "description": "ابزار ویرایش فهرست مطالب را انتخاب کنید تا فضای کار آن بارگذاری شود." + }, + "tabTitle": "فضای کار طرح کلی", + "subtitle": "نشانک‌ها را وارد کنید، سلسله‌مراتب بسازید و بدون پنل‌های جانبی شلوغ، طرح کلی را اعمال کنید.", + "noFile": "هیچ PDFی انتخاب نشده", + "fileLabel": "تغییرات بر روی PDF انتخاب‌شده اعمال می‌شود.", + "filePrompt": "برای شروع، یک PDF از کتابخانه انتخاب یا یک فایل جدید بارگذاری کنید.", + "changeFile": "تغییر PDF", + "selectFile": "انتخاب PDF" + }, + "editor": { + "heading": "ویرایشگر نشانک", + "description": "نشانک‌ها را اضافه، تو‌در‌تو و مرتب کنید تا طرح کلی PDF خود را بسازید.", + "addTopLevel": "افزودن نشانک سطح‌بالا", + "empty": { + "title": "هنوز نشانکی وجود ندارد", + "description": "نشانک‌های موجود را وارد کنید یا با افزودن اولین مورد شروع کنید.", + "action": "افزودن اولین نشانک" + }, + "defaultTitle": "نشانک جدید", + "defaultChildTitle": "نشانک فرزند", + "defaultSiblingTitle": "نشانک جدید", + "untitled": "نشانک بدون عنوان", + "childBadge": "فرزند", + "pagePreview": "صفحه {{page}}", + "field": { + "title": "عنوان نشانک", + "page": "شماره صفحه مقصد" + }, + "actions": { + "toggle": "نمایش/پنهان‌کردن فرزندان", + "addChild": "افزودن نشانک فرزند", + "addSibling": "افزودن نشانک هم‌سطح", + "remove": "حذف نشانک" + }, + "confirmRemove": "این نشانک و همه فرزندانش حذف شوند؟" + }, + "messages": { + "loadedTitle": "نشانک‌ها استخراج شدند", + "loadedBody": "نشانک‌های موجود از PDF در ویرایشگر بارگذاری شدند.", + "noBookmarks": "هیچ نشانکی در PDF انتخاب‌شده یافت نشد.", + "loadFailed": "استخراج نشانک‌ها از PDF انتخاب‌شده ممکن نشد.", + "imported": "نشانک‌ها وارد شدند", + "importedBody": "طرح کلی JSON شما جایگزین محتوای فعلی ویرایشگر شد.", + "importedClipboard": "داده‌های کلیپ‌بورد جایگزین فهرست نشانک فعلی شد.", + "invalidJson": "ساختار JSON نامعتبر", + "invalidJsonBody": "لطفاً یک فایل JSON معتبرِ نشانک ارائه دهید و دوباره تلاش کنید.", + "exported": "دانلود JSON آماده است", + "copied": "در کلیپ‌بورد کپی شد", + "copiedBody": "JSON نشانک با موفقیت کپی شد.", + "copyFailed": "کپی ناموفق بود" + }, + "error": { + "failed": "به‌روزرسانی فهرست مطالب ناموفق بود" + }, + "submit": "اعمال فهرست مطالب", + "results": { + "title": "PDF به‌روزشده با نشانک‌ها", + "subtitle": "فایل پردازش‌شده را دانلود کنید یا عملیات را در ادامه برگردانید." + } + }, "removePages": { "tags": "حذف صفحات،پاک کردن صفحات", "title": "حذف", @@ -1978,13 +2177,54 @@ "title": "امضای خود را رسم کنید", "clear": "پاک کردن" }, + "canvas": { + "heading": "امضای خود را رسم کنید", + "clickToOpen": "برای باز کردن بوم ترسیم کلیک کنید", + "modalTitle": "امضای خود را رسم کنید", + "colorLabel": "رنگ", + "penSizeLabel": "ضخامت قلم", + "penSizePlaceholder": "اندازه", + "clear": "پاک‌کردن بوم", + "colorPickerTitle": "انتخاب رنگ قلم" + }, "text": { "name": "نام امضاکننده", - "placeholder": "نام کامل خود را وارد کنید" + "placeholder": "نام کامل خود را وارد کنید", + "fontLabel": "فونت", + "fontSizeLabel": "اندازه فونت", + "fontSizePlaceholder": "اندازه فونت را وارد یا انتخاب کنید (۸–۲۰۰)", + "colorLabel": "رنگ متن" }, "clear": "پاک کردن", "add": "اضافه کردن", - "saved": "امضاهای ذخیره‌شده", + "saved": { + "heading": "امضاهای ذخیره‌شده", + "description": "هر زمان امضاهای ذخیره‌شده را دوباره استفاده کنید.", + "emptyTitle": "هنوز امضای ذخیره‌شده‌ای نیست", + "emptyDescription": "در بالا امضا را رسم، بارگذاری یا تایپ کنید، سپس با «ذخیره در کتابخانه» تا {{max}} مورد دلخواه را آماده استفاده نگه دارید.", + "type": { + "canvas": "ترسیمی", + "image": "بارگذاری", + "text": "متن" + }, + "limitTitle": "به حد مجاز رسید", + "limitDescription": "پیش از افزودن مورد جدید، یکی از امضاهای ذخیره‌شده را حذف کنید (حداکثر {{max}}).", + "carouselPosition": "{{current}} از {{total}}", + "prev": "قبلی", + "next": "بعدی", + "delete": "حذف", + "label": "برچسب", + "defaultLabel": "امضا", + "defaultCanvasLabel": "امضای ترسیمی", + "defaultImageLabel": "امضای بارگذاری‌شده", + "defaultTextLabel": "امضای تایپی", + "saveButton": "ذخیره امضا", + "saveUnavailable": "برای ذخیره، ابتدا امضایی بسازید.", + "noChanges": "امضای فعلی قبلاً ذخیره شده است.", + "status": { + "saved": "ذخیره شد" + } + }, "save": "ذخیره امضا", "applySignatures": "اعمال امضاها", "personalSigs": "امضاهای شخصی", @@ -2003,12 +2243,18 @@ "steps": { "configure": "پیکربندی امضا" }, + "step": { + "createDesc": "روش ساخت امضا را انتخاب کنید", + "place": "جانمایی و ذخیره", + "placeDesc": "امضا را روی PDF جانمایی کنید" + }, "type": { "title": "نوع امضا", "draw": "رسم", "canvas": "بوم", "image": "تصویر", - "text": "متن" + "text": "متن", + "saved": "ذخیره‌شده" }, "image": { "label": "بارگذاری تصویر امضا", @@ -2019,11 +2265,17 @@ "title": "چگونه امضا اضافه کنیم", "canvas": "پس از رسم امضای خود در بوم، پنجره را ببندید سپس هرجای PDF کلیک کنید تا آن را قرار دهید.", "image": "پس از بارگذاری تصویر امضا در بالا، هرجای PDF کلیک کنید تا آن را قرار دهید.", - "text": "پس از وارد کردن نام خود در بالا، هرجای PDF کلیک کنید تا امضای شما قرار گیرد." + "saved": "یک امضای ذخیره‌شده را انتخاب کنید، سپس برای جانمایی روی PDF کلیک کنید.", + "text": "پس از وارد کردن نام خود در بالا، هرجای PDF کلیک کنید تا امضای شما قرار گیرد.", + "paused": "جانمایی مکث شد", + "resumeHint": "برای کلیک و افزودن امضا، جانمایی را از سر بگیرید.", + "noSignature": "برای فعال شدن ابزارهای جانمایی، یک امضا بسازید." }, "mode": { "move": "جابجایی امضا", - "place": "قرار دادن امضا" + "place": "قرار دادن امضا", + "pause": "مکث جانمایی", + "resume": "ازسرگیری جانمایی" }, "updateAndPlace": "به‌روزرسانی و قرار دادن", "activate": "فعال‌سازی جای‌گذاری امضا", @@ -2163,6 +2415,14 @@ "title": "درباره حذف حاشیه‌نویسی‌ها", "description": "این ابزار تمام حاشیه‌نویسی‌ها (نظرها، هایلایت‌ها، یادداشت‌ها و غیره) را از اسناد PDF شما حذف می‌کند." }, + "tooltip": { + "header": { + "title": "درباره حذف حاشیه‌نویسی‌ها" + }, + "description": { + "title": "کاری که انجام می‌دهد" + } + }, "error": { "failed": "هنگام حذف حاشیه‌نویسی‌ها از PDF خطایی رخ داد." } @@ -2627,6 +2887,9 @@ "header": { "title": "نحوه کار تغییر نام خودکار" }, + "description": { + "title": "کاری که انجام می‌دهد" + }, "howItWorks": { "title": "نام‌گذاری هوشمند", "text": "به‌صورت خودکار عنوان را از محتوای PDF شما پیدا کرده و آن را به‌عنوان نام فایل استفاده می‌کند.", @@ -2634,6 +2897,9 @@ "bullet2": "یک نام فایل تمیز و معتبر از عنوان شناسایی‌شده ایجاد می‌کند", "bullet3": "اگر عنوان مناسبی پیدا نشود، نام اصلی حفظ می‌شود" } + }, + "settings": { + "title": "درباره" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "خطای غیرمنتظره: {{message}}", "accountCreatedSuccess": "حساب با موفقیت ایجاد شد! اکنون می‌توانید وارد شوید.", "passwordChangedSuccess": "گذرواژه با موفقیت تغییر کرد! لطفاً با گذرواژه جدید خود وارد شوید.", - "credentialsUpdated": "اطلاعات ورود شما به‌روزرسانی شد. لطفاً دوباره وارد شوید." + "credentialsUpdated": "اطلاعات ورود شما به‌روزرسانی شد. لطفاً دوباره وارد شوید.", + "defaultCredentials": "مشخصات ورود پیش‌فرض", + "changePasswordWarning": "لطفاً پس از اولین ورود، گذرواژه خود را تغییر دهید", + "slides": { + "overview": { + "alt": "نمای کلی Stirling PDF", + "title": "همه نیازهای PDF شما در یک‌جا.", + "subtitle": "یک مجموعه ابری با اولویت حریم خصوصی برای PDFها که امکان تبدیل، امضا، پنهان‌سازی و مدیریت اسناد را به‌همراه 50+ ابزار قدرتمند دیگر فراهم می‌کند." + }, + "edit": { + "alt": "ویرایش PDFها", + "title": "ویرایش PDFها برای نمایش/ایمن‌سازی اطلاعات موردنظر شما", + "subtitle": "با بیش از دوازده ابزار برای پنهان‌سازی، امضا، خواندن و دستکاری PDFها، مطمئناً آنچه می‌خواهید را پیدا می‌کنید." + }, + "secure": { + "alt": "ایمن‌سازی PDFها", + "title": "از اطلاعات حساس در PDFهای خود محافظت کنید", + "subtitle": "به‌سادگی گذرواژه اضافه کنید، محتوا را پنهان‌سازی کنید و گواهی‌ها را مدیریت کنید." + } + } }, "signup": { "title": "ایجاد حساب", @@ -3598,7 +3883,9 @@ "exportAll": "برون‌بری PDF", "downloadSelected": "دانلود فایل‌های انتخاب‌شده", "downloadAll": "دانلود همه", + "saveAll": "ذخیره همه", "toggleTheme": "تغییر تم", + "toggleBookmarks": "نمایش/پنهان‌کردن نشانک‌ها", "language": "زبان", "search": "جستجوی PDF", "panMode": "حالت پیمایش", @@ -3685,8 +3972,16 @@ "saved": "تنظیمات با موفقیت ذخیره شد", "saveSuccess": "تنظیمات با موفقیت ذخیره شد", "save": "ذخیره تغییرات", + "discard": "نادیده گرفتن", "restartRequired": "نیاز به راه‌اندازی مجدد", "loginRequired": "برای تغییر تنظیمات مدیر باید حالت ورود فعال باشد", + "unsavedChanges": { + "title": "تغییرات ذخیره‌نشده", + "message": "تغییرات ذخیره‌نشده دارید. می‌خواهید آن‌ها را نادیده بگیرید؟", + "cancel": "ادامه ویرایش", + "discard": "نادیده گرفتن تغییرات", + "hint": "تغییرات ذخیره‌نشده دارید" + }, "loginDisabled": { "title": "نیاز به حالت ورود", "message": "برای تغییر تنظیمات مدیر باید حالت ورود فعال باشد. لطفاً SECURITY_ENABLELOGIN=true را در محیط خود یا security.enableLogin: true را در settings.yml تنظیم کرده و سپس سرور را راه‌اندازی مجدد کنید.", @@ -4212,9 +4507,21 @@ "title": "پرمیوم و سازمانی", "description": "کلید لایسنس پرمیوم یا سازمانی خود را پیکربندی کنید.", "license": "پیکربندی لایسنس", + "licenseKey": { + "toggle": "کلید لایسنس یا فایل گواهی دارید؟", + "info": "اگر از طریق خرید مستقیم کلید لایسنس یا فایل گواهی دارید، می‌توانید آن را اینجا وارد کنید تا ویژگی‌های پرمیوم یا Enterprise فعال شوند." + }, "key": { "label": "کلید لایسنس", - "description": "کلید لایسنس پرمیوم یا سازمانی خود را وارد کنید" + "description": "کلید لایسنس پرمیوم یا سازمانی خود را وارد کنید", + "success": "کلید لایسنس ذخیره شد", + "successMessage": "کلید لایسنس شما با موفقیت فعال شد. نیازی به راه‌اندازی مجدد نیست.", + "overwriteWarning": { + "title": "⚠️ هشدار: لایسنس موجود شناسایی شد", + "line1": "بازنویسی کلید لایسنس فعلی قابل بازگشت نیست.", + "line2": "مگر آنکه در جایی پشتیبان گرفته باشید، لایسنس قبلی به‌طور دائمی از دست می‌رود.", + "line3": "مهم: کلیدهای لایسنس را خصوصی و امن نگه دارید. هرگز آن‌ها را عمومی به‌اشتراک نگذارید." + } }, "enabled": { "label": "فعال‌سازی قابلیت‌های پرمیوم", @@ -4278,12 +4585,17 @@ "or": "یا", "dropFileHere": "فایل را اینجا رها کنید یا برای بارگذاری کلیک کنید", "dropFilesHere": "فایل‌ها را اینجا رها کنید یا دکمه بارگذاری را کلیک کنید", + "dropFilesHereOpen": "فایل‌ها را اینجا رها کنید یا روی دکمه باز کردن کلیک کنید", "pdfFilesOnly": "فقط فایل‌های PDF", "supportedFileTypes": "انواع فایل پشتیبانی‌شده", "upload": "بارگذاری", "uploadFile": "بارگذاری فایل", "uploadFiles": "بارگذاری فایل‌ها", + "open": "باز کردن", + "openFile": "باز کردن فایل", + "openFiles": "باز کردن فایل‌ها", "noFilesInStorage": "در فضای ذخیره فایلی موجود نیست. ابتدا چند فایل بارگذاری کنید.", + "noFilesInStorageOpen": "فایلی در فضای ذخیره‌سازی موجود نیست. ابتدا چند فایل باز کنید.", "selectFromStorage": "انتخاب از فضای ذخیره", "backToTools": "بازگشت به ابزارها", "addFiles": "افزودن فایل‌ها", @@ -4329,6 +4641,8 @@ "myFiles": "فایل‌های من", "noRecentFiles": "هیچ فایل اخیری یافت نشد", "googleDriveNotAvailable": "یکپارچگی Google Drive در دسترس نیست", + "downloadSelected": "دانلود انتخاب‌شده‌ها", + "saveSelected": "ذخیره موارد انتخاب‌شده", "openFiles": "باز کردن فایل‌ها", "openFile": "باز کردن فایل", "details": "جزئیات فایل", @@ -4341,7 +4655,6 @@ "selectAll": "انتخاب همه", "deselectAll": "لغو انتخاب همه", "deleteSelected": "حذف انتخاب شده‌ها", - "downloadSelected": "دانلود انتخاب‌شده‌ها", "selectedCount": "{{count}} مورد انتخاب‌شده", "download": "دانلود", "delete": "حذف", @@ -4621,9 +4934,14 @@ "secureWorkflow": "گردش‌کار امنیتی", "secureWorkflowDesc": "اسناد PDF را با حذف محتوای بالقوه مخرب مانند JavaScript و فایل‌های تعبیه‌شده ایمن می‌کند، سپس حفاظت با رمز عبور اضافه می‌کند تا از دسترسی غیرمجاز جلوگیری شود. رمز عبور به‌طور پیش‌فرض 'password' تنظیم شده است.", "processImages": "پردازش تصاویر", - "processImagesDesc": "چندین فایل تصویر را به یک سند PDF تبدیل می‌کند، سپس فناوری OCR را برای استخراج متن قابل جستجو از تصاویر اعمال می‌کند." + "processImagesDesc": "چندین فایل تصویر را به یک سند PDF تبدیل می‌کند، سپس فناوری OCR را برای استخراج متن قابل جستجو از تصاویر اعمال می‌کند.", + "prePublishSanitization": "پاک‌سازی پیش از انتشار", + "prePublishSanitizationDesc": "جریان پاک‌سازی که همه فراداده‌های پنهان، JavaScript، فایل‌های جاسازی‌شده و حاشیه‌نویسی‌ها را حذف و فرم‌ها را تخت می‌کند تا پیش از انتشار آنلاین PDFها از نشت داده جلوگیری شود." } }, + "colorPicker": { + "title": "انتخاب رنگ" + }, "common": { "previous": "قبلی", "next": "بعدی", @@ -4639,7 +4957,13 @@ "used": "مصرف‌شده", "available": "در دسترس", "cancel": "انصراف", - "preview": "پیش‌نمایش" + "preview": "پیش‌نمایش", + "close": "بستن", + "done": "انجام شد", + "loading": "در حال بارگذاری...", + "back": "بازگشت", + "continue": "ادامه", + "error": "خطا" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "افزودن فایل‌های بیشتر...", "selectedFiles": "فایل‌های انتخاب‌شده", "submit": "افزودن پیوست‌ها", + "tooltip": { + "header": { + "title": "درباره افزودن پیوست‌ها" + }, + "description": { + "title": "کاری که انجام می‌دهد" + } + }, "results": { "title": "نتایج پیوست" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "موقعیت سفارشی", "details": "جزئیات", - "downloadUnavailable": "دانلود برای این مورد در دسترس نیست", "invalidUndoData": "امکان واگردانی نیست: داده‌های عملیات نامعتبر است", "margin": { "large": "بزرگ", @@ -4801,6 +5132,10 @@ "maybeLater": "بعداً", "dontShowAgain": "دیگر نمایش نده" }, + "welcomeSlide": { + "title": "به Stirling خوش آمدید", + "body": "Stirling PDF اکنون برای تیم‌هایی با هر اندازه آماده است. این به‌روزرسانی شامل چیدمان جدید، قابلیت‌های قدرتمند مدیریت و پرتقاضاترین ویژگی ماست - ویرایش متن." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "بیایید ابزار Crop را انتخاب کنیم تا نحوه استفاده از یکی از ابزارها را نشان دهیم.", "toolInterface": "این رابط ابزار Crop است. همان‌طور که می‌بینید فعلاً چیز زیادی آن‌جا نیست چون هنوز فایل‌های PDF برای کار اضافه نکرده‌ایم.", @@ -4823,7 +5158,39 @@ "next": "بعدی", "finish": "پایان", "startTour": "شروع تور", - "startTourDescription": "یک تور راهنما از قابلیت‌های کلیدی Stirling PDF" + "startTourDescription": "یک تور راهنما از قابلیت‌های کلیدی Stirling PDF", + "buttons": { + "next": "بعدی →", + "back": "بازگشت", + "skipForNow": "فعلاً رد کن", + "download": "دانلود →", + "showMeAround": "راهنمایی کن", + "skipTheTour": "از تور بگذر" + }, + "serverLicense": { + "skip": "فعلاً رد کن", + "seePlans": "مشاهده پلن‌ها →", + "upgrade": "همین حالا ارتقا بده →", + "freeTitle": "لایسنس سرور", + "overLimitTitle": "نیاز به لایسنس سرور", + "overLimitBody": "مجوز ما تا {{freeTierLimit}} کاربر رایگان به‌ازای هر سرور را مجاز می‌داند. شما {{overLimitUserCopy}} کاربر Stirling دارید. برای ادامه بدون وقفه، به پلن Stirling Server ارتقا دهید - صندلی نامحدود، ویرایش متن PDF و کنترل کامل ادمین با 99$ به‌ازای هر سرور در ماه.", + "freeBody": "مجوز Open-Core ما تا {{freeTierLimit}} کاربر رایگان به‌ازای هر سرور را مجاز می‌داند. برای مقیاس‌پذیری بدون وقفه و دسترسی زودهنگام به ابزار ویرایش متن PDF جدیدمان، پلن Stirling Server را پیشنهاد می‌کنیم - ویرایش کامل و صندلی نامحدود با 99$ به‌ازای هر سرور در ماه." + }, + "desktopInstall": { + "title": "دانلود", + "titleWithOs": "دانلود برای {{osLabel}}", + "body": "Stirling به‌صورت برنامه دسکتاپ بهترین عملکرد را دارد. می‌توانید آفلاین از آن استفاده کنید، سریع‌تر به اسناد دسترسی داشته باشید و ویرایش‌ها را به‌صورت محلی روی رایانه انجام دهید." + }, + "planOverview": { + "adminTitle": "نمای کلی ادمین", + "userTitle": "نمای کلی پلن", + "adminBodyLoginEnabled": "به‌عنوان ادمین می‌توانید کاربران را مدیریت کنید، تنظیمات را پیکربندی کنید و سلامت سرور را پایش کنید. نخستین {{freeTierLimit}} نفر روی سرور شما رایگان از Stirling استفاده می‌کنند.", + "adminBodyLoginDisabled": "وقتی حالت لاگین را فعال کنید، می‌توانید کاربران را مدیریت کنید، تنظیمات را پیکربندی کنید و سلامت سرور را پایش کنید. نخستین {{freeTierLimit}} نفر روی سرور شما به‌صورت رایگان از Stirling استفاده می‌کنند.", + "userBody": "هم‌تیمی‌ها را دعوت کنید، نقش‌ها را اختصاص دهید و اسناد را در یک فضای کار امن منسجم نگه دارید. هر زمان آماده رشد فراتر از استفاده فردی بودید، حالت لاگین را فعال کنید." + }, + "securityCheck": { + "message": "این برنامه اخیراً تغییرات مهمی داشته است. ممکن است نیاز به توجه ادمین سرور باشد. لطفاً نقش خود را برای ادامه تأیید کنید." + } }, "adminOnboarding": { "welcome": "به Admin Tour خوش آمدید! بیایید قابلیت‌های قدرتمند سازمانی و تنظیمات موجود برای سرپرستان سیستم را بررسی کنیم.", @@ -4852,7 +5219,10 @@ "role": "نقش", "team": "تیم", "status": "وضعیت", - "actions": "اقدامات", + "actions": { + "label": "اقدامات", + "upgrade": "ارتقا" + }, "noMembersFound": "عضوی یافت نشد", "active": "فعال", "disabled": "غیرفعال", @@ -4964,7 +5334,8 @@ "slotsAvailable": "‏{{count}} جایگاه کاربر در دسترس است", "noSlotsAvailable": "هیچ جایگاهی در دسترس نیست", "currentUsage": "در حال استفاده از {{current}} از {{max}} مجوز کاربر" - } + }, + "loginRequired": "ابتدا حالت لاگین را فعال کنید" }, "teams": { "title": "تیم‌ها", @@ -5057,6 +5428,17 @@ "showComparison": "مقایسه همه قابلیت‌ها", "hideComparison": "پنهان کردن مقایسه قابلیت‌ها", "featureComparison": "مقایسه قابلیت‌ها", + "from": "از", + "perMonth": "/ماه", + "perSeat": "/صندلی", + "withServer": "+ پلن سرور", + "licensedSeats": "دارای مجوز: {{count}} صندلی", + "includedInCurrent": "در پلن شما شامل است", + "selectPlan": "انتخاب پلن", + "manage": "مدیریت", + "manageSubscription": { + "description": "اشتراک، صورت‌حساب و روش‌های پرداخت خود را مدیریت کنید" + }, "activePlan": { "title": "طرح فعال", "subtitle": "جزئیات اشتراک فعلی شما" @@ -5074,13 +5456,16 @@ "upTo": "تا" }, "period": { - "month": "ماه" + "month": "ماه", + "perUserPerMonth": "/کاربر/ماه" }, "free": { "name": "رایگان", "highlight1": "استفاده محدود از ابزار در هر هفته", "highlight2": "دسترسی به همه ابزارها", - "highlight3": "پشتیبانی انجمن" + "highlight3": "پشتیبانی انجمن", + "forever": "همیشه رایگان", + "included": "شامل" }, "pro": { "name": "پرو", @@ -5092,7 +5477,9 @@ "name": "سازمانی", "highlight1": "قیمت‌گذاری سفارشی", "highlight2": "پشتیبانی اختصاصی", - "highlight3": "جدیدترین قابلیت‌ها" + "highlight3": "جدیدترین قابلیت‌ها", + "requiresServer": "نیازمند سرور", + "requiresServerMessage": "لطفاً پیش از ارتقا به Enterprise، ابتدا به پلن سرور ارتقا دهید." }, "feature": { "title": "قابلیت", @@ -5102,6 +5489,12 @@ "api": "دسترسی API", "priority": "پشتیبانی اولویت‌دار", "customPricing": "قیمت‌گذاری سفارشی" + }, + "licenseWarning": { + "title": "حد رایگان خودمیزبان پر شده است", + "body": "شما {{total}} کاربر دارید اما سطح رایگان فقط از {{limit}} نفر به‌ازای هر سرور پشتیبانی می‌کند. برای اجرای روان Stirling PDF ارتقا دهید.", + "overLimit": "بیش از {{limit}}", + "cta": "مشاهده پلن‌ها" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "مدیریت صورتحساب", "portal": { "error": "باز کردن پورتال صورتحساب ناموفق بود" - } + }, + "updateSeats": "به‌روزرسانی صندلی‌ها", + "updateEnterpriseSeats": "به‌روزرسانی صندلی‌های Enterprise", + "currentSeats": "صندلی‌های فعلی", + "minimumSeats": "حداقل صندلی‌ها", + "basedOnUsers": "(کاربران فعلی)", + "newSeatCount": "تعداد صندلی جدید", + "newSeatCountDescription": "تعداد صندلی‌های لایسنس Enterprise خود را انتخاب کنید", + "whatHappensNext": "در ادامه چه می‌شود؟", + "stripePortalRedirect": "به پورتال صورتحساب Stripe هدایت می‌شوید تا تغییر صندلی را بررسی و تأیید کنید. مبلغ متناسب‌سازی‌شده به‌صورت خودکار محاسبه می‌شود.", + "preparingUpdate": "در حال آماده‌سازی به‌روزرسانی صندلی...", + "seatCountTooLow": "تعداد صندلی باید حداقل {{minimum}} باشد (تعداد فعلی کاربران)", + "seatCountUnchanged": "لطفاً تعداد صندلی متفاوتی انتخاب کنید", + "seatsUpdated": "صندلی‌ها به‌روزرسانی شدند", + "seatsUpdatedMessage": "صندلی‌های Enterprise شما به {{seats}} به‌روزرسانی شد", + "updateProcessing": "در حال پردازش به‌روزرسانی", + "updateProcessingMessage": "به‌روزرسانی صندلی شما در حال پردازش است. چند لحظه دیگر صفحه را تازه‌سازی کنید.", + "notEnterprise": "مدیریت صندلی فقط برای لایسنس‌های Enterprise در دسترس است" + }, + "upgradeBanner": { + "title": "ارتقا به پلن سرور", + "message": "بیشترین بهره را با کاربران نامحدود و ویژگی‌های پیشرفته از Stirling PDF ببرید", + "upgradeButton": "همین حالا ارتقا دهید", + "dismiss": "بستن بنر", + "attentionTitle": "این سرور نیاز به توجه ادمین دارد", + "attentionBody": "ادمین شما باید وارد شود تا اطلاعات بیشتری ببیند. لطفاً فوراً با او تماس بگیرید.", + "attentionBodyAdmin": "برای حفظ انطباق سرور، الزامات لایسنس را مرور کنید.", + "seeInfo": "مشاهده اطلاعات" }, "payment": { "preparing": "در حال آماده‌سازی پرداخت شما...", @@ -5128,7 +5548,61 @@ "success": "پرداخت با موفقیت انجام شد!", "successMessage": "اشتراک شما با موفقیت فعال شد. به‌زودی ایمیل تأیید دریافت خواهید کرد.", "autoClose": "این پنجره به‌صورت خودکار بسته خواهد شد...", - "error": "خطای پرداخت" + "error": "خطای پرداخت", + "upgradeSuccess": "پرداخت موفق بود! اشتراک شما ارتقا یافت. لایسنس روی سرورتان به‌روزرسانی شد. به‌زودی یک ایمیل تأیید دریافت می‌کنید.", + "paymentSuccess": "پرداخت موفق بود! در حال دریافت کلید لایسنس شما...", + "licenseActivated": "لایسنس فعال شد! کلید لایسنس شما ذخیره شد. یک ایمیل تأیید به آدرس ایمیل ثبت‌شده شما ارسال شد.", + "licenseDelayed": "پرداخت موفق بود! لایسنس شما در حال ایجاد است. به‌زودی ایمیلی حاوی کلید لایسنس دریافت می‌کنید. اگر ظرف ۱۰ دقیقه دریافت نشد، لطفاً با پشتیبانی تماس بگیرید.", + "licensePollingError": "پرداخت موفق بود اما نتوانستیم کلید لایسنس شما را به‌طور خودکار بازیابی کنیم. لطفاً ایمیل خود را بررسی کنید یا با پشتیبانی و ارائه تأیید پرداخت تماس بگیرید.", + "licenseRetrievalError": "پرداخت موفق بود اما بازیابی لایسنس ناموفق شد. کلید لایسنس از طریق ایمیل برای شما ارسال می‌شود. اگر ظرف ۱۰ دقیقه دریافت نکردید، با پشتیبانی تماس بگیرید.", + "syncError": "پرداخت موفق بود اما همگام‌سازی لایسنس ناموفق شد. لایسنس شما به‌زودی به‌روزرسانی می‌شود. اگر مشکل ادامه داشت با پشتیبانی تماس بگیرید.", + "licenseSaveError": "ذخیره کلید لایسنس ناموفق بود. برای تکمیل فعال‌سازی با پشتیبانی و همراه با کلید لایسنس خود تماس بگیرید.", + "paymentCanceled": "پرداخت لغو شد. هیچ هزینه‌ای کسر نشد.", + "syncingLicense": "در حال همگام‌سازی لایسنس ارتقایافته...", + "generatingLicense": "در حال ساخت کلید لایسنس...", + "upgradeComplete": "ارتقا کامل شد", + "upgradeCompleteMessage": "اشتراک شما با موفقیت ارتقا یافت. کلید لایسنس موجود به‌روزرسانی شد.", + "stripeNotConfigured": "Stripe پیکربندی نشده است", + "stripeNotConfiguredMessage": "یکپارچه‌سازی پرداخت Stripe پیکربندی نشده است. لطفاً با مدیر خود تماس بگیرید.", + "monthly": "ماهانه", + "yearly": "سالانه", + "billingPeriod": "دوره صورتحساب", + "enterpriseNote": "تعداد صندلی‌ها در مرحله پرداخت قابل تنظیم است (۱–۱۰۰۰).", + "installationId": "شناسه نصب", + "licenseKey": "کلید لایسنس شما", + "licenseInstructions": "این مورد به نصب شما افزوده شد. یک نسخه در ایمیل شما نیز ارسال می‌شود.", + "canCloseWindow": "اکنون می‌توانید این پنجره را ببندید.", + "licenseKeyProcessing": "در حال پردازش کلید لایسنس", + "licenseDelayedMessage": "کلید لایسنس شما در حال ایجاد است. به‌زودی ایمیل خود را بررسی کنید یا با پشتیبانی تماس بگیرید.", + "perYear": "/سال", + "perMonth": "/ماه", + "emailInvalid": "لطفاً یک آدرس ایمیل معتبر وارد کنید", + "emailStage": { + "title": "ایمیل خود را وارد کنید", + "description": "از آن برای ارسال کلید لایسنس و رسیدها استفاده می‌کنیم.", + "emailLabel": "آدرس ایمیل", + "emailPlaceholder": "your@email.com", + "continue": "ادامه", + "modalTitle": "شروع کنید - {{planName}}" + }, + "planStage": { + "title": "دوره صورتحساب خود را انتخاب کنید", + "savingsNote": "با پرداخت سالانه {{percent}}٪ صرفه‌جویی کنید", + "basePrice": "قیمت پایه", + "seatPrice": "به‌ازای هر صندلی", + "totalForSeats": "جمع ({{count}} صندلی)", + "selectMonthly": "انتخاب ماهانه", + "selectYearly": "انتخاب سالانه", + "savePercent": "صرفه‌جویی {{percent}}٪", + "savingsAmount": "شما {{amount}} صرفه‌جویی می‌کنید", + "modalTitle": "انتخاب دوره صورتحساب - {{planName}}", + "billedYearly": "سالانه با مبلغ {{currency}}{{amount}} صورتحساب می‌شود" + }, + "paymentStage": { + "backToPlan": "بازگشت به انتخاب پلن", + "selectedPlan": "پلن انتخاب‌شده", + "modalTitle": "تکمیل پرداخت - {{planName}}" + } }, "firstLogin": { "title": "ورود برای اولین بار", @@ -5287,5 +5761,281 @@ "offline": "بک‌اند آفلاین", "starting": "بک‌اند در حال راه‌اندازی...", "wait": "لطفاً صبر کنید تا بک‌اند راه‌اندازی را به پایان برساند و سپس دوباره تلاش کنید." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "قفل PDF را باز کنید تا ادامه دهید", + "title": "برای ادامه، گذرواژه را حذف کنید", + "description": "این PDF با گذرواژه محافظت شده است. گذرواژه را وارد کنید تا بتوانید به کار ادامه دهید.", + "password": { + "label": "گذرواژه PDF", + "placeholder": "گذرواژه PDF را وارد کنید" + }, + "skip": "فعلاً رد کن", + "unlock": "باز کردن و ادامه", + "incorrectPassword": "گذرواژه نادرست است", + "missingFile": "فایل انتخاب‌شده دیگر در دسترس نیست.", + "emptyResponse": "حذف گذرواژه فایلی تولید نکرد.", + "required": "برای ادامه گذرواژه را وارد کنید.", + "successTitle": "گذرواژه حذف شد", + "successBodyWithName": "گذرواژه از {{fileName}} حذف شد", + "successBody": "گذرواژه با موفقیت حذف شد." + }, + "setup": { + "welcome": "به Stirling PDF خوش آمدید", + "description": "با انتخاب نحوه استفاده از Stirling PDF شروع کنید", + "step1": { + "label": "انتخاب حالت", + "description": "آفلاین یا سرور" + }, + "step2": { + "label": "انتخاب سرور", + "description": "سرور خودمیزبان" + }, + "step3": { + "label": "ورود", + "description": "اطلاعات کاربری را وارد کنید" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "با حساب Stirling خود وارد شوید" + }, + "selfhosted": { + "title": "سرور خودمیزبان", + "description": "به سرور Stirling PDF خود متصل شوید" + } + }, + "saas": { + "title": "ورود به Stirling", + "subtitle": "با حساب Stirling خود وارد شوید" + }, + "selfhosted": { + "title": "ورود به سرور", + "subtitle": "اطلاعات کاربری سرور خود را وارد کنید" + }, + "server": { + "title": "اتصال به سرور", + "subtitle": "URL سرور خودمیزبان خود را وارد کنید", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "سرور خودمیزبان" + }, + "url": { + "label": "URL سرور", + "description": "URL کامل سرور خودمیزبان Stirling PDF خود را وارد کنید" + }, + "error": { + "emptyUrl": "لطفاً URL سرور را وارد کنید", + "unreachable": "اتصال به سرور ممکن نشد", + "testFailed": "آزمون اتصال ناموفق بود" + }, + "testing": "در حال آزمون اتصال..." + }, + "login": { + "title": "ورود", + "subtitle": "برای ادامه، اطلاعات کاربری خود را وارد کنید", + "connectingTo": "در حال اتصال به:", + "username": { + "label": "نام کاربری", + "placeholder": "نام کاربری خود را وارد کنید" + }, + "email": { + "label": "ایمیل", + "placeholder": "ایمیل خود را وارد کنید" + }, + "password": { + "label": "گذرواژه", + "placeholder": "گذرواژه خود را وارد کنید" + }, + "error": { + "emptyUsername": "لطفاً نام کاربری خود را وارد کنید", + "emptyEmail": "لطفاً ایمیل خود را وارد کنید", + "emptyPassword": "لطفاً گذرواژه خود را وارد کنید", + "oauthFailed": "ورود OAuth ناموفق بود. لطفاً دوباره تلاش کنید." + }, + "submit": "ورود", + "signInWith": "ورود با", + "oauthPending": "در حال باز کردن مرورگر برای احراز هویت...", + "orContinueWith": "یا با ایمیل ادامه دهید" + } + }, + "oauth": { + "success": { + "title": "احراز هویت موفق بود", + "message": "می‌توانید این پنجره را ببندید و به Stirling PDF برگردید." + }, + "error": { + "title": "احراز هویت ناموفق بود", + "message": "احراز هویت موفق نبود. می‌توانید این پنجره را ببندید و دوباره تلاش کنید." + } + }, + "pdfTextEditor": { + "title": "ویرایشگر JSON PDF", + "viewLabel": "ویرایشگر PDF", + "converting": "در حال تبدیل PDF به قالب قابل ویرایش...", + "conversionFailed": "تبدیل PDF ناموفق بود. لطفاً دوباره تلاش کنید.", + "currentFile": "فایل فعلی: {{name}}", + "pageSummary": "صفحه {{number}} از {{total}}", + "pagePreviewAlt": "پیش‌نمایش صفحه", + "imageLabel": "تصویر قرارگرفته", + "noTextOnPage": "متن قابل ویرایش در این صفحه شناسایی نشد.", + "pageType": { + "paragraph": "صفحه پاراگراف", + "sparse": "متن پراکنده" + }, + "groupingMode": { + "auto": "خودکار", + "paragraph": "پاراگراف", + "singleLine": "تک‌خطی" + }, + "badges": { + "unsaved": "ویرایش‌شده", + "modified": "ویرایش‌شده", + "earlyAccess": "دسترسی زودهنگام" + }, + "actions": { + "reset": "بازنشانی تغییرات", + "downloadJson": "دانلود JSON", + "generatePdf": "تولید PDF" + }, + "options": { + "autoScaleText": { + "title": "مقیاس خودکار متن برای جا شدن در باکس‌ها", + "description": "وقتی رندر فونت با PDF متفاوت باشد، متن را به‌صورت افقی خودکار مقیاس می‌کند تا در باکس مرزی اصلی خود جای بگیرد." + }, + "groupingMode": { + "title": "حالت گروه‌بندی متن", + "autoDescription": "نوع صفحه را خودکار تشخیص می‌دهد و متن را به‌طور مناسب گروه‌بندی می‌کند.", + "paragraphDescription": "خطوط هم‌تراز را به باکس‌های متن پاراگراف چندخطی گروه‌بندی می‌کند.", + "singleLineDescription": "هر خط متن PDF را به‌صورت باکس متن جدا نگه می‌دارد." + }, + "manualGrouping": { + "descriptionInline": "نکته: برای انتخاب چندگانه باکس‌های متن، Ctrl (یا Cmd) یا Shift را نگه دارید. یک نوار ابزار شناور بالای انتخاب ظاهر می‌شود تا بتوانید ادغام، لغو گروه‌بندی یا عرض‌ها را تنظیم کنید." + }, + "forceSingleElement": { + "title": "قفل‌کردن متن ویرایش‌شده به یک عنصر PDF واحد", + "description": "وقتی فعال باشد، هر باکس متن ویرایش‌شده را به‌صورت یک عنصر متن PDF خروجی می‌گیرد تا از هم‌پوشانی گلیف‌ها یا فونت‌های ترکیبی جلوگیری شود." + } + }, + "manual": { + "mergeTooltip": "ادغام باکس‌های انتخاب‌شده", + "merge": "ادغام انتخاب", + "ungroupTooltip": "تقسیم پاراگراف به خطوط", + "ungroup": "لغو گروه‌بندی انتخاب", + "widthMenu": "گزینه‌های عرض", + "expandWidth": "گسترش تا لبه صفحه", + "resetWidth": "بازنشانی عرض", + "resizeHandle": "تنظیم عرض متن" + }, + "disclaimer": { + "heading": "محدودیت‌های پیش‌نمایش", + "textFocus": "این فضای کار بر ویرایش متن و جابه‌جایی تصاویر تعبیه‌شده تمرکز دارد. آثار پیچیده صفحه، ابزارک‌های فرم و گرافیک‌های لایه‌ای برای خروجی حفظ می‌شوند اما اینجا به‌طور کامل قابل ویرایش نیستند.", + "previewVariance": "برخی عناصر بصری (مانند کادرهای جدول، اشکال یا نمایش حاشیه‌نویسی‌ها) ممکن است در پیش‌نمایش دقیق نمایش داده نشوند. فایل PDF خروجی تا حد امکان دستورات ترسیم اصلی را حفظ می‌کند.", + "alpha": "این نمایشگر آلفا هنوز در حال تکامل است—برخی فونت‌ها، رنگ‌ها، افکت‌های شفافیت و جزئیات چیدمان ممکن است کمی تغییر کنند. لطفاً پیش از اشتراک‌گذاری، PDF تولیدشده را دوباره بررسی کنید." + }, + "empty": { + "title": "هیچ سندی بارگذاری نشده است", + "subtitle": "برای شروع ویرایش متن، یک فایل PDF یا JSON بارگذاری کنید." + }, + "welcomeBanner": { + "title": "به ویرایشگر متن PDF (دسترسی زودهنگام) خوش آمدید", + "experimental": "این قابلیت آزمایشی و در حال توسعه است؛ کمی ناپایداری و مشکل محتمل است.", + "howItWorks": "این ابزار PDF شما را به قالبی قابل ویرایش تبدیل می‌کند تا متن را تغییر دهید و تصاویر را جابه‌جا کنید. تغییرات به‌صورت یک PDF جدید ذخیره می‌شود.", + "bestFor": "بهترین عملکرد برای:", + "bestFor1": "PDFهای ساده با متن و تصویر", + "bestFor2": "اسناد با قالب‌بندی استاندارد پاراگراف", + "bestFor3": "نامه‌ها، مقاله‌ها، گزارش‌ها و اسناد پایه", + "notIdealFor": "نامناسب برای:", + "notIdealFor1": "PDFهایی با قالب‌بندی ویژه مانند بولت‌ها، جدول‌ها یا چیدمان چندستونه", + "notIdealFor2": "مجلات، بروشورها یا اسناد با طراحی سنگین", + "notIdealFor3": "راهنماها با چیدمان پیچیده", + "limitations": "محدودیت‌های فعلی:", + "limitation1": "رندر فونت ممکن است کمی با PDF اصلی تفاوت داشته باشد", + "limitation2": "گرافیک‌های پیچیده، فیلدهای فرم و حاشیه‌نویسی‌ها حفظ می‌شوند اما قابل ویرایش نیستند", + "limitation3": "فایل‌های بزرگ ممکن است برای تبدیل و پردازش زمان‌بر باشند", + "knownIssues": "مشکلات شناخته‌شده (در حال رفع):", + "issue1": "رنگ متن فعلاً حفظ نمی‌شود (به‌زودی اضافه می‌شود)", + "issue2": "در حالت پاراگراف مشکلات تراز و فاصله بیشتر است - حالت تک‌خط توصیه می‌شود", + "issue3": "نمایش پیش‌نمایش با PDF خروجی متفاوت است - PDFهای خروجی به نسخه اصلی نزدیک‌ترند", + "issue4": "تراز متن چرخیده ممکن است نیاز به تنظیم دستی داشته باشد", + "issue5": "شفافیت و افکت‌های لایه‌بندی ممکن است با اصل متفاوت باشد", + "feedback": "این قابلیت در مرحله دسترسی اولیه است. لطفاً هر مشکلی را که با آن مواجه می‌شوید گزارش دهید تا به بهبود کمک کنید!", + "gotIt": "متوجه شدم", + "dontShowAgain": "دیگر نشان نده" + }, + "modeChange": { + "title": "تأیید تغییر حالت", + "warning": "تغییر حالت گروه‌بندی متن همه تغییرات ذخیره‌نشده را بازنشانی می‌کند. آیا مطمئن هستید می‌خواهید ادامه دهید؟", + "cancel": "لغو", + "confirm": "بازنشانی و تغییر حالت" + }, + "fontAnalysis": { + "details": "جزئیات فونت", + "embedded": "تعبیه‌شده", + "type": "نوع", + "webFormat": "فرمت وب", + "warnings": "هشدارها", + "suggestions": "یادداشت‌ها", + "currentPageFonts": "فونت‌های این صفحه", + "allFonts": "همه فونت‌ها", + "fallback": "جایگزین", + "missing": "مفقود", + "perfectMessage": "همه فونت‌ها به‌طور کامل قابل بازتولید هستند.", + "warningMessage": "برخی فونت‌ها ممکن است به‌درستی رندر نشوند.", + "infoMessage": "اطلاعات بازتولید فونت در دسترس است.", + "perfect": "بی‌نقص", + "subset": "زیرمجموعه" + }, + "errors": { + "invalidJson": "خواندن فایل JSON ممکن نیست. مطمئن شوید توسط ابزار PDF به JSON تولید شده است.", + "pdfConversion": "تبدیل JSON ویرایش‌شده به PDF ممکن نیست." + } + }, + "auth": { + "sessionExpired": "نشست منقضی شد", + "pleaseLoginAgain": "لطفاً دوباره وارد شوید.", + "accessDenied": "دسترسی رد شد", + "insufficientPermissions": "شما مجوز انجام این اقدام را ندارید." + }, + "addText": { + "title": "افزودن متن", + "header": "افزودن متن به PDFها", + "text": { + "name": "محتوای متن", + "placeholder": "متنی را که می‌خواهید اضافه کنید وارد کنید", + "fontLabel": "فونت", + "fontSizeLabel": "اندازه فونت", + "fontSizePlaceholder": "اندازه فونت را وارد یا انتخاب کنید (8-200)", + "colorLabel": "رنگ متن" + }, + "steps": { + "configure": "پیکربندی متن" + }, + "step": { + "createDesc": "متنی را که می‌خواهید اضافه کنید وارد کنید", + "place": "قراردهی متن", + "placeDesc": "برای افزودن متن روی PDF کلیک کنید" + }, + "instructions": { + "title": "نحوه افزودن متن", + "text": "پس از وارد کردن متن در بالا، برای قرار دادن آن هر جای PDF کلیک کنید.", + "paused": "قراردهی متوقف شد", + "resumeHint": "برای کلیک و افزودن متن، قراردهی را ادامه دهید.", + "noSignature": "برای فعال شدن قراردهی، متن را در بالا وارد کنید." + }, + "mode": { + "move": "جابه‌جایی متن", + "place": "قراردهی متن", + "pause": "توقف قراردهی", + "resume": "ادامه قراردهی" + }, + "results": { + "title": "نتایج افزودن متن" + }, + "error": { + "failed": "هنگام افزودن متن به PDF خطایی رخ داد." + }, + "tags": "متن,حاشیه‌نویسی,برچسب", + "applySignatures": "اعمال متن" } } \ No newline at end of file diff --git a/frontend/public/locales/fr-FR/translation.json b/frontend/public/locales/fr-FR/translation.json index af0ce343a..181e02649 100644 --- a/frontend/public/locales/fr-FR/translation.json +++ b/frontend/public/locales/fr-FR/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Bientôt disponible :", "favorite": "Ajouter aux favoris", "favorites": "Favoris", + "unavailable": "Désactivé par l’administrateur du serveur :", + "unavailableDependency": "Indisponible - outil requis manquant sur le serveur :", "heading": "Tous les outils (vue plein écran)", "noResults": "Essayez d’ajuster votre recherche ou d’afficher/masquer les descriptions pour trouver ce dont vous avez besoin.", "recommended": "Recommandé", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Passer en mode plein écran", "sidebar": "Passer en mode barre latérale" - } + }, + "alpha": "Alpha", + "premiumFeature": "Fonctionnalité Premium :", + "comingSoon": "Bientôt disponible :" }, "unsavedChanges": "Vous avez des modifications non enregistrées sur votre PDF. Que souhaitez-vous faire ?", "areYouSure": "Voulez-vous vraiment quitter ?", @@ -41,6 +46,30 @@ "cancel": "Annuler", "confirm": "Extraire" }, + "defaultApp": { + "title": "Définir comme application PDF par défaut", + "message": "Souhaitez-vous définir Stirling PDF comme éditeur PDF par défaut ?", + "description": "Vous pourrez modifier ce réglage ultérieurement dans les paramètres système.", + "notNow": "Pas maintenant", + "setDefault": "Définir par défaut", + "dismiss": "Ignorer", + "prompt": { + "title": "Définir comme éditeur PDF par défaut", + "message": "Définissez Stirling PDF comme application par défaut pour ouvrir les fichiers PDF." + }, + "success": { + "title": "Application par défaut définie", + "message": "Stirling PDF est désormais votre éditeur PDF par défaut" + }, + "settingsOpened": { + "title": "Paramètres ouverts", + "message": "Veuillez sélectionner Stirling PDF dans vos paramètres système" + }, + "error": { + "title": "Erreur", + "message": "Échec de la définition du gestionnaire PDF par défaut" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Enregistrer", "saveToBrowser": "Enregistrer dans le navigateur", "download": "Télécharger", + "downloadUnavailable": "Téléchargement indisponible pour cet élément", + "saveUnavailable": "Enregistrement indisponible pour cet élément", "pin": "Épingler le fichier (le garder actif après l’exécution de l’outil)", "unpin": "Désépingler le fichier (remplacer après l’exécution de l’outil)", "undoOperationTooltip": "Cliquez pour annuler la dernière opération et restaurer les fichiers d’origine", @@ -168,6 +199,7 @@ }, "edit": "Modifier", "delete": "Supprimer", + "never": "Jamais", "username": "Nom d'utilisateur", "password": "Mot de passe", "welcome": "Bienvenue", @@ -262,7 +294,8 @@ "learnMore": "En savoir plus", "enable": "Activer les analyses", "disable": "Désactiver les analyses", - "settings": "Vous pouvez modifier les paramètres des analyses dans le fichier config/settings.yml" + "settings": "Vous pouvez modifier les paramètres des analyses dans le fichier config/settings.yml", + "privacyAssurance": "Nous ne suivons aucune information personnelle ni le contenu de vos fichiers." }, "navbar": { "favorite": "Favoris", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Paramètres", - "update": "Mise à jour disponible", - "updateAvailable": "{0} est la version actuellement installée. Une nouvelle version ({1}) est disponible.", - "appVersion": "Version de l'application :", - "downloadOption": { - "title": "Choisissez l'option de téléchargement (pour les téléchargements à fichier unique non ZIP) :", - "1": "Ouvrir dans la même fenêtre", - "2": "Ouvrir dans une nouvelle fenêtre", - "3": "Télécharger le fichier" - }, - "zipThreshold": "Compresser les fichiers en ZIP lorsque le nombre de fichiers téléchargés dépasse", - "signOut": "Déconnexion", - "accountSettings": "Paramètres du compte", - "bored": { - "help": "Activer les jeux cachés" - }, - "cacheInputs": { - "name": "Sauvegarder les entrées du formulaire", - "help": "Permet de stocker les entrées précédemment utilisées pour les exécutions futures" + "connection": { + "title": "Mode de connexion", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Auto-hébergé" + }, + "server": "Serveur", + "user": "Connecté en tant que", + "logout": "Se déconnecter" }, "general": { "title": "Général", "description": "Configurer les préférences générales de l’application.", - "account": "Compte", - "accountDescription": "Gérer les paramètres de votre compte", "user": "Utilisateur", - "signedInAs": "Connecté en tant que", "logout": "Se déconnecter", "enableFeatures": { + "dismiss": "Ignorer", "title": "Pour les administrateurs système", "intro": "Activer l’authentification des utilisateurs, la gestion des équipes et les fonctionnalités d’espace de travail pour votre organisation.", "action": "Configurer", "and": "et", "benefit": "Active les rôles utilisateur, la collaboration en équipe, les contrôles d’administration et les fonctionnalités d’entreprise.", - "learnMore": "En savoir plus dans la documentation", - "dismiss": "Ignorer" + "learnMore": "En savoir plus dans la documentation" }, - "autoUnzip": "Décompression automatique des réponses API", - "autoUnzipDescription": "Extraire automatiquement les fichiers des réponses ZIP", - "autoUnzipTooltip": "Extraire automatiquement les fichiers ZIP renvoyés par les opérations API. Désactivez pour conserver les fichiers ZIP intacts. Cela n’affecte pas les flux d’automatisation.", - "autoUnzipFileLimit": "Limite pour la décompression automatique", - "autoUnzipFileLimitDescription": "Nombre maximal de fichiers à extraire du ZIP", - "autoUnzipFileLimitTooltip": "Ne décompressez que si le ZIP contient ce nombre de fichiers ou moins. Définissez une valeur plus élevée pour extraire des ZIP plus volumineux.", "defaultToolPickerMode": "Mode par défaut du sélecteur d’outils", "defaultToolPickerModeDescription": "Choisissez si le sélecteur d’outils s’ouvre par défaut en plein écran ou en barre latérale", "mode": { - "fullscreen": "Plein écran", - "sidebar": "Barre latérale" - } + "sidebar": "Barre latérale", + "fullscreen": "Plein écran" + }, + "autoUnzipTooltip": "Extraire automatiquement les fichiers ZIP renvoyés par les opérations API. Désactivez pour conserver les fichiers ZIP intacts. Cela n’affecte pas les flux d’automatisation.", + "autoUnzip": "Décompression automatique des réponses API", + "autoUnzipDescription": "Extraire automatiquement les fichiers des réponses ZIP", + "autoUnzipFileLimitTooltip": "Ne décompressez que si le ZIP contient ce nombre de fichiers ou moins. Définissez une valeur plus élevée pour extraire des ZIP plus volumineux.", + "autoUnzipFileLimit": "Limite pour la décompression automatique", + "autoUnzipFileLimitDescription": "Nombre maximal de fichiers à extraire du ZIP", + "defaultPdfEditor": "Éditeur PDF par défaut", + "defaultPdfEditorActive": "Stirling PDF est votre éditeur PDF par défaut", + "defaultPdfEditorInactive": "Une autre application est définie par défaut", + "defaultPdfEditorChecking": "Vérification…", + "defaultPdfEditorSet": "Déjà par défaut", + "setAsDefault": "Définir par défaut", + "updates": { + "title": "Mises à jour logicielles", + "description": "Rechercher des mises à jour et voir les informations de version", + "currentVersion": "Version actuelle", + "latestVersion": "Dernière version", + "checkForUpdates": "Rechercher des mises à jour", + "viewDetails": "Voir les détails" + }, + "hideUnavailableTools": "Masquer les outils indisponibles", + "hideUnavailableToolsDescription": "Supprimer les outils désactivés par votre serveur au lieu de les afficher grisés.", + "hideUnavailableConversions": "Masquer les conversions indisponibles", + "hideUnavailableConversionsDescription": "Supprimer les options de conversion désactivées dans l’outil Convertir au lieu de les afficher grisées." }, "hotkeys": { - "title": "Raccourcis clavier", - "description": "Survolez un outil pour voir son raccourci ou personnalisez-le ci-dessous. Cliquez sur « Modifier le raccourci » et appuyez sur une nouvelle combinaison de touches. Appuyez sur Échap pour annuler.", - "errorModifier": { - "mac": "Incluez ⌘ (Commande), ⌥ (Option) ou un autre modificateur dans votre raccourci.", - "windows": "Incluez Ctrl, Alt ou un autre modificateur dans votre raccourci." - }, "errorConflict": "Raccourci déjà utilisé par {{tool}}.", + "searchPlaceholder": "Rechercher des outils…", "none": "Non attribué", "customBadge": "Personnalisé", "defaultLabel": "Par défaut : {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Modifier le raccourci", "reset": "Réinitialiser", "shortcut": "Raccourci", - "noShortcut": "Aucun raccourci défini", - "searchPlaceholder": "Rechercher des outils…" + "noShortcut": "Aucun raccourci défini" } }, + "update": { + "modalTitle": "Mise à jour disponible", + "current": "Version actuelle", + "latest": "Dernière version", + "latestStable": "Dernière version stable", + "priorityLabel": "Priorité", + "recommendedAction": "Action recommandée", + "breakingChangesDetected": "Modifications majeures détectées", + "breakingChangesMessage": "Certaines versions contiennent des modifications majeures. Veuillez consulter les guides de migration ci-dessous avant de mettre à jour.", + "migrationGuides": "Guides de migration", + "viewGuide": "Voir le guide", + "loadingDetailedInfo": "Chargement des informations détaillées…", + "close": "Fermer", + "viewAllReleases": "Voir toutes les versions", + "downloadLatest": "Télécharger la dernière version", + "availableUpdates": "Mises à jour disponibles", + "unableToLoadDetails": "Impossible de charger les informations détaillées.", + "version": "Version", + "urgentUpdateAvailable": "Mise à jour urgente", + "updateAvailable": "Mise à jour disponible", + "releaseNotes": "Notes de version", + "priority": { + "urgent": "Urgente", + "normal": "Normale", + "minor": "Mineure", + "low": "Faible" + }, + "breakingChanges": "Modifications majeures", + "breakingChangesDefault": "Cette version contient des modifications majeures.", + "migrationGuide": "Guide de migration" + }, "changeCreds": { "title": "Modifiez vos identifiants", "header": "Mettez à jour vos identifiants de connexion", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Superposer un PDF sur un autre", "title": "Superposer des PDF" + }, + "pdfTextEditor": { + "title": "Éditeur de texte PDF", + "desc": "Afficher et modifier les exports JSON de Stirling PDF avec édition de texte groupée et régénération du PDF" + }, + "addText": { + "tags": "texte,annotation,étiquette", + "title": "Ajouter du texte", + "desc": "Ajouter du texte personnalisé n’importe où dans votre PDF" } }, "landing": { "addFiles": "Ajouter des fichiers", - "uploadFromComputer": "Téléverser depuis l’ordinateur" + "uploadFromComputer": "Téléverser depuis l’ordinateur", + "openFromComputer": "Ouvrir depuis l’ordinateur" }, "viewPdf": { "tags": "visualiser,lire,annoter,texte,image", @@ -849,6 +922,11 @@ }, "error": { "failed": "Une erreur est survenue lors de la fusion des PDF." + }, + "tooltip": { + "header": { + "title": "Aperçu des paramètres de fusion" + } } }, "split": { @@ -1182,9 +1260,43 @@ "tags": "img,jpg,image,photo", "title": "Ajouter une image", "header": "Ajouter une image", - "everyPage": "Toutes les pages ?", - "upload": "Télécharger une image", - "submit": "Ajouter une image" + "image": { + "name": "Image", + "placeholder": "Téléverser une image", + "label": "Fichier image" + }, + "steps": { + "configure": "Configurer l’image" + }, + "step": { + "createDesc": "Téléversez l’image à ajouter", + "place": "Placer l’image", + "placeDesc": "Cliquez sur le PDF pour ajouter votre image" + }, + "instructions": { + "title": "Comment ajouter des images", + "text": "Après avoir téléversé votre image ci-dessus, cliquez n’importe où sur le PDF pour la placer.", + "paused": "Placement en pause", + "resumeHint": "Reprenez le placement pour cliquer et ajouter votre image.", + "noSignature": "Téléversez une image ci-dessus pour activer le placement." + }, + "mode": { + "move": "Déplacer l’image", + "place": "Placer l’image", + "pause": "Suspendre le placement", + "resume": "Reprendre le placement" + }, + "results": { + "title": "Résultats de l’ajout d’image" + }, + "error": { + "failed": "Une erreur est survenue lors de l’ajout de l’image au PDF." + }, + "saved": { + "defaultLabel": "Image", + "defaultImageLabel": "Image téléversée" + }, + "applySignatures": "Appliquer les images" }, "attachments": { "tags": "intégrer,joindre,fichier,pièce,jointe,embed,attach,file,attachment,attachments", @@ -1397,6 +1509,93 @@ }, "submit": "Modifier" }, + "editTableOfContents": { + "settings": { + "title": "Signets et plan", + "replaceExisting": "Remplacer les signets existants (décocher pour ajouter à la suite)", + "replaceExistingHint": "Lorsqu’il est désactivé, le nouveau plan est ajouté après les signets actuels." + }, + "actions": { + "source": "Charger les signets", + "selectedFile": "Chargé depuis {{file}}", + "noFile": "Sélectionnez un PDF pour extraire les signets existants.", + "loadFromPdf": "Charger depuis le PDF sélectionné", + "importJson": "Importer JSON", + "importClipboard": "Coller le JSON depuis le presse-papiers", + "export": "Exporter les signets", + "exportJson": "Télécharger le JSON", + "exportClipboard": "Copier le JSON dans le presse-papiers", + "clipboardUnavailable": "L’accès au presse-papiers n’est pas disponible dans ce navigateur." + }, + "info": { + "line1": "Chaque signet doit avoir un titre descriptif et la page à ouvrir.", + "line2": "Utilisez des signets enfants pour construire une hiérarchie de chapitres, sections ou sous-sections.", + "line3": "Importez des signets depuis le PDF sélectionné ou un fichier JSON pour gagner du temps." + }, + "workbench": { + "empty": { + "title": "Ouvrez l’outil pour commencer l’édition", + "description": "Sélectionnez l’outil Modifier la table des matières pour charger son espace de travail." + }, + "tabTitle": "Espace de travail du plan", + "subtitle": "Importez des signets, créez des hiérarchies et appliquez le plan sans panneaux latéraux encombrés.", + "noFile": "Aucun PDF sélectionné", + "fileLabel": "Les modifications seront appliquées au PDF actuellement sélectionné.", + "filePrompt": "Choisissez un PDF de votre bibliothèque ou téléversez-en un nouveau pour commencer.", + "changeFile": "Changer de PDF", + "selectFile": "Sélectionner un PDF" + }, + "editor": { + "heading": "Éditeur de signets", + "description": "Ajoutez, imbriquez et réorganisez des signets pour créer le plan de votre PDF.", + "addTopLevel": "Ajouter un signet de premier niveau", + "empty": { + "title": "Aucun signet pour l’instant", + "description": "Importez des signets existants ou commencez par ajouter votre premier élément.", + "action": "Ajouter un premier signet" + }, + "defaultTitle": "Nouveau signet", + "defaultChildTitle": "Signet enfant", + "defaultSiblingTitle": "Nouveau signet", + "untitled": "Signet sans titre", + "childBadge": "Enfant", + "pagePreview": "Page {{page}}", + "field": { + "title": "Titre du signet", + "page": "Numéro de page cible" + }, + "actions": { + "toggle": "Afficher/Masquer les enfants", + "addChild": "Ajouter un signet enfant", + "addSibling": "Ajouter un signet frère", + "remove": "Supprimer le signet" + }, + "confirmRemove": "Supprimer ce signet et tous ses enfants ?" + }, + "messages": { + "loadedTitle": "Signets extraits", + "loadedBody": "Les signets existants du PDF ont été chargés dans l’éditeur.", + "noBookmarks": "Aucun signet trouvé dans le PDF sélectionné.", + "loadFailed": "Impossible d’extraire les signets du PDF sélectionné.", + "imported": "Signets importés", + "importedBody": "Votre plan JSON a remplacé le contenu actuel de l’éditeur.", + "importedClipboard": "Les données du presse-papiers ont remplacé la liste de signets actuelle.", + "invalidJson": "Structure JSON invalide", + "invalidJsonBody": "Veuillez fournir un fichier JSON de signets valide et réessayer.", + "exported": "Téléchargement du JSON prêt", + "copied": "Copié dans le presse-papiers", + "copiedBody": "JSON des signets copié avec succès.", + "copyFailed": "Échec de la copie" + }, + "error": { + "failed": "Échec de la mise à jour de la table des matières" + }, + "submit": "Appliquer la table des matières", + "results": { + "title": "PDF mis à jour avec signets", + "subtitle": "Téléchargez le fichier traité ou annulez l’opération ci-dessous." + } + }, "removePages": { "tags": "supprimer,remove,delete", "title": "Supprimer", @@ -1978,13 +2177,54 @@ "title": "Dessinez votre signature", "clear": "Effacer" }, + "canvas": { + "heading": "Dessinez votre signature", + "clickToOpen": "Cliquez pour ouvrir la zone de dessin", + "modalTitle": "Dessinez votre signature", + "colorLabel": "Couleur", + "penSizeLabel": "Épaisseur du trait", + "penSizePlaceholder": "Taille", + "clear": "Effacer la zone", + "colorPickerTitle": "Choisir la couleur du trait" + }, "text": { "name": "Nom du signataire", - "placeholder": "Saisissez votre nom complet" + "placeholder": "Saisissez votre nom complet", + "fontLabel": "Police", + "fontSizeLabel": "Taille de police", + "fontSizePlaceholder": "Saisir ou sélectionner la taille de police (8-200)", + "colorLabel": "Couleur du texte" }, "clear": "Effacer", "add": "Ajouter", - "saved": "Sceaux enregistrées", + "saved": { + "heading": "Signatures enregistrées", + "description": "Réutilisez vos signatures enregistrées à tout moment.", + "emptyTitle": "Aucune signature enregistrée pour l’instant", + "emptyDescription": "Dessinez, téléversez ou saisissez une signature ci-dessus, puis utilisez « Save to library » pour en garder jusqu’à {{max}} en favoris, prêtes à l’emploi.", + "type": { + "canvas": "Dessin", + "image": "Téléversement", + "text": "Texte" + }, + "limitTitle": "Limite atteinte", + "limitDescription": "Supprimez une signature enregistrée avant d’en ajouter une nouvelle (max {{max}}).", + "carouselPosition": "{{current}} sur {{total}}", + "prev": "Précédent", + "next": "Suivant", + "delete": "Supprimer", + "label": "Libellé", + "defaultLabel": "Signature", + "defaultCanvasLabel": "Signature dessinée", + "defaultImageLabel": "Signature téléversée", + "defaultTextLabel": "Signature saisie", + "saveButton": "Enregistrer la signature", + "saveUnavailable": "Créez d’abord une signature pour l’enregistrer.", + "noChanges": "La signature actuelle est déjà enregistrée.", + "status": { + "saved": "Enregistré" + } + }, "save": "Enregistrer le sceau", "applySignatures": "Appliquer les signatures", "personalSigs": "Sceaux personnels", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Configurer la signature" }, + "step": { + "createDesc": "Choisissez comment créer la signature", + "place": "Placer et enregistrer", + "placeDesc": "Positionnez la signature sur votre PDF" + }, "type": { "title": "Type de signature", "draw": "Dessiner", - "canvas": "Canvas", + "canvas": "Dessin", "image": "Image", - "text": "Texte" + "text": "Texte", + "saved": "Enregistrées" }, "image": { "label": "Téléverser une image de signature", @@ -2019,11 +2265,17 @@ "title": "Comment ajouter une signature", "canvas": "Après avoir dessiné votre signature dans le canvas, fermez la fenêtre modale puis cliquez n’importe où sur le PDF pour la placer.", "image": "Après avoir téléversé l’image de votre signature ci-dessus, cliquez n’importe où sur le PDF pour la placer.", - "text": "Après avoir saisi votre nom ci-dessus, cliquez n’importe où sur le PDF pour placer votre signature." + "saved": "Sélectionnez une signature enregistrée ci-dessus, puis cliquez n’importe où sur le PDF pour la placer.", + "text": "Après avoir saisi votre nom ci-dessus, cliquez n’importe où sur le PDF pour placer votre signature.", + "paused": "Placement en pause", + "resumeHint": "Reprenez le placement pour cliquer et ajouter votre signature.", + "noSignature": "Créez une signature ci-dessus pour activer les outils de placement." }, "mode": { "move": "Déplacer la signature", - "place": "Placer la signature" + "place": "Placer la signature", + "pause": "Suspendre le placement", + "resume": "Reprendre le placement" }, "updateAndPlace": "Mettre à jour et placer", "activate": "Activer le placement de signature", @@ -2163,6 +2415,14 @@ "title": "À propos de Supprimer les annotations", "description": "Cet outil supprimera toutes les annotations (commentaires, surlignages, notes, etc.) de vos documents PDF." }, + "tooltip": { + "header": { + "title": "À propos de la suppression des annotations" + }, + "description": { + "title": "Ce que fait l’outil" + } + }, "error": { "failed": "Une erreur est survenue lors de la suppression des annotations du PDF." } @@ -2627,6 +2887,9 @@ "header": { "title": "Fonctionnement du renommage automatique" }, + "description": { + "title": "Ce que fait l’outil" + }, "howItWorks": { "title": "Renommage intelligent", "text": "Trouve automatiquement le titre dans votre contenu PDF et l’utilise comme nom de fichier.", @@ -2634,6 +2897,9 @@ "bullet2": "Crée un nom de fichier propre et valide à partir du titre détecté", "bullet3": "Conserve le nom d’origine si aucun titre adapté n’est trouvé" } + }, + "settings": { + "title": "À propos" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "Erreur inattendue : {{message}}", "accountCreatedSuccess": "Compte créé avec succès ! Vous pouvez maintenant vous connecter.", "passwordChangedSuccess": "Mot de passe modifié avec succès ! Veuillez vous connecter avec votre nouveau mot de passe.", - "credentialsUpdated": "Vos identifiants ont été mis à jour. Veuillez vous reconnecter." + "credentialsUpdated": "Vos identifiants ont été mis à jour. Veuillez vous reconnecter.", + "defaultCredentials": "Identifiants de connexion par défaut", + "changePasswordWarning": "Veuillez changer votre mot de passe après votre première connexion", + "slides": { + "overview": { + "alt": "Aperçu de Stirling PDF", + "title": "Votre solution tout-en-un pour tous vos besoins PDF.", + "subtitle": "Une suite cloud axée sur la confidentialité pour les PDF, qui vous permet de convertir, signer, caviarder et gérer des documents, avec plus de 50 autres outils puissants." + }, + "edit": { + "alt": "Modifier des PDF", + "title": "Modifiez des PDF pour afficher/sécuriser les informations que vous souhaitez", + "subtitle": "Avec plus d’une douzaine d’outils pour caviarder, signer, lire et manipuler des PDF, vous trouverez forcément ce que vous cherchez." + }, + "secure": { + "alt": "Sécuriser des PDF", + "title": "Protégez les informations sensibles de vos PDF", + "subtitle": "Ajoutez des mots de passe, caviardez du contenu et gérez des certificats en toute simplicité." + } + } }, "signup": { "title": "Créer un compte", @@ -3598,7 +3883,9 @@ "exportAll": "Exporter le PDF", "downloadSelected": "Télécharger les fichiers sélectionnés", "downloadAll": "Tout télécharger", + "saveAll": "Tout enregistrer", "toggleTheme": "Changer de thème", + "toggleBookmarks": "Afficher/Masquer les signets", "language": "Langue", "search": "Rechercher dans le PDF", "panMode": "Mode panoramique", @@ -3685,8 +3972,16 @@ "saved": "Paramètres enregistrés avec succès", "saveSuccess": "Paramètres enregistrés avec succès", "save": "Enregistrer les modifications", + "discard": "Ignorer", "restartRequired": "Redémarrage requis", "loginRequired": "Le mode de connexion doit être activé pour modifier les paramètres d’administration", + "unsavedChanges": { + "title": "Modifications non enregistrées", + "message": "Vous avez des modifications non enregistrées. Voulez-vous les ignorer ?", + "cancel": "Continuer l’édition", + "discard": "Ignorer les modifications", + "hint": "Vous avez des modifications non enregistrées" + }, "loginDisabled": { "title": "Mode de connexion requis", "message": "Le mode de connexion doit être activé pour modifier les paramètres d’administration. Veuillez définir SECURITY_ENABLELOGIN=true dans votre environnement ou security.enableLogin: true dans settings.yml, puis redémarrer le serveur.", @@ -4204,7 +4499,7 @@ "description": "URL ou nom de fichier de la politique de cookies" }, "impressum": { - "label": "Impressum", + "label": "Mentions légales", "description": "URL ou nom de fichier de l’impressum (obligatoire dans certaines juridictions)" } }, @@ -4212,9 +4507,21 @@ "title": "Premium & Enterprise", "description": "Configurer votre clé de licence Premium ou Enterprise.", "license": "Configuration de la licence", + "licenseKey": { + "toggle": "Vous avez une clé de licence ou un fichier de certificat ?", + "info": "Si vous avez une clé de licence ou un fichier de certificat suite à un achat direct, vous pouvez l’entrer ici pour activer les fonctionnalités Premium ou Enterprise." + }, "key": { "label": "Clé de licence", - "description": "Saisissez votre clé de licence Premium ou Enterprise" + "description": "Saisissez votre clé de licence Premium ou Enterprise", + "success": "Clé de licence enregistrée", + "successMessage": "Votre clé de licence a été activée avec succès. Aucun redémarrage requis.", + "overwriteWarning": { + "title": "⚠️ Avertissement : licence existante détectée", + "line1": "Écraser votre clé de licence actuelle est irréversible.", + "line2": "Votre licence précédente sera définitivement perdue, sauf si vous l’avez sauvegardée ailleurs.", + "line3": "Important : gardez vos clés de licence privées et sécurisées. Ne les partagez jamais publiquement." + } }, "enabled": { "label": "Activer les fonctionnalités Premium", @@ -4278,12 +4585,17 @@ "or": "ou", "dropFileHere": "Déposez un fichier ici ou cliquez pour téléverser", "dropFilesHere": "Déposez des fichiers ici ou cliquez sur le bouton de téléversement", + "dropFilesHereOpen": "Déposez des fichiers ici ou cliquez sur le bouton Ouvrir", "pdfFilesOnly": "Fichiers PDF uniquement", "supportedFileTypes": "Types de fichiers pris en charge", "upload": "Téléverser", "uploadFile": "Téléverser un fichier", "uploadFiles": "Téléverser des fichiers", + "open": "Ouvrir", + "openFile": "Ouvrir un fichier", + "openFiles": "Ouvrir des fichiers", "noFilesInStorage": "Aucun fichier disponible dans le stockage. Téléversez d’abord des fichiers.", + "noFilesInStorageOpen": "Aucun fichier disponible dans le stockage. Ouvrez d’abord des fichiers.", "selectFromStorage": "Sélectionner depuis le stockage", "backToTools": "Retour aux outils", "addFiles": "Ajouter des fichiers", @@ -4329,6 +4641,8 @@ "myFiles": "Mes fichiers", "noRecentFiles": "Aucun fichier récent trouvé", "googleDriveNotAvailable": "Intégration Google Drive non disponible", + "downloadSelected": "Télécharger la sélection", + "saveSelected": "Enregistrer la sélection", "openFiles": "Ouvrir des fichiers", "openFile": "Ouvrir le fichier", "details": "Détails du fichier", @@ -4341,7 +4655,6 @@ "selectAll": "Tout sélectionner", "deselectAll": "Tout déselectionner", "deleteSelected": "Supprimer la sélection", - "downloadSelected": "Télécharger la sélection", "selectedCount": "{{count}} sélectionné(s)", "download": "Télécharger", "delete": "Supprimer", @@ -4621,9 +4934,14 @@ "secureWorkflow": "Workflow de sécurité", "secureWorkflowDesc": "Sécurise les documents PDF en supprimant les contenus potentiellement malveillants comme JavaScript et les fichiers intégrés, puis ajoute une protection par mot de passe pour empêcher tout accès non autorisé. Par défaut, le mot de passe est « password ».", "processImages": "Traiter les images", - "processImagesDesc": "Convertit plusieurs fichiers image en un seul document PDF, puis applique la technologie OCR pour extraire un texte recherchable à partir des images." + "processImagesDesc": "Convertit plusieurs fichiers image en un seul document PDF, puis applique la technologie OCR pour extraire un texte recherchable à partir des images.", + "prePublishSanitization": "Nettoyage avant publication", + "prePublishSanitizationDesc": "Flux de nettoyage qui supprime toutes les métadonnées cachées, JavaScript, fichiers intégrés, annotations, et aplatit les formulaires pour éviter toute fuite de données avant de publier des PDF en ligne." } }, + "colorPicker": { + "title": "Choisir la couleur" + }, "common": { "previous": "Précédent", "next": "Suivant", @@ -4639,7 +4957,13 @@ "used": "utilisé", "available": "disponible", "cancel": "Annuler", - "preview": "Aperçu" + "preview": "Aperçu", + "close": "Fermer", + "done": "Terminé", + "loading": "Chargement…", + "back": "Retour", + "continue": "Continuer", + "error": "Erreur" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Ajouter d’autres fichiers…", "selectedFiles": "Fichiers sélectionnés", "submit": "Ajouter les pièces jointes", + "tooltip": { + "header": { + "title": "À propos de l’ajout de pièces jointes" + }, + "description": { + "title": "Ce que fait l’outil" + } + }, "results": { "title": "Résultats des pièces jointes" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Position personnalisée", "details": "Détails", - "downloadUnavailable": "Téléchargement indisponible pour cet élément", "invalidUndoData": "Impossible d’annuler : données d’opération invalides", "margin": { "large": "Grande", @@ -4801,6 +5132,10 @@ "maybeLater": "Peut-être plus tard", "dontShowAgain": "Ne plus afficher" }, + "welcomeSlide": { + "title": "Bienvenue dans Stirling", + "body": "Stirling PDF est désormais prêt pour des équipes de toutes tailles. Cette mise à jour inclut une nouvelle interface, de puissantes fonctionnalités d’administration et notre fonctionnalité la plus demandée — Modifier le texte." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Sélectionnons l’outil Rogner pour montrer comment utiliser l’un des outils.", "toolInterface": "Voici l’interface de l’outil Rogner. Comme vous pouvez le voir, il n’y a pas grand-chose pour l’instant car nous n’avons pas encore ajouté de fichiers PDF sur lesquels travailler.", @@ -4823,7 +5158,39 @@ "next": "Suivant", "finish": "Terminer", "startTour": "Commencer la visite", - "startTourDescription": "Suivez une visite guidée des fonctionnalités clés de Stirling PDF" + "startTourDescription": "Suivez une visite guidée des fonctionnalités clés de Stirling PDF", + "buttons": { + "next": "Suivant →", + "back": "Retour", + "skipForNow": "Passer pour l’instant", + "download": "Télécharger →", + "showMeAround": "Faites-moi faire le tour", + "skipTheTour": "Passer la visite" + }, + "serverLicense": { + "skip": "Passer pour l’instant", + "seePlans": "Voir les offres →", + "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 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." + }, + "desktopInstall": { + "title": "Télécharger", + "titleWithOs": "Télécharger pour {{osLabel}}", + "body": "Stirling fonctionne mieux en application de bureau. Vous pouvez l’utiliser hors ligne, accéder plus rapidement aux documents et effectuer des modifications en local sur votre ordinateur." + }, + "planOverview": { + "adminTitle": "Aperçu admin", + "userTitle": "Aperçu du plan", + "adminBodyLoginEnabled": "En tant qu’admin, vous pouvez gérer les utilisateurs, configurer les paramètres et surveiller la santé du serveur. Les {{freeTierLimit}} premières personnes sur votre serveur utilisent Stirling gratuitement.", + "adminBodyLoginDisabled": "Une fois le mode connexion activé, vous pourrez gérer les utilisateurs, configurer les paramètres et surveiller la santé du serveur. Les {{freeTierLimit}} premières personnes sur votre serveur utilisent Stirling gratuitement.", + "userBody": "Invitez des coéquipiers, assignez des rôles et gardez vos documents organisés dans un espace de travail sécurisé. Activez le mode connexion quand vous êtes prêt à aller au‑delà d’un usage solo." + }, + "securityCheck": { + "message": "L’application a subi des changements importants récemment. L’attention de l’administrateur du serveur peut être requise. Veuillez confirmer votre rôle pour continuer." + } }, "adminOnboarding": { "welcome": "Bienvenue dans la Visite Admin ! Explorons les puissantes fonctionnalités d’entreprise et les paramètres disponibles pour les administrateurs système.", @@ -4852,7 +5219,10 @@ "role": "Rôle", "team": "Équipe", "status": "Statut", - "actions": "Actions", + "actions": { + "label": "Actions", + "upgrade": "Mettre à niveau" + }, "noMembersFound": "Aucun membre trouvé", "active": "Actif", "disabled": "Désactivé", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} place(s) utilisateur disponibles", "noSlotsAvailable": "Aucune place disponible", "currentUsage": "Utilise actuellement {{current}} sur {{max}} licences utilisateur" - } + }, + "loginRequired": "Activez d’abord le mode connexion" }, "teams": { "title": "Équipes", @@ -5057,6 +5428,17 @@ "showComparison": "Comparer toutes les fonctionnalités", "hideComparison": "Masquer la comparaison des fonctionnalités", "featureComparison": "Comparaison des fonctionnalités", + "from": "À partir de", + "perMonth": "/mois", + "perSeat": "/place", + "withServer": "+ Plan Server", + "licensedSeats": "Licences : {{count}} places", + "includedInCurrent": "Inclus dans votre plan", + "selectPlan": "Choisir un plan", + "manage": "Gérer", + "manageSubscription": { + "description": "Gérez votre abonnement, la facturation et les moyens de paiement" + }, "activePlan": { "title": "Forfait actif", "subtitle": "Détails de votre abonnement actuel" @@ -5074,13 +5456,16 @@ "upTo": "Jusqu’à" }, "period": { - "month": "mois" + "month": "mois", + "perUserPerMonth": "/utilisateur/mois" }, "free": { "name": "Gratuit", "highlight1": "Utilisation des outils limitée par semaine", "highlight2": "Accès à tous les outils", - "highlight3": "Support communautaire" + "highlight3": "Support communautaire", + "forever": "Gratuit pour toujours", + "included": "Inclus" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Entreprise", "highlight1": "Tarification personnalisée", "highlight2": "Support dédié", - "highlight3": "Fonctionnalités les plus récentes" + "highlight3": "Fonctionnalités les plus récentes", + "requiresServer": "Nécessite Server", + "requiresServerMessage": "Veuillez d’abord passer au plan Server avant de passer à Enterprise." }, "feature": { "title": "Fonctionnalité", @@ -5102,6 +5489,12 @@ "api": "Accès à l’API", "priority": "Support prioritaire", "customPricing": "Tarification personnalisée" + }, + "licenseWarning": { + "title": "Limite de l’auto‑hébergement gratuit atteinte", + "body": "Vous avez {{total}} utilisateurs, mais le niveau gratuit ne prend en charge que {{limit}} par serveur. Mettez à niveau pour que Stirling PDF continue de fonctionner correctement.", + "overLimit": "plus de {{limit}}", + "cta": "Voir les offres" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Gérer la facturation", "portal": { "error": "Échec de l’ouverture du portail de facturation" - } + }, + "updateSeats": "Mettre à jour les places", + "updateEnterpriseSeats": "Mettre à jour les places Enterprise", + "currentSeats": "Places actuelles", + "minimumSeats": "Places minimales", + "basedOnUsers": "(utilisateurs actuels)", + "newSeatCount": "Nouveau nombre de places", + "newSeatCountDescription": "Sélectionnez le nombre de places pour votre licence Enterprise", + "whatHappensNext": "Et ensuite ?", + "stripePortalRedirect": "Vous serez redirigé vers le portail de facturation Stripe pour vérifier et confirmer la modification du nombre de places. Le montant au prorata sera calculé automatiquement.", + "preparingUpdate": "Préparation de la mise à jour des places…", + "seatCountTooLow": "Le nombre de places doit être d’au moins {{minimum}} (nombre actuel d’utilisateurs)", + "seatCountUnchanged": "Veuillez choisir un nombre de places différent", + "seatsUpdated": "Places mises à jour", + "seatsUpdatedMessage": "Vos places Enterprise ont été mises à jour à {{seats}}", + "updateProcessing": "Mise à jour en cours", + "updateProcessingMessage": "Votre mise à jour des places est en cours de traitement. Veuillez actualiser dans quelques instants.", + "notEnterprise": "La gestion des places est réservée aux licences Enterprise" + }, + "upgradeBanner": { + "title": "Passer au plan Server", + "message": "Tirez le meilleur parti de Stirling PDF avec des utilisateurs illimités et des fonctionnalités avancées", + "upgradeButton": "Mettre à niveau maintenant", + "dismiss": "Masquer la bannière", + "attentionTitle": "Ce serveur nécessite l’attention d’un administrateur", + "attentionBody": "Votre administrateur doit se connecter pour voir plus d’informations. Veuillez le contacter immédiatement.", + "attentionBodyAdmin": "Vérifiez les exigences de licence pour maintenir ce serveur conforme.", + "seeInfo": "Voir les infos" }, "payment": { "preparing": "Préparation de votre paiement...", @@ -5128,7 +5548,61 @@ "success": "Paiement réussi !", "successMessage": "Votre abonnement a été activé avec succès. Vous recevrez un e-mail de confirmation sous peu.", "autoClose": "Cette fenêtre se fermera automatiquement...", - "error": "Erreur de paiement" + "error": "Erreur de paiement", + "upgradeSuccess": "Paiement réussi ! Votre abonnement a été mis à niveau. La licence a été mise à jour sur votre serveur. Vous recevrez bientôt un e‑mail de confirmation.", + "paymentSuccess": "Paiement réussi ! Récupération de votre clé de licence…", + "licenseActivated": "Licence activée ! Votre clé de licence a été enregistrée. Un e‑mail de confirmation a été envoyé à l’adresse enregistrée.", + "licenseDelayed": "Paiement réussi ! Votre licence est en cours de génération. Vous recevrez bientôt un e‑mail avec votre clé de licence. Si vous ne la recevez pas sous 10 minutes, veuillez contacter le support.", + "licensePollingError": "Paiement réussi mais nous n’avons pas pu récupérer votre clé de licence automatiquement. Veuillez vérifier votre e‑mail ou contacter le support avec votre confirmation de paiement.", + "licenseRetrievalError": "Paiement réussi mais l’obtention de la licence a échoué. Vous recevrez votre clé de licence par e‑mail. Veuillez contacter le support si vous ne la recevez pas sous 10 minutes.", + "syncError": "Paiement réussi mais la synchronisation de la licence a échoué. Votre licence sera mise à jour sous peu. Veuillez contacter le support si le problème persiste.", + "licenseSaveError": "Échec de l’enregistrement de la clé de licence. Veuillez contacter le support avec votre clé pour finaliser l’activation.", + "paymentCanceled": "Le paiement a été annulé. Aucun débit effectué.", + "syncingLicense": "Synchronisation de votre licence mise à niveau…", + "generatingLicense": "Génération de votre clé de licence…", + "upgradeComplete": "Mise à niveau terminée", + "upgradeCompleteMessage": "Votre abonnement a été mis à niveau avec succès. Votre clé de licence existante a été mise à jour.", + "stripeNotConfigured": "Stripe non configuré", + "stripeNotConfiguredMessage": "L’intégration de paiement Stripe n’est pas configurée. Veuillez contacter votre administrateur.", + "monthly": "Mensuel", + "yearly": "Annuel", + "billingPeriod": "Période de facturation", + "enterpriseNote": "Les places peuvent être ajustées au paiement (1–1000).", + "installationId": "ID d’installation", + "licenseKey": "Votre clé de licence", + "licenseInstructions": "Ceci a été ajouté à votre installation. Vous en recevrez aussi une copie par e‑mail.", + "canCloseWindow": "Vous pouvez maintenant fermer cette fenêtre.", + "licenseKeyProcessing": "Traitement de la clé de licence", + "licenseDelayedMessage": "Votre clé de licence est en cours de génération. Veuillez consulter votre e‑mail prochainement ou contacter le support.", + "perYear": "/an", + "perMonth": "/mois", + "emailInvalid": "Veuillez saisir une adresse e‑mail valide", + "emailStage": { + "title": "Entrez votre e‑mail", + "description": "Nous l’utiliserons pour vous envoyer votre clé de licence et vos reçus.", + "emailLabel": "Adresse e‑mail", + "emailPlaceholder": "votre@email.com", + "continue": "Continuer", + "modalTitle": "Commencer — {{planName}}" + }, + "planStage": { + "title": "Choisissez votre période de facturation", + "savingsNote": "Économisez {{percent}} % avec la facturation annuelle", + "basePrice": "Prix de base", + "seatPrice": "Par place", + "totalForSeats": "Total ({{count}} places)", + "selectMonthly": "Choisir Mensuel", + "selectYearly": "Choisir Annuel", + "savePercent": "Économisez {{percent}} %", + "savingsAmount": "Vous économisez {{amount}}", + "modalTitle": "Sélectionner la période de facturation — {{planName}}", + "billedYearly": "Facturé annuellement {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Retour à la sélection du plan", + "selectedPlan": "Plan sélectionné", + "modalTitle": "Finaliser le paiement — {{planName}}" + } }, "firstLogin": { "title": "Première connexion", @@ -5199,7 +5673,7 @@ "tabs": { "dashboard": "Tableau de bord", "events": "Événements d’audit", - "export": "Export" + "export": "Exporter" }, "charts": { "title": "Tableau de bord d’audit", @@ -5287,5 +5761,281 @@ "offline": "Backend hors ligne", "starting": "Démarrage du backend...", "wait": "Veuillez attendre la fin du lancement du backend, puis réessayez." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Déverrouillez le PDF pour continuer", + "title": "Supprimer le mot de passe pour continuer", + "description": "Ce PDF est protégé par mot de passe. Saisissez le mot de passe pour continuer à travailler dessus.", + "password": { + "label": "Mot de passe PDF", + "placeholder": "Entrez le mot de passe du PDF" + }, + "skip": "Passer pour l’instant", + "unlock": "Déverrouiller et continuer", + "incorrectPassword": "Mot de passe incorrect", + "missingFile": "Le fichier sélectionné n’est plus disponible.", + "emptyResponse": "La suppression du mot de passe n’a produit aucun fichier.", + "required": "Entrez le mot de passe pour continuer.", + "successTitle": "Mot de passe supprimé", + "successBodyWithName": "Mot de passe supprimé de {{fileName}}", + "successBody": "Mot de passe supprimé avec succès." + }, + "setup": { + "welcome": "Bienvenue dans Stirling PDF", + "description": "Commencez par choisir comment vous souhaitez utiliser Stirling PDF", + "step1": { + "label": "Choisir un mode", + "description": "Hors ligne ou serveur" + }, + "step2": { + "label": "Sélectionner un serveur", + "description": "Serveur auto‑hébergé" + }, + "step3": { + "label": "Connexion", + "description": "Saisir les identifiants" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Connectez-vous avec votre compte Stirling" + }, + "selfhosted": { + "title": "Serveur auto‑hébergé", + "description": "Connectez-vous à votre propre serveur Stirling PDF" + } + }, + "saas": { + "title": "Se connecter à Stirling", + "subtitle": "Connectez-vous avec votre compte Stirling" + }, + "selfhosted": { + "title": "Se connecter au serveur", + "subtitle": "Saisissez les identifiants du serveur" + }, + "server": { + "title": "Connexion au serveur", + "subtitle": "Saisissez l’URL de votre serveur auto‑hébergé", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Serveur auto‑hébergé" + }, + "url": { + "label": "URL du serveur", + "description": "Saisissez l’URL complète de votre serveur Stirling PDF auto‑hébergé" + }, + "error": { + "emptyUrl": "Veuillez saisir une URL de serveur", + "unreachable": "Connexion au serveur impossible", + "testFailed": "Échec du test de connexion" + }, + "testing": "Test de connexion…" + }, + "login": { + "title": "Se connecter", + "subtitle": "Saisissez vos identifiants pour continuer", + "connectingTo": "Connexion à :", + "username": { + "label": "Nom d’utilisateur", + "placeholder": "Entrez votre nom d’utilisateur" + }, + "email": { + "label": "Email", + "placeholder": "Saisissez votre email" + }, + "password": { + "label": "Mot de passe", + "placeholder": "Saisissez votre mot de passe" + }, + "error": { + "emptyUsername": "Veuillez saisir votre nom d'utilisateur", + "emptyEmail": "Veuillez saisir votre email", + "emptyPassword": "Veuillez saisir votre mot de passe", + "oauthFailed": "La connexion OAuth a échoué. Veuillez réessayer." + }, + "submit": "Se connecter", + "signInWith": "Se connecter avec", + "oauthPending": "Ouverture du navigateur pour l'authentification...", + "orContinueWith": "Ou continuer avec l’email" + } + }, + "oauth": { + "success": { + "title": "Authentification réussie", + "message": "Vous pouvez fermer cette fenêtre et revenir à Stirling PDF." + }, + "error": { + "title": "Échec de l'authentification", + "message": "L'authentification n'a pas abouti. Vous pouvez fermer cette fenêtre et réessayer." + } + }, + "pdfTextEditor": { + "title": "Éditeur JSON de PDF", + "viewLabel": "Éditeur PDF", + "converting": "Conversion du PDF en format modifiable...", + "conversionFailed": "Échec de la conversion du PDF. Veuillez réessayer.", + "currentFile": "Fichier actuel : {{name}}", + "pageSummary": "Page {{number}} sur {{total}}", + "pagePreviewAlt": "Aperçu de la page", + "imageLabel": "Image placée", + "noTextOnPage": "Aucun texte modifiable n'a été détecté sur cette page.", + "pageType": { + "paragraph": "Page de paragraphe", + "sparse": "Texte clairsemé" + }, + "groupingMode": { + "auto": "Auto", + "paragraph": "Paragraphe", + "singleLine": "Ligne unique" + }, + "badges": { + "unsaved": "Modifié", + "modified": "Modifié", + "earlyAccess": "Accès anticipé" + }, + "actions": { + "reset": "Réinitialiser les modifications", + "downloadJson": "Télécharger le JSON", + "generatePdf": "Générer le PDF" + }, + "options": { + "autoScaleText": { + "title": "Ajuster automatiquement le texte aux cadres", + "description": "Ajuste automatiquement le texte horizontalement pour tenir dans sa boîte englobante d'origine lorsque le rendu de police diffère du PDF." + }, + "groupingMode": { + "title": "Mode de regroupement du texte", + "autoDescription": "Détecte automatiquement le type de page et regroupe le texte en conséquence.", + "paragraphDescription": "Regroupe les lignes alignées en boîtes de texte multiligne.", + "singleLineDescription": "Conserve chaque ligne de texte du PDF comme une boîte distincte." + }, + "manualGrouping": { + "descriptionInline": "Astuce : Maintenez Ctrl (Cmd) ou Shift pour sélectionner plusieurs boîtes de texte. Une barre d'outils flottante apparaîtra au-dessus de la sélection pour fusionner, dissocier ou ajuster les largeurs." + }, + "forceSingleElement": { + "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." + } + }, + "manual": { + "mergeTooltip": "Fusionner les boîtes sélectionnées", + "merge": "Fusionner la sélection", + "ungroupTooltip": "Scinder le paragraphe en lignes", + "ungroup": "Dissocier la sélection", + "widthMenu": "Options de largeur", + "expandWidth": "Étendre jusqu'au bord de la page", + "resetWidth": "Réinitialiser la largeur", + "resizeHandle": "Ajuster la largeur du texte" + }, + "disclaimer": { + "heading": "Limites de l'aperçu", + "textFocus": "Cet espace de travail se concentre sur l'édition du texte et le repositionnement des images intégrées. Les éléments graphiques complexes, widgets de formulaires et couches sont conservés pour l'export, mais ne sont pas entièrement modifiables ici.", + "previewVariance": "Certains éléments visuels (tels que les bordures de tableaux, formes ou apparences d'annotations) peuvent ne pas s'afficher exactement dans l'aperçu. Le PDF exporté conserve les commandes de dessin originales lorsque c'est possible.", + "alpha": "Ce visualiseur 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." + }, + "empty": { + "title": "Aucun document chargé", + "subtitle": "Chargez un fichier PDF ou JSON pour commencer à modifier le texte." + }, + "welcomeBanner": { + "title": "Bienvenue dans l'éditeur de texte PDF (accès anticipé)", + "experimental": "Fonctionnalité expérimentale en développement actif. Attendez-vous à une certaine instabilité et à des problèmes à l'usage.", + "howItWorks": "Cet outil convertit votre PDF en un format modifiable où vous pouvez modifier le texte et repositionner des images. Les changements sont enregistrés dans un nouveau PDF.", + "bestFor": "Fonctionne mieux avec :", + "bestFor1": "PDF simples contenant principalement du texte et des images", + "bestFor2": "Documents avec une mise en forme de paragraphe standard", + "bestFor3": "Lettres, essais, rapports et documents simples", + "notIdealFor": "Peu adapté à :", + "notIdealFor1": "PDF avec des mises en forme spéciales comme des puces, des tableaux ou des mises en page multicolonnes", + "notIdealFor2": "Magazines, brochures ou documents très graphiques", + "notIdealFor3": "Manuels d'instructions aux mises en page complexes", + "limitations": "Limitations actuelles :", + "limitation1": "Le rendu des polices peut différer légèrement du PDF original", + "limitation2": "Les graphiques complexes, champs de formulaire et annotations sont conservés mais non modifiables", + "limitation3": "Les fichiers volumineux peuvent prendre du temps à convertir et à traiter", + "knownIssues": "Problèmes connus (en cours de correction) :", + "issue1": "La couleur du texte n'est pas encore conservée (sera ajoutée bientôt)", + "issue2": "Le mode Paragraphe présente plus de problèmes d'alignement et d'espacement - mode Ligne unique recommandé", + "issue3": "L'aperçu diffère du PDF exporté - les PDF exportés sont plus proches de l'original", + "issue4": "L'alignement du texte pivoté peut nécessiter un ajustement manuel", + "issue5": "Les effets de transparence et de superposition peuvent varier par rapport à l'original", + "feedback": "Fonction en accès anticipé. Merci de signaler tout problème rencontré pour nous aider à l'améliorer !", + "gotIt": "Compris", + "dontShowAgain": "Ne plus afficher" + }, + "modeChange": { + "title": "Confirmer le changement de mode", + "warning": "Changer le mode de regroupement du texte réinitialisera toutes les modifications non enregistrées. Voulez-vous vraiment continuer ?", + "cancel": "Annuler", + "confirm": "Réinitialiser et changer de mode" + }, + "fontAnalysis": { + "details": "Détails de la police", + "embedded": "Intégrée", + "type": "Type", + "webFormat": "Format Web", + "warnings": "Avertissements", + "suggestions": "Notes", + "currentPageFonts": "Polices sur cette page", + "allFonts": "Toutes les polices", + "fallback": "remplacement", + "missing": "manquante", + "perfectMessage": "Toutes les polices peuvent être reproduites parfaitement.", + "warningMessage": "Certaines polices peuvent ne pas s'afficher correctement.", + "infoMessage": "Informations sur la reproduction des polices disponibles.", + "perfect": "parfait", + "subset": "sous-ensemble" + }, + "errors": { + "invalidJson": "Impossible de lire le fichier JSON. Assurez-vous qu'il a été généré par l'outil PDF vers JSON.", + "pdfConversion": "Impossible de convertir le JSON modifié en PDF." + } + }, + "auth": { + "sessionExpired": "Session expirée", + "pleaseLoginAgain": "Veuillez vous reconnecter.", + "accessDenied": "Accès refusé", + "insufficientPermissions": "Vous n'avez pas l'autorisation d'effectuer cette action." + }, + "addText": { + "title": "Ajouter du texte", + "header": "Ajouter du texte aux PDF", + "text": { + "name": "Contenu du texte", + "placeholder": "Saisissez le texte à ajouter", + "fontLabel": "Police", + "fontSizeLabel": "Taille de police", + "fontSizePlaceholder": "Saisissez ou sélectionnez une taille (8-200)", + "colorLabel": "Couleur du texte" + }, + "steps": { + "configure": "Configurer le texte" + }, + "step": { + "createDesc": "Saisissez le texte à ajouter", + "place": "Placer le texte", + "placeDesc": "Cliquez sur le PDF pour ajouter votre texte" + }, + "instructions": { + "title": "Comment ajouter du texte", + "text": "Après avoir saisi votre texte ci-dessus, cliquez n'importe où sur le PDF pour le placer.", + "paused": "Placement en pause", + "resumeHint": "Reprenez le placement pour cliquer et ajouter votre texte.", + "noSignature": "Saisissez du texte ci-dessus pour activer le placement." + }, + "mode": { + "move": "Déplacer le texte", + "place": "Placer le texte", + "pause": "Mettre en pause le placement", + "resume": "Reprendre le placement" + }, + "results": { + "title": "Résultats de l'ajout de texte" + }, + "error": { + "failed": "Une erreur est survenue lors de l'ajout de texte au PDF." + }, + "tags": "texte,annotation,étiquette", + "applySignatures": "Appliquer le texte" } } \ No newline at end of file diff --git a/frontend/public/locales/ga-IE/translation.json b/frontend/public/locales/ga-IE/translation.json index 5239cd658..c04d55dfe 100644 --- a/frontend/public/locales/ga-IE/translation.json +++ b/frontend/public/locales/ga-IE/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Ag teacht go luath:", "favorite": "Cuir le Ceanáin", "favorites": "Ceanáin", + "unavailable": "Díchumasaithe ag riarthóir freastalaí:", + "unavailableDependency": "Níl ar fáil - uirlis riachtanach ar iarraidh ar an bhfreastalaí:", "heading": "Gach uirlis (radharc lánscáileáin)", "noResults": "Bain triail as do chuardach a choigeartú nó tuairiscí a scoránaigh chun an rud atá uait a aimsiú.", "recommended": "Molta", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Athraigh go mód lánscáileáin", "sidebar": "Athraigh go mód barra taoibh" - } + }, + "alpha": "Alpha", + "premiumFeature": "Gné Préimhe:", + "comingSoon": "Ag teacht go luath:" }, "unsavedChanges": "Tá athruithe gan sábháil agat ar do PDF.", "areYouSure": "An bhfuil tú cinnte gur mian leat imeacht?", @@ -41,6 +46,30 @@ "cancel": "Cealaigh", "confirm": "Bain Amach" }, + "defaultApp": { + "title": "Socraigh mar Aip PDF Réamhshocraithe", + "message": "Ar mhaith leat Stirling PDF a shocrú mar d’eagarthóir réamhshocraithe PDF?", + "description": "Is féidir leat é seo a athrú níos déanaí i socruithe do chórais.", + "notNow": "Ní Anois", + "setDefault": "Socraigh mar Réamhshocraithe", + "dismiss": "Dún", + "prompt": { + "title": "Socraigh mar Eagarthóir PDF Réamhshocraithe", + "message": "Déan Stirling PDF mar d’fheidhmchlár réamhshocraithe chun comhaid PDF a oscailt." + }, + "success": { + "title": "Aip Réamhshocraithe Socraithe", + "message": "Is é Stirling PDF d’eagarthóir PDF réamhshocraithe anois" + }, + "settingsOpened": { + "title": "Socruithe Oscailte", + "message": "Roghnaigh Stirling PDF i socruithe do chórais" + }, + "error": { + "title": "Earráid", + "message": "Theip ar shocrú láimhseálaí PDF réamhshocraithe" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Sábháil", "saveToBrowser": "Sábháil go Brabhsálaí", "download": "Íosluchtaigh", + "downloadUnavailable": "Níl íoslódáil ar fáil don mhír seo", + "saveUnavailable": "Níl sábháil ar fáil don mhír seo", "pin": "Pionnáil Comhad (coinnigh gníomhach tar éis rith na huirlise)", "unpin": "Díphionnáil Comhad (cuir ina ionad tar éis rith na huirlise)", "undoOperationTooltip": "Cliceáil chun an oibríocht dheireanach a chur ar ceal agus na bunchomhaid a athchóiriú", @@ -168,6 +199,7 @@ }, "edit": "Cuir in eagar", "delete": "Scrios", + "never": "Riamh", "username": "Ainm úsáideora", "password": "Pasfhocal", "welcome": "Fáilte", @@ -262,7 +294,8 @@ "learnMore": "Tuilleadh eolais", "enable": "Cumasaigh anailísíocht", "disable": "Díchumasaigh anailísíocht", - "settings": "Is féidir leat na socruithe don anailísíocht a athrú sa chomhad config/settings.yml" + "settings": "Is féidir leat na socruithe don anailísíocht a athrú sa chomhad config/settings.yml", + "privacyAssurance": "Ní dhéanaimid rianú ar aon fhaisnéis phearsanta ná ar ábhar do chuid comhad." }, "navbar": { "favorite": "Ceanáin", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Socruithe", - "update": "Nuashonrú ar fáil", - "updateAvailable": "Is é {0} an leagan suiteáilte reatha. Tá leagan nua ({1}) ar fáil.", - "appVersion": "Leagan Aipe:", - "downloadOption": { - "title": "Roghnaigh rogha íoslódála (Le haghaidh íoslódálacha comhad amháin seachas zip):", - "1": "Oscail sa bhfuinneog chéanna", - "2": "Oscail i bhfuinneog nua", - "3": "Íoslódáil an comhad" - }, - "zipThreshold": "Comhaid zip nuair a sháraíonn líon na gcomhad íoslódála", - "signOut": "Logáil Amach", - "accountSettings": "Socruithe cuntas", - "bored": { - "help": "Cumasaíonn sé cluiche uibheacha Cásca" - }, - "cacheInputs": { - "name": "Sábháil ionchuir fhoirm", - "help": "Cumasaigh ionchuir a úsáideadh roimhe seo a stóráil le haghaidh ritheanna amach anseo" + "connection": { + "title": "Mód Ceangail", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Féin-óstáilte" + }, + "server": "Freastalaí", + "user": "Logáilte isteach mar", + "logout": "Logáil Amach" }, "general": { "title": "Ginearálta", "description": "Cumraigh sainroghanna ginearálta an fheidhmchláir.", - "account": "Cuntas", - "accountDescription": "Bainistigh socruithe do chuntais", "user": "Úsáideoir", - "signedInAs": "Sínithe isteach mar", "logout": "Logáil amach", "enableFeatures": { + "dismiss": "Díbhe", "title": "Do Riarthóirí Córais", "intro": "Cumasaigh fíordheimhniú úsáideoirí, bainistíocht foirne, agus gnéithe spáis oibre do d’eagraíocht.", "action": "Cumraigh", "and": "agus", "benefit": "Cumasaíonn róil úsáideora, comhoibriú foirne, rialuithe riarthóra, agus gnéithe fiontraíochta.", - "learnMore": "Tuilleadh eolais sa doiciméadú", - "dismiss": "Díbhe" + "learnMore": "Tuilleadh eolais sa doiciméadú" }, - "autoUnzip": "Dífhuascailt uathoibríoch freagraí API", - "autoUnzipDescription": "Bain comhaid as freagraí ZIP go huathoibríoch", - "autoUnzipTooltip": "Baineann sé comhaid ZIP a fhilleann ó oibríochtaí API go huathoibríoch. Díchumasaigh chun comhaid ZIP a choinneáil slán. Ní théann sé seo i bhfeidhm ar shreafaí oibre uathoibrithe.", - "autoUnzipFileLimit": "Teorainn chomhaid dífhuascailte uathoibríoch", - "autoUnzipFileLimitDescription": "Uasmhéid comhad le baint as ZIP", - "autoUnzipFileLimitTooltip": "Dífhuascail ach amháin má tá an oiread seo comhad sa ZIP nó níos lú. Socraigh níos airde chun ZIPanna níos mó a bhaint.", "defaultToolPickerMode": "Mód réamhshocraithe roghnóra uirlisí", "defaultToolPickerModeDescription": "Roghnaigh an oscailfidh an roghnóir uirlisí i lánscáileán nó i mbarra taoibh de réir réamhshocraithe", "mode": { - "fullscreen": "Lánscáileán", - "sidebar": "Barra taoibh" - } + "sidebar": "Barra taoibh", + "fullscreen": "Lánscáileán" + }, + "autoUnzipTooltip": "Baineann sé comhaid ZIP a fhilleann ó oibríochtaí API go huathoibríoch. Díchumasaigh chun comhaid ZIP a choinneáil slán. Ní théann sé seo i bhfeidhm ar shreafaí oibre uathoibrithe.", + "autoUnzip": "Dífhuascailt uathoibríoch freagraí API", + "autoUnzipDescription": "Bain comhaid as freagraí ZIP go huathoibríoch", + "autoUnzipFileLimitTooltip": "Dífhuascail ach amháin má tá an oiread seo comhad sa ZIP nó níos lú. Socraigh níos airde chun ZIPanna níos mó a bhaint.", + "autoUnzipFileLimit": "Teorainn chomhaid dífhuascailte uathoibríoch", + "autoUnzipFileLimitDescription": "Uasmhéid comhad le baint as ZIP", + "defaultPdfEditor": "Eagarthóir PDF réamhshocraithe", + "defaultPdfEditorActive": "Is é Stirling PDF d’eagarthóir PDF réamhshocraithe", + "defaultPdfEditorInactive": "Tá feidhmchlár eile socraithe mar réamhshocrú", + "defaultPdfEditorChecking": "Á sheiceáil...", + "defaultPdfEditorSet": "Réamhshocraithe Cheana", + "setAsDefault": "Socraigh mar Réamhshocraithe", + "updates": { + "title": "Nuashonruithe Bogearraí", + "description": "Seiceáil le haghaidh nuashonruithe agus féach faisnéis leagain", + "currentVersion": "Leagan Reatha", + "latestVersion": "Leagan is Déanaí", + "checkForUpdates": "Seiceáil le haghaidh Nuashonruithe", + "viewDetails": "Féach Sonraí" + }, + "hideUnavailableTools": "Folaigh uirlisí nach bhfuil ar fáil", + "hideUnavailableToolsDescription": "Bain uirlisí a díchumasaíodh ag do fhreastalaí seachas iad a thaispeáint i liath.", + "hideUnavailableConversions": "Folaigh tiontaithe nach bhfuil ar fáil", + "hideUnavailableConversionsDescription": "Bain roghanna tiontaithe díchumasaithe san uirlis Convert seachas iad a thaispeáint i liath." }, "hotkeys": { - "title": "Aicearraí Mearchlár", - "description": "Cuir an luch os cionn uirlise chun a aicearra a fheiceáil nó é a shaincheapadh thíos. Cliceáil \"Athraigh aicearra\" agus brúigh teaglaim eochracha nua. Brúigh Esc chun cealú.", - "errorModifier": { - "mac": "Cuir ⌘ (Command), ⌥ (Option), nó modhnóir eile san áireamh san aicearra.", - "windows": "Cuir Ctrl, Alt, nó modhnóir eile san áireamh san aicearra." - }, "errorConflict": "Tá an t-aicearra in úsáid cheana ag {{tool}}.", + "searchPlaceholder": "Cuardaigh uirlisí...", "none": "Gan sannadh", "customBadge": "Saincheaptha", "defaultLabel": "Réamhshocrú: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Athraigh aicearra", "reset": "Athshocraigh", "shortcut": "Aicearra", - "noShortcut": "Níl aicearra socraithe", - "searchPlaceholder": "Cuardaigh uirlisí..." + "noShortcut": "Níl aicearra socraithe" } }, + "update": { + "modalTitle": "Nuashonrú ar Fáil", + "current": "Leagan Reatha", + "latest": "Leagan is Déanaí", + "latestStable": "Leagan is Déanaí Cobhsaí", + "priorityLabel": "Tosaíocht", + "recommendedAction": "Gníomh Molta", + "breakingChangesDetected": "Aimsíodh Athruithe Bristeacha", + "breakingChangesMessage": "Tá athruithe bristeacha i roinnt leaganacha. Déan athbhreithniú ar na treoracha imirce thíos sula nuashonraíonn tú.", + "migrationGuides": "Treoracha Imirce", + "viewGuide": "Féach Treoir", + "loadingDetailedInfo": "Ag lódáil eolas mionsonraithe...", + "close": "Dún", + "viewAllReleases": "Féach Gach Eisiúint", + "downloadLatest": "Íoslódáil an ceann is déanaí", + "availableUpdates": "Nuashonruithe ar Fáil", + "unableToLoadDetails": "Ní féidir eolas mionsonraithe a lódáil.", + "version": "Leagan", + "urgentUpdateAvailable": "Nuashonrú Práinneach", + "updateAvailable": "Nuashonrú ar Fáil", + "releaseNotes": "Nótaí Eisiúna", + "priority": { + "urgent": "Práinneach", + "normal": "Gnáth", + "minor": "Mion", + "low": "Íseal" + }, + "breakingChanges": "Athruithe Bristeacha", + "breakingChangesDefault": "Tá athruithe bristeacha sa leagan seo.", + "migrationGuide": "Treoir Imirce" + }, "changeCreds": { "title": "Athraigh Dintiúir", "header": "Nuashonraigh Sonraí do Chuntais", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Forleagain PDF ar bharr PDF eile", "title": "Forleagan PDF" + }, + "pdfTextEditor": { + "title": "Eagarthóir Téacs PDF", + "desc": "Athbhreithnigh agus cuir in eagar onnmhairí JSON ó Stirling PDF le heagarthóireacht téacs ghrúpáilte agus athghiniúint PDF" + }, + "addText": { + "tags": "téacs,anótáil,lipéad", + "title": "Cuir Téacs Leis", + "desc": "Cuir téacs saincheaptha in áit ar bith i do PDF" } }, "landing": { "addFiles": "Cuir Comhaid Leis", - "uploadFromComputer": "Uaslódáil ón ríomhaire" + "uploadFromComputer": "Uaslódáil ón ríomhaire", + "openFromComputer": "Oscail ón ríomhaire" }, "viewPdf": { "tags": "amharc, léamh, anótáil, téacs, íomhá", @@ -849,6 +922,11 @@ }, "error": { "failed": "Tharla earráid agus na PDFanna á gcumasc." + }, + "tooltip": { + "header": { + "title": "Forbhreathnú ar Shocruithe Cumaisc" + } } }, "split": { @@ -1182,9 +1260,43 @@ "tags": "img, jpg, pictiúr, grianghraf", "title": "Cuir Íomhá leis", "header": "Cuir íomhá i bhformáid PDF", - "everyPage": "Gach Leathanach?", - "upload": "Cuir íomhá leis", - "submit": "Cuir íomhá leis" + "image": { + "name": "Íomhá", + "placeholder": "Uaslódáil íomhá", + "label": "Comhad íomhá" + }, + "steps": { + "configure": "Cumraigh Íomhá" + }, + "step": { + "createDesc": "Uaslódáil an íomhá is mian leat a chur leis", + "place": "Cuir íomhá", + "placeDesc": "Cliceáil ar an PDF chun d’íomhá a chur leis" + }, + "instructions": { + "title": "Conas íomhánna a chur leis", + "text": "Tar éis d’íomhá a uaslódáil thuas, cliceáil áit ar bith ar an PDF chun í a chur.", + "paused": "Suíniú ar sos", + "resumeHint": "Lean ar aghaidh leis an suíniú chun cliceáil agus d’íomhá a chur.", + "noSignature": "Uaslódáil íomhá thuas chun suíniú a chumasú." + }, + "mode": { + "move": "Bog Íomhá", + "place": "Cuir Íomhá", + "pause": "Cuir suíniú ar sos", + "resume": "Atosaigh suíniú" + }, + "results": { + "title": "Torthaí Cuir Íomhá Leis" + }, + "error": { + "failed": "Tharla earráid agus íomhá á cur leis an PDF." + }, + "saved": { + "defaultLabel": "Íomhá", + "defaultImageLabel": "Íomhá uaslódáilte" + }, + "applySignatures": "Cuir Íomhánna i bhFeidhm" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1397,6 +1509,93 @@ }, "submit": "Athrú" }, + "editTableOfContents": { + "settings": { + "title": "Leabharmharcanna & imlíne", + "replaceExisting": "Cuir na leabharmharcanna reatha in ionad (bain an tic chun cur leis)", + "replaceExistingHint": "Nuair atá sé díchumasaithe, cuirfear an imlíne nua leis i ndiaidh na leabharmharcanna reatha." + }, + "actions": { + "source": "Luchtaigh leabharmharcanna", + "selectedFile": "Luchtaithe ó {{file}}", + "noFile": "Roghnaigh PDF chun leabharmharcanna atá ann a bhaint.", + "loadFromPdf": "Luchtaigh ón PDF roghnaithe", + "importJson": "Iompórtáil JSON", + "importClipboard": "Greamaigh JSON ón gearrthaisce", + "export": "Easpórtáil leabharmharcanna", + "exportJson": "Íoslódáil JSON", + "exportClipboard": "Cóipeáil JSON go dtí an gearrthaisce", + "clipboardUnavailable": "Níl rochtain ar an ngearrthaisce ar fáil sa bhrabhsálaí seo." + }, + "info": { + "line1": "Teastaíonn teideal tuairisciúil agus an leathanach le hoscailt do gach leabharmharc.", + "line2": "Úsáid leabharmharcanna linbh chun ordlathas a thógáil do chaibidlí, rannóga nó fo-rannóga.", + "line3": "Iompórtáil leabharmharcanna ón PDF roghnaithe nó ó chomhad JSON chun am a shábháil." + }, + "workbench": { + "empty": { + "title": "Oscail an uirlis chun eagarthóireacht a thosú", + "description": "Roghnaigh an uirlis Cuir Clár Ábhair in Eagar chun a spás oibre a lódáil." + }, + "tabTitle": "Spás oibre imlíne", + "subtitle": "Iompórtáil leabharmharcanna, tóg ordlathais, agus cuir an imlíne i bhfeidhm gan painéil chúnga taoibh.", + "noFile": "Níl PDF roghnaithe", + "fileLabel": "Cuirfear na hathruithe i bhfeidhm ar an PDF atá roghnaithe faoi láthair.", + "filePrompt": "Roghnaigh PDF ó do leabharlann nó uaslódáil ceann nua chun tosú.", + "changeFile": "Athraigh PDF", + "selectFile": "Roghnaigh PDF" + }, + "editor": { + "heading": "Eagarthóir leabharmharc", + "description": "Cuir, neadaigh, agus athordaigh leabharmharcanna chun imlíne do PDF a chruthú.", + "addTopLevel": "Cuir leabharmharc barrleibhéil leis", + "empty": { + "title": "Níl leabharmharcanna ann fós", + "description": "Iompórtáil leabharmharcanna atá ann cheana nó tosaigh trí do chéad iontráil a chur leis.", + "action": "Cuir an chéad leabharmharc leis" + }, + "defaultTitle": "Leabharmharc nua", + "defaultChildTitle": "Leabharmharc linbh", + "defaultSiblingTitle": "Leabharmharc nua", + "untitled": "Leabharmharc gan teideal", + "childBadge": "Leanbh", + "pagePreview": "Leathanach {{page}}", + "field": { + "title": "Teideal an leabharmhairc", + "page": "Uimhir leathanaigh sprice" + }, + "actions": { + "toggle": "Scoránaigh leanaí", + "addChild": "Cuir leabharmharc linbh leis", + "addSibling": "Cuir leabharmharc comhleibhéil leis", + "remove": "Bain leabharmharc" + }, + "confirmRemove": "Bain an leabharmharc seo agus a pháistí go léir?" + }, + "messages": { + "loadedTitle": "Leabharmharcanna eastósctha", + "loadedBody": "Luchtáladh leabharmharcanna atá ann ón PDF isteach san eagarthóir.", + "noBookmarks": "Níor aimsíodh leabharmharcanna sa PDF roghnaithe.", + "loadFailed": "Níorbh fhéidir leabharmharcanna a eastóscadh ón PDF roghnaithe.", + "imported": "Leabharmharcanna iompórtáilte", + "importedBody": "Chuir d’imlíne JSON ábhar reatha an eagarthóra in ionad.", + "importedClipboard": "Chuir sonraí an ghearrthaisce an liosta leabharmharc reatha in ionad.", + "invalidJson": "Struchtúr JSON neamhbhailí", + "invalidJsonBody": "Tabhair comhad JSON leabharmharc bailí agus bain triail eile as, le do thoil.", + "exported": "Íoslódáil JSON réidh", + "copied": "Cóipeáladh chuig an ngearrthaisce", + "copiedBody": "Cóipeáladh JSON leabharmharc go rathúil.", + "copyFailed": "Theip ar chóipeáil" + }, + "error": { + "failed": "Theip ar nuashonrú an chláir ábhair" + }, + "submit": "Cuir clár ábhair i bhfeidhm", + "results": { + "title": "PDF nuashonraithe le leabharmharcanna", + "subtitle": "Íoslódáil an comhad próiseáilte nó cealaigh an oibríocht thíos." + } + }, "removePages": { "tags": "Bain leathanaigh, scrios leathanaigh", "title": "Bain", @@ -1601,7 +1800,7 @@ "tags": "squish, beag, beag bídeach" }, "unlockPDFForms": { - "tags": "remove,delete,form,field,readonly", + "tags": "bain,scrios,foirm,réimse,readonly", "title": "Bain Léamh-Amháin ó Réimsí Foirme", "header": "Díghlasáil Foirmeacha PDF", "submit": "Remove", @@ -1978,13 +2177,54 @@ "title": "Tarraing do shíniú", "clear": "Glan" }, + "canvas": { + "heading": "Déan do shíniú a tharraingt", + "clickToOpen": "Cliceáil chun an chanbhás líníochta a oscailt", + "modalTitle": "Déan do shíniú a tharraingt", + "colorLabel": "Dath", + "penSizeLabel": "Méid peann", + "penSizePlaceholder": "Méid", + "clear": "Glan canbhás", + "colorPickerTitle": "Roghnaigh dath stríoca" + }, "text": { "name": "Ainm an tsínitheora", - "placeholder": "Iontráil d’ainm iomlán" + "placeholder": "Iontráil d’ainm iomlán", + "fontLabel": "Cló", + "fontSizeLabel": "Méid cló", + "fontSizePlaceholder": "Clóscríobh nó roghnaigh méid cló (8-200)", + "colorLabel": "Dath téacs" }, "clear": "Glan", "add": "Cuir", - "saved": "Sínithe Sínithe", + "saved": { + "heading": "Sínithe sábháilte", + "description": "Úsáid arís sínithe sábháilte am ar bith.", + "emptyTitle": "Níl aon síniú sábháilte fós", + "emptyDescription": "Tarraing, uaslódáil, nó clóscríobh síniú thuas, ansin úsáid \"Sábháil sa leabharlann\" chun suas le {{max}} rogha is fearr a choinneáil réidh le húsáid.", + "type": { + "canvas": "Líníocht", + "image": "Uaslódáil", + "text": "Téacs" + }, + "limitTitle": "Sroichtear an teorainn", + "limitDescription": "Bain síniú sábháilte sula gcuireann tú cinn nua leis (uas {{max}}).", + "carouselPosition": "{{current}} as {{total}}", + "prev": "Roimhe Seo", + "next": "Ar Aghaidh", + "delete": "Bain", + "label": "Lipéad", + "defaultLabel": "Síniú", + "defaultCanvasLabel": "Síniú líníochta", + "defaultImageLabel": "Síniú uaslódáilte", + "defaultTextLabel": "Síniú clóscríofa", + "saveButton": "Sábháil síniú", + "saveUnavailable": "Cruthaigh síniú ar dtús chun é a shábháil.", + "noChanges": "Tá an síniú reatha sábháilte cheana.", + "status": { + "saved": "Sábháilte" + } + }, "save": "Sábháil an Síniú", "applySignatures": "Cuir Síntithe i bhFeidhm", "personalSigs": "Sínithe Pearsanta", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Cumraigh Síniú" }, + "step": { + "createDesc": "Roghnaigh conas is mian leat an síniú a chruthú", + "place": "Cuir & sábháil", + "placeDesc": "Cuir an síniú ar do PDF" + }, "type": { "title": "Cineál Sínithe", "draw": "Tarraing", "canvas": "Canbhás", "image": "Íomhá", - "text": "Téacs" + "text": "Téacs", + "saved": "Sábháilte" }, "image": { "label": "Uaslódáil íomhá sínithe", @@ -2019,11 +2265,17 @@ "title": "Conas síniú a chur leis", "canvas": "Tar éis duit do shíniú a tharraingt sa chanbhás, dún an mhodal ansin cliceáil áit ar bith ar an PDF chun é a chur.", "image": "Tar éis duit d’íomhá shínithe a uaslódáil thuas, cliceáil áit ar bith ar an PDF chun í a chur.", - "text": "Tar éis duit d’ainm a chur isteach thuas, cliceáil áit ar bith ar an PDF chun do shíniú a chur." + "saved": "Roghnaigh síniú sábháilte thuas, ansin cliceáil áit ar bith ar an PDF chun é a chur.", + "text": "Tar éis duit d’ainm a chur isteach thuas, cliceáil áit ar bith ar an PDF chun do shíniú a chur.", + "paused": "Suíniú ar sos", + "resumeHint": "Lean ar aghaidh leis an suíniú chun cliceáil agus do shíniú a chur.", + "noSignature": "Cruthaigh síniú thuas chun uirlisí suínithe a chumasú." }, "mode": { "move": "Bog an Síniú", - "place": "Cuir an Síniú" + "place": "Cuir an Síniú", + "pause": "Cuir suíniú ar sos", + "resume": "Atosaigh suíniú" }, "updateAndPlace": "Nuashonraigh agus Cuir", "activate": "Gníomhachtaigh Suí an tSínithe", @@ -2163,6 +2415,14 @@ "title": "Maidir le Baint Anótálacha", "description": "Bainfidh an uirlis seo gach anótáil (tráchtanna, aibhsithe, nótaí, srl.) ó do dhoiciméid PDF." }, + "tooltip": { + "header": { + "title": "Maidir le Bain Anótálacha" + }, + "description": { + "title": "Cad a dhéanann sé" + } + }, "error": { "failed": "Tharla earráid agus anótálacha á mbaint as an PDF." } @@ -2265,7 +2525,7 @@ "body": "Tá an chomparáid seo ag tógáil níos faide ná mar is gnách. Is féidir leat ligean di leanúint ar aghaidh nó í a chealú.", "cancel": "Cealaigh comparáid" }, - "newLine": "new-line", + "newLine": "líne nua", "complex": { "message": "Is comhaid mhóra ceann amháin nó an dá cheann de na doiciméid a soláthraíodh, d'fhéadfaí cruinneas na comparáide a laghdú" }, @@ -2467,7 +2727,7 @@ } }, "bookletImposition": { - "tags": "booklet,imposition,printing,binding,folding,signature", + "tags": "leabhrán,imposition,priontáil,ceangal,fillte,síniú", "title": "Leagan Amach Leabhráin", "header": "Leagan Amach Leabhráin", "submit": "Cruthaigh Leabhrán", @@ -2568,7 +2828,7 @@ "submit": "Cuir isteach" }, "adjustPageScale": { - "tags": "resize,modify,dimension,adapt", + "tags": "athraigh méid,mionathraigh,toise,oiriúnaigh", "title": "Coigeartaigh Scála Leathanaigh", "header": "Coigeartaigh Scála Leathanaigh", "scaleFactor": { @@ -2627,6 +2887,9 @@ "header": { "title": "Conas a Oibríonn Athainmnú Uathoibríoch" }, + "description": { + "title": "Cad a dhéanann sé" + }, "howItWorks": { "title": "Athainmniú Cliste", "text": "Aimsíonn sé an teideal ó ábhar do PDF go huathoibríoch agus úsáideann sé é mar ainm an chomhaid.", @@ -2634,6 +2897,9 @@ "bullet2": "Cruthaíonn sé ainm comhaid glan, bailí ón teideal aimsithe", "bullet3": "Coinníonn sé an t-ainm bunaidh mura bhfaightear teideal oiriúnach" } + }, + "settings": { + "title": "Maidir leis" } }, "adjust-contrast": { @@ -3124,7 +3390,7 @@ "totalSignatures": "Iomlán Sínithe" }, "replaceColor": { - "tags": "Replace Colour,Page operations,Back end,server side", + "tags": "Ionadaigh Dath,Oibríochtaí Leathanaigh,Back end,server side", "labels": { "settings": "Socruithe", "colourOperation": "Oibríocht Datha" @@ -3227,7 +3493,26 @@ "unexpectedError": "Earráid gan choinne: {{message}}", "accountCreatedSuccess": "Cruthaíodh an cuntas go rathúil! Is féidir leat logáil isteach anois.", "passwordChangedSuccess": "Athraíodh an focal faire go rathúil! Logáil isteach le do fhocal faire nua, le do thoil.", - "credentialsUpdated": "Nuashonraíodh do dhintiúir. Logáil isteach arís, le do thoil." + "credentialsUpdated": "Nuashonraíodh do dhintiúir. Logáil isteach arís, le do thoil.", + "defaultCredentials": "Dintiúir logála isteach réamhshocraithe", + "changePasswordWarning": "Athraigh do fhocal faire tar éis duit logáil isteach don chéad uair", + "slides": { + "overview": { + "alt": "Forbhreathnú Stirling PDF", + "title": "Do shiopa aon-stad do gach riachtanas PDF.", + "subtitle": "Sraith néal-bhunaithe le príobháideachas ar dtús do PDFanna a ligeann duit tiontú, síniú, dubhú agus bainistiú a dhéanamh ar cháipéisí, móide 50+ uirlis chumhachtach eile." + }, + "edit": { + "alt": "Cuir PDFanna in eagar", + "title": "Cuir PDFanna in eagar chun an t-eolas is mian leat a thaispeáint nó a dhaingniú", + "subtitle": "Le breis agus dosaen uirlis chun cabhrú leat PDFanna a dhubhú, a shíniú, a léamh agus a ionramháil, gheobhaidh tú go cinnte an rud atá uait." + }, + "secure": { + "alt": "Daingnigh PDFanna", + "title": "Cosain eolas íogair i do PDFanna", + "subtitle": "Cuir focail fhaire leis, dubhaigh ábhar, agus bainistigh teastais go héasca." + } + } }, "signup": { "title": "Cruthaigh cuntas", @@ -3502,7 +3787,7 @@ "title": "Doiciméadú API", "header": "Doiciméadú API", "desc": "Féach agus tástáil na hionaidchríocha API Stirling PDF", - "tags": "api,documentation,swagger,endpoints,development" + "tags": "api,doiciméadú,swagger,críochphointí,forbairt" }, "cookieBanner": { "popUp": { @@ -3598,7 +3883,9 @@ "exportAll": "Easpórtáil an PDF", "downloadSelected": "Íoslódáil na Comhaid Roghnaithe", "downloadAll": "Íoslódáil Uile", + "saveAll": "Sábháil Uile", "toggleTheme": "Athraigh an Téama", + "toggleBookmarks": "Scoránaigh Leabharmharcanna", "language": "Teanga", "search": "Cuardaigh an PDF", "panMode": "Mód Pánála", @@ -3685,8 +3972,16 @@ "saved": "Sábháladh na socruithe go rathúil", "saveSuccess": "Sábháladh na socruithe go rathúil", "save": "Sábháil Athruithe", + "discard": "Cuir i leataobh", "restartRequired": "Athtosú de dhíth", "loginRequired": "Ní mór mód logála isteach a bheith cumasaithe chun socruithe riarthóra a athrú", + "unsavedChanges": { + "title": "Athruithe gan sábháil", + "message": "Tá athruithe gan sábháil agat. Ar mhaith leat iad a chur i leataobh?", + "cancel": "Lean ar eagarthóireacht", + "discard": "Cuir athruithe i leataobh", + "hint": "Tá athruithe gan sábháil agat" + }, "loginDisabled": { "title": "Mód Logála Isteach de Dhíth", "message": "Ní mór mód logála isteach a bheith cumasaithe chun socruithe riarthóra a athrú. Socraigh SECURITY_ENABLELOGIN=true i do thimpeallacht nó security.enableLogin: true i settings.yml, agus atosaigh an freastalaí ansin.", @@ -4212,9 +4507,21 @@ "title": "Préimh & Fiontar", "description": "Cumraigh do eochair cheadúnais préimhe nó fiontair.", "license": "Cumraíocht Ceadúnais", + "licenseKey": { + "toggle": "An bhfuil eochair cheadúnais nó comhad teastais agat?", + "info": "Má tá eochair cheadúnais nó comhad teastais agat ó cheannach díreach, is féidir leat é a chur isteach anseo chun gnéithe préimhe nó fiontraíochta a ghníomhachtú." + }, "key": { "label": "Eochair Ceadúnais", - "description": "Iontráil d’eochair cheadúnais préimhe nó fiontair" + "description": "Iontráil d’eochair cheadúnais préimhe nó fiontair", + "success": "Eochair Ceadúnais Sábháilte", + "successMessage": "Gníomhaíodh d’eochair cheadúnais go rathúil. Ní gá atosú.", + "overwriteWarning": { + "title": "⚠️ Rabhadh: Braitheadh Ceadúnas Reatha", + "line1": "Ní féidir forshcríobh ar do eochair cheadúnais reatha a chealú.", + "line2": "Caillefar do cheadúnas roimhe seo go buan mura bhfuil cúltaca de in áit eile agat.", + "line3": "Tábhachtach: Coinnigh eochracha ceadúnais príobháideach agus slán. Ná roinn go poiblí riamh." + } }, "enabled": { "label": "Cumasaigh Gnéithe Préimhe", @@ -4278,12 +4585,17 @@ "or": "nó", "dropFileHere": "Scaoil an comhad anseo nó cliceáil chun 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", "supportedFileTypes": "Cineálacha comhaid a dtacaítear leo", "upload": "Uaslódáil", "uploadFile": "Uaslódáil Comhad", "uploadFiles": "Uaslódáil Comhaid", + "open": "Oscail", + "openFile": "Oscail Comhad", + "openFiles": "Oscail Comhaid", "noFilesInStorage": "Níl comhaid ar fáil sa stóráil. Uaslódáil roinnt comhad ar dtús.", + "noFilesInStorageOpen": "Níl comhaid ar fáil sa stóráil. Oscail roinnt comhad ar dtús.", "selectFromStorage": "Roghnaigh ón Stóráil", "backToTools": "Ar ais go hUirlisí", "addFiles": "Cuir Comhaid Leis", @@ -4329,6 +4641,8 @@ "myFiles": "Mo Chomhaid", "noRecentFiles": "Níor aimsíodh comhaid le déanaí", "googleDriveNotAvailable": "Níl comhtháthú Google Drive ar fáil", + "downloadSelected": "Íoslódáil Roghnaithe", + "saveSelected": "Sábháil Roghnaithe", "openFiles": "Oscail Comhaid", "openFile": "Oscail Comhad", "details": "Sonraí an Chomhaid", @@ -4341,7 +4655,6 @@ "selectAll": "Roghnaigh Uile", "deselectAll": "Díroghnaigh Uile", "deleteSelected": "Scrios Roghnaithe", - "downloadSelected": "Íoslódáil Roghnaithe", "selectedCount": "{{count}} roghnaithe", "download": "Íosluchtaigh", "delete": "Scrios", @@ -4621,9 +4934,14 @@ "secureWorkflow": "Sreabhadh Oibre Slándála", "secureWorkflowDesc": "Slánaíonn sé doiciméid PDF trí ábhar dainséarach féideartha mar JavaScript agus comhaid leabaithe a bhaint, ansin cuireann sé cosaint le focal faire chun rochtain neamhdhleathach a chosc. Socraítear an focal faire mar 'password' de réir réamhshocraithe.", "processImages": "Próiseáil Íomhánna", - "processImagesDesc": "Tiontaíonn sé iliomad comhad íomhá ina dhoiciméad PDF amháin, agus ansin cuireann sé teicneolaíocht OCR i bhfeidhm chun téacs inchuardaithe a bhaint as na híomhánna." + "processImagesDesc": "Tiontaíonn sé iliomad comhad íomhá ina dhoiciméad PDF amháin, agus ansin cuireann sé teicneolaíocht OCR i bhfeidhm chun téacs inchuardaithe a bhaint as na híomhánna.", + "prePublishSanitization": "Sláintíocht Réamhfhoilsithe", + "prePublishSanitizationDesc": "Sreabhadh oibre sláintíochta a bhaintear gach meiteashonraí ceilte, JavaScript, comhaid leabaithe, anótálacha, agus comhréidiaíonn sé foirmeacha chun sceitheadh sonraí a chosc sula bhfoilsítear PDFs ar líne." } }, + "colorPicker": { + "title": "Roghnaigh dath" + }, "common": { "previous": "Roimhe Seo", "next": "Ar Aghaidh", @@ -4639,7 +4957,13 @@ "used": "úsáidte", "available": "ar fáil", "cancel": "Cealaigh", - "preview": "Réamhamharc" + "preview": "Réamhamharc", + "close": "Dún", + "done": "Déanta", + "loading": "Á lódáil...", + "back": "Siar", + "continue": "Lean ar aghaidh", + "error": "Earráid" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Cuir tuilleadh comhad leis...", "selectedFiles": "Comhaid Roghnaithe", "submit": "Cuir Iatáin Leis", + "tooltip": { + "header": { + "title": "Maidir le Cuir Iatáin Leis" + }, + "description": { + "title": "Cad a dhéanann sé" + } + }, "results": { "title": "Torthaí na nIatán" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Suíomh Saincheaptha", "details": "Sonraí", - "downloadUnavailable": "Níl íoslódáil ar fáil don mhír seo", "invalidUndoData": "Ní féidir a chealú: sonraí oibríochta neamhbhailí", "margin": { "large": "Mór", @@ -4801,6 +5132,10 @@ "maybeLater": "B'fhéidir Níos Déanaí", "dontShowAgain": "Ná Taispeáin Arís" }, + "welcomeSlide": { + "title": "Fáilte go Stirling", + "body": "Tá Stirling PDF réidh anois do fhoirne de gach méid. Cuimsíonn an nuashonrú seo leagan amach nua, cumais riaracháin chumhachtacha nua, agus ár ngné is mó a iarradh - Cuir Téacs in Eagar." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "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.", @@ -4823,7 +5158,39 @@ "next": "Ar Aghaidh", "finish": "Críochnaigh", "startTour": "Tosaigh an Turas", - "startTourDescription": "Téigh ar thuras treoraithe de phríomhghnéithe Stirling PDF" + "startTourDescription": "Téigh ar thuras treoraithe de phríomhghnéithe Stirling PDF", + "buttons": { + "next": "Ar aghaidh →", + "back": "Siar", + "skipForNow": "Scipeáil faoi láthair", + "download": "Íoslódáil →", + "showMeAround": "Taispeáin timpeall dom", + "skipTheTour": "Scipeáil an turas" + }, + "serverLicense": { + "skip": "Scipeáil faoi láthair", + "seePlans": "Féach ar Phleananna →", + "upgrade": "Uasghrádaigh anois →", + "freeTitle": "Ceadúnas Freastalaí", + "overLimitTitle": "Ceadúnas Freastalaí de dhíth", + "overLimitBody": "Ceadaíonn ár gceadúnú suas le {{freeTierLimit}} úsáideoir in aisce in aghaidh freastalaí. Tá {{overLimitUserCopy}} úsáideoir Stirling agat. Chun leanúint gan bhriseadh, uasghrádaigh go plean Freastalaí Stirling - suíocháin neamhtheoranta, eagarthóireacht téacs PDF, agus lánrialú riaracháin ar $99/freastalaí/mí.", + "freeBody": "Ceadaíonn ár gceadúnú Open-Core suas le {{freeTierLimit}} úsáideoir in aisce in aghaidh freastalaí. Chun méadú gan bhriseadh agus rochtain luath a fháil ar ár uirlis eagarthóireachta téacs PDF nua, molaimid Plean Freastalaí Stirling - eagarthóireacht iomlán agus suíocháin neamhtheoranta ar $99/freastalaí/mí." + }, + "desktopInstall": { + "title": "Íoslódáil", + "titleWithOs": "Íoslódáil do {{osLabel}}", + "body": "Oibríonn Stirling is fearr mar aip deisce. Is féidir leat é a úsáid as líne, rochtain níos tapúla a fháil ar dhoiciméid, agus eagarthóireacht a dhéanamh go háitiúil ar do ríomhaire." + }, + "planOverview": { + "adminTitle": "Forbhreathnú Riarthóra", + "userTitle": "Forbhreathnú Plean", + "adminBodyLoginEnabled": "Mar riarthóir, is féidir leat úsáideoirí a bhainistiú, socruithe a chumrú, agus sláinte an fhreastalaí a mheas. Faigheann an chéad {{freeTierLimit}} duine ar do fhreastalaí Stirling saor in aisce.", + "adminBodyLoginDisabled": "Nuair a chumasaíonn tú mód logála isteach, is féidir leat úsáideoirí a bhainistiú, socruithe a chumrú, agus sláinte an fhreastalaí a mheas. Faigheann an chéad {{freeTierLimit}} duine ar do fhreastalaí Stirling saor in aisce.", + "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." + }, + "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." + } }, "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.", @@ -4852,7 +5219,10 @@ "role": "Ról", "team": "Foireann", "status": "Stádas", - "actions": "Gníomhartha", + "actions": { + "label": "Gníomhartha", + "upgrade": "Uasghrádú" + }, "noMembersFound": "Níor aimsíodh baill", "active": "Gníomhach", "disabled": "Díchumasaithe", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} áit(í) úsáideora ar fáil", "noSlotsAvailable": "Níl aon áiteanna ar fáil", "currentUsage": "Faoi láthair tá {{current}} as {{max}} ceadúnas úsáideora in úsáid" - } + }, + "loginRequired": "Cumasaigh mód logála isteach ar dtús" }, "teams": { "title": "Foirne", @@ -5057,6 +5428,17 @@ "showComparison": "Cuir Gach Gné i gComparáid", "hideComparison": "Folaigh Comparáid Gnéithe", "featureComparison": "Comparáid Gnéithe", + "from": "Ó", + "perMonth": "/mí", + "perSeat": "/suíochán", + "withServer": "+ Plean Freastalaí", + "licensedSeats": "Ceadúnaithe: {{count}} suíochán", + "includedInCurrent": "San Áireamh i do Phlean", + "selectPlan": "Roghnaigh Plean", + "manage": "Bainistigh", + "manageSubscription": { + "description": "Bainistigh do shíntiús, billeáil, agus modhanna íocaíochta" + }, "activePlan": { "title": "Plean Gníomhach", "subtitle": "Mionsonraí do shínithe reatha" @@ -5074,13 +5456,16 @@ "upTo": "Suas le" }, "period": { - "month": "mí" + "month": "mí", + "perUserPerMonth": "/úsáideoir/mí" }, "free": { "name": "Saor", "highlight1": "Úsáid Teoranta Uirlisí in aghaidh na seachtaine", "highlight2": "Rochtain ar gach uirlis", - "highlight3": "Tacaíocht phobail" + "highlight3": "Tacaíocht phobail", + "forever": "Saor go deo", + "included": "San áireamh" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Praghsáil shaincheaptha", "highlight2": "Tacaíocht thiomnaithe", - "highlight3": "Na gnéithe is déanaí" + "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." }, "feature": { "title": "Gné", @@ -5102,6 +5489,12 @@ "api": "Rochtain API", "priority": "Tacaíocht Thosaíochta", "customPricing": "Praghsáil Shaincheaptha" + }, + "licenseWarning": { + "title": "Sroichtear teorainn féin-óstáilte saor in aisce", + "body": "Tá {{total}} úsáideoir agat ach ní thacaíonn an sraith saor in aisce ach le {{limit}} in aghaidh an fhreastalaí. Uasghrádaigh chun Stirling PDF a choinneáil ag rith go réidh.", + "overLimit": "níos mó ná {{limit}}", + "cta": "Féach ar phleananna" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Bainistigh Billeáil", "portal": { "error": "Theip ar an bportál billeála a oscailt" - } + }, + "updateSeats": "Nuashonraigh Suíocháin", + "updateEnterpriseSeats": "Nuashonraigh Suíocháin Enterprise", + "currentSeats": "Suíocháin Reatha", + "minimumSeats": "Íosmhéid Suíochán", + "basedOnUsers": "(úsáideoirí reatha)", + "newSeatCount": "Líon Nua Suíochán", + "newSeatCountDescription": "Roghnaigh líon na suíochán do do cheadúnas fiontraíochta", + "whatHappensNext": "Cad a tharlaíonn ansin?", + "stripePortalRedirect": "Díreofar tú go tairseach billeála Stripe chun an t-athrú suíocháin a athbhreithniú agus a dhearbhú. Ríomhfar an méid comhréireach go huathoibríoch.", + "preparingUpdate": "Ag ullmhú nuashonraithe suíochán...", + "seatCountTooLow": "Ní mór don líon suíochán a bheith ar a laghad {{minimum}} (líon reatha úsáideoirí)", + "seatCountUnchanged": "Roghnaigh líon suíochán difriúil le do thoil", + "seatsUpdated": "Suíocháin Nuashonraithe", + "seatsUpdatedMessage": "Nuashonraíodh do shuíocháin fiontraíochta go {{seats}}", + "updateProcessing": "Nuashonrú á Phróiseáil", + "updateProcessingMessage": "Tá d’athrú suíochán á phróiseáil. Athnuaigh i gceann cúpla soicind.", + "notEnterprise": "Níl bainistíocht suíochán ar fáil ach do cheadúnais fiontraíochta" + }, + "upgradeBanner": { + "title": "Uasghrádaigh go Plean Freastalaí", + "message": "Bain an leas is fearr as Stirling PDF le húsáideoirí neamhtheoranta agus gnéithe ardleibhéil", + "upgradeButton": "Uasghrádaigh Anois", + "dismiss": "Dún meirge", + "attentionTitle": "Teastaíonn aird riarthóra ón bhfreastalaí seo", + "attentionBody": "Ní mór do d’riarthóir síniú isteach chun tuilleadh eolais a fheiceáil. Déan teagmháil leo láithreach.", + "attentionBodyAdmin": "Athbhreithnigh na riachtanais ceadúnais chun an freastalaí seo a choinneáil comhlíontach.", + "seeInfo": "Féach eolas" }, "payment": { "preparing": "Do sheiceáil amach á ullmhú...", @@ -5128,7 +5548,61 @@ "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.", "autoClose": "Dúnfaidh an fhuinneog seo go huathoibríoch...", - "error": "Earráid Íocaíochta" + "error": "Earráid Íocaíochta", + "upgradeSuccess": "D’éirigh leis an íocaíocht! Uasghrádaíodh do shíntiús. Nuashonraíodh an ceadúnas ar do fhreastalaí. Gheobhaidh tú ríomhphost deimhnithe go luath.", + "paymentSuccess": "D’éirigh leis an íocaíocht! Eochair cheadúnais á baint amach...", + "licenseActivated": "Ceadúnas gníomhachtaithe! Sábháladh d’eochair cheadúnais. Seoladh ríomhphost deimhnithe chuig do sheoladh cláraithe.", + "licenseDelayed": "D’éirigh leis an íocaíocht! Tá do cheadúnas á ghiniúint. Gheobhaidh tú do eochair cheadúnais go luath trí ríomhphost. Mura bhfaigheann tú é laistigh de 10 nóiméad, téigh i dteagmháil le tacaíocht.", + "licensePollingError": "D’éirigh leis an íocaíocht ach níor éirigh linn d’eochair cheadúnais a fháil go huathoibríoch. Seiceáil do ríomhphost nó téigh i dteagmháil le tacaíocht le do dheimhniú íocaíochta.", + "licenseRetrievalError": "D’éirigh leis an íocaíocht ach theip ar aisghabháil an cheadúnais. Gheobhaidh tú d’eochair cheadúnais trí ríomhphost. Téigh i dteagmháil le tacaíocht mura bhfaigheann tú é laistigh de 10 nóiméad.", + "syncError": "D’éirigh leis an íocaíocht ach theip ar shioncronú an cheadúnais. Nuashonrófar do cheadúnas go luath. Déan teagmháil le tacaíocht má leanann fadhbanna.", + "licenseSaveError": "Theip ar shábháil eochrach ceadúnais. Téigh i dteagmháil le tacaíocht le d’eochair cheadúnais chun an ghníomhachtú a chur i gcrích.", + "paymentCanceled": "Cuireadh an íocaíocht ar ceal. Níor gearradh aon táillí.", + "syncingLicense": "Do cheadúnas uasghrádaithe á shioncronú...", + "generatingLicense": "D’eochair cheadúnais á giniúint...", + "upgradeComplete": "Uasghrádú Críochnaithe", + "upgradeCompleteMessage": "Uasghrádaíodh do shíntiús go rathúil. Nuashonraíodh d’eochair cheadúnais atá ann cheana.", + "stripeNotConfigured": "Stripe Gan Cumraíocht", + "stripeNotConfiguredMessage": "Níl comhtháthú íocaíochta Stripe cumraithe. Déan teagmháil le d’riarthóir.", + "monthly": "Míosúil", + "yearly": "Bliantúil", + "billingPeriod": "Tréimhse Billeála", + "enterpriseNote": "Is féidir suíocháin a choigeartú ag an tseiceáil amach (1-1000).", + "installationId": "Aitheantas Suiteála", + "licenseKey": "D’Eochair Ceadúnais", + "licenseInstructions": "Cuireadh é seo le do shuiteáil. Gheobhaidh tú cóip i do ríomhphost freisin.", + "canCloseWindow": "Is féidir leat an fhuinneog seo a dhúnadh anois.", + "licenseKeyProcessing": "Eochair Ceadúnais á Próiseáil", + "licenseDelayedMessage": "Tá d’eochair cheadúnais á ghiniúint. Seiceáil do ríomhphost go luath nó téigh i dteagmháil le tacaíocht.", + "perYear": "/bliain", + "perMonth": "/mí", + "emailInvalid": "Cuir isteach seoladh ríomhphoist bailí", + "emailStage": { + "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", + "continue": "Lean ar aghaidh", + "modalTitle": "Tosaigh - {{planName}}" + }, + "planStage": { + "title": "Roghnaigh Do Thréimhse Billeála", + "savingsNote": "Sábháil {{percent}}% le billeáil bhliantúil", + "basePrice": "Praghas Bonn", + "seatPrice": "In aghaidh an tsuíocháin", + "totalForSeats": "Iomlán ({{count}} suíochán)", + "selectMonthly": "Roghnaigh Míosúil", + "selectYearly": "Roghnaigh Bliantúil", + "savePercent": "Sábháil {{percent}}%", + "savingsAmount": "Sábhálann tú {{amount}}", + "modalTitle": "Roghnaigh Tréimhse Billeála - {{planName}}", + "billedYearly": "Billeáilte go bliantúil ag {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Siar go Roghnú Plean", + "selectedPlan": "Plean Roghnaithe", + "modalTitle": "Críochnaigh Íocaíocht - {{planName}}" + } }, "firstLogin": { "title": "An Chéad Logáil Isteach", @@ -5287,5 +5761,281 @@ "offline": "Cúlchóras as líne", "starting": "Cúlchóras á thosú...", "wait": "Fan go mbeidh an cúlchóras tosaithe go hiomlán agus bain triail eile as." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Díghlasáil PDF chun leanúint", + "title": "Bain pasfhocal chun leanúint", + "description": "Tá an PDF seo cosanta le pasfhocal. Cuir isteach an pasfhocal ionas gur féidir leat leanúint ag obair leis.", + "password": { + "label": "Pasfhocal PDF", + "placeholder": "Cuir isteach pasfhocal an PDF" + }, + "skip": "Scipeáil faoi láthair", + "unlock": "Díghlasáil & Lean ar aghaidh", + "incorrectPassword": "Pasfhocal mícheart", + "missingFile": "Níl an comhad roghnaithe ar fáil a thuilleadh.", + "emptyResponse": "Níor tháirg baint an phasfhocail comhad.", + "required": "Cuir isteach an pasfhocal chun leanúint.", + "successTitle": "Baineadh an pasfhocal", + "successBodyWithName": "Baineadh pasfhocal ó {{fileName}}", + "successBody": "Baineadh an pasfhocal go rathúil." + }, + "setup": { + "welcome": "Fáilte go Stirling PDF", + "description": "Tosaigh trí roghnú conas is mian leat Stirling PDF a úsáid", + "step1": { + "label": "Roghnaigh Mód", + "description": "As líne nó Freastalaí" + }, + "step2": { + "label": "Roghnaigh Freastalaí", + "description": "Féin-óstáilte" + }, + "step3": { + "label": "Logáil Isteach", + "description": "Cuir isteach dintiúir" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Sínigh isteach le do chuntas Stirling" + }, + "selfhosted": { + "title": "Freastalaí Féin-Óstáilte", + "description": "Ceangail le do fhreastalaí Stirling PDF féin" + } + }, + "saas": { + "title": "Sínigh isteach i Stirling", + "subtitle": "Sínigh isteach le do chuntas Stirling" + }, + "selfhosted": { + "title": "Sínigh isteach chuig an bhFreastalaí", + "subtitle": "Cuir isteach dintiúir do fhreastalaí" + }, + "server": { + "title": "Ceangail leis an bhFreastalaí", + "subtitle": "Cuir isteach URL do fhreastalaí féin-óstáilte", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Freastalaí féin-óstáilte" + }, + "url": { + "label": "URL an fhreastalaí", + "description": "Cuir isteach URL iomlán do fhreastalaí Stirling PDF féin-óstáilte" + }, + "error": { + "emptyUrl": "Cuir isteach URL freastalaí le do thoil", + "unreachable": "Níorbh fhéidir ceangal leis an bhfreastalaí", + "testFailed": "Theip ar thástáil an cheangail" + }, + "testing": "Ceangal á thástáil..." + }, + "login": { + "title": "Sínigh Isteach", + "subtitle": "Cuir isteach do dhintiúir chun leanúint ar aghaidh", + "connectingTo": "Ag ceangal le:", + "username": { + "label": "Ainm Úsáideora", + "placeholder": "Cuir isteach d’ainm úsáideora" + }, + "email": { + "label": "Ríomhphost", + "placeholder": "Cuir isteach do ríomhphost" + }, + "password": { + "label": "Pasfhocal", + "placeholder": "Cuir isteach do phasfhocal" + }, + "error": { + "emptyUsername": "Cuir isteach d’ainm úsáideora", + "emptyEmail": "Cuir isteach do ríomhphost", + "emptyPassword": "Cuir isteach do phasfhocal", + "oauthFailed": "Theip ar logáil isteach OAuth. Bain triail eile as." + }, + "submit": "Logáil Isteach", + "signInWith": "Sínigh isteach le", + "oauthPending": "Brabhsálaí á oscailt le haghaidh fíordheimhnithe...", + "orContinueWith": "Nó lean ar aghaidh le ríomhphost" + } + }, + "oauth": { + "success": { + "title": "Fíordheimhniú Rathúil", + "message": "Is féidir leat an fhuinneog seo a dhúnadh agus filleadh ar Stirling PDF." + }, + "error": { + "title": "Theip ar an bhfíordheimhniú", + "message": "Níor éirigh leis an bhfíordheimhniú. Is féidir leat an fhuinneog seo a dhúnadh agus triail eile a bhaint as." + } + }, + "pdfTextEditor": { + "title": "Eagarthóir PDF JSON", + "viewLabel": "Eagarthóir PDF", + "converting": "PDF á thiontú go formáid in-eagarthóireachta...", + "conversionFailed": "Theip ar thiontú PDF. Bain triail eile as.", + "currentFile": "Comhad reatha: {{name}}", + "pageSummary": "Leathanach {{number}} as {{total}}", + "pagePreviewAlt": "Réamhamharc leathanaigh", + "imageLabel": "Íomhá curtha", + "noTextOnPage": "Níor braitheadh aon téacs in-eagarthóireachta ar an leathanach seo.", + "pageType": { + "paragraph": "Leathanach míre", + "sparse": "Téacs scaipthe" + }, + "groupingMode": { + "auto": "Uathoibríoch", + "paragraph": "Mír", + "singleLine": "Líne Aonair" + }, + "badges": { + "unsaved": "Athraithe", + "modified": "Athraithe", + "earlyAccess": "Rochtain Luath" + }, + "actions": { + "reset": "Athshocraigh Athruithe", + "downloadJson": "Íoslódáil JSON", + "generatePdf": "Gin PDF" + }, + "options": { + "autoScaleText": { + "title": "Scálaigh téacs go huathoibríoch chun boscaí a fheistiú", + "description": "Scálaíonn sé téacs go cothrománach go huathoibríoch chun feistiú dá bhosca teorann bunaidh nuair a bhíonn rindreáil cló difriúil ón PDF." + }, + "groupingMode": { + "title": "Mód Grúpála Téacs", + "autoDescription": "Aimsíonn sé go huathoibríoch cineál leathanaigh agus grúpálann sé téacs mar is cuí.", + "paragraphDescription": "Grúpálann sé línte ailínithe i mboscaí téacs míre il-líne.", + "singleLineDescription": "Coinníonn sé gach líne téacs PDF mar bhosca téacs ar leith." + }, + "manualGrouping": { + "descriptionInline": "Leid: Coinnigh Ctrl (Cmd) nó Shift chun boscaí téacs a roghnú iolrach. Beidh barra uirlisí ar snámh le feiceáil os cionn na roghnúcháin ionas gur féidir leat cumaisc, díghrúpa, nó leitheadanna a choigeartú." + }, + "forceSingleElement": { + "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." + } + }, + "manual": { + "mergeTooltip": "Cumaisc na boscaí roghnaithe", + "merge": "Cumaisc an roghnú", + "ungroupTooltip": "Roinn an mhír ar ais ina línte", + "ungroup": "Díghrúpáil an roghnúchán", + "widthMenu": "Roghanna leithead", + "expandWidth": "Leathnaigh go himill an leathanaigh", + "resetWidth": "Athshocraigh an leithead", + "resizeHandle": "Coigeartaigh leithead an téacs" + }, + "disclaimer": { + "heading": "Teorainneacha Réamhamhairc", + "textFocus": "Díríonn an spás oibre seo ar eagarthóireacht téacs agus ar athshuíomh íomhánna leabaithe. Caomhnaítear saothar ealaíne casta an leathanaigh, giuirléidí foirme, agus grafaicí sraithe le haghaidh easpórtála ach ní féidir iad a chur in eagar go hiomlán anseo.", + "previewVariance": "D’fhéadfadh roinnt eilimintí amhairc (m.sh. imill tábla, cruthanna, nó cuma na n-anótálacha) gan taispeáint go beacht sa réamhamharc. Coinníonn an PDF easpórtáilte na horduithe líníochta bunaidh a fhad is féidir.", + "alpha": "Tá an t-amharcóir alfa seo fós ag forbairt — d’fhéadfadh clónna áirithe, dathanna, éifeachtaí trédhearcachta, agus sonraí leagain amach athrú beagán. Déan seiceáil dhúbailte ar an PDF ginte sula roinneann tú é." + }, + "empty": { + "title": "Níl aon cháipéis luchtaithe", + "subtitle": "Luchtaigh comhad PDF nó JSON chun eagarthóireacht ar ábhar téacs a thosú." + }, + "welcomeBanner": { + "title": "Fáilte go dtí Eagarthóir Téacs PDF (Rochtain Luath)", + "experimental": "Is gné thurgnamhach í seo atá i mbun forbartha. Bí ag súil le heaspa cobhsaíochta agus le fadhbanna áirithe le linn úsáide.", + "howItWorks": "Tiontaíonn an uirlis seo do PDF go formáid in-eagarthóireachta ina féidir leat ábhar téacs a mhodhnú agus íomhánna a athshuíomh. Sábháiltear na hathruithe ar ais mar PDF nua.", + "bestFor": "Is fearr a oibríonn le:", + "bestFor1": "PDFanna simplí a bhfuil téacs agus íomhánna iontu den chuid is mó", + "bestFor2": "Cáipéisí le formáidiú caighdeánach míreanna", + "bestFor3": "Litreacha, aistí, tuairiscí agus doiciméid bhunúsacha", + "notIdealFor": "Ní oiriúnach do:", + "notIdealFor1": "PDFanna le formáidiú speisialta ar nós pointí liosta, táblaí, nó leagan amach ilcholúin", + "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)", + "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", + "issue5": "D’fhéadfadh éifeachtaí trédhearcachta agus sraithe a bheith éagsúil ón mbunleagan", + "feedback": "Is gné rochtana luaithe í seo. Tabhair tuairisc ar aon fhadhb a mbuaileann tú léi chun cabhrú linn feabhsú!", + "gotIt": "Tuigim", + "dontShowAgain": "Ná taispeáin arís" + }, + "modeChange": { + "title": "Deimhnigh Athrú Móid", + "warning": "Athshocróidh athrú ar mhód grúpála téacs gach athrú gan sábháil. An bhfuil tú cinnte gur mian leat leanúint ar aghaidh?", + "cancel": "Cealaigh", + "confirm": "Athshocraigh agus Athraigh an Mód" + }, + "fontAnalysis": { + "details": "Sonraí Cló", + "embedded": "Leabaithe", + "type": "Cineál", + "webFormat": "Formáid Gréasáin", + "warnings": "Rabhaidh", + "suggestions": "Nótaí", + "currentPageFonts": "Clónna ar an leathanach seo", + "allFonts": "Gach cló", + "fallback": "cúltaca", + "missing": "ar iarraidh", + "perfectMessage": "Is féidir gach cló a atáirgeadh go foirfe.", + "warningMessage": "D’fhéadfadh roinnt clónna gan rindreáil i gceart.", + "infoMessage": "Eolas faoi atáirgeadh clónna ar fáil.", + "perfect": "foirfe", + "subset": "fo-thacar" + }, + "errors": { + "invalidJson": "Ní féidir an comhad JSON a léamh. Cinntigh gur gineadh é leis an uirlis PDF go JSON.", + "pdfConversion": "Ní féidir an JSON curtha in eagar a thiontú ar ais go PDF." + } + }, + "auth": { + "sessionExpired": "Seisiún imithe in éag", + "pleaseLoginAgain": "Logáil isteach arís, le do thoil.", + "accessDenied": "Rochtain diúltaithe", + "insufficientPermissions": "Níl cead agat an gníomh seo a dhéanamh." + }, + "addText": { + "title": "Cuir Téacs Leis", + "header": "Cuir téacs le PDFanna", + "text": { + "name": "Ábhar téacs", + "placeholder": "Iontráil an téacs is mian leat a chur leis", + "fontLabel": "Cló", + "fontSizeLabel": "Méid cló", + "fontSizePlaceholder": "Clóscríobh nó roghnaigh méid cló (8-200)", + "colorLabel": "Dath téacs" + }, + "steps": { + "configure": "Cumraigh Téacs" + }, + "step": { + "createDesc": "Iontráil an téacs is mian leat a chur leis", + "place": "Cuir téacs", + "placeDesc": "Cliceáil ar an PDF chun do théacs a chur leis" + }, + "instructions": { + "title": "Conas téacs a chur leis", + "text": "Tar éis duit do théacs a iontráil thuas, cliceáil áit ar bith ar an PDF chun é a chur.", + "paused": "Cur ar sos", + "resumeHint": "Atosaigh an cur chun cliceáil agus do théacs a chur leis.", + "noSignature": "Iontráil téacs thuas chun cur a chumasú." + }, + "mode": { + "move": "Bog Téacs", + "place": "Cuir Téacs", + "pause": "Cuir an cur ar sos", + "resume": "Atosaigh an cur" + }, + "results": { + "title": "Torthaí Cur Téacs" + }, + "error": { + "failed": "Tharla earráid agus téacs á chur leis an PDF." + }, + "tags": "téacs,anótáil,lipéad", + "applySignatures": "Cuir Téacs i bhFeidhm" } } \ No newline at end of file diff --git a/frontend/public/locales/hi-IN/translation.json b/frontend/public/locales/hi-IN/translation.json index 7e4b3da94..23db5ea40 100644 --- a/frontend/public/locales/hi-IN/translation.json +++ b/frontend/public/locales/hi-IN/translation.json @@ -17,6 +17,8 @@ "comingSoon": "जल्द आ रहा है:", "favorite": "पसंदीदा में जोड़ें", "favorites": "पसंदीदा", + "unavailable": "सर्वर एडमिन द्वारा निष्क्रिय:", + "unavailableDependency": "अनुपलब्ध - सर्वर पर आवश्यक टूल गायब:", "heading": "सभी टूल्स (फुलस्क्रीन दृश्य)", "noResults": "अपनी खोज समायोजित करें या विवरण टॉगल करें ताकि आपको जो चाहिए वह मिले।", "recommended": "अनुशंसित", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "फुलस्क्रीन मोड पर स्विच करें", "sidebar": "साइडबार मोड पर स्विच करें" - } + }, + "alpha": "Alpha", + "premiumFeature": "प्रीमियम फीचर:", + "comingSoon": "जल्द आ रहा है:" }, "unsavedChanges": "आपके PDF में असहेजे परिवर्तन हैं।", "areYouSure": "क्या आप वाकई छोड़ना चाहते हैं?", @@ -41,6 +46,30 @@ "cancel": "रद्द करें", "confirm": "निकालें" }, + "defaultApp": { + "title": "डिफ़ॉल्ट PDF ऐप बनाएं", + "message": "क्या आप Stirling PDF को अपना डिफ़ॉल्ट PDF एडिटर बनाना चाहेंगे?", + "description": "आप इसे बाद में सिस्टम सेटिंग्स में बदल सकते हैं।", + "notNow": "अभी नहीं", + "setDefault": "डिफ़ॉल्ट बनाएं", + "dismiss": "खारिज करें", + "prompt": { + "title": "डिफ़ॉल्ट PDF एडिटर बनाएं", + "message": "PDF फ़ाइलें खोलने के लिए Stirling PDF को अपनी डिफ़ॉल्ट ऐप बनाएं।" + }, + "success": { + "title": "डिफ़ॉल्ट ऐप सेट", + "message": "Stirling PDF अब आपका डिफ़ॉल्ट PDF एडिटर है" + }, + "settingsOpened": { + "title": "सेटिंग्स खुलीं", + "message": "कृपया अपनी सिस्टम सेटिंग्स में Stirling PDF चुनें" + }, + "error": { + "title": "त्रुटि", + "message": "डिफ़ॉल्ट PDF हैंडलर सेट नहीं हो सका" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "सहेजें", "saveToBrowser": "ब्राउज़र में सहेजें", "download": "डाउनलोड करें", + "downloadUnavailable": "इस आइटम के लिए डाउनलोड उपलब्ध नहीं है", + "saveUnavailable": "इस आइटम के लिए सेव उपलब्ध नहीं", "pin": "फ़ाइल पिन करें (टूल चलने के बाद सक्रिय रखें)", "unpin": "फ़ाइल अनपिन करें (टूल चलने के बाद प्रतिस्थापित करें)", "undoOperationTooltip": "आखिरी क्रिया को पूर्ववत करने और मूल फ़ाइलें बहाल करने के लिए क्लिक करें", @@ -168,6 +199,7 @@ }, "edit": "संपादित करें", "delete": "हटाएं", + "never": "कभी नहीं", "username": "उपयोगकर्ता नाम", "password": "पासवर्ड", "welcome": "स्वागत है", @@ -262,7 +294,8 @@ "learnMore": "और जानें", "enable": "विश्लेषण सक्षम करें", "disable": "विश्लेषण अक्षम करें", - "settings": "आप config/settings.yml फ़ाइल में विश्लेषण के लिए सेटिंग्स बदल सकते हैं" + "settings": "आप config/settings.yml फ़ाइल में विश्लेषण के लिए सेटिंग्स बदल सकते हैं", + "privacyAssurance": "हम कोई व्यक्तिगत जानकारी या आपकी फ़ाइलों की सामग्री ट्रैक नहीं करते।" }, "navbar": { "favorite": "पसंदीदा", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "सेटिंग्स", - "update": "अपडेट उपलब्ध है", - "updateAvailable": "{0} वर्तमान स्थापित संस्करण है। एक नया संस्करण ({1}) उपलब्ध है।", - "appVersion": "ऐप संस्करण:", - "downloadOption": { - "title": "डाउनलोड विकल्प चुनें (एकल फ़ाइल गैर-ज़िप डाउनलोड के लिए):", - "1": "उसी विंडो में खोलें", - "2": "नई विंडो में खोलें", - "3": "फ़ाइल डाउनलोड करें" - }, - "zipThreshold": "डाउनलोड की गई फ़ाइलों की संख्या इससे अधिक होने पर ज़िप करें", - "signOut": "साइन आउट", - "accountSettings": "खाता सेटिंग्स", - "bored": { - "help": "ईस्टर एग गेम सक्षम करता है" - }, - "cacheInputs": { - "name": "फ़ॉर्म इनपुट सहेजें", - "help": "भविष्य के उपयोग के लिए पहले से उपयोग किए गए इनपुट को स्टोर करने के लिए सक्षम करें" + "connection": { + "title": "कनेक्शन मोड", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "सेल्फ-होस्टेड" + }, + "server": "सर्वर", + "user": "के रूप में लॉग इन", + "logout": "लॉग आउट" }, "general": { "title": "सामान्य", "description": "सामान्य एप्लिकेशन प्राथमिकताएँ कॉन्फ़िगर करें।", - "account": "खाता", - "accountDescription": "अपने खाता सेटिंग्स प्रबंधित करें", "user": "उपयोगकर्ता", - "signedInAs": "इस रूप में साइन इन", "logout": "लॉग आउट", "enableFeatures": { + "dismiss": "खारिज करें", "title": "सिस्टम प्रशासकों के लिए", "intro": "अपने संगठन के लिए उपयोगकर्ता प्रमाणीकरण, टीम प्रबंधन और वर्कस्पेस सुविधाएँ सक्षम करें।", "action": "कॉन्फ़िगर करें", "and": "और", "benefit": "उपयोगकर्ता भूमिकाएँ, टीम सहयोग, एडमिन नियंत्रण और एंटरप्राइज़ सुविधाएँ सक्षम करता है।", - "learnMore": "दस्तावेज़ीकरण में और जानें", - "dismiss": "खारिज करें" + "learnMore": "दस्तावेज़ीकरण में और जानें" }, - "autoUnzip": "API प्रतिक्रियाओं को स्वत: अनज़िप करें", - "autoUnzipDescription": "ZIP प्रतिक्रियाओं से फ़ाइलें स्वतः निकालें", - "autoUnzipTooltip": "API ऑपरेशंस से लौटे ZIP फ़ाइलों को स्वतः निकालें। ZIP फ़ाइलों को यथावत रखने के लिए अक्षम करें। यह स्वचालन वर्कफ़्लो को प्रभावित नहीं करता।", - "autoUnzipFileLimit": "ऑटो-अनज़िप फ़ाइल सीमा", - "autoUnzipFileLimitDescription": "ZIP से निकालने के लिए फ़ाइलों की अधिकतम संख्या", - "autoUnzipFileLimitTooltip": "केवल तभी अनज़िप करें जब ZIP में इतनी या इससे कम फ़ाइलें हों। बड़े ZIP निकालने के लिए इसे अधिक सेट करें।", "defaultToolPickerMode": "डिफ़ॉल्ट टूल पिकर मोड", "defaultToolPickerModeDescription": "चुनें कि टूल पिकर डिफ़ॉल्ट रूप से फुलस्क्रीन या साइडबार में खुले", "mode": { - "fullscreen": "फुलस्क्रीन", - "sidebar": "साइडबार" - } + "sidebar": "साइडबार", + "fullscreen": "फुलस्क्रीन" + }, + "autoUnzipTooltip": "API ऑपरेशंस से लौटे ZIP फ़ाइलों को स्वतः निकालें। ZIP फ़ाइलों को यथावत रखने के लिए अक्षम करें। यह स्वचालन वर्कफ़्लो को प्रभावित नहीं करता।", + "autoUnzip": "API प्रतिक्रियाओं को स्वत: अनज़िप करें", + "autoUnzipDescription": "ZIP प्रतिक्रियाओं से फ़ाइलें स्वतः निकालें", + "autoUnzipFileLimitTooltip": "केवल तभी अनज़िप करें जब ZIP में इतनी या इससे कम फ़ाइलें हों। बड़े ZIP निकालने के लिए इसे अधिक सेट करें।", + "autoUnzipFileLimit": "ऑटो-अनज़िप फ़ाइल सीमा", + "autoUnzipFileLimitDescription": "ZIP से निकालने के लिए फ़ाइलों की अधिकतम संख्या", + "defaultPdfEditor": "डिफ़ॉल्ट PDF एडिटर", + "defaultPdfEditorActive": "Stirling PDF आपका डिफ़ॉल्ट PDF एडिटर है", + "defaultPdfEditorInactive": "कोई अन्य एप्लिकेशन डिफ़ॉल्ट है", + "defaultPdfEditorChecking": "जांच हो रही है...", + "defaultPdfEditorSet": "पहले से डिफ़ॉल्ट", + "setAsDefault": "डिफ़ॉल्ट बनाएं", + "updates": { + "title": "सॉफ़्टवेयर अपडेट्स", + "description": "अपडेट्स जाँचें और वर्ज़न जानकारी देखें", + "currentVersion": "वर्तमान संस्करण", + "latestVersion": "नवीनतम संस्करण", + "checkForUpdates": "अपडेट्स जाँचें", + "viewDetails": "विवरण देखें" + }, + "hideUnavailableTools": "अनुपलब्ध टूल छिपाएं", + "hideUnavailableToolsDescription": "आपके सर्वर द्वारा अक्षम टूल्स को ग्रेआउट दिखाने के बजाय हटा दें।", + "hideUnavailableConversions": "अनुपलब्ध कन्वर्ज़न छिपाएं", + "hideUnavailableConversionsDescription": "कन्वर्ट टूल में अक्षम कन्वर्ज़न विकल्पों को ग्रेआउट दिखाने के बजाय हटा दें।" }, "hotkeys": { - "title": "कीबोर्ड शॉर्टकट", - "description": "किसी टूल पर होवर करें उसके शॉर्टकट को देखने के लिए या नीचे इसे अनुकूलित करें। \"शॉर्टकट बदलें\" पर क्लिक करें और नई कुंजी संयोजना दबाएँ। रद्द करने के लिए Esc दबाएँ।", - "errorModifier": { - "mac": "अपने शॉर्टकट में ⌘ (Command), ⌥ (Option), या कोई अन्य मॉडिफ़ायर शामिल करें।", - "windows": "अपने शॉर्टकट में Ctrl, Alt, या कोई अन्य मॉडिफ़ायर शामिल करें।" - }, "errorConflict": "शॉर्टकट पहले से {{tool}} द्वारा उपयोग किया गया है।", + "searchPlaceholder": "टूल खोजें...", "none": "असाइन नहीं", "customBadge": "कस्टम", "defaultLabel": "डिफ़ॉल्ट: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "शॉर्टकट बदलें", "reset": "रीसेट", "shortcut": "शॉर्टकट", - "noShortcut": "कोई शॉर्टकट सेट नहीं", - "searchPlaceholder": "टूल खोजें..." + "noShortcut": "कोई शॉर्टकट सेट नहीं" } }, + "update": { + "modalTitle": "अपडेट उपलब्ध", + "current": "वर्तमान संस्करण", + "latest": "नवीनतम संस्करण", + "latestStable": "नवीनतम स्थिर", + "priorityLabel": "प्राथमिकता", + "recommendedAction": "अनुशंसित कार्य", + "breakingChangesDetected": "असंगत परिवर्तन मिले", + "breakingChangesMessage": "कुछ संस्करणों में असंगत परिवर्तन हैं। अपडेट से पहले नीचे दिए गए माइग्रेशन गाइड्स देखें।", + "migrationGuides": "माइग्रेशन गाइड्स", + "viewGuide": "गाइड देखें", + "loadingDetailedInfo": "विस्तृत जानकारी लोड हो रही है...", + "close": "बंद करें", + "viewAllReleases": "सभी रिलीज़ देखें", + "downloadLatest": "नवीनतम डाउनलोड करें", + "availableUpdates": "उपलब्ध अपडेट्स", + "unableToLoadDetails": "विस्तृत जानकारी लोड करने में असमर्थ।", + "version": "संस्करण", + "urgentUpdateAvailable": "तत्काल अपडेट", + "updateAvailable": "अपडेट उपलब्ध", + "releaseNotes": "रिलीज़ नोट्स", + "priority": { + "urgent": "तत्काल", + "normal": "सामान्य", + "minor": "लघु", + "low": "कम" + }, + "breakingChanges": "असंगत परिवर्तन", + "breakingChangesDefault": "इस संस्करण में असंगत परिवर्तन शामिल हैं।", + "migrationGuide": "माइग्रेशन गाइड" + }, "changeCreds": { "title": "क्रेडेंशियल्स बदलें", "header": "अपना खाता विवरण अपडेट करें", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "PDF को दूसरी PDF के ऊपर ओवरले करें", "title": "PDF ओवरले करें" + }, + "pdfTextEditor": { + "title": "PDF टेक्स्ट एडिटर", + "desc": "ग्रुप्ड टेक्स्ट एडिटिंग और PDF पुनर्जनन के साथ Stirling PDF JSON एक्सपोर्ट की समीक्षा व संपादन करें" + }, + "addText": { + "tags": "text,annotation,label", + "title": "टेक्स्ट जोड़ें", + "desc": "अपने PDF में कहीं भी कस्टम टेक्स्ट जोड़ें" } }, "landing": { "addFiles": "फ़ाइलें जोड़ें", - "uploadFromComputer": "कंप्यूटर से अपलोड करें" + "uploadFromComputer": "कंप्यूटर से अपलोड करें", + "openFromComputer": "कंप्यूटर से खोलें" }, "viewPdf": { "tags": "देखें,पढ़ें,टिप्पणी,टेक्स्ट,छवि", @@ -849,6 +922,11 @@ }, "error": { "failed": "PDFs मर्ज करते समय एक त्रुटि हुई।" + }, + "tooltip": { + "header": { + "title": "मर्ज सेटिंग्स का अवलोकन" + } } }, "split": { @@ -1086,7 +1164,7 @@ "pdfaDigitalSignatureWarning": "PDF में एक डिजिटल हस्ताक्षर है। यह अगले चरण में हटा दिया जाएगा।", "fileFormat": "फ़ाइल फ़ॉर्मेट", "wordDoc": "Word दस्तावेज़", - "wordDocExt": "Word Document (.docx)", + "wordDocExt": "Word दस्तावेज़ (.docx)", "odtExt": "OpenDocument Text (.odt)", "pptExt": "PowerPoint (.pptx)", "odpExt": "OpenDocument Presentation (.odp)", @@ -1182,9 +1260,43 @@ "tags": "img,jpg,चित्र,फोटो", "title": "छवि जोड़ें", "header": "PDF में छवि जोड़ें", - "everyPage": "हर पृष्ठ?", - "upload": "छवि जोड़ें", - "submit": "छवि जोड़ें" + "image": { + "name": "इमेज", + "placeholder": "एक इमेज अपलोड करें", + "label": "इमेज फ़ाइल" + }, + "steps": { + "configure": "इमेज कॉन्फ़िगर करें" + }, + "step": { + "createDesc": "वह इमेज अपलोड करें जिसे आप जोड़ना चाहते हैं", + "place": "इमेज रखें", + "placeDesc": "अपनी इमेज जोड़ने के लिए PDF पर कहीं भी क्लिक करें" + }, + "instructions": { + "title": "इमेज कैसे जोड़ें", + "text": "ऊपर अपनी इमेज अपलोड करने के बाद, उसे रखने के लिए PDF पर कहीं भी क्लिक करें।", + "paused": "प्लेसमेंट रुका हुआ", + "resumeHint": "प्लेसमेंट फिर से शुरू करें और क्लिक कर इमेज जोड़ें।", + "noSignature": "प्लेसमेंट सक्षम करने के लिए ऊपर एक इमेज अपलोड करें।" + }, + "mode": { + "move": "इमेज मूव करें", + "place": "इमेज रखें", + "pause": "प्लेसमेंट रोकें", + "resume": "प्लेसमेंट फिर शुरू करें" + }, + "results": { + "title": "इमेज जोड़ने के परिणाम" + }, + "error": { + "failed": "PDF में इमेज जोड़ते समय एक त्रुटि हुई।" + }, + "saved": { + "defaultLabel": "इमेज", + "defaultImageLabel": "अपलोड की गई इमेज" + }, + "applySignatures": "इमेज लागू करें" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1397,6 +1509,93 @@ }, "submit": "बदलें" }, + "editTableOfContents": { + "settings": { + "title": "बुकमार्क्स और आउटलाइन", + "replaceExisting": "मौजूदा बुकमार्क्स बदलें (जोड़ने हेतु अनचेक करें)", + "replaceExistingHint": "अक्षम होने पर, नई आउटलाइन वर्तमान बुकमार्क्स के बाद जोड़ी जाएगी।" + }, + "actions": { + "source": "बुकमार्क्स लोड करें", + "selectedFile": "{{file}} से लोड किया गया", + "noFile": "मौजूदा बुकमार्क्स निकालने के लिए एक PDF चुनें।", + "loadFromPdf": "चयनित PDF से लोड करें", + "importJson": "JSON इम्पोर्ट करें", + "importClipboard": "क्लिपबोर्ड से JSON पेस्ट करें", + "export": "बुकमार्क्स एक्सपोर्ट करें", + "exportJson": "JSON डाउनलोड करें", + "exportClipboard": "JSON क्लिपबोर्ड पर कॉपी करें", + "clipboardUnavailable": "इस ब्राउज़र में क्लिपबोर्ड एक्सेस उपलब्ध नहीं है।" + }, + "info": { + "line1": "हर बुकमार्क में एक वर्णनात्मक शीर्षक और खुलने वाला पेज होना चाहिए।", + "line2": "चैप्टर, सेक्शन या सबसेक्शन के लिए हाइरार्की बनाने हेतु चाइल्ड बुकमार्क्स का उपयोग करें।", + "line3": "समय बचाने के लिए चयनित PDF या JSON फ़ाइल से बुकमार्क्स इम्पोर्ट करें।" + }, + "workbench": { + "empty": { + "title": "संपादन शुरू करने के लिए टूल खोलें", + "description": "उसका वर्कस्पेस लोड करने के लिए Edit Table of Contents टूल चुनें।" + }, + "tabTitle": "आउटलाइन वर्कस्पेस", + "subtitle": "बुकमार्क्स इम्पोर्ट करें, हाइरार्की बनाएं, और साइड पैनल की भीड़ के बिना आउटलाइन लागू करें।", + "noFile": "कोई PDF चयनित नहीं", + "fileLabel": "परिवर्तन वर्तमान चयनित PDF पर लागू होंगे।", + "filePrompt": "शुरू करने के लिए अपनी लाइब्रेरी से एक PDF चुनें या नया अपलोड करें।", + "changeFile": "PDF बदलें", + "selectFile": "PDF चुनें" + }, + "editor": { + "heading": "बुकमार्क एडिटर", + "description": "बुकमार्क्स जोड़ें, नेस्ट करें, और पुन: क्रमित करें ताकि अपनी PDF आउटलाइन तैयार करें।", + "addTopLevel": "टॉप-लेवल बुकमार्क जोड़ें", + "empty": { + "title": "अभी तक कोई बुकमार्क नहीं", + "description": "मौजूदा बुकमार्क्स इम्पोर्ट करें या पहला एंट्री जोड़कर शुरू करें।", + "action": "पहला बुकमार्क जोड़ें" + }, + "defaultTitle": "नया बुकमार्क", + "defaultChildTitle": "चाइल्ड बुकमार्क", + "defaultSiblingTitle": "नया बुकमार्क", + "untitled": "बिना शीर्षक का बुकमार्क", + "childBadge": "चाइल्ड", + "pagePreview": "पेज {{page}}", + "field": { + "title": "बुकमार्क शीर्षक", + "page": "लक्षित पेज नंबर" + }, + "actions": { + "toggle": "चिल्ड्रन टॉगल करें", + "addChild": "चाइल्ड बुकमार्क जोड़ें", + "addSibling": "सिब्लिंग बुकमार्क जोड़ें", + "remove": "बुकमार्क हटाएं" + }, + "confirmRemove": "इस बुकमार्क और इसके सभी चिल्ड्रन को हटाएं?" + }, + "messages": { + "loadedTitle": "बुकमार्क्स निकाले गए", + "loadedBody": "PDF से मौजूदा बुकमार्क्स एडिटर में लोड किए गए।", + "noBookmarks": "चयनित PDF में कोई बुकमार्क नहीं मिला।", + "loadFailed": "चयनित PDF से बुकमार्क्स निकालने में असमर्थ।", + "imported": "बुकमार्क्स इम्पोर्ट हुए", + "importedBody": "आपकी JSON आउटलाइन ने वर्तमान एडिटर सामग्री को बदल दिया।", + "importedClipboard": "क्लिपबोर्ड डेटा ने वर्तमान बुकमार्क सूची को बदल दिया।", + "invalidJson": "अमान्य JSON संरचना", + "invalidJsonBody": "कृपया एक वैध बुकमार्क JSON फ़ाइल दें और फिर से प्रयास करें।", + "exported": "JSON डाउनलोड तैयार", + "copied": "क्लिपबोर्ड पर कॉपी किया गया", + "copiedBody": "बुकमार्क JSON सफलतापूर्वक कॉपी हुआ।", + "copyFailed": "कॉपी विफल" + }, + "error": { + "failed": "Table of Contents अपडेट करने में विफल" + }, + "submit": "Table of Contents लागू करें", + "results": { + "title": "बुकमार्क्स के साथ अपडेटेड PDF", + "subtitle": "प्रोसेस्ड फ़ाइल डाउनलोड करें या नीचे ऑपरेशन को पूर्ववत करें।" + } + }, "removePages": { "tags": "पृष्ठ निकालें,पृष्ठ हटाएं", "title": "निकालें", @@ -1978,13 +2177,54 @@ "title": "अपना हस्ताक्षर बनाएं", "clear": "साफ़ करें" }, + "canvas": { + "heading": "अपना हस्ताक्षर बनाएं", + "clickToOpen": "ड्रॉइंग कैनवास खोलने के लिए क्लिक करें", + "modalTitle": "अपना हस्ताक्षर बनाएं", + "colorLabel": "रंग", + "penSizeLabel": "पेन साइज", + "penSizePlaceholder": "साइज", + "clear": "कैनवास साफ़ करें", + "colorPickerTitle": "स्ट्रोक रंग चुनें" + }, "text": { "name": "हस्ताक्षरकर्ता नाम", - "placeholder": "अपना पूरा नाम दर्ज करें" + "placeholder": "अपना पूरा नाम दर्ज करें", + "fontLabel": "फ़ॉन्ट", + "fontSizeLabel": "फ़ॉन्ट साइज", + "fontSizePlaceholder": "फ़ॉन्ट साइज टाइप या चुनें (8-200)", + "colorLabel": "टेक्स्ट रंग" }, "clear": "साफ़ करें", "add": "जोड़ें", - "saved": "सहेजे गए हस्ताक्षर", + "saved": { + "heading": "सहेजे गए हस्ताक्षर", + "description": "सहेजे गए हस्ताक्षर कभी भी उपयोग करें।", + "emptyTitle": "अभी तक कोई सहेजा हुआ हस्ताक्षर नहीं", + "emptyDescription": "ऊपर हस्ताक्षर ड्रॉ करें, अपलोड करें, या टाइप करें, फिर अधिकतम {{max}} पसंदीदा रखने हेतु \"लाइब्रेरी में सहेजें\" का उपयोग करें।", + "type": { + "canvas": "ड्रॉइंग", + "image": "अपलोड", + "text": "टेक्स्ट" + }, + "limitTitle": "सीमा पूरी", + "limitDescription": "नए जोड़ने से पहले एक सहेजा हुआ हस्ताक्षर हटाएं (अधिकतम {{max}})।", + "carouselPosition": "{{total}} में से {{current}}", + "prev": "पिछला", + "next": "अगला", + "delete": "हटाएं", + "label": "लेबल", + "defaultLabel": "हस्ताक्षर", + "defaultCanvasLabel": "ड्रॉइंग हस्ताक्षर", + "defaultImageLabel": "अपलोड किया गया हस्ताक्षर", + "defaultTextLabel": "टाइप किया हुआ हस्ताक्षर", + "saveButton": "हस्ताक्षर सहेजें", + "saveUnavailable": "सेव करने के लिए पहले एक हस्ताक्षर बनाएँ।", + "noChanges": "वर्तमान हस्ताक्षर पहले से सहेजा गया है।", + "status": { + "saved": "सहेजा गया" + } + }, "save": "हस्ताक्षर सहेजें", "applySignatures": "हस्ताक्षर लागू करें", "personalSigs": "व्यक्तिगत हस्ताक्षर", @@ -2003,12 +2243,18 @@ "steps": { "configure": "हस्ताक्षर कॉन्फ़िगर करें" }, + "step": { + "createDesc": "आप हस्ताक्षर कैसे बनाना चाहते हैं चुनें", + "place": "रखें और सहेजें", + "placeDesc": "अपने PDF पर हस्ताक्षर की पोज़िशन करें" + }, "type": { "title": "हस्ताक्षर प्रकार", "draw": "ड्रॉ", "canvas": "कैनवास", "image": "इमेज", - "text": "टेक्स्ट" + "text": "टेक्स्ट", + "saved": "सहेजा गया" }, "image": { "label": "हस्ताक्षर की इमेज अपलोड करें", @@ -2019,11 +2265,17 @@ "title": "हस्ताक्षर कैसे जोड़ें", "canvas": "कैनवास में हस्ताक्षर बनाने के बाद, मोडल बंद करें फिर PDF पर कहीं भी क्लिक करके रखें।", "image": "ऊपर अपना हस्ताक्षर इमेज अपलोड करने के बाद, PDF पर कहीं भी क्लिक करके रखें।", - "text": "ऊपर अपना नाम दर्ज करने के बाद, PDF पर कहीं भी क्लिक करके अपना हस्ताक्षर रखें।" + "saved": "ऊपर से एक सहेजा हुआ हस्ताक्षर चुनें, फिर उसे रखने के लिए PDF पर कहीं भी क्लिक करें।", + "text": "ऊपर अपना नाम दर्ज करने के बाद, PDF पर कहीं भी क्लिक करके अपना हस्ताक्षर रखें।", + "paused": "प्लेसमेंट रुका हुआ", + "resumeHint": "प्लेसमेंट फिर से शुरू करें और क्लिक कर हस्ताक्षर जोड़ें।", + "noSignature": "प्लेसमेंट टूल्स सक्षम करने हेतु ऊपर एक हस्ताक्षर बनाएं।" }, "mode": { "move": "हस्ताक्षर को स्थानांतरित करें", - "place": "हस्ताक्षर रखें" + "place": "हस्ताक्षर रखें", + "pause": "प्लेसमेंट रोकें", + "resume": "प्लेसमेंट फिर शुरू करें" }, "updateAndPlace": "अपडेट करें और रखें", "activate": "हस्ताक्षर प्लेसमेंट सक्रिय करें", @@ -2163,6 +2415,14 @@ "title": "एनोटेशन हटाने के बारे में", "description": "यह टूल आपके PDF दस्तावेज़ों से सभी एनोटेशन (टिप्पणियां, हाइलाइट, नोट्स, आदि) हटाएगा।" }, + "tooltip": { + "header": { + "title": "Remove Annotations के बारे में" + }, + "description": { + "title": "यह क्या करता है" + } + }, "error": { "failed": "PDF से एनोटेशन हटाते समय एक त्रुटि हुई।" } @@ -2627,6 +2887,9 @@ "header": { "title": "स्वतः नामकरण कैसे काम करता है" }, + "description": { + "title": "यह क्या करता है" + }, "howItWorks": { "title": "स्मार्ट नामकरण", "text": "आपके PDF सामग्री से स्वतः शीर्षक ढूँढता है और उसे फ़ाइलनाम के रूप में उपयोग करता है।", @@ -2634,6 +2897,9 @@ "bullet2": "पता चले शीर्षक से एक साफ़, वैध फ़ाइलनाम बनाता है", "bullet3": "यदि उपयुक्त शीर्षक न मिले तो मूल नाम रखता है" } + }, + "settings": { + "title": "के बारे में" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "अप्रत्याशित त्रुटि: {{message}}", "accountCreatedSuccess": "खाता सफलतापूर्वक बनाया गया! अब आप साइन इन कर सकते हैं।", "passwordChangedSuccess": "पासवर्ड सफलतापूर्वक बदला गया! कृपया नए पासवर्ड से साइन इन करें।", - "credentialsUpdated": "आपके क्रेडेंशियल अपडेट कर दिए गए हैं। कृपया फिर से साइन इन करें।" + "credentialsUpdated": "आपके क्रेडेंशियल अपडेट कर दिए गए हैं। कृपया फिर से साइन इन करें।", + "defaultCredentials": "डिफ़ॉल्ट लॉगिन क्रेडेंशियल्स", + "changePasswordWarning": "पहली बार लॉगिन करने के बाद कृपया अपना पासवर्ड बदलें", + "slides": { + "overview": { + "alt": "Stirling PDF ओवरव्यू", + "title": "आपकी सभी PDF जरूरतों के लिए एक स्थान", + "subtitle": "प्राइवेसी-फर्स्ट क्लाउड सूट जो PDF को convert, sign, redact और manage करने देता है, साथ ही 50+ शक्तिशाली टूल्स।" + }, + "edit": { + "alt": "PDF संपादित करें", + "title": "अपनी मनचाही जानकारी दिखाने/सुरक्षित करने के लिए PDF संपादित करें", + "subtitle": "redact, sign, पढ़ने और संशोधित करने में मदद करने वाले दर्जनभर से अधिक टूल्स के साथ, आपको जो चाहिए वह जरूर मिलेगा।" + }, + "secure": { + "alt": "PDF सुरक्षित करें", + "title": "अपने PDF में संवेदनशील जानकारी सुरक्षित रखें", + "subtitle": "पासवर्ड जोड़ें, कंटेंट redact करें, और सर्टिफिकेट्स आसानी से मैनेज करें।" + } + } }, "signup": { "title": "खाता बनाएँ", @@ -3598,7 +3883,9 @@ "exportAll": "PDF निर्यात करें", "downloadSelected": "चयनित फ़ाइलें डाउनलोड करें", "downloadAll": "सभी डाउनलोड करें", + "saveAll": "सभी सहेजें", "toggleTheme": "थीम टॉगल करें", + "toggleBookmarks": "बुकमार्क्स टॉगल करें", "language": "भाषा", "search": "PDF खोजें", "panMode": "पैन मोड", @@ -3685,8 +3972,16 @@ "saved": "सेटिंग्स सफलतापूर्वक सहेजी गईं", "saveSuccess": "सेटिंग्स सफलतापूर्वक सहेजी गईं", "save": "परिवर्तनों को सहेजें", + "discard": "त्यागें", "restartRequired": "रीस्टार्ट आवश्यक", "loginRequired": "एडमिन सेटिंग्स बदलने के लिए लॉगिन मोड सक्षम होना चाहिए", + "unsavedChanges": { + "title": "असहेजे परिवर्तन", + "message": "आपके कुछ परिवर्तन सहेजे नहीं गए हैं। क्या आप उन्हें त्यागना चाहते हैं?", + "cancel": "संपादन जारी रखें", + "discard": "परिवर्तन त्यागें", + "hint": "आपके कुछ परिवर्तन सहेजे नहीं गए हैं" + }, "loginDisabled": { "title": "लॉगिन मोड आवश्यक", "message": "एडमिन सेटिंग्स बदलने के लिए लॉगिन मोड सक्षम होना चाहिए। कृपया अपने एनवायरनमेंट में SECURITY_ENABLELOGIN=true या settings.yml में security.enableLogin: true सेट करें, फिर सर्वर रीस्टार्ट करें।", @@ -3869,7 +4164,7 @@ }, "level": { "label": "ऑडिट स्तर", - "description": "0=OFF, 1=BASIC, 2=STANDARD, 3=VERBOSE" + "description": "0=ऑफ, 1=बेसिक, 2=स्टैंडर्ड, 3=वर्बोज़" }, "retentionDays": { "label": "ऑडिट रिटेंशन (दिन)", @@ -4137,7 +4432,7 @@ "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", "weasyPrint": "WeasyPrint", - "installApp": "Install App", + "installApp": "ऐप इंस्टॉल करें", "calibre": "Calibre", "ghostscript": "Ghostscript", "ocrMyPdf": "OCRmyPDF" @@ -4212,9 +4507,21 @@ "title": "प्रीमियम और एंटरप्राइज़", "description": "अपनी प्रीमियम या एंटरप्राइज़ लाइसेंस कुंजी कॉन्फ़िगर करें।", "license": "लाइसेंस कॉन्फ़िगरेशन", + "licenseKey": { + "toggle": "क्या आपके पास लाइसेंस की या सर्टिफिकेट फ़ाइल है?", + "info": "यदि आपके पास सीधे खरीद से लाइसेंस की या सर्टिफिकेट फ़ाइल है, तो आप यहाँ दर्ज कर प्रीमियम या एंटरप्राइज़ फीचर्स सक्रिय कर सकते हैं।" + }, "key": { "label": "लाइसेंस कुंजी", - "description": "अपनी प्रीमियम या एंटरप्राइज़ लाइसेंस कुंजी दर्ज करें" + "description": "अपनी प्रीमियम या एंटरप्राइज़ लाइसेंस कुंजी दर्ज करें", + "success": "लाइसेंस की सेव हुई", + "successMessage": "आपकी लाइसेंस की सफलतापूर्वक सक्रिय हो गई। पुनःआरंभ आवश्यक नहीं।", + "overwriteWarning": { + "title": "⚠️ चेतावनी: मौजूदा लाइसेंस मिला", + "line1": "वर्तमान लाइसेंस की को ओवरराइट करना वापस नहीं लिया जा सकता।", + "line2": "यदि आपने कहीं और बैकअप नहीं रखा है तो आपका पिछला लाइसेंस स्थायी रूप से खो जाएगा।", + "line3": "महत्वपूर्ण: लाइसेंस की को निजी और सुरक्षित रखें। इन्हें कभी सार्वजनिक रूप से साझा न करें।" + } }, "enabled": { "label": "प्रीमियम फ़ीचर्स सक्रिय करें", @@ -4278,12 +4585,17 @@ "or": "या", "dropFileHere": "फ़ाइल यहाँ छोड़ें या अपलोड करने के लिए क्लिक करें", "dropFilesHere": "फ़ाइलें यहाँ छोड़ें या अपलोड बटन पर क्लिक करें", + "dropFilesHereOpen": "फ़ाइलें यहाँ छोड़ें या ओपन बटन क्लिक करें", "pdfFilesOnly": "केवल PDF फ़ाइलें", "supportedFileTypes": "समर्थित फ़ाइल प्रकार", "upload": "अपलोड", "uploadFile": "फ़ाइल अपलोड करें", "uploadFiles": "फ़ाइलें अपलोड करें", + "open": "खोलें", + "openFile": "फ़ाइल खोलें", + "openFiles": "फ़ाइलें खोलें", "noFilesInStorage": "स्टोरेज में कोई फ़ाइल उपलब्ध नहीं। पहले कुछ फ़ाइलें अपलोड करें।", + "noFilesInStorageOpen": "स्टोरेज में कोई फ़ाइल उपलब्ध नहीं। पहले कुछ फ़ाइलें खोलें।", "selectFromStorage": "स्टोरेज से चुनें", "backToTools": "टूल पर वापस", "addFiles": "फ़ाइलें जोड़ें", @@ -4329,6 +4641,8 @@ "myFiles": "मेरी फ़ाइलें", "noRecentFiles": "कोई हालिया फ़ाइल नहीं मिली", "googleDriveNotAvailable": "Google Drive इंटीग्रेशन उपलब्ध नहीं", + "downloadSelected": "चयनित डाउनलोड करें", + "saveSelected": "चयनित सहेजें", "openFiles": "फ़ाइलें खोलें", "openFile": "फ़ाइल खोलें", "details": "फ़ाइल विवरण", @@ -4341,7 +4655,6 @@ "selectAll": "सभी चुनें", "deselectAll": "सभी अचयनित करें", "deleteSelected": "चयनित हटाएं", - "downloadSelected": "चयनित डाउनलोड करें", "selectedCount": "{{count}} चयनित", "download": "डाउनलोड करें", "delete": "हटाएं", @@ -4621,9 +4934,14 @@ "secureWorkflow": "सुरक्षा वर्कफ़्लो", "secureWorkflowDesc": "JavaScript और एम्बेडेड फ़ाइलों जैसे संभावित हानिकारक कंटेंट को हटाकर PDF दस्तावेज़ों को सुरक्षित करता है, फिर अनधिकृत एक्सेस रोकने के लिए पासवर्ड सुरक्षा जोड़ता है। डिफ़ॉल्ट रूप से पासवर्ड 'password' सेट है।", "processImages": "इमेज प्रोसेस करें", - "processImagesDesc": "कई इमेज फ़ाइलों को एकल PDF दस्तावेज़ में बदलता है, फिर छवियों से खोजयोग्य पाठ निकालने के लिए OCR तकनीक लागू करता है।" + "processImagesDesc": "कई इमेज फ़ाइलों को एकल PDF दस्तावेज़ में बदलता है, फिर छवियों से खोजयोग्य पाठ निकालने के लिए OCR तकनीक लागू करता है।", + "prePublishSanitization": "प्री-पब्लिश सैनिटाइजेशन", + "prePublishSanitizationDesc": "सैनिटाइजेशन वर्कफ़्लो जो सभी छुपा मेटाडेटा, JavaScript, एम्बेडेड फ़ाइलें, एनोटेशन हटाता है और फॉर्म्स को फ्लैटन करता है ताकि PDFs ऑनलाइन प्रकाशित करने से पहले डेटा लीक न हो।" } }, + "colorPicker": { + "title": "रंग चुनें" + }, "common": { "previous": "पिछला", "next": "अगला", @@ -4639,7 +4957,13 @@ "used": "उपयोग किए", "available": "उपलब्ध", "cancel": "रद्द करें", - "preview": "पूर्वावलोकन" + "preview": "पूर्वावलोकन", + "close": "बंद करें", + "done": "पूर्ण", + "loading": "लोड हो रहा है...", + "back": "वापस", + "continue": "जारी रखें", + "error": "त्रुटि" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "और फ़ाइलें जोड़ें...", "selectedFiles": "चयनित फ़ाइलें", "submit": "संलग्नक जोड़ें", + "tooltip": { + "header": { + "title": "Add Attachments के बारे में" + }, + "description": { + "title": "यह क्या करता है" + } + }, "results": { "title": "संलग्नक परिणाम" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "कस्टम स्थिति", "details": "विवरण", - "downloadUnavailable": "इस आइटम के लिए डाउनलोड उपलब्ध नहीं है", "invalidUndoData": "पूर्ववत नहीं कर सकते: अमान्य ऑपरेशन डेटा", "margin": { "large": "बड़ा", @@ -4801,6 +5132,10 @@ "maybeLater": "शायद बाद में", "dontShowAgain": "दोबारा न दिखाएँ" }, + "welcomeSlide": { + "title": "Stirling में आपका स्वागत है", + "body": "Stirling PDF अब हर आकार की टीमों के लिए तैयार है। इस अपडेट में नया लेआउट, शक्तिशाली नए एडमिन फीचर्स, और हमारा सबसे अनुरोधित फीचर - Edit Text शामिल है।" + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "आइए, Crop टूल चुनते हैं ताकि किसी एक टूल का उपयोग दिखा सकें।", "toolInterface": "यह Crop टूल इंटरफ़ेस है। जैसा कि आप देख सकते हैं, यहाँ अभी ज्यादा कुछ नहीं है क्योंकि हमने काम करने के लिए अभी कोई PDF फ़ाइल नहीं जोड़ी है।", @@ -4823,7 +5158,39 @@ "next": "अगला", "finish": "समाप्त करें", "startTour": "टूर शुरू करें", - "startTourDescription": "Stirling PDF की प्रमुख विशेषताओं का मार्गदर्शित टूर लें" + "startTourDescription": "Stirling PDF की प्रमुख विशेषताओं का मार्गदर्शित टूर लें", + "buttons": { + "next": "अगला →", + "back": "वापस", + "skipForNow": "अभी छोड़ें", + "download": "डाउनलोड →", + "showMeAround": "मुझे दिखाएँ", + "skipTheTour": "टूर छोड़ें" + }, + "serverLicense": { + "skip": "अभी छोड़ें", + "seePlans": "प्लान देखें →", + "upgrade": "अभी अपग्रेड करें →", + "freeTitle": "सर्वर लाइसेंस", + "overLimitTitle": "सर्वर लाइसेंस आवश्यक", + "overLimitBody": "हमारा लाइसेंसिंग प्रति सर्वर अधिकतम {{freeTierLimit}} उपयोगकर्ताओं को मुफ्त अनुमति देता है। आपके पास {{overLimitUserCopy}} Stirling उपयोगकर्ता हैं। बिना बाधा के जारी रखने के लिए, Stirling Server प्लान में अपग्रेड करें - अनलिमिटेड सीट्स, PDF टेक्स्ट एडिटिंग, और पूर्ण एडमिन नियंत्रण $99/server/mo में।", + "freeBody": "हमारा Open-Core लाइसेंसिंग प्रति सर्वर अधिकतम {{freeTierLimit}} उपयोगकर्ताओं को मुफ्त अनुमति देता है। बिना बाधा स्केल करने और हमारे नए PDF टेक्स्ट एडिटिंग टूल की प्रारंभिक पहुँच पाने के लिए हम Stirling Server प्लान की सलाह देते हैं - पूर्ण एडिटिंग और अनलिमिटेड सीट्स $99/server/mo में।" + }, + "desktopInstall": { + "title": "डाउनलोड", + "titleWithOs": "{{osLabel}} के लिए डाउनलोड", + "body": "Stirling एक डेस्कटॉप ऐप के रूप में सबसे अच्छा काम करता है। आप इसे ऑफ़लाइन उपयोग कर सकते हैं, दस्तावेज़ों तक तेज़ी से पहुँच सकते हैं, और अपने कंप्यूटर पर स्थानीय रूप से संपादन कर सकते हैं।" + }, + "planOverview": { + "adminTitle": "एडमिन अवलोकन", + "userTitle": "प्लान अवलोकन", + "adminBodyLoginEnabled": "एडमिन के रूप में, आप उपयोगकर्ताओं को प्रबंधित कर सकते हैं, सेटिंग्स कॉन्फ़िगर कर सकते हैं, और सर्वर स्वास्थ्य मॉनिटर कर सकते हैं। आपके सर्वर पर पहले {{freeTierLimit}} लोग Stirling मुफ्त में उपयोग कर पाएँगे।", + "adminBodyLoginDisabled": "एक बार आप लॉगिन मोड सक्षम कर दें, आप उपयोगकर्ताओं को प्रबंधित कर सकते हैं, सेटिंग्स कॉन्फ़िगर कर सकते हैं, और सर्वर स्वास्थ्य मॉनिटर कर सकते हैं। आपके सर्वर पर पहले {{freeTierLimit}} लोग Stirling मुफ्त में उपयोग कर पाएँगे।", + "userBody": "टीममेट्स को आमंत्रित करें, भूमिकाएँ असाइन करें, और अपने दस्तावेज़ों को एक सुरक्षित वर्कस्पेस में व्यवस्थित रखें। जब भी आप सोलो उपयोग से आगे बढ़ने के लिए तैयार हों, लॉगिन मोड सक्षम करें।" + }, + "securityCheck": { + "message": "एप्लिकेशन में हाल ही में महत्वपूर्ण बदलाव हुए हैं। आपके सर्वर एडमिन का ध्यान आवश्यक हो सकता है। कृपया जारी रखने के लिए अपनी भूमिका की पुष्टि करें।" + } }, "adminOnboarding": { "welcome": "Admin Tour में आपका स्वागत है! आइए सिस्टम प्रशासकों के लिए उपलब्ध शक्तिशाली एंटरप्राइज फीचर्स और सेटिंग्स देखें।", @@ -4852,7 +5219,10 @@ "role": "भूमिका", "team": "टीम", "status": "स्थिति", - "actions": "क्रियाएँ", + "actions": { + "label": "क्रियाएँ", + "upgrade": "अपग्रेड" + }, "noMembersFound": "कोई सदस्य नहीं मिला", "active": "सक्रिय", "disabled": "अक्षम", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} उपयोगकर्ता स्लॉट उपलब्ध", "noSlotsAvailable": "कोई स्लॉट उपलब्ध नहीं", "currentUsage": "वर्तमान में {{max}} में से {{current}} उपयोगकर्ता लाइसेंस उपयोग में" - } + }, + "loginRequired": "पहले लॉगिन मोड सक्षम करें" }, "teams": { "title": "टीम्स", @@ -5057,6 +5428,17 @@ "showComparison": "सभी फीचर्स की तुलना करें", "hideComparison": "फ़ीचर तुलना छिपाएँ", "featureComparison": "फ़ीचर तुलना", + "from": "से", + "perMonth": "/माह", + "perSeat": "/सीट", + "withServer": "+ सर्वर प्लान", + "licensedSeats": "लाइसेंस प्राप्त: {{count}} सीटें", + "includedInCurrent": "आपके प्लान में शामिल", + "selectPlan": "प्लान चुनें", + "manage": "प्रबंधित करें", + "manageSubscription": { + "description": "अपनी सदस्यता, बिलिंग और भुगतान विधियाँ प्रबंधित करें" + }, "activePlan": { "title": "सक्रिय प्लान", "subtitle": "आपकी वर्तमान सदस्यता विवरण" @@ -5074,13 +5456,16 @@ "upTo": "तक" }, "period": { - "month": "माह" + "month": "माह", + "perUserPerMonth": "/उपयोगकर्ता/माह" }, "free": { "name": "फ्री", "highlight1": "प्रति सप्ताह सीमित टूल उपयोग", "highlight2": "सभी टूल्स तक पहुंच", - "highlight3": "कम्युनिटी सपोर्ट" + "highlight3": "कम्युनिटी सपोर्ट", + "forever": "हमेशा मुफ्त", + "included": "शामिल" }, "pro": { "name": "प्रो", @@ -5092,7 +5477,9 @@ "name": "एंटरप्राइज", "highlight1": "कस्टम प्राइसिंग", "highlight2": "समर्पित समर्थन", - "highlight3": "नवीनतम फीचर्स" + "highlight3": "नवीनतम फीचर्स", + "requiresServer": "सर्वर आवश्यक", + "requiresServerMessage": "एंटरप्राइज़ में अपग्रेड करने से पहले कृपया सर्वर प्लान में अपग्रेड करें।" }, "feature": { "title": "फ़ीचर", @@ -5102,6 +5489,12 @@ "api": "API एक्सेस", "priority": "प्राथमिकता समर्थन", "customPricing": "कस्टम प्राइसिंग" + }, + "licenseWarning": { + "title": "मुफ्त सेल्फ-होस्टेड सीमा पूरी हुई", + "body": "आपके पास {{total}} उपयोगकर्ता हैं पर मुफ्त स्तर प्रति सर्वर केवल {{limit}} का समर्थन करता है। Stirling PDF को सुचारू रूप से चलाने के लिए अपग्रेड करें।", + "overLimit": "{{limit}} से अधिक", + "cta": "प्लान देखें" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "बिलिंग प्रबंधित करें", "portal": { "error": "बिलिंग पोर्टल खोलने में विफल" - } + }, + "updateSeats": "सीट्स अपडेट करें", + "updateEnterpriseSeats": "एंटरप्राइज़ सीट्स अपडेट करें", + "currentSeats": "वर्तमान सीट्स", + "minimumSeats": "न्यूनतम सीट्स", + "basedOnUsers": "(वर्तमान उपयोगकर्ता)", + "newSeatCount": "नई सीट संख्या", + "newSeatCountDescription": "अपनी एंटरप्राइज़ लाइसेंस के लिए सीट्स की संख्या चुनें", + "whatHappensNext": "आगे क्या होगा?", + "stripePortalRedirect": "आप सीट परिवर्तन की समीक्षा और पुष्टि के लिए Stripe के बिलिंग पोर्टल पर रीडायरेक्ट किए जाएंगे। प्रो-रेटेड राशि स्वतः गणना होगी।", + "preparingUpdate": "सीट अपडेट तैयार हो रहा है...", + "seatCountTooLow": "सीट संख्या कम से कम {{minimum}} होनी चाहिए (वर्तमान उपयोगकर्ता)", + "seatCountUnchanged": "कृपया अलग सीट संख्या चुनें", + "seatsUpdated": "सीट्स अपडेट हुईं", + "seatsUpdatedMessage": "आपकी एंटरप्राइज़ सीट्स {{seats}} पर अपडेट हो गई हैं", + "updateProcessing": "अपडेट प्रोसेस हो रहा है", + "updateProcessingMessage": "आपका सीट अपडेट प्रोसेस हो रहा है। कृपया कुछ क्षण में रिफ्रेश करें।", + "notEnterprise": "सीट प्रबंधन केवल एंटरप्राइज़ लाइसेंस के लिए उपलब्ध है" + }, + "upgradeBanner": { + "title": "सर्वर प्लान में अपग्रेड करें", + "message": "अनलिमिटेड उपयोगकर्ताओं और उन्नत फीचर्स के साथ Stirling PDF का पूरा लाभ लें", + "upgradeButton": "अभी अपग्रेड करें", + "dismiss": "बैनर खारिज करें", + "attentionTitle": "इस सर्वर को एडमिन ध्यान की ज़रूरत है", + "attentionBody": "आपके एडमिन को अधिक जानकारी देखने के लिए साइन इन करना होगा। कृपया उन्हें तुरंत संपर्क करें।", + "attentionBodyAdmin": "इस सर्वर को अनुपालन में रखने हेतु लाइसेंस आवश्यकताओं की समीक्षा करें।", + "seeInfo": "जानकारी देखें" }, "payment": { "preparing": "आपका चेकआउट तैयार किया जा रहा है...", @@ -5128,7 +5548,61 @@ "success": "भुगतान सफल!", "successMessage": "आपकी सदस्यता सफलतापूर्वक सक्रिय कर दी गई है। आपको जल्द ही एक पुष्टि ईमेल प्राप्त होगा।", "autoClose": "यह विंडो स्वतः बंद हो जाएगी...", - "error": "भुगतान त्रुटि" + "error": "भुगतान त्रुटि", + "upgradeSuccess": "भुगतान सफल! आपकी सदस्यता अपग्रेड हो गई है। लाइसेंस आपके सर्वर पर अपडेट कर दिया गया है। आपको शीघ्र ही एक पुष्टि ईमेल मिलेगा।", + "paymentSuccess": "भुगतान सफल! आपकी लाइसेंस की प्राप्त की जा रही है...", + "licenseActivated": "लाइसेंस सक्रिय! आपकी लाइसेंस की सेव हो गई है। एक पुष्टि ईमेल आपके पंजीकृत पते पर भेज दिया गया है।", + "licenseDelayed": "भुगतान सफल! आपका लाइसेंस बनाया जा रहा है। आपको जल्द ही अपनी लाइसेंस की के साथ ईमेल मिलेगा। यदि 10 मिनट में न मिले, तो सपोर्ट से संपर्क करें।", + "licensePollingError": "भुगतान सफल, पर हम आपकी लाइसेंस की स्वतः प्राप्त नहीं कर सके। कृपया अपना ईमेल देखें या भुगतान पुष्टि के साथ सपोर्ट से संपर्क करें।", + "licenseRetrievalError": "भुगतान सफल, पर लाइसेंस प्राप्ति विफल रही। आपको लाइसेंस की ईमेल से मिल जाएगी। यदि 10 मिनट में न मिले तो सपोर्ट से संपर्क करें।", + "syncError": "भुगतान सफल, पर लाइसेंस सिंक विफल। आपका लाइसेंस जल्द ही अपडेट हो जाएगा। समस्या बनी रहे तो सपोर्ट से संपर्क करें।", + "licenseSaveError": "लाइसेंस की सेव करने में विफल। कृपया सक्रियण पूरा करने हेतु अपनी लाइसेंस की के साथ सपोर्ट से संपर्क करें।", + "paymentCanceled": "भुगतान रद्द कर दिया गया। कोई शुल्क नहीं लगा।", + "syncingLicense": "आपका अपग्रेडेड लाइसेंस सिंक हो रहा है...", + "generatingLicense": "आपकी लाइसेंस की जेनरेट हो रही है...", + "upgradeComplete": "अपग्रेड पूर्ण", + "upgradeCompleteMessage": "आपकी सदस्यता सफलतापूर्वक अपग्रेड हो गई। आपकी मौजूदा लाइसेंस की अपडेट कर दी गई है।", + "stripeNotConfigured": "Stripe कॉन्फ़िगर नहीं", + "stripeNotConfiguredMessage": "Stripe भुगतान इंटीग्रेशन कॉन्फ़िगर नहीं है। कृपया अपने व्यवस्थापक से संपर्क करें।", + "monthly": "मासिक", + "yearly": "वार्षिक", + "billingPeriod": "बिलिंग अवधि", + "enterpriseNote": "सीट्स चेकआउट में समायोजित की जा सकती हैं (1-1000)।", + "installationId": "इंस्टॉलेशन ID", + "licenseKey": "आपकी लाइसेंस की", + "licenseInstructions": "इसे आपकी इंस्टॉलेशन में जोड़ दिया गया है। एक प्रति आपको ईमेल में भी मिलेगी।", + "canCloseWindow": "अब आप यह विंडो बंद कर सकते हैं।", + "licenseKeyProcessing": "लाइसेंस की प्रोसेसिंग", + "licenseDelayedMessage": "आपकी लाइसेंस की जेनरेट हो रही है। कृपया जल्द ही अपना ईमेल देखें या सपोर्ट से संपर्क करें।", + "perYear": "/वर्ष", + "perMonth": "/माह", + "emailInvalid": "कृपया मान्य ईमेल पता दर्ज करें", + "emailStage": { + "title": "अपना ईमेल दर्ज करें", + "description": "हम इससे आपकी लाइसेंस की और रसीदें भेजेंगे।", + "emailLabel": "ईमेल पता", + "emailPlaceholder": "your@email.com", + "continue": "जारी रखें", + "modalTitle": "शुरू करें - {{planName}}" + }, + "planStage": { + "title": "अपनी बिलिंग अवधि चुनें", + "savingsNote": "वार्षिक बिलिंग पर {{percent}}% बचत", + "basePrice": "बेस प्राइस", + "seatPrice": "प्रति सीट", + "totalForSeats": "कुल ({{count}} सीटें)", + "selectMonthly": "मासिक चुनें", + "selectYearly": "वार्षिक चुनें", + "savePercent": "{{percent}}% बचाएं", + "savingsAmount": "आप {{amount}} बचाते हैं", + "modalTitle": "बिलिंग अवधि चुनें - {{planName}}", + "billedYearly": "वार्षिक बिलिंग: {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "प्लान चयन पर वापस", + "selectedPlan": "चयनित प्लान", + "modalTitle": "भुगतान पूरा करें - {{planName}}" + } }, "firstLogin": { "title": "पहली बार लॉगिन", @@ -5287,5 +5761,281 @@ "offline": "बैकएंड ऑफ़लाइन", "starting": "बैकएंड शुरू हो रहा है...", "wait": "कृपया बैकएंड के लॉन्च पूरा होने तक प्रतीक्षा करें और पुनः प्रयास करें।" + }, + "encryptedPdfUnlock": { + "unlockPrompt": "जारी रखने के लिए PDF अनलॉक करें", + "title": "जारी रखने के लिए पासवर्ड हटाएँ", + "description": "यह PDF पासवर्ड प्रोटेक्टेड है। काम जारी रखने के लिए पासवर्ड दर्ज करें।", + "password": { + "label": "PDF पासवर्ड", + "placeholder": "PDF पासवर्ड दर्ज करें" + }, + "skip": "अभी छोड़ें", + "unlock": "अनलॉक करें और जारी रखें", + "incorrectPassword": "गलत पासवर्ड", + "missingFile": "चयनित फ़ाइल अब उपलब्ध नहीं है।", + "emptyResponse": "पासवर्ड हटाने से कोई फ़ाइल नहीं बनी।", + "required": "जारी रखने के लिए पासवर्ड दर्ज करें।", + "successTitle": "पासवर्ड हटाया गया", + "successBodyWithName": "{{fileName}} से पासवर्ड हटाया गया", + "successBody": "पासवर्ड सफलतापूर्वक हटाया गया।" + }, + "setup": { + "welcome": "Stirling PDF में आपका स्वागत है", + "description": "Stirling PDF का उपयोग कैसे करना है चुनकर शुरुआत करें", + "step1": { + "label": "मोड चुनें", + "description": "ऑफ़लाइन या सर्वर" + }, + "step2": { + "label": "सर्वर चुनें", + "description": "सेल्फ-होस्टेड सर्वर" + }, + "step3": { + "label": "लॉगिन", + "description": "क्रेडेंशियल्स दर्ज करें" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "अपने Stirling खाते से साइन इन करें" + }, + "selfhosted": { + "title": "सेल्फ-होस्टेड सर्वर", + "description": "अपने Stirling PDF सर्वर से कनेक्ट करें" + } + }, + "saas": { + "title": "Stirling में साइन इन", + "subtitle": "अपने Stirling खाते से साइन इन करें" + }, + "selfhosted": { + "title": "सर्वर में साइन इन", + "subtitle": "अपने सर्वर क्रेडेंशियल्स दर्ज करें" + }, + "server": { + "title": "सर्वर से कनेक्ट करें", + "subtitle": "अपना सेल्फ-होस्टेड सर्वर URL दर्ज करें", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "सेल्फ-होस्टेड सर्वर" + }, + "url": { + "label": "सर्वर URL", + "description": "अपने सेल्फ-होस्टेड Stirling PDF सर्वर का पूरा URL दर्ज करें" + }, + "error": { + "emptyUrl": "कृपया सर्वर URL दर्ज करें", + "unreachable": "सर्वर से कनेक्ट नहीं हो सका", + "testFailed": "कनेक्शन परीक्षण विफल" + }, + "testing": "कनेक्शन परीक्षण हो रहा है..." + }, + "login": { + "title": "साइन इन", + "subtitle": "जारी रखने के लिए अपने क्रेडेंशियल्स दर्ज करें", + "connectingTo": "किससे कनेक्ट हो रहा है:", + "username": { + "label": "उपयोगकर्ता नाम", + "placeholder": "अपना उपयोगकर्ता नाम दर्ज करें" + }, + "email": { + "label": "ईमेल", + "placeholder": "अपना ईमेल दर्ज करें" + }, + "password": { + "label": "पासवर्ड", + "placeholder": "अपना पासवर्ड दर्ज करें" + }, + "error": { + "emptyUsername": "कृपया अपना उपयोगकर्ता नाम दर्ज करें", + "emptyEmail": "कृपया अपना ईमेल दर्ज करें", + "emptyPassword": "कृपया अपना पासवर्ड दर्ज करें", + "oauthFailed": "OAuth लॉगिन विफल। कृपया फिर से प्रयास करें।" + }, + "submit": "लॉगिन", + "signInWith": "इसके साथ साइन इन करें", + "oauthPending": "प्रमाणीकरण के लिए ब्राउज़र खुल रहा है...", + "orContinueWith": "या ईमेल के साथ जारी रखें" + } + }, + "oauth": { + "success": { + "title": "प्रमाणीकरण सफल", + "message": "आप यह विंडो बंद कर Stirling PDF पर लौट सकते हैं।" + }, + "error": { + "title": "प्रमाणीकरण विफल", + "message": "प्रमाणीकरण सफल नहीं हुआ। आप यह विंडो बंद कर फिर से प्रयास कर सकते हैं।" + } + }, + "pdfTextEditor": { + "title": "PDF JSON एडिटर", + "viewLabel": "PDF एडिटर", + "converting": "PDF को संपादन योग्य फ़ॉर्मेट में बदला जा रहा है...", + "conversionFailed": "PDF कन्वर्ट करने में विफल। कृपया फिर से प्रयास करें।", + "currentFile": "वर्तमान फ़ाइल: {{name}}", + "pageSummary": "पेज {{number}}/{{total}}", + "pagePreviewAlt": "पेज पूर्वावलोकन", + "imageLabel": "लगाई गई इमेज", + "noTextOnPage": "इस पेज पर कोई एडिटेबल टेक्स्ट नहीं मिला।", + "pageType": { + "paragraph": "पैराग्राफ पेज", + "sparse": "छिटपुट टेक्स्ट" + }, + "groupingMode": { + "auto": "ऑटो", + "paragraph": "पैराग्राफ", + "singleLine": "सिंगल लाइन" + }, + "badges": { + "unsaved": "संपादित", + "modified": "संपादित", + "earlyAccess": "अर्ली एक्सेस" + }, + "actions": { + "reset": "परिवर्तन रीसेट करें", + "downloadJson": "JSON डाउनलोड करें", + "generatePdf": "PDF जनरेट करें" + }, + "options": { + "autoScaleText": { + "title": "टेक्स्ट को बॉक्स में फिट करने हेतु ऑटो-स्केल", + "description": "जब फ़ॉन्ट रेंडरिंग PDF से भिन्न हो, तो मूल बाउंडिंग बॉक्स के भीतर फिट करने हेतु टेक्स्ट को क्षैतिज रूप से स्वतः स्केल करता है।" + }, + "groupingMode": { + "title": "टेक्स्ट ग्रुपिंग मोड", + "autoDescription": "पेज प्रकार स्वतः पहचानकर टेक्स्ट को उपयुक्त रूप से ग्रुप करता है।", + "paragraphDescription": "संरेखित लाइनों को मल्टी-लाइन पैराग्राफ टेक्स्ट बॉक्स में ग्रुप करता है।", + "singleLineDescription": "हर PDF टेक्स्ट लाइन को अलग टेक्स्ट बॉक्स रखता है।" + }, + "manualGrouping": { + "descriptionInline": "टिप: मल्टी-सेलेक्ट करने के लिए Ctrl (Cmd) या Shift दबाए रखें। चयन के ऊपर एक फ़्लोटिंग टूलबार दिखाई देगा जिससे आप मर्ज, अनग्रुप, या चौड़ाई समायोजित कर सकें।" + }, + "forceSingleElement": { + "title": "संपादित टेक्स्ट को एक ही PDF एलिमेंट में लॉक करें", + "description": "सक्रिय होने पर, ओवरलैपिंग glyphs या मिश्रित फ़ॉन्ट्स से बचने के लिए, एडिटर संपादित हर टेक्स्ट बॉक्स को एक PDF टेक्स्ट एलिमेंट के रूप में एक्सपोर्ट करता है." + } + }, + "manual": { + "mergeTooltip": "चयनित बॉक्सों को मर्ज करें", + "merge": "चयन मर्ज करें", + "ungroupTooltip": "पैराग्राफ को फिर से पंक्तियों में विभाजित करें", + "ungroup": "चयन अनग्रुप करें", + "widthMenu": "चौड़ाई विकल्प", + "expandWidth": "पेज किनारे तक फैलाएँ", + "resetWidth": "चौड़ाई रीसेट करें", + "resizeHandle": "टेक्स्ट चौड़ाई समायोजित करें" + }, + "disclaimer": { + "heading": "प्रीव्यू सीमाएँ", + "textFocus": "यह वर्कस्पेस टेक्स्ट संपादन और एम्बेडेड इमेज की स्थिति बदलने पर केंद्रित है। जटिल पेज आर्टवर्क, फॉर्म विजेट और लेयर्ड ग्राफिक्स एक्सपोर्ट के लिए सुरक्षित रहते हैं, लेकिन यहां पूरी तरह संपादन योग्य नहीं हैं.", + "previewVariance": "कुछ विज़ुअल्स (जैसे टेबल बॉर्डर, शेप्स, या एनोटेशन की उपस्थिति) प्रीव्यू में बिल्कुल वैसे न दिखें। एक्सपोर्ट किया गया PDF जहाँ संभव हो, मूल ड्रॉइंग कमांड्स बनाए रखता है.", + "alpha": "यह alpha व्यूअर अभी विकसित हो रहा है—कुछ फ़ॉन्ट्स, रंग, पारदर्शिता प्रभाव और लेआउट विवरण थोड़ा बदल सकते हैं। साझा करने से पहले बने PDF को दोबारा जाँचें." + }, + "empty": { + "title": "कोई दस्तावेज़ लोड नहीं", + "subtitle": "टेक्स्ट सामग्री संपादित करने के लिए PDF या JSON फ़ाइल लोड करें." + }, + "welcomeBanner": { + "title": "PDF Text Editor में आपका स्वागत है (Early Access)", + "experimental": "यह एक प्रायोगिक फीचर है और सक्रिय विकास में है। उपयोग के दौरान कुछ अस्थिरता और समस्याएँ हो सकती हैं.", + "howItWorks": "यह टूल आपके PDF को संपादन योग्य फ़ॉर्मेट में बदलता है, जहाँ आप टेक्स्ट बदल सकते हैं और इमेज की स्थिति बदल सकते हैं। बदलाव एक नए PDF के रूप में सेव होते हैं.", + "bestFor": "इनके साथ सबसे अच्छा काम करता है:", + "bestFor1": "सरल PDFs जिनमें मुख्यतः टेक्स्ट और इमेज हों", + "bestFor2": "मानक पैराग्राफ फ़ॉर्मैटिंग वाले दस्तावेज़", + "bestFor3": "पत्र, निबंध, रिपोर्ट और साधारण दस्तावेज़", + "notIdealFor": "इनके लिए उपयुक्त नहीं:", + "notIdealFor1": "विशेष फ़ॉर्मैटिंग जैसे बुलेट पॉइंट्स, टेबल्स, या मल्टी-कॉलम लेआउट वाले PDFs", + "notIdealFor2": "मैगज़ीन, ब्रॉशर, या भारी डिज़ाइन वाले दस्तावेज़", + "notIdealFor3": "जटिल लेआउट वाले निर्देश पुस्तिकाएँ", + "limitations": "वर्तमान सीमाएँ:", + "limitation1": "फ़ॉन्ट रेंडरिंग मूल PDF से थोड़ा भिन्न हो सकती है", + "limitation2": "जटिल ग्राफिक्स, फॉर्म फ़ील्ड्स और एनोटेशन सुरक्षित रहते हैं पर संपादन योग्य नहीं", + "limitation3": "बड़ी फ़ाइलों को कन्वर्ट और प्रोसेस होने में समय लग सकता है", + "knownIssues": "ज्ञात समस्याएँ (सुधारी जा रही हैं):", + "issue1": "टेक्स्ट रंग अभी सुरक्षित नहीं रहता (जल्द जोड़ा जाएगा)", + "issue2": "पैराग्राफ मोड में एलाइनमेंट और स्पेसिंग की अधिक समस्याएँ हैं - सिंगल लाइन मोड अनुशंसित है", + "issue3": "प्रीव्यू डिस्प्ले एक्सपोर्टेड PDF से अलग दिखता है - एक्सपोर्टेड PDFs मूल के ज्यादा करीब होते हैं", + "issue4": "घुमाए गए टेक्स्ट के एलाइनमेंट को मैन्युअल समायोजन की आवश्यकता पड़ सकती है", + "issue5": "ट्रांसपेरेंसी और लेयरिंग इफेक्ट्स मूल से भिन्न हो सकते हैं", + "feedback": "यह Early Access फीचर है। कृपया मिले किसी भी मुद्दे की रिपोर्ट करें ताकि हम सुधार कर सकें!", + "gotIt": "ठीक है", + "dontShowAgain": "दोबारा न दिखाएँ" + }, + "modeChange": { + "title": "मोड परिवर्तन की पुष्टि", + "warning": "टेक्स्ट ग्रुपिंग मोड बदलने से सभी असहेजे बदलाव रीसेट हो जाएंगे। क्या आप जारी रखना चाहते हैं?", + "cancel": "रद्द करें", + "confirm": "रीसेट करें और मोड बदलें" + }, + "fontAnalysis": { + "details": "फ़ॉन्ट विवरण", + "embedded": "एम्बेडेड", + "type": "प्रकार", + "webFormat": "वेब फ़ॉर्मैट", + "warnings": "चेतावनियाँ", + "suggestions": "नोट्स", + "currentPageFonts": "इस पेज के फ़ॉन्ट्स", + "allFonts": "सभी फ़ॉन्ट्स", + "fallback": "fallback", + "missing": "गायब", + "perfectMessage": "सभी फ़ॉन्ट्स को पूरी तरह पुनरुत्पादित किया जा सकता है.", + "warningMessage": "कुछ फ़ॉन्ट्स सही से रेंडर नहीं हो सकते हैं.", + "infoMessage": "फ़ॉन्ट पुनरुत्पादन जानकारी उपलब्ध है.", + "perfect": "परफेक्ट", + "subset": "सबसेट" + }, + "errors": { + "invalidJson": "JSON फ़ाइल पढ़ी नहीं जा सकी। सुनिश्चित करें कि यह PDF to JSON टूल द्वारा जनरेट की गई हो.", + "pdfConversion": "एडिटेड JSON को वापस PDF में कन्वर्ट नहीं किया जा सका." + } + }, + "auth": { + "sessionExpired": "सत्र समाप्त", + "pleaseLoginAgain": "कृपया फिर से लॉगिन करें.", + "accessDenied": "पहुँच अस्वीकृत", + "insufficientPermissions": "आपके पास यह क्रिया करने की अनुमति नहीं है." + }, + "addText": { + "title": "टेक्स्ट जोड़ें", + "header": "PDFs में टेक्स्ट जोड़ें", + "text": { + "name": "टेक्स्ट सामग्री", + "placeholder": "जो टेक्स्ट आप जोड़ना चाहते हैं, दर्ज करें", + "fontLabel": "फ़ॉन्ट", + "fontSizeLabel": "फ़ॉन्ट आकार", + "fontSizePlaceholder": "फ़ॉन्ट आकार टाइप करें या चुनें (8-200)", + "colorLabel": "टेक्स्ट रंग" + }, + "steps": { + "configure": "टेक्स्ट कॉन्फ़िगर करें" + }, + "step": { + "createDesc": "जो टेक्स्ट आप जोड़ना चाहते हैं, दर्ज करें", + "place": "टेक्स्ट रखें", + "placeDesc": "अपना टेक्स्ट जोड़ने के लिए PDF पर क्लिक करें" + }, + "instructions": { + "title": "टेक्स्ट कैसे जोड़ें", + "text": "ऊपर अपना टेक्स्ट दर्ज करने के बाद, उसे रखने के लिए PDF में कहीं भी क्लिक करें.", + "paused": "प्लेसमेंट रोका गया", + "resumeHint": "क्लिक कर अपना टेक्स्ट जोड़ने के लिए प्लेसमेंट फिर शुरू करें.", + "noSignature": "प्लेसमेंट सक्षम करने के लिए ऊपर टेक्स्ट दर्ज करें." + }, + "mode": { + "move": "टेक्स्ट स्थानांतरित करें", + "place": "टेक्स्ट रखें", + "pause": "प्लेसमेंट रोकें", + "resume": "प्लेसमेंट फिर शुरू करें" + }, + "results": { + "title": "टेक्स्ट जोड़ने के परिणाम" + }, + "error": { + "failed": "PDF में टेक्स्ट जोड़ते समय त्रुटि हुई." + }, + "tags": "text,annotation,label", + "applySignatures": "टेक्स्ट लागू करें" } } \ No newline at end of file diff --git a/frontend/public/locales/hr-HR/translation.json b/frontend/public/locales/hr-HR/translation.json index 020763135..15449bbb4 100644 --- a/frontend/public/locales/hr-HR/translation.json +++ b/frontend/public/locales/hr-HR/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Uskoro:", "favorite": "Dodaj u omiljene", "favorites": "Omiljene", + "unavailable": "Onemogućio administrator poslužitelja:", + "unavailableDependency": "Nedostupno - potreban alat nedostaje na poslužitelju:", "heading": "Svi alati (prikaz cijelog zaslona)", "noResults": "Pokušajte prilagoditi pretragu ili prebacite prikaz opisa kako biste našli što trebate.", "recommended": "Preporučeno", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Prebaci na način cijelog zaslona", "sidebar": "Prebaci na način bočne trake" - } + }, + "alpha": "Alfa", + "premiumFeature": "Premium značajka:", + "comingSoon": "Uskoro:" }, "unsavedChanges": "Imate nespremljene promjene u svom PDF-u.", "areYouSure": "Jeste li sigurni da želite izaći?", @@ -41,6 +46,30 @@ "cancel": "Odustani", "confirm": "Izdvoji" }, + "defaultApp": { + "title": "Postavi kao zadanu PDF aplikaciju", + "message": "Želite li postaviti Stirling PDF kao zadani PDF uređivač?", + "description": "To možete kasnije promijeniti u postavkama sustava.", + "notNow": "Ne sada", + "setDefault": "Postavi kao zadano", + "dismiss": "Odbaci", + "prompt": { + "title": "Postavi kao zadani PDF uređivač", + "message": "Postavite Stirling PDF kao zadanu aplikaciju za otvaranje PDF datoteka." + }, + "success": { + "title": "Zadana aplikacija postavljena", + "message": "Stirling PDF je sada vaš zadani PDF uređivač" + }, + "settingsOpened": { + "title": "Otvorene postavke", + "message": "Odaberite Stirling PDF u postavkama sustava" + }, + "error": { + "title": "Pogreška", + "message": "Nije uspjelo postaviti zadanu aplikaciju za PDF" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Spremi", "saveToBrowser": "spremi u Preglednik", "download": "Preuzmi datoteku", + "downloadUnavailable": "Preuzimanje nije dostupno za ovu stavku", + "saveUnavailable": "Spremanje nije dostupno za ovu stavku", "pin": "Prikvači datoteku (zadrži aktivnu nakon pokretanja alata)", "unpin": "Otkači datoteku (zamijeni nakon pokretanja alata)", "undoOperationTooltip": "Kliknite za poništavanje zadnje operacije i vraćanje izvornih datoteka", @@ -168,6 +199,7 @@ }, "edit": "Uredi", "delete": "Izbriši", + "never": "Nikada", "username": "Korisničko ime", "password": "Zaporka", "welcome": "Dobrodošli", @@ -262,7 +294,8 @@ "learnMore": "Saznajte više", "enable": "Omogući analitike", "disable": "Onemogući analitike", - "settings": "Možete promijeniti postavke za analitike u datoteci config/settings.yml" + "settings": "Možete promijeniti postavke za analitike u datoteci config/settings.yml", + "privacyAssurance": "Ne pratimo osobne podatke niti sadržaj vaših datoteka." }, "navbar": { "favorite": "Favoriti", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Postavke", - "update": "Dostupno ažuriranje", - "updateAvailable": "{0} je trenutno instalirana verzija. Dostupna je nova verzija ({1}).", - "appVersion": "Verzija aplikacije:", - "downloadOption": { - "title": "Odaberite opciju preuzimanja (Za preuzimanje pojedinačnih datoteka bez zip formata):", - "1": "Otvori u istom prozoru", - "2": "Otvori u novom prozoru", - "3": "Preuzmi datoteku" - }, - "zipThreshold": "Spremi .zip datoteku kada broj preuzetih datoteka pređe", - "signOut": "Odjava", - "accountSettings": "Postavke računa", - "bored": { - "help": "Omogućuje \"easter egg\" igru" - }, - "cacheInputs": { - "name": "Spremi unose obrazaca", - "help": "omogućiti pohranjivanje prethodno korištenih ulaza za buduća izvođenja" + "connection": { + "title": "Način povezivanja", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Self-hosted" + }, + "server": "Poslužitelj", + "user": "Prijavljeni kao", + "logout": "Odjava" }, "general": { "title": "Općenito", "description": "Konfigurirajte opće postavke aplikacije.", - "account": "Račun", - "accountDescription": "Upravljajte postavkama računa", "user": "Korisnik", - "signedInAs": "Prijavljeni kao", "logout": "Odjava", "enableFeatures": { + "dismiss": "Odbaci", "title": "Za sistemske administratore", "intro": "Omogućite autentikaciju korisnika, upravljanje timovima i značajke radnog prostora za svoju organizaciju.", "action": "Konfiguriraj", "and": "i", "benefit": "Omogućuje korisničke uloge, timsku suradnju, administratorske kontrole i poslovne značajke.", - "learnMore": "Saznajte više u dokumentaciji", - "dismiss": "Odbaci" + "learnMore": "Saznajte više u dokumentaciji" }, - "autoUnzip": "Automatsko raspakiravanje API odgovora", - "autoUnzipDescription": "Automatski izdvoji datoteke iz ZIP odgovora", - "autoUnzipTooltip": "Automatski izdvoji ZIP datoteke vraćene iz API operacija. Isključite da biste zadržali ZIP datoteke netaknute. Ovo ne utječe na automatizirane tijekove rada.", - "autoUnzipFileLimit": "Ograničenje automatskog raspakiravanja", - "autoUnzipFileLimitDescription": "Maksimalan broj datoteka za izdvajanje iz ZIP-a", - "autoUnzipFileLimitTooltip": "Raspakiraj samo ako ZIP sadrži ovoliko ili manje datoteka. Postavite više za izdvajanje većih ZIP-ova.", "defaultToolPickerMode": "Zadani način odabira alata", "defaultToolPickerModeDescription": "Odaberite hoće li se birač alata zadano otvarati preko cijelog zaslona ili u bočnoj traci", "mode": { - "fullscreen": "Cijeli zaslon", - "sidebar": "Bočna traka" - } + "sidebar": "Bočna traka", + "fullscreen": "Cijeli zaslon" + }, + "autoUnzipTooltip": "Automatski izdvoji ZIP datoteke vraćene iz API operacija. Isključite da biste zadržali ZIP datoteke netaknute. Ovo ne utječe na automatizirane tijekove rada.", + "autoUnzip": "Automatsko raspakiravanje API odgovora", + "autoUnzipDescription": "Automatski izdvoji datoteke iz ZIP odgovora", + "autoUnzipFileLimitTooltip": "Raspakiraj samo ako ZIP sadrži ovoliko ili manje datoteka. Postavite više za izdvajanje većih ZIP-ova.", + "autoUnzipFileLimit": "Ograničenje automatskog raspakiravanja", + "autoUnzipFileLimitDescription": "Maksimalan broj datoteka za izdvajanje iz ZIP-a", + "defaultPdfEditor": "Zadani PDF uređivač", + "defaultPdfEditorActive": "Stirling PDF je vaš zadani PDF uređivač", + "defaultPdfEditorInactive": "Druga je aplikacija postavljena kao zadana", + "defaultPdfEditorChecking": "Provjera...", + "defaultPdfEditorSet": "Već je zadano", + "setAsDefault": "Postavi kao zadano", + "updates": { + "title": "Ažuriranja softvera", + "description": "Provjerite ažuriranja i pogledajte informacije o verziji", + "currentVersion": "Trenutačna verzija", + "latestVersion": "Najnovija verzija", + "checkForUpdates": "Provjeri ažuriranja", + "viewDetails": "Prikaži detalje" + }, + "hideUnavailableTools": "Sakrij nedostupne alate", + "hideUnavailableToolsDescription": "Uklonite alate koje je poslužitelj onemogućio umjesto da su zasivljeni.", + "hideUnavailableConversions": "Sakrij nedostupne pretvorbe", + "hideUnavailableConversionsDescription": "Uklonite onemogućene opcije pretvorbe u alatu Pretvori umjesto da su zasivljene." }, "hotkeys": { - "title": "Prečaci na tipkovnici", - "description": "Zadržite pokazivač iznad alata da vidite njegov prečac ili ga prilagodite dolje. Kliknite \"Promijeni prečac\" i pritisnite novu kombinaciju tipki. Pritisnite Esc za otkazivanje.", - "errorModifier": { - "mac": "Uključite ⌘ (Command), ⌥ (Option) ili neki drugi modifikator u svom prečacu.", - "windows": "Uključite Ctrl, Alt ili neki drugi modifikator u svom prečacu." - }, "errorConflict": "Prečac već koristi {{tool}}.", + "searchPlaceholder": "Pretraži alate...", "none": "Nije dodijeljeno", "customBadge": "Prilagođeno", "defaultLabel": "Zadano: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Promijeni prečac", "reset": "Resetiraj", "shortcut": "Prečac", - "noShortcut": "Nije postavljen prečac", - "searchPlaceholder": "Pretraži alate..." + "noShortcut": "Nije postavljen prečac" } }, + "update": { + "modalTitle": "Dostupno ažuriranje", + "current": "Trenutačna verzija", + "latest": "Najnovija verzija", + "latestStable": "Najnovija stabilna", + "priorityLabel": "Prioritet", + "recommendedAction": "Preporučena radnja", + "breakingChangesDetected": "Otkrivene nekompatibilne promjene", + "breakingChangesMessage": "Neke verzije sadrže nekompatibilne promjene. Prije ažuriranja pregledajte vodiče za migraciju u nastavku.", + "migrationGuides": "Vodiči za migraciju", + "viewGuide": "Prikaži vodič", + "loadingDetailedInfo": "Učitavanje detaljnih informacija...", + "close": "Zatvori", + "viewAllReleases": "Pogledaj sva izdanja", + "downloadLatest": "Preuzmi najnovije", + "availableUpdates": "Dostupna ažuriranja", + "unableToLoadDetails": "Nije moguće učitati detaljne informacije.", + "version": "Verzija", + "urgentUpdateAvailable": "Hitno ažuriranje", + "updateAvailable": "Dostupno ažuriranje", + "releaseNotes": "Napomene uz izdanje", + "priority": { + "urgent": "Hitno", + "normal": "Normalno", + "minor": "Manje", + "low": "Nizak" + }, + "breakingChanges": "Nekompatibilne promjene", + "breakingChangesDefault": "Ova verzija sadrži nekompatibilne promjene.", + "migrationGuide": "Vodič za migraciju" + }, "changeCreds": { "title": "Promijeni pristupne podatke", "header": "Ažurirajte korisničke podatke", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Preklapa PDF-ove na drugi PDF", "title": "Preklapanje PDF-ova" + }, + "pdfTextEditor": { + "title": "PDF uređivač teksta", + "desc": "Pregledajte i uredite Stirling PDF JSON izvoze s grupnim uređivanjem teksta i ponovnim generiranjem PDF-a" + }, + "addText": { + "tags": "tekst,anotacija,oznaka", + "title": "Dodaj tekst", + "desc": "Dodajte prilagođeni tekst bilo gdje u PDF-u" } }, "landing": { "addFiles": "Dodaj datoteke", - "uploadFromComputer": "Učitaj s računala" + "uploadFromComputer": "Učitaj s računala", + "openFromComputer": "Otvori s računala" }, "viewPdf": { "tags": "pregled,čitanje,komentiranje,tekst,slika", @@ -849,6 +922,11 @@ }, "error": { "failed": "Došlo je do pogreške pri spajanju PDF-ova." + }, + "tooltip": { + "header": { + "title": "Pregled postavki spajanja" + } } }, "split": { @@ -1087,9 +1165,9 @@ "fileFormat": "Format datoteke", "wordDoc": "Word dokument", "wordDocExt": "Word dokument (.docx)", - "odtExt": "OpenDocument Text (.odt)", + "odtExt": "OpenDocument tekst (.odt)", "pptExt": "PowerPoint (.pptx)", - "odpExt": "OpenDocument Presentation (.odp)", + "odpExt": "OpenDocument prezentacija (.odp)", "txtExt": "Običan tekst (.txt)", "rtfExt": "Rich Text Format (.rtf)", "selectedFiles": "Odabrane datoteke", @@ -1108,6 +1186,7 @@ "grayscale": "Sivi tonovi", "errorConversion": "Došlo je do pogreške pri pretvorbi datoteke.", "cbzOptions": "Opcije CBZ u PDF", + "optimizeForEbook": "Optimiziraj PDF za e-čitače (koristi Ghostscript)", "cbzOutputOptions": "Opcije PDF u CBZ", "cbzDpi": "DPI za renderiranje slike" }, @@ -1181,9 +1260,43 @@ "tags": "img,jpg,slika,foto", "title": "Dodaj sliku", "header": "Dodaj sliku u PDF", - "everyPage": "Na svakoj stranici?", - "upload": "Dodaj sliku", - "submit": "Dodaj sliku" + "image": { + "name": "Slika", + "placeholder": "Učitaj sliku", + "label": "Datoteka slike" + }, + "steps": { + "configure": "Konfiguriraj sliku" + }, + "step": { + "createDesc": "Učitajte sliku koju želite dodati", + "place": "Postavi sliku", + "placeDesc": "Kliknite na PDF da biste dodali sliku" + }, + "instructions": { + "title": "Kako dodati slike", + "text": "Nakon učitavanja slike iznad, kliknite bilo gdje na PDF da biste je postavili.", + "paused": "Postavljanje pauzirano", + "resumeHint": "Nastavite postavljanje kako biste kliknuli i dodali sliku.", + "noSignature": "Učitajte sliku iznad za omogućavanje postavljanja." + }, + "mode": { + "move": "Pomakni sliku", + "place": "Postavi sliku", + "pause": "Pauziraj postavljanje", + "resume": "Nastavi postavljanje" + }, + "results": { + "title": "Rezultati dodavanja slike" + }, + "error": { + "failed": "Došlo je do pogreške pri dodavanju slike u PDF." + }, + "saved": { + "defaultLabel": "Slika", + "defaultImageLabel": "Učitana slika" + }, + "applySignatures": "Primijeni slike" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1396,6 +1509,93 @@ }, "submit": "Promijeniti" }, + "editTableOfContents": { + "settings": { + "title": "Knjižne oznake i struktura", + "replaceExisting": "Zamijeni postojeće knjižne oznake (odznačite za dodavanje)", + "replaceExistingHint": "Kad je onemogućeno, nova se struktura dodaje nakon trenutačnih knjižnih oznaka." + }, + "actions": { + "source": "Učitaj knjižne oznake", + "selectedFile": "Učitano iz {{file}}", + "noFile": "Odaberite PDF za izdvajanje postojećih knjižnih oznaka.", + "loadFromPdf": "Učitaj iz odabranog PDF-a", + "importJson": "Uvezi JSON", + "importClipboard": "Zalijepi JSON iz međuspremnika", + "export": "Izvezi knjižne oznake", + "exportJson": "Preuzmi JSON", + "exportClipboard": "Kopiraj JSON u međuspremnik", + "clipboardUnavailable": "Pristup međuspremniku nije dostupan u ovom pregledniku." + }, + "info": { + "line1": "Svaka knjižna oznaka treba opisni naslov i stranicu koju otvara.", + "line2": "Upotrijebite podoznake za izgradnju hijerarhije za poglavlja, odjeljke ili potpoglavlja.", + "line3": "Uvezite knjižne oznake iz odabranog PDF-a ili JSON datoteke kako biste uštedjeli vrijeme." + }, + "workbench": { + "empty": { + "title": "Otvorite alat za početak uređivanja", + "description": "Odaberite alat Uredi sadržaj za učitavanje radnog prostora." + }, + "tabTitle": "Radni prostor strukture", + "subtitle": "Uvezite oznake, izgradite hijerarhije i primijenite strukturu bez skučenih bočnih panela.", + "noFile": "Nije odabran PDF", + "fileLabel": "Promjene će se primijeniti na trenutačno odabrani PDF.", + "filePrompt": "Odaberite PDF iz biblioteke ili učitajte novi za početak.", + "changeFile": "Promijeni PDF", + "selectFile": "Odaberi PDF" + }, + "editor": { + "heading": "Uređivač knjižnih oznaka", + "description": "Dodajte, ugnijezdite i prerasporedite knjižne oznake za izradu strukture PDF-a.", + "addTopLevel": "Dodaj oznaku najviše razine", + "empty": { + "title": "Još nema knjižnih oznaka", + "description": "Uvezite postojeće knjižne oznake ili dodajte prvi unos.", + "action": "Dodaj prvu oznaku" + }, + "defaultTitle": "Nova knjižna oznaka", + "defaultChildTitle": "Podoznaka", + "defaultSiblingTitle": "Nova knjižna oznaka", + "untitled": "Neimenovana knjižna oznaka", + "childBadge": "Podoznaka", + "pagePreview": "Stranica {{page}}", + "field": { + "title": "Naslov knjižne oznake", + "page": "Ciljni broj stranice" + }, + "actions": { + "toggle": "Prikaži/sakrij podoznake", + "addChild": "Dodaj podoznaku", + "addSibling": "Dodaj oznaku iste razine", + "remove": "Ukloni knjižnu oznaku" + }, + "confirmRemove": "Ukloniti ovu knjižnu oznaku i sve njezine podoznake?" + }, + "messages": { + "loadedTitle": "Knjižne oznake izdvojene", + "loadedBody": "Postojeće knjižne oznake iz PDF-a učitane su u uređivač.", + "noBookmarks": "U odabranom PDF-u nisu pronađene knjižne oznake.", + "loadFailed": "Nije moguće izdvojiti knjižne oznake iz odabranog PDF-a.", + "imported": "Knjižne oznake uvezene", + "importedBody": "Vaša JSON struktura zamijenila je trenutačni sadržaj uređivača.", + "importedClipboard": "Podaci iz međuspremnika zamijenili su trenutačni popis knjižnih oznaka.", + "invalidJson": "Neispravna JSON struktura", + "invalidJsonBody": "Unesite valjanu JSON datoteku knjižnih oznaka i pokušajte ponovno.", + "exported": "JSON preuzimanje spremno", + "copied": "Kopirano u međuspremnik", + "copiedBody": "JSON knjižnih oznaka uspješno kopiran.", + "copyFailed": "Kopiranje nije uspjelo" + }, + "error": { + "failed": "Nije uspjelo ažurirati sadržaj" + }, + "submit": "Primijeni sadržaj", + "results": { + "title": "Ažurirani PDF s knjižnim oznakama", + "subtitle": "Preuzmite obrađenu datoteku ili poništite operaciju u nastavku." + } + }, "removePages": { "tags": "Ukloni stranice,izbriši stranice", "title": "Ukloniti", @@ -1600,7 +1800,7 @@ "tags": "squish, mali, maleni" }, "unlockPDFForms": { - "tags": "remove,delete,form,field,readonly", + "tags": "ukloni,obriši,obrazac,polje,samo za čitanje", "title": "Ukloni read-only s polja obrasca", "header": "Otključaj PDF obrasce", "submit": "Remove", @@ -1977,13 +2177,54 @@ "title": "Nacrtajte svoj potpis", "clear": "Očisti" }, + "canvas": { + "heading": "Nacrtajte svoj potpis", + "clickToOpen": "Kliknite za otvaranje platna za crtanje", + "modalTitle": "Nacrtajte svoj potpis", + "colorLabel": "Boja", + "penSizeLabel": "Veličina olovke", + "penSizePlaceholder": "Veličina", + "clear": "Očisti platno", + "colorPickerTitle": "Odaberite boju poteza" + }, "text": { "name": "Ime potpisnika", - "placeholder": "Unesite svoje puno ime" + "placeholder": "Unesite svoje puno ime", + "fontLabel": "Font", + "fontSizeLabel": "Veličina fonta", + "fontSizePlaceholder": "Upišite ili odaberite veličinu fonta (8-200)", + "colorLabel": "Boja teksta" }, "clear": "Obriši", "add": "Dodaj", - "saved": "Sacuvane potpisne oznake", + "saved": { + "heading": "Spremljeni potpisi", + "description": "Ponovno koristite spremljene potpise u bilo kojem trenutku.", + "emptyTitle": "Još nema spremljenih potpisa", + "emptyDescription": "Nacrtajte, učitajte ili upišite potpis iznad, a zatim upotrijebite \"Spremi u biblioteku\" da biste spremili do {{max}} omiljenih spremnih za upotrebu.", + "type": { + "canvas": "Crtanje", + "image": "Učitavanje", + "text": "Tekst" + }, + "limitTitle": "Dosegnut limit", + "limitDescription": "Uklonite spremljeni potpis prije dodavanja novih (maks. {{max}}).", + "carouselPosition": "{{current}} od {{total}}", + "prev": "Prethodno", + "next": "Sljedeće", + "delete": "Ukloni", + "label": "Oznaka", + "defaultLabel": "Potpis", + "defaultCanvasLabel": "Crtani potpis", + "defaultImageLabel": "Učitani potpis", + "defaultTextLabel": "Upisani potpis", + "saveButton": "Spremi potpis", + "saveUnavailable": "Najprije izradite potpis da biste ga spremili.", + "noChanges": "Trenutačni potpis je već spremljen.", + "status": { + "saved": "Spremljeno" + } + }, "save": "Sačuvaj potpisnu oznaku", "applySignatures": "Primijeni potpise", "personalSigs": "Osobni potpisi", @@ -2002,12 +2243,18 @@ "steps": { "configure": "Konfiguriraj potpis" }, + "step": { + "createDesc": "Odaberite kako želite izraditi potpis", + "place": "Postavi i spremi", + "placeDesc": "Postavite potpis na PDF" + }, "type": { "title": "Vrsta potpisa", "draw": "Crtanje", "canvas": "Platno", "image": "Slika", - "text": "Tekst" + "text": "Tekst", + "saved": "Spremljeno" }, "image": { "label": "Učitaj sliku potpisa", @@ -2018,11 +2265,17 @@ "title": "Kako dodati potpis", "canvas": "Nakon što nacrtate potpis na platnu, zatvorite prozor pa kliknite bilo gdje na PDF-u kako biste ga postavili.", "image": "Nakon što iznad učitate sliku potpisa, kliknite bilo gdje na PDF-u da je postavite.", - "text": "Nakon što iznad unesete svoje ime, kliknite bilo gdje na PDF-u da postavite svoj potpis." + "saved": "Odaberite spremljeni potpis iznad, zatim kliknite bilo gdje na PDF da biste ga postavili.", + "text": "Nakon što iznad unesete svoje ime, kliknite bilo gdje na PDF-u da postavite svoj potpis.", + "paused": "Postavljanje pauzirano", + "resumeHint": "Nastavite postavljanje kako biste kliknuli i dodali potpis.", + "noSignature": "Izradite potpis iznad za omogućavanje alata za postavljanje." }, "mode": { "move": "Pomakni potpis", - "place": "Postavi potpis" + "place": "Postavi potpis", + "pause": "Pauziraj postavljanje", + "resume": "Nastavi postavljanje" }, "updateAndPlace": "Ažuriraj i postavi", "activate": "Aktiviraj postavljanje potpisa", @@ -2162,6 +2415,14 @@ "title": "O uklanjanju anotacija", "description": "Ovaj alat će ukloniti sve anotacije (komentare, isticanja, napomene itd.) iz vaših PDF dokumenata." }, + "tooltip": { + "header": { + "title": "O alatu Ukloni anotacije" + }, + "description": { + "title": "Što radi" + } + }, "error": { "failed": "Došlo je do pogreške prilikom uklanjanja anotacija iz PDF-a." } @@ -2626,6 +2887,9 @@ "header": { "title": "Kako radi automatsko preimenovanje" }, + "description": { + "title": "Što radi" + }, "howItWorks": { "title": "Pametno preimenovanje", "text": "Automatski pronalazi naslov iz sadržaja vašeg PDF-a i koristi ga kao naziv datoteke.", @@ -2633,6 +2897,9 @@ "bullet2": "Stvara čist, valjan naziv datoteke iz otkrivenog naslova", "bullet3": "Zadržava izvorni naziv ako nije pronađen odgovarajući naslov" } + }, + "settings": { + "title": "O alatu" } }, "adjust-contrast": { @@ -3022,7 +3289,7 @@ "tags": "podjela, glave, markere, organizacija" }, "validateSignature": { - "tags": "signature,verify,validate,pdf,certificate,digital signature,Validate Signature,Validate certificate", + "tags": "potpis,provjeri,validiraj,pdf,certifikat,digitalni potpis,Validate Signature,Validate certificate", "title": "Provjeri PDF potpise", "header": "Provjeri digitalne potpise", "selectPDF": "Odaberite potpisanu PDF datoteku", @@ -3123,7 +3390,7 @@ "totalSignatures": "Ukupno potpisa" }, "replaceColor": { - "tags": "Replace Colour,Page operations,Back end,server side", + "tags": "Zamijeni boju,Operacije nad stranicama,Back end,poslužiteljska strana", "labels": { "settings": "Postavke", "colourOperation": "Operacija boja" @@ -3226,7 +3493,26 @@ "unexpectedError": "Neočekivana pogreška: {{message}}", "accountCreatedSuccess": "Račun je uspješno stvoren! Sada se možete prijaviti.", "passwordChangedSuccess": "Lozinka je uspješno promijenjena! Prijavite se novom lozinkom.", - "credentialsUpdated": "Vaše vjerodajnice su ažurirane. Prijavite se ponovno." + "credentialsUpdated": "Vaše vjerodajnice su ažurirane. Prijavite se ponovno.", + "defaultCredentials": "Zadane vjerodajnice za prijavu", + "changePasswordWarning": "Promijenite lozinku nakon prve prijave", + "slides": { + "overview": { + "alt": "Pregled Stirling PDF-a", + "title": "Sve za PDF na jednom mjestu.", + "subtitle": "Cloud paket s fokusom na privatnost za PDF-ove koji omogućuje pretvaranje, potpisivanje, redaktiranje i upravljanje dokumentima, uz 50+ drugih moćnih alata." + }, + "edit": { + "alt": "Uređivanje PDF-ova", + "title": "Uredite PDF-ove kako biste prikazali/zaštitili željene informacije", + "subtitle": "S više od desetak alata za redaktiranje, potpisivanje, čitanje i obradu PDF-ova, sigurno ćete naći što tražite." + }, + "secure": { + "alt": "Zaštita PDF-ova", + "title": "Zaštitite osjetljive informacije u svojim PDF-ovima", + "subtitle": "Dodajte lozinke, redaktirajte sadržaj i lako upravljajte certifikatima." + } + } }, "signup": { "title": "Stvorite račun", @@ -3597,7 +3883,9 @@ "exportAll": "Izvezi PDF", "downloadSelected": "Preuzmi odabrane datoteke", "downloadAll": "Preuzmi sve", + "saveAll": "Spremi sve", "toggleTheme": "Prebaci temu", + "toggleBookmarks": "Prebaci knjižne oznake", "language": "Jezik", "search": "Pretraži PDF", "panMode": "Način pomicanja", @@ -3684,8 +3972,16 @@ "saved": "Postavke su uspješno spremljene", "saveSuccess": "Postavke su uspješno spremljene", "save": "Spremi promjene", + "discard": "Odbaci", "restartRequired": "Potrebno ponovno pokretanje", "loginRequired": "Način prijave mora biti omogućen za izmjenu administratorskih postavki", + "unsavedChanges": { + "title": "Nespremljene promjene", + "message": "Imate nespremljene promjene. Želite li ih odbaciti?", + "cancel": "Nastavi uređivati", + "discard": "Odbaci promjene", + "hint": "Imate nespremljene promjene" + }, "loginDisabled": { "title": "Potreban je način prijave", "message": "Način prijave mora biti omogućen za izmjenu administratorskih postavki. Postavite SECURITY_ENABLELOGIN=true u svom okruženju ili security.enableLogin: true u settings.yml, zatim ponovno pokrenite poslužitelj.", @@ -3946,7 +4242,7 @@ "description": "OAuth2 pružatelj koji će se koristiti za autentikaciju" }, "issuer": { - "label": "Issuer URL", + "label": "URL izdavatelja", "description": "Issuer URL OAuth2 pružatelja" }, "clientId": { @@ -4136,7 +4432,7 @@ "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", "weasyPrint": "WeasyPrint", - "installApp": "Install App", + "installApp": "Instaliraj aplikaciju", "calibre": "Calibre", "ghostscript": "Ghostscript", "ocrMyPdf": "OCRmyPDF" @@ -4211,9 +4507,21 @@ "title": "Premium i Enterprise", "description": "Konfigurirajte svoj premium ili enterprise licencni ključ.", "license": "Konfiguracija licence", + "licenseKey": { + "toggle": "Imate licencni ključ ili datoteku certifikata?", + "info": "Ako imate licencni ključ ili datoteku certifikata iz izravne kupnje, možete ih unijeti ovdje za aktivaciju premium ili enterprise značajki." + }, "key": { "label": "Licencni ključ", - "description": "Unesite svoj premium ili enterprise licencni ključ" + "description": "Unesite svoj premium ili enterprise licencni ključ", + "success": "Licencni ključ spremljen", + "successMessage": "Vaš licencni ključ je uspješno aktiviran. Nije potreban restart.", + "overwriteWarning": { + "title": "⚠️ Upozorenje: Otkrivena postojeća licenca", + "line1": "Prepisivanje vašeg trenutačnog licencnog ključa ne može se poništiti.", + "line2": "Vaša će prethodna licenca trajno biti izgubljena osim ako je niste sigurnosno kopirali drugdje.", + "line3": "Važno: Licencne ključeve držite privatnima i sigurnima. Nikada ih javno ne dijelite." + } }, "enabled": { "label": "Omogući premium značajke", @@ -4277,12 +4585,17 @@ "or": "ili", "dropFileHere": "Ispustite datoteku ovdje ili kliknite za otpremu", "dropFilesHere": "Ispustite datoteke ovdje ili kliknite gumb za otpremu", + "dropFilesHereOpen": "Ispustite datoteke ovdje ili kliknite gumb Otvori", "pdfFilesOnly": "Samo PDF datoteke", "supportedFileTypes": "Podržane vrste datoteka", "upload": "Otpremi", "uploadFile": "Otpremi datoteku", "uploadFiles": "Otpremi datoteke", + "open": "Otvori", + "openFile": "Otvori datoteku", + "openFiles": "Otvori datoteke", "noFilesInStorage": "Nema dostupnih datoteka u spremištu. Najprije otpremite neke datoteke.", + "noFilesInStorageOpen": "Nema datoteka u pohrani. Najprije otvorite neke datoteke.", "selectFromStorage": "Odaberite iz spremišta", "backToTools": "Natrag na alate", "addFiles": "Dodaj datoteke", @@ -4328,6 +4641,8 @@ "myFiles": "Moje datoteke", "noRecentFiles": "Nema nedavnih datoteka", "googleDriveNotAvailable": "Integracija Google Drive nije dostupna", + "downloadSelected": "Preuzmi odabrano", + "saveSelected": "Spremi odabrano", "openFiles": "Otvori datoteke", "openFile": "Otvori datoteku", "details": "Pojedinosti o datoteci", @@ -4340,7 +4655,6 @@ "selectAll": "Odaberi sve", "deselectAll": "Poništi odabir svega", "deleteSelected": "Izbriši odabrano", - "downloadSelected": "Preuzmi odabrano", "selectedCount": "{{count}} odabrano", "download": "Preuzmi datoteku", "delete": "Izbriši", @@ -4620,9 +4934,14 @@ "secureWorkflow": "Sigurnosni tijek rada", "secureWorkflowDesc": "Osigurava PDF dokumente uklanjanjem potencijalno zlonamjernog sadržaja poput JavaScripta i ugrađenih datoteka, zatim dodaje zaštitu lozinkom kako bi spriječio neovlašten pristup. Lozinka je zadano postavljena na 'password'.", "processImages": "Obradi slike", - "processImagesDesc": "Pretvara više slikovnih datoteka u jedan PDF dokument, zatim primjenjuje OCR tehnologiju za izdvajanje pretraživog teksta iz slika." + "processImagesDesc": "Pretvara više slikovnih datoteka u jedan PDF dokument, zatim primjenjuje OCR tehnologiju za izdvajanje pretraživog teksta iz slika.", + "prePublishSanitization": "Sanitizacija prije objave", + "prePublishSanitizationDesc": "Radni tok sanitizacije koji uklanja sve skrivene metapodatke, JavaScript, ugrađene datoteke, anotacije i spljoštava obrasce kako bi se spriječilo curenje podataka prije objave PDF-ova na internetu." } }, + "colorPicker": { + "title": "Odaberite boju" + }, "common": { "previous": "Prethodno", "next": "Sljedeće", @@ -4638,7 +4957,13 @@ "used": "iskorišteno", "available": "dostupno", "cancel": "Odustani", - "preview": "Pregled" + "preview": "Pregled", + "close": "Zatvori", + "done": "Gotovo", + "loading": "Učitavanje...", + "back": "Natrag", + "continue": "Nastavi", + "error": "Pogreška" }, "config": { "overview": { @@ -4704,6 +5029,14 @@ "addMoreFiles": "Dodajte još datoteka...", "selectedFiles": "Odabrane datoteke", "submit": "Dodaj privitke", + "tooltip": { + "header": { + "title": "O alatu Dodaj privitke" + }, + "description": { + "title": "Što radi" + } + }, "results": { "title": "Rezultati privitaka" }, @@ -4723,7 +5056,6 @@ }, "customPosition": "Prilagođeni položaj", "details": "Pojedinosti", - "downloadUnavailable": "Preuzimanje nije dostupno za ovu stavku", "invalidUndoData": "Nije moguće poništiti: nevaljani podaci o radnji", "margin": { "large": "Veliko", @@ -4800,6 +5132,10 @@ "maybeLater": "Možda kasnije", "dontShowAgain": "Ne prikazuj ponovno" }, + "welcomeSlide": { + "title": "Dobrodošli u Stirling", + "body": "Stirling PDF je sada spreman za timove svih veličina. Ovo ažuriranje donosi novi izgled, moćne nove administratorske mogućnosti i našu najtraženiju značajku - Uredi tekst." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Odaberimo alat Obrezivanje kako bismo pokazali kako koristiti jedan od alata.", "toolInterface": "Ovo je sučelje alata Obrezivanje. Kao što vidite, nema mnogo toga jer još nismo dodali PDF datoteke s kojima bismo radili.", @@ -4822,7 +5158,39 @@ "next": "Sljedeće", "finish": "Završi", "startTour": "Započni obilazak", - "startTourDescription": "Krenite u vođeni obilazak ključnih značajki alata Stirling PDF" + "startTourDescription": "Krenite u vođeni obilazak ključnih značajki alata Stirling PDF", + "buttons": { + "next": "Dalje →", + "back": "Natrag", + "skipForNow": "Preskoči zasad", + "download": "Preuzmi →", + "showMeAround": "Provedi me", + "skipTheTour": "Preskoči obilazak" + }, + "serverLicense": { + "skip": "Preskoči zasad", + "seePlans": "Pogledaj planove →", + "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 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." + }, + "desktopInstall": { + "title": "Preuzimanje", + "titleWithOs": "Preuzmi za {{osLabel}}", + "body": "Stirling najbolje radi kao desktop aplikacija. Možete ga koristiti izvan mreže, brže pristupati dokumentima i uređivati lokalno na računalu." + }, + "planOverview": { + "adminTitle": "Pregled za administratore", + "userTitle": "Pregled plana", + "adminBodyLoginEnabled": "Kao administrator možete upravljati korisnicima, konfigurirati postavke i nadzirati zdravlje poslužitelja. Prvih {{freeTierLimit}} osoba na vašem poslužitelju koristi Stirling besplatno.", + "adminBodyLoginDisabled": "Kad omogućite način prijave, moći ćete upravljati korisnicima, konfigurirati postavke i nadzirati zdravlje poslužitelja. Prvih {{freeTierLimit}} osoba na vašem poslužitelju koristi Stirling besplatno.", + "userBody": "Pozovite suradnike, dodijelite uloge i držite dokumente organiziranima u jednom sigurnom radnom prostoru. Omogućite način prijave kad budete spremni prerasti samostalnu upotrebu." + }, + "securityCheck": { + "message": "Aplikacija je nedavno pretrpjela značajne promjene. Možda je potrebna pažnja vašeg administratora poslužitelja. Potvrdite svoju ulogu za nastavak." + } }, "adminOnboarding": { "welcome": "Dobrodošli u Administratorski obilazak! Istražimo moćne korporativne značajke i postavke dostupne administratorima sustava.", @@ -4851,7 +5219,10 @@ "role": "Uloga", "team": "Tim", "status": "Status", - "actions": "Radnje", + "actions": { + "label": "Radnje", + "upgrade": "Nadogradi" + }, "noMembersFound": "Nije pronađen nijedan član", "active": "Aktivno", "disabled": "Onemogućeno", @@ -4963,7 +5334,8 @@ "slotsAvailable": "{{count}} slobodnih korisničkih mjesta", "noSlotsAvailable": "Nema dostupnih mjesta", "currentUsage": "Trenutno se koristi {{current}} od {{max}} korisničkih licenci" - } + }, + "loginRequired": "Najprije omogućite način prijave" }, "teams": { "title": "Timovi", @@ -5056,6 +5428,17 @@ "showComparison": "Usporedi sve značajke", "hideComparison": "Sakrij usporedbu značajki", "featureComparison": "Usporedba značajki", + "from": "Od", + "perMonth": "/mj", + "perSeat": "/mjesto", + "withServer": "+ Server plan", + "licensedSeats": "Licencirano: {{count}} mjesta", + "includedInCurrent": "Uključeno u vaš plan", + "selectPlan": "Odaberi plan", + "manage": "Upravljaj", + "manageSubscription": { + "description": "Upravljajte pretplatom, naplatom i načinima plaćanja" + }, "activePlan": { "title": "Aktivni plan", "subtitle": "Pojedinosti vaše trenutačne pretplate" @@ -5073,13 +5456,16 @@ "upTo": "Do" }, "period": { - "month": "mjesec" + "month": "mjesec", + "perUserPerMonth": "/korisnik/mjesec" }, "free": { "name": "Besplatno", "highlight1": "Ograničena upotreba alata tjedno", "highlight2": "Pristup svim alatima", - "highlight3": "Podrška zajednice" + "highlight3": "Podrška zajednice", + "forever": "Zauvijek besplatno", + "included": "Uključeno" }, "pro": { "name": "Pro", @@ -5091,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Prilagođeno određivanje cijene", "highlight2": "Namjenska podrška", - "highlight3": "Najnovije značajke" + "highlight3": "Najnovije značajke", + "requiresServer": "Zahtijeva Server", + "requiresServerMessage": "Najprije nadogradite na plan Server prije nadogradnje na Enterprise." }, "feature": { "title": "Značajka", @@ -5101,6 +5489,12 @@ "api": "Pristup API-ju", "priority": "Prioritetna podrška", "customPricing": "Prilagođene cijene" + }, + "licenseWarning": { + "title": "Dosegnuto ograničenje besplatne self-hosted verzije", + "body": "Imate {{total}} korisnika, ali besplatni sloj podržava samo {{limit}} po poslužitelju. Nadogradite kako bi Stirling PDF radio bez problema.", + "overLimit": "više od {{limit}}", + "cta": "Pogledaj planove" } }, "subscription": { @@ -5119,7 +5513,34 @@ "manageBilling": "Upravljaj naplatom", "portal": { "error": "Nije uspjelo otvaranje portala za naplatu" - } + }, + "updateSeats": "Ažuriraj mjesta", + "updateEnterpriseSeats": "Ažuriraj Enterprise mjesta", + "currentSeats": "Trenutačna mjesta", + "minimumSeats": "Minimalan broj mjesta", + "basedOnUsers": "(trenutačni korisnici)", + "newSeatCount": "Novi broj mjesta", + "newSeatCountDescription": "Odaberite broj mjesta za svoju Enterprise licencu", + "whatHappensNext": "Što slijedi?", + "stripePortalRedirect": "Bit ćete preusmjereni u Stripeov portal za naplatu radi pregleda i potvrde promjene broja mjesta. Proporcionalni iznos izračunat će se automatski.", + "preparingUpdate": "Priprema ažuriranja mjesta...", + "seatCountTooLow": "Broj mjesta mora biti najmanje {{minimum}} (trenutačni broj korisnika)", + "seatCountUnchanged": "Odaberite drugi broj mjesta", + "seatsUpdated": "Mjesta ažurirana", + "seatsUpdatedMessage": "Vaša Enterprise mjesta ažurirana su na {{seats}}", + "updateProcessing": "Ažuriranje u obradi", + "updateProcessingMessage": "Ažuriranje mjesta je u obradi. Osvježite za nekoliko trenutaka.", + "notEnterprise": "Upravljanje mjestima dostupno je samo za Enterprise licence" + }, + "upgradeBanner": { + "title": "Nadogradite na plan Server", + "message": "Iskoristite Stirling PDF uz neograničene korisnike i napredne značajke", + "upgradeButton": "Nadogradi odmah", + "dismiss": "Odbaci banner", + "attentionTitle": "Ovom poslužitelju treba pažnja administratora", + "attentionBody": "Vaš se administrator treba prijaviti za više informacija. Odmah ih kontaktirajte.", + "attentionBodyAdmin": "Pregledajte zahtjeve licence kako bi ovaj poslužitelj bio usklađen.", + "seeInfo": "Prikaži informacije" }, "payment": { "preparing": "Priprema naplate...", @@ -5127,7 +5548,61 @@ "success": "Plaćanje uspješno!", "successMessage": "Vaša je pretplata uspješno aktivirana. Uskoro ćete primiti potvrdni e-mail.", "autoClose": "Ovaj će se prozor automatski zatvoriti...", - "error": "Pogreška pri plaćanju" + "error": "Pogreška pri plaćanju", + "upgradeSuccess": "Plaćanje uspješno! Vaša je pretplata nadograđena. Licenca je ažurirana na vašem poslužitelju. Uskoro ćete dobiti potvrdu e-poštom.", + "paymentSuccess": "Plaćanje uspješno! Dohvaćanje vašeg licencnog ključa...", + "licenseActivated": "Licenca aktivirana! Vaš licencni ključ je spremljen. Potvrda je poslana na registriranu adresu e-pošte.", + "licenseDelayed": "Plaćanje uspješno! Vaša se licenca generira. Uskoro ćete e-poštom primiti licencni ključ. Ako ga ne dobijete u roku od 10 minuta, kontaktirajte podršku.", + "licensePollingError": "Plaćanje je uspješno, ali nismo mogli automatski dohvatiti vaš licencni ključ. Provjerite e-poštu ili kontaktirajte podršku s potvrdom plaćanja.", + "licenseRetrievalError": "Plaćanje je uspješno, ali dohvat licence nije uspio. Licencni ključ ćete primiti e-poštom. Kontaktirajte podršku ako ga ne dobijete u roku od 10 minuta.", + "syncError": "Plaćanje je uspješno, ali sinkronizacija licence nije uspjela. Vaša će licenca uskoro biti ažurirana. Kontaktirajte podršku ako problem potraje.", + "licenseSaveError": "Spremanje licencnog ključa nije uspjelo. Kontaktirajte podršku s licencnim ključem za dovršetak aktivacije.", + "paymentCanceled": "Plaćanje je otkazano. Nije naplaćeno.", + "syncingLicense": "Sinkroniziranje vaše nadograđene licence...", + "generatingLicense": "Generiranje vašeg licencnog ključa...", + "upgradeComplete": "Nadogradnja dovršena", + "upgradeCompleteMessage": "Vaša je pretplata uspješno nadograđena. Postojeći licencni ključ je ažuriran.", + "stripeNotConfigured": "Stripe nije konfiguriran", + "stripeNotConfiguredMessage": "Stripe integracija plaćanja nije konfigurirana. Obratite se administratoru.", + "monthly": "Mjesečno", + "yearly": "Godišnje", + "billingPeriod": "Obračunsko razdoblje", + "enterpriseNote": "Mjesta se mogu prilagoditi u naplati (1–1000).", + "installationId": "ID instalacije", + "licenseKey": "Vaš licencni ključ", + "licenseInstructions": "Ovo je dodano vašoj instalaciji. Kopiju ćete dobiti i u e-pošti.", + "canCloseWindow": "Sada možete zatvoriti ovaj prozor.", + "licenseKeyProcessing": "Obrada licencnog ključa", + "licenseDelayedMessage": "Vaš se licencni ključ generira. Uskoro provjerite e-poštu ili kontaktirajte podršku.", + "perYear": "/god", + "perMonth": "/mj", + "emailInvalid": "Unesite valjanu adresu e-pošte", + "emailStage": { + "title": "Unesite svoju e-poštu", + "description": "Upotrijebit ćemo je za slanje licencnog ključa i potvrda o plaćanju.", + "emailLabel": "Adresa e-pošte", + "emailPlaceholder": "your@email.com", + "continue": "Nastavi", + "modalTitle": "Započnite - {{planName}}" + }, + "planStage": { + "title": "Odaberite obračunsko razdoblje", + "savingsNote": "Uštedite {{percent}}% uz godišnju naplatu", + "basePrice": "Osnovna cijena", + "seatPrice": "Po mjestu", + "totalForSeats": "Ukupno ({{count}} mjesta)", + "selectMonthly": "Odaberi mjesečno", + "selectYearly": "Odaberi godišnje", + "savePercent": "Uštedite {{percent}}%", + "savingsAmount": "Uštedite {{amount}}", + "modalTitle": "Odaberite obračunsko razdoblje - {{planName}}", + "billedYearly": "Naplaćuje se godišnje: {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Natrag na odabir plana", + "selectedPlan": "Odabrani plan", + "modalTitle": "Dovršite plaćanje - {{planName}}" + } }, "firstLogin": { "title": "Prva prijava", @@ -5286,5 +5761,281 @@ "offline": "Pozadinski sustav offline", "starting": "Pozadinski sustav se pokreće...", "wait": "Pričekajte da se pozadinski sustav potpuno pokrene pa pokušajte ponovno." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Otključajte PDF za nastavak", + "title": "Uklonite lozinku za nastavak", + "description": "Ovaj PDF je zaštićen lozinkom. Unesite lozinku kako biste mogli nastaviti raditi s njim.", + "password": { + "label": "Lozinka za PDF", + "placeholder": "Unesite lozinku za PDF" + }, + "skip": "Preskoči zasad", + "unlock": "Otključaj i nastavi", + "incorrectPassword": "Netočna lozinka", + "missingFile": "Odabrana datoteka više nije dostupna.", + "emptyResponse": "Uklanjanje lozinke nije proizvelo datoteku.", + "required": "Unesite lozinku za nastavak.", + "successTitle": "Lozinka uklonjena", + "successBodyWithName": "Lozinka uklonjena iz {{fileName}}", + "successBody": "Lozinka je uspješno uklonjena." + }, + "setup": { + "welcome": "Dobrodošli u Stirling PDF", + "description": "Započnite tako da odaberete kako želite koristiti Stirling PDF", + "step1": { + "label": "Odaberite način", + "description": "Izvan mreže ili poslužitelj" + }, + "step2": { + "label": "Odaberite poslužitelj", + "description": "Self-hosted poslužitelj" + }, + "step3": { + "label": "Prijava", + "description": "Unesite vjerodajnice" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Prijavite se svojim Stirling računom" + }, + "selfhosted": { + "title": "Self-hosted poslužitelj", + "description": "Povežite se s vlastitim Stirling PDF poslužiteljem" + } + }, + "saas": { + "title": "Prijavite se u Stirling", + "subtitle": "Prijavite se svojim Stirling računom" + }, + "selfhosted": { + "title": "Prijavite se na poslužitelj", + "subtitle": "Unesite vjerodajnice poslužitelja" + }, + "server": { + "title": "Povežite se s poslužiteljem", + "subtitle": "Unesite URL svog self-hosted Stirling PDF poslužitelja", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Self-hosted poslužitelj" + }, + "url": { + "label": "URL poslužitelja", + "description": "Unesite puni URL svog self-hosted Stirling PDF poslužitelja" + }, + "error": { + "emptyUrl": "Unesite URL poslužitelja", + "unreachable": "Nije moguće povezati se s poslužiteljem", + "testFailed": "Test veze nije uspio" + }, + "testing": "Testiranje veze..." + }, + "login": { + "title": "Prijava", + "subtitle": "Unesite vjerodajnice za nastavak", + "connectingTo": "Povezivanje na:", + "username": { + "label": "Korisničko ime", + "placeholder": "Unesite korisničko ime" + }, + "email": { + "label": "E-pošta", + "placeholder": "Unesite svoju e-poštu" + }, + "password": { + "label": "Lozinka", + "placeholder": "Unesite lozinku" + }, + "error": { + "emptyUsername": "Unesite korisničko ime", + "emptyEmail": "Unesite svoju e-poštu", + "emptyPassword": "Unesite lozinku", + "oauthFailed": "OAuth prijava nije uspjela. Pokušajte ponovno." + }, + "submit": "Prijava", + "signInWith": "Prijavite se pomoću", + "oauthPending": "Otvaranje preglednika za autentikaciju...", + "orContinueWith": "Ili nastavite s e-poštom" + } + }, + "oauth": { + "success": { + "title": "Autentikacija uspješna", + "message": "Možete zatvoriti ovaj prozor i vratiti se u Stirling PDF." + }, + "error": { + "title": "Autentikacija nije uspjela", + "message": "Autentikacija nije bila uspješna. Možete zatvoriti ovaj prozor i pokušati ponovno." + } + }, + "pdfTextEditor": { + "title": "PDF JSON uređivač", + "viewLabel": "PDF uređivač", + "converting": "Pretvaranje PDF-a u format za uređivanje...", + "conversionFailed": "Pretvorba PDF-a nije uspjela. Pokušajte ponovno.", + "currentFile": "Trenutačna datoteka: {{name}}", + "pageSummary": "Stranica {{number}} od {{total}}", + "pagePreviewAlt": "Pregled stranice", + "imageLabel": "Postavljena slika", + "noTextOnPage": "Na ovoj stranici nije otkriven tekst koji se može uređivati.", + "pageType": { + "paragraph": "Stranica s odlomcima", + "sparse": "Rijedak tekst" + }, + "groupingMode": { + "auto": "Auto", + "paragraph": "Odlomak", + "singleLine": "Jedan redak" + }, + "badges": { + "unsaved": "Uređeno", + "modified": "Uređeno", + "earlyAccess": "Rani pristup" + }, + "actions": { + "reset": "Poništi promjene", + "downloadJson": "Preuzmi JSON", + "generatePdf": "Generiraj PDF" + }, + "options": { + "autoScaleText": { + "title": "Automatski skaliraj tekst kako bi stao u okvire", + "description": "Automatski vodoravno skalira tekst da stane u izvorni okvir kada se renderiranje fonta razlikuje od PDF-a." + }, + "groupingMode": { + "title": "Način grupiranja teksta", + "autoDescription": "Automatski detektira tip stranice i grupira tekst prikladno.", + "paragraphDescription": "Grupira poravnane retke u višeredne tekstualne okvire odlomaka.", + "singleLineDescription": "Zadržava svaki redak teksta u PDF-u kao zaseban tekstualni okvir." + }, + "manualGrouping": { + "descriptionInline": "Savjet: Držite Ctrl (Cmd) ili Shift za višestruki odabir tekstualnih okvira. Iznad odabira pojavit će se plutajuća alatna traka kako biste mogli spajati, razgrupirati ili prilagoditi širine." + }, + "forceSingleElement": { + "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." + } + }, + "manual": { + "mergeTooltip": "Spoji odabrane okvire", + "merge": "Spoji odabir", + "ungroupTooltip": "Razdvoji odlomak natrag na retke", + "ungroup": "Razgrupiraj odabir", + "widthMenu": "Opcije širine", + "expandWidth": "Proširi do ruba stranice", + "resetWidth": "Vrati širinu", + "resizeHandle": "Prilagodi širinu teksta" + }, + "disclaimer": { + "heading": "Ograničenja pregleda", + "textFocus": "Ovaj radni prostor usmjeren je na uređivanje teksta i premještanje ugrađenih slika. Složena grafika stranice, elementi obrazaca i slojevita grafika sačuvani su za izvoz, ali ovdje nisu u potpunosti uređivi.", + "previewVariance": "Neki vizualni elementi (poput rubova tablica, oblika ili izgleda anotacija) možda se neće prikazati točno u pregledu. Izvezeni PDF zadržava izvorne naredbe crtanja kad god je to moguće.", + "alpha": "Ovaj alfa preglednik još se razvija — određeni fontovi, boje, efekti transparentnosti i detalji izgleda mogu se blago promijeniti. Prije dijeljenja dvaput provjerite generirani PDF." + }, + "empty": { + "title": "Nijedan dokument nije učitan", + "subtitle": "Učitajte PDF ili JSON datoteku kako biste započeli uređivanje teksta." + }, + "welcomeBanner": { + "title": "Dobrodošli u PDF uređivač teksta (rani pristup)", + "experimental": "Ovo je eksperimentalna značajka u aktivnom razvoju. Tijekom korištenja očekujte određenu nestabilnost i probleme.", + "howItWorks": "Ovaj alat pretvara vaš PDF u uređivi format u kojem možete mijenjati tekst i premještati slike. Promjene se spremaju kao novi PDF.", + "bestFor": "Najbolje za:", + "bestFor1": "Jednostavne PDF-ove s uglavnom tekstom i slikama", + "bestFor2": "Dokumente sa standardnim formatiranjem odlomaka", + "bestFor3": "Pisma, eseje, izvješća i osnovne dokumente", + "notIdealFor": "Nije idealno za:", + "notIdealFor1": "PDF-ove s posebnim oblikovanjem kao što su nabrajanja, tablice ili višestupčani rasporedi", + "notIdealFor2": "Časopise, brošure ili izrazito dizajnirane dokumente", + "notIdealFor3": "Upute i priručnike sa složenim rasporedom", + "limitations": "Trenutna ograničenja:", + "limitation1": "Prikaz fontova može se malo razlikovati od izvornog PDF-a", + "limitation2": "Složena grafika, polja obrazaca i anotacije su sačuvani, ali se ne mogu uređivati", + "limitation3": "Velikim datotekama može trebati vremena za pretvorbu i obradu", + "knownIssues": "Poznati problemi (u rješavanju):", + "issue1": "Boja teksta se trenutačno ne zadržava (uskoro dolazi)", + "issue2": "Način odlomka ima više problema s poravnanjem i razmacima – preporučuje se način Jedan redak", + "issue3": "Prikaz pregleda razlikuje se od izvezenog PDF-a – izvezeni PDF-ovi su vjerniji izvorniku", + "issue4": "Poravnanje rotiranog teksta možda će trebati ručno prilagoditi", + "issue5": "Efekti transparentnosti i slojevitosti mogu se razlikovati od izvornog", + "feedback": "Ovo je značajka ranog pristupa. Prijavite sve probleme kako biste nam pomogli poboljšati!", + "gotIt": "U redu", + "dontShowAgain": "Ne prikazuj više" + }, + "modeChange": { + "title": "Potvrdi promjenu načina", + "warning": "Promjena načina grupiranja teksta resetirat će sve nespremljene promjene. Jeste li sigurni da želite nastaviti?", + "cancel": "Odustani", + "confirm": "Resetiraj i promijeni način" + }, + "fontAnalysis": { + "details": "Detalji fonta", + "embedded": "Ugrađen", + "type": "Tip", + "webFormat": "Web format", + "warnings": "Upozorenja", + "suggestions": "Napomene", + "currentPageFonts": "Fontovi na ovoj stranici", + "allFonts": "Svi fontovi", + "fallback": "zamjenski", + "missing": "nedostaje", + "perfectMessage": "Svi fontovi mogu se savršeno reproducirati.", + "warningMessage": "Neki se fontovi možda neće ispravno prikazati.", + "infoMessage": "Dostupne su informacije o reprodukciji fontova.", + "perfect": "savršeno", + "subset": "podskup" + }, + "errors": { + "invalidJson": "Nije moguće pročitati JSON datoteku. Provjerite je li generirana alatom PDF u JSON.", + "pdfConversion": "Nije moguće pretvoriti uređeni JSON natrag u PDF." + } + }, + "auth": { + "sessionExpired": "Sesija je istekla", + "pleaseLoginAgain": "Prijavite se ponovno.", + "accessDenied": "Pristup odbijen", + "insufficientPermissions": "Nemate dopuštenje za ovu radnju." + }, + "addText": { + "title": "Dodaj tekst", + "header": "Dodajte tekst u PDF-ove", + "text": { + "name": "Sadržaj teksta", + "placeholder": "Unesite tekst koji želite dodati", + "fontLabel": "Font", + "fontSizeLabel": "Veličina fonta", + "fontSizePlaceholder": "Upišite ili odaberite veličinu fonta (8–200)", + "colorLabel": "Boja teksta" + }, + "steps": { + "configure": "Podesi tekst" + }, + "step": { + "createDesc": "Unesite tekst koji želite dodati", + "place": "Postavi tekst", + "placeDesc": "Kliknite na PDF da biste dodali tekst" + }, + "instructions": { + "title": "Kako dodati tekst", + "text": "Nakon što gore unesete tekst, kliknite bilo gdje na PDF da biste ga postavili.", + "paused": "Postavljanje pauzirano", + "resumeHint": "Nastavite postavljanje kako biste kliknuli i dodali tekst.", + "noSignature": "Unesite tekst gore kako biste omogućili postavljanje." + }, + "mode": { + "move": "Premjesti tekst", + "place": "Postavi tekst", + "pause": "Pauziraj postavljanje", + "resume": "Nastavi postavljanje" + }, + "results": { + "title": "Rezultati dodavanja teksta" + }, + "error": { + "failed": "Došlo je do pogreške pri dodavanju teksta u PDF." + }, + "tags": "text,annotation,label", + "applySignatures": "Primijeni tekst" } } \ No newline at end of file diff --git a/frontend/public/locales/hu-HU/translation.json b/frontend/public/locales/hu-HU/translation.json index 549736952..b5e0c1b6d 100644 --- a/frontend/public/locales/hu-HU/translation.json +++ b/frontend/public/locales/hu-HU/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Hamarosan elérhető:", "favorite": "Hozzáadás a kedvencekhez", "favorites": "Kedvencek", + "unavailable": "Szerveradminisztrátor letiltotta:", + "unavailableDependency": "Nem érhető el – szükséges eszköz hiányzik a szerveren:", "heading": "Minden eszköz (teljes képernyős nézet)", "noResults": "Próbálja módosítani a keresést vagy kapcsolja be a leírásokat, hogy megtalálja, amit keres.", "recommended": "Ajánlott", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Váltás teljes képernyős módra", "sidebar": "Váltás oldalsáv módra" - } + }, + "alpha": "Alfa", + "premiumFeature": "Prémium funkció:", + "comingSoon": "Hamarosan:" }, "unsavedChanges": "Mentetlen változtatásai vannak a PDF-en.", "areYouSure": "Biztosan elhagyja az oldalt?", @@ -41,6 +46,30 @@ "cancel": "Mégse", "confirm": "Kibontás" }, + "defaultApp": { + "title": "Beállítás alapértelmezett PDF-alkalmazásként", + "message": "Szeretné a Stirling PDF-et alapértelmezett PDF-szerkesztőnek beállítani?", + "description": "Ezt később módosíthatja a rendszerbeállításokban.", + "notNow": "Most nem", + "setDefault": "Beállítás alapértelmezettként", + "dismiss": "Bezárás", + "prompt": { + "title": "Beállítás alapértelmezett PDF-szerkesztőként", + "message": "Állítsa a Stirling PDF-et a PDF-fájlok megnyitásának alapértelmezett alkalmazásává." + }, + "success": { + "title": "Alapértelmezett alkalmazás beállítva", + "message": "A Stirling PDF mostantól az alapértelmezett PDF-szerkesztő" + }, + "settingsOpened": { + "title": "Beállítások megnyitva", + "message": "Válassza a rendszerbeállításokban a Stirling PDF-et" + }, + "error": { + "title": "Hiba", + "message": "Nem sikerült beállítani az alapértelmezett PDF-kezelőt" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Mentés", "saveToBrowser": "Mentés böngészőbe", "download": "Letöltés", + "downloadUnavailable": "A letöltés nem érhető el ehhez az elemhez", + "saveUnavailable": "Mentés nem érhető el ehhez az elemhez", "pin": "Fájl rögzítése (aktív marad az eszköz futtatása után)", "unpin": "Rögzítés feloldása (csere az eszköz futtatása után)", "undoOperationTooltip": "Kattintson az utolsó művelet visszavonásához és az eredeti fájlok visszaállításához", @@ -168,6 +199,7 @@ }, "edit": "Szerkesztés", "delete": "Törlés", + "never": "Soha", "username": "Felhasználónév", "password": "Jelszó", "welcome": "Üdvözöljük", @@ -262,7 +294,8 @@ "learnMore": "További információ", "enable": "Analitika engedélyezése", "disable": "Analitika letiltása", - "settings": "Az analitikai beállításokat a config/settings.yml fájlban módosíthatja" + "settings": "Az analitikai beállításokat a config/settings.yml fájlban módosíthatja", + "privacyAssurance": "Nem követünk semmilyen személyes adatot, és nem figyeljük a fájlok tartalmát." }, "navbar": { "favorite": "Kedvencek", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Beállítások", - "update": "Frissítés elérhető", - "updateAvailable": "A jelenlegi telepített verzió: {0}. Új verzió ({1}) érhető el.", - "appVersion": "Alkalmazás verziója:", - "downloadOption": { - "title": "Letöltési beállítás (egyetlen fájl, nem tömörített letöltések esetén):", - "1": "Megnyitás ugyanabban az ablakban", - "2": "Megnyitás új ablakban", - "3": "Fájl letöltése" - }, - "zipThreshold": "Fájlok tömörítése, ha a letöltött fájlok száma meghaladja:", - "signOut": "Kijelentkezés", - "accountSettings": "Fiókbeállítások", - "bored": { - "help": "Easter egg játék engedélyezése" - }, - "cacheInputs": { - "name": "Űrlapmezők mentése", - "help": "Engedélyezése esetén menti a korábban használt értékeket a későbbi használathoz" + "connection": { + "title": "Kapcsolati mód", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Önhostolt" + }, + "server": "Szerver", + "user": "Bejelentkezve mint", + "logout": "Kijelentkezés" }, "general": { "title": "Általános", "description": "Általános alkalmazásbeállítások konfigurálása.", - "account": "Fiók", - "accountDescription": "Fiókbeállítások kezelése", "user": "Felhasználó", - "signedInAs": "Bejelentkezve mint", "logout": "Kijelentkezés", "enableFeatures": { + "dismiss": "Elvetés", "title": "Rendszergazdáknak", "intro": "Engedélyezze a felhasználói hitelesítést, csapatkezelést és munkaterület-funkciókat a szervezete számára.", "action": "Beállítás", "and": "és", "benefit": "Engedélyezi a felhasználói szerepköröket, csapatmunkát, adminisztrátori vezérlést és vállalati funkciókat.", - "learnMore": "További információ a dokumentációban", - "dismiss": "Elvetés" + "learnMore": "További információ a dokumentációban" }, - "autoUnzip": "API válaszok automatikus kicsomagolása", - "autoUnzipDescription": "ZIP válaszokban lévő fájlok automatikus kibontása", - "autoUnzipTooltip": "Az API műveletek által visszaadott ZIP fájlok automatikus kibontása. Tiltsa le, ha a ZIP fájlokat érintetlenül akarja hagyni. Ez nem érinti az automatizálási munkafolyamatokat.", - "autoUnzipFileLimit": "Automatikus kicsomagolás fájlkorlátja", - "autoUnzipFileLimitDescription": "ZIP-ből kibontandó fájlok maximális száma", - "autoUnzipFileLimitTooltip": "Csak akkor bontsa ki, ha a ZIP legfeljebb ennyi fájlt tartalmaz. Állítsa magasabbra nagyobb ZIP-ek kibontásához.", "defaultToolPickerMode": "Alapértelmezett eszközválasztó mód", "defaultToolPickerModeDescription": "Válassza ki, hogy az eszközválasztó alapértelmezetten teljes képernyőn vagy oldalsávban nyíljon meg", "mode": { - "fullscreen": "Teljes képernyő", - "sidebar": "Oldalsáv" - } + "sidebar": "Oldalsáv", + "fullscreen": "Teljes képernyő" + }, + "autoUnzipTooltip": "Az API műveletek által visszaadott ZIP fájlok automatikus kibontása. Tiltsa le, ha a ZIP fájlokat érintetlenül akarja hagyni. Ez nem érinti az automatizálási munkafolyamatokat.", + "autoUnzip": "API válaszok automatikus kicsomagolása", + "autoUnzipDescription": "ZIP válaszokban lévő fájlok automatikus kibontása", + "autoUnzipFileLimitTooltip": "Csak akkor bontsa ki, ha a ZIP legfeljebb ennyi fájlt tartalmaz. Állítsa magasabbra nagyobb ZIP-ek kibontásához.", + "autoUnzipFileLimit": "Automatikus kicsomagolás fájlkorlátja", + "autoUnzipFileLimitDescription": "ZIP-ből kibontandó fájlok maximális száma", + "defaultPdfEditor": "Alapértelmezett PDF-szerkesztő", + "defaultPdfEditorActive": "A Stirling PDF az alapértelmezett PDF-szerkesztő", + "defaultPdfEditorInactive": "Más alkalmazás van alapértelmezettként beállítva", + "defaultPdfEditorChecking": "Ellenőrzés...", + "defaultPdfEditorSet": "Már alapértelmezett", + "setAsDefault": "Beállítás alapértelmezettként", + "updates": { + "title": "Szoftverfrissítések", + "description": "Frissítések keresése és verzióinformációk megtekintése", + "currentVersion": "Jelenlegi verzió", + "latestVersion": "Legújabb verzió", + "checkForUpdates": "Frissítések keresése", + "viewDetails": "Részletek megtekintése" + }, + "hideUnavailableTools": "Nem elérhető eszközök elrejtése", + "hideUnavailableToolsDescription": "A szerver által letiltott eszközök eltávolítása, ahelyett hogy szürkén jelenjenek meg.", + "hideUnavailableConversions": "Nem elérhető konverziók elrejtése", + "hideUnavailableConversionsDescription": "A Konvertálás eszközben a letiltott opciók eltávolítása, ahelyett hogy szürkén jelenjenek meg." }, "hotkeys": { - "title": "Gyorsbillentyűk", - "description": "Vigye az egeret egy eszköz fölé a gyorsbillentyű megtekintéséhez, vagy testreszabhatja alább. Kattintson a \"Gyorsbillentyű módosítása\" gombra, majd nyomjon meg egy új billentyűkombinációt. Esc‑pel megszakíthatja.", - "errorModifier": { - "mac": "Tartalmazzon ⌘ (Command), ⌥ (Option) vagy más módosítót a gyorsbillentyűben.", - "windows": "Tartalmazzon Ctrl, Alt vagy más módosítót a gyorsbillentyűben." - }, "errorConflict": "Ezt a gyorsbillentyűt már használja: {{tool}}.", + "searchPlaceholder": "Eszközök keresése...", "none": "Nincs hozzárendelve", "customBadge": "Egyéni", "defaultLabel": "Alapértelmezett: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Gyorsbillentyű módosítása", "reset": "Visszaállítás", "shortcut": "Gyorsbillentyű", - "noShortcut": "Nincs gyorsbillentyű beállítva", - "searchPlaceholder": "Eszközök keresése..." + "noShortcut": "Nincs gyorsbillentyű beállítva" } }, + "update": { + "modalTitle": "Frissítés elérhető", + "current": "Jelenlegi verzió", + "latest": "Legújabb verzió", + "latestStable": "Legújabb stabil", + "priorityLabel": "Prioritás", + "recommendedAction": "Javasolt lépés", + "breakingChangesDetected": "Inkompatibilis változások észlelve", + "breakingChangesMessage": "Egyes verziók inkompatibilis változásokat tartalmaznak. Frissítés előtt tekintse át az alábbi átállási útmutatókat.", + "migrationGuides": "Átállási útmutatók", + "viewGuide": "Útmutató megnyitása", + "loadingDetailedInfo": "Részletes információk betöltése...", + "close": "Bezárás", + "viewAllReleases": "Összes kiadás megtekintése", + "downloadLatest": "Legújabb letöltése", + "availableUpdates": "Elérhető frissítések", + "unableToLoadDetails": "Nem sikerült betölteni a részletes információkat.", + "version": "Verzió", + "urgentUpdateAvailable": "Sürgős frissítés", + "updateAvailable": "Frissítés elérhető", + "releaseNotes": "Kiadási megjegyzések", + "priority": { + "urgent": "Sürgős", + "normal": "Normál", + "minor": "Kisebb", + "low": "Alacsony" + }, + "breakingChanges": "Inkompatibilis változások", + "breakingChangesDefault": "Ez a verzió inkompatibilis változásokat tartalmaz.", + "migrationGuide": "Átállási útmutató" + }, "changeCreds": { "title": "Hitelesítési adatok módosítása", "header": "Fiókadatok frissítése", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "PDF-ek egymásra helyezése egy másik PDF-en", "title": "PDF-ek egymásra helyezése" + }, + "pdfTextEditor": { + "title": "PDF szövegszerkesztő", + "desc": "Nézze át és szerkessze a Stirling PDF JSON exportokat csoportosított szövegszerkesztéssel és PDF-újragenerálással" + }, + "addText": { + "tags": "szöveg, megjegyzés, címke", + "title": "Szöveg hozzáadása", + "desc": "Tetszőleges szöveg hozzáadása bárhová a PDF-ben" } }, "landing": { "addFiles": "Fájlok hozzáadása", - "uploadFromComputer": "Feltöltés a számítógépről" + "uploadFromComputer": "Feltöltés a számítógépről", + "openFromComputer": "Megnyitás a gépről" }, "viewPdf": { "tags": "megtekintés,olvasás,jegyzetelés,szöveg,kép", @@ -849,6 +922,11 @@ }, "error": { "failed": "Hiba történt a PDF-ek egyesítése közben." + }, + "tooltip": { + "header": { + "title": "Összefűzési beállítások áttekintése" + } } }, "split": { @@ -1091,7 +1169,7 @@ "pptExt": "PowerPoint (.pptx)", "odpExt": "OpenDocument bemutató (.odp)", "txtExt": "Egyszerű szöveg (.txt)", - "rtfExt": "Rich Text Format (.rtf)", + "rtfExt": "Rich Text formátum (.rtf)", "selectedFiles": "Kiválasztott fájlok", "noFileSelected": "Nincs kiválasztott fájl. Használja a fájlpanelt a fájlok hozzáadásához.", "convertFiles": "Fájlok konvertálása", @@ -1182,9 +1260,43 @@ "tags": "kép,jpg,fotó,fénykép", "title": "Kép hozzáadása", "header": "Kép hozzáadása PDF-hez", - "everyPage": "Minden oldalra?", - "upload": "Kép hozzáadása", - "submit": "Kép hozzáadása" + "image": { + "name": "Kép", + "placeholder": "Töltsön fel egy képet", + "label": "Képfájl" + }, + "steps": { + "configure": "Kép beállítása" + }, + "step": { + "createDesc": "Töltse fel a hozzáadni kívánt képet", + "place": "Kép elhelyezése", + "placeDesc": "Kattintson a PDF-re a kép hozzáadásához" + }, + "instructions": { + "title": "Képek hozzáadása", + "text": "A fenti kép feltöltése után kattintson a PDF bármely pontjára az elhelyezéshez.", + "paused": "Elhelyezés szüneteltetve", + "resumeHint": "Folytassa az elhelyezést, majd kattintson a kép hozzáadásához.", + "noSignature": "Töltsön fel képet fent az elhelyezés engedélyezéséhez." + }, + "mode": { + "move": "Kép mozgatása", + "place": "Kép elhelyezése", + "pause": "Elhelyezés szüneteltetése", + "resume": "Elhelyezés folytatása" + }, + "results": { + "title": "Kép hozzáadásának eredménye" + }, + "error": { + "failed": "Hiba történt a kép hozzáadásakor a PDF-hez." + }, + "saved": { + "defaultLabel": "Kép", + "defaultImageLabel": "Feltöltött kép" + }, + "applySignatures": "Képek alkalmazása" }, "attachments": { "tags": "beágyazás,csatolás,fájl,csatolmány,csatolmányok", @@ -1239,7 +1351,7 @@ "japanese": "Japán", "korean": "Koreai", "chinese": "Kínai", - "thai": "Thai" + "thai": "thai" }, "steps": { "type": "Vízjel típusa", @@ -1397,6 +1509,93 @@ }, "submit": "Módosítás" }, + "editTableOfContents": { + "settings": { + "title": "Könyvjelzők és vázlat", + "replaceExisting": "Meglévő könyvjelzők cseréje (kikapcsolva hozzáfűz)", + "replaceExistingHint": "Kikapcsolva az új vázlat a meglévő könyvjelzők után kerül hozzáfűzésre." + }, + "actions": { + "source": "Könyvjelzők betöltése", + "selectedFile": "Betöltve innen: {{file}}", + "noFile": "Válasszon egy PDF-et a meglévő könyvjelzők kinyeréséhez.", + "loadFromPdf": "Betöltés a kiválasztott PDF-ből", + "importJson": "JSON importálása", + "importClipboard": "JSON beillesztése a vágólapról", + "export": "Könyvjelzők exportálása", + "exportJson": "JSON letöltése", + "exportClipboard": "JSON másolása a vágólapra", + "clipboardUnavailable": "A vágólap-hozzáférés nem érhető el ebben a böngészőben." + }, + "info": { + "line1": "Minden könyvjelzőhöz leíró cím és megnyitandó oldal szükséges.", + "line2": "Használjon alárendelt könyvjelzőket hierarchia kialakításához fejezetekhez, szakaszokhoz vagy alfejezetekhez.", + "line3": "Időt spórolhat a könyvjelzők importálásával a kiválasztott PDF-ből vagy egy JSON fájlból." + }, + "workbench": { + "empty": { + "title": "Nyissa meg az eszközt a szerkesztéshez", + "description": "Válassza a Tartalomjegyzék szerkesztése eszközt a munkaterület betöltéséhez." + }, + "tabTitle": "Vázlat munkaterület", + "subtitle": "Importáljon könyvjelzőket, építsen hierarchiákat, és alkalmazza a vázlatot zsúfolt oldalsávok nélkül.", + "noFile": "Nincs kiválasztott PDF", + "fileLabel": "A módosítások az aktuálisan kiválasztott PDF-re lesznek alkalmazva.", + "filePrompt": "Válasszon PDF-et a könyvtárából vagy töltsön fel egy újat a kezdéshez.", + "changeFile": "PDF cseréje", + "selectFile": "PDF kiválasztása" + }, + "editor": { + "heading": "Könyvjelző-szerkesztő", + "description": "Adjon hozzá, ágyazzon egymásba és rendezzen át könyvjelzőket a PDF vázlatához.", + "addTopLevel": "Felső szintű könyvjelző hozzáadása", + "empty": { + "title": "Még nincsenek könyvjelzők", + "description": "Importálja a meglévő könyvjelzőket, vagy kezdje az első bejegyzés hozzáadásával.", + "action": "Első könyvjelző hozzáadása" + }, + "defaultTitle": "Új könyvjelző", + "defaultChildTitle": "Alárendelt könyvjelző", + "defaultSiblingTitle": "Új könyvjelző", + "untitled": "Névtelen könyvjelző", + "childBadge": "Alárendelt", + "pagePreview": "Oldal {{page}}", + "field": { + "title": "Könyvjelző címe", + "page": "Céloldal száma" + }, + "actions": { + "toggle": "Alárendeltek váltása", + "addChild": "Alárendelt könyvjelző hozzáadása", + "addSibling": "Azonos szintű könyvjelző hozzáadása", + "remove": "Könyvjelző eltávolítása" + }, + "confirmRemove": "Eltávolítja ezt a könyvjelzőt az összes alárendeltjével együtt?" + }, + "messages": { + "loadedTitle": "Könyvjelzők kinyerve", + "loadedBody": "A PDF meglévő könyvjelzői betöltésre kerültek a szerkesztőbe.", + "noBookmarks": "Nem találhatók könyvjelzők a kiválasztott PDF-ben.", + "loadFailed": "Nem sikerült kinyerni a könyvjelzőket a kiválasztott PDF-ből.", + "imported": "Könyvjelzők importálva", + "importedBody": "A JSON vázlat felülírta a szerkesztő jelenlegi tartalmát.", + "importedClipboard": "A vágólap tartalma felülírta a jelenlegi könyvjelzőlistát.", + "invalidJson": "Érvénytelen JSON-struktúra", + "invalidJsonBody": "Adjon meg érvényes könyvjelző JSON fájlt, majd próbálja újra.", + "exported": "JSON letöltésre kész", + "copied": "Vágólapra másolva", + "copiedBody": "A könyvjelző JSON sikeresen másolva.", + "copyFailed": "Másolás sikertelen" + }, + "error": { + "failed": "Nem sikerült frissíteni a tartalomjegyzéket" + }, + "submit": "Tartalomjegyzék alkalmazása", + "results": { + "title": "Frissített PDF könyvjelzőkkel", + "subtitle": "Töltse le a feldolgozott fájlt, vagy vonja vissza a műveletet lent." + } + }, "removePages": { "tags": "Oldalak eltávolítása,oldalak törlése", "title": "Eltávolítás", @@ -1978,13 +2177,54 @@ "title": "Rajzolja meg az aláírását", "clear": "Törlés" }, + "canvas": { + "heading": "Rajzolja meg az aláírását", + "clickToOpen": "Kattintson a rajzfelület megnyitásához", + "modalTitle": "Rajzolja meg az aláírását", + "colorLabel": "Szín", + "penSizeLabel": "Tollvastagság", + "penSizePlaceholder": "Méret", + "clear": "Vászon törlése", + "colorPickerTitle": "Vonal színének kiválasztása" + }, "text": { "name": "Aláíró neve", - "placeholder": "Adja meg a teljes nevét" + "placeholder": "Adja meg a teljes nevét", + "fontLabel": "Betűtípus", + "fontSizeLabel": "Betűméret", + "fontSizePlaceholder": "Írja be vagy válassza ki a betűméretet (8–200)", + "colorLabel": "Szöveg színe" }, "clear": "Törlés", "add": "Hozzáadás", - "saved": "Mentett aláírások", + "saved": { + "heading": "Mentett aláírások", + "description": "Használja újra a mentett aláírásokat bármikor.", + "emptyTitle": "Még nincs mentett aláírás", + "emptyDescription": "Rajzoljon, töltsön fel vagy gépeljen be egy aláírást fent, majd a „Mentés a könyvtárba” opcióval legfeljebb {{max}} kedvencet tarthat készen a használatra.", + "type": { + "canvas": "Rajz", + "image": "Feltöltés", + "text": "Szöveg" + }, + "limitTitle": "Elérte a korlátot", + "limitDescription": "Távolítson el egy mentett aláírást új hozzáadása előtt (max. {{max}}).", + "carouselPosition": "{{current}} / {{total}}", + "prev": "Előző", + "next": "Következő", + "delete": "Eltávolítás", + "label": "Címke", + "defaultLabel": "Aláírás", + "defaultCanvasLabel": "Rajzolt aláírás", + "defaultImageLabel": "Feltöltött aláírás", + "defaultTextLabel": "Gépelt aláírás", + "saveButton": "Aláírás mentése", + "saveUnavailable": "Előbb hozzon létre egy aláírást a mentéshez.", + "noChanges": "Az aktuális aláírás már mentve van.", + "status": { + "saved": "Mentve" + } + }, "save": "Aláírás mentése", "applySignatures": "Aláírások alkalmazása", "personalSigs": "Személyes aláírások", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Aláírás beállítása" }, + "step": { + "createDesc": "Válassza ki, hogyan szeretné létrehozni az aláírást", + "place": "Elhelyezés és mentés", + "placeDesc": "Helyezze el az aláírást a PDF-en" + }, "type": { "title": "Aláírás típusa", "draw": "Rajzolás", "canvas": "Vászon", "image": "Kép", - "text": "Szöveg" + "text": "Szöveg", + "saved": "Mentett" }, "image": { "label": "Aláíráskép feltöltése", @@ -2019,11 +2265,17 @@ "title": "Hogyan adjon hozzá aláírást", "canvas": "Miután megrajzolta az aláírását a vásznon, zárja be a modált, majd kattintson bárhová a PDF-ben az elhelyezéshez.", "image": "Miután feltöltötte a fenti aláírásképet, kattintson bárhová a PDF-ben az elhelyezéshez.", - "text": "Miután megadta a nevét fent, kattintson bárhová a PDF-ben az aláírás elhelyezéséhez." + "saved": "Válasszon ki fent egy mentett aláírást, majd kattintson a PDF bármely pontjára az elhelyezéshez.", + "text": "Miután megadta a nevét fent, kattintson bárhová a PDF-ben az aláírás elhelyezéséhez.", + "paused": "Elhelyezés szüneteltetve", + "resumeHint": "Folytassa az elhelyezést, majd kattintson az aláírás hozzáadásához.", + "noSignature": "Hozzon létre fent egy aláírást az elhelyezési eszközök engedélyezéséhez." }, "mode": { "move": "Aláírás mozgatása", - "place": "Aláírás elhelyezése" + "place": "Aláírás elhelyezése", + "pause": "Elhelyezés szüneteltetése", + "resume": "Elhelyezés folytatása" }, "updateAndPlace": "Frissítés és elhelyezés", "activate": "Aláírás elhelyezésének aktiválása", @@ -2163,6 +2415,14 @@ "title": "Megjegyzések eltávolításáról", "description": "Ez az eszköz eltávolítja az összes megjegyzést (kommentek, kiemelések, jegyzetek stb.) a PDF-dokumentumokból." }, + "tooltip": { + "header": { + "title": "A Megjegyzések eltávolítása funkcióról" + }, + "description": { + "title": "Mit csinál" + } + }, "error": { "failed": "Hiba történt a megjegyzések eltávolítása közben." } @@ -2627,6 +2887,9 @@ "header": { "title": "Hogyan működik az automatikus átnevezés" }, + "description": { + "title": "Mit csinál" + }, "howItWorks": { "title": "Intelligens átnevezés", "text": "Automatikusan megkeresi a PDF tartalmából a címet, és azt használja fájlnévként.", @@ -2634,6 +2897,9 @@ "bullet2": "Tiszta, érvényes fájlnevet hoz létre a felismert címből", "bullet3": "Megőrzi az eredeti nevet, ha nem talál megfelelő címet" } + }, + "settings": { + "title": "Leírás" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "Váratlan hiba: {{message}}", "accountCreatedSuccess": "A fiók sikeresen létrejött! Most már bejelentkezhet.", "passwordChangedSuccess": "A jelszó sikeresen megváltozott! Jelentkezzen be az új jelszavával.", - "credentialsUpdated": "Az adatait frissítettük. Kérjük, jelentkezzen be újra." + "credentialsUpdated": "Az adatait frissítettük. Kérjük, jelentkezzen be újra.", + "defaultCredentials": "Alapértelmezett bejelentkezési adatok", + "changePasswordWarning": "Kérjük, az első bejelentkezés után változtassa meg a jelszavát", + "slides": { + "overview": { + "alt": "Stirling PDF áttekintés", + "title": "Az összes PDF-megoldás egy helyen.", + "subtitle": "Adatvédelem-központú felhőcsomag PDF-ekhez, amellyel konvertálhat, aláírhat, kitakarhat és kezelhet dokumentumokat, több mint 50 további hatékony eszközzel." + }, + "edit": { + "alt": "PDF-ek szerkesztése", + "title": "PDF-ek szerkesztése a kívánt információk megjelenítéséhez/védelméhez", + "subtitle": "Több mint egy tucat eszközzel a PDF-ek kitakarásához, aláírásához, olvasásához és kezeléséhez biztosan megtalálja, amit keres." + }, + "secure": { + "alt": "PDF-ek védelme", + "title": "Érzékeny információk védelme a PDF-ekben", + "subtitle": "Adjon hozzá jelszavakat, takarja ki a tartalmat, és kezelje a tanúsítványokat egyszerűen." + } + } }, "signup": { "title": "Fiók létrehozása", @@ -3598,7 +3883,9 @@ "exportAll": "PDF exportálása", "downloadSelected": "Kijelölt fájlok letöltése", "downloadAll": "Összes letöltése", + "saveAll": "Összes mentése", "toggleTheme": "Téma váltása", + "toggleBookmarks": "Könyvjelzők megjelenítése/elrejtése", "language": "Nyelv", "search": "PDF keresése", "panMode": "Pásztázó mód", @@ -3685,8 +3972,16 @@ "saved": "A beállítások sikeresen mentve", "saveSuccess": "A beállítások sikeresen mentve", "save": "Változtatások mentése", + "discard": "Elvetés", "restartRequired": "Újraindítás szükséges", "loginRequired": "Az admin beállítások módosításához be kell kapcsolni a bejelentkezési módot", + "unsavedChanges": { + "title": "Nem mentett módosítások", + "message": "Nem mentett módosításai vannak. El szeretné vetni ezeket?", + "cancel": "Szerkesztés folytatása", + "discard": "Módosítások elvetése", + "hint": "Nem mentett módosításai vannak" + }, "loginDisabled": { "title": "Bejelentkezési mód szükséges", "message": "Az admin beállítások módosításához be kell kapcsolni a bejelentkezési módot. Állítsa be a SECURITY_ENABLELOGIN=true értéket a környezetben, vagy a security.enableLogin: true beállítást a settings.yml fájlban, majd indítsa újra a szervert.", @@ -4132,12 +4427,12 @@ "description": "Maximális futási idő" }, "libreOffice": "LibreOffice", - "pdfToHtml": "PDF to HTML", + "pdfToHtml": "PDF HTML-re", "qpdf": "QPDF", "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", "weasyPrint": "WeasyPrint", - "installApp": "Install App", + "installApp": "Alkalmazás telepítése", "calibre": "Calibre", "ghostscript": "Ghostscript", "ocrMyPdf": "OCRmyPDF" @@ -4212,9 +4507,21 @@ "title": "Prémium és Vállalati", "description": "Prémium vagy vállalati licenckulcs konfigurálása.", "license": "Licenckonfiguráció", + "licenseKey": { + "toggle": "Van licenckulcsa vagy tanúsítványfájlja?", + "info": "Ha közvetlen vásárlásból származó licenckulccsal vagy tanúsítványfájllal rendelkezik, itt adhatja meg a prémium vagy vállalati funkciók aktiválásához." + }, "key": { "label": "Licenckulcs", - "description": "Adja meg a prémium vagy vállalati licenckulcsot" + "description": "Adja meg a prémium vagy vállalati licenckulcsot", + "success": "Licenckulcs mentve", + "successMessage": "A licenckulcs sikeresen aktiválva. Újraindítás nem szükséges.", + "overwriteWarning": { + "title": "⚠️ Figyelmeztetés: Meglévő licenc észlelve", + "line1": "A jelenlegi licenckulcs felülírása nem vonható vissza.", + "line2": "A korábbi licenc végleg elveszik, hacsak nem készített róla máshol biztonsági másolatot.", + "line3": "Fontos: Tartsa a licenckulcsokat bizalmasan és biztonságban. Soha ne ossza meg nyilvánosan." + } }, "enabled": { "label": "Prémium funkciók engedélyezése", @@ -4278,12 +4585,17 @@ "or": "vagy", "dropFileHere": "Húzza ide a fájlt, vagy kattintson a feltöltéshez", "dropFilesHere": "Húzza ide a fájlokat, vagy kattintson a feltöltés gombra", + "dropFilesHereOpen": "Húzza ide a fájlokat, vagy kattintson a Megnyitás gombra", "pdfFilesOnly": "Csak PDF fájlok", "supportedFileTypes": "Támogatott fájltípusok", "upload": "Feltöltés", "uploadFile": "Fájl feltöltése", "uploadFiles": "Fájlok feltöltése", + "open": "Megnyitás", + "openFile": "Fájl megnyitása", + "openFiles": "Fájlok megnyitása", "noFilesInStorage": "Nem érhetők el fájlok a tárhelyen. Először töltsön fel néhány fájlt.", + "noFilesInStorageOpen": "Nincsenek fájlok a tárhelyen. Először nyisson meg néhány fájlt.", "selectFromStorage": "Kiválasztás a tárhelyről", "backToTools": "Vissza az eszközökhöz", "addFiles": "Fájlok hozzáadása", @@ -4329,6 +4641,8 @@ "myFiles": "Saját fájlok", "noRecentFiles": "Nem találhatók legutóbbi fájlok", "googleDriveNotAvailable": "Google Drive integráció nem érhető el", + "downloadSelected": "Kiválasztott letöltése", + "saveSelected": "Kijelöltek mentése", "openFiles": "Fájlok megnyitása", "openFile": "Fájl megnyitása", "details": "Fájl részletei", @@ -4341,7 +4655,6 @@ "selectAll": "Összes kijelölése", "deselectAll": "Kijelölés megszüntetése", "deleteSelected": "Kijelöltek törlése", - "downloadSelected": "Kiválasztott letöltése", "selectedCount": "{{count}} kiválasztva", "download": "Letöltés", "delete": "Törlés", @@ -4621,9 +4934,14 @@ "secureWorkflow": "Biztonsági munkafolyamat", "secureWorkflowDesc": "Biztonságossá teszi a PDF-eket a potenciálisan rosszindulatú tartalmak (például JavaScript és beágyazott fájlok) eltávolításával, majd jelszóvédelmet ad a jogosulatlan hozzáférés megakadályozására. Alapértelmezett jelszó: 'password'.", "processImages": "Képek feldolgozása", - "processImagesDesc": "Több képfájlt egyetlen PDF dokumentummá alakít, majd OCR technológiát alkalmaz a kereshető szöveg kinyeréséhez a képekből." + "processImagesDesc": "Több képfájlt egyetlen PDF dokumentummá alakít, majd OCR technológiát alkalmaz a kereshető szöveg kinyeréséhez a képekből.", + "prePublishSanitization": "Közzététel előtti tisztítás", + "prePublishSanitizationDesc": "Tisztítási folyamat, amely eltávolítja az összes rejtett metaadatot, JavaScriptet, beágyazott fájlt és megjegyzést, valamint lapítja az űrlapokat, hogy megelőzze az adatkiszivárgást a PDF-ek online közzététele előtt." } }, + "colorPicker": { + "title": "Szín kiválasztása" + }, "common": { "previous": "Előző", "next": "Következő", @@ -4639,7 +4957,13 @@ "used": "felhasznált", "available": "elérhető", "cancel": "Mégse", - "preview": "Előnézet" + "preview": "Előnézet", + "close": "Bezárás", + "done": "Kész", + "loading": "Betöltés...", + "back": "Vissza", + "continue": "Folytatás", + "error": "Hiba" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "További fájlok hozzáadása...", "selectedFiles": "Kiválasztott fájlok", "submit": "Mellékletek hozzáadása", + "tooltip": { + "header": { + "title": "A Mellékletek hozzáadása funkcióról" + }, + "description": { + "title": "Mit csinál" + } + }, "results": { "title": "Mellékletek eredményei" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Egyéni pozíció", "details": "Részletek", - "downloadUnavailable": "A letöltés nem érhető el ehhez az elemhez", "invalidUndoData": "Nem lehet visszavonni: érvénytelen műveleti adatok", "margin": { "large": "Nagy", @@ -4801,6 +5132,10 @@ "maybeLater": "Talán később", "dontShowAgain": "Ne jelenjen meg újra" }, + "welcomeSlide": { + "title": "Üdvözöljük a Stirlingben", + "body": "A Stirling PDF mostantól minden méretű csapat számára készen áll. Ez a frissítés új elrendezést, erőteljes új adminisztrátori képességeket és a leggyakrabban kért funkciónkat – a Szöveg szerkesztése-t tartalmazza." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Válasszuk ki a Vágás eszközt, hogy bemutassuk egy eszköz használatát.", "toolInterface": "Ez a Vágás eszköz felülete. Ahogy látható, még nincs itt sok minden, mert még nem adtunk hozzá PDF-fájlokat.", @@ -4823,7 +5158,39 @@ "next": "Következő", "finish": "Befejezés", "startTour": "Túra indítása", - "startTourDescription": "Vezetett túra a Stirling PDF fő funkcióiról" + "startTourDescription": "Vezetett túra a Stirling PDF fő funkcióiról", + "buttons": { + "next": "Tovább →", + "back": "Vissza", + "skipForNow": "Kihagyás most", + "download": "Letöltés →", + "showMeAround": "Körbevezetés", + "skipTheTour": "Körbevezetés kihagyása" + }, + "serverLicense": { + "skip": "Kihagyás most", + "seePlans": "Csomagok megtekintése →", + "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": "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." + }, + "desktopInstall": { + "title": "Letöltés", + "titleWithOs": "Letöltés: {{osLabel}}", + "body": "A Stirling asztali alkalmazásként működik a legjobban. Használhatja offline, gyorsabban érheti el a dokumentumokat, és helyben szerkeszthet a gépén." + }, + "planOverview": { + "adminTitle": "Admin áttekintés", + "userTitle": "Csomag áttekintése", + "adminBodyLoginEnabled": "Adminisztrátorként kezelheti a felhasználókat, beállításokat és figyelheti a szerver állapotát. A szerver első {{freeTierLimit}} felhasználója ingyen használhatja a Stirlinget.", + "adminBodyLoginDisabled": "A bejelentkezési mód engedélyezése után kezelheti a felhasználókat, beállításokat és figyelheti a szerver állapotát. A szerver első {{freeTierLimit}} felhasználója ingyen használhatja a Stirlinget.", + "userBody": "Hívja meg a csapattagokat, rendeljen szerepköröket, és tartsa rendezve dokumentumait egy biztonságos munkaterületen. Engedélyezze a bejelentkezési módot, amikor továbblépne az egyéni használatról." + }, + "securityCheck": { + "message": "Az alkalmazás nemrég jelentős változásokon ment keresztül. Előfordulhat, hogy a szerver adminisztrátorának beavatkozása szükséges. A folytatáshoz erősítse meg a szerepkörét." + } }, "adminOnboarding": { "welcome": "Üdvözöljük az Admin túrában! Fedezzük fel a rendszeradminisztrátorok számára elérhető, hatékony vállalati funkciókat és beállításokat.", @@ -4852,7 +5219,10 @@ "role": "Szerepkör", "team": "Csapat", "status": "Állapot", - "actions": "Műveletek", + "actions": { + "label": "Műveletek", + "upgrade": "Frissítés" + }, "noMembersFound": "Nem találhatók tagok", "active": "Aktív", "disabled": "Letiltva", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} felhasználói hely elérhető", "noSlotsAvailable": "Nincs elérhető hely", "currentUsage": "Jelenleg {{current}} / {{max}} felhasználói licenc használatban" - } + }, + "loginRequired": "Előbb engedélyezze a bejelentkezési módot" }, "teams": { "title": "Csapatok", @@ -5057,6 +5428,17 @@ "showComparison": "Összes funkció összehasonlítása", "hideComparison": "Funkció-összehasonlítás elrejtése", "featureComparison": "Funkció-összehasonlítás", + "from": "Ettől", + "perMonth": "/hó", + "perSeat": "/hely", + "withServer": "+ Szervercsomag", + "licensedSeats": "Licencelve: {{count}} hely", + "includedInCurrent": "Szerepel a csomagjában", + "selectPlan": "Csomag kiválasztása", + "manage": "Kezelés", + "manageSubscription": { + "description": "Kezelje előfizetését, számlázását és fizetési módjait" + }, "activePlan": { "title": "Aktív csomag", "subtitle": "Jelenlegi előfizetése részletei" @@ -5074,13 +5456,16 @@ "upTo": "Legfeljebb" }, "period": { - "month": "hónap" + "month": "hónap", + "perUserPerMonth": "/felhasználó/hó" }, "free": { "name": "Ingyenes", "highlight1": "Korlátozott eszközhasználat hetente", "highlight2": "Hozzáférés minden eszközhöz", - "highlight3": "Közösségi támogatás" + "highlight3": "Közösségi támogatás", + "forever": "Mindig ingyenes", + "included": "Tartalmazza" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Egyedi árazás", "highlight2": "Dedikált támogatás", - "highlight3": "Legújabb funkciók" + "highlight3": "Legújabb funkciók", + "requiresServer": "Szerver szükséges", + "requiresServerMessage": "Először váltson a Server csomagra, majd frissítsen Enterprise-ra." }, "feature": { "title": "Funkció", @@ -5102,6 +5489,12 @@ "api": "API-hozzáférés", "priority": "Elsőbbségi támogatás", "customPricing": "Egyedi árazás" + }, + "licenseWarning": { + "title": "Elérte az önhostolt ingyenes korlátot", + "body": "{{total}} felhasználója van, de az ingyenes szint szerverenként csak {{limit}}-et támogat. Frissítsen, hogy a Stirling PDF zavartalanul működjön.", + "overLimit": "több mint {{limit}}", + "cta": "Csomagok megtekintése" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Számlázás kezelése", "portal": { "error": "Nem sikerült megnyitni a számlázási portált" - } + }, + "updateSeats": "Helyek frissítése", + "updateEnterpriseSeats": "Enterprise helyek frissítése", + "currentSeats": "Jelenlegi helyek", + "minimumSeats": "Minimum hely", + "basedOnUsers": "(aktuális felhasználók)", + "newSeatCount": "Új helyek száma", + "newSeatCountDescription": "Válassza ki a vállalati licenchez tartozó helyek számát", + "whatHappensNext": "Mi történik ezután?", + "stripePortalRedirect": "Átirányítjuk a Stripe számlázási portáljára a helyszám módosításának áttekintéséhez és jóváhagyásához. Az időarányos összeg automatikusan kiszámításra kerül.", + "preparingUpdate": "Helyfrissítés előkészítése...", + "seatCountTooLow": "A helyek száma legalább {{minimum}} legyen (aktuális felhasználószám)", + "seatCountUnchanged": "Válasszon eltérő helyszámot", + "seatsUpdated": "Helyek frissítve", + "seatsUpdatedMessage": "Az Enterprise helyek {{seats}} értékre frissültek", + "updateProcessing": "Frissítés feldolgozása", + "updateProcessingMessage": "A helyek frissítése folyamatban. Néhány pillanat múlva frissítsen.", + "notEnterprise": "A helyek kezelése csak Enterprise licencekhez érhető el" + }, + "upgradeBanner": { + "title": "Váltás Server csomagra", + "message": "Hozza ki a legtöbbet a Stirling PDF-ből korlátlan felhasználóval és fejlett funkciókkal", + "upgradeButton": "Frissítés most", + "dismiss": "Banner bezárása", + "attentionTitle": "Ez a szerver adminisztrátori figyelmet igényel", + "attentionBody": "Az adminnak be kell jelentkeznie a részletek megtekintéséhez. Kérjük, lépjen vele azonnal kapcsolatba.", + "attentionBodyAdmin": "Tekintse át a licenckövetelményeket a megfelelőség fenntartásához.", + "seeInfo": "Infó megtekintése" }, "payment": { "preparing": "Fizetés előkészítése...", @@ -5128,7 +5548,61 @@ "success": "Sikeres fizetés!", "successMessage": "Az előfizetése sikeresen aktiválva. Hamarosan megerősítő e-mailt kap.", "autoClose": "Ez az ablak automatikusan bezárul...", - "error": "Fizetési hiba" + "error": "Fizetési hiba", + "upgradeSuccess": "Sikeres fizetés! Az előfizetése frissült. A licenc frissítve lett a szerverén. Hamarosan visszaigazoló e-mailt kap.", + "paymentSuccess": "Sikeres fizetés! Licenckulcs lekérése...", + "licenseActivated": "Licenc aktiválva! A licenckulcs mentésre került. Visszaigazoló e-mailt küldtünk a regisztrált e-mail-címére.", + "licenseDelayed": "Sikeres fizetés! A licenc előállítása folyamatban. Hamarosan e-mailben megkapja a licenckulcsot. Ha 10 percen belül nem érkezik meg, lépjen kapcsolatba a támogatással.", + "licensePollingError": "Sikeres fizetés, de nem tudtuk automatikusan lekérni a licenckulcsot. Ellenőrizze az e-mailjeit, vagy vegye fel a kapcsolatot a támogatással a fizetési visszaigazolással.", + "licenseRetrievalError": "Sikeres fizetés, de a licenc lekérése nem sikerült. A licenckulcsot e-mailben kapja meg. Ha 10 percen belül nem érkezik meg, kérjük, lépjen kapcsolatba a támogatással.", + "syncError": "Sikeres fizetés, de a licencszinkronizálás nem sikerült. A licence hamarosan frissül. Ha a probléma fennáll, kérjük, lépjen kapcsolatba a támogatással.", + "licenseSaveError": "Nem sikerült menteni a licenckulcsot. Az aktiválás befejezéséhez vegye fel a kapcsolatot a támogatással, és adja meg a licenckulcsot.", + "paymentCanceled": "A fizetést megszakították. Terhelés nem történt.", + "syncingLicense": "A frissített licenc szinkronizálása...", + "generatingLicense": "Licenckulcs előállítása...", + "upgradeComplete": "Frissítés kész", + "upgradeCompleteMessage": "Az előfizetés sikeresen frissült. A meglévő licenckulcs frissítve lett.", + "stripeNotConfigured": "Stripe nincs beállítva", + "stripeNotConfiguredMessage": "A Stripe fizetési integráció nincs beállítva. Kérjük, lépjen kapcsolatba az adminisztrátorral.", + "monthly": "Havi", + "yearly": "Éves", + "billingPeriod": "Számlázási időszak", + "enterpriseNote": "A helyek a fizetéskor állíthatók (1–1000).", + "installationId": "Telepítés azonosítója", + "licenseKey": "Az Ön licenckulcsa", + "licenseInstructions": "Ez hozzáadásra került a telepítéséhez. Másolatot e-mailben is kap.", + "canCloseWindow": "Most bezárhatja ezt az ablakot.", + "licenseKeyProcessing": "Licenckulcs feldolgozása", + "licenseDelayedMessage": "A licenckulcs előállítása folyamatban. Hamarosan ellenőrizze az e-mailjeit, vagy lépjen kapcsolatba a támogatással.", + "perYear": "/év", + "perMonth": "/hó", + "emailInvalid": "Adjon meg egy érvényes e-mail-címet", + "emailStage": { + "title": "Adja meg e-mail-címét", + "description": "Ezt használjuk a licenckulcs és a bizonylatok elküldésére.", + "emailLabel": "E-mail-cím", + "emailPlaceholder": "your@email.com", + "continue": "Folytatás", + "modalTitle": "Kezdés – {{planName}}" + }, + "planStage": { + "title": "Válassza ki a számlázási időszakot", + "savingsNote": "Spóroljon {{percent}}%-ot éves számlázással", + "basePrice": "Alapár", + "seatPrice": "Helyenként", + "totalForSeats": "Összesen ({{count}} hely)", + "selectMonthly": "Havi kiválasztása", + "selectYearly": "Éves kiválasztása", + "savePercent": "Megtakarítás: {{percent}}%", + "savingsAmount": "Megtakarítás: {{amount}}", + "modalTitle": "Számlázási időszak kiválasztása – {{planName}}", + "billedYearly": "Évente számlázva: {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Vissza a csomagválasztáshoz", + "selectedPlan": "Kiválasztott csomag", + "modalTitle": "Fizetés befejezése – {{planName}}" + } }, "firstLogin": { "title": "Első bejelentkezés", @@ -5283,9 +5757,285 @@ }, "backendHealth": { "checking": "Backend állapotának ellenőrzése...", - "online": "Backend Online", - "offline": "Backend Offline", + "online": "Backend online", + "offline": "Backend offline", "starting": "Backend indul...", "wait": "Kérjük, várjon, amíg a backend befejezi az indítást, majd próbálja újra." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Feloldás a folytatáshoz", + "title": "Jelszó eltávolítása a folytatáshoz", + "description": "Ez a PDF jelszóval védett. Adja meg a jelszót a munka folytatásához.", + "password": { + "label": "PDF-jelszó", + "placeholder": "Adja meg a PDF-jelszót" + }, + "skip": "Kihagyás most", + "unlock": "Feloldás és folytatás", + "incorrectPassword": "Helytelen jelszó", + "missingFile": "A kiválasztott fájl már nem érhető el.", + "emptyResponse": "A jelszó eltávolítása nem hozott létre fájlt.", + "required": "A folytatáshoz adja meg a jelszót.", + "successTitle": "Jelszó eltávolítva", + "successBodyWithName": "Jelszó eltávolítva: {{fileName}}", + "successBody": "A jelszó eltávolítása sikeres." + }, + "setup": { + "welcome": "Üdvözöljük a Stirling PDF-ben", + "description": "Kezdésként válassza ki, hogyan szeretné használni a Stirling PDF-et", + "step1": { + "label": "Mód kiválasztása", + "description": "Offline vagy szerver" + }, + "step2": { + "label": "Szerver kiválasztása", + "description": "Önhostolt szerver" + }, + "step3": { + "label": "Bejelentkezés", + "description": "Adja meg a hitelesítő adatokat" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Jelentkezzen be Stirling-fiókjával" + }, + "selfhosted": { + "title": "Önhostolt szerver", + "description": "Csatlakozás a saját Stirling PDF szerveréhez" + } + }, + "saas": { + "title": "Bejelentkezés a Stirlingbe", + "subtitle": "Jelentkezzen be Stirling-fiókjával" + }, + "selfhosted": { + "title": "Bejelentkezés a szerverre", + "subtitle": "Adja meg a szerver hitelesítő adatait" + }, + "server": { + "title": "Csatlakozás a szerverhez", + "subtitle": "Adja meg az önhostolt szerver URL-jét", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Önhostolt szerver" + }, + "url": { + "label": "Szerver URL", + "description": "Adja meg az önhostolt Stirling PDF szerver teljes URL-jét" + }, + "error": { + "emptyUrl": "Adjon meg egy szerver URL-t", + "unreachable": "Nem sikerült kapcsolódni a szerverhez", + "testFailed": "A kapcsolat tesztje sikertelen" + }, + "testing": "Kapcsolat tesztelése..." + }, + "login": { + "title": "Bejelentkezés", + "subtitle": "A folytatáshoz adja meg a hitelesítő adatait", + "connectingTo": "Kapcsolódás ehhez:", + "username": { + "label": "Felhasználónév", + "placeholder": "Adja meg a felhasználónevét" + }, + "email": { + "label": "E-mail", + "placeholder": "Adja meg e-mail-címét" + }, + "password": { + "label": "Jelszó", + "placeholder": "Adja meg jelszavát" + }, + "error": { + "emptyUsername": "Adja meg a felhasználónevét", + "emptyEmail": "Adja meg e-mail-címét", + "emptyPassword": "Adja meg jelszavát", + "oauthFailed": "OAuth bejelentkezés sikertelen. Kérjük, próbálja újra." + }, + "submit": "Bejelentkezés", + "signInWith": "Bejelentkezés ezzel", + "oauthPending": "Böngésző megnyitása hitelesítéshez...", + "orContinueWith": "Vagy folytassa e-maillel" + } + }, + "oauth": { + "success": { + "title": "Sikeres hitelesítés", + "message": "Bezárhatja ezt az ablakot, és visszatérhet a Stirling PDF-hez." + }, + "error": { + "title": "Sikertelen hitelesítés", + "message": "A hitelesítés nem volt sikeres. Bezárhatja ezt az ablakot, és megpróbálhatja újra." + } + }, + "pdfTextEditor": { + "title": "PDF JSON-szerkesztő", + "viewLabel": "PDF-szerkesztő", + "converting": "PDF konvertálása szerkeszthető formátumba...", + "conversionFailed": "Nem sikerült konvertálni a PDF-et. Kérjük, próbálja újra.", + "currentFile": "Jelenlegi fájl: {{name}}", + "pageSummary": "{{number}} / {{total}} oldal", + "pagePreviewAlt": "Oldal előnézete", + "imageLabel": "Elhelyezett kép", + "noTextOnPage": "Ezen az oldalon nem található szerkeszthető szöveg.", + "pageType": { + "paragraph": "Bekezdéses oldal", + "sparse": "Ritka szöveg" + }, + "groupingMode": { + "auto": "Automatikus", + "paragraph": "Bekezdés", + "singleLine": "Egy sor" + }, + "badges": { + "unsaved": "Mentetlen", + "modified": "Szerkesztve", + "earlyAccess": "Korai hozzáférés" + }, + "actions": { + "reset": "Módosítások visszaállítása", + "downloadJson": "JSON letöltése", + "generatePdf": "PDF generálása" + }, + "options": { + "autoScaleText": { + "title": "Szöveg automatikus méretezése a dobozokhoz", + "description": "Vízszintesen automatikusan méretezi a szöveget az eredeti határolódobozhoz, ha a betűmegjelenítés eltér a PDF-től." + }, + "groupingMode": { + "title": "Szövegcsoportosítás módja", + "autoDescription": "Automatikusan felismeri az oldaltípust és ennek megfelelően csoportosítja a szöveget.", + "paragraphDescription": "Az igazított sorokat több soros bekezdéses szövegdobozokba csoportosítja.", + "singleLineDescription": "Minden PDF szövegsort külön szövegdobozként tart meg." + }, + "manualGrouping": { + "descriptionInline": "Tipp: Tartsa lenyomva a Ctrl (Cmd) vagy a Shift billentyűt több szövegdoboz kijelöléséhez. A kijelölés felett lebegő eszköztár jelenik meg, ahol egyesíthet, bontást végezhet vagy szélességet állíthat." + }, + "forceSingleElement": { + "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." + } + }, + "manual": { + "mergeTooltip": "Kijelölt dobozok egyesítése", + "merge": "Kijelölés egyesítése", + "ungroupTooltip": "Bekezdés szétbontása sorokra", + "ungroup": "Kijelölés bontása", + "widthMenu": "Szélesség beállításai", + "expandWidth": "Kiterjesztés az oldal széléig", + "resetWidth": "Szélesség visszaállítása", + "resizeHandle": "Szöveg szélességének beállítása" + }, + "disclaimer": { + "heading": "Előnézet korlátai", + "textFocus": "Ez a munkaterület a szöveg szerkesztésére és a beágyazott képek áthelyezésére összpontosít. Az összetett oldalgrafikák, űrlap-widgetek és rétegzett grafikák exportáláskor megőrzésre kerülnek, de itt nem szerkeszthetők teljes mértékben.", + "previewVariance": "Egyes vizuális elemek (például táblázatszegélyek, alakzatok vagy jegyzetek megjelenése) az előnézetben nem biztos, hogy pontosan látszanak. Az exportált PDF lehetőség szerint megőrzi az eredeti rajzolási parancsokat.", + "alpha": "Ez az alfa néző még fejlődik—bizonyos betűtípusok, színek, átlátszósági effektusok és elrendezési részletek kissé eltérhetnek. Kérjük, ellenőrizze a létrehozott PDF-et megosztás előtt." + }, + "empty": { + "title": "Nincs dokumentum betöltve", + "subtitle": "Töltsön be egy PDF- vagy JSON-fájlt a szövegtartalom szerkesztésének megkezdéséhez." + }, + "welcomeBanner": { + "title": "Üdvözöljük a PDF Text Editorben (korai hozzáférés)", + "experimental": "Ez egy kísérleti funkció, aktív fejlesztés alatt. Számítson némi instabilitásra és problémákra használat közben.", + "howItWorks": "Ez az eszköz a PDF-et szerkeszthető formátumra alakítja, ahol módosíthatja a szövegtartalmat és áthelyezheti a képeket. A módosítások új PDF-ként kerülnek mentésre.", + "bestFor": "Legjobban működik:", + "bestFor1": "Egyszerű PDF-ek, főként szöveggel és képekkel", + "bestFor2": "Dokumentumok szabványos bekezdésformázással", + "bestFor3": "Levelek, esszék, jelentések és alap dokumentumok", + "notIdealFor": "Nem ideális:", + "notIdealFor1": "Speciális formázású PDF-ek, például felsorolások, táblázatok vagy többhasábos elrendezés", + "notIdealFor2": "Magazinok, brosúrák vagy erősen megtervezett dokumentumok", + "notIdealFor3": "Használati útmutatók és kézikönyvek összetett elrendezéssel", + "limitations": "Jelenlegi korlátok:", + "limitation1": "A betűtípus-megjelenítés kissé eltérhet az eredeti PDF-től", + "limitation2": "Az összetett grafikák, űrlapmezők és jegyzetek megmaradnak, de nem szerkeszthetők", + "limitation3": "A nagy fájlok konvertálása és feldolgozása időbe telhet", + "knownIssues": "Ismert problémák (javítás alatt):", + "issue1": "A szöveg színe jelenleg nem marad meg (hamarosan hozzáadjuk)", + "issue2": "A Bekezdés módnál több igazítási és térköz probléma fordul elő – a Single Line mód ajánlott", + "issue3": "Az előnézeti megjelenítés eltér az exportált PDF-től – az exportált PDF-ek közelebb állnak az eredetihez", + "issue4": "A forgatott szöveg igazítása kézi beállítást igényelhet", + "issue5": "Az átlátszóság és a rétegzés effektusai eltérhetnek az eredetitől", + "feedback": "Ez egy korai hozzáférésű funkció. Kérjük, jelezzen minden észlelt problémát, hogy fejleszthessünk!", + "gotIt": "Rendben", + "dontShowAgain": "Ne jelenjen meg újra" + }, + "modeChange": { + "title": "Módváltás megerősítése", + "warning": "A szövegcsoportosítási mód megváltoztatása minden nem mentett módosítást visszaállít. Biztosan folytatja?", + "cancel": "Mégse", + "confirm": "Visszaállítás és módváltás" + }, + "fontAnalysis": { + "details": "Betűtípus részletei", + "embedded": "Beágyazott", + "type": "Típus", + "webFormat": "Webformátum", + "warnings": "Figyelmeztetések", + "suggestions": "Megjegyzések", + "currentPageFonts": "Betűtípusok ezen az oldalon", + "allFonts": "Összes betűtípus", + "fallback": "helyettesítő", + "missing": "hiányzik", + "perfectMessage": "Minden betűtípus tökéletesen visszaadható.", + "warningMessage": "Néhány betűtípus nem biztos, hogy helyesen jelenik meg.", + "infoMessage": "Információ a betűtípusok visszaadásáról elérhető.", + "perfect": "tökéletes", + "subset": "részhalmaz" + }, + "errors": { + "invalidJson": "Nem sikerült beolvasni a JSON fájlt. Kérjük, győződjön meg róla, hogy a PDF to JSON eszköz generálta.", + "pdfConversion": "A szerkesztett JSON nem alakítható vissza PDF-be." + } + }, + "auth": { + "sessionExpired": "Munkamenet lejárt", + "pleaseLoginAgain": "Kérjük, jelentkezzen be újra.", + "accessDenied": "Hozzáférés megtagadva", + "insufficientPermissions": "Nincs jogosultsága a művelet végrehajtásához." + }, + "addText": { + "title": "Szöveg hozzáadása", + "header": "Szöveg hozzáadása PDF-ekhez", + "text": { + "name": "Szöveg tartalma", + "placeholder": "Adja meg a hozzáadni kívánt szöveget", + "fontLabel": "Betűtípus", + "fontSizeLabel": "Betűméret", + "fontSizePlaceholder": "Írja be vagy válassza ki a betűméretet (8-200)", + "colorLabel": "Szöveg színe" + }, + "steps": { + "configure": "Szöveg beállítása" + }, + "step": { + "createDesc": "Adja meg a hozzáadni kívánt szöveget", + "place": "Szöveg elhelyezése", + "placeDesc": "Kattintson a PDF-re a szöveg hozzáadásához" + }, + "instructions": { + "title": "Hogyan adjon hozzá szöveget", + "text": "A fenti szöveg megadása után kattintson a PDF-re az elhelyezéshez.", + "paused": "Elhelyezés szüneteltetve", + "resumeHint": "Folytassa az elhelyezést, majd kattintson a szöveg hozzáadásához.", + "noSignature": "Adjon meg szöveget fent az elhelyezés engedélyezéséhez." + }, + "mode": { + "move": "Szöveg mozgatása", + "place": "Szöveg elhelyezése", + "pause": "Elhelyezés szüneteltetése", + "resume": "Elhelyezés folytatása" + }, + "results": { + "title": "Szöveg hozzáadásának eredménye" + }, + "error": { + "failed": "Hiba történt szöveg hozzáadásakor a PDF-hez." + }, + "tags": "szöveg,megjegyzés,címke", + "applySignatures": "Szöveg alkalmazása" } } \ No newline at end of file diff --git a/frontend/public/locales/id-ID/translation.json b/frontend/public/locales/id-ID/translation.json index 2f2de7433..1279e62bf 100644 --- a/frontend/public/locales/id-ID/translation.json +++ b/frontend/public/locales/id-ID/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Segera hadir:", "favorite": "Tambahkan ke Favorit", "favorites": "Favorit", + "unavailable": "Dinonaktifkan oleh admin server:", + "unavailableDependency": "Tidak tersedia - alat yang diperlukan tidak ada di server:", "heading": "Semua alat (tampilan layar penuh)", "noResults": "Coba sesuaikan pencarian Anda atau aktifkan deskripsi untuk menemukan yang Anda butuhkan.", "recommended": "Direkomendasikan", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Beralih ke mode layar penuh", "sidebar": "Beralih ke mode bilah sisi" - } + }, + "alpha": "Alpha", + "premiumFeature": "Fitur premium:", + "comingSoon": "Segera hadir:" }, "unsavedChanges": "Anda memiliki perubahan yang belum disimpan pada PDF Anda.", "areYouSure": "Apakah Anda yakin ingin keluar?", @@ -41,6 +46,30 @@ "cancel": "Batal", "confirm": "Ekstrak" }, + "defaultApp": { + "title": "Jadikan Aplikasi PDF Default", + "message": "Ingin menjadikan Stirling PDF sebagai editor PDF default Anda?", + "description": "Anda dapat mengubahnya nanti di pengaturan sistem.", + "notNow": "Jangan Sekarang", + "setDefault": "Jadikan Default", + "dismiss": "Tutup", + "prompt": { + "title": "Jadikan Editor PDF Default", + "message": "Jadikan Stirling PDF aplikasi default untuk membuka file PDF." + }, + "success": { + "title": "Aplikasi Default Disetel", + "message": "Stirling PDF sekarang adalah editor PDF default Anda" + }, + "settingsOpened": { + "title": "Pengaturan Dibuka", + "message": "Silakan pilih Stirling PDF di pengaturan sistem Anda" + }, + "error": { + "title": "Error", + "message": "Gagal menyetel penangan PDF default" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Simpan", "saveToBrowser": "Simpan ke Peramban", "download": "Unduh", + "downloadUnavailable": "Unduhan tidak tersedia untuk item ini", + "saveUnavailable": "Simpan tidak tersedia untuk item ini", "pin": "Sematkan File (tetap aktif setelah alat dijalankan)", "unpin": "Lepas Sematan File (ganti setelah alat dijalankan)", "undoOperationTooltip": "Klik untuk membatalkan operasi terakhir dan memulihkan file asli", @@ -168,6 +199,7 @@ }, "edit": "Edit", "delete": "Hapus", + "never": "Tidak pernah", "username": "Nama pengguna", "password": "Kata sandi", "welcome": "Selamat Datang", @@ -262,7 +294,8 @@ "learnMore": "Pelajari lebih lanjut", "enable": "Aktifkan analitik", "disable": "Nonaktifkan analitik", - "settings": "Anda dapat mengubah pengaturan untuk analitik di berkas config/settings.yml" + "settings": "Anda dapat mengubah pengaturan untuk analitik di berkas config/settings.yml", + "privacyAssurance": "Kami tidak melacak info pribadi atau konten file Anda." }, "navbar": { "favorite": "Favorit", @@ -284,75 +317,105 @@ } }, "settings": { - "title": "Pengaturan", - "update": "Pembaruan tersedia", - "updateAvailable": "{0} adalah versi yang terpasang saat ini. Versi baru ({1}) tersedia.", - "appVersion": "Versi Aplikasi:", - "downloadOption": { - "title": "Pilih opsi unduhan (Untuk unduhan berkas tunggal non zip):", - "1": "Buka di jendela yang sama", - "2": "Buka di jendela baru", - "3": "Unduh berkas" - }, - "zipThreshold": "Berkas zip ketika jumlah berkas yang diunduh melebihi", - "signOut": "Keluar", - "accountSettings": "Pengaturan Akun", - "bored": { - "help": "Mengaktifkan permainan telur paskah" - }, - "cacheInputs": { - "name": "Simpan input formulir", - "help": "Aktifkan untuk menyimpan input yang pernah digunakan untuk menjalankan di masa depan" + "connection": { + "title": "Mode Koneksi", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Self-Hosted" + }, + "server": "Server", + "user": "Masuk sebagai", + "logout": "Keluar" }, "general": { "title": "Umum", "description": "Konfigurasikan preferensi aplikasi umum.", - "account": "Akun", - "accountDescription": "Kelola pengaturan akun Anda", "user": "Pengguna", - "signedInAs": "Masuk sebagai", "logout": "Keluar", "enableFeatures": { + "dismiss": "Abaikan", "title": "Untuk Administrator Sistem", "intro": "Aktifkan autentikasi pengguna, manajemen tim, dan fitur ruang kerja untuk organisasi Anda.", "action": "Konfigurasikan", "and": "dan", "benefit": "Mengaktifkan peran pengguna, kolaborasi tim, kontrol admin, dan fitur enterprise.", - "learnMore": "Pelajari lebih lanjut di dokumentasi", - "dismiss": "Abaikan" + "learnMore": "Pelajari lebih lanjut di dokumentasi" }, - "autoUnzip": "Auto-unzip respons API", - "autoUnzipDescription": "Secara otomatis mengekstrak file dari respons ZIP", - "autoUnzipTooltip": "Secara otomatis mengekstrak file ZIP yang dikembalikan dari operasi API. Nonaktifkan untuk menjaga file ZIP tetap utuh. Ini tidak memengaruhi alur otomasi.", - "autoUnzipFileLimit": "Batas file auto-unzip", - "autoUnzipFileLimitDescription": "Jumlah maksimum file yang diekstrak dari ZIP", - "autoUnzipFileLimitTooltip": "Hanya unzip jika ZIP berisi sebanyak ini atau lebih sedikit. Atur lebih tinggi untuk mengekstrak ZIP yang lebih besar.", "defaultToolPickerMode": "Mode pemilih alat default", "defaultToolPickerModeDescription": "Pilih apakah pemilih alat dibuka dalam layar penuh atau bilah sisi secara default", "mode": { - "fullscreen": "Layar penuh", - "sidebar": "Bilah sisi" - } + "sidebar": "Bilah sisi", + "fullscreen": "Layar penuh" + }, + "autoUnzipTooltip": "Secara otomatis mengekstrak file ZIP yang dikembalikan dari operasi API. Nonaktifkan untuk menjaga file ZIP tetap utuh. Ini tidak memengaruhi alur otomasi.", + "autoUnzip": "Auto-unzip respons API", + "autoUnzipDescription": "Secara otomatis mengekstrak file dari respons ZIP", + "autoUnzipFileLimitTooltip": "Hanya unzip jika ZIP berisi sebanyak ini atau lebih sedikit. Atur lebih tinggi untuk mengekstrak ZIP yang lebih besar.", + "autoUnzipFileLimit": "Batas file auto-unzip", + "autoUnzipFileLimitDescription": "Jumlah maksimum file yang diekstrak dari ZIP", + "defaultPdfEditor": "Editor PDF default", + "defaultPdfEditorActive": "Stirling PDF adalah editor PDF default Anda", + "defaultPdfEditorInactive": "Aplikasi lain disetel sebagai default", + "defaultPdfEditorChecking": "Memeriksa...", + "defaultPdfEditorSet": "Sudah Default", + "setAsDefault": "Jadikan Default", + "updates": { + "title": "Pembaruan Software", + "description": "Periksa pembaruan dan lihat informasi versi", + "currentVersion": "Versi Saat Ini", + "latestVersion": "Versi Terbaru", + "checkForUpdates": "Periksa Pembaruan", + "viewDetails": "Lihat Detail" + }, + "hideUnavailableTools": "Sembunyikan alat yang tidak tersedia", + "hideUnavailableToolsDescription": "Hapus alat yang dinonaktifkan oleh server Anda alih-alih menampilkannya pudar.", + "hideUnavailableConversions": "Sembunyikan konversi yang tidak tersedia", + "hideUnavailableConversionsDescription": "Hapus opsi konversi yang dinonaktifkan di alat Convert alih-alih menampilkannya pudar." }, "hotkeys": { - "title": "Pintasan Keyboard", - "description": "Arahkan kursor ke alat untuk melihat pintasannya atau sesuaikan di bawah. Klik \"Ubah pintasan\" dan tekan kombinasi tombol baru. Tekan Esc untuk membatalkan.", - "errorModifier": { - "mac": "Sertakan ⌘ (Command), ⌥ (Option), atau pengubah lainnya dalam pintasan Anda.", - "windows": "Sertakan Ctrl, Alt, atau pengubah lainnya dalam pintasan Anda." - }, "errorConflict": "Pintasan sudah digunakan oleh {{tool}}.", + "searchPlaceholder": "Cari alat...", "none": "Tidak ditetapkan", "customBadge": "Kustom", - "defaultLabel": "Default: {{shortcut}}", + "defaultLabel": "Bawaan: {{shortcut}}", "capturing": "Tekan tombol… (Esc untuk membatalkan)", "change": "Ubah pintasan", "reset": "Atur Ulang", "shortcut": "Pintasan", - "noShortcut": "Tidak ada pintasan yang ditetapkan", - "searchPlaceholder": "Cari alat..." + "noShortcut": "Tidak ada pintasan yang ditetapkan" } }, + "update": { + "modalTitle": "Pembaruan Tersedia", + "current": "Versi Saat Ini", + "latest": "Versi Terbaru", + "latestStable": "Stabil Terbaru", + "priorityLabel": "Prioritas", + "recommendedAction": "Tindakan yang Disarankan", + "breakingChangesDetected": "Perubahan Signifikan Terdeteksi", + "breakingChangesMessage": "Beberapa versi berisi perubahan yang memutus kompatibilitas. Harap tinjau panduan migrasi di bawah sebelum memperbarui.", + "migrationGuides": "Panduan Migrasi", + "viewGuide": "Lihat Panduan", + "loadingDetailedInfo": "Memuat informasi detail...", + "close": "Tutup", + "viewAllReleases": "Lihat Semua Rilis", + "downloadLatest": "Unduh Terbaru", + "availableUpdates": "Pembaruan Tersedia", + "unableToLoadDetails": "Tidak dapat memuat informasi detail.", + "version": "Versi", + "urgentUpdateAvailable": "Pembaruan Mendesak", + "updateAvailable": "Pembaruan Tersedia", + "releaseNotes": "Catatan Rilis", + "priority": { + "urgent": "Mendesak", + "normal": "Normal", + "minor": "Minor", + "low": "Rendah" + }, + "breakingChanges": "Perubahan Signifikan", + "breakingChangesDefault": "Versi ini berisi perubahan yang memutus kompatibilitas.", + "migrationGuide": "Panduan Migrasi" + }, "changeCreds": { "title": "Ubah Kredensial", "header": "Perbarui Detail Akun Anda", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Menumpuk PDF di atas PDF lain", "title": "Tumpuk PDF" + }, + "pdfTextEditor": { + "title": "Editor Teks PDF", + "desc": "Tinjau dan edit ekspor Stirling PDF JSON dengan pengeditan teks terkelompok dan pembuatan ulang PDF" + }, + "addText": { + "tags": "teks,anotasi,label", + "title": "Tambah Teks", + "desc": "Tambahkan teks kustom di mana saja di PDF Anda" } }, "landing": { "addFiles": "Tambahkan File", - "uploadFromComputer": "Unggah dari komputer" + "uploadFromComputer": "Unggah dari komputer", + "openFromComputer": "Buka dari komputer" }, "viewPdf": { "tags": "melihat,membaca,membuat anotasi,teks,gambar", @@ -849,6 +922,11 @@ }, "error": { "failed": "Terjadi kesalahan saat menggabungkan PDF." + }, + "tooltip": { + "header": { + "title": "Ringkasan Pengaturan Gabung" + } } }, "split": { @@ -1087,10 +1165,10 @@ "fileFormat": "Format File", "wordDoc": "Dokumen Word", "wordDocExt": "Dokumen Word (.docx)", - "odtExt": "OpenDocument Text (.odt)", + "odtExt": "Teks OpenDocument (.odt)", "pptExt": "PowerPoint (.pptx)", - "odpExt": "OpenDocument Presentation (.odp)", - "txtExt": "Plain Text (.txt)", + "odpExt": "Presentasi OpenDocument (.odp)", + "txtExt": "Teks Biasa (.txt)", "rtfExt": "Rich Text Format (.rtf)", "selectedFiles": "File terpilih", "noFileSelected": "Tidak ada file yang dipilih. Gunakan panel file untuk menambahkan file.", @@ -1182,9 +1260,43 @@ "tags": "img,jpg,gambar,foto", "title": "Tambahkan Gambar", "header": "Tambahkan Gambar ke PDF", - "everyPage": "Setiap Halaman?", - "upload": "Tambahkan Gambar", - "submit": "Tambahkan Gambar" + "image": { + "name": "Gambar", + "placeholder": "Unggah gambar", + "label": "File gambar" + }, + "steps": { + "configure": "Konfigurasi Gambar" + }, + "step": { + "createDesc": "Unggah gambar yang ingin Anda tambahkan", + "place": "Tempatkan gambar", + "placeDesc": "Klik pada PDF untuk menambahkan gambar Anda" + }, + "instructions": { + "title": "Cara menambahkan gambar", + "text": "Setelah mengunggah gambar di atas, klik di mana saja pada PDF untuk menempatkannya.", + "paused": "Penempatan dijeda", + "resumeHint": "Lanjutkan penempatan untuk mengklik dan menambahkan gambar Anda.", + "noSignature": "Unggah gambar di atas untuk mengaktifkan penempatan." + }, + "mode": { + "move": "Pindahkan Gambar", + "place": "Tempatkan Gambar", + "pause": "Jeda penempatan", + "resume": "Lanjutkan penempatan" + }, + "results": { + "title": "Hasil Tambah Gambar" + }, + "error": { + "failed": "Terjadi error saat menambahkan gambar ke PDF." + }, + "saved": { + "defaultLabel": "Gambar", + "defaultImageLabel": "Gambar terunggah" + }, + "applySignatures": "Terapkan Gambar" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1397,6 +1509,93 @@ }, "submit": "Ganti" }, + "editTableOfContents": { + "settings": { + "title": "Bookmark & outline", + "replaceExisting": "Ganti bookmark yang ada (hapus centang untuk menambahkan)", + "replaceExistingHint": "Saat dinonaktifkan, outline baru ditambahkan setelah bookmark saat ini." + }, + "actions": { + "source": "Muat bookmark", + "selectedFile": "Dimuat dari {{file}}", + "noFile": "Pilih PDF untuk mengekstrak bookmark yang ada.", + "loadFromPdf": "Muat dari PDF terpilih", + "importJson": "Impor JSON", + "importClipboard": "Tempel JSON dari clipboard", + "export": "Ekspor bookmark", + "exportJson": "Unduh JSON", + "exportClipboard": "Salin JSON ke clipboard", + "clipboardUnavailable": "Akses clipboard tidak tersedia di browser ini." + }, + "info": { + "line1": "Setiap bookmark perlu judul deskriptif dan halaman yang akan dibuka.", + "line2": "Gunakan bookmark anak untuk membangun hierarki bab, bagian, atau subbagian.", + "line3": "Impor bookmark dari PDF terpilih atau dari file JSON untuk menghemat waktu." + }, + "workbench": { + "empty": { + "title": "Buka alat untuk mulai mengedit", + "description": "Pilih alat Edit Table of Contents untuk memuat ruang kerjanya." + }, + "tabTitle": "Workspace outline", + "subtitle": "Impor bookmark, bangun hierarki, dan terapkan outline tanpa panel samping yang sempit.", + "noFile": "Tidak ada PDF yang dipilih", + "fileLabel": "Perubahan akan diterapkan ke PDF yang saat ini dipilih.", + "filePrompt": "Pilih PDF dari pustaka Anda atau unggah yang baru untuk memulai.", + "changeFile": "Ganti PDF", + "selectFile": "Pilih PDF" + }, + "editor": { + "heading": "Editor bookmark", + "description": "Tambahkan, sarangkan, dan ubah urutan bookmark untuk menyusun outline PDF Anda.", + "addTopLevel": "Tambah bookmark level atas", + "empty": { + "title": "Belum ada bookmark", + "description": "Impor bookmark yang ada atau mulai dengan menambahkan entri pertama Anda.", + "action": "Tambah bookmark pertama" + }, + "defaultTitle": "Bookmark baru", + "defaultChildTitle": "Bookmark anak", + "defaultSiblingTitle": "Bookmark baru", + "untitled": "Bookmark tanpa judul", + "childBadge": "Anak", + "pagePreview": "Halaman {{page}}", + "field": { + "title": "Judul bookmark", + "page": "Nomor halaman tujuan" + }, + "actions": { + "toggle": "Tampilkan/sembunyikan anak", + "addChild": "Tambah bookmark anak", + "addSibling": "Tambah bookmark sejajar", + "remove": "Hapus bookmark" + }, + "confirmRemove": "Hapus bookmark ini dan semua anaknya?" + }, + "messages": { + "loadedTitle": "Bookmark diekstrak", + "loadedBody": "Bookmark yang ada dari PDF dimuat ke editor.", + "noBookmarks": "Tidak ditemukan bookmark di PDF terpilih.", + "loadFailed": "Tidak dapat mengekstrak bookmark dari PDF terpilih.", + "imported": "Bookmark diimpor", + "importedBody": "Outline JSON Anda menggantikan konten editor saat ini.", + "importedClipboard": "Data clipboard menggantikan daftar bookmark saat ini.", + "invalidJson": "Struktur JSON tidak valid", + "invalidJsonBody": "Harap berikan file JSON bookmark yang valid lalu coba lagi.", + "exported": "Unduhan JSON siap", + "copied": "Disalin ke clipboard", + "copiedBody": "JSON bookmark berhasil disalin.", + "copyFailed": "Gagal menyalin" + }, + "error": { + "failed": "Gagal memperbarui table of contents" + }, + "submit": "Terapkan table of contents", + "results": { + "title": "PDF diperbarui dengan bookmark", + "subtitle": "Unduh file yang diproses atau batalkan operasi di bawah." + } + }, "removePages": { "tags": "Menghapus halaman,menghapus halaman", "title": "Menghapus", @@ -1978,13 +2177,54 @@ "title": "Gambar tanda tangan Anda", "clear": "Bersihkan" }, + "canvas": { + "heading": "Gambar tanda tangan Anda", + "clickToOpen": "Klik untuk membuka kanvas gambar", + "modalTitle": "Gambar tanda tangan Anda", + "colorLabel": "Warna", + "penSizeLabel": "Ukuran pena", + "penSizePlaceholder": "Ukuran", + "clear": "Bersihkan kanvas", + "colorPickerTitle": "Pilih warna garis" + }, "text": { "name": "Nama Penandatangan", - "placeholder": "Masukkan nama lengkap Anda" + "placeholder": "Masukkan nama lengkap Anda", + "fontLabel": "Font", + "fontSizeLabel": "Ukuran font", + "fontSizePlaceholder": "Ketik atau pilih ukuran font (8-200)", + "colorLabel": "Warna teks" }, "clear": "Hapus", "add": "Tambah", - "saved": "Tanda Tangan Disimpan", + "saved": { + "heading": "Tanda tangan tersimpan", + "description": "Gunakan ulang tanda tangan yang disimpan kapan saja.", + "emptyTitle": "Belum ada tanda tangan tersimpan", + "emptyDescription": "Gambar, unggah, atau ketik tanda tangan di atas, lalu gunakan \"Simpan ke pustaka\" untuk menyimpan hingga {{max}} favorit siap pakai.", + "type": { + "canvas": "Gambar", + "image": "Unggah", + "text": "Teks" + }, + "limitTitle": "Batas tercapai", + "limitDescription": "Hapus tanda tangan tersimpan sebelum menambahkan yang baru (maks {{max}}).", + "carouselPosition": "{{current}} dari {{total}}", + "prev": "Sebelumnya", + "next": "Berikutnya", + "delete": "Hapus", + "label": "Label", + "defaultLabel": "Tanda tangan", + "defaultCanvasLabel": "Tanda tangan gambar", + "defaultImageLabel": "Tanda tangan terunggah", + "defaultTextLabel": "Tanda tangan ketik", + "saveButton": "Simpan tanda tangan", + "saveUnavailable": "Buat tanda tangan terlebih dahulu untuk menyimpannya.", + "noChanges": "Tanda tangan saat ini sudah disimpan.", + "status": { + "saved": "Tersimpan" + } + }, "save": "Simpan Tanda Tangan", "applySignatures": "Terapkan Tanda Tangan", "personalSigs": "Tanda Tangan Pribadi", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Konfigurasikan Tanda Tangan" }, + "step": { + "createDesc": "Pilih cara membuat tanda tangan", + "place": "Tempatkan & simpan", + "placeDesc": "Posisikan tanda tangan di PDF Anda" + }, "type": { "title": "Jenis Tanda Tangan", "draw": "Gambar", "canvas": "Kanvas", "image": "Gambar", - "text": "Teks" + "text": "Teks", + "saved": "Tersimpan" }, "image": { "label": "Unggah gambar tanda tangan", @@ -2019,11 +2265,17 @@ "title": "Cara menambahkan tanda tangan", "canvas": "Setelah menggambar tanda tangan Anda di kanvas, tutup modal lalu klik di mana saja pada PDF untuk menempatkannya.", "image": "Setelah mengunggah gambar tanda tangan Anda di atas, klik di mana saja pada PDF untuk menempatkannya.", - "text": "Setelah memasukkan nama Anda di atas, klik di mana saja pada PDF untuk menempatkan tanda tangan Anda." + "saved": "Pilih tanda tangan tersimpan di atas, lalu klik di mana saja pada PDF untuk menempatkannya.", + "text": "Setelah memasukkan nama Anda di atas, klik di mana saja pada PDF untuk menempatkan tanda tangan Anda.", + "paused": "Penempatan dijeda", + "resumeHint": "Lanjutkan penempatan untuk mengklik dan menambahkan tanda tangan Anda.", + "noSignature": "Buat tanda tangan di atas untuk mengaktifkan alat penempatan." }, "mode": { "move": "Pindahkan Tanda Tangan", - "place": "Tempatkan Tanda Tangan" + "place": "Tempatkan Tanda Tangan", + "pause": "Jeda penempatan", + "resume": "Lanjutkan penempatan" }, "updateAndPlace": "Perbarui dan Tempatkan", "activate": "Aktifkan Penempatan Tanda Tangan", @@ -2163,6 +2415,14 @@ "title": "Tentang Hapus Anotasi", "description": "Alat ini akan menghapus semua anotasi (komentar, sorotan, catatan, dll.) dari dokumen PDF Anda." }, + "tooltip": { + "header": { + "title": "Tentang Hapus Anotasi" + }, + "description": { + "title": "Fungsinya" + } + }, "error": { "failed": "Terjadi kesalahan saat menghapus anotasi dari PDF." } @@ -2627,6 +2887,9 @@ "header": { "title": "Cara Kerja Ganti Nama Otomatis" }, + "description": { + "title": "Fungsinya" + }, "howItWorks": { "title": "Penggantian Nama Cerdas", "text": "Secara otomatis menemukan judul dari konten PDF Anda dan menggunakannya sebagai nama file.", @@ -2634,6 +2897,9 @@ "bullet2": "Membuat nama file yang bersih dan valid dari judul yang terdeteksi", "bullet3": "Mempertahankan nama asli jika tidak ditemukan judul yang sesuai" } + }, + "settings": { + "title": "Tentang" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "Kesalahan tak terduga: {{message}}", "accountCreatedSuccess": "Akun berhasil dibuat! Anda sekarang dapat masuk.", "passwordChangedSuccess": "Kata sandi berhasil diubah! Silakan masuk dengan kata sandi baru Anda.", - "credentialsUpdated": "Kredensial Anda telah diperbarui. Silakan masuk lagi." + "credentialsUpdated": "Kredensial Anda telah diperbarui. Silakan masuk lagi.", + "defaultCredentials": "Kredensial Login Bawaan", + "changePasswordWarning": "Harap ganti kata sandi Anda setelah login untuk pertama kalinya", + "slides": { + "overview": { + "alt": "Sekilas Stirling PDF", + "title": "Satu tempat untuk semua kebutuhan PDF Anda.", + "subtitle": "Suite cloud berfokus privasi untuk PDF yang memungkinkan Anda mengonversi, menandatangani, menyensor, dan mengelola dokumen, ditambah 50+ alat hebat lainnya." + }, + "edit": { + "alt": "Edit PDF", + "title": "Edit PDF untuk menampilkan/mengamankan informasi yang Anda inginkan", + "subtitle": "Dengan lebih dari selusin alat untuk membantu Anda menyensor, menandatangani, membaca, dan memanipulasi PDF, Anda pasti menemukan yang Anda cari." + }, + "secure": { + "alt": "Amankan PDF", + "title": "Lindungi informasi sensitif di PDF Anda", + "subtitle": "Tambahkan kata sandi, sensor konten, dan kelola sertifikat dengan mudah." + } + } }, "signup": { "title": "Buat akun", @@ -3598,7 +3883,9 @@ "exportAll": "Ekspor PDF", "downloadSelected": "Unduh File Terpilih", "downloadAll": "Unduh Semua", + "saveAll": "Simpan Semua", "toggleTheme": "Alihkan Tema", + "toggleBookmarks": "Tampilkan/Sembunyikan Bookmark", "language": "Bahasa", "search": "Cari PDF", "panMode": "Mode Geser", @@ -3685,8 +3972,16 @@ "saved": "Pengaturan berhasil disimpan", "saveSuccess": "Pengaturan berhasil disimpan", "save": "Simpan Perubahan", + "discard": "Buang", "restartRequired": "Perlu Mulai Ulang", "loginRequired": "Mode login harus diaktifkan untuk mengubah pengaturan admin", + "unsavedChanges": { + "title": "Perubahan Belum Disimpan", + "message": "Anda memiliki perubahan yang belum disimpan. Apakah Anda ingin membuangnya?", + "cancel": "Lanjutkan Mengedit", + "discard": "Buang Perubahan", + "hint": "Anda memiliki perubahan yang belum disimpan" + }, "loginDisabled": { "title": "Mode Login Diperlukan", "message": "Mode login harus diaktifkan untuk mengubah pengaturan admin. Harap set SECURITY_ENABLELOGIN=true di lingkungan Anda atau security.enableLogin: true di settings.yml, lalu mulai ulang server.", @@ -3971,7 +4266,7 @@ "description": "Cegah pendaftaran pengguna baru melalui OAuth2" }, "scopes": { - "label": "OAuth2 Scopes", + "label": "Scope OAuth2", "description": "Daftar OAuth2 scopes yang dipisahkan koma (mis., openid, profile, email)" } }, @@ -4137,7 +4432,7 @@ "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", "weasyPrint": "WeasyPrint", - "installApp": "Install App", + "installApp": "Instal Aplikasi", "calibre": "Calibre", "ghostscript": "Ghostscript", "ocrMyPdf": "OCRmyPDF" @@ -4212,9 +4507,21 @@ "title": "Premium & Enterprise", "description": "Konfigurasikan kunci lisensi premium atau enterprise Anda.", "license": "Konfigurasi Lisensi", + "licenseKey": { + "toggle": "Punya kunci lisensi atau file sertifikat?", + "info": "Jika Anda memiliki kunci lisensi atau file sertifikat dari pembelian langsung, Anda dapat memasukkannya di sini untuk mengaktifkan fitur premium atau enterprise." + }, "key": { "label": "Kunci Lisensi", - "description": "Masukkan kunci lisensi premium atau enterprise Anda" + "description": "Masukkan kunci lisensi premium atau enterprise Anda", + "success": "Kunci Lisensi Disimpan", + "successMessage": "Kunci lisensi Anda telah diaktifkan dengan sukses. Tidak perlu restart.", + "overwriteWarning": { + "title": "⚠️ Peringatan: Lisensi yang Ada Terdeteksi", + "line1": "Menimpa kunci lisensi Anda saat ini tidak dapat dibatalkan.", + "line2": "Lisensi sebelumnya akan hilang permanen kecuali Anda mencadangkannya di tempat lain.", + "line3": "Penting: Jaga kunci lisensi tetap privat dan aman. Jangan pernah membagikannya secara publik." + } }, "enabled": { "label": "Aktifkan Fitur Premium", @@ -4278,12 +4585,17 @@ "or": "atau", "dropFileHere": "Lepaskan file di sini atau klik untuk mengunggah", "dropFilesHere": "Lepaskan file di sini atau klik tombol unggah", + "dropFilesHereOpen": "Jatuhkan file di sini atau klik tombol buka", "pdfFilesOnly": "Hanya file PDF", "supportedFileTypes": "Jenis file yang didukung", "upload": "Unggah", "uploadFile": "Unggah File", "uploadFiles": "Unggah File", + "open": "Buka", + "openFile": "Buka File", + "openFiles": "Buka File", "noFilesInStorage": "Tidak ada file di penyimpanan. Unggah beberapa file terlebih dahulu.", + "noFilesInStorageOpen": "Tidak ada file di penyimpanan. Buka beberapa file terlebih dahulu.", "selectFromStorage": "Pilih dari Penyimpanan", "backToTools": "Kembali ke Alat", "addFiles": "Tambahkan File", @@ -4329,6 +4641,8 @@ "myFiles": "File Saya", "noRecentFiles": "Tidak ada file terbaru", "googleDriveNotAvailable": "Integrasi Google Drive tidak tersedia", + "downloadSelected": "Unduh yang Dipilih", + "saveSelected": "Simpan Terpilih", "openFiles": "Buka File", "openFile": "Buka File", "details": "Detail File", @@ -4341,7 +4655,6 @@ "selectAll": "Pilih Semua", "deselectAll": "Batalkan Semua Pilihan", "deleteSelected": "Hapus yang Dipilih", - "downloadSelected": "Unduh yang Dipilih", "selectedCount": "{{count}} dipilih", "download": "Unduh", "delete": "Hapus", @@ -4621,9 +4934,14 @@ "secureWorkflow": "Alur Kerja Keamanan", "secureWorkflowDesc": "Mengamankan dokumen PDF dengan menghapus konten berpotensi berbahaya seperti JavaScript dan file tersemat, lalu menambahkan perlindungan kata sandi untuk mencegah akses tidak sah. Kata sandi diatur ke 'password' secara default.", "processImages": "Proses Gambar", - "processImagesDesc": "Mengonversi beberapa file gambar menjadi satu dokumen PDF, lalu menerapkan teknologi OCR untuk mengekstrak teks yang dapat dicari dari gambar." + "processImagesDesc": "Mengonversi beberapa file gambar menjadi satu dokumen PDF, lalu menerapkan teknologi OCR untuk mengekstrak teks yang dapat dicari dari gambar.", + "prePublishSanitization": "Sanitisasi Pra-publikasi", + "prePublishSanitizationDesc": "Alur sanitisasi yang menghapus semua metadata tersembunyi, JavaScript, file tersemat, anotasi, dan meratakan formulir untuk mencegah kebocoran data sebelum menerbitkan PDF online." } }, + "colorPicker": { + "title": "Pilih warna" + }, "common": { "previous": "Sebelumnya", "next": "Berikutnya", @@ -4639,7 +4957,13 @@ "used": "terpakai", "available": "tersedia", "cancel": "Batal", - "preview": "Pratinjau" + "preview": "Pratinjau", + "close": "Tutup", + "done": "Selesai", + "loading": "Memuat...", + "back": "Kembali", + "continue": "Lanjut", + "error": "Error" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Tambah file lagi...", "selectedFiles": "File Terpilih", "submit": "Tambahkan Lampiran", + "tooltip": { + "header": { + "title": "Tentang Tambah Lampiran" + }, + "description": { + "title": "Fungsinya" + } + }, "results": { "title": "Hasil Lampiran" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Posisi Kustom", "details": "Detail", - "downloadUnavailable": "Unduhan tidak tersedia untuk item ini", "invalidUndoData": "Tidak dapat membatalkan: data operasi tidak valid", "margin": { "large": "Besar", @@ -4801,6 +5132,10 @@ "maybeLater": "Mungkin Nanti", "dontShowAgain": "Jangan Tampilkan Lagi" }, + "welcomeSlide": { + "title": "Selamat datang di Stirling", + "body": "Stirling PDF kini siap untuk tim dari semua ukuran. Pembaruan ini mencakup tata letak baru, kemampuan admin yang kuat, dan fitur paling banyak diminta - Edit Text." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Mari pilih alat Crop untuk mendemonstrasikan cara menggunakan salah satu alat.", "toolInterface": "Ini adalah antarmuka alat Crop. Seperti yang Anda lihat, belum banyak karena kita belum menambahkan file PDF untuk dikerjakan.", @@ -4823,7 +5158,39 @@ "next": "Berikutnya", "finish": "Selesai", "startTour": "Mulai Tur", - "startTourDescription": "Ikuti tur terpandu tentang fitur utama Stirling PDF" + "startTourDescription": "Ikuti tur terpandu tentang fitur utama Stirling PDF", + "buttons": { + "next": "Berikutnya →", + "back": "Kembali", + "skipForNow": "Lewati dulu", + "download": "Unduh →", + "showMeAround": "Tunjukkan saya", + "skipTheTour": "Lewati tur" + }, + "serverLicense": { + "skip": "Lewati dulu", + "seePlans": "Lihat Paket →", + "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 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." + }, + "desktopInstall": { + "title": "Unduh", + "titleWithOs": "Unduh untuk {{osLabel}}", + "body": "Stirling paling baik digunakan sebagai aplikasi desktop. Anda dapat menggunakannya offline, mengakses dokumen lebih cepat, dan mengedit secara lokal di komputer Anda." + }, + "planOverview": { + "adminTitle": "Ringkasan Admin", + "userTitle": "Ringkasan Paket", + "adminBodyLoginEnabled": "Sebagai admin, Anda dapat mengelola pengguna, mengonfigurasi pengaturan, dan memantau kesehatan server. {{freeTierLimit}} orang pertama di server Anda dapat menggunakan Stirling gratis.", + "adminBodyLoginDisabled": "Setelah Anda mengaktifkan mode login, Anda dapat mengelola pengguna, mengonfigurasi pengaturan, dan memantau kesehatan server. {{freeTierLimit}} orang pertama di server Anda dapat menggunakan Stirling gratis.", + "userBody": "Undang rekan, tetapkan peran, dan jaga dokumen Anda tetap teratur dalam satu workspace yang aman. Aktifkan mode login kapan pun Anda siap berkembang dari penggunaan solo." + }, + "securityCheck": { + "message": "Aplikasi telah mengalami perubahan signifikan baru-baru ini. Perhatian admin server Anda mungkin diperlukan. Harap konfirmasi peran Anda untuk melanjutkan." + } }, "adminOnboarding": { "welcome": "Selamat datang di Tur Admin! Mari jelajahi fitur dan pengaturan enterprise yang kuat yang tersedia untuk administrator sistem.", @@ -4852,7 +5219,10 @@ "role": "Peran", "team": "Tim", "status": "Status", - "actions": "Tindakan", + "actions": { + "label": "Tindakan", + "upgrade": "Upgrade" + }, "noMembersFound": "Tidak ada anggota ditemukan", "active": "Aktif", "disabled": "Dinonaktifkan", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} slot pengguna tersedia", "noSlotsAvailable": "Tidak ada slot tersedia", "currentUsage": "Saat ini menggunakan {{current}} dari {{max}} lisensi pengguna" - } + }, + "loginRequired": "Aktifkan mode login terlebih dahulu" }, "teams": { "title": "Tim", @@ -5057,6 +5428,17 @@ "showComparison": "Bandingkan Semua Fitur", "hideComparison": "Sembunyikan Perbandingan Fitur", "featureComparison": "Perbandingan Fitur", + "from": "Mulai", + "perMonth": "/bulan", + "perSeat": "/seat", + "withServer": "+ Paket Server", + "licensedSeats": "Berlisensi: {{count}} seat", + "includedInCurrent": "Termasuk dalam Paket Anda", + "selectPlan": "Pilih Paket", + "manage": "Kelola", + "manageSubscription": { + "description": "Kelola langganan, penagihan, dan metode pembayaran Anda" + }, "activePlan": { "title": "Paket Aktif", "subtitle": "Detail langganan Anda saat ini" @@ -5074,13 +5456,16 @@ "upTo": "Hingga" }, "period": { - "month": "bulan" + "month": "bulan", + "perUserPerMonth": "/pengguna/bulan" }, "free": { "name": "Gratis", "highlight1": "Penggunaan Alat Terbatas per minggu", "highlight2": "Akses ke semua alat", - "highlight3": "Dukungan komunitas" + "highlight3": "Dukungan komunitas", + "forever": "Gratis selamanya", + "included": "Termasuk" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Harga kustom", "highlight2": "Dukungan khusus", - "highlight3": "Fitur terbaru" + "highlight3": "Fitur terbaru", + "requiresServer": "Memerlukan Server", + "requiresServerMessage": "Harap upgrade ke paket Server terlebih dahulu sebelum upgrade ke Enterprise." }, "feature": { "title": "Fitur", @@ -5102,6 +5489,12 @@ "api": "Akses API", "priority": "Dukungan Prioritas", "customPricing": "Harga Khusus" + }, + "licenseWarning": { + "title": "Batas gratis self-hosted tercapai", + "body": "Anda memiliki {{total}} pengguna tetapi level gratis hanya mendukung {{limit}} per server. Upgrade agar Stirling PDF tetap berjalan lancar.", + "overLimit": "lebih dari {{limit}}", + "cta": "Lihat paket" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Kelola Penagihan", "portal": { "error": "Gagal membuka portal penagihan" - } + }, + "updateSeats": "Perbarui Seat", + "updateEnterpriseSeats": "Perbarui Seat Enterprise", + "currentSeats": "Seat Saat Ini", + "minimumSeats": "Seat Minimum", + "basedOnUsers": "(pengguna saat ini)", + "newSeatCount": "Jumlah Seat Baru", + "newSeatCountDescription": "Pilih jumlah seat untuk lisensi enterprise Anda", + "whatHappensNext": "Apa selanjutnya?", + "stripePortalRedirect": "Anda akan diarahkan ke portal penagihan Stripe untuk meninjau dan mengonfirmasi perubahan seat. Jumlah prorata akan dihitung otomatis.", + "preparingUpdate": "Menyiapkan pembaruan seat...", + "seatCountTooLow": "Jumlah seat harus setidaknya {{minimum}} (jumlah pengguna saat ini)", + "seatCountUnchanged": "Silakan pilih jumlah seat yang berbeda", + "seatsUpdated": "Seat Diperbarui", + "seatsUpdatedMessage": "Seat enterprise Anda telah diperbarui menjadi {{seats}}", + "updateProcessing": "Memproses Pembaruan", + "updateProcessingMessage": "Pembaruan seat sedang diproses. Harap segarkan beberapa saat lagi.", + "notEnterprise": "Manajemen seat hanya tersedia untuk lisensi enterprise" + }, + "upgradeBanner": { + "title": "Upgrade ke Paket Server", + "message": "Dapatkan manfaat maksimal Stirling PDF dengan pengguna tak terbatas dan fitur lanjutan", + "upgradeButton": "Upgrade Sekarang", + "dismiss": "Tutup banner", + "attentionTitle": "Server ini memerlukan perhatian admin", + "attentionBody": "Admin Anda perlu masuk untuk melihat info lebih lanjut. Harap hubungi mereka segera.", + "attentionBodyAdmin": "Tinjau persyaratan lisensi untuk menjaga kepatuhan server ini.", + "seeInfo": "Lihat info" }, "payment": { "preparing": "Menyiapkan checkout Anda...", @@ -5128,7 +5548,61 @@ "success": "Pembayaran Berhasil!", "successMessage": "Langganan Anda telah berhasil diaktifkan. Anda akan segera menerima email konfirmasi.", "autoClose": "Jendela ini akan tertutup secara otomatis...", - "error": "Kesalahan Pembayaran" + "error": "Kesalahan Pembayaran", + "upgradeSuccess": "Pembayaran berhasil! Langganan Anda telah diupgrade. Lisensi telah diperbarui di server Anda. Anda akan menerima email konfirmasi segera.", + "paymentSuccess": "Pembayaran berhasil! Mengambil kunci lisensi Anda...", + "licenseActivated": "Lisensi aktif! Kunci lisensi Anda telah disimpan. Email konfirmasi telah dikirim ke alamat email terdaftar Anda.", + "licenseDelayed": "Pembayaran berhasil! Lisensi Anda sedang dibuat. Anda akan menerima email dengan kunci lisensi segera. Jika tidak menerima dalam 10 menit, harap hubungi dukungan.", + "licensePollingError": "Pembayaran berhasil tetapi kami tidak dapat mengambil kunci lisensi Anda secara otomatis. Silakan periksa email Anda atau hubungi dukungan dengan konfirmasi pembayaran Anda.", + "licenseRetrievalError": "Pembayaran berhasil tetapi pengambilan lisensi gagal. Anda akan menerima kunci lisensi melalui email. Hubungi dukungan jika tidak menerimanya dalam 10 menit.", + "syncError": "Pembayaran berhasil tetapi sinkronisasi lisensi gagal. Lisensi Anda akan diperbarui segera. Hubungi dukungan jika masalah berlanjut.", + "licenseSaveError": "Gagal menyimpan kunci lisensi. Silakan hubungi dukungan dengan kunci lisensi Anda untuk menyelesaikan aktivasi.", + "paymentCanceled": "Pembayaran dibatalkan. Tidak ada biaya yang dikenakan.", + "syncingLicense": "Menyinkronkan lisensi yang diupgrade...", + "generatingLicense": "Membuat kunci lisensi...", + "upgradeComplete": "Upgrade Selesai", + "upgradeCompleteMessage": "Langganan Anda telah diupgrade dengan sukses. Kunci lisensi yang ada telah diperbarui.", + "stripeNotConfigured": "Stripe Tidak Dikonfigurasi", + "stripeNotConfiguredMessage": "Integrasi pembayaran Stripe tidak dikonfigurasi. Silakan hubungi administrator Anda.", + "monthly": "Bulanan", + "yearly": "Tahunan", + "billingPeriod": "Periode Penagihan", + "enterpriseNote": "Seat dapat disesuaikan saat checkout (1–1000).", + "installationId": "ID Instalasi", + "licenseKey": "Kunci Lisensi Anda", + "licenseInstructions": "Ini telah ditambahkan ke instalasi Anda. Anda juga akan menerima salinannya melalui email.", + "canCloseWindow": "Anda bisa menutup jendela ini sekarang.", + "licenseKeyProcessing": "Pemrosesan Kunci Lisensi", + "licenseDelayedMessage": "Kunci lisensi Anda sedang dibuat. Harap periksa email Anda sebentar lagi atau hubungi dukungan.", + "perYear": "/tahun", + "perMonth": "/bulan", + "emailInvalid": "Masukkan alamat email yang valid", + "emailStage": { + "title": "Masukkan Email Anda", + "description": "Kami akan menggunakannya untuk mengirim kunci lisensi dan tanda terima Anda.", + "emailLabel": "Alamat Email", + "emailPlaceholder": "your@email.com", + "continue": "Lanjut", + "modalTitle": "Mulai - {{planName}}" + }, + "planStage": { + "title": "Pilih Periode Penagihan", + "savingsNote": "Hemat {{percent}}% dengan penagihan tahunan", + "basePrice": "Harga Dasar", + "seatPrice": "Per Seat", + "totalForSeats": "Total ({{count}} seat)", + "selectMonthly": "Pilih Bulanan", + "selectYearly": "Pilih Tahunan", + "savePercent": "Hemat {{percent}}%", + "savingsAmount": "Anda menghemat {{amount}}", + "modalTitle": "Pilih Periode Penagihan - {{planName}}", + "billedYearly": "Ditagih tahunan sebesar {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Kembali ke Pilihan Paket", + "selectedPlan": "Paket Terpilih", + "modalTitle": "Selesaikan Pembayaran - {{planName}}" + } }, "firstLogin": { "title": "Login Pertama Kali", @@ -5287,5 +5761,281 @@ "offline": "Backend Offline", "starting": "Backend sedang memulai...", "wait": "Harap tunggu hingga backend selesai memulai lalu coba lagi." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Buka kunci PDF untuk melanjutkan", + "title": "Hapus sandi untuk melanjutkan", + "description": "PDF ini dilindungi sandi. Masukkan sandi agar Anda dapat melanjutkan bekerja dengannya.", + "password": { + "label": "Sandi PDF", + "placeholder": "Masukkan sandi PDF" + }, + "skip": "Lewati dulu", + "unlock": "Buka & Lanjutkan", + "incorrectPassword": "Sandi salah", + "missingFile": "File yang dipilih tidak lagi tersedia.", + "emptyResponse": "Penghapusan sandi tidak menghasilkan file.", + "required": "Masukkan sandi untuk melanjutkan.", + "successTitle": "Sandi dihapus", + "successBodyWithName": "Sandi dihapus dari {{fileName}}", + "successBody": "Sandi berhasil dihapus." + }, + "setup": { + "welcome": "Selamat datang di Stirling PDF", + "description": "Mulai dengan memilih cara Anda ingin menggunakan Stirling PDF", + "step1": { + "label": "Pilih Mode", + "description": "Offline atau Server" + }, + "step2": { + "label": "Pilih Server", + "description": "Server self-hosted" + }, + "step3": { + "label": "Login", + "description": "Masukkan kredensial" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Masuk dengan akun Stirling Anda" + }, + "selfhosted": { + "title": "Server Self-Hosted", + "description": "Sambungkan ke server Stirling PDF Anda sendiri" + } + }, + "saas": { + "title": "Masuk ke Stirling", + "subtitle": "Masuk dengan akun Stirling Anda" + }, + "selfhosted": { + "title": "Masuk ke Server", + "subtitle": "Masukkan kredensial server Anda" + }, + "server": { + "title": "Sambungkan ke Server", + "subtitle": "Masukkan URL server self-hosted Anda", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Server self-hosted" + }, + "url": { + "label": "URL Server", + "description": "Masukkan URL lengkap server Stirling PDF self-hosted Anda" + }, + "error": { + "emptyUrl": "Masukkan URL server", + "unreachable": "Tidak dapat terhubung ke server", + "testFailed": "Tes koneksi gagal" + }, + "testing": "Menguji koneksi..." + }, + "login": { + "title": "Masuk", + "subtitle": "Masukkan kredensial Anda untuk melanjutkan", + "connectingTo": "Menghubungkan ke:", + "username": { + "label": "Nama pengguna", + "placeholder": "Masukkan nama pengguna" + }, + "email": { + "label": "Email", + "placeholder": "Masukkan email Anda" + }, + "password": { + "label": "Kata sandi", + "placeholder": "Masukkan kata sandi Anda" + }, + "error": { + "emptyUsername": "Masukkan nama pengguna Anda", + "emptyEmail": "Masukkan email Anda", + "emptyPassword": "Masukkan kata sandi Anda", + "oauthFailed": "Login OAuth gagal. Silakan coba lagi." + }, + "submit": "Login", + "signInWith": "Masuk dengan", + "oauthPending": "Membuka browser untuk autentikasi...", + "orContinueWith": "Atau lanjut dengan email" + } + }, + "oauth": { + "success": { + "title": "Autentikasi Berhasil", + "message": "Anda dapat menutup jendela ini dan kembali ke Stirling PDF." + }, + "error": { + "title": "Autentikasi Gagal", + "message": "Autentikasi tidak berhasil. Anda dapat menutup jendela ini dan mencoba lagi." + } + }, + "pdfTextEditor": { + "title": "Editor JSON PDF", + "viewLabel": "Editor PDF", + "converting": "Mengonversi PDF ke format yang dapat diedit...", + "conversionFailed": "Gagal mengonversi PDF. Coba lagi.", + "currentFile": "File saat ini: {{name}}", + "pageSummary": "Halaman {{number}} dari {{total}}", + "pagePreviewAlt": "Pratinjau halaman", + "imageLabel": "Gambar ditempatkan", + "noTextOnPage": "Tidak ada teks yang dapat diedit ditemukan di halaman ini.", + "pageType": { + "paragraph": "Halaman paragraf", + "sparse": "Teks tersebar" + }, + "groupingMode": { + "auto": "Otomatis", + "paragraph": "Paragraf", + "singleLine": "Satu Baris" + }, + "badges": { + "unsaved": "Diedit", + "modified": "Diedit", + "earlyAccess": "Akses Awal" + }, + "actions": { + "reset": "Reset Perubahan", + "downloadJson": "Unduh JSON", + "generatePdf": "Buat PDF" + }, + "options": { + "autoScaleText": { + "title": "Sesuaikan teks otomatis ke kotak", + "description": "Secara otomatis menskalakan teks secara horizontal agar pas dalam kotak pembatas aslinya saat perenderan font berbeda dari PDF." + }, + "groupingMode": { + "title": "Mode Pengelompokan Teks", + "autoDescription": "Secara otomatis mendeteksi jenis halaman dan mengelompokkan teks dengan tepat.", + "paragraphDescription": "Mengelompokkan baris yang sejajar menjadi kotak teks paragraf multi-baris.", + "singleLineDescription": "Membiarkan setiap baris teks PDF sebagai kotak teks terpisah." + }, + "manualGrouping": { + "descriptionInline": "Tips: Tahan Ctrl (Cmd) atau Shift untuk memilih beberapa kotak teks. Bilah alat mengambang akan muncul di atas pilihan sehingga Anda bisa menggabungkan, melepas grup, atau menyesuaikan lebar." + }, + "forceSingleElement": { + "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." + } + }, + "manual": { + "mergeTooltip": "Gabungkan kotak yang dipilih", + "merge": "Gabungkan pilihan", + "ungroupTooltip": "Pecah paragraf kembali menjadi baris", + "ungroup": "Lepas grup pilihan", + "widthMenu": "Opsi lebar", + "expandWidth": "Perluas hingga tepi halaman", + "resetWidth": "Reset lebar", + "resizeHandle": "Sesuaikan lebar teks" + }, + "disclaimer": { + "heading": "Batasan Pratinjau", + "textFocus": "Ruang kerja ini berfokus pada pengeditan teks dan memosisikan ulang gambar tertanam. Grafik halaman yang kompleks, widget formulir, dan grafis berlapis dipertahankan untuk ekspor tetapi tidak sepenuhnya dapat diedit di sini.", + "previewVariance": "Beberapa visual (seperti batas tabel, bentuk, atau tampilan anotasi) mungkin tidak tampil persis pada pratinjau. PDF yang diekspor mempertahankan perintah gambar asli bila memungkinkan.", + "alpha": "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." + }, + "empty": { + "title": "Tidak ada dokumen dimuat", + "subtitle": "Muat file PDF atau JSON untuk mulai mengedit konten teks." + }, + "welcomeBanner": { + "title": "Selamat datang di PDF Text Editor (Akses Awal)", + "experimental": "Ini adalah fitur eksperimental yang sedang aktif dikembangkan. Harap maklum, mungkin ada ketidakstabilan dan masalah saat digunakan.", + "howItWorks": "Alat ini mengonversi PDF Anda ke format yang dapat diedit di mana Anda dapat mengubah konten teks dan memosisikan ulang gambar. Perubahan disimpan kembali sebagai PDF baru.", + "bestFor": "Paling cocok untuk:", + "bestFor1": "PDF sederhana yang berisi terutama teks dan gambar", + "bestFor2": "Dokumen dengan pemformatan paragraf standar", + "bestFor3": "Surat, esai, laporan, dan dokumen dasar", + "notIdealFor": "Kurang ideal untuk:", + "notIdealFor1": "PDF dengan pemformatan khusus seperti bullet, tabel, atau tata letak multi-kolom", + "notIdealFor2": "Majalah, brosur, atau dokumen dengan desain kompleks", + "notIdealFor3": "Manual instruksi dengan tata letak kompleks", + "limitations": "Batasan saat ini:", + "limitation1": "Perenderan font mungkin sedikit berbeda dari PDF asli", + "limitation2": "Grafik kompleks, bidang formulir, dan anotasi dipertahankan tetapi tidak dapat diedit", + "limitation3": "File besar mungkin memerlukan waktu untuk dikonversi dan diproses", + "knownIssues": "Masalah yang Diketahui (Sedang Diperbaiki):", + "issue1": "Warna teks saat ini belum dipertahankan (akan segera ditambahkan)", + "issue2": "Mode Paragraf memiliki lebih banyak masalah perataan dan spasi - Mode Satu Baris direkomendasikan", + "issue3": "Tampilan pratinjau berbeda dari PDF yang diekspor - PDF yang diekspor lebih mendekati aslinya", + "issue4": "Perataan teks yang diputar mungkin perlu penyesuaian manual", + "issue5": "Efek transparansi dan pelapisan mungkin berbeda dari aslinya", + "feedback": "Ini adalah fitur akses awal. Harap laporkan masalah apa pun yang Anda temui untuk membantu kami meningkatkan!", + "gotIt": "Mengerti", + "dontShowAgain": "Jangan tampilkan lagi" + }, + "modeChange": { + "title": "Konfirmasi Perubahan Mode", + "warning": "Mengubah mode pengelompokan teks akan mereset semua perubahan yang belum disimpan. Anda yakin ingin melanjutkan?", + "cancel": "Batal", + "confirm": "Reset dan Ubah Mode" + }, + "fontAnalysis": { + "details": "Detail Font", + "embedded": "Tertanam", + "type": "Tipe", + "webFormat": "Format Web", + "warnings": "Peringatan", + "suggestions": "Catatan", + "currentPageFonts": "Font pada halaman ini", + "allFonts": "Semua font", + "fallback": "fallback", + "missing": "hilang", + "perfectMessage": "Semua font dapat direproduksi dengan sempurna.", + "warningMessage": "Beberapa font mungkin tidak dirender dengan benar.", + "infoMessage": "Informasi reproduksi font tersedia.", + "perfect": "sempurna", + "subset": "subset" + }, + "errors": { + "invalidJson": "Tidak dapat membaca file JSON. Pastikan file tersebut dihasilkan oleh alat PDF ke JSON.", + "pdfConversion": "Tidak dapat mengonversi JSON yang diedit kembali menjadi PDF." + } + }, + "auth": { + "sessionExpired": "Sesi berakhir", + "pleaseLoginAgain": "Silakan login lagi.", + "accessDenied": "Akses Ditolak", + "insufficientPermissions": "Anda tidak memiliki izin untuk melakukan tindakan ini." + }, + "addText": { + "title": "Tambah Teks", + "header": "Tambahkan teks ke PDF", + "text": { + "name": "Konten teks", + "placeholder": "Masukkan teks yang ingin Anda tambahkan", + "fontLabel": "Font", + "fontSizeLabel": "Ukuran font", + "fontSizePlaceholder": "Ketik atau pilih ukuran font (8-200)", + "colorLabel": "Warna teks" + }, + "steps": { + "configure": "Atur Teks" + }, + "step": { + "createDesc": "Masukkan teks yang ingin Anda tambahkan", + "place": "Tempatkan teks", + "placeDesc": "Klik pada PDF untuk menambahkan teks Anda" + }, + "instructions": { + "title": "Cara menambahkan teks", + "text": "Setelah memasukkan teks di atas, klik di mana saja pada PDF untuk menempatkannya.", + "paused": "Penempatan dijeda", + "resumeHint": "Lanjutkan penempatan lalu klik untuk menambahkan teks Anda.", + "noSignature": "Masukkan teks di atas untuk mengaktifkan penempatan." + }, + "mode": { + "move": "Pindahkan Teks", + "place": "Tempatkan Teks", + "pause": "Jeda penempatan", + "resume": "Lanjutkan penempatan" + }, + "results": { + "title": "Hasil Tambah Teks" + }, + "error": { + "failed": "Terjadi kesalahan saat menambahkan teks ke PDF." + }, + "tags": "teks, anotasi, label", + "applySignatures": "Terapkan Teks" } } \ No newline at end of file diff --git a/frontend/public/locales/it-IT/translation.json b/frontend/public/locales/it-IT/translation.json index 75023574d..1a4f32ba9 100644 --- a/frontend/public/locales/it-IT/translation.json +++ b/frontend/public/locales/it-IT/translation.json @@ -17,6 +17,8 @@ "comingSoon": "In arrivo:", "favorite": "Aggiungi ai preferiti", "favorites": "Preferiti", + "unavailable": "Disabilitato dall'amministratore del server:", + "unavailableDependency": "Non disponibile - strumento richiesto mancante sul server:", "heading": "Tutti gli strumenti (vista a schermo intero)", "noResults": "Prova a modificare la ricerca o attiva/disattiva le descrizioni per trovare ciò che ti serve.", "recommended": "Consigliato", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Passa alla modalità a schermo intero", "sidebar": "Passa alla modalità barra laterale" - } + }, + "alpha": "Alpha", + "premiumFeature": "Funzione Premium:", + "comingSoon": "In arrivo:" }, "unsavedChanges": "Hai modifiche non salvate al tuo PDF. Cosa vuoi fare?", "areYouSure": "Sei sicuro di voler uscire?", @@ -41,6 +46,30 @@ "cancel": "Annulla", "confirm": "Estrai" }, + "defaultApp": { + "title": "Imposta come app PDF predefinita", + "message": "Vuoi impostare Stirling PDF come editor PDF predefinito?", + "description": "Puoi cambiarlo in seguito nelle impostazioni di sistema.", + "notNow": "Non ora", + "setDefault": "Imposta predefinito", + "dismiss": "Ignora", + "prompt": { + "title": "Imposta come editor PDF predefinito", + "message": "Rendi Stirling PDF l'app predefinita per aprire i file PDF." + }, + "success": { + "title": "App predefinita impostata", + "message": "Stirling PDF è ora il tuo editor PDF predefinito" + }, + "settingsOpened": { + "title": "Impostazioni aperte", + "message": "Seleziona Stirling PDF nelle impostazioni di sistema" + }, + "error": { + "title": "Errore", + "message": "Impossibile impostare il gestore PDF predefinito" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Salva", "saveToBrowser": "Salva nel browser", "download": "Salva", + "downloadUnavailable": "Download non disponibile per questo elemento", + "saveUnavailable": "Salvataggio non disponibile per questo elemento", "pin": "Blocca file (mantieni attivo dopo l'esecuzione dello strumento)", "unpin": "Sblocca file (sostituisci dopo l'esecuzione dello strumento)", "undoOperationTooltip": "Clicca per annullare l’ultima operazione e ripristinare i file originali", @@ -168,6 +199,7 @@ }, "edit": "Modifica", "delete": "Elimina", + "never": "Mai", "username": "Nome utente", "password": "Password", "welcome": "Benvenuto", @@ -262,7 +294,8 @@ "learnMore": "Scopri di più", "enable": "Abilita analytics", "disable": "Disabilita analytics", - "settings": "È possibile modificare le impostazioni per analitycs nel file config/settings.yml" + "settings": "È possibile modificare le impostazioni per analitycs nel file config/settings.yml", + "privacyAssurance": "Non tracciamo informazioni personali né il contenuto dei tuoi file." }, "navbar": { "favorite": "Preferiti", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Impostazioni", - "update": "Aggiornamento disponibile", - "updateAvailable": "{0} è la versione attualmente installata. Una nuova versione ({1}) è disponibile.", - "appVersion": "Versione App:", - "downloadOption": { - "title": "Scegli opzione di download (Per file singoli non compressi):", - "1": "Apri in questa finestra", - "2": "Apri in una nuova finestra", - "3": "Scarica file" - }, - "zipThreshold": "Comprimi file in .zip quando il numero di download supera", - "signOut": "Logout", - "accountSettings": "Impostazioni Account", - "bored": { - "help": "Abilita easter egg game" - }, - "cacheInputs": { - "name": "Salva gli input del modulo", - "help": "Abilitare per memorizzare gli input utilizzati in precedenza per esecuzioni future" + "connection": { + "title": "Modalità di connessione", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Self-hosted" + }, + "server": "Server", + "user": "Connesso come", + "logout": "Esci" }, "general": { "title": "Generale", "description": "Configura le preferenze generali dell'applicazione.", - "account": "Account", - "accountDescription": "Gestisci le impostazioni del tuo account", "user": "Utente", - "signedInAs": "Accesso effettuato come", "logout": "Esci", "enableFeatures": { + "dismiss": "Ignora", "title": "Per gli amministratori di sistema", "intro": "Abilita autenticazione utente, gestione dei team e funzionalità dell'area di lavoro per la tua organizzazione.", "action": "Configura", "and": "e", "benefit": "Abilita ruoli utente, collaborazione in team, controlli admin e funzionalità enterprise.", - "learnMore": "Scopri di più nella documentazione", - "dismiss": "Ignora" + "learnMore": "Scopri di più nella documentazione" }, - "autoUnzip": "Decompressione automatica delle risposte API", - "autoUnzipDescription": "Estrai automaticamente i file dalle risposte ZIP", - "autoUnzipTooltip": "Estrae automaticamente i file ZIP restituiti dalle operazioni API. Disabilita per mantenere intatti i file ZIP. Questo non influisce sui flussi di automazione.", - "autoUnzipFileLimit": "Limite di decompressione automatica", - "autoUnzipFileLimitDescription": "Numero massimo di file da estrarre dallo ZIP", - "autoUnzipFileLimitTooltip": "Decomprimi solo se lo ZIP contiene questo numero di file o meno. Imposta un valore più alto per estrarre ZIP più grandi.", "defaultToolPickerMode": "Modalità predefinita selettore strumenti", "defaultToolPickerModeDescription": "Scegli se il selettore strumenti si apre di default a schermo intero o nella barra laterale", "mode": { - "fullscreen": "Schermo intero", - "sidebar": "Barra laterale" - } + "sidebar": "Barra laterale", + "fullscreen": "Schermo intero" + }, + "autoUnzipTooltip": "Estrae automaticamente i file ZIP restituiti dalle operazioni API. Disabilita per mantenere intatti i file ZIP. Questo non influisce sui flussi di automazione.", + "autoUnzip": "Decompressione automatica delle risposte API", + "autoUnzipDescription": "Estrai automaticamente i file dalle risposte ZIP", + "autoUnzipFileLimitTooltip": "Decomprimi solo se lo ZIP contiene questo numero di file o meno. Imposta un valore più alto per estrarre ZIP più grandi.", + "autoUnzipFileLimit": "Limite di decompressione automatica", + "autoUnzipFileLimitDescription": "Numero massimo di file da estrarre dallo ZIP", + "defaultPdfEditor": "Editor PDF predefinito", + "defaultPdfEditorActive": "Stirling PDF è il tuo editor PDF predefinito", + "defaultPdfEditorInactive": "Un'altra applicazione è impostata come predefinita", + "defaultPdfEditorChecking": "Verifica...", + "defaultPdfEditorSet": "Già predefinito", + "setAsDefault": "Imposta come predefinito", + "updates": { + "title": "Aggiornamenti software", + "description": "Controlla aggiornamenti e visualizza informazioni sulla versione", + "currentVersion": "Versione attuale", + "latestVersion": "Ultima versione", + "checkForUpdates": "Controlla aggiornamenti", + "viewDetails": "Vedi dettagli" + }, + "hideUnavailableTools": "Nascondi strumenti non disponibili", + "hideUnavailableToolsDescription": "Rimuovi gli strumenti disabilitati dal tuo server invece di mostrarli in grigio.", + "hideUnavailableConversions": "Nascondi conversioni non disponibili", + "hideUnavailableConversionsDescription": "Rimuovi le opzioni di conversione disabilitate nello strumento Converti invece di mostrarle in grigio." }, "hotkeys": { - "title": "Scorciatoie da tastiera", - "description": "Passa il mouse su uno strumento per vedere la sua scorciatoia o personalizzala qui sotto. Clicca \"Modifica scorciatoia\" e premi una nuova combinazione di tasti. Premi Esc per annullare.", - "errorModifier": { - "mac": "Includi ⌘ (Command), ⌥ (Option) o un altro modificatore nella tua scorciatoia.", - "windows": "Includi Ctrl, Alt o un altro modificatore nella tua scorciatoia." - }, "errorConflict": "Scorciatoia già usata da {{tool}}.", + "searchPlaceholder": "Cerca strumenti...", "none": "Non assegnata", "customBadge": "Personalizzata", "defaultLabel": "Predefinito: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Modifica scorciatoia", "reset": "Reimposta", "shortcut": "Scorciatoia", - "noShortcut": "Nessuna scorciatoia impostata", - "searchPlaceholder": "Cerca strumenti..." + "noShortcut": "Nessuna scorciatoia impostata" } }, + "update": { + "modalTitle": "Aggiornamento disponibile", + "current": "Versione attuale", + "latest": "Ultima versione", + "latestStable": "Ultima stabile", + "priorityLabel": "Priorità", + "recommendedAction": "Azione consigliata", + "breakingChangesDetected": "Rilevate modifiche incompatibili", + "breakingChangesMessage": "Alcune versioni contengono modifiche incompatibili. Consulta le guide di migrazione qui sotto prima di aggiornare.", + "migrationGuides": "Guide di migrazione", + "viewGuide": "Vedi guida", + "loadingDetailedInfo": "Caricamento informazioni dettagliate...", + "close": "Chiudi", + "viewAllReleases": "Vedi tutte le versioni", + "downloadLatest": "Scarica l'ultima", + "availableUpdates": "Aggiornamenti disponibili", + "unableToLoadDetails": "Impossibile caricare informazioni dettagliate.", + "version": "Versione", + "urgentUpdateAvailable": "Aggiornamento urgente", + "updateAvailable": "Aggiornamento disponibile", + "releaseNotes": "Note di rilascio", + "priority": { + "urgent": "Urgente", + "normal": "Normale", + "minor": "Minore", + "low": "Bassa" + }, + "breakingChanges": "Modifiche incompatibili", + "breakingChangesDefault": "Questa versione contiene modifiche incompatibili.", + "migrationGuide": "Guida di migrazione" + }, "changeCreds": { "title": "Cambia credenziali", "header": "Aggiorna i dettagli del tuo account", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Sovrapponi un PDF sopra un altro", "title": "Sovrapponi PDF" + }, + "pdfTextEditor": { + "title": "Editor testo PDF", + "desc": "Rivedi e modifica le esportazioni JSON di Stirling PDF con modifica testo raggruppata e rigenerazione del PDF" + }, + "addText": { + "tags": "testo,annotazione,etichetta", + "title": "Aggiungi testo", + "desc": "Aggiungi testo personalizzato ovunque nel tuo PDF" } }, "landing": { "addFiles": "Aggiungi file", - "uploadFromComputer": "Carica dal computer" + "uploadFromComputer": "Carica dal computer", + "openFromComputer": "Apri dal computer" }, "viewPdf": { "tags": "visualizzare,leggere,annotare,testo,immagine", @@ -849,6 +922,11 @@ }, "error": { "failed": "Si è verificato un errore durante l’unione dei PDF." + }, + "tooltip": { + "header": { + "title": "Panoramica impostazioni unione" + } } }, "split": { @@ -1182,9 +1260,43 @@ "tags": "img,jpg,immagine,foto", "title": "Aggiungi Immagine", "header": "Aggiungi un'immagine ad un PDF", - "everyPage": "Ogni pagina?", - "upload": "Aggiungi immagine", - "submit": "Aggiungi immagine" + "image": { + "name": "Immagine", + "placeholder": "Carica un'immagine", + "label": "File immagine" + }, + "steps": { + "configure": "Configura immagine" + }, + "step": { + "createDesc": "Carica l'immagine che vuoi aggiungere", + "place": "Posiziona immagine", + "placeDesc": "Clicca sul PDF per aggiungere la tua immagine" + }, + "instructions": { + "title": "Come aggiungere immagini", + "text": "Dopo aver caricato l'immagine sopra, clicca in un punto del PDF per posizionarla.", + "paused": "Posizionamento in pausa", + "resumeHint": "Riprendi il posizionamento per cliccare e aggiungere la tua immagine.", + "noSignature": "Carica un'immagine sopra per abilitare il posizionamento." + }, + "mode": { + "move": "Sposta immagine", + "place": "Posiziona immagine", + "pause": "Metti in pausa posizionamento", + "resume": "Riprendi posizionamento" + }, + "results": { + "title": "Risultati aggiunta immagine" + }, + "error": { + "failed": "Si è verificato un errore durante l'aggiunta dell'immagine al PDF." + }, + "saved": { + "defaultLabel": "Immagine", + "defaultImageLabel": "Immagine caricata" + }, + "applySignatures": "Applica immagini" }, "attachments": { "tags": "incorporare,allegare,file,allegato,allegati", @@ -1397,6 +1509,93 @@ }, "submit": "Cambia Permessi" }, + "editTableOfContents": { + "settings": { + "title": "Segnalibri e struttura", + "replaceExisting": "Sostituisci i segnalibri esistenti (deseleziona per accodare)", + "replaceExistingHint": "Se disabilitato, la nuova struttura viene aggiunta dopo gli attuali segnalibri." + }, + "actions": { + "source": "Carica segnalibri", + "selectedFile": "Caricato da {{file}}", + "noFile": "Seleziona un PDF da cui estrarre i segnalibri esistenti.", + "loadFromPdf": "Carica dal PDF selezionato", + "importJson": "Importa JSON", + "importClipboard": "Incolla JSON dagli appunti", + "export": "Esporta segnalibri", + "exportJson": "Scarica JSON", + "exportClipboard": "Copia JSON negli appunti", + "clipboardUnavailable": "L'accesso agli appunti non è disponibile in questo browser." + }, + "info": { + "line1": "Ogni segnalibro richiede un titolo descrittivo e la pagina da aprire.", + "line2": "Usa segnalibri figli per creare una gerarchia per capitoli, sezioni o sottosezioni.", + "line3": "Importa segnalibri dal PDF selezionato o da un file JSON per risparmiare tempo." + }, + "workbench": { + "empty": { + "title": "Apri lo strumento per iniziare a modificare", + "description": "Seleziona lo strumento Modifica sommario per caricare la sua area di lavoro." + }, + "tabTitle": "Area struttura", + "subtitle": "Importa segnalibri, crea gerarchie e applica la struttura senza pannelli laterali affollati.", + "noFile": "Nessun PDF selezionato", + "fileLabel": "Le modifiche verranno applicate al PDF attualmente selezionato.", + "filePrompt": "Seleziona un PDF dalla tua libreria o caricane uno nuovo per iniziare.", + "changeFile": "Cambia PDF", + "selectFile": "Seleziona PDF" + }, + "editor": { + "heading": "Editor segnalibri", + "description": "Aggiungi, nidifica e riordina i segnalibri per creare la struttura del tuo PDF.", + "addTopLevel": "Aggiungi segnalibro di primo livello", + "empty": { + "title": "Ancora nessun segnalibro", + "description": "Importa segnalibri esistenti o inizia aggiungendo la tua prima voce.", + "action": "Aggiungi primo segnalibro" + }, + "defaultTitle": "Nuovo segnalibro", + "defaultChildTitle": "Segnalibro figlio", + "defaultSiblingTitle": "Nuovo segnalibro", + "untitled": "Segnalibro senza titolo", + "childBadge": "Figlio", + "pagePreview": "Pagina {{page}}", + "field": { + "title": "Titolo segnalibro", + "page": "Numero pagina di destinazione" + }, + "actions": { + "toggle": "Mostra/Nascondi figli", + "addChild": "Aggiungi segnalibro figlio", + "addSibling": "Aggiungi segnalibro fratello", + "remove": "Rimuovi segnalibro" + }, + "confirmRemove": "Rimuovere questo segnalibro e tutti i suoi figli?" + }, + "messages": { + "loadedTitle": "Segnalibri estratti", + "loadedBody": "I segnalibri esistenti dal PDF sono stati caricati nell'editor.", + "noBookmarks": "Nessun segnalibro trovato nel PDF selezionato.", + "loadFailed": "Impossibile estrarre i segnalibri dal PDF selezionato.", + "imported": "Segnalibri importati", + "importedBody": "La tua struttura JSON ha sostituito il contenuto attuale dell'editor.", + "importedClipboard": "I dati degli appunti hanno sostituito l'elenco corrente di segnalibri.", + "invalidJson": "Struttura JSON non valida", + "invalidJsonBody": "Fornisci un file JSON di segnalibri valido e riprova.", + "exported": "Download JSON pronto", + "copied": "Copiato negli appunti", + "copiedBody": "JSON dei segnalibri copiato correttamente.", + "copyFailed": "Copia non riuscita" + }, + "error": { + "failed": "Impossibile aggiornare il sommario" + }, + "submit": "Applica sommario", + "results": { + "title": "PDF aggiornato con segnalibri", + "subtitle": "Scarica il file elaborato o annulla l'operazione qui sotto." + } + }, "removePages": { "tags": "Rimuovere pagine,eliminare pagine", "title": "Rimuovi", @@ -1978,13 +2177,54 @@ "title": "Disegna la tua firma", "clear": "Cancella" }, + "canvas": { + "heading": "Disegna la tua firma", + "clickToOpen": "Clicca per aprire l'area di disegno", + "modalTitle": "Disegna la tua firma", + "colorLabel": "Colore", + "penSizeLabel": "Dimensione penna", + "penSizePlaceholder": "Dimensione", + "clear": "Pulisci area di disegno", + "colorPickerTitle": "Scegli il colore del tratto" + }, "text": { "name": "Nome firmatario", - "placeholder": "Inserisci il tuo nome completo" + "placeholder": "Inserisci il tuo nome completo", + "fontLabel": "Font", + "fontSizeLabel": "Dimensione font", + "fontSizePlaceholder": "Digita o seleziona la dimensione del font (8-200)", + "colorLabel": "Colore del testo" }, "clear": "Cancella", "add": "Aggiungi", - "saved": "Firme salvate", + "saved": { + "heading": "Firme salvate", + "description": "Riusa le firme salvate in qualsiasi momento.", + "emptyTitle": "Ancora nessuna firma salvata", + "emptyDescription": "Disegna, carica o digita una firma sopra, quindi usa \"Salva in libreria\" per mantenere fino a {{max}} preferiti pronti all'uso.", + "type": { + "canvas": "Disegno", + "image": "Carica", + "text": "Testo" + }, + "limitTitle": "Limite raggiunto", + "limitDescription": "Rimuovi una firma salvata prima di aggiungerne di nuove (max {{max}}).", + "carouselPosition": "{{current}} di {{total}}", + "prev": "Precedente", + "next": "Successivo", + "delete": "Rimuovi", + "label": "Etichetta", + "defaultLabel": "Firma", + "defaultCanvasLabel": "Firma disegnata", + "defaultImageLabel": "Firma caricata", + "defaultTextLabel": "Firma digitata", + "saveButton": "Salva firma", + "saveUnavailable": "Crea prima una firma per salvarla.", + "noChanges": "La firma corrente è già salvata.", + "status": { + "saved": "Salvata" + } + }, "save": "Firma salvata", "applySignatures": "Applica firme", "personalSigs": "Firme personali", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Configura firma" }, + "step": { + "createDesc": "Scegli come vuoi creare la firma", + "place": "Posiziona e salva", + "placeDesc": "Posiziona la firma sul tuo PDF" + }, "type": { "title": "Tipo di firma", "draw": "Disegna", - "canvas": "Canvas", + "canvas": "Disegno", "image": "Immagine", - "text": "Testo" + "text": "Testo", + "saved": "Salvate" }, "image": { "label": "Carica immagine firma", @@ -2019,11 +2265,17 @@ "title": "Come aggiungere la firma", "canvas": "Dopo aver disegnato la tua firma nel canvas, chiudi la finestra quindi clicca in un punto del PDF per posizionarla.", "image": "Dopo aver caricato l'immagine della firma sopra, clicca in un punto del PDF per posizionarla.", - "text": "Dopo aver inserito il tuo nome sopra, clicca in un punto del PDF per inserire la tua firma." + "saved": "Seleziona una firma salvata sopra, poi clicca ovunque sul PDF per posizionarla.", + "text": "Dopo aver inserito il tuo nome sopra, clicca in un punto del PDF per inserire la tua firma.", + "paused": "Posizionamento in pausa", + "resumeHint": "Riprendi il posizionamento per cliccare e aggiungere la tua firma.", + "noSignature": "Crea una firma sopra per abilitare gli strumenti di posizionamento." }, "mode": { "move": "Sposta firma", - "place": "Posiziona firma" + "place": "Posiziona firma", + "pause": "Metti in pausa posizionamento", + "resume": "Riprendi posizionamento" }, "updateAndPlace": "Aggiorna e posiziona", "activate": "Attiva posizionamento firma", @@ -2163,6 +2415,14 @@ "title": "Informazioni su Rimuovi annotazioni", "description": "Questo strumento rimuoverà tutte le annotazioni (commenti, evidenziazioni, note, ecc.) dai tuoi documenti PDF." }, + "tooltip": { + "header": { + "title": "Informazioni su Rimuovi annotazioni" + }, + "description": { + "title": "Cosa fa" + } + }, "error": { "failed": "Si è verificato un errore durante la rimozione delle annotazioni dal PDF." } @@ -2627,6 +2887,9 @@ "header": { "title": "Come funziona Rinomina Automatica" }, + "description": { + "title": "Cosa fa" + }, "howItWorks": { "title": "Rinomina intelligente", "text": "Trova automaticamente il titolo dal contenuto del PDF e lo usa come nome file.", @@ -2634,6 +2897,9 @@ "bullet2": "Crea un nome file pulito e valido dal titolo rilevato", "bullet3": "Mantiene il nome originale se non trova un titolo adatto" } + }, + "settings": { + "title": "Informazioni" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "Errore imprevisto: {{message}}", "accountCreatedSuccess": "Account creato con successo! Ora puoi accedere.", "passwordChangedSuccess": "Password modificata con successo! Accedi con la nuova password.", - "credentialsUpdated": "Le tue credenziali sono state aggiornate. Accedi di nuovo." + "credentialsUpdated": "Le tue credenziali sono state aggiornate. Accedi di nuovo.", + "defaultCredentials": "Credenziali di accesso predefinite", + "changePasswordWarning": "Modifica la password dopo il primo accesso", + "slides": { + "overview": { + "alt": "Panoramica di Stirling PDF", + "title": "La soluzione unica per tutte le tue esigenze PDF.", + "subtitle": "Suite cloud incentrata sulla privacy per PDF che ti permette di convertire, firmare, oscurare e gestire documenti, con oltre 50 strumenti potenti." + }, + "edit": { + "alt": "Modifica PDF", + "title": "Modifica i PDF per mostrare/proteggere le informazioni che desideri", + "subtitle": "Con oltre una dozzina di strumenti per oscurare, firmare, leggere e manipolare i PDF, troverai sicuramente ciò che cerchi." + }, + "secure": { + "alt": "Proteggi i PDF", + "title": "Proteggi le informazioni sensibili nei tuoi PDF", + "subtitle": "Aggiungi password, oscura contenuti e gestisci i certificati con facilità." + } + } }, "signup": { "title": "Crea un account", @@ -3598,7 +3883,9 @@ "exportAll": "Esporta PDF", "downloadSelected": "Scarica file selezionati", "downloadAll": "Scarica tutto", + "saveAll": "Salva tutto", "toggleTheme": "Cambia tema", + "toggleBookmarks": "Mostra/Nascondi segnalibri", "language": "Lingua", "search": "Cerca nel PDF", "panMode": "Modalità mano", @@ -3685,8 +3972,16 @@ "saved": "Impostazioni salvate con successo", "saveSuccess": "Impostazioni salvate con successo", "save": "Salva modifiche", + "discard": "Scarta", "restartRequired": "Riavvio richiesto", "loginRequired": "La modalità di accesso deve essere abilitata per modificare le impostazioni di amministrazione", + "unsavedChanges": { + "title": "Modifiche non salvate", + "message": "Hai modifiche non salvate. Vuoi scartarle?", + "cancel": "Continua a modificare", + "discard": "Scarta modifiche", + "hint": "Hai modifiche non salvate" + }, "loginDisabled": { "title": "Modalità di accesso richiesta", "message": "La modalità di accesso deve essere abilitata per modificare le impostazioni di amministrazione. Imposta SECURITY_ENABLELOGIN=true nel tuo ambiente o security.enableLogin: true in settings.yml, quindi riavvia il server.", @@ -3947,7 +4242,7 @@ "description": "Il provider OAuth2 da utilizzare per l'autenticazione" }, "issuer": { - "label": "Issuer URL", + "label": "URL dell'Issuer", "description": "L'URL emittente del provider OAuth2" }, "clientId": { @@ -3986,7 +4281,7 @@ "description": "Il nome del provider SAML2" }, "registrationId": { - "label": "Registration ID", + "label": "ID di registrazione", "description": "L'identificatore di registrazione SAML2" }, "autoCreateUser": { @@ -4132,12 +4427,12 @@ "description": "Tempo massimo di esecuzione" }, "libreOffice": "LibreOffice", - "pdfToHtml": "PDF to HTML", + "pdfToHtml": "PDF in HTML", "qpdf": "QPDF", "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", "weasyPrint": "WeasyPrint", - "installApp": "Install App", + "installApp": "Installa app", "calibre": "Calibre", "ghostscript": "Ghostscript", "ocrMyPdf": "OCRmyPDF" @@ -4192,7 +4487,7 @@ "description": "URL o nome file dei termini e condizioni" }, "privacyPolicy": { - "label": "Privacy Policy", + "label": "Informativa sulla privacy", "description": "URL o nome file della privacy policy" }, "accessibilityStatement": { @@ -4200,7 +4495,7 @@ "description": "URL o nome file della dichiarazione di accessibilità" }, "cookiePolicy": { - "label": "Cookie Policy", + "label": "Informativa sui cookie", "description": "URL o nome file della cookie policy" }, "impressum": { @@ -4212,9 +4507,21 @@ "title": "Premium e Enterprise", "description": "Configura la tua chiave di licenza premium o enterprise.", "license": "Configurazione licenza", + "licenseKey": { + "toggle": "Hai una chiave di licenza o un file di certificato?", + "info": "Se hai una chiave di licenza o un file di certificato da un acquisto diretto, inseriscilo qui per attivare le funzionalità premium o enterprise." + }, "key": { "label": "Chiave di licenza", - "description": "Inserisci la tua chiave di licenza premium o enterprise" + "description": "Inserisci la tua chiave di licenza premium o enterprise", + "success": "Chiave di licenza salvata", + "successMessage": "La tua chiave di licenza è stata attivata correttamente. Nessun riavvio richiesto.", + "overwriteWarning": { + "title": "⚠️ Attenzione: licenza esistente rilevata", + "line1": "La sovrascrittura della licenza attuale non può essere annullata.", + "line2": "La tua licenza precedente andrà persa in modo permanente a meno che tu non l'abbia salvata altrove.", + "line3": "Importante: mantieni le chiavi di licenza private e sicure. Non condividerle mai pubblicamente." + } }, "enabled": { "label": "Abilita funzionalità Premium", @@ -4278,12 +4585,17 @@ "or": "o", "dropFileHere": "Rilascia qui il file o clicca per caricare", "dropFilesHere": "Rilascia qui i file o clicca il pulsante di upload", + "dropFilesHereOpen": "Rilascia i file qui o fai clic sul pulsante Apri", "pdfFilesOnly": "Solo file PDF", "supportedFileTypes": "Tipi di file supportati", "upload": "Carica", "uploadFile": "Carica file", "uploadFiles": "Carica file", + "open": "Apri", + "openFile": "Apri file", + "openFiles": "Apri file", "noFilesInStorage": "Nessun file disponibile in archivio. Caricane alcuni prima.", + "noFilesInStorageOpen": "Nessun file disponibile nell'archivio. Apri prima alcuni file.", "selectFromStorage": "Seleziona dall’archiviazione", "backToTools": "Torna agli strumenti", "addFiles": "Aggiungi file", @@ -4329,6 +4641,8 @@ "myFiles": "I miei file", "noRecentFiles": "Nessun file recente trovato", "googleDriveNotAvailable": "Integrazione Google Drive non disponibile", + "downloadSelected": "Scarica selezionati", + "saveSelected": "Salva selezionati", "openFiles": "Apri file", "openFile": "Apri file", "details": "Dettagli file", @@ -4341,7 +4655,6 @@ "selectAll": "Seleziona tutto", "deselectAll": "Deseleziona tutto", "deleteSelected": "Elimina selezionata", - "downloadSelected": "Scarica selezionati", "selectedCount": "{{count}} selezionati", "download": "Salva", "delete": "Elimina", @@ -4621,9 +4934,14 @@ "secureWorkflow": "Flusso di Sicurezza", "secureWorkflowDesc": "Protegge i documenti PDF rimuovendo contenuti potenzialmente malevoli come JavaScript e file incorporati, quindi aggiunge la protezione con password per impedire accessi non autorizzati. La password predefinita è 'password'.", "processImages": "Elabora Immagini", - "processImagesDesc": "Converte più file immagine in un unico documento PDF, quindi applica la tecnologia OCR per estrarre testo ricercabile dalle immagini." + "processImagesDesc": "Converte più file immagine in un unico documento PDF, quindi applica la tecnologia OCR per estrarre testo ricercabile dalle immagini.", + "prePublishSanitization": "Sanificazione pre-pubblicazione", + "prePublishSanitizationDesc": "Workflow di sanificazione che rimuove tutti i metadati nascosti, JavaScript, file incorporati, annotazioni e appiattisce i moduli per prevenire fughe di dati prima di pubblicare PDF online." } }, + "colorPicker": { + "title": "Scegli il colore" + }, "common": { "previous": "Precedente", "next": "Successivo", @@ -4639,7 +4957,13 @@ "used": "usati", "available": "disponibili", "cancel": "Annulla", - "preview": "Anteprima" + "preview": "Anteprima", + "close": "Chiudi", + "done": "Fatto", + "loading": "Caricamento...", + "back": "Indietro", + "continue": "Continua", + "error": "Errore" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Aggiungi altri file...", "selectedFiles": "File selezionati", "submit": "Aggiungi allegati", + "tooltip": { + "header": { + "title": "Informazioni su Aggiungi allegati" + }, + "description": { + "title": "Cosa fa" + } + }, "results": { "title": "Risultati allegati" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Posizione personalizzata", "details": "Dettagli", - "downloadUnavailable": "Download non disponibile per questo elemento", "invalidUndoData": "Impossibile annullare: dati operazione non validi", "margin": { "large": "Grande", @@ -4801,6 +5132,10 @@ "maybeLater": "Magari più tardi", "dontShowAgain": "Non mostrare più" }, + "welcomeSlide": { + "title": "Benvenuto in Stirling", + "body": "Stirling PDF è ora pronto per team di tutte le dimensioni. Questo aggiornamento include un nuovo layout, potenti nuove funzionalità admin e la funzione più richiesta - Modifica testo." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Selezioniamo lo strumento Ritaglia per mostrare come usarne uno.", "toolInterface": "Questa è l'interfaccia dello strumento Ritaglia. Come vedi, non c'è molto perché non abbiamo ancora aggiunto file PDF su cui lavorare.", @@ -4823,7 +5158,39 @@ "next": "Successivo", "finish": "Fine", "startTour": "Avvia tour", - "startTourDescription": "Fai un tour guidato delle funzioni chiave di Stirling PDF" + "startTourDescription": "Fai un tour guidato delle funzioni chiave di Stirling PDF", + "buttons": { + "next": "Avanti →", + "back": "Indietro", + "skipForNow": "Salta per ora", + "download": "Scarica →", + "showMeAround": "Fammi fare un tour", + "skipTheTour": "Salta il tour" + }, + "serverLicense": { + "skip": "Salta per ora", + "seePlans": "Vedi piani →", + "upgrade": "Esegui upgrade ora →", + "freeTitle": "Licenza server", + "overLimitTitle": "Licenza server necessaria", + "overLimitBody": "La nostra licenza consente fino a {{freeTierLimit}} utenti gratuiti per server. Hai {{overLimitUserCopy}} utenti Stirling. Per continuare senza interruzioni, esegui l'upgrade al piano Stirling Server - posti illimitati, modifica del testo PDF e pieno controllo admin a $99/server/mese.", + "freeBody": "La nostra licenza Open-Core consente fino a {{freeTierLimit}} utenti gratuiti per server. Per scalare senza interruzioni e ottenere accesso anticipato al nuovo strumento di modifica testo PDF, consigliamo il piano Stirling Server - modifica completa e posti illimitati a $99/server/mese." + }, + "desktopInstall": { + "title": "Download", + "titleWithOs": "Download per {{osLabel}}", + "body": "Stirling funziona al meglio come app desktop. Puoi usarla offline, accedere più velocemente ai documenti e modificare localmente sul tuo computer." + }, + "planOverview": { + "adminTitle": "Panoramica admin", + "userTitle": "Panoramica piano", + "adminBodyLoginEnabled": "Come admin, puoi gestire utenti, configurare impostazioni e monitorare lo stato del server. Le prime {{freeTierLimit}} persone sul tuo server possono usare Stirling gratuitamente.", + "adminBodyLoginDisabled": "Una volta abilitata la modalità login, potrai gestire utenti, configurare impostazioni e monitorare lo stato del server. Le prime {{freeTierLimit}} persone sul tuo server possono usare Stirling gratuitamente.", + "userBody": "Invita i colleghi, assegna ruoli e tieni i documenti organizzati in un unico spazio di lavoro sicuro. Abilita la modalità login quando sei pronto a crescere oltre l'uso individuale." + }, + "securityCheck": { + "message": "L'applicazione ha subito cambiamenti significativi di recente. Potrebbe essere necessaria l'attenzione dell'amministratore del server. Conferma il tuo ruolo per continuare." + } }, "adminOnboarding": { "welcome": "Benvenuto nel Tour Admin! Esploriamo le potenti funzionalità enterprise e le impostazioni disponibili per gli amministratori di sistema.", @@ -4852,7 +5219,10 @@ "role": "Ruolo", "team": "Team", "status": "Stato", - "actions": "Azioni", + "actions": { + "label": "Azioni", + "upgrade": "Upgrade" + }, "noMembersFound": "Nessun membro trovato", "active": "Attivo", "disabled": "Disabilitato", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} slot utente disponibili", "noSlotsAvailable": "Nessuno slot disponibile", "currentUsage": "Attualmente in uso {{current}} su {{max}} licenze utente" - } + }, + "loginRequired": "Abilita prima la modalità login" }, "teams": { "title": "Team", @@ -5057,6 +5428,17 @@ "showComparison": "Confronta tutte le funzionalità", "hideComparison": "Nascondi confronto funzionalità", "featureComparison": "Confronto funzionalità", + "from": "Da", + "perMonth": "/mese", + "perSeat": "/posto", + "withServer": "+ Piano Server", + "licensedSeats": "Con licenza: {{count}} posti", + "includedInCurrent": "Incluso nel tuo piano", + "selectPlan": "Seleziona piano", + "manage": "Gestisci", + "manageSubscription": { + "description": "Gestisci abbonamento, fatturazione e metodi di pagamento" + }, "activePlan": { "title": "Piano attivo", "subtitle": "Dettagli del tuo abbonamento attuale" @@ -5074,13 +5456,16 @@ "upTo": "Fino a" }, "period": { - "month": "mese" + "month": "mese", + "perUserPerMonth": "/utente/mese" }, "free": { "name": "Gratis", "highlight1": "Uso limitato degli strumenti a settimana", "highlight2": "Accesso a tutti gli strumenti", - "highlight3": "Supporto della community" + "highlight3": "Supporto della community", + "forever": "Gratis per sempre", + "included": "Incluso" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Prezzi personalizzati", "highlight2": "Supporto dedicato", - "highlight3": "Funzionalità più recenti" + "highlight3": "Funzionalità più recenti", + "requiresServer": "Richiede Server", + "requiresServerMessage": "Esegui prima l'upgrade al piano Server prima di passare a Enterprise." }, "feature": { "title": "Funzionalità", @@ -5102,6 +5489,12 @@ "api": "Accesso API", "priority": "Supporto prioritario", "customPricing": "Prezzi personalizzati" + }, + "licenseWarning": { + "title": "Limite gratuito self-hosted raggiunto", + "body": "Hai {{total}} utenti ma il livello gratuito supporta solo {{limit}} per server. Esegui l'upgrade per mantenere Stirling PDF operativo senza problemi.", + "overLimit": "più di {{limit}}", + "cta": "Vedi piani" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Gestisci fatturazione", "portal": { "error": "Impossibile aprire il portale di fatturazione" - } + }, + "updateSeats": "Aggiorna posti", + "updateEnterpriseSeats": "Aggiorna posti Enterprise", + "currentSeats": "Posti attuali", + "minimumSeats": "Posti minimi", + "basedOnUsers": "(utenti attuali)", + "newSeatCount": "Nuovo numero di posti", + "newSeatCountDescription": "Seleziona il numero di posti per la tua licenza Enterprise", + "whatHappensNext": "Cosa succede dopo?", + "stripePortalRedirect": "Verrai reindirizzato al portale di fatturazione di Stripe per rivedere e confermare la modifica dei posti. L'importo proporzionato sarà calcolato automaticamente.", + "preparingUpdate": "Preparazione aggiornamento posti...", + "seatCountTooLow": "Il numero di posti deve essere almeno {{minimum}} (utenti attuali)", + "seatCountUnchanged": "Seleziona un numero di posti diverso", + "seatsUpdated": "Posti aggiornati", + "seatsUpdatedMessage": "I posti Enterprise sono stati aggiornati a {{seats}}", + "updateProcessing": "Aggiornamento in elaborazione", + "updateProcessingMessage": "L'aggiornamento dei posti è in elaborazione. Aggiorna tra qualche istante.", + "notEnterprise": "La gestione dei posti è disponibile solo per licenze Enterprise" + }, + "upgradeBanner": { + "title": "Aggiorna al piano Server", + "message": "Ottieni il massimo da Stirling PDF con utenti illimitati e funzionalità avanzate", + "upgradeButton": "Esegui upgrade ora", + "dismiss": "Ignora banner", + "attentionTitle": "Questo server richiede attenzione dell'admin", + "attentionBody": "Il tuo admin deve accedere per vedere più informazioni. Contattalo immediatamente.", + "attentionBodyAdmin": "Verifica i requisiti di licenza per mantenere questo server conforme.", + "seeInfo": "Vedi info" }, "payment": { "preparing": "Preparazione del checkout...", @@ -5128,7 +5548,61 @@ "success": "Pagamento riuscito!", "successMessage": "Il tuo abbonamento è stato attivato con successo. Riceverai a breve un'email di conferma.", "autoClose": "Questa finestra si chiuderà automaticamente...", - "error": "Errore di pagamento" + "error": "Errore di pagamento", + "upgradeSuccess": "Pagamento riuscito! Il tuo abbonamento è stato aggiornato. La licenza è stata aggiornata sul tuo server. Riceverai a breve un'email di conferma.", + "paymentSuccess": "Pagamento riuscito! Recupero della tua chiave di licenza...", + "licenseActivated": "Licenza attivata! La tua chiave di licenza è stata salvata. È stata inviata un'email di conferma al tuo indirizzo registrato.", + "licenseDelayed": "Pagamento riuscito! La tua licenza è in fase di generazione. Riceverai a breve un'email con la chiave di licenza. Se non la ricevi entro 10 minuti, contatta il supporto.", + "licensePollingError": "Pagamento riuscito ma non siamo riusciti a recuperare automaticamente la tua chiave di licenza. Controlla l'email o contatta il supporto con la conferma di pagamento.", + "licenseRetrievalError": "Pagamento riuscito ma il recupero della licenza non è riuscito. Riceverai la chiave di licenza via email. Contatta il supporto se non la ricevi entro 10 minuti.", + "syncError": "Pagamento riuscito ma la sincronizzazione della licenza non è riuscita. La tua licenza sarà aggiornata a breve. Contatta il supporto se i problemi persistono.", + "licenseSaveError": "Impossibile salvare la chiave di licenza. Contatta il supporto con la tua chiave di licenza per completare l'attivazione.", + "paymentCanceled": "Pagamento annullato. Nessun addebito effettuato.", + "syncingLicense": "Sincronizzazione della licenza aggiornata...", + "generatingLicense": "Generazione della chiave di licenza...", + "upgradeComplete": "Upgrade completato", + "upgradeCompleteMessage": "Il tuo abbonamento è stato aggiornato correttamente. La chiave di licenza esistente è stata aggiornata.", + "stripeNotConfigured": "Stripe non configurato", + "stripeNotConfiguredMessage": "L'integrazione dei pagamenti Stripe non è configurata. Contatta il tuo amministratore.", + "monthly": "Mensile", + "yearly": "Annuale", + "billingPeriod": "Periodo di fatturazione", + "enterpriseNote": "I posti possono essere modificati al checkout (1-1000).", + "installationId": "ID installazione", + "licenseKey": "La tua chiave di licenza", + "licenseInstructions": "È stata aggiunta alla tua installazione. Riceverai anche una copia via email.", + "canCloseWindow": "Ora puoi chiudere questa finestra.", + "licenseKeyProcessing": "Elaborazione chiave di licenza", + "licenseDelayedMessage": "La tua chiave di licenza è in fase di generazione. Controlla a breve la tua email o contatta il supporto.", + "perYear": "/anno", + "perMonth": "/mese", + "emailInvalid": "Inserisci un indirizzo email valido", + "emailStage": { + "title": "Inserisci la tua email", + "description": "La useremo per inviare la chiave di licenza e le ricevute.", + "emailLabel": "Indirizzo email", + "emailPlaceholder": "tuo@email.com", + "continue": "Continua", + "modalTitle": "Inizia - {{planName}}" + }, + "planStage": { + "title": "Scegli il periodo di fatturazione", + "savingsNote": "Risparmia il {{percent}}% con la fatturazione annuale", + "basePrice": "Prezzo base", + "seatPrice": "Per posto", + "totalForSeats": "Totale ({{count}} posti)", + "selectMonthly": "Seleziona mensile", + "selectYearly": "Seleziona annuale", + "savePercent": "Risparmia {{percent}}%", + "savingsAmount": "Risparmi {{amount}}", + "modalTitle": "Seleziona periodo di fatturazione - {{planName}}", + "billedYearly": "Fatturato annualmente a {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Torna alla selezione piano", + "selectedPlan": "Piano selezionato", + "modalTitle": "Completa il pagamento - {{planName}}" + } }, "firstLogin": { "title": "Primo accesso", @@ -5287,5 +5761,281 @@ "offline": "Backend offline", "starting": "Backend in avvio...", "wait": "Attendi che il backend completi l'avvio e riprova." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Sblocca il PDF per continuare", + "title": "Rimuovi la password per continuare", + "description": "Questo PDF è protetto da password. Inserisci la password per continuare a lavorarci.", + "password": { + "label": "Password PDF", + "placeholder": "Inserisci la password del PDF" + }, + "skip": "Salta per ora", + "unlock": "Sblocca e continua", + "incorrectPassword": "Password errata", + "missingFile": "Il file selezionato non è più disponibile.", + "emptyResponse": "La rimozione della password non ha prodotto alcun file.", + "required": "Inserisci la password per continuare.", + "successTitle": "Password rimossa", + "successBodyWithName": "Password rimossa da {{fileName}}", + "successBody": "Password rimossa con successo." + }, + "setup": { + "welcome": "Benvenuto in Stirling PDF", + "description": "Inizia scegliendo come vuoi usare Stirling PDF", + "step1": { + "label": "Scegli modalità", + "description": "Offline o Server" + }, + "step2": { + "label": "Seleziona server", + "description": "Server self-hosted" + }, + "step3": { + "label": "Login", + "description": "Inserisci credenziali" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Accedi con il tuo account Stirling" + }, + "selfhosted": { + "title": "Server self-hosted", + "description": "Connettiti al tuo server Stirling PDF" + } + }, + "saas": { + "title": "Accedi a Stirling", + "subtitle": "Accedi con il tuo account Stirling" + }, + "selfhosted": { + "title": "Accedi al server", + "subtitle": "Inserisci le credenziali del server" + }, + "server": { + "title": "Connetti al server", + "subtitle": "Inserisci l'URL del tuo server self-hosted", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Server self-hosted" + }, + "url": { + "label": "URL server", + "description": "Inserisci l'URL completo del tuo server Stirling PDF self-hosted" + }, + "error": { + "emptyUrl": "Inserisci un URL del server", + "unreachable": "Impossibile connettersi al server", + "testFailed": "Test di connessione non riuscito" + }, + "testing": "Verifica connessione..." + }, + "login": { + "title": "Accedi", + "subtitle": "Inserisci le credenziali per continuare", + "connectingTo": "Connessione a:", + "username": { + "label": "Nome utente", + "placeholder": "Inserisci il nome utente" + }, + "email": { + "label": "Email", + "placeholder": "Inserisci la tua email" + }, + "password": { + "label": "Password", + "placeholder": "Inserisci la tua password" + }, + "error": { + "emptyUsername": "Inserisci il nome utente", + "emptyEmail": "Inserisci la tua email", + "emptyPassword": "Inserisci la password", + "oauthFailed": "Accesso OAuth non riuscito. Riprova." + }, + "submit": "Login", + "signInWith": "Accedi con", + "oauthPending": "Apertura del browser per l'autenticazione...", + "orContinueWith": "Oppure continua con email" + } + }, + "oauth": { + "success": { + "title": "Autenticazione riuscita", + "message": "Puoi chiudere questa finestra e tornare a Stirling PDF." + }, + "error": { + "title": "Autenticazione non riuscita", + "message": "L'autenticazione non è andata a buon fine. Puoi chiudere questa finestra e riprovare." + } + }, + "pdfTextEditor": { + "title": "Editor JSON PDF", + "viewLabel": "Editor PDF", + "converting": "Conversione del PDF in formato modificabile...", + "conversionFailed": "Conversione del PDF non riuscita. Riprova.", + "currentFile": "File corrente: {{name}}", + "pageSummary": "Pagina {{number}} di {{total}}", + "pagePreviewAlt": "Anteprima pagina", + "imageLabel": "Immagine posizionata", + "noTextOnPage": "Nessun testo modificabile rilevato in questa pagina.", + "pageType": { + "paragraph": "Pagina a paragrafi", + "sparse": "Testo sparso" + }, + "groupingMode": { + "auto": "Auto", + "paragraph": "Paragrafo", + "singleLine": "Riga singola" + }, + "badges": { + "unsaved": "Modificato", + "modified": "Modificato", + "earlyAccess": "Accesso anticipato" + }, + "actions": { + "reset": "Reimposta modifiche", + "downloadJson": "Scarica JSON", + "generatePdf": "Genera PDF" + }, + "options": { + "autoScaleText": { + "title": "Ridimensiona automaticamente il testo alle caselle", + "description": "Ridimensiona orizzontalmente il testo per adattarlo al riquadro originale quando il rendering dei font differisce dal PDF." + }, + "groupingMode": { + "title": "Modalità di raggruppamento testo", + "autoDescription": "Rileva automaticamente il tipo di pagina e raggruppa il testo in modo appropriato.", + "paragraphDescription": "Raggruppa righe allineate in caselle di testo a paragrafo multi-riga.", + "singleLineDescription": "Mantiene ogni riga di testo del PDF come casella di testo separata." + }, + "manualGrouping": { + "descriptionInline": "Suggerimento: Tieni premuto Ctrl (Cmd) o Shift per selezionare più caselle di testo. Apparirà una barra degli strumenti sopra la selezione per unire, separare o regolare le larghezze." + }, + "forceSingleElement": { + "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." + } + }, + "manual": { + "mergeTooltip": "Unisci caselle selezionate", + "merge": "Unisci selezione", + "ungroupTooltip": "Dividi il paragrafo in righe", + "ungroup": "Separa selezione", + "widthMenu": "Opzioni larghezza", + "expandWidth": "Espandi fino al bordo della pagina", + "resetWidth": "Reimposta larghezza", + "resizeHandle": "Regola larghezza testo" + }, + "disclaimer": { + "heading": "Limiti dell'anteprima", + "textFocus": "Questo spazio di lavoro è focalizzato sulla modifica del testo e sul riposizionamento delle immagini incorporate. Elementi grafici complessi, widget di moduli e grafica a livelli sono preservati per l'esportazione ma non sono completamente modificabili qui.", + "previewVariance": "Alcuni elementi visivi (come bordi di tabelle, forme o aspetto delle annotazioni) potrebbero non essere visualizzati esattamente nell'anteprima. Il PDF esportato mantiene i comandi di disegno originali quando possibile.", + "alpha": "Questo visualizzatore alpha è in evoluzione: alcuni font, colori, effetti di trasparenza e dettagli di layout possono variare leggermente. Verifica il PDF generato prima di condividerlo." + }, + "empty": { + "title": "Nessun documento caricato", + "subtitle": "Carica un file PDF o JSON per iniziare a modificare il testo." + }, + "welcomeBanner": { + "title": "Benvenuto in PDF Text Editor (Accesso anticipato)", + "experimental": "Funzionalità sperimentale in sviluppo attivo. Possibili instabilità e problemi durante l'uso.", + "howItWorks": "Questo strumento converte il tuo PDF in un formato modificabile in cui puoi modificare il testo e riposizionare le immagini. Le modifiche vengono salvate in un nuovo PDF.", + "bestFor": "Ideale per:", + "bestFor1": "PDF semplici con soprattutto testo e immagini", + "bestFor2": "Documenti con formattazione standard dei paragrafi", + "bestFor3": "Lettere, saggi, relazioni e documenti di base", + "notIdealFor": "Non ideale per:", + "notIdealFor1": "PDF con formattazioni speciali come elenchi puntati, tabelle o layout multicolonna", + "notIdealFor2": "Riviste, brochure o documenti con design complesso", + "notIdealFor3": "Manuali con layout complessi", + "limitations": "Limitazioni attuali:", + "limitation1": "Il rendering dei font può differire leggermente dal PDF originale", + "limitation2": "Grafica complessa, campi modulo e annotazioni sono preservati ma non modificabili", + "limitation3": "I file grandi possono richiedere tempo per la conversione e l'elaborazione", + "knownIssues": "Problemi noti (in risoluzione):", + "issue1": "Il colore del testo al momento non è preservato (sarà aggiunto presto)", + "issue2": "La modalità Paragrafo ha più problemi di allineamento e spaziatura - si consiglia la modalità Riga singola", + "issue3": "L'anteprima differisce dal PDF esportato - i PDF esportati sono più vicini all'originale", + "issue4": "L'allineamento del testo ruotato può richiedere regolazioni manuali", + "issue5": "Gli effetti di trasparenza e sovrapposizione possono variare rispetto all'originale", + "feedback": "Questa è una funzionalità in accesso anticipato. Segnala eventuali problemi per aiutarci a migliorare!", + "gotIt": "Ho capito", + "dontShowAgain": "Non mostrare più" + }, + "modeChange": { + "title": "Conferma cambio modalità", + "warning": "Cambiare la modalità di raggruppamento del testo reimposterà tutte le modifiche non salvate. Continuare?", + "cancel": "Annulla", + "confirm": "Reimposta e cambia modalità" + }, + "fontAnalysis": { + "details": "Dettagli font", + "embedded": "Incorporato", + "type": "Tipo", + "webFormat": "Formato web", + "warnings": "Avvisi", + "suggestions": "Note", + "currentPageFonts": "Font in questa pagina", + "allFonts": "Tutti i font", + "fallback": "fallback", + "missing": "mancante", + "perfectMessage": "Tutti i font possono essere riprodotti perfettamente.", + "warningMessage": "Alcuni font potrebbero non essere visualizzati correttamente.", + "infoMessage": "Informazioni sulla riproduzione dei font disponibili.", + "perfect": "perfetto", + "subset": "sottoinsieme" + }, + "errors": { + "invalidJson": "Impossibile leggere il file JSON. Assicurati che sia stato generato dallo strumento PDF to JSON.", + "pdfConversion": "Impossibile convertire il JSON modificato di nuovo in un PDF." + } + }, + "auth": { + "sessionExpired": "Sessione scaduta", + "pleaseLoginAgain": "Effettua di nuovo il login.", + "accessDenied": "Accesso negato", + "insufficientPermissions": "Non hai l'autorizzazione per eseguire questa azione." + }, + "addText": { + "title": "Aggiungi testo", + "header": "Aggiungi testo ai PDF", + "text": { + "name": "Contenuto del testo", + "placeholder": "Inserisci il testo da aggiungere", + "fontLabel": "Font", + "fontSizeLabel": "Dimensione del font", + "fontSizePlaceholder": "Digita o seleziona la dimensione del font (8-200)", + "colorLabel": "Colore del testo" + }, + "steps": { + "configure": "Configura testo" + }, + "step": { + "createDesc": "Inserisci il testo da aggiungere", + "place": "Posiziona testo", + "placeDesc": "Clicca sul PDF per aggiungere il testo" + }, + "instructions": { + "title": "Come aggiungere testo", + "text": "Dopo aver inserito il testo sopra, clicca in qualsiasi punto del PDF per posizionarlo.", + "paused": "Posizionamento in pausa", + "resumeHint": "Riprendi il posizionamento per cliccare e aggiungere il testo.", + "noSignature": "Inserisci il testo sopra per abilitare il posizionamento." + }, + "mode": { + "move": "Sposta testo", + "place": "Posiziona testo", + "pause": "Pausa posizionamento", + "resume": "Riprendi posizionamento" + }, + "results": { + "title": "Risultati aggiunta testo" + }, + "error": { + "failed": "Si è verificato un errore durante l'aggiunta del testo al PDF." + }, + "tags": "testo,annotazione,etichetta", + "applySignatures": "Applica testo" } } \ No newline at end of file diff --git a/frontend/public/locales/ja-JP/translation.json b/frontend/public/locales/ja-JP/translation.json index 26f20b5c7..efa81d686 100644 --- a/frontend/public/locales/ja-JP/translation.json +++ b/frontend/public/locales/ja-JP/translation.json @@ -17,6 +17,8 @@ "comingSoon": "近日公開:", "favorite": "お気に入りに追加", "favorites": "お気に入り", + "unavailable": "サーバー管理者により無効化:", + "unavailableDependency": "利用不可 - 必要なツールがサーバーにありません:", "heading": "すべてのツール(フルスクリーン表示)", "noResults": "検索条件を調整するか、説明の表示を切り替えて必要なものを見つけてください。", "recommended": "おすすめ", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "フルスクリーンモードに切り替え", "sidebar": "サイドバーモードに切り替え" - } + }, + "alpha": "Alpha", + "premiumFeature": "プレミアム機能:", + "comingSoon": "近日公開:" }, "unsavedChanges": "PDF に未保存の変更があります。", "areYouSure": "本当に離れますか?", @@ -41,6 +46,30 @@ "cancel": "キャンセル", "confirm": "展開" }, + "defaultApp": { + "title": "既定のPDFアプリに設定", + "message": "Stirling PDF を既定のPDFエディターに設定しますか?", + "description": "後でシステム設定で変更できます。", + "notNow": "今はしない", + "setDefault": "既定に設定", + "dismiss": "閉じる", + "prompt": { + "title": "既定のPDFエディターに設定", + "message": "PDFファイルを開く既定のアプリとして Stirling PDF を設定します。" + }, + "success": { + "title": "既定のアプリを設定", + "message": "Stirling PDF が既定のPDFエディターになりました" + }, + "settingsOpened": { + "title": "設定を開きました", + "message": "システム設定で Stirling PDF を選択してください" + }, + "error": { + "title": "エラー", + "message": "既定のPDFハンドラーの設定に失敗しました" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "保存", "saveToBrowser": "ブラウザへ保存", "download": "ダウンロード", + "downloadUnavailable": "この項目はダウンロードできません", + "saveUnavailable": "この項目は保存できません", "pin": "ファイルをピン留め(ツール実行後も保持)", "unpin": "ピン留めを解除(ツール実行後に置き換え)", "undoOperationTooltip": "クリックして直前の操作を取り消し、元のファイルを復元します", @@ -168,6 +199,7 @@ }, "edit": "編集", "delete": "削除", + "never": "なし", "username": "ユーザー名", "password": "パスワード", "welcome": "ようこそ", @@ -262,7 +294,8 @@ "learnMore": "詳しく見る", "enable": "分析を有効にする", "disable": "分析を無効にする", - "settings": "config/settings.ymlファイルでアナリティクスの設定を変更できます。" + "settings": "config/settings.ymlファイルでアナリティクスの設定を変更できます。", + "privacyAssurance": "個人情報やファイル内容は一切追跡しません。" }, "navbar": { "favorite": "お気に入り", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "設定", - "update": "利用可能なアップデート", - "updateAvailable": "バージョン {0} がインストールされています。 新しいバージョン ({1}) が利用可能です。", - "appVersion": "Appバージョン:", - "downloadOption": { - "title": "ダウンロードオプション (zip以外の単一ファイル):", - "1": "同じウィンドウで開く", - "2": "新しいウィンドウで開く", - "3": "ファイルをダウンロード" - }, - "zipThreshold": "このファイル数を超えたときにファイルを圧縮する", - "signOut": "サインアウト", - "accountSettings": "アカウント設定", - "bored": { - "help": "イースターエッグゲームを有効にする" - }, - "cacheInputs": { - "name": "フォームの入力を保存する", - "help": "以前使用した入力を保存し、次回から使用できるようにする。" + "connection": { + "title": "接続モード", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "セルフホスト" + }, + "server": "サーバー", + "user": "ログイン中:", + "logout": "ログアウト" }, "general": { "title": "一般", "description": "アプリの一般設定を構成します。", - "account": "アカウント", - "accountDescription": "アカウント設定を管理", "user": "ユーザー", - "signedInAs": "サインイン中:", "logout": "ログアウト", "enableFeatures": { + "dismiss": "閉じる", "title": "システム管理者向け", "intro": "組織向けにユーザー認証、チーム管理、ワークスペース機能を有効化します。", "action": "設定", "and": "と", "benefit": "ユーザーロール、チームコラボレーション、管理機能、エンタープライズ機能を有効化します。", - "learnMore": "ドキュメントで詳しく見る", - "dismiss": "閉じる" + "learnMore": "ドキュメントで詳しく見る" }, - "autoUnzip": "API 応答を自動解凍", - "autoUnzipDescription": "ZIP 応答からファイルを自動的に抽出", - "autoUnzipTooltip": "API 操作で返された ZIP ファイルを自動的に展開します。ZIP をそのまま保持するには無効にします。自動化ワークフローには影響しません。", - "autoUnzipFileLimit": "自動解凍のファイル数上限", - "autoUnzipFileLimitDescription": "ZIP から抽出する最大ファイル数", - "autoUnzipFileLimitTooltip": "ZIP に含まれるファイル数がこの数以下の場合のみ解凍します。大きな ZIP を展開するには上限を上げてください。", "defaultToolPickerMode": "デフォルトのツールピッカー表示モード", "defaultToolPickerModeDescription": "ツールピッカーをデフォルトでフルスクリーンまたはサイドバーのどちらで開くか選択します", "mode": { - "fullscreen": "フルスクリーン", - "sidebar": "サイドバー" - } + "sidebar": "サイドバー", + "fullscreen": "フルスクリーン" + }, + "autoUnzipTooltip": "API 操作で返された ZIP ファイルを自動的に展開します。ZIP をそのまま保持するには無効にします。自動化ワークフローには影響しません。", + "autoUnzip": "API 応答を自動解凍", + "autoUnzipDescription": "ZIP 応答からファイルを自動的に抽出", + "autoUnzipFileLimitTooltip": "ZIP に含まれるファイル数がこの数以下の場合のみ解凍します。大きな ZIP を展開するには上限を上げてください。", + "autoUnzipFileLimit": "自動解凍のファイル数上限", + "autoUnzipFileLimitDescription": "ZIP から抽出する最大ファイル数", + "defaultPdfEditor": "既定のPDFエディター", + "defaultPdfEditorActive": "Stirling PDF は既定のPDFエディターです", + "defaultPdfEditorInactive": "別のアプリが既定に設定されています", + "defaultPdfEditorChecking": "確認中...", + "defaultPdfEditorSet": "既に既定です", + "setAsDefault": "既定に設定", + "updates": { + "title": "ソフトウェア更新", + "description": "更新の確認とバージョン情報の表示", + "currentVersion": "現在のバージョン", + "latestVersion": "最新バージョン", + "checkForUpdates": "更新を確認", + "viewDetails": "詳細を表示" + }, + "hideUnavailableTools": "利用不可のツールを非表示", + "hideUnavailableToolsDescription": "グレー表示の代わりに、サーバーで無効化されたツールを非表示にします。", + "hideUnavailableConversions": "利用不可の変換を非表示", + "hideUnavailableConversionsDescription": "グレー表示の代わりに、Convert ツールで無効な変換オプションを非表示にします。" }, "hotkeys": { - "title": "キーボードショートカット", - "description": "ツールにカーソルを合わせるとショートカットが表示されます。下でカスタマイズも可能です。「ショートカットを変更」をクリックし、新しいキーの組み合わせを押してください。Esc でキャンセル。", - "errorModifier": { - "mac": "ショートカットに ⌘(Command)、⌥(Option)などの修飾キーを含めてください。", - "windows": "ショートカットに Ctrl、Alt などの修飾キーを含めてください。" - }, "errorConflict": "ショートカットはすでに{{tool}}で使用されています。", + "searchPlaceholder": "ツールを検索...", "none": "未割り当て", "customBadge": "カスタム", "defaultLabel": "デフォルト: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "ショートカットを変更", "reset": "リセット", "shortcut": "ショートカット", - "noShortcut": "ショートカット未設定", - "searchPlaceholder": "ツールを検索..." + "noShortcut": "ショートカット未設定" } }, + "update": { + "modalTitle": "更新があります", + "current": "現在のバージョン", + "latest": "最新バージョン", + "latestStable": "最新の安定版", + "priorityLabel": "優先度", + "recommendedAction": "推奨アクション", + "breakingChangesDetected": "互換性のない変更を検出", + "breakingChangesMessage": "一部のバージョンには互換性のない変更が含まれます。更新前に以下の移行ガイドを確認してください。", + "migrationGuides": "移行ガイド", + "viewGuide": "ガイドを見る", + "loadingDetailedInfo": "詳細情報を読み込み中...", + "close": "閉じる", + "viewAllReleases": "すべてのリリースを見る", + "downloadLatest": "最新をダウンロード", + "availableUpdates": "利用可能な更新", + "unableToLoadDetails": "詳細情報を読み込めません。", + "version": "バージョン", + "urgentUpdateAvailable": "緊急の更新", + "updateAvailable": "更新があります", + "releaseNotes": "リリースノート", + "priority": { + "urgent": "緊急", + "normal": "通常", + "minor": "軽微", + "low": "低" + }, + "breakingChanges": "互換性のない変更", + "breakingChangesDefault": "このバージョンには互換性のない変更が含まれます。", + "migrationGuide": "移行ガイド" + }, "changeCreds": { "title": "資格情報の変更", "header": "アカウントの詳細を更新する", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "1つのPDFを別のPDFの上に重ねます", "title": "PDFを重ね合わせ" + }, + "pdfTextEditor": { + "title": "PDFテキストエディター", + "desc": "グループ化されたテキスト編集とPDF再生成で、Stirling PDF の JSON エクスポートをレビュー・編集します。" + }, + "addText": { + "tags": "テキスト,注釈,ラベル", + "title": "テキストを追加", + "desc": "PDFの任意の場所にテキストを追加" } }, "landing": { "addFiles": "ファイルを追加", - "uploadFromComputer": "コンピュータからアップロード" + "uploadFromComputer": "コンピュータからアップロード", + "openFromComputer": "コンピューターから開く" }, "viewPdf": { "tags": "view,read,annotate,text,image", @@ -849,6 +922,11 @@ }, "error": { "failed": "PDF の結合中にエラーが発生しました。" + }, + "tooltip": { + "header": { + "title": "結合設定の概要" + } } }, "split": { @@ -1108,6 +1186,7 @@ "grayscale": "グレースケール", "errorConversion": "ファイルの変換中にエラーが発生しました。", "cbzOptions": "CBZ から PDF へのオプション", + "optimizeForEbook": "PDF を eBook リーダー向けに最適化(Ghostscript 使用)", "cbzOutputOptions": "PDF から CBZ へのオプション", "cbzDpi": "画像レンダリングの DPI" }, @@ -1181,9 +1260,43 @@ "tags": "画像,img,jpg,ピクチャ,写真", "title": "画像の追加", "header": "PDFに画像を追加", - "everyPage": "全ページ?", - "upload": "画像の追加", - "submit": "画像の追加" + "image": { + "name": "画像", + "placeholder": "画像をアップロード", + "label": "画像ファイル" + }, + "steps": { + "configure": "画像を設定" + }, + "step": { + "createDesc": "追加する画像をアップロード", + "place": "画像を配置", + "placeDesc": "PDFをクリックして画像を追加" + }, + "instructions": { + "title": "画像の追加方法", + "text": "画像をアップロード後、PDF上の任意の場所をクリックして配置します。", + "paused": "配置を一時停止", + "resumeHint": "再開してクリックで画像を追加します。", + "noSignature": "画像をアップロードすると配置できます。" + }, + "mode": { + "move": "画像を移動", + "place": "画像を配置", + "pause": "配置を一時停止", + "resume": "配置を再開" + }, + "results": { + "title": "画像追加の結果" + }, + "error": { + "failed": "PDF に画像を追加中にエラーが発生しました。" + }, + "saved": { + "defaultLabel": "画像", + "defaultImageLabel": "アップロードした画像" + }, + "applySignatures": "画像を適用" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1396,6 +1509,93 @@ }, "submit": "変更" }, + "editTableOfContents": { + "settings": { + "title": "ブックマークとアウトライン", + "replaceExisting": "既存のブックマークを置換(オフで末尾に追加)", + "replaceExistingHint": "無効にすると、新しいアウトラインは現在のブックマークの後ろに追加されます。" + }, + "actions": { + "source": "ブックマークを読み込み", + "selectedFile": "{{file}} から読み込み", + "noFile": "既存のブックマークを抽出するPDFを選択してください。", + "loadFromPdf": "選択したPDFから読み込み", + "importJson": "JSON をインポート", + "importClipboard": "クリップボードの JSON を貼り付け", + "export": "ブックマークをエクスポート", + "exportJson": "JSON をダウンロード", + "exportClipboard": "JSON をクリップボードにコピー", + "clipboardUnavailable": "このブラウザーではクリップボードにアクセスできません。" + }, + "info": { + "line1": "各ブックマークには説明的なタイトルと、開くページを指定します。", + "line2": "子ブックマークを使用して、章・節・小節の階層を作成します。", + "line3": "選択したPDFやJSONファイルからブックマークをインポートすると時間を節約できます。" + }, + "workbench": { + "empty": { + "title": "ツールを開いて編集を開始", + "description": "目次編集ツールを選択してワークスペースを読み込みます。" + }, + "tabTitle": "アウトライン ワークスペース", + "subtitle": "ブックマークのインポート、階層作成、アウトライン適用をサイドパネルなしで行えます。", + "noFile": "PDFが選択されていません", + "fileLabel": "変更は現在選択中のPDFに適用されます。", + "filePrompt": "ライブラリからPDFを選ぶか、新規にアップロードしてください。", + "changeFile": "PDFを変更", + "selectFile": "PDFを選択" + }, + "editor": { + "heading": "ブックマーク エディター", + "description": "ブックマークの追加、入れ子、並べ替えでPDFのアウトラインを作成します。", + "addTopLevel": "最上位のブックマークを追加", + "empty": { + "title": "ブックマークはまだありません", + "description": "既存のブックマークをインポートするか、まずは最初の項目を追加してください。", + "action": "最初のブックマークを追加" + }, + "defaultTitle": "新しいブックマーク", + "defaultChildTitle": "子ブックマーク", + "defaultSiblingTitle": "新しいブックマーク", + "untitled": "無題のブックマーク", + "childBadge": "子", + "pagePreview": "ページ {{page}}", + "field": { + "title": "ブックマークのタイトル", + "page": "対象ページ番号" + }, + "actions": { + "toggle": "子を切り替え", + "addChild": "子ブックマークを追加", + "addSibling": "同階層のブックマークを追加", + "remove": "ブックマークを削除" + }, + "confirmRemove": "このブックマークとその子をすべて削除しますか?" + }, + "messages": { + "loadedTitle": "ブックマークを抽出しました", + "loadedBody": "PDFの既存のブックマークをエディターに読み込みました。", + "noBookmarks": "選択したPDFにブックマークは見つかりませんでした。", + "loadFailed": "選択したPDFからブックマークを抽出できませんでした。", + "imported": "ブックマークをインポートしました", + "importedBody": "JSONのアウトラインが現在のエディター内容を置き換えました。", + "importedClipboard": "クリップボードのデータで現在のブックマーク一覧を置き換えました。", + "invalidJson": "無効な JSON 構造", + "invalidJsonBody": "有効なブックマークの JSON ファイルを指定して、もう一度お試しください。", + "exported": "JSON のダウンロード準備完了", + "copied": "クリップボードにコピーしました", + "copiedBody": "ブックマークの JSON をコピーしました。", + "copyFailed": "コピーに失敗しました" + }, + "error": { + "failed": "目次の更新に失敗しました" + }, + "submit": "目次を適用", + "results": { + "title": "ブックマーク付きでPDFを更新", + "subtitle": "処理済みファイルをダウンロードするか、下で操作を取り消します。" + } + }, "removePages": { "tags": "ページを削除,ページ削除", "title": "削除", @@ -1977,13 +2177,54 @@ "title": "署名を描く", "clear": "クリア" }, + "canvas": { + "heading": "署名を描画", + "clickToOpen": "クリックして描画キャンバスを開く", + "modalTitle": "署名を描画", + "colorLabel": "色", + "penSizeLabel": "ペンサイズ", + "penSizePlaceholder": "サイズ", + "clear": "キャンバスを消去", + "colorPickerTitle": "線の色を選択" + }, "text": { "name": "署名者名", - "placeholder": "氏名を入力" + "placeholder": "氏名を入力", + "fontLabel": "フォント", + "fontSizeLabel": "フォントサイズ", + "fontSizePlaceholder": "フォントサイズを入力または選択 (8-200)", + "colorLabel": "テキストの色" }, "clear": "クリア", "add": "追加", - "saved": "保存された署名", + "saved": { + "heading": "保存済みの署名", + "description": "保存した署名はいつでも再利用できます。", + "emptyTitle": "保存済みの署名はありません", + "emptyDescription": "上で署名を描く、アップロード、または入力してから「ライブラリに保存」を使うと、最大 {{max}} 件のお気に入りを保存しておけます。", + "type": { + "canvas": "描画", + "image": "アップロード", + "text": "テキスト" + }, + "limitTitle": "上限に達しました", + "limitDescription": "新しく追加する前に保存済みの署名を削除してください(最大 {{max}} 件)。", + "carouselPosition": "{{current}} / {{total}}", + "prev": "前へ", + "next": "次へ", + "delete": "削除", + "label": "ラベル", + "defaultLabel": "署名", + "defaultCanvasLabel": "手書き署名", + "defaultImageLabel": "アップロードした署名", + "defaultTextLabel": "入力した署名", + "saveButton": "署名を保存", + "saveUnavailable": "まず署名を作成してから保存してください。", + "noChanges": "現在の署名はすでに保存済みです。", + "status": { + "saved": "保存済み" + } + }, "save": "署名を保存", "applySignatures": "署名を適用", "personalSigs": "個人署名", @@ -2002,12 +2243,18 @@ "steps": { "configure": "署名を設定" }, + "step": { + "createDesc": "署名の作成方法を選択", + "place": "配置して保存", + "placeDesc": "PDF上に署名の位置を指定" + }, "type": { "title": "署名タイプ", "draw": "描画", "canvas": "キャンバス", "image": "画像", - "text": "テキスト" + "text": "テキスト", + "saved": "保存済み" }, "image": { "label": "署名画像をアップロード", @@ -2018,11 +2265,17 @@ "title": "署名の追加方法", "canvas": "キャンバスで署名を描いた後、モーダルを閉じてから PDF 上の任意の場所をクリックして配置します。", "image": "上で署名画像をアップロードした後、PDF 上の任意の場所をクリックして配置します。", - "text": "上で氏名を入力した後、PDF 上の任意の場所をクリックして署名を配置します。" + "saved": "上の保存済み署名を選択し、PDF上の任意の場所をクリックして配置します。", + "text": "上で氏名を入力した後、PDF 上の任意の場所をクリックして署名を配置します。", + "paused": "配置を一時停止", + "resumeHint": "再開してクリックで署名を追加します。", + "noSignature": "上で署名を作成すると配置ツールが使えます。" }, "mode": { "move": "署名を移動", - "place": "署名を配置" + "place": "署名を配置", + "pause": "配置を一時停止", + "resume": "配置を再開" }, "updateAndPlace": "更新して配置", "activate": "署名配置を有効化", @@ -2162,6 +2415,14 @@ "title": "注釈削除について", "description": "このツールは PDF 文書からすべての注釈(コメント、ハイライト、ノート等)を削除します。" }, + "tooltip": { + "header": { + "title": "注釈削除について" + }, + "description": { + "title": "機能" + } + }, "error": { "failed": "PDF から注釈を削除中にエラーが発生しました。" } @@ -2626,6 +2887,9 @@ "header": { "title": "自動リネームの仕組み" }, + "description": { + "title": "機能" + }, "howItWorks": { "title": "スマートリネーム", "text": "PDF コンテンツからタイトルを自動的に検出し、ファイル名として使用します。", @@ -2633,6 +2897,9 @@ "bullet2": "検出したタイトルからクリーンで有効なファイル名を作成します", "bullet3": "適切なタイトルが見つからない場合は元の名前を保持します" } + }, + "settings": { + "title": "概要" } }, "adjust-contrast": { @@ -3105,7 +3372,7 @@ "signatureDate": "署名日時" }, "filesEvaluated": "{{count}} 件のファイルを評価", - "footer": "Validated via Stirling PDF", + "footer": "Stirling PDF で検証済み", "generatedAt": "生成日時", "noPdf": "検証が成功すると PDF レポートが利用可能になります。", "page": "ページ", @@ -3226,7 +3493,26 @@ "unexpectedError": "予期しないエラー:{{message}}", "accountCreatedSuccess": "アカウントが作成されました。今すぐサインインできます。", "passwordChangedSuccess": "パスワードを変更しました。新しいパスワードでサインインしてください。", - "credentialsUpdated": "認証情報を更新しました。もう一度サインインしてください。" + "credentialsUpdated": "認証情報を更新しました。もう一度サインインしてください。", + "defaultCredentials": "デフォルトのログイン資格情報", + "changePasswordWarning": "初回ログイン後にパスワードを変更してください", + "slides": { + "overview": { + "alt": "Stirling PDF の概要", + "title": "PDF のためのワンストップソリューション", + "subtitle": "プライバシー最優先の PDF 向けクラウドスイート。変換、署名、墨消し、文書管理に加え、50 以上の強力なツールを提供。" + }, + "edit": { + "alt": "PDF を編集", + "title": "必要な情報を表示・保護するために PDF を編集", + "subtitle": "墨消し、署名、閲覧、操作のための十数種のツールを備え、求める機能が必ず見つかります。" + }, + "secure": { + "alt": "PDF を保護", + "title": "PDF の機密情報を保護", + "subtitle": "パスワード追加、墨消し、証明書管理を簡単に。" + } + } }, "signup": { "title": "アカウントを作成", @@ -3597,7 +3883,9 @@ "exportAll": "PDF を書き出し", "downloadSelected": "選択したファイルをダウンロード", "downloadAll": "すべてをダウンロード", + "saveAll": "すべて保存", "toggleTheme": "テーマを切り替え", + "toggleBookmarks": "ブックマークを切り替え", "language": "言語", "search": "PDF を検索", "panMode": "パンモード", @@ -3684,8 +3972,16 @@ "saved": "設定を正常に保存しました", "saveSuccess": "設定を正常に保存しました", "save": "変更を保存", + "discard": "破棄", "restartRequired": "再起動が必要", "loginRequired": "管理者設定を変更するにはログインモードを有効にする必要があります", + "unsavedChanges": { + "title": "未保存の変更", + "message": "未保存の変更があります。破棄しますか?", + "cancel": "編集を続ける", + "discard": "変更を破棄", + "hint": "未保存の変更があります" + }, "loginDisabled": { "title": "ログインモードが必要です", "message": "管理者設定を変更するにはログインモードを有効にする必要があります。環境変数で SECURITY_ENABLELOGIN=true を設定するか、settings.yml の security.enableLogin: true を設定し、サーバーを再起動してください。", @@ -4136,7 +4432,7 @@ "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", "weasyPrint": "WeasyPrint", - "installApp": "Install App", + "installApp": "アプリをインストール", "calibre": "Calibre", "ghostscript": "Ghostscript", "ocrMyPdf": "OCRmyPDF" @@ -4211,9 +4507,21 @@ "title": "プレミアムとエンタープライズ", "description": "プレミアムまたはエンタープライズのライセンスキーを構成します。", "license": "ライセンス設定", + "licenseKey": { + "toggle": "ライセンスキーまたは証明書ファイルをお持ちですか?", + "info": "直接購入で入手したライセンスキーまたは証明書ファイルがある場合、ここに入力してプレミアムまたはエンタープライズ機能を有効化できます。" + }, "key": { "label": "ライセンスキー", - "description": "プレミアムまたはエンタープライズのライセンスキーを入力" + "description": "プレミアムまたはエンタープライズのライセンスキーを入力", + "success": "ライセンスキーを保存しました", + "successMessage": "ライセンスキーは正常に有効化されました。再起動は不要です。", + "overwriteWarning": { + "title": "⚠️ 警告: 既存のライセンスを検出", + "line1": "現在のライセンスキーを上書きすると元に戻せません。", + "line2": "別途バックアップしていない限り、以前のライセンスは永久に失われます。", + "line3": "重要: ライセンスキーは秘密に安全に保管してください。公開で共有しないでください。" + } }, "enabled": { "label": "プレミアム機能を有効化", @@ -4277,12 +4585,17 @@ "or": "または", "dropFileHere": "ここにドロップするかクリックしてアップロード", "dropFilesHere": "ここにドロップするかアップロードボタンをクリック", + "dropFilesHereOpen": "ここにファイルをドロップするか、開くボタンをクリック", "pdfFilesOnly": "PDF のみ", "supportedFileTypes": "対応ファイルタイプ", "upload": "アップロード", "uploadFile": "ファイルをアップロード", "uploadFiles": "複数ファイルをアップロード", + "open": "開く", + "openFile": "ファイルを開く", + "openFiles": "複数ファイルを開く", "noFilesInStorage": "ストレージにファイルがありません。まずはファイルをアップロードしてください。", + "noFilesInStorageOpen": "ストレージに利用可能なファイルがありません。先にファイルを開いてください。", "selectFromStorage": "ストレージから選択", "backToTools": "ツールに戻る", "addFiles": "ファイルを追加", @@ -4328,6 +4641,8 @@ "myFiles": "マイファイル", "noRecentFiles": "最近のファイルは見つかりませんでした", "googleDriveNotAvailable": "Google ドライブ連携は利用できません", + "downloadSelected": "選択をダウンロード", + "saveSelected": "選択項目を保存", "openFiles": "複数ファイルを開く", "openFile": "ファイルを開く", "details": "ファイル詳細", @@ -4340,7 +4655,6 @@ "selectAll": "すべて選択", "deselectAll": "選択を解除", "deleteSelected": "選択項目を削除", - "downloadSelected": "選択をダウンロード", "selectedCount": "{{count}} 件選択", "download": "ダウンロード", "delete": "削除", @@ -4620,9 +4934,14 @@ "secureWorkflow": "セキュリティ ワークフロー", "secureWorkflowDesc": "JavaScript や埋め込みファイルなどの潜在的に悪意あるコンテンツを削除し、パスワード保護を追加して PDF を保護します。既定パスワードは「password」です。", "processImages": "画像を処理", - "processImagesDesc": "複数の画像ファイルを 1 つの PDF に変換し、OCR で検索可能なテキストを抽出します。" + "processImagesDesc": "複数の画像ファイルを 1 つの PDF に変換し、OCR で検索可能なテキストを抽出します。", + "prePublishSanitization": "公開前のサニタイズ", + "prePublishSanitizationDesc": "PDF をオンライン公開する前に、隠れたメタデータ、JavaScript、埋め込みファイル、注釈をすべて削除し、フォームをフラット化して情報漏洩を防ぐサニタイズ ワークフローです。" } }, + "colorPicker": { + "title": "色を選択" + }, "common": { "previous": "前へ", "next": "次へ", @@ -4638,7 +4957,13 @@ "used": "使用済み", "available": "利用可能", "cancel": "キャンセル", - "preview": "プレビュー" + "preview": "プレビュー", + "close": "閉じる", + "done": "完了", + "loading": "読み込み中...", + "back": "戻る", + "continue": "続行", + "error": "エラー" }, "config": { "overview": { @@ -4704,6 +5029,14 @@ "addMoreFiles": "さらにファイルを追加...", "selectedFiles": "選択したファイル", "submit": "添付を追加", + "tooltip": { + "header": { + "title": "添付追加について" + }, + "description": { + "title": "機能" + } + }, "results": { "title": "添付結果" }, @@ -4723,7 +5056,6 @@ }, "customPosition": "カスタム位置", "details": "詳細", - "downloadUnavailable": "この項目はダウンロードできません", "invalidUndoData": "元に戻せません: 無効な操作データです", "margin": { "large": "大", @@ -4800,6 +5132,10 @@ "maybeLater": "後で", "dontShowAgain": "今後表示しない" }, + "welcomeSlide": { + "title": "Stirling へようこそ", + "body": "Stirling PDF はあらゆる規模のチームで使えるようになりました。このアップデートには新しいレイアウト、強力な管理機能、そして最も要望の多かった機能 - テキスト編集 が含まれます。" + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "ツールの使い方を説明するため、まずは 切り抜き ツールを選択しましょう。", "toolInterface": "こちらが 切り抜き ツールの画面です。まだ作業用の PDF ファイルを追加していないため、表示項目は多くありません。", @@ -4822,7 +5158,39 @@ "next": "次へ", "finish": "完了", "startTour": "ツアーを開始", - "startTourDescription": "Stirling PDF の主な機能をガイド付きで紹介します" + "startTourDescription": "Stirling PDF の主な機能をガイド付きで紹介します", + "buttons": { + "next": "次へ →", + "back": "戻る", + "skipForNow": "今はスキップ", + "download": "ダウンロード →", + "showMeAround": "ツアーを見る", + "skipTheTour": "ツアーをスキップ" + }, + "serverLicense": { + "skip": "今はスキップ", + "seePlans": "プランを見る →", + "upgrade": "今すぐアップグレード →", + "freeTitle": "サーバーライセンス", + "overLimitTitle": "サーバーライセンスが必要です", + "overLimitBody": "当社のライセンスでは、サーバーごとに {{freeTierLimit}} ユーザーまで無料です。現在 {{overLimitUserCopy}} の Stirling ユーザーがいます。中断なく利用を続けるには、Stirling Server プランにアップグレードしてください - 無制限席数、PDF テキスト編集、完全な管理機能が $99/サーバー/月 です。", + "freeBody": "当社の オープンコア ライセンスでは、サーバーごとに最大 {{freeTierLimit}} ユーザーまで無料です。中断なく拡張し、新しい PDF テキスト編集ツール に早期アクセスするには、Stirling Server プランをお勧めします。完全編集と 無制限席数 が $99/サーバー/月 です。" + }, + "desktopInstall": { + "title": "ダウンロード", + "titleWithOs": "{{osLabel}} 用をダウンロード", + "body": "Stirling はデスクトップアプリとして最適に動作します。オフラインでも使えて、文書に素早くアクセスし、PC上でローカル編集できます。" + }, + "planOverview": { + "adminTitle": "管理者向け概要", + "userTitle": "プラン概要", + "adminBodyLoginEnabled": "管理者として、ユーザー管理、設定の構成、サーバーの健全性監視ができます。サーバー上の最初の {{freeTierLimit}} 人は無料で Stirling を利用できます。", + "adminBodyLoginDisabled": "ログインモードを有効にすると、ユーザー管理、設定の構成、サーバーの健全性監視が可能です。サーバー上の最初の {{freeTierLimit}} 人は無料で Stirling を利用できます。", + "userBody": "メンバーを招待し、役割を割り当て、1つの安全なワークスペースで文書を整理できます。ソロ利用を超えて拡大する準備ができたら、いつでもログインモードを有効にしてください。" + }, + "securityCheck": { + "message": "アプリケーションに最近大きな変更がありました。サーバー管理者の対応が必要な場合があります。続行するには、ご自身の役割を確認してください。" + } }, "adminOnboarding": { "welcome": "管理者ツアー へようこそ!システム管理者向けの強力なエンタープライズ機能と設定を見ていきましょう。", @@ -4851,7 +5219,10 @@ "role": "役割", "team": "チーム", "status": "ステータス", - "actions": "操作", + "actions": { + "label": "操作", + "upgrade": "アップグレード" + }, "noMembersFound": "メンバーが見つかりません", "active": "有効", "disabled": "無効", @@ -4963,7 +5334,8 @@ "slotsAvailable": "{{count}} 件のユーザースロットが利用可能", "noSlotsAvailable": "利用可能な枠がありません", "currentUsage": "現在 {{max}} 件中 {{current}} 件のユーザーライセンスを使用" - } + }, + "loginRequired": "先にログインモードを有効にしてください" }, "teams": { "title": "チーム", @@ -5056,6 +5428,17 @@ "showComparison": "すべての機能を比較", "hideComparison": "機能比較を隠す", "featureComparison": "機能比較", + "from": "から", + "perMonth": "/月", + "perSeat": "/席", + "withServer": "+ Server プラン", + "licensedSeats": "ライセンス: {{count}} 席", + "includedInCurrent": "ご利用中のプランに含まれています", + "selectPlan": "プランを選択", + "manage": "管理", + "manageSubscription": { + "description": "サブスクリプション、請求、支払い方法を管理" + }, "activePlan": { "title": "アクティブなプラン", "subtitle": "現在のサブスクリプションの詳細" @@ -5073,13 +5456,16 @@ "upTo": "最大" }, "period": { - "month": "月" + "month": "月", + "perUserPerMonth": "/ユーザー/月" }, "free": { "name": "無料", "highlight1": "週あたりのツール利用に制限", "highlight2": "すべてのツールにアクセス", - "highlight3": "コミュニティサポート" + "highlight3": "コミュニティサポート", + "forever": "永久無料", + "included": "含まれる" }, "pro": { "name": "プロ", @@ -5091,7 +5477,9 @@ "name": "エンタープライズ", "highlight1": "カスタム価格", "highlight2": "専用サポート", - "highlight3": "最新機能" + "highlight3": "最新機能", + "requiresServer": "Server が必要", + "requiresServerMessage": "Enterprise にアップグレードする前に、先に Server プランへアップグレードしてください。" }, "feature": { "title": "機能", @@ -5101,6 +5489,12 @@ "api": "API アクセス", "priority": "優先サポート", "customPricing": "カスタム価格" + }, + "licenseWarning": { + "title": "セルフホストの無料上限に達しました", + "body": "ユーザーは {{total}} 人ですが、無料枠はサーバーあたり {{limit}} 人までです。Stirling PDF を円滑に運用するにはアップグレードしてください。", + "overLimit": "{{limit}} を超過", + "cta": "プランを見る" } }, "subscription": { @@ -5119,7 +5513,34 @@ "manageBilling": "請求の管理", "portal": { "error": "請求ポータルを開けませんでした" - } + }, + "updateSeats": "席数を更新", + "updateEnterpriseSeats": "Enterprise の席数を更新", + "currentSeats": "現在の席数", + "minimumSeats": "最小席数", + "basedOnUsers": "(現在のユーザー数)", + "newSeatCount": "新しい席数", + "newSeatCountDescription": "エンタープライズ ライセンスの席数を選択", + "whatHappensNext": "次の手順", + "stripePortalRedirect": "Stripe の請求ポータルにリダイレクトされ、席数の変更を確認できます。日割り額は自動計算されます。", + "preparingUpdate": "席数の更新を準備中...", + "seatCountTooLow": "席数は最低 {{minimum}}(現在のユーザー数)以上にしてください", + "seatCountUnchanged": "別の席数を選択してください", + "seatsUpdated": "席数を更新しました", + "seatsUpdatedMessage": "エンタープライズの席数が {{seats}} に更新されました", + "updateProcessing": "更新を処理中", + "updateProcessingMessage": "席数の更新を処理しています。数秒後に再読み込みしてください。", + "notEnterprise": "席数管理はエンタープライズ ライセンスでのみ利用できます" + }, + "upgradeBanner": { + "title": "Server プランにアップグレード", + "message": "無制限ユーザーと高度な機能で Stirling PDF を最大限活用", + "upgradeButton": "今すぐアップグレード", + "dismiss": "バナーを閉じる", + "attentionTitle": "このサーバーには管理者の対応が必要です", + "attentionBody": "詳細を見るには管理者がサインインする必要があります。至急ご連絡ください。", + "attentionBodyAdmin": "このサーバーを準拠させるため、ライセンス要件を確認してください。", + "seeInfo": "詳細を見る" }, "payment": { "preparing": "チェックアウトを準備しています...", @@ -5127,7 +5548,61 @@ "success": "支払いが完了しました", "successMessage": "サブスクリプションが有効化されました。まもなく確認メールが届きます。", "autoClose": "このウィンドウは自動的に閉じます...", - "error": "支払いエラー" + "error": "支払いエラー", + "upgradeSuccess": "支払いに成功しました! サブスクリプションがアップグレードされ、ライセンスがサーバーに更新されました。確認メールをまもなくお送りします。", + "paymentSuccess": "支払いに成功しました! ライセンスキーを取得中...", + "licenseActivated": "ライセンスを有効化しました! ライセンスキーは保存済みです。登録メール宛に確認メールを送信しました。", + "licenseDelayed": "支払いは完了しました。ライセンスを生成中です。間もなくライセンスキーをメールでお送りします。10分以内に届かない場合はサポートへご連絡ください。", + "licensePollingError": "支払いは完了しましたが、ライセンスキーを自動取得できませんでした。メールを確認するか、支払い確認情報とともにサポートへお問い合わせください。", + "licenseRetrievalError": "支払いは完了しましたが、ライセンスの取得に失敗しました。ライセンスキーはメールでお送りします。10分以内に届かない場合はサポートへご連絡ください。", + "syncError": "支払いは完了しましたが、ライセンスの同期に失敗しました。間もなくライセンスが更新されます。問題が続く場合はサポートへご連絡ください。", + "licenseSaveError": "ライセンスキーの保存に失敗しました。ライセンスキーを添えてサポートへご連絡のうえ、有効化を完了してください。", + "paymentCanceled": "支払いをキャンセルしました。課金は行われていません。", + "syncingLicense": "アップグレード済みライセンスを同期中...", + "generatingLicense": "ライセンスキーを生成中...", + "upgradeComplete": "アップグレード完了", + "upgradeCompleteMessage": "サブスクリプションは正常にアップグレードされ、既存のライセンスキーが更新されました。", + "stripeNotConfigured": "Stripe が未設定", + "stripeNotConfiguredMessage": "Stripe の決済連携が設定されていません。管理者に連絡してください。", + "monthly": "月額", + "yearly": "年額", + "billingPeriod": "請求期間", + "enterpriseNote": "席数はチェックアウトで調整できます(1〜1000)。", + "installationId": "インストールID", + "licenseKey": "あなたのライセンスキー", + "licenseInstructions": "これはインストールに追加済みです。コピーはメールでもお送りします。", + "canCloseWindow": "このウィンドウは閉じても構いません。", + "licenseKeyProcessing": "ライセンスキーを処理中", + "licenseDelayedMessage": "ライセンスキーを生成中です。間もなくメールをご確認いただくか、サポートへご連絡ください。", + "perYear": "/年", + "perMonth": "/月", + "emailInvalid": "有効なメールアドレスを入力してください", + "emailStage": { + "title": "メールアドレスを入力", + "description": "ライセンスキーと領収書の送付に使用します。", + "emailLabel": "メールアドレス", + "emailPlaceholder": "your@email.com", + "continue": "続行", + "modalTitle": "開始する - {{planName}}" + }, + "planStage": { + "title": "請求期間を選択", + "savingsNote": "年額払いで {{percent}}% お得", + "basePrice": "基本価格", + "seatPrice": "席単価", + "totalForSeats": "合計({{count}} 席)", + "selectMonthly": "月額を選択", + "selectYearly": "年額を選択", + "savePercent": "{{percent}}% お得", + "savingsAmount": "{{amount}} 節約", + "modalTitle": "請求期間を選択 - {{planName}}", + "billedYearly": "年額 {{currency}}{{amount}} で請求" + }, + "paymentStage": { + "backToPlan": "プラン選択に戻る", + "selectedPlan": "選択したプラン", + "modalTitle": "支払いを完了 - {{planName}}" + } }, "firstLogin": { "title": "初回ログイン", @@ -5286,5 +5761,281 @@ "offline": "バックエンドはオフライン", "starting": "バックエンドを起動しています...", "wait": "バックエンドの起動完了までお待ちいただき、再度お試しください。" + }, + "encryptedPdfUnlock": { + "unlockPrompt": "続行するにはPDFを解除", + "title": "続行するにはパスワードを削除", + "description": "このPDFはパスワードで保護されています。作業を続けるにはパスワードを入力してください。", + "password": { + "label": "PDF のパスワード", + "placeholder": "PDF のパスワードを入力" + }, + "skip": "今はスキップ", + "unlock": "解除して続行", + "incorrectPassword": "パスワードが違います", + "missingFile": "選択したファイルは利用できません。", + "emptyResponse": "パスワードの削除でファイルが生成されませんでした。", + "required": "続行するにはパスワードを入力してください。", + "successTitle": "パスワードを削除しました", + "successBodyWithName": "{{fileName}} からパスワードを削除しました", + "successBody": "パスワードを削除しました。" + }, + "setup": { + "welcome": "Stirling PDF へようこそ", + "description": "Stirling PDF の使い方を選んで開始しましょう", + "step1": { + "label": "モードを選択", + "description": "オフライン または サーバー" + }, + "step2": { + "label": "サーバーを選択", + "description": "セルフホストのサーバー" + }, + "step3": { + "label": "ログイン", + "description": "認証情報を入力" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Stirling アカウントでサインイン" + }, + "selfhosted": { + "title": "セルフホスト サーバー", + "description": "自分の Stirling PDF サーバーに接続" + } + }, + "saas": { + "title": "Stirling にサインイン", + "subtitle": "Stirling アカウントでサインイン" + }, + "selfhosted": { + "title": "サーバーにサインイン", + "subtitle": "サーバーの認証情報を入力" + }, + "server": { + "title": "サーバーに接続", + "subtitle": "セルフホスト サーバーの URL を入力", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "セルフホスト サーバー" + }, + "url": { + "label": "サーバー URL", + "description": "セルフホストの Stirling PDF サーバーの完全な URL を入力してください" + }, + "error": { + "emptyUrl": "サーバー URL を入力してください", + "unreachable": "サーバーに接続できませんでした", + "testFailed": "接続テストに失敗しました" + }, + "testing": "接続をテスト中..." + }, + "login": { + "title": "サインイン", + "subtitle": "続行するには認証情報を入力", + "connectingTo": "接続先:", + "username": { + "label": "ユーザー名", + "placeholder": "ユーザー名を入力" + }, + "email": { + "label": "Email", + "placeholder": "メールアドレスを入力" + }, + "password": { + "label": "パスワード", + "placeholder": "パスワードを入力" + }, + "error": { + "emptyUsername": "ユーザー名を入力してください", + "emptyEmail": "メールアドレスを入力してください", + "emptyPassword": "パスワードを入力してください", + "oauthFailed": "OAuth ログインに失敗しました。もう一度お試しください。" + }, + "submit": "ログイン", + "signInWith": "でサインイン", + "oauthPending": "認証のためブラウザーを開いています...", + "orContinueWith": "またはメールで続行" + } + }, + "oauth": { + "success": { + "title": "認証に成功しました", + "message": "このウィンドウを閉じて Stirling PDF に戻れます。" + }, + "error": { + "title": "認証に失敗しました", + "message": "認証に失敗しました。このウィンドウを閉じて、もう一度お試しください。" + } + }, + "pdfTextEditor": { + "title": "PDF JSON エディター", + "viewLabel": "PDF エディター", + "converting": "PDF を編集可能形式に変換中...", + "conversionFailed": "PDF の変換に失敗しました。もう一度お試しください。", + "currentFile": "現在のファイル: {{name}}", + "pageSummary": "{{total}} ページ中 {{number}} ページ目", + "pagePreviewAlt": "ページプレビュー", + "imageLabel": "配置済み画像", + "noTextOnPage": "このページで編集可能なテキストは検出されませんでした。", + "pageType": { + "paragraph": "段落ページ", + "sparse": "疎なテキスト" + }, + "groupingMode": { + "auto": "自動", + "paragraph": "段落", + "singleLine": "1行" + }, + "badges": { + "unsaved": "編集済み", + "modified": "編集済み", + "earlyAccess": "早期アクセス" + }, + "actions": { + "reset": "変更をリセット", + "downloadJson": "JSON をダウンロード", + "generatePdf": "PDF を生成" + }, + "options": { + "autoScaleText": { + "title": "ボックスに収まるようテキストを自動スケール", + "description": "フォントレンダリングがPDFと異なる場合に、元のバウンディングボックス内に収まるよう横方向に自動スケールします。" + }, + "groupingMode": { + "title": "テキストのグループ化モード", + "autoDescription": "ページ種別を自動判定し、適切にテキストをグループ化します。", + "paragraphDescription": "整列した行を複数行の段落テキストボックスにまとめます。", + "singleLineDescription": "各PDFのテキスト行を個別のテキストボックスとして保持します。" + }, + "manualGrouping": { + "descriptionInline": "ヒント: Ctrl(Cmd)または Shift を押しながらで複数選択。選択の上にフローティングツールバーが表示され、結合・分割・幅調整ができます。" + }, + "forceSingleElement": { + "title": "編集したテキストを1つのPDF要素に固定", + "description": "有効にすると、編集した各テキストボックスを1つのPDFテキスト要素としてエクスポートし、グリフの重なりやフォント混在を避けます。" + } + }, + "manual": { + "mergeTooltip": "選択ボックスを結合", + "merge": "選択を結合", + "ungroupTooltip": "段落を行に分割", + "ungroup": "選択を分割", + "widthMenu": "幅オプション", + "expandWidth": "ページ端まで拡張", + "resetWidth": "幅をリセット", + "resizeHandle": "テキストの幅を調整" + }, + "disclaimer": { + "heading": "プレビューの制限", + "textFocus": "このワークスペースはテキストの編集と埋め込み画像の再配置に特化しています。複雑なページアートワーク、フォームウィジェット、レイヤー付きグラフィックスは書き出し時に保持されますが、ここでは完全には編集できません。", + "previewVariance": "一部のビジュアル(表の罫線、図形、注釈の見え方など)はプレビューで正確に表示されない場合があります。書き出されたPDFは可能な限り元の描画コマンドを保持します。", + "alpha": "このアルファ版ビューアは開発途上です。一部のフォント、色、透明効果、レイアウトの細部がわずかに変化する場合があります。共有前に生成されたPDFを必ず確認してください。" + }, + "empty": { + "title": "ドキュメントが読み込まれていません", + "subtitle": "テキスト編集を開始するにはPDFまたはJSONファイルを読み込んでください。" + }, + "welcomeBanner": { + "title": "PDF Text Editor(早期アクセス)へようこそ", + "experimental": "これは開発中の実験的機能です。使用中の不安定さや不具合が発生する可能性があります。", + "howItWorks": "このツールはPDFを編集可能な形式に変換し、テキストの編集や画像の再配置が行えます。変更は新しいPDFとして保存されます。", + "bestFor": "最適:", + "bestFor1": "主にテキストと画像で構成されたシンプルなPDF", + "bestFor2": "標準的な段落書式のドキュメント", + "bestFor3": "手紙、エッセイ、レポートなどの基本的なドキュメント", + "notIdealFor": "不向き:", + "notIdealFor1": "箇条書き、表、複数段組などの特別な書式を含むPDF", + "notIdealFor2": "雑誌、パンフレットなどデザイン性の高いドキュメント", + "notIdealFor3": "複雑なレイアウトの取扱説明書", + "limitations": "現在の制限:", + "limitation1": "フォントの描画が元のPDFとわずかに異なる場合があります", + "limitation2": "複雑なグラフィックス、フォームフィールド、注釈は保持されますが編集できません", + "limitation3": "大きなファイルは変換と処理に時間がかかる場合があります", + "knownIssues": "既知の問題(修正中):", + "issue1": "テキストの色は現在保持されません(近日対応予定)", + "issue2": "段落モードは整列や行間の問題が多いため、単一行モードを推奨します", + "issue3": "プレビュー表示は書き出し後のPDFと異なる場合があります(書き出しPDFの方が原本に近い)", + "issue4": "回転テキストの整列は手動調整が必要な場合があります", + "issue5": "透明度やレイヤー効果は原本と異なる場合があります", + "feedback": "これは早期アクセス機能です。問題があればご報告ください。改善に役立ちます。", + "gotIt": "了解", + "dontShowAgain": "今後表示しない" + }, + "modeChange": { + "title": "モード変更の確認", + "warning": "テキストのグループ化モードを変更すると、未保存の変更はすべてリセットされます。続行してよろしいですか?", + "cancel": "キャンセル", + "confirm": "リセットしてモード変更" + }, + "fontAnalysis": { + "details": "フォント詳細", + "embedded": "埋め込み", + "type": "種類", + "webFormat": "Web形式", + "warnings": "警告", + "suggestions": "注記", + "currentPageFonts": "このページのフォント", + "allFonts": "すべてのフォント", + "fallback": "フォールバック", + "missing": "欠落", + "perfectMessage": "すべてのフォントを完全に再現できます。", + "warningMessage": "一部のフォントは正しく表示されない可能性があります。", + "infoMessage": "フォント再現情報があります。", + "perfect": "完全", + "subset": "サブセット" + }, + "errors": { + "invalidJson": "JSONファイルを読み取れません。PDF to JSONツールで生成されたものか確認してください。", + "pdfConversion": "編集したJSONをPDFに変換できませんでした。" + } + }, + "auth": { + "sessionExpired": "セッションの有効期限が切れました", + "pleaseLoginAgain": "再度ログインしてください。", + "accessDenied": "アクセス拒否", + "insufficientPermissions": "この操作を実行する権限がありません。" + }, + "addText": { + "title": "テキスト追加", + "header": "PDFにテキストを追加", + "text": { + "name": "テキスト内容", + "placeholder": "追加するテキストを入力", + "fontLabel": "フォント", + "fontSizeLabel": "フォントサイズ", + "fontSizePlaceholder": "フォントサイズを入力または選択(8〜200)", + "colorLabel": "テキストの色" + }, + "steps": { + "configure": "テキスト設定" + }, + "step": { + "createDesc": "追加するテキストを入力", + "place": "テキスト配置", + "placeDesc": "PDF上をクリックしてテキストを追加" + }, + "instructions": { + "title": "テキストの追加方法", + "text": "上でテキストを入力したら、PDF上の任意の場所をクリックして配置します。", + "paused": "配置を一時停止", + "resumeHint": "配置を再開してクリックし、テキストを追加してください。", + "noSignature": "上でテキストを入力すると配置できるようになります。" + }, + "mode": { + "move": "テキスト移動", + "place": "テキスト配置", + "pause": "配置を一時停止", + "resume": "配置を再開" + }, + "results": { + "title": "テキスト追加の結果" + }, + "error": { + "failed": "PDFにテキストを追加中にエラーが発生しました。" + }, + "tags": "テキスト,注釈,ラベル", + "applySignatures": "テキストを適用" } } \ No newline at end of file diff --git a/frontend/public/locales/ko-KR/translation.json b/frontend/public/locales/ko-KR/translation.json index fa52a8d79..a9c4fb7e1 100644 --- a/frontend/public/locales/ko-KR/translation.json +++ b/frontend/public/locales/ko-KR/translation.json @@ -17,6 +17,8 @@ "comingSoon": "곧 제공 예정:", "favorite": "즐겨찾기에 추가", "favorites": "즐겨찾기", + "unavailable": "서버 관리자에 의해 비활성화됨:", + "unavailableDependency": "사용 불가 - 서버에 필요한 도구가 없음:", "heading": "모든 도구(전체 화면 보기)", "noResults": "검색을 조정하거나 설명 토글을 사용해 보세요.", "recommended": "추천", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "전체 화면 모드로 전환", "sidebar": "사이드바 모드로 전환" - } + }, + "alpha": "알파", + "premiumFeature": "프리미엄 기능:", + "comingSoon": "곧 제공:" }, "unsavedChanges": "PDF에 저장되지 않은 변경 사항이 있습니다.", "areYouSure": "정말 떠나시겠습니까?", @@ -41,6 +46,30 @@ "cancel": "취소", "confirm": "압축 해제" }, + "defaultApp": { + "title": "기본 PDF 앱으로 설정", + "message": "Stirling PDF를 기본 PDF 편집기로 설정하시겠습니까?", + "description": "나중에 시스템 설정에서 변경할 수 있습니다.", + "notNow": "나중에", + "setDefault": "기본값으로 설정", + "dismiss": "닫기", + "prompt": { + "title": "기본 PDF 편집기로 설정", + "message": "PDF 파일을 여는 기본 앱으로 Stirling PDF를 설정하세요." + }, + "success": { + "title": "기본 앱 설정됨", + "message": "Stirling PDF가 기본 PDF 편집기로 설정되었습니다" + }, + "settingsOpened": { + "title": "설정 열림", + "message": "시스템 설정에서 Stirling PDF를 선택하세요" + }, + "error": { + "title": "오류", + "message": "기본 PDF 처리기 설정에 실패했습니다" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "저장", "saveToBrowser": "브라우저에 저장", "download": "다운로드", + "downloadUnavailable": "이 항목은 다운로드할 수 없습니다", + "saveUnavailable": "이 항목은 저장할 수 없습니다", "pin": "파일 고정(도구 실행 후에도 유지)", "unpin": "파일 고정 해제(도구 실행 후 교체)", "undoOperationTooltip": "마지막 작업을 실행 취소하고 원본 파일을 복원하려면 클릭", @@ -168,6 +199,7 @@ }, "edit": "편집", "delete": "삭제", + "never": "안 함", "username": "사용자 이름", "password": "비밀번호", "welcome": "환영합니다", @@ -262,7 +294,8 @@ "learnMore": "자세히 알아보기", "enable": "분석 활성화", "disable": "분석 비활성화", - "settings": "config/settings.yml 파일에서 분석 설정을 변경할 수 있습니다" + "settings": "config/settings.yml 파일에서 분석 설정을 변경할 수 있습니다", + "privacyAssurance": "개인 정보나 파일 내용은 추적하지 않습니다." }, "navbar": { "favorite": "즐겨찾기", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "설정", - "update": "업데이트 가능", - "updateAvailable": "{0}은(는) 현재 설치된 버전입니다. 새 버전({1})이 사용 가능합니다.", - "appVersion": "앱 버전:", - "downloadOption": { - "title": "다운로드 옵션 선택 (단일 파일 비압축 다운로드용):", - "1": "같은 창에서 열기", - "2": "새 창에서 열기", - "3": "파일 다운로드" - }, - "zipThreshold": "다운로드 파일 수가 다음을 초과할 때 ZIP으로 압축", - "signOut": "로그아웃", - "accountSettings": "계정 설정", - "bored": { - "help": "이스터에그 게임 활성화" - }, - "cacheInputs": { - "name": "입력 양식 저장", - "help": "다음 실행을 위해 이전에 사용한 입력을 저장하도록 활성화" + "connection": { + "title": "연결 모드", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "자가 호스팅" + }, + "server": "서버", + "user": "로그인 사용자", + "logout": "로그아웃" }, "general": { "title": "일반", "description": "일반 애플리케이션 기본 설정을 구성합니다.", - "account": "계정", - "accountDescription": "계정 설정 관리", "user": "사용자", - "signedInAs": "다음으로 로그인됨", "logout": "로그아웃", "enableFeatures": { + "dismiss": "닫기", "title": "시스템 관리자용", "intro": "조직을 위한 사용자 인증, 팀 관리, 워크스페이스 기능을 활성화합니다.", "action": "구성", "and": "및", "benefit": "사용자 역할, 팀 협업, 관리자 제어 및 엔터프라이즈 기능을 활성화합니다.", - "learnMore": "문서에서 자세히 알아보기", - "dismiss": "닫기" + "learnMore": "문서에서 자세히 알아보기" }, - "autoUnzip": "API 응답 자동 압축 해제", - "autoUnzipDescription": "ZIP 응답에서 파일을 자동으로 추출", - "autoUnzipTooltip": "API 작업에서 반환된 ZIP 파일을 자동으로 추출합니다. 비활성화하면 ZIP 파일을 그대로 유지합니다. 이는 자동화 워크플로에는 영향을 주지 않습니다.", - "autoUnzipFileLimit": "자동 압축 해제 파일 제한", - "autoUnzipFileLimitDescription": "ZIP에서 추출할 최대 파일 수", - "autoUnzipFileLimitTooltip": "ZIP에 포함된 파일 수가 이 값 이하일 때만 압축을 풉니다. 더 크게 설정하면 더 큰 ZIP을 추출할 수 있습니다.", "defaultToolPickerMode": "기본 도구 선택기 모드", "defaultToolPickerModeDescription": "도구 선택기를 기본으로 전체 화면 또는 사이드바 중 어떤 모드로 열지 선택하세요", "mode": { - "fullscreen": "전체 화면", - "sidebar": "사이드바" - } + "sidebar": "사이드바", + "fullscreen": "전체 화면" + }, + "autoUnzipTooltip": "API 작업에서 반환된 ZIP 파일을 자동으로 추출합니다. 비활성화하면 ZIP 파일을 그대로 유지합니다. 이는 자동화 워크플로에는 영향을 주지 않습니다.", + "autoUnzip": "API 응답 자동 압축 해제", + "autoUnzipDescription": "ZIP 응답에서 파일을 자동으로 추출", + "autoUnzipFileLimitTooltip": "ZIP에 포함된 파일 수가 이 값 이하일 때만 압축을 풉니다. 더 크게 설정하면 더 큰 ZIP을 추출할 수 있습니다.", + "autoUnzipFileLimit": "자동 압축 해제 파일 제한", + "autoUnzipFileLimitDescription": "ZIP에서 추출할 최대 파일 수", + "defaultPdfEditor": "기본 PDF 편집기", + "defaultPdfEditorActive": "Stirling PDF가 기본 PDF 편집기입니다", + "defaultPdfEditorInactive": "다른 앱이 기본값으로 설정됨", + "defaultPdfEditorChecking": "확인 중...", + "defaultPdfEditorSet": "이미 기본값", + "setAsDefault": "기본값으로 설정", + "updates": { + "title": "소프트웨어 업데이트", + "description": "업데이트 확인 및 버전 정보 보기", + "currentVersion": "현재 버전", + "latestVersion": "최신 버전", + "checkForUpdates": "업데이트 확인", + "viewDetails": "자세히 보기" + }, + "hideUnavailableTools": "사용 불가 도구 숨기기", + "hideUnavailableToolsDescription": "회색으로 표시하는 대신 서버에서 비활성화된 도구를 숨깁니다.", + "hideUnavailableConversions": "사용 불가 변환 숨기기", + "hideUnavailableConversionsDescription": "회색으로 표시하는 대신 변환 도구의 비활성화된 옵션을 숨깁니다." }, "hotkeys": { - "title": "키보드 단축키", - "description": "도구 위에 마우스를 올리면 단축키를 볼 수 있으며, 아래에서 사용자 지정할 수 있습니다. \"단축키 변경\"을 클릭하고 새 키 조합을 누르세요. Esc로 취소합니다.", - "errorModifier": { - "mac": "단축키에 ⌘(Command), ⌥(Option) 또는 다른 보조 키를 포함하세요.", - "windows": "단축키에 Ctrl, Alt 또는 다른 보조 키를 포함하세요." - }, "errorConflict": "단축키가 {{tool}}에서 이미 사용 중입니다.", + "searchPlaceholder": "도구 검색...", "none": "미지정", "customBadge": "사용자 지정", "defaultLabel": "기본값: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "단축키 변경", "reset": "재설정", "shortcut": "단축키", - "noShortcut": "설정된 단축키 없음", - "searchPlaceholder": "도구 검색..." + "noShortcut": "설정된 단축키 없음" } }, + "update": { + "modalTitle": "업데이트 사용 가능", + "current": "현재 버전", + "latest": "최신 버전", + "latestStable": "최신 안정판", + "priorityLabel": "우선순위", + "recommendedAction": "권장 작업", + "breakingChangesDetected": "호환성 파괴 변경 감지됨", + "breakingChangesMessage": "일부 버전에 호환성 파괴 변경이 포함되어 있습니다. 업데이트 전에 아래 마이그레이션 가이드를 검토하세요.", + "migrationGuides": "마이그레이션 가이드", + "viewGuide": "가이드 보기", + "loadingDetailedInfo": "상세 정보 로드 중...", + "close": "닫기", + "viewAllReleases": "모든 릴리스 보기", + "downloadLatest": "최신 버전 다운로드", + "availableUpdates": "사용 가능한 업데이트", + "unableToLoadDetails": "상세 정보를 불러올 수 없습니다.", + "version": "버전", + "urgentUpdateAvailable": "긴급 업데이트", + "updateAvailable": "업데이트 사용 가능", + "releaseNotes": "릴리스 노트", + "priority": { + "urgent": "긴급", + "normal": "보통", + "minor": "경미", + "low": "낮음" + }, + "breakingChanges": "호환성 파괴 변경", + "breakingChangesDefault": "이 버전에는 호환성 파괴 변경이 포함되어 있습니다.", + "migrationGuide": "마이그레이션 가이드" + }, "changeCreds": { "title": "자격 증명 변경", "header": "계정 정보 업데이트", @@ -702,7 +765,7 @@ "desc": "PDF 문서의 디지털 서명과 인증서 검증" }, "swagger": { - "tags": "API,documentation,test", + "tags": "API,문서,테스트", "title": "API 문서", "desc": "API 문서를 보고 엔드포인트를 테스트합니다." }, @@ -751,7 +814,7 @@ "desc": "PDF 문서의 색상을 교체하거나 반전합니다." }, "devApi": { - "tags": "API,development,documentation", + "tags": "API,개발,문서", "title": "API", "desc": "API 문서로 이동" }, @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "PDF를 다른 PDF 위에 오버레이", "title": "PDF 오버레이" + }, + "pdfTextEditor": { + "title": "PDF 텍스트 편집기", + "desc": "그룹화된 텍스트 편집과 PDF 재생성으로 Stirling PDF의 JSON 내보내기를 검토하고 편집하세요" + }, + "addText": { + "tags": "텍스트,주석,레이블", + "title": "텍스트 추가", + "desc": "PDF 어디에나 사용자 텍스트를 추가합니다" } }, "landing": { "addFiles": "파일 추가", - "uploadFromComputer": "컴퓨터에서 업로드" + "uploadFromComputer": "컴퓨터에서 업로드", + "openFromComputer": "컴퓨터에서 열기" }, "viewPdf": { "tags": "보기,읽기,주석,텍스트,이미지", @@ -849,6 +922,11 @@ }, "error": { "failed": "PDF를 병합하는 동안 오류가 발생했습니다." + }, + "tooltip": { + "header": { + "title": "병합 설정 개요" + } } }, "split": { @@ -1047,7 +1125,7 @@ "settings": "설정", "conversionCompleted": "변환 완료", "results": "결과", - "defaultFilename": "converted_file", + "defaultFilename": "변환된_파일", "conversionResults": "변환 결과", "convertFrom": "다음에서 변환", "convertTo": "다음으로 변환", @@ -1182,9 +1260,43 @@ "tags": "이미지,jpg,사진", "title": "이미지 추가", "header": "PDF에 이미지 추가", - "everyPage": "모든 페이지?", - "upload": "이미지 추가", - "submit": "이미지 추가" + "image": { + "name": "이미지", + "placeholder": "이미지 업로드", + "label": "이미지 파일" + }, + "steps": { + "configure": "이미지 구성" + }, + "step": { + "createDesc": "추가할 이미지를 업로드하세요", + "place": "이미지 배치", + "placeDesc": "PDF에서 클릭하여 이미지를 추가하세요" + }, + "instructions": { + "title": "이미지 추가 방법", + "text": "위에서 이미지를 업로드한 뒤, PDF를 클릭하여 배치하세요.", + "paused": "배치 일시중지", + "resumeHint": "배치를 다시 시작하여 클릭 후 이미지를 추가하세요.", + "noSignature": "이미지를 업로드하면 배치할 수 있습니다." + }, + "mode": { + "move": "이미지 이동", + "place": "이미지 배치", + "pause": "배치 일시중지", + "resume": "배치 재개" + }, + "results": { + "title": "이미지 추가 결과" + }, + "error": { + "failed": "PDF에 이미지를 추가하는 중 오류가 발생했습니다." + }, + "saved": { + "defaultLabel": "이미지", + "defaultImageLabel": "업로드된 이미지" + }, + "applySignatures": "이미지 적용" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1397,6 +1509,93 @@ }, "submit": "변경" }, + "editTableOfContents": { + "settings": { + "title": "북마크 및 개요", + "replaceExisting": "기존 북마크 교체(해제 시 뒤에 추가)", + "replaceExistingHint": "비활성화하면 새 개요가 현재 북마크 뒤에 추가됩니다." + }, + "actions": { + "source": "북마크 불러오기", + "selectedFile": "{{file}}에서 불러옴", + "noFile": "기존 북마크를 추출할 PDF를 선택하세요.", + "loadFromPdf": "선택한 PDF에서 불러오기", + "importJson": "JSON 가져오기", + "importClipboard": "클립보드에서 JSON 붙여넣기", + "export": "북마크 내보내기", + "exportJson": "JSON 다운로드", + "exportClipboard": "클립보드에 JSON 복사", + "clipboardUnavailable": "이 브라우저에서는 클립보드 접근을 사용할 수 없습니다." + }, + "info": { + "line1": "각 북마크에는 설명 제목과 열 페이지 번호가 필요합니다.", + "line2": "하위 북마크를 사용하여 장, 절, 소절의 계층을 만드세요.", + "line3": "선택한 PDF 또는 JSON 파일에서 북마크를 가져와 시간을 절약하세요." + }, + "workbench": { + "empty": { + "title": "도구를 열어 편집 시작", + "description": "목차 편집 도구를 선택하여 작업 공간을 불러오세요." + }, + "tabTitle": "개요 작업 공간", + "subtitle": "북마크 가져오기, 계층 구성, 좁은 사이드 패널 없이 개요 적용.", + "noFile": "선택된 PDF가 없습니다", + "fileLabel": "변경 사항은 현재 선택된 PDF에 적용됩니다.", + "filePrompt": "라이브러리에서 PDF를 선택하거나 새로 업로드하여 시작하세요.", + "changeFile": "PDF 변경", + "selectFile": "PDF 선택" + }, + "editor": { + "heading": "북마크 편집기", + "description": "북마크를 추가, 중첩, 재정렬하여 PDF 개요를 만드세요.", + "addTopLevel": "최상위 북마크 추가", + "empty": { + "title": "아직 북마크가 없습니다", + "description": "기존 북마크를 가져오거나 첫 항목을 추가해 시작하세요.", + "action": "첫 북마크 추가" + }, + "defaultTitle": "새 북마크", + "defaultChildTitle": "하위 북마크", + "defaultSiblingTitle": "새 북마크", + "untitled": "제목 없는 북마크", + "childBadge": "하위", + "pagePreview": "페이지 {{page}}", + "field": { + "title": "북마크 제목", + "page": "대상 페이지 번호" + }, + "actions": { + "toggle": "하위 토글", + "addChild": "하위 북마크 추가", + "addSibling": "동일 계층 북마크 추가", + "remove": "북마크 제거" + }, + "confirmRemove": "이 북마크와 모든 하위를 제거하시겠습니까?" + }, + "messages": { + "loadedTitle": "북마크 추출됨", + "loadedBody": "PDF의 기존 북마크를 편집기에 불러왔습니다.", + "noBookmarks": "선택한 PDF에서 북마크를 찾지 못했습니다.", + "loadFailed": "선택한 PDF에서 북마크를 추출할 수 없습니다.", + "imported": "북마크 가져옴", + "importedBody": "JSON 개요가 현재 편집기 내용을 대체했습니다.", + "importedClipboard": "클립보드 데이터가 현재 북마크 목록을 대체했습니다.", + "invalidJson": "잘못된 JSON 구조", + "invalidJsonBody": "올바른 북마크 JSON 파일을 제공한 후 다시 시도하세요.", + "exported": "JSON 다운로드 준비됨", + "copied": "클립보드에 복사됨", + "copiedBody": "북마크 JSON을 성공적으로 복사했습니다.", + "copyFailed": "복사 실패" + }, + "error": { + "failed": "목차 업데이트에 실패했습니다" + }, + "submit": "목차 적용", + "results": { + "title": "북마크가 포함된 PDF 업데이트됨", + "subtitle": "처리된 파일을 다운로드하거나 아래에서 실행 취소하세요." + } + }, "removePages": { "tags": "페이지 제거,페이지 삭제", "title": "제거", @@ -1405,7 +1604,7 @@ "placeholder": "예: 1,3,5-8,10", "error": "잘못된 페이지 번호 형식입니다. 숫자, 범위(1-5) 또는 수학식(2n+1)을 사용하세요." }, - "filenamePrefix": "pages_removed", + "filenamePrefix": "페이지_제거됨", "files": { "placeholder": "시작하려면 기본 화면에서 PDF 파일을 선택하세요" }, @@ -1601,12 +1800,12 @@ "tags": "압축,작게,매우 작게" }, "unlockPDFForms": { - "tags": "remove,delete,form,field,readonly", + "tags": "제거,삭제,양식,필드,읽기 전용", "title": "양식 필드의 읽기 전용 제거", "header": "PDF 양식 잠금 해제", "submit": "Remove", "description": "이 도구는 PDF 양식 필드의 읽기 전용 제한을 제거하여 편집 및 입력 가능하도록 만듭니다.", - "filenamePrefix": "unlocked_forms", + "filenamePrefix": "잠금해제된_양식", "files": { "placeholder": "시작하려면 기본 화면에서 PDF 파일을 선택하세요" }, @@ -1620,7 +1819,7 @@ "changeMetadata": { "header": "메타데이터 변경", "submit": "변경", - "filenamePrefix": "metadata", + "filenamePrefix": "메타데이터", "settings": { "title": "메타데이터 설정" }, @@ -1668,7 +1867,7 @@ }, "trapped": { "label": "트래핑 상태", - "unknown": "Unknown", + "unknown": "알 수 없음", "true": "True", "false": "False" }, @@ -1978,13 +2177,54 @@ "title": "서명을 그리세요", "clear": "지우기" }, + "canvas": { + "heading": "서명을 그리세요", + "clickToOpen": "그리기 캔버스 열기", + "modalTitle": "서명을 그리세요", + "colorLabel": "색상", + "penSizeLabel": "펜 크기", + "penSizePlaceholder": "크기", + "clear": "캔버스 지우기", + "colorPickerTitle": "선 색상 선택" + }, "text": { "name": "서명자 이름", - "placeholder": "성명을 입력하세요" + "placeholder": "성명을 입력하세요", + "fontLabel": "글꼴", + "fontSizeLabel": "글꼴 크기", + "fontSizePlaceholder": "글꼴 크기 입력 또는 선택(8-200)", + "colorLabel": "텍스트 색상" }, "clear": "지우기", "add": "추가", - "saved": "저장된 서명", + "saved": { + "heading": "저장된 서명", + "description": "저장된 서명을 언제든 재사용하세요.", + "emptyTitle": "저장된 서명이 없습니다", + "emptyDescription": "그리기, 업로드 또는 텍스트로 서명을 만든 뒤, \"라이브러리에 저장\"으로 최대 {{max}}개 즐겨찾기를 보관하세요.", + "type": { + "canvas": "그리기", + "image": "업로드", + "text": "텍스트" + }, + "limitTitle": "한도에 도달함", + "limitDescription": "새로 추가하려면 저장된 서명을 제거하세요(최대 {{max}}).", + "carouselPosition": "{{current}} / {{total}}", + "prev": "이전", + "next": "다음", + "delete": "삭제", + "label": "레이블", + "defaultLabel": "서명", + "defaultCanvasLabel": "그린 서명", + "defaultImageLabel": "업로드된 서명", + "defaultTextLabel": "입력한 서명", + "saveButton": "서명 저장", + "saveUnavailable": "먼저 서명을 만든 후 저장하세요.", + "noChanges": "현재 서명이 이미 저장되어 있습니다.", + "status": { + "saved": "저장됨" + } + }, "save": "서명 저장", "applySignatures": "서명 적용", "personalSigs": "개인 서명", @@ -2003,12 +2243,18 @@ "steps": { "configure": "서명 구성" }, + "step": { + "createDesc": "서명을 만드는 방법을 선택하세요", + "place": "배치 및 저장", + "placeDesc": "PDF에 서명을 배치하세요" + }, "type": { "title": "서명 유형", "draw": "그리기", "canvas": "캔버스", "image": "이미지", - "text": "텍스트" + "text": "텍스트", + "saved": "저장됨" }, "image": { "label": "서명 이미지 업로드", @@ -2019,11 +2265,17 @@ "title": "서명 추가 방법", "canvas": "캔버스에서 서명을 그린 후 창을 닫고, PDF의 아무 곳이나 클릭하여 배치하세요.", "image": "위에서 서명 이미지를 업로드한 후, PDF의 아무 곳이나 클릭하여 배치하세요.", - "text": "위에 이름을 입력한 후, PDF의 아무 곳이나 클릭하여 서명을 배치하세요." + "saved": "위에서 저장된 서명을 선택한 뒤, PDF를 클릭하여 배치하세요.", + "text": "위에 이름을 입력한 후, PDF의 아무 곳이나 클릭하여 서명을 배치하세요.", + "paused": "배치 일시중지", + "resumeHint": "배치를 다시 시작하여 클릭 후 서명을 추가하세요.", + "noSignature": "위에서 서명을 만들면 배치 도구가 활성화됩니다." }, "mode": { "move": "서명 이동", - "place": "서명 배치" + "place": "서명 배치", + "pause": "배치 일시중지", + "resume": "배치 재개" }, "updateAndPlace": "업데이트 후 배치", "activate": "서명 배치 활성화", @@ -2040,7 +2292,7 @@ "header": "PDF 평면화", "flattenOnlyForms": "양식만 평면화", "submit": "평면화", - "filenamePrefix": "flattened", + "filenamePrefix": "평탄화됨", "files": { "placeholder": "시작하려면 기본 화면에서 PDF 파일을 선택하세요" }, @@ -2090,7 +2342,7 @@ "header": "PDF 복구", "submit": "복구", "description": "손상되었거나 오류가 있는 PDF 파일을 복구 시도합니다. 추가 설정은 필요하지 않습니다.", - "filenamePrefix": "repaired", + "filenamePrefix": "복구됨", "files": { "placeholder": "시작하려면 기본 화면에서 PDF 파일을 선택하세요" }, @@ -2163,6 +2415,14 @@ "title": "주석 제거 안내", "description": "이 도구는 PDF 문서에서 모든 주석(댓글, 강조 표시, 노트 등)을 제거합니다." }, + "tooltip": { + "header": { + "title": "주석 제거 정보" + }, + "description": { + "title": "기능" + } + }, "error": { "failed": "PDF에서 주석 제거 중 오류가 발생했습니다." } @@ -2293,7 +2553,7 @@ "certSign": { "tags": "인증,PEM,P12,공식,암호화", "title": "인증서 서명", - "filenamePrefix": "signed", + "filenamePrefix": "서명됨", "signMode": { "stepTitle": "서명 모드", "tooltip": { @@ -2467,7 +2727,7 @@ } }, "bookletImposition": { - "tags": "booklet,imposition,printing,binding,folding,signature", + "tags": "소책자,쇄배열,인쇄,제본,접지,시그니처", "title": "소책자 면배열", "header": "소책자 면배열", "submit": "소책자 생성", @@ -2568,7 +2828,7 @@ "submit": "제출" }, "adjustPageScale": { - "tags": "resize,modify,dimension,adapt", + "tags": "크기 조정,수정,치수,맞춤", "title": "페이지 배율 조정", "header": "페이지 배율 조정", "scaleFactor": { @@ -2627,6 +2887,9 @@ "header": { "title": "자동 이름 변경 방식" }, + "description": { + "title": "기능" + }, "howItWorks": { "title": "스마트 이름 변경", "text": "PDF 콘텐츠에서 제목을 자동으로 찾아 파일명으로 사용합니다.", @@ -2634,6 +2897,9 @@ "bullet2": "감지된 제목으로 깔끔하고 유효한 파일명을 생성합니다", "bullet3": "적합한 제목을 찾지 못하면 원래 이름을 유지합니다" } + }, + "settings": { + "title": "정보" } }, "adjust-contrast": { @@ -3124,7 +3390,7 @@ "totalSignatures": "총 서명 수" }, "replaceColor": { - "tags": "Replace Colour,Page operations,Back end,server side", + "tags": "색상 교체,페이지 작업,백엔드,서버 측", "labels": { "settings": "설정", "colourOperation": "색상 작업" @@ -3227,7 +3493,26 @@ "unexpectedError": "예기치 않은 오류: {{message}}", "accountCreatedSuccess": "계정이 성공적으로 생성되었습니다! 이제 로그인할 수 있습니다.", "passwordChangedSuccess": "비밀번호가 성공적으로 변경되었습니다! 새 비밀번호로 로그인하세요.", - "credentialsUpdated": "자격 증명이 업데이트되었습니다. 다시 로그인하세요." + "credentialsUpdated": "자격 증명이 업데이트되었습니다. 다시 로그인하세요.", + "defaultCredentials": "기본 로그인 정보", + "changePasswordWarning": "첫 로그인 후 비밀번호를 변경하세요", + "slides": { + "overview": { + "alt": "Stirling PDF 개요", + "title": "모든 PDF 작업을 한곳에서", + "subtitle": "개인정보 보호를 최우선으로 하는 PDF 클라우드 제품군으로, 변환, 서명, 가리기, 문서 관리 등 50개 이상의 강력한 도구를 제공합니다." + }, + "edit": { + "alt": "PDF 편집", + "title": "원하는 정보를 표시/보호하도록 PDF를 편집하세요", + "subtitle": "PDF 가리기, 서명, 읽기 및 처리에 도움이 되는 십여 개 이상의 도구로 원하는 기능을 찾을 수 있습니다." + }, + "secure": { + "alt": "PDF 보호", + "title": "PDF의 민감한 정보를 보호하세요", + "subtitle": "비밀번호 추가, 콘텐츠 가리기, 인증서 관리를 손쉽게." + } + } }, "signup": { "title": "계정 만들기", @@ -3502,7 +3787,7 @@ "title": "API 문서", "header": "API 문서", "desc": "Stirling PDF API 엔드포인트를 조회하고 테스트하세요", - "tags": "api,documentation,swagger,endpoints,development" + "tags": "api,문서,swagger,엔드포인트,개발" }, "cookieBanner": { "popUp": { @@ -3598,7 +3883,9 @@ "exportAll": "PDF 내보내기", "downloadSelected": "선택한 파일 다운로드", "downloadAll": "전체 다운로드", + "saveAll": "모두 저장", "toggleTheme": "테마 전환", + "toggleBookmarks": "북마크 표시/숨기기", "language": "언어", "search": "PDF 검색", "panMode": "이동 모드", @@ -3685,8 +3972,16 @@ "saved": "설정이 성공적으로 저장되었습니다", "saveSuccess": "설정이 성공적으로 저장되었습니다", "save": "변경 사항 저장", + "discard": "버리기", "restartRequired": "재시작 필요", "loginRequired": "관리자 설정을 변경하려면 로그인 모드를 활성화해야 합니다", + "unsavedChanges": { + "title": "저장되지 않은 변경 사항", + "message": "저장되지 않은 변경 사항이 있습니다. 버리시겠습니까?", + "cancel": "계속 편집", + "discard": "변경 사항 버리기", + "hint": "저장되지 않은 변경 사항이 있습니다" + }, "loginDisabled": { "title": "로그인 모드 필요", "message": "관리자 설정을 변경하려면 로그인 모드를 활성화해야 합니다. 환경 변수에서 SECURITY_ENABLELOGIN=true 또는 settings.yml에서 security.enableLogin: true 로 설정한 다음 서버를 재시작하세요.", @@ -3951,11 +4246,11 @@ "description": "OAuth2 제공자의 발급자 URL" }, "clientId": { - "label": "Client ID", + "label": "클라이언트 ID", "description": "제공자에서 발급받은 OAuth2 Client ID" }, "clientSecret": { - "label": "Client Secret", + "label": "클라이언트 시크릿", "description": "제공자에서 발급받은 OAuth2 Client Secret" }, "useAsUsername": { @@ -4137,7 +4432,7 @@ "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", "weasyPrint": "WeasyPrint", - "installApp": "Install App", + "installApp": "앱 설치", "calibre": "Calibre", "ghostscript": "Ghostscript", "ocrMyPdf": "OCRmyPDF" @@ -4212,9 +4507,21 @@ "title": "프리미엄 및 엔터프라이즈", "description": "프리미엄 또는 엔터프라이즈 라이선스 키를 구성합니다.", "license": "라이선스 구성", + "licenseKey": { + "toggle": "라이선스 키나 인증서 파일이 있나요?", + "info": "직접 구매로 받은 라이선스 키 또는 인증서 파일이 있다면 여기에서 입력해 프리미엄 또는 엔터프라이즈 기능을 활성화하세요." + }, "key": { "label": "라이선스 키", - "description": "프리미엄 또는 엔터프라이즈 라이선스 키를 입력하세요" + "description": "프리미엄 또는 엔터프라이즈 라이선스 키를 입력하세요", + "success": "라이선스 키 저장됨", + "successMessage": "라이선스 키가 성공적으로 활성화되었습니다. 재시작이 필요 없습니다.", + "overwriteWarning": { + "title": "⚠️ 경고: 기존 라이선스 감지됨", + "line1": "현재 라이선스 키를 덮어쓰면 되돌릴 수 없습니다.", + "line2": "다른 곳에 백업하지 않았다면 이전 라이선스는 영구적으로 손실됩니다.", + "line3": "중요: 라이선스 키는 개인적으로 안전하게 보관하세요. 공개적으로 공유하지 마세요." + } }, "enabled": { "label": "프리미엄 기능 활성화", @@ -4278,12 +4585,17 @@ "or": "또는", "dropFileHere": "여기에 파일을 끌어다 놓거나 클릭하여 업로드", "dropFilesHere": "여기에 파일을 끌어다 놓거나 업로드 버튼을 클릭하세요", + "dropFilesHereOpen": "파일을 여기로 끌어오거나 열기 버튼을 클릭하세요", "pdfFilesOnly": "PDF 파일만", "supportedFileTypes": "지원되는 파일 형식", "upload": "업로드", "uploadFile": "파일 업로드", "uploadFiles": "파일 업로드", + "open": "열기", + "openFile": "파일 열기", + "openFiles": "여러 파일 열기", "noFilesInStorage": "저장소에 사용 가능한 파일이 없습니다. 먼저 몇 개의 파일을 업로드하세요.", + "noFilesInStorageOpen": "저장소에 파일이 없습니다. 먼저 파일을 여세요.", "selectFromStorage": "저장소에서 선택", "backToTools": "도구로 돌아가기", "addFiles": "파일 추가", @@ -4325,10 +4637,12 @@ "recent": "최근", "localFiles": "로컬 파일", "googleDrive": "Google Drive", - "googleDriveShort": "Drive", + "googleDriveShort": "드라이브", "myFiles": "내 파일", "noRecentFiles": "최근 파일이 없습니다", "googleDriveNotAvailable": "Google Drive 통합을 사용할 수 없습니다", + "downloadSelected": "선택 항목 다운로드", + "saveSelected": "선택 항목 저장", "openFiles": "파일 열기", "openFile": "파일 열기", "details": "파일 세부정보", @@ -4341,7 +4655,6 @@ "selectAll": "모두 선택", "deselectAll": "모두 선택 해제", "deleteSelected": "선택 항목 삭제", - "downloadSelected": "선택 항목 다운로드", "selectedCount": "{{count}}개 선택됨", "download": "다운로드", "delete": "삭제", @@ -4621,9 +4934,14 @@ "secureWorkflow": "보안 워크플로", "secureWorkflowDesc": "JavaScript 및 포함된 파일과 같은 잠재적으로 악성인 콘텐츠를 제거하고, 무단 접근을 방지하기 위해 비밀번호 보호를 추가하여 PDF 문서를 보호합니다. 기본 비밀번호는 'password'로 설정됩니다.", "processImages": "이미지 처리", - "processImagesDesc": "여러 이미지 파일을 하나의 PDF 문서로 변환한 뒤, OCR 기술을 적용하여 이미지에서 검색 가능한 텍스트를 추출합니다." + "processImagesDesc": "여러 이미지 파일을 하나의 PDF 문서로 변환한 뒤, OCR 기술을 적용하여 이미지에서 검색 가능한 텍스트를 추출합니다.", + "prePublishSanitization": "게시 전 Sanitization", + "prePublishSanitizationDesc": "PDF를 온라인에 게시하기 전에 데이터 유출을 방지하도록 숨겨진 메타데이터, JavaScript, 임베디드 파일, 주석을 모두 제거하고 양식을 평탄화하는 Sanitization 워크플로입니다." } }, + "colorPicker": { + "title": "색상 선택" + }, "common": { "previous": "이전", "next": "다음", @@ -4639,7 +4957,13 @@ "used": "사용됨", "available": "사용 가능", "cancel": "취소", - "preview": "미리보기" + "preview": "미리보기", + "close": "닫기", + "done": "완료", + "loading": "불러오는 중...", + "back": "뒤로", + "continue": "계속", + "error": "오류" }, "config": { "overview": { @@ -4684,7 +5008,7 @@ "nextReset": "다음 초기화", "lastApiUse": "마지막 API 사용", "overlayMessage": "크레딧과 사용 가능 크레딧을 보려면 키를 생성하세요", - "label": "API Key", + "label": "API 키", "guestInfo": "게스트 사용자는 API 키를 받을 수 없습니다. 애플리케이션에서 사용할 수 있는 API 키를 받으려면 계정을 생성하세요.", "goToAccount": "계정으로 이동", "refreshModal": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "파일 더 추가...", "selectedFiles": "선택된 파일", "submit": "첨부 추가", + "tooltip": { + "header": { + "title": "첨부 파일 추가 정보" + }, + "description": { + "title": "기능" + } + }, "results": { "title": "첨부 결과" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "사용자 지정 위치", "details": "세부 정보", - "downloadUnavailable": "이 항목은 다운로드할 수 없습니다", "invalidUndoData": "실행 취소할 수 없음: 잘못된 작업 데이터", "margin": { "large": "크게", @@ -4801,6 +5132,10 @@ "maybeLater": "나중에", "dontShowAgain": "다시 보지 않기" }, + "welcomeSlide": { + "title": "Stirling에 오신 것을 환영합니다", + "body": "Stirling PDF는 이제 모든 규모의 팀을 지원합니다. 이번 업데이트에는 새로운 레이아웃, 강력한 관리자 기능, 그리고 가장 많은 요청을 받은 기능 - 텍스트 편집이 포함됩니다." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "도구 사용 방법을 보여주기 위해 자르기 도구를 선택해 보겠습니다.", "toolInterface": "여기가 자르기 도구 인터페이스입니다. 아직 작업할 PDF 파일을 추가하지 않았기 때문에 볼 내용이 많지 않습니다.", @@ -4823,7 +5158,39 @@ "next": "다음", "finish": "완료", "startTour": "투어 시작", - "startTourDescription": "Stirling PDF의 주요 기능을 둘러보는 가이드 투어" + "startTourDescription": "Stirling PDF의 주요 기능을 둘러보는 가이드 투어", + "buttons": { + "next": "다음 →", + "back": "뒤로", + "skipForNow": "나중에 건너뛰기", + "download": "다운로드 →", + "showMeAround": "둘러보기", + "skipTheTour": "투어 건너뛰기" + }, + "serverLicense": { + "skip": "나중에 건너뛰기", + "seePlans": "요금제 보기 →", + "upgrade": "지금 업그레이드 →", + "freeTitle": "서버 라이선스", + "overLimitTitle": "서버 라이선스 필요", + "overLimitBody": "당사의 라이선스는 서버당 무료로 최대 {{freeTierLimit}}명의 사용자를 허용합니다. 현재 {{overLimitUserCopy}}명의 Stirling 사용자가 있습니다. 중단 없이 계속 사용하려면 Stirling Server 플랜으로 업그레이드하세요 - 무제한 좌석, PDF 텍스트 편집, 전체 관리자 제어 제공, $99/서버/월.", + "freeBody": "당사의 Open-Core 라이선스는 서버당 최대 {{freeTierLimit}}명의 사용자를 무료로 허용합니다. 중단 없이 확장하고 새로운 PDF 텍스트 편집 도구에 조기 액세스하려면 Stirling Server 플랜을 권장합니다 - 전체 편집과 무제한 좌석을 $99/서버/월에 제공합니다." + }, + "desktopInstall": { + "title": "다운로드", + "titleWithOs": "{{osLabel}}용 다운로드", + "body": "Stirling은 데스크톱 앱으로 사용할 때 가장 잘 작동합니다. 오프라인으로 사용하고, 문서를 더 빠르게 열며, 컴퓨터에서 로컬로 편집할 수 있습니다." + }, + "planOverview": { + "adminTitle": "관리자 개요", + "userTitle": "플랜 개요", + "adminBodyLoginEnabled": "관리자로서 사용자 관리, 설정 구성, 서버 상태 모니터링을 할 수 있습니다. 서버의 첫 {{freeTierLimit}}명은 무료로 Stirling을 사용할 수 있습니다.", + "adminBodyLoginDisabled": "로그인 모드를 활성화하면 사용자 관리, 설정 구성, 서버 상태 모니터링을 할 수 있습니다. 서버의 첫 {{freeTierLimit}}명은 무료로 Stirling을 사용할 수 있습니다.", + "userBody": "팀원을 초대하고 역할을 지정하며 문서를 하나의 안전한 작업 공간에서 정리하세요. 솔로 사용을 넘어 성장할 준비가 되면 언제든 로그인 모드를 활성화하세요." + }, + "securityCheck": { + "message": "애플리케이션에 최근 큰 변경이 있었습니다. 서버 관리자의 확인이 필요할 수 있습니다. 계속하려면 본인의 역할을 확인하세요." + } }, "adminOnboarding": { "welcome": "관리자 투어에 오신 것을 환영합니다! 시스템 관리자를 위한 강력한 엔터프라이즈 기능과 설정을 살펴보겠습니다.", @@ -4852,7 +5219,10 @@ "role": "역할", "team": "팀", "status": "상태", - "actions": "작업", + "actions": { + "label": "작업", + "upgrade": "업그레이드" + }, "noMembersFound": "멤버를 찾을 수 없습니다", "active": "활성", "disabled": "비활성화됨", @@ -4964,7 +5334,8 @@ "slotsAvailable": "사용자 슬롯 {{count}}개 사용 가능", "noSlotsAvailable": "가용 슬롯 없음", "currentUsage": "현재 사용자 라이선스 {{max}}개 중 {{current}}개 사용 중" - } + }, + "loginRequired": "먼저 로그인 모드를 활성화하세요" }, "teams": { "title": "팀", @@ -5057,6 +5428,17 @@ "showComparison": "모든 기능 비교", "hideComparison": "기능 비교 숨기기", "featureComparison": "기능 비교", + "from": "시작가", + "perMonth": "/월", + "perSeat": "/좌석", + "withServer": "+ Server 플랜", + "licensedSeats": "라이선스: {{count}} 좌석", + "includedInCurrent": "현재 플랜에 포함됨", + "selectPlan": "플랜 선택", + "manage": "관리", + "manageSubscription": { + "description": "구독, 결제, 결제 수단을 관리합니다" + }, "activePlan": { "title": "활성 요금제", "subtitle": "현재 구독 세부 정보" @@ -5074,13 +5456,16 @@ "upTo": "최대" }, "period": { - "month": "월" + "month": "월", + "perUserPerMonth": "/사용자/월" }, "free": { "name": "무료", "highlight1": "주당 제한된 도구 사용량", "highlight2": "모든 도구 사용 가능", - "highlight3": "커뮤니티 지원" + "highlight3": "커뮤니티 지원", + "forever": "영구 무료", + "included": "포함" }, "pro": { "name": "프로", @@ -5092,7 +5477,9 @@ "name": "엔터프라이즈", "highlight1": "맞춤 가격", "highlight2": "전담 지원", - "highlight3": "최신 기능" + "highlight3": "최신 기능", + "requiresServer": "서버 필요", + "requiresServerMessage": "Enterprise로 업그레이드하기 전에 먼저 Server 플랜으로 업그레이드하세요." }, "feature": { "title": "기능", @@ -5102,6 +5489,12 @@ "api": "API 접근", "priority": "우선 지원", "customPricing": "맞춤 가격" + }, + "licenseWarning": { + "title": "무료 자가 호스팅 한도 도달", + "body": "사용자가 {{total}}명이며 무료 플랜은 서버당 {{limit}}명만 지원합니다. 원활한 사용을 위해 업그레이드하세요.", + "overLimit": "{{limit}} 초과", + "cta": "요금제 보기" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "결제 관리", "portal": { "error": "결제 포털을 열지 못했습니다" - } + }, + "updateSeats": "좌석 수 업데이트", + "updateEnterpriseSeats": "Enterprise 좌석 수 업데이트", + "currentSeats": "현재 좌석 수", + "minimumSeats": "최소 좌석 수", + "basedOnUsers": "(현재 사용자 수)", + "newSeatCount": "새 좌석 수", + "newSeatCountDescription": "Enterprise 라이선스의 좌석 수를 선택하세요", + "whatHappensNext": "다음 단계", + "stripePortalRedirect": "Stripe 결제 포털로 이동하여 좌석 변경을 검토하고 확인합니다. 일할 계산 금액은 자동으로 계산됩니다.", + "preparingUpdate": "좌석 업데이트 준비 중...", + "seatCountTooLow": "좌석 수는 최소 {{minimum}}(현재 사용자 수) 이상이어야 합니다", + "seatCountUnchanged": "다른 좌석 수를 선택하세요", + "seatsUpdated": "좌석 수 업데이트됨", + "seatsUpdatedMessage": "Enterprise 좌석 수가 {{seats}}로 업데이트되었습니다", + "updateProcessing": "업데이트 처리 중", + "updateProcessingMessage": "좌석 업데이트가 처리되고 있습니다. 잠시 후 새로고침하세요.", + "notEnterprise": "좌석 관리는 Enterprise 라이선스에서만 가능합니다" + }, + "upgradeBanner": { + "title": "Server 플랜으로 업그레이드", + "message": "무제한 사용자와 고급 기능으로 Stirling PDF를 최대한 활용하세요", + "upgradeButton": "지금 업그레이드", + "dismiss": "배너 닫기", + "attentionTitle": "이 서버에 관리자 확인이 필요합니다", + "attentionBody": "자세한 정보를 보려면 관리자가 로그인해야 합니다. 즉시 연락하세요.", + "attentionBodyAdmin": "이 서버가 규정을 준수하도록 라이선스 요구 사항을 검토하세요.", + "seeInfo": "정보 보기" }, "payment": { "preparing": "결제 준비 중...", @@ -5128,7 +5548,61 @@ "success": "결제 성공!", "successMessage": "구독이 성공적으로 활성화되었습니다. 확인 이메일이 곧 발송됩니다.", "autoClose": "이 창은 자동으로 닫힙니다...", - "error": "결제 오류" + "error": "결제 오류", + "upgradeSuccess": "결제가 완료되었습니다! 구독이 업그레이드되었습니다. 라이선스가 서버에 업데이트되었습니다. 곧 확인 이메일이 발송됩니다.", + "paymentSuccess": "결제가 완료되었습니다! 라이선스 키를 가져오는 중...", + "licenseActivated": "라이선스가 활성화되었습니다! 라이선스 키가 저장되었습니다. 등록된 이메일 주소로 확인 메일을 보냈습니다.", + "licenseDelayed": "결제가 완료되었습니다! 라이선스가 생성되고 있습니다. 곧 라이선스 키가 포함된 이메일을 받게 됩니다. 10분 내에 받지 못하면 지원팀에 문의하세요.", + "licensePollingError": "결제는 완료되었지만 라이선스 키를 자동으로 가져오지 못했습니다. 이메일을 확인하거나 결제 확인과 함께 지원팀에 문의하세요.", + "licenseRetrievalError": "결제는 완료되었지만 라이선스 가져오기에 실패했습니다. 라이선스 키는 이메일로 발송됩니다. 10분 내에 받지 못하면 지원팀에 문의하세요.", + "syncError": "결제는 완료되었지만 라이선스 동기화에 실패했습니다. 곧 라이선스가 업데이트됩니다. 문제가 지속되면 지원팀에 문의하세요.", + "licenseSaveError": "라이선스 키 저장에 실패했습니다. 활성화를 완료하려면 라이선스 키와 함께 지원팀에 문의하세요.", + "paymentCanceled": "결제가 취소되었습니다. 결제는 청구되지 않았습니다.", + "syncingLicense": "업그레이드된 라이선스를 동기화하는 중...", + "generatingLicense": "라이선스 키를 생성하는 중...", + "upgradeComplete": "업그레이드 완료", + "upgradeCompleteMessage": "구독이 성공적으로 업그레이드되었습니다. 기존 라이선스 키가 업데이트되었습니다.", + "stripeNotConfigured": "Stripe 미구성", + "stripeNotConfiguredMessage": "Stripe 결제 연동이 구성되지 않았습니다. 관리자에게 문의하세요.", + "monthly": "월간", + "yearly": "연간", + "billingPeriod": "청구 주기", + "enterpriseNote": "좌석 수는 결제 시 조정할 수 있습니다(1-1000).", + "installationId": "설치 ID", + "licenseKey": "귀하의 라이선스 키", + "licenseInstructions": "설치에 추가되었습니다. 이메일로도 사본이 전송됩니다.", + "canCloseWindow": "이제 이 창을 닫아도 됩니다.", + "licenseKeyProcessing": "라이선스 키 처리 중", + "licenseDelayedMessage": "라이선스 키를 생성 중입니다. 곧 이메일을 확인하시거나 지원팀에 문의하세요.", + "perYear": "/년", + "perMonth": "/월", + "emailInvalid": "유효한 이메일 주소를 입력하세요", + "emailStage": { + "title": "이메일 입력", + "description": "라이선스 키와 영수증을 보내드릴 때 사용합니다.", + "emailLabel": "이메일 주소", + "emailPlaceholder": "your@email.com", + "continue": "계속", + "modalTitle": "시작하기 - {{planName}}" + }, + "planStage": { + "title": "청구 주기 선택", + "savingsNote": "연간 결제로 {{percent}}% 절약", + "basePrice": "기본 가격", + "seatPrice": "좌석당", + "totalForSeats": "합계({{count}} 좌석)", + "selectMonthly": "월간 선택", + "selectYearly": "연간 선택", + "savePercent": "{{percent}}% 절약", + "savingsAmount": "{{amount}} 절약", + "modalTitle": "청구 주기 선택 - {{planName}}", + "billedYearly": "연간 {{currency}}{{amount}} 청구" + }, + "paymentStage": { + "backToPlan": "플랜 선택으로 돌아가기", + "selectedPlan": "선택한 플랜", + "modalTitle": "결제 완료 - {{planName}}" + } }, "firstLogin": { "title": "첫 로그인", @@ -5287,5 +5761,281 @@ "offline": "백엔드 오프라인", "starting": "백엔드 시작 중...", "wait": "백엔드가 실행을 마칠 때까지 기다린 후 다시 시도하세요." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "계속하려면 PDF 잠금을 해제하세요", + "title": "계속하려면 비밀번호 제거", + "description": "이 PDF는 비밀번호로 보호되어 있습니다. 계속 작업하려면 비밀번호를 입력하세요.", + "password": { + "label": "PDF 비밀번호", + "placeholder": "PDF 비밀번호 입력" + }, + "skip": "나중에 건너뛰기", + "unlock": "잠금 해제 및 계속", + "incorrectPassword": "비밀번호가 올바르지 않습니다", + "missingFile": "선택한 파일을 더 이상 사용할 수 없습니다.", + "emptyResponse": "비밀번호 제거에서 파일이 생성되지 않았습니다.", + "required": "계속하려면 비밀번호를 입력하세요.", + "successTitle": "비밀번호 제거됨", + "successBodyWithName": "{{fileName}}에서 비밀번호가 제거되었습니다", + "successBody": "비밀번호가 성공적으로 제거되었습니다." + }, + "setup": { + "welcome": "Stirling PDF에 오신 것을 환영합니다", + "description": "Stirling PDF를 사용하는 방식을 선택하여 시작하세요", + "step1": { + "label": "모드 선택", + "description": "오프라인 또는 서버" + }, + "step2": { + "label": "서버 선택", + "description": "자가 호스팅 서버" + }, + "step3": { + "label": "로그인", + "description": "자격 증명 입력" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Stirling 계정으로 로그인" + }, + "selfhosted": { + "title": "자가 호스팅 서버", + "description": "자체 Stirling PDF 서버에 연결" + } + }, + "saas": { + "title": "Stirling에 로그인", + "subtitle": "Stirling 계정으로 로그인" + }, + "selfhosted": { + "title": "서버에 로그인", + "subtitle": "서버 자격 증명을 입력하세요" + }, + "server": { + "title": "서버에 연결", + "subtitle": "자가 호스팅 서버 URL을 입력하세요", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "자가 호스팅 서버" + }, + "url": { + "label": "서버 URL", + "description": "자가 호스팅 Stirling PDF 서버의 전체 URL을 입력하세요" + }, + "error": { + "emptyUrl": "서버 URL을 입력하세요", + "unreachable": "서버에 연결할 수 없습니다", + "testFailed": "연결 테스트에 실패했습니다" + }, + "testing": "연결 테스트 중..." + }, + "login": { + "title": "로그인", + "subtitle": "계속하려면 자격 증명을 입력하세요", + "connectingTo": "연결 대상:", + "username": { + "label": "사용자 이름", + "placeholder": "사용자 이름을 입력하세요" + }, + "email": { + "label": "이메일", + "placeholder": "이메일을 입력하세요" + }, + "password": { + "label": "비밀번호", + "placeholder": "비밀번호를 입력하세요" + }, + "error": { + "emptyUsername": "사용자 이름을 입력하세요", + "emptyEmail": "이메일을 입력하세요", + "emptyPassword": "비밀번호를 입력하세요", + "oauthFailed": "OAuth 로그인에 실패했습니다. 다시 시도하세요." + }, + "submit": "로그인", + "signInWith": "다음으로 로그인", + "oauthPending": "인증을 위해 브라우저를 여는 중...", + "orContinueWith": "또는 이메일로 계속" + } + }, + "oauth": { + "success": { + "title": "인증 성공", + "message": "이 창을 닫고 Stirling PDF로 돌아가도 됩니다." + }, + "error": { + "title": "인증 실패", + "message": "인증에 성공하지 못했습니다. 이 창을 닫고 다시 시도하세요." + } + }, + "pdfTextEditor": { + "title": "PDF JSON 편집기", + "viewLabel": "PDF 편집기", + "converting": "PDF를 편집 가능한 형식으로 변환하는 중...", + "conversionFailed": "PDF 변환에 실패했습니다. 다시 시도하세요.", + "currentFile": "현재 파일: {{name}}", + "pageSummary": "페이지 {{number}} / {{total}}", + "pagePreviewAlt": "페이지 미리보기", + "imageLabel": "배치된 이미지", + "noTextOnPage": "이 페이지에서 편집 가능한 텍스트를 찾지 못했습니다.", + "pageType": { + "paragraph": "문단 페이지", + "sparse": "성긴 텍스트" + }, + "groupingMode": { + "auto": "자동", + "paragraph": "문단", + "singleLine": "한 줄" + }, + "badges": { + "unsaved": "편집됨", + "modified": "편집됨", + "earlyAccess": "얼리 액세스" + }, + "actions": { + "reset": "변경 사항 초기화", + "downloadJson": "JSON 다운로드", + "generatePdf": "PDF 생성" + }, + "options": { + "autoScaleText": { + "title": "텍스트 자동 크기 조정", + "description": "폰트 렌더링이 PDF와 다를 때 원래 경계 상자 안에 맞도록 텍스트를 가로로 자동 조정합니다." + }, + "groupingMode": { + "title": "텍스트 그룹화 모드", + "autoDescription": "페이지 유형을 자동 감지하여 적절히 텍스트를 그룹화합니다.", + "paragraphDescription": "정렬된 라인을 묶어 여러 줄 문단 텍스트 상자로 만듭니다.", + "singleLineDescription": "각 PDF 텍스트 라인을 개별 텍스트 상자로 유지합니다." + }, + "manualGrouping": { + "descriptionInline": "팁: Ctrl(Cmd) 또는 Shift를 눌러 텍스트 상자를 다중 선택하세요. 선택 위에 떠 있는 도구 모음에서 병합, 그룹 해제, 너비 조정을 할 수 있습니다." + }, + "forceSingleElement": { + "title": "편집된 텍스트를 단일 PDF 요소로 고정", + "description": "활성화하면 겹치는 글리프나 혼합 폰트를 피하기 위해 편집된 각 텍스트 상자를 하나의 PDF 텍스트 요소로 내보냅니다." + } + }, + "manual": { + "mergeTooltip": "선택 항목 병합", + "merge": "선택 병합", + "ungroupTooltip": "문단을 다시 줄로 분할", + "ungroup": "선택 항목 그룹 해제", + "widthMenu": "너비 옵션", + "expandWidth": "페이지 가장자리까지 확장", + "resetWidth": "너비 재설정", + "resizeHandle": "텍스트 너비 조정" + }, + "disclaimer": { + "heading": "미리보기 제한사항", + "textFocus": "이 작업 공간은 텍스트 편집과 삽입된 이미지의 재배치에 중점을 둡니다. 복잡한 페이지 아트워크, 폼 위젯, 레이어드 그래픽은 내보낼 때 보존되지만 여기서는 완전히 편집할 수 없습니다.", + "previewVariance": "일부 시각 요소(표 테두리, 도형, 주석 표시 등)는 미리보기에서 정확히 표시되지 않을 수 있습니다. 내보낸 PDF는 가능한 한 원본 그리기 명령을 유지합니다.", + "alpha": "이 알파 뷰어는 아직 발전 중입니다—일부 글꼴, 색상, 투명 효과, 레이아웃 세부가 약간 달라질 수 있습니다. 공유 전에 생성된 PDF를 다시 확인해 주세요." + }, + "empty": { + "title": "로드된 문서 없음", + "subtitle": "텍스트 편집을 시작하려면 PDF 또는 JSON 파일을 로드하세요." + }, + "welcomeBanner": { + "title": "PDF 텍스트 편집기(얼리 액세스)에 오신 것을 환영합니다", + "experimental": "현재 개발 중인 실험적 기능입니다. 사용 중 불안정과 문제가 발생할 수 있습니다.", + "howItWorks": "이 도구는 PDF를 편집 가능한 형식으로 변환하여 텍스트를 수정하고 이미지를 재배치할 수 있게 합니다. 변경 내용은 새 PDF로 저장됩니다.", + "bestFor": "다음에 가장 적합:", + "bestFor1": "주로 텍스트와 이미지로 구성된 단순한 PDF", + "bestFor2": "표준 문단 서식을 사용하는 문서", + "bestFor3": "편지, 에세이, 보고서 등 기본 문서", + "notIdealFor": "다음에는 권장하지 않음:", + "notIdealFor1": "글머리표, 표, 다단 레이아웃 등 특수 서식이 있는 PDF", + "notIdealFor2": "잡지, 브로셔, 디자인이 많은 문서", + "notIdealFor3": "복잡한 레이아웃의 매뉴얼", + "limitations": "현재 제한 사항:", + "limitation1": "글꼴 렌더링이 원본 PDF와 약간 다를 수 있음", + "limitation2": "복잡한 그래픽, 폼 필드, 주석은 보존되지만 편집할 수 없음", + "limitation3": "대용량 파일은 변환과 처리에 시간이 걸릴 수 있음", + "knownIssues": "알려진 문제(수정 중):", + "issue1": "텍스트 색상이 현재 보존되지 않음(곧 추가 예정)", + "issue2": "문단 모드는 정렬/간격 문제가 더 많음 - 단일 줄 모드 권장", + "issue3": "미리보기 표시가 내보낸 PDF와 다를 수 있음 - 내보낸 PDF가 원본에 더 가까움", + "issue4": "회전된 텍스트 정렬은 수동 조정이 필요할 수 있음", + "issue5": "투명도 및 레이어 효과가 원본과 다를 수 있음", + "feedback": "이 기능은 얼리 액세스입니다. 개선을 위해 문제를 발견하면 알려주세요!", + "gotIt": "확인", + "dontShowAgain": "다시 보지 않기" + }, + "modeChange": { + "title": "모드 변경 확인", + "warning": "텍스트 그룹화 모드를 변경하면 저장되지 않은 변경 사항이 모두 초기화됩니다. 계속하시겠습니까?", + "cancel": "취소", + "confirm": "초기화 후 모드 변경" + }, + "fontAnalysis": { + "details": "글꼴 정보", + "embedded": "내장", + "type": "유형", + "webFormat": "웹 형식", + "warnings": "경고", + "suggestions": "참고", + "currentPageFonts": "이 페이지의 글꼴", + "allFonts": "모든 글꼴", + "fallback": "대체", + "missing": "누락", + "perfectMessage": "모든 글꼴을 완벽하게 재현할 수 있습니다.", + "warningMessage": "일부 글꼴이 올바르게 렌더링되지 않을 수 있습니다.", + "infoMessage": "글꼴 재현 정보 제공.", + "perfect": "완벽", + "subset": "서브셋" + }, + "errors": { + "invalidJson": "JSON 파일을 읽을 수 없습니다. PDF to JSON 도구로 생성되었는지 확인하세요.", + "pdfConversion": "편집된 JSON을 PDF로 다시 변환할 수 없습니다." + } + }, + "auth": { + "sessionExpired": "세션이 만료되었습니다", + "pleaseLoginAgain": "다시 로그인해 주세요.", + "accessDenied": "접근 거부", + "insufficientPermissions": "이 작업을 수행할 권한이 없습니다." + }, + "addText": { + "title": "텍스트 추가", + "header": "PDF에 텍스트 추가", + "text": { + "name": "텍스트 내용", + "placeholder": "추가할 텍스트를 입력하세요", + "fontLabel": "글꼴", + "fontSizeLabel": "글꼴 크기", + "fontSizePlaceholder": "글꼴 크기 입력 또는 선택 (8-200)", + "colorLabel": "텍스트 색상" + }, + "steps": { + "configure": "텍스트 설정" + }, + "step": { + "createDesc": "추가할 텍스트를 입력하세요", + "place": "텍스트 배치", + "placeDesc": "PDF를 클릭하여 텍스트를 추가하세요" + }, + "instructions": { + "title": "텍스트 추가 방법", + "text": "위에 텍스트를 입력한 후 PDF의 아무 위치나 클릭해 배치하세요.", + "paused": "배치 일시 중지", + "resumeHint": "배치를 재개하여 클릭 후 텍스트를 추가하세요.", + "noSignature": "배치를 활성화하려면 위에 텍스트를 입력하세요." + }, + "mode": { + "move": "텍스트 이동", + "place": "텍스트 배치", + "pause": "배치 일시 중지", + "resume": "배치 재개" + }, + "results": { + "title": "텍스트 추가 결과" + }, + "error": { + "failed": "PDF에 텍스트를 추가하는 중 오류가 발생했습니다." + }, + "tags": "텍스트,주석,레이블", + "applySignatures": "텍스트 적용" } } \ No newline at end of file diff --git a/frontend/public/locales/ml-ML/translation.json b/frontend/public/locales/ml-ML/translation.json index 38e32a6d7..c1b71dd3d 100644 --- a/frontend/public/locales/ml-ML/translation.json +++ b/frontend/public/locales/ml-ML/translation.json @@ -17,6 +17,8 @@ "comingSoon": "ഉടൻ വരുന്നു:", "favorite": "പ്രിയപ്പെട്ടവയിൽ ചേർക്കുക", "favorites": "പ്രിയപ്പെട്ടവ", + "unavailable": "സെർവർ അഡ്മിനിസ്ട്രേറ്റർ പ്രവർത്തനരഹിതമാക്കി:", + "unavailableDependency": "ലഭ്യമല്ല - ആവശ്യമായ ടൂൾ സെർവറിൽ ഇല്ല:", "heading": "എല്ലാ ടൂളുകൾ (ഫുൾസ്ക്രീൻ കാഴ്ച)", "noResults": "ആവശ്യമായത് കണ്ടെത്താൻ തിരച്ചിൽ ക്രമീകരിക്കുകയോ വിവരണങ്ങൾ ടോഗിൾ ചെയ്യുകയോ ചെയ്യുക.", "recommended": "ശുപാർശ ചെയ്തത്", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "ഫുൾസ്ക്രീൻ മോഡിലേക്കു മാറ്റുക", "sidebar": "സൈഡ്ബാർ മോഡിലേക്കു മാറ്റുക" - } + }, + "alpha": "Alpha", + "premiumFeature": "പ്രീമിയം ഫീച്ചർ:", + "comingSoon": "വരുന്നു:" }, "unsavedChanges": "നിങ്ങളുടെ PDF-ിൽ സംരക്ഷിക്കാത്ത മാറ്റങ്ങൾ ഉണ്ട്.", "areYouSure": "നിങ്ങൾക്ക് പോകണമെന്ന് തീർച്ചയാണോ?", @@ -41,6 +46,30 @@ "cancel": "റദ്ദാക്കുക", "confirm": "എക്സ്ട്രാക്റ്റ്" }, + "defaultApp": { + "title": "സ്വതേയുള്ള PDF ആപ്പായി സജ്ജമാക്കുക", + "message": "Stirling PDF-നെ നിങ്ങളുടെ സ്വതേയുള്ള PDF എഡിറ്ററായി ക്രമീകരിക്കണോ?", + "description": "ഇത് പിന്നീട് നിങ്ങളുടെ സിസ്റ്റം സെറ്റിങ്ങുകളിൽ മാറ്റാം.", + "notNow": "ഇപ്പോൾ വേണ്ട", + "setDefault": "ഡീഫോൾട്ടായി സജ്ജമാക്കുക", + "dismiss": "നിരസിക്കുക", + "prompt": { + "title": "സ്വതേയുള്ള PDF എഡിറ്ററായി സജ്ജമാക്കുക", + "message": "PDF ഫയലുകൾ തുറക്കാനുള്ള സ്വതേയുള്ള ആപ്പായി Stirling PDF-നെ നിർണ്ണയിക്കുക." + }, + "success": { + "title": "സ്വതേയുള്ള ആപ്പ് സെറ്റ് ചെയ്തു", + "message": "Stirling PDF ഇപ്പോൾ നിങ്ങളുടെ സ്വതേയുള്ള PDF എഡിറ്ററാണ്" + }, + "settingsOpened": { + "title": "സെറ്റിങ്ങുകൾ തുറന്നു", + "message": "ദയവായി നിങ്ങളുടെ സിസ്റ്റം സെറ്റിങ്ങുകളിൽ Stirling PDF തിരഞ്ഞെടുക്കുക" + }, + "error": { + "title": "പിശക്", + "message": "സ്വതേയുള്ള PDF ഹാൻഡ്ലർ സെറ്റ് ചെയ്യൽ പരാജയപ്പെട്ടു" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "സേവ് ചെയ്യുക", "saveToBrowser": "ബ്രൗസറിൽ സേവ് ചെയ്യുക", "download": "ഡൗൺലോഡ്", + "downloadUnavailable": "ഈ ഇനത്തിന് ഡൗൺലോഡ് ലഭ്യമല്ല", + "saveUnavailable": "ഈ ഇനത്തിന് സേവ് ലഭ്യമല്ല", "pin": "ഫയൽ പിൻ ചെയ്യുക (ടൂൾ പ്രവർത്തനത്തിന് ശേഷം സജീവമായി നിലനിർത്തുക)", "unpin": "പിൻ നീക്കം ചെയ്യുക (ടൂൾ പ്രവർത്തനത്തിന് ശേഷം മാറ്റിസ്ഥാപിക്കുക)", "undoOperationTooltip": "അവസാന പ്രവർത്തനം റദ്ദാക്കി ഒറിജിനൽ ഫയലുകൾ പുനഃസ്ഥാപിക്കാൻ ക്ലിക്ക് ചെയ്യുക", @@ -168,6 +199,7 @@ }, "edit": "തിരുത്തുക", "delete": "മായ്ക്കുക", + "never": "ഒരിക്കലും", "username": "ഉപയോക്തൃനാമം", "password": "പാസ്‌വേഡ്", "welcome": "സ്വാഗതം", @@ -262,7 +294,8 @@ "learnMore": "കൂടുതൽ അറിയുക", "enable": "അനലിറ്റിക്സ് പ്രവർത്തനക്ഷമമാക്കുക", "disable": "അനലിറ്റിക്സ് പ്രവർത്തനരഹിതമാക്കുക", - "settings": "config/settings.yml ഫയലിൽ നിങ്ങൾക്ക് അനലിറ്റിക്സിനായുള്ള ക്രമീകരണങ്ങൾ മാറ്റാൻ കഴിയും" + "settings": "config/settings.yml ഫയലിൽ നിങ്ങൾക്ക് അനലിറ്റിക്സിനായുള്ള ക്രമീകരണങ്ങൾ മാറ്റാൻ കഴിയും", + "privacyAssurance": "ഞങ്ങൾ നിങ്ങളുടെ വ്യക്തിഗത വിവരങ്ങളോ നിങ്ങളുടെ ഫയലുകളുടെ ഉള്ളടക്കമോ ട്രാക്ക് ചെയ്യുന്നില്ല." }, "navbar": { "favorite": "പ്രിയപ്പെട്ടവ", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "ക്രമീകരണങ്ങൾ", - "update": "അപ്‌ഡേറ്റ് ലഭ്യമാണ്", - "updateAvailable": "{0} നിലവിൽ ഇൻസ്റ്റാൾ ചെയ്ത പതിപ്പാണ്. ഒരു പുതിയ പതിപ്പ് ({1}) ലഭ്യമാണ്.", - "appVersion": "ആപ്പ് പതിപ്പ്:", - "downloadOption": { - "title": "ഡൗൺലോഡ് ഓപ്ഷൻ തിരഞ്ഞെടുക്കുക (സിംഗിൾ ഫയൽ നോൺ-സിപ്പ് ഡൗൺലോഡുകൾക്ക്):", - "1": "ഒരേ വിൻഡോയിൽ തുറക്കുക", - "2": "പുതിയ വിൻഡോയിൽ തുറക്കുക", - "3": "ഫയൽ ഡൗൺലോഡ് ചെയ്യുക" - }, - "zipThreshold": "ഡൗൺലോഡ് ചെയ്ത ഫയലുകളുടെ എണ്ണം കവിയുമ്പോൾ ഫയലുകൾ സിപ്പ് ചെയ്യുക", - "signOut": "സൈൻ ഔട്ട് ചെയ്യുക", - "accountSettings": "അക്കൗണ്ട് ക്രമീകരണങ്ങൾ", - "bored": { - "help": "ഈസ്റ്റർ എഗ് ഗെയിം പ്രവർത്തനക്ഷമമാക്കുന്നു" - }, - "cacheInputs": { - "name": "ഫോം ഇൻപുട്ടുകൾ സംരക്ഷിക്കുക", - "help": "ഭാവിയിലെ ഉപയോഗത്തിനായി മുമ്പ് ഉപയോഗിച്ച ഇൻപുട്ടുകൾ സംഭരിക്കാൻ പ്രവർത്തനക്ഷമമാക്കുക" + "connection": { + "title": "കണക്ഷൻ മോഡ്", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "സെൽഫ്-ഹോസ്റ്റഡ്" + }, + "server": "സെർവർ", + "user": "ലോഗിൻ ചെയ്തത്", + "logout": "ലോഗ് ഔട്ട്" }, "general": { "title": "ജനറൽ", "description": "ആപ്പിന്റെ പൊതുവായ മുൻഗണനകൾ ക്രമീകരിക്കുക.", - "account": "അക്കൗണ്ട്", - "accountDescription": "നിങ്ങളുടെ അക്കൗണ്ട് ക്രമീകരണങ്ങൾ നിയന്ത്രിക്കുക", "user": "ഉപയോക്താവ്", - "signedInAs": "സൈൻ ഇൻ ചെയ്തിരിക്കുന്നത്", "logout": "ലോഗ് ഔട്ട്", "enableFeatures": { + "dismiss": "ഒഴിവാക്കുക", "title": "സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റർമാർക്കായി", "intro": "നിങ്ങളുടെ ഓർഗനൈസേഷനായി യൂസർ ഓതന്റിക്കേഷൻ, ടീം മാനേജ്മെന്റ്, പ്രവർത്തനസ്ഥലം ഫീച്ചറുകൾ എന്നിവ എനേബിൾ ചെയ്യുക.", "action": "കോൺഫിഗർ", "and": "മറ്റും", "benefit": "യൂസർ റോളുകൾ, ടീമൊത്ത് സഹകരണം, അഡ്മിൻ നിയന്ത്രണങ്ങൾ, എന്റർപ്രൈസ് ഫീച്ചറുകൾ എന്നിവ സജ്ജീകരിക്കുന്നു.", - "learnMore": "ഡോക്യുമെന്റേഷനിൽ കൂടുതൽ അറിയുക", - "dismiss": "ഒഴിവാക്കുക" + "learnMore": "ഡോക്യുമെന്റേഷനിൽ കൂടുതൽ അറിയുക" }, - "autoUnzip": "API റെസ്പോൺസുകൾ ഓട്ടോ-അൺസിപ്പ്", - "autoUnzipDescription": "ZIP റെസ്പോൺസുകളിൽ നിന്ന് ഫയലുകൾ സ്വയം എക്സ്ട്രാക്റ്റ് ചെയ്യുക", - "autoUnzipTooltip": "API ഓപ്പറേഷനുകൾ തിരികെ നൽകുന്ന ZIP ഫയലുകൾ സ്വയം എക്സ്ട്രാക്റ്റ് ചെയ്യുക. ZIP ഫയലുകൾ അക്ഷതമായി സൂക്ഷിക്കാൻ ഇത് നിർവീര്യമാക്കുക. ഇത് ഓട്ടോമേഷൻ വർക്‌ഫ്ലോകളെ ബാധിക്കില്ല.", - "autoUnzipFileLimit": "ഓട്ടോ-അൺസിപ്പ് ഫയൽ പരിധി", - "autoUnzipFileLimitDescription": "ZIP-ൽ നിന്ന് എത്ര ഫയലുകൾ വരെ എക്സ്ട്രാക്റ്റ് ചെയ്യണം", - "autoUnzipFileLimitTooltip": "ZIP-ൽ ഇത്രയോ അതിൽ കുറവോ ഫയലുകൾ ഉണ്ടെങ്കിൽ മാത്രം അൺസിപ്പ് ചെയ്യും. വലിയ ZIP-കൾ എക്സ്ട്രാക്റ്റ് ചെയ്യാൻ പരിധി ഉയർത്തുക.", "defaultToolPickerMode": "ഡീഫാൾട്ട് ടൂൾ പിക്കർ മോഡ്", "defaultToolPickerModeDescription": "ടൂൾ പിക്കർ ഡീഫാൾട്ടായി ഫുൾസ്ക്രീനിലോ സൈഡ്ബാറിലോ തുറക്കണമോ എന്ന് തിരഞ്ഞെടുക്കുക", "mode": { - "fullscreen": "ഫുൾസ്ക്രീൻ", - "sidebar": "സൈഡ്ബാർ" - } + "sidebar": "സൈഡ്ബാർ", + "fullscreen": "ഫുൾസ്ക്രീൻ" + }, + "autoUnzipTooltip": "API ഓപ്പറേഷനുകൾ തിരികെ നൽകുന്ന ZIP ഫയലുകൾ സ്വയം എക്സ്ട്രാക്റ്റ് ചെയ്യുക. ZIP ഫയലുകൾ അക്ഷതമായി സൂക്ഷിക്കാൻ ഇത് നിർവീര്യമാക്കുക. ഇത് ഓട്ടോമേഷൻ വർക്‌ഫ്ലോകളെ ബാധിക്കില്ല.", + "autoUnzip": "API റെസ്പോൺസുകൾ ഓട്ടോ-അൺസിപ്പ്", + "autoUnzipDescription": "ZIP റെസ്പോൺസുകളിൽ നിന്ന് ഫയലുകൾ സ്വയം എക്സ്ട്രാക്റ്റ് ചെയ്യുക", + "autoUnzipFileLimitTooltip": "ZIP-ൽ ഇത്രയോ അതിൽ കുറവോ ഫയലുകൾ ഉണ്ടെങ്കിൽ മാത്രം അൺസിപ്പ് ചെയ്യും. വലിയ ZIP-കൾ എക്സ്ട്രാക്റ്റ് ചെയ്യാൻ പരിധി ഉയർത്തുക.", + "autoUnzipFileLimit": "ഓട്ടോ-അൺസിപ്പ് ഫയൽ പരിധി", + "autoUnzipFileLimitDescription": "ZIP-ൽ നിന്ന് എത്ര ഫയലുകൾ വരെ എക്സ്ട്രാക്റ്റ് ചെയ്യണം", + "defaultPdfEditor": "സ്വതേയുള്ള PDF എഡിറ്റർ", + "defaultPdfEditorActive": "Stirling PDF നിങ്ങളുടെ സ്വതേയുള്ള PDF എഡിറ്ററാണ്", + "defaultPdfEditorInactive": "മറ്റൊരു അപ്ലിക്കേഷൻ സ്വതേയുള്ളതായി സജ്ജമാക്കിയിരിക്കുന്നു", + "defaultPdfEditorChecking": "പരിശോധിക്കുന്നു...", + "defaultPdfEditorSet": "ഇതിനകം സ്വതേയുള്ളത്", + "setAsDefault": "സ്വതേയുള്ളതാക്കി സജ്ജമാക്കുക", + "updates": { + "title": "സോഫ്റ്റ്‌വെയർ അപ്‌ഡേറ്റുകൾ", + "description": "അപ്‌ഡേറ്റുകൾ പരിശോധിക്കുകയും പതിപ്പിന്റെ വിവരങ്ങൾ കാണുകയും ചെയ്യുക", + "currentVersion": "ഇപ്പോഴത്തെ പതിപ്പ്", + "latestVersion": "പുതിയ പതിപ്പ്", + "checkForUpdates": "അപ്‌ഡേറ്റുകൾ പരിശോധിക്കുക", + "viewDetails": "വിശദാംശങ്ങൾ കാണുക" + }, + "hideUnavailableTools": "ലഭ്യമല്ലാത്ത ടൂളുകൾ മറയ്ക്കുക", + "hideUnavailableToolsDescription": "ഗ്രേ ഔട്ട് ചെയ്യുന്നതിനുപകരം നിങ്ങളുടെ സെർവർ പ്രവർത്തനരഹിതമാക്കിയ ടൂളുകൾ നീക്കം ചെയ്യുക.", + "hideUnavailableConversions": "ലഭ്യമല്ലാത്ത രൂപാന്തരങ്ങൾ മറയ്ക്കുക", + "hideUnavailableConversionsDescription": "ഗ്രേ ഔട്ട് ചെയ്യുന്നതിനുപകരം Convert ടൂളിലെ പ്രവർത്തനരഹിതമായ ഓപ്ഷനുകൾ നീക്കം ചെയ്യുക." }, "hotkeys": { - "title": "കീബോഡ് ഷോർട്ട്‌കുട്ടുകൾ", - "description": "ഒരു ടൂളിന് മുകളിൽ ഹോവർ ചെയ്‌തു അതിന്റെ ഷോർട്ട്‌കട്ട് കാണുക, അല്ലെങ്കിൽ താഴേയ്ക്ക് ഇഷ്ടാനുസൃതമാക്കുക. \"ഷോർട്ട്‌കട്ട് മാറ്റുക\" ക്ലിക്ക് ചെയ്ത് പുതിയ കീ കോംബിനേഷൻ അമർത്തുക. റദ്ദാക്കാൻ Esc അമർത്തുക.", - "errorModifier": { - "mac": "നിങ്ങളുടെ ഷോർട്ട്‌കട്ടിൽ ⌘ (Command), ⌥ (Option), അല്ലെങ്കിൽ മറ്റൊരു മോഡിഫയർ ഉൾപ്പെടുത്തുക.", - "windows": "നിങ്ങളുടെ ഷോർട്ട്‌കട്ടിൽ Ctrl, Alt, അല്ലെങ്കിൽ മറ്റൊരു മോഡിഫയർ ഉൾപ്പെടുത്തുക." - }, "errorConflict": "ഷോർട്ട്‌കട്ട് {{tool}} ഇതിനകം ഉപയോഗിക്കുന്നു.", + "searchPlaceholder": "ടൂളുകൾ തിരയുക...", "none": "നിയോഗിച്ചിട്ടില്ല", "customBadge": "കസ്റ്റം", "defaultLabel": "ഡീഫാൾട്ട്: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "ഷോർട്ട്‌കട്ട് മാറ്റുക", "reset": "റീസെറ്റ്", "shortcut": "ഷോർട്ട്‌കട്ട്", - "noShortcut": "ഷോർട്ട്‌കട്ട് സെറ്റ് ചെയ്തിട്ടില്ല", - "searchPlaceholder": "ടൂളുകൾ തിരയുക..." + "noShortcut": "ഷോർട്ട്‌കട്ട് സെറ്റ് ചെയ്തിട്ടില്ല" } }, + "update": { + "modalTitle": "അപ്‌ഡേറ്റ് ലഭ്യമാണ്", + "current": "ഇപ്പോഴത്തെ പതിപ്പ്", + "latest": "പുതിയ പതിപ്പ്", + "latestStable": "പുതിയ സ്റ്റേബിൾ", + "priorityLabel": "പ്രാധാന്യം", + "recommendedAction": "ശുപാർശ ചെയ്ത നടപടി", + "breakingChangesDetected": "Breaking Changes കണ്ടെത്തി", + "breakingChangesMessage": "ചില പതിപ്പുകളിൽ Breaking Changes ഉൾപ്പെടുന്നു. അപ്‌ഡേറ്റ് ചെയ്യുന്നതിന് മുമ്പ് താഴെയുള്ള മൈഗ്രേഷൻ ഗൈഡുകൾ പരിശോധിക്കുക.", + "migrationGuides": "മൈഗ്രേഷൻ ഗൈഡുകൾ", + "viewGuide": "ഗൈഡ് കാണുക", + "loadingDetailedInfo": "വിശദമായ വിവരങ്ങൾ ലോഡുചെയ്യുന്നു...", + "close": "അടയ്ക്കുക", + "viewAllReleases": "എല്ലാ റിലീസുകളും കാണുക", + "downloadLatest": "പുതിയത് ഡൗൺലോഡ് ചെയ്യുക", + "availableUpdates": "ലഭ്യമായ അപ്‌ഡേറ്റുകൾ", + "unableToLoadDetails": "വിശദാംശങ്ങൾ ലോഡുചെയ്യാൻ കഴിഞ്ഞില്ല.", + "version": "പതിപ്പ്", + "urgentUpdateAvailable": "ത്വരിത അപ്‌ഡേറ്റ്", + "updateAvailable": "അപ്‌ഡേറ്റ് ലഭ്യമാണ്", + "releaseNotes": "റിലീസ് നോട്ടുകൾ", + "priority": { + "urgent": "ത്വരിതം", + "normal": "സാധാരണം", + "minor": "ചെറുത്", + "low": "താഴ്ന്നത്" + }, + "breakingChanges": "ബ്രേക്കിംഗ് മാറ്റങ്ങൾ", + "breakingChangesDefault": "ഈ പതിപ്പിൽ Breaking Changes ഉണ്ട്.", + "migrationGuide": "മൈഗ്രേഷൻ ഗൈഡ്" + }, "changeCreds": { "title": "വിവരങ്ങൾ മാറ്റുക", "header": "നിങ്ങളുടെ അക്കൗണ്ട് വിവരങ്ങൾ അപ്‌ഡേറ്റ് ചെയ്യുക", @@ -765,7 +828,7 @@ "desc": "SSO ഗൈഡിലേക്കുള്ള ലിങ്ക്" }, "devAirgapped": { - "title": "Air-gapped Setup", + "title": "Air-gapped സെറ്റപ്പ്", "desc": "എയർ-ഗ്യാപ്ഡ് സെറ്റപ്പ് ഗൈഡിലേക്കുള്ള ലിങ്ക്" }, "addPassword": { @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "മറ്റൊരു PDF-ന് മുകളിൽ PDF-കൾ ഓവർലേ ചെയ്യുന്നു", "title": "PDF-കൾ ഓവർലേ ചെയ്യുക" + }, + "pdfTextEditor": { + "title": "PDF ടെക്സ്റ്റ് എഡിറ്റർ", + "desc": "ഗ്രൂപ്പുചെയ്ത ടെക്സ്റ്റ് എഡിറ്റിംഗിനോടും PDF വീണ്ടും സൃഷ്ടിക്കുന്നതോടും കൂടി Stirling PDF JSON എക്സ്പോർട്ടുകൾ റിവ്യൂ ചെയ്ത് എഡിറ്റ് ചെയ്യുക" + }, + "addText": { + "tags": "text,annotation,label", + "title": "ടെക്സ്റ്റ് ചേർക്കുക", + "desc": "നിങ്ങളുടെ PDF-ൽ എവിടെയിലും കസ്റ്റം ടെക്സ്റ്റ് ചേർക്കുക" } }, "landing": { "addFiles": "ഫയലുകൾ ചേർക്കുക", - "uploadFromComputer": "കമ്പ്യൂട്ടറിൽ നിന്ന് അപ്ലോഡ് ചെയ്യുക" + "uploadFromComputer": "കമ്പ്യൂട്ടറിൽ നിന്ന് അപ്ലോഡ് ചെയ്യുക", + "openFromComputer": "കമ്പ്യൂട്ടറിൽ നിന്ന് തുറക്കുക" }, "viewPdf": { "tags": "കാണുക,വായിക്കുക,വ്യാഖ്യാനിക്കുക,ടെക്സ്റ്റ്,ചിത്രം,ഹൈലൈറ്റ്,തിരുത്തുക", @@ -849,6 +922,11 @@ }, "error": { "failed": "PDF-കൾ ലയിപ്പിക്കുന്നതിനിടെ ഒരു പിശക് സംഭവിച്ചു." + }, + "tooltip": { + "header": { + "title": "മർജ് സെറ്റിങ്ങുകളുടെ അവലോകനം" + } } }, "split": { @@ -1047,7 +1125,7 @@ "settings": "ക്രമീകരണങ്ങൾ", "conversionCompleted": "പരിവർത്തനം പൂർത്തിയായി", "results": "ഫലങ്ങൾ", - "defaultFilename": "converted_file", + "defaultFilename": "മാറ്റിയ_ഫയൽ", "conversionResults": "പരിവർത്തന ഫലങ്ങൾ", "convertFrom": "മാറ്റുന്ന ഉറവിടം", "convertTo": "മാറ്റുന്ന ലക്ഷ്യം", @@ -1182,9 +1260,43 @@ "tags": "img,jpg,ചിത്രം,ഫോട്ടോ", "title": "ചിത്രം ചേർക്കുക", "header": "PDF-ലേക്ക് ചിത്രം ചേർക്കുക", - "everyPage": "എല്ലാ പേജിലും?", - "upload": "ചിത്രം ചേർക്കുക", - "submit": "ചിത്രം ചേർക്കുക" + "image": { + "name": "ചിത്രം", + "placeholder": "ഒരു ചിത്രം അപ്‌ലോഡ് ചെയ്യുക", + "label": "ചിത്ര ഫയൽ" + }, + "steps": { + "configure": "ചിത്രം ക്രമീകരിക്കുക" + }, + "step": { + "createDesc": "ചേർക്കാൻ ഉദ്ദേശിക്കുന്ന ചിത്രം അപ്‌ലോഡ് ചെയ്യുക", + "place": "ചിത്രം സ്ഥാപിക്കുക", + "placeDesc": "PDF-ൽ ക്ലിക്ക് ചെയ്ത് നിങ്ങളുടെ ചിത്രം ചേർക്കുക" + }, + "instructions": { + "title": "ചിത്രങ്ങൾ എങ്ങനെ ചേർക്കാം", + "text": "മുകളിൽ ചിത്രം അപ്‌ലോഡ് ചെയ്ത ശേഷം, PDF-ൽ എവിടെയെങ്കിലും ക്ലിക്ക് ചെയ്ത് അത് സ്ഥാപിക്കുക.", + "paused": "സ്ഥാപിക്കൽ നിർത്തിയിരിക്കുന്നു", + "resumeHint": "സ്ഥാപിക്കൽ പുനരാരംഭിച്ച് ക്ലിക്ക് ചെയ്ത് ചിത്രം ചേർക്കുക.", + "noSignature": "സ്ഥാപിക്കൽ പ്രാപ്തമാക്കാൻ മുകളിൽ ഒരു ചിത്രം അപ്‌ലോഡ് ചെയ്യുക." + }, + "mode": { + "move": "ചിത്രം മാറ്റുക", + "place": "ചിത്രം സ്ഥാപിക്കുക", + "pause": "സ്ഥാപിക്കൽ നിർത്തുക", + "resume": "സ്ഥാപിക്കൽ പുനരാരംഭിക്കുക" + }, + "results": { + "title": "ചിത്രം ചേർത്ത ഫലം" + }, + "error": { + "failed": "PDF-ലേക്ക് ചിത്രം ചേർക്കുന്നതിനിടെ ഒരു പിശക് സംഭവിച്ചു." + }, + "saved": { + "defaultLabel": "ചിത്രം", + "defaultImageLabel": "അപ്‌ലോഡ് ചെയ്ത ചിത്രം" + }, + "applySignatures": "ചിത്രങ്ങൾ പ്രയോഗിക്കുക" }, "attachments": { "tags": "അറ്റാച്ച്മെന്റുകൾ,ചേർക്കുക,നീക്കം ചെയ്യുക,എംബെഡ്,ഫയൽ", @@ -1200,7 +1312,7 @@ "desc": "PDF ഫയലുകളിൽ ടെക്സ്റ്റ് അല്ലെങ്കിൽ ഇമേജ് വാട്ടർമാർക്കുകൾ ചേർക്കുക", "completed": "വാട്ടർമാർക്ക് ചേർത്തു", "submit": "വാട്ടർമാർക്ക് ചേർക്കുക", - "filenamePrefix": "watermarked", + "filenamePrefix": "വാട്ടർമാർക്ക്_ചെയ്തത്", "error": { "failed": "PDF-ൽ വാട്ടർമാർക്ക് ചേർക്കുന്നതിനിടെ ഒരു പിശക് സംഭവിച്ചു." }, @@ -1397,6 +1509,93 @@ }, "submit": "മാറ്റുക" }, + "editTableOfContents": { + "settings": { + "title": "ബുക്ക്‌മാർക്കുകളും ഔട്ട്‌ലൈൻ", + "replaceExisting": "നിലവിലുള്ള ബുക്ക്‌മാർക്കുകൾ മാറ്റിസ്ഥാപിക്കുക (അപ്പെൻഡ് ചെയ്യാൻ അൺചെക്ക് ചെയ്യുക)", + "replaceExistingHint": "പ്രവർത്തനരഹിതമാക്കിയാൽ, പുതിയ ഔട്ട്‌ലൈൻ നിലവിലുള്ള ബുക്ക്‌മാർക്കുകൾക്ക് ശേഷം അപ്പെൻഡ് ചെയ്യും." + }, + "actions": { + "source": "ബുക്ക്‌മാർക്കുകൾ ലോഡ് ചെയ്യുക", + "selectedFile": "{{file}}-യിൽ നിന്ന് ലോഡ് ചെയ്തു", + "noFile": "നിലവിലുള്ള ബുക്ക്‌മാർക്കുകൾ എടുക്കാൻ ഒരു PDF തിരഞ്ഞെടുക്കുക.", + "loadFromPdf": "തിരഞ്ഞെടുത്ത PDF-യിൽ നിന്ന് ലോഡ് ചെയ്യുക", + "importJson": "JSON ഇംപോർട്ട് ചെയ്യുക", + "importClipboard": "ക്ലിപ്പ്ബോർഡിൽ നിന്ന് JSON പേസ്റ്റ് ചെയ്യുക", + "export": "ബുക്ക്‌മാർക്കുകൾ എക്സ്പോർട്ട് ചെയ്യുക", + "exportJson": "JSON ഡൗൺലോഡ് ചെയ്യുക", + "exportClipboard": "JSON ക്ലിപ്പ്ബോർഡിലേക്ക് കോപ്പി ചെയ്യുക", + "clipboardUnavailable": "ഈ ബ്രൗസറിൽ ക്ലിപ്പ്ബോർഡിലേക്കുള്ള ആക്സസ് ലഭ്യമല്ല." + }, + "info": { + "line1": "ഓരോ ബുക്ക്‌മാർക്കിനും വിവരണാത്മകമായ ഒരു തലക്കെട്ടും തുറക്കേണ്ട പേജും ആവശ്യമാണ്.", + "line2": "ചാപ്റ്ററുകൾ, സെക്ഷനുകൾ എന്നിവയ്ക്കായി ഹിയറാർക്കി നിർമ്മിക്കാൻ ചൈൽഡ് ബുക്ക്‌മാർക്കുകൾ ഉപയോഗിക്കുക.", + "line3": "സമയം ലാഭിക്കാൻ തിരഞ്ഞെടുക്കപ്പെട്ട PDF-ൽ നിന്ന് അല്ലെങ്കിൽ JSON ഫയലിൽ നിന്ന് ബുക്ക്‌മാർക്കുകൾ ഇറക്കുമതി ചെയ്യുക." + }, + "workbench": { + "empty": { + "title": "എഡിറ്റിങ്ങ് ആരംഭിക്കാൻ ടൂൾ തുറക്കുക", + "description": "വർക്ക്സ്പേസ് ലോഡ് ചെയ്യാൻ Edit Table of Contents ടൂൾ തിരഞ്ഞെടുക്കുക." + }, + "tabTitle": "ഔട്ട്‌ലൈൻ വർക്ക്സ്പേസ്", + "subtitle": "ബുക്ക്‌മാർക്കുകൾ ഇറക്കുമതി ചെയ്യുക, ഹിയറാർക്കികൾ നിർമ്മിക്കുക, കൂടിച്ചുരുങ്ങിയ സൈഡ് പാനലുകളില്ലാതെ ഔട്ട്‌ലൈൻ പ്രയോഗിക്കുക.", + "noFile": "PDF തിരഞ്ഞെടുക്കപ്പെട്ടിട്ടില്ല", + "fileLabel": "മാറ്റങ്ങൾ നിലവിലെ തിരഞ്ഞെടുത്ത PDF-ലേക്ക് പ്രയോഗിക്കും.", + "filePrompt": "തുടങ്ങാൻ നിങ്ങളുടെ ലൈബ്രറിയിൽ നിന്ന് ഒരു PDF തിരഞ്ഞെടുക്കുക അല്ലെങ്കിൽ പുതിയത് അപ്‌ലോഡ് ചെയ്യുക.", + "changeFile": "PDF മാറ്റുക", + "selectFile": "PDF തിരഞ്ഞെടുക്കുക" + }, + "editor": { + "heading": "ബുക്ക്‌മാർക്ക് എഡിറ്റർ", + "description": "ബുക്ക്‌മാർക്കുകൾ ചേർക്കുക, നെസ്റ്റ് ചെയ്യുക, പുനക്രമീകരിക്കുക, നിങ്ങളുടെ PDF ഔട്ട്‌ലൈൻ നിർമ്മിക്കുക.", + "addTopLevel": "മുകളിൽ-തല ബുക്ക്‌മാർക്ക് ചേർക്കുക", + "empty": { + "title": "ഇനിയും ബുക്ക്‌മാർക്കുകളില്ല", + "description": "നിലവിലുള്ള ബുക്ക്‌മാർക്കുകൾ ഇറക്കുമതി ചെയ്യുക അല്ലെങ്കിൽ ആദ്യ എൻട്രി ചേർത്ത് ആരംഭിക്കുക.", + "action": "ആദ്യ ബുക്ക്‌മാർക്ക് ചേർക്കുക" + }, + "defaultTitle": "പുതിയ ബുക്ക്‌മാർക്ക്", + "defaultChildTitle": "ചൈൽഡ് ബുക്ക്‌മാർക്ക്", + "defaultSiblingTitle": "പുതിയ ബുക്ക്‌മാർക്ക്", + "untitled": "തലക്കെട്ടില്ലാത്ത ബുക്ക്‌മാർക്ക്", + "childBadge": "ചൈൽഡ്", + "pagePreview": "പേജ് {{page}}", + "field": { + "title": "ബുക്ക്‌മാർക്ക് ശീർഷകം", + "page": "ലക്ഷ്യ പേജ് നമ്പർ" + }, + "actions": { + "toggle": "ചൈൽഡുകൾ ടോഗിൾ ചെയ്യുക", + "addChild": "ചൈൽഡ് ബുക്ക്‌മാർക്ക് ചേർക്കുക", + "addSibling": "സിബ്ലിംഗ് ബുക്ക്‌മാർക്ക് ചേർക്കുക", + "remove": "ബുക്ക്‌മാർക്ക് നീക്കുക" + }, + "confirmRemove": "ഈ ബുക്ക്‌മാർക്കും അതിലെ എല്ലാ ചൈൽഡുകളും നീക്കണമോ?" + }, + "messages": { + "loadedTitle": "ബുക്ക്‌മാർക്കുകൾ എക്സ്ട്രാക്റ്റ് ചെയ്തു", + "loadedBody": "PDF-യിലെ നിലവിലുള്ള ബുക്ക്‌മാർക്കുകൾ എഡിറ്ററിലേക്ക് ലോഡ് ചെയ്തു.", + "noBookmarks": "തിരഞ്ഞെടുത്ത PDF-ൽ ബുക്ക്‌മാർക്കുകൾ കണ്ടെത്തിയില്ല.", + "loadFailed": "തിരഞ്ഞെടുത്ത PDF-ൽ നിന്ന് ബുക്ക്‌മാർക്കുകൾ എടുക്കാൻ കഴിഞ്ഞില്ല.", + "imported": "ബുക്ക്‌മാർക്കുകൾ ഇറക്കുമതി ചെയ്തു", + "importedBody": "നിങ്ങളുടെ JSON ഔട്ട്‌ലൈൻ നിലവിലെ എഡിറ്റർ ഉള്ളടക്കത്തെ മാറ്റിസ്ഥാപിച്ചു.", + "importedClipboard": "ക്ലിപ്പ്ബോർ‍ഡ് ഡാറ്റ നിലവിലെ ബുക്ക്‌മാർക്ക് പട്ടികയെ മാറ്റിസ്ഥാപിച്ചു.", + "invalidJson": "അസാധുവായ JSON ഘടന", + "invalidJsonBody": "സാധുവായ ബുക്ക്‌മാർക്ക് JSON ഫയൽ നൽകുകയും വീണ്ടും ശ്രമിക്കുകയും ചെയ്യുക.", + "exported": "JSON ഡൗൺലോഡ് തയ്യാറായി", + "copied": "ക്ലിപ്പ്ബോർഡിലേക്ക് കോപ്പി ചെയ്തു", + "copiedBody": "ബുക്ക്‌മാർക്ക് JSON വിജയകരമായി കോപ്പി ചെയ്തു.", + "copyFailed": "കോപ്പി പരാജയപ്പെട്ടു" + }, + "error": { + "failed": "വിഷയസൂചിക അപ്‌ഡേറ്റ് ചെയ്യൽ പരാജയപ്പെട്ടു" + }, + "submit": "വിഷയസൂചിക പ്രയോഗിക്കുക", + "results": { + "title": "ബുക്ക്‌മാർക്കുകളോടെ അപ്‌ഡേറ്റ് ചെയ്ത PDF", + "subtitle": "പ്രോസസ്സ് ചെയ്ത ഫയൽ ഡൗൺലോഡ് ചെയ്യുക അല്ലെങ്കിൽ താഴെ പ്രവർത്തനം പിന്‍വലിക്കുക." + } + }, "removePages": { "tags": "പേജുകൾ നീക്കം ചെയ്യുക,പേജുകൾ ഇല്ലാതാക്കുക", "title": "പേജുകൾ നീക്കം ചെയ്യുക", @@ -1405,7 +1604,7 @@ "placeholder": "ഉദാ., 1,3,5-8,10", "error": "അസാധുവായ പേജ് നമ്പർ ഫോർമാറ്റ്. സംഖ്യകൾ, പരിധികൾ (1-5), അല്ലെങ്കിൽ ഗണിത രീതി (2n+1) ഉപയോഗിക്കുക" }, - "filenamePrefix": "pages_removed", + "filenamePrefix": "താളുകൾ_നീക്കി", "files": { "placeholder": "ആരംഭിക്കാൻ പ്രധാന കാഴ്ചയിൽ ഒരു PDF ഫയൽ തിരഞ്ഞെടുക്കുക" }, @@ -1606,7 +1805,7 @@ "header": "PDF ഫോമുകൾ അൺലോക്ക് ചെയ്യുക", "submit": "നീക്കം ചെയ്യുക", "description": "ഈ ടൂൾ PDF ഫോമിലെ read-only നിയന്ത്രണങ്ങൾ നീക്കം ചെയ്ത് അവ എഡിറ്റുചെയ്യാവുന്നതും പൂരിപ്പിക്കാവുന്നതുമാക്കും.", - "filenamePrefix": "unlocked_forms", + "filenamePrefix": "അൺലോക്ക്_ചെയ്ത_ഫോമുകൾ", "files": { "placeholder": "ആരംഭിക്കാൻ പ്രധാന കാഴ്ചയിൽ ഒരു PDF ഫയൽ തിരഞ്ഞെടുക്കുക" }, @@ -1620,7 +1819,7 @@ "changeMetadata": { "header": "മെറ്റാഡാറ്റ മാറ്റുക", "submit": "മാറ്റുക", - "filenamePrefix": "metadata", + "filenamePrefix": "മെറ്റാഡാറ്റ", "settings": { "title": "മെറ്റാഡേറ്റ ക്രമീകരണങ്ങൾ" }, @@ -1668,9 +1867,9 @@ }, "trapped": { "label": "ട്രാപ്പ് ചെയ്ത നില", - "unknown": "Unknown", - "true": "True", - "false": "False" + "unknown": "അജ്ഞാതം", + "true": "സത്യം", + "false": "അസത്യം" }, "advanced": { "title": "അഡ്വാൻസ്ഡ് ഓപ്ഷനുകൾ" @@ -1978,13 +2177,54 @@ "title": "താങ്കളുടെ ഒപ്പ് വരയ്ക്കുക", "clear": "ക്ലിയർ" }, + "canvas": { + "heading": "നിങ്ങളുടെ ഒപ്പ് വരയ്ക്കുക", + "clickToOpen": "ഡ്രോയിംഗ് കാൻവാസ് തുറക്കാൻ ക്ലിക്ക് ചെയ്യുക", + "modalTitle": "നിങ്ങളുടെ ഒപ്പ് വരയ്ക്കുക", + "colorLabel": "നിറം", + "penSizeLabel": "പെൻ വലിപ്പം", + "penSizePlaceholder": "വലുപ്പം", + "clear": "കാൻവാസ് മായ്ക്കുക", + "colorPickerTitle": "സ്ട്രോക്ക് നിറം തിരഞ്ഞെടുക്കുക" + }, "text": { "name": "ഒപ്പിടുന്ന വ്യക്തിയുടെ പേര്", - "placeholder": "പൂർണ്ണ പേര് നൽകുക" + "placeholder": "പൂർണ്ണ പേര് നൽകുക", + "fontLabel": "ഫോണ്ട്", + "fontSizeLabel": "ഫോണ്ട് വലിപ്പം", + "fontSizePlaceholder": "ഫോണ്ട് വലിപ്പം ടൈപ്പ് ചെയ്യുക അല്ലെങ്കിൽ തിരഞ്ഞെടുക്കുക (8-200)", + "colorLabel": "ടെക്സ്റ്റ് നിറം" }, "clear": "മായ്ക്കുക", "add": "ചേർക്കുക", - "saved": "സംരക്ഷിച്ച ഒപ്പുകൾ", + "saved": { + "heading": "സേവ് ചെയ്ത ഒപ്പുകൾ", + "description": "സേവ് ചെയ്ത ഒപ്പുകൾ ഏതുസമയവും വീണ്ടും ഉപയോഗിക്കുക.", + "emptyTitle": "ഇനിയും സേവ് ചെയ്ത ഒപ്പുകളില്ല", + "emptyDescription": "മുകളിൽ ഒപ്പ് വരയ്ക്കുക, അപ്‌ലോഡ് ചെയ്യുക അല്ലെങ്കിൽ ടൈപ്പ് ചെയ്യുക, തുടർന്ന് \"ലൈബ്രറിയിലേക്ക് സേവ് ചെയ്യുക\" ഉപയോഗിച്ച് പരമാവധി {{max}} ഇഷ്ടപ്പെട്ടവ തയാറാക്കി വെക്കുക.", + "type": { + "canvas": "ഡ്രോയിംഗ്", + "image": "അപ്‌ലോഡ്", + "text": "ടെക്സ്റ്റ്" + }, + "limitTitle": "പരിധി എത്തി", + "limitDescription": "പുതിയത് ചേർക്കുന്നതിന് മുമ്പ് ഒരു സേവ് ചെയ്ത ഒപ്പ് നീക്കുക (മാക്സ് {{max}}).", + "carouselPosition": "{{total}}-ൽ {{current}}", + "prev": "മുൻപത്തെ", + "next": "അടുത്തത്", + "delete": "നീക്കുക", + "label": "ലേബൽ", + "defaultLabel": "ഒപ്പ്", + "defaultCanvasLabel": "വരച്ച ഒപ്പ്", + "defaultImageLabel": "അപ്‌ലോഡ് ചെയ്ത ഒപ്പ്", + "defaultTextLabel": "ടൈപ്പ് ചെയ്ത ഒപ്പ്", + "saveButton": "ഒപ്പ് സേവ് ചെയ്യുക", + "saveUnavailable": "സേവ് ചെയ്യാൻ ആദ്യം ഒരു ഒപ്പ് സൃഷ്ടിക്കുക.", + "noChanges": "നിലവിലെ ഒപ്പ് ഇതിനകം സേവ് ചെയ്തിട്ടുണ്ട്.", + "status": { + "saved": "സേവ് ചെയ്തു" + } + }, "save": "ഒപ്പ് സംരക്ഷിക്കുക", "applySignatures": "ഒപ്പുകൾ പ്രയോഗിക്കുക", "personalSigs": "വ്യക്തിഗത ഒപ്പുകൾ", @@ -2003,12 +2243,18 @@ "steps": { "configure": "ഒപ്പ് ക്രമീകരിക്കുക" }, + "step": { + "createDesc": "ഒപ്പ് എങ്ങനെ സൃഷ്ടിക്കണമെന്ന് തിരഞ്ഞെടുക്കുക", + "place": "സ്ഥാപിച്ച് സേവ് ചെയ്യുക", + "placeDesc": "നിങ്ങളുടെ PDF-ൽ ഒപ്പ് സ്ഥാനം നിശ്ചയിക്കുക" + }, "type": { "title": "ഒപ്പ് തരം", "draw": "വരയ്ക്കുക", - "canvas": "Canvas", + "canvas": "കാൻവാസ്", "image": "ചിത്രം", - "text": "വാചകം" + "text": "വാചകം", + "saved": "സേവ് ചെയ്തത്" }, "image": { "label": "ഒപ്പിന്റെ ചിത്രം അപ്‌ലോഡ് ചെയ്യുക", @@ -2019,11 +2265,17 @@ "title": "ഒപ്പ് എങ്ങനെ ചേർക്കാം", "canvas": "Canvas-യിൽ ഒപ്പ് വരച്ച ശേഷം മോഡൽ അടയ്ക്കുക, തുടർന്ന് PDF-ിലെ ഏതെങ്കിലും സ്ഥലത്ത് ക്ലിക്ക് ചെയ്ത് ഒപ്പ് സ്ഥാപിക്കുക.", "image": "മുകളിൽ ഒപ്പിന്റെ ചിത്രം അപ്‌ലോഡ് ചെയ്ത ശേഷം, PDF-ിലെ ഏതെങ്കിലും സ്ഥലത്ത് ക്ലിക്ക് ചെയ്ത് ഒപ്പ് സ്ഥാപിക്കുക.", - "text": "മുകളിൽ നിങ്ങളുടെ പേര് നൽകിയ ശേഷം, PDF-ിലെ ഏതെങ്കിലും സ്ഥലത്ത് ക്ലിക്ക് ചെയ്ത് ഒപ്പ് സ്ഥാപിക്കുക." + "saved": "മുകളിൽ നിന്ന് ഒരു സേവ് ചെയ്ത ഒപ്പ് തിരഞ്ഞെടുക്കുക, തുടർന്ന് PDF-ൽ എവിടെയെങ്കിലും ക്ലിക്ക് ചെയ്ത് സ്ഥാപിക്കുക.", + "text": "മുകളിൽ നിങ്ങളുടെ പേര് നൽകിയ ശേഷം, PDF-ിലെ ഏതെങ്കിലും സ്ഥലത്ത് ക്ലിക്ക് ചെയ്ത് ഒപ്പ് സ്ഥാപിക്കുക.", + "paused": "സ്ഥാപിക്കൽ നിർത്തിയിരിക്കുന്നു", + "resumeHint": "സ്ഥാപിക്കൽ പുനരാരംഭിച്ച് ക്ലിക്ക് ചെയ്ത് നിങ്ങളുടെ ഒപ്പ് ചേർക്കുക.", + "noSignature": "സ്ഥാപിക്കൽ ടൂളുകൾ പ്രാപ്തമാക്കാൻ മുകളിൽ ഒരു ഒപ്പ് സൃഷ്ടിക്കുക." }, "mode": { "move": "ഒപ്പ് നീക്കുക", - "place": "ഒപ്പ് സ്ഥാപിക്കുക" + "place": "ഒപ്പ് സ്ഥാപിക്കുക", + "pause": "സ്ഥാപിക്കൽ നിർത്തുക", + "resume": "സ്ഥാപിക്കൽ പുനരാരംഭിക്കുക" }, "updateAndPlace": "അപ്‌ഡേറ്റ് ചെയ്ത് സ്ഥാപിക്കുക", "activate": "ഒപ്പ് സ്ഥാപിക്കൽ സജീവമാക്കുക", @@ -2040,7 +2292,7 @@ "header": "PDF-കൾ പരത്തുക", "flattenOnlyForms": "ഫോമുകൾ മാത്രം പരത്തുക", "submit": "പരത്തുക", - "filenamePrefix": "flattened", + "filenamePrefix": "ഫ്ലാറ്റൻ_ചെയ്തത്", "files": { "placeholder": "ആരംഭിക്കാൻ പ്രധാന കാഴ്ചയിൽ ഒരു PDF ഫയൽ തിരഞ്ഞെടുക്കുക" }, @@ -2090,7 +2342,7 @@ "header": "PDF-കൾ നന്നാക്കുക", "submit": "നന്നാക്കുക", "description": "ഈ ടൂൾ കേടായ അല്ലെങ്കിൽ ദോഷപ്പെട്ട PDF ഫയലുകൾ ശരിയാക്കാൻ ശ്രമിക്കും. കൂടുതൽ ക്രമീകരണങ്ങൾ ആവശ്യമില്ല.", - "filenamePrefix": "repaired", + "filenamePrefix": "അറ്റകുറ്റം_ചെയ്തത്", "files": { "placeholder": "ആരംഭിക്കാൻ പ്രധാന കാഴ്ചയിൽ ഒരു PDF ഫയൽ തിരഞ്ഞെടുക്കുക" }, @@ -2163,6 +2415,14 @@ "title": "അനോട്ടേഷനുകൾ നീക്കംചെയ്യൽ കുറിച്ച്", "description": "ഈ ടൂൾ നിങ്ങളുടെ PDF ഡോക്യുമെന്റുകളിൽ നിന്ന് എല്ലാ അനോട്ടേഷനുകളും (കമന്റുകൾ, ഹൈലൈറ്റുകൾ, കുറിപ്പുകൾ മുതലായവ) നീക്കംചെയ്യും." }, + "tooltip": { + "header": { + "title": "Remove Annotations കുറിച്ച്" + }, + "description": { + "title": "ഇത് എന്താണ് ചെയ്യുന്നത്" + } + }, "error": { "failed": "PDF-ിൽ നിന്ന് അനോട്ടേഷനുകൾ നീക്കംചെയ്യുന്നതിനിടെ ഒരു പിശക് സംഭവിച്ചു." } @@ -2293,7 +2553,7 @@ "certSign": { "tags": "സ്ഥിരീകരിക്കുക,PEM,P12,ഔദ്യോഗികം,എൻക്രിപ്റ്റ് ചെയ്യുക", "title": "സർട്ടിഫിക്കറ്റ് ഒപ്പിടൽ", - "filenamePrefix": "signed", + "filenamePrefix": "ഒപ്പിട്ടത്", "signMode": { "stepTitle": "സൈൻ മോഡ്", "tooltip": { @@ -2437,7 +2697,7 @@ "selectPDF": "ഒരു PDF ഫയൽ തിരഞ്ഞെടുക്കുക:", "submit": "ഒപ്പ് നീക്കം ചെയ്യുക", "description": "ഈ ടൂൾ നിങ്ങളുടെ PDF പ്രമാണത്തിൽ നിന്ന് ഡിജിറ്റൽ സർട്ടിഫിക്കറ്റ് ഒപ്പുകൾ നീക്കും.", - "filenamePrefix": "unsigned", + "filenamePrefix": "ഒപ്പിടാത്തത്", "files": { "placeholder": "തുടങ്ങാൻ മെയിൻ വ്യൂവിൽ ഒരു PDF ഫയൽ തിരഞ്ഞെടുക്കുക" }, @@ -2627,6 +2887,9 @@ "header": { "title": "ഓട്ടോ-റിനെയിം എങ്ങനെ പ്രവർത്തിക്കുന്നു" }, + "description": { + "title": "ഇത് എന്താണ് ചെയ്യുന്നത്" + }, "howItWorks": { "title": "സ്മാർട്ട് പുനർനാമകരണം", "text": "നിങ്ങളുടെ PDF ഉള്ളടക്കത്തിൽ നിന്ന് തലക്കെട്ട് സ്വയം കണ്ടെത്തി അത് ഫയൽനാമമായി ഉപയോഗിക്കും.", @@ -2634,6 +2897,9 @@ "bullet2": "കണ്ടെത്തിയ തലക്കെട്ടിൽ നിന്ന് വൃത്തിയുള്ള, സാധുവായ ഫയൽനാമം സൃഷ്ടിക്കുന്നു", "bullet3": "ചിട്ടയായ തലക്കെട്ട് ഒന്നും കണ്ടെത്താനാകാതെയെങ്കിൽ യഥാർത്ഥ പേര് നിലനിർത്തും" } + }, + "settings": { + "title": "കുറിച്ച്" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "പ്രതീക്ഷിക്കാത്ത പിശക്: {{message}}", "accountCreatedSuccess": "അക്കൗണ്ട് വിജയകരമായി സൃഷ്ടിച്ചു! നിങ്ങൾക്ക് ഇപ്പോൾ സൈൻ ഇൻ ചെയ്യാം.", "passwordChangedSuccess": "പാസ്‌വേഡ് വിജയകരമായി മാറ്റി! നിങ്ങളുടെ പുതിയ പാസ്‌വേഡുമായ് ദയവായി സൈൻ ഇൻ ചെയ്യുക.", - "credentialsUpdated": "നിങ്ങളുടെ ക്രെഡൻഷ്യലുകൾ അപ്ഡേറ്റ് ചെയ്തു. ദയവായി വീണ്ടും സൈൻ ഇൻ ചെയ്യുക." + "credentialsUpdated": "നിങ്ങളുടെ ക്രെഡൻഷ്യലുകൾ അപ്ഡേറ്റ് ചെയ്തു. ദയവായി വീണ്ടും സൈൻ ഇൻ ചെയ്യുക.", + "defaultCredentials": "ഡീഫോൾട്ട് ലോഗിൻ ക്രെഡൻഷ്യലുകൾ", + "changePasswordWarning": "ആദ്യമായി ലോഗിൻ ചെയ്തതിന് ശേഷം ദയവായി നിങ്ങളുടെ പാസ്‌വേഡ് മാറ്റുക", + "slides": { + "overview": { + "alt": "Stirling PDF അവലോകനം", + "title": "എല്ലാ PDF ആവശ്യങ്ങൾക്കും നിങ്ങളുടെ ഒറ്റ-സ്റ്റോപ്പ് ഷോപ്പ്.", + "subtitle": "PDF-കൾ convert, sign, redact ചെയ്ത് മാനേജുചെയ്യാൻ കഴിയുന്ന, സ്വകാര്യത-ആദ്യം cloud suite, കൂടെ 50+ ശക്തമായ tools." + }, + "edit": { + "alt": "PDF-കൾ എഡിറ്റ് ചെയ്യുക", + "title": "ആവശ്യമായ വിവരങ്ങൾ പ്രദർശിപ്പിക്കാനും/സുരക്ഷിതമാക്കാനും PDF-കൾ എഡിറ്റ് ചെയ്യുക", + "subtitle": "PDF-കൾ redact, sign, read, manipulate ചെയ്യാൻ സഹായിക്കുന്ന പന്ത്രണ്ടിലധികം tools ഉള്ളതിനാൽ, നിങ്ങൾ അന്വേഷിക്കുന്നത് തീർച്ചയായും കണ്ടെത്തും." + }, + "secure": { + "alt": "PDF-കൾ സുരക്ഷിതമാക്കുക", + "title": "നിങ്ങളുടെ PDF-കളിലെ സെൻസിറ്റീവ് വിവരങ്ങളെ സംരക്ഷിക്കുക", + "subtitle": "പാസ്‌വേഡുകൾ ചേർക്കുക, ഉള്ളടക്കം redact ചെയ്യുക, സർട്ടിഫിക്കറ്റുകൾ എളുപ്പത്തിൽ മാനേജുചെയ്യുക." + } + } }, "signup": { "title": "ഒരു അക്കൗണ്ട് സൃഷ്ടിക്കുക", @@ -3262,7 +3547,7 @@ "header": "PDF ഒരൊറ്റ പേജിലേക്ക്", "submit": "ഒരൊറ്റ പേജിലേക്ക് മാറ്റുക", "description": "ഈ ടൂൾ നിങ്ങളുടെ PDFയിലെ എല്ലാ പേജുകളും ഒരു വലിയ ഒറ്റ പേജായി ലയിപ്പിക്കും. വീതി യഥാതഥ പേജുകളിലേതുപോലെ തുടരും, എന്നാൽ ഉയരം എല്ലാ പേജുകളുടെ ഉയരങ്ങളുടെ മൊത്തം ആയിരിക്കും.", - "filenamePrefix": "single_page", + "filenamePrefix": "ഒറ്റ_താൾ", "files": { "placeholder": "തുടങ്ങാൻ മെയിൻ വ്യൂവിൽ ഒരു PDF ഫയൽ തിരഞ്ഞെടുക്കുക" }, @@ -3598,7 +3883,9 @@ "exportAll": "PDF എക്സ്പോർട്ട് ചെയ്യുക", "downloadSelected": "തിരഞ്ഞെടുത്ത ഫയലുകൾ ഡൗൺലോഡ് ചെയ്യുക", "downloadAll": "എല്ലാം ഡൗൺലോഡ് ചെയ്യുക", + "saveAll": "എല്ലാം സേവ് ചെയ്യുക", "toggleTheme": "തീം മാറ്റുക", + "toggleBookmarks": "ബുക്ക്‌മാർക്കുകൾ ടോഗിൾ ചെയ്യുക", "language": "ഭാഷ", "search": "PDF തിരയുക", "panMode": "പാൻ മോഡ്", @@ -3655,10 +3942,10 @@ "files": "ഫയലുകൾ", "activity": "ചരിത്രം", "help": "സഹായം", - "account": "Account", + "account": "അക്കൗണ്ട്", "config": "കോൺഫിഗ്", - "settings": "Settings", - "adminSettings": "Admin Settings", + "settings": "സെറ്റിങ്ങുകൾ", + "adminSettings": "അഡ്മിൻ സെറ്റിങ്ങുകൾ", "allTools": "All Tools", "reader": "റീഡർ", "helpMenu": { @@ -3685,8 +3972,16 @@ "saved": "സജ്ജീകരണങ്ങൾ വിജയകരമായി സംരക്ഷിച്ചു", "saveSuccess": "സജ്ജീകരണങ്ങൾ വിജയകരമായി സംരക്ഷിച്ചു", "save": "മാറ്റങ്ങൾ സംരക്ഷിക്കുക", + "discard": "തള്ളുക", "restartRequired": "റീസ്റ്റാർട്ട് ആവശ്യമാണ്", "loginRequired": "അഡ്മിൻ സജ്ജീകരണങ്ങൾ മാറ്റാൻ ലോഗിൻ മോഡ് പ്രവർത്തനക്ഷമമാകണം", + "unsavedChanges": { + "title": "സേവ് ചെയ്യാത്ത മാറ്റങ്ങൾ", + "message": "നിങ്ങൾക്ക് സേവ് ചെയ്യാത്ത മാറ്റങ്ങളുണ്ട്. അവ തള്ളണമോ?", + "cancel": "എഡിറ്റിംഗ് തുടരുക", + "discard": "മാറ്റങ്ങൾ തള്ളുക", + "hint": "നിങ്ങൾക്ക് സേവ് ചെയ്യാത്ത മാറ്റങ്ങളുണ്ട്" + }, "loginDisabled": { "title": "ലോഗിൻ മോഡ് ആവശ്യമാണ്", "message": "അഡ്മിൻ സജ്ജീകരണങ്ങൾ മാറ്റാൻ ലോഗിൻ മോഡ് പ്രവർത്തനക്ഷമമാകണം. നിങ്ങളുടെ എൻവയോൺമെന്റിൽ SECURITY_ENABLELOGIN=true എന്ന രീതിയിൽ, അല്ലെങ്കിൽ settings.yml-ൽ security.enableLogin: true ആയി ക്രമീകരിച്ച് സെർവർ റീസ്റ്റാർട്ട് ചെയ്യുക.", @@ -4137,7 +4432,7 @@ "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", "weasyPrint": "WeasyPrint", - "installApp": "Install App", + "installApp": "ആപ്പ് ഇൻസ്റ്റാൾ ചെയ്യുക", "calibre": "Calibre", "ghostscript": "Ghostscript", "ocrMyPdf": "OCRmyPDF" @@ -4212,9 +4507,21 @@ "title": "പ്രീമിയം & എന്റർപ്രൈസ്", "description": "നിങ്ങളുടെ പ്രീമിയം അല്ലെങ്കിൽ എന്റർപ്രൈസ് ലൈസൻസ് കീ ക്രമീകരിക്കുക.", "license": "ലൈസൻസ് കോൺഫിഗറേഷൻ", + "licenseKey": { + "toggle": "ലൈസൻസ് കീ അല്ലെങ്കിൽ സർട്ടിഫിക്കറ്റ് ഫയൽ ഉണ്ടോ?", + "info": "നേരിട്ട് വാങ്ങിയ ലൈസൻസ് കീ അല്ലെങ്കിൽ സർട്ടിഫിക്കറ്റ് ഫയൽ ഉണ്ടെങ്കിൽ, ഇവിടെ നൽകിച്ച് പ്രീമിയം അല്ലെങ്കിൽ എന്റർപ്രൈസ് ഫീച്ചറുകൾ ആക്റ്റിവേറ്റ് ചെയ്യാം." + }, "key": { "label": "ലൈസൻസ് കീ", - "description": "നിങ്ങളുടെ പ്രീമിയം/എന്റർപ്രൈസ് ലൈസൻസ് കീ നൽകുക" + "description": "നിങ്ങളുടെ പ്രീമിയം/എന്റർപ്രൈസ് ലൈസൻസ് കീ നൽകുക", + "success": "ലൈസൻസ് കീ സേവ് ചെയ്തു", + "successMessage": "നിങ്ങളുടെ ലൈസൻസ് കീ വിജയകരമായി സജീവമായി. റീസ്റ്റാർട്ട് ആവശ്യമില്ല.", + "overwriteWarning": { + "title": "⚠️ മുന്നറിയിപ്പ്: നിലവിലുള്ള ലൈസൻസ് കണ്ടെത്തി", + "line1": "നിലവിലെ ലൈസൻസ് കീ ഓവർറൈറ്റ് ചെയ്യുന്നത് പിന്‍വലിക്കാൻ കഴിയില്ല.", + "line2": "നിങ്ങൾ മറ്റെവിടെയെങ്കിലും ബാക്കപ്പ് എടുത്തിട്ടില്ലെങ്കിൽ നിങ്ങളുടെ പഴയ ലൈസൻസ് സ്ഥിരമായി നഷ്ടപ്പെടും.", + "line3": "പ്രധാനപ്പെട്ടത്: ലൈസൻസ് കീകൾ സ്വകാര്യവും സുരക്ഷിതവുമാക്കി സൂക്ഷിക്കുക. ഒരിക്കലും അവ പൊതു വേദിയിൽ പങ്കുവെക്കരുത്." + } }, "enabled": { "label": "പ్రీമിയം സവിശേഷതകൾ പ്രാപ്തമാക്കുക", @@ -4278,12 +4585,17 @@ "or": "അഥവാ", "dropFileHere": "ഫയൽ ഇവിടെ ഇടുക അല്ലെങ്കിൽ അപ്‌ലോഡ് ചെയ്യാൻ ക്ലിക്ക് ചെയ്യുക", "dropFilesHere": "ഫയലുകൾ ഇവിടെ ഇടുകയോ അപ്‌ലോഡ് ബട്ടൺ ക്ലിക്ക് ചെയ്യുകയോ ചെയ്യുക", + "dropFilesHereOpen": "ഫയലുകൾ ഇവിടെ ഡ്രോപ്പ് ചെയ്യുക അല്ലെങ്കിൽ Open ബട്ടൺ ക്ലിക്ക് ചെയ്യുക", "pdfFilesOnly": "PDF ഫയലുകൾ മാത്രം", "supportedFileTypes": "പിന്തുണയ്ക്കുന്ന ഫയൽ തരങ്ങൾ", "upload": "അപ്‌ലോഡ്", "uploadFile": "ഫയൽ അപ്‌ലോഡ് ചെയ്യുക", "uploadFiles": "ഫയലുകൾ അപ്‌ലോഡ് ചെയ്യുക", + "open": "തുറക്കുക", + "openFile": "ഫയൽ തുറക്കുക", + "openFiles": "ഫയലുകൾ തുറക്കുക", "noFilesInStorage": "സ്റ്റോറേജിൽ ഫയലുകളൊന്നുമില്ല. ആദ്യം ചില ഫയലുകൾ അപ്‌ലോഡ് ചെയ്യുക.", + "noFilesInStorageOpen": "സ്റ്റോറേജിൽ ഫയലുകളില്ല. ആദ്യം ചില ഫയലുകൾ Open ചെയ്യൂ.", "selectFromStorage": "സ്റ്റോറേജിൽ നിന്ന് തിരഞ്ഞെടുക്കുക", "backToTools": "ടൂൾസിലേക്ക് മടങ്ങുക", "addFiles": "ഫയലുകൾ ചേർക്കുക", @@ -4329,6 +4641,8 @@ "myFiles": "എന്റെ ഫയലുകൾ", "noRecentFiles": "സമീപകാല ഫയലുകൾ ഒന്നും കണ്ടെത്തിയില്ല", "googleDriveNotAvailable": "Google Drive ഇന്റഗ്രേഷൻ ലഭ്യമല്ല", + "downloadSelected": "തിരഞ്ഞെടുത്തത് ഡൗൺലോഡ് ചെയ്യുക", + "saveSelected": "തിരഞ്ഞെടുത്തത് സേവ് ചെയ്യുക", "openFiles": "ഫയലുകൾ തുറക്കുക", "openFile": "ഫയൽ തുറക്കുക", "details": "ഫയൽ വിശദാംശങ്ങൾ", @@ -4341,7 +4655,6 @@ "selectAll": "എല്ലാം തിരഞ്ഞെടുക്കുക", "deselectAll": "എല്ലാം ഒഴിവാക്കുക", "deleteSelected": "തിരഞ്ഞെടുത്തത് ഇല്ലാതാക്കുക", - "downloadSelected": "തിരഞ്ഞെടുത്തത് ഡൗൺലോഡ് ചെയ്യുക", "selectedCount": "{{count}} തിരഞ്ഞെടുക്കപ്പെട്ടു", "download": "ഡൗൺലോഡ്", "delete": "ഇല്ലാതാക്കുക", @@ -4375,7 +4688,7 @@ "generic": "സാനിറ്റൈസേഷൻ പരാജയപ്പെട്ടു", "failed": "PDF സാനിറ്റൈസ് ചെയ്യുന്നതിനിടെ പിശക് സംഭവിച്ചു." }, - "filenamePrefix": "sanitised", + "filenamePrefix": "ശുദ്ധീകരിച്ചത്", "sanitizationResults": "സാനിറ്റൈസേഷൻ ഫലങ്ങൾ", "steps": { "files": "ഫയലുകൾ", @@ -4419,7 +4732,7 @@ "desc": "നിങ്ങളുടെ PDF ഡോക്യുമെന്റ് ഒരു പാസ്‌വേഡോടെ എൻക്രിപ്റ്റ് ചെയ്യുക.", "completed": "പാസ്‌വേഡ് സംരക്ഷണം പ്രയോഗിച്ചു", "submit": "എൻക്രിപ്റ്റ് ചെയ്യുക", - "filenamePrefix": "encrypted", + "filenamePrefix": "എൻക്രിപ്റ്റ്_ചെയ്തത്", "error": { "failed": "PDF എൻക്രിപ്റ്റ് ചെയ്യുന്നതിനിടെ പിശക് സംഭവിച്ചു." }, @@ -4528,7 +4841,7 @@ "placeholder": "നിലവിലെ പാസ്‌വേഡ് നൽകുക", "completed": "പാസ്‌വേഡ് ക്രമീകരിച്ചു" }, - "filenamePrefix": "decrypted", + "filenamePrefix": "ഡീക്രിപ്റ്റ്_ചെയ്തത്", "error": { "failed": "PDF-യിൽ നിന്ന് പാസ്‌വേഡ് നീക്കം ചെയ്യുന്നതിനിടെ പിശക് സംഭവിച്ചു." }, @@ -4621,9 +4934,14 @@ "secureWorkflow": "സുരക്ഷാ വർക്ക്‌ഫ്ലോ", "secureWorkflowDesc": "JavaScript, എംബെഡഡ് ഫയലുകൾ പോലുള്ള അപകടകരമായ ഉള്ളടക്കം നീക്കംചെയ്ത് PDF ഡോക്യുമെന്റുകൾ സുരക്ഷിതമാക്കുന്നു, പിന്നീട് അനധികൃത പ്രവേശനം തടയാൻ പാസ്‌വേഡ് സംരക്ഷണം ചേർക്കുന്നു. ഡിഫോൾട്ടായി പാസ്‌വേഡ് 'password' ആയി ക്രമീകരിച്ചിരിക്കുന്നു.", "processImages": "ചിത്രങ്ങൾ പ്രോസസ് ചെയ്യുക", - "processImagesDesc": "വിവിധ ഇമേജ് ഫയലുകൾ ഒന്നിച്ച് ഒരു PDF ആക്കി മാറ്റി, ചിത്രങ്ങളിൽ നിന്ന് തിരയാവുന്ന ടെക്സ്റ്റ് എടുക്കാൻ OCR സാങ്കേതികവിദ്യ പ്രയോഗിക്കുന്നു." + "processImagesDesc": "വിവിധ ഇമേജ് ഫയലുകൾ ഒന്നിച്ച് ഒരു PDF ആക്കി മാറ്റി, ചിത്രങ്ങളിൽ നിന്ന് തിരയാവുന്ന ടെക്സ്റ്റ് എടുക്കാൻ OCR സാങ്കേതികവിദ്യ പ്രയോഗിക്കുന്നു.", + "prePublishSanitization": "പ്രസിദ്ധീകരണത്തിന് മുമ്പുള്ള സാനിറ്റൈസേഷൻ", + "prePublishSanitizationDesc": "പ്രസിദ്ധീകരണത്തിന് മുമ്പ് PDF-ുകളിൽ നിന്ന് മറഞ്ഞ മെറ്റാഡേറ്റ, JavaScript, എംബെഡഡ് ഫയലുകൾ, അനോട്ടേഷനുകൾ എല്ലാം നീക്കംചെയ്ത് ഫോമുകൾ ഫ്ലാറ്റൻ ചെയ്യുന്നതിലൂടെ ഡാറ്റ ലീക്കേജ് തടയുന്ന സാനിറ്റൈസേഷൻ പ്രവാഹം." } }, + "colorPicker": { + "title": "നിറം തിരഞ്ഞെടുക്കുക" + }, "common": { "previous": "മുൻപ്", "next": "അടുത്തത്", @@ -4639,7 +4957,13 @@ "used": "ഉപയോഗിച്ചത്", "available": "ലഭ്യം", "cancel": "റദ്ദാക്കുക", - "preview": "മുന്‍കാഴ്ച" + "preview": "മുന്‍കാഴ്ച", + "close": "അടയ്ക്കുക", + "done": "പൂർത്തിയായി", + "loading": "ലോഡുചെയ്യുന്നു...", + "back": "തിരികെ", + "continue": "തുടരുക", + "error": "പിശക്" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "കൂടുതൽ ഫയലുകൾ ചേർക്കുക...", "selectedFiles": "തിരഞ്ഞെടുത്ത ഫയലുകൾ", "submit": "അറ്റാച്ച്മെന്റുകൾ ചേർക്കുക", + "tooltip": { + "header": { + "title": "Add Attachments കുറിച്ച്" + }, + "description": { + "title": "ഇത് എന്താണ് ചെയ്യുന്നത്" + } + }, "results": { "title": "അറ്റാച്ച്മെന്റ് ഫലങ്ങൾ" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "ഇഷ്ടാനുസൃത സ്ഥാനം", "details": "വിശദാംശങ്ങൾ", - "downloadUnavailable": "ഈ ഇനത്തിന് ഡൗൺലോഡ് ലഭ്യമല്ല", "invalidUndoData": "റദ്ദാക്കാൻ കഴിയില്ല: അസാധുവായ പ്രവർത്തന ഡാറ്റ", "margin": { "large": "വലുത്", @@ -4801,6 +5132,10 @@ "maybeLater": "പിന്നീട്", "dontShowAgain": "ഇനി കാണിക്കരുത്" }, + "welcomeSlide": { + "title": "Stirling-ിലേക്ക് സ്വാഗതം", + "body": "Stirling PDF ഇനി എല്ലാ വലുപ്പത്തിലുള്ള ടീമുകൾക്കുമൊത്ത് തയ്യാറായി. ഈ അപ്‌ഡേറ്റിൽ ഒരു പുതിയ ലേഔട്ട്, ശക്തമായ പുതിയ അഡ്മിൻ കഴിവുകൾ, കൂടാതെ ഏറ്റവും ആവശ്യപ്പെട്ട ഫീച്ചർ - Edit Text ഉൾപ്പെടുന്നു." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "ക്രോപ്പ് ടൂൾ എങ്ങനെ ഉപയോഗിക്കാമെന്ന് കാണിക്കാൻ നമുക്ക് അത് തിരഞ്ഞെടുക്കാം.", "toolInterface": "ഇതാണ് ക്രോപ്പ് ടൂളിന്റെ ഇന്റർഫേസ്. ഇപ്പോഴും പ്രവർത്തിപ്പിക്കാൻ PDF ഫയലുകൾ ചേർത്തിട്ടില്ലാത്തതിനാൽ ഇവിടെ അധികമൊന്നുമില്ലെന്ന് നിങ്ങൾ കാണുന്നു.", @@ -4823,7 +5158,39 @@ "next": "അടുത്തത്", "finish": "പൂർത്തിയാക്കുക", "startTour": "ടൂർ ആരംഭിക്കുക", - "startTourDescription": "Stirling PDF 的 പ്രധാന സവിശേഷതകളുടെ മാർഗ്ഗനിർദ്ദേശ ടൂർ" + "startTourDescription": "Stirling PDF 的 പ്രധാന സവിശേഷതകളുടെ മാർഗ്ഗനിർദ്ദേശ ടൂർ", + "buttons": { + "next": "അടുത്തത് →", + "back": "തിരികെ", + "skipForNow": "ഇപ്പോൾ ഒഴിവാക്കുക", + "download": "ഡൗൺലോഡ് →", + "showMeAround": "ടൂർ കാണിക്കുക", + "skipTheTour": "ടൂർ ഒഴിവാക്കുക" + }, + "serverLicense": { + "skip": "ഇപ്പോൾ ഒഴിവാക്കുക", + "seePlans": "പ്ലാനുകൾ കാണുക →", + "upgrade": "ഇപ്പോൾ അപ്‌ഗ്രേഡ് ചെയ്യുക →", + "freeTitle": "സെർവർ ലൈസൻസ്", + "overLimitTitle": "സെർവർ ലൈസൻസ് ആവശ്യമാണ്", + "overLimitBody": "ഞങ്ങളുടെ ലൈസൻസിംഗ് ഓരോ സെർവർക്കും പരമാവധി {{freeTierLimit}} ഉപയോക്താക്കളെ സൗജന്യമായി അനുവദിക്കുന്നു. നിങ്ങള്ക്ക് {{overLimitUserCopy}} Stirling ഉപയോക്താക്കളുണ്ട്. തടസ്സമില്ലാതെ തുടരാൻ, Stirling Server പ്ലാനിലേക്ക് അപ്‌ഗ്രേഡ് ചെയ്യുക - unlimited seats, PDF text editing, പൂർണ്ണ അഡ്മിൻ നിയന്ത്രണം, $99/server/mo.", + "freeBody": "ഞങ്ങളുടെ Open-Core ലൈസൻസിംഗ് ഓരോ സെർവർക്കും പരമാവധി {{freeTierLimit}} ഉപയോക്താക്കളെ സൗജന്യമായി അനുവദിക്കുന്നു. തടസ്സമില്ലാതെ സ്കെയിൽ ചെയ്യാനും പുതിയ PDF text editing tool ന് മുൻകാല ആക്സസ് നേടാനും, Stirling Server പ്ലാൻ ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു - പൂർണ്ണ എഡിറ്റിംഗും unlimited seats ഉം $99/server/mo." + }, + "desktopInstall": { + "title": "ഡൗൺലോഡ്", + "titleWithOs": "{{osLabel}}-ക്കായി ഡൗൺലോഡ്", + "body": "Stirling ഡെസ്ക്ടോപ്പ് ആപ്പായി പ്രവർത്തിക്കുമ്പോൾ ഏറ്റവും മികച്ചതാണ്. നിങ്ങൾക്ക് ഓഫ്‌ലൈൻ ഉപയോഗിക്കാം, ഡോക്യുമെന്റുകൾ വേഗത്തിൽ ആക്‌സസ് ചെയ്യാം, നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ ലൊക്കലായി എഡിറ്റ് ചെയ്യാനും കഴിയും." + }, + "planOverview": { + "adminTitle": "അഡ്മിൻ അവലോകനം", + "userTitle": "പ്ലാൻ അവലോകനം", + "adminBodyLoginEnabled": "അഡ്മിനെന്ന നിലയിൽ, നിങ്ങൾക്ക് ഉപയോക്താക്കളെയും സെറ്റിങ്ങുകളെയും മാനേജ് ചെയ്യാനും സെർവർ ഹെൽത്ത് മോണിറ്റർ ചെയ്യാനും കഴിയും. നിങ്ങളുടെ സെർവറിലെ ആദ്യ {{freeTierLimit}} പേർക്ക് Stirling സൗജന്യമായി ഉപയോഗിക്കാം.", + "adminBodyLoginDisabled": "ലോഗിൻ മോഡ് സജീവമാക്കിയാൽ, നിങ്ങൾക്ക് ഉപയോക്താക്കളെയും സെറ്റിങ്ങുകളെയും മാനേജ് ചെയ്യാനും സെർവർ ഹെൽത്ത് മോണിറ്റർ ചെയ്യാനും കഴിയും. നിങ്ങളുടെ സെർവറിലെ ആദ്യ {{freeTierLimit}} പേർക്ക് Stirling സൗജന്യമായി ഉപയോഗിക്കാം.", + "userBody": "ടീംമേറ്റ്‌കളെ ക്ഷണിക്കുക, റോളുകൾ നിയോഗിക്കുക, നിങ്ങളുടെ ഡോക്യുമെന്റുകൾ ഒരു സുരക്ഷിത വർക്ക്സ്പേസിൽ ക്രമീകരിച്ച് സൂക്ഷിക്കുക. സോളോ ഉപയോഗത്തേക്കാൾ വളരാൻ തയ്യാറാകുമ്പോൾ ഏത് സമയത്തും ലോഗിൻ മോഡ് പ്രാപ്തമാക്കുക." + }, + "securityCheck": { + "message": "ആപ്ലിക്കേഷൻ അടുത്തിടെ വലിയ മാറ്റങ്ങൾ കണ്ടിട്ടുണ്ട്. നിങ്ങളുടെ സെർവർ അഡ്മിന്റെ ശ്രദ്ധ ആവശ്യമായേക്കാം. തുടരാൻ നിങ്ങളുടെ റോൾ സ്ഥിരീകരിക്കുക." + } }, "adminOnboarding": { "welcome": "അഡ്മിൻ ടൂർ ലേക്ക് സ്വാഗതം! സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റർമാർക്കുള്ള ശക്തമായ എന്റർപ്രൈസ് സവിശേഷതകളും ക്രമീകരണങ്ങളും കണ്ടറിയാം.", @@ -4852,17 +5219,20 @@ "role": "റോൾ", "team": "ടീം", "status": "സ്ഥിതി", - "actions": "നടപടികൾ", + "actions": { + "label": "നടപടികൾ", + "upgrade": "അപ്‌ഗ്രേഡ്" + }, "noMembersFound": "അംഗങ്ങളെ കണ്ടെത്താനായില്ല", "active": "സജീവം", "disabled": "പ്രവർത്തനരഹിതം", "activeSession": "സജീവ സെഷൻ", - "member": "Member", - "admin": "Admin", + "member": "അംഗം", + "admin": "അഡ്മിൻ", "roleDescriptions": { "admin": "പൂർണ്ണ അഡ്മിനിസ്ട്രേറ്റീവ് ആക്സസോടുകൂടി ക്രമീകരണങ്ങളും അംഗ ക്ഷണങ്ങളും നിയന്ത്രിക്കാം.", "member": "പങ്കിട്ട ഫയലുകൾ കാണാനും തിരുത്താനും കഴിയും, എന്നാൽ വർക്ക്സ്പേസ് ക്രമീകരണങ്ങളെയോ അംഗങ്ങളെയോ നിയന്ത്രിക്കാനാകില്ല.", - "user": "User" + "user": "ഉപയോക്താവ്" }, "editRole": "റോൾ എഡിറ്റ് ചെയ്യുക", "enable": "പ്രവർത്തനക്ഷമമാക്കുക", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} ഉപയോക്തൃ സ്ലോട്ട്(കൾ) ലഭ്യമാണ്", "noSlotsAvailable": "സ്ലോട്ടുകൾ ലഭ്യമല്ല", "currentUsage": "ഇപ്പോൾ {{max}} ൽ {{current}} ഉപയോക്തൃ ലൈസൻസുകൾ ഉപയോഗിക്കുന്നു" - } + }, + "loginRequired": "ആദ്യം ലോഗിൻ മോഡ് പ്രാപ്തമാക്കുക" }, "teams": { "title": "ടീങ്ങൾ", @@ -5057,6 +5428,17 @@ "showComparison": "എല്ലാ സവിശേഷതകളും താരതമ്യം ചെയ്യുക", "hideComparison": "ഫീച്ചർ താരതമ്യം മറയ്ക്കുക", "featureComparison": "ഫീച്ചർ താരതമ്യം", + "from": "മുതൽ", + "perMonth": "/മാസം", + "perSeat": "/സീറ്റ്", + "withServer": "+ സെർവർ പ്ലാൻ", + "licensedSeats": "ലൈസൻസുചെയ്തത്: {{count}} സീറ്റുകൾ", + "includedInCurrent": "നിങ്ങളുടെ പ്ലാനിൽ ഉൾപ്പെട്ടിരിക്കുന്നു", + "selectPlan": "പ്ലാൻ തിരഞ്ഞെടുക്കുക", + "manage": "മാനേജ്", + "manageSubscription": { + "description": "നിങ്ങളുടെ സബ്സ്ക്രിപ്ഷൻ, ബില്ലിംഗ്, പേയ്മെന്റ് മാർഗങ്ങൾ മാനേജ് ചെയ്യുക" + }, "activePlan": { "title": "സജീവ പ്ലാൻ", "subtitle": "നിങ്ങളുടെ നിലവിലെ സബ്‌സ്‌ക്രിപ്ഷൻ വിശദാംശങ്ങൾ" @@ -5074,13 +5456,16 @@ "upTo": "വരെ" }, "period": { - "month": "മാസം" + "month": "മാസം", + "perUserPerMonth": "/ഉപയോക്താവ്/മാസം" }, "free": { "name": "സൗജന്യം", "highlight1": "ഓരോ ആഴ്ചയും പരിമിതമായ ടൂൾ ഉപയോഗം", "highlight2": "എല്ലാ ടൂളുകളിലേക്കും ആക്സസ്", - "highlight3": "കമ്മ്യൂണിറ്റി പിന്തുണ" + "highlight3": "കമ്മ്യൂണിറ്റി പിന്തുണ", + "forever": "എന്നും സൗജന്യം", + "included": "ഉൾപ്പെടുത്തി" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "എൻറർപ്രൈസ്", "highlight1": "ഇഷ്ടാനുസൃത വില", "highlight2": "ഡെഡിക്കേറ്റഡ് പിന്തുണ", - "highlight3": "പുതിയ സവിശേഷതകൾ" + "highlight3": "പുതിയ സവിശേഷതകൾ", + "requiresServer": "Server ആവശ്യമാണ്", + "requiresServerMessage": "Enterprise-ലേക്ക് അപ്‌ഗ്രേഡ് ചെയ്യുന്നതിനുമുമ്പ് ദയവായി ആദ്യം Server പ്ലാനിലേക്ക് അപ്‌ഗ്രേഡ് ചെയ്യുക." }, "feature": { "title": "സവിശേഷത", @@ -5102,6 +5489,12 @@ "api": "API ആക്സസ്", "priority": "പ്രാധാന്യ പിന്തുണ", "customPricing": "ഇഷ്ടാനുസൃത വില" + }, + "licenseWarning": { + "title": "സൗജന്യ സെൽഫ്-ഹോസ്റ്റഡ് പരിധി എത്തി", + "body": "നിങ്ങൾക്ക് {{total}} ഉപയോക്താക്കളുണ്ട്, പക്ഷേ സൗജന്യ നിരയിൽ ഓരോ സെർവർക്കും {{limit}} ഉപയോക്താക്കളെ മാത്രമേ പിന്തുണയ്ക്കൂ. Stirling PDF സുഗമമായി പ്രവർത്തിക്കാൻ അപ്‌ഗ്രേഡ് ചെയ്യുക.", + "overLimit": "{{limit}}-ൽ കൂടുതലായി", + "cta": "പ്ലാനുകൾ കാണുക" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "ബില്ലിംഗ് നിയന്ത്രിക്കുക", "portal": { "error": "ബില്ലിംഗ് പോർട്ടൽ തുറക്കൽ പരാജയപ്പെട്ടു" - } + }, + "updateSeats": "സീറ്റുകൾ അപ്‌ഡേറ്റ് ചെയ്യുക", + "updateEnterpriseSeats": "എന്റർപ്രൈസ് സീറ്റുകൾ അപ്‌ഡേറ്റ് ചെയ്യുക", + "currentSeats": "നിലവിലെ സീറ്റുകൾ", + "minimumSeats": "കുറഞ്ഞത് സീറ്റുകൾ", + "basedOnUsers": "(നിലവിലെ ഉപയോക്താക്കൾ)", + "newSeatCount": "പുതിയ സീറ്റ് എണ്ണം", + "newSeatCountDescription": "നിങ്ങളുടെ എന്റർപ്രൈസ് ലൈസൻസിനുള്ള സീറ്റുകളുടെ എണ്ണം തിരഞ്ഞെടുക്കുക", + "whatHappensNext": "അടുത്തത് എന്താണ്?", + "stripePortalRedirect": "സീറ്റ് മാറ്റം പരിശോധിച്ച് സ്ഥിരീകരിക്കാൻ നിങ്ങൾ Stripe-ന്റെ ബില്ലിംഗ് പോർട്ടലിലേക്ക് തിരിച്ചുവിടപ്പെടും. പ്രോറേറ്റഡ് തുക സ്വയമേവ കണക്കാക്കും.", + "preparingUpdate": "സീറ്റ് അപ്‌ഡേറ്റ് തയ്യാറാക്കുന്നു...", + "seatCountTooLow": "സീറ്റ് എണ്ണം കുറഞ്ഞത് {{minimum}} ആയിരിക്കണം (നിലവിലെ ഉപയോക്താക്കളുടെ എണ്ണം)", + "seatCountUnchanged": "ദയവായി വേറൊരു സീറ്റ് എണ്ണം തിരഞ്ഞെടുക്കുക", + "seatsUpdated": "സീറ്റുകൾ അപ്‌ഡേറ്റ് ചെയ്തു", + "seatsUpdatedMessage": "നിങ്ങളുടെ എന്റർപ്രൈസ് സീറ്റുകൾ {{seats}} ആയി അപ്‌ഡേറ്റ് ചെയ്തു", + "updateProcessing": "അപ്‌ഡേറ്റ് പ്രോസസ്സ് ചെയ്യുന്നു", + "updateProcessingMessage": "നിങ്ങളുടെ സീറ്റ് അപ്‌ഡേറ്റ് പ്രോസസ്സ് ചെയ്യുന്നു. ദയവായി കുറച്ച് കഴിഞ്ഞ് റിഫ്രഷ് ചെയ്യുക.", + "notEnterprise": "സീറ്റ് മാനേജ്മെന്റ് എന്റർപ്രൈസ് ലൈസൻസുകൾക്ക് മാത്രമേ ലഭ്യമാകൂ" + }, + "upgradeBanner": { + "title": "Server പ്ലാനിലേക്ക് അപ്‌ഗ്രേഡ് ചെയ്യുക", + "message": "അൺലിമിറ്റഡ് ഉപയോക്താക്കളും അഡ്വാൻസ്ഡ് ഫീച്ചറുകളും കൊണ്ട് Stirling PDF-ൽ നിന്ന് കൂടുതൽ പ്രയോജനം നേടുക", + "upgradeButton": "ഇപ്പോൾ അപ്‌ഗ്രേഡ് ചെയ്യുക", + "dismiss": "ബാനർ ഒഴിവാക്കുക", + "attentionTitle": "ഈ സെർവർക്ക് അഡ്മിൻ ശ്രദ്ധ ആവശ്യമാണ്", + "attentionBody": "കൂടുതൽ വിവരങ്ങൾ കാണാൻ നിങ്ങളുടെ അഡ്മിൻ സൈൻ ഇൻ ചെയ്യണം. ദയവായി ഉടൻ അവരെ ബന്ധപ്പെടുക.", + "attentionBodyAdmin": "ഈ സെർവർ പാടുപെടാതെ തുടരാൻ ലൈസൻസ് ആവശ്യകതകൾ പരിശോധിക്കുക.", + "seeInfo": "വിവരം കാണുക" }, "payment": { "preparing": "നിങ്ങളുടെ ചെക്ക്ഔട്ട് തയ്യാറാക്കുന്നു...", @@ -5128,7 +5548,61 @@ "success": "പേയ്മെന്റ് വിജയകരം!", "successMessage": "നിങ്ങളുടെ സബ്‌സ്‌ക്രിപ്ഷൻ വിജയകരമായി സജീവമാക്കിയിരിക്കുന്നു. ഉടൻ തന്നെ നിങ്ങൾക്ക് ഒരു സ്ഥിരീകരണ ഇമെയിൽ ലഭിക്കും.", "autoClose": "ഈ വിൻഡോ സ്വമേധയായി അടയ്ക്കും...", - "error": "പേയ്മെന്റ് പിഴവ്" + "error": "പേയ്മെന്റ് പിഴവ്", + "upgradeSuccess": "പേയ്മെന്റ് വിജയകരം! നിങ്ങളുടെ സബ്സ്ക്രിപ്ഷൻ അപ്‌ഗ്രേഡ് ചെയ്തു. ലൈസൻസ് നിങ്ങളുടെ സെർവറിൽ അപ്‌ഡേറ്റ് ചെയ്തു. ഉടൻ തന്നെ ഒരു സ്ഥിരീകരണ ഇമെയിൽ ലഭിക്കും.", + "paymentSuccess": "പേയ്മെന്റ് വിജയകരം! നിങ്ങളുടെ ലൈസൻസ് കീ തിരികെ കൊണ്ടുവരുന്നു...", + "licenseActivated": "ലൈസൻസ് സജീവമായി! നിങ്ങളുടെ ലൈസൻസ് കീ സേവ് ചെയ്തു. രജിസ്റ്റർ ചെയ്ത ഇമെയിലിലേക്ക് സ്ഥിരീകരണ ഇമെയിൽ അയച്ചിട്ടുണ്ട്.", + "licenseDelayed": "പേയ്മെന്റ് വിജയകരം! നിങ്ങളുടെ ലൈസൻസ് നിർമ്മിക്കുന്നു. ഉടൻ തന്നെ നിങ്ങളുടെ ലൈസൻസ് കീ ഇമെയിലിലൂടെ ലഭിക്കും. 10 മിനിറ്റിനുള്ളിൽ ലഭിക്കാത്ത പക്ഷം support-നെ ബന്ധപ്പെടുക.", + "licensePollingError": "പേയ്മെന്റ് വിജയകരം, പക്ഷേ നിങ്ങളുടെ ലൈസൻസ് കീ സ്വയമേവ തിരികെ നേടാൻ കഴിഞ്ഞില്ല. ദയവായി നിങ്ങളുടെ ഇമെയിൽ പരിശോധിക്കുക അല്ലെങ്കിൽ പേയ്മെന്റ് സ്ഥിരീകരണവുമായി support-നെ ബന്ധപ്പെടുക.", + "licenseRetrievalError": "പേയ്മെന്റ് വിജയകരം, പക്ഷേ ലൈസൻസ് തിരികെ കൊണ്ടുവരൽ പരാജയപ്പെട്ടു. നിങ്ങളുടെ ലൈസൻസ് കീ ഇമെയിലിലൂടെ ലഭിക്കും. 10 മിനിറ്റിനുള്ളിൽ ലഭിക്കാത്ത പക്ഷം support-നെ ബന്ധപ്പെടുക.", + "syncError": "പേയ്മെന്റ് വിജയകരം, പക്ഷേ ലൈസൻസ് സിങ്ക് പരാജയപ്പെട്ടു. നിങ്ങളുടെ ലൈസൻസ് ഉടൻ അപ്‌ഡേറ്റ് ചെയ്യും. പ്രശ്‌നങ്ങൾ തുടർന്നാൽ support-നെ ബന്ധപ്പെടുക.", + "licenseSaveError": "ലൈസൻസ് കീ സേവ് ചെയ്യൽ പരാജയപ്പെട്ടു. ആക്റ്റിവേഷൻ പൂർത്തിയാക്കാൻ നിങ്ങളുടെ ലൈസൻസ് കീയുമായി support-നെ ബന്ധപ്പെടുക.", + "paymentCanceled": "പേയ്മെന്റ് റദ്ദാക്കി. പണമിടപാട് ഒന്നും നടന്നിട്ടില്ല.", + "syncingLicense": "നിങ്ങളുടെ അപ്‌ഗ്രേഡ് ചെയ്ത ലൈസൻസ് സിങ്ക് ചെയ്യുന്നു...", + "generatingLicense": "നിങ്ങളുടെ ലൈസൻസ് കീ നിർമ്മിക്കുന്നു...", + "upgradeComplete": "അപ്‌ഗ്രേഡ് പൂർത്തിയായി", + "upgradeCompleteMessage": "നിങ്ങളുടെ സബ്സ്ക്രിപ്ഷൻ വിജയകരമായി അപ്‌ഗ്രേഡ് ചെയ്തു. നിലവിലുള്ള ലൈസൻസ് കീ അപ്‌ഡേറ്റ് ചെയ്തു.", + "stripeNotConfigured": "Stripe കോൺഫിഗർ ചെയ്തിട്ടില്ല", + "stripeNotConfiguredMessage": "Stripe പേയ്മെന്റ് ഇന്റഗ്രേഷൻ കോൺഫിഗർ ചെയ്തിട്ടില്ല. ദയവായി നിങ്ങളുടെ അഡ്മിനിസ്ട്രേറ്ററെ ബന്ധപ്പെടുക.", + "monthly": "മാസം", + "yearly": "വർഷം", + "billingPeriod": "ബില്ലിംഗ് കാലയളവ്", + "enterpriseNote": "ചെക്കൗട്ടിൽ സീറ്റുകൾ ക്രമീകരിക്കാം (1-1000).", + "installationId": "Installation ID", + "licenseKey": "നിങ്ങളുടെ ലൈസൻസ് കീ", + "licenseInstructions": "ഇത് നിങ്ങളുടെ ഇൻസ്റ്റലേഷനിൽ ചേർത്തിരിക്കുന്നു. നിങ്ങളുടെ ഇമെയിലിലും ഒരു പകർപ്പ് ലഭിക്കും.", + "canCloseWindow": "ഇപ്പോൾ ഈ വിൻഡോ അടയ്ക്കാം.", + "licenseKeyProcessing": "ലൈസൻസ് കീ പ്രോസസ്സ് ചെയ്യുന്നു", + "licenseDelayedMessage": "നിങ്ങളുടെ ലൈസൻസ് കീ നിർമ്മിക്കുന്നു. ദയവായി ഉടൻ നിങ്ങളുടെ ഇമെയിൽ പരിശോധിക്കുക അല്ലെങ്കിൽ support-നെ ബന്ധപ്പെടുക.", + "perYear": "/വർഷം", + "perMonth": "/മാസം", + "emailInvalid": "ദയവായി സാധുവായ ഒരു ഇമെയിൽ വിലാസം നൽകുക", + "emailStage": { + "title": "നിങ്ങളുടെ ഇമെയിൽ നൽകുക", + "description": "നിങ്ങളുടെ ലൈസൻസ് കീയും രസീതുകളും അയയ്ക്കാൻ ഇത് ഉപയോഗിക്കും.", + "emailLabel": "ഇമെയിൽ വിലാസം", + "emailPlaceholder": "your@email.com", + "continue": "തുടരുക", + "modalTitle": "ആരംഭിക്കുക - {{planName}}" + }, + "planStage": { + "title": "നിങ്ങളുടെ ബില്ലിംഗ് കാലയളവ് തിരഞ്ഞെടുക്കുക", + "savingsNote": "വാർഷിക ബില്ലിംഗിൽ {{percent}}% ലാഭിക്കാം", + "basePrice": "അടിസ്ഥാന വില", + "seatPrice": "സീറ്റ്‌പ്രതി", + "totalForSeats": "ആകെ ({{count}} സീറ്റുകൾ)", + "selectMonthly": "മാസികം തിരഞ്ഞെടുക്കുക", + "selectYearly": "വാർഷികം തിരഞ്ഞെടുക്കുക", + "savePercent": "{{percent}}% ലാഭിക്കുക", + "savingsAmount": "നിങ്ങൾ ലാഭിക്കുന്നത് {{amount}}", + "modalTitle": "ബില്ലിംഗ് കാലയളവ് തിരഞ്ഞെടുക്കുക - {{planName}}", + "billedYearly": "വാർഷികമായി {{currency}}{{amount}} ന് ബിൽ ചെയ്യും" + }, + "paymentStage": { + "backToPlan": "പ്ലാൻ തിരഞ്ഞെടുപ്പിലേക്ക് മടങ്ങുക", + "selectedPlan": "തിരഞ്ഞെടുത്ത പ്ലാൻ", + "modalTitle": "പേയ്മെന്റ് പൂർത്തിയാക്കുക - {{planName}}" + } }, "firstLogin": { "title": "ആദ്യ ലോഗിൻ", @@ -5287,5 +5761,281 @@ "offline": "ബാക്ക്എൻഡ് ഓഫ്ലൈൻ", "starting": "ബാക്ക്എൻഡ് ആരംഭിക്കുന്നു...", "wait": "ബാക്ക്എൻഡ് ആരംഭിക്കുന്നത് പൂർത്തിയാകുന്നത് വരെ ദയവായി കാത്തிருந்து വീണ്ടും ശ്രമിക്കുക." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "തുടരാൻ PDF അൺലോക്ക് ചെയ്യുക", + "title": "തുടരാൻ പാസ്‌വേഡ് നീക്കം ചെയ്യുക", + "description": "ഈ PDF പാസ്‌വേഡിലൂടെ സംരക്ഷിച്ചിരിക്കുന്നു. തുടരാൻ പാസ്‌വേഡ് നൽകുക.", + "password": { + "label": "PDF പാസ്‌വേഡ്", + "placeholder": "PDF പാസ്‌വേഡ് നൽകുക" + }, + "skip": "ഇപ്പോൾ ഒഴിവാക്കുക", + "unlock": "അൺലോക്ക് ചെയ്ത് തുടരുക", + "incorrectPassword": "തെറ്റായ പാസ്‌വേഡ്", + "missingFile": "തിരഞ്ഞെടുത്ത ഫയൽ ഇനി ലഭ്യമല്ല.", + "emptyResponse": "പാസ്‌വേഡ് നീക്കം ചെയ്തിട്ടും ഒരു ഫയൽ സൃഷ്ടിക്കപ്പെട്ടില്ല.", + "required": "തുടരാൻ പാസ്‌വേഡ് നൽകുക.", + "successTitle": "പാസ്‌വേഡ് നീക്കി", + "successBodyWithName": "{{fileName}}-ൽ നിന്ന് പാസ്‌വേഡ് നീക്കി", + "successBody": "പാസ്‌വേഡ് വിജയകരമായി നീക്കി." + }, + "setup": { + "welcome": "Stirling PDF-ലേക്ക് സ്വാഗതം", + "description": "Stirling PDF നിങ്ങൾ എങ്ങനെ ഉപയോഗിക്കണമെന്നത് തിരഞ്ഞെടുക്കുക", + "step1": { + "label": "മോഡ് തിരഞ്ഞെടുക്കുക", + "description": "ഓഫ്‌ലൈൻ അല്ലെങ്കിൽ സെർവർ" + }, + "step2": { + "label": "സെർവർ തിരഞ്ഞെടുക്കുക", + "description": "സെൽഫ്-ഹോസ്റ്റഡ് സെർവർ" + }, + "step3": { + "label": "ലോഗിൻ", + "description": "ക്രെഡൻഷ്യലുകൾ നൽകുക" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "നിങ്ങളുടെ Stirling അക്കൗണ്ടിലൂടെ സൈൻ ഇൻ ചെയ്യുക" + }, + "selfhosted": { + "title": "സ്വയം ഹോസ്റ്റ് ചെയ്യുന്ന സെർവർ", + "description": "നിങ്ങളുടെ സ്വന്തം Stirling PDF സെർവറുമായി കണക്റ്റുചെയ്യുക" + } + }, + "saas": { + "title": "Stirling-യിൽ സൈൻ ഇൻ ചെയ്യുക", + "subtitle": "നിങ്ങളുടെ Stirling അക്കൗണ്ടിലൂടെ സൈൻ ഇൻ ചെയ്യുക" + }, + "selfhosted": { + "title": "സെർവറിൽ സൈൻ ഇൻ ചെയ്യുക", + "subtitle": "നിങ്ങളുടെ സെർവർ ക്രെഡൻഷ്യലുകൾ നൽകുക" + }, + "server": { + "title": "സെർവറിലേക്ക് കണക്റ്റുചെയ്യുക", + "subtitle": "നിങ്ങളുടെ സെൽഫ്-ഹോസ്റ്റഡ് സെർവർ URL നൽകുക", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "സെൽഫ്-ഹോസ്റ്റഡ് സെർവർ" + }, + "url": { + "label": "സെർവർ URL", + "description": "നിങ്ങളുടെ സെൽഫ്-ഹോസ്റ്റഡ് Stirling PDF സെർവർയുടെ പൂർണ്ണ URL നൽകുക" + }, + "error": { + "emptyUrl": "ദയവായി ഒരു സെർവർ URL നൽകുക", + "unreachable": "സെർവറുമായി ബന്ധപ്പെടാൻ കഴിഞ്ഞില്ല", + "testFailed": "കണക്ഷൻ ടെസ്റ്റ് പരാജയപ്പെട്ടു" + }, + "testing": "കണക്ഷൻ പരിശോധിക്കുന്നു..." + }, + "login": { + "title": "സൈൻ ഇൻ", + "subtitle": "തുടരാൻ നിങ്ങളുടെ ക്രെഡൻഷ്യലുകൾ നൽകുക", + "connectingTo": "കണക്റ്റ് ചെയ്യുന്നു:", + "username": { + "label": "യൂസർനെയിം", + "placeholder": "നിങ്ങളുടെ യൂസർനെയിം നൽകുക" + }, + "email": { + "label": "ഇമെയിൽ", + "placeholder": "നിങ്ങളുടെ ഇമെയിൽ നൽകുക" + }, + "password": { + "label": "പാസ്‌വേഡ്", + "placeholder": "നിങ്ങളുടെ പാസ്‌വേഡ് നൽകുക" + }, + "error": { + "emptyUsername": "ദയവായി നിങ്ങളുടെ യൂസർനെയിം നൽകുക", + "emptyEmail": "ദയവായി നിങ്ങളുടെ ഇമെയിൽ നൽകുക", + "emptyPassword": "ദയവായി നിങ്ങളുടെ പാസ്‌വേഡ് നൽകുക", + "oauthFailed": "OAuth ലോഗിൻ പരാജയപ്പെട്ടു. ദയവായി വീണ്ടും ശ്രമിക്കുക." + }, + "submit": "ലോഗിൻ", + "signInWith": "ഇതുപയോഗിച്ച് സൈൻ ഇൻ ചെയ്യുക", + "oauthPending": "ഓതന്റിക്കേഷനായി ബ്രൗസർ തുറക്കുന്നു...", + "orContinueWith": "അല്ലെങ്കിൽ ഇമെയിലോടെ തുടരുക" + } + }, + "oauth": { + "success": { + "title": "ഓതന്റിക്കേഷൻ വിജയകരം", + "message": "ഈ വിൻഡോ അടച്ച് Stirling PDF-ലേക്ക് മടങ്ങാം." + }, + "error": { + "title": "ഓതന്റിക്കേഷൻ പരാജയപ്പെട്ടു", + "message": "ഓതന്റിക്കേഷൻ വിജയിച്ചില്ല. ഈ വിൻഡോ അടച്ച് വീണ്ടും ശ്രമിക്കാം." + } + }, + "pdfTextEditor": { + "title": "PDF JSON എഡിറ്റർ", + "viewLabel": "PDF എഡിറ്റർ", + "converting": "PDF എഡിറ്റ് ചെയ്യാവുന്ന ഫോർമാറ്റിലേക്ക് മാറ്റുന്നു...", + "conversionFailed": "PDF മാറ്റാൻ കഴിഞ്ഞില്ല. ദയവായി വീണ്ടും ശ്രമിക്കുക.", + "currentFile": "നിലവിലെ ഫയൽ: {{name}}", + "pageSummary": "പേജ് {{number}} / {{total}}", + "pagePreviewAlt": "പേജ് പ്രിവ്യൂ", + "imageLabel": "സ്ഥാപിച്ച ചിത്രം", + "noTextOnPage": "ഈ പേജിൽ എഡിറ്റ് ചെയ്യാവുന്ന ടെക്സ്റ്റ് കണ്ടെത്തിയില്ല.", + "pageType": { + "paragraph": "പാരഗ്രാഫ് പേജ്", + "sparse": "തിതറിച്ച ടെക്സ്റ്റ്" + }, + "groupingMode": { + "auto": "ഓട്ടോ", + "paragraph": "പാരഗ്രാഫ്", + "singleLine": "സിംഗിൾ ലൈൻ" + }, + "badges": { + "unsaved": "എഡിറ്റ് ചെയ്തു", + "modified": "എഡിറ്റ് ചെയ്തു", + "earlyAccess": "Early Access" + }, + "actions": { + "reset": "മാറ്റങ്ങൾ റീസെറ്റ് ചെയ്യുക", + "downloadJson": "JSON ഡൗൺലോഡ് ചെയ്യുക", + "generatePdf": "PDF സൃഷ്ടിക്കുക" + }, + "options": { + "autoScaleText": { + "title": "ബോക്‌സിൽ ഒതുങ്ങാൻ ടെക്സ്റ്റ് സ്വയം സ്കെയിൽ ചെയ്യുക", + "description": "PDF-യിലെ ഫോണ്ട് റെൻഡറിംഗിൽ വ്യത്യാസമുണ്ടെങ്കിൽ, ഒറിജിനൽ ബൗണ്ടിംഗ് ബോക്സിനകത്ത് ഒതുങ്ങാൻ ടെക്സ്റ്റ് കിടയായി സ്വയം സ്കെയിൽ ചെയ്യും." + }, + "groupingMode": { + "title": "ടെക്സ്റ്റ് ഗ്രൂപ്പിംഗ് മോഡ്", + "autoDescription": "പേജ് തരം സ്വയം കണ്ടെത്തി ടെക്സ്റ്റ് യോജിച്ചുവണ്ണം ഗ്രൂപ്പ് ചെയ്യും.", + "paragraphDescription": "അലൈൻ ചെയ്ത വരികളെ മൾട്ടി-ലൈൻ പാരഗ്രാഫ് ടെക്സ്റ്റ് ബോക്‌സുകളാക്കി ഗ്രൂപ്പ് ചെയ്യും.", + "singleLineDescription": "ഓരോ PDF ടെക്സ്റ്റ് വരിയും വേർതിരിച്ച ടെക്സ്റ്റ് ബോക്‌സായി നിലനിർത്തും." + }, + "manualGrouping": { + "descriptionInline": "ടിപ്പ്: ടെക്സ്റ്റ് ബോക്‌സുകൾ പലതും തിരഞ്ഞെടുക്കാൻ Ctrl (Cmd) അല്ലെങ്കിൽ Shift അമർത്തികൊണ്ടിരിക്കുക. തിരഞ്ഞെടുപ്പിന് മുകളിലേക്ക് ഒരു ഫ്ലോട്ടിംഗ് ടൂൾബാർ പ്രത്യക്ഷപ്പെടും; അവിടെ നിന്ന് ലയിപ്പിക്കൽ, അൺഗ്രൂപ്പ്, അല്ലെങ്കിൽ വീതി ക്രമീകരണം ചെയ്യാം." + }, + "forceSingleElement": { + "title": "തിരുത്തിയ ടെക്സ്റ്റ് ഒരു സിംഗിൾ PDF ഘടകത്തിൽ ലോക്ക് ചെയ്യുക", + "description": "ഇത് ഓണാക്കിയാൽ, ഓവർലാപ്പിംഗ് ഗ്ലിഫ്‌സ് അല്ലെങ്കിൽ മിശ്ര ഫോണ്ടുകൾ ഒഴിവാക്കാൻ തിരുത്തിയ ഓരോ ടെക്സ്റ്റ് ബോക്‌സും ഒറ്റ PDF ടെക്സ്റ്റ് ഘടകമായി എക്സ്പോർട്ട് ചെയ്യും." + } + }, + "manual": { + "mergeTooltip": "തിരഞ്ഞെടുത്ത ബോക്‌സുകൾ ലയിപ്പിക്കുക", + "merge": "ലയിപ്പിക്കുക", + "ungroupTooltip": "പാരഗ്രാഫ് തിരികെ വരികളാക്കുക", + "ungroup": "തിരഞ്ഞെടുത്തത് അൺഗ്രൂപ്പ് ചെയ്യുക", + "widthMenu": "വീതി ഓപ്ഷനുകൾ", + "expandWidth": "പേജിന്റെ അരികുവരെ വ്യാപിപ്പിക്കുക", + "resetWidth": "വീതി റീസെറ്റ് ചെയ്യുക", + "resizeHandle": "ടെക്സ്റ്റ് വീതി ക്രമീകരിക്കുക" + }, + "disclaimer": { + "heading": "പ്രിവ്യൂ പരിമിതികൾ", + "textFocus": "ഈ വർക്ക്സ്പേസ് ടെക്സ്റ്റ് എഡിറ്റ് ചെയ്യുന്നതിനും ഉൾച്ചേർത്ത ചിത്രങ്ങളുടെ സ്ഥാനം മാറ്റുന്നതിനും ശ്രദ്ധിക്കുന്നു. സങ്കീർണ്ണ പേജ് ആർട്വർക്ക്, ഫോം വിഡ്ജറ്റുകൾ, ലെയേർഡ് ഗ്രാഫിക്സ് എന്നിവ എക്സ്പോർട്ടിൽ സംരക്ഷിക്കുമെങ്കിലും ഇവിടെ പൂർണ്ണമായി എഡിറ്റ് ചെയ്യാനാവില്ല.", + "previewVariance": "ചില വിസ്വൽസ് (ടേബിൾ ബോർഡറുകൾ, ഷേപ്പുകൾ, അല്ലെങ്കിൽ അനോട്ടേഷൻ രൂപം എന്നിവ) പ്രിവ്യൂയിൽ കൃത്യമായി കാണിക്കണമെന്നില്ല. കഴിയുന്നിടത്തോളം എക്സ്പോർട്ട് ചെയ്യുന്ന PDF ഒറിജിനൽ drawing commands നിലനിർത്തും.", + "alpha": "ഈ ആൽഫ വീവർ ഇനിയും വികസനത്തിലാണു—ചില ഫോന്റുകൾ, നിറങ്ങൾ, പാർദർശ്യത, ലേഔട്ട് വിശദാംശങ്ങൾ അല്പം മാറാം. പങ്കിടുന്നതിന് മുമ്പ് സൃഷ്ടിച്ച PDF രണ്ടുതവണ പരിശോധിക്കുക." + }, + "empty": { + "title": "പ്രമാണം ലോഡ് ചെയ്തിട്ടില്ല", + "subtitle": "ടെക്സ്റ്റ് എഡിറ്റ് ആരംഭിക്കാൻ PDF അല്ലെങ്കിൽ JSON ഫയൽ ലോഡ് ചെയ്യുക." + }, + "welcomeBanner": { + "title": "PDF Text Editor-ലേക്ക് സ്വാഗതം (Early Access)", + "experimental": "ഇത് സജീവ വികസനത്തിലുള്ള ഒരു പരീക്ഷണാത്മക ഫീച്ചറാണ്. ഉപയോഗത്തിൽ ചില അസ്ഥിരതകളും പ്രശ്നങ്ങളും പ്രതീക്ഷിക്കാം.", + "howItWorks": "ഈ ടൂൾ നിങ്ങളുടെ PDF-നെ എഡിറ്റബിൾ ഫോർമാറ്റിലേക്ക് മാറ്റി, ടെക്സ്റ്റ് മാറ്റാനും ചിത്രങ്ങളുടെ സ്ഥാനം മാറ്റാനും അനുവദിക്കുന്നു. മാറ്റങ്ങൾ പുതിയ PDF ആയി സംരക്ഷിക്കും.", + "bestFor": "ഇതിൽ ഏറ്റവും നല്ലത്:", + "bestFor1": "പ്രധാനമായി ടെക്സ്റ്റും ചിത്രങ്ങളും ഉള്ള ലളിതമായ PDF-കൾ", + "bestFor2": "സ്റ്റാൻഡേർഡ് പാരഗ്രാഫ് ഫോർമാറ്റിംഗ് ഉള്ള ഡോക്യുമെന്റുകൾ", + "bestFor3": "കത്തുകൾ, എസ്സേകൾ, റിപ്പോർട്ടുകൾ, അടിസ്ഥാന ഡോക്യുമെന്റുകൾ", + "notIdealFor": "ഇതിനായി അനുയോജ്യമല്ല:", + "notIdealFor1": "ബുള്ളറ്റ് പോയിന്റുകൾ, ടേബിളുകൾ, അല്ലെങ്കിൽ മൾട്ടി-കോളം ലേഔട്ടുകൾ പോലുള്ള പ്രത്യേക ഫോർമാറ്റിംഗ് ഉള്ള PDF-കൾ", + "notIdealFor2": "മാഗസീനുകൾ, ബ്രോഷറുകൾ, അല്ലെങ്കിൽ അതികമായി ഡിസൈൻ ചെയ്ത ഡോക്യുമെന്റുകൾ", + "notIdealFor3": "സങ്കീർണ്ണ ലേഔട്ടുകളുള്ള ഇൻസ്ട്രക്ഷൻ മാനുവലുകൾ", + "limitations": "നിലവിലെ പരിമിതികൾ:", + "limitation1": "ഫോണ്ട് റെൻഡറിംഗ് ഒറിജിനൽ PDF-ിൽ നിന്ന് അല്പം മാറാം", + "limitation2": "സങ്കീർണ്ണ ഗ്രാഫിക്സ്, ഫോം ഫീൽഡുകൾ, അനോട്ടേഷനുകൾ സംരക്ഷിക്കുമെങ്കിലും എഡിറ്റ് ചെയ്യാനാകില്ല", + "limitation3": "വലിയ ഫയലുകൾ കൺവേർട്ട് ചെയ്യാനും പ്രോസസ് ചെയ്യാനും സമയം എടുക്കാം", + "knownIssues": "അറിയപ്പെട്ട പ്രശ്നങ്ങൾ (പരിഹരിക്കുന്നു):", + "issue1": "ടെക്സ്റ്റ് നിറം ഇപ്പോൾ നിലനിർത്തുന്നില്ല (ഉടൻ ചേർക്കും)", + "issue2": "പാരഗ്രാഫ് മോഡിൽ അലൈൻമെന്റ്/സ്പേസിംഗ് പ്രശ്നങ്ങൾ കൂടുതലാണ് - Single Line മോഡ് ശുപാർശിക്കുന്നു", + "issue3": "പ്രിവ്യൂ ഡിസ്പ്ലേ എക്സ്പോർട്ട് ചെയ്ത PDF-ിൽ നിന്ന് വ്യത്യസ്തമായേക്കാം - എക്സ്പോർട്ട് ചെയ്ത PDF-കൾ ഒറിജിനലിനോട് കൂടുതൽ അടുത്തതാണ്", + "issue4": "തിരിച്ചിരിക്കുന്ന ടെക്സ്റ്റിന്റെ അലൈൻമെന്റ് കൈകൊണ്ട് ക്രമീകരണം ആവശ്യമാകാം", + "issue5": "പാർദർശ്യതയും ലെയറിംഗ് ഇഫക്റ്റുകളും ഒറിജിനലിൽ നിന്ന് മാറാം", + "feedback": "ഇത് ഒരു Early Access ഫീച്ചറാണ്. മെച്ചപ്പെടുത്താൻ നിങ്ങൾ നേരിടുന്ന പ്രശ്നങ്ങൾ ദയവായി റിപ്പോർട്ട് ചെയ്യുക!", + "gotIt": "മനസ്സിലായി", + "dontShowAgain": "വീണ്ടും കാണിക്കരുത്" + }, + "modeChange": { + "title": "മോഡ് മാറ്റം സ്ഥിരീകരിക്കുക", + "warning": "ടെക്സ്റ്റ് ഗ്രൂപ്പിംഗ് മോഡ് മാറ്റിയാൽ സേവ് ചെയ്യാത്ത എല്ലാ മാറ്റങ്ങളും റീസെറ്റ് ചെയ്യും. തുടരാൻ ഉറപ്പാണോ?", + "cancel": "റദ്ദാക്കുക", + "confirm": "റീസെറ്റ് ചെയ്ത് മോഡ് മാറ്റുക" + }, + "fontAnalysis": { + "details": "ഫോന്റ് വിശദാംശങ്ങൾ", + "embedded": "എംബെഡഡ്", + "type": "ടൈപ്പ്", + "webFormat": "വെബ് ഫോർമാറ്റ്", + "warnings": "മുന്നറിയിപ്പുകൾ", + "suggestions": "കുറിപ്പുകൾ", + "currentPageFonts": "ഈ പേജിലെ ഫോണ്ടുകൾ", + "allFonts": "എല്ലാ ഫോണ്ടുകളും", + "fallback": "ഫാള്ബാക്ക്", + "missing": "കാണ്മാനില്ല", + "perfectMessage": "എല്ലാ ഫോന്റുകളും പൂർണ്ണമായി പുനരുത്പാദിപ്പിക്കാം.", + "warningMessage": "ചില ഫോന്റുകൾ ശരിയായി റെൻഡർ ചെയ്യാതിരിക്കാം.", + "infoMessage": "ഫോണ്ട് പുനരുത്പാദന വിവരം ലഭ്യമാണ്.", + "perfect": "പർഫെക്റ്റ്", + "subset": "സബ്‌സെറ്റ്" + }, + "errors": { + "invalidJson": "JSON ഫയൽ വായിക്കാൻ കഴിഞ്ഞില്ല. അത് PDF to JSON tool ഉപയോഗിച്ച് സൃഷ്ടിച്ചതാണെന്ന് ഉറപ്പാക്കുക.", + "pdfConversion": "തിരുത്തിയ JSON-നെ PDF-ആക്കാൻ കഴിഞ്ഞില്ല." + } + }, + "auth": { + "sessionExpired": "സെഷൻ കാലഹരണപ്പെട്ടു", + "pleaseLoginAgain": "ദയവായി വീണ്ടും ലോഗിൻ ചെയ്യുക.", + "accessDenied": "ആക്‌സസ് നിരസിച്ചു", + "insufficientPermissions": "ഈ പ്രവർത്തനം നടത്താൻ നിങ്ങൾക്ക് അനുമതിയില്ല." + }, + "addText": { + "title": "ടെക്സ്റ്റ് ചേർക്കുക", + "header": "PDF-കളിൽ ടെക്സ്റ്റ് ചേർക്കുക", + "text": { + "name": "ടെക്സ്റ്റ് ഉള്ളടക്കം", + "placeholder": "ചേർക്കാൻ വേണ്ട ടെക്സ്റ്റ് നൽകുക", + "fontLabel": "ഫോണ്ട്", + "fontSizeLabel": "ഫോണ്ട് വലിപ്പം", + "fontSizePlaceholder": "ഫോണ്ട് വലിപ്പം ടൈപ്പ് ചെയ്യുക അല്ലെങ്കിൽ തിരഞ്ഞെടുക്കുക (8-200)", + "colorLabel": "ടെക്സ്റ്റ് നിറം" + }, + "steps": { + "configure": "ടെക്സ്റ്റ് ക്രമീകരിക്കുക" + }, + "step": { + "createDesc": "ചേർക്കാൻ വേണ്ട ടെക്സ്റ്റ് നൽകുക", + "place": "ടെക്സ്റ്റ് സ്ഥാപിക്കുക", + "placeDesc": "നിങ്ങളുടെ ടെക്സ്റ്റ് ചേർക്കാൻ PDF-ൽ ക്ലിക്ക് ചെയ്യുക" + }, + "instructions": { + "title": "ടെക്സ്റ്റ് എങ്ങനെ ചേർക്കാം", + "text": "മുകളിൽ ടെക്സ്റ്റ് നൽകിയ ശേഷം, അത് സ്ഥാപിക്കാൻ PDF-ൽ എവിടെയെങ്കിലും ക്ലിക്ക് ചെയ്യുക.", + "paused": "സ്ഥാപിക്കൽ നിർത്തിവെച്ചു", + "resumeHint": "സ്ഥാപിക്കൽ പുനരാരംഭിച്ച് ക്ലിക്ക് ചെയ്ത് ടെക്സ്റ്റ് ചേർക്കുക.", + "noSignature": "സ്ഥാപിക്കൽ പ്രവർത്തനക്ഷമമാക്കാൻ മുകളിൽ ടെക്സ്റ്റ് നൽകുക." + }, + "mode": { + "move": "ടെക്സ്റ്റ് നീക്കുക", + "place": "ടെക്സ്റ്റ് സ്ഥാപിക്കുക", + "pause": "സ്ഥാപിക്കൽ നിർത്തുക", + "resume": "സ്ഥാപിക്കൽ പുനരാരംഭിക്കുക" + }, + "results": { + "title": "ടെക്സ്റ്റ് ചേർക്കൽ ഫലങ്ങൾ" + }, + "error": { + "failed": "PDF-യിൽ ടെക്സ്റ്റ് ചേർക്കുമ്പോൾ പിശക് സംഭവിച്ചു." + }, + "tags": "ടെക്സ്റ്റ്,അനോട്ടേഷൻ,ലേബൽ", + "applySignatures": "ടെക്സ്റ്റ് പ്രയോഗിക്കുക" } } \ No newline at end of file diff --git a/frontend/public/locales/nl-NL/translation.json b/frontend/public/locales/nl-NL/translation.json index ea8ad22ef..a0ff45f7c 100644 --- a/frontend/public/locales/nl-NL/translation.json +++ b/frontend/public/locales/nl-NL/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Binnenkort:", "favorite": "Toevoegen aan favorieten", "favorites": "Favorieten", + "unavailable": "Uitgeschakeld door serverbeheerder:", + "unavailableDependency": "Niet beschikbaar - vereiste tool ontbreekt op server:", "heading": "Alle tools (volledig scherm)", "noResults": "Pas je zoekopdracht aan of schakel beschrijvingen om te vinden wat je nodig hebt.", "recommended": "Aanbevolen", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Overschakelen naar volledig scherm", "sidebar": "Overschakelen naar zijbalkmodus" - } + }, + "alpha": "Alpha", + "premiumFeature": "Premiumfunctie:", + "comingSoon": "Binnenkort beschikbaar:" }, "unsavedChanges": "Je hebt niet-opgeslagen wijzigingen in je PDF.", "areYouSure": "Weet je zeker dat je wilt vertrekken?", @@ -41,6 +46,30 @@ "cancel": "Annuleren", "confirm": "Uitpakken" }, + "defaultApp": { + "title": "Instellen als standaard PDF-app", + "message": "Wil je Stirling PDF instellen als je standaard PDF-editor?", + "description": "Je kunt dit later wijzigen in je systeeminstellingen.", + "notNow": "Niet nu", + "setDefault": "Als standaard instellen", + "dismiss": "Sluiten", + "prompt": { + "title": "Instellen als standaard PDF-editor", + "message": "Maak Stirling PDF je standaardapp voor het openen van PDF-bestanden." + }, + "success": { + "title": "Standaardapp ingesteld", + "message": "Stirling PDF is nu je standaard PDF-editor" + }, + "settingsOpened": { + "title": "Instellingen geopend", + "message": "Selecteer Stirling PDF in je systeeminstellingen" + }, + "error": { + "title": "Fout", + "message": "Standaard PDF-verwerker instellen mislukt" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Opslaan", "saveToBrowser": "Opslaan in browser", "download": "Downloaden", + "downloadUnavailable": "Download niet beschikbaar voor dit item", + "saveUnavailable": "Opslaan niet beschikbaar voor dit item", "pin": "Bestand vastzetten (actief houden na tooluitvoering)", "unpin": "Bestand losmaken (vervangen na tooluitvoering)", "undoOperationTooltip": "Klik om de laatste bewerking ongedaan te maken en de oorspronkelijke bestanden te herstellen", @@ -168,6 +199,7 @@ }, "edit": "Bewerken", "delete": "Verwijderen", + "never": "Nooit", "username": "Gebruikersnaam", "password": "Wachtwoord", "welcome": "Welkom", @@ -262,7 +294,8 @@ "learnMore": "Meer informatie", "enable": "Analyses inschakelen", "disable": "Analyses uitschakelen", - "settings": "Je kunt de instellingen voor analyses wijzigen in het bestand config/settings.yml" + "settings": "Je kunt de instellingen voor analyses wijzigen in het bestand config/settings.yml", + "privacyAssurance": "We volgen geen persoonlijke informatie of de inhoud van je bestanden." }, "navbar": { "favorite": "Favorieten", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Instellingen", - "update": "Update beschikbaar", - "updateAvailable": "{0} is de huidig geïnstalleerde versie. Een nieuwe versie ({1}) is beschikbaar.", - "appVersion": "App versie:", - "downloadOption": { - "title": "Kies download optie (Voor enkelvoudige bestanddownloads zonder zip):", - "1": "Open in hetzelfde venster", - "2": "Open in nieuw venster", - "3": "Download bestand" - }, - "zipThreshold": "Bestanden zippen wanneer het aantal gedownloade bestanden meer is dan", - "signOut": "Uitloggen", - "accountSettings": "Account instellingen", - "bored": { - "help": "Schakelt geheim spelletje in" - }, - "cacheInputs": { - "name": "Sla invoer in formulieren op", - "help": "Schakel in om eerdere invoeren op te slaan voor toekomstige uitvoeren" + "connection": { + "title": "Verbindingsmodus", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Self-hosted" + }, + "server": "Server", + "user": "Ingelogd als", + "logout": "Uitloggen" }, "general": { "title": "Algemeen", "description": "Configureer algemene app-voorkeuren.", - "account": "Account", - "accountDescription": "Beheer je accountinstellingen", "user": "Gebruiker", - "signedInAs": "Aangemeld als", "logout": "Afmelden", "enableFeatures": { + "dismiss": "Sluiten", "title": "Voor systeembeheerders", "intro": "Schakel gebruikersauthenticatie, teambeheer en werkruimtefuncties in voor je organisatie.", "action": "Configureren", "and": "en", "benefit": "Schakelt gebruikersrollen, teamsamenwerking, beheerdersfuncties en enterprise-functies in.", - "learnMore": "Meer info in de documentatie", - "dismiss": "Sluiten" + "learnMore": "Meer info in de documentatie" }, - "autoUnzip": "API-antwoorden automatisch uitpakken", - "autoUnzipDescription": "Automatisch bestanden uit ZIP-antwoorden halen", - "autoUnzipTooltip": "ZIP-bestanden die door API-bewerkingen worden teruggegeven automatisch uitpakken. Uitschakelen om ZIP-bestanden intact te laten. Dit heeft geen invloed op automatiseringsworkflows.", - "autoUnzipFileLimit": "Limiet automatisch uitpakken", - "autoUnzipFileLimitDescription": "Maximaal aantal bestanden om uit ZIP te halen", - "autoUnzipFileLimitTooltip": "Alleen uitpakken als de ZIP dit aantal bestanden of minder bevat. Stel hoger in om grotere ZIP's te extraheren.", "defaultToolPickerMode": "Standaard toolkiezer-modus", "defaultToolPickerModeDescription": "Kies of de toolkiezer standaard in volledig scherm of zijbalk opent", "mode": { - "fullscreen": "Volledig scherm", - "sidebar": "Zijbalk" - } + "sidebar": "Zijbalk", + "fullscreen": "Volledig scherm" + }, + "autoUnzipTooltip": "ZIP-bestanden die door API-bewerkingen worden teruggegeven automatisch uitpakken. Uitschakelen om ZIP-bestanden intact te laten. Dit heeft geen invloed op automatiseringsworkflows.", + "autoUnzip": "API-antwoorden automatisch uitpakken", + "autoUnzipDescription": "Automatisch bestanden uit ZIP-antwoorden halen", + "autoUnzipFileLimitTooltip": "Alleen uitpakken als de ZIP dit aantal bestanden of minder bevat. Stel hoger in om grotere ZIP's te extraheren.", + "autoUnzipFileLimit": "Limiet automatisch uitpakken", + "autoUnzipFileLimitDescription": "Maximaal aantal bestanden om uit ZIP te halen", + "defaultPdfEditor": "Standaard PDF-editor", + "defaultPdfEditorActive": "Stirling PDF is je standaard PDF-editor", + "defaultPdfEditorInactive": "Een andere app is als standaard ingesteld", + "defaultPdfEditorChecking": "Controleren...", + "defaultPdfEditorSet": "Al standaard", + "setAsDefault": "Als standaard instellen", + "updates": { + "title": "Software-updates", + "description": "Controleer op updates en bekijk versie-informatie", + "currentVersion": "Huidige versie", + "latestVersion": "Laatste versie", + "checkForUpdates": "Op updates controleren", + "viewDetails": "Details bekijken" + }, + "hideUnavailableTools": "Niet-beschikbare tools verbergen", + "hideUnavailableToolsDescription": "Verwijder tools die door je server zijn uitgeschakeld in plaats van ze grijs te tonen.", + "hideUnavailableConversions": "Niet-beschikbare conversies verbergen", + "hideUnavailableConversionsDescription": "Verwijder uitgeschakelde conversie-opties in de tool Converteren in plaats van ze grijs te tonen." }, "hotkeys": { - "title": "Sneltoetsen", - "description": "Beweeg over een tool om de sneltoets te zien of pas deze hieronder aan. Klik op \"Sneltoets wijzigen\" en druk een nieuwe toetsencombinatie in. Druk op Esc om te annuleren.", - "errorModifier": { - "mac": "Neem ⌘ (Command), ⌥ (Option) of een andere modifier op in je sneltoets.", - "windows": "Neem Ctrl, Alt of een andere modifier op in je sneltoets." - }, "errorConflict": "Sneltoets wordt al gebruikt door {{tool}}.", + "searchPlaceholder": "Tools zoeken...", "none": "Niet toegewezen", "customBadge": "Aangepast", "defaultLabel": "Standaard: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Sneltoets wijzigen", "reset": "Reset", "shortcut": "Sneltoets", - "noShortcut": "Geen sneltoets ingesteld", - "searchPlaceholder": "Tools zoeken..." + "noShortcut": "Geen sneltoets ingesteld" } }, + "update": { + "modalTitle": "Update beschikbaar", + "current": "Huidige versie", + "latest": "Laatste versie", + "latestStable": "Laatste stabiele", + "priorityLabel": "Prioriteit", + "recommendedAction": "Aanbevolen actie", + "breakingChangesDetected": "Incompatibele wijzigingen gedetecteerd", + "breakingChangesMessage": "Sommige versies bevatten incompatibele wijzigingen. Bekijk onderstaande migratiehandleidingen voordat je update.", + "migrationGuides": "Migratiehandleidingen", + "viewGuide": "Handleiding bekijken", + "loadingDetailedInfo": "Gedetailleerde informatie laden...", + "close": "Sluiten", + "viewAllReleases": "Alle releases bekijken", + "downloadLatest": "Nieuwste downloaden", + "availableUpdates": "Beschikbare updates", + "unableToLoadDetails": "Kan gedetailleerde informatie niet laden.", + "version": "Versie", + "urgentUpdateAvailable": "Dringende update", + "updateAvailable": "Update beschikbaar", + "releaseNotes": "Release-opmerkingen", + "priority": { + "urgent": "Dringend", + "normal": "Normaal", + "minor": "Klein", + "low": "Laag" + }, + "breakingChanges": "Incompatibele wijzigingen", + "breakingChangesDefault": "Deze versie bevat incompatibele wijzigingen.", + "migrationGuide": "Migratiehandleiding" + }, "changeCreds": { "title": "Inloggegevens wijzigen", "header": "Werk je accountgegevens bij", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Plaatst PDF's over een andere PDF heen", "title": "PDF's overlappen" + }, + "pdfTextEditor": { + "title": "PDF-teksteditor", + "desc": "Bekijk en bewerk Stirling PDF JSON-exporten met gegroepeerde tekstbewerking en het opnieuw genereren van PDF's" + }, + "addText": { + "tags": "text,annotation,label", + "title": "Tekst toevoegen", + "desc": "Voeg overal in je PDF aangepaste tekst toe" } }, "landing": { "addFiles": "Bestanden toevoegen", - "uploadFromComputer": "Uploaden vanaf computer" + "uploadFromComputer": "Uploaden vanaf computer", + "openFromComputer": "Openen vanaf computer" }, "viewPdf": { "tags": "bekijken,lezen,annoteren,tekst,afbeelding", @@ -849,6 +922,11 @@ }, "error": { "failed": "Er is een fout opgetreden bij het samenvoegen van de PDF's." + }, + "tooltip": { + "header": { + "title": "Overzicht instellingen samenvoegen" + } } }, "split": { @@ -1182,9 +1260,43 @@ "tags": "img,jpg,foto", "title": "Afbeelding toevoegen", "header": "Afbeelding aan PDF toevoegen", - "everyPage": "Elke pagina?", - "upload": "Afbeelding toevoegen", - "submit": "Afbeelding toevoegen" + "image": { + "name": "Afbeelding", + "placeholder": "Upload een afbeelding", + "label": "Afbeeldingsbestand" + }, + "steps": { + "configure": "Afbeelding configureren" + }, + "step": { + "createDesc": "Upload de afbeelding die je wilt toevoegen", + "place": "Afbeelding plaatsen", + "placeDesc": "Klik op de PDF om je afbeelding toe te voegen" + }, + "instructions": { + "title": "Afbeeldingen toevoegen", + "text": "Klik na het uploaden van je afbeelding ergens op de PDF om deze te plaatsen.", + "paused": "Plaatsing gepauzeerd", + "resumeHint": "Hervat de plaatsing om te klikken en je afbeelding toe te voegen.", + "noSignature": "Upload hierboven een afbeelding om te kunnen plaatsen." + }, + "mode": { + "move": "Afbeelding verplaatsen", + "place": "Afbeelding plaatsen", + "pause": "Plaatsing pauzeren", + "resume": "Plaatsing hervatten" + }, + "results": { + "title": "Resultaat afbeelding toevoegen" + }, + "error": { + "failed": "Er is een fout opgetreden bij het toevoegen van de afbeelding aan de PDF." + }, + "saved": { + "defaultLabel": "Afbeelding", + "defaultImageLabel": "Geüploade afbeelding" + }, + "applySignatures": "Afbeeldingen toepassen" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1397,6 +1509,93 @@ }, "submit": "Wijzigen" }, + "editTableOfContents": { + "settings": { + "title": "Bladwijzers & inhoud", + "replaceExisting": "Bestaande bladwijzers vervangen (uitvinken om toe te voegen)", + "replaceExistingHint": "Wanneer uitgeschakeld, wordt de nieuwe inhoud na de huidige bladwijzers toegevoegd." + }, + "actions": { + "source": "Bladwijzers laden", + "selectedFile": "Geladen uit {{file}}", + "noFile": "Selecteer een PDF om bestaande bladwijzers te extraheren.", + "loadFromPdf": "Laden uit geselecteerde PDF", + "importJson": "JSON importeren", + "importClipboard": "JSON vanaf klembord plakken", + "export": "Bladwijzers exporteren", + "exportJson": "JSON downloaden", + "exportClipboard": "JSON naar klembord kopiëren", + "clipboardUnavailable": "Klembordtoegang is niet beschikbaar in deze browser." + }, + "info": { + "line1": "Elke bladwijzer heeft een beschrijvende titel en de pagina nodig die moet worden geopend.", + "line2": "Gebruik onderliggende bladwijzers om een hiërarchie te maken voor hoofdstukken, secties of subsecties.", + "line3": "Importeer bladwijzers uit de geselecteerde PDF of uit een JSON-bestand om tijd te besparen." + }, + "workbench": { + "empty": { + "title": "Open de tool om te beginnen met bewerken", + "description": "Selecteer de tool Inhoudsopgave bewerken om de werkruimte te laden." + }, + "tabTitle": "Werkruimte inhoud", + "subtitle": "Importeer bladwijzers, bouw hiërarchieën en pas de inhoud toe zonder krappe zijpanelen.", + "noFile": "Geen PDF geselecteerd", + "fileLabel": "Wijzigingen worden toegepast op de momenteel geselecteerde PDF.", + "filePrompt": "Selecteer een PDF uit je bibliotheek of upload een nieuwe om te beginnen.", + "changeFile": "PDF wijzigen", + "selectFile": "PDF selecteren" + }, + "editor": { + "heading": "Bladwijzer-editor", + "description": "Voeg bladwijzers toe, nestel ze en wijzig de volgorde om je PDF-inhoud te maken.", + "addTopLevel": "Bladwijzer op hoogste niveau toevoegen", + "empty": { + "title": "Nog geen bladwijzers", + "description": "Importeer bestaande bladwijzers of begin met je eerste item toe te voegen.", + "action": "Eerste bladwijzer toevoegen" + }, + "defaultTitle": "Nieuwe bladwijzer", + "defaultChildTitle": "Onderliggende bladwijzer", + "defaultSiblingTitle": "Nieuwe bladwijzer", + "untitled": "Naamloze bladwijzer", + "childBadge": "Onderliggend", + "pagePreview": "Pagina {{page}}", + "field": { + "title": "Titel bladwijzer", + "page": "Doelpaginanummer" + }, + "actions": { + "toggle": "Onderliggende tonen/verbergen", + "addChild": "Onderliggende bladwijzer toevoegen", + "addSibling": "Bladwijzer op hetzelfde niveau toevoegen", + "remove": "Bladwijzer verwijderen" + }, + "confirmRemove": "Deze bladwijzer en alle onderliggende verwijderen?" + }, + "messages": { + "loadedTitle": "Bladwijzers geëxtraheerd", + "loadedBody": "Bestaande bladwijzers uit de PDF zijn in de editor geladen.", + "noBookmarks": "Geen bladwijzers gevonden in de geselecteerde PDF.", + "loadFailed": "Kan geen bladwijzers uit de geselecteerde PDF extraheren.", + "imported": "Bladwijzers geïmporteerd", + "importedBody": "Je JSON-inhoud heeft de huidige editorinhoud vervangen.", + "importedClipboard": "Klembordgegevens hebben de huidige bladwijzerlijst vervangen.", + "invalidJson": "Ongeldige JSON-structuur", + "invalidJsonBody": "Geef een geldig bladwijzer-JSON-bestand op en probeer het opnieuw.", + "exported": "JSON-download gereed", + "copied": "Gekopieerd naar klembord", + "copiedBody": "Bladwijzer-JSON succesvol gekopieerd.", + "copyFailed": "Kopiëren mislukt" + }, + "error": { + "failed": "Bijwerken van de inhoudsopgave mislukt" + }, + "submit": "Inhoudsopgave toepassen", + "results": { + "title": "Bijgewerkte PDF met bladwijzers", + "subtitle": "Download het verwerkte bestand of maak de bewerking hieronder ongedaan." + } + }, "removePages": { "tags": "Pagina's verwijderen", "title": "Verwijderen", @@ -1978,13 +2177,54 @@ "title": "Teken uw handtekening", "clear": "Wissen" }, + "canvas": { + "heading": "Teken je handtekening", + "clickToOpen": "Klik om het tekenvenster te openen", + "modalTitle": "Teken je handtekening", + "colorLabel": "Kleur", + "penSizeLabel": "Pendikte", + "penSizePlaceholder": "Grootte", + "clear": "Tekenvenster wissen", + "colorPickerTitle": "Kies lijnkleur" + }, "text": { "name": "Naam ondertekenaar", - "placeholder": "Voer uw volledige naam in" + "placeholder": "Voer uw volledige naam in", + "fontLabel": "Lettertype", + "fontSizeLabel": "Lettergrootte", + "fontSizePlaceholder": "Typ of kies een lettergrootte (8-200)", + "colorLabel": "Tekstkleur" }, "clear": "Wissen", "add": "Toevoegen", - "saved": "Gesleutelde handtekeningen opgeslagen", + "saved": { + "heading": "Opgeslagen handtekeningen", + "description": "Gebruik opgeslagen handtekeningen op elk moment opnieuw.", + "emptyTitle": "Nog geen opgeslagen handtekeningen", + "emptyDescription": "Teken, upload of typ hierboven een handtekening en kies vervolgens 'Opslaan in bibliotheek' om tot {{max}} favorieten paraat te hebben.", + "type": { + "canvas": "Tekening", + "image": "Upload", + "text": "Tekst" + }, + "limitTitle": "Limiet bereikt", + "limitDescription": "Verwijder een opgeslagen handtekening voordat je nieuwe toevoegt (max. {{max}}).", + "carouselPosition": "{{current}} van {{total}}", + "prev": "Vorige", + "next": "Volgende", + "delete": "Verwijderen", + "label": "Label", + "defaultLabel": "Handtekening", + "defaultCanvasLabel": "Getekende handtekening", + "defaultImageLabel": "Geüploade handtekening", + "defaultTextLabel": "Getypte handtekening", + "saveButton": "Handtekening opslaan", + "saveUnavailable": "Maak eerst een handtekening om deze op te slaan.", + "noChanges": "De huidige handtekening is al opgeslagen.", + "status": { + "saved": "Opgeslagen" + } + }, "save": "Opslaan Signatuur", "applySignatures": "Handtekeningen toepassen", "personalSigs": "Persoonlijke Signatuuren", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Handtekening configureren" }, + "step": { + "createDesc": "Kies hoe je de handtekening wilt maken", + "place": "Plaatsen en opslaan", + "placeDesc": "Plaats de handtekening op je PDF" + }, "type": { "title": "Type handtekening", "draw": "Tekenen", "canvas": "Canvas", "image": "Afbeelding", - "text": "Tekst" + "text": "Tekst", + "saved": "Opgeslagen" }, "image": { "label": "Handtekeningafbeelding uploaden", @@ -2019,11 +2265,17 @@ "title": "Hoe een handtekening toevoegen", "canvas": "Na het tekenen van uw handtekening in het canvas, sluit het venster en klik vervolgens ergens op de PDF om deze te plaatsen.", "image": "Na het uploaden van uw handtekeningafbeelding hierboven, klik ergens op de PDF om deze te plaatsen.", - "text": "Na het invoeren van uw naam hierboven, klik ergens op de PDF om uw handtekening te plaatsen." + "saved": "Selecteer hierboven een opgeslagen handtekening en klik vervolgens ergens op de PDF om deze te plaatsen.", + "text": "Na het invoeren van uw naam hierboven, klik ergens op de PDF om uw handtekening te plaatsen.", + "paused": "Plaatsing gepauzeerd", + "resumeHint": "Hervat de plaatsing om te klikken en je handtekening toe te voegen.", + "noSignature": "Maak hierboven een handtekening om de plaatsingstools in te schakelen." }, "mode": { "move": "Handtekening verplaatsen", - "place": "Handtekening plaatsen" + "place": "Handtekening plaatsen", + "pause": "Plaatsing pauzeren", + "resume": "Plaatsing hervatten" }, "updateAndPlace": "Bijwerken en plaatsen", "activate": "Plaatsing van handtekening activeren", @@ -2163,6 +2415,14 @@ "title": "Over 'Aantekeningen verwijderen'", "description": "Deze tool verwijdert alle aantekeningen (opmerkingen, markeringen, notities, enz.) uit uw PDF-documenten." }, + "tooltip": { + "header": { + "title": "Over Aantekeningen verwijderen" + }, + "description": { + "title": "Wat het doet" + } + }, "error": { "failed": "Er is een fout opgetreden bij het verwijderen van aantekeningen uit de PDF." } @@ -2627,6 +2887,9 @@ "header": { "title": "Hoe automatisch hernoemen werkt" }, + "description": { + "title": "Wat het doet" + }, "howItWorks": { "title": "Slim hernoemen", "text": "Zoekt automatisch de titel in uw PDF-inhoud en gebruikt deze als bestandsnaam.", @@ -2634,6 +2897,9 @@ "bullet2": "Maakt een schone, geldige bestandsnaam van de gedetecteerde titel", "bullet3": "Behoudt de oorspronkelijke naam als er geen geschikte titel wordt gevonden" } + }, + "settings": { + "title": "Over" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "Onverwachte fout: {{message}}", "accountCreatedSuccess": "Account succesvol aangemaakt! U kunt nu inloggen.", "passwordChangedSuccess": "Wachtwoord succesvol gewijzigd! Log in met uw nieuwe wachtwoord.", - "credentialsUpdated": "Uw inloggegevens zijn bijgewerkt. Log opnieuw in." + "credentialsUpdated": "Uw inloggegevens zijn bijgewerkt. Log opnieuw in.", + "defaultCredentials": "Standaard inloggegevens", + "changePasswordWarning": "Wijzig uw wachtwoord nadat u voor het eerst bent ingelogd", + "slides": { + "overview": { + "alt": "Stirling PDF-overzicht", + "title": "Uw alles-in-één oplossing voor al uw PDF-behoeften.", + "subtitle": "Een privacy-first cloud suite voor PDF's waarmee u documenten kunt converteren, ondertekenen, anonimiseren en beheren, plus 50+ andere krachtige tools." + }, + "edit": { + "alt": "PDF's bewerken", + "title": "Bewerk PDF's om de gewenste informatie te tonen/beveiligen", + "subtitle": "Met meer dan een dozijn tools om PDF's te anonimiseren, ondertekenen, lezen en bewerken vindt u zeker wat u zoekt." + }, + "secure": { + "alt": "PDF's beveiligen", + "title": "Bescherm gevoelige informatie in uw PDF's", + "subtitle": "Voeg wachtwoorden toe, anonimiseer inhoud en beheer certificaten met gemak." + } + } }, "signup": { "title": "Account aanmaken", @@ -3598,7 +3883,9 @@ "exportAll": "PDF exporteren", "downloadSelected": "Geselecteerde bestanden downloaden", "downloadAll": "Alles downloaden", + "saveAll": "Alles opslaan", "toggleTheme": "Thema wisselen", + "toggleBookmarks": "Bladwijzers tonen/verbergen", "language": "Taal", "search": "PDF doorzoeken", "panMode": "Pan-modus", @@ -3656,7 +3943,7 @@ "activity": "Logboek", "help": "Help", "account": "Account", - "config": "Config", + "config": "Configuratie", "settings": "Opties", "adminSettings": "Beheer", "allTools": "All Tools", @@ -3685,8 +3972,16 @@ "saved": "Instellingen succesvol opgeslagen", "saveSuccess": "Instellingen succesvol opgeslagen", "save": "Wijzigingen opslaan", + "discard": "Verwerpen", "restartRequired": "Herstart vereist", "loginRequired": "Inlogmodus moet zijn ingeschakeld om beheerinstellingen te wijzigen", + "unsavedChanges": { + "title": "Niet-opgeslagen wijzigingen", + "message": "U hebt niet-opgeslagen wijzigingen. Wilt u deze verwerpen?", + "cancel": "Verder bewerken", + "discard": "Wijzigingen verwerpen", + "hint": "U hebt niet-opgeslagen wijzigingen" + }, "loginDisabled": { "title": "Inlogmodus vereist", "message": "Inlogmodus moet zijn ingeschakeld om beheerinstellingen te wijzigen. Stel SECURITY_ENABLELOGIN=true in je omgeving of security.enableLogin: true in settings.yml in, start daarna de server opnieuw.", @@ -4212,9 +4507,21 @@ "title": "Premium & Enterprise", "description": "Configureer je premium- of enterprise-licentiesleutel.", "license": "Licentieconfiguratie", + "licenseKey": { + "toggle": "Heb je een licentiesleutel of certificaatbestand?", + "info": "Als je een licentiesleutel of certificaatbestand hebt van een directe aankoop, kun je die hier invoeren om premium- of enterprisefuncties te activeren." + }, "key": { "label": "Licentiesleutel", - "description": "Voer je premium- of enterprise-licentiesleutel in" + "description": "Voer je premium- of enterprise-licentiesleutel in", + "success": "Licentiesleutel opgeslagen", + "successMessage": "Je licentiesleutel is succesvol geactiveerd. Herstart is niet nodig.", + "overwriteWarning": { + "title": "⚠️ Waarschuwing: Bestaande licentie gedetecteerd", + "line1": "Het overschrijven van je huidige licentiesleutel kan niet ongedaan worden gemaakt.", + "line2": "Je vorige licentie gaat permanent verloren, tenzij je er elders een back-up van hebt.", + "line3": "Belangrijk: houd licentiesleutels privé en veilig. Deel ze nooit openbaar." + } }, "enabled": { "label": "Premiumfuncties inschakelen", @@ -4278,12 +4585,17 @@ "or": "of", "dropFileHere": "Zet bestand hier neer of klik om te uploaden", "dropFilesHere": "Zet bestanden hier neer of klik op de uploadknop", + "dropFilesHereOpen": "Zet bestanden hier neer of klik op de knop Openen", "pdfFilesOnly": "Alleen PDF-bestanden", "supportedFileTypes": "Ondersteunde bestandstypen", "upload": "Uploaden", "uploadFile": "Bestand uploaden", "uploadFiles": "Bestanden uploaden", + "open": "Openen", + "openFile": "Bestand openen", + "openFiles": "Bestanden openen", "noFilesInStorage": "Geen bestanden beschikbaar in opslag. Upload eerst enkele bestanden.", + "noFilesInStorageOpen": "Geen bestanden beschikbaar in opslag. Open eerst enkele bestanden.", "selectFromStorage": "Selecteren uit opslag", "backToTools": "Terug naar tools", "addFiles": "Bestanden toevoegen", @@ -4329,6 +4641,8 @@ "myFiles": "Mijn bestanden", "noRecentFiles": "Geen recente bestanden gevonden", "googleDriveNotAvailable": "Google Drive-integratie niet beschikbaar", + "downloadSelected": "Geselecteerde downloaden", + "saveSelected": "Selectie opslaan", "openFiles": "Bestanden openen", "openFile": "Bestand openen", "details": "Bestandsdetails", @@ -4341,7 +4655,6 @@ "selectAll": "Alles selecteren", "deselectAll": "Alles deselecteren", "deleteSelected": "Geselecteerde verwijderen", - "downloadSelected": "Geselecteerde downloaden", "selectedCount": "{{count}} geselecteerd", "download": "Downloaden", "delete": "Verwijderen", @@ -4621,9 +4934,14 @@ "secureWorkflow": "Beveiligingsworkflow", "secureWorkflowDesc": "Beveiligt PDF-documenten door mogelijk kwaadaardige inhoud zoals JavaScript en ingesloten bestanden te verwijderen, en voegt vervolgens wachtwoordbeveiliging toe om ongeautoriseerde toegang te voorkomen. Wachtwoord is standaard ingesteld op 'password'.", "processImages": "Afbeeldingen verwerken", - "processImagesDesc": "Converteert meerdere afbeeldingsbestanden naar één PDF-document en past vervolgens OCR toe om doorzoekbare tekst uit de afbeeldingen te extraheren." + "processImagesDesc": "Converteert meerdere afbeeldingsbestanden naar één PDF-document en past vervolgens OCR toe om doorzoekbare tekst uit de afbeeldingen te extraheren.", + "prePublishSanitization": "Opschonen vóór publicatie", + "prePublishSanitizationDesc": "Opschoonworkflow die alle verborgen metadata, JavaScript, ingesloten bestanden en aantekeningen verwijdert en formulieren afvlakt om datalekken te voorkomen voordat PDF's online worden gepubliceerd." } }, + "colorPicker": { + "title": "Kies kleur" + }, "common": { "previous": "Vorige", "next": "Volgende", @@ -4639,7 +4957,13 @@ "used": "gebruikt", "available": "beschikbaar", "cancel": "Annuleren", - "preview": "Voorbeeld" + "preview": "Voorbeeld", + "close": "Sluiten", + "done": "Gereed", + "loading": "Laden...", + "back": "Terug", + "continue": "Doorgaan", + "error": "Fout" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Meer bestanden toevoegen...", "selectedFiles": "Geselecteerde bestanden", "submit": "Bijlagen toevoegen", + "tooltip": { + "header": { + "title": "Over Bijlagen toevoegen" + }, + "description": { + "title": "Wat het doet" + } + }, "results": { "title": "Resultaten bijlagen" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Aangepaste positie", "details": "Details", - "downloadUnavailable": "Download niet beschikbaar voor dit item", "invalidUndoData": "Kan niet ongedaan maken: ongeldige bewerkingsgegevens", "margin": { "large": "Groot", @@ -4801,6 +5132,10 @@ "maybeLater": "Misschien later", "dontShowAgain": "Niet meer tonen" }, + "welcomeSlide": { + "title": "Welkom bij Stirling", + "body": "Stirling PDF is nu klaar voor teams van elke grootte. Deze update bevat een nieuwe lay-out, krachtige nieuwe admintools en onze meeste gevraagde functie - Tekst bewerken." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Laten we de tool Bijsnijden selecteren om te laten zien hoe je een van de tools gebruikt.", "toolInterface": "Dit is de interface van de tool Bijsnijden. Zoals je ziet is er nog niet veel, omdat we nog geen PDF-bestanden hebben toegevoegd om mee te werken.", @@ -4823,7 +5158,39 @@ "next": "Volgende", "finish": "Voltooien", "startTour": "Rondleiding starten", - "startTourDescription": "Volg een rondleiding langs de belangrijkste functies van Stirling PDF" + "startTourDescription": "Volg een rondleiding langs de belangrijkste functies van Stirling PDF", + "buttons": { + "next": "Volgende →", + "back": "Terug", + "skipForNow": "Voor nu overslaan", + "download": "Downloaden →", + "showMeAround": "Geef me een rondleiding", + "skipTheTour": "Rondleiding overslaan" + }, + "serverLicense": { + "skip": "Voor nu overslaan", + "seePlans": "Plannen bekijken →", + "upgrade": "Nu upgraden →", + "freeTitle": "Serverlicentie", + "overLimitTitle": "Serverlicentie vereist", + "overLimitBody": "Onze licentie staat tot {{freeTierLimit}} gebruikers gratis per server toe. Je hebt {{overLimitUserCopy}} Stirling-gebruikers. Om zonder onderbreking door te gaan, upgrade naar het Stirling Server-plan - onbeperkte plaatsen, PDF-tekstbewerking en volledige admincontrole voor $99/server/maand.", + "freeBody": "Onze Open-Core-licentie staat tot {{freeTierLimit}} gebruikers gratis per server toe. Om ononderbroken te schalen en vroege toegang te krijgen tot onze nieuwe PDF-tekstbewerkingstool, raden we het Stirling Server-plan aan - volledige bewerking en onbeperkte plaatsen voor $99/server/maand." + }, + "desktopInstall": { + "title": "Downloaden", + "titleWithOs": "Downloaden voor {{osLabel}}", + "body": "Stirling werkt het best als desktopapp. Je kunt het offline gebruiken, sneller documenten openen en lokaal op je computer bewerken." + }, + "planOverview": { + "adminTitle": "Admin-overzicht", + "userTitle": "Planoverzicht", + "adminBodyLoginEnabled": "Als admin kun je gebruikers beheren, instellingen configureren en de servergezondheid monitoren. De eerste {{freeTierLimit}} personen op je server gebruiken Stirling gratis.", + "adminBodyLoginDisabled": "Zodra je de loginmodus inschakelt, kun je gebruikers beheren, instellingen configureren en de servergezondheid monitoren. De eerste {{freeTierLimit}} personen op je server gebruiken Stirling gratis.", + "userBody": "Nodig teamgenoten uit, wijs rollen toe en houd je documenten georganiseerd in één veilige werkruimte. Schakel de loginmodus in wanneer je klaar bent om verder te groeien dan solo-gebruik." + }, + "securityCheck": { + "message": "De applicatie heeft recent belangrijke wijzigingen ondergaan. De aandacht van je serveradmin kan nodig zijn. Bevestig je rol om door te gaan." + } }, "adminOnboarding": { "welcome": "Welkom bij de Beheerdersrondleiding! Laten we de krachtige enterprise-functies en instellingen voor systeembeheerders verkennen.", @@ -4852,7 +5219,10 @@ "role": "Rol", "team": "Team", "status": "Status", - "actions": "Acties", + "actions": { + "label": "Acties", + "upgrade": "Upgraden" + }, "noMembersFound": "Geen leden gevonden", "active": "Actief", "disabled": "Uitgeschakeld", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} gebruikersplaats(en) beschikbaar", "noSlotsAvailable": "Geen plaatsen beschikbaar", "currentUsage": "Momenteel {{current}} van {{max}} gebruikerslicenties in gebruik" - } + }, + "loginRequired": "Schakel eerst de loginmodus in" }, "teams": { "title": "Teams", @@ -5057,6 +5428,17 @@ "showComparison": "Alle functies vergelijken", "hideComparison": "Functievergelijking verbergen", "featureComparison": "Functievergelijking", + "from": "Vanaf", + "perMonth": "/maand", + "perSeat": "/plaats", + "withServer": "+ Server-plan", + "licensedSeats": "Gelicenseerd: {{count}} plaatsen", + "includedInCurrent": "Inbegrepen in je plan", + "selectPlan": "Plan selecteren", + "manage": "Beheren", + "manageSubscription": { + "description": "Beheer je abonnement, facturatie en betaalmethoden" + }, "activePlan": { "title": "Actief abonnement", "subtitle": "Details van je huidige abonnement" @@ -5074,13 +5456,16 @@ "upTo": "Tot" }, "period": { - "month": "maand" + "month": "maand", + "perUserPerMonth": "/gebruiker/maand" }, "free": { "name": "Gratis", "highlight1": "Beperkt gebruik van tools per week", "highlight2": "Toegang tot alle tools", - "highlight3": "Community-ondersteuning" + "highlight3": "Community-ondersteuning", + "forever": "Voor altijd gratis", + "included": "Inbegrepen" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Aangepaste prijzen", "highlight2": "Toegewijde ondersteuning", - "highlight3": "Nieuwste functies" + "highlight3": "Nieuwste functies", + "requiresServer": "Server vereist", + "requiresServerMessage": "Upgrade eerst naar het Server-plan voordat je naar Enterprise upgradet." }, "feature": { "title": "Functie", @@ -5102,6 +5489,12 @@ "api": "API-toegang", "priority": "Prioritaire ondersteuning", "customPricing": "Aangepaste prijzen" + }, + "licenseWarning": { + "title": "Gratis self-hosted limiet bereikt", + "body": "Je hebt {{total}} gebruikers, maar de gratis laag ondersteunt slechts {{limit}} per server. Upgrade om Stirling PDF soepel te laten draaien.", + "overLimit": "meer dan {{limit}}", + "cta": "Plannen bekijken" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Facturatie beheren", "portal": { "error": "Kon facturatieportaal niet openen" - } + }, + "updateSeats": "Plaatsen bijwerken", + "updateEnterpriseSeats": "Enterprise-plaatsen bijwerken", + "currentSeats": "Huidige plaatsen", + "minimumSeats": "Minimum aantal plaatsen", + "basedOnUsers": "(huidige gebruikers)", + "newSeatCount": "Nieuw aantal plaatsen", + "newSeatCountDescription": "Selecteer het aantal plaatsen voor je enterpriselicentie", + "whatHappensNext": "Wat gebeurt er daarna?", + "stripePortalRedirect": "Je wordt doorgestuurd naar de Stripe-facturatieportal om de wijziging in plaatsen te bekijken en te bevestigen. Het naar rato bedrag wordt automatisch berekend.", + "preparingUpdate": "Plaatsupdate voorbereiden...", + "seatCountTooLow": "Het aantal plaatsen moet minimaal {{minimum}} zijn (huidig aantal gebruikers)", + "seatCountUnchanged": "Selecteer een ander aantal plaatsen", + "seatsUpdated": "Plaatsen bijgewerkt", + "seatsUpdatedMessage": "Je enterprise-plaatsen zijn bijgewerkt naar {{seats}}", + "updateProcessing": "Update verwerken", + "updateProcessingMessage": "Je plaatsupdate wordt verwerkt. Vernieuw over enkele ogenblikken.", + "notEnterprise": "Plaatsbeheer is alleen beschikbaar voor enterpriselicenties" + }, + "upgradeBanner": { + "title": "Upgraden naar Server-plan", + "message": "Haal het meeste uit Stirling PDF met onbeperkte gebruikers en geavanceerde functies", + "upgradeButton": "Nu upgraden", + "dismiss": "Banner sluiten", + "attentionTitle": "Deze server heeft aandacht van een admin nodig", + "attentionBody": "Je admin moet inloggen om meer info te zien. Neem direct contact met hen op.", + "attentionBodyAdmin": "Controleer de licentievereisten om deze server compliant te houden.", + "seeInfo": "Info bekijken" }, "payment": { "preparing": "Bezig met afrekenproces voorbereiden...", @@ -5128,7 +5548,61 @@ "success": "Betaling geslaagd!", "successMessage": "Uw abonnement is succesvol geactiveerd. U ontvangt binnenkort een bevestigingsmail.", "autoClose": "Dit venster wordt automatisch gesloten...", - "error": "Betalingsfout" + "error": "Betalingsfout", + "upgradeSuccess": "Betaling geslaagd! Je abonnement is geüpgraded. De licentie is op je server bijgewerkt. Je ontvangt binnenkort een bevestigingsmail.", + "paymentSuccess": "Betaling geslaagd! Licentiesleutel ophalen...", + "licenseActivated": "Licentie geactiveerd! Je licentiesleutel is opgeslagen. Er is een bevestigingsmail verzonden naar je geregistreerde e-mailadres.", + "licenseDelayed": "Betaling geslaagd! Je licentie wordt gegenereerd. Je ontvangt binnenkort een e-mail met je licentiesleutel. Als je deze niet binnen 10 minuten ontvangt, neem dan contact op met support.", + "licensePollingError": "Betaling geslaagd, maar we konden je licentiesleutel niet automatisch ophalen. Controleer je e-mail of neem contact op met support met je betalingsbevestiging.", + "licenseRetrievalError": "Betaling geslaagd, maar het ophalen van de licentie is mislukt. Je ontvangt je licentiesleutel via e-mail. Neem contact op met support als je deze niet binnen 10 minuten ontvangt.", + "syncError": "Betaling geslaagd, maar licentiesynchronisatie is mislukt. Je licentie wordt binnenkort bijgewerkt. Neem contact op met support als het probleem blijft.", + "licenseSaveError": "Opslaan van licentiesleutel mislukt. Neem contact op met support met je licentiesleutel om de activatie te voltooien.", + "paymentCanceled": "Betaling geannuleerd. Er zijn geen kosten in rekening gebracht.", + "syncingLicense": "Je geüpgradede licentie synchroniseren...", + "generatingLicense": "Je licentiesleutel genereren...", + "upgradeComplete": "Upgrade voltooid", + "upgradeCompleteMessage": "Je abonnement is succesvol geüpgraded. Je bestaande licentiesleutel is bijgewerkt.", + "stripeNotConfigured": "Stripe niet geconfigureerd", + "stripeNotConfiguredMessage": "Stripe-betalintegratie is niet geconfigureerd. Neem contact op met je beheerder.", + "monthly": "Maandelijks", + "yearly": "Jaarlijks", + "billingPeriod": "Facturatieperiode", + "enterpriseNote": "Plaatsen kunnen worden aangepast bij het afrekenen (1-1000).", + "installationId": "Installatie-ID", + "licenseKey": "Je licentiesleutel", + "licenseInstructions": "Dit is toegevoegd aan je installatie. Je ontvangt ook een kopie per e-mail.", + "canCloseWindow": "Je kunt dit venster nu sluiten.", + "licenseKeyProcessing": "Licentiesleutel verwerken", + "licenseDelayedMessage": "Je licentiesleutel wordt gegenereerd. Controleer binnenkort je e-mail of neem contact op met support.", + "perYear": "/jaar", + "perMonth": "/maand", + "emailInvalid": "Voer een geldig e-mailadres in", + "emailStage": { + "title": "Vul je e-mailadres in", + "description": "We gebruiken dit om je licentiesleutel en kwitanties te sturen.", + "emailLabel": "E-mailadres", + "emailPlaceholder": "your@email.com", + "continue": "Doorgaan", + "modalTitle": "Aan de slag - {{planName}}" + }, + "planStage": { + "title": "Kies je facturatieperiode", + "savingsNote": "Bespaar {{percent}}% met jaarlijkse facturatie", + "basePrice": "Basistarief", + "seatPrice": "Per plaats", + "totalForSeats": "Totaal ({{count}} plaatsen)", + "selectMonthly": "Maandelijks selecteren", + "selectYearly": "Jaarlijks selecteren", + "savePercent": "Bespaar {{percent}}%", + "savingsAmount": "Je bespaart {{amount}}", + "modalTitle": "Selecteer facturatieperiode - {{planName}}", + "billedYearly": "Jaarlijks gefactureerd à {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Terug naar planselectie", + "selectedPlan": "Geselecteerd plan", + "modalTitle": "Betaling voltooien - {{planName}}" + } }, "firstLogin": { "title": "Eerste keer inloggen", @@ -5287,5 +5761,281 @@ "offline": "Backend offline", "starting": "Backend wordt gestart...", "wait": "Wacht tot de backend is opgestart en probeer het opnieuw." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Ontgrendel PDF om door te gaan", + "title": "Verwijder wachtwoord om door te gaan", + "description": "Deze PDF is met een wachtwoord beveiligd. Voer het wachtwoord in om verder te werken.", + "password": { + "label": "PDF-wachtwoord", + "placeholder": "Voer het PDF-wachtwoord in" + }, + "skip": "Voor nu overslaan", + "unlock": "Ontgrendelen en doorgaan", + "incorrectPassword": "Onjuist wachtwoord", + "missingFile": "Het geselecteerde bestand is niet meer beschikbaar.", + "emptyResponse": "Wachtwoord verwijderen leverde geen bestand op.", + "required": "Voer het wachtwoord in om door te gaan.", + "successTitle": "Wachtwoord verwijderd", + "successBodyWithName": "Wachtwoord verwijderd uit {{fileName}}", + "successBody": "Wachtwoord succesvol verwijderd." + }, + "setup": { + "welcome": "Welkom bij Stirling PDF", + "description": "Begin door te kiezen hoe je Stirling PDF wilt gebruiken", + "step1": { + "label": "Kies modus", + "description": "Offline of server" + }, + "step2": { + "label": "Server selecteren", + "description": "Zelfgehoste server" + }, + "step3": { + "label": "Inloggen", + "description": "Vul je gegevens in" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Log in met je Stirling-account" + }, + "selfhosted": { + "title": "Self-hosted server", + "description": "Verbind met je eigen Stirling PDF-server" + } + }, + "saas": { + "title": "Inloggen bij Stirling", + "subtitle": "Log in met je Stirling-account" + }, + "selfhosted": { + "title": "Inloggen bij server", + "subtitle": "Vul je servergegevens in" + }, + "server": { + "title": "Verbinden met server", + "subtitle": "Vul de URL van je self-hosted server in", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Zelfgehoste server" + }, + "url": { + "label": "Server-URL", + "description": "Voer de volledige URL van je self-hosted Stirling PDF-server in" + }, + "error": { + "emptyUrl": "Voer een server-URL in", + "unreachable": "Kan geen verbinding maken met server", + "testFailed": "Verbindingstest mislukt" + }, + "testing": "Verbinding testen..." + }, + "login": { + "title": "Inloggen", + "subtitle": "Vul je gegevens in om door te gaan", + "connectingTo": "Verbinden met:", + "username": { + "label": "Gebruikersnaam", + "placeholder": "Voer je gebruikersnaam in" + }, + "email": { + "label": "E-mail", + "placeholder": "Voer je e-mailadres in" + }, + "password": { + "label": "Wachtwoord", + "placeholder": "Voer je wachtwoord in" + }, + "error": { + "emptyUsername": "Vul je gebruikersnaam in", + "emptyEmail": "Vul je e-mailadres in", + "emptyPassword": "Vul je wachtwoord in", + "oauthFailed": "OAuth-login mislukt. Probeer het opnieuw." + }, + "submit": "Inloggen", + "signInWith": "Inloggen met", + "oauthPending": "Browser wordt geopend voor authenticatie...", + "orContinueWith": "Of ga verder met e-mail" + } + }, + "oauth": { + "success": { + "title": "Authenticatie geslaagd", + "message": "U kunt dit venster sluiten en terugkeren naar Stirling PDF." + }, + "error": { + "title": "Authenticatie mislukt", + "message": "Authenticatie is niet geslaagd. U kunt dit venster sluiten en het opnieuw proberen." + } + }, + "pdfTextEditor": { + "title": "PDF JSON-editor", + "viewLabel": "PDF-editor", + "converting": "PDF naar bewerkbaar formaat converteren...", + "conversionFailed": "PDF converteren mislukt. Probeer het opnieuw.", + "currentFile": "Huidig bestand: {{name}}", + "pageSummary": "Pagina {{number}} van {{total}}", + "pagePreviewAlt": "Paginavoorbeeld", + "imageLabel": "Geplaatste afbeelding", + "noTextOnPage": "Geen bewerkbare tekst op deze pagina gevonden.", + "pageType": { + "paragraph": "Alineapagina", + "sparse": "Weinig tekst" + }, + "groupingMode": { + "auto": "Auto", + "paragraph": "Alinea", + "singleLine": "Enkele regel" + }, + "badges": { + "unsaved": "Bewerkt", + "modified": "Bewerkt", + "earlyAccess": "Vroege toegang" + }, + "actions": { + "reset": "Wijzigingen resetten", + "downloadJson": "JSON downloaden", + "generatePdf": "PDF genereren" + }, + "options": { + "autoScaleText": { + "title": "Tekst automatisch schalen zodat deze in vakken past", + "description": "Schaalt tekst horizontaal automatisch zodat deze binnen het oorspronkelijke begrenzingsvak past wanneer de weergave van lettertypen afwijkt van de PDF." + }, + "groupingMode": { + "title": "Tekstgroepering", + "autoDescription": "Detecteert automatisch het paginatype en groepeert tekst passend.", + "paragraphDescription": "Groepeert uitgelijnde regels tot meerregelige alinea-tekstvakken.", + "singleLineDescription": "Houdt elke PDF-tekstregel als apart tekstvak." + }, + "manualGrouping": { + "descriptionInline": "Tip: Houd Ctrl (Cmd) of Shift ingedrukt om meerdere tekstvakken te selecteren. Boven de selectie verschijnt een zwevende werkbalk waarmee u kunt samenvoegen, degroeperen of breedtes aanpassen." + }, + "forceSingleElement": { + "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." + } + }, + "manual": { + "mergeTooltip": "Geselecteerde vakken samenvoegen", + "merge": "Selectie samenvoegen", + "ungroupTooltip": "Alinea weer in regels splitsen", + "ungroup": "Selectie degroeperen", + "widthMenu": "Breedte-opties", + "expandWidth": "Uitvouwen tot paginarand", + "resetWidth": "Breedte resetten", + "resizeHandle": "Tekstbreedte aanpassen" + }, + "disclaimer": { + "heading": "Voorbeeldbeperkingen", + "textFocus": "Deze werkruimte richt zich op het bewerken van tekst en het herpositioneren van ingesloten afbeeldingen. Complexe pagina-illustraties, formuliervelden en gelaagde grafische elementen worden behouden voor export maar zijn hier niet volledig bewerkbaar.", + "previewVariance": "Sommige visuele elementen (zoals tabelranden, vormen of de weergave van annotaties) worden mogelijk niet exact in het voorbeeld getoond. De geëxporteerde PDF behoudt waar mogelijk de oorspronkelijke tekenopdrachten.", + "alpha": "Deze alpha-viewer is nog in ontwikkeling—bepaalde lettertypen, kleuren, transparantie-effecten en lay-outdetails kunnen licht afwijken. Controleer de gegenereerde PDF voordat u deze deelt." + }, + "empty": { + "title": "Geen document geladen", + "subtitle": "Laad een PDF- of JSON-bestand om tekst te bewerken." + }, + "welcomeBanner": { + "title": "Welkom bij PDF-teksteditor (Early Access)", + "experimental": "Dit is een experimentele functie in actieve ontwikkeling. Reken op enige instabiliteit en problemen tijdens het gebruik.", + "howItWorks": "Deze tool zet uw PDF om naar een bewerkbaar formaat waarin u tekst kunt wijzigen en afbeeldingen kunt herpositioneren. Wijzigingen worden opgeslagen als een nieuwe PDF.", + "bestFor": "Werkt het best met:", + "bestFor1": "Eenvoudige PDF's met vooral tekst en afbeeldingen", + "bestFor2": "Documenten met standaard alineavormatting", + "bestFor3": "Brieven, essays, rapporten en eenvoudige documenten", + "notIdealFor": "Niet ideaal voor:", + "notIdealFor1": "PDF's met speciale opmaak zoals opsommingstekens, tabellen of lay-outs met meerdere kolommen", + "notIdealFor2": "Magazines, brochures of sterk vormgegeven documenten", + "notIdealFor3": "Handleidingen met complexe lay-outs", + "limitations": "Huidige beperkingen:", + "limitation1": "Weergave van lettertypen kan iets afwijken van de oorspronkelijke PDF", + "limitation2": "Complexe grafische elementen, formuliervelden en annotaties worden behouden maar zijn niet bewerkbaar", + "limitation3": "Grote bestanden kunnen tijd kosten om te converteren en te verwerken", + "knownIssues": "Bekende problemen (worden verholpen):", + "issue1": "Tekstkleur wordt momenteel niet behouden (wordt binnenkort toegevoegd)", + "issue2": "Alineamodus heeft meer problemen met uitlijning en afstand - Enkele-regelmodus aanbevolen", + "issue3": "Het voorbeeld wijkt af van de geëxporteerde PDF - geëxporteerde PDF's liggen dichter bij het origineel", + "issue4": "Uitlijning van gedraaide tekst kan handmatige aanpassing vereisen", + "issue5": "Transparantie- en laageffecten kunnen afwijken van het origineel", + "feedback": "Dit is een functie in vroege toegang. Meld eventuele problemen zodat we kunnen verbeteren!", + "gotIt": "Begrepen", + "dontShowAgain": "Niet meer tonen" + }, + "modeChange": { + "title": "Moduswijziging bevestigen", + "warning": "Het wijzigen van de tekstgroepering zet alle niet-opgeslagen wijzigingen terug. Weet u zeker dat u wilt doorgaan?", + "cancel": "Annuleren", + "confirm": "Resetten en modus wijzigen" + }, + "fontAnalysis": { + "details": "Lettertypedetails", + "embedded": "Ingesloten", + "type": "Type", + "webFormat": "Webindeling", + "warnings": "Waarschuwingen", + "suggestions": "Opmerkingen", + "currentPageFonts": "Lettertypen op deze pagina", + "allFonts": "Alle lettertypen", + "fallback": "fallback", + "missing": "ontbrekend", + "perfectMessage": "Alle lettertypen kunnen perfect worden gereproduceerd.", + "warningMessage": "Sommige lettertypen worden mogelijk niet correct weergegeven.", + "infoMessage": "Informatie over lettertypereproductie beschikbaar.", + "perfect": "perfect", + "subset": "subset" + }, + "errors": { + "invalidJson": "Kan het JSON-bestand niet lezen. Zorg ervoor dat het is gemaakt met de tool PDF naar JSON.", + "pdfConversion": "Kan de bewerkte JSON niet terugconverteren naar een PDF." + } + }, + "auth": { + "sessionExpired": "Sessie verlopen", + "pleaseLoginAgain": "Log alstublieft opnieuw in.", + "accessDenied": "Toegang geweigerd", + "insufficientPermissions": "U hebt geen toestemming om deze actie uit te voeren." + }, + "addText": { + "title": "Tekst toevoegen", + "header": "Tekst toevoegen aan PDF's", + "text": { + "name": "Tekstinhoud", + "placeholder": "Voer de tekst in die u wilt toevoegen", + "fontLabel": "Lettertype", + "fontSizeLabel": "Lettergrootte", + "fontSizePlaceholder": "Typ of selecteer lettergrootte (8-200)", + "colorLabel": "Tekstkleur" + }, + "steps": { + "configure": "Tekst configureren" + }, + "step": { + "createDesc": "Voer de tekst in die u wilt toevoegen", + "place": "Tekst plaatsen", + "placeDesc": "Klik op de PDF om uw tekst toe te voegen" + }, + "instructions": { + "title": "Zo voegt u tekst toe", + "text": "Nadat u hierboven tekst hebt ingevoerd, klikt u ergens op de PDF om deze te plaatsen.", + "paused": "Plaatsing gepauzeerd", + "resumeHint": "Hervat de plaatsing om te klikken en uw tekst toe te voegen.", + "noSignature": "Voer hierboven tekst in om te kunnen plaatsen." + }, + "mode": { + "move": "Tekst verplaatsen", + "place": "Tekst plaatsen", + "pause": "Plaatsing pauzeren", + "resume": "Plaatsing hervatten" + }, + "results": { + "title": "Resultaten van tekst toevoegen" + }, + "error": { + "failed": "Er is een fout opgetreden bij het toevoegen van tekst aan de PDF." + }, + "tags": "tekst,annotatie,label", + "applySignatures": "Tekst toepassen" } } \ No newline at end of file diff --git a/frontend/public/locales/no-NB/translation.json b/frontend/public/locales/no-NB/translation.json index 06ca4242f..71f9d91ed 100644 --- a/frontend/public/locales/no-NB/translation.json +++ b/frontend/public/locales/no-NB/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Kommer snart:", "favorite": "Legg til i favoritter", "favorites": "Favoritter", + "unavailable": "Deaktivert av serveradministrator:", + "unavailableDependency": "Utilgjengelig – nødvendig verktøy mangler på serveren:", "heading": "Alle verktøy (fullskjermsvisning)", "noResults": "Prøv å justere søket eller slå av/på beskrivelser for å finne det du trenger.", "recommended": "Anbefalt", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Bytt til fullskjerm-modus", "sidebar": "Bytt til sidepanel-modus" - } + }, + "alpha": "Alpha", + "premiumFeature": "Premium-funksjon:", + "comingSoon": "Kommer snart:" }, "unsavedChanges": "Du har ulagrede endringer i PDF-en.", "areYouSure": "Er du sikker på at du vil forlate?", @@ -41,6 +46,30 @@ "cancel": "Avbryt", "confirm": "Pakk ut" }, + "defaultApp": { + "title": "Sett som standard PDF-app", + "message": "Vil du sette Stirling PDF som standard PDF-redigerer?", + "description": "Du kan endre dette senere i systeminnstillingene.", + "notNow": "Ikke nå", + "setDefault": "Sett som standard", + "dismiss": "Avvis", + "prompt": { + "title": "Sett som standard PDF-redigerer", + "message": "Gjør Stirling PDF til standardappen for å åpne PDF-filer." + }, + "success": { + "title": "Standardapp satt", + "message": "Stirling PDF er nå din standard PDF-redigerer" + }, + "settingsOpened": { + "title": "Innstillinger åpnet", + "message": "Velg Stirling PDF i systeminnstillingene" + }, + "error": { + "title": "Feil", + "message": "Kunne ikke angi standard PDF-behandler" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Lagre", "saveToBrowser": "Lagre til Nettleser", "download": "Last ned", + "downloadUnavailable": "Nedlasting ikke tilgjengelig for dette elementet", + "saveUnavailable": "Lagring er ikke tilgjengelig for dette elementet", "pin": "Fest fil (hold aktiv etter verktøykjøring)", "unpin": "Løsne fil (erstatt etter verktøykjøring)", "undoOperationTooltip": "Klikk for å angre siste operasjon og gjenopprette originalfilene", @@ -168,6 +199,7 @@ }, "edit": "Rediger", "delete": "Slett", + "never": "Aldri", "username": "Brukernavn", "password": "Passord", "welcome": "Velkommen", @@ -262,7 +294,8 @@ "learnMore": "Lær mer", "enable": "Aktiver analyse", "disable": "Deaktiver analyse", - "settings": "Du kan endre innstillingene for analyse i config/settings.yml filen" + "settings": "Du kan endre innstillingene for analyse i config/settings.yml filen", + "privacyAssurance": "Vi sporer ikke personopplysninger eller innholdet i filene dine." }, "navbar": { "favorite": "Favoritter", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Innstillinger", - "update": "Oppdatering tilgjengelig", - "updateAvailable": "{0} er den nåværende installerte versjonen. En ny versjon ({1}) er tilgjengelig.", - "appVersion": "App Versjon:", - "downloadOption": { - "title": "Velg nedlastingsalternativ (For enkeltfil ikke-zip nedlastinger):", - "1": "Åpne i samme vindu", - "2": "Åpne i nytt vindu", - "3": "Last ned fil" - }, - "zipThreshold": "Zip filer når antall nedlastede filer overstiger", - "signOut": "Logg ut", - "accountSettings": "Kontoinnstillinger", - "bored": { - "help": "Aktiverer påskeegg-spill" - }, - "cacheInputs": { - "name": "Lagre skjemainput", - "help": "Aktiver for å lagre tidligere brukte input for fremtidige kjøringer" + "connection": { + "title": "Tilkoblingsmodus", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Selvhostet" + }, + "server": "Server", + "user": "Logget inn som", + "logout": "Logg ut" }, "general": { "title": "Generelt", "description": "Konfigurer generelle programinnstillinger.", - "account": "Konto", - "accountDescription": "Administrer kontoinnstillingene dine", "user": "Bruker", - "signedInAs": "Logget inn som", "logout": "Logg ut", "enableFeatures": { + "dismiss": "Avvis", "title": "For systemadministratorer", "intro": "Aktiver brukergodkjenning, teamadministrasjon og arbeidsområdefunksjoner for organisasjonen din.", "action": "Konfigurer", "and": "og", "benefit": "Aktiverer brukerroller, teamsamarbeid, administratorkontroller og bedriftsfunksjoner.", - "learnMore": "Les mer i dokumentasjonen", - "dismiss": "Avvis" + "learnMore": "Les mer i dokumentasjonen" }, - "autoUnzip": "Pakk ut API-svar automatisk", - "autoUnzipDescription": "Pakk ut filer fra ZIP-svar automatisk", - "autoUnzipTooltip": "Pakk automatisk ut ZIP-filer returnert fra API-operasjoner. Deaktiver for å beholde ZIP-filer intakte. Dette påvirker ikke automatiseringsarbeidsflyter.", - "autoUnzipFileLimit": "Grense for auto-utpakking av filer", - "autoUnzipFileLimitDescription": "Maksimalt antall filer å pakke ut fra ZIP", - "autoUnzipFileLimitTooltip": "Pakk bare ut hvis ZIP-en inneholder så mange filer eller færre. Sett høyere for å pakke ut større ZIP-er.", "defaultToolPickerMode": "Standardmodus for verktøyvelger", "defaultToolPickerModeDescription": "Velg om verktøyvelgeren åpnes i fullskjerm eller sidepanel som standard", "mode": { - "fullscreen": "Fullskjerm", - "sidebar": "Sidepanel" - } + "sidebar": "Sidepanel", + "fullscreen": "Fullskjerm" + }, + "autoUnzipTooltip": "Pakk automatisk ut ZIP-filer returnert fra API-operasjoner. Deaktiver for å beholde ZIP-filer intakte. Dette påvirker ikke automatiseringsarbeidsflyter.", + "autoUnzip": "Pakk ut API-svar automatisk", + "autoUnzipDescription": "Pakk ut filer fra ZIP-svar automatisk", + "autoUnzipFileLimitTooltip": "Pakk bare ut hvis ZIP-en inneholder så mange filer eller færre. Sett høyere for å pakke ut større ZIP-er.", + "autoUnzipFileLimit": "Grense for auto-utpakking av filer", + "autoUnzipFileLimitDescription": "Maksimalt antall filer å pakke ut fra ZIP", + "defaultPdfEditor": "Standard PDF-redigerer", + "defaultPdfEditorActive": "Stirling PDF er din standard PDF-redigerer", + "defaultPdfEditorInactive": "En annen app er satt som standard", + "defaultPdfEditorChecking": "Sjekker...", + "defaultPdfEditorSet": "Allerede standard", + "setAsDefault": "Sett som standard", + "updates": { + "title": "Programvareoppdateringer", + "description": "Se etter oppdateringer og vis versjonsinformasjon", + "currentVersion": "Nåværende versjon", + "latestVersion": "Siste versjon", + "checkForUpdates": "Søk etter oppdateringer", + "viewDetails": "Vis detaljer" + }, + "hideUnavailableTools": "Skjul utilgjengelige verktøy", + "hideUnavailableToolsDescription": "Fjern verktøy som er deaktivert av serveren i stedet for å vise dem nedtonet.", + "hideUnavailableConversions": "Skjul utilgjengelige konverteringer", + "hideUnavailableConversionsDescription": "Fjern deaktiverte konverteringsvalg i Konverter-verktøyet i stedet for å vise dem nedtonet." }, "hotkeys": { - "title": "Hurtigtaster", - "description": "Hold pekeren over et verktøy for å se snarveien eller tilpass den nedenfor. Klikk \"Endre snarvei\" og trykk en ny tastekombinasjon. Trykk Esc for å avbryte.", - "errorModifier": { - "mac": "Inkluder ⌘ (Command), ⌥ (Option) eller en annen modifikator i snarveien.", - "windows": "Inkluder Ctrl, Alt eller en annen modifikator i snarveien." - }, "errorConflict": "Snarvei brukes allerede av {{tool}}.", + "searchPlaceholder": "Søk i verktøy...", "none": "Ikke tilordnet", "customBadge": "Egendefinert", "defaultLabel": "Standard: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Endre snarvei", "reset": "Tilbakestill", "shortcut": "Snarvei", - "noShortcut": "Ingen snarvei satt", - "searchPlaceholder": "Søk i verktøy..." + "noShortcut": "Ingen snarvei satt" } }, + "update": { + "modalTitle": "Oppdatering tilgjengelig", + "current": "Nåværende versjon", + "latest": "Siste versjon", + "latestStable": "Siste stabile", + "priorityLabel": "Prioritet", + "recommendedAction": "Anbefalt handling", + "breakingChangesDetected": "Inkompatible endringer oppdaget", + "breakingChangesMessage": "Noen versjoner inneholder inkompatible endringer. Les migreringsveiledningene nedenfor før du oppdaterer.", + "migrationGuides": "Migreringsveiledninger", + "viewGuide": "Vis veiledning", + "loadingDetailedInfo": "Laster detaljert informasjon...", + "close": "Lukk", + "viewAllReleases": "Vis alle utgivelser", + "downloadLatest": "Last ned siste", + "availableUpdates": "Tilgjengelige oppdateringer", + "unableToLoadDetails": "Kan ikke laste detaljert informasjon.", + "version": "Versjon", + "urgentUpdateAvailable": "Kritisk oppdatering", + "updateAvailable": "Oppdatering tilgjengelig", + "releaseNotes": "Versjonsnotater", + "priority": { + "urgent": "Kritisk", + "normal": "Normal", + "minor": "Mindre", + "low": "Lav" + }, + "breakingChanges": "Inkompatible endringer", + "breakingChangesDefault": "Denne versjonen inneholder inkompatible endringer.", + "migrationGuide": "Migreringsveiledning" + }, "changeCreds": { "title": "Endre Legitimasjon", "header": "Oppdater Konto Detaljer", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Legger PDF-er over hverandre", "title": "Overlay PDF-er" + }, + "pdfTextEditor": { + "title": "PDF-tekstredigerer", + "desc": "Gå gjennom og rediger Stirling PDF JSON-eksporter med gruppert tekstredigering og regenerering av PDF" + }, + "addText": { + "tags": "tekst,merknad,etikett", + "title": "Legg til tekst", + "desc": "Legg til egendefinert tekst hvor som helst i PDF-en" } }, "landing": { "addFiles": "Legg til filer", - "uploadFromComputer": "Last opp fra datamaskin" + "uploadFromComputer": "Last opp fra datamaskin", + "openFromComputer": "Åpne fra datamaskin" }, "viewPdf": { "tags": "vis,les,annoter,tekst,bilde", @@ -849,6 +922,11 @@ }, "error": { "failed": "Det oppstod en feil under sammenslåing av PDF-ene." + }, + "tooltip": { + "header": { + "title": "Oversikt over fletteinnstillinger" + } } }, "split": { @@ -1182,9 +1260,43 @@ "tags": "bilde,jpg,foto", "title": "Legg til bilde", "header": "Legg til bilde i PDF", - "everyPage": "På hver side?", - "upload": "Legg til bilde", - "submit": "Legg til bilde" + "image": { + "name": "Bilde", + "placeholder": "Last opp et bilde", + "label": "Bildefil" + }, + "steps": { + "configure": "Konfigurer bilde" + }, + "step": { + "createDesc": "Last opp bildet du vil legge til", + "place": "Plasser bilde", + "placeDesc": "Klikk på PDF-en for å legge til bildet" + }, + "instructions": { + "title": "Slik legger du til bilder", + "text": "Etter at du har lastet opp bildet ovenfor, klikk hvor som helst på PDF-en for å plassere det.", + "paused": "Plassering pauset", + "resumeHint": "Gjenoppta plassering for å klikke og legge til bildet.", + "noSignature": "Last opp et bilde ovenfor for å aktivere plassering." + }, + "mode": { + "move": "Flytt bilde", + "place": "Plasser bilde", + "pause": "Pause plassering", + "resume": "Gjenoppta plassering" + }, + "results": { + "title": "Resultater for å legge til bilde" + }, + "error": { + "failed": "Det oppstod en feil ved å legge til bildet i PDF-en." + }, + "saved": { + "defaultLabel": "Bilde", + "defaultImageLabel": "Opplastet bilde" + }, + "applySignatures": "Bruk bilder" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1397,6 +1509,93 @@ }, "submit": "Endre" }, + "editTableOfContents": { + "settings": { + "title": "Bokmerker og struktur", + "replaceExisting": "Erstatt eksisterende bokmerker (fjern haken for å legge til)", + "replaceExistingHint": "Når deaktivert, legges den nye strukturen til etter gjeldende bokmerker." + }, + "actions": { + "source": "Last bokmerker", + "selectedFile": "Lastet fra {{file}}", + "noFile": "Velg en PDF for å hente eksisterende bokmerker.", + "loadFromPdf": "Last fra valgt PDF", + "importJson": "Importer JSON", + "importClipboard": "Lim inn JSON fra utklippstavlen", + "export": "Eksporter bokmerker", + "exportJson": "Last ned JSON", + "exportClipboard": "Kopier JSON til utklippstavlen", + "clipboardUnavailable": "Tilgang til utklippstavlen er ikke tilgjengelig i denne nettleseren." + }, + "info": { + "line1": "Hvert bokmerke trenger en beskrivende tittel og siden det skal åpne.", + "line2": "Bruk underbokmerker for å bygge et hierarki for kapitler, seksjoner eller underseksjoner.", + "line3": "Importer bokmerker fra den valgte PDF-en eller fra en JSON-fil for å spare tid." + }, + "workbench": { + "empty": { + "title": "Åpne verktøyet for å begynne å redigere", + "description": "Velg verktøyet Rediger innholdsfortegnelse for å laste arbeidsområdet." + }, + "tabTitle": "Arbeidsområde for disposisjon", + "subtitle": "Importer bokmerker, bygg hierarkier og bruk disposisjonen uten trange sidepaneler.", + "noFile": "Ingen PDF valgt", + "fileLabel": "Endringer vil bli brukt på den valgte PDF-en.", + "filePrompt": "Velg en PDF fra biblioteket ditt eller last opp en ny for å begynne.", + "changeFile": "Bytt PDF", + "selectFile": "Velg PDF" + }, + "editor": { + "heading": "Bokmerkeredigerer", + "description": "Legg til, nest og omorganiser bokmerker for å lage PDF-strukturen.", + "addTopLevel": "Legg til toppnivå-bokmerke", + "empty": { + "title": "Ingen bokmerker ennå", + "description": "Importer eksisterende bokmerker eller start med å legge til din første oppføring.", + "action": "Legg til første bokmerke" + }, + "defaultTitle": "Nytt bokmerke", + "defaultChildTitle": "Underbokmerke", + "defaultSiblingTitle": "Nytt bokmerke", + "untitled": "Bokmerke uten tittel", + "childBadge": "Under", + "pagePreview": "Side {{page}}", + "field": { + "title": "Bokmerketittel", + "page": "Målsidenummer" + }, + "actions": { + "toggle": "Veksle underbokmerker", + "addChild": "Legg til underbokmerke", + "addSibling": "Legg til bokmerke på samme nivå", + "remove": "Fjern bokmerke" + }, + "confirmRemove": "Fjerne dette bokmerket og alle underbokmerkene?" + }, + "messages": { + "loadedTitle": "Bokmerker hentet", + "loadedBody": "Eksisterende bokmerker fra PDF-en ble lastet inn i redigereren.", + "noBookmarks": "Ingen bokmerker ble funnet i den valgte PDF-en.", + "loadFailed": "Kan ikke hente bokmerker fra den valgte PDF-en.", + "imported": "Bokmerker importert", + "importedBody": "JSON-disposisjonen erstattet gjeldende innhold i redigereren.", + "importedClipboard": "Utklippstavledata erstattet gjeldende bokmerkeliste.", + "invalidJson": "Ugyldig JSON-struktur", + "invalidJsonBody": "Oppgi en gyldig bokmerke-JSON og prøv igjen.", + "exported": "JSON-nedlasting klar", + "copied": "Kopiert til utklippstavlen", + "copiedBody": "Bokmerke-JSON ble kopiert.", + "copyFailed": "Kopiering mislyktes" + }, + "error": { + "failed": "Kunne ikke oppdatere innholdsfortegnelsen" + }, + "submit": "Bruk innholdsfortegnelse", + "results": { + "title": "Oppdatert PDF med bokmerker", + "subtitle": "Last ned den behandlede filen eller angre operasjonen nedenfor." + } + }, "removePages": { "tags": "fjern sider,slett sider", "title": "Fjern", @@ -1405,7 +1604,7 @@ "placeholder": "f.eks. 1,3,5-8,10", "error": "Ugyldig sidetallformat. Bruk tall, intervaller (1-5) eller matematiske uttrykk (2n+1)" }, - "filenamePrefix": "pages_removed", + "filenamePrefix": "sider_fjernet", "files": { "placeholder": "Velg en PDF-fil i hovedvisningen for å komme i gang" }, @@ -1601,12 +1800,12 @@ "tags": "komprimer,liten,tiny" }, "unlockPDFForms": { - "tags": "remove,delete,form,field,readonly", + "tags": "fjern,slett,skjema,felt,skrivebeskyttet", "title": "Fjern skrivebeskyttelse fra skjemafelter", "header": "Lås opp PDF-skjemaer", "submit": "Remove", "description": "Dette verktøyet vil fjerne skrivebeskyttelse fra PDF-skjemaer, slik at de kan redigeres og fylles ut.", - "filenamePrefix": "unlocked_forms", + "filenamePrefix": "ulåste_skjemaer", "files": { "placeholder": "Velg en PDF-fil i hovedvisningen for å komme i gang" }, @@ -1978,13 +2177,54 @@ "title": "Tegn signaturen din", "clear": "Tøm" }, + "canvas": { + "heading": "Tegn signaturen din", + "clickToOpen": "Klikk for å åpne tegneflaten", + "modalTitle": "Tegn signaturen din", + "colorLabel": "Farge", + "penSizeLabel": "Pennstørrelse", + "penSizePlaceholder": "Størrelse", + "clear": "Tøm tegneflaten", + "colorPickerTitle": "Velg strekfarge" + }, "text": { "name": "Underskrivers navn", - "placeholder": "Skriv inn fullt navn" + "placeholder": "Skriv inn fullt navn", + "fontLabel": "Skrifttype", + "fontSizeLabel": "Skriftstørrelse", + "fontSizePlaceholder": "Skriv eller velg skriftstørrelse (8-200)", + "colorLabel": "Tekstfarge" }, "clear": "Slett", "add": "Legg til", - "saved": "Lagrede signaturer", + "saved": { + "heading": "Lagrede signaturer", + "description": "Gjenbruk lagrede signaturer når som helst.", + "emptyTitle": "Ingen lagrede signaturer ennå", + "emptyDescription": "Tegn, last opp eller skriv en signatur ovenfor, og bruk «Lagre i bibliotek» for å ha opptil {{max}} favoritter klare til bruk.", + "type": { + "canvas": "Tegning", + "image": "Opplasting", + "text": "Tekst" + }, + "limitTitle": "Grense nådd", + "limitDescription": "Fjern en lagret signatur før du legger til nye (maks {{max}}).", + "carouselPosition": "{{current}} av {{total}}", + "prev": "Forrige", + "next": "Neste", + "delete": "Fjern", + "label": "Etikett", + "defaultLabel": "Signatur", + "defaultCanvasLabel": "Tegnet signatur", + "defaultImageLabel": "Opplastet signatur", + "defaultTextLabel": "Tekstsignatur", + "saveButton": "Lagre signatur", + "saveUnavailable": "Opprett en signatur først for å lagre den.", + "noChanges": "Gjeldende signatur er allerede lagret.", + "status": { + "saved": "Lagret" + } + }, "save": "Lagre signatur", "applySignatures": "Bruk signaturer", "personalSigs": "Personlige signaturer", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Konfigurer signatur" }, + "step": { + "createDesc": "Velg hvordan du vil opprette signaturen", + "place": "Plasser og lagre", + "placeDesc": "Plasser signaturen på PDF-en" + }, "type": { "title": "Signaturtype", "draw": "Tegn", "canvas": "Lerret", "image": "Bilde", - "text": "Tekst" + "text": "Tekst", + "saved": "Lagret" }, "image": { "label": "Last opp signaturbilde", @@ -2019,11 +2265,17 @@ "title": "Slik legger du til signatur", "canvas": "Når du har tegnet signaturen i lerretet, lukk modalvinduet og klikk hvor som helst i PDF-en for å plassere den.", "image": "Når du har lastet opp signaturbildet over, klikk hvor som helst i PDF-en for å plassere det.", - "text": "Når du har skrevet inn navnet ditt over, klikk hvor som helst i PDF-en for å plassere signaturen." + "saved": "Velg en lagret signatur ovenfor, og klikk hvor som helst på PDF-en for å plassere den.", + "text": "Når du har skrevet inn navnet ditt over, klikk hvor som helst i PDF-en for å plassere signaturen.", + "paused": "Plassering pauset", + "resumeHint": "Gjenoppta plassering for å klikke og legge til signaturen.", + "noSignature": "Opprett en signatur ovenfor for å aktivere plasseringsverktøy." }, "mode": { "move": "Flytt signatur", - "place": "Plasser signatur" + "place": "Plasser signatur", + "pause": "Pause plassering", + "resume": "Gjenoppta plassering" }, "updateAndPlace": "Oppdater og plasser", "activate": "Aktiver signaturplassering", @@ -2040,7 +2292,7 @@ "header": "Utjevning av PDf", "flattenOnlyForms": "Utjevning av kun skjemaer", "submit": "Utjevn", - "filenamePrefix": "flattened", + "filenamePrefix": "flatet_ut", "files": { "placeholder": "Velg en PDF-fil i hovedvisningen for å komme i gang" }, @@ -2090,7 +2342,7 @@ "header": "Reparer PDF-er", "submit": "Reparer", "description": "Dette verktøyet vil forsøke å reparere korrupte eller skadede PDF-filer. Ingen ekstra innstillinger kreves.", - "filenamePrefix": "repaired", + "filenamePrefix": "reparert", "files": { "placeholder": "Velg en PDF-fil i hovedvisningen for å komme i gang" }, @@ -2163,6 +2415,14 @@ "title": "Om fjerning av merknader", "description": "Dette verktøyet fjerner alle merknader (kommentarer, uthevinger, notater osv.) fra PDF-dokumentene dine." }, + "tooltip": { + "header": { + "title": "Om Fjern merknader" + }, + "description": { + "title": "Hva den gjør" + } + }, "error": { "failed": "Det oppstod en feil under fjerning av merknader fra PDF-en." } @@ -2293,7 +2553,7 @@ "certSign": { "tags": "autentisere,PEM,P12,offisiell,krypter", "title": "Sertifikatsignering", - "filenamePrefix": "signed", + "filenamePrefix": "signert", "signMode": { "stepTitle": "Signeringsmodus", "tooltip": { @@ -2467,7 +2727,7 @@ } }, "bookletImposition": { - "tags": "booklet,imposition,printing,binding,folding,signature", + "tags": "hefte,oppsett,utskrift,innbinding,bretting,signatur", "title": "Hefteoppsett", "header": "Hefteoppsett", "submit": "Lag hefte", @@ -2568,7 +2828,7 @@ "submit": "Send inn" }, "adjustPageScale": { - "tags": "resize,modify,dimension,adapt", + "tags": "skalere,endre,dimensjon,tilpass", "title": "Juster sideskala", "header": "Juster sideskala", "scaleFactor": { @@ -2627,6 +2887,9 @@ "header": { "title": "Slik fungerer automatisk navngivning" }, + "description": { + "title": "Hva den gjør" + }, "howItWorks": { "title": "Smart navngivning", "text": "Finner automatisk tittelen fra PDF-innholdet ditt og bruker den som filnavn.", @@ -2634,6 +2897,9 @@ "bullet2": "Lager et rent, gyldig filnavn fra den oppdagede tittelen", "bullet3": "Beholder det opprinnelige navnet hvis ingen egnet tittel finnes" } + }, + "settings": { + "title": "Om" } }, "adjust-contrast": { @@ -3060,7 +3326,7 @@ "version": "Versjon", "keyUsage": "Nøkkelbruk", "selfSigned": "Selv-signert", - "bits": "bits", + "bits": "bit", "details": "Sertifikatdetaljer" }, "signature": { @@ -3227,7 +3493,26 @@ "unexpectedError": "Uventet feil: {{message}}", "accountCreatedSuccess": "Konto opprettet! Du kan nå logge inn.", "passwordChangedSuccess": "Passord endret! Logg inn med det nye passordet.", - "credentialsUpdated": "Innloggingsinformasjonen din er oppdatert. Logg inn på nytt." + "credentialsUpdated": "Innloggingsinformasjonen din er oppdatert. Logg inn på nytt.", + "defaultCredentials": "Standard påloggingsopplysninger", + "changePasswordWarning": "Endre passordet ditt etter at du har logget inn for første gang", + "slides": { + "overview": { + "alt": "Stirling PDF-oversikt", + "title": "Alt du trenger for PDF på ett sted.", + "subtitle": "En skyløsning for PDF med personvern i fokus som lar deg konvertere, signere, sladde og administrere dokumenter, samt 50+ andre kraftige verktøy." + }, + "edit": { + "alt": "Rediger PDF-er", + "title": "Rediger PDF-er for å vise/sikre informasjonen du ønsker", + "subtitle": "Med over et dusin verktøy for å sladde, signere, lese og manipulere PDF-er finner du garantert det du trenger." + }, + "secure": { + "alt": "Sikre PDF-er", + "title": "Beskytt sensitiv informasjon i PDF-ene dine", + "subtitle": "Legg til passord, sladd innhold og administrer sertifikater enkelt." + } + } }, "signup": { "title": "Opprett en konto", @@ -3511,7 +3796,7 @@ "1": "Vi bruker informasjonskapsler og andre teknologier for å gjøre Stirling PDF bedre for deg—som hjelper oss å forbedre verktøyene våre og fortsette å bygge funksjoner du vil like.", "2": "If you’d rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly." }, - "acceptAllBtn": "Okay", + "acceptAllBtn": "OK", "acceptNecessaryBtn": "Nei takk", "showPreferencesBtn": "Administrer innstillinger" }, @@ -3598,7 +3883,9 @@ "exportAll": "Eksporter PDF", "downloadSelected": "Last ned valgte filer", "downloadAll": "Last ned alle", + "saveAll": "Lagre alle", "toggleTheme": "Bytt tema", + "toggleBookmarks": "Veksle bokmerker", "language": "Språk", "search": "Søk i PDF", "panMode": "Panoreringsmodus", @@ -3685,8 +3972,16 @@ "saved": "Innstillinger lagret", "saveSuccess": "Innstillinger lagret", "save": "Lagre endringer", + "discard": "Forkast", "restartRequired": "Omstart kreves", "loginRequired": "Innloggingsmodus må være aktivert for å endre admin-innstillinger", + "unsavedChanges": { + "title": "Ulagrede endringer", + "message": "Du har ulagrede endringer. Vil du forkaste dem?", + "cancel": "Fortsett redigering", + "discard": "Forkast endringer", + "hint": "Du har ulagrede endringer" + }, "loginDisabled": { "title": "Innloggingsmodus påkrevd", "message": "Innloggingsmodus må være aktivert for å endre admin-innstillinger. Angi SECURITY_ENABLELOGIN=true i miljøet ditt eller security.enableLogin: true i settings.yml, og start deretter serveren på nytt.", @@ -4132,7 +4427,7 @@ "description": "Maksimal kjøretid" }, "libreOffice": "LibreOffice", - "pdfToHtml": "PDF to HTML", + "pdfToHtml": "PDF til HTML", "qpdf": "QPDF", "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", @@ -4212,9 +4507,21 @@ "title": "Premium og Enterprise", "description": "Konfigurer din premium- eller enterprise-lisensnøkkel.", "license": "Lisenskonfigurasjon", + "licenseKey": { + "toggle": "Har du en lisensnøkkel eller sertifikatfil?", + "info": "Hvis du har en lisensnøkkel eller sertifikatfil fra et direkte kjøp, kan du skrive den inn her for å aktivere premium- eller enterprise-funksjoner." + }, "key": { "label": "Lisensnøkkel", - "description": "Angi din premium- eller enterprise-lisensnøkkel" + "description": "Angi din premium- eller enterprise-lisensnøkkel", + "success": "Lisensnøkkel lagret", + "successMessage": "Lisensnøkkelen din er aktivert. Omstart er ikke nødvendig.", + "overwriteWarning": { + "title": "⚠️ Advarsel: Eksisterende lisens oppdaget", + "line1": "Å overskrive gjeldende lisensnøkkel kan ikke angres.", + "line2": "Den forrige lisensen vil gå tapt permanent med mindre du har sikkerhetskopiert den et annet sted.", + "line3": "Viktig: Hold lisensnøkler private og sikre. Del dem aldri offentlig." + } }, "enabled": { "label": "Aktiver premiumfunksjoner", @@ -4278,12 +4585,17 @@ "or": "eller", "dropFileHere": "Slipp fil her eller klikk for å laste opp", "dropFilesHere": "Slipp filer her eller klikk på opplastingsknappen", + "dropFilesHereOpen": "Slipp filer her eller klikk på Åpne-knappen", "pdfFilesOnly": "Kun PDF-filer", "supportedFileTypes": "Støttede filtyper", "upload": "Last opp", "uploadFile": "Last opp fil", "uploadFiles": "Last opp filer", + "open": "Åpne", + "openFile": "Åpne fil", + "openFiles": "Åpne filer", "noFilesInStorage": "Ingen filer tilgjengelig i lagring. Last opp noen filer først.", + "noFilesInStorageOpen": "Ingen filer tilgjengelig i lagringen. Åpne noen filer først.", "selectFromStorage": "Velg fra lagring", "backToTools": "Tilbake til verktøy", "addFiles": "Legg til filer", @@ -4329,6 +4641,8 @@ "myFiles": "Mine filer", "noRecentFiles": "Ingen nylige filer funnet", "googleDriveNotAvailable": "Google Drive-integrasjon er ikke tilgjengelig", + "downloadSelected": "Last ned valgte", + "saveSelected": "Lagre valgte", "openFiles": "Åpne filer", "openFile": "Åpne fil", "details": "Fildetaljer", @@ -4341,7 +4655,6 @@ "selectAll": "Velg alle", "deselectAll": "Fjern all markering", "deleteSelected": "Slett valgte", - "downloadSelected": "Last ned valgte", "selectedCount": "{{count}} valgt", "download": "Last ned", "delete": "Slett", @@ -4439,7 +4752,7 @@ "keyLength": { "label": "Nøkkellengde for kryptering", "40bit": "40-bit (Lav)", - "128bit": "128-bit (Standard)", + "128bit": "128-bit (standard)", "256bit": "256-bit (Høy)" } }, @@ -4621,9 +4934,14 @@ "secureWorkflow": "Sikkerhetsarbeidsflyt", "secureWorkflowDesc": "Sikrer PDF-dokumenter ved å fjerne potensielt ondsinnet innhold som JavaScript og innebygde filer, og legger deretter til passordbeskyttelse for å hindre uautorisert tilgang. Passordet er satt til 'password' som standard.", "processImages": "Behandle bilder", - "processImagesDesc": "Konverterer flere bildefiler til ett enkelt PDF-dokument, og bruker deretter OCR-teknologi for å trekke ut søkbar tekst fra bildene." + "processImagesDesc": "Konverterer flere bildefiler til ett enkelt PDF-dokument, og bruker deretter OCR-teknologi for å trekke ut søkbar tekst fra bildene.", + "prePublishSanitization": "Sanitering før publisering", + "prePublishSanitizationDesc": "Saniteringsflyt som fjerner all skjult metadata, JavaScript, innebygde filer og merknader, og flater ut skjemaer for å hindre datalekkasje før publisering av PDF-er på nett." } }, + "colorPicker": { + "title": "Velg farge" + }, "common": { "previous": "Forrige", "next": "Neste", @@ -4639,7 +4957,13 @@ "used": "brukt", "available": "tilgjengelig", "cancel": "Avbryt", - "preview": "Forhåndsvis" + "preview": "Forhåndsvis", + "close": "Lukk", + "done": "Ferdig", + "loading": "Laster...", + "back": "Tilbake", + "continue": "Fortsett", + "error": "Feil" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Legg til flere filer...", "selectedFiles": "Valgte filer", "submit": "Legg til vedlegg", + "tooltip": { + "header": { + "title": "Om Legg til vedlegg" + }, + "description": { + "title": "Hva den gjør" + } + }, "results": { "title": "Vedleggsresultater" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Egendefinert posisjon", "details": "Detaljer", - "downloadUnavailable": "Nedlasting ikke tilgjengelig for dette elementet", "invalidUndoData": "Kan ikke angre: ugyldige operasjonsdata", "margin": { "large": "Stor", @@ -4801,6 +5132,10 @@ "maybeLater": "Kanskje senere", "dontShowAgain": "Ikke vis igjen" }, + "welcomeSlide": { + "title": "Velkommen til Stirling", + "body": "Stirling PDF er nå klart for team i alle størrelser. Denne oppdateringen inkluderer et nytt oppsett, kraftige nye admin-funksjoner og vår mest etterspurte funksjon – Rediger tekst." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "La oss velge Beskjær-verktøyet for å demonstrere hvordan du bruker et av verktøyene.", "toolInterface": "Dette er Beskjær-verktøyets grensesnitt. Som du ser, er det ikke mye der fordi vi ikke har lagt til noen PDF-filer å jobbe med ennå.", @@ -4823,7 +5158,39 @@ "next": "Neste", "finish": "Fullfør", "startTour": "Start omvisning", - "startTourDescription": "Ta en guidet tur gjennom Stirling PDF sine nøkkelfunksjoner" + "startTourDescription": "Ta en guidet tur gjennom Stirling PDF sine nøkkelfunksjoner", + "buttons": { + "next": "Neste →", + "back": "Tilbake", + "skipForNow": "Hopp over nå", + "download": "Last ned →", + "showMeAround": "Vis meg rundt", + "skipTheTour": "Hopp over omvisningen" + }, + "serverLicense": { + "skip": "Hopp over nå", + "seePlans": "Se planer →", + "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 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." + }, + "desktopInstall": { + "title": "Last ned", + "titleWithOs": "Last ned for {{osLabel}}", + "body": "Stirling fungerer best som en skrivebordsapp. Du kan bruke den offline, få raskere tilgang til dokumenter og gjøre redigeringer lokalt på datamaskinen." + }, + "planOverview": { + "adminTitle": "Admin-oversikt", + "userTitle": "Planoversikt", + "adminBodyLoginEnabled": "Som admin kan du administrere brukere, konfigurere innstillinger og overvåke serverstatus. De første {{freeTierLimit}} på serveren din kan bruke Stirling gratis.", + "adminBodyLoginDisabled": "Når du aktiverer innloggingsmodus, kan du administrere brukere, konfigurere innstillinger og overvåke serverstatus. De første {{freeTierLimit}} på serveren din kan bruke Stirling gratis.", + "userBody": "Inviter teammedlemmer, tildel roller og hold dokumentene organiserte i et sikkert arbeidsområde. Aktiver innloggingsmodus når du er klar til å vokse utover solobruk." + }, + "securityCheck": { + "message": "Applikasjonen har nylig gjennomgått betydelige endringer. Serveradministratorens oppmerksomhet kan være nødvendig. Bekreft rollen din for å fortsette." + } }, "adminOnboarding": { "welcome": "Velkommen til Administrator-omvisningen! La oss utforske de kraftige bedriftsfunksjonene og innstillingene som er tilgjengelige for systemadministratorer.", @@ -4852,7 +5219,10 @@ "role": "Rolle", "team": "Team", "status": "Status", - "actions": "Handlinger", + "actions": { + "label": "Handlinger", + "upgrade": "Oppgrader" + }, "noMembersFound": "Ingen medlemmer funnet", "active": "Aktiv", "disabled": "Deaktivert", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} brukerplass(er) tilgjengelig", "noSlotsAvailable": "Ingen plasser tilgjengelig", "currentUsage": "Bruker for tiden {{current}} av {{max}} brukerlisenser" - } + }, + "loginRequired": "Aktiver innloggingsmodus først" }, "teams": { "title": "Team", @@ -5057,6 +5428,17 @@ "showComparison": "Sammenlign alle funksjoner", "hideComparison": "Skjul funksjonssammenligning", "featureComparison": "Funksjonssammenligning", + "from": "Fra", + "perMonth": "/måned", + "perSeat": "/plass", + "withServer": "+ Server-plan", + "licensedSeats": "Lisensiert: {{count}} plasser", + "includedInCurrent": "Inkludert i planen din", + "selectPlan": "Velg plan", + "manage": "Administrer", + "manageSubscription": { + "description": "Administrer abonnement, fakturering og betalingsmetoder" + }, "activePlan": { "title": "Aktiv plan", "subtitle": "Detaljer om ditt nåværende abonnement" @@ -5074,13 +5456,16 @@ "upTo": "Opptil" }, "period": { - "month": "måned" + "month": "måned", + "perUserPerMonth": "/bruker/måned" }, "free": { "name": "Gratis", "highlight1": "Begrenset verktøybruk per uke", "highlight2": "Tilgang til alle verktøy", - "highlight3": "Fellesskapsstøtte" + "highlight3": "Fellesskapsstøtte", + "forever": "Gratis for alltid", + "included": "Inkludert" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Tilpasset prising", "highlight2": "Dedikert støtte", - "highlight3": "Nyeste funksjoner" + "highlight3": "Nyeste funksjoner", + "requiresServer": "Krever server", + "requiresServerMessage": "Oppgrader til Server-planen først før du oppgraderer til Enterprise." }, "feature": { "title": "Funksjon", @@ -5102,6 +5489,12 @@ "api": "API-tilgang", "priority": "Prioritert støtte", "customPricing": "Tilpasset prising" + }, + "licenseWarning": { + "title": "Grense for gratis selvhostet nådd", + "body": "Du har {{total}} brukere, men gratistier støtter bare {{limit}} per server. Oppgrader for å holde Stirling PDF i gang uten problemer.", + "overLimit": "mer enn {{limit}}", + "cta": "Se planer" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Administrer fakturering", "portal": { "error": "Kunne ikke åpne faktureringsportalen" - } + }, + "updateSeats": "Oppdater plasser", + "updateEnterpriseSeats": "Oppdater Enterprise-plasser", + "currentSeats": "Nåværende plasser", + "minimumSeats": "Minste antall plasser", + "basedOnUsers": "(nåværende brukere)", + "newSeatCount": "Nytt antall plasser", + "newSeatCountDescription": "Velg antall plasser for Enterprise-lisensen", + "whatHappensNext": "Hva skjer videre?", + "stripePortalRedirect": "Du blir omdirigert til Stripes fakturaportal for å gjennomgå og bekrefte endringen. Prisforhold beregnes automatisk.", + "preparingUpdate": "Forbereder oppdatering av plasser...", + "seatCountTooLow": "Antall plasser må være minst {{minimum}} (nåværende antall brukere)", + "seatCountUnchanged": "Velg et annet antall plasser", + "seatsUpdated": "Plasser oppdatert", + "seatsUpdatedMessage": "Enterprise-plassene dine er oppdatert til {{seats}}", + "updateProcessing": "Oppdatering behandles", + "updateProcessingMessage": "Oppdateringen av plasser behandles. Oppdater om et øyeblikk.", + "notEnterprise": "Plassadministrasjon er bare tilgjengelig for Enterprise-lisenser" + }, + "upgradeBanner": { + "title": "Oppgrader til Server-planen", + "message": "Få mest mulig ut av Stirling PDF med ubegrensede brukere og avanserte funksjoner", + "upgradeButton": "Oppgrader nå", + "dismiss": "Avvis banner", + "attentionTitle": "Denne serveren trenger admin-oppmerksomhet", + "attentionBody": "Adminen din må logge inn for å se mer info. Kontakt dem umiddelbart.", + "attentionBodyAdmin": "Gå gjennom lisenskravene for å holde denne serveren i samsvar.", + "seeInfo": "Se info" }, "payment": { "preparing": "Forbereder kassen...", @@ -5128,7 +5548,61 @@ "success": "Betaling vellykket!", "successMessage": "Abonnementet ditt er aktivert. Du vil snart motta en bekreftelses-e-post.", "autoClose": "Dette vinduet lukkes automatisk...", - "error": "Betalingsfeil" + "error": "Betalingsfeil", + "upgradeSuccess": "Betaling vellykket! Abonnementet ditt er oppgradert. Lisensen er oppdatert på serveren din. Du mottar snart en bekreftelses-e-post.", + "paymentSuccess": "Betaling vellykket! Henter lisensnøkkelen din...", + "licenseActivated": "Lisens aktivert! Lisensnøkkelen er lagret. En bekreftelse er sendt til den registrerte e-posten din.", + "licenseDelayed": "Betaling vellykket! Lisensen din genereres. Du mottar snart en e-post med lisensnøkkelen. Kontakt support hvis du ikke mottar den innen 10 minutter.", + "licensePollingError": "Betaling vellykket, men vi kunne ikke hente lisensnøkkelen automatisk. Sjekk e-posten din eller kontakt support med betalingsbekreftelsen.", + "licenseRetrievalError": "Betaling vellykket, men henting av lisens mislyktes. Du får lisensnøkkelen via e-post. Kontakt support hvis du ikke mottar den innen 10 minutter.", + "syncError": "Betaling vellykket, men lisenssynk mislyktes. Lisensen oppdateres snart. Kontakt support hvis problemet vedvarer.", + "licenseSaveError": "Kunne ikke lagre lisensnøkkel. Kontakt support med lisensnøkkelen din for å fullføre aktiveringen.", + "paymentCanceled": "Betalingen ble avbrutt. Ingen kostnader påløp.", + "syncingLicense": "Synkroniserer den oppgraderte lisensen...", + "generatingLicense": "Genererer lisensnøkkel...", + "upgradeComplete": "Oppgradering fullført", + "upgradeCompleteMessage": "Abonnementet ditt er oppgradert. Den eksisterende lisensnøkkelen er oppdatert.", + "stripeNotConfigured": "Stripe ikke konfigurert", + "stripeNotConfiguredMessage": "Stripe-betalingsintegrasjon er ikke konfigurert. Kontakt administratoren din.", + "monthly": "Månedlig", + "yearly": "Årlig", + "billingPeriod": "Faktureringsperiode", + "enterpriseNote": "Plasser kan justeres i kassen (1–1000).", + "installationId": "Installasjons-ID", + "licenseKey": "Lisensnøkkelen din", + "licenseInstructions": "Dette er lagt til i installasjonen din. Du får også en kopi på e-post.", + "canCloseWindow": "Du kan nå lukke dette vinduet.", + "licenseKeyProcessing": "Behandler lisensnøkkel", + "licenseDelayedMessage": "Lisensnøkkelen genereres. Sjekk e-posten din snart eller kontakt support.", + "perYear": "/år", + "perMonth": "/måned", + "emailInvalid": "Angi en gyldig e-postadresse", + "emailStage": { + "title": "Skriv inn e-posten din", + "description": "Vi bruker denne til å sende lisensnøkkelen og kvitteringer.", + "emailLabel": "E-postadresse", + "emailPlaceholder": "din@email.com", + "continue": "Fortsett", + "modalTitle": "Kom i gang – {{planName}}" + }, + "planStage": { + "title": "Velg faktureringsperiode", + "savingsNote": "Spar {{percent}}% med årlig fakturering", + "basePrice": "Grunnpris", + "seatPrice": "Per plass", + "totalForSeats": "Totalt ({{count}} plasser)", + "selectMonthly": "Velg månedlig", + "selectYearly": "Velg årlig", + "savePercent": "Spar {{percent}}%", + "savingsAmount": "Du sparer {{amount}}", + "modalTitle": "Velg faktureringsperiode – {{planName}}", + "billedYearly": "Faktureres årlig med {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Tilbake til planvalg", + "selectedPlan": "Valgt plan", + "modalTitle": "Fullfør betaling – {{planName}}" + } }, "firstLogin": { "title": "Første innlogging", @@ -5287,5 +5761,281 @@ "offline": "Backend offline", "starting": "Backend starter opp...", "wait": "Vent til backend er ferdig med å starte, og prøv igjen." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Lås opp PDF for å fortsette", + "title": "Fjern passord for å fortsette", + "description": "Denne PDF-en er passordbeskyttet. Skriv inn passordet for å fortsette å jobbe med den.", + "password": { + "label": "PDF-passord", + "placeholder": "Skriv inn PDF-passordet" + }, + "skip": "Hopp over nå", + "unlock": "Lås opp og fortsett", + "incorrectPassword": "Feil passord", + "missingFile": "Den valgte filen er ikke lenger tilgjengelig.", + "emptyResponse": "Fjerning av passord produserte ikke en fil.", + "required": "Angi passord for å fortsette.", + "successTitle": "Passord fjernet", + "successBodyWithName": "Passord fjernet fra {{fileName}}", + "successBody": "Passord fjernet." + }, + "setup": { + "welcome": "Velkommen til Stirling PDF", + "description": "Kom i gang ved å velge hvordan du vil bruke Stirling PDF", + "step1": { + "label": "Velg modus", + "description": "Offline eller server" + }, + "step2": { + "label": "Velg server", + "description": "Selvhostet server" + }, + "step3": { + "label": "Logg inn", + "description": "Oppgi legitimasjon" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Logg inn med Stirling-kontoen din" + }, + "selfhosted": { + "title": "Selvhostet server", + "description": "Koble til din egen Stirling PDF-server" + } + }, + "saas": { + "title": "Logg inn i Stirling", + "subtitle": "Logg inn med Stirling-kontoen din" + }, + "selfhosted": { + "title": "Logg inn på server", + "subtitle": "Oppgi serverlegitimasjonen din" + }, + "server": { + "title": "Koble til server", + "subtitle": "Skriv inn URL-en til din selvhostede server", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Selvhostet server" + }, + "url": { + "label": "Server-URL", + "description": "Skriv inn full URL til din selvhostede Stirling PDF-server" + }, + "error": { + "emptyUrl": "Skriv inn en server-URL", + "unreachable": "Kunne ikke koble til server", + "testFailed": "Tilkoblingstest mislyktes" + }, + "testing": "Tester tilkobling..." + }, + "login": { + "title": "Logg inn", + "subtitle": "Skriv inn legitimasjonen din for å fortsette", + "connectingTo": "Kobler til:", + "username": { + "label": "Brukernavn", + "placeholder": "Skriv inn brukernavnet ditt" + }, + "email": { + "label": "E-post", + "placeholder": "Skriv inn e-posten din" + }, + "password": { + "label": "Passord", + "placeholder": "Skriv inn passordet ditt" + }, + "error": { + "emptyUsername": "Skriv inn brukernavnet ditt", + "emptyEmail": "Skriv inn e-posten din", + "emptyPassword": "Skriv inn passordet ditt", + "oauthFailed": "OAuth-innlogging mislyktes. Prøv igjen." + }, + "submit": "Logg inn", + "signInWith": "Logg inn med", + "oauthPending": "Åpner nettleser for autentisering...", + "orContinueWith": "Eller fortsett med e-post" + } + }, + "oauth": { + "success": { + "title": "Autentisering vellykket", + "message": "Du kan lukke dette vinduet og gå tilbake til Stirling PDF." + }, + "error": { + "title": "Autentisering mislyktes", + "message": "Autentiseringen var ikke vellykket. Du kan lukke dette vinduet og prøve igjen." + } + }, + "pdfTextEditor": { + "title": "PDF JSON-redigerer", + "viewLabel": "PDF-redigerer", + "converting": "Konverterer PDF til redigerbart format...", + "conversionFailed": "Kunne ikke konvertere PDF. Prøv igjen.", + "currentFile": "Gjeldende fil: {{name}}", + "pageSummary": "Side {{number}} av {{total}}", + "pagePreviewAlt": "Forhåndsvisning av side", + "imageLabel": "Plassert bilde", + "noTextOnPage": "Ingen redigerbar tekst ble oppdaget på denne siden.", + "pageType": { + "paragraph": "Avsnittsside", + "sparse": "Sparsom tekst" + }, + "groupingMode": { + "auto": "Auto", + "paragraph": "Avsnitt", + "singleLine": "Én linje" + }, + "badges": { + "unsaved": "Redigert", + "modified": "Redigert", + "earlyAccess": "Tidlig tilgang" + }, + "actions": { + "reset": "Tilbakestill endringer", + "downloadJson": "Last ned JSON", + "generatePdf": "Generer PDF" + }, + "options": { + "autoScaleText": { + "title": "Autoskalere tekst til å passe i bokser", + "description": "Skalerer automatisk teksten horisontalt for å passe i sin opprinnelige avgrensningsboks når skriftrendering avviker fra PDF-en." + }, + "groupingMode": { + "title": "Tekstgrupperingsmodus", + "autoDescription": "Oppdager automatisk sidetype og grupperer tekst hensiktsmessig.", + "paragraphDescription": "Grupperer justerte linjer til flerlinjede avsnittstekstbokser.", + "singleLineDescription": "Beholder hver PDF-tekstlinje som en egen tekstboks." + }, + "manualGrouping": { + "descriptionInline": "Tips: Hold Ctrl (Cmd) eller Shift for å multivelge tekstbokser. En flytende verktøylinje vises over utvalget slik at du kan slå sammen, oppheve gruppering eller justere bredder." + }, + "forceSingleElement": { + "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." + } + }, + "manual": { + "mergeTooltip": "Slå sammen valgte bokser", + "merge": "Slå sammen utvalg", + "ungroupTooltip": "Del avsnitt tilbake til linjer", + "ungroup": "Opphev gruppering av utvalg", + "widthMenu": "Breddealternativer", + "expandWidth": "Utvid til sidekant", + "resetWidth": "Tilbakestill bredde", + "resizeHandle": "Juster tekstbredde" + }, + "disclaimer": { + "heading": "Begrensninger i forhåndsvisning", + "textFocus": "Dette arbeidsområdet fokuserer på å redigere tekst og flytte innebygde bilder. Kompleks sidegrafikk, skjemawidgets og lagdelte grafiske elementer bevares for eksport, men er ikke fullt redigerbare her.", + "previewVariance": "Noen visuelle elementer (som tabellkanter, former eller merknaders utseende) kan avvike i forhåndsvisningen. Den eksporterte PDF-en beholder de opprinnelige tegnekommandoene når det er mulig.", + "alpha": "Denne alfa-visningen er fortsatt under utvikling—visse skrifttyper, farger, gjennomsiktighetseffekter og layoutelementer kan endres litt. Kontroller den genererte PDF-en før deling." + }, + "empty": { + "title": "Ingen dokument lastet inn", + "subtitle": "Last inn en PDF- eller JSON-fil for å begynne å redigere tekstinnhold." + }, + "welcomeBanner": { + "title": "Velkommen til PDF Text Editor (Tidlig tilgang)", + "experimental": "Dette er en eksperimentell funksjon i aktiv utvikling. Forvent noe ustabilitet og problemer under bruk.", + "howItWorks": "Dette verktøyet konverterer PDF-en til et redigerbart format der du kan endre tekstinnhold og flytte bilder. Endringer lagres tilbake som en ny PDF.", + "bestFor": "Fungerer best med:", + "bestFor1": "Enkle PDF-er som hovedsakelig inneholder tekst og bilder", + "bestFor2": "Dokumenter med standard avsnittsformatering", + "bestFor3": "Brev, essays, rapporter og grunnleggende dokumenter", + "notIdealFor": "Ikke ideell for:", + "notIdealFor1": "PDF-er med spesiell formatering som punktlister, tabeller eller flerkolonneoppsett", + "notIdealFor2": "Magasiner, brosjyrer eller tungt designede dokumenter", + "notIdealFor3": "Brukerhåndbøker med komplekse oppsett", + "limitations": "Gjeldende begrensninger:", + "limitation1": "Skriftgjengivelse kan avvike litt fra den opprinnelige PDF-en", + "limitation2": "Kompleks grafikk, skjemafelt og merknader bevares men er ikke redigerbare", + "limitation3": "Store filer kan ta tid å konvertere og behandle", + "knownIssues": "Kjente problemer (under utbedring):", + "issue1": "Tekstfarge bevares ikke for øyeblikket (kommer snart)", + "issue2": "Avsnittsmodus har flere justerings- og avstandsproblemer – Enkeltlinje-modus anbefales", + "issue3": "Forhåndsvisningen kan avvike fra den eksporterte PDF-en – eksporterte PDF-er er nærmere originalen", + "issue4": "Roterte tekster kan trenge manuell justering", + "issue5": "Gjennomsiktighet og lagdelte effekter kan avvike fra originalen", + "feedback": "Dette er en tidlig tilgang-funksjon. Rapporter gjerne eventuelle problemer du møter for å hjelpe oss å forbedre oss!", + "gotIt": "Forstått", + "dontShowAgain": "Ikke vis igjen" + }, + "modeChange": { + "title": "Bekreft modusendring", + "warning": "Å endre tekstgrupperingsmodus vil tilbakestille alle ulagrede endringer. Er du sikker på at du vil fortsette?", + "cancel": "Avbryt", + "confirm": "Tilbakestill og bytt modus" + }, + "fontAnalysis": { + "details": "Skriftdetaljer", + "embedded": "Innebygd", + "type": "Type", + "webFormat": "Web-format", + "warnings": "Advarsler", + "suggestions": "Merknader", + "currentPageFonts": "Skrifter på denne siden", + "allFonts": "Alle skrifter", + "fallback": "reserve", + "missing": "mangler", + "perfectMessage": "Alle skrifter kan gjengis perfekt.", + "warningMessage": "Noen skrifter kan ikke gjengis riktig.", + "infoMessage": "Informasjon om skriftgjengivelse er tilgjengelig.", + "perfect": "perfekt", + "subset": "delsett" + }, + "errors": { + "invalidJson": "Kan ikke lese JSON-filen. Sørg for at den ble generert av PDF til JSON-verktøyet.", + "pdfConversion": "Kan ikke konvertere den redigerte JSON-en tilbake til en PDF." + } + }, + "auth": { + "sessionExpired": "Økten er utløpt", + "pleaseLoginAgain": "Logg inn igjen.", + "accessDenied": "Tilgang nektet", + "insufficientPermissions": "Du har ikke tillatelse til å utføre denne handlingen." + }, + "addText": { + "title": "Legg til tekst", + "header": "Legg til tekst i PDF-er", + "text": { + "name": "Tekstinnhold", + "placeholder": "Skriv inn teksten du vil legge til", + "fontLabel": "Skrifttype", + "fontSizeLabel": "Skriftstørrelse", + "fontSizePlaceholder": "Skriv eller velg skriftstørrelse (8-200)", + "colorLabel": "Tekstfarge" + }, + "steps": { + "configure": "Konfigurer tekst" + }, + "step": { + "createDesc": "Skriv inn teksten du vil legge til", + "place": "Plasser tekst", + "placeDesc": "Klikk på PDF-en for å legge til teksten" + }, + "instructions": { + "title": "Slik legger du til tekst", + "text": "Etter at du har skrevet inn teksten over, klikk hvor som helst på PDF-en for å plassere den.", + "paused": "Plassering pausert", + "resumeHint": "Gjenoppta plassering for å klikke og legge til teksten.", + "noSignature": "Skriv inn tekst over for å aktivere plassering." + }, + "mode": { + "move": "Flytt tekst", + "place": "Plasser tekst", + "pause": "Pause plassering", + "resume": "Gjenoppta plassering" + }, + "results": { + "title": "Resultater for Legg til tekst" + }, + "error": { + "failed": "Det oppsto en feil da tekst skulle legges til i PDF-en." + }, + "tags": "tekst,merknad,etikett", + "applySignatures": "Bruk tekst" } } \ No newline at end of file diff --git a/frontend/public/locales/pl-PL/translation.json b/frontend/public/locales/pl-PL/translation.json index 439d26262..1fb23d064 100644 --- a/frontend/public/locales/pl-PL/translation.json +++ b/frontend/public/locales/pl-PL/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Wkrótce:", "favorite": "Dodaj do ulubionych", "favorites": "Ulubione", + "unavailable": "Wyłączone przez administratora serwera:", + "unavailableDependency": "Niedostępne – brakuje wymaganego narzędzia na serwerze:", "heading": "Wszystkie narzędzia (widok pełnoekranowy)", "noResults": "Spróbuj dostosować wyszukiwanie lub przełącz opisy, aby znaleźć to, czego potrzebujesz.", "recommended": "Zalecane", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Przełącz na tryb pełnoekranowy", "sidebar": "Przełącz na tryb paska bocznego" - } + }, + "alpha": "Alpha", + "premiumFeature": "Funkcja premium:", + "comingSoon": "Wkrótce:" }, "unsavedChanges": "Masz niezapisane zmiany w swoim PDF.", "areYouSure": "Na pewno chcesz wyjść?", @@ -41,6 +46,30 @@ "cancel": "Anuluj", "confirm": "Rozpakuj" }, + "defaultApp": { + "title": "Ustaw jako domyślną aplikację PDF", + "message": "Czy chcesz ustawić Stirling PDF jako domyślny edytor PDF?", + "description": "Możesz to zmienić później w ustawieniach systemu.", + "notNow": "Nie teraz", + "setDefault": "Ustaw domyślne", + "dismiss": "Zamknij", + "prompt": { + "title": "Ustaw jako domyślny edytor PDF", + "message": "Ustaw Stirling PDF jako domyślną aplikację do otwierania plików PDF." + }, + "success": { + "title": "Ustawiono domyślną aplikację", + "message": "Stirling PDF jest teraz domyślnym edytorem PDF" + }, + "settingsOpened": { + "title": "Otworzono ustawienia", + "message": "Wybierz Stirling PDF w ustawieniach systemu" + }, + "error": { + "title": "Błąd", + "message": "Nie udało się ustawić domyślnej obsługi PDF" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Zapisz", "saveToBrowser": "Zapisz w przeglądarce", "download": "Pobierz", + "downloadUnavailable": "Pobieranie niedostępne dla tego elementu", + "saveUnavailable": "Zapisywanie niedostępne dla tego elementu", "pin": "Przypnij plik (pozostaw aktywny po uruchomieniu narzędzia)", "unpin": "Odepnij plik (zastąp po uruchomieniu narzędzia)", "undoOperationTooltip": "Kliknij, aby cofnąć ostatnią operację i przywrócić oryginalne pliki", @@ -168,6 +199,7 @@ }, "edit": "Edytuj", "delete": "usuń", + "never": "Nigdy", "username": "nazwa użytkownika", "password": "hasło", "welcome": "Witaj", @@ -262,7 +294,8 @@ "learnMore": "Dowiedz się więcej", "enable": "Włącz analitykę", "disable": "Wyłącz analitykę", - "settings": "Możesz zmienić ustawienia analityki w pliku config/settings.yml" + "settings": "Możesz zmienić ustawienia analityki w pliku config/settings.yml", + "privacyAssurance": "Nie śledzimy danych osobowych ani zawartości Twoich plików." }, "navbar": { "favorite": "Ulubione", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Ustawienia", - "update": "Dostępna aktualizacja", - "updateAvailable": "Wersja {0} jest obecenia zainstalowana, dostępna jest nowa wersja ({1}).", - "appVersion": "Wersja aplikacji:", - "downloadOption": { - "title": "Wybierz opcję pobierania (w przypadku pobierania pojedynczych plików innych niż ZIP):", - "1": "Otwórz w tym samym oknie", - "2": "Otwórz w nowym oknie", - "3": "Pobierz plik" - }, - "zipThreshold": "Spakuj pliki, gdy liczba pobranych plików przekroczy", - "signOut": "Wyloguj", - "accountSettings": "Ustawienia konta", - "bored": { - "help": "Włącz easter-egg" - }, - "cacheInputs": { - "name": "Zapisz dane formularzy", - "help": "Włącz aby zapisać dane dla przyszłych automatyzacji" + "connection": { + "title": "Tryb połączenia", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Własny serwer" + }, + "server": "Serwer", + "user": "Zalogowano jako", + "logout": "Wyloguj" }, "general": { "title": "Ogólne", "description": "Skonfiguruj ogólne ustawienia aplikacji.", - "account": "Konto", - "accountDescription": "Zarządzaj ustawieniami konta", "user": "Użytkownik", - "signedInAs": "Zalogowano jako", "logout": "Wyloguj się", "enableFeatures": { + "dismiss": "Zamknij", "title": "Dla administratorów systemu", "intro": "Włącz uwierzytelnianie użytkowników, zarządzanie zespołem i funkcje przestrzeni roboczej dla swojej organizacji.", "action": "Skonfiguruj", "and": "i", "benefit": "Umożliwia role użytkowników, współpracę zespołową, kontrolę administratora i funkcje korporacyjne.", - "learnMore": "Więcej w dokumentacji", - "dismiss": "Zamknij" + "learnMore": "Więcej w dokumentacji" }, - "autoUnzip": "Automatycznie rozpakowuj odpowiedzi API", - "autoUnzipDescription": "Automatycznie rozpakowuj pliki z odpowiedzi ZIP", - "autoUnzipTooltip": "Automatycznie rozpakowuje pliki ZIP zwracane przez operacje API. Wyłącz, aby zachować pliki ZIP w stanie nienaruszonym. Nie wpływa to na przepływy automatyzacji.", - "autoUnzipFileLimit": "Limit automatycznego rozpakowywania", - "autoUnzipFileLimitDescription": "Maksymalna liczba plików do wyodrębnienia z ZIP", - "autoUnzipFileLimitTooltip": "Rozpakowuj tylko, jeśli ZIP zawiera nie więcej niż tyle plików. Ustaw wyżej, aby rozpakowywać większe archiwa ZIP.", "defaultToolPickerMode": "Domyślny tryb wyboru narzędzi", "defaultToolPickerModeDescription": "Wybierz, czy selektor narzędzi domyślnie otwiera się w trybie pełnoekranowym czy w pasku bocznym", "mode": { - "fullscreen": "Pełny ekran", - "sidebar": "Pasek boczny" - } + "sidebar": "Pasek boczny", + "fullscreen": "Pełny ekran" + }, + "autoUnzipTooltip": "Automatycznie rozpakowuje pliki ZIP zwracane przez operacje API. Wyłącz, aby zachować pliki ZIP w stanie nienaruszonym. Nie wpływa to na przepływy automatyzacji.", + "autoUnzip": "Automatycznie rozpakowuj odpowiedzi API", + "autoUnzipDescription": "Automatycznie rozpakowuj pliki z odpowiedzi ZIP", + "autoUnzipFileLimitTooltip": "Rozpakowuj tylko, jeśli ZIP zawiera nie więcej niż tyle plików. Ustaw wyżej, aby rozpakowywać większe archiwa ZIP.", + "autoUnzipFileLimit": "Limit automatycznego rozpakowywania", + "autoUnzipFileLimitDescription": "Maksymalna liczba plików do wyodrębnienia z ZIP", + "defaultPdfEditor": "Domyślny edytor PDF", + "defaultPdfEditorActive": "Stirling PDF jest Twoim domyślnym edytorem PDF", + "defaultPdfEditorInactive": "Inna aplikacja jest ustawiona jako domyślna", + "defaultPdfEditorChecking": "Sprawdzanie...", + "defaultPdfEditorSet": "Już domyślny", + "setAsDefault": "Ustaw jako domyślne", + "updates": { + "title": "Aktualizacje oprogramowania", + "description": "Sprawdź aktualizacje i informacje o wersji", + "currentVersion": "Bieżąca wersja", + "latestVersion": "Najnowsza wersja", + "checkForUpdates": "Sprawdź aktualizacje", + "viewDetails": "Pokaż szczegóły" + }, + "hideUnavailableTools": "Ukryj niedostępne narzędzia", + "hideUnavailableToolsDescription": "Usuń narzędzia wyłączone na serwerze zamiast wyświetlać je wyszarzone.", + "hideUnavailableConversions": "Ukryj niedostępne konwersje", + "hideUnavailableConversionsDescription": "Usuń wyłączone opcje konwersji w narzędziu Konwertuj zamiast wyświetlać je wyszarzone." }, "hotkeys": { - "title": "Skróty klawiaturowe", - "description": "Najedź na narzędzie, aby zobaczyć jego skrót, lub dostosuj go poniżej. Kliknij \"Zmień skrót\" i naciśnij nową kombinację klawiszy. Naciśnij Esc, aby anulować.", - "errorModifier": { - "mac": "Dołącz ⌘ (Command), ⌥ (Option) lub inny modyfikator do skrótu.", - "windows": "Dołącz Ctrl, Alt albo inny modyfikator do skrótu." - }, "errorConflict": "Skrót już używany przez {{tool}}.", + "searchPlaceholder": "Szukaj narzędzi...", "none": "Nieprzypisany", "customBadge": "Własny", "defaultLabel": "Domyślny: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Zmień skrót", "reset": "Resetuj", "shortcut": "Skrót", - "noShortcut": "Nie ustawiono skrótu", - "searchPlaceholder": "Szukaj narzędzi..." + "noShortcut": "Nie ustawiono skrótu" } }, + "update": { + "modalTitle": "Dostępna aktualizacja", + "current": "Bieżąca wersja", + "latest": "Najnowsza wersja", + "latestStable": "Najnowsza stabilna", + "priorityLabel": "Priorytet", + "recommendedAction": "Zalecane działanie", + "breakingChangesDetected": "Wykryto zmiany niekompatybilne", + "breakingChangesMessage": "Niektóre wersje zawierają zmiany niekompatybilne. Przejrzyj poniższe przewodniki migracji przed aktualizacją.", + "migrationGuides": "Przewodniki migracji", + "viewGuide": "Zobacz przewodnik", + "loadingDetailedInfo": "Wczytywanie szczegółowych informacji...", + "close": "Zamknij", + "viewAllReleases": "Zobacz wszystkie wydania", + "downloadLatest": "Pobierz najnowszą", + "availableUpdates": "Dostępne aktualizacje", + "unableToLoadDetails": "Nie można wczytać szczegółowych informacji.", + "version": "Wersja", + "urgentUpdateAvailable": "Pilna aktualizacja", + "updateAvailable": "Dostępna aktualizacja", + "releaseNotes": "Informacje o wydaniu", + "priority": { + "urgent": "Pilny", + "normal": "Normalny", + "minor": "Drobny", + "low": "Niski" + }, + "breakingChanges": "Zmiany niekompatybilne", + "breakingChangesDefault": "Ta wersja zawiera zmiany niekompatybilne.", + "migrationGuide": "Przewodnik migracji" + }, "changeCreds": { "title": "Zmień dane logowania", "header": "Zmień dane konta", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Nakłada dokumenty PDF na siebie", "title": "Nałóż PDFa" + }, + "pdfTextEditor": { + "title": "Edytor tekstu PDF", + "desc": "Przeglądaj i edytuj eksporty JSON z Stirling PDF z grupową edycją tekstu i ponowną generacją PDF" + }, + "addText": { + "tags": "tekst,adnotacja,etykieta", + "title": "Dodaj tekst", + "desc": "Dodaj własny tekst w dowolnym miejscu w PDF" } }, "landing": { "addFiles": "Dodaj pliki", - "uploadFromComputer": "Prześlij z komputera" + "uploadFromComputer": "Prześlij z komputera", + "openFromComputer": "Otwórz z komputera" }, "viewPdf": { "tags": "wyświetl,czytaj,adnotuj,tekst,obraz", @@ -849,6 +922,11 @@ }, "error": { "failed": "Wystąpił błąd podczas scalania plików PDF." + }, + "tooltip": { + "header": { + "title": "Przegląd ustawień łączenia" + } } }, "split": { @@ -1182,9 +1260,43 @@ "tags": "img,jpg,obraz,zdjęcie", "title": "Dodaj obraz", "header": "Dodaj obraz do PDF", - "everyPage": "Każda strona?", - "upload": "Dodaj obraz", - "submit": "Dodaj obraz" + "image": { + "name": "Obraz", + "placeholder": "Prześlij obraz", + "label": "Plik obrazu" + }, + "steps": { + "configure": "Skonfiguruj obraz" + }, + "step": { + "createDesc": "Prześlij obraz, który chcesz dodać", + "place": "Umieść obraz", + "placeDesc": "Kliknij w PDF, aby dodać obraz" + }, + "instructions": { + "title": "Jak dodawać obrazy", + "text": "Po przesłaniu obrazu kliknij w dowolne miejsce w PDF, aby go umieścić.", + "paused": "Wstrzymano umieszczanie", + "resumeHint": "Wznów umieszczanie, aby kliknąć i dodać obraz.", + "noSignature": "Prześlij obraz powyżej, aby włączyć umieszczanie." + }, + "mode": { + "move": "Przesuń obraz", + "place": "Umieść obraz", + "pause": "Wstrzymaj umieszczanie", + "resume": "Wznów umieszczanie" + }, + "results": { + "title": "Wyniki dodawania obrazu" + }, + "error": { + "failed": "Wystąpił błąd podczas dodawania obrazu do PDF." + }, + "saved": { + "defaultLabel": "Obraz", + "defaultImageLabel": "Przesłany obraz" + }, + "applySignatures": "Zastosuj obrazy" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1397,6 +1509,93 @@ }, "submit": "Zmień" }, + "editTableOfContents": { + "settings": { + "title": "Zakładki i konspekt", + "replaceExisting": "Zastąp istniejące zakładki (odznacz, aby dołączyć)", + "replaceExistingHint": "Gdy wyłączone, nowy konspekt zostanie dołączony po bieżących zakładkach." + }, + "actions": { + "source": "Wczytaj zakładki", + "selectedFile": "Wczytano z {{file}}", + "noFile": "Wybierz PDF, aby wyodrębnić istniejące zakładki.", + "loadFromPdf": "Wczytaj z wybranego PDF", + "importJson": "Importuj JSON", + "importClipboard": "Wklej JSON ze schowka", + "export": "Eksportuj zakładki", + "exportJson": "Pobierz JSON", + "exportClipboard": "Kopiuj JSON do schowka", + "clipboardUnavailable": "Dostęp do schowka nie jest dostępny w tej przeglądarce." + }, + "info": { + "line1": "Każda zakładka wymaga opisowego tytułu i numeru strony, którą ma otwierać.", + "line2": "Używaj zakładek podrzędnych, aby budować hierarchię rozdziałów, sekcji i podsekcji.", + "line3": "Aby zaoszczędzić czas, zaimportuj zakładki z wybranego PDF lub pliku JSON." + }, + "workbench": { + "empty": { + "title": "Otwórz narzędzie, aby rozpocząć edycję", + "description": "Wybierz narzędzie Edytuj spis treści, aby wczytać jego obszar roboczy." + }, + "tabTitle": "Obszar pracy konspektu", + "subtitle": "Importuj zakładki, twórz hierarchie i zastosuj konspekt bez ciasnych paneli bocznych.", + "noFile": "Nie wybrano PDF", + "fileLabel": "Zmiany zostaną zastosowane do aktualnie wybranego PDF.", + "filePrompt": "Wybierz PDF z biblioteki lub prześlij nowy, aby rozpocząć.", + "changeFile": "Zmień PDF", + "selectFile": "Wybierz PDF" + }, + "editor": { + "heading": "Edytor zakładek", + "description": "Dodawaj, zagnieżdżaj i porządkuj zakładki, aby tworzyć konspekt PDF.", + "addTopLevel": "Dodaj zakładkę najwyższego poziomu", + "empty": { + "title": "Brak zakładek", + "description": "Zaimportuj istniejące zakładki lub dodaj pierwszą pozycję.", + "action": "Dodaj pierwszą zakładkę" + }, + "defaultTitle": "Nowa zakładka", + "defaultChildTitle": "Zakładka podrzędna", + "defaultSiblingTitle": "Nowa zakładka", + "untitled": "Zakładka bez tytułu", + "childBadge": "Podrzędna", + "pagePreview": "Strona {{page}}", + "field": { + "title": "Tytuł zakładki", + "page": "Docelowy numer strony" + }, + "actions": { + "toggle": "Przełącz podrzędne", + "addChild": "Dodaj zakładkę podrzędną", + "addSibling": "Dodaj zakładkę równorzędną", + "remove": "Usuń zakładkę" + }, + "confirmRemove": "Usunąć tę zakładkę i wszystkie jej podrzędne?" + }, + "messages": { + "loadedTitle": "Wyodrębniono zakładki", + "loadedBody": "Istniejące zakładki z PDF wczytano do edytora.", + "noBookmarks": "W wybranym PDF nie znaleziono zakładek.", + "loadFailed": "Nie można wyodrębnić zakładek z wybranego PDF.", + "imported": "Zaimportowano zakładki", + "importedBody": "Twój konspekt JSON zastąpił bieżącą zawartość edytora.", + "importedClipboard": "Dane ze schowka zastąpiły bieżącą listę zakładek.", + "invalidJson": "Nieprawidłowa struktura JSON", + "invalidJsonBody": "Podaj prawidłowy plik JSON zakładek i spróbuj ponownie.", + "exported": "Pobieranie JSON gotowe", + "copied": "Skopiowano do schowka", + "copiedBody": "Pomyślnie skopiowano JSON zakładek.", + "copyFailed": "Kopiowanie nie powiodło się" + }, + "error": { + "failed": "Nie udało się zaktualizować spisu treści" + }, + "submit": "Zastosuj spis treści", + "results": { + "title": "Zaktualizowany PDF z zakładkami", + "subtitle": "Pobierz przetworzony plik lub cofnij operację poniżej." + } + }, "removePages": { "tags": "Usuń strony,usuwaj strony", "title": "Usuń", @@ -1601,7 +1800,7 @@ "tags": "zgniatać,mały,malutki" }, "unlockPDFForms": { - "tags": "remove,delete,form,field,readonly", + "tags": "usuń,skasuj,formularz,pole,tylko do odczytu", "title": "Usuń tryb tylko do odczytu z pól formularza", "header": "Odblokuj formularze PDF", "submit": "Remove", @@ -1978,13 +2177,54 @@ "title": "Narysuj swój podpis", "clear": "Wyczyść" }, + "canvas": { + "heading": "Narysuj podpis", + "clickToOpen": "Kliknij, aby otworzyć płótno rysunku", + "modalTitle": "Narysuj podpis", + "colorLabel": "Kolor", + "penSizeLabel": "Grubość pióra", + "penSizePlaceholder": "Rozmiar", + "clear": "Wyczyść płótno", + "colorPickerTitle": "Wybierz kolor pociągnięcia" + }, "text": { "name": "Imię i nazwisko podpisującego", - "placeholder": "Wpisz swoje pełne imię i nazwisko" + "placeholder": "Wpisz swoje pełne imię i nazwisko", + "fontLabel": "Czcionka", + "fontSizeLabel": "Rozmiar czcionki", + "fontSizePlaceholder": "Wpisz lub wybierz rozmiar czcionki (8–200)", + "colorLabel": "Kolor tekstu" }, "clear": "Wyczyść", "add": "Dodaj", - "saved": "Zapisane podpisy", + "saved": { + "heading": "Zapisane podpisy", + "description": "Używaj zapisanych podpisów w dowolnym momencie.", + "emptyTitle": "Brak zapisanych podpisów", + "emptyDescription": "Narysuj, prześlij lub wpisz podpis powyżej, a następnie użyj „Zapisz w bibliotece”, aby mieć do {{max}} ulubionych gotowych do użycia.", + "type": { + "canvas": "Rysunek", + "image": "Przesłany", + "text": "Tekst" + }, + "limitTitle": "Osiągnięto limit", + "limitDescription": "Usuń zapisany podpis przed dodaniem nowych (maks. {{max}}).", + "carouselPosition": "{{current}} z {{total}}", + "prev": "Poprzedni", + "next": "Następny", + "delete": "Usuń", + "label": "Etykieta", + "defaultLabel": "Podpis", + "defaultCanvasLabel": "Podpis rysowany", + "defaultImageLabel": "Przesłany podpis", + "defaultTextLabel": "Podpis wpisany", + "saveButton": "Zapisz podpis", + "saveUnavailable": "Najpierw utwórz podpis, aby go zapisać.", + "noChanges": "Bieżący podpis jest już zapisany.", + "status": { + "saved": "Zapisano" + } + }, "save": "Zapisany podpis", "applySignatures": "Zastosuj podpisy", "personalSigs": "Podpisy osobiste", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Skonfiguruj podpis" }, + "step": { + "createDesc": "Wybierz sposób utworzenia podpisu", + "place": "Umieść i zapisz", + "placeDesc": "Umieść podpis w PDF" + }, "type": { "title": "Typ podpisu", "draw": "Rysuj", - "canvas": "Canvas", + "canvas": "Płótno", "image": "Obraz", - "text": "Tekst" + "text": "Tekst", + "saved": "Zapisane" }, "image": { "label": "Prześlij obraz podpisu", @@ -2019,11 +2265,17 @@ "title": "Jak dodać podpis", "canvas": "Po narysowaniu podpisu w Canvas zamknij okno modalne, a następnie kliknij w dowolnym miejscu PDF, aby go umieścić.", "image": "Po przesłaniu obrazu podpisu powyżej kliknij w dowolnym miejscu PDF, aby go umieścić.", - "text": "Po wpisaniu swojego imienia i nazwiska kliknij w dowolnym miejscu PDF, aby umieścić podpis." + "saved": "Wybierz zapisany podpis powyżej, a następnie kliknij w dowolnym miejscu w PDF, aby go umieścić.", + "text": "Po wpisaniu swojego imienia i nazwiska kliknij w dowolnym miejscu PDF, aby umieścić podpis.", + "paused": "Wstrzymano umieszczanie", + "resumeHint": "Wznów umieszczanie, aby kliknąć i dodać podpis.", + "noSignature": "Utwórz podpis powyżej, aby włączyć narzędzia umieszczania." }, "mode": { "move": "Przesuń podpis", - "place": "Umieść podpis" + "place": "Umieść podpis", + "pause": "Wstrzymaj umieszczanie", + "resume": "Wznów umieszczanie" }, "updateAndPlace": "Zaktualizuj i umieść", "activate": "Aktywuj umieszczanie podpisu", @@ -2163,6 +2415,14 @@ "title": "O narzędziu Usuwanie adnotacji", "description": "To narzędzie usunie wszystkie adnotacje (komentarze, podświetlenia, notatki itp.) z dokumentów PDF." }, + "tooltip": { + "header": { + "title": "O narzędziu Usuń adnotacje" + }, + "description": { + "title": "Działanie" + } + }, "error": { "failed": "Wystąpił błąd podczas usuwania adnotacji z PDF." } @@ -2437,7 +2697,7 @@ "selectPDF": "Wskaż plik PDF:", "submit": "Usuń podpis cyfrowy", "description": "To narzędzie usunie cyfrowe podpisy certyfikacyjne z dokumentu PDF.", - "filenamePrefix": "unsigned", + "filenamePrefix": "niepodpisany", "files": { "placeholder": "Wybierz plik PDF w widoku głównym, aby rozpocząć" }, @@ -2467,7 +2727,7 @@ } }, "bookletImposition": { - "tags": "booklet,imposition,printing,binding,folding,signature", + "tags": "broszura,impozycja,druk,oprawa,zginanie,składka", "title": "Impozycja broszury", "header": "Impozycja broszury", "submit": "Utwórz broszurę", @@ -2568,7 +2828,7 @@ "submit": "Wykonaj" }, "adjustPageScale": { - "tags": "resize,modify,dimension,adapt", + "tags": "zmień rozmiar,modyfikuj,wymiary,dopasuj", "title": "Dostosuj skalę strony", "header": "Dostosuj skalę strony", "scaleFactor": { @@ -2627,6 +2887,9 @@ "header": { "title": "Jak działa automatyczna zmiana nazwy" }, + "description": { + "title": "Działanie" + }, "howItWorks": { "title": "Inteligentna zmiana nazwy", "text": "Automatycznie znajduje tytuł w treści PDF i używa go jako nazwy pliku.", @@ -2634,6 +2897,9 @@ "bullet2": "Tworzy czystą, prawidłową nazwę pliku z wykrytego tytułu", "bullet3": "Zachowuje oryginalną nazwę, jeśli nie znaleziono odpowiedniego tytułu" } + }, + "settings": { + "title": "Informacje" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "Nieoczekiwany błąd: {{message}}", "accountCreatedSuccess": "Konto zostało utworzone! Teraz możesz się zalogować.", "passwordChangedSuccess": "Hasło zostało zmienione! Zaloguj się nowym hasłem.", - "credentialsUpdated": "Dane logowania zostały zaktualizowane. Zaloguj się ponownie." + "credentialsUpdated": "Dane logowania zostały zaktualizowane. Zaloguj się ponownie.", + "defaultCredentials": "Domyślne dane logowania", + "changePasswordWarning": "Zmień hasło po pierwszym zalogowaniu.", + "slides": { + "overview": { + "alt": "Przegląd Stirling PDF", + "title": "Jedno miejsce na wszystkie potrzeby związane z PDF.", + "subtitle": "Pakiet chmurowy z priorytetem prywatności do pracy z PDF: konwertuj, podpisuj, zaczerniaj i zarządzaj dokumentami oraz korzystaj z 50+ innych narzędzi." + }, + "edit": { + "alt": "Edytuj PDF", + "title": "Edytuj PDF, aby wyświetlać i zabezpieczać potrzebne informacje", + "subtitle": "Ponad kilkanaście narzędzi do zaczerniania, podpisywania, czytania i modyfikowania PDF – znajdziesz to, czego potrzebujesz." + }, + "secure": { + "alt": "Zabezpiecz PDF", + "title": "Chroń wrażliwe informacje w plikach PDF", + "subtitle": "Dodawaj hasła, zaczerniaj treść i zarządzaj certyfikatami z łatwością." + } + } }, "signup": { "title": "Utwórz konto", @@ -3502,7 +3787,7 @@ "title": "Dokumentacja API", "header": "Dokumentacja API", "desc": "Przeglądaj i testuj endpointy API Stirling PDF", - "tags": "api,documentation,swagger,endpoints,development" + "tags": "api,dokumentacja,swagger,endpointy,rozwój" }, "cookieBanner": { "popUp": { @@ -3598,7 +3883,9 @@ "exportAll": "Eksportuj PDF", "downloadSelected": "Pobierz wybrane pliki", "downloadAll": "Pobierz wszystko", + "saveAll": "Zapisz wszystko", "toggleTheme": "Przełącz motyw", + "toggleBookmarks": "Przełącz zakładki", "language": "Język", "search": "Szukaj w PDF", "panMode": "Tryb przesuwania", @@ -3685,8 +3972,16 @@ "saved": "Ustawienia zapisano pomyślnie", "saveSuccess": "Ustawienia zapisano pomyślnie", "save": "Zapisz zmiany", + "discard": "Odrzuć", "restartRequired": "Wymagane ponowne uruchomienie", "loginRequired": "Tryb logowania musi być włączony, aby modyfikować ustawienia administratora", + "unsavedChanges": { + "title": "Niezapisane zmiany", + "message": "Masz niezapisane zmiany. Czy chcesz je odrzucić?", + "cancel": "Kontynuuj edycję", + "discard": "Odrzuć zmiany", + "hint": "Masz niezapisane zmiany" + }, "loginDisabled": { "title": "Wymagany tryb logowania", "message": "Tryb logowania musi być włączony, aby modyfikować ustawienia administratora. Ustaw SECURITY_ENABLELOGIN=true w środowisku lub security.enableLogin: true w settings.yml, a następnie uruchom ponownie serwer.", @@ -4132,12 +4427,12 @@ "description": "Maksymalny czas wykonania" }, "libreOffice": "LibreOffice", - "pdfToHtml": "PDF to HTML", + "pdfToHtml": "PDF do HTML", "qpdf": "QPDF", "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", "weasyPrint": "WeasyPrint", - "installApp": "Install App", + "installApp": "Zainstaluj aplikację", "calibre": "Calibre", "ghostscript": "Ghostscript", "ocrMyPdf": "OCRmyPDF" @@ -4212,9 +4507,21 @@ "title": "Premium i Enterprise", "description": "Skonfiguruj swój klucz licencyjny premium lub enterprise.", "license": "Konfiguracja licencji", + "licenseKey": { + "toggle": "Masz klucz licencyjny lub plik certyfikatu?", + "info": "Jeśli masz klucz licencyjny lub plik certyfikatu z zakupu bezpośredniego, wprowadź go tutaj, aby aktywować funkcje premium lub enterprise." + }, "key": { "label": "Klucz licencyjny", - "description": "Wprowadź swój klucz licencyjny premium lub enterprise" + "description": "Wprowadź swój klucz licencyjny premium lub enterprise", + "success": "Zapisano klucz licencyjny", + "successMessage": "Twój klucz licencyjny został pomyślnie aktywowany. Restart nie jest wymagany.", + "overwriteWarning": { + "title": "⚠️ Ostrzeżenie: wykryto istniejącą licencję", + "line1": "Nadpisania bieżącego klucza licencyjnego nie można cofnąć.", + "line2": "Poprzednia licencja zostanie trwale utracona, jeśli nie masz jej kopii zapasowej.", + "line3": "Ważne: przechowuj klucze licencyjne prywatnie i bezpiecznie. Nigdy nie udostępniaj ich publicznie." + } }, "enabled": { "label": "Włącz funkcje premium", @@ -4278,12 +4585,17 @@ "or": "lub", "dropFileHere": "Upuść plik tutaj lub kliknij, aby przesłać", "dropFilesHere": "Upuść pliki tutaj lub kliknij przycisk przesyłania", + "dropFilesHereOpen": "Upuść pliki tutaj lub kliknij przycisk Otwórz", "pdfFilesOnly": "Tylko pliki PDF", "supportedFileTypes": "Obsługiwane typy plików", "upload": "Prześlij", "uploadFile": "Prześlij plik", "uploadFiles": "Prześlij pliki", + "open": "Otwórz", + "openFile": "Otwórz plik", + "openFiles": "Otwórz pliki", "noFilesInStorage": "Brak plików w magazynie. Najpierw prześlij kilka plików.", + "noFilesInStorageOpen": "Brak plików w pamięci. Najpierw otwórz jakieś pliki.", "selectFromStorage": "Wybierz z magazynu", "backToTools": "Wróć do narzędzi", "addFiles": "Dodaj pliki", @@ -4329,6 +4641,8 @@ "myFiles": "Moje pliki", "noRecentFiles": "Nie znaleziono ostatnich plików", "googleDriveNotAvailable": "Integracja z Google Drive niedostępna", + "downloadSelected": "Pobierz wybrane", + "saveSelected": "Zapisz wybrane", "openFiles": "Otwórz pliki", "openFile": "Otwórz plik", "details": "Szczegóły pliku", @@ -4341,7 +4655,6 @@ "selectAll": "Zaznacz wszystko", "deselectAll": "Odznacz wszystko", "deleteSelected": "Usuń zaznaczone", - "downloadSelected": "Pobierz wybrane", "selectedCount": "{{count}} wybrane", "download": "Pobierz", "delete": "usuń", @@ -4588,7 +4901,7 @@ "confirm": "Wróć" }, "icon": { - "label": "Icon" + "label": "Ikona" } }, "run": { @@ -4621,9 +4934,14 @@ "secureWorkflow": "Workflow bezpieczeństwa", "secureWorkflowDesc": "Zabezpiecza dokumenty PDF poprzez usuwanie potencjalnie złośliwej zawartości, takiej jak JavaScript i osadzone pliki, a następnie dodaje ochronę hasłem, aby zapobiec nieautoryzowanemu dostępowi. Hasło domyślnie ustawione jest na 'password'.", "processImages": "Przetwarzanie obrazów", - "processImagesDesc": "Konwertuje wiele plików graficznych w jeden dokument PDF, a następnie stosuje technologię OCR, aby wyodrębnić przeszukiwalny tekst z obrazów." + "processImagesDesc": "Konwertuje wiele plików graficznych w jeden dokument PDF, a następnie stosuje technologię OCR, aby wyodrębnić przeszukiwalny tekst z obrazów.", + "prePublishSanitization": "Czyszczenie przed publikacją", + "prePublishSanitizationDesc": "Przepływ czyszczenia usuwający ukryte metadane, JavaScript, osadzone pliki, adnotacje oraz spłaszczający formularze, aby zapobiec wyciekowi danych przed publikacją PDF w Internecie." } }, + "colorPicker": { + "title": "Wybierz kolor" + }, "common": { "previous": "Wstecz", "next": "Dalej", @@ -4639,7 +4957,13 @@ "used": "użyto", "available": "dostępne", "cancel": "Anuluj", - "preview": "Podgląd" + "preview": "Podgląd", + "close": "Zamknij", + "done": "Gotowe", + "loading": "Wczytywanie...", + "back": "Wstecz", + "continue": "Kontynuuj", + "error": "Błąd" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Dodaj więcej plików...", "selectedFiles": "Wybrane pliki", "submit": "Dodaj załączniki", + "tooltip": { + "header": { + "title": "O narzędziu Dodaj załączniki" + }, + "description": { + "title": "Działanie" + } + }, "results": { "title": "Wyniki dodawania załączników" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Pozycja niestandardowa", "details": "Szczegóły", - "downloadUnavailable": "Pobieranie niedostępne dla tego elementu", "invalidUndoData": "Nie można cofnąć: nieprawidłowe dane operacji", "margin": { "large": "Duży", @@ -4801,6 +5132,10 @@ "maybeLater": "Może później", "dontShowAgain": "Nie pokazuj ponownie" }, + "welcomeSlide": { + "title": "Witamy w Stirling", + "body": "Stirling PDF jest teraz gotowy dla zespołów każdej wielkości. Ta aktualizacja obejmuje nowy układ, potężne możliwości administracyjne oraz naszą najczęściej żądaną funkcję – Edytuj tekst." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Wybierzmy narzędzie Przytnij, aby pokazać, jak korzystać z jednego z narzędzi.", "toolInterface": "To jest interfejs narzędzia Przytnij. Jak widać, niewiele tu widać, ponieważ nie dodaliśmy jeszcze żadnych plików PDF do pracy.", @@ -4823,7 +5158,39 @@ "next": "Dalej", "finish": "Zakończ", "startTour": "Rozpocznij przewodnik", - "startTourDescription": "Przewodnik po kluczowych funkcjach Stirling PDF" + "startTourDescription": "Przewodnik po kluczowych funkcjach Stirling PDF", + "buttons": { + "next": "Dalej →", + "back": "Wstecz", + "skipForNow": "Pomiń na razie", + "download": "Pobierz →", + "showMeAround": "Pokaż, co nowego", + "skipTheTour": "Pomiń przewodnik" + }, + "serverLicense": { + "skip": "Pomiń na razie", + "seePlans": "Zobacz plany →", + "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 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." + }, + "desktopInstall": { + "title": "Pobierz", + "titleWithOs": "Pobierz dla {{osLabel}}", + "body": "Stirling najlepiej działa jako aplikacja desktopowa. Możesz używać go offline, szybciej otwierać dokumenty i wprowadzać zmiany lokalnie na komputerze." + }, + "planOverview": { + "adminTitle": "Przegląd dla administratora", + "userTitle": "Przegląd planu", + "adminBodyLoginEnabled": "Jako administrator możesz zarządzać użytkownikami, konfigurować ustawienia i monitorować kondycję serwera. Pierwsze {{freeTierLimit}} osób na Twoim serwerze korzysta ze Stirling bez opłat.", + "adminBodyLoginDisabled": "Po włączeniu trybu logowania możesz zarządzać użytkownikami, konfigurować ustawienia i monitorować kondycję serwera. Pierwsze {{freeTierLimit}} osób na Twoim serwerze korzysta ze Stirling bez opłat.", + "userBody": "Zapraszaj członków zespołu, przypisuj role i utrzymuj porządek w dokumentach w jednym bezpiecznym miejscu pracy. Włącz tryb logowania, gdy będziesz gotów wyjść poza użycie solo." + }, + "securityCheck": { + "message": "Aplikacja przeszła ostatnio istotne zmiany. Może być wymagana interwencja administratora serwera. Potwierdź swoją rolę, aby kontynuować." + } }, "adminOnboarding": { "welcome": "Witamy w Przewodniku administratora! Poznajmy zaawansowane funkcje i ustawienia dostępne dla administratorów systemu.", @@ -4852,7 +5219,10 @@ "role": "Rola", "team": "Zespół", "status": "Status", - "actions": "Akcje", + "actions": { + "label": "Akcje", + "upgrade": "Ulepsz" + }, "noMembersFound": "Nie znaleziono członków", "active": "Aktywny", "disabled": "Wyłączony", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} wolnych miejsc dla użytkowników", "noSlotsAvailable": "Brak wolnych miejsc", "currentUsage": "Obecnie użyto {{current}} z {{max}} licencji użytkowników" - } + }, + "loginRequired": "Najpierw włącz tryb logowania" }, "teams": { "title": "Zespoły", @@ -5057,6 +5428,17 @@ "showComparison": "Porównaj wszystkie funkcje", "hideComparison": "Ukryj porównanie funkcji", "featureComparison": "Porównanie funkcji", + "from": "Od", + "perMonth": "/mies.", + "perSeat": "/miejsce", + "withServer": "+ Server Plan", + "licensedSeats": "Licencjonowane: {{count}} miejsc", + "includedInCurrent": "Wliczone w Twój plan", + "selectPlan": "Wybierz plan", + "manage": "Zarządzaj", + "manageSubscription": { + "description": "Zarządzaj subskrypcją, rozliczeniami i metodami płatności" + }, "activePlan": { "title": "Aktywny plan", "subtitle": "Szczegóły Twojej obecnej subskrypcji" @@ -5074,13 +5456,16 @@ "upTo": "Do" }, "period": { - "month": "miesiąc" + "month": "miesiąc", + "perUserPerMonth": "/użytk./mies." }, "free": { "name": "Darmowy", "highlight1": "Ograniczone użycie narzędzi na tydzień", "highlight2": "Dostęp do wszystkich narzędzi", - "highlight3": "Wsparcie społeczności" + "highlight3": "Wsparcie społeczności", + "forever": "Na zawsze za darmo", + "included": "Wliczone" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Ceny niestandardowe", "highlight2": "Dedykowane wsparcie", - "highlight3": "Najnowsze funkcje" + "highlight3": "Najnowsze funkcje", + "requiresServer": "Wymaga Server", + "requiresServerMessage": "Najpierw przejdź na plan Server, zanim ulepszysz do Enterprise." }, "feature": { "title": "Funkcja", @@ -5102,6 +5489,12 @@ "api": "Dostęp do API", "priority": "Priorytetowe wsparcie", "customPricing": "Ceny niestandardowe" + }, + "licenseWarning": { + "title": "Osiągnięto darmowy limit dla własnego serwera", + "body": "Masz {{total}} użytkowników, ale darmowy poziom obsługuje tylko {{limit}} na serwer. Ulepsz, aby Stirling PDF działał bez zakłóceń.", + "overLimit": "więcej niż {{limit}}", + "cta": "Zobacz plany" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Zarządzaj rozliczeniami", "portal": { "error": "Nie udało się otworzyć portalu rozliczeń" - } + }, + "updateSeats": "Zaktualizuj miejsca", + "updateEnterpriseSeats": "Zaktualizuj miejsca Enterprise", + "currentSeats": "Bieżąca liczba miejsc", + "minimumSeats": "Minimalna liczba miejsc", + "basedOnUsers": "(bieżący użytkownicy)", + "newSeatCount": "Nowa liczba miejsc", + "newSeatCountDescription": "Wybierz liczbę miejsc dla licencji enterprise", + "whatHappensNext": "Co dalej?", + "stripePortalRedirect": "Zostaniesz przekierowany do portalu rozliczeń Stripe, aby przejrzeć i potwierdzić zmianę liczby miejsc. Kwota proporcjonalna zostanie obliczona automatycznie.", + "preparingUpdate": "Przygotowywanie zmiany miejsc...", + "seatCountTooLow": "Liczba miejsc musi wynosić co najmniej {{minimum}} (bieżąca liczba użytkowników)", + "seatCountUnchanged": "Wybierz inną liczbę miejsc", + "seatsUpdated": "Zaktualizowano miejsca", + "seatsUpdatedMessage": "Liczba miejsc Enterprise została zaktualizowana do {{seats}}", + "updateProcessing": "Przetwarzanie aktualizacji", + "updateProcessingMessage": "Twoja zmiana liczby miejsc jest przetwarzana. Odśwież za chwilę.", + "notEnterprise": "Zarządzanie miejscami jest dostępne tylko dla licencji enterprise" + }, + "upgradeBanner": { + "title": "Ulepsz do planu Server", + "message": "Wykorzystaj Stirling PDF w pełni dzięki nielimitowanym użytkownikom i zaawansowanym funkcjom", + "upgradeButton": "Ulepsz teraz", + "dismiss": "Zamknij baner", + "attentionTitle": "Ten serwer wymaga uwagi administratora", + "attentionBody": "Administrator musi się zalogować, aby zobaczyć więcej informacji. Skontaktuj się z nim niezwłocznie.", + "attentionBodyAdmin": "Sprawdź wymagania licencyjne, aby zachować zgodność serwera.", + "seeInfo": "Zobacz informacje" }, "payment": { "preparing": "Przygotowywanie kasy...", @@ -5128,7 +5548,61 @@ "success": "Płatność zakończona sukcesem!", "successMessage": "Twoja subskrypcja została pomyślnie aktywowana. Wkrótce otrzymasz e‑mail z potwierdzeniem.", "autoClose": "To okno zamknie się automatycznie...", - "error": "Błąd płatności" + "error": "Błąd płatności", + "upgradeSuccess": "Płatność zakończona! Twoja subskrypcja została ulepszona. Licencję zaktualizowano na Twoim serwerze. Wkrótce otrzymasz e‑mail z potwierdzeniem.", + "paymentSuccess": "Płatność zakończona! Pobieranie klucza licencyjnego...", + "licenseActivated": "Licencja aktywowana! Klucz licencyjny zapisano. Wysłano e‑mail potwierdzający na zarejestrowany adres.", + "licenseDelayed": "Płatność zakończona! Trwa generowanie licencji. Wkrótce otrzymasz e‑mail z kluczem licencyjnym. Jeśli nie dotrze w ciągu 10 minut, skontaktuj się z pomocą techniczną.", + "licensePollingError": "Płatność zakończona, ale nie udało się automatycznie pobrać klucza licencyjnego. Sprawdź e‑mail lub skontaktuj się z pomocą, podając potwierdzenie płatności.", + "licenseRetrievalError": "Płatność zakończona, ale pobranie licencji nie powiodło się. Otrzymasz klucz licencyjny e‑mailem. Skontaktuj się z pomocą, jeśli nie dotrze w ciągu 10 minut.", + "syncError": "Płatność zakończona, ale synchronizacja licencji nie powiodła się. Twoja licencja zostanie wkrótce zaktualizowana. Skontaktuj się z pomocą, jeśli problem będzie się powtarzał.", + "licenseSaveError": "Nie udało się zapisać klucza licencyjnego. Skontaktuj się z pomocą i podaj swój klucz, aby dokończyć aktywację.", + "paymentCanceled": "Płatność została anulowana. Nic nie pobrano.", + "syncingLicense": "Synchronizowanie ulepszonej licencji...", + "generatingLicense": "Generowanie klucza licencyjnego...", + "upgradeComplete": "Ulepszenie zakończone", + "upgradeCompleteMessage": "Subskrypcja została pomyślnie ulepszona. Zaktualizowano istniejący klucz licencyjny.", + "stripeNotConfigured": "Stripe nie skonfigurowano", + "stripeNotConfiguredMessage": "Integracja płatności Stripe nie jest skonfigurowana. Skontaktuj się z administratorem.", + "monthly": "Miesięcznie", + "yearly": "Rocznie", + "billingPeriod": "Okres rozliczeniowy", + "enterpriseNote": "Liczbę miejsc można zmienić przy płatności (1–1000).", + "installationId": "ID instalacji", + "licenseKey": "Twój klucz licencyjny", + "licenseInstructions": "Zostało dodane do Twojej instalacji. Kopię otrzymasz także e‑mailem.", + "canCloseWindow": "Możesz teraz zamknąć to okno.", + "licenseKeyProcessing": "Przetwarzanie klucza licencyjnego", + "licenseDelayedMessage": "Twój klucz licencyjny jest generowany. Wkrótce sprawdź e‑mail lub skontaktuj się z pomocą.", + "perYear": "/rok", + "perMonth": "/mies.", + "emailInvalid": "Wpisz poprawny adres e‑mail", + "emailStage": { + "title": "Podaj e‑mail", + "description": "Użyjemy go do wysłania klucza licencyjnego i rachunków.", + "emailLabel": "Adres e‑mail", + "emailPlaceholder": "your@email.com", + "continue": "Kontynuuj", + "modalTitle": "Zaczynamy – {{planName}}" + }, + "planStage": { + "title": "Wybierz okres rozliczeniowy", + "savingsNote": "Oszczędź {{percent}}% przy rozliczeniu rocznym", + "basePrice": "Cena bazowa", + "seatPrice": "Za miejsce", + "totalForSeats": "Razem ({{count}} miejsc)", + "selectMonthly": "Wybierz miesięcznie", + "selectYearly": "Wybierz rocznie", + "savePercent": "Oszczędź {{percent}}%", + "savingsAmount": "Oszczędzasz {{amount}}", + "modalTitle": "Wybierz okres rozliczeniowy – {{planName}}", + "billedYearly": "Rozliczane rocznie: {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Wróć do wyboru planu", + "selectedPlan": "Wybrany plan", + "modalTitle": "Dokończ płatność – {{planName}}" + } }, "firstLogin": { "title": "Pierwsze logowanie", @@ -5287,5 +5761,281 @@ "offline": "Backend offline", "starting": "Backend uruchamia się...", "wait": "Poczekaj, aż backend zakończy uruchamianie i spróbuj ponownie." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Odblokuj PDF, aby kontynuować", + "title": "Usuń hasło, aby kontynuować", + "description": "Ten PDF jest zabezpieczony hasłem. Wpisz hasło, aby kontynuować pracę.", + "password": { + "label": "Hasło PDF", + "placeholder": "Wpisz hasło do PDF" + }, + "skip": "Pomiń na razie", + "unlock": "Odblokuj i kontynuuj", + "incorrectPassword": "Nieprawidłowe hasło", + "missingFile": "Wybrany plik nie jest już dostępny.", + "emptyResponse": "Usunięcie hasła nie zwróciło pliku.", + "required": "Wpisz hasło, aby kontynuować.", + "successTitle": "Usunięto hasło", + "successBodyWithName": "Usunięto hasło z {{fileName}}", + "successBody": "Pomyślnie usunięto hasło." + }, + "setup": { + "welcome": "Witamy w Stirling PDF", + "description": "Zacznij od wyboru sposobu korzystania ze Stirling PDF", + "step1": { + "label": "Wybierz tryb", + "description": "Offline lub serwer" + }, + "step2": { + "label": "Wybierz serwer", + "description": "Własny serwer" + }, + "step3": { + "label": "Logowanie", + "description": "Wprowadź dane logowania" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Zaloguj się na konto Stirling" + }, + "selfhosted": { + "title": "Własny serwer", + "description": "Połącz się z własnym serwerem Stirling PDF" + } + }, + "saas": { + "title": "Zaloguj się do Stirling", + "subtitle": "Zaloguj się na konto Stirling" + }, + "selfhosted": { + "title": "Zaloguj się do serwera", + "subtitle": "Wprowadź dane logowania do serwera" + }, + "server": { + "title": "Połącz z serwerem", + "subtitle": "Wpisz URL własnego serwera", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Własny serwer" + }, + "url": { + "label": "URL serwera", + "description": "Wpisz pełny URL własnego serwera Stirling PDF" + }, + "error": { + "emptyUrl": "Wpisz URL serwera", + "unreachable": "Nie można połączyć z serwerem", + "testFailed": "Test połączenia nie powiódł się" + }, + "testing": "Testowanie połączenia..." + }, + "login": { + "title": "Zaloguj się", + "subtitle": "Wprowadź dane logowania, aby kontynuować", + "connectingTo": "Łączenie z:", + "username": { + "label": "Nazwa użytkownika", + "placeholder": "Wpisz nazwę użytkownika" + }, + "email": { + "label": "E‑mail", + "placeholder": "Wpisz e‑mail" + }, + "password": { + "label": "Hasło", + "placeholder": "Wpisz hasło" + }, + "error": { + "emptyUsername": "Wpisz nazwę użytkownika", + "emptyEmail": "Wpisz e‑mail", + "emptyPassword": "Wpisz hasło", + "oauthFailed": "Logowanie przez OAuth nie powiodło się. Spróbuj ponownie." + }, + "submit": "Zaloguj", + "signInWith": "Zaloguj przez", + "oauthPending": "Otwieranie przeglądarki do uwierzytelnienia...", + "orContinueWith": "Lub kontynuuj e‑mailem" + } + }, + "oauth": { + "success": { + "title": "Uwierzytelnienie powiodło się", + "message": "Możesz zamknąć to okno i wrócić do Stirling PDF." + }, + "error": { + "title": "Uwierzytelnienie nie powiodło się", + "message": "Uwierzytelnienie nie zakończyło się pomyślnie. Możesz zamknąć to okno i spróbować ponownie." + } + }, + "pdfTextEditor": { + "title": "Edytor JSON PDF", + "viewLabel": "Edytor PDF", + "converting": "Konwertowanie PDF do formatu edytowalnego...", + "conversionFailed": "Nie udało się przekonwertować PDF. Spróbuj ponownie.", + "currentFile": "Bieżący plik: {{name}}", + "pageSummary": "Strona {{number}} z {{total}}", + "pagePreviewAlt": "Podgląd strony", + "imageLabel": "Umieszczony obraz", + "noTextOnPage": "Na tej stronie nie wykryto edytowalnego tekstu.", + "pageType": { + "paragraph": "Strona akapitowa", + "sparse": "Rzadki tekst" + }, + "groupingMode": { + "auto": "Auto", + "paragraph": "Akapit", + "singleLine": "Pojedyncza linia" + }, + "badges": { + "unsaved": "Edytowano", + "modified": "Edytowano", + "earlyAccess": "Wczesny dostęp" + }, + "actions": { + "reset": "Resetuj zmiany", + "downloadJson": "Pobierz JSON", + "generatePdf": "Generuj PDF" + }, + "options": { + "autoScaleText": { + "title": "Automatycznie skaluj tekst do pól", + "description": "Automatycznie skaluje tekst poziomo, aby mieścił się w oryginalnym polu ograniczającym, gdy renderowanie czcionki różni się od PDF." + }, + "groupingMode": { + "title": "Tryb grupowania tekstu", + "autoDescription": "Automatycznie wykrywa typ strony i odpowiednio grupuje tekst.", + "paragraphDescription": "Grupuje wyrównane linie w wielowierszowe pola tekstowe akapitu.", + "singleLineDescription": "Pozostawia każdą linię tekstu PDF jako oddzielne pole tekstowe." + }, + "manualGrouping": { + "descriptionInline": "Wskazówka: Przytrzymaj Ctrl (Cmd) lub Shift, aby zaznaczyć wiele pól tekstowych. Nad zaznaczeniem pojawi się pływający pasek narzędzi, aby scalić, rozgrupować lub dostosować szerokość." + }, + "forceSingleElement": { + "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." + } + }, + "manual": { + "mergeTooltip": "Scal zaznaczone pola", + "merge": "Scal zaznaczenie", + "ungroupTooltip": "Podziel akapit z powrotem na linie", + "ungroup": "Rozgrupuj zaznaczenie", + "widthMenu": "Opcje szerokości", + "expandWidth": "Rozszerz do krawędzi strony", + "resetWidth": "Zresetuj szerokość", + "resizeHandle": "Dostosuj szerokość tekstu" + }, + "disclaimer": { + "heading": "Ograniczenia podglądu", + "textFocus": "To środowisko skupia się na edycji tekstu i zmianie położenia osadzonych obrazów. Złożona grafika strony, widżety formularzy i warstwowa grafika są zachowane do eksportu, lecz nie są tutaj w pełni edytowalne.", + "previewVariance": "Niektóre elementy wizualne (np. obramowania tabel, kształty lub wygląd adnotacji) mogą nie wyświetlać się w podglądzie dokładnie. Eksportowany PDF zachowuje oryginalne polecenia rysowania, gdy to możliwe.", + "alpha": "Ten podgląd alfa jest wciąż rozwijany — niektóre czcionki, kolory, efekty przezroczystości i detale układu mogą się nieznacznie zmieniać. Przed udostępnieniem prosimy o ponowne sprawdzenie wygenerowanego PDF." + }, + "empty": { + "title": "Nie wczytano dokumentu", + "subtitle": "Wczytaj plik PDF lub JSON, aby rozpocząć edycję treści tekstowych." + }, + "welcomeBanner": { + "title": "Witamy w edytorze tekstu PDF (wczesny dostęp)", + "experimental": "To funkcja eksperymentalna w aktywnym rozwoju. Możliwa niestabilność i problemy podczas używania.", + "howItWorks": "To narzędzie konwertuje PDF do edytowalnego formatu, w którym można modyfikować tekst i zmieniać położenie obrazów. Zmiany zapisywane są jako nowy PDF.", + "bestFor": "Najlepiej działa z:", + "bestFor1": "Proste PDF-y zawierające głównie tekst i obrazy", + "bestFor2": "Dokumenty ze standardowym formatowaniem akapitów", + "bestFor3": "Listy, eseje, raporty i podstawowe dokumenty", + "notIdealFor": "Nie nadaje się do:", + "notIdealFor1": "PDF-y ze specjalnym formatowaniem, jak wypunktowania, tabele lub układy wielokolumnowe", + "notIdealFor2": "Magazyny, broszury lub bogato projektowane dokumenty", + "notIdealFor3": "Instrukcje o złożonych układach", + "limitations": "Obecne ograniczenia:", + "limitation1": "Renderowanie czcionek może się nieznacznie różnić od oryginalnego PDF", + "limitation2": "Złożona grafika, pola formularzy i adnotacje są zachowane, lecz nieedytowalne", + "limitation3": "Konwersja i przetwarzanie dużych plików może potrwać", + "knownIssues": "Znane problemy (w trakcie naprawy):", + "issue1": "Kolor tekstu nie jest obecnie zachowywany (wkrótce zostanie dodany)", + "issue2": "Tryb akapitu ma więcej problemów z wyrównaniem i odstępami — zalecany jest tryb pojedynczej linii", + "issue3": "Podgląd różni się od eksportowanego PDF — eksportowane PDF-y są bliższe oryginałowi", + "issue4": "Wyrównanie obróconego tekstu może wymagać ręcznej korekty", + "issue5": "Efekty przezroczystości i warstw mogą się różnić od oryginału", + "feedback": "To funkcja we wczesnym dostępie. Prosimy o zgłaszanie napotkanych problemów, aby pomóc nam się ulepszać!", + "gotIt": "Rozumiem", + "dontShowAgain": "Nie pokazuj ponownie" + }, + "modeChange": { + "title": "Potwierdź zmianę trybu", + "warning": "Zmiana trybu grupowania tekstu spowoduje utratę wszystkich niezapisanych zmian. Czy na pewno chcesz kontynuować?", + "cancel": "Anuluj", + "confirm": "Resetuj i zmień tryb" + }, + "fontAnalysis": { + "details": "Szczegóły czcionki", + "embedded": "Osadzona", + "type": "Typ", + "webFormat": "Format webowy", + "warnings": "Ostrzeżenia", + "suggestions": "Uwagi", + "currentPageFonts": "Czcionki na tej stronie", + "allFonts": "Wszystkie czcionki", + "fallback": "zapasowa", + "missing": "brakująca", + "perfectMessage": "Wszystkie czcionki mogą być odtworzone idealnie.", + "warningMessage": "Niektóre czcionki mogą wyświetlać się niepoprawnie.", + "infoMessage": "Dostępne są informacje o odwzorowaniu czcionek.", + "perfect": "idealna", + "subset": "częściowa" + }, + "errors": { + "invalidJson": "Nie można odczytać pliku JSON. Upewnij się, że został wygenerowany przez narzędzie PDF do JSON.", + "pdfConversion": "Nie można przekonwertować edytowanego JSON z powrotem na PDF." + } + }, + "auth": { + "sessionExpired": "Sesja wygasła", + "pleaseLoginAgain": "Zaloguj się ponownie.", + "accessDenied": "Odmowa dostępu", + "insufficientPermissions": "Nie masz uprawnień do wykonania tej czynności." + }, + "addText": { + "title": "Dodaj tekst", + "header": "Dodaj tekst do PDF-ów", + "text": { + "name": "Treść tekstu", + "placeholder": "Wpisz tekst, który chcesz dodać", + "fontLabel": "Czcionka", + "fontSizeLabel": "Rozmiar czcionki", + "fontSizePlaceholder": "Wpisz lub wybierz rozmiar czcionki (8–200)", + "colorLabel": "Kolor tekstu" + }, + "steps": { + "configure": "Skonfiguruj tekst" + }, + "step": { + "createDesc": "Wpisz tekst, który chcesz dodać", + "place": "Umieść tekst", + "placeDesc": "Kliknij w dokumencie PDF, aby dodać tekst" + }, + "instructions": { + "title": "Jak dodać tekst", + "text": "Po wpisaniu tekstu powyżej kliknij w dowolnym miejscu dokumentu PDF, aby go umieścić.", + "paused": "Wstrzymano umieszczanie", + "resumeHint": "Wznów umieszczanie, aby kliknąć i dodać tekst.", + "noSignature": "Wpisz tekst powyżej, aby włączyć umieszczanie." + }, + "mode": { + "move": "Przesuń tekst", + "place": "Umieść tekst", + "pause": "Wstrzymaj umieszczanie", + "resume": "Wznów umieszczanie" + }, + "results": { + "title": "Wyniki dodawania tekstu" + }, + "error": { + "failed": "Wystąpił błąd podczas dodawania tekstu do PDF." + }, + "tags": "tekst,adnotacja,etykieta", + "applySignatures": "Zastosuj tekst" } } \ No newline at end of file diff --git a/frontend/public/locales/pt-BR/translation.json b/frontend/public/locales/pt-BR/translation.json index 4dc034ef8..a349a8318 100644 --- a/frontend/public/locales/pt-BR/translation.json +++ b/frontend/public/locales/pt-BR/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Em breve:", "favorite": "Adicionar aos favoritos", "favorites": "Favoritos", + "unavailable": "Desativado pelo administrador do servidor:", + "unavailableDependency": "Indisponível - ferramenta necessária ausente no servidor:", "heading": "Todas as ferramentas (visualização em tela cheia)", "noResults": "Tente ajustar sua pesquisa ou alternar descrições para encontrar o que precisa.", "recommended": "Recomendado", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Alternar para modo tela cheia", "sidebar": "Alternar para modo barra lateral" - } + }, + "alpha": "Alpha", + "premiumFeature": "Recurso premium:", + "comingSoon": "Em breve:" }, "unsavedChanges": "Você tem alterações não salvas no seu PDF. O que você gostaria de fazer?", "areYouSure": "Tem certeza de que deseja sair?", @@ -41,6 +46,30 @@ "cancel": "Cancelar", "confirm": "Extrair" }, + "defaultApp": { + "title": "Definir como app padrão de PDF", + "message": "Deseja definir o Stirling PDF como seu editor de PDF padrão?", + "description": "Você pode alterar isso depois nas configurações do sistema.", + "notNow": "Agora não", + "setDefault": "Definir padrão", + "dismiss": "Ignorar", + "prompt": { + "title": "Definir como editor de PDF padrão", + "message": "Torne o Stirling PDF seu aplicativo padrão para abrir arquivos PDF." + }, + "success": { + "title": "App padrão definido", + "message": "O Stirling PDF agora é seu editor de PDF padrão" + }, + "settingsOpened": { + "title": "Configurações abertas", + "message": "Selecione o Stirling PDF nas configurações do sistema" + }, + "error": { + "title": "Erro", + "message": "Falha ao definir o manipulador de PDF padrão" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Salvar", "saveToBrowser": "Salvar no Navegador", "download": "Baixar (JSON)", + "downloadUnavailable": "Download indisponível para este item", + "saveUnavailable": "Salvar indisponível para este item", "pin": "Fixar arquivo (manter ativo após execução da ferramenta)", "unpin": "Desafixar arquivo (substituir após execução da ferramenta)", "undoOperationTooltip": "Clique para desfazer a última operação e restaurar os arquivos originais", @@ -168,6 +199,7 @@ }, "edit": "Editar", "delete": "Apagar", + "never": "Nunca", "username": "Usuário", "password": "Senha", "welcome": "Bem-vindo", @@ -262,7 +294,8 @@ "learnMore": "Saiba mais", "enable": "Habilitar coleta de dados", "disable": "Desabilitar coleta de dados", - "settings": "Você pode alterar as configurações de coleta de dados no arquivo config/settings.yml" + "settings": "Você pode alterar as configurações de coleta de dados no arquivo config/settings.yml", + "privacyAssurance": "Não rastreamos informações pessoais nem o conteúdo dos seus arquivos." }, "navbar": { "favorite": "Favoritos", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Configurações", - "update": "Atualização disponível", - "updateAvailable": "{0} é a versão atualmente instalada. Uma nova versão ({1}) está disponível.", - "appVersion": "Versão do Aplicativo:", - "downloadOption": { - "title": "Escolha a opção de download (para download de arquivo único, não compactados):", - "1": "Abrir na mesma janela", - "2": "Abrir em nova janela", - "3": "Baixar o arquivo" - }, - "zipThreshold": "Compactar os arquivos quando o número baixado exceder:", - "signOut": "Sair", - "accountSettings": "Configurações da Conta", - "bored": { - "help": "Habilitar jogos secretos" - }, - "cacheInputs": { - "name": "Salvar entradas do formulário.", - "help": "Habilitar para armazenar entradas usadas anteriormente para execuções futuras" + "connection": { + "title": "Modo de conexão", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Auto-hospedado" + }, + "server": "Servidor", + "user": "Logado como", + "logout": "Sair" }, "general": { "title": "Geral", "description": "Configurar preferências gerais do aplicativo.", - "account": "Conta", - "accountDescription": "Gerencie as configurações da sua conta", "user": "Usuário", - "signedInAs": "Conectado como", "logout": "Sair", "enableFeatures": { + "dismiss": "Dispensar", "title": "Para administradores do sistema", "intro": "Ative autenticação de usuários, gerenciamento de equipe e recursos de área de trabalho para sua organização.", "action": "Configurar", "and": "e", "benefit": "Ativa papéis de usuário, colaboração em equipe, controles de administrador e recursos corporativos.", - "learnMore": "Saiba mais na documentação", - "dismiss": "Dispensar" + "learnMore": "Saiba mais na documentação" }, - "autoUnzip": "Descompactar automaticamente respostas da API", - "autoUnzipDescription": "Extrair automaticamente arquivos de respostas ZIP", - "autoUnzipTooltip": "Extrai automaticamente arquivos ZIP retornados por operações da API. Desative para manter os arquivos ZIP intactos. Isso não afeta fluxos de automação.", - "autoUnzipFileLimit": "Limite de arquivos para descompactação automática", - "autoUnzipFileLimitDescription": "Número máximo de arquivos a extrair do ZIP", - "autoUnzipFileLimitTooltip": "Somente descompactar se o ZIP contiver esse número de arquivos ou menos. Defina mais alto para extrair ZIPs maiores.", "defaultToolPickerMode": "Modo padrão do seletor de ferramentas", "defaultToolPickerModeDescription": "Escolha se o seletor de ferramentas abre em tela cheia ou barra lateral por padrão", "mode": { - "fullscreen": "Tela cheia", - "sidebar": "Barra lateral" - } + "sidebar": "Barra lateral", + "fullscreen": "Tela cheia" + }, + "autoUnzipTooltip": "Extrai automaticamente arquivos ZIP retornados por operações da API. Desative para manter os arquivos ZIP intactos. Isso não afeta fluxos de automação.", + "autoUnzip": "Descompactar automaticamente respostas da API", + "autoUnzipDescription": "Extrair automaticamente arquivos de respostas ZIP", + "autoUnzipFileLimitTooltip": "Somente descompactar se o ZIP contiver esse número de arquivos ou menos. Defina mais alto para extrair ZIPs maiores.", + "autoUnzipFileLimit": "Limite de arquivos para descompactação automática", + "autoUnzipFileLimitDescription": "Número máximo de arquivos a extrair do ZIP", + "defaultPdfEditor": "Editor de PDF padrão", + "defaultPdfEditorActive": "O Stirling PDF é seu editor de PDF padrão", + "defaultPdfEditorInactive": "Outro aplicativo está definido como padrão", + "defaultPdfEditorChecking": "Verificando...", + "defaultPdfEditorSet": "Já é padrão", + "setAsDefault": "Definir como padrão", + "updates": { + "title": "Atualizações de software", + "description": "Verifique atualizações e veja informações da versão", + "currentVersion": "Versão atual", + "latestVersion": "Última versão", + "checkForUpdates": "Verificar atualizações", + "viewDetails": "Ver detalhes" + }, + "hideUnavailableTools": "Ocultar ferramentas indisponíveis", + "hideUnavailableToolsDescription": "Remove ferramentas desativadas pelo servidor em vez de mostrá-las esmaecidas.", + "hideUnavailableConversions": "Ocultar conversões indisponíveis", + "hideUnavailableConversionsDescription": "Remove opções de conversão desativadas na ferramenta Converter em vez de mostrá-las esmaecidas." }, "hotkeys": { - "title": "Atalhos de teclado", - "description": "Passe o mouse sobre uma ferramenta para ver seu atalho ou personalize abaixo. Clique em \"Alterar atalho\" e pressione uma nova combinação de teclas. Pressione Esc para cancelar.", - "errorModifier": { - "mac": "Inclua ⌘ (Command), ⌥ (Option) ou outro modificador no atalho.", - "windows": "Inclua Ctrl, Alt ou outro modificador no atalho." - }, "errorConflict": "Atalho já usado por {{tool}}.", + "searchPlaceholder": "Pesquisar ferramentas...", "none": "Não atribuído", "customBadge": "Personalizado", "defaultLabel": "Padrão: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Alterar atalho", "reset": "Redefinir", "shortcut": "Atalho", - "noShortcut": "Nenhum atalho definido", - "searchPlaceholder": "Pesquisar ferramentas..." + "noShortcut": "Nenhum atalho definido" } }, + "update": { + "modalTitle": "Atualização disponível", + "current": "Versão atual", + "latest": "Última versão", + "latestStable": "Última estável", + "priorityLabel": "Prioridade", + "recommendedAction": "Ação recomendada", + "breakingChangesDetected": "Alterações incompatíveis detectadas", + "breakingChangesMessage": "Algumas versões contêm alterações incompatíveis. Revise os guias de migração abaixo antes de atualizar.", + "migrationGuides": "Guias de migração", + "viewGuide": "Ver guia", + "loadingDetailedInfo": "Carregando informações detalhadas...", + "close": "Fechar", + "viewAllReleases": "Ver todas as versões", + "downloadLatest": "Baixar a mais recente", + "availableUpdates": "Atualizações disponíveis", + "unableToLoadDetails": "Não foi possível carregar informações detalhadas.", + "version": "Versão", + "urgentUpdateAvailable": "Atualização urgente", + "updateAvailable": "Atualização disponível", + "releaseNotes": "Notas da versão", + "priority": { + "urgent": "Urgente", + "normal": "Normal", + "minor": "Menor", + "low": "Baixa" + }, + "breakingChanges": "Alterações incompatíveis", + "breakingChangesDefault": "Esta versão contém alterações incompatíveis.", + "migrationGuide": "Guia de migração" + }, "changeCreds": { "title": "Alterar Credenciais", "header": "Atualizar Detalhes da Conta", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Sobrepor um PDF sobre outro", "title": "Sobrepor PDFs" + }, + "pdfTextEditor": { + "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" + }, + "addText": { + "tags": "texto,anotação,rótulo", + "title": "Adicionar texto", + "desc": "Adicione texto personalizado em qualquer lugar do seu PDF" } }, "landing": { "addFiles": "Adicionar arquivos", - "uploadFromComputer": "Fazer upload do computador" + "uploadFromComputer": "Fazer upload do computador", + "openFromComputer": "Abrir do computador" }, "viewPdf": { "tags": "visualizar,ler,anotar,texto,imagem", @@ -849,6 +922,11 @@ }, "error": { "failed": "Ocorreu um erro ao mesclar os PDFs." + }, + "tooltip": { + "header": { + "title": "Visão geral das configurações de mesclagem" + } } }, "split": { @@ -1182,9 +1260,43 @@ "tags": "img,jpg,imagem,foto", "title": "Adicionar Imagem", "header": "Adicionar Imagem", - "everyPage": "Para cada página?", - "upload": "Carregar imagem", - "submit": "Adicionar imagem" + "image": { + "name": "Imagem", + "placeholder": "Enviar uma imagem", + "label": "Arquivo de imagem" + }, + "steps": { + "configure": "Configurar imagem" + }, + "step": { + "createDesc": "Envie a imagem que deseja adicionar", + "place": "Posicionar imagem", + "placeDesc": "Clique no PDF para adicionar sua imagem" + }, + "instructions": { + "title": "Como adicionar imagens", + "text": "Após enviar sua imagem acima, clique em qualquer lugar no PDF para posicioná-la.", + "paused": "Posicionamento pausado", + "resumeHint": "Retome o posicionamento para clicar e adicionar sua imagem.", + "noSignature": "Envie uma imagem acima para habilitar o posicionamento." + }, + "mode": { + "move": "Mover imagem", + "place": "Posicionar imagem", + "pause": "Pausar posicionamento", + "resume": "Retomar posicionamento" + }, + "results": { + "title": "Resultados de adicionar imagem" + }, + "error": { + "failed": "Ocorreu um erro ao adicionar a imagem ao PDF." + }, + "saved": { + "defaultLabel": "Imagem", + "defaultImageLabel": "Imagem enviada" + }, + "applySignatures": "Aplicar imagens" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1397,6 +1509,93 @@ }, "submit": "Alterar" }, + "editTableOfContents": { + "settings": { + "title": "Marcadores e sumário", + "replaceExisting": "Substituir marcadores existentes (desmarque para acrescentar)", + "replaceExistingHint": "Quando desativado, o novo sumário é acrescentado após os marcadores atuais." + }, + "actions": { + "source": "Carregar marcadores", + "selectedFile": "Carregado de {{file}}", + "noFile": "Selecione um PDF para extrair os marcadores existentes.", + "loadFromPdf": "Carregar do PDF selecionado", + "importJson": "Importar JSON", + "importClipboard": "Colar JSON da área de transferência", + "export": "Exportar marcadores", + "exportJson": "Baixar JSON", + "exportClipboard": "Copiar JSON para a área de transferência", + "clipboardUnavailable": "O acesso à área de transferência não está disponível neste navegador." + }, + "info": { + "line1": "Cada marcador precisa de um título descritivo e da página que deve abrir.", + "line2": "Use marcadores filhos para criar uma hierarquia para capítulos, seções ou subseções.", + "line3": "Importe marcadores do PDF selecionado ou de um arquivo JSON para economizar tempo." + }, + "workbench": { + "empty": { + "title": "Abra a ferramenta para começar a editar", + "description": "Selecione a ferramenta Editar sumário para carregar o espaço de trabalho." + }, + "tabTitle": "Área de trabalho do sumário", + "subtitle": "Importe marcadores, crie hierarquias e aplique o sumário sem painéis laterais apertados.", + "noFile": "Nenhum PDF selecionado", + "fileLabel": "As alterações serão aplicadas ao PDF atualmente selecionado.", + "filePrompt": "Selecione um PDF da sua biblioteca ou envie um novo para começar.", + "changeFile": "Trocar PDF", + "selectFile": "Selecionar PDF" + }, + "editor": { + "heading": "Editor de marcadores", + "description": "Adicione, aninhe e reordene marcadores para montar o sumário do seu PDF.", + "addTopLevel": "Adicionar marcador de nível superior", + "empty": { + "title": "Ainda não há marcadores", + "description": "Importe marcadores existentes ou comece adicionando sua primeira entrada.", + "action": "Adicionar primeiro marcador" + }, + "defaultTitle": "Novo marcador", + "defaultChildTitle": "Marcador filho", + "defaultSiblingTitle": "Novo marcador", + "untitled": "Marcador sem título", + "childBadge": "Filho", + "pagePreview": "Página {{page}}", + "field": { + "title": "Título do marcador", + "page": "Número da página de destino" + }, + "actions": { + "toggle": "Alternar filhos", + "addChild": "Adicionar marcador filho", + "addSibling": "Adicionar marcador irmão", + "remove": "Remover marcador" + }, + "confirmRemove": "Remover este marcador e todos os seus filhos?" + }, + "messages": { + "loadedTitle": "Marcadores extraídos", + "loadedBody": "Marcadores existentes do PDF foram carregados no editor.", + "noBookmarks": "Nenhum marcador foi encontrado no PDF selecionado.", + "loadFailed": "Não foi possível extrair marcadores do PDF selecionado.", + "imported": "Marcadores importados", + "importedBody": "Seu sumário JSON substituiu o conteúdo atual do editor.", + "importedClipboard": "Os dados da área de transferência substituíram a lista de marcadores atual.", + "invalidJson": "Estrutura JSON inválida", + "invalidJsonBody": "Forneça um arquivo JSON de marcadores válido e tente novamente.", + "exported": "Download de JSON pronto", + "copied": "Copiado para a área de transferência", + "copiedBody": "JSON de marcadores copiado com sucesso.", + "copyFailed": "Falha ao copiar" + }, + "error": { + "failed": "Falha ao atualizar o sumário" + }, + "submit": "Aplicar sumário", + "results": { + "title": "PDF atualizado com marcadores", + "subtitle": "Baixe o arquivo processado ou desfaça a operação abaixo." + } + }, "removePages": { "tags": "Remover páginas,excluir páginas", "title": "Remover Páginas", @@ -1978,13 +2177,54 @@ "title": "Desenhe sua assinatura", "clear": "Limpar" }, + "canvas": { + "heading": "Desenhe sua assinatura", + "clickToOpen": "Clique para abrir a tela de desenho", + "modalTitle": "Desenhe sua assinatura", + "colorLabel": "Cor", + "penSizeLabel": "Espessura", + "penSizePlaceholder": "Tamanho", + "clear": "Limpar tela", + "colorPickerTitle": "Escolha a cor do traço" + }, "text": { "name": "Nome do signatário", - "placeholder": "Insira seu nome completo" + "placeholder": "Insira seu nome completo", + "fontLabel": "Fonte", + "fontSizeLabel": "Tamanho da fonte", + "fontSizePlaceholder": "Digite ou selecione o tamanho da fonte (8-200)", + "colorLabel": "Cor do texto" }, "clear": "Limpar", "add": "Adicionar", - "saved": "Assinaturas Salvas", + "saved": { + "heading": "Assinaturas salvas", + "description": "Reutilize assinaturas salvas a qualquer momento.", + "emptyTitle": "Ainda não há assinaturas salvas", + "emptyDescription": "Desenhe, envie ou digite uma assinatura acima e use \"Salvar na biblioteca\" para manter até {{max}} favoritas prontas para uso.", + "type": { + "canvas": "Desenho", + "image": "Upload", + "text": "Texto" + }, + "limitTitle": "Limite atingido", + "limitDescription": "Remova uma assinatura salva antes de adicionar novas (máx. {{max}}).", + "carouselPosition": "{{current}} de {{total}}", + "prev": "Anterior", + "next": "Próximo", + "delete": "Remover", + "label": "Rótulo", + "defaultLabel": "Assinatura", + "defaultCanvasLabel": "Assinatura desenhada", + "defaultImageLabel": "Assinatura enviada", + "defaultTextLabel": "Assinatura digitada", + "saveButton": "Salvar assinatura", + "saveUnavailable": "Crie uma assinatura primeiro para salvá-la.", + "noChanges": "A assinatura atual já está salva.", + "status": { + "saved": "Salva" + } + }, "save": "Salvar Assinatura", "applySignatures": "Aplicar assinaturas", "personalSigs": "Assinaturas Pessoais", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Configurar assinatura" }, + "step": { + "createDesc": "Escolha como deseja criar a assinatura", + "place": "Posicionar e salvar", + "placeDesc": "Posicione a assinatura no seu PDF" + }, "type": { "title": "Tipo de assinatura", "draw": "Desenhar", - "canvas": "Canvas", + "canvas": "Tela", "image": "Imagem", - "text": "Texto" + "text": "Texto", + "saved": "Salvas" }, "image": { "label": "Enviar imagem da assinatura", @@ -2019,11 +2265,17 @@ "title": "Como adicionar assinatura", "canvas": "Depois de desenhar sua assinatura no canvas, feche o modal e clique em qualquer lugar no PDF para posicioná-la.", "image": "Depois de enviar a imagem da sua assinatura acima, clique em qualquer lugar no PDF para posicioná-la.", - "text": "Depois de inserir seu nome acima, clique em qualquer lugar no PDF para posicionar sua assinatura." + "saved": "Selecione uma assinatura salva acima e clique em qualquer lugar no PDF para posicioná-la.", + "text": "Depois de inserir seu nome acima, clique em qualquer lugar no PDF para posicionar sua assinatura.", + "paused": "Posicionamento pausado", + "resumeHint": "Retome o posicionamento para clicar e adicionar sua assinatura.", + "noSignature": "Crie uma assinatura acima para habilitar as ferramentas de posicionamento." }, "mode": { "move": "Mover assinatura", - "place": "Posicionar assinatura" + "place": "Posicionar assinatura", + "pause": "Pausar posicionamento", + "resume": "Retomar posicionamento" }, "updateAndPlace": "Atualizar e posicionar", "activate": "Ativar posicionamento de assinatura", @@ -2163,6 +2415,14 @@ "title": "Sobre remover anotações", "description": "Esta ferramenta removerá todas as anotações (comentários, realces, notas etc.) dos seus documentos PDF." }, + "tooltip": { + "header": { + "title": "Sobre Remover Anotações" + }, + "description": { + "title": "O que faz" + } + }, "error": { "failed": "Ocorreu um erro ao remover anotações do PDF." } @@ -2578,7 +2838,7 @@ "label": "Tamanho de página desejado", "keep": "Manter tamanho original", "letter": "Carta", - "legal": "Legal" + "legal": "Ofício" }, "submit": "Ajustar escala da página", "error": { @@ -2627,6 +2887,9 @@ "header": { "title": "Como funciona a renomeação automática" }, + "description": { + "title": "O que faz" + }, "howItWorks": { "title": "Renomeação inteligente", "text": "Localiza automaticamente o título no conteúdo do seu PDF e o usa como nome de arquivo.", @@ -2634,6 +2897,9 @@ "bullet2": "Cria um nome de arquivo limpo e válido a partir do título detectado", "bullet3": "Mantém o nome original se nenhum título adequado for encontrado" } + }, + "settings": { + "title": "Sobre" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "Erro inesperado: {{message}}", "accountCreatedSuccess": "Conta criada com sucesso! Você já pode entrar.", "passwordChangedSuccess": "Senha alterada com sucesso! Faça login com sua nova senha.", - "credentialsUpdated": "Suas credenciais foram atualizadas. Faça login novamente." + "credentialsUpdated": "Suas credenciais foram atualizadas. Faça login novamente.", + "defaultCredentials": "Credenciais de Login Padrão", + "changePasswordWarning": "Altere sua senha após fazer login pela primeira vez", + "slides": { + "overview": { + "alt": "Visão geral do Stirling PDF", + "title": "Tudo o que você precisa para PDFs em um só lugar.", + "subtitle": "Uma suíte em nuvem com foco em privacidade para PDFs que permite converter, assinar, ocultar e gerenciar documentos, além de 50+ outras ferramentas poderosas." + }, + "edit": { + "alt": "Editar PDFs", + "title": "Edite PDFs para exibir/proteger as informações que você deseja", + "subtitle": "Com mais de uma dúzia de ferramentas para ajudar a ocultar, assinar, ler e manipular PDFs, você certamente encontrará o que precisa." + }, + "secure": { + "alt": "Proteger PDFs", + "title": "Proteja informações sensíveis em seus PDFs", + "subtitle": "Adicione senhas, oculte conteúdo e gerencie certificados com facilidade." + } + } }, "signup": { "title": "Criar uma conta", @@ -3598,7 +3883,9 @@ "exportAll": "Exportar PDF", "downloadSelected": "Baixar arquivos selecionados", "downloadAll": "Baixar tudo", + "saveAll": "Salvar tudo", "toggleTheme": "Alternar tema", + "toggleBookmarks": "Alternar marcadores", "language": "Idioma", "search": "Pesquisar PDF", "panMode": "Modo de panorâmica", @@ -3685,8 +3972,16 @@ "saved": "Configurações salvas com sucesso", "saveSuccess": "Configurações salvas com sucesso", "save": "Salvar alterações", + "discard": "Descartar", "restartRequired": "Reinicialização necessária", "loginRequired": "O modo de login deve estar habilitado para modificar as configurações de administrador", + "unsavedChanges": { + "title": "Alterações não salvas", + "message": "Você tem alterações não salvas. Deseja descartá-las?", + "cancel": "Continuar editando", + "discard": "Descartar alterações", + "hint": "Você tem alterações não salvas" + }, "loginDisabled": { "title": "Modo de login necessário", "message": "O modo de login deve estar habilitado para modificar as configurações de administrador. Defina SECURITY_ENABLELOGIN=true em seu ambiente ou security.enableLogin: true em settings.yml e reinicie o servidor.", @@ -4212,9 +4507,21 @@ "title": "Premium e Enterprise", "description": "Configurar sua chave de licença premium ou enterprise.", "license": "Configuração de licença", + "licenseKey": { + "toggle": "Tem uma chave de licença ou arquivo de certificado?", + "info": "Se você tem uma chave de licença ou um arquivo de certificado de uma compra direta, insira aqui para ativar recursos premium ou enterprise." + }, "key": { "label": "Chave de licença", - "description": "Insira sua chave de licença premium ou enterprise" + "description": "Insira sua chave de licença premium ou enterprise", + "success": "Chave de licença salva", + "successMessage": "Sua chave de licença foi ativada com sucesso. Não é necessário reiniciar.", + "overwriteWarning": { + "title": "⚠️ Aviso: licença existente detectada", + "line1": "Substituir sua chave de licença atual não pode ser desfeito.", + "line2": "Sua licença anterior será perdida permanentemente, a menos que você tenha um backup em outro lugar.", + "line3": "Importante: mantenha chaves de licença privadas e seguras. Nunca as compartilhe publicamente." + } }, "enabled": { "label": "Habilitar recursos Premium", @@ -4278,12 +4585,17 @@ "or": "ou", "dropFileHere": "Solte o arquivo aqui ou clique para fazer upload", "dropFilesHere": "Solte os arquivos aqui ou clique no botão de upload", + "dropFilesHereOpen": "Solte arquivos aqui ou clique no botão abrir", "pdfFilesOnly": "Apenas arquivos PDF", "supportedFileTypes": "Tipos de arquivo suportados", "upload": "Fazer upload", "uploadFile": "Fazer upload de arquivo", "uploadFiles": "Fazer upload de arquivos", + "open": "Abrir", + "openFile": "Abrir arquivo", + "openFiles": "Abrir arquivos", "noFilesInStorage": "Nenhum arquivo disponível no armazenamento. Primeiro faça upload de alguns arquivos.", + "noFilesInStorageOpen": "Nenhum arquivo disponível no armazenamento. Abra alguns arquivos primeiro.", "selectFromStorage": "Selecionar do armazenamento", "backToTools": "Voltar às ferramentas", "addFiles": "Adicionar arquivos", @@ -4329,6 +4641,8 @@ "myFiles": "Meus arquivos", "noRecentFiles": "Nenhum arquivo recente encontrado", "googleDriveNotAvailable": "Integração com Google Drive indisponível", + "downloadSelected": "Baixar selecionados", + "saveSelected": "Salvar selecionados", "openFiles": "Abrir arquivos", "openFile": "Abrir arquivo", "details": "Detalhes do arquivo", @@ -4341,7 +4655,6 @@ "selectAll": "Selecionar Tudo", "deselectAll": "Desselecionar Tudo", "deleteSelected": "Apagar Selecionados", - "downloadSelected": "Baixar selecionados", "selectedCount": "{{count}} selecionado(s)", "download": "Baixar (JSON)", "delete": "Apagar", @@ -4621,9 +4934,14 @@ "secureWorkflow": "Fluxo de segurança", "secureWorkflowDesc": "Protege documentos PDF removendo conteúdo potencialmente malicioso, como JavaScript e arquivos incorporados, e adiciona proteção por senha para evitar acesso não autorizado. A senha padrão é 'password'.", "processImages": "Processar imagens", - "processImagesDesc": "Converte vários arquivos de imagem em um único documento PDF e, em seguida, aplica tecnologia de OCR para extrair texto pesquisável das imagens." + "processImagesDesc": "Converte vários arquivos de imagem em um único documento PDF e, em seguida, aplica tecnologia de OCR para extrair texto pesquisável das imagens.", + "prePublishSanitization": "Higienização pré-publicação", + "prePublishSanitizationDesc": "Fluxo de higienização que remove todos os metadados ocultos, JavaScript, arquivos incorporados, anotações e achata formulários para evitar vazamento de dados antes de publicar PDFs online." } }, + "colorPicker": { + "title": "Escolha a cor" + }, "common": { "previous": "Anterior", "next": "Próximo", @@ -4639,7 +4957,13 @@ "used": "usado", "available": "disponível", "cancel": "Cancelar", - "preview": "Pré-visualização" + "preview": "Pré-visualização", + "close": "Fechar", + "done": "Concluído", + "loading": "Carregando...", + "back": "Voltar", + "continue": "Continuar", + "error": "Erro" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Adicionar mais arquivos...", "selectedFiles": "Arquivos selecionados", "submit": "Adicionar anexos", + "tooltip": { + "header": { + "title": "Sobre Adicionar Anexos" + }, + "description": { + "title": "O que faz" + } + }, "results": { "title": "Resultados dos anexos" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Posição personalizada", "details": "Detalhes", - "downloadUnavailable": "Download indisponível para este item", "invalidUndoData": "Não é possível desfazer: dados de operação inválidos", "margin": { "large": "Grande", @@ -4801,6 +5132,10 @@ "maybeLater": "Talvez mais tarde", "dontShowAgain": "Não mostrar novamente" }, + "welcomeSlide": { + "title": "Bem-vindo ao Stirling", + "body": "Stirling PDF agora está pronto para equipes de todos os tamanhos. Esta atualização inclui um novo layout, poderosos recursos de administração e nosso recurso mais solicitado - Editar texto." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Vamos selecionar a ferramenta de Recortar para demonstrar como usar uma das ferramentas.", "toolInterface": "Esta é a interface da ferramenta de Recortar. Como você pode ver, não há muito aqui porque ainda não adicionamos nenhum arquivo PDF para trabalhar.", @@ -4823,7 +5158,39 @@ "next": "Próximo", "finish": "Concluir", "startTour": "Iniciar tour", - "startTourDescription": "Faça um tour guiado pelos principais recursos do Stirling PDF" + "startTourDescription": "Faça um tour guiado pelos principais recursos do Stirling PDF", + "buttons": { + "next": "Próximo →", + "back": "Voltar", + "skipForNow": "Pular por enquanto", + "download": "Baixar →", + "showMeAround": "Me mostre por aí", + "skipTheTour": "Pular o tour" + }, + "serverLicense": { + "skip": "Pular por enquanto", + "seePlans": "Ver planos →", + "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 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." + }, + "desktopInstall": { + "title": "Download", + "titleWithOs": "Download para {{osLabel}}", + "body": "O Stirling funciona melhor como app desktop. Você pode usá-lo offline, acessar documentos mais rápido e fazer edições localmente no computador." + }, + "planOverview": { + "adminTitle": "Visão geral do admin", + "userTitle": "Visão geral do plano", + "adminBodyLoginEnabled": "Como admin, você pode gerenciar usuários, configurar as configurações e monitorar a integridade do servidor. As primeiras {{freeTierLimit}} pessoas no seu servidor usam o Stirling gratuitamente.", + "adminBodyLoginDisabled": "Depois de ativar o modo de login, você poderá gerenciar usuários, configurar as configurações e monitorar a integridade do servidor. As primeiras {{freeTierLimit}} pessoas no seu servidor usam o Stirling gratuitamente.", + "userBody": "Convide colegas, atribua funções e mantenha seus documentos organizados em um espaço de trabalho seguro. Ative o modo de login quando estiver pronto para ir além do uso individual." + }, + "securityCheck": { + "message": "O aplicativo passou por mudanças significativas recentemente. Pode ser necessária a atenção do administrador do servidor. Confirme seu papel para continuar." + } }, "adminOnboarding": { "welcome": "Bem-vindo ao Tour do Admin! Vamos explorar os poderosos recursos e configurações empresariais disponíveis para administradores do sistema.", @@ -4852,7 +5219,10 @@ "role": "Função", "team": "Equipe", "status": "Status", - "actions": "Ações", + "actions": { + "label": "Ações", + "upgrade": "Upgrade" + }, "noMembersFound": "Nenhum membro encontrado", "active": "Ativo", "disabled": "Desativado", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} vaga(s) de usuário disponível(is)", "noSlotsAvailable": "Nenhuma vaga disponível", "currentUsage": "Atualmente usando {{current}} de {{max}} licenças de usuário" - } + }, + "loginRequired": "Ative o modo de login primeiro" }, "teams": { "title": "Equipes", @@ -5057,6 +5428,17 @@ "showComparison": "Comparar todos os recursos", "hideComparison": "Ocultar comparação de recursos", "featureComparison": "Comparação de recursos", + "from": "A partir de", + "perMonth": "/mês", + "perSeat": "/assento", + "withServer": "+ Plano Server", + "licensedSeats": "Licenciados: {{count}} assentos", + "includedInCurrent": "Incluído no seu plano", + "selectPlan": "Selecionar plano", + "manage": "Gerenciar", + "manageSubscription": { + "description": "Gerencie sua assinatura, cobrança e formas de pagamento" + }, "activePlan": { "title": "Plano ativo", "subtitle": "Detalhes da sua assinatura atual" @@ -5074,13 +5456,16 @@ "upTo": "Até" }, "period": { - "month": "mês" + "month": "mês", + "perUserPerMonth": "/usuário/mês" }, "free": { "name": "Gratuito", "highlight1": "Uso limitado de ferramentas por semana", "highlight2": "Acesso a todas as ferramentas", - "highlight3": "Suporte da comunidade" + "highlight3": "Suporte da comunidade", + "forever": "Gratuito para sempre", + "included": "Incluído" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Empresarial", "highlight1": "Preços personalizados", "highlight2": "Suporte dedicado", - "highlight3": "Recursos mais recentes" + "highlight3": "Recursos mais recentes", + "requiresServer": "Requer Server", + "requiresServerMessage": "Faça upgrade para o plano Server antes de atualizar para Enterprise." }, "feature": { "title": "Recurso", @@ -5102,6 +5489,12 @@ "api": "Acesso à API", "priority": "Suporte prioritário", "customPricing": "Preços personalizados" + }, + "licenseWarning": { + "title": "Limite gratuito de self-hosted atingido", + "body": "Você tem {{total}} usuários, mas o nível gratuito suporta apenas {{limit}} por servidor. Faça upgrade para manter o Stirling PDF funcionando sem problemas.", + "overLimit": "mais de {{limit}}", + "cta": "Ver planos" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Gerenciar cobrança", "portal": { "error": "Falha ao abrir o portal de cobrança" - } + }, + "updateSeats": "Atualizar assentos", + "updateEnterpriseSeats": "Atualizar assentos Enterprise", + "currentSeats": "Assentos atuais", + "minimumSeats": "Mínimo de assentos", + "basedOnUsers": "(usuários atuais)", + "newSeatCount": "Novo número de assentos", + "newSeatCountDescription": "Selecione o número de assentos para sua licença enterprise", + "whatHappensNext": "O que acontece a seguir?", + "stripePortalRedirect": "Você será redirecionado ao portal de cobrança da Stripe para revisar e confirmar a alteração de assentos. O valor proporcional será calculado automaticamente.", + "preparingUpdate": "Preparando atualização de assentos...", + "seatCountTooLow": "O número de assentos deve ser pelo menos {{minimum}} (número atual de usuários)", + "seatCountUnchanged": "Selecione um número de assentos diferente", + "seatsUpdated": "Assentos atualizados", + "seatsUpdatedMessage": "Seus assentos Enterprise foram atualizados para {{seats}}", + "updateProcessing": "Processando atualização", + "updateProcessingMessage": "Sua atualização de assentos está sendo processada. Atualize em alguns instantes.", + "notEnterprise": "Gerenciamento de assentos disponível apenas para licenças Enterprise" + }, + "upgradeBanner": { + "title": "Faça upgrade para o plano Server", + "message": "Aproveite ao máximo o Stirling PDF com usuários ilimitados e recursos avançados", + "upgradeButton": "Fazer upgrade agora", + "dismiss": "Dispensar banner", + "attentionTitle": "Este servidor precisa de atenção do admin", + "attentionBody": "Seu admin precisa entrar para ver mais informações. Entre em contato com ele imediatamente.", + "attentionBodyAdmin": "Revise os requisitos de licença para manter este servidor em conformidade.", + "seeInfo": "Ver informações" }, "payment": { "preparing": "Preparando seu checkout...", @@ -5128,7 +5548,61 @@ "success": "Pagamento bem-sucedido!", "successMessage": "Sua assinatura foi ativada com sucesso. Você receberá um e-mail de confirmação em breve.", "autoClose": "Esta janela será fechada automaticamente...", - "error": "Erro de pagamento" + "error": "Erro de pagamento", + "upgradeSuccess": "Pagamento bem-sucedido! Sua assinatura foi atualizada. A licença foi atualizada no seu servidor. Você receberá um e-mail de confirmação em breve.", + "paymentSuccess": "Pagamento bem-sucedido! Recuperando sua chave de licença...", + "licenseActivated": "Licença ativada! Sua chave de licença foi salva. Um e-mail de confirmação foi enviado ao seu endereço de e-mail registrado.", + "licenseDelayed": "Pagamento bem-sucedido! Sua licença está sendo gerada. Você receberá um e-mail com sua chave de licença em breve. Se não receber em 10 minutos, entre em contato com o suporte.", + "licensePollingError": "Pagamento bem-sucedido, mas não foi possível recuperar sua chave de licença automaticamente. Verifique seu e-mail ou contate o suporte com a confirmação do pagamento.", + "licenseRetrievalError": "Pagamento bem-sucedido, mas a recuperação da licença falhou. Você receberá sua chave de licença por e-mail. Contate o suporte se não receber em 10 minutos.", + "syncError": "Pagamento bem-sucedido, mas a sincronização da licença falhou. Sua licença será atualizada em breve. Contate o suporte se o problema persistir.", + "licenseSaveError": "Falha ao salvar a chave de licença. Contate o suporte com sua chave para concluir a ativação.", + "paymentCanceled": "Pagamento foi cancelado. Nenhuma cobrança foi feita.", + "syncingLicense": "Sincronizando sua licença atualizada...", + "generatingLicense": "Gerando sua chave de licença...", + "upgradeComplete": "Upgrade concluído", + "upgradeCompleteMessage": "Sua assinatura foi atualizada com sucesso. Sua chave de licença existente foi atualizada.", + "stripeNotConfigured": "Stripe não configurado", + "stripeNotConfiguredMessage": "A integração de pagamento via Stripe não está configurada. Contate o administrador.", + "monthly": "Mensal", + "yearly": "Anual", + "billingPeriod": "Período de cobrança", + "enterpriseNote": "Assentos podem ser ajustados no checkout (1-1000).", + "installationId": "ID da instalação", + "licenseKey": "Sua chave de licença", + "licenseInstructions": "Isso foi adicionado à sua instalação. Você também receberá uma cópia por e-mail.", + "canCloseWindow": "Você já pode fechar esta janela.", + "licenseKeyProcessing": "Processando chave de licença", + "licenseDelayedMessage": "Sua chave de licença está sendo gerada. Verifique seu e-mail em breve ou contate o suporte.", + "perYear": "/ano", + "perMonth": "/mês", + "emailInvalid": "Digite um endereço de e-mail válido", + "emailStage": { + "title": "Informe seu e-mail", + "description": "Usaremos isso para enviar sua chave de licença e recibos.", + "emailLabel": "Endereço de e-mail", + "emailPlaceholder": "your@email.com", + "continue": "Continuar", + "modalTitle": "Começar - {{planName}}" + }, + "planStage": { + "title": "Escolha seu período de cobrança", + "savingsNote": "Economize {{percent}}% com cobrança anual", + "basePrice": "Preço base", + "seatPrice": "Por assento", + "totalForSeats": "Total ({{count}} assentos)", + "selectMonthly": "Selecionar mensal", + "selectYearly": "Selecionar anual", + "savePercent": "Economize {{percent}}%", + "savingsAmount": "Você economiza {{amount}}", + "modalTitle": "Selecionar período de cobrança - {{planName}}", + "billedYearly": "Cobrado anualmente em {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Voltar para seleção de plano", + "selectedPlan": "Plano selecionado", + "modalTitle": "Concluir pagamento - {{planName}}" + } }, "firstLogin": { "title": "Primeiro login", @@ -5287,5 +5761,281 @@ "offline": "Backend offline", "starting": "Backend iniciando...", "wait": "Aguarde o backend concluir a inicialização e tente novamente." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Desbloqueie o PDF para continuar", + "title": "Remover a senha para continuar", + "description": "Este PDF está protegido por senha. Insira a senha para continuar trabalhando nele.", + "password": { + "label": "Senha do PDF", + "placeholder": "Insira a senha do PDF" + }, + "skip": "Pular por enquanto", + "unlock": "Desbloquear e continuar", + "incorrectPassword": "Senha incorreta", + "missingFile": "O arquivo selecionado não está mais disponível.", + "emptyResponse": "A remoção da senha não gerou um arquivo.", + "required": "Insira a senha para continuar.", + "successTitle": "Senha removida", + "successBodyWithName": "Senha removida de {{fileName}}", + "successBody": "Senha removida com sucesso." + }, + "setup": { + "welcome": "Bem-vindo ao Stirling PDF", + "description": "Comece escolhendo como deseja usar o Stirling PDF", + "step1": { + "label": "Escolher modo", + "description": "Offline ou servidor" + }, + "step2": { + "label": "Selecionar servidor", + "description": "Servidor self-hosted" + }, + "step3": { + "label": "Login", + "description": "Informar credenciais" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Entre com sua conta do Stirling" + }, + "selfhosted": { + "title": "Servidor self-hosted", + "description": "Conecte-se ao seu próprio servidor Stirling PDF" + } + }, + "saas": { + "title": "Entrar no Stirling", + "subtitle": "Entre com sua conta do Stirling" + }, + "selfhosted": { + "title": "Entrar no servidor", + "subtitle": "Informe suas credenciais do servidor" + }, + "server": { + "title": "Conectar ao servidor", + "subtitle": "Informe a URL do seu servidor self-hosted", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Servidor self-hosted" + }, + "url": { + "label": "URL do servidor", + "description": "Informe a URL completa do seu servidor self-hosted Stirling PDF" + }, + "error": { + "emptyUrl": "Informe uma URL de servidor", + "unreachable": "Não foi possível conectar ao servidor", + "testFailed": "Falha no teste de conexão" + }, + "testing": "Testando conexão..." + }, + "login": { + "title": "Entrar", + "subtitle": "Informe suas credenciais para continuar", + "connectingTo": "Conectando a:", + "username": { + "label": "Usuário", + "placeholder": "Digite seu usuário" + }, + "email": { + "label": "Email", + "placeholder": "Digite seu e-mail" + }, + "password": { + "label": "Senha", + "placeholder": "Digite sua senha" + }, + "error": { + "emptyUsername": "Digite seu usuário", + "emptyEmail": "Digite seu e-mail", + "emptyPassword": "Digite sua senha", + "oauthFailed": "Falha no login via OAuth. Tente novamente." + }, + "submit": "Login", + "signInWith": "Entrar com", + "oauthPending": "Abrindo o navegador para autenticação...", + "orContinueWith": "Ou continue com e-mail" + } + }, + "oauth": { + "success": { + "title": "Autenticação bem-sucedida", + "message": "Você pode fechar esta janela e voltar ao Stirling PDF." + }, + "error": { + "title": "Falha na autenticação", + "message": "A autenticação não foi bem-sucedida. Você pode fechar esta janela e tentar novamente." + } + }, + "pdfTextEditor": { + "title": "Editor de JSON de PDF", + "viewLabel": "Editor de PDF", + "converting": "Convertendo o PDF para formato editável...", + "conversionFailed": "Falha ao converter o PDF. Tente novamente.", + "currentFile": "Arquivo atual: {{name}}", + "pageSummary": "Página {{number}} de {{total}}", + "pagePreviewAlt": "Prévia da página", + "imageLabel": "Imagem posicionada", + "noTextOnPage": "Nenhum texto editável foi detectado nesta página.", + "pageType": { + "paragraph": "Página de parágrafos", + "sparse": "Texto esparso" + }, + "groupingMode": { + "auto": "Auto", + "paragraph": "Parágrafo", + "singleLine": "Linha única" + }, + "badges": { + "unsaved": "Editado", + "modified": "Editado", + "earlyAccess": "Acesso antecipado" + }, + "actions": { + "reset": "Reverter alterações", + "downloadJson": "Baixar JSON", + "generatePdf": "Gerar PDF" + }, + "options": { + "autoScaleText": { + "title": "Dimensionar texto automaticamente para caber nas caixas", + "description": "Dimensiona o texto horizontalmente para caber na caixa delimitadora original quando a renderização da fonte difere do PDF." + }, + "groupingMode": { + "title": "Modo de agrupamento de texto", + "autoDescription": "Detecta automaticamente o tipo de página e agrupa o texto de forma apropriada.", + "paragraphDescription": "Agrupa linhas alinhadas em caixas de texto de parágrafo multilinha.", + "singleLineDescription": "Mantém cada linha de texto do PDF como uma caixa de texto separada." + }, + "manualGrouping": { + "descriptionInline": "Dica: Segure Ctrl (Cmd) ou Shift para selecionar várias caixas de texto. Uma barra de ferramentas flutuante aparecerá acima da seleção para você mesclar, desagrupar ou ajustar larguras." + }, + "forceSingleElement": { + "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." + } + }, + "manual": { + "mergeTooltip": "Mesclar caixas selecionadas", + "merge": "Mesclar seleção", + "ungroupTooltip": "Dividir parágrafo de volta em linhas", + "ungroup": "Desagrupar seleção", + "widthMenu": "Opções de largura", + "expandWidth": "Expandir até a borda da página", + "resetWidth": "Redefinir largura", + "resizeHandle": "Ajustar largura do texto" + }, + "disclaimer": { + "heading": "Limitações da visualização", + "textFocus": "Este espaço de trabalho foca na edição de texto e no reposicionamento de imagens incorporadas. Artes complexas, widgets de formulário e gráficos em camadas são preservados para exportação, mas não são totalmente editáveis aqui.", + "previewVariance": "Alguns elementos visuais (como bordas de tabelas, formas ou aparências de anotações) podem não ser exibidos exatamente na visualização. O PDF exportado mantém os comandos de desenho originais sempre que possível.", + "alpha": "Este visualizador alpha ainda está evoluindo—certas fontes, cores, efeitos de transparência e detalhes de layout podem variar levemente. Verifique o PDF gerado antes de compartilhar." + }, + "empty": { + "title": "Nenhum documento carregado", + "subtitle": "Carregue um PDF ou JSON para começar a editar texto." + }, + "welcomeBanner": { + "title": "Bem-vindo ao Editor de Texto PDF (Acesso antecipado)", + "experimental": "Este é um recurso experimental em desenvolvimento ativo. Espere alguma instabilidade e problemas durante o uso.", + "howItWorks": "Esta ferramenta converte seu PDF em um formato editável no qual você pode modificar o conteúdo do texto e reposicionar imagens. As alterações são salvas como um novo PDF.", + "bestFor": "Funciona melhor com:", + "bestFor1": "PDFs simples contendo principalmente texto e imagens", + "bestFor2": "Documentos com formatação de parágrafo padrão", + "bestFor3": "Cartas, redações, relatórios e documentos básicos", + "notIdealFor": "Não é ideal para:", + "notIdealFor1": "PDFs com formatação especial como marcadores, tabelas ou layouts de múltiplas colunas", + "notIdealFor2": "Revistas, folhetos ou documentos altamente diagramados", + "notIdealFor3": "Manuais de instruções com layouts complexos", + "limitations": "Limitações atuais:", + "limitation1": "A renderização de fontes pode diferir ligeiramente do PDF original", + "limitation2": "Gráficos complexos, campos de formulário e anotações são preservados, mas não são editáveis", + "limitation3": "Arquivos grandes podem demorar para converter e processar", + "knownIssues": "Problemas conhecidos (sendo corrigidos):", + "issue1": "A cor do texto não é preservada no momento (será adicionada em breve)", + "issue2": "O modo Parágrafo tem mais problemas de alinhamento e espaçamento - recomenda-se o modo Linha única", + "issue3": "A visualização difere do PDF exportado - os PDFs exportados ficam mais próximos do original", + "issue4": "O alinhamento de texto rotacionado pode precisar de ajuste manual", + "issue5": "Os efeitos de transparência e camadas podem variar em relação ao original", + "feedback": "Este é um recurso de acesso antecipado. Relate quaisquer problemas que encontrar para nos ajudar a melhorar!", + "gotIt": "Entendi", + "dontShowAgain": "Não mostrar novamente" + }, + "modeChange": { + "title": "Confirmar alteração de modo", + "warning": "Alterar o modo de agrupamento de texto vai redefinir todas as alterações não salvas. Tem certeza de que deseja continuar?", + "cancel": "Cancelar", + "confirm": "Redefinir e alterar modo" + }, + "fontAnalysis": { + "details": "Detalhes da fonte", + "embedded": "Incorporada", + "type": "Tipo", + "webFormat": "Formato web", + "warnings": "Avisos", + "suggestions": "Notas", + "currentPageFonts": "Fontes nesta página", + "allFonts": "Todas as fontes", + "fallback": "alternativa", + "missing": "ausente", + "perfectMessage": "Todas as fontes podem ser reproduzidas perfeitamente.", + "warningMessage": "Algumas fontes podem não renderizar corretamente.", + "infoMessage": "Informações de reprodução de fontes disponíveis.", + "perfect": "perfeito", + "subset": "subconjunto" + }, + "errors": { + "invalidJson": "Não foi possível ler o arquivo JSON. Verifique se ele foi gerado pela ferramenta PDF para JSON.", + "pdfConversion": "Não foi possível converter o JSON editado de volta para PDF." + } + }, + "auth": { + "sessionExpired": "Sessão expirada", + "pleaseLoginAgain": "Faça login novamente.", + "accessDenied": "Acesso negado", + "insufficientPermissions": "Você não tem permissão para executar esta ação." + }, + "addText": { + "title": "Adicionar texto", + "header": "Adicionar texto a PDFs", + "text": { + "name": "Conteúdo do texto", + "placeholder": "Digite o texto que deseja adicionar", + "fontLabel": "Fonte", + "fontSizeLabel": "Tamanho da fonte", + "fontSizePlaceholder": "Digite ou selecione o tamanho da fonte (8-200)", + "colorLabel": "Cor do texto" + }, + "steps": { + "configure": "Configurar texto" + }, + "step": { + "createDesc": "Digite o texto que deseja adicionar", + "place": "Posicionar texto", + "placeDesc": "Clique no PDF para adicionar seu texto" + }, + "instructions": { + "title": "Como adicionar texto", + "text": "Após digitar seu texto acima, clique em qualquer lugar do PDF para posicioná-lo.", + "paused": "Posicionamento pausado", + "resumeHint": "Retome o posicionamento para clicar e adicionar seu texto.", + "noSignature": "Digite o texto acima para ativar o posicionamento." + }, + "mode": { + "move": "Mover texto", + "place": "Posicionar texto", + "pause": "Pausar posicionamento", + "resume": "Retomar posicionamento" + }, + "results": { + "title": "Resultados de adicionar texto" + }, + "error": { + "failed": "Ocorreu um erro ao adicionar texto ao PDF." + }, + "tags": "texto,anotação,rótulo", + "applySignatures": "Aplicar texto" } } \ No newline at end of file diff --git a/frontend/public/locales/pt-PT/translation.json b/frontend/public/locales/pt-PT/translation.json index bbf703c21..6391dca2f 100644 --- a/frontend/public/locales/pt-PT/translation.json +++ b/frontend/public/locales/pt-PT/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Em breve:", "favorite": "Adicionar aos favoritos", "favorites": "Favoritos", + "unavailable": "Desativado pelo administrador do servidor:", + "unavailableDependency": "Indisponível - ferramenta necessária em falta no servidor:", "heading": "Todas as ferramentas (vista de ecrã inteiro)", "noResults": "Tente ajustar a pesquisa ou alternar as descrições para encontrar o que precisa.", "recommended": "Recomendado", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Mudar para modo de ecrã inteiro", "sidebar": "Mudar para modo de barra lateral" - } + }, + "alpha": "Alpha", + "premiumFeature": "Funcionalidade premium:", + "comingSoon": "Em breve:" }, "unsavedChanges": "Tem alterações não guardadas no seu PDF.", "areYouSure": "Tem a certeza de que pretende sair?", @@ -41,6 +46,30 @@ "cancel": "Cancelar", "confirm": "Extrair" }, + "defaultApp": { + "title": "Definir como aplicação PDF predefinida", + "message": "Pretende definir o Stirling PDF como editor PDF predefinido?", + "description": "Pode alterar isto mais tarde nas definições do sistema.", + "notNow": "Agora não", + "setDefault": "Definir como predefinido", + "dismiss": "Dispensar", + "prompt": { + "title": "Definir como editor PDF predefinido", + "message": "Torne o Stirling PDF a sua aplicação predefinida para abrir ficheiros PDF." + }, + "success": { + "title": "Aplicação definida como predefinida", + "message": "O Stirling PDF é agora o seu editor PDF predefinido" + }, + "settingsOpened": { + "title": "Definições abertas", + "message": "Selecione o Stirling PDF nas definições do sistema" + }, + "error": { + "title": "Erro", + "message": "Falha ao definir a aplicação de PDF predefinida" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Guardar", "saveToBrowser": "Guardar no Navegador", "download": "Transferir", + "downloadUnavailable": "Transferência indisponível para este item", + "saveUnavailable": "Guardar indisponível para este item", "pin": "Fixar ficheiro (manter ativo após executar a ferramenta)", "unpin": "Desafixar ficheiro (substituir após executar a ferramenta)", "undoOperationTooltip": "Clique para anular a última operação e repor os ficheiros originais", @@ -168,6 +199,7 @@ }, "edit": "Editar", "delete": "Eliminar", + "never": "Nunca", "username": "Nome de utilizador", "password": "Palavra-passe", "welcome": "Bem-vindo", @@ -262,7 +294,8 @@ "learnMore": "Saber mais", "enable": "Ativar análises", "disable": "Desativar análises", - "settings": "Pode alterar as definições para análises no ficheiro config/settings.yml" + "settings": "Pode alterar as definições para análises no ficheiro config/settings.yml", + "privacyAssurance": "Não recolhemos quaisquer informações pessoais nem o conteúdo dos seus ficheiros." }, "navbar": { "favorite": "Favoritos", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Definições", - "update": "Atualização disponível", - "updateAvailable": "{0} é a versão atual instalada. Uma nova versão ({1}) está disponível.", - "appVersion": "Versão da Aplicação:", - "downloadOption": { - "title": "Escolha a opção de download (Para downloads de ficheiro único não zipado):", - "1": "Abrir na mesma janela", - "2": "Abrir em nova janela", - "3": "Transferir ficheiro" - }, - "zipThreshold": "Comprimir ficheiros quando o número de ficheiros transferidos exceder", - "signOut": "Terminar Sessão", - "accountSettings": "Definições de Conta", - "bored": { - "help": "Ativa jogo easter egg" - }, - "cacheInputs": { - "name": "Guardar inputs do formulário", - "help": "Ativar para guardar inputs previamente usados para futuras utilizações" + "connection": { + "title": "Modo de ligação", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Autoalojado" + }, + "server": "Servidor", + "user": "Sessão iniciada como", + "logout": "Terminar sessão" }, "general": { "title": "Geral", "description": "Configurar as preferências gerais da aplicação.", - "account": "Conta", - "accountDescription": "Gerir as definições da conta", "user": "Utilizador", - "signedInAs": "Sessão iniciada como", "logout": "Terminar sessão", "enableFeatures": { + "dismiss": "Ignorar", "title": "Para administradores do sistema", "intro": "Ativar autenticação de utilizadores, gestão de equipas e funcionalidades de área de trabalho para a sua organização.", "action": "Configurar", "and": "e", "benefit": "Ativa funções de utilizador, colaboração em equipa, controlos de administração e funcionalidades empresariais.", - "learnMore": "Saiba mais na documentação", - "dismiss": "Ignorar" + "learnMore": "Saiba mais na documentação" }, - "autoUnzip": "Descompactar automaticamente respostas da API", - "autoUnzipDescription": "Extrair automaticamente ficheiros de respostas ZIP", - "autoUnzipTooltip": "Extrai automaticamente ficheiros ZIP devolvidos por operações da API. Desative para manter ZIPs intactos. Isto não afeta fluxos de automação.", - "autoUnzipFileLimit": "Limite de descompactação automática", - "autoUnzipFileLimitDescription": "Número máximo de ficheiros a extrair do ZIP", - "autoUnzipFileLimitTooltip": "Só descompactar se o ZIP contiver este número de ficheiros ou menos. Aumente para extrair ZIPs maiores.", "defaultToolPickerMode": "Modo predefinido do seletor de ferramentas", "defaultToolPickerModeDescription": "Escolha se o seletor de ferramentas abre por predefinição em ecrã inteiro ou em barra lateral", "mode": { - "fullscreen": "Ecrã inteiro", - "sidebar": "Barra lateral" - } + "sidebar": "Barra lateral", + "fullscreen": "Ecrã inteiro" + }, + "autoUnzipTooltip": "Extrai automaticamente ficheiros ZIP devolvidos por operações da API. Desative para manter ZIPs intactos. Isto não afeta fluxos de automação.", + "autoUnzip": "Descompactar automaticamente respostas da API", + "autoUnzipDescription": "Extrair automaticamente ficheiros de respostas ZIP", + "autoUnzipFileLimitTooltip": "Só descompactar se o ZIP contiver este número de ficheiros ou menos. Aumente para extrair ZIPs maiores.", + "autoUnzipFileLimit": "Limite de descompactação automática", + "autoUnzipFileLimitDescription": "Número máximo de ficheiros a extrair do ZIP", + "defaultPdfEditor": "Editor PDF predefinido", + "defaultPdfEditorActive": "O Stirling PDF é o seu editor PDF predefinido", + "defaultPdfEditorInactive": "Outra aplicação está definida como predefinida", + "defaultPdfEditorChecking": "A verificar...", + "defaultPdfEditorSet": "Já é predefinido", + "setAsDefault": "Definir como predefinido", + "updates": { + "title": "Atualizações de software", + "description": "Procurar atualizações e ver informações da versão", + "currentVersion": "Versão atual", + "latestVersion": "Última versão", + "checkForUpdates": "Procurar atualizações", + "viewDetails": "Ver detalhes" + }, + "hideUnavailableTools": "Ocultar ferramentas indisponíveis", + "hideUnavailableToolsDescription": "Remover as ferramentas desativadas pelo seu servidor em vez de as mostrar esbatidas.", + "hideUnavailableConversions": "Ocultar conversões indisponíveis", + "hideUnavailableConversionsDescription": "Remover opções de conversão desativadas na ferramenta Converter em vez de as mostrar esbatidas." }, "hotkeys": { - "title": "Atalhos de teclado", - "description": "Passe o rato sobre uma ferramenta para ver o atalho ou personalize-o abaixo. Clique em \"Alterar atalho\" e prima uma nova combinação de teclas. Prima Esc para cancelar.", - "errorModifier": { - "mac": "Inclua ⌘ (Command), ⌥ (Option) ou outro modificador no seu atalho.", - "windows": "Inclua Ctrl, Alt ou outro modificador no seu atalho." - }, "errorConflict": "Atalho já utilizado por {{tool}}.", + "searchPlaceholder": "Procurar ferramentas...", "none": "Não atribuído", "customBadge": "Personalizado", "defaultLabel": "Predefinição: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Alterar atalho", "reset": "Repor", "shortcut": "Atalho", - "noShortcut": "Sem atalho definido", - "searchPlaceholder": "Procurar ferramentas..." + "noShortcut": "Sem atalho definido" } }, + "update": { + "modalTitle": "Atualização disponível", + "current": "Versão atual", + "latest": "Última versão", + "latestStable": "Última estável", + "priorityLabel": "Prioridade", + "recommendedAction": "Ação recomendada", + "breakingChangesDetected": "Alterações incompatíveis detetadas", + "breakingChangesMessage": "Algumas versões contêm alterações incompatíveis. Consulte os guias de migração abaixo antes de atualizar.", + "migrationGuides": "Guias de migração", + "viewGuide": "Ver guia", + "loadingDetailedInfo": "A carregar informação detalhada...", + "close": "Fechar", + "viewAllReleases": "Ver todas as versões", + "downloadLatest": "Transferir a mais recente", + "availableUpdates": "Atualizações disponíveis", + "unableToLoadDetails": "Não foi possível carregar informação detalhada.", + "version": "Versão", + "urgentUpdateAvailable": "Atualização urgente", + "updateAvailable": "Atualização disponível", + "releaseNotes": "Notas de versão", + "priority": { + "urgent": "Urgente", + "normal": "Normal", + "minor": "Menor", + "low": "Baixa" + }, + "breakingChanges": "Alterações incompatíveis", + "breakingChangesDefault": "Esta versão contém alterações incompatíveis.", + "migrationGuide": "Guia de migração" + }, "changeCreds": { "title": "Alterar Credenciais", "header": "Atualizar os Detalhes da sua Conta", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Sobrepõe PDFs em cima de outro PDF", "title": "Sobrepor PDFs" + }, + "pdfTextEditor": { + "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" + }, + "addText": { + "tags": "texto,anotação,etiqueta", + "title": "Adicionar texto", + "desc": "Adicione texto personalizado em qualquer lugar do seu PDF" } }, "landing": { "addFiles": "Adicionar ficheiros", - "uploadFromComputer": "Carregar do computador" + "uploadFromComputer": "Carregar do computador", + "openFromComputer": "Abrir do computador" }, "viewPdf": { "tags": "ver,ler,anotar,texto,imagem", @@ -849,6 +922,11 @@ }, "error": { "failed": "Ocorreu um erro ao combinar os PDFs." + }, + "tooltip": { + "header": { + "title": "Resumo das definições de junção" + } } }, "split": { @@ -1182,9 +1260,43 @@ "tags": "img,jpg,imagem,foto", "title": "Adicionar Imagem", "header": "Adicionar imagem ao PDF", - "everyPage": "Todas as Páginas?", - "upload": "Adicionar imagem", - "submit": "Adicionar imagem" + "image": { + "name": "Imagem", + "placeholder": "Carregar uma imagem", + "label": "Ficheiro de imagem" + }, + "steps": { + "configure": "Configurar imagem" + }, + "step": { + "createDesc": "Carregue a imagem que pretende adicionar", + "place": "Colocar imagem", + "placeDesc": "Clique no PDF para adicionar a imagem" + }, + "instructions": { + "title": "Como adicionar imagens", + "text": "Após carregar a imagem acima, clique em qualquer parte do PDF para a colocar.", + "paused": "Colocação em pausa", + "resumeHint": "Retome a colocação para clicar e adicionar a imagem.", + "noSignature": "Carregue uma imagem acima para ativar a colocação." + }, + "mode": { + "move": "Mover imagem", + "place": "Colocar imagem", + "pause": "Pausar colocação", + "resume": "Retomar colocação" + }, + "results": { + "title": "Resultados de adição de imagem" + }, + "error": { + "failed": "Ocorreu um erro ao adicionar a imagem ao PDF." + }, + "saved": { + "defaultLabel": "Imagem", + "defaultImageLabel": "Imagem carregada" + }, + "applySignatures": "Aplicar imagens" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1397,6 +1509,93 @@ }, "submit": "Alterar" }, + "editTableOfContents": { + "settings": { + "title": "Marcadores e estrutura", + "replaceExisting": "Substituir marcadores existentes (desmarque para acrescentar)", + "replaceExistingHint": "Quando desativado, a nova estrutura é acrescentada após os marcadores atuais." + }, + "actions": { + "source": "Carregar marcadores", + "selectedFile": "Carregado de {{file}}", + "noFile": "Selecione um PDF para extrair os marcadores existentes.", + "loadFromPdf": "Carregar do PDF selecionado", + "importJson": "Importar JSON", + "importClipboard": "Colar JSON da área de transferência", + "export": "Exportar marcadores", + "exportJson": "Transferir JSON", + "exportClipboard": "Copiar JSON para a área de transferência", + "clipboardUnavailable": "O acesso à área de transferência não está disponível neste navegador." + }, + "info": { + "line1": "Cada marcador precisa de um título descritivo e da página que deve abrir.", + "line2": "Use marcadores filhos para criar uma hierarquia para capítulos, secções ou subseções.", + "line3": "Importe marcadores do PDF selecionado ou de um ficheiro JSON para poupar tempo." + }, + "workbench": { + "empty": { + "title": "Abra a ferramenta para começar a editar", + "description": "Selecione a ferramenta Editar índice para carregar o espaço de trabalho." + }, + "tabTitle": "Espaço de trabalho do índice", + "subtitle": "Importe marcadores, crie hierarquias e aplique o índice sem painéis laterais apertados.", + "noFile": "Nenhum PDF selecionado", + "fileLabel": "As alterações serão aplicadas ao PDF atualmente selecionado.", + "filePrompt": "Selecione um PDF da sua biblioteca ou carregue um novo para começar.", + "changeFile": "Mudar PDF", + "selectFile": "Selecionar PDF" + }, + "editor": { + "heading": "Editor de marcadores", + "description": "Adicione, aninhe e reordene marcadores para construir o índice do seu PDF.", + "addTopLevel": "Adicionar marcador de nível superior", + "empty": { + "title": "Ainda não há marcadores", + "description": "Importe marcadores existentes ou comece por adicionar a primeira entrada.", + "action": "Adicionar primeiro marcador" + }, + "defaultTitle": "Novo marcador", + "defaultChildTitle": "Marcador filho", + "defaultSiblingTitle": "Novo marcador", + "untitled": "Marcador sem título", + "childBadge": "Filho", + "pagePreview": "Página {{page}}", + "field": { + "title": "Título do marcador", + "page": "Número da página de destino" + }, + "actions": { + "toggle": "Alternar filhos", + "addChild": "Adicionar marcador filho", + "addSibling": "Adicionar marcador irmão", + "remove": "Remover marcador" + }, + "confirmRemove": "Remover este marcador e todos os seus filhos?" + }, + "messages": { + "loadedTitle": "Marcadores extraídos", + "loadedBody": "Os marcadores existentes do PDF foram carregados no editor.", + "noBookmarks": "Não foram encontrados marcadores no PDF selecionado.", + "loadFailed": "Não foi possível extrair marcadores do PDF selecionado.", + "imported": "Marcadores importados", + "importedBody": "A sua estrutura JSON substituiu o conteúdo atual do editor.", + "importedClipboard": "Os dados da área de transferência substituíram a lista de marcadores atual.", + "invalidJson": "Estrutura JSON inválida", + "invalidJsonBody": "Forneça um ficheiro JSON de marcadores válido e tente novamente.", + "exported": "Transferência de JSON pronta", + "copied": "Copiado para a área de transferência", + "copiedBody": "JSON de marcadores copiado com sucesso.", + "copyFailed": "Falha ao copiar" + }, + "error": { + "failed": "Falha ao atualizar o índice" + }, + "submit": "Aplicar índice", + "results": { + "title": "PDF atualizado com marcadores", + "subtitle": "Transfira o ficheiro processado ou anule a operação abaixo." + } + }, "removePages": { "tags": "Remover páginas,eliminar páginas", "title": "Remover", @@ -1978,13 +2177,54 @@ "title": "Desenhe a sua assinatura", "clear": "Limpar" }, + "canvas": { + "heading": "Desenhe a sua assinatura", + "clickToOpen": "Clique para abrir a área de desenho", + "modalTitle": "Desenhe a sua assinatura", + "colorLabel": "Cor", + "penSizeLabel": "Espessura da caneta", + "penSizePlaceholder": "Tamanho", + "clear": "Limpar área de desenho", + "colorPickerTitle": "Escolher cor do traço" + }, "text": { "name": "Nome do Signatário", - "placeholder": "Introduza o seu nome completo" + "placeholder": "Introduza o seu nome completo", + "fontLabel": "Tipo de letra", + "fontSizeLabel": "Tamanho do tipo de letra", + "fontSizePlaceholder": "Escreva ou selecione o tamanho (8-200)", + "colorLabel": "Cor do texto" }, "clear": "Limpar", "add": "Adicionar", - "saved": "Assinaturas Guardadas", + "saved": { + "heading": "Assinaturas guardadas", + "description": "Reutilize assinaturas guardadas a qualquer momento.", + "emptyTitle": "Ainda não há assinaturas guardadas", + "emptyDescription": "Desenhe, carregue ou escreva uma assinatura acima e depois use \"Guardar na biblioteca\" para manter até {{max}} favoritas prontas a usar.", + "type": { + "canvas": "Desenho", + "image": "Carregar", + "text": "Texto" + }, + "limitTitle": "Limite atingido", + "limitDescription": "Remova uma assinatura guardada antes de adicionar novas (máx. {{max}}).", + "carouselPosition": "{{current}} de {{total}}", + "prev": "Anterior", + "next": "Seguinte", + "delete": "Remover", + "label": "Etiqueta", + "defaultLabel": "Assinatura", + "defaultCanvasLabel": "Assinatura desenhada", + "defaultImageLabel": "Assinatura carregada", + "defaultTextLabel": "Assinatura digitada", + "saveButton": "Guardar assinatura", + "saveUnavailable": "Crie primeiro uma assinatura para a guardar.", + "noChanges": "A assinatura atual já está guardada.", + "status": { + "saved": "Guardado" + } + }, "save": "Guardar Assinatura", "applySignatures": "Aplicar Assinaturas", "personalSigs": "Assinaturas Pessoais", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Configurar Assinatura" }, + "step": { + "createDesc": "Escolha como quer criar a assinatura", + "place": "Colocar e guardar", + "placeDesc": "Posicione a assinatura no seu PDF" + }, "type": { "title": "Tipo de Assinatura", "draw": "Desenhar", - "canvas": "Canvas", + "canvas": "Desenho", "image": "Imagem", - "text": "Texto" + "text": "Texto", + "saved": "Guardadas" }, "image": { "label": "Carregar imagem da assinatura", @@ -2019,11 +2265,17 @@ "title": "Como adicionar a assinatura", "canvas": "Depois de desenhar a sua assinatura na canvas, feche a janela modal e clique em qualquer lugar no PDF para a colocar.", "image": "Depois de carregar a imagem da sua assinatura acima, clique em qualquer lugar no PDF para a colocar.", - "text": "Depois de introduzir o seu nome acima, clique em qualquer lugar no PDF para colocar a sua assinatura." + "saved": "Selecione uma assinatura guardada acima e depois clique em qualquer parte do PDF para a colocar.", + "text": "Depois de introduzir o seu nome acima, clique em qualquer lugar no PDF para colocar a sua assinatura.", + "paused": "Colocação em pausa", + "resumeHint": "Retome a colocação para clicar e adicionar a assinatura.", + "noSignature": "Crie uma assinatura acima para ativar as ferramentas de colocação." }, "mode": { "move": "Mover Assinatura", - "place": "Colocar Assinatura" + "place": "Colocar Assinatura", + "pause": "Pausar colocação", + "resume": "Retomar colocação" }, "updateAndPlace": "Atualizar e Colocar", "activate": "Ativar Colocação de Assinaturas", @@ -2163,6 +2415,14 @@ "title": "Sobre Remover Anotações", "description": "Esta ferramenta removerá todas as anotações (comentários, realces, notas, etc.) dos seus documentos PDF." }, + "tooltip": { + "header": { + "title": "Acerca de Remover Anotações" + }, + "description": { + "title": "O que faz" + } + }, "error": { "failed": "Ocorreu um erro ao remover anotações do PDF." } @@ -2627,6 +2887,9 @@ "header": { "title": "Como funciona a renomeação automática" }, + "description": { + "title": "O que faz" + }, "howItWorks": { "title": "Renomeação inteligente", "text": "Encontra automaticamente o título no conteúdo do seu PDF e usa-o como nome do ficheiro.", @@ -2634,6 +2897,9 @@ "bullet2": "Cria um nome de ficheiro limpo e válido a partir do título detetado", "bullet3": "Mantém o nome original se não for encontrado um título adequado" } + }, + "settings": { + "title": "Acerca de" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "Erro inesperado: {{message}}", "accountCreatedSuccess": "Conta criada com sucesso! Já pode iniciar sessão.", "passwordChangedSuccess": "Palavra-passe alterada com sucesso! Inicie sessão com a sua nova palavra-passe.", - "credentialsUpdated": "As suas credenciais foram atualizadas. Inicie sessão novamente." + "credentialsUpdated": "As suas credenciais foram atualizadas. Inicie sessão novamente.", + "defaultCredentials": "Credenciais de Login predefinidas", + "changePasswordWarning": "Altere a sua palavra-passe após iniciar sessão pela primeira vez", + "slides": { + "overview": { + "alt": "Visão geral do Stirling PDF", + "title": "A sua solução tudo-em-um para todas as suas necessidades de PDF.", + "subtitle": "Uma suite cloud com foco na privacidade para PDFs que permite converter, assinar, ocultar e gerir documentos, juntamente com mais de 50 outras ferramentas poderosas." + }, + "edit": { + "alt": "Editar PDFs", + "title": "Edite PDFs para mostrar/proteger a informação que pretende", + "subtitle": "Com mais de uma dúzia de ferramentas para o ajudar a ocultar, assinar, ler e manipular PDFs, encontrará certamente o que procura." + }, + "secure": { + "alt": "Proteger PDFs", + "title": "Proteja informações sensíveis nos seus PDFs", + "subtitle": "Adicione palavras-passe, oculte conteúdo e gere certificados com facilidade." + } + } }, "signup": { "title": "Criar uma conta", @@ -3598,7 +3883,9 @@ "exportAll": "Exportar PDF", "downloadSelected": "Transferir ficheiros selecionados", "downloadAll": "Transferir tudo", + "saveAll": "Guardar tudo", "toggleTheme": "Alternar tema", + "toggleBookmarks": "Alternar marcadores", "language": "Idioma", "search": "Pesquisar PDF", "panMode": "Modo de deslocamento", @@ -3685,8 +3972,16 @@ "saved": "Definições guardadas com êxito", "saveSuccess": "Definições guardadas com êxito", "save": "Guardar alterações", + "discard": "Descartar", "restartRequired": "É necessário reiniciar", "loginRequired": "O modo de início de sessão deve estar ativado para modificar as definições de administrador", + "unsavedChanges": { + "title": "Alterações por guardar", + "message": "Tem alterações por guardar. Pretende descartá-las?", + "cancel": "Continuar a editar", + "discard": "Descartar alterações", + "hint": "Tem alterações por guardar" + }, "loginDisabled": { "title": "Modo de início de sessão necessário", "message": "O modo de início de sessão deve estar ativado para modificar as definições de administrador. Defina SECURITY_ENABLELOGIN=true no seu ambiente ou security.enableLogin: true em settings.yml e depois reinicie o servidor.", @@ -4132,12 +4427,12 @@ "description": "Tempo máximo de execução" }, "libreOffice": "LibreOffice", - "pdfToHtml": "PDF to HTML", + "pdfToHtml": "PDF para HTML", "qpdf": "QPDF", "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", "weasyPrint": "WeasyPrint", - "installApp": "Install App", + "installApp": "Instalar aplicação", "calibre": "Calibre", "ghostscript": "Ghostscript", "ocrMyPdf": "OCRmyPDF" @@ -4212,9 +4507,21 @@ "title": "Premium e Enterprise", "description": "Configurar a sua chave de licença premium ou enterprise.", "license": "Configuração de licença", + "licenseKey": { + "toggle": "Tem uma chave de licença ou ficheiro de certificado?", + "info": "Se tem uma chave de licença ou um ficheiro de certificado de uma compra direta, pode inseri-lo aqui para ativar funcionalidades premium ou enterprise." + }, "key": { "label": "Chave de licença", - "description": "Introduza a sua chave de licença premium ou enterprise" + "description": "Introduza a sua chave de licença premium ou enterprise", + "success": "Chave de licença guardada", + "successMessage": "A sua chave de licença foi ativada com sucesso. Não é necessário reiniciar.", + "overwriteWarning": { + "title": "⚠️ Aviso: Licença existente detetada", + "line1": "Sobrescrever a sua chave de licença atual não pode ser anulado.", + "line2": "A sua licença anterior será perdida permanentemente, a menos que a tenha guardado noutro local.", + "line3": "Importante: mantenha as chaves de licença privadas e seguras. Nunca as partilhe publicamente." + } }, "enabled": { "label": "Ativar funcionalidades premium", @@ -4278,12 +4585,17 @@ "or": "ou", "dropFileHere": "Largue o ficheiro aqui ou clique para carregar", "dropFilesHere": "Largue ficheiros aqui ou clique no botão de carregamento", + "dropFilesHereOpen": "Largue os ficheiros aqui ou clique no botão Abrir", "pdfFilesOnly": "Apenas ficheiros PDF", "supportedFileTypes": "Tipos de ficheiro suportados", "upload": "Carregar", "uploadFile": "Carregar ficheiro", "uploadFiles": "Carregar ficheiros", + "open": "Abrir", + "openFile": "Abrir ficheiro", + "openFiles": "Abrir ficheiros", "noFilesInStorage": "Não há ficheiros disponíveis no armazenamento. Carregue alguns ficheiros primeiro.", + "noFilesInStorageOpen": "Sem ficheiros disponíveis no armazenamento. Abra alguns ficheiros primeiro.", "selectFromStorage": "Selecionar do armazenamento", "backToTools": "Voltar às ferramentas", "addFiles": "Adicionar ficheiros", @@ -4329,6 +4641,8 @@ "myFiles": "Os meus ficheiros", "noRecentFiles": "Nenhum ficheiro recente encontrado", "googleDriveNotAvailable": "Integração com Google Drive não disponível", + "downloadSelected": "Transferir selecionados", + "saveSelected": "Guardar selecionados", "openFiles": "Abrir ficheiros", "openFile": "Abrir ficheiro", "details": "Detalhes do ficheiro", @@ -4341,7 +4655,6 @@ "selectAll": "Selecionar Tudo", "deselectAll": "Desselecionar Tudo", "deleteSelected": "Eliminar Selecionadas", - "downloadSelected": "Transferir selecionados", "selectedCount": "{{count}} selecionado(s)", "download": "Transferir", "delete": "Eliminar", @@ -4621,9 +4934,14 @@ "secureWorkflow": "Fluxo de segurança", "secureWorkflowDesc": "Protege documentos PDF removendo conteúdo potencialmente malicioso como JavaScript e ficheiros incorporados, e depois adiciona proteção por palavra‑passe para impedir acesso não autorizado. A palavra‑passe é definida para 'password' por predefinição.", "processImages": "Processar imagens", - "processImagesDesc": "Converte vários ficheiros de imagem num único documento PDF e aplica OCR para extrair texto pesquisável das imagens." + "processImagesDesc": "Converte vários ficheiros de imagem num único documento PDF e aplica OCR para extrair texto pesquisável das imagens.", + "prePublishSanitization": "Limpeza pré-publicação", + "prePublishSanitizationDesc": "Workflow de limpeza que remove todos os metadados ocultos, JavaScript, ficheiros incorporados, anotações e achata formulários para prevenir fuga de dados antes de publicar PDFs online." } }, + "colorPicker": { + "title": "Escolher cor" + }, "common": { "previous": "Anterior", "next": "Seguinte", @@ -4639,7 +4957,13 @@ "used": "utilizados", "available": "disponíveis", "cancel": "Cancelar", - "preview": "Pré-visualizar" + "preview": "Pré-visualizar", + "close": "Fechar", + "done": "Concluído", + "loading": "A carregar...", + "back": "Voltar", + "continue": "Continuar", + "error": "Erro" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Adicionar mais ficheiros...", "selectedFiles": "Ficheiros selecionados", "submit": "Adicionar anexos", + "tooltip": { + "header": { + "title": "Acerca de Adicionar Anexos" + }, + "description": { + "title": "O que faz" + } + }, "results": { "title": "Resultados dos anexos" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Posição personalizada", "details": "Detalhes", - "downloadUnavailable": "Transferência indisponível para este item", "invalidUndoData": "Não é possível desfazer: dados de operação inválidos", "margin": { "large": "Grande", @@ -4801,6 +5132,10 @@ "maybeLater": "Talvez mais tarde", "dontShowAgain": "Não mostrar novamente" }, + "welcomeSlide": { + "title": "Bem-vindo ao Stirling", + "body": "O Stirling PDF está agora pronto para equipas de todas as dimensões. Esta atualização inclui um novo layout, poderosas capacidades de administração e a funcionalidade mais pedida - Editar Texto." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Vamos selecionar a ferramenta Cortar para demonstrar como usar uma das ferramentas.", "toolInterface": "Esta é a interface da ferramenta Cortar. Como pode ver, não há muito porque ainda não adicionámos ficheiros PDF com que trabalhar.", @@ -4823,7 +5158,39 @@ "next": "Seguinte", "finish": "Concluir", "startTour": "Iniciar visita", - "startTourDescription": "Faça uma visita guiada às principais funcionalidades do Stirling PDF" + "startTourDescription": "Faça uma visita guiada às principais funcionalidades do Stirling PDF", + "buttons": { + "next": "Seguinte →", + "back": "Voltar", + "skipForNow": "Saltar por agora", + "download": "Transferir →", + "showMeAround": "Mostre-me", + "skipTheTour": "Saltar a visita guiada" + }, + "serverLicense": { + "skip": "Saltar por agora", + "seePlans": "Ver planos →", + "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": "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." + }, + "desktopInstall": { + "title": "Transferir", + "titleWithOs": "Transferir para {{osLabel}}", + "body": "O Stirling funciona melhor como aplicação de desktop. Pode usá-lo offline, aceder a documentos mais rapidamente e fazer edições localmente no seu computador." + }, + "planOverview": { + "adminTitle": "Visão geral do administrador", + "userTitle": "Visão geral do plano", + "adminBodyLoginEnabled": "Como administrador, pode gerir utilizadores, configurar definições e monitorizar a saúde do servidor. As primeiras {{freeTierLimit}} pessoas no seu servidor podem usar o Stirling gratuitamente.", + "adminBodyLoginDisabled": "Depois de ativar o modo de login, pode gerir utilizadores, configurar definições e monitorizar a saúde do servidor. As primeiras {{freeTierLimit}} pessoas no seu servidor podem usar o Stirling gratuitamente.", + "userBody": "Convide colegas de equipa, atribua funções e mantenha os documentos organizados num espaço de trabalho seguro. Ative o modo de login quando estiver pronto para crescer além do uso a solo." + }, + "securityCheck": { + "message": "A aplicação sofreu alterações significativas recentemente. Pode ser necessária atenção do administrador do servidor. Confirme o seu papel para continuar." + } }, "adminOnboarding": { "welcome": "Bem-vindo à Visita de Administrador! Vamos explorar as poderosas funcionalidades empresariais e definições disponíveis para administradores do sistema.", @@ -4852,7 +5219,10 @@ "role": "Função", "team": "Equipa", "status": "Estado", - "actions": "Ações", + "actions": { + "label": "Ações", + "upgrade": "Atualizar" + }, "noMembersFound": "Nenhum membro encontrado", "active": "Ativo", "disabled": "Desativado", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} vaga(s) de utilizador disponíveis", "noSlotsAvailable": "Sem vagas disponíveis", "currentUsage": "A utilizar {{current}} de {{max}} licenças de utilizador" - } + }, + "loginRequired": "Ative primeiro o modo de login" }, "teams": { "title": "Equipas", @@ -5057,6 +5428,17 @@ "showComparison": "Comparar todas as funcionalidades", "hideComparison": "Ocultar comparação de funcionalidades", "featureComparison": "Comparação de funcionalidades", + "from": "Desde", + "perMonth": "/mês", + "perSeat": "/lugar", + "withServer": "+ Plano Server", + "licensedSeats": "Licenciados: {{count}} lugares", + "includedInCurrent": "Incluído no seu plano", + "selectPlan": "Selecionar plano", + "manage": "Gerir", + "manageSubscription": { + "description": "Gerir a subscrição, faturação e métodos de pagamento" + }, "activePlan": { "title": "Plano ativo", "subtitle": "Detalhes da sua subscrição atual" @@ -5074,13 +5456,16 @@ "upTo": "Até" }, "period": { - "month": "mês" + "month": "mês", + "perUserPerMonth": "/utilizador/mês" }, "free": { "name": "Gratuito", "highlight1": "Utilização limitada de ferramentas por semana", "highlight2": "Acesso a todas as ferramentas", - "highlight3": "Suporte da comunidade" + "highlight3": "Suporte da comunidade", + "forever": "Gratuito para sempre", + "included": "Incluído" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Preços personalizados", "highlight2": "Suporte dedicado", - "highlight3": "Funcionalidades mais recentes" + "highlight3": "Funcionalidades mais recentes", + "requiresServer": "Requer servidor", + "requiresServerMessage": "Atualize primeiro para o plano Server antes de atualizar para Enterprise." }, "feature": { "title": "Funcionalidade", @@ -5102,6 +5489,12 @@ "api": "Acesso à API", "priority": "Suporte prioritário", "customPricing": "Preços personalizados" + }, + "licenseWarning": { + "title": "Limite gratuito de autoalojado atingido", + "body": "Tem {{total}} utilizadores, mas o nível gratuito só suporta {{limit}} por servidor. Atualize para manter o Stirling PDF a funcionar sem problemas.", + "overLimit": "mais de {{limit}}", + "cta": "Ver planos" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Gerir faturação", "portal": { "error": "Falha ao abrir o portal de faturação" - } + }, + "updateSeats": "Atualizar lugares", + "updateEnterpriseSeats": "Atualizar lugares Enterprise", + "currentSeats": "Lugares atuais", + "minimumSeats": "Lugares mínimos", + "basedOnUsers": "(utilizadores atuais)", + "newSeatCount": "Novo número de lugares", + "newSeatCountDescription": "Selecione o número de lugares para a sua licença Enterprise", + "whatHappensNext": "O que acontece a seguir?", + "stripePortalRedirect": "Será redirecionado para o portal de faturação da Stripe para rever e confirmar a alteração de lugares. O valor proporcional será calculado automaticamente.", + "preparingUpdate": "A preparar atualização de lugares...", + "seatCountTooLow": "O número de lugares deve ser pelo menos {{minimum}} (número atual de utilizadores)", + "seatCountUnchanged": "Selecione um número de lugares diferente", + "seatsUpdated": "Lugares atualizados", + "seatsUpdatedMessage": "Os seus lugares Enterprise foram atualizados para {{seats}}", + "updateProcessing": "Atualização em processamento", + "updateProcessingMessage": "A sua atualização de lugares está a ser processada. Atualize daqui a instantes.", + "notEnterprise": "A gestão de lugares só está disponível para licenças Enterprise" + }, + "upgradeBanner": { + "title": "Atualize para o plano Server", + "message": "Tire o máximo partido do Stirling PDF com utilizadores ilimitados e funcionalidades avançadas", + "upgradeButton": "Atualizar agora", + "dismiss": "Ocultar banner", + "attentionTitle": "Este servidor precisa de atenção do administrador", + "attentionBody": "O seu administrador precisa de iniciar sessão para ver mais informações. Contacte-o de imediato.", + "attentionBodyAdmin": "Analise os requisitos da licença para manter este servidor em conformidade.", + "seeInfo": "Ver informações" }, "payment": { "preparing": "A preparar o pagamento...", @@ -5128,7 +5548,61 @@ "success": "Pagamento bem-sucedido!", "successMessage": "A sua subscrição foi ativada com sucesso. Irá receber um email de confirmação em breve.", "autoClose": "Esta janela irá fechar automaticamente...", - "error": "Erro no pagamento" + "error": "Erro no pagamento", + "upgradeSuccess": "Pagamento bem-sucedido! A sua subscrição foi atualizada. A licença foi atualizada no seu servidor. Receberá um email de confirmação em breve.", + "paymentSuccess": "Pagamento bem-sucedido! A obter a sua chave de licença...", + "licenseActivated": "Licença ativada! A sua chave de licença foi guardada. Foi enviado um email de confirmação para o seu endereço registado.", + "licenseDelayed": "Pagamento bem-sucedido! A sua licença está a ser gerada. Receberá um email com a sua chave de licença em breve. Se não a receber em 10 minutos, contacte o suporte.", + "licensePollingError": "Pagamento bem-sucedido, mas não foi possível obter automaticamente a sua chave de licença. Verifique o email ou contacte o suporte com a confirmação de pagamento.", + "licenseRetrievalError": "Pagamento bem-sucedido, mas a obtenção da licença falhou. Receberá a sua chave por email. Contacte o suporte se não a receber em 10 minutos.", + "syncError": "Pagamento bem-sucedido, mas a sincronização da licença falhou. A sua licença será atualizada em breve. Contacte o suporte se o problema persistir.", + "licenseSaveError": "Falha ao guardar a chave de licença. Contacte o suporte com a sua chave para concluir a ativação.", + "paymentCanceled": "O pagamento foi cancelado. Não foram efetuadas cobranças.", + "syncingLicense": "A sincronizar a sua licença atualizada...", + "generatingLicense": "A gerar a sua chave de licença...", + "upgradeComplete": "Atualização concluída", + "upgradeCompleteMessage": "A sua subscrição foi atualizada com sucesso. A sua chave de licença existente foi atualizada.", + "stripeNotConfigured": "Stripe não configurado", + "stripeNotConfiguredMessage": "A integração de pagamentos Stripe não está configurada. Contacte o administrador.", + "monthly": "Mensal", + "yearly": "Anual", + "billingPeriod": "Período de faturação", + "enterpriseNote": "Os lugares podem ser ajustados no checkout (1-1000).", + "installationId": "ID da instalação", + "licenseKey": "A sua chave de licença", + "licenseInstructions": "Foi adicionada à sua instalação. Também receberá uma cópia no seu email.", + "canCloseWindow": "Já pode fechar esta janela.", + "licenseKeyProcessing": "Processamento da chave de licença", + "licenseDelayedMessage": "A sua chave de licença está a ser gerada. Verifique o seu email em breve ou contacte o suporte.", + "perYear": "/ano", + "perMonth": "/mês", + "emailInvalid": "Introduza um endereço de email válido", + "emailStage": { + "title": "Introduza o seu email", + "description": "Usaremos isto para enviar a sua chave de licença e recibos.", + "emailLabel": "Endereço de email", + "emailPlaceholder": "your@email.com", + "continue": "Continuar", + "modalTitle": "Começar - {{planName}}" + }, + "planStage": { + "title": "Escolha o período de faturação", + "savingsNote": "Poupe {{percent}}% com faturação anual", + "basePrice": "Preço base", + "seatPrice": "Por lugar", + "totalForSeats": "Total ({{count}} lugares)", + "selectMonthly": "Selecionar mensal", + "selectYearly": "Selecionar anual", + "savePercent": "Poupe {{percent}}%", + "savingsAmount": "Poupa {{amount}}", + "modalTitle": "Selecionar período de faturação - {{planName}}", + "billedYearly": "Cobrado anualmente a {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Voltar à seleção de plano", + "selectedPlan": "Plano selecionado", + "modalTitle": "Concluir pagamento - {{planName}}" + } }, "firstLogin": { "title": "Primeiro início de sessão", @@ -5287,5 +5761,281 @@ "offline": "Backend offline", "starting": "O backend está a iniciar...", "wait": "Aguarde que o backend termine o arranque e tente novamente." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Desbloqueie o PDF para continuar", + "title": "Remover palavra-passe para continuar", + "description": "Este PDF está protegido por palavra-passe. Introduza a palavra-passe para continuar a trabalhar nele.", + "password": { + "label": "Palavra-passe do PDF", + "placeholder": "Introduza a palavra-passe do PDF" + }, + "skip": "Saltar por agora", + "unlock": "Desbloquear e continuar", + "incorrectPassword": "Palavra-passe incorreta", + "missingFile": "O ficheiro selecionado já não está disponível.", + "emptyResponse": "A remoção da palavra-passe não produziu um ficheiro.", + "required": "Introduza a palavra-passe para continuar.", + "successTitle": "Palavra-passe removida", + "successBodyWithName": "Palavra-passe removida de {{fileName}}", + "successBody": "Palavra-passe removida com sucesso." + }, + "setup": { + "welcome": "Bem-vindo ao Stirling PDF", + "description": "Comece por escolher como pretende usar o Stirling PDF", + "step1": { + "label": "Escolher modo", + "description": "Offline ou Servidor" + }, + "step2": { + "label": "Selecionar servidor", + "description": "Servidor autoalojado" + }, + "step3": { + "label": "Iniciar sessão", + "description": "Introduzir credenciais" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Inicie sessão com a sua conta Stirling" + }, + "selfhosted": { + "title": "Servidor autoalojado", + "description": "Ligue-se ao seu próprio servidor Stirling PDF" + } + }, + "saas": { + "title": "Iniciar sessão no Stirling", + "subtitle": "Inicie sessão com a sua conta Stirling" + }, + "selfhosted": { + "title": "Iniciar sessão no servidor", + "subtitle": "Introduza as credenciais do seu servidor" + }, + "server": { + "title": "Ligar ao servidor", + "subtitle": "Introduza o URL do seu servidor autoalojado", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Servidor autoalojado" + }, + "url": { + "label": "URL do servidor", + "description": "Introduza o URL completo do seu servidor Stirling PDF autoalojado" + }, + "error": { + "emptyUrl": "Introduza um URL de servidor", + "unreachable": "Não foi possível ligar ao servidor", + "testFailed": "Falha no teste de ligação" + }, + "testing": "A testar ligação..." + }, + "login": { + "title": "Iniciar sessão", + "subtitle": "Introduza as suas credenciais para continuar", + "connectingTo": "A ligar a:", + "username": { + "label": "Nome de utilizador", + "placeholder": "Introduza o seu nome de utilizador" + }, + "email": { + "label": "Email", + "placeholder": "Introduza o seu email" + }, + "password": { + "label": "Palavra-passe", + "placeholder": "Introduza a sua palavra-passe" + }, + "error": { + "emptyUsername": "Introduza o seu nome de utilizador", + "emptyEmail": "Introduza o seu email", + "emptyPassword": "Introduza a sua palavra-passe", + "oauthFailed": "Falha no login OAuth. Tente novamente." + }, + "submit": "Iniciar sessão", + "signInWith": "Iniciar sessão com", + "oauthPending": "A abrir o navegador para autenticação...", + "orContinueWith": "Ou continuar com email" + } + }, + "oauth": { + "success": { + "title": "Autenticação bem-sucedida", + "message": "Pode fechar esta janela e voltar ao Stirling PDF." + }, + "error": { + "title": "Falha de autenticação", + "message": "A autenticação não foi bem-sucedida. Pode fechar esta janela e tentar novamente." + } + }, + "pdfTextEditor": { + "title": "Editor JSON de PDF", + "viewLabel": "Editor de PDF", + "converting": "A converter o PDF para formato editável...", + "conversionFailed": "Falha ao converter o PDF. Tente novamente.", + "currentFile": "Ficheiro atual: {{name}}", + "pageSummary": "Página {{number}} de {{total}}", + "pagePreviewAlt": "Pré-visualização da página", + "imageLabel": "Imagem colocada", + "noTextOnPage": "Não foi detetado texto editável nesta página.", + "pageType": { + "paragraph": "Página de parágrafos", + "sparse": "Texto disperso" + }, + "groupingMode": { + "auto": "Auto", + "paragraph": "Parágrafo", + "singleLine": "Linha única" + }, + "badges": { + "unsaved": "Editado", + "modified": "Editado", + "earlyAccess": "Acesso antecipado" + }, + "actions": { + "reset": "Repor alterações", + "downloadJson": "Transferir JSON", + "generatePdf": "Gerar PDF" + }, + "options": { + "autoScaleText": { + "title": "Dimensionar texto automaticamente para caber nas caixas", + "description": "Dimensiona automaticamente o texto na horizontal para caber no limite original quando a renderização da fonte difere do PDF." + }, + "groupingMode": { + "title": "Modo de agrupamento de texto", + "autoDescription": "Deteta automaticamente o tipo de página e agrupa o texto de forma adequada.", + "paragraphDescription": "Agrupa linhas alinhadas em caixas de texto de parágrafo com várias linhas.", + "singleLineDescription": "Mantém cada linha de texto do PDF como uma caixa de texto separada." + }, + "manualGrouping": { + "descriptionInline": "Dica: Mantenha Ctrl (Cmd) ou Shift premido para selecionar várias caixas de texto. Uma barra de ferramentas flutuante aparecerá acima da seleção para poder unir, desagrupar ou ajustar larguras." + }, + "forceSingleElement": { + "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." + } + }, + "manual": { + "mergeTooltip": "Unir caixas selecionadas", + "merge": "Unir seleção", + "ungroupTooltip": "Dividir parágrafo novamente em linhas", + "ungroup": "Desagrupar seleção", + "widthMenu": "Opções de largura", + "expandWidth": "Expandir até à margem da página", + "resetWidth": "Repor largura", + "resizeHandle": "Ajustar largura do texto" + }, + "disclaimer": { + "heading": "Limitações da pré-visualização", + "textFocus": "Este espaço de trabalho foca-se na edição de texto e no reposicionamento de imagens incorporadas. Ilustrações de página complexas, widgets de formulário e gráficos em camadas são preservados para exportação, mas não são totalmente editáveis aqui.", + "previewVariance": "Alguns elementos visuais (como contornos de tabelas, formas ou aspeto de anotações) podem não ser apresentados exatamente na pré-visualização. O PDF exportado mantém os comandos de desenho originais sempre que possível.", + "alpha": "Este visualizador alpha ainda está a evoluir—certas fontes, cores, efeitos de transparência e detalhes de layout podem sofrer ligeiras alterações. Por favor, verifique o PDF gerado antes de partilhar." + }, + "empty": { + "title": "Nenhum documento carregado", + "subtitle": "Carregue um ficheiro PDF ou JSON para começar a editar o conteúdo de texto." + }, + "welcomeBanner": { + "title": "Bem-vindo ao PDF Text Editor (Acesso Antecipado)", + "experimental": "Esta é uma funcionalidade experimental em desenvolvimento ativo. Espere alguma instabilidade e problemas durante a utilização.", + "howItWorks": "Esta ferramenta converte o seu PDF para um formato editável onde pode modificar o conteúdo de texto e reposicionar imagens. As alterações são guardadas como um novo PDF.", + "bestFor": "Funciona melhor com:", + "bestFor1": "PDFs simples que contêm sobretudo texto e imagens", + "bestFor2": "Documentos com formatação de parágrafo normal", + "bestFor3": "Cartas, ensaios, relatórios e documentos básicos", + "notIdealFor": "Não é ideal para:", + "notIdealFor1": "PDFs com formatação especial como marcadores, tabelas ou layouts multicoluna", + "notIdealFor2": "Revistas, brochuras ou documentos com design elaborado", + "notIdealFor3": "Manuais de instruções com layouts complexos", + "limitations": "Limitações atuais:", + "limitation1": "A renderização das fontes pode diferir ligeiramente do PDF original", + "limitation2": "Gráficos complexos, campos de formulário e anotações são preservados mas não editáveis", + "limitation3": "Ficheiros grandes podem demorar a converter e processar", + "knownIssues": "Problemas conhecidos (em correção):", + "issue1": "A cor do texto não é atualmente preservada (será adicionada em breve)", + "issue2": "O modo de parágrafo tem mais problemas de alinhamento e espaçamento - recomenda-se o modo de linha única", + "issue3": "A pré-visualização difere do PDF exportado - os PDFs exportados são mais próximos do original", + "issue4": "O alinhamento de texto rodado pode necessitar de ajuste manual", + "issue5": "Os efeitos de transparência e de camadas podem variar em relação ao original", + "feedback": "Esta é uma funcionalidade de acesso antecipado. Por favor, reporte quaisquer problemas que encontrar para nos ajudar a melhorar!", + "gotIt": "Percebi", + "dontShowAgain": "Não voltar a mostrar" + }, + "modeChange": { + "title": "Confirmar alteração de modo", + "warning": "Mudar o modo de agrupamento de texto irá repor todas as alterações não guardadas. Tem a certeza de que deseja continuar?", + "cancel": "Cancelar", + "confirm": "Repor e alterar modo" + }, + "fontAnalysis": { + "details": "Detalhes da fonte", + "embedded": "Incorporada", + "type": "Tipo", + "webFormat": "Formato Web", + "warnings": "Avisos", + "suggestions": "Notas", + "currentPageFonts": "Fontes nesta página", + "allFonts": "Todas as fontes", + "fallback": "fallback", + "missing": "em falta", + "perfectMessage": "Todas as fontes podem ser reproduzidas na perfeição.", + "warningMessage": "Algumas fontes podem não ser renderizadas corretamente.", + "infoMessage": "Informação de reprodução de fontes disponível.", + "perfect": "perfeito", + "subset": "subconjunto" + }, + "errors": { + "invalidJson": "Não foi possível ler o ficheiro JSON. Certifique-se de que foi gerado pela ferramenta PDF para JSON.", + "pdfConversion": "Não foi possível converter o JSON editado de volta para PDF." + } + }, + "auth": { + "sessionExpired": "Sessão expirada", + "pleaseLoginAgain": "Por favor, inicie sessão novamente.", + "accessDenied": "Acesso negado", + "insufficientPermissions": "Não tem permissão para executar esta ação." + }, + "addText": { + "title": "Adicionar texto", + "header": "Adicionar texto a PDFs", + "text": { + "name": "Conteúdo do texto", + "placeholder": "Introduza o texto que pretende adicionar", + "fontLabel": "Fonte", + "fontSizeLabel": "Tamanho da fonte", + "fontSizePlaceholder": "Introduza ou selecione o tamanho da fonte (8-200)", + "colorLabel": "Cor do texto" + }, + "steps": { + "configure": "Configurar texto" + }, + "step": { + "createDesc": "Introduza o texto que pretende adicionar", + "place": "Colocar texto", + "placeDesc": "Clique no PDF para adicionar o seu texto" + }, + "instructions": { + "title": "Como adicionar texto", + "text": "Depois de introduzir o texto acima, clique em qualquer ponto do PDF para o colocar.", + "paused": "Colocação em pausa", + "resumeHint": "Retome a colocação para clicar e adicionar o seu texto.", + "noSignature": "Introduza texto acima para ativar a colocação." + }, + "mode": { + "move": "Mover texto", + "place": "Colocar texto", + "pause": "Pausar colocação", + "resume": "Retomar colocação" + }, + "results": { + "title": "Resultados de adicionar texto" + }, + "error": { + "failed": "Ocorreu um erro ao adicionar texto ao PDF." + }, + "tags": "texto,anotação,rótulo", + "applySignatures": "Aplicar texto" } } \ No newline at end of file diff --git a/frontend/public/locales/ro-RO/translation.json b/frontend/public/locales/ro-RO/translation.json index 59aa6fa1b..78b71d532 100644 --- a/frontend/public/locales/ro-RO/translation.json +++ b/frontend/public/locales/ro-RO/translation.json @@ -17,6 +17,8 @@ "comingSoon": "În curând:", "favorite": "Adăugați la favorite", "favorites": "Favorite", + "unavailable": "Dezactivat de administratorul serverului:", + "unavailableDependency": "Indisponibil – lipsește un instrument necesar pe server:", "heading": "Toate instrumentele (vizualizare pe tot ecranul)", "noResults": "Încercați să ajustați căutarea sau comutați descrierile pentru a găsi ce aveți nevoie.", "recommended": "Recomandat", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Comutați la modul ecran complet", "sidebar": "Comutați la modul bară laterală" - } + }, + "alpha": "Alpha", + "premiumFeature": "Funcție premium:", + "comingSoon": "În curând:" }, "unsavedChanges": "Aveți modificări nesalvate în PDF.", "areYouSure": "Sigur doriți să părăsiți?", @@ -41,6 +46,30 @@ "cancel": "Anulare", "confirm": "Extrageți" }, + "defaultApp": { + "title": "Setează ca aplicație PDF implicită", + "message": "Vrei să setezi Stirling PDF ca editorul tău PDF implicit?", + "description": "Poți schimba asta mai târziu din setările sistemului.", + "notNow": "Nu acum", + "setDefault": "Setează ca implicită", + "dismiss": "Închide", + "prompt": { + "title": "Setează ca editor PDF implicit", + "message": "Fă din Stirling PDF aplicația implicită pentru deschiderea fișierelor PDF." + }, + "success": { + "title": "Aplicație implicită setată", + "message": "Stirling PDF este acum editorul tău PDF implicit" + }, + "settingsOpened": { + "title": "Setări deschise", + "message": "Te rugăm să selectezi Stirling PDF în setările sistemului" + }, + "error": { + "title": "Eroare", + "message": "Nu s-a putut seta gestionarul PDF implicit" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Salvează", "saveToBrowser": "Salvează în Browser", "download": "Descarcă", + "downloadUnavailable": "Descărcare indisponibilă pentru acest element", + "saveUnavailable": "Salvarea nu este disponibilă pentru acest element", "pin": "Fixare fișier (rămâne activ după rularea instrumentului)", "unpin": "Anulare fixare fișier (înlocuiește după rularea instrumentului)", "undoOperationTooltip": "Faceți clic pentru a anula ultima operațiune și a restaura fișierele originale", @@ -168,6 +199,7 @@ }, "edit": "Editare", "delete": "Șterge", + "never": "Niciodată", "username": "Nume de utilizator", "password": "Parolă", "welcome": "Bun venit", @@ -262,7 +294,8 @@ "learnMore": "Aflați mai multe", "enable": "Activați analizele", "disable": "Dezactivați analizele", - "settings": "Puteți schimba setările pentru analize în fișierul config/settings.yml" + "settings": "Puteți schimba setările pentru analize în fișierul config/settings.yml", + "privacyAssurance": "Nu urmărim nicio informație personală și nici conținutul fișierelor tale." }, "navbar": { "favorite": "Favorite", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Setări", - "update": "Actualizare disponibilă", - "updateAvailable": "{0} este versiunea instalată curent. O nouă versiune ({1}) este disponibilă.", - "appVersion": "Versiune aplicație:", - "downloadOption": { - "title": "Alege opțiunea de descărcare (pentru descărcarea unui singur fișier non-zip):", - "1": "Deschide în aceeași fereastră", - "2": "Deschide într-o fereastră nouă", - "3": "Descarcă fișierul" - }, - "zipThreshold": "Împachetează fișierele când numărul de fișiere descărcate depășește", - "signOut": "Deconectare", - "accountSettings": "Setări Cont", - "bored": { - "help": "Activează jocul easter egg" - }, - "cacheInputs": { - "name": "Salvează intrările formularului", - "help": "Activează pentru a stoca intrările utilizate anterior pentru rulări viitoare" + "connection": { + "title": "Mod de conectare", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Găzduit local" + }, + "server": "Server", + "user": "Conectat ca", + "logout": "Deconectare" }, "general": { "title": "General", "description": "Configurați preferințele generale ale aplicației.", - "account": "Cont", - "accountDescription": "Gestionați setările contului", "user": "Utilizator", - "signedInAs": "Autentificat ca", "logout": "Deconectare", "enableFeatures": { + "dismiss": "Ignorați", "title": "Pentru administratorii de sistem", "intro": "Activați autentificarea utilizatorilor, gestionarea echipei și funcțiile spațiului de lucru pentru organizația dvs.", "action": "Configurați", "and": "și", "benefit": "Activează roluri de utilizator, colaborare în echipă, controale de administrare și funcții enterprise.", - "learnMore": "Aflați mai multe în documentație", - "dismiss": "Ignorați" + "learnMore": "Aflați mai multe în documentație" }, - "autoUnzip": "Dezarhivare automată a răspunsurilor API", - "autoUnzipDescription": "Extrage automat fișiere din răspunsurile ZIP", - "autoUnzipTooltip": "Extrage automat fișierele ZIP returnate de operațiile API. Dezactivați pentru a păstra fișierele ZIP intacte. Aceasta nu afectează fluxurile de automatizare.", - "autoUnzipFileLimit": "Limită fișiere pentru dezarhivare automată", - "autoUnzipFileLimitDescription": "Numărul maxim de fișiere de extras din ZIP", - "autoUnzipFileLimitTooltip": "Dezarhivați doar dacă ZIP-ul conține atâtea fișiere sau mai puține. Setați mai mare pentru a extrage ZIP-uri mai mari.", "defaultToolPickerMode": "Mod implicit selector de instrumente", "defaultToolPickerModeDescription": "Alegeți dacă selectorul de instrumente se deschide implicit pe ecran complet sau în bară laterală", "mode": { - "fullscreen": "Ecran complet", - "sidebar": "Bară laterală" - } + "sidebar": "Bară laterală", + "fullscreen": "Ecran complet" + }, + "autoUnzipTooltip": "Extrage automat fișierele ZIP returnate de operațiile API. Dezactivați pentru a păstra fișierele ZIP intacte. Aceasta nu afectează fluxurile de automatizare.", + "autoUnzip": "Dezarhivare automată a răspunsurilor API", + "autoUnzipDescription": "Extrage automat fișiere din răspunsurile ZIP", + "autoUnzipFileLimitTooltip": "Dezarhivați doar dacă ZIP-ul conține atâtea fișiere sau mai puține. Setați mai mare pentru a extrage ZIP-uri mai mari.", + "autoUnzipFileLimit": "Limită fișiere pentru dezarhivare automată", + "autoUnzipFileLimitDescription": "Numărul maxim de fișiere de extras din ZIP", + "defaultPdfEditor": "Editor PDF implicit", + "defaultPdfEditorActive": "Stirling PDF este editorul tău PDF implicit", + "defaultPdfEditorInactive": "O altă aplicație este setată ca implicită", + "defaultPdfEditorChecking": "Se verifică...", + "defaultPdfEditorSet": "Deja implicit", + "setAsDefault": "Setează ca implicit", + "updates": { + "title": "Actualizări software", + "description": "Caută actualizări și vezi informații despre versiune", + "currentVersion": "Versiune curentă", + "latestVersion": "Ultima versiune", + "checkForUpdates": "Caută actualizări", + "viewDetails": "Vezi detalii" + }, + "hideUnavailableTools": "Ascunde instrumentele indisponibile", + "hideUnavailableToolsDescription": "Elimină din listă instrumentele dezactivate de server, în loc să fie afișate estompate.", + "hideUnavailableConversions": "Ascunde conversiile indisponibile", + "hideUnavailableConversionsDescription": "Elimină opțiunile de conversie dezactivate în instrumentul Convert, în loc să fie afișate estompate." }, "hotkeys": { - "title": "Scurtături de tastatură", - "description": "Plasați cursorul peste un instrument pentru a vedea scurtătura sau personalizați-o mai jos. Faceți clic pe \"Schimbați scurtătura\" și apăsați o nouă combinație de taste. Apăsați Esc pentru a anula.", - "errorModifier": { - "mac": "Includeți ⌘ (Command), ⌥ (Option) sau un alt modificator în scurtătură.", - "windows": "Includeți Ctrl, Alt sau un alt modificator în scurtătură." - }, "errorConflict": "Scurtătura este deja utilizată de {{tool}}.", + "searchPlaceholder": "Căutați instrumente...", "none": "Neatribuit", "customBadge": "Personalizat", "defaultLabel": "Implicit: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Schimbați scurtătura", "reset": "Resetare", "shortcut": "Scurtătură", - "noShortcut": "Nicio scurtătură setată", - "searchPlaceholder": "Căutați instrumente..." + "noShortcut": "Nicio scurtătură setată" } }, + "update": { + "modalTitle": "Actualizare disponibilă", + "current": "Versiune curentă", + "latest": "Ultima versiune", + "latestStable": "Ultima stabilă", + "priorityLabel": "Prioritate", + "recommendedAction": "Acțiune recomandată", + "breakingChangesDetected": "Modificări incompatibile detectate", + "breakingChangesMessage": "Unele versiuni conțin modificări incompatibile. Consultă ghidurile de migrare de mai jos înainte de a actualiza.", + "migrationGuides": "Ghiduri de migrare", + "viewGuide": "Vezi ghidul", + "loadingDetailedInfo": "Se încarcă informațiile detaliate...", + "close": "Închide", + "viewAllReleases": "Vezi toate versiunile", + "downloadLatest": "Descarcă cea mai recentă", + "availableUpdates": "Actualizări disponibile", + "unableToLoadDetails": "Nu se pot încărca informațiile detaliate.", + "version": "Versiune", + "urgentUpdateAvailable": "Actualizare urgentă", + "updateAvailable": "Actualizare disponibilă", + "releaseNotes": "Note de versiune", + "priority": { + "urgent": "Urgentă", + "normal": "Normală", + "minor": "Minoră", + "low": "Scăzută" + }, + "breakingChanges": "Modificări incompatibile", + "breakingChangesDefault": "Această versiune conține modificări incompatibile.", + "migrationGuide": "Ghid de migrare" + }, "changeCreds": { "title": "Schimbă Credențialele", "header": "Actualizează Detaliile Contului Tău", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Suprapune PDF-uri peste alt PDF", "title": "Suprapune PDF-uri" + }, + "pdfTextEditor": { + "title": "Editor text PDF", + "desc": "Revizuiește și editează exporturile JSON Stirling PDF cu editare de text grupată și regenerare PDF" + }, + "addText": { + "tags": "text,anotare,etichetă", + "title": "Adaugă text", + "desc": "Adaugă text personalizat oriunde în PDF-ul tău" } }, "landing": { "addFiles": "Adăugați fișiere", - "uploadFromComputer": "Încărcați de pe calculator" + "uploadFromComputer": "Încărcați de pe calculator", + "openFromComputer": "Deschide de pe calculator" }, "viewPdf": { "tags": "vizualizare,citește,adnotează,text,imagine", @@ -849,6 +922,11 @@ }, "error": { "failed": "A apărut o eroare la îmbinarea PDF-urilor." + }, + "tooltip": { + "header": { + "title": "Prezentare setări de îmbinare" + } } }, "split": { @@ -1047,7 +1125,7 @@ "settings": "Setări", "conversionCompleted": "Conversie finalizată", "results": "Rezultate", - "defaultFilename": "converted_file", + "defaultFilename": "fișier_convertit", "conversionResults": "Rezultatele conversiei", "convertFrom": "Convertește din", "convertTo": "Convertește în", @@ -1090,7 +1168,7 @@ "odtExt": "OpenDocument Text (.odt)", "pptExt": "PowerPoint (.pptx)", "odpExt": "OpenDocument Presentation (.odp)", - "txtExt": "Plain Text (.txt)", + "txtExt": "Text simplu (.txt)", "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.", @@ -1182,9 +1260,43 @@ "tags": "img,jpg,poză,fotografie", "title": "Adăugare imagine", "header": "Adăugare imagine în PDF", - "everyPage": "Pe fiecare pagină?", - "upload": "Adăugare imagine", - "submit": "Adăugare imagine" + "image": { + "name": "Imagine", + "placeholder": "Încarcă o imagine", + "label": "Fișier imagine" + }, + "steps": { + "configure": "Configurează imaginea" + }, + "step": { + "createDesc": "Încarcă imaginea pe care vrei să o adaugi", + "place": "Plasează imaginea", + "placeDesc": "Fă clic pe PDF pentru a adăuga imaginea" + }, + "instructions": { + "title": "Cum adaugi imagini", + "text": "După ce încarci imaginea de mai sus, fă clic oriunde pe PDF pentru a o plasa.", + "paused": "Plasare întreruptă", + "resumeHint": "Reia plasarea pentru a face clic și a adăuga imaginea.", + "noSignature": "Încarcă o imagine mai sus pentru a activa plasarea." + }, + "mode": { + "move": "Mută imaginea", + "place": "Plasează imaginea", + "pause": "Pauză plasare", + "resume": "Reia plasarea" + }, + "results": { + "title": "Rezultate adăugare imagine" + }, + "error": { + "failed": "A apărut o eroare la adăugarea imaginii în PDF." + }, + "saved": { + "defaultLabel": "Imagine", + "defaultImageLabel": "Imagine încărcată" + }, + "applySignatures": "Aplică imagini" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1397,6 +1509,93 @@ }, "submit": "Schimbă" }, + "editTableOfContents": { + "settings": { + "title": "Semne de carte și cuprins", + "replaceExisting": "Înlocuiește semnele de carte existente (debifează pentru a adăuga)", + "replaceExistingHint": "Când este dezactivat, noul cuprins este adăugat după semnele de carte curente." + }, + "actions": { + "source": "Încarcă semnele de carte", + "selectedFile": "Încărcat din {{file}}", + "noFile": "Selectează un PDF pentru a extrage semnele de carte existente.", + "loadFromPdf": "Încarcă din PDF-ul selectat", + "importJson": "Importă JSON", + "importClipboard": "Lipește JSON din clipboard", + "export": "Exportă semnele de carte", + "exportJson": "Descarcă JSON", + "exportClipboard": "Copiază JSON în clipboard", + "clipboardUnavailable": "Accesul la clipboard nu este disponibil în acest browser." + }, + "info": { + "line1": "Fiecare semn de carte are nevoie de un titlu descriptiv și pagina pe care să o deschidă.", + "line2": "Folosește semne de carte copil pentru a construi o ierarhie pentru capitole, secțiuni sau subsecțiuni.", + "line3": "Importă semne de carte din PDF-ul selectat sau dintr-un fișier JSON pentru a economisi timp." + }, + "workbench": { + "empty": { + "title": "Deschide instrumentul pentru a începe editarea", + "description": "Selectează instrumentul Edit Table of Contents pentru a încărca spațiul de lucru." + }, + "tabTitle": "Spațiu de lucru cuprins", + "subtitle": "Importă semne, creează ierarhii și aplică cuprinsul fără panouri laterale înghesuite.", + "noFile": "Niciun PDF selectat", + "fileLabel": "Modificările vor fi aplicate PDF-ului selectat.", + "filePrompt": "Selectează un PDF din bibliotecă sau încarcă unul nou pentru a începe.", + "changeFile": "Schimbă PDF-ul", + "selectFile": "Selectează PDF" + }, + "editor": { + "heading": "Editor de semne de carte", + "description": "Adaugă, inserează ierarhic și reordonează semnele de carte pentru a crea cuprinsul PDF-ului.", + "addTopLevel": "Adaugă semn de carte de nivel superior", + "empty": { + "title": "Încă nu există semne de carte", + "description": "Importă semnele existente sau începe adăugând prima intrare.", + "action": "Adaugă primul semn de carte" + }, + "defaultTitle": "Semn de carte nou", + "defaultChildTitle": "Semn de carte copil", + "defaultSiblingTitle": "Semn de carte nou", + "untitled": "Semn de carte fără titlu", + "childBadge": "Copil", + "pagePreview": "Pagina {{page}}", + "field": { + "title": "Titlul semnului de carte", + "page": "Numărul paginii țintă" + }, + "actions": { + "toggle": "Comută copiii", + "addChild": "Adaugă semn de carte copil", + "addSibling": "Adaugă semn de carte la același nivel", + "remove": "Elimină semnul de carte" + }, + "confirmRemove": "Elimini acest semn de carte și toți descendenții lui?" + }, + "messages": { + "loadedTitle": "Semne de carte extrase", + "loadedBody": "Semnele de carte existente din PDF au fost încărcate în editor.", + "noBookmarks": "Nu s-au găsit semne de carte în PDF-ul selectat.", + "loadFailed": "Nu s-au putut extrage semnele de carte din PDF-ul selectat.", + "imported": "Semne de carte importate", + "importedBody": "Cuprinsul din JSON a înlocuit conținutul actual al editorului.", + "importedClipboard": "Datele din clipboard au înlocuit lista curentă de semne de carte.", + "invalidJson": "Structură JSON invalidă", + "invalidJsonBody": "Furnizează un fișier JSON de semne de carte valid și încearcă din nou.", + "exported": "Descărcarea JSON e pregătită", + "copied": "Copiat în clipboard", + "copiedBody": "JSON-ul de semne de carte a fost copiat cu succes.", + "copyFailed": "Copiere eșuată" + }, + "error": { + "failed": "Nu s-a putut actualiza cuprinsul" + }, + "submit": "Aplică cuprinsul", + "results": { + "title": "PDF actualizat cu semne de carte", + "subtitle": "Descarcă fișierul procesat sau anulează operația mai jos." + } + }, "removePages": { "tags": "Elimină pagini,șterge pagini", "title": "Elimină", @@ -1601,7 +1800,7 @@ "tags": "comprimă,mic,minuscul" }, "unlockPDFForms": { - "tags": "remove,delete,form,field,readonly", + "tags": "eliminare,ștergere,formular,câmp,doar citire", "title": "Elimină 'Doar citire' din câmpurile formularului", "header": "Deblochează formularele PDF", "submit": "Remove", @@ -1978,13 +2177,54 @@ "title": "Desenați semnătura", "clear": "Șterge" }, + "canvas": { + "heading": "Desenează-ți semnătura", + "clickToOpen": "Clic pentru a deschide zona de desen", + "modalTitle": "Desenează-ți semnătura", + "colorLabel": "Culoare", + "penSizeLabel": "Grosime linie", + "penSizePlaceholder": "Mărime", + "clear": "Șterge desenul", + "colorPickerTitle": "Alege culoarea liniei" + }, "text": { "name": "Nume semnatar", - "placeholder": "Introduceți numele complet" + "placeholder": "Introduceți numele complet", + "fontLabel": "Font", + "fontSizeLabel": "Mărime font", + "fontSizePlaceholder": "Tastează sau selectează mărimea fontului (8-200)", + "colorLabel": "Culoare text" }, "clear": "Curăță", "add": "Adaugă", - "saved": "Semnături salvate", + "saved": { + "heading": "Semnături salvate", + "description": "Reutilizează semnăturile salvate oricând.", + "emptyTitle": "Încă nu există semnături salvate", + "emptyDescription": "Desenează, încarcă sau scrie o semnătură mai sus, apoi folosește \"Salvează în bibliotecă\" pentru a păstra până la {{max}} favorite gata de utilizare.", + "type": { + "canvas": "Desen", + "image": "Încărcare", + "text": "Text" + }, + "limitTitle": "Limită atinsă", + "limitDescription": "Elimină o semnătură salvată înainte de a adăuga altele (max {{max}}).", + "carouselPosition": "{{current}} din {{total}}", + "prev": "Anterior", + "next": "Următor", + "delete": "Elimină", + "label": "Etichetă", + "defaultLabel": "Semnătură", + "defaultCanvasLabel": "Semnătură desenată", + "defaultImageLabel": "Semnătură încărcată", + "defaultTextLabel": "Semnătură tastată", + "saveButton": "Salvează semnătura", + "saveUnavailable": "Creează mai întâi o semnătură pentru a o salva.", + "noChanges": "Semnătura curentă este deja salvată.", + "status": { + "saved": "Salvat" + } + }, "save": "Salvează semnătura", "applySignatures": "Aplică semnăturile", "personalSigs": "Semnături personale", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Configurează semnătura" }, + "step": { + "createDesc": "Alege cum vrei să creezi semnătura", + "place": "Plasează și salvează", + "placeDesc": "Plasează semnătura pe PDF" + }, "type": { "title": "Tip de semnătură", "draw": "Desen", - "canvas": "Canvas", + "canvas": "Desen", "image": "Imagine", - "text": "Text" + "text": "Text", + "saved": "Salvate" }, "image": { "label": "Încarcă imaginea semnăturii", @@ -2019,11 +2265,17 @@ "title": "Cum să adăugați semnătura", "canvas": "După ce desenați semnătura în canvas, închideți fereastra și apoi faceți clic oriunde pe PDF pentru a o plasa.", "image": "După încărcarea imaginii semnăturii de mai sus, faceți clic oriunde pe PDF pentru a o plasa.", - "text": "După ce introduceți numele mai sus, faceți clic oriunde pe PDF pentru a plasa semnătura." + "saved": "Selectează o semnătură salvată mai sus, apoi fă clic oriunde pe PDF pentru a o plasa.", + "text": "După ce introduceți numele mai sus, faceți clic oriunde pe PDF pentru a plasa semnătura.", + "paused": "Plasare întreruptă", + "resumeHint": "Reia plasarea pentru a face clic și a adăuga semnătura.", + "noSignature": "Creează o semnătură mai sus pentru a activa instrumentele de plasare." }, "mode": { "move": "Mută semnătura", - "place": "Plasează semnătura" + "place": "Plasează semnătura", + "pause": "Pauză plasare", + "resume": "Reia plasarea" }, "updateAndPlace": "Actualizează și plasează", "activate": "Activează plasarea semnăturii", @@ -2163,6 +2415,14 @@ "title": "Despre eliminarea adnotărilor", "description": "Acest instrument va elimina toate adnotările (comentarii, evidențieri, note etc.) din documentele PDF." }, + "tooltip": { + "header": { + "title": "Despre eliminarea adnotărilor" + }, + "description": { + "title": "Ce face" + } + }, "error": { "failed": "A apărut o eroare la eliminarea adnotărilor din PDF." } @@ -2627,6 +2887,9 @@ "header": { "title": "Cum funcționează redenumirea automată" }, + "description": { + "title": "Ce face" + }, "howItWorks": { "title": "Redenumire inteligentă", "text": "Găsește automat titlul din conținutul PDF-ului și îl folosește ca nume de fișier.", @@ -2634,6 +2897,9 @@ "bullet2": "Creează un nume de fișier curat și valid din titlul detectat", "bullet3": "Păstrează numele original dacă nu se găsește un titlu potrivit" } + }, + "settings": { + "title": "Despre" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "Eroare neașteptată: {{message}}", "accountCreatedSuccess": "Cont creat cu succes! Acum vă puteți autentifica.", "passwordChangedSuccess": "Parola a fost schimbată cu succes! Autentificați-vă cu noua parolă.", - "credentialsUpdated": "Datele de autentificare au fost actualizate. Vă rugăm să vă autentificați din nou." + "credentialsUpdated": "Datele de autentificare au fost actualizate. Vă rugăm să vă autentificați din nou.", + "defaultCredentials": "Date de autentificare implicite", + "changePasswordWarning": "Vă rugăm să vă schimbați parola după prima autentificare", + "slides": { + "overview": { + "alt": "Prezentare generală Stirling PDF", + "title": "Un centru unic pentru toate nevoile PDF.", + "subtitle": "O suită cloud axată pe confidențialitate pentru PDF-uri, care vă permite să convertiți, semnați, redactați și gestionați documente, plus peste 50 de alte instrumente puternice." + }, + "edit": { + "alt": "Editați PDF-uri", + "title": "Editați PDF-uri pentru a afișa/proteja informațiile dorite", + "subtitle": "Cu peste o duzină de instrumente pentru a redacta, semna, citi și manipula PDF-uri, veți găsi cu siguranță ceea ce căutați." + }, + "secure": { + "alt": "Securizați PDF-uri", + "title": "Protejați informațiile sensibile din PDF-urile dvs.", + "subtitle": "Adăugați parole, redactați conținut și gestionați certificate cu ușurință." + } + } }, "signup": { "title": "Creați un cont", @@ -3502,7 +3787,7 @@ "title": "Documentație API", "header": "Documentație API", "desc": "Vizualizați și testați endpoint-urile API Stirling PDF", - "tags": "api,documentation,swagger,endpoints,development" + "tags": "api,documentație,swagger,endpoint-uri,dezvoltare" }, "cookieBanner": { "popUp": { @@ -3598,7 +3883,9 @@ "exportAll": "Exportați PDF", "downloadSelected": "Descărcați fișierele selectate", "downloadAll": "Descărcați tot", + "saveAll": "Salvează tot", "toggleTheme": "Comutați tema", + "toggleBookmarks": "Comută semnele de carte", "language": "Limbă", "search": "Căutați în PDF", "panMode": "Mod panoramare", @@ -3685,8 +3972,16 @@ "saved": "Setările au fost salvate cu succes", "saveSuccess": "Setările au fost salvate cu succes", "save": "Salvați modificările", + "discard": "Renunță", "restartRequired": "Este necesară repornirea", "loginRequired": "Modul de autentificare trebuie activat pentru a modifica setările de administrator", + "unsavedChanges": { + "title": "Modificări nesalvate", + "message": "Aveți modificări nesalvate. Doriți să renunțați la ele?", + "cancel": "Continuă editarea", + "discard": "Renunță la modificări", + "hint": "Aveți modificări nesalvate" + }, "loginDisabled": { "title": "Este necesar modul de autentificare", "message": "Modul de autentificare trebuie activat pentru a modifica setările de administrator. Setați SECURITY_ENABLELOGIN=true în mediul dvs. sau security.enableLogin: true în settings.yml, apoi reporniți serverul.", @@ -4212,9 +4507,21 @@ "title": "Premium și Enterprise", "description": "Configurați cheia de licență premium sau enterprise.", "license": "Configurare licență", + "licenseKey": { + "toggle": "Ai o cheie de licență sau un fișier certificat?", + "info": "Dacă ai o cheie de licență sau un fișier certificat dintr-o achiziție directă, o poți introduce aici pentru a activa funcțiile premium sau enterprise." + }, "key": { "label": "Cheie de licență", - "description": "Introduceți cheia de licență premium sau enterprise" + "description": "Introduceți cheia de licență premium sau enterprise", + "success": "Cheie de licență salvată", + "successMessage": "Cheia ta de licență a fost activată cu succes. Nu este necesară repornirea.", + "overwriteWarning": { + "title": "⚠️ Avertizare: licență existentă detectată", + "line1": "Suprascrierea cheii de licență curente nu poate fi anulată.", + "line2": "Licența anterioară va fi pierdută definitiv dacă nu ai o copie de rezervă.", + "line3": "Important: Păstrează cheile de licență private și în siguranță. Nu le distribui public." + } }, "enabled": { "label": "Activează funcțiile Premium", @@ -4278,12 +4585,17 @@ "or": "sau", "dropFileHere": "Trageți fișierul aici sau faceți clic pentru a încărca", "dropFilesHere": "Trageți fișierele aici sau faceți clic pe butonul de încărcare", + "dropFilesHereOpen": "Trage fișiere aici sau apasă butonul Deschide", "pdfFilesOnly": "Doar fișiere PDF", "supportedFileTypes": "Tipuri de fișiere acceptate", "upload": "Încărcați", "uploadFile": "Încărcați fișier", "uploadFiles": "Încărcați fișiere", + "open": "Deschide", + "openFile": "Deschide fișier", + "openFiles": "Deschide fișiere", "noFilesInStorage": "Nu există fișiere disponibile în stocare. Încărcați mai întâi câteva fișiere.", + "noFilesInStorageOpen": "Nu există fișiere în stocare. Deschide mai întâi câteva fișiere.", "selectFromStorage": "Selectați din stocare", "backToTools": "Înapoi la Instrumente", "addFiles": "Adăugați fișiere", @@ -4329,6 +4641,8 @@ "myFiles": "Fișierele mele", "noRecentFiles": "Nu s-au găsit fișiere recente", "googleDriveNotAvailable": "Integrarea cu Google Drive nu este disponibilă", + "downloadSelected": "Descărcați selecția", + "saveSelected": "Salvează selecția", "openFiles": "Deschideți fișiere", "openFile": "Deschideți fișier", "details": "Detalii fișier", @@ -4341,7 +4655,6 @@ "selectAll": "Selectați tot", "deselectAll": "Deselectați tot", "deleteSelected": "Ștergeți selecția", - "downloadSelected": "Descărcați selecția", "selectedCount": "{{count}} selectate", "download": "Descarcă", "delete": "Șterge", @@ -4621,9 +4934,14 @@ "secureWorkflow": "Flux de securitate", "secureWorkflowDesc": "Asigură documentele PDF prin eliminarea conținutului potențial malițios precum JavaScript și fișierele încorporate, apoi adaugă protecție cu parolă pentru a preveni accesul neautorizat. Parola este setată la 'password' în mod implicit.", "processImages": "Procesează imagini", - "processImagesDesc": "Convertește mai multe fișiere imagine într-un singur document PDF, apoi aplică tehnologia OCR pentru a extrage text căutabil din imagini." + "processImagesDesc": "Convertește mai multe fișiere imagine într-un singur document PDF, apoi aplică tehnologia OCR pentru a extrage text căutabil din imagini.", + "prePublishSanitization": "Curățare înainte de publicare", + "prePublishSanitizationDesc": "Flux care elimină toate metadatele ascunse, JavaScript, fișierele încorporate, adnotările și aplatizează formularele pentru a preveni scurgerile de date înainte de publicarea online a PDF-urilor." } }, + "colorPicker": { + "title": "Alege culoarea" + }, "common": { "previous": "Înapoi", "next": "Înainte", @@ -4639,7 +4957,13 @@ "used": "utilizat", "available": "disponibil", "cancel": "Anulați", - "preview": "Previzualizare" + "preview": "Previzualizare", + "close": "Închide", + "done": "Gata", + "loading": "Se încarcă...", + "back": "Înapoi", + "continue": "Continuă", + "error": "Eroare" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Adăugați mai multe fișiere...", "selectedFiles": "Fișiere selectate", "submit": "Adăugați atașamente", + "tooltip": { + "header": { + "title": "Despre adăugarea atașamentelor" + }, + "description": { + "title": "Ce face" + } + }, "results": { "title": "Rezultatele atașării" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Poziție personalizată", "details": "Detalii", - "downloadUnavailable": "Descărcare indisponibilă pentru acest element", "invalidUndoData": "Nu se poate anula: date de operațiune nevalide", "margin": { "large": "Mare", @@ -4801,6 +5132,10 @@ "maybeLater": "Poate mai târziu", "dontShowAgain": "Nu mai arăta" }, + "welcomeSlide": { + "title": "Bun venit la Stirling", + "body": "Stirling PDF este acum pregătit pentru echipe de orice dimensiune. Această actualizare include un nou aspect, capabilități puternice pentru admin și cea mai solicitată funcție - Edit Text." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Să selectăm instrumentul Decupare pentru a demonstra cum se utilizează unul dintre instrumente.", "toolInterface": "Aceasta este interfața instrumentului Decupare. După cum vedeți, nu este prea mult acolo deoarece încă nu am adăugat fișiere PDF cu care să lucrăm.", @@ -4823,7 +5158,39 @@ "next": "Înainte", "finish": "Finalizați", "startTour": "Porniți turul", - "startTourDescription": "Faceți un tur ghidat al funcțiilor esențiale Stirling PDF" + "startTourDescription": "Faceți un tur ghidat al funcțiilor esențiale Stirling PDF", + "buttons": { + "next": "Înainte →", + "back": "Înapoi", + "skipForNow": "Sari peste deocamdată", + "download": "Descarcă →", + "showMeAround": "Arată-mi", + "skipTheTour": "Sari peste tur" + }, + "serverLicense": { + "skip": "Sari peste deocamdată", + "seePlans": "Vezi planuri →", + "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 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ă." + }, + "desktopInstall": { + "title": "Descărcare", + "titleWithOs": "Descărcare pentru {{osLabel}}", + "body": "Stirling funcționează cel mai bine ca aplicație desktop. O poți folosi offline, accesezi documentele mai rapid și faci editări local pe computer." + }, + "planOverview": { + "adminTitle": "Prezentare admin", + "userTitle": "Prezentare plan", + "adminBodyLoginEnabled": "Ca admin, poți gestiona utilizatori, configura setări și monitoriza starea serverului. Primele {{freeTierLimit}} persoane de pe serverul tău folosesc Stirling gratuit.", + "adminBodyLoginDisabled": "După ce activezi modul de autentificare, poți gestiona utilizatori, configura setări și monitoriza starea serverului. Primele {{freeTierLimit}} persoane de pe serverul tău folosesc Stirling gratuit.", + "userBody": "Invite colegi, atribuie roluri și ține documentele organizate într-un spațiu de lucru sigur. Activează modul de autentificare când ești pregătit să treci dincolo de utilizarea solo." + }, + "securityCheck": { + "message": "Aplicația a suferit schimbări semnificative recent. Poate fi nevoie de atenția adminului serverului. Confirmă-ți rolul pentru a continua." + } }, "adminOnboarding": { "welcome": "Bun venit la Turul Admin! Haideți să explorăm funcțiile enterprise și setările puternice disponibile administratorilor de sistem.", @@ -4852,7 +5219,10 @@ "role": "Rol", "team": "Echipă", "status": "Stare", - "actions": "Acțiuni", + "actions": { + "label": "Acțiuni", + "upgrade": "Fă upgrade" + }, "noMembersFound": "Nu s-au găsit membri", "active": "Activ", "disabled": "Dezactivat", @@ -4953,7 +5323,7 @@ "username": "Utilizator", "email": "Email", "link": "Link", - "emailDisabled": "Email invites require SMTP configuration and mail.enableInvites=true in settings" + "emailDisabled": "Invitațiile prin email necesită configurarea SMTP și mail.enableInvites=true în setări" }, "license": { "users": "utilizatori", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} loc(uri) de utilizator disponibile", "noSlotsAvailable": "Niciun loc disponibil", "currentUsage": "În prezent se folosesc {{current}} din {{max}} licențe de utilizator" - } + }, + "loginRequired": "Activează mai întâi modul de autentificare" }, "teams": { "title": "Echipe", @@ -5057,6 +5428,17 @@ "showComparison": "Compară toate funcțiile", "hideComparison": "Ascunde comparația funcțiilor", "featureComparison": "Comparație funcții", + "from": "De la", + "perMonth": "/lună", + "perSeat": "/loc", + "withServer": "+ Plan Server", + "licensedSeats": "Licențiate: {{count}} locuri", + "includedInCurrent": "Inclus în planul tău", + "selectPlan": "Selectează planul", + "manage": "Gestionează", + "manageSubscription": { + "description": "Gestionează abonarea, facturarea și metodele de plată" + }, "activePlan": { "title": "Plan activ", "subtitle": "Detaliile abonamentului curent" @@ -5074,13 +5456,16 @@ "upTo": "Până la" }, "period": { - "month": "lună" + "month": "lună", + "perUserPerMonth": "/utilizator/lună" }, "free": { "name": "Gratuit", "highlight1": "Utilizare limitată a instrumentelor pe săptămână", "highlight2": "Acces la toate instrumentele", - "highlight3": "Asistență din comunitate" + "highlight3": "Asistență din comunitate", + "forever": "Gratuit pentru totdeauna", + "included": "Inclus" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Preț personalizat", "highlight2": "Asistență dedicată", - "highlight3": "Cele mai noi funcții" + "highlight3": "Cele mai noi funcții", + "requiresServer": "Necesită Server", + "requiresServerMessage": "Te rugăm să faci mai întâi upgrade la planul Server înainte de a trece la Enterprise." }, "feature": { "title": "Funcție", @@ -5102,6 +5489,12 @@ "api": "Acces API", "priority": "Asistență prioritară", "customPricing": "Preț personalizat" + }, + "licenseWarning": { + "title": "Limită self-hosted gratuită atinsă", + "body": "Ai {{total}} utilizatori, dar nivelul gratuit suportă doar {{limit}} per server. Fă upgrade pentru ca Stirling PDF să ruleze fără probleme.", + "overLimit": "mai mult de {{limit}}", + "cta": "Vezi planuri" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Gestionează facturarea", "portal": { "error": "Deschiderea portalului de facturare a eșuat" - } + }, + "updateSeats": "Actualizează locurile", + "updateEnterpriseSeats": "Actualizează locurile Enterprise", + "currentSeats": "Locuri curente", + "minimumSeats": "Locuri minime", + "basedOnUsers": "(utilizatori curenți)", + "newSeatCount": "Număr nou de locuri", + "newSeatCountDescription": "Selectează numărul de locuri pentru licența enterprise", + "whatHappensNext": "Ce urmează?", + "stripePortalRedirect": "Vei fi redirecționat către portalul de plăți Stripe pentru a revizui și confirma schimbarea locurilor. Suma proporțională va fi calculată automat.", + "preparingUpdate": "Se pregătește actualizarea locurilor...", + "seatCountTooLow": "Numărul de locuri trebuie să fie cel puțin {{minimum}} (numărul curent de utilizatori)", + "seatCountUnchanged": "Te rugăm să selectezi un număr diferit de locuri", + "seatsUpdated": "Locuri actualizate", + "seatsUpdatedMessage": "Locurile tale enterprise au fost actualizate la {{seats}}", + "updateProcessing": "Actualizare în curs", + "updateProcessingMessage": "Actualizarea locurilor este în curs de procesare. Reîmprospătează peste câteva momente.", + "notEnterprise": "Gestionarea locurilor este disponibilă doar pentru licențe enterprise" + }, + "upgradeBanner": { + "title": "Upgrade la planul Server", + "message": "Profită la maximum de Stirling PDF cu utilizatori nelimitați și funcții avansate", + "upgradeButton": "Fă upgrade acum", + "dismiss": "Ascunde bannerul", + "attentionTitle": "Acest server necesită atenția adminului", + "attentionBody": "Adminul tău trebuie să se conecteze pentru mai multe informații. Contactează-l imediat.", + "attentionBodyAdmin": "Revizuiește cerințele de licențiere pentru a menține conformitatea acestui server.", + "seeInfo": "Vezi info" }, "payment": { "preparing": "Se pregătește checkout-ul...", @@ -5128,7 +5548,61 @@ "success": "Plată reușită!", "successMessage": "Abonamentul dvs. a fost activat cu succes. Veți primi în curând un e-mail de confirmare.", "autoClose": "Această fereastră se va închide automat...", - "error": "Eroare de plată" + "error": "Eroare de plată", + "upgradeSuccess": "Plată reușită! Abonamentul a fost actualizat. Licența a fost actualizată pe serverul tău. Vei primi în curând un email de confirmare.", + "paymentSuccess": "Plată reușită! Se preia cheia ta de licență...", + "licenseActivated": "Licență activată! Cheia ta de licență a fost salvată. Un email de confirmare a fost trimis la adresa ta.", + "licenseDelayed": "Plată reușită! Licența ta este în curs de generare. Vei primi în curând un email cu cheia de licență. Dacă nu îl primești în 10 minute, contactează support.", + "licensePollingError": "Plată reușită, dar nu am putut prelua automat cheia ta de licență. Verifică emailul sau contactează support cu confirmarea plății.", + "licenseRetrievalError": "Plată reușită, dar preluarea licenței a eșuat. Vei primi cheia de licență pe email. Te rugăm să contactezi support dacă nu o primești în 10 minute.", + "syncError": "Plată reușită, dar sincronizarea licenței a eșuat. Licența ta va fi actualizată în curând. Contactează support dacă problemele persistă.", + "licenseSaveError": "Nu s-a putut salva cheia de licență. Te rugăm să contactezi support cu cheia ta pentru a finaliza activarea.", + "paymentCanceled": "Plata a fost anulată. Nu s-au făcut debiteri.", + "syncingLicense": "Se sincronizează licența actualizată...", + "generatingLicense": "Se generează cheia ta de licență...", + "upgradeComplete": "Upgrade finalizat", + "upgradeCompleteMessage": "Abonamentul tău a fost actualizat cu succes. Cheia de licență existentă a fost actualizată.", + "stripeNotConfigured": "Stripe neconfigurat", + "stripeNotConfiguredMessage": "Integrarea de plăți Stripe nu este configurată. Te rugăm să contactezi administratorul.", + "monthly": "Lunar", + "yearly": "Anual", + "billingPeriod": "Perioadă de facturare", + "enterpriseNote": "Locurile pot fi ajustate la checkout (1-1000).", + "installationId": "ID instalare", + "licenseKey": "Cheia ta de licență", + "licenseInstructions": "A fost adăugată în instalarea ta. Vei primi o copie și pe email.", + "canCloseWindow": "Poți închide această fereastră.", + "licenseKeyProcessing": "Procesare cheie de licență", + "licenseDelayedMessage": "Cheia ta de licență este în curs de generare. Verifică emailul în curând sau contactează support.", + "perYear": "/an", + "perMonth": "/lună", + "emailInvalid": "Te rugăm să introduci o adresă de email validă", + "emailStage": { + "title": "Introdu adresa ta de email", + "description": "O folosim pentru a-ți trimite cheia de licență și chitanțele.", + "emailLabel": "Adresă de email", + "emailPlaceholder": "your@email.com", + "continue": "Continuă", + "modalTitle": "Începe - {{planName}}" + }, + "planStage": { + "title": "Alege perioada de facturare", + "savingsNote": "Economisește {{percent}}% cu facturare anuală", + "basePrice": "Preț de bază", + "seatPrice": "Per loc", + "totalForSeats": "Total ({{count}} locuri)", + "selectMonthly": "Selectează lunar", + "selectYearly": "Selectează anual", + "savePercent": "Economisești {{percent}}%", + "savingsAmount": "Economisești {{amount}}", + "modalTitle": "Selectează perioada de facturare - {{planName}}", + "billedYearly": "Facturat anual la {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Înapoi la alegerea planului", + "selectedPlan": "Plan selectat", + "modalTitle": "Finalizează plata - {{planName}}" + } }, "firstLogin": { "title": "Prima autentificare", @@ -5287,5 +5761,281 @@ "offline": "Backend offline", "starting": "Backend-ul pornește...", "wait": "Așteptați ca backend-ul să finalizeze pornirea și încercați din nou." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Deblochează PDF-ul pentru a continua", + "title": "Elimină parola pentru a continua", + "description": "Acest PDF este protejat cu parolă. Introdu parola pentru a continua lucrul cu el.", + "password": { + "label": "Parola PDF", + "placeholder": "Introdu parola PDF" + }, + "skip": "Sari peste deocamdată", + "unlock": "Deblochează și continuă", + "incorrectPassword": "Parolă incorectă", + "missingFile": "Fișierul selectat nu mai este disponibil.", + "emptyResponse": "Eliminarea parolei nu a generat un fișier.", + "required": "Introdu parola pentru a continua.", + "successTitle": "Parolă eliminată", + "successBodyWithName": "Parola a fost eliminată din {{fileName}}", + "successBody": "Parola a fost eliminată cu succes." + }, + "setup": { + "welcome": "Bun venit la Stirling PDF", + "description": "Începe alegând cum vrei să folosești Stirling PDF", + "step1": { + "label": "Alege modul", + "description": "Offline sau Server" + }, + "step2": { + "label": "Selectează serverul", + "description": "Server găzduit local" + }, + "step3": { + "label": "Autentificare", + "description": "Introdu acreditările" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Autentifică-te cu contul tău Stirling" + }, + "selfhosted": { + "title": "Server Self-Hosted", + "description": "Conectează-te la propriul tău server Stirling PDF" + } + }, + "saas": { + "title": "Autentifică-te în Stirling", + "subtitle": "Autentifică-te cu contul tău Stirling" + }, + "selfhosted": { + "title": "Autentifică-te pe server", + "subtitle": "Introdu acreditările serverului tău" + }, + "server": { + "title": "Conectează-te la server", + "subtitle": "Introdu URL-ul serverului tău self-hosted", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Server găzduit local" + }, + "url": { + "label": "URL server", + "description": "Introdu URL-ul complet al serverului tău Stirling PDF găzduit local" + }, + "error": { + "emptyUrl": "Te rugăm să introduci un URL de server", + "unreachable": "Nu s-a putut conecta la server", + "testFailed": "Testul de conexiune a eșuat" + }, + "testing": "Se testează conexiunea..." + }, + "login": { + "title": "Autentificare", + "subtitle": "Introdu acreditările pentru a continua", + "connectingTo": "Conectare la:", + "username": { + "label": "Utilizator", + "placeholder": "Introdu numele de utilizator" + }, + "email": { + "label": "Email", + "placeholder": "Introdu adresa de email" + }, + "password": { + "label": "Parolă", + "placeholder": "Introdu parola" + }, + "error": { + "emptyUsername": "Te rugăm să introduci numele de utilizator", + "emptyEmail": "Te rugăm să introduci adresa de email", + "emptyPassword": "Te rugăm să introduci parola", + "oauthFailed": "Autentificarea OAuth a eșuat. Încearcă din nou." + }, + "submit": "Autentificare", + "signInWith": "Autentifică-te cu", + "oauthPending": "Se deschide browserul pentru autentificare...", + "orContinueWith": "Sau continuă cu email" + } + }, + "oauth": { + "success": { + "title": "Autentificare reușită", + "message": "Puteți închide această fereastră și reveni la Stirling PDF." + }, + "error": { + "title": "Autentificare eșuată", + "message": "Autentificarea nu a reușit. Puteți închide această fereastră și să încercați din nou." + } + }, + "pdfTextEditor": { + "title": "Editor JSON pentru PDF", + "viewLabel": "Editor PDF", + "converting": "Se convertește PDF-ul în format editabil...", + "conversionFailed": "Conversia PDF-ului a eșuat. Vă rugăm să încercați din nou.", + "currentFile": "Fișier curent: {{name}}", + "pageSummary": "Pagina {{number}} din {{total}}", + "pagePreviewAlt": "Previzualizare pagină", + "imageLabel": "Imagine plasată", + "noTextOnPage": "Nu a fost detectat text editabil pe această pagină.", + "pageType": { + "paragraph": "Pagină cu paragrafe", + "sparse": "Text rar" + }, + "groupingMode": { + "auto": "Auto", + "paragraph": "Paragraf", + "singleLine": "O singură linie" + }, + "badges": { + "unsaved": "Editat", + "modified": "Editat", + "earlyAccess": "Acces timpuriu" + }, + "actions": { + "reset": "Resetați modificările", + "downloadJson": "Descărcați JSON", + "generatePdf": "Generați PDF" + }, + "options": { + "autoScaleText": { + "title": "Scalare automată a textului pentru a se potrivi în casete", + "description": "Scalează automat textul pe orizontală pentru a se încadra în caseta de delimitare inițială când randarea fontului diferă față de PDF." + }, + "groupingMode": { + "title": "Mod de grupare a textului", + "autoDescription": "Detectează automat tipul paginii și grupează textul corespunzător.", + "paragraphDescription": "Grupează liniile aliniate în casete de text paragraf, pe mai multe rânduri.", + "singleLineDescription": "Păstrează fiecare linie de text PDF ca o casetă de text separată." + }, + "manualGrouping": { + "descriptionInline": "Sfat: Țineți apăsat Ctrl (Cmd) sau Shift pentru a selecta mai multe casete de text. O bară de instrumente plutitoare va apărea deasupra selecției, pentru a putea uni, separa sau ajusta lățimile." + }, + "forceSingleElement": { + "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." + } + }, + "manual": { + "mergeTooltip": "Unește casetele selectate", + "merge": "Unește selecția", + "ungroupTooltip": "Împarte paragraful înapoi în rânduri", + "ungroup": "Separă selecția", + "widthMenu": "Opțiuni lățime", + "expandWidth": "Extinde până la marginea paginii", + "resetWidth": "Resetați lățimea", + "resizeHandle": "Ajustați lățimea textului" + }, + "disclaimer": { + "heading": "Limitări ale previzualizării", + "textFocus": "Acest spațiu de lucru se concentrează pe editarea textului și repoziționarea imaginilor încorporate. Elemente grafice complexe de pagină, widgeturi de formular și grafică stratificată sunt păstrate pentru export, dar nu sunt pe deplin editabile aici.", + "previewVariance": "Unele elemente vizuale (cum ar fi margini de tabel, forme sau aspectul adnotărilor) 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.", + "alpha": "Acest vizualizator alpha este încă în dezvoltare — anumite fonturi, culori, efecte de transparență și detalii de aranjare pot varia ușor. Vă rugăm să verificați încă o dată PDF-ul generat înainte de a-l partaja." + }, + "empty": { + "title": "Niciun document încărcat", + "subtitle": "Încărcați un fișier PDF sau JSON pentru a începe editarea conținutului text." + }, + "welcomeBanner": { + "title": "Bine ați venit la Editor text PDF (Acces timpuriu)", + "experimental": "Aceasta este o funcție experimentală în dezvoltare activă. Așteptați-vă la o anumită instabilitate și probleme în timpul utilizării.", + "howItWorks": "Acest instrument convertește PDF-ul într-un format editabil în care puteți modifica textul și repoziționa imaginile. Modificările sunt salvate într-un nou PDF.", + "bestFor": "Funcționează cel mai bine cu:", + "bestFor1": "PDF-uri simple care conțin în principal text și imagini", + "bestFor2": "Documente cu formatare standard a paragrafelor", + "bestFor3": "Scrisori, eseuri, rapoarte și documente de bază", + "notIdealFor": "Nu este ideal pentru:", + "notIdealFor1": "PDF-uri cu formatare specială, cum ar fi liste cu puncte, tabele sau dispuneri pe mai multe coloane", + "notIdealFor2": "Reviste, broșuri sau documente cu design complex", + "notIdealFor3": "Manuale cu dispuneri complexe", + "limitations": "Limitări actuale:", + "limitation1": "Randarea fonturilor poate diferi ușor față de PDF-ul original", + "limitation2": "Grafica complexă, câmpurile de formular și adnotările sunt păstrate, dar nu sunt editabile", + "limitation3": "Fișierele mari pot necesita timp pentru conversie și procesare", + "knownIssues": "Probleme cunoscute (în curs de remediere):", + "issue1": "Culoarea textului nu este păstrată în prezent (va fi adăugată în curând)", + "issue2": "Modul Paragraf are mai multe probleme de aliniere și spațiere - este recomandat modul O singură linie", + "issue3": "Afișarea în previzualizare diferă de PDF-ul exportat - PDF-urile exportate sunt mai apropiate de original", + "issue4": "Alinierea textului rotit poate necesita ajustare manuală", + "issue5": "Efectele de transparență și stratificare pot varia față de original", + "feedback": "Aceasta este o funcție în acces timpuriu. Vă rugăm să raportați orice problemă întâmpinați, pentru a ne ajuta să îmbunătățim!", + "gotIt": "Am înțeles", + "dontShowAgain": "Nu mai afișa" + }, + "modeChange": { + "title": "Confirmați schimbarea modului", + "warning": "Schimbarea modului de grupare a textului va reseta toate modificările nesalvate. Sigur doriți să continuați?", + "cancel": "Anulați", + "confirm": "Resetați și schimbați modul" + }, + "fontAnalysis": { + "details": "Detalii font", + "embedded": "Încorporat", + "type": "Tip", + "webFormat": "Format web", + "warnings": "Avertizări", + "suggestions": "Note", + "currentPageFonts": "Fonturi pe această pagină", + "allFonts": "Toate fonturile", + "fallback": "fallback", + "missing": "lipsește", + "perfectMessage": "Toate fonturile pot fi redate perfect.", + "warningMessage": "Unele fonturi pot să nu fie redate corect.", + "infoMessage": "Sunt disponibile informații despre redarea fonturilor.", + "perfect": "perfect", + "subset": "subset" + }, + "errors": { + "invalidJson": "Nu se poate citi fișierul JSON. Asigurați-vă că a fost generat de instrumentul PDF to JSON.", + "pdfConversion": "Nu se poate converti JSON-ul editat înapoi în PDF." + } + }, + "auth": { + "sessionExpired": "Sesiune expirată", + "pleaseLoginAgain": "Vă rugăm să vă autentificați din nou.", + "accessDenied": "Acces refuzat", + "insufficientPermissions": "Nu aveți permisiunea de a efectua această acțiune." + }, + "addText": { + "title": "Adăugați text", + "header": "Adăugați text în PDF-uri", + "text": { + "name": "Conținut text", + "placeholder": "Introduceți textul pe care doriți să-l adăugați", + "fontLabel": "Font", + "fontSizeLabel": "Dimensiune font", + "fontSizePlaceholder": "Tastați sau selectați dimensiunea fontului (8-200)", + "colorLabel": "Culoarea textului" + }, + "steps": { + "configure": "Configurați textul" + }, + "step": { + "createDesc": "Introduceți textul pe care doriți să-l adăugați", + "place": "Plasați textul", + "placeDesc": "Faceți clic pe PDF pentru a adăuga textul" + }, + "instructions": { + "title": "Cum adăugați text", + "text": "După ce ați introdus textul mai sus, faceți clic oriunde pe PDF pentru a-l plasa.", + "paused": "Plasarea este întreruptă", + "resumeHint": "Reluați plasarea pentru a face clic și a adăuga textul.", + "noSignature": "Introduceți textul mai sus pentru a activa plasarea." + }, + "mode": { + "move": "Mutare text", + "place": "Plasare text", + "pause": "Pauză plasare", + "resume": "Reluare plasare" + }, + "results": { + "title": "Rezultate adăugare text" + }, + "error": { + "failed": "A apărut o eroare la adăugarea textului în PDF." + }, + "tags": "text,anotare,etichetă", + "applySignatures": "Aplicați textul" } } \ No newline at end of file diff --git a/frontend/public/locales/ru-RU/translation.json b/frontend/public/locales/ru-RU/translation.json index 64c3950be..ea7ec6481 100644 --- a/frontend/public/locales/ru-RU/translation.json +++ b/frontend/public/locales/ru-RU/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Скоро:", "favorite": "Добавить в избранное", "favorites": "Избранное", + "unavailable": "Отключено администратором сервера:", + "unavailableDependency": "Недоступно — на сервере отсутствует требуемый инструмент:", "heading": "Все инструменты (полноэкранный вид)", "noResults": "Попробуйте изменить поиск или включить описания, чтобы найти нужное.", "recommended": "Рекомендуется", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Переключиться в полноэкранный режим", "sidebar": "Переключиться в режим боковой панели" - } + }, + "alpha": "Альфа", + "premiumFeature": "Премиум‑функция:", + "comingSoon": "Скоро:" }, "unsavedChanges": "У вас есть несохранённые изменения в вашем PDF. Что вы хотите сделать?", "areYouSure": "Вы уверены, что хотите уйти?", @@ -41,6 +46,30 @@ "cancel": "Отмена", "confirm": "Извлечь" }, + "defaultApp": { + "title": "Сделать приложением PDF по умолчанию", + "message": "Сделать Stirling PDF редактором PDF по умолчанию?", + "description": "Вы сможете изменить это позже в настройках системы.", + "notNow": "Пока нет", + "setDefault": "Сделать по умолчанию", + "dismiss": "Закрыть", + "prompt": { + "title": "Сделать редактором PDF по умолчанию", + "message": "Сделайте Stirling PDF приложением по умолчанию для открытия файлов PDF." + }, + "success": { + "title": "Приложение по умолчанию установлено", + "message": "Stirling PDF теперь редактор PDF по умолчанию" + }, + "settingsOpened": { + "title": "Открыты настройки", + "message": "Пожалуйста, выберите Stirling PDF в настройках системы" + }, + "error": { + "title": "Ошибка", + "message": "Не удалось назначить обработчик PDF по умолчанию" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Сохранить", "saveToBrowser": "Сохранить в браузере", "download": "Скачать", + "downloadUnavailable": "Загрузка недоступна для этого элемента", + "saveUnavailable": "Сохранение недоступно для этого элемента", "pin": "Закрепить файл (оставить активным после выполнения инструмента)", "unpin": "Открепить файл (заменить после выполнения инструмента)", "undoOperationTooltip": "Нажмите, чтобы отменить последнюю операцию и восстановить исходные файлы", @@ -168,6 +199,7 @@ }, "edit": "Редактировать", "delete": "Удалить", + "never": "Никогда", "username": "Имя пользователя", "password": "Пароль", "welcome": "Добро пожаловать", @@ -262,7 +294,8 @@ "learnMore": "Подробнее", "enable": "Включить аналитику", "disable": "Отключить аналитику", - "settings": "Вы можете изменить настройки аналитики в файле config/settings.yml" + "settings": "Вы можете изменить настройки аналитики в файле config/settings.yml", + "privacyAssurance": "Мы не отслеживаем персональные данные и содержимое ваших файлов." }, "navbar": { "favorite": "Избранное", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Настройки", - "update": "Доступно обновление", - "updateAvailable": "Текущая установленная версия - {0}. Доступна новая версия ({1}).", - "appVersion": "Версия приложения:", - "downloadOption": { - "title": "Выберите вариант загрузки (для одиночных файлов без архивации):", - "1": "Открыть в том же окне", - "2": "Открыть в новом окне", - "3": "Скачать файл" - }, - "zipThreshold": "Архивировать файлы, когда количество загружаемых файлов превышает", - "signOut": "Выйти", - "accountSettings": "Настройки аккаунта", - "bored": { - "help": "Включает пасхалку-игру" - }, - "cacheInputs": { - "name": "Сохранять данные форм", - "help": "Включите для сохранения ранее использованных данных для будущих запусков" + "connection": { + "title": "Режим подключения", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Самохостинг" + }, + "server": "Сервер", + "user": "Вы вошли как", + "logout": "Выйти" }, "general": { "title": "Общие", "description": "Настройте общие параметры приложения.", - "account": "Учетная запись", - "accountDescription": "Управление настройками учетной записи", "user": "Пользователь", - "signedInAs": "Вы вошли как", "logout": "Выйти", "enableFeatures": { + "dismiss": "Скрыть", "title": "Для системных администраторов", "intro": "Включите аутентификацию пользователей, управление командами и функции рабочей области для вашей организации.", "action": "Настроить", "and": "и", "benefit": "Включает роли пользователей, командную работу, админ‑контроль и корпоративные функции.", - "learnMore": "Подробнее в документации", - "dismiss": "Скрыть" + "learnMore": "Подробнее в документации" }, - "autoUnzip": "Автораспаковка ответов API", - "autoUnzipDescription": "Автоматически извлекать файлы из ZIP‑ответов", - "autoUnzipTooltip": "Автоматически извлекать ZIP‑файлы, возвращаемые операциями API. Отключите, чтобы сохранять ZIP‑файлы как есть. Не влияет на автоматизации.", - "autoUnzipFileLimit": "Лимит автораспаковки файлов", - "autoUnzipFileLimitDescription": "Максимальное число файлов для извлечения из ZIP", - "autoUnzipFileLimitTooltip": "Распаковывать только если ZIP содержит не больше указанного количества файлов. Увеличьте для извлечения больших ZIP.", "defaultToolPickerMode": "Режим выбора инструмента по умолчанию", "defaultToolPickerModeDescription": "Выберите, должен ли выбор инструментов по умолчанию открываться в полноэкранном режиме или в боковой панели", "mode": { - "fullscreen": "Полноэкранный", - "sidebar": "Боковая панель" - } + "sidebar": "Боковая панель", + "fullscreen": "Полноэкранный" + }, + "autoUnzipTooltip": "Автоматически извлекать ZIP‑файлы, возвращаемые операциями API. Отключите, чтобы сохранять ZIP‑файлы как есть. Не влияет на автоматизации.", + "autoUnzip": "Автораспаковка ответов API", + "autoUnzipDescription": "Автоматически извлекать файлы из ZIP‑ответов", + "autoUnzipFileLimitTooltip": "Распаковывать только если ZIP содержит не больше указанного количества файлов. Увеличьте для извлечения больших ZIP.", + "autoUnzipFileLimit": "Лимит автораспаковки файлов", + "autoUnzipFileLimitDescription": "Максимальное число файлов для извлечения из ZIP", + "defaultPdfEditor": "Редактор PDF по умолчанию", + "defaultPdfEditorActive": "Stirling PDF — ваш редактор PDF по умолчанию", + "defaultPdfEditorInactive": "Другое приложение назначено по умолчанию", + "defaultPdfEditorChecking": "Проверка...", + "defaultPdfEditorSet": "Уже по умолчанию", + "setAsDefault": "Сделать по умолчанию", + "updates": { + "title": "Обновления ПО", + "description": "Проверка обновлений и сведения о версии", + "currentVersion": "Текущая версия", + "latestVersion": "Последняя версия", + "checkForUpdates": "Проверить обновления", + "viewDetails": "Подробнее" + }, + "hideUnavailableTools": "Скрывать недоступные инструменты", + "hideUnavailableToolsDescription": "Убирать инструменты, отключённые на сервере, вместо отображения их серыми.", + "hideUnavailableConversions": "Скрывать недоступные конвертации", + "hideUnavailableConversionsDescription": "Убирать отключённые параметры конвертации в инструменте Convert вместо отображения их серыми." }, "hotkeys": { - "title": "Горячие клавиши", - "description": "Наведите на инструмент, чтобы увидеть его сочетание, или настройте ниже. Нажмите «Изменить сочетание» и введите новую комбинацию. Нажмите Esc для отмены.", - "errorModifier": { - "mac": "Добавьте ⌘ (Command), ⌥ (Option) или другой модификатор в сочетание.", - "windows": "Добавьте Ctrl, Alt или другой модификатор в сочетание." - }, "errorConflict": "Сочетание уже используется инструментом {{tool}}.", + "searchPlaceholder": "Поиск инструментов...", "none": "Не назначено", "customBadge": "Пользовательское", "defaultLabel": "По умолчанию: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Изменить сочетание", "reset": "Сброс", "shortcut": "Сочетание", - "noShortcut": "Сочетание не задано", - "searchPlaceholder": "Поиск инструментов..." + "noShortcut": "Сочетание не задано" } }, + "update": { + "modalTitle": "Доступно обновление", + "current": "Текущая версия", + "latest": "Последняя версия", + "latestStable": "Последняя стабильная", + "priorityLabel": "Приоритет", + "recommendedAction": "Рекомендуемое действие", + "breakingChangesDetected": "Обнаружены ломающие изменения", + "breakingChangesMessage": "Некоторые версии содержат ломающие изменения. Перед обновлением ознакомьтесь с руководствами по миграции ниже.", + "migrationGuides": "Руководства по миграции", + "viewGuide": "Открыть руководство", + "loadingDetailedInfo": "Загрузка подробной информации...", + "close": "Закрыть", + "viewAllReleases": "Показать все релизы", + "downloadLatest": "Скачать последнюю", + "availableUpdates": "Доступные обновления", + "unableToLoadDetails": "Не удалось загрузить подробную информацию.", + "version": "Версия", + "urgentUpdateAvailable": "Срочное обновление", + "updateAvailable": "Доступно обновление", + "releaseNotes": "Заметки о выпуске", + "priority": { + "urgent": "Срочно", + "normal": "Обычный", + "minor": "Незначительный", + "low": "Низкий" + }, + "breakingChanges": "Ломающие изменения", + "breakingChangesDefault": "Эта версия содержит ломающие изменения.", + "migrationGuide": "Руководство по миграции" + }, "changeCreds": { "title": "Изменить учетные данные", "header": "Обновить данные вашей учетной записи", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Наложить один PDF поверх другого", "title": "Наложение PDF" + }, + "pdfTextEditor": { + "title": "Редактор текста в PDF", + "desc": "Просмотр и редактирование экспортов Stirling PDF в JSON с групповым редактированием текста и регенерацией PDF" + }, + "addText": { + "tags": "текст,аннотация,ярлык", + "title": "Добавить текст", + "desc": "Добавьте произвольный текст в ваш PDF" } }, "landing": { "addFiles": "Добавить файлы", - "uploadFromComputer": "Загрузить с компьютера" + "uploadFromComputer": "Загрузить с компьютера", + "openFromComputer": "Открыть с компьютера" }, "viewPdf": { "tags": "просмотр,чтение,аннотации,текст,изображение", @@ -849,6 +922,11 @@ }, "error": { "failed": "Произошла ошибка при объединении PDF." + }, + "tooltip": { + "header": { + "title": "Обзор настроек объединения" + } } }, "split": { @@ -1047,7 +1125,7 @@ "settings": "Настройки", "conversionCompleted": "Преобразование завершено", "results": "Результаты", - "defaultFilename": "converted_file", + "defaultFilename": "преобразованный_файл", "conversionResults": "Результаты преобразования", "convertFrom": "Преобразовать из", "convertTo": "Преобразовать в", @@ -1087,11 +1165,11 @@ "fileFormat": "Формат файла", "wordDoc": "Документ Word", "wordDocExt": "Документ Word (.docx)", - "odtExt": "OpenDocument Text (.odt)", + "odtExt": "Текст OpenDocument (.odt)", "pptExt": "PowerPoint (.pptx)", - "odpExt": "OpenDocument Presentation (.odp)", + "odpExt": "Презентация OpenDocument (.odp)", "txtExt": "Простой текст (.txt)", - "rtfExt": "Rich Text Format (.rtf)", + "rtfExt": "Формат Rich Text (.rtf)", "selectedFiles": "Выбранные файлы", "noFileSelected": "Файл не выбран. Используйте панель файлов, чтобы добавить файлы.", "convertFiles": "Преобразовать файлы", @@ -1182,9 +1260,43 @@ "tags": "изображение,jpg,картинка,фото", "title": "Добавить изображение", "header": "Добавить изображение в PDF", - "everyPage": "Каждая страница?", - "upload": "Добавить изображение", - "submit": "Добавить изображение" + "image": { + "name": "Изображение", + "placeholder": "Загрузите изображение", + "label": "Файл изображения" + }, + "steps": { + "configure": "Настроить изображение" + }, + "step": { + "createDesc": "Загрузите изображение, которое хотите добавить", + "place": "Разместить изображение", + "placeDesc": "Щёлкните по PDF, чтобы добавить изображение" + }, + "instructions": { + "title": "Как добавлять изображения", + "text": "После загрузки изображения выше щёлкните в любом месте PDF, чтобы разместить его.", + "paused": "Размещение приостановлено", + "resumeHint": "Возобновите размещение, чтобы нажать и добавить изображение.", + "noSignature": "Загрузите изображение выше, чтобы включить размещение." + }, + "mode": { + "move": "Переместить изображение", + "place": "Разместить изображение", + "pause": "Пауза размещения", + "resume": "Возобновить размещение" + }, + "results": { + "title": "Результаты добавления изображения" + }, + "error": { + "failed": "Произошла ошибка при добавлении изображения в PDF." + }, + "saved": { + "defaultLabel": "Изображение", + "defaultImageLabel": "Загруженное изображение" + }, + "applySignatures": "Применить изображения" }, "attachments": { "tags": "вставлять,прикреплять,файл,вложение,вложения", @@ -1200,7 +1312,7 @@ "desc": "Добавляйте текстовые или графические водяные знаки в PDF-файлы", "completed": "Водяной знак добавлен", "submit": "Добавить водяной знак", - "filenamePrefix": "watermarked", + "filenamePrefix": "с_водяным_знаком", "error": { "failed": "Произошла ошибка при добавлении водяного знака в PDF." }, @@ -1397,6 +1509,93 @@ }, "submit": "Изменить" }, + "editTableOfContents": { + "settings": { + "title": "Закладки и оглавление", + "replaceExisting": "Заменить существующие закладки (снимите флажок, чтобы добавить в конец)", + "replaceExistingHint": "Если отключено, новый контур будет добавлен после текущих закладок." + }, + "actions": { + "source": "Загрузить закладки", + "selectedFile": "Загружено из {{file}}", + "noFile": "Выберите PDF, чтобы извлечь существующие закладки.", + "loadFromPdf": "Загрузить из выбранного PDF", + "importJson": "Импортировать JSON", + "importClipboard": "Вставить JSON из буфера", + "export": "Экспорт закладок", + "exportJson": "Скачать JSON", + "exportClipboard": "Копировать JSON в буфер", + "clipboardUnavailable": "Доступ к буферу обмена недоступен в этом браузере." + }, + "info": { + "line1": "Каждой закладке нужен описательный заголовок и страница для открытия.", + "line2": "Используйте вложенные закладки для иерархии глав, разделов и подразделов.", + "line3": "Импортируйте закладки из выбранного PDF или JSON‑файла, чтобы сэкономить время." + }, + "workbench": { + "empty": { + "title": "Откройте инструмент для начала редактирования", + "description": "Выберите инструмент «Редактировать оглавление», чтобы загрузить рабочую область." + }, + "tabTitle": "Рабочая область оглавления", + "subtitle": "Импортируйте закладки, стройте иерархии и применяйте оглавление без тесных боковых панелей.", + "noFile": "PDF не выбран", + "fileLabel": "Изменения будут применены к текущему выбранному PDF.", + "filePrompt": "Выберите PDF из библиотеки или загрузите новый, чтобы начать.", + "changeFile": "Сменить PDF", + "selectFile": "Выбрать PDF" + }, + "editor": { + "heading": "Редактор закладок", + "description": "Добавляйте, вкладывайте и меняйте порядок закладок для создания оглавления PDF.", + "addTopLevel": "Добавить закладку верхнего уровня", + "empty": { + "title": "Закладок пока нет", + "description": "Импортируйте существующие закладки или начните с первой записи.", + "action": "Добавить первую закладку" + }, + "defaultTitle": "Новая закладка", + "defaultChildTitle": "Вложенная закладка", + "defaultSiblingTitle": "Новая закладка", + "untitled": "Без названия", + "childBadge": "Вложенная", + "pagePreview": "Страница {{page}}", + "field": { + "title": "Название закладки", + "page": "Номер целевой страницы" + }, + "actions": { + "toggle": "Свернуть/развернуть вложенные", + "addChild": "Добавить вложенную закладку", + "addSibling": "Добавить одноуровневую", + "remove": "Удалить закладку" + }, + "confirmRemove": "Удалить эту закладку и все её вложенные?" + }, + "messages": { + "loadedTitle": "Закладки извлечены", + "loadedBody": "Существующие закладки из PDF загружены в редактор.", + "noBookmarks": "В выбранном PDF закладки не найдены.", + "loadFailed": "Не удалось извлечь закладки из выбранного PDF.", + "imported": "Закладки импортированы", + "importedBody": "Ваше JSON‑оглавление заменило содержимое редактора.", + "importedClipboard": "Данные из буфера заменили текущий список закладок.", + "invalidJson": "Неверная структура JSON", + "invalidJsonBody": "Предоставьте корректный JSON с закладками и попробуйте снова.", + "exported": "JSON готов к скачиванию", + "copied": "Скопировано в буфер", + "copiedBody": "JSON закладок успешно скопирован.", + "copyFailed": "Не удалось скопировать" + }, + "error": { + "failed": "Не удалось обновить оглавление" + }, + "submit": "Применить оглавление", + "results": { + "title": "Обновлённый PDF с закладками", + "subtitle": "Скачайте обработанный файл или отмените операцию ниже." + } + }, "removePages": { "tags": "Удалить страницы,удаление страниц", "title": "Удалить", @@ -1405,7 +1604,7 @@ "placeholder": "напр., 1,3,5-8,10", "error": "Недопустимый формат номеров страниц. Используйте числа, диапазоны (1-5) или математические выражения (2n+1)" }, - "filenamePrefix": "pages_removed", + "filenamePrefix": "страницы_удалены", "files": { "placeholder": "Выберите PDF-файл в главном окне, чтобы начать" }, @@ -1606,7 +1805,7 @@ "header": "Разблокировать PDF-формы", "submit": "Remove", "description": "Этот инструмент снимет режим «только чтение» с полей PDF-форм, сделав их редактируемыми и заполняемыми.", - "filenamePrefix": "unlocked_forms", + "filenamePrefix": "формы_разблокированы", "files": { "placeholder": "Выберите PDF-файл в главном окне, чтобы начать" }, @@ -1620,7 +1819,7 @@ "changeMetadata": { "header": "Изменить метаданные", "submit": "Изменить", - "filenamePrefix": "metadata", + "filenamePrefix": "метаданные", "settings": { "title": "Настройки метаданных" }, @@ -1978,13 +2177,54 @@ "title": "Нарисуйте свою подпись", "clear": "Очистить" }, + "canvas": { + "heading": "Нарисуйте подпись", + "clickToOpen": "Нажмите, чтобы открыть холст", + "modalTitle": "Нарисуйте подпись", + "colorLabel": "Цвет", + "penSizeLabel": "Толщина пера", + "penSizePlaceholder": "Размер", + "clear": "Очистить холст", + "colorPickerTitle": "Выберите цвет штриха" + }, "text": { "name": "Имя подписанта", - "placeholder": "Введите ваше полное имя" + "placeholder": "Введите ваше полное имя", + "fontLabel": "Шрифт", + "fontSizeLabel": "Размер шрифта", + "fontSizePlaceholder": "Введите или выберите размер шрифта (8–200)", + "colorLabel": "Цвет текста" }, "clear": "Очистить", "add": "Добавить", - "saved": "Сохраненные подписи", + "saved": { + "heading": "Сохранённые подписи", + "description": "Повторно используйте сохранённые подписи в любой момент.", + "emptyTitle": "Сохранённых подписей нет", + "emptyDescription": "Нарисуйте, загрузите или введите подпись выше, затем нажмите «Сохранить в библиотеку», чтобы держать до {{max}} избранных под рукой.", + "type": { + "canvas": "Рисунок", + "image": "Загрузка", + "text": "Текст" + }, + "limitTitle": "Достигнут лимит", + "limitDescription": "Удалите сохранённую подпись перед добавлением новых (макс. {{max}}).", + "carouselPosition": "{{current}} из {{total}}", + "prev": "Назад", + "next": "Далее", + "delete": "Удалить", + "label": "Метка", + "defaultLabel": "Подпись", + "defaultCanvasLabel": "Рисованная подпись", + "defaultImageLabel": "Загруженная подпись", + "defaultTextLabel": "Введённая подпись", + "saveButton": "Сохранить подпись", + "saveUnavailable": "Сначала создайте подпись, чтобы сохранить её.", + "noChanges": "Текущая подпись уже сохранена.", + "status": { + "saved": "Сохранено" + } + }, "save": "Сохранить подпись", "applySignatures": "Применить подписи", "personalSigs": "Личные подписи", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Настроить подпись" }, + "step": { + "createDesc": "Выберите способ создания подписи", + "place": "Разместить и сохранить", + "placeDesc": "Разместите подпись на вашем PDF" + }, "type": { "title": "Тип подписи", "draw": "Рисунок", "canvas": "Холст", "image": "Изображение", - "text": "Текст" + "text": "Текст", + "saved": "Сохранённое" }, "image": { "label": "Загрузить изображение подписи", @@ -2019,11 +2265,17 @@ "title": "Как добавить подпись", "canvas": "После того как вы нарисуете подпись на холсте, закройте окно и щелкните в любом месте PDF, чтобы разместить подпись.", "image": "После загрузки изображения подписи выше щелкните в любом месте PDF, чтобы разместить ее.", - "text": "После ввода вашего имени выше щелкните в любом месте PDF, чтобы поставить подпись." + "saved": "Выберите сохранённую подпись выше, затем щёлкните по PDF, чтобы разместить её.", + "text": "После ввода вашего имени выше щелкните в любом месте PDF, чтобы поставить подпись.", + "paused": "Размещение приостановлено", + "resumeHint": "Возобновите размещение, чтобы нажать и добавить подпись.", + "noSignature": "Создайте подпись выше, чтобы включить инструменты размещения." }, "mode": { "move": "Переместить подпись", - "place": "Разместить подпись" + "place": "Разместить подпись", + "pause": "Пауза размещения", + "resume": "Возобновить размещение" }, "updateAndPlace": "Обновить и разместить", "activate": "Активировать размещение подписи", @@ -2040,7 +2292,7 @@ "header": "Сведение PDF", "flattenOnlyForms": "Свести только формы", "submit": "Свести", - "filenamePrefix": "flattened", + "filenamePrefix": "сплющено", "files": { "placeholder": "Выберите PDF-файл в главном окне, чтобы начать" }, @@ -2090,7 +2342,7 @@ "header": "Восстановление PDF", "submit": "Восстановить", "description": "Этот инструмент попытается восстановить повреждённые или испорченные PDF-файлы. Дополнительные настройки не требуются.", - "filenamePrefix": "repaired", + "filenamePrefix": "восстановлено", "files": { "placeholder": "Выберите PDF-файл в главном окне, чтобы начать" }, @@ -2163,6 +2415,14 @@ "title": "О функции удаления аннотаций", "description": "Этот инструмент удалит все аннотации (комментарии, выделения, примечания и т. п.) из ваших PDF-документов." }, + "tooltip": { + "header": { + "title": "Об удалении аннотаций" + }, + "description": { + "title": "Что делает" + } + }, "error": { "failed": "Произошла ошибка при удалении аннотаций из PDF." } @@ -2293,7 +2553,7 @@ "certSign": { "tags": "аутентификация,PEM,P12,официальный,шифрование", "title": "Подписание сертификатом", - "filenamePrefix": "signed", + "filenamePrefix": "подписано", "signMode": { "stepTitle": "Режим подписи", "tooltip": { @@ -2437,7 +2697,7 @@ "selectPDF": "Выберите PDF-файл:", "submit": "Удалить подпись", "description": "Этот инструмент удалит цифровые подписи сертификатов из вашего PDF-документа.", - "filenamePrefix": "unsigned", + "filenamePrefix": "неподписано", "files": { "placeholder": "Выберите PDF-файл в главном окне, чтобы начать" }, @@ -2627,6 +2887,9 @@ "header": { "title": "Как работает автопереименование" }, + "description": { + "title": "Что делает" + }, "howItWorks": { "title": "Умное переименование", "text": "Автоматически находит заголовок в содержимом вашего PDF и использует его как имя файла.", @@ -2634,6 +2897,9 @@ "bullet2": "Создает чистое, корректное имя файла из найденного заголовка", "bullet3": "Сохраняет исходное имя, если подходящий заголовок не найден" } + }, + "settings": { + "title": "О функции" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "Непредвиденная ошибка: {{message}}", "accountCreatedSuccess": "Учетная запись успешно создана! Теперь вы можете войти.", "passwordChangedSuccess": "Пароль успешно изменен! Пожалуйста, войдите с новым паролем.", - "credentialsUpdated": "Ваши учетные данные обновлены. Пожалуйста, войдите снова." + "credentialsUpdated": "Ваши учетные данные обновлены. Пожалуйста, войдите снова.", + "defaultCredentials": "Данные входа по умолчанию", + "changePasswordWarning": "Пожалуйста, смените пароль после первого входа", + "slides": { + "overview": { + "alt": "Обзор Stirling PDF", + "title": "Всё для работы с PDF в одном месте.", + "subtitle": "Облачный набор с приоритетом приватности для работы с PDF: конвертируйте, подписывайте, скрывайте данные и управляйте документами, а также 50+ других мощных инструментов." + }, + "edit": { + "alt": "Редактирование PDF", + "title": "Редактируйте PDF, чтобы показывать и защищать нужную информацию", + "subtitle": "С более чем дюжиной инструментов для скрытия данных, подписания, чтения и обработки PDF вы точно найдёте нужное." + }, + "secure": { + "alt": "Защита PDF", + "title": "Защитите конфиденциальные данные в ваших PDF", + "subtitle": "Легко добавляйте пароли, скрывайте содержание и управляйте сертификатами." + } + } }, "signup": { "title": "Создать аккаунт", @@ -3262,7 +3547,7 @@ "header": "PDF в одну страницу", "submit": "Преобразовать в одну страницу", "description": "Этот инструмент объединит все страницы вашего PDF в одну большую страницу. Ширина останется как у исходных страниц, а высота будет равна сумме высот всех страниц.", - "filenamePrefix": "single_page", + "filenamePrefix": "одна_страница", "files": { "placeholder": "Выберите PDF-файл в главном окне, чтобы начать" }, @@ -3598,7 +3883,9 @@ "exportAll": "Экспортировать PDF", "downloadSelected": "Скачать выбранные файлы", "downloadAll": "Скачать все", + "saveAll": "Сохранить всё", "toggleTheme": "Переключить тему", + "toggleBookmarks": "Показать/скрыть закладки", "language": "Язык", "search": "Поиск по PDF", "panMode": "Режим панорамирования", @@ -3685,8 +3972,16 @@ "saved": "Настройки успешно сохранены", "saveSuccess": "Настройки успешно сохранены", "save": "Сохранить изменения", + "discard": "Отменить", "restartRequired": "Требуется перезапуск", "loginRequired": "Для изменения настроек администратора должен быть включен режим входа", + "unsavedChanges": { + "title": "Несохранённые изменения", + "message": "У вас есть несохранённые изменения. Отменить их?", + "cancel": "Продолжить редактирование", + "discard": "Отменить изменения", + "hint": "У вас есть несохранённые изменения" + }, "loginDisabled": { "title": "Требуется режим входа", "message": "Для изменения настроек администратора должен быть включен режим входа. Установите SECURITY_ENABLELOGIN=true в окружении или security.enableLogin: true в settings.yml, затем перезапустите сервер.", @@ -3869,7 +4164,7 @@ }, "level": { "label": "Уровень аудита", - "description": "0=OFF, 1=BASIC, 2=STANDARD, 3=VERBOSE" + "description": "0=ВЫКЛ, 1=БАЗОВЫЙ, 2=СТАНДАРТНЫЙ, 3=ПОДРОБНЫЙ" }, "retentionDays": { "label": "Срок хранения аудита (дни)", @@ -4132,12 +4427,12 @@ "description": "Максимальное время выполнения" }, "libreOffice": "LibreOffice", - "pdfToHtml": "PDF to HTML", + "pdfToHtml": "PDF в HTML", "qpdf": "QPDF", "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", "weasyPrint": "WeasyPrint", - "installApp": "Install App", + "installApp": "Установить приложение", "calibre": "Calibre", "ghostscript": "Ghostscript", "ocrMyPdf": "OCRmyPDF" @@ -4212,9 +4507,21 @@ "title": "Премиум и Enterprise", "description": "Настройте ключ лицензии премиум или enterprise.", "license": "Конфигурация лицензии", + "licenseKey": { + "toggle": "Есть лицензионный ключ или файл сертификата?", + "info": "Если у вас есть лицензионный ключ или файл сертификата после прямой покупки, введите его здесь для активации премиум‑ или enterprise‑функций." + }, "key": { "label": "Лицензионный ключ", - "description": "Введите ваш премиум или enterprise лицензионный ключ" + "description": "Введите ваш премиум или enterprise лицензионный ключ", + "success": "Ключ лицензии сохранён", + "successMessage": "Ваш лицензионный ключ успешно активирован. Перезапуск не требуется.", + "overwriteWarning": { + "title": "⚠️ Внимание: обнаружена существующая лицензия", + "line1": "Перезапись текущего лицензионного ключа необратима.", + "line2": "Предыдущая лицензия будет безвозвратно утеряна, если вы не сделали резервную копию где‑то ещё.", + "line3": "Важно: храните лицензионные ключи в секрете и безопасности. Никогда не публикуйте их." + } }, "enabled": { "label": "Включить премиум-функции", @@ -4278,12 +4585,17 @@ "or": "или", "dropFileHere": "Перетащите файл сюда или нажмите для загрузки", "dropFilesHere": "Перетащите файлы сюда или нажмите кнопку загрузки", + "dropFilesHereOpen": "Перетащите файлы сюда или нажмите кнопку Открыть", "pdfFilesOnly": "Только PDF-файлы", "supportedFileTypes": "Поддерживаемые типы файлов", "upload": "Загрузить", "uploadFile": "Загрузить файл", "uploadFiles": "Загрузить файлы", + "open": "Открыть", + "openFile": "Открыть файл", + "openFiles": "Открыть файлы", "noFilesInStorage": "В хранилище нет файлов. Сначала загрузите несколько.", + "noFilesInStorageOpen": "В хранилище нет файлов. Сначала откройте файлы.", "selectFromStorage": "Выбрать из хранилища", "backToTools": "Назад к инструментам", "addFiles": "Добавить файлы", @@ -4329,6 +4641,8 @@ "myFiles": "Мои файлы", "noRecentFiles": "Недавние файлы не найдены", "googleDriveNotAvailable": "Интеграция с Google Drive недоступна", + "downloadSelected": "Скачать выбранные", + "saveSelected": "Сохранить выбранные", "openFiles": "Открыть файлы", "openFile": "Открыть файл", "details": "Сведения о файле", @@ -4341,7 +4655,6 @@ "selectAll": "Выбрать все", "deselectAll": "Отменить выбор всех", "deleteSelected": "Удалить выбранные", - "downloadSelected": "Скачать выбранные", "selectedCount": "{{count}} выбрано", "download": "Скачать", "delete": "Удалить", @@ -4621,9 +4934,14 @@ "secureWorkflow": "Процесс безопасности", "secureWorkflowDesc": "Защищает PDF-документы, удаляя потенциально вредоносный контент, такой как JavaScript и встроенные файлы, затем добавляет защиту паролем для предотвращения несанкционированного доступа. По умолчанию пароль — «password».", "processImages": "Обработка изображений", - "processImagesDesc": "Преобразует несколько файлов изображений в один PDF-документ, затем применяет OCR для извлечения поискового текста с изображений." + "processImagesDesc": "Преобразует несколько файлов изображений в один PDF-документ, затем применяет OCR для извлечения поискового текста с изображений.", + "prePublishSanitization": "Санитизация перед публикацией", + "prePublishSanitizationDesc": "Процесс санитизации, который удаляет все скрытые метаданные, JavaScript, вложенные файлы, аннотации и уплощает формы, чтобы предотвратить утечку данных перед публикацией PDF онлайн." } }, + "colorPicker": { + "title": "Выберите цвет" + }, "common": { "previous": "Предыдущий", "next": "Далее", @@ -4639,7 +4957,13 @@ "used": "использовано", "available": "доступно", "cancel": "Отмена", - "preview": "Предпросмотр" + "preview": "Предпросмотр", + "close": "Закрыть", + "done": "Готово", + "loading": "Загрузка...", + "back": "Назад", + "continue": "Продолжить", + "error": "Ошибка" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Добавить ещё файлы...", "selectedFiles": "Выбранные файлы", "submit": "Добавить вложения", + "tooltip": { + "header": { + "title": "О добавлении вложений" + }, + "description": { + "title": "Что делает" + } + }, "results": { "title": "Результаты вложений" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Пользовательское положение", "details": "Подробности", - "downloadUnavailable": "Загрузка недоступна для этого элемента", "invalidUndoData": "Нельзя отменить: неверные данные операции", "margin": { "large": "Большой", @@ -4801,6 +5132,10 @@ "maybeLater": "Позже", "dontShowAgain": "Больше не показывать" }, + "welcomeSlide": { + "title": "Добро пожаловать в Stirling", + "body": "Stirling PDF теперь готов для команд любого размера. В этом обновлении новый макет, мощные админ‑возможности и самая ожидаемая функция — Редактирование текста." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Давайте выберем инструмент Обрезка, чтобы показать, как пользоваться одним из инструментов.", "toolInterface": "Это интерфейс инструмента Обрезка. Как видите, здесь пока немного элементов, потому что мы еще не добавили PDF-файлы для работы.", @@ -4823,7 +5158,39 @@ "next": "Далее", "finish": "Готово", "startTour": "Начать тур", - "startTourDescription": "Пройдите ознакомительный тур по ключевым функциям Stirling PDF" + "startTourDescription": "Пройдите ознакомительный тур по ключевым функциям Stirling PDF", + "buttons": { + "next": "Далее →", + "back": "Назад", + "skipForNow": "Пока пропустить", + "download": "Скачать →", + "showMeAround": "Показать обзор", + "skipTheTour": "Пропустить тур" + }, + "serverLicense": { + "skip": "Пока пропустить", + "seePlans": "Посмотреть тарифы →", + "upgrade": "Обновить сейчас →", + "freeTitle": "Серверная лицензия", + "overLimitTitle": "Требуется серверная лицензия", + "overLimitBody": "Наша лицензия допускает до {{freeTierLimit}} пользователей бесплатно на сервер. У вас {{overLimitUserCopy}} пользователей Stirling. Чтобы продолжить без перебоев, перейдите на тариф Stirling Server — неограниченные места, редактирование текста в PDF и полный админ‑контроль за $99/server/mo.", + "freeBody": "Наша лицензия Open-Core допускает до {{freeTierLimit}} пользователей бесплатно на сервер. Чтобы масштабироваться без ограничений и раньше получить доступ к новому инструменту редактирования текста в PDF, рекомендуем тариф Stirling Server — полный редактор и неограниченные места за $99/server/mo." + }, + "desktopInstall": { + "title": "Скачать", + "titleWithOs": "Скачать для {{osLabel}}", + "body": "Stirling лучше всего работает как настольное приложение. Можно работать офлайн, быстрее открывать документы и редактировать их локально на компьютере." + }, + "planOverview": { + "adminTitle": "Обзор для админа", + "userTitle": "Обзор тарифа", + "adminBodyLoginEnabled": "Как админ, вы можете управлять пользователями, настраивать параметры и мониторить состояние сервера. Первые {{freeTierLimit}} человек на вашем сервере используют Stirling бесплатно.", + "adminBodyLoginDisabled": "После включения режима входа вы сможете управлять пользователями, настраивать параметры и мониторить состояние сервера. Первые {{freeTierLimit}} человек на вашем сервере используют Stirling бесплатно.", + "userBody": "Приглашайте коллег, назначайте роли и держите документы в порядке в одном безопасном рабочем пространстве. Включите режим входа, когда будете готовы выйти за рамки сольного использования." + }, + "securityCheck": { + "message": "В приложении недавно произошли значительные изменения. Может потребоваться внимание администратора сервера. Подтвердите свою роль, чтобы продолжить." + } }, "adminOnboarding": { "welcome": "Добро пожаловать в Тур для администраторов! Давайте изучим мощные корпоративные функции и настройки, доступные системным администраторам.", @@ -4852,7 +5219,10 @@ "role": "Роль", "team": "Команда", "status": "Статус", - "actions": "Действия", + "actions": { + "label": "Действия", + "upgrade": "Обновить" + }, "noMembersFound": "Участники не найдены", "active": "Активен", "disabled": "Отключен", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} доступных мест для пользователей", "noSlotsAvailable": "Нет доступных мест", "currentUsage": "Используется {{current}} из {{max}} пользовательских лицензий" - } + }, + "loginRequired": "Сначала включите режим входа" }, "teams": { "title": "Команды", @@ -5057,6 +5428,17 @@ "showComparison": "Сравнить все функции", "hideComparison": "Скрыть сравнение функций", "featureComparison": "Сравнение функций", + "from": "От", + "perMonth": "/месяц", + "perSeat": "/место", + "withServer": "+ тариф Server", + "licensedSeats": "Лицензировано: {{count}} мест", + "includedInCurrent": "Входит в ваш тариф", + "selectPlan": "Выбрать тариф", + "manage": "Управлять", + "manageSubscription": { + "description": "Управляйте подпиской, выставлением счетов и способами оплаты" + }, "activePlan": { "title": "Активный план", "subtitle": "Детали вашей текущей подписки" @@ -5074,13 +5456,16 @@ "upTo": "До" }, "period": { - "month": "месяц" + "month": "месяц", + "perUserPerMonth": "/пользователь/месяц" }, "free": { "name": "Бесплатный", "highlight1": "Ограниченное использование инструментов в неделю", "highlight2": "Доступ ко всем инструментам", - "highlight3": "Поддержка сообщества" + "highlight3": "Поддержка сообщества", + "forever": "Бесплатно навсегда", + "included": "Включено" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Корпоративный", "highlight1": "Индивидуальная цена", "highlight2": "Персональная поддержка", - "highlight3": "Последние функции" + "highlight3": "Последние функции", + "requiresServer": "Требуется Server", + "requiresServerMessage": "Сначала перейдите на тариф Server, прежде чем обновляться до Enterprise." }, "feature": { "title": "Функция", @@ -5102,6 +5489,12 @@ "api": "Доступ к API", "priority": "Приоритетная поддержка", "customPricing": "Индивидуальная цена" + }, + "licenseWarning": { + "title": "Достигнут лимит бесплатного self-hosted", + "body": "У вас {{total}} пользователей, но бесплатный уровень поддерживает только {{limit}} на сервер. Обновитесь, чтобы Stirling PDF работал стабильно.", + "overLimit": "более {{limit}}", + "cta": "Посмотреть тарифы" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Управление платежами", "portal": { "error": "Не удалось открыть портал оплаты" - } + }, + "updateSeats": "Изменить число мест", + "updateEnterpriseSeats": "Изменить места Enterprise", + "currentSeats": "Текущее число мест", + "minimumSeats": "Минимум мест", + "basedOnUsers": "(текущие пользователи)", + "newSeatCount": "Новое число мест", + "newSeatCountDescription": "Выберите число мест для вашей лицензии Enterprise", + "whatHappensNext": "Что дальше?", + "stripePortalRedirect": "Вы будете перенаправлены в биллинговый портал Stripe для подтверждения изменения мест. Пропорциональная сумма рассчитается автоматически.", + "preparingUpdate": "Подготовка изменения мест...", + "seatCountTooLow": "Количество мест должно быть не менее {{minimum}} (текущее число пользователей)", + "seatCountUnchanged": "Выберите другое число мест", + "seatsUpdated": "Места обновлены", + "seatsUpdatedMessage": "Число мест Enterprise обновлено до {{seats}}", + "updateProcessing": "Обновление обрабатывается", + "updateProcessingMessage": "Изменение мест в обработке. Обновите страницу через минуту.", + "notEnterprise": "Управление местами доступно только для лицензий Enterprise" + }, + "upgradeBanner": { + "title": "Обновить до тарифа Server", + "message": "Получите максимум от Stirling PDF: неограниченные пользователи и расширенные функции", + "upgradeButton": "Обновить сейчас", + "dismiss": "Скрыть баннер", + "attentionTitle": "Этому серверу требуется внимание админа", + "attentionBody": "Администратор должен войти, чтобы увидеть подробности. Свяжитесь с ним как можно скорее.", + "attentionBodyAdmin": "Проверьте лицензионные требования, чтобы сервер соответствовал правилам.", + "seeInfo": "Подробнее" }, "payment": { "preparing": "Подготовка к оплате...", @@ -5128,7 +5548,61 @@ "success": "Платеж успешно выполнен!", "successMessage": "Ваша подписка успешно активирована. Вскоре вы получите письмо с подтверждением.", "autoClose": "Это окно закроется автоматически...", - "error": "Ошибка оплаты" + "error": "Ошибка оплаты", + "upgradeSuccess": "Платёж прошёл успешно! Подписка обновлена. Лицензия на сервере обновлена. Вскоре вы получите подтверждение на email.", + "paymentSuccess": "Платёж успешен! Получаем ваш лицензионный ключ...", + "licenseActivated": "Лицензия активирована! Ваш ключ сохранён. Подтверждение отправлено на указанный email.", + "licenseDelayed": "Платёж успешен! Ваша лицензия создаётся. Вскоре вы получите ключ по email. Если письма нет в течение 10 минут, обратитесь в поддержку.", + "licensePollingError": "Платёж успешен, но автоматически получить ключ не удалось. Проверьте email или свяжитесь с поддержкой, указав подтверждение платежа.", + "licenseRetrievalError": "Платёж успешен, но получить лицензию не удалось. Вы получите ключ по email. Свяжитесь с поддержкой, если письма нет в течение 10 минут.", + "syncError": "Платёж успешен, но синхронизация лицензии не удалась. Лицензия скоро обновится. Если проблема сохраняется, обратитесь в поддержку.", + "licenseSaveError": "Не удалось сохранить лицензионный ключ. Свяжитесь с поддержкой и укажите ключ для завершения активации.", + "paymentCanceled": "Платёж отменён. Списание не производилось.", + "syncingLicense": "Синхронизация обновлённой лицензии...", + "generatingLicense": "Генерация вашего лицензионного ключа...", + "upgradeComplete": "Обновление завершено", + "upgradeCompleteMessage": "Подписка успешно обновлена. Ваш существующий лицензионный ключ обновлён.", + "stripeNotConfigured": "Stripe не настроен", + "stripeNotConfiguredMessage": "Интеграция платежей Stripe не настроена. Обратитесь к администратору.", + "monthly": "Ежемесячно", + "yearly": "Ежегодно", + "billingPeriod": "Период оплаты", + "enterpriseNote": "Количество мест можно изменить на оплате (1–1000).", + "installationId": "ID установки", + "licenseKey": "Ваш лицензионный ключ", + "licenseInstructions": "Он добавлен в вашу установку. Также копия будет отправлена на email.", + "canCloseWindow": "Теперь можно закрыть это окно.", + "licenseKeyProcessing": "Обработка лицензионного ключа", + "licenseDelayedMessage": "Ваш лицензионный ключ создаётся. Скоро проверьте email или обратитесь в поддержку.", + "perYear": "/год", + "perMonth": "/месяц", + "emailInvalid": "Введите корректный адрес email", + "emailStage": { + "title": "Введите ваш email", + "description": "Мы отправим на него лицензионный ключ и чеки.", + "emailLabel": "Адрес email", + "emailPlaceholder": "your@email.com", + "continue": "Продолжить", + "modalTitle": "Начало работы - {{planName}}" + }, + "planStage": { + "title": "Выберите период оплаты", + "savingsNote": "Экономьте {{percent}}% при оплате за год", + "basePrice": "Базовая цена", + "seatPrice": "За место", + "totalForSeats": "Итого ({{count}} мест)", + "selectMonthly": "Выбрать помесячно", + "selectYearly": "Выбрать за год", + "savePercent": "Сэкономьте {{percent}}%", + "savingsAmount": "Вы экономите {{amount}}", + "modalTitle": "Выбор периода оплаты - {{planName}}", + "billedYearly": "Выставляется раз в год: {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Назад к выбору тарифа", + "selectedPlan": "Выбранный тариф", + "modalTitle": "Завершение оплаты - {{planName}}" + } }, "firstLogin": { "title": "Первый вход", @@ -5287,5 +5761,281 @@ "offline": "Бэкенд офлайн", "starting": "Бэкенд запускается...", "wait": "Дождитесь завершения запуска бэкенда и попробуйте снова." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Разблокируйте PDF, чтобы продолжить", + "title": "Удалите пароль, чтобы продолжить", + "description": "Этот PDF защищён паролем. Введите пароль, чтобы продолжить работу с ним.", + "password": { + "label": "Пароль PDF", + "placeholder": "Введите пароль PDF" + }, + "skip": "Пока пропустить", + "unlock": "Разблокировать и продолжить", + "incorrectPassword": "Неверный пароль", + "missingFile": "Выбранный файл больше недоступен.", + "emptyResponse": "Удаление пароля не дало файл.", + "required": "Введите пароль, чтобы продолжить.", + "successTitle": "Пароль удалён", + "successBodyWithName": "Пароль удалён из {{fileName}}", + "successBody": "Пароль успешно удалён." + }, + "setup": { + "welcome": "Добро пожаловать в Stirling PDF", + "description": "Начните с выбора способа использования Stirling PDF", + "step1": { + "label": "Выберите режим", + "description": "Офлайн или сервер" + }, + "step2": { + "label": "Выберите сервер", + "description": "Self-hosted сервер" + }, + "step3": { + "label": "Вход", + "description": "Введите учётные данные" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Войдите в аккаунт Stirling" + }, + "selfhosted": { + "title": "Self-Hosted сервер", + "description": "Подключитесь к своему серверу Stirling PDF" + } + }, + "saas": { + "title": "Вход в Stirling", + "subtitle": "Войдите в аккаунт Stirling" + }, + "selfhosted": { + "title": "Вход на сервер", + "subtitle": "Введите учётные данные сервера" + }, + "server": { + "title": "Подключение к серверу", + "subtitle": "Введите URL своего self-hosted сервера", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Self-hosted сервер" + }, + "url": { + "label": "URL сервера", + "description": "Введите полный URL вашего self-hosted сервера Stirling PDF" + }, + "error": { + "emptyUrl": "Введите URL сервера", + "unreachable": "Не удалось подключиться к серверу", + "testFailed": "Тест подключения не пройден" + }, + "testing": "Проверка подключения..." + }, + "login": { + "title": "Вход", + "subtitle": "Введите учётные данные для продолжения", + "connectingTo": "Подключение к:", + "username": { + "label": "Имя пользователя", + "placeholder": "Введите имя пользователя" + }, + "email": { + "label": "Email", + "placeholder": "Введите email" + }, + "password": { + "label": "Пароль", + "placeholder": "Введите пароль" + }, + "error": { + "emptyUsername": "Введите имя пользователя", + "emptyEmail": "Введите email", + "emptyPassword": "Введите пароль", + "oauthFailed": "Сбой входа через OAuth. Повторите попытку." + }, + "submit": "Войти", + "signInWith": "Войти через", + "oauthPending": "Открываем браузер для аутентификации...", + "orContinueWith": "Или продолжить по email" + } + }, + "oauth": { + "success": { + "title": "Аутентификация успешна", + "message": "Можно закрыть это окно и вернуться в Stirling PDF." + }, + "error": { + "title": "Сбой аутентификации", + "message": "Аутентификация не выполнена. Закройте окно и попробуйте снова." + } + }, + "pdfTextEditor": { + "title": "Редактор JSON PDF", + "viewLabel": "Редактор PDF", + "converting": "Преобразование PDF в редактируемый формат...", + "conversionFailed": "Не удалось преобразовать PDF. Попробуйте ещё раз.", + "currentFile": "Текущий файл: {{name}}", + "pageSummary": "Стр. {{number}} из {{total}}", + "pagePreviewAlt": "Миниатюра страницы", + "imageLabel": "Размещённое изображение", + "noTextOnPage": "На этой странице не найден редактируемый текст.", + "pageType": { + "paragraph": "Страница с абзацами", + "sparse": "Разреженный текст" + }, + "groupingMode": { + "auto": "Авто", + "paragraph": "Абзац", + "singleLine": "Одна строка" + }, + "badges": { + "unsaved": "Изменено", + "modified": "Изменено", + "earlyAccess": "Ранний доступ" + }, + "actions": { + "reset": "Сбросить изменения", + "downloadJson": "Скачать JSON", + "generatePdf": "Сформировать PDF" + }, + "options": { + "autoScaleText": { + "title": "Автоматически подгонять текст по рамке", + "description": "Автоматически масштабирует текст по горизонтали, чтобы он вписывался в исходную рамку, если рендеринг шрифта отличается от PDF." + }, + "groupingMode": { + "title": "Режим группировки текста", + "autoDescription": "Автоматически определяет тип страницы и корректно группирует текст.", + "paragraphDescription": "Группирует выровненные строки в многострочные абзацы.", + "singleLineDescription": "Оставляет каждую строку PDF отдельным текстовым блоком." + }, + "manualGrouping": { + "descriptionInline": "Совет: удерживайте Ctrl (Cmd) или Shift для мультивыбора блоков. Над выделением появится плавающая панель для объединения, разGrouping или настройки ширины." + }, + "forceSingleElement": { + "title": "Фиксировать отредактированный текст в одном элементе PDF", + "description": "При включении редактор экспортирует каждый отредактированный блок как один элемент текста PDF, чтобы избежать наложений глифов или смешения шрифтов." + } + }, + "manual": { + "mergeTooltip": "Объединить выбранные блоки", + "merge": "Объединить выделение", + "ungroupTooltip": "Разбить абзац на строки", + "ungroup": "Разгруппировать выделение", + "widthMenu": "Параметры ширины", + "expandWidth": "Расширить до края страницы", + "resetWidth": "Сбросить ширину", + "resizeHandle": "Изменить ширину текста" + }, + "disclaimer": { + "heading": "Ограничения предпросмотра", + "textFocus": "В этой рабочей области можно редактировать текст и перемещать встроенные изображения. Сложное оформление страницы, элементы форм и многослойная графика сохраняются для экспорта, но здесь не полностью редактируются.", + "previewVariance": "Некоторые элементы (например, границы таблиц, фигуры или отображение аннотаций) могут отображаться в предпросмотре неточно. Экспортируемый PDF по возможности сохраняет исходные команды рисования.", + "alpha": "Этот альфа‑просмотрщик ещё развивается — отдельные шрифты, цвета, эффекты прозрачности и детали макета могут немного отличаться. Перед отправкой внимательно проверьте созданный PDF." + }, + "empty": { + "title": "Документ не загружен", + "subtitle": "Загрузите файл PDF или JSON, чтобы начать редактирование текста." + }, + "welcomeBanner": { + "title": "Добро пожаловать в редактор текста PDF (ранний доступ)", + "experimental": "Это экспериментальная функция в активной разработке. Возможны нестабильность и ошибки при использовании.", + "howItWorks": "Этот инструмент преобразует ваш PDF в редактируемый формат, где можно изменять текст и перемещать изображения. Изменения сохраняются в новый PDF.", + "bestFor": "Лучше всего подходит для:", + "bestFor1": "Простых PDF, содержащих в основном текст и изображения", + "bestFor2": "Документов со стандартным абзацным форматированием", + "bestFor3": "Писем, эссе, отчетов и простых документов", + "notIdealFor": "Не подходит для:", + "notIdealFor1": "PDF со специальным форматированием, например маркированные списки, таблицы или многоколоночные макеты", + "notIdealFor2": "Журналов, брошюр или документов со сложным дизайном", + "notIdealFor3": "Руководств со сложной версткой", + "limitations": "Текущие ограничения:", + "limitation1": "Отображение шрифтов может немного отличаться от оригинального PDF", + "limitation2": "Сложная графика, поля форм и аннотации сохраняются, но не редактируются", + "limitation3": "Обработка больших файлов может занять время", + "knownIssues": "Известные проблемы (исправляются):", + "issue1": "Цвет текста пока не сохраняется (скоро добавим)", + "issue2": "В режиме абзацев больше проблем с выравниванием и интервалами — рекомендуется режим одиночной строки", + "issue3": "Отображение в предпросмотре отличается от экспортированного PDF — экспорт ближе к оригиналу", + "issue4": "Выравнивание повернутого текста может потребовать ручной настройки", + "issue5": "Эффекты прозрачности и слоев могут отличаться от оригинала", + "feedback": "Это функция раннего доступа. Пожалуйста, сообщайте о любых проблемах, чтобы помочь нам улучшить инструмент!", + "gotIt": "Понятно", + "dontShowAgain": "Больше не показывать" + }, + "modeChange": { + "title": "Подтвердите смену режима", + "warning": "Изменение режима группировки текста сбросит все несохраненные изменения. Вы уверены, что хотите продолжить?", + "cancel": "Отмена", + "confirm": "Сбросить и сменить режим" + }, + "fontAnalysis": { + "details": "Сведения о шрифте", + "embedded": "Встроенный", + "type": "Тип", + "webFormat": "Веб-формат", + "warnings": "Предупреждения", + "suggestions": "Примечания", + "currentPageFonts": "Шрифты на этой странице", + "allFonts": "Все шрифты", + "fallback": "замена", + "missing": "отсутствует", + "perfectMessage": "Все шрифты могут быть воспроизведены идеально.", + "warningMessage": "Некоторые шрифты могут отображаться некорректно.", + "infoMessage": "Доступна информация о воспроизведении шрифтов.", + "perfect": "идеально", + "subset": "частично встроенный" + }, + "errors": { + "invalidJson": "Не удалось прочитать файл JSON. Убедитесь, что он был создан инструментом PDF to JSON.", + "pdfConversion": "Не удалось преобразовать отредактированный JSON обратно в PDF." + } + }, + "auth": { + "sessionExpired": "Сеанс истек", + "pleaseLoginAgain": "Пожалуйста, войдите снова.", + "accessDenied": "Доступ запрещен", + "insufficientPermissions": "У вас нет прав для выполнения этого действия." + }, + "addText": { + "title": "Добавить текст", + "header": "Добавьте текст в PDF", + "text": { + "name": "Текст", + "placeholder": "Введите текст, который нужно добавить", + "fontLabel": "Шрифт", + "fontSizeLabel": "Размер шрифта", + "fontSizePlaceholder": "Введите или выберите размер шрифта (8–200)", + "colorLabel": "Цвет текста" + }, + "steps": { + "configure": "Настройка текста" + }, + "step": { + "createDesc": "Введите текст, который хотите добавить", + "place": "Разместить текст", + "placeDesc": "Щелкните в PDF, чтобы добавить текст" + }, + "instructions": { + "title": "Как добавить текст", + "text": "После ввода текста выше щелкните в PDF, чтобы разместить его.", + "paused": "Размещение приостановлено", + "resumeHint": "Возобновите размещение, чтобы щелкнуть и добавить текст.", + "noSignature": "Введите текст выше, чтобы включить размещение." + }, + "mode": { + "move": "Переместить текст", + "place": "Разместить текст", + "pause": "Пауза размещения", + "resume": "Возобновить размещение" + }, + "results": { + "title": "Результаты добавления текста" + }, + "error": { + "failed": "Произошла ошибка при добавлении текста в PDF." + }, + "tags": "текст,аннотация,метка", + "applySignatures": "Применить текст" } } \ No newline at end of file diff --git a/frontend/public/locales/sk-SK/translation.json b/frontend/public/locales/sk-SK/translation.json index 8016c3d00..f11bd05d5 100644 --- a/frontend/public/locales/sk-SK/translation.json +++ b/frontend/public/locales/sk-SK/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Už čoskoro:", "favorite": "Pridať do obľúbených", "favorites": "Obľúbené", + "unavailable": "Zakázané správcom servera:", + "unavailableDependency": "Nedostupné – chýba požadovaný nástroj na serveri:", "heading": "Všetky nástroje (zobrazenie na celú obrazovku)", "noResults": "Skúste upraviť vyhľadávanie alebo prepnite popisy, aby ste našli, čo potrebujete.", "recommended": "Odporúčané", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Prepnúť na režim celej obrazovky", "sidebar": "Prepnúť na režim bočného panela" - } + }, + "alpha": "Alfa", + "premiumFeature": "Prémiová funkcia:", + "comingSoon": "Už čoskoro:" }, "unsavedChanges": "Máte neuložené zmeny v PDF.", "areYouSure": "Naozaj chcete odísť?", @@ -41,6 +46,30 @@ "cancel": "Zrušiť", "confirm": "Rozbaliť" }, + "defaultApp": { + "title": "Nastaviť ako predvolenú aplikáciu PDF", + "message": "Chcete nastaviť Stirling PDF ako predvolený editor PDF?", + "description": "Neskôr to môžete zmeniť v nastaveniach systému.", + "notNow": "Teraz nie", + "setDefault": "Nastaviť ako predvolené", + "dismiss": "Zavrieť", + "prompt": { + "title": "Nastaviť ako predvolený editor PDF", + "message": "Nastavte Stirling PDF ako predvolenú aplikáciu na otváranie PDF súborov." + }, + "success": { + "title": "Predvolená aplikácia nastavená", + "message": "Stirling PDF je teraz váš predvolený editor PDF" + }, + "settingsOpened": { + "title": "Nastavenia otvorené", + "message": "Vyberte Stirling PDF v nastaveniach systému" + }, + "error": { + "title": "Chyba", + "message": "Nepodarilo sa nastaviť predvolenú aplikáciu PDF" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Uložiť", "saveToBrowser": "Uložiť do prehliadača", "download": "Stiahnuť", + "downloadUnavailable": "Sťahovanie nie je pre túto položku dostupné", + "saveUnavailable": "Uloženie pre túto položku nie je dostupné", "pin": "Pripnúť súbor (ponechať aktívny po spustení nástroja)", "unpin": "Zrušiť pripnutie súboru (nahradiť po spustení nástroja)", "undoOperationTooltip": "Kliknutím vrátite poslednú operáciu a obnovíte pôvodné súbory", @@ -168,6 +199,7 @@ }, "edit": "Upraviť", "delete": "Vymazať", + "never": "Nikdy", "username": "Používateľské meno", "password": "Heslo", "welcome": "Vitajte", @@ -262,7 +294,8 @@ "learnMore": "Viac informácií", "enable": "Povoliť analytiku", "disable": "Zakázať analytiku", - "settings": "Nastavenia analytiky môžete zmeniť v súbore config/settings.yml" + "settings": "Nastavenia analytiky môžete zmeniť v súbore config/settings.yml", + "privacyAssurance": "Nesledujeme žiadne osobné údaje ani obsah vašich súborov." }, "navbar": { "favorite": "Obľúbené", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Nastavenia", - "update": "Dostupná aktualizácia", - "updateAvailable": "{0} je aktuálne nainštalovaná verzia. Nová verzia ({1}) je dostupná.", - "appVersion": "Verzia aplikácie:", - "downloadOption": { - "title": "Vyberte možnosť sťahovania (Pre jednotlivé neskomprimované súbory):", - "1": "Otvoriť v rovnakom okne", - "2": "Otvoriť v novom okne", - "3": "Stiahnuť súbor" - }, - "zipThreshold": "Komprimovať súbory, keď počet stiahnutých súborov prekročí", - "signOut": "Odhlásiť sa", - "accountSettings": "Nastavenia účtu", - "bored": { - "help": "Umožňuje veľkonočnú hru" - }, - "cacheInputs": { - "name": "Uložiť vstupy formulára", - "help": "Umožňuje uložiť predtým použité vstupy na budúce použitie" + "connection": { + "title": "Režim pripojenia", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Self-hostovaný" + }, + "server": "Server", + "user": "Prihlásený ako", + "logout": "Odhlásiť sa" }, "general": { "title": "Všeobecné", "description": "Nastavte všeobecné preferencie aplikácie.", - "account": "Účet", - "accountDescription": "Spravujte nastavenia účtu", "user": "Používateľ", - "signedInAs": "Prihlásený ako", "logout": "Odhlásiť sa", "enableFeatures": { + "dismiss": "Zavrieť", "title": "Pre správcov systému", "intro": "Povoľte overovanie používateľov, správu tímov a funkcie pracovného priestoru pre vašu organizáciu.", "action": "Nastaviť", "and": "a", "benefit": "Umožňuje používateľské roly, tímovú spoluprácu, administrátorské ovládanie a podnikové funkcie.", - "learnMore": "Viac v dokumentácii", - "dismiss": "Zavrieť" + "learnMore": "Viac v dokumentácii" }, - "autoUnzip": "Automaticky rozbaliť odpovede API", - "autoUnzipDescription": "Automaticky extrahovať súbory zo ZIP odpovedí", - "autoUnzipTooltip": "Automaticky extrahuje ZIP súbory vrátené z operácií API. Zakážte, aby zostali ZIP súbory nedotknuté. Toto neovplyvní automatizačné pracovné postupy.", - "autoUnzipFileLimit": "Limit automatického rozbalenia súborov", - "autoUnzipFileLimitDescription": "Maximálny počet súborov na extrakciu zo ZIP", - "autoUnzipFileLimitTooltip": "Rozbaľovať len vtedy, ak ZIP obsahuje najviac tento počet súborov. Zvýšte hodnotu pre extrakciu väčších ZIPov.", "defaultToolPickerMode": "Predvolený režim výberu nástrojov", "defaultToolPickerModeDescription": "Vyberte, či sa výber nástrojov bude predvolene otvárať na celej obrazovke alebo v bočnom paneli", "mode": { - "fullscreen": "Celá obrazovka", - "sidebar": "Bočný panel" - } + "sidebar": "Bočný panel", + "fullscreen": "Celá obrazovka" + }, + "autoUnzipTooltip": "Automaticky extrahuje ZIP súbory vrátené z operácií API. Zakážte, aby zostali ZIP súbory nedotknuté. Toto neovplyvní automatizačné pracovné postupy.", + "autoUnzip": "Automaticky rozbaliť odpovede API", + "autoUnzipDescription": "Automaticky extrahovať súbory zo ZIP odpovedí", + "autoUnzipFileLimitTooltip": "Rozbaľovať len vtedy, ak ZIP obsahuje najviac tento počet súborov. Zvýšte hodnotu pre extrakciu väčších ZIPov.", + "autoUnzipFileLimit": "Limit automatického rozbalenia súborov", + "autoUnzipFileLimitDescription": "Maximálny počet súborov na extrakciu zo ZIP", + "defaultPdfEditor": "Predvolený editor PDF", + "defaultPdfEditorActive": "Stirling PDF je váš predvolený editor PDF", + "defaultPdfEditorInactive": "Iná aplikácia je nastavená ako predvolená", + "defaultPdfEditorChecking": "Kontroluje sa...", + "defaultPdfEditorSet": "Už je predvolené", + "setAsDefault": "Nastaviť ako predvolené", + "updates": { + "title": "Aktualizácie softvéru", + "description": "Skontrolujte aktualizácie a zobrazte informácie o verzii", + "currentVersion": "Aktuálna verzia", + "latestVersion": "Najnovšia verzia", + "checkForUpdates": "Skontrolovať aktualizácie", + "viewDetails": "Zobraziť podrobnosti" + }, + "hideUnavailableTools": "Skryť nedostupné nástroje", + "hideUnavailableToolsDescription": "Odstrániť nástroje zakázané vaším serverom namiesto ich sivého zobrazenia.", + "hideUnavailableConversions": "Skryť nedostupné konverzie", + "hideUnavailableConversionsDescription": "Odstrániť zakázané možnosti konverzie v nástroji Konvertovať namiesto ich sivého zobrazenia." }, "hotkeys": { - "title": "Klávesové skratky", - "description": "Prejdite kurzorom na nástroj, aby ste videli jeho skratku, alebo si ju upravte nižšie. Kliknite na \"Zmeniť skratku\" a stlačte novú kombináciu kláves. Stlačením Esc zrušíte.", - "errorModifier": { - "mac": "Zahrňte ⌘ (Command), ⌥ (Option) alebo iný modifikátor do svojej skratky.", - "windows": "Zahrňte Ctrl, Alt alebo iný modifikátor do svojej skratky." - }, "errorConflict": "Skratka sa už používa nástrojom {{tool}}.", + "searchPlaceholder": "Hľadať nástroje...", "none": "Nepriradené", "customBadge": "Vlastná", "defaultLabel": "Predvolené: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Zmeniť skratku", "reset": "Resetovať", "shortcut": "Skratka", - "noShortcut": "Nastavená žiadna skratka", - "searchPlaceholder": "Hľadať nástroje..." + "noShortcut": "Nastavená žiadna skratka" } }, + "update": { + "modalTitle": "Dostupná aktualizácia", + "current": "Aktuálna verzia", + "latest": "Najnovšia verzia", + "latestStable": "Najnovšia stabilná", + "priorityLabel": "Priorita", + "recommendedAction": "Odporúčaná akcia", + "breakingChangesDetected": "Zistené nezlučiteľné zmeny", + "breakingChangesMessage": "Niektoré verzie obsahujú nezlučiteľné zmeny. Pred aktualizáciou si pozrite migračné príručky nižšie.", + "migrationGuides": "Migračné príručky", + "viewGuide": "Zobraziť príručku", + "loadingDetailedInfo": "Načítavajú sa podrobné informácie...", + "close": "Zavrieť", + "viewAllReleases": "Zobraziť všetky vydania", + "downloadLatest": "Stiahnuť najnovšie", + "availableUpdates": "Dostupné aktualizácie", + "unableToLoadDetails": "Nedá sa načítať podrobné informácie.", + "version": "Verzia", + "urgentUpdateAvailable": "Urgentná aktualizácia", + "updateAvailable": "Dostupná aktualizácia", + "releaseNotes": "Poznámky k vydaniu", + "priority": { + "urgent": "Urgentná", + "normal": "Bežná", + "minor": "Menšia", + "low": "Nízka" + }, + "breakingChanges": "Nezlučiteľné zmeny", + "breakingChangesDefault": "Táto verzia obsahuje nezlučiteľné zmeny.", + "migrationGuide": "Migračná príručka" + }, "changeCreds": { "title": "Zmeniť údaje", "header": "Aktualizujte údaje svojho účtu", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Prekrýva PDF súbory na iný PDF", "title": "Prekrývanie PDF" + }, + "pdfTextEditor": { + "title": "Editor textu PDF", + "desc": "Kontrolujte a upravujte Stirling PDF JSON exporty so skupinovými úpravami textu a opätovným vytvorením PDF" + }, + "addText": { + "tags": "text,anotácia,štítok", + "title": "Pridať text", + "desc": "Pridajte vlastný text kdekoľvek do svojho PDF" } }, "landing": { "addFiles": "Pridať súbory", - "uploadFromComputer": "Nahrať z počítača" + "uploadFromComputer": "Nahrať z počítača", + "openFromComputer": "Otvoriť z počítača" }, "viewPdf": { "tags": "zobraziť,čítať,anotovať,text,obrázok", @@ -849,6 +922,11 @@ }, "error": { "failed": "Pri zlúčení PDF došlo k chybe." + }, + "tooltip": { + "header": { + "title": "Prehľad nastavení zlúčenia" + } } }, "split": { @@ -1182,9 +1260,43 @@ "tags": "img,jpg,obrázok,fotografia", "title": "Pridať obrázok", "header": "Pridať obrázok do PDF", - "everyPage": "Každá stránka?", - "upload": "Pridať obrázok", - "submit": "Pridať obrázok" + "image": { + "name": "Obrázok", + "placeholder": "Nahrajte obrázok", + "label": "Súbor obrázka" + }, + "steps": { + "configure": "Nastaviť obrázok" + }, + "step": { + "createDesc": "Nahrajte obrázok, ktorý chcete pridať", + "place": "Umiestniť obrázok", + "placeDesc": "Kliknite na PDF a pridajte svoj obrázok" + }, + "instructions": { + "title": "Ako pridávať obrázky", + "text": "Po nahratí obrázka vyššie kliknite kdekoľvek do PDF na jeho umiestnenie.", + "paused": "Umiestňovanie pozastavené", + "resumeHint": "Obnovte umiestňovanie, potom kliknite a pridajte svoj obrázok.", + "noSignature": "Nahrajte vyššie obrázok na povolenie umiestňovania." + }, + "mode": { + "move": "Presunúť obrázok", + "place": "Umiestniť obrázok", + "pause": "Pozastaviť umiestňovanie", + "resume": "Obnoviť umiestňovanie" + }, + "results": { + "title": "Výsledky pridania obrázka" + }, + "error": { + "failed": "Pri pridávaní obrázka do PDF sa vyskytla chyba." + }, + "saved": { + "defaultLabel": "Obrázok", + "defaultImageLabel": "Nahraný obrázok" + }, + "applySignatures": "Použiť obrázky" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1397,6 +1509,93 @@ }, "submit": "Zmeniť" }, + "editTableOfContents": { + "settings": { + "title": "Záložky a osnova", + "replaceExisting": "Nahradiť existujúce záložky (odškrtnite pre pripojenie)", + "replaceExistingHint": "Keď je vypnuté, nová osnova sa pripojí za aktuálne záložky." + }, + "actions": { + "source": "Načítať záložky", + "selectedFile": "Načítané zo {{file}}", + "noFile": "Vyberte PDF na extrahovanie existujúcich záložiek.", + "loadFromPdf": "Načítať z vybraného PDF", + "importJson": "Importovať JSON", + "importClipboard": "Vložiť JSON zo schránky", + "export": "Exportovať záložky", + "exportJson": "Stiahnuť JSON", + "exportClipboard": "Kopírovať JSON do schránky", + "clipboardUnavailable": "Prístup k schránke nie je v tomto prehliadači dostupný." + }, + "info": { + "line1": "Každá záložka potrebuje popisný názov a stranu, ktorú má otvoriť.", + "line2": "Použite podriadené záložky na vytvorenie hierarchie pre kapitoly, sekcie alebo podsekcie.", + "line3": "Importujte záložky z vybraného PDF alebo zo súboru JSON a ušetrite čas." + }, + "workbench": { + "empty": { + "title": "Otvorte nástroj a začnite upravovať", + "description": "Vyberte nástroj Upraviť obsah na načítanie pracovného priestoru." + }, + "tabTitle": "Pracovný priestor osnovy", + "subtitle": "Importujte záložky, budujte hierarchie a aplikujte osnovu bez stiesnených bočných panelov.", + "noFile": "Nie je vybrané žiadne PDF", + "fileLabel": "Zmeny sa použijú na aktuálne vybrané PDF.", + "filePrompt": "Vyberte PDF zo svojej knižnice alebo nahrajte nové a začnite.", + "changeFile": "Zmeniť PDF", + "selectFile": "Vybrať PDF" + }, + "editor": { + "heading": "Editor záložiek", + "description": "Pridávajte, vnárajte a preusporadúvajte záložky a vytvorte osnovu PDF.", + "addTopLevel": "Pridať záložku najvyššej úrovne", + "empty": { + "title": "Zatiaľ žiadne záložky", + "description": "Importujte existujúce záložky alebo začnite pridaním prvej položky.", + "action": "Pridať prvú záložku" + }, + "defaultTitle": "Nová záložka", + "defaultChildTitle": "Podriadená záložka", + "defaultSiblingTitle": "Nová záložka", + "untitled": "Bez názvu", + "childBadge": "Podriadená", + "pagePreview": "Strana {{page}}", + "field": { + "title": "Názov záložky", + "page": "Cieľové číslo strany" + }, + "actions": { + "toggle": "Prepnúť podriadené", + "addChild": "Pridať podriadenú záložku", + "addSibling": "Pridať súrodeneckú záložku", + "remove": "Odstrániť záložku" + }, + "confirmRemove": "Odstrániť túto záložku a všetky jej podriadené?" + }, + "messages": { + "loadedTitle": "Záložky extrahované", + "loadedBody": "Existujúce záložky z PDF boli načítané do editora.", + "noBookmarks": "Vo vybranom PDF sa nenašli žiadne záložky.", + "loadFailed": "Nepodarilo sa extrahovať záložky z vybraného PDF.", + "imported": "Záložky importované", + "importedBody": "Vaša JSON osnova nahradila aktuálny obsah editora.", + "importedClipboard": "Dáta zo schránky nahradili aktuálny zoznam záložiek.", + "invalidJson": "Neplatná štruktúra JSON", + "invalidJsonBody": "Poskytnite platný JSON súbor so záložkami a skúste znova.", + "exported": "JSON pripravený na stiahnutie", + "copied": "Skopírované do schránky", + "copiedBody": "JSON záložiek bol úspešne skopírovaný.", + "copyFailed": "Kopírovanie zlyhalo" + }, + "error": { + "failed": "Nepodarilo sa aktualizovať obsah" + }, + "submit": "Použiť obsah", + "results": { + "title": "Aktualizované PDF so záložkami", + "subtitle": "Stiahnite spracovaný súbor alebo vráťte operáciu nižšie." + } + }, "removePages": { "tags": "Odstrániť stránky,vymazať stránky", "title": "Odstrániť", @@ -1978,13 +2177,54 @@ "title": "Nakreslite svoj podpis", "clear": "Vymazať" }, + "canvas": { + "heading": "Nakreslite svoj podpis", + "clickToOpen": "Kliknite pre otvorenie kresliaceho plátna", + "modalTitle": "Nakreslite svoj podpis", + "colorLabel": "Farba", + "penSizeLabel": "Hrúbka pera", + "penSizePlaceholder": "Veľkosť", + "clear": "Vymazať plátno", + "colorPickerTitle": "Vyberte farbu ťahu" + }, "text": { "name": "Meno podpisujúceho", - "placeholder": "Zadajte svoje celé meno" + "placeholder": "Zadajte svoje celé meno", + "fontLabel": "Písmo", + "fontSizeLabel": "Veľkosť písma", + "fontSizePlaceholder": "Zadajte alebo vyberte veľkosť písma (8-200)", + "colorLabel": "Farba textu" }, "clear": "Vymazať", "add": "Pridať", - "saved": "Uložené podpisy", + "saved": { + "heading": "Uložené podpisy", + "description": "Uložené podpisy môžete použiť kedykoľvek.", + "emptyTitle": "Zatiaľ žiadne uložené podpisy", + "emptyDescription": "Nakreslite, nahrajte alebo napíšte podpis vyššie a potom použite „Uložiť do knižnice“ na uchovanie až {{max}} obľúbených pripravených na použitie.", + "type": { + "canvas": "Kresba", + "image": "Nahranie", + "text": "Text" + }, + "limitTitle": "Dosiahnutý limit", + "limitDescription": "Pred pridaním nových odstráňte uložený podpis (max. {{max}}).", + "carouselPosition": "{{current}} z {{total}}", + "prev": "Predchádzajúci", + "next": "Ďalej", + "delete": "Odstrániť", + "label": "Štítok", + "defaultLabel": "Podpis", + "defaultCanvasLabel": "Kreslený podpis", + "defaultImageLabel": "Nahraný podpis", + "defaultTextLabel": "Napísaný podpis", + "saveButton": "Uložiť podpis", + "saveUnavailable": "Najprv vytvorte podpis, aby ste ho mohli uložiť.", + "noChanges": "Aktuálny podpis je už uložený.", + "status": { + "saved": "Uložené" + } + }, "save": "Uložiť podpis", "applySignatures": "Použiť podpisy", "personalSigs": "Osobné podpisy", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Nastaviť podpis" }, + "step": { + "createDesc": "Vyberte, ako chcete vytvoriť podpis", + "place": "Umiestniť a uložiť", + "placeDesc": "Umiestnite podpis do svojho PDF" + }, "type": { "title": "Typ podpisu", "draw": "Kresliť", "canvas": "Plátno", "image": "Obrázok", - "text": "Text" + "text": "Text", + "saved": "Uložené" }, "image": { "label": "Nahrať obrázok podpisu", @@ -2019,11 +2265,17 @@ "title": "Ako pridať podpis", "canvas": "Po nakreslení podpisu v plátne zatvorte okno a potom kliknite kdekoľvek do PDF, aby ste ho umiestnili.", "image": "Po nahraní obrázka podpisu vyššie kliknite kdekoľvek do PDF, aby ste ho umiestnili.", - "text": "Po zadaní svojho mena vyššie kliknite kdekoľvek do PDF, aby ste umiestnili svoj podpis." + "saved": "Vyberte uložený podpis vyššie, potom kliknite kdekoľvek do PDF na jeho umiestnenie.", + "text": "Po zadaní svojho mena vyššie kliknite kdekoľvek do PDF, aby ste umiestnili svoj podpis.", + "paused": "Umiestňovanie pozastavené", + "resumeHint": "Obnovte umiestňovanie a kliknutím pridajte svoj podpis.", + "noSignature": "Vytvorte podpis vyššie, aby sa povolili nástroje umiestňovania." }, "mode": { "move": "Presúvať podpis", - "place": "Umiestniť podpis" + "place": "Umiestniť podpis", + "pause": "Pozastaviť umiestňovanie", + "resume": "Obnoviť umiestňovanie" }, "updateAndPlace": "Aktualizovať a umiestniť", "activate": "Aktivovať umiestňovanie podpisu", @@ -2163,6 +2415,14 @@ "title": "O odstránení anotácií", "description": "Tento nástroj odstráni všetky anotácie (komentáre, zvýraznenia, poznámky atď.) z vašich PDF dokumentov." }, + "tooltip": { + "header": { + "title": "O nástroji Odstrániť anotácie" + }, + "description": { + "title": "Čo robí" + } + }, "error": { "failed": "Počas odstraňovania anotácií z PDF došlo k chybe." } @@ -2627,6 +2887,9 @@ "header": { "title": "Ako funguje automatické premenovanie" }, + "description": { + "title": "Čo robí" + }, "howItWorks": { "title": "Inteligentné premenovanie", "text": "Automaticky nájde názov z obsahu vášho PDF a použije ho ako názov súboru.", @@ -2634,6 +2897,9 @@ "bullet2": "Vytvorí čistý, platný názov súboru z detegovaného názvu", "bullet3": "Ponechá pôvodný názov, ak sa nenájde vhodný titulok" } + }, + "settings": { + "title": "O nástroji" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "Neočakávaná chyba: {{message}}", "accountCreatedSuccess": "Účet bol úspešne vytvorený! Teraz sa môžete prihlásiť.", "passwordChangedSuccess": "Heslo bolo úspešne zmenené! Prihláste sa novým heslom.", - "credentialsUpdated": "Vaše prihlasovacie údaje boli aktualizované. Prihláste sa znova." + "credentialsUpdated": "Vaše prihlasovacie údaje boli aktualizované. Prihláste sa znova.", + "defaultCredentials": "Predvolené prihlasovacie údaje", + "changePasswordWarning": "Zmeňte si heslo po prvom prihlásení", + "slides": { + "overview": { + "alt": "Prehľad Stirling PDF", + "title": "Všetko pre vaše PDF na jednom mieste.", + "subtitle": "Cloudová sada s dôrazom na súkromie pre PDF: konvertovanie, podpisovanie, začierňovanie a správa dokumentov, a 50+ ďalších výkonných nástrojov." + }, + "edit": { + "alt": "Úprava PDF", + "title": "Upravujte PDF na zobrazenie/ochranu požadovaných informácií", + "subtitle": "S viac než tuctom nástrojov na začierňovanie, podpisovanie, čítanie a prácu s PDF určite nájdete, čo hľadáte." + }, + "secure": { + "alt": "Zabezpečenie PDF", + "title": "Chráňte citlivé informácie v PDF", + "subtitle": "Jednoducho pridávajte heslá, začierňujte obsah a spravujte certifikáty." + } + } }, "signup": { "title": "Vytvoriť účet", @@ -3598,7 +3883,9 @@ "exportAll": "Exportovať PDF", "downloadSelected": "Stiahnuť vybrané súbory", "downloadAll": "Stiahnuť všetko", + "saveAll": "Uložiť všetko", "toggleTheme": "Prepnúť tému", + "toggleBookmarks": "Prepnúť záložky", "language": "Jazyk", "search": "Hľadať v PDF", "panMode": "Režim posunu", @@ -3685,8 +3972,16 @@ "saved": "Nastavenia boli úspešne uložené", "saveSuccess": "Nastavenia boli úspešne uložené", "save": "Uložiť zmeny", + "discard": "Zahodiť", "restartRequired": "Vyžaduje sa reštart", "loginRequired": "Na úpravu administrátorských nastavení musí byť povolené prihlásenie", + "unsavedChanges": { + "title": "Neuložené zmeny", + "message": "Máte neuložené zmeny. Chcete ich zahodiť?", + "cancel": "Pokračovať v úpravách", + "discard": "Zahodiť zmeny", + "hint": "Máte neuložené zmeny" + }, "loginDisabled": { "title": "Vyžaduje sa režim prihlásenia", "message": "Na úpravu administrátorských nastavení musí byť povolený režim prihlásenia. Nastavte SECURITY_ENABLELOGIN=true vo vašom prostredí alebo security.enableLogin: true v settings.yml, potom reštartujte server.", @@ -3869,7 +4164,7 @@ }, "level": { "label": "Úroveň auditu", - "description": "0=OFF, 1=BASIC, 2=STANDARD, 3=VERBOSE" + "description": "0=VYP., 1=ZÁKLADNÉ, 2=ŠTANDARD, 3=PODROBNÉ" }, "retentionDays": { "label": "Doba uchovania auditu (dni)", @@ -3947,15 +4242,15 @@ "description": "Poskytovateľ OAuth2 použitý pre overenie" }, "issuer": { - "label": "Issuer URL", + "label": "URL vydavateľa", "description": "Adresa URL vydavateľa poskytovateľa OAuth2" }, "clientId": { - "label": "Client ID", + "label": "ID klienta", "description": "OAuth2 Client ID od vášho poskytovateľa" }, "clientSecret": { - "label": "Client Secret", + "label": "Tajný kľúč klienta", "description": "OAuth2 Client Secret od vášho poskytovateľa" }, "useAsUsername": { @@ -3971,7 +4266,7 @@ "description": "Zabrániť registrácii nových používateľov cez OAuth2" }, "scopes": { - "label": "OAuth2 Scopes", + "label": "Rozsahy OAuth2", "description": "Čiarkou oddelený zoznam OAuth2 scopes (napr. openid, profile, email)" } }, @@ -4212,9 +4507,21 @@ "title": "Premium a Enterprise", "description": "Nakonfigurujte svoj Premium alebo Enterprise licenčný kľúč.", "license": "Konfigurácia licencie", + "licenseKey": { + "toggle": "Máte licenčný kľúč alebo súbor certifikátu?", + "info": "Ak máte licenčný kľúč alebo súbor certifikátu z priameho nákupu, môžete ho sem zadať na aktiváciu prémiových alebo enterprise funkcií." + }, "key": { "label": "Licenčný kľúč", - "description": "Zadajte svoj Premium alebo Enterprise licenčný kľúč" + "description": "Zadajte svoj Premium alebo Enterprise licenčný kľúč", + "success": "Licenčný kľúč uložený", + "successMessage": "Váš licenčný kľúč bol úspešne aktivovaný. Reštart nie je potrebný.", + "overwriteWarning": { + "title": "⚠️ Upozornenie: Zistená existujúca licencia", + "line1": "Prepísanie aktuálneho licenčného kľúča nemožno vrátiť späť.", + "line2": "Vaša predchádzajúca licencia bude natrvalo stratená, pokiaľ ju nemáte zálohovanú inde.", + "line3": "Dôležité: Licenčné kľúče uchovávajte súkromné a v bezpečí. Nikdy ich nezdieľajte verejne." + } }, "enabled": { "label": "Povoliť Premium funkcie", @@ -4278,12 +4585,17 @@ "or": "alebo", "dropFileHere": "Presuňte súbor sem alebo kliknite pre nahratie", "dropFilesHere": "Presuňte súbory sem alebo kliknite na tlačidlo nahrania", + "dropFilesHereOpen": "Pretiahnite súbory sem alebo kliknite na tlačidlo Otvoriť", "pdfFilesOnly": "Iba súbory PDF", "supportedFileTypes": "Podporované typy súborov", "upload": "Nahrať", "uploadFile": "Nahrať súbor", "uploadFiles": "Nahrať súbory", + "open": "Otvoriť", + "openFile": "Otvoriť súbor", + "openFiles": "Otvoriť súbory", "noFilesInStorage": "V úložisku nie sú dostupné žiadne súbory. Najprv nahrajte nejaké súbory.", + "noFilesInStorageOpen": "V úložisku nie sú dostupné žiadne súbory. Najprv otvorte nejaké súbory.", "selectFromStorage": "Vybrať z úložiska", "backToTools": "Späť na Nástroje", "addFiles": "Pridať súbory", @@ -4329,6 +4641,8 @@ "myFiles": "Moje súbory", "noRecentFiles": "Nenašli sa žiadne nedávne súbory", "googleDriveNotAvailable": "Integrácia Google Drive nie je dostupná", + "downloadSelected": "Stiahnuť vybrané", + "saveSelected": "Uložiť vybrané", "openFiles": "Otvoriť súbory", "openFile": "Otvoriť súbor", "details": "Podrobnosti o súbore", @@ -4341,7 +4655,6 @@ "selectAll": "Vybrať všetko", "deselectAll": "Zrušiť výber všetkých", "deleteSelected": "Odstrániť vybrané", - "downloadSelected": "Stiahnuť vybrané", "selectedCount": "{{count}} vybraných", "download": "Stiahnuť", "delete": "Vymazať", @@ -4621,9 +4934,14 @@ "secureWorkflow": "Bezpečnostný pracovný postup", "secureWorkflowDesc": "Zabezpečí dokumenty PDF odstránením potenciálne škodlivého obsahu ako JavaScript a vložené súbory, potom pridá ochranu heslom na zabránenie neoprávnenému prístupu. Heslo je predvolene nastavené na 'password'.", "processImages": "Spracovať obrázky", - "processImagesDesc": "Skonvertuje viacero obrazových súborov do jedného dokumentu PDF a potom použije technológiu OCR na extrakciu vyhľadávateľného textu z obrázkov." + "processImagesDesc": "Skonvertuje viacero obrazových súborov do jedného dokumentu PDF a potom použije technológiu OCR na extrakciu vyhľadávateľného textu z obrázkov.", + "prePublishSanitization": "Sanitizácia pred zverejnením", + "prePublishSanitizationDesc": "Postup, ktorý odstráni všetky skryté metaúdaje, JavaScript, vložené súbory, anotácie a zploští formuláre, aby sa zabránilo úniku dát pred zverejnením PDF online." } }, + "colorPicker": { + "title": "Vyberte farbu" + }, "common": { "previous": "Predchádzajúce", "next": "Ďalej", @@ -4639,7 +4957,13 @@ "used": "použité", "available": "dostupné", "cancel": "Zrušiť", - "preview": "Náhľad" + "preview": "Náhľad", + "close": "Zavrieť", + "done": "Hotovo", + "loading": "Načítava sa...", + "back": "Späť", + "continue": "Pokračovať", + "error": "Chyba" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Pridať ďalšie súbory...", "selectedFiles": "Vybrané súbory", "submit": "Pridať prílohy", + "tooltip": { + "header": { + "title": "O nástroji Pridať prílohy" + }, + "description": { + "title": "Čo robí" + } + }, "results": { "title": "Výsledky príloh" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Vlastná pozícia", "details": "Podrobnosti", - "downloadUnavailable": "Sťahovanie nie je pre túto položku dostupné", "invalidUndoData": "Nemožno vrátiť: neplatné údaje operácie", "margin": { "large": "Veľké", @@ -4801,6 +5132,10 @@ "maybeLater": "Možno neskôr", "dontShowAgain": "Viac nezobrazovať" }, + "welcomeSlide": { + "title": "Vitajte v Stirling", + "body": "Stirling PDF je teraz pripravený pre tímy všetkých veľkostí. Táto aktualizácia prináša nové rozloženie, silné admin schopnosti a našu najžiadanejšiu funkciu - Upraviť text." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Vyberme nástroj Orez, aby sme ukázali, ako používať jeden z nástrojov.", "toolInterface": "Toto je rozhranie nástroja Orez. Ako vidíte, zatiaľ tu toho veľa nie je, pretože sme ešte nepridali žiadne súbory PDF, s ktorými by sme pracovali.", @@ -4823,7 +5158,39 @@ "next": "Ďalej", "finish": "Dokončiť", "startTour": "Spustiť prehliadku", - "startTourDescription": "Prejdite si sprievodcu kľúčovými funkciami Stirling PDF" + "startTourDescription": "Prejdite si sprievodcu kľúčovými funkciami Stirling PDF", + "buttons": { + "next": "Ďalej →", + "back": "Späť", + "skipForNow": "Preskočiť zatiaľ", + "download": "Stiahnuť →", + "showMeAround": "Ukážte mi to", + "skipTheTour": "Preskočiť prehliadku" + }, + "serverLicense": { + "skip": "Preskočiť zatiaľ", + "seePlans": "Zobraziť plány →", + "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 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." + }, + "desktopInstall": { + "title": "Stiahnuť", + "titleWithOs": "Stiahnuť pre {{osLabel}}", + "body": "Stirling najlepšie funguje ako desktopová aplikácia. Môžete ju používať offline, pristupovať k dokumentom rýchlejšie a upravovať lokálne na počítači." + }, + "planOverview": { + "adminTitle": "Prehľad pre admina", + "userTitle": "Prehľad plánu", + "adminBodyLoginEnabled": "Ako admin môžete spravovať používateľov, konfigurovať nastavenia a monitorovať stav servera. Prvých {{freeTierLimit}} ľudí na vašom serveri môže používať Stirling bezplatne.", + "adminBodyLoginDisabled": "Keď zapnete režim prihlásenia, môžete spravovať používateľov, konfigurovať nastavenia a monitorovať stav servera. Prvých {{freeTierLimit}} ľudí na vašom serveri môže používať Stirling bezplatne.", + "userBody": "Pozvite kolegov, priraďujte roly a udržujte dokumenty organizované v jednom bezpečnom pracovnom priestore. Režim prihlásenia zapnite, keď ste pripravení rásť nad sólo použitie." + }, + "securityCheck": { + "message": "Aplikácia prešla nedávno významnými zmenami. Môže byť potrebná pozornosť vášho správcu servera. Potvrďte svoju rolu, aby ste pokračovali." + } }, "adminOnboarding": { "welcome": "Vitajte v administrátorskom sprievodcovi! Poďme preskúmať výkonné podnikové funkcie a nastavenia dostupné pre systémových administrátorov.", @@ -4852,7 +5219,10 @@ "role": "Rola", "team": "Tím", "status": "Stav", - "actions": "Akcie", + "actions": { + "label": "Akcie", + "upgrade": "Upgradovať" + }, "noMembersFound": "Nenašli sa žiadni členovia", "active": "Aktívny", "disabled": "Zakázaný", @@ -4964,7 +5334,8 @@ "slotsAvailable": "K dispozícii {{count}} miest pre používateľov", "noSlotsAvailable": "Žiadne voľné miesta", "currentUsage": "Aktuálne používaných {{current}} z {{max}} používateľských licencií" - } + }, + "loginRequired": "Najprv zapnite režim prihlásenia" }, "teams": { "title": "Tímy", @@ -5057,6 +5428,17 @@ "showComparison": "Porovnať všetky funkcie", "hideComparison": "Skryť porovnanie funkcií", "featureComparison": "Porovnanie funkcií", + "from": "Od", + "perMonth": "/mesiac", + "perSeat": "/miesto", + "withServer": "+ Server plán", + "licensedSeats": "Licencovaných: {{count}} miest", + "includedInCurrent": "Súčasť vášho plánu", + "selectPlan": "Vybrať plán", + "manage": "Spravovať", + "manageSubscription": { + "description": "Spravujte predplatné, fakturáciu a platobné metódy" + }, "activePlan": { "title": "Aktívny plán", "subtitle": "Podrobnosti vášho aktuálneho predplatného" @@ -5074,13 +5456,16 @@ "upTo": "Až do" }, "period": { - "month": "mesiac" + "month": "mesiac", + "perUserPerMonth": "/používateľ/mesiac" }, "free": { "name": "Bezplatný", "highlight1": "Obmedzené používanie nástrojov za týždeň", "highlight2": "Prístup ku všetkým nástrojom", - "highlight3": "Podpora komunity" + "highlight3": "Podpora komunity", + "forever": "Navždy zadarmo", + "included": "Zahrnuté" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Vlastné ceny", "highlight2": "Vyhradená podpora", - "highlight3": "Najnovšie funkcie" + "highlight3": "Najnovšie funkcie", + "requiresServer": "Vyžaduje server", + "requiresServerMessage": "Pred prechodom na Enterprise najprv prejdite na Server plán." }, "feature": { "title": "Funkcia", @@ -5102,6 +5489,12 @@ "api": "Prístup k API", "priority": "Prioritná podpora", "customPricing": "Vlastné ceny" + }, + "licenseWarning": { + "title": "Dosiahnutý bezplatný limit self-hostingu", + "body": "Máte {{total}} používateľov, ale bezplatná úroveň podporuje len {{limit}} na server. Upgradujte, aby Stirling PDF bežal hladko.", + "overLimit": "viac než {{limit}}", + "cta": "Zobraziť plány" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Spravovať fakturáciu", "portal": { "error": "Nepodarilo sa otvoriť fakturačný portál" - } + }, + "updateSeats": "Aktualizovať miesta", + "updateEnterpriseSeats": "Aktualizovať miesta Enterprise", + "currentSeats": "Aktuálny počet miest", + "minimumSeats": "Minimálny počet miest", + "basedOnUsers": "(aktuálni používatelia)", + "newSeatCount": "Nový počet miest", + "newSeatCountDescription": "Vyberte počet miest pre vašu Enterprise licenciu", + "whatHappensNext": "Čo nasleduje?", + "stripePortalRedirect": "Budete presmerovaní do fakturačného portálu Stripe na kontrolu a potvrdenie zmeny miest. Pomerná suma bude vypočítaná automaticky.", + "preparingUpdate": "Pripravuje sa aktualizácia miest...", + "seatCountTooLow": "Počet miest musí byť aspoň {{minimum}} (aktuálny počet používateľov)", + "seatCountUnchanged": "Vyberte iný počet miest", + "seatsUpdated": "Miesta aktualizované", + "seatsUpdatedMessage": "Vaše miesta Enterprise boli aktualizované na {{seats}}", + "updateProcessing": "Prebieha aktualizácia", + "updateProcessingMessage": "Vaša aktualizácia miest sa spracúva. Obnovte o chvíľu.", + "notEnterprise": "Správa miest je dostupná len pre licencie Enterprise" + }, + "upgradeBanner": { + "title": "Upgradovať na Server plán", + "message": "Využite Stirling PDF naplno s neobmedzenými používateľmi a pokročilými funkciami", + "upgradeButton": "Upgradovať teraz", + "dismiss": "Skryť banner", + "attentionTitle": "Tento server vyžaduje pozornosť admina", + "attentionBody": "Váš admin sa musí prihlásiť na zobrazenie ďalších informácií. Ihneď ho kontaktujte.", + "attentionBodyAdmin": "Skontrolujte licenčné požiadavky, aby tento server zostal v súlade.", + "seeInfo": "Zobraziť info" }, "payment": { "preparing": "Pripravuje sa platba...", @@ -5128,7 +5548,61 @@ "success": "Platba bola úspešná!", "successMessage": "Vaše predplatné bolo úspešne aktivované. Čoskoro dostanete potvrdzujúci e-mail.", "autoClose": "Toto okno sa automaticky zatvorí...", - "error": "Chyba platby" + "error": "Chyba platby", + "upgradeSuccess": "Platba úspešná! Vaše predplatné bolo upgradované. Licencia bola aktualizovaná na vašom serveri. Čoskoro dostanete potvrdzujúci email.", + "paymentSuccess": "Platba úspešná! Získava sa váš licenčný kľúč...", + "licenseActivated": "Licencia aktivovaná! Váš licenčný kľúč bol uložený. Potvrdzujúci email bol odoslaný na vašu registrovanú adresu.", + "licenseDelayed": "Platba úspešná! Vaša licencia sa generuje. Čoskoro dostanete email s licenčným kľúčom. Ak ho nedostanete do 10 minút, kontaktujte podporu.", + "licensePollingError": "Platba úspešná, ale licenčný kľúč sa nepodarilo získať automaticky. Skontrolujte svoj email alebo kontaktujte podporu s potvrdením platby.", + "licenseRetrievalError": "Platba úspešná, ale získanie licencie zlyhalo. Licenčný kľúč dostanete emailom. Ak ho nedostanete do 10 minút, kontaktujte podporu.", + "syncError": "Platba úspešná, ale synchronizácia licencie zlyhala. Vaša licencia bude čoskoro aktualizovaná. Ak problémy pretrvávajú, kontaktujte podporu.", + "licenseSaveError": "Nepodarilo sa uložiť licenčný kľúč. Kontaktujte podporu a dokončite aktiváciu pomocou licenčného kľúča.", + "paymentCanceled": "Platba bola zrušená. K úhrade nedošlo.", + "syncingLicense": "Synchronizuje sa vaša aktualizovaná licencia...", + "generatingLicense": "Generuje sa váš licenčný kľúč...", + "upgradeComplete": "Upgrade dokončený", + "upgradeCompleteMessage": "Vaše predplatné bolo úspešne upgradované. Existujúci licenčný kľúč bol aktualizovaný.", + "stripeNotConfigured": "Stripe nie je nastavený", + "stripeNotConfiguredMessage": "Integrácia platieb Stripe nie je nastavená. Kontaktujte svojho administrátora.", + "monthly": "Mesačne", + "yearly": "Ročne", + "billingPeriod": "Fakturačné obdobie", + "enterpriseNote": "Miesta možno upraviť v pokladni (1-1000).", + "installationId": "ID inštalácie", + "licenseKey": "Váš licenčný kľúč", + "licenseInstructions": "Toto bolo pridané do vašej inštalácie. Kópiu dostanete aj emailom.", + "canCloseWindow": "Teraz môžete toto okno zavrieť.", + "licenseKeyProcessing": "Spracovanie licenčného kľúča", + "licenseDelayedMessage": "Váš licenčný kľúč sa generuje. Čoskoro si skontrolujte email alebo kontaktujte podporu.", + "perYear": "/rok", + "perMonth": "/mesiac", + "emailInvalid": "Zadajte platnú emailovú adresu", + "emailStage": { + "title": "Zadajte svoj email", + "description": "Použijeme ho na odoslanie licenčného kľúča a potvrdeniek.", + "emailLabel": "Emailová adresa", + "emailPlaceholder": "your@email.com", + "continue": "Pokračovať", + "modalTitle": "Začíname - {{planName}}" + }, + "planStage": { + "title": "Vyberte fakturačné obdobie", + "savingsNote": "Ušetrite {{percent}}% s ročnou fakturáciou", + "basePrice": "Základná cena", + "seatPrice": "Za miesto", + "totalForSeats": "Spolu ({{count}} miest)", + "selectMonthly": "Vybrať mesačne", + "selectYearly": "Vybrať ročne", + "savePercent": "Ušetriť {{percent}}%", + "savingsAmount": "Ušetríte {{amount}}", + "modalTitle": "Vyberte fakturačné obdobie - {{planName}}", + "billedYearly": "Fakturované ročne {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Späť na výber plánu", + "selectedPlan": "Vybraný plán", + "modalTitle": "Dokončiť platbu - {{planName}}" + } }, "firstLogin": { "title": "Prvé prihlásenie", @@ -5260,8 +5734,8 @@ } }, "showing": { - "top10": "Top 10", - "top20": "Top 20", + "top10": "Zobrazuje sa Top 10", + "top20": "Zobrazuje sa Top 20", "all": "Všetko" }, "stats": { @@ -5287,5 +5761,281 @@ "offline": "Backend je offline", "starting": "Backend sa spúšťa...", "wait": "Počkajte, kým sa backend úplne spustí, a skúste to znova." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Odomknite PDF na pokračovanie", + "title": "Odstráňte heslo na pokračovanie", + "description": "Toto PDF je chránené heslom. Zadajte heslo, aby ste mohli pokračovať v práci.", + "password": { + "label": "Heslo PDF", + "placeholder": "Zadajte heslo pre PDF" + }, + "skip": "Preskočiť zatiaľ", + "unlock": "Odomknúť a pokračovať", + "incorrectPassword": "Nesprávne heslo", + "missingFile": "Vybraný súbor už nie je dostupný.", + "emptyResponse": "Odstránenie hesla nevytvorilo súbor.", + "required": "Zadajte heslo na pokračovanie.", + "successTitle": "Heslo odstránené", + "successBodyWithName": "Heslo odstránené zo súboru {{fileName}}", + "successBody": "Heslo bolo úspešne odstránené." + }, + "setup": { + "welcome": "Vitajte v Stirling PDF", + "description": "Začnite výberom spôsobu používania Stirling PDF", + "step1": { + "label": "Zvoliť režim", + "description": "Offline alebo Server" + }, + "step2": { + "label": "Vybrať server", + "description": "Self-hostovaný server" + }, + "step3": { + "label": "Prihlásenie", + "description": "Zadajte prihlasovacie údaje" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Prihláste sa pomocou účtu Stirling" + }, + "selfhosted": { + "title": "Self-hostovaný server", + "description": "Pripojte sa k svojmu vlastnému serveru Stirling PDF" + } + }, + "saas": { + "title": "Prihláste sa do Stirling", + "subtitle": "Prihláste sa pomocou svojho účtu Stirling" + }, + "selfhosted": { + "title": "Prihlásiť sa na server", + "subtitle": "Zadajte prihlasovacie údaje k serveru" + }, + "server": { + "title": "Pripojiť sa na server", + "subtitle": "Zadajte URL svojho self-hostovaného servera", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Self-hostovaný server" + }, + "url": { + "label": "URL servera", + "description": "Zadajte úplnú URL svojho self-hostovaného servera Stirling PDF" + }, + "error": { + "emptyUrl": "Zadajte URL servera", + "unreachable": "Nedá sa pripojiť k serveru", + "testFailed": "Test pripojenia zlyhal" + }, + "testing": "Testuje sa pripojenie..." + }, + "login": { + "title": "Prihlásiť sa", + "subtitle": "Zadajte svoje údaje na pokračovanie", + "connectingTo": "Pripája sa k:", + "username": { + "label": "Používateľské meno", + "placeholder": "Zadajte používateľské meno" + }, + "email": { + "label": "Email", + "placeholder": "Zadajte svoj email" + }, + "password": { + "label": "Heslo", + "placeholder": "Zadajte svoje heslo" + }, + "error": { + "emptyUsername": "Prosím, zadajte svoje používateľské meno", + "emptyEmail": "Prosím, zadajte svoj email", + "emptyPassword": "Prosím, zadajte svoje heslo", + "oauthFailed": "Prihlásenie cez OAuth zlyhalo. Skúste znova." + }, + "submit": "Prihlásiť sa", + "signInWith": "Prihlásiť sa cez", + "oauthPending": "Otvára sa prehliadač na overenie...", + "orContinueWith": "Alebo pokračujte emailom" + } + }, + "oauth": { + "success": { + "title": "Overenie úspešné", + "message": "Môžete zavrieť toto okno a vrátiť sa do Stirling PDF." + }, + "error": { + "title": "Overenie zlyhalo", + "message": "Overenie nebolo úspešné. Môžete zavrieť toto okno a skúsiť znova." + } + }, + "pdfTextEditor": { + "title": "Editor JSON pre PDF", + "viewLabel": "Editor PDF", + "converting": "Prevádza sa PDF na upraviteľný formát...", + "conversionFailed": "Konverzia PDF zlyhala. Skúste znova.", + "currentFile": "Aktuálny súbor: {{name}}", + "pageSummary": "Strana {{number}} z {{total}}", + "pagePreviewAlt": "Náhľad strany", + "imageLabel": "Umiestnený obrázok", + "noTextOnPage": "Na tejto strane sa nenašiel žiadny upraviteľný text.", + "pageType": { + "paragraph": "Strana s odsekmi", + "sparse": "Riedky text" + }, + "groupingMode": { + "auto": "Auto", + "paragraph": "Odsek", + "singleLine": "Jeden riadok" + }, + "badges": { + "unsaved": "Upravené", + "modified": "Upravené", + "earlyAccess": "Skorý prístup" + }, + "actions": { + "reset": "Resetovať zmeny", + "downloadJson": "Stiahnuť JSON", + "generatePdf": "Vygenerovať PDF" + }, + "options": { + "autoScaleText": { + "title": "Automaticky prispôsobiť text do boxov", + "description": "Automaticky horizontálne škáluje text, aby sa zmestil do pôvodného ohraničujúceho boxu, keď sa vykresľovanie písma líši od PDF." + }, + "groupingMode": { + "title": "Režim zoskupovania textu", + "autoDescription": "Automaticky rozpozná typ strany a vhodne zoskupí text.", + "paragraphDescription": "Zarovnané riadky zoskupí do viacriadkových odsekových textových boxov.", + "singleLineDescription": "Každý riadok textu PDF ponechá ako samostatný textový box." + }, + "manualGrouping": { + "descriptionInline": "Tip: Podržte Ctrl (Cmd) alebo Shift na viacnásobný výber textových boxov. Nad výberom sa zobrazí plávajúci panel nástrojov, kde môžete zlúčiť, zrušiť zoskupenie alebo upraviť šírky." + }, + "forceSingleElement": { + "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." + } + }, + "manual": { + "mergeTooltip": "Zlúčiť vybrané boxy", + "merge": "Zlúčiť výber", + "ungroupTooltip": "Rozdeliť odsek späť na riadky", + "ungroup": "Zrušiť zoskupenie výberu", + "widthMenu": "Možnosti šírky", + "expandWidth": "Rozšíriť po okraj stránky", + "resetWidth": "Resetovať šírku", + "resizeHandle": "Upraviť šírku textu" + }, + "disclaimer": { + "heading": "Obmedzenia náhľadu", + "textFocus": "Toto pracovné prostredie sa zameriava na úpravu textu a presúvanie vložených obrázkov. Zložitá grafika stránky, formulárové widgety a vrstvená grafika sa zachovajú pri exporte, ale tu nie sú plne upraviteľné.", + "previewVariance": "Niektoré vizuály (ako okraje tabuliek, tvary alebo vzhľady anotácií) sa nemusia v náhľade zobraziť presne. Exportované PDF si, kde je to možné, ponechá pôvodné kresliace príkazy.", + "alpha": "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 prosím skontrolujte vygenerované PDF." + }, + "empty": { + "title": "Žiadny dokument nie je načítaný", + "subtitle": "Načítajte súbor PDF alebo JSON a začnite upravovať textový obsah." + }, + "welcomeBanner": { + "title": "Vitajte v PDF Text Editore (Early Access)", + "experimental": "Toto je experimentálna funkcia v aktívnom vývoji. Počas používania očakávajte určitú nestabilitu a problémy.", + "howItWorks": "Tento nástroj konvertuje váš PDF do editovateľného formátu, kde môžete upravovať text a presúvať obrázky. Zmeny sa uložia späť ako nové PDF.", + "bestFor": "Najlepšie pre:", + "bestFor1": "Jednoduché PDF s prevažne textom a obrázkami", + "bestFor2": "Dokumenty so štandardným formátovaním odsekov", + "bestFor3": "Listy, eseje, správy a základné dokumenty", + "notIdealFor": "Nie je ideálne pre:", + "notIdealFor1": "PDF so špeciálnym formátovaním ako odrážky, tabuľky alebo viacstĺpcové rozloženia", + "notIdealFor2": "Magazíny, brožúry alebo graficky náročné dokumenty", + "notIdealFor3": "Návody s komplexným rozložením", + "limitations": "Aktuálne obmedzenia:", + "limitation1": "Vykresľovanie písma sa môže mierne líšiť od pôvodného PDF", + "limitation2": "Zložitá grafika, formuláre a anotácie sa zachovajú, ale nie sú upraviteľné", + "limitation3": "Veľké súbory môžu trvať dlhšie na konverziu a spracovanie", + "knownIssues": "Známe problémy (opravujeme):", + "issue1": "Farba textu sa zatiaľ nezachováva (čoskoro pribudne)", + "issue2": "Režim odseku má viac problémov so zarovnaním a rozostupmi – odporúčaný je režim Jednotlivý riadok", + "issue3": "Zobrazenie v náhľade sa líši od exportovaného PDF – exportované PDF je bližšie originálu", + "issue4": "Zarovnanie otočeného textu môže vyžadovať ručné doladenie", + "issue5": "Efekty priehľadnosti a vrstvenia sa môžu líšiť od originálu", + "feedback": "Toto je funkcia v skorom prístupe. Prosím, nahláste akékoľvek problémy, aby ste nám pomohli zlepšiť sa!", + "gotIt": "Rozumiem", + "dontShowAgain": "Nezobrazovať znova" + }, + "modeChange": { + "title": "Potvrdiť zmenu režimu", + "warning": "Zmena režimu zoskupovania textu resetuje všetky neuložené zmeny. Naozaj chcete pokračovať?", + "cancel": "Zrušiť", + "confirm": "Resetovať a zmeniť režim" + }, + "fontAnalysis": { + "details": "Podrobnosti o písme", + "embedded": "Vložené", + "type": "Typ", + "webFormat": "Webový formát", + "warnings": "Upozornenia", + "suggestions": "Poznámky", + "currentPageFonts": "Písma na tejto strane", + "allFonts": "Všetky písma", + "fallback": "náhradné", + "missing": "chýba", + "perfectMessage": "Všetky písma možno reprodukovať dokonale.", + "warningMessage": "Niektoré písma sa nemusia vykresliť správne.", + "infoMessage": "K dispozícii sú informácie o reprodukcii písiem.", + "perfect": "dokonalé", + "subset": "podmnožina" + }, + "errors": { + "invalidJson": "Nedá sa prečítať súbor JSON. Uistite sa, že bol vytvorený nástrojom PDF to JSON.", + "pdfConversion": "Nedá sa skonvertovať upravený JSON späť na PDF." + } + }, + "auth": { + "sessionExpired": "Relácia vypršala", + "pleaseLoginAgain": "Prosím, prihláste sa znova.", + "accessDenied": "Prístup zamietnutý", + "insufficientPermissions": "Nemáte oprávnenie vykonať túto akciu." + }, + "addText": { + "title": "Pridať text", + "header": "Pridať text do PDF", + "text": { + "name": "Textový obsah", + "placeholder": "Zadajte text, ktorý chcete pridať", + "fontLabel": "Písmo", + "fontSizeLabel": "Veľkosť písma", + "fontSizePlaceholder": "Zadajte alebo vyberte veľkosť písma (8-200)", + "colorLabel": "Farba textu" + }, + "steps": { + "configure": "Nastaviť text" + }, + "step": { + "createDesc": "Zadajte text, ktorý chcete pridať", + "place": "Umiestniť text", + "placeDesc": "Kliknite na PDF a pridajte text" + }, + "instructions": { + "title": "Ako pridať text", + "text": "Po zadaní textu vyššie kliknite kdekoľvek na PDF, aby ste ho umiestnili.", + "paused": "Umiestňovanie pozastavené", + "resumeHint": "Pokračujte v umiestňovaní, aby ste mohli kliknúť a pridať text.", + "noSignature": "Zadajte text vyššie, aby bolo možné umiestňovanie." + }, + "mode": { + "move": "Presunúť text", + "place": "Umiestniť text", + "pause": "Pozastaviť umiestňovanie", + "resume": "Pokračovať v umiestňovaní" + }, + "results": { + "title": "Výsledky pridania textu" + }, + "error": { + "failed": "Pri pridávaní textu do PDF sa vyskytla chyba." + }, + "tags": "text,anotácia,štítok", + "applySignatures": "Použiť text" } } \ No newline at end of file diff --git a/frontend/public/locales/sl-SI/translation.json b/frontend/public/locales/sl-SI/translation.json index d6702e438..36594ecd8 100644 --- a/frontend/public/locales/sl-SI/translation.json +++ b/frontend/public/locales/sl-SI/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Kmalu na voljo:", "favorite": "Dodaj med priljubljene", "favorites": "Priljubljene", + "unavailable": "Onemogočeno s strani skrbnika strežnika:", + "unavailableDependency": "Ni na voljo – na strežniku manjka zahtevano orodje:", "heading": "Vsa orodja (celozaslonski pogled)", "noResults": "Poskusite prilagoditi iskanje ali preklopiti opise, da najdete, kar potrebujete.", "recommended": "Priporočeno", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Preklopi na celozaslonski način", "sidebar": "Preklopi na način stranske vrstice" - } + }, + "alpha": "Alfa", + "premiumFeature": "Premium funkcija:", + "comingSoon": "Kmalu na voljo:" }, "unsavedChanges": "Imate neshranjene spremembe v vašem PDF.", "areYouSure": "Ali ste prepričani, da želite oditi?", @@ -41,6 +46,30 @@ "cancel": "Prekliči", "confirm": "Razpakiraj" }, + "defaultApp": { + "title": "Nastavi kot privzeto aplikacijo za PDF", + "message": "Želite nastaviti Stirling PDF kot privzeti urejevalnik PDF?", + "description": "To lahko kasneje spremenite v sistemskih nastavitvah.", + "notNow": "Ne zdaj", + "setDefault": "Nastavi kot privzeto", + "dismiss": "Zapri", + "prompt": { + "title": "Nastavi kot privzeti urejevalnik PDF", + "message": "Nastavite Stirling PDF kot privzeto aplikacijo za odpiranje datotek PDF." + }, + "success": { + "title": "Privzeta aplikacija nastavljena", + "message": "Stirling PDF je zdaj vaš privzeti urejevalnik PDF" + }, + "settingsOpened": { + "title": "Nastavitve odprte", + "message": "V sistemskih nastavitvah izberite Stirling PDF" + }, + "error": { + "title": "Napaka", + "message": "Privzetega upravljalnika PDF ni bilo mogoče nastaviti" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Shrani", "saveToBrowser": "Shrani v brskalnik", "download": "Prenos", + "downloadUnavailable": "Prenos za ta element ni na voljo", + "saveUnavailable": "Shranjevanje za ta element ni na voljo", "pin": "Pripni datoteko (ostane aktivna po zagonu orodja)", "unpin": "Odpni datoteko (zamenjaj po zagonu orodja)", "undoOperationTooltip": "Kliknite za razveljavitev zadnje operacije in obnovitev izvirnih datotek", @@ -168,6 +199,7 @@ }, "edit": "Uredi", "delete": "Izbriši", + "never": "Nikoli", "username": "Uporabniško ime", "password": "Geslo", "welcome": "Dobrodošli", @@ -262,7 +294,8 @@ "learnMore": "Izvedite več", "enable": "Omogoči analitiko", "disable": "Onemogoči analitiko", - "settings": "Nastavitve za analitiko lahko spremenite v datoteki config/settings.yml" + "settings": "Nastavitve za analitiko lahko spremenite v datoteki config/settings.yml", + "privacyAssurance": "Ne spremljamo osebnih podatkov ali vsebine vaših datotek." }, "navbar": { "favorite": "Priljubljene", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Nastavitve", - "update": "Na voljo je posodobitev", - "updateAvailable": "{0} je trenutno nameščena različica. Na voljo je nova različica ({1}).", - "appVersion": "Različica aplikacije:", - "downloadOption": { - "title": "Izberi možnost prenosa (za prenose ene datoteke brez zip):", - "1": "Odpri v istem oknu", - "2": "Odpri v novem oknu", - "3": "Prenesi datoteko" - }, - "zipThreshold": "Zip datoteke, ko preseže število prenesenih datotek", - "signOut": "Odjava", - "accountSettings": "Nastavitve računa", - "bored": { - "help": "Omogoči igro velikonočnih jajc" - }, - "cacheInputs": { - "name": "Shrani vnose obrazca", - "help": "Omogoči shranjevanje predhodno uporabljenih vnosov za prihodnje zagone" + "connection": { + "title": "Način povezave", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Samogostovano" + }, + "server": "Strežnik", + "user": "Prijavljeni kot", + "logout": "Odjava" }, "general": { "title": "Splošno", "description": "Konfigurirajte splošne nastavitve aplikacije.", - "account": "Račun", - "accountDescription": "Upravljajte nastavitve računa", "user": "Uporabnik", - "signedInAs": "Prijavljeni kot", "logout": "Odjava", "enableFeatures": { + "dismiss": "Opusti", "title": "Za skrbnike sistema", "intro": "Omogočite preverjanje pristnosti uporabnikov, upravljanje ekip in funkcije delovnega prostora za vašo organizacijo.", "action": "Nastavi", "and": "in", "benefit": "Omogoča uporabniške vloge, timsko sodelovanje, skrbniške kontrole in funkcije za podjetja.", - "learnMore": "Več v dokumentaciji", - "dismiss": "Opusti" + "learnMore": "Več v dokumentaciji" }, - "autoUnzip": "Samodejno razpakiranje odgovorov API", - "autoUnzipDescription": "Samodejno razpakiraj datoteke iz ZIP odgovorov", - "autoUnzipTooltip": "Samodejno razpakira ZIP datoteke, vrnjene iz operacij API. Onemogočite, da ohranite ZIP datoteke nedotaknjene. To ne vpliva na avtomatizirane poteke.", - "autoUnzipFileLimit": "Omejitev samodejnega razpakiranja datotek", - "autoUnzipFileLimitDescription": "Največje število datotek za razpakiranje iz ZIP", - "autoUnzipFileLimitTooltip": "Razpakiraj samo, če ZIP vsebuje toliko ali manj datotek. Nastavite višje za razpakiranje večjih ZIP-ov.", "defaultToolPickerMode": "Privzeti način izbirnika orodij", "defaultToolPickerModeDescription": "Izberite, ali se izbirnik orodij privzeto odpre v celozaslonskem ali stranskem načinu", "mode": { - "fullscreen": "Celozaslonski", - "sidebar": "Stranska vrstica" - } + "sidebar": "Stranska vrstica", + "fullscreen": "Celozaslonski" + }, + "autoUnzipTooltip": "Samodejno razpakira ZIP datoteke, vrnjene iz operacij API. Onemogočite, da ohranite ZIP datoteke nedotaknjene. To ne vpliva na avtomatizirane poteke.", + "autoUnzip": "Samodejno razpakiranje odgovorov API", + "autoUnzipDescription": "Samodejno razpakiraj datoteke iz ZIP odgovorov", + "autoUnzipFileLimitTooltip": "Razpakiraj samo, če ZIP vsebuje toliko ali manj datotek. Nastavite višje za razpakiranje večjih ZIP-ov.", + "autoUnzipFileLimit": "Omejitev samodejnega razpakiranja datotek", + "autoUnzipFileLimitDescription": "Največje število datotek za razpakiranje iz ZIP", + "defaultPdfEditor": "Privzeti urejevalnik PDF", + "defaultPdfEditorActive": "Stirling PDF je vaš privzeti urejevalnik PDF", + "defaultPdfEditorInactive": "Druga aplikacija je nastavljena kot privzeta", + "defaultPdfEditorChecking": "Preverjanje...", + "defaultPdfEditorSet": "Že privzeto", + "setAsDefault": "Nastavi kot privzeto", + "updates": { + "title": "Posodobitve programske opreme", + "description": "Preverite posodobitve in glejte informacije o različici", + "currentVersion": "Trenutna različica", + "latestVersion": "Najnovejša različica", + "checkForUpdates": "Preveri posodobitve", + "viewDetails": "Poglej podrobnosti" + }, + "hideUnavailableTools": "Skrij nedosegljiva orodja", + "hideUnavailableToolsDescription": "Odstrani orodja, ki jih je strežnik onemogočil, namesto da so zasivljena.", + "hideUnavailableConversions": "Skrij nedosegljive pretvorbe", + "hideUnavailableConversionsDescription": "Odstrani onemogočene možnosti pretvorbe v orodju Pretvori, namesto da so zasivljene." }, "hotkeys": { - "title": "Bližnjice na tipkovnici", - "description": "Z miško pojdite nad orodje, da vidite njegovo bližnjico, ali jo spodaj prilagodite. Kliknite \"Spremeni bližnjico\" in pritisnite novo kombinacijo tipk. Pritisnite Esc za preklic.", - "errorModifier": { - "mac": "Vključite ⌘ (Command), ⌥ (Option) ali drug modifikator v vaši bližnjici.", - "windows": "Vključite Ctrl, Alt ali drug modifikator v vaši bližnjici." - }, "errorConflict": "Bližnjica je že v uporabi pri {{tool}}.", + "searchPlaceholder": "Išči orodja...", "none": "Ni določeno", "customBadge": "Po meri", "defaultLabel": "Privzeto: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Spremeni bližnjico", "reset": "Ponastavi", "shortcut": "Bližnjica", - "noShortcut": "Bližnjica ni nastavljena", - "searchPlaceholder": "Išči orodja..." + "noShortcut": "Bližnjica ni nastavljena" } }, + "update": { + "modalTitle": "Na voljo je posodobitev", + "current": "Trenutna različica", + "latest": "Najnovejša različica", + "latestStable": "Najnovejša stabilna", + "priorityLabel": "Prednost", + "recommendedAction": "Priporočeno dejanje", + "breakingChangesDetected": "Zaznane prelomne spremembe", + "breakingChangesMessage": "Nekatere različice vsebujejo prelomne spremembe. Pred posodobitvijo preglejte spodnje vodiče za migracijo.", + "migrationGuides": "Vodiči za migracijo", + "viewGuide": "Poglej vodič", + "loadingDetailedInfo": "Nalaganje podrobnih informacij...", + "close": "Zapri", + "viewAllReleases": "Poglej vse izdaje", + "downloadLatest": "Prenesi najnovejše", + "availableUpdates": "Razpoložljive posodobitve", + "unableToLoadDetails": "Podrobnih informacij ni mogoče naložiti.", + "version": "Različica", + "urgentUpdateAvailable": "Nujna posodobitev", + "updateAvailable": "Na voljo je posodobitev", + "releaseNotes": "Opombe ob izdaji", + "priority": { + "urgent": "Nujno", + "normal": "Običajno", + "minor": "Manjše", + "low": "Nizka" + }, + "breakingChanges": "Prelomne spremembe", + "breakingChangesDefault": "Ta različica vsebuje prelomne spremembe.", + "migrationGuide": "Vodič za migracijo" + }, "changeCreds": { "title": "Spremeni poverilnice", "header": "Posodobite podrobnosti svojega računa", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Prekriva PDF-je na vrhu drugega PDF-ja", "title": "Prekrivanje PDF-jev" + }, + "pdfTextEditor": { + "title": "Urejevalnik besedila PDF", + "desc": "Pregledujte in urejajte Stirling PDF JSON izvoze z urejanjem združenega besedila in ponovnim ustvarjanjem PDF" + }, + "addText": { + "tags": "besedilo,pripomba,oznaka", + "title": "Dodaj besedilo", + "desc": "Dodajte poljubno besedilo kjer koli v svoj PDF" } }, "landing": { "addFiles": "Dodaj datoteke", - "uploadFromComputer": "Naloži z računalnika" + "uploadFromComputer": "Naloži z računalnika", + "openFromComputer": "Odpri iz računalnika" }, "viewPdf": { "tags": "ogled, branje, opomba, besedilo, slika", @@ -849,6 +922,11 @@ }, "error": { "failed": "Pri združevanju PDF-jev je prišlo do napake." + }, + "tooltip": { + "header": { + "title": "Pregled nastavitev združevanja" + } } }, "split": { @@ -1182,9 +1260,43 @@ "tags": "img,jpg,slika,fotografija", "title": "Dodaj sliko", "header": "Dodaj sliko v PDF", - "everyPage": "Vsaka stran?", - "upload": "Dodaj sliko", - "submit": "Dodaj sliko" + "image": { + "name": "Slika", + "placeholder": "Naložite sliko", + "label": "Slikovna datoteka" + }, + "steps": { + "configure": "Nastavi sliko" + }, + "step": { + "createDesc": "Naložite sliko, ki jo želite dodati", + "place": "Postavi sliko", + "placeDesc": "Kliknite na PDF, da dodate svojo sliko" + }, + "instructions": { + "title": "Kako dodati slike", + "text": "Ko zgoraj naložite sliko, kliknite kjer koli na PDF-ju, da jo postavite.", + "paused": "Postavljanje začasno ustavljeno", + "resumeHint": "Nadaljujte postavljanje, da kliknete in dodate sliko.", + "noSignature": "Zgoraj naložite sliko, da omogočite postavljanje." + }, + "mode": { + "move": "Premakni sliko", + "place": "Postavi sliko", + "pause": "Začasno ustavi postavljanje", + "resume": "Nadaljuj postavljanje" + }, + "results": { + "title": "Rezultati dodajanja slike" + }, + "error": { + "failed": "Pri dodajanju slike v PDF je prišlo do napake." + }, + "saved": { + "defaultLabel": "Slika", + "defaultImageLabel": "Naložena slika" + }, + "applySignatures": "Uporabi slike" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1200,7 +1312,7 @@ "desc": "Dodajte besedilne ali slikovne vodne žige v PDF datoteke", "completed": "Vodni žig dodan", "submit": "Dodaj vodni žig", - "filenamePrefix": "watermarked", + "filenamePrefix": "z_vodnim_žigom", "error": { "failed": "Pri dodajanju vodnega žiga v PDF je prišlo do napake." }, @@ -1397,6 +1509,93 @@ }, "submit": "Spremeni" }, + "editTableOfContents": { + "settings": { + "title": "Zaznamki in oris", + "replaceExisting": "Zamenjaj obstoječe zaznamke (odkljukajte za dodajanje)", + "replaceExistingHint": "Ko je onemogočeno, se nov oris doda za trenutnimi zaznamki." + }, + "actions": { + "source": "Naloži zaznamke", + "selectedFile": "Naloženo iz {{file}}", + "noFile": "Izberite PDF za izvlek obstoječih zaznamkov.", + "loadFromPdf": "Naloži iz izbranega PDF", + "importJson": "Uvozi JSON", + "importClipboard": "Prilepi JSON iz odložišča", + "export": "Izvozi zaznamke", + "exportJson": "Prenesi JSON", + "exportClipboard": "Kopiraj JSON v odložišče", + "clipboardUnavailable": "Dostop do odložišča v tem brskalniku ni na voljo." + }, + "info": { + "line1": "Vsak zaznamek potrebuje opisni naslov in stran, ki naj se odpre.", + "line2": "Uporabite podzaznamke za gradnjo hierarhije poglavij, razdelkov ali podrazdelkov.", + "line3": "Uvozite zaznamke iz izbranega PDF ali JSON datoteke za prihranek časa." + }, + "workbench": { + "empty": { + "title": "Odprite orodje za začetek urejanja", + "description": "Izberite orodje Uredi kazalo za nalaganje delovnega prostora." + }, + "tabTitle": "Delovni prostor orisa", + "subtitle": "Uvažajte zaznamke, gradite hierarhije in uporabite oris brez utesnjenih stranskih plošč.", + "noFile": "PDF ni izbran", + "fileLabel": "Spremembe bodo uporabljene na trenutno izbranem PDF-ju.", + "filePrompt": "Izberite PDF iz knjižnice ali naložite novega za začetek.", + "changeFile": "Zamenjaj PDF", + "selectFile": "Izberi PDF" + }, + "editor": { + "heading": "Urejevalnik zaznamkov", + "description": "Dodajajte, ugnezdujte in preurejajte zaznamke za oblikovanje orisa PDF-ja.", + "addTopLevel": "Dodaj zaznamek na najvišji ravni", + "empty": { + "title": "Še ni zaznamkov", + "description": "Uvozite obstoječe zaznamke ali začnite z dodajanjem prvega vnosa.", + "action": "Dodaj prvi zaznamek" + }, + "defaultTitle": "Nov zaznamek", + "defaultChildTitle": "Podzaznamek", + "defaultSiblingTitle": "Nov zaznamek", + "untitled": "Neimenovan zaznamek", + "childBadge": "Podrejen", + "pagePreview": "Stran {{page}}", + "field": { + "title": "Naslov zaznamka", + "page": "Ciljna številka strani" + }, + "actions": { + "toggle": "Preklopi podrejene", + "addChild": "Dodaj podzaznamek", + "addSibling": "Dodaj vzporedni zaznamek", + "remove": "Odstrani zaznamek" + }, + "confirmRemove": "Odstranim ta zaznamek in vse njegove podrejene?" + }, + "messages": { + "loadedTitle": "Zaznamki izvlečeni", + "loadedBody": "Obstoječi zaznamki iz PDF-ja so bili naloženi v urejevalnik.", + "noBookmarks": "V izbranem PDF-ju ni zaznamkov.", + "loadFailed": "Z izbranega PDF-ja ni bilo mogoče izvleči zaznamkov.", + "imported": "Zaznamki uvoženi", + "importedBody": "Vaš JSON oris je zamenjal trenutno vsebino urejevalnika.", + "importedClipboard": "Podatki iz odložišča so zamenjali trenutni seznam zaznamkov.", + "invalidJson": "Neveljavna struktura JSON", + "invalidJsonBody": "Navedite veljavno JSON datoteko zaznamkov in poskusite znova.", + "exported": "Prenos JSON je pripravljen", + "copied": "Kopirano v odložišče", + "copiedBody": "JSON zaznamkov je bil uspešno kopiran.", + "copyFailed": "Kopiranje ni uspelo" + }, + "error": { + "failed": "Kazala ni bilo mogoče posodobiti" + }, + "submit": "Uveljavi kazalo", + "results": { + "title": "Posodobljen PDF z zaznamki", + "subtitle": "Prenesite obdelano datoteko ali spodaj razveljavite operacijo." + } + }, "removePages": { "tags": "Odstrani strani, izbriši strani", "title": "Odstrani", @@ -1978,13 +2177,54 @@ "title": "Narišite svoj podpis", "clear": "Počisti" }, + "canvas": { + "heading": "Narišite svoj podpis", + "clickToOpen": "Kliknite za odprtje platna za risanje", + "modalTitle": "Narišite svoj podpis", + "colorLabel": "Barva", + "penSizeLabel": "Debelina peresa", + "penSizePlaceholder": "Velikost", + "clear": "Počisti platno", + "colorPickerTitle": "Izberite barvo poteze" + }, "text": { "name": "Ime podpisnika", - "placeholder": "Vnesite svoje polno ime" + "placeholder": "Vnesite svoje polno ime", + "fontLabel": "Pisava", + "fontSizeLabel": "Velikost pisave", + "fontSizePlaceholder": "Vpišite ali izberite velikost pisave (8–200)", + "colorLabel": "Barva besedila" }, "clear": "Počisti", "add": "Dodaj", - "saved": "Shranjeni podpisi", + "saved": { + "heading": "Shranjeni podpisi", + "description": "Shranjene podpise lahko znova uporabite kadar koli.", + "emptyTitle": "Ni še shranjenih podpisov", + "emptyDescription": "Zgoraj narišite, naložite ali vpišite podpis, nato uporabite »Shrani v knjižnico«, da hranite do {{max}} priljubljenih pripravljenih za uporabo.", + "type": { + "canvas": "Risba", + "image": "Naloženo", + "text": "Besedilo" + }, + "limitTitle": "Dosežena omejitev", + "limitDescription": "Odstranite shranjen podpis pred dodajanjem novih (največ {{max}}).", + "carouselPosition": "{{current}} od {{total}}", + "prev": "Prejšnji", + "next": "Naslednji", + "delete": "Odstrani", + "label": "Oznaka", + "defaultLabel": "Podpis", + "defaultCanvasLabel": "Narisan podpis", + "defaultImageLabel": "Naložen podpis", + "defaultTextLabel": "Vpisan podpis", + "saveButton": "Shrani podpis", + "saveUnavailable": "Najprej ustvarite podpis, da ga lahko shranite.", + "noChanges": "Trenutni podpis je že shranjen.", + "status": { + "saved": "Shranjeno" + } + }, "save": "Shrani podpis", "applySignatures": "Uporabi podpise", "personalSigs": "Osebni podpisi", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Nastavitev podpisa" }, + "step": { + "createDesc": "Izberite, kako želite ustvariti podpis", + "place": "Postavi in shrani", + "placeDesc": "Postavite podpis na svoj PDF" + }, "type": { "title": "Vrsta podpisa", "draw": "Riši", "canvas": "Platno", "image": "Slika", - "text": "Besedilo" + "text": "Besedilo", + "saved": "Shranjeno" }, "image": { "label": "Naložite sliko podpisa", @@ -2019,11 +2265,17 @@ "title": "Kako dodati podpis", "canvas": "Ko narišete svoj podpis na platno, zaprite modalno okno in nato kliknite kjerkoli v PDF, da ga postavite.", "image": "Ko zgoraj naložite sliko podpisa, kliknite kjerkoli v PDF, da jo postavite.", - "text": "Ko zgoraj vnesete svoje ime, kliknite kjerkoli v PDF, da postavite podpis." + "saved": "Zgoraj izberite shranjen podpis, nato kliknite kjer koli na PDF-ju, da ga postavite.", + "text": "Ko zgoraj vnesete svoje ime, kliknite kjerkoli v PDF, da postavite podpis.", + "paused": "Postavljanje začasno ustavljeno", + "resumeHint": "Nadaljujte postavljanje, da kliknete in dodate svoj podpis.", + "noSignature": "Ustvarite podpis zgoraj, da omogočite orodja za postavljanje." }, "mode": { "move": "Premakni podpis", - "place": "Postavi podpis" + "place": "Postavi podpis", + "pause": "Začasno ustavi postavljanje", + "resume": "Nadaljuj postavljanje" }, "updateAndPlace": "Posodobi in postavi", "activate": "Aktiviraj postavljanje podpisa", @@ -2163,6 +2415,14 @@ "title": "O odstranitvi pripomb", "description": "To orodje bo odstranilo vse pripombe (komentarje, poudarke, opombe itd.) iz vaših dokumentov PDF." }, + "tooltip": { + "header": { + "title": "O odstranitvi pripomb" + }, + "description": { + "title": "Kaj počne" + } + }, "error": { "failed": "Pri odstranjevanju pripomb iz PDF je prišlo do napake." } @@ -2437,7 +2697,7 @@ "selectPDF": "Izberite datoteko PDF:", "submit": "Odstrani podpis", "description": "To orodje bo iz vašega dokumenta PDF odstranilo digitalne podpise potrdil.", - "filenamePrefix": "unsigned", + "filenamePrefix": "nepodpisano", "files": { "placeholder": "Za začetek v glavnem pogledu izberite datoteko PDF" }, @@ -2627,6 +2887,9 @@ "header": { "title": "Kako deluje samodejno preimenovanje" }, + "description": { + "title": "Kaj počne" + }, "howItWorks": { "title": "Pametno preimenovanje", "text": "Samodejno najde naslov iz vsebine vašega PDF-ja in ga uporabi kot ime datoteke.", @@ -2634,6 +2897,9 @@ "bullet2": "Ustvari čisto, veljavno ime datoteke iz zaznanega naslova", "bullet3": "Ohrani izvirno ime, če primernega naslova ne najde" } + }, + "settings": { + "title": "O tem" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "Nepričakovana napaka: {{message}}", "accountCreatedSuccess": "Račun je uspešno ustvarjen! Zdaj se lahko prijavite.", "passwordChangedSuccess": "Geslo je uspešno spremenjeno! Prijavite se z novim geslom.", - "credentialsUpdated": "Vaše poverilnice so posodobljene. Prosimo, prijavite se znova." + "credentialsUpdated": "Vaše poverilnice so posodobljene. Prosimo, prijavite se znova.", + "defaultCredentials": "Privzeti prijavni podatki", + "changePasswordWarning": "Prosimo, po prvi prijavi spremenite geslo", + "slides": { + "overview": { + "alt": "Pregled Stirling PDF", + "title": "Vse na enem mestu za vse vaše potrebe s PDF", + "subtitle": "Paket v oblaku, ki postavlja zasebnost na prvo mesto: pretvarjajte, podpisujte, začrnjajte in upravljajte dokumente ter uporabite več kot 50 drugih zmogljivih orodij." + }, + "edit": { + "alt": "Urejanje PDF-jev", + "title": "Uredite PDF-je za prikaz ali zaščito želenih informacij", + "subtitle": "Z več kot ducatom orodij za začrnjevanje, podpisovanje, branje in obdelavo PDF-jev boste gotovo našli, kar potrebujete." + }, + "secure": { + "alt": "Zavarovanje PDF-jev", + "title": "Zaščitite občutljive podatke v svojih PDF-jih", + "subtitle": "Preprosto dodajte gesla, začrnite vsebino in upravljajte potrdila." + } + } }, "signup": { "title": "Ustvarite račun", @@ -3262,7 +3547,7 @@ "header": "PDF na eno stran", "submit": "Pretvori v eno stran", "description": "To orodje bo vse strani vašega PDF-ja združilo v eno veliko enojno stran. Širina bo ostala enaka kot pri izvirnih straneh, višina pa bo vsota vseh višin strani.", - "filenamePrefix": "single_page", + "filenamePrefix": "ena_stran", "files": { "placeholder": "Za začetek v glavnem pogledu izberite datoteko PDF" }, @@ -3598,7 +3883,9 @@ "exportAll": "Izvozi PDF", "downloadSelected": "Prenesi izbrane datoteke", "downloadAll": "Prenesi vse", + "saveAll": "Shrani vse", "toggleTheme": "Preklopi temo", + "toggleBookmarks": "Preklopi zaznamke", "language": "Jezik", "search": "Išči v PDF", "panMode": "Način premikanja", @@ -3685,8 +3972,16 @@ "saved": "Nastavitve uspešno shranjene", "saveSuccess": "Nastavitve uspešno shranjene", "save": "Shrani spremembe", + "discard": "Zavrzi", "restartRequired": "Potreben je ponovni zagon", "loginRequired": "Za spreminjanje skrbniških nastavitev mora biti omogočen način prijave", + "unsavedChanges": { + "title": "Neshranjene spremembe", + "message": "Imate neshranjene spremembe. Ali jih želite zavreči?", + "cancel": "Nadaljujte z urejanjem", + "discard": "Zavrzite spremembe", + "hint": "Imate neshranjene spremembe" + }, "loginDisabled": { "title": "Zahtevan način prijave", "message": "Za spreminjanje skrbniških nastavitev mora biti omogočen način prijave. Nastavite SECURITY_ENABLELOGIN=true v okolju ali security.enableLogin: true v settings.yml, nato znova zaženite strežnik.", @@ -4132,12 +4427,12 @@ "description": "Najdaljši čas izvajanja" }, "libreOffice": "LibreOffice", - "pdfToHtml": "PDF to HTML", + "pdfToHtml": "PDF v HTML", "qpdf": "QPDF", "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", "weasyPrint": "WeasyPrint", - "installApp": "Install App", + "installApp": "Namesti aplikacijo", "calibre": "Calibre", "ghostscript": "Ghostscript", "ocrMyPdf": "OCRmyPDF" @@ -4212,9 +4507,21 @@ "title": "Premium in Enterprise", "description": "Konfigurirajte svoj ključ licence Premium ali Enterprise.", "license": "Konfiguracija licence", + "licenseKey": { + "toggle": "Imate licenčni ključ ali potrdilno datoteko?", + "info": "Če imate licenčni ključ ali potrdilno datoteko iz neposrednega nakupa, jo lahko vnesete tukaj za aktivacijo premium ali enterprise funkcij." + }, "key": { "label": "Licenčni ključ", - "description": "Vnesite svoj licenčni ključ Premium ali Enterprise" + "description": "Vnesite svoj licenčni ključ Premium ali Enterprise", + "success": "Licenčni ključ shranjen", + "successMessage": "Vaš licenčni ključ je bil uspešno aktiviran. Ponovni zagon ni potreben.", + "overwriteWarning": { + "title": "⚠️ Opozorilo: Zaznana obstoječa licenca", + "line1": "Prepis trenutnega licenčnega ključa ni mogoče razveljaviti.", + "line2": "Prejšnja licenca bo trajno izgubljena, razen če ste jo varnostno kopirali drugje.", + "line3": "Pomembno: Licenčne ključe hranite zasebno in varno. Nikoli jih ne delite javno." + } }, "enabled": { "label": "Omogoči funkcije Premium", @@ -4278,12 +4585,17 @@ "or": "ali", "dropFileHere": "Spustite datoteko sem ali kliknite za nalaganje", "dropFilesHere": "Spustite datoteke sem ali kliknite gumb za nalaganje", + "dropFilesHereOpen": "Spustite datoteke sem ali kliknite gumb Odpri", "pdfFilesOnly": "Samo datoteke PDF", "supportedFileTypes": "Podprte vrste datotek", "upload": "Naloži", "uploadFile": "Naloži datoteko", "uploadFiles": "Naloži datoteke", + "open": "Odpri", + "openFile": "Odpri datoteko", + "openFiles": "Odpri datoteke", "noFilesInStorage": "V shrambi ni datotek. Najprej naložite nekaj datotek.", + "noFilesInStorageOpen": "V shrambi ni datotek. Najprej odprite nekaj datotek.", "selectFromStorage": "Izberi iz shrambe", "backToTools": "Nazaj na orodja", "addFiles": "Dodaj datoteke", @@ -4329,6 +4641,8 @@ "myFiles": "Moje datoteke", "noRecentFiles": "Ni najdenih nedavnih datotek", "googleDriveNotAvailable": "Integracija z Google Drive ni na voljo", + "downloadSelected": "Prenesi izbrano", + "saveSelected": "Shrani izbrano", "openFiles": "Odpri datoteke", "openFile": "Odpri datoteko", "details": "Podrobnosti datoteke", @@ -4341,7 +4655,6 @@ "selectAll": "Izberi vse", "deselectAll": "Prekliči izbor vseh", "deleteSelected": "Izbriši izbrano", - "downloadSelected": "Prenesi izbrano", "selectedCount": "{{count}} izbranih", "download": "Prenos", "delete": "Izbriši", @@ -4621,9 +4934,14 @@ "secureWorkflow": "Varnostni potek dela", "secureWorkflowDesc": "Zavaruje PDF dokumente tako, da odstrani potencialno zlonamerno vsebino, kot sta JavaScript in vdelane datoteke, nato doda zaščito z geslom za preprečitev nepooblaščenega dostopa. Geslo je privzeto nastavljeno na 'password'.", "processImages": "Obdelaj slike", - "processImagesDesc": "Pretvori več slikovnih datotek v en sam PDF dokument, nato uporabi tehnologijo OCR za izvlek iskalnega besedila iz slik." + "processImagesDesc": "Pretvori več slikovnih datotek v en sam PDF dokument, nato uporabi tehnologijo OCR za izvlek iskalnega besedila iz slik.", + "prePublishSanitization": "Čiščenje pred objavo", + "prePublishSanitizationDesc": "Postopek čiščenja, ki odstrani vse skrite metapodatke, JavaScript, vdelane datoteke, pripombe in splošči obrazce, da prepreči uhajanje podatkov pred objavo PDF-jev na spletu." } }, + "colorPicker": { + "title": "Izberite barvo" + }, "common": { "previous": "Prejšnje", "next": "Naslednje", @@ -4639,7 +4957,13 @@ "used": "porabljeno", "available": "na voljo", "cancel": "Prekliči", - "preview": "Predogled" + "preview": "Predogled", + "close": "Zapri", + "done": "Končano", + "loading": "Nalaganje...", + "back": "Nazaj", + "continue": "Nadaljuj", + "error": "Napaka" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Dodaj še datoteke...", "selectedFiles": "Izbrane datoteke", "submit": "Dodaj priloge", + "tooltip": { + "header": { + "title": "O dodajanju prilog" + }, + "description": { + "title": "Kaj počne" + } + }, "results": { "title": "Rezultati prilog" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Poljubni položaj", "details": "Podrobnosti", - "downloadUnavailable": "Prenos za ta element ni na voljo", "invalidUndoData": "Razveljavitev ni mogoča: neveljavni podatki o operaciji", "margin": { "large": "Velika", @@ -4801,6 +5132,10 @@ "maybeLater": "Morda kasneje", "dontShowAgain": "Ne prikazuj več" }, + "welcomeSlide": { + "title": "Dobrodošli v Stirling", + "body": "Stirling PDF je zdaj pripravljen za ekipe vseh velikosti. Ta posodobitev vključuje novo postavitev, zmogljive nove skrbniške zmožnosti in našo najbolj zahtevano funkcijo – Uredi besedilo." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Izberimo orodje Obreži, da pokažemo, kako uporabiti eno izmed orodij.", "toolInterface": "To je vmesnik orodja Obreži. Kot vidite, ni veliko prikazanega, ker še nismo dodali nobenih PDF datotek za delo.", @@ -4823,7 +5158,39 @@ "next": "Naslednje", "finish": "Dokončaj", "startTour": "Začni vodnik", - "startTourDescription": "Opravite voden ogled ključnih funkcij Stirling PDF" + "startTourDescription": "Opravite voden ogled ključnih funkcij Stirling PDF", + "buttons": { + "next": "Naprej →", + "back": "Nazaj", + "skipForNow": "Preskoči za zdaj", + "download": "Prenesi →", + "showMeAround": "Predstavi okolje", + "skipTheTour": "Preskoči ogled" + }, + "serverLicense": { + "skip": "Preskoči za zdaj", + "seePlans": "Poglej načrte →", + "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 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." + }, + "desktopInstall": { + "title": "Prenesi", + "titleWithOs": "Prenesi za {{osLabel}}", + "body": "Stirling najbolje deluje kot namizna aplikacija. Uporabljate ga lahko brez povezave, hitreje dostopate do dokumentov in urejate lokalno na računalniku." + }, + "planOverview": { + "adminTitle": "Pregled skrbnika", + "userTitle": "Pregled načrta", + "adminBodyLoginEnabled": "Kot skrbnik lahko upravljate uporabnike, nastavite možnosti in spremljate stanje strežnika. Prvih {{freeTierLimit}} oseb na vašem strežniku lahko Stirling uporablja brezplačno.", + "adminBodyLoginDisabled": "Ko omogočite način prijave, lahko upravljate uporabnike, nastavite možnosti in spremljate stanje strežnika. Prvih {{freeTierLimit}} oseb na vašem strežniku lahko Stirling uporablja brezplačno.", + "userBody": "Povabite sodelavce, dodelite vloge in ohranite dokumente organizirane v enem varnem delovnem prostoru. Omogočite način prijave, ko ste pripravljeni prerasti samostojno rabo." + }, + "securityCheck": { + "message": "Aplikacija je nedavno doživela pomembne spremembe. Morda bo potrebna pozornost skrbnika strežnika. Za nadaljevanje potrdite svojo vlogo." + } }, "adminOnboarding": { "welcome": "Dobrodošli v skrbniškem vodniku! Raziščimo napredne poslovne funkcije in nastavitve, ki so na voljo sistemskim skrbnikom.", @@ -4852,7 +5219,10 @@ "role": "Vloga", "team": "Skupina", "status": "Stanje", - "actions": "Dejanja", + "actions": { + "label": "Dejanja", + "upgrade": "Nadgradi" + }, "noMembersFound": "Ni najdenih članov", "active": "Aktiven", "disabled": "Onemogočen", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} prostih mest za uporabnike", "noSlotsAvailable": "Ni prostih mest", "currentUsage": "Trenutno uporabljate {{current}} od {{max}} uporabniških licenc" - } + }, + "loginRequired": "Najprej omogočite način prijave" }, "teams": { "title": "Skupine", @@ -5057,6 +5428,17 @@ "showComparison": "Primerjaj vse funkcije", "hideComparison": "Skrij primerjavo funkcij", "featureComparison": "Primerjava funkcij", + "from": "Od", + "perMonth": "/mesec", + "perSeat": "/mesto", + "withServer": "+ Načrt strežnika", + "licensedSeats": "Licencirano: {{count}} mest", + "includedInCurrent": "Vključeno v vaš načrt", + "selectPlan": "Izberi načrt", + "manage": "Upravljaj", + "manageSubscription": { + "description": "Upravljajte naročnino, obračun in načine plačila" + }, "activePlan": { "title": "Aktivni paket", "subtitle": "Podrobnosti vaše trenutne naročnine" @@ -5074,13 +5456,16 @@ "upTo": "Do" }, "period": { - "month": "mesec" + "month": "mesec", + "perUserPerMonth": "/uporabnik/mesec" }, "free": { "name": "Brezplačni", "highlight1": "Omejena uporaba orodij na teden", "highlight2": "Dostop do vseh orodij", - "highlight3": "Skupnostna podpora" + "highlight3": "Skupnostna podpora", + "forever": "Za vedno brezplačno", + "included": "Vključeno" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Cenik po meri", "highlight2": "Namenska podpora", - "highlight3": "Najnovejše funkcije" + "highlight3": "Najnovejše funkcije", + "requiresServer": "Zahteva strežnik", + "requiresServerMessage": "Najprej nadgradite na načrt Server, nato na Enterprise." }, "feature": { "title": "Funkcija", @@ -5102,6 +5489,12 @@ "api": "Dostop do API", "priority": "Prednostna podpora", "customPricing": "Cenik po meri" + }, + "licenseWarning": { + "title": "Dosežena brezplačna omejitev samogostovanja", + "body": "Imate {{total}} uporabnikov, vendar brezplačni nivo podpira le {{limit}} na strežnik. Nadgradite, da bo Stirling PDF deloval nemoteno.", + "overLimit": "več kot {{limit}}", + "cta": "Poglej načrte" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Upravljaj obračunavanje", "portal": { "error": "Ni bilo mogoče odpreti portala za obračunavanje" - } + }, + "updateSeats": "Posodobi mesta", + "updateEnterpriseSeats": "Posodobi mesta Enterprise", + "currentSeats": "Trenutna mesta", + "minimumSeats": "Najmanjše število mest", + "basedOnUsers": "(trenutni uporabniki)", + "newSeatCount": "Novo število mest", + "newSeatCountDescription": "Izberite število mest za svojo licenco Enterprise", + "whatHappensNext": "Kaj sledi?", + "stripePortalRedirect": "Preusmerjeni boste na obračunski portal Stripe, kjer pregledate in potrdite spremembo mest. Sorazmerni znesek bo izračunan samodejno.", + "preparingUpdate": "Priprava posodobitve mest...", + "seatCountTooLow": "Število mest mora biti vsaj {{minimum}} (trenutno število uporabnikov)", + "seatCountUnchanged": "Izberite drugačno število mest", + "seatsUpdated": "Mesta posodobljena", + "seatsUpdatedMessage": "Vaša mesta Enterprise so posodobljena na {{seats}}", + "updateProcessing": "Obdelava posodobitve", + "updateProcessingMessage": "Vaša posodobitev mest se obdeluje. Osvežite čez nekaj trenutkov.", + "notEnterprise": "Upravljanje mest je na voljo le za licence Enterprise" + }, + "upgradeBanner": { + "title": "Nadgradite na načrt Server", + "message": "Izkoristite Stirling PDF z neomejenimi uporabniki in naprednimi funkcijami", + "upgradeButton": "Nadgradi zdaj", + "dismiss": "Skrij pasico", + "attentionTitle": "Ta strežnik potrebuje pozornost skrbnika", + "attentionBody": "Vaš skrbnik se mora prijaviti za več informacij. Prosimo, kontaktirajte ga takoj.", + "attentionBodyAdmin": "Preglejte licenčne zahteve, da bo ta strežnik v skladu.", + "seeInfo": "Poglej informacije" }, "payment": { "preparing": "Pripravljamo vaš nakup...", @@ -5128,7 +5548,61 @@ "success": "Plačilo uspešno!", "successMessage": "Vaša naročnina je bila uspešno aktivirana. Kmalu boste prejeli potrditveno e-pošto.", "autoClose": "To okno se bo samodejno zaprlo...", - "error": "Napaka pri plačilu" + "error": "Napaka pri plačilu", + "upgradeSuccess": "Plačilo uspešno! Vaša naročnina je nadgrajena. Licenca na vašem strežniku je posodobljena. Kmalu boste prejeli potrditveno e-pošto.", + "paymentSuccess": "Plačilo uspešno! Pridobivanje vašega licenčnega ključa...", + "licenseActivated": "Licenca aktivirana! Vaš licenčni ključ je shranjen. Potrditveno e-pošto smo poslali na vaš registriran e-poštni naslov.", + "licenseDelayed": "Plačilo uspešno! Vaša licenca se ustvarja. Kmalu boste prejeli e-pošto z licenčnim ključem. Če je ne prejmete v 10 minutah, kontaktirajte podporo.", + "licensePollingError": "Plačilo uspešno, vendar vašega licenčnega ključa nismo mogli pridobiti samodejno. Preverite e-pošto ali kontaktirajte podporo s potrditvijo plačila.", + "licenseRetrievalError": "Plačilo uspešno, vendar pridobivanje licence ni uspelo. Licenčni ključ boste prejeli po e-pošti. Če ga ne prejmete v 10 minutah, kontaktirajte podporo.", + "syncError": "Plačilo uspešno, vendar sinhronizacija licence ni uspela. Vaša licenca bo kmalu posodobljena. Če težave ostanejo, kontaktirajte podporo.", + "licenseSaveError": "Shranjevanje licenčnega ključa ni uspelo. Kontaktirajte podporo z licenčnim ključem za dokončanje aktivacije.", + "paymentCanceled": "Plačilo je bilo preklicano. Brez bremenitev.", + "syncingLicense": "Sinhronizacija vaše nadgrajene licence...", + "generatingLicense": "Ustvarjanje vašega licenčnega ključa...", + "upgradeComplete": "Nadgradnja zaključena", + "upgradeCompleteMessage": "Vaša naročnina je bila uspešno nadgrajena. Vaš obstoječi licenčni ključ je posodobljen.", + "stripeNotConfigured": "Stripe ni konfiguriran", + "stripeNotConfiguredMessage": "Integracija plačil Stripe ni konfigurirana. Kontaktirajte svojega skrbnika.", + "monthly": "Mesečno", + "yearly": "Letno", + "billingPeriod": "Obračunsko obdobje", + "enterpriseNote": "Število mest lahko prilagodite ob zaključku nakupa (1–1000).", + "installationId": "ID namestitve", + "licenseKey": "Vaš licenčni ključ", + "licenseInstructions": "To je bilo dodano vaši namestitvi. Kopijo boste prejeli tudi po e-pošti.", + "canCloseWindow": "Zdaj lahko zaprete to okno.", + "licenseKeyProcessing": "Obdelava licenčnega ključa", + "licenseDelayedMessage": "Vaš licenčni ključ se ustvarja. Kmalu preverite e-pošto ali kontaktirajte podporo.", + "perYear": "/leto", + "perMonth": "/mesec", + "emailInvalid": "Vnesite veljaven e-poštni naslov", + "emailStage": { + "title": "Vnesite svoj e-poštni naslov", + "description": "Uporabili ga bomo za pošiljanje licenčnega ključa in računov.", + "emailLabel": "E-poštni naslov", + "emailPlaceholder": "your@email.com", + "continue": "Nadaljuj", + "modalTitle": "Začnite – {{planName}}" + }, + "planStage": { + "title": "Izberite obračunsko obdobje", + "savingsNote": "Pri letnem obračunu prihranite {{percent}}%", + "basePrice": "Osnovna cena", + "seatPrice": "Na mesto", + "totalForSeats": "Skupaj ({{count}} mest)", + "selectMonthly": "Izberi mesečno", + "selectYearly": "Izberi letno", + "savePercent": "Prihranite {{percent}}%", + "savingsAmount": "Prihranite {{amount}}", + "modalTitle": "Izberite obračunsko obdobje – {{planName}}", + "billedYearly": "Zaračunano letno po {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Nazaj na izbor načrta", + "selectedPlan": "Izbrani načrt", + "modalTitle": "Zaključite plačilo – {{planName}}" + } }, "firstLogin": { "title": "Prva prijava", @@ -5287,5 +5761,281 @@ "offline": "Zaledje je nedosegljivo", "starting": "Zaledje se zaganja...", "wait": "Počakajte, da se zaledje zažene, nato poskusite znova." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Odklenite PDF za nadaljevanje", + "title": "Odstranite geslo za nadaljevanje", + "description": "Ta PDF je zaščiten z geslom. Vnesite geslo, da lahko nadaljujete z delom.", + "password": { + "label": "Geslo PDF", + "placeholder": "Vnesite geslo za PDF" + }, + "skip": "Preskoči za zdaj", + "unlock": "Odkleni in nadaljuj", + "incorrectPassword": "Napačno geslo", + "missingFile": "Izbrana datoteka ni več na voljo.", + "emptyResponse": "Odstranitev gesla ni ustvarila datoteke.", + "required": "Vnesite geslo za nadaljevanje.", + "successTitle": "Geslo odstranjeno", + "successBodyWithName": "Geslo odstranjeno iz {{fileName}}", + "successBody": "Geslo uspešno odstranjeno." + }, + "setup": { + "welcome": "Dobrodošli v Stirling PDF", + "description": "Začnite z izbiro načina uporabe Stirling PDF", + "step1": { + "label": "Izberite način", + "description": "Brez povezave ali strežnik" + }, + "step2": { + "label": "Izberite strežnik", + "description": "Samogostovani strežnik" + }, + "step3": { + "label": "Prijava", + "description": "Vnesite poverilnice" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Prijavite se s svojim računom Stirling" + }, + "selfhosted": { + "title": "Samogostovani strežnik", + "description": "Povežite se s svojim strežnikom Stirling PDF" + } + }, + "saas": { + "title": "Prijavite se v Stirling", + "subtitle": "Prijavite se s svojim računom Stirling" + }, + "selfhosted": { + "title": "Prijavite se v strežnik", + "subtitle": "Vnesite poverilnice strežnika" + }, + "server": { + "title": "Poveži se s strežnikom", + "subtitle": "Vnesite URL svojega samogostovanega strežnika", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Samogostovani strežnik" + }, + "url": { + "label": "URL strežnika", + "description": "Vnesite celoten URL svojega samogostovanega strežnika Stirling PDF" + }, + "error": { + "emptyUrl": "Vnesite URL strežnika", + "unreachable": "Povezava s strežnikom ni uspela", + "testFailed": "Preizkus povezave ni uspel" + }, + "testing": "Preverjanje povezave..." + }, + "login": { + "title": "Prijava", + "subtitle": "Za nadaljevanje vnesite svoje poverilnice", + "connectingTo": "Povezovanje z:", + "username": { + "label": "Uporabniško ime", + "placeholder": "Vnesite uporabniško ime" + }, + "email": { + "label": "E-pošta", + "placeholder": "Vnesite e-pošto" + }, + "password": { + "label": "Geslo", + "placeholder": "Vnesite geslo" + }, + "error": { + "emptyUsername": "Vnesite uporabniško ime", + "emptyEmail": "Vnesite e-pošto", + "emptyPassword": "Vnesite geslo", + "oauthFailed": "Prijava OAuth ni uspela. Poskusite znova." + }, + "submit": "Prijava", + "signInWith": "Prijavite se z", + "oauthPending": "Odpiranje brskalnika za overjanje...", + "orContinueWith": "Ali nadaljujte z e-pošto" + } + }, + "oauth": { + "success": { + "title": "Overjanje uspešno", + "message": "To okno lahko zaprete in se vrnete v Stirling PDF." + }, + "error": { + "title": "Overjanje ni uspelo", + "message": "Overjanje ni bilo uspešno. Okno lahko zaprete in poskusite znova." + } + }, + "pdfTextEditor": { + "title": "Urejevalnik PDF JSON", + "viewLabel": "Urejevalnik PDF", + "converting": "Pretvarjanje PDF v obliko za urejanje...", + "conversionFailed": "Pretvorba PDF ni uspela. Poskusite znova.", + "currentFile": "Trenutna datoteka: {{name}}", + "pageSummary": "Stran {{number}} od {{total}}", + "pagePreviewAlt": "Predogled strani", + "imageLabel": "Postavljena slika", + "noTextOnPage": "Na tej strani ni bilo zaznanega besedila za urejanje.", + "pageType": { + "paragraph": "Stran z odstavki", + "sparse": "Redko besedilo" + }, + "groupingMode": { + "auto": "Samodejno", + "paragraph": "Odstavek", + "singleLine": "Enovrstično" + }, + "badges": { + "unsaved": "Urejeno", + "modified": "Urejeno", + "earlyAccess": "Zgodnji dostop" + }, + "actions": { + "reset": "Ponastavi spremembe", + "downloadJson": "Prenesi JSON", + "generatePdf": "Ustvari PDF" + }, + "options": { + "autoScaleText": { + "title": "Samodejno prilagodi besedilo okvirjem", + "description": "Samodejno vodoravno prilagodi besedilo, da se prilega prvotnemu okvirju, ko se izris pisave razlikuje od PDF-ja." + }, + "groupingMode": { + "title": "Način združevanja besedila", + "autoDescription": "Samodejno zazna vrsto strani in ustrezno združi besedilo.", + "paragraphDescription": "Poravnane vrstice združi v večvrstične odstavčne okvirje.", + "singleLineDescription": "Vsako vrstico besedila PDF ohrani kot ločen besedilni okvir." + }, + "manualGrouping": { + "descriptionInline": "Namig: Držite Ctrl (Cmd) ali Shift za večkratni izbor besedilnih okvirjev. Nad izborom se prikaže lebdeča orodna vrstica, kjer lahko združite, razdružite ali prilagodite širine." + }, + "forceSingleElement": { + "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." + } + }, + "manual": { + "mergeTooltip": "Združi izbrane okvirje", + "merge": "Združi izbor", + "ungroupTooltip": "Razdruži odstavek nazaj v vrstice", + "ungroup": "Razdruži izbor", + "widthMenu": "Možnosti širine", + "expandWidth": "Razširi do roba strani", + "resetWidth": "Ponastavi širino", + "resizeHandle": "Prilagodi širino besedila" + }, + "disclaimer": { + "heading": "Omejitve predogleda", + "textFocus": "Ta delovni prostor je osredotočen na urejanje besedila in prestavljanje vdelanih slik. Zapletena grafika strani, gradniki obrazcev in slojne grafike se ohranijo za izvoz, vendar tukaj niso v celoti urejljive.", + "previewVariance": "Nekateri vizualni elementi (kot so obrobe tabel, oblike ali videz pripomb) se morda v predogledu ne prikazujejo natančno. Izvoženi PDF, kadar je mogoče, ohrani izvorne risalne ukaze.", + "alpha": "Ta alfa pregledovalnik se še razvija — nekatere pisave, barve, učinki prosojnosti in podrobnosti postavitve se lahko rahlo spremenijo. Pred deljenjem še enkrat preverite ustvarjeni PDF." + }, + "empty": { + "title": "Ni naloženega dokumenta", + "subtitle": "Naložite datoteko PDF ali JSON, da začnete urejati besedilo." + }, + "welcomeBanner": { + "title": "Dobrodošli v PDF Text Editor (zgodnji dostop)", + "experimental": "To je eksperimentalna funkcija v aktivnem razvoju. Med uporabo pričakujte nekaj nestabilnosti in težav.", + "howItWorks": "Orodje pretvori vaš PDF v ureljiv format, kjer lahko spreminjate besedilo in premikate slike. Spremembe se shranijo kot nov PDF.", + "bestFor": "Najbolje deluje z:", + "bestFor1": "Preprosti PDF-ji z večinoma besedilom in slikami", + "bestFor2": "Dokumenti s standardnim oblikovanjem odstavkov", + "bestFor3": "Pisma, eseji, poročila in osnovni dokumenti", + "notIdealFor": "Ni idealno za:", + "notIdealFor1": "PDF-je s posebnim oblikovanjem, kot so alineje, tabele ali večstolpčne postavitve", + "notIdealFor2": "Revije, brošure ali močno oblikovani dokumenti", + "notIdealFor3": "Priročniki z zapleteno postavitvijo", + "limitations": "Trenutne omejitve:", + "limitation1": "Prikaz pisav se lahko nekoliko razlikuje od izvirnega PDF-ja", + "limitation2": "Zapletene grafike, polja obrazcev in opombe se ohranijo, vendar niso urejljive", + "limitation3": "Pretvorba in obdelava velikih datotek lahko traja dlje", + "knownIssues": "Znane težave (v odpravljanju):", + "issue1": "Barva besedila trenutno ni ohranjena (kmalu bo dodana)", + "issue2": "Način odstavka ima več težav s poravnavo in razmiki – priporočen je način posamezne vrstice", + "issue3": "Predogled se razlikuje od izvoženega PDF-ja – izvoženi PDF-ji so bližje izvirniku", + "issue4": "Poravnavo rotiranega besedila bo morda treba ročno prilagoditi", + "issue5": "Učinki prosojnosti in slojev se lahko razlikujejo od izvirnika", + "feedback": "To je funkcija zgodnjega dostopa. Sporočite morebitne težave, da nam pomagate izboljšati!", + "gotIt": "Razumem", + "dontShowAgain": "Ne prikaži več" + }, + "modeChange": { + "title": "Potrdite spremembo načina", + "warning": "Sprememba načina združevanja besedila bo ponastavila vse neshranjene spremembe. Ali ste prepričani, da želite nadaljevati?", + "cancel": "Prekliči", + "confirm": "Ponastavi in spremeni način" + }, + "fontAnalysis": { + "details": "Podrobnosti pisave", + "embedded": "Vdelana", + "type": "Vrsta", + "webFormat": "Spletni format", + "warnings": "Opozorila", + "suggestions": "Opombe", + "currentPageFonts": "Pisave na tej strani", + "allFonts": "Vse pisave", + "fallback": "nadomestna", + "missing": "manjka", + "perfectMessage": "Vse pisave je mogoče popolnoma reproducirati.", + "warningMessage": "Nekatere pisave se morda ne bodo pravilno prikazale.", + "infoMessage": "Na voljo so informacije o reprodukciji pisav.", + "perfect": "popolno", + "subset": "podmnožica" + }, + "errors": { + "invalidJson": "Datoteke JSON ni mogoče prebrati. Preverite, ali je bila ustvarjena z orodjem PDF v JSON.", + "pdfConversion": "Urejenega JSON-a ni mogoče pretvoriti nazaj v PDF." + } + }, + "auth": { + "sessionExpired": "Seja je potekla", + "pleaseLoginAgain": "Prijavite se znova.", + "accessDenied": "Dostop zavrnjen", + "insufficientPermissions": "Nimate dovoljenja za izvedbo tega dejanja." + }, + "addText": { + "title": "Dodaj besedilo", + "header": "Dodaj besedilo v PDF-je", + "text": { + "name": "Vsebina besedila", + "placeholder": "Vnesite besedilo, ki ga želite dodati", + "fontLabel": "Pisava", + "fontSizeLabel": "Velikost pisave", + "fontSizePlaceholder": "Vnesite ali izberite velikost pisave (8–200)", + "colorLabel": "Barva besedila" + }, + "steps": { + "configure": "Nastavi besedilo" + }, + "step": { + "createDesc": "Vnesite besedilo, ki ga želite dodati", + "place": "Postavi besedilo", + "placeDesc": "Kliknite v PDF, da dodate besedilo" + }, + "instructions": { + "title": "Kako dodati besedilo", + "text": "Po vnosu besedila zgoraj kliknite kjer koli v PDF-ju, da ga postavite.", + "paused": "Postavljanje začasno ustavljeno", + "resumeHint": "Nadaljujte postavljanje, da kliknete in dodate besedilo.", + "noSignature": "Vnesite besedilo zgoraj, da omogočite postavljanje." + }, + "mode": { + "move": "Premakni besedilo", + "place": "Postavi besedilo", + "pause": "Začasno ustavi postavljanje", + "resume": "Nadaljuj postavljanje" + }, + "results": { + "title": "Rezultati dodajanja besedila" + }, + "error": { + "failed": "Pri dodajanju besedila v PDF je prišlo do napake." + }, + "tags": "besedilo,opomba,oznaka", + "applySignatures": "Uporabi besedilo" } } \ No newline at end of file diff --git a/frontend/public/locales/sr-LATN-RS/translation.json b/frontend/public/locales/sr-LATN-RS/translation.json index 54b52494a..2a5dd9922 100644 --- a/frontend/public/locales/sr-LATN-RS/translation.json +++ b/frontend/public/locales/sr-LATN-RS/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Uskoro:", "favorite": "Dodaj u omiljeno", "favorites": "Omiljeno", + "unavailable": "Onemogućio administrator servera:", + "unavailableDependency": "Nedostupno - potreban alat nedostaje na serveru:", "heading": "Svi alati (prikaz preko celog ekrana)", "noResults": "Pokušajte da prilagodite pretragu ili uključite opise da biste našli šta vam treba.", "recommended": "Preporučeno", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Prebaci na režim celog ekrana", "sidebar": "Prebaci na režim bočne trake" - } + }, + "alpha": "Alfa", + "premiumFeature": "Premium funkcija:", + "comingSoon": "Uskoro:" }, "unsavedChanges": "Imate nesačuvane promene u svom PDF-u.", "areYouSure": "Da li ste sigurni da želite da napustite?", @@ -41,6 +46,30 @@ "cancel": "Otkaži", "confirm": "Raspakuj" }, + "defaultApp": { + "title": "Postavi kao podrazumevanu PDF aplikaciju", + "message": "Želite li da postavite Stirling PDF kao podrazumevani PDF uređivač?", + "description": "Kasnije možete promeniti u podešavanjima sistema.", + "notNow": "Ne sada", + "setDefault": "Postavi podrazumevano", + "dismiss": "Odbaci", + "prompt": { + "title": "Postavi kao podrazumevani PDF uređivač", + "message": "Postavite Stirling PDF kao podrazumevanu aplikaciju za otvaranje PDF fajlova." + }, + "success": { + "title": "Podrazumevana aplikacija postavljena", + "message": "Stirling PDF je sada vaš podrazumevani PDF uređivač" + }, + "settingsOpened": { + "title": "Podešavanja otvorena", + "message": "Molimo izaberite Stirling PDF u podešavanjima sistema" + }, + "error": { + "title": "Greška", + "message": "Neuspešno postavljanje podrazumevanog PDF rukovaoca" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Sačuvaj", "saveToBrowser": "Sačuvaj u pregledaču", "download": "Preuzmi", + "downloadUnavailable": "Preuzimanje nije dostupno za ovu stavku", + "saveUnavailable": "Čuvanje nije dostupno za ovu stavku", "pin": "Zakači datoteku (zadrži aktivnom nakon pokretanja alata)", "unpin": "Otkači datoteku (zameni nakon pokretanja alata)", "undoOperationTooltip": "Kliknite da opozovete poslednju operaciju i vratite originalne datoteke", @@ -168,6 +199,7 @@ }, "edit": "Uredi", "delete": "Obriši", + "never": "Nikada", "username": "Korisničko ime", "password": "Šifra", "welcome": "Dobrodošli", @@ -262,7 +294,8 @@ "learnMore": "Saznaj više", "enable": "Omogući analitiku", "disable": "Onemogući analitiku", - "settings": "Možeš da promeniš podešavanja za analitiku u config/settings.yml datoteci" + "settings": "Možeš da promeniš podešavanja za analitiku u config/settings.yml datoteci", + "privacyAssurance": "Ne pratimo nikakve lične podatke niti sadržaj vaših fajlova." }, "navbar": { "favorite": "Omiljeno", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Podešavanja", - "update": "Dostupno ažuriranje", - "updateAvailable": "{0} je trenutno instalirana verzija. Nova verzija ({1}) je dostupna.", - "appVersion": "Verzija aplikacije:", - "downloadOption": { - "title": "Odaberite opciju preuzimanja (Za preuzimanje pojedinačnih fajlova bez zip formata):", - "1": "Otvori u istom prozoru", - "2": "Otvori u novom prozoru", - "3": "Preuzmi fajl" - }, - "zipThreshold": "Zipuj fajlove kada pređe broj preuzetih fajlova", - "signOut": "Odjava", - "accountSettings": "Podešavanja naloga", - "bored": { - "help": "Omogućava skrivenu igru" - }, - "cacheInputs": { - "name": "Sačuvaj unete podatke", - "help": "Omogući prethodno unete podatke za buduće korišćenje" + "connection": { + "title": "Režim povezivanja", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Samohostovano" + }, + "server": "Server", + "user": "Prijavljeni kao", + "logout": "Odjava" }, "general": { "title": "Opšte", "description": "Podesite opšte preferencije aplikacije.", - "account": "Nalog", - "accountDescription": "Upravljajte podešavanjima naloga", "user": "Korisnik", - "signedInAs": "Prijavljeni kao", "logout": "Odjavi se", "enableFeatures": { + "dismiss": "Odbaci", "title": "Za sistemske administratore", "intro": "Omogućite autentifikaciju korisnika, upravljanje timom i funkcije radnog prostora za vašu organizaciju.", "action": "Podesi", "and": "i", "benefit": "Omogućava korisničke uloge, timsku saradnju, administratorske kontrole i enterprise funkcije.", - "learnMore": "Saznaj više u dokumentaciji", - "dismiss": "Odbaci" + "learnMore": "Saznaj više u dokumentaciji" }, - "autoUnzip": "Automatski raspakuj API odgovore", - "autoUnzipDescription": "Automatski izdvoji datoteke iz ZIP odgovora", - "autoUnzipTooltip": "Automatski raspakuj ZIP datoteke vraćene iz API operacija. Isključite da biste zadržali ZIP datoteke netaknute. Ovo ne utiče na automatizovane tokove rada.", - "autoUnzipFileLimit": "Ograničenje za automatsko raspakivanje", - "autoUnzipFileLimitDescription": "Maksimalan broj datoteka za izdvajanje iz ZIP-a", - "autoUnzipFileLimitTooltip": "Raspakuj samo ako ZIP sadrži ovoliko ili manje datoteka. Povećajte vrednost da biste izdvojili veće ZIP-ove.", "defaultToolPickerMode": "Podrazumevani režim birača alata", "defaultToolPickerModeDescription": "Izaberite da li se birač alata podrazumevano otvara preko celog ekrana ili u bočnoj traci", "mode": { - "fullscreen": "Ceo ekran", - "sidebar": "Bočna traka" - } + "sidebar": "Bočna traka", + "fullscreen": "Ceo ekran" + }, + "autoUnzipTooltip": "Automatski raspakuj ZIP datoteke vraćene iz API operacija. Isključite da biste zadržali ZIP datoteke netaknute. Ovo ne utiče na automatizovane tokove rada.", + "autoUnzip": "Automatski raspakuj API odgovore", + "autoUnzipDescription": "Automatski izdvoji datoteke iz ZIP odgovora", + "autoUnzipFileLimitTooltip": "Raspakuj samo ako ZIP sadrži ovoliko ili manje datoteka. Povećajte vrednost da biste izdvojili veće ZIP-ove.", + "autoUnzipFileLimit": "Ograničenje za automatsko raspakivanje", + "autoUnzipFileLimitDescription": "Maksimalan broj datoteka za izdvajanje iz ZIP-a", + "defaultPdfEditor": "Podrazumevani PDF uređivač", + "defaultPdfEditorActive": "Stirling PDF je vaš podrazumevani PDF uređivač", + "defaultPdfEditorInactive": "Druga aplikacija je postavljena kao podrazumevana", + "defaultPdfEditorChecking": "Provera...", + "defaultPdfEditorSet": "Već podrazumevano", + "setAsDefault": "Postavi kao podrazumevano", + "updates": { + "title": "Ažuriranja softvera", + "description": "Proverite ažuriranja i pogledajte informacije o verziji", + "currentVersion": "Trenutna verzija", + "latestVersion": "Najnovija verzija", + "checkForUpdates": "Proveri ažuriranja", + "viewDetails": "Prikaži detalje" + }, + "hideUnavailableTools": "Sakrij nedostupne alate", + "hideUnavailableToolsDescription": "Uklonite alate koje je vaš server onemogućio umesto da budu zasivljeni.", + "hideUnavailableConversions": "Sakrij nedostupne konverzije", + "hideUnavailableConversionsDescription": "Uklonite onemogućene opcije konverzije u alatu Convert umesto da budu zasivljene." }, "hotkeys": { - "title": "Prečice na tastaturi", - "description": "Pređite mišem preko alata da vidite njegovu prečicu ili je prilagodite ispod. Kliknite na \"Promeni prečicu\" i pritisnite novu kombinaciju tastera. Pritisnite Esc za otkazivanje.", - "errorModifier": { - "mac": "Uključite ⌘ (Command), ⌥ (Option) ili neki drugi modifikator u vašu prečicu.", - "windows": "Uključite Ctrl, Alt ili neki drugi modifikator u vašu prečicu." - }, "errorConflict": "Prečicu već koristi {{tool}}.", + "searchPlaceholder": "Pretraži alate...", "none": "Nije dodeljeno", "customBadge": "Prilagođeno", "defaultLabel": "Podrazumevano: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Promeni prečicu", "reset": "Resetuj", "shortcut": "Prečica", - "noShortcut": "Prečica nije postavljena", - "searchPlaceholder": "Pretraži alate..." + "noShortcut": "Prečica nije postavljena" } }, + "update": { + "modalTitle": "Dostupno ažuriranje", + "current": "Trenutna verzija", + "latest": "Najnovija verzija", + "latestStable": "Najnovije stabilno", + "priorityLabel": "Prioritet", + "recommendedAction": "Preporučena akcija", + "breakingChangesDetected": "Otkrivene nekompatibilne promene", + "breakingChangesMessage": "Neke verzije sadrže nekompatibilne promene. Pregledajte vodiče za migraciju ispod pre ažuriranja.", + "migrationGuides": "Vodiči za migraciju", + "viewGuide": "Prikaži vodič", + "loadingDetailedInfo": "Učitavanje detaljnih informacija...", + "close": "Zatvori", + "viewAllReleases": "Prikaži sva izdanja", + "downloadLatest": "Preuzmi najnovije", + "availableUpdates": "Dostupna ažuriranja", + "unableToLoadDetails": "Nije moguće učitati detaljne informacije.", + "version": "Verzija", + "urgentUpdateAvailable": "Hitno ažuriranje", + "updateAvailable": "Dostupno ažuriranje", + "releaseNotes": "Beleške izdanja", + "priority": { + "urgent": "Hitno", + "normal": "Normalno", + "minor": "Manje", + "low": "Nizak" + }, + "breakingChanges": "Nekompatibilne promene", + "breakingChangesDefault": "Ova verzija sadrži nekompatibilne promene.", + "migrationGuide": "Vodič za migraciju" + }, "changeCreds": { "title": "Promeni pristupne podatke", "header": "Ažurirajte detalje svog naloga", @@ -482,7 +545,7 @@ "globalPopularity": "Globalna popularnost", "sortBy": "Sortiranje:", "mobile": { - "brandAlt": "Stirling PDF logo", + "brandAlt": "logo Stirling PDF", "openFiles": "Otvori datoteke", "swipeHint": "Prevucite levo ili desno da biste promenili prikaz", "tools": "Alati", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Preklapa PDF-ove jedan preko drugog", "title": "Preklapanje PDF-ova" + }, + "pdfTextEditor": { + "title": "PDF uređivač teksta", + "desc": "Pregledajte i uređujte Stirling PDF JSON izvoze uz grupisano uređivanje teksta i ponovno generisanje PDF-a" + }, + "addText": { + "tags": "tekst,anotacija,oznaka", + "title": "Dodaj tekst", + "desc": "Dodajte prilagođeni tekst bilo gde u PDF" } }, "landing": { "addFiles": "Dodaj datoteke", - "uploadFromComputer": "Otpremi sa računara" + "uploadFromComputer": "Otpremi sa računara", + "openFromComputer": "Otvori sa računara" }, "viewPdf": { "tags": "pregled,čitanje,anotiranje,tekst,slika", @@ -849,6 +922,11 @@ }, "error": { "failed": "Došlo je do greške pri spajanju PDF-ova." + }, + "tooltip": { + "header": { + "title": "Pregled podešavanja spajanja" + } } }, "split": { @@ -1090,7 +1168,7 @@ "odtExt": "OpenDocument Text (.odt)", "pptExt": "PowerPoint (.pptx)", "odpExt": "OpenDocument Presentation (.odp)", - "txtExt": "Plain Text (.txt)", + "txtExt": "Običan tekst (.txt)", "rtfExt": "Rich Text Format (.rtf)", "selectedFiles": "Izabrane datoteke", "noFileSelected": "Nije izabrana nijedna datoteka. Koristite panel datoteka da dodate datoteke.", @@ -1182,9 +1260,43 @@ "tags": "img,jpg,slika,foto", "title": "Dodaj sliku", "header": "Dodaj sliku u PDF", - "everyPage": "Na svakoj stranici?", - "upload": "Dodaj sliku", - "submit": "Dodaj sliku" + "image": { + "name": "Slika", + "placeholder": "Otpremite sliku", + "label": "Datoteka slike" + }, + "steps": { + "configure": "Podesi sliku" + }, + "step": { + "createDesc": "Otpremite sliku koju želite da dodate", + "place": "Postavi sliku", + "placeDesc": "Kliknite na PDF da dodate svoju sliku" + }, + "instructions": { + "title": "Kako dodati slike", + "text": "Nakon otpremanja slike iznad, kliknite bilo gde na PDF da je postavite.", + "paused": "Postavljanje pauzirano", + "resumeHint": "Nastavite postavljanje da kliknete i dodate sliku.", + "noSignature": "Otpremite sliku iznad da omogućite postavljanje." + }, + "mode": { + "move": "Pomeri sliku", + "place": "Postavi sliku", + "pause": "Pauziraj postavljanje", + "resume": "Nastavi postavljanje" + }, + "results": { + "title": "Rezultati dodavanja slike" + }, + "error": { + "failed": "Došlo je do greške pri dodavanju slike u PDF." + }, + "saved": { + "defaultLabel": "Slika", + "defaultImageLabel": "Otpremljena slika" + }, + "applySignatures": "Primeni slike" }, "attachments": { "tags": "uključi,dodaj,datoteka,prilog,prilozi", @@ -1397,6 +1509,93 @@ }, "submit": "Promeni" }, + "editTableOfContents": { + "settings": { + "title": "Obeleživači i sadržaj", + "replaceExisting": "Zameni postojeće obeleživače (poništite izbor za dodavanje)", + "replaceExistingHint": "Kada je onemogućeno, nova struktura se dodaje posle trenutnih obeleživača." + }, + "actions": { + "source": "Učitaj obeleživače", + "selectedFile": "Učitano iz {{file}}", + "noFile": "Izaberite PDF da izdvojite postojeće obeleživače.", + "loadFromPdf": "Učitaj iz izabranog PDF-a", + "importJson": "Uvezi JSON", + "importClipboard": "Nalepi JSON iz clipboard-a", + "export": "Izvezi obeleživače", + "exportJson": "Preuzmi JSON", + "exportClipboard": "Kopiraj JSON u clipboard", + "clipboardUnavailable": "Pristup clipboard-u nije dostupan u ovom pregledaču." + }, + "info": { + "line1": "Svaki obeleživač treba opisni naslov i stranu koju otvara.", + "line2": "Koristite podređene obeleživače za izgradnju hijerarhije poglavlja, odeljaka ili pododeljaka.", + "line3": "Uvezite obeleživače iz izabranog PDF-a ili JSON fajla da uštedite vreme." + }, + "workbench": { + "empty": { + "title": "Otvorite alat da započnete uređivanje", + "description": "Izaberite alat Uredi sadržaj da učitate njegov radni prostor." + }, + "tabTitle": "Radni prostor sadržaja", + "subtitle": "Uvezite obeleživače, gradite hijerarhije i primenite sadržaj bez skučenih bočnih panela.", + "noFile": "Nije izabran PDF", + "fileLabel": "Promene će biti primenjene na trenutno izabrani PDF.", + "filePrompt": "Izaberite PDF iz biblioteke ili otpremite novi da počnete.", + "changeFile": "Promeni PDF", + "selectFile": "Izaberi PDF" + }, + "editor": { + "heading": "Uređivač obeleživača", + "description": "Dodajte, ugnjezdujte i preuređujte obeleživače da oblikujete sadržaj PDF-a.", + "addTopLevel": "Dodaj obeleživač najvišeg nivoa", + "empty": { + "title": "Još nema obeleživača", + "description": "Uvezite postojeće obeleživače ili počnite dodavanjem prve stavke.", + "action": "Dodaj prvi obeleživač" + }, + "defaultTitle": "Novi obeleživač", + "defaultChildTitle": "Podređeni obeleživač", + "defaultSiblingTitle": "Novi obeleživač", + "untitled": "Obeleživač bez naslova", + "childBadge": "Podređeni", + "pagePreview": "Strana {{page}}", + "field": { + "title": "Naslov obeleživača", + "page": "Ciljni broj strane" + }, + "actions": { + "toggle": "Prikaži/sakrij podređene", + "addChild": "Dodaj podređeni obeleživač", + "addSibling": "Dodaj obeleživač istog nivoa", + "remove": "Ukloni obeleživač" + }, + "confirmRemove": "Ukloniti ovaj obeleživač i sve njegove podređene?" + }, + "messages": { + "loadedTitle": "Obeleživači izdvojeni", + "loadedBody": "Postojeći obeleživači iz PDF-a su učitani u uređivač.", + "noBookmarks": "Nisu pronađeni obeleživači u izabranom PDF-u.", + "loadFailed": "Nije moguće izdvojiti obeleživače iz izabranog PDF-a.", + "imported": "Obeleživači uvezeni", + "importedBody": "Vaš JSON sadržaj je zamenio trenutni sadržaj uređivača.", + "importedClipboard": "Podaci iz clipboard-a zamenili su trenutnu listu obeleživača.", + "invalidJson": "Nevažeća JSON struktura", + "invalidJsonBody": "Obezbedite važeći JSON obeleživača i pokušajte ponovo.", + "exported": "JSON preuzimanje spremno", + "copied": "Kopirano u clipboard", + "copiedBody": "JSON obeleživača uspešno kopiran.", + "copyFailed": "Kopiranje nije uspelo" + }, + "error": { + "failed": "Neuspešno ažuriranje sadržaja" + }, + "submit": "Primeni sadržaj", + "results": { + "title": "Ažuriran PDF sa obeleživačima", + "subtitle": "Preuzmite obrađeni fajl ili opozovite operaciju ispod." + } + }, "removePages": { "tags": "Ukloni stranice,obriši stranice", "title": "Ukloni", @@ -1405,7 +1604,7 @@ "placeholder": "npr. 1,3,5-8,10", "error": "Nevažeći format broja stranice. Koristite brojeve, opsege (1-5) ili matematičke izraze (2n+1)" }, - "filenamePrefix": "pages_removed", + "filenamePrefix": "strane_uklonjene", "files": { "placeholder": "Izaberite PDF datoteku u glavnom prikazu da biste započeli" }, @@ -1606,7 +1805,7 @@ "header": "Otključaj PDF obrazac", "submit": "Remove", "description": "Ovaj alat će ukloniti ograničenja samo za čitanje sa polja PDF formulara, čineći ih izmenjivim i popunjivim.", - "filenamePrefix": "unlocked_forms", + "filenamePrefix": "otključane_forme", "files": { "placeholder": "Izaberite PDF datoteku u glavnom prikazu da biste započeli" }, @@ -1620,7 +1819,7 @@ "changeMetadata": { "header": "Promeni metapodatke", "submit": "Promeni", - "filenamePrefix": "metadata", + "filenamePrefix": "metapodaci", "settings": { "title": "Podešavanja metapodataka" }, @@ -1978,13 +2177,54 @@ "title": "Nacrtajte svoj potpis", "clear": "Obriši" }, + "canvas": { + "heading": "Nacrtajte svoj potpis", + "clickToOpen": "Kliknite da otvorite platno za crtanje", + "modalTitle": "Nacrtajte svoj potpis", + "colorLabel": "Boja", + "penSizeLabel": "Debljina olovke", + "penSizePlaceholder": "Veličina", + "clear": "Očisti platno", + "colorPickerTitle": "Izaberite boju poteza" + }, "text": { "name": "Ime potpisnika", - "placeholder": "Unesite svoje puno ime" + "placeholder": "Unesite svoje puno ime", + "fontLabel": "Font", + "fontSizeLabel": "Veličina fonta", + "fontSizePlaceholder": "Unesite ili izaberite veličinu fonta (8-200)", + "colorLabel": "Boja teksta" }, "clear": "Obriši", "add": "Dodaj", - "saved": "Snimljeni potpisi", + "saved": { + "heading": "Sačuvani potpisi", + "description": "Ponovo koristite sačuvane potpise u bilo kom trenutku.", + "emptyTitle": "Još nema sačuvanih potpisa", + "emptyDescription": "Nacrtajte, otpremite ili upišite potpis iznad, zatim koristite \"Sačuvaj u biblioteku\" da zadržite do {{max}} omiljenih spremnih za upotrebu.", + "type": { + "canvas": "Crtanje", + "image": "Otpremanje", + "text": "Tekst" + }, + "limitTitle": "Dostignut limit", + "limitDescription": "Uklonite sačuvani potpis pre dodavanja novih (maks. {{max}}).", + "carouselPosition": "{{current}} od {{total}}", + "prev": "Prethodno", + "next": "Sledeće", + "delete": "Ukloni", + "label": "Oznaka", + "defaultLabel": "Potpis", + "defaultCanvasLabel": "Crtani potpis", + "defaultImageLabel": "Otpremljeni potpis", + "defaultTextLabel": "Ukucani potpis", + "saveButton": "Sačuvaj potpis", + "saveUnavailable": "Prvo napravite potpis da biste ga sačuvali.", + "noChanges": "Trenutni potpis je već sačuvan.", + "status": { + "saved": "Sačuvano" + } + }, "save": "Snimi potpis", "applySignatures": "Primeni potpise", "personalSigs": "Lični potpisi", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Podesi potpis" }, + "step": { + "createDesc": "Izaberite kako želite da kreirate potpis", + "place": "Postavi i sačuvaj", + "placeDesc": "Pozicionirajte potpis na PDF-u" + }, "type": { "title": "Tip potpisa", "draw": "Crtaj", "canvas": "Platno", "image": "Slika", - "text": "Tekst" + "text": "Tekst", + "saved": "Sačuvano" }, "image": { "label": "Otpremite sliku potpisa", @@ -2019,11 +2265,17 @@ "title": "Kako dodati potpis", "canvas": "Nakon što nacrtate potpis na platnu, zatvorite prozor, zatim kliknite bilo gde na PDF da ga postavite.", "image": "Nakon što otpremite sliku potpisa iznad, kliknite bilo gde na PDF da ga postavite.", - "text": "Nakon što unesete svoje ime iznad, kliknite bilo gde na PDF da postavite svoj potpis." + "saved": "Izaberite sačuvani potpis iznad, zatim kliknite bilo gde na PDF da ga postavite.", + "text": "Nakon što unesete svoje ime iznad, kliknite bilo gde na PDF da postavite svoj potpis.", + "paused": "Postavljanje pauzirano", + "resumeHint": "Nastavite postavljanje da kliknete i dodate potpis.", + "noSignature": "Kreirajte potpis iznad da omogućite alate za postavljanje." }, "mode": { "move": "Pomeraj potpis", - "place": "Postavi potpis" + "place": "Postavi potpis", + "pause": "Pauziraj postavljanje", + "resume": "Nastavi postavljanje" }, "updateAndPlace": "Ažuriraj i postavi", "activate": "Aktiviraj postavljanje potpisa", @@ -2090,7 +2342,7 @@ "header": "Popravi PDF fajlove", "submit": "Popravi", "description": "Ovaj alat će pokušati da popravi oštećene ili pokvarene PDF datoteke. Nisu potrebna dodatna podešavanja.", - "filenamePrefix": "repaired", + "filenamePrefix": "popravljeno", "files": { "placeholder": "Izaberite PDF datoteku u glavnom prikazu da biste započeli" }, @@ -2163,6 +2415,14 @@ "title": "O uklanjanju anotacija", "description": "Ovaj alat će ukloniti sve anotacije (komentare, isticanja, beleške, itd.) iz vaših PDF dokumenata." }, + "tooltip": { + "header": { + "title": "O uklanjanju anotacija" + }, + "description": { + "title": "Šta radi" + } + }, "error": { "failed": "Došlo je do greške pri uklanjanju anotacija iz PDF-a." } @@ -2293,7 +2553,7 @@ "certSign": { "tags": "autentifikacija,PEM,P12,zvanično,šifrovanje", "title": "Potpisivanje Sertifikatom", - "filenamePrefix": "signed", + "filenamePrefix": "potpisano", "signMode": { "stepTitle": "Režim potpisivanja", "tooltip": { @@ -2437,7 +2697,7 @@ "selectPDF": "Izaberi PDF dokument:", "submit": "Ukloni potpis", "description": "Ovaj alat će ukloniti digitalne potpise sertifikata iz vašeg PDF dokumenta.", - "filenamePrefix": "unsigned", + "filenamePrefix": "nepotpisano", "files": { "placeholder": "Izaberite PDF datoteku u glavnom prikazu da biste započeli" }, @@ -2627,6 +2887,9 @@ "header": { "title": "Kako radi automatsko preimenovanje" }, + "description": { + "title": "Šta radi" + }, "howItWorks": { "title": "Pametno preimenovanje", "text": "Automatski pronalazi naslov iz sadržaja vašeg PDF-a i koristi ga kao naziv fajla.", @@ -2634,6 +2897,9 @@ "bullet2": "Kreira čist, važeći naziv fajla od detektovanog naslova", "bullet3": "Zadržava originalni naziv ako nije pronađen odgovarajući naslov" } + }, + "settings": { + "title": "O" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "Neočekivana greška: {{message}}", "accountCreatedSuccess": "Nalog je uspešno kreiran! Sada se možete prijaviti.", "passwordChangedSuccess": "Lozinka je uspešno promenjena! Prijavite se novom lozinkom.", - "credentialsUpdated": "Vaši prijavni podaci su ažurirani. Prijavite se ponovo." + "credentialsUpdated": "Vaši prijavni podaci su ažurirani. Prijavite se ponovo.", + "defaultCredentials": "Podrazumevani podaci za prijavu", + "changePasswordWarning": "Promenite lozinku nakon prve prijave", + "slides": { + "overview": { + "alt": "Pregled Stirling PDF", + "title": "Sve na jednom mestu za sve vaše PDF potrebe.", + "subtitle": "Cloud paket sa privatnošću na prvom mestu za PDF dokumente koji omogućava konvertovanje, potpisivanje, zatamnjivanje i upravljanje dokumentima, uz 50+ drugih moćnih alata." + }, + "edit": { + "alt": "Uređivanje PDF dokumenata", + "title": "Uredite PDF dokumente da prikažete/zaštitite informacije koje želite", + "subtitle": "Uz više od desetak alata za zatamnjivanje, potpisivanje, čitanje i manipulaciju PDF dokumentima, sigurno ćete naći šta tražite." + }, + "secure": { + "alt": "Zaštita PDF", + "title": "Zaštitite osetljive informacije u vašim PDF dokumentima", + "subtitle": "Dodajte lozinke, zatamnite sadržaj i lako upravljajte sertifikatima." + } + } }, "signup": { "title": "Kreirajte nalog", @@ -3262,7 +3547,7 @@ "header": "PDF u Jednu Stranicu", "submit": "Konvertuj u Jednu Stranicu", "description": "Ovaj alat će spojiti sve stranice vašeg PDF-a u jednu veliku stranicu. Širina ostaje ista kao kod originalnih stranica, a visina će biti zbir visina svih stranica.", - "filenamePrefix": "single_page", + "filenamePrefix": "jedna_strana", "files": { "placeholder": "Izaberite PDF fajl u glavnom prikazu da biste započeli" }, @@ -3598,7 +3883,9 @@ "exportAll": "Izvezi PDF", "downloadSelected": "Preuzmi izabrane fajlove", "downloadAll": "Preuzmi sve", + "saveAll": "Sačuvaj sve", "toggleTheme": "Uključi/isključi temu", + "toggleBookmarks": "Prikaži/sakrij obeleživače", "language": "Jezik", "search": "Pretraži PDF", "panMode": "Režim pomeranja", @@ -3685,8 +3972,16 @@ "saved": "Podešavanja uspešno sačuvana", "saveSuccess": "Podešavanja uspešno sačuvana", "save": "Sačuvaj izmene", + "discard": "Odbaci", "restartRequired": "Potreban je restart", "loginRequired": "Režim prijave mora biti omogućen da biste menjali admin podešavanja", + "unsavedChanges": { + "title": "Nesačuvane promene", + "message": "Imate nesačuvane promene. Želite li da ih odbacite?", + "cancel": "Nastavi uređivanje", + "discard": "Odbaci promene", + "hint": "Imate nesačuvane promene" + }, "loginDisabled": { "title": "Potreban je režim prijave", "message": "Režim prijave mora biti omogućen da biste menjali admin podešavanja. Postavite SECURITY_ENABLELOGIN=true u svom okruženju ili security.enableLogin: true u settings.yml, zatim restartujte server.", @@ -4137,7 +4432,7 @@ "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", "weasyPrint": "WeasyPrint", - "installApp": "Install App", + "installApp": "Instaliraj aplikaciju", "calibre": "Calibre", "ghostscript": "Ghostscript", "ocrMyPdf": "OCRmyPDF" @@ -4212,9 +4507,21 @@ "title": "Premium i Enterprise", "description": "Podesite svoj premium ili enterprise licencni ključ.", "license": "Konfiguracija licence", + "licenseKey": { + "toggle": "Imate licencni ključ ili datoteku sertifikata?", + "info": "Ako imate licencni ključ ili datoteku sertifikata iz direktne kupovine, unesite je ovde da aktivirate premium ili enterprise funkcije." + }, "key": { "label": "Licencni ključ", - "description": "Unesite svoj premium ili enterprise licencni ključ" + "description": "Unesite svoj premium ili enterprise licencni ključ", + "success": "Licencni ključ sačuvan", + "successMessage": "Vaš licencni ključ je uspešno aktiviran. Restart nije potreban.", + "overwriteWarning": { + "title": "⚠️ Upozorenje: Postojeća licenca detektovana", + "line1": "Prepisivanje vašeg trenutnog licencnog ključa ne može se opozvati.", + "line2": "Prethodna licenca će biti trajno izgubljena osim ako je niste sačuvali na drugom mestu.", + "line3": "Važno: Čuvajte licencne ključeve privatnim i bezbednim. Nikada ih javno ne delite." + } }, "enabled": { "label": "Omogući premium funkcije", @@ -4278,12 +4585,17 @@ "or": "ili", "dropFileHere": "Prevucite datoteku ovde ili kliknite za otpremanje", "dropFilesHere": "Prevucite datoteke ovde ili kliknite dugme za otpremanje", + "dropFilesHereOpen": "Prevucite fajlove ovde ili kliknite dugme Otvori", "pdfFilesOnly": "Samo PDF datoteke", "supportedFileTypes": "Podržani tipovi datoteka", "upload": "Otpremi", "uploadFile": "Otpremi datoteku", "uploadFiles": "Otpremi datoteke", + "open": "Otvori", + "openFile": "Otvori fajl", + "openFiles": "Otvori fajlove", "noFilesInStorage": "Nema dostupnih datoteka u skladištu. Prvo otpremite neke datoteke.", + "noFilesInStorageOpen": "Nema fajlova u skladištu. Prvo otvorite neke fajlove.", "selectFromStorage": "Izaberi iz skladišta", "backToTools": "Nazad na alate", "addFiles": "Dodaj datoteke", @@ -4329,6 +4641,8 @@ "myFiles": "Moje datoteke", "noRecentFiles": "Nisu pronađene nedavne datoteke", "googleDriveNotAvailable": "Integracija sa Google Drive nije dostupna", + "downloadSelected": "Preuzmi izabrano", + "saveSelected": "Sačuvaj izabrano", "openFiles": "Otvori datoteke", "openFile": "Otvori datoteku", "details": "Detalji datoteke", @@ -4341,7 +4655,6 @@ "selectAll": "Izaberi sve", "deselectAll": "Poništi sve", "deleteSelected": "Izaberi izabrano", - "downloadSelected": "Preuzmi izabrano", "selectedCount": "{{count}} izabrano", "download": "Preuzmi", "delete": "Obriši", @@ -4621,9 +4934,14 @@ "secureWorkflow": "Bezbednosni tok", "secureWorkflowDesc": "Obezbeđuje PDF dokumente uklanjanjem potencijalno zlonamernog sadržaja kao što su JavaScript i ugrađene datoteke, zatim dodaje zaštitu lozinkom da spreči neovlašćen pristup. Lozinka je podrazumevano postavljena na 'password'.", "processImages": "Obrada slika", - "processImagesDesc": "Konvertuje više slikovnih datoteka u jedan PDF dokument, zatim primenjuje OCR tehnologiju da izdvoji pretraživi tekst iz slika." + "processImagesDesc": "Konvertuje više slikovnih datoteka u jedan PDF dokument, zatim primenjuje OCR tehnologiju da izdvoji pretraživi tekst iz slika.", + "prePublishSanitization": "Sanitizacija pre objave", + "prePublishSanitizationDesc": "Tok sanitizacije koji uklanja sav skriveni metapodaci, JavaScript, ugrađene fajlove, anotacije i „flatten“-uje forme da spreči curenje podataka pre objave PDF-ova na internetu." } }, + "colorPicker": { + "title": "Izaberite boju" + }, "common": { "previous": "Prethodno", "next": "Sledeće", @@ -4639,7 +4957,13 @@ "used": "iskorišćeno", "available": "dostupno", "cancel": "Otkaži", - "preview": "Pregled" + "preview": "Pregled", + "close": "Zatvori", + "done": "Gotovo", + "loading": "Učitavanje...", + "back": "Nazad", + "continue": "Nastavi", + "error": "Greška" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Dodaj još fajlova...", "selectedFiles": "Izabrani fajlovi", "submit": "Dodaj priloge", + "tooltip": { + "header": { + "title": "O dodavanju priloga" + }, + "description": { + "title": "Šta radi" + } + }, "results": { "title": "Rezultati priloga" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Prilagođena pozicija", "details": "Detalji", - "downloadUnavailable": "Preuzimanje nije dostupno za ovu stavku", "invalidUndoData": "Nije moguće poništiti: nevažeći podaci o operaciji", "margin": { "large": "Veliko", @@ -4801,6 +5132,10 @@ "maybeLater": "Možda kasnije", "dontShowAgain": "Ne prikazuj ponovo" }, + "welcomeSlide": { + "title": "Dobrodošli u Stirling", + "body": "Stirling PDF je sada spreman za timove svih veličina. Ovo ažuriranje donosi novi raspored, moćne admin mogućnosti i našu najtraženiju funkciju - Uredi tekst." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Hajde da izaberemo alat Crop da pokažemo kako se koristi jedan od alata.", "toolInterface": "Ovo je interfejs alata Crop. Kao što vidite, nema mnogo toga jer još nismo dodali nijedan PDF fajl za rad.", @@ -4823,7 +5158,39 @@ "next": "Sledeće", "finish": "Završi", "startTour": "Započni turu", - "startTourDescription": "Krenite u vođenu turu kroz ključne funkcije Stirling PDF-a" + "startTourDescription": "Krenite u vođenu turu kroz ključne funkcije Stirling PDF-a", + "buttons": { + "next": "Dalje →", + "back": "Nazad", + "skipForNow": "Preskoči za sada", + "download": "Preuzmi →", + "showMeAround": "Provedi me kroz aplikaciju", + "skipTheTour": "Preskoči obilazak" + }, + "serverLicense": { + "skip": "Preskoči za sada", + "seePlans": "Pogledajte planove →", + "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 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." + }, + "desktopInstall": { + "title": "Preuzmi", + "titleWithOs": "Preuzmi za {{osLabel}}", + "body": "Stirling najbolje radi kao desktop aplikacija. Možete je koristiti offline, brže pristupati dokumentima i praviti izmene lokalno na računaru." + }, + "planOverview": { + "adminTitle": "Admin pregled", + "userTitle": "Pregled plana", + "adminBodyLoginEnabled": "Kao admin, možete upravljati korisnicima, podešavati opcije i pratiti stanje servera. Prvih {{freeTierLimit}} ljudi na vašem serveru koristi Stirling besplatno.", + "adminBodyLoginDisabled": "Kada omogućite režim prijave, možete upravljati korisnicima, podešavati opcije i pratiti stanje servera. Prvih {{freeTierLimit}} ljudi na vašem serveru koristi Stirling besplatno.", + "userBody": "Pozovite kolege, dodeljujte uloge i držite dokumente organizovanim u jednom bezbednom prostoru. Omogućite režim prijave kad god ste spremni da pređete preko solo upotrebe." + }, + "securityCheck": { + "message": "Aplikacija je nedavno značajno promenjena. Možda je potrebna pažnja administratora servera. Potvrdite svoju ulogu da nastavite." + } }, "adminOnboarding": { "welcome": "Dobrodošli u Admin turu! Hajde da istražimo moćne enterprise funkcije i podešavanja dostupna sistemskim administratorima.", @@ -4852,7 +5219,10 @@ "role": "Uloga", "team": "Tim", "status": "Status", - "actions": "Radnje", + "actions": { + "label": "Akcije", + "upgrade": "Nadogradi" + }, "noMembersFound": "Nijedan član nije pronađen", "active": "Aktivan", "disabled": "Onemogućen", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} slobodnih korisničkih mesta", "noSlotsAvailable": "Nema slobodnih mesta", "currentUsage": "Trenutno se koristi {{current}} od {{max}} korisničkih licenci" - } + }, + "loginRequired": "Prvo omogućite režim prijave" }, "teams": { "title": "Timovi", @@ -5057,6 +5428,17 @@ "showComparison": "Uporedi sve funkcije", "hideComparison": "Sakrij poređenje funkcija", "featureComparison": "Poređenje funkcija", + "from": "Od", + "perMonth": "/mesec", + "perSeat": "/mesto", + "withServer": "+ Server plan", + "licensedSeats": "Licencirano: {{count}} mesta", + "includedInCurrent": "Uključeno u vaš plan", + "selectPlan": "Izaberi plan", + "manage": "Upravljaj", + "manageSubscription": { + "description": "Upravljajte pretplatom, naplatom i metodama plaćanja" + }, "activePlan": { "title": "Aktivni paket", "subtitle": "Detalji vaše trenutne pretplate" @@ -5074,13 +5456,16 @@ "upTo": "Do" }, "period": { - "month": "mesec" + "month": "mesec", + "perUserPerMonth": "/korisnik/mesec" }, "free": { "name": "Besplatno", "highlight1": "Ograničeno korišćenje alata nedeljno", "highlight2": "Pristup svim alatima", - "highlight3": "Podrška zajednice" + "highlight3": "Podrška zajednice", + "forever": "Zauvek besplatno", + "included": "Uključeno" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Prilagođene cene", "highlight2": "Posvećena podrška", - "highlight3": "Najnovije funkcije" + "highlight3": "Najnovije funkcije", + "requiresServer": "Zahteva server", + "requiresServerMessage": "Prvo nadogradite na Server plan pre nadogradnje na Enterprise." }, "feature": { "title": "Funkcija", @@ -5102,6 +5489,12 @@ "api": "Pristup API-ju", "priority": "Prioritetna podrška", "customPricing": "Prilagođene cene" + }, + "licenseWarning": { + "title": "Dostignuto ograničenje za besplatno samohostovanje", + "body": "Imate {{total}} korisnika, ali besplatni nivo podržava samo {{limit}} po serveru. Nadogradite da bi Stirling PDF radio neometano.", + "overLimit": "više od {{limit}}", + "cta": "Pogledajte planove" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Upravljaj naplatom", "portal": { "error": "Nije uspelo otvaranje portala za naplatu" - } + }, + "updateSeats": "Ažuriraj mesta", + "updateEnterpriseSeats": "Ažuriraj Enterprise mesta", + "currentSeats": "Trenutno mesta", + "minimumSeats": "Minimum mesta", + "basedOnUsers": "(trenutni korisnici)", + "newSeatCount": "Novi broj mesta", + "newSeatCountDescription": "Izaberite broj mesta za vašu Enterprise licencu", + "whatHappensNext": "Šta sledi?", + "stripePortalRedirect": "Bićete preusmereni na Stripe portal naplate da pregledate i potvrdite promenu mesta. Proporcionalni iznos će biti automatski obračunat.", + "preparingUpdate": "Priprema ažuriranja mesta...", + "seatCountTooLow": "Broj mesta mora biti najmanje {{minimum}} (trenutni broj korisnika)", + "seatCountUnchanged": "Izaberite drugačiji broj mesta", + "seatsUpdated": "Mesta ažurirana", + "seatsUpdatedMessage": "Vaša Enterprise mesta su ažurirana na {{seats}}", + "updateProcessing": "Ažuriranje u toku", + "updateProcessingMessage": "Vaše ažuriranje mesta se obrađuje. Osvežite za nekoliko trenutaka.", + "notEnterprise": "Upravljanje mestima je dostupno samo za Enterprise licence" + }, + "upgradeBanner": { + "title": "Nadogradite na Server plan", + "message": "Iskoristite maksimum iz Stirling PDF uz neograničene korisnike i napredne funkcije", + "upgradeButton": "Nadogradite sada", + "dismiss": "Odbaci baner", + "attentionTitle": "Ovaj server zahteva pažnju admina", + "attentionBody": "Vaš admin treba da se prijavi da vidi više informacija. Odmah ih kontaktirajte.", + "attentionBodyAdmin": "Pregledajte zahteve licence da ovaj server ostane usklađen.", + "seeInfo": "Pogledajte info" }, "payment": { "preparing": "Priprema vaše kupovine...", @@ -5128,7 +5548,61 @@ "success": "Plaćanje uspešno!", "successMessage": "Vaša pretplata je uspešno aktivirana. Uskoro ćete dobiti potvrdni email.", "autoClose": "Ovaj prozor će se automatski zatvoriti...", - "error": "Greška pri plaćanju" + "error": "Greška pri plaćanju", + "upgradeSuccess": "Plaćanje uspešno! Vaša pretplata je nadograđena. Licenca je ažurirana na vašem serveru. Uskoro ćete dobiti potvrdni email.", + "paymentSuccess": "Plaćanje uspešno! Preuzimamo vaš licencni ključ...", + "licenseActivated": "Licenca aktivirana! Vaš licencni ključ je sačuvan. Potvrdni email je poslat na registrovanu adresu.", + "licenseDelayed": "Plaćanje uspešno! Vaša licenca se generiše. Uskoro ćete dobiti email sa licencnim ključem. Ako ga ne dobijete u roku od 10 minuta, kontaktirajte podršku.", + "licensePollingError": "Plaćanje je uspešno, ali nismo mogli automatski da preuzmemo licencni ključ. Proverite email ili kontaktirajte podršku uz potvrdu o plaćanju.", + "licenseRetrievalError": "Plaćanje je uspešno, ali preuzimanje licence nije uspelo. Licencni ključ ćete dobiti emailom. Kontaktirajte podršku ako ga ne dobijete u roku od 10 minuta.", + "syncError": "Plaćanje je uspešno, ali sinhronizacija licence nije uspela. Vaša licenca će uskoro biti ažurirana. Kontaktirajte podršku ako problem potraje.", + "licenseSaveError": "Neuspešno čuvanje licencnog ključa. Kontaktirajte podršku sa svojim licencnim ključem da završite aktivaciju.", + "paymentCanceled": "Plaćanje je otkazano. Nije izvršena naplata.", + "syncingLicense": "Sinhronizujemo vašu nadograđenu licencu...", + "generatingLicense": "Generišemo vaš licencni ključ...", + "upgradeComplete": "Nadogradnja završena", + "upgradeCompleteMessage": "Vaša pretplata je uspešno nadograđena. Postojeći licencni ključ je ažuriran.", + "stripeNotConfigured": "Stripe nije konfigurisan", + "stripeNotConfiguredMessage": "Stripe integracija plaćanja nije konfigurisana. Kontaktirajte administratora.", + "monthly": "Mesečno", + "yearly": "Godišnje", + "billingPeriod": "Period naplate", + "enterpriseNote": "Broj mesta se podešava pri plaćanju (1–1000).", + "installationId": "ID instalacije", + "licenseKey": "Vaš licencni ključ", + "licenseInstructions": "Ovo je dodato vašoj instalaciji. Kopiju ćete dobiti i na email.", + "canCloseWindow": "Sada možete zatvoriti ovaj prozor.", + "licenseKeyProcessing": "Obrada licencnog ključa", + "licenseDelayedMessage": "Vaš licencni ključ se generiše. Uskoro proverite email ili kontaktirajte podršku.", + "perYear": "/godina", + "perMonth": "/mesec", + "emailInvalid": "Unesite važeću email adresu", + "emailStage": { + "title": "Unesite svoj email", + "description": "Koristićemo ga za slanje licencnog ključa i računa.", + "emailLabel": "Email adresa", + "emailPlaceholder": "your@email.com", + "continue": "Nastavi", + "modalTitle": "Početak - {{planName}}" + }, + "planStage": { + "title": "Izaberite period naplate", + "savingsNote": "Uštedite {{percent}}% uz godišnju naplatu", + "basePrice": "Osnovna cena", + "seatPrice": "Po mestu", + "totalForSeats": "Ukupno ({{count}} mesta)", + "selectMonthly": "Izaberi mesečno", + "selectYearly": "Izaberi godišnje", + "savePercent": "Uštedite {{percent}}%", + "savingsAmount": "Uštedeli ste {{amount}}", + "modalTitle": "Izaberite period naplate - {{planName}}", + "billedYearly": "Naplaćuje se godišnje {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Nazad na izbor plana", + "selectedPlan": "Izabrani plan", + "modalTitle": "Završite plaćanje - {{planName}}" + } }, "firstLogin": { "title": "Prva prijava", @@ -5287,5 +5761,281 @@ "offline": "Bekend je offline", "starting": "Bekend se pokreće...", "wait": "Sačekajte da se bekend potpuno pokrene pa pokušajte ponovo." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Otključajte PDF da nastavite", + "title": "Uklonite lozinku da nastavite", + "description": "Ovaj PDF je zaštićen lozinkom. Unesite lozinku da biste nastavili rad.", + "password": { + "label": "PDF lozinka", + "placeholder": "Unesite PDF lozinku" + }, + "skip": "Preskoči za sada", + "unlock": "Otključaj i nastavi", + "incorrectPassword": "Netačna lozinka", + "missingFile": "Izabrani fajl više nije dostupan.", + "emptyResponse": "Uklanjanje lozinke nije proizvelo fajl.", + "required": "Unesite lozinku da biste nastavili.", + "successTitle": "Lozinka uklonjena", + "successBodyWithName": "Lozinka uklonjena iz {{fileName}}", + "successBody": "Lozinka je uspešno uklonjena." + }, + "setup": { + "welcome": "Dobrodošli u Stirling PDF", + "description": "Započnite izborom načina na koji želite da koristite Stirling PDF", + "step1": { + "label": "Izaberite režim", + "description": "Offline ili Server" + }, + "step2": { + "label": "Izaberite server", + "description": "Samohostovani server" + }, + "step3": { + "label": "Prijava", + "description": "Unesite kredencijale" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Prijavite se svojim Stirling nalogom" + }, + "selfhosted": { + "title": "Samohostovani server", + "description": "Povežite se na svoj Stirling PDF server" + } + }, + "saas": { + "title": "Prijavite se u Stirling", + "subtitle": "Prijavite se svojim Stirling nalogom" + }, + "selfhosted": { + "title": "Prijava na server", + "subtitle": "Unesite kredencijale servera" + }, + "server": { + "title": "Poveži se na server", + "subtitle": "Unesite URL svog samohostovanog servera", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Samohostovani server" + }, + "url": { + "label": "URL servera", + "description": "Unesite puni URL vašeg samohostovanog Stirling PDF servera" + }, + "error": { + "emptyUrl": "Unesite URL servera", + "unreachable": "Nije moguće povezati se sa serverom", + "testFailed": "Test veze nije uspeo" + }, + "testing": "Testiranje veze..." + }, + "login": { + "title": "Prijava", + "subtitle": "Unesite kredencijale da nastavite", + "connectingTo": "Povezivanje na:", + "username": { + "label": "Korisničko ime", + "placeholder": "Unesite korisničko ime" + }, + "email": { + "label": "Email", + "placeholder": "Unesite email" + }, + "password": { + "label": "Lozinka", + "placeholder": "Unesite lozinku" + }, + "error": { + "emptyUsername": "Unesite korisničko ime", + "emptyEmail": "Unesite email", + "emptyPassword": "Unesite lozinku", + "oauthFailed": "OAuth prijava nije uspela. Pokušajte ponovo." + }, + "submit": "Prijavi se", + "signInWith": "Prijavite se sa", + "oauthPending": "Otvaranje pregledača za autentikaciju...", + "orContinueWith": "Ili nastavite uz email" + } + }, + "oauth": { + "success": { + "title": "Autentikacija uspešna", + "message": "Možete zatvoriti ovaj prozor i vratiti se u Stirling PDF." + }, + "error": { + "title": "Autentikacija neuspešna", + "message": "Autentikacija nije uspela. Možete zatvoriti ovaj prozor i pokušati ponovo." + } + }, + "pdfTextEditor": { + "title": "PDF JSON uređivač", + "viewLabel": "PDF uređivač", + "converting": "Konvertovanje PDF-a u format za uređivanje...", + "conversionFailed": "Konverzija PDF-a nije uspela. Pokušajte ponovo.", + "currentFile": "Trenutni fajl: {{name}}", + "pageSummary": "Strana {{number}} od {{total}}", + "pagePreviewAlt": "Pregled strane", + "imageLabel": "Postavljena slika", + "noTextOnPage": "Na ovoj strani nije detektovan tekst za uređivanje.", + "pageType": { + "paragraph": "Strana sa pasusima", + "sparse": "Rasuti tekst" + }, + "groupingMode": { + "auto": "Auto", + "paragraph": "Pasus", + "singleLine": "Jedna linija" + }, + "badges": { + "unsaved": "Izmenjeno", + "modified": "Izmenjeno", + "earlyAccess": "Rani pristup" + }, + "actions": { + "reset": "Poništi izmene", + "downloadJson": "Preuzmi JSON", + "generatePdf": "Generiši PDF" + }, + "options": { + "autoScaleText": { + "title": "Automatski prilagodi tekst okvirima", + "description": "Automatski horizontalno prilagođava tekst da stane u njegov izvorni granični okvir kada se iscrtavanje fonta razlikuje od PDF-a." + }, + "groupingMode": { + "title": "Način grupisanja teksta", + "autoDescription": "Automatski prepoznaje tip stranice i odgovarajuće grupiše tekst.", + "paragraphDescription": "Grupiše poravnate redove u višeredne pasusne tekstualne okvire.", + "singleLineDescription": "Zadržava svaki red teksta u PDF-u kao zaseban tekstualni okvir." + }, + "manualGrouping": { + "descriptionInline": "Savet: Držite Ctrl (Cmd) ili Shift za višestruki izbor tekstualnih okvira. Plutajuća alatna traka će se pojaviti iznad izbora kako biste mogli da spojite, razgrupišete ili podesite širine." + }, + "forceSingleElement": { + "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." + } + }, + "manual": { + "mergeTooltip": "Spoji izabrane okvire", + "merge": "Spoji izbor", + "ungroupTooltip": "Podeli pasus nazad na redove", + "ungroup": "Razgrupiši izbor", + "widthMenu": "Opcije širine", + "expandWidth": "Proširi do ivice stranice", + "resetWidth": "Resetuj širinu", + "resizeHandle": "Podesi širinu teksta" + }, + "disclaimer": { + "heading": "Ograničenja pregleda", + "textFocus": "Ovaj prostor za rad fokusira se na uređivanje teksta i premeštanje ugrađenih slika. Složena grafika stranice, kontrole obrazaca i slojevita grafika se čuvaju za izvoz, ali ovde nisu u potpunosti uređive.", + "previewVariance": "Neki vizuelni elementi (poput ivica tabela, oblika ili izgleda anotacija) možda neće biti prikazani identično u pregledu. Izvezeni PDF zadržava originalne komande crtanja kad god je moguće.", + "alpha": "Ovaj alfa pregledač je i dalje u razvoju—određeni fontovi, boje, efekti transparencije i detalji rasporeda mogu se blago promeniti. Molimo proverite generisani PDF pre deljenja." + }, + "empty": { + "title": "Nijedan dokument nije učitan", + "subtitle": "Učitajte PDF ili JSON datoteku da biste počeli sa uređivanjem teksta." + }, + "welcomeBanner": { + "title": "Dobrodošli u Uređivač teksta za PDF (rani pristup)", + "experimental": "Ovo je eksperimentalna funkcija u aktivnom razvoju. Očekujte izvesnu nestabilnost i probleme tokom korišćenja.", + "howItWorks": "Ovaj alat konvertuje vaš PDF u format koji se može uređivati, gde možete menjati tekst i premeštati slike. Promene se čuvaju nazad kao novi PDF.", + "bestFor": "Najbolje radi sa:", + "bestFor1": "Jednostavni PDF-ovi sa uglavnom tekstom i slikama", + "bestFor2": "Dokumenti sa standardnim formatiranjem pasusa", + "bestFor3": "Pisma, eseji, izveštaji i osnovni dokumenti", + "notIdealFor": "Nije idealno za:", + "notIdealFor1": "PDF-ove sa posebnim formatiranjem poput nabrajanja, tabela ili višekolonskih rasporeda", + "notIdealFor2": "Magazini, brošure ili kompleksno dizajnirani dokumenti", + "notIdealFor3": "Uputstva sa složenim rasporedima", + "limitations": "Trenutna ograničenja:", + "limitation1": "Iscrtavanje fontova može se malo razlikovati od originalnog PDF-a", + "limitation2": "Složena grafika, polja obrazaca i anotacije se čuvaju, ali nisu uređivi", + "limitation3": "Većim datotekama može trebati vremena za konverziju i obradu", + "knownIssues": "Poznati problemi (u rešavanju):", + "issue1": "Boja teksta se trenutno ne zadržava (uskoro će biti dodato)", + "issue2": "Režim pasusa ima više problema sa poravnanjem i razmakom — preporučuje se režim Jedan red", + "issue3": "Prikaz pregleda se razlikuje od izvezenog PDF-a — izvezeni PDF je bliži originalu", + "issue4": "Poravnanje rotiranog teksta može zahtevati ručno podešavanje", + "issue5": "Efekti transparencije i slojeva mogu odstupati od originala", + "feedback": "Ovo je funkcija ranog pristupa. Molimo prijavite sve probleme na koje naiđete kako biste nam pomogli da unapredimo alat!", + "gotIt": "Razumem", + "dontShowAgain": "Ne prikazuj ponovo" + }, + "modeChange": { + "title": "Potvrdi promenu režima", + "warning": "Promena načina grupisanja teksta resetuje sve nesačuvane izmene. Da li ste sigurni da želite da nastavite?", + "cancel": "Otkaži", + "confirm": "Resetuj i promeni režim" + }, + "fontAnalysis": { + "details": "Detalji fonta", + "embedded": "Ugrađen", + "type": "Tip", + "webFormat": "Web format", + "warnings": "Upozorenja", + "suggestions": "Napomene", + "currentPageFonts": "Fontovi na ovoj stranici", + "allFonts": "Svi fontovi", + "fallback": "rezervni", + "missing": "nedostaje", + "perfectMessage": "Svi fontovi se mogu savršeno reprodukovati.", + "warningMessage": "Neki fontovi možda neće biti ispravno prikazani.", + "infoMessage": "Dostupne su informacije o reprodukciji fontova.", + "perfect": "savršeno", + "subset": "podskup" + }, + "errors": { + "invalidJson": "Nije moguće pročitati JSON datoteku. Uverite se da je generisana alatom PDF u JSON.", + "pdfConversion": "Nije moguće konvertovati izmenjeni JSON nazad u PDF." + } + }, + "auth": { + "sessionExpired": "Sesija je istekla", + "pleaseLoginAgain": "Molimo prijavite se ponovo.", + "accessDenied": "Pristup odbijen", + "insufficientPermissions": "Nemate dozvolu da izvršite ovu radnju." + }, + "addText": { + "title": "Dodaj tekst", + "header": "Dodaj tekst u PDF-ove", + "text": { + "name": "Sadržaj teksta", + "placeholder": "Unesite tekst koji želite da dodate", + "fontLabel": "Font", + "fontSizeLabel": "Veličina fonta", + "fontSizePlaceholder": "Upišite ili izaberite veličinu fonta (8-200)", + "colorLabel": "Boja teksta" + }, + "steps": { + "configure": "Podesi tekst" + }, + "step": { + "createDesc": "Unesite tekst koji želite da dodate", + "place": "Postavi tekst", + "placeDesc": "Kliknite na PDF da dodate tekst" + }, + "instructions": { + "title": "Kako dodati tekst", + "text": "Nakon što unesete tekst iznad, kliknite bilo gde na PDF da ga postavite.", + "paused": "Postavljanje pauzirano", + "resumeHint": "Nastavite postavljanje da biste klikom dodali tekst.", + "noSignature": "Unesite tekst iznad da biste omogućili postavljanje." + }, + "mode": { + "move": "Pomeri tekst", + "place": "Postavi tekst", + "pause": "Pauziraj postavljanje", + "resume": "Nastavi postavljanje" + }, + "results": { + "title": "Rezultati dodavanja teksta" + }, + "error": { + "failed": "Došlo je do greške pri dodavanju teksta u PDF." + }, + "tags": "tekst,anotacija,oznaka", + "applySignatures": "Primeni tekst" } } \ No newline at end of file diff --git a/frontend/public/locales/sv-SE/translation.json b/frontend/public/locales/sv-SE/translation.json index 7395501ae..48950d5b5 100644 --- a/frontend/public/locales/sv-SE/translation.json +++ b/frontend/public/locales/sv-SE/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Kommer snart:", "favorite": "Lägg till i favoriter", "favorites": "Favoriter", + "unavailable": "Inaktiverad av serveradministratören:", + "unavailableDependency": "Otillgänglig – nödvändigt verktyg saknas på servern:", "heading": "Alla verktyg (helskärmsvy)", "noResults": "Försök justera din sökning eller visa beskrivningar för att hitta det du behöver.", "recommended": "Rekommenderas", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Byt till helskärmsläge", "sidebar": "Byt till sidopanelläge" - } + }, + "alpha": "Alfa", + "premiumFeature": "Premiumfunktion:", + "comingSoon": "Kommer snart:" }, "unsavedChanges": "Du har osparade ändringar i din PDF.", "areYouSure": "Är du säker på att du vill lämna?", @@ -41,6 +46,30 @@ "cancel": "Avbryt", "confirm": "Extrahera" }, + "defaultApp": { + "title": "Ange som standardapp för PDF", + "message": "Vill du ange Stirling PDF som din standard-PDF-redigerare?", + "description": "Du kan ändra detta senare i systeminställningarna.", + "notNow": "Inte nu", + "setDefault": "Ange som standard", + "dismiss": "Stäng", + "prompt": { + "title": "Ange som standard-PDF-redigerare", + "message": "Gör Stirling PDF till din standardapp för att öppna PDF-filer." + }, + "success": { + "title": "Standardapp angiven", + "message": "Stirling PDF är nu din standard-PDF-redigerare" + }, + "settingsOpened": { + "title": "Inställningar öppnade", + "message": "Välj Stirling PDF i systeminställningarna" + }, + "error": { + "title": "Fel", + "message": "Det gick inte att ange standard-PDF-hanterare" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Spara", "saveToBrowser": "Spara till webbläsare", "download": "Ladda ner", + "downloadUnavailable": "Nedladdning inte tillgänglig för detta objekt", + "saveUnavailable": "Spara är inte tillgängligt för detta objekt", "pin": "Fäst fil (behåll aktiv efter verktygskörning)", "unpin": "Lossa fil (ersätt efter verktygskörning)", "undoOperationTooltip": "Klicka för att ångra den senaste åtgärden och återställa originalfilerna", @@ -168,6 +199,7 @@ }, "edit": "Redigera", "delete": "Radera", + "never": "Aldrig", "username": "Användarnamn", "password": "Lösenord", "welcome": "Välkommen", @@ -262,7 +294,8 @@ "learnMore": "Läs mer", "enable": "Aktivera analys", "disable": "Avaktivera analys", - "settings": "Du kan ändra analysinställningarna i config/settings.yml-filen" + "settings": "Du kan ändra analysinställningarna i config/settings.yml-filen", + "privacyAssurance": "Vi spårar inte någon personlig information eller innehållet i dina filer." }, "navbar": { "favorite": "Favoriter", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Inställningar", - "update": "Uppdatering tillgänglig", - "updateAvailable": "{0} är den aktuella installerade versionen. En ny version ({1}) finns tillgänglig.", - "appVersion": "Appversion:", - "downloadOption": { - "title": "Välj nedladdningsalternativ (för nedladdning av en fil utan zip):", - "1": "Öppnas i samma fönster", - "2": "Öppna i nytt fönster", - "3": "Ladda ner fil" - }, - "zipThreshold": "Zippa filer när antalet nedladdade filer överskrider", - "signOut": "Logga ut", - "accountSettings": "Kontoinställningar", - "bored": { - "help": "Aktiverar påskäggsspel" - }, - "cacheInputs": { - "name": "Spara formulärinmatningar", - "help": "Aktivera för att lagra tidigare använda inmatningar för framtida körningar" + "connection": { + "title": "Anslutningsläge", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Självhostad" + }, + "server": "Server", + "user": "Inloggad som", + "logout": "Logga ut" }, "general": { "title": "Allmänt", "description": "Konfigurera allmänna programinställningar.", - "account": "Konto", - "accountDescription": "Hantera dina kontoinställningar", "user": "Användare", - "signedInAs": "Inloggad som", "logout": "Logga ut", "enableFeatures": { + "dismiss": "Avfärda", "title": "För systemadministratörer", "intro": "Aktivera användarautentisering, teamhantering och arbetsytefunktioner för din organisation.", "action": "Konfigurera", "and": "och", "benefit": "Aktiverar användarroller, teamsamarbete, adminkontroller och företagsfunktioner.", - "learnMore": "Läs mer i dokumentationen", - "dismiss": "Avfärda" + "learnMore": "Läs mer i dokumentationen" }, - "autoUnzip": "Packa upp API-svar automatiskt", - "autoUnzipDescription": "Extrahera automatiskt filer från ZIP‑svar", - "autoUnzipTooltip": "Packa automatiskt upp ZIP‑filer som returneras från API‑operationer. Inaktivera för att behålla ZIP‑filer intakta. Detta påverkar inte automationsarbetsflöden.", - "autoUnzipFileLimit": "Begränsning för automatisk uppackning", - "autoUnzipFileLimitDescription": "Maximalt antal filer att extrahera från ZIP", - "autoUnzipFileLimitTooltip": "Packa bara upp om ZIP:en innehåller högst så här många filer. Ange högre för att extrahera större ZIP:ar.", "defaultToolPickerMode": "Standardläge för verktygsväljare", "defaultToolPickerModeDescription": "Välj om verktygsväljaren ska öppnas i helskärm eller sidopanel som standard", "mode": { - "fullscreen": "Helskärm", - "sidebar": "Sidopanel" - } + "sidebar": "Sidopanel", + "fullscreen": "Helskärm" + }, + "autoUnzipTooltip": "Packa automatiskt upp ZIP‑filer som returneras från API‑operationer. Inaktivera för att behålla ZIP‑filer intakta. Detta påverkar inte automationsarbetsflöden.", + "autoUnzip": "Packa upp API-svar automatiskt", + "autoUnzipDescription": "Extrahera automatiskt filer från ZIP‑svar", + "autoUnzipFileLimitTooltip": "Packa bara upp om ZIP:en innehåller högst så här många filer. Ange högre för att extrahera större ZIP:ar.", + "autoUnzipFileLimit": "Begränsning för automatisk uppackning", + "autoUnzipFileLimitDescription": "Maximalt antal filer att extrahera från ZIP", + "defaultPdfEditor": "Standard-PDF-redigerare", + "defaultPdfEditorActive": "Stirling PDF är din standard-PDF-redigerare", + "defaultPdfEditorInactive": "En annan app är standard", + "defaultPdfEditorChecking": "Kontrollerar...", + "defaultPdfEditorSet": "Redan standard", + "setAsDefault": "Ange som standard", + "updates": { + "title": "Programuppdateringar", + "description": "Sök efter uppdateringar och visa versionsinfo", + "currentVersion": "Aktuell version", + "latestVersion": "Senaste version", + "checkForUpdates": "Sök efter uppdateringar", + "viewDetails": "Visa detaljer" + }, + "hideUnavailableTools": "Dölj otillgängliga verktyg", + "hideUnavailableToolsDescription": "Ta bort verktyg som har inaktiverats av din server istället för att visa dem nedtonade.", + "hideUnavailableConversions": "Dölj otillgängliga konverteringar", + "hideUnavailableConversionsDescription": "Ta bort inaktiverade konverteringsalternativ i verktyget Konvertera istället för att visa dem nedtonade." }, "hotkeys": { - "title": "Tangentbordsgenvägar", - "description": "Hovra över ett verktyg för att se dess genväg eller anpassa den nedan. Klicka på \"Ändra genväg\" och tryck en ny tangentkombination. Tryck Esc för att avbryta.", - "errorModifier": { - "mac": "Inkludera ⌘ (Command), ⌥ (Option) eller en annan modifierare i din genväg.", - "windows": "Inkludera Ctrl, Alt eller en annan modifierare i din genväg." - }, "errorConflict": "Genväg används redan av {{tool}}.", + "searchPlaceholder": "Sök bland verktyg...", "none": "Inte tilldelad", "customBadge": "Anpassad", "defaultLabel": "Standard: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Ändra genväg", "reset": "Återställ", "shortcut": "Genväg", - "noShortcut": "Ingen genväg angiven", - "searchPlaceholder": "Sök bland verktyg..." + "noShortcut": "Ingen genväg angiven" } }, + "update": { + "modalTitle": "Uppdatering tillgänglig", + "current": "Aktuell version", + "latest": "Senaste version", + "latestStable": "Senaste stabila", + "priorityLabel": "Prioritet", + "recommendedAction": "Rekommenderad åtgärd", + "breakingChangesDetected": "Brytande ändringar upptäckta", + "breakingChangesMessage": "Vissa versioner innehåller brytande ändringar. Läs migreringsguiderna nedan innan du uppdaterar.", + "migrationGuides": "Migreringsguider", + "viewGuide": "Visa guide", + "loadingDetailedInfo": "Laddar detaljerad information...", + "close": "Stäng", + "viewAllReleases": "Visa alla utgåvor", + "downloadLatest": "Hämta senaste", + "availableUpdates": "Tillgängliga uppdateringar", + "unableToLoadDetails": "Det går inte att ladda detaljerad information.", + "version": "Version", + "urgentUpdateAvailable": "Brådskande uppdatering", + "updateAvailable": "Uppdatering tillgänglig", + "releaseNotes": "Versionsnyheter", + "priority": { + "urgent": "Brådskande", + "normal": "Normal", + "minor": "Mindre", + "low": "Låg" + }, + "breakingChanges": "Brytande ändringar", + "breakingChangesDefault": "Denna version innehåller brytande ändringar.", + "migrationGuide": "Migreringsguide" + }, "changeCreds": { "title": "Ändra inloggningsuppgifter", "header": "Uppdatera dina kontouppgifter", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Överlagrar PDF:er ovanpå en annan PDF", "title": "Överlagra PDF:er" + }, + "pdfTextEditor": { + "title": "PDF-textredigerare", + "desc": "Granska och redigera Stirling PDF JSON-exporter med grupperad textredigering och PDF-återgenerering" + }, + "addText": { + "tags": "text,kommentar,etikett", + "title": "Lägg till text", + "desc": "Lägg till egen text var som helst i din PDF" } }, "landing": { "addFiles": "Lägg till filer", - "uploadFromComputer": "Ladda upp från datorn" + "uploadFromComputer": "Ladda upp från datorn", + "openFromComputer": "Öppna från dator" }, "viewPdf": { "tags": "visa,läs,kommentera,text,bild", @@ -849,6 +922,11 @@ }, "error": { "failed": "Ett fel inträffade vid sammanslagning av PDF:erna." + }, + "tooltip": { + "header": { + "title": "Översikt över sammanfogningsinställningar" + } } }, "split": { @@ -1047,7 +1125,7 @@ "settings": "Inställningar", "conversionCompleted": "Konvertering slutförd", "results": "Resultat", - "defaultFilename": "converted_file", + "defaultFilename": "konverterad_fil", "conversionResults": "Konverteringsresultat", "convertFrom": "Konvertera från", "convertTo": "Konvertera till", @@ -1182,9 +1260,43 @@ "tags": "img,jpg,bild,foto", "title": "Lägg till bild", "header": "Lägg till bild till PDF", - "everyPage": "Varje sida?", - "upload": "Lägg till bild", - "submit": "Lägg till bild" + "image": { + "name": "Bild", + "placeholder": "Ladda upp en bild", + "label": "Bildfil" + }, + "steps": { + "configure": "Konfigurera bild" + }, + "step": { + "createDesc": "Ladda upp bilden du vill lägga till", + "place": "Placera bild", + "placeDesc": "Klicka på PDF:en för att lägga till bilden" + }, + "instructions": { + "title": "Så lägger du till bilder", + "text": "Efter att du laddat upp bilden ovan, klicka var som helst i PDF:en för att placera den.", + "paused": "Placering pausad", + "resumeHint": "Återuppta placering för att klicka och lägga till bilden.", + "noSignature": "Ladda upp en bild ovan för att aktivera placering." + }, + "mode": { + "move": "Flytta bild", + "place": "Placera bild", + "pause": "Pausa placering", + "resume": "Återuppta placering" + }, + "results": { + "title": "Resultat för Lägg till bild" + }, + "error": { + "failed": "Ett fel uppstod när bilden skulle läggas till i PDF:en." + }, + "saved": { + "defaultLabel": "Bild", + "defaultImageLabel": "Uppladdad bild" + }, + "applySignatures": "Använd bilder" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1397,6 +1509,93 @@ }, "submit": "Ändra" }, + "editTableOfContents": { + "settings": { + "title": "Bokmärken & disposition", + "replaceExisting": "Ersätt befintliga bokmärken (avmarkera för att lägga till sist)", + "replaceExistingHint": "När inaktiverad läggs den nya dispositionen till efter de nuvarande bokmärkena." + }, + "actions": { + "source": "Ladda bokmärken", + "selectedFile": "Laddat från {{file}}", + "noFile": "Välj en PDF för att extrahera befintliga bokmärken.", + "loadFromPdf": "Ladda från vald PDF", + "importJson": "Importera JSON", + "importClipboard": "Klistra in JSON från Urklipp", + "export": "Exportera bokmärken", + "exportJson": "Hämta JSON", + "exportClipboard": "Kopiera JSON till Urklipp", + "clipboardUnavailable": "Åtkomst till Urklipp är inte tillgängligt i denna webbläsare." + }, + "info": { + "line1": "Varje bokmärke behöver en beskrivande titel och sidan det ska öppna.", + "line2": "Använd underordnade bokmärken för att bygga en hierarki för kapitel, avsnitt eller underavsnitt.", + "line3": "Importera bokmärken från vald PDF eller från en JSON-fil för att spara tid." + }, + "workbench": { + "empty": { + "title": "Öppna verktyget för att börja redigera", + "description": "Välj verktyget Redigera innehållsförteckning för att ladda dess arbetsyta." + }, + "tabTitle": "Arbetsyta för disposition", + "subtitle": "Importera bokmärken, bygg hierarkier och tillämpa dispositionen utan trånga sidopaneler.", + "noFile": "Ingen PDF vald", + "fileLabel": "Ändringar tillämpas på den aktuellt valda PDF:en.", + "filePrompt": "Välj en PDF från ditt bibliotek eller ladda upp en ny för att börja.", + "changeFile": "Byt PDF", + "selectFile": "Välj PDF" + }, + "editor": { + "heading": "Bokmärkesredigerare", + "description": "Lägg till, nästla och ordna om bokmärken för att skapa din PDF-disposition.", + "addTopLevel": "Lägg till bokmärke på toppnivå", + "empty": { + "title": "Inga bokmärken ännu", + "description": "Importera befintliga bokmärken eller börja med att lägga till din första post.", + "action": "Lägg till första bokmärket" + }, + "defaultTitle": "Nytt bokmärke", + "defaultChildTitle": "Underordnat bokmärke", + "defaultSiblingTitle": "Nytt bokmärke", + "untitled": "Namnlöst bokmärke", + "childBadge": "Underordnad", + "pagePreview": "Sida {{page}}", + "field": { + "title": "Bokmärkestitel", + "page": "Målsida" + }, + "actions": { + "toggle": "Visa/dölj underordnade", + "addChild": "Lägg till underordnat bokmärke", + "addSibling": "Lägg till bokmärke på samma nivå", + "remove": "Ta bort bokmärke" + }, + "confirmRemove": "Ta bort detta bokmärke och alla dess underordnade?" + }, + "messages": { + "loadedTitle": "Bokmärken extraherade", + "loadedBody": "Befintliga bokmärken från PDF:en har laddats i redigeraren.", + "noBookmarks": "Inga bokmärken hittades i den valda PDF:en.", + "loadFailed": "Det går inte att extrahera bokmärken från den valda PDF:en.", + "imported": "Bokmärken importerade", + "importedBody": "Din JSON-disposition ersatte redigerarens aktuella innehåll.", + "importedClipboard": "Urklippsdata ersatte den aktuella bokmärkeslistan.", + "invalidJson": "Ogiltig JSON-struktur", + "invalidJsonBody": "Ange en giltig bokmärkes-JSON-fil och försök igen.", + "exported": "JSON-nedladdning klar", + "copied": "Kopierat till Urklipp", + "copiedBody": "Bokmärkes-JSON kopierades.", + "copyFailed": "Kopiering misslyckades" + }, + "error": { + "failed": "Det gick inte att uppdatera innehållsförteckningen" + }, + "submit": "Tillämpa innehållsförteckning", + "results": { + "title": "Uppdaterad PDF med bokmärken", + "subtitle": "Hämta den bearbetade filen eller ångra åtgärden nedan." + } + }, "removePages": { "tags": "Ta bort sidor,radera sidor", "title": "Ta bort", @@ -1978,13 +2177,54 @@ "title": "Rita din signatur", "clear": "Rensa" }, + "canvas": { + "heading": "Rita din signatur", + "clickToOpen": "Klicka för att öppna ritduken", + "modalTitle": "Rita din signatur", + "colorLabel": "Färg", + "penSizeLabel": "Pennstorlek", + "penSizePlaceholder": "Storlek", + "clear": "Rensa duk", + "colorPickerTitle": "Välj streckfärg" + }, "text": { "name": "Undertecknarens namn", - "placeholder": "Ange ditt fullständiga namn" + "placeholder": "Ange ditt fullständiga namn", + "fontLabel": "Typsnitt", + "fontSizeLabel": "Teckenstorlek", + "fontSizePlaceholder": "Skriv eller välj teckenstorlek (8-200)", + "colorLabel": "Textfärg" }, "clear": "Rensa", "add": "Lägg till", - "saved": "Sparade signaturer", + "saved": { + "heading": "Sparade signaturer", + "description": "Återanvänd sparade signaturer när som helst.", + "emptyTitle": "Inga sparade signaturer ännu", + "emptyDescription": "Rita, ladda upp eller skriv en signatur ovan, använd sedan \"Spara till bibliotek\" för att ha upp till {{max}} favoriter redo.", + "type": { + "canvas": "Ritning", + "image": "Uppladdning", + "text": "Text" + }, + "limitTitle": "Gräns nådd", + "limitDescription": "Ta bort en sparad signatur innan du lägger till nya (max {{max}}).", + "carouselPosition": "{{current}} av {{total}}", + "prev": "Föregående", + "next": "Nästa", + "delete": "Ta bort", + "label": "Etikett", + "defaultLabel": "Signatur", + "defaultCanvasLabel": "Ritad signatur", + "defaultImageLabel": "Uppladdad signatur", + "defaultTextLabel": "Skriven signatur", + "saveButton": "Spara signatur", + "saveUnavailable": "Skapa en signatur först för att kunna spara.", + "noChanges": "Aktuell signatur är redan sparad.", + "status": { + "saved": "Sparad" + } + }, "save": "Spara signatur", "applySignatures": "Tillämpa signaturer", "personalSigs": "Personliga signaturer", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Konfigurera signatur" }, + "step": { + "createDesc": "Välj hur du vill skapa signaturen", + "place": "Placera & spara", + "placeDesc": "Placera signaturen på din PDF" + }, "type": { "title": "Signaturtyp", "draw": "Rita", "canvas": "Canvas", "image": "Bild", - "text": "Text" + "text": "Text", + "saved": "Sparad" }, "image": { "label": "Ladda upp signaturbild", @@ -2019,11 +2265,17 @@ "title": "Så här lägger du till signatur", "canvas": "När du har ritat din signatur i canvasen, stäng dialogen och klicka sedan var som helst i PDF:en för att placera den.", "image": "När du har laddat upp din signaturbild ovan, klicka var som helst i PDF:en för att placera den.", - "text": "När du har angett ditt namn ovan, klicka var som helst i PDF:en för att placera din signatur." + "saved": "Välj en sparad signatur ovan, klicka sedan var som helst i PDF:en för att placera den.", + "text": "När du har angett ditt namn ovan, klicka var som helst i PDF:en för att placera din signatur.", + "paused": "Placering pausad", + "resumeHint": "Återuppta placering för att klicka och lägga till din signatur.", + "noSignature": "Skapa en signatur ovan för att aktivera placeringsverktygen." }, "mode": { "move": "Flytta signatur", - "place": "Placera signatur" + "place": "Placera signatur", + "pause": "Pausa placering", + "resume": "Återuppta placering" }, "updateAndPlace": "Uppdatera och placera", "activate": "Aktivera signaturplacering", @@ -2163,6 +2415,14 @@ "title": "Om att ta bort annoteringar", "description": "Detta verktyg tar bort alla annoteringar (kommentarer, markeringar, anteckningar, etc.) från dina PDF-dokument." }, + "tooltip": { + "header": { + "title": "Om Ta bort annoteringar" + }, + "description": { + "title": "Vad det gör" + } + }, "error": { "failed": "Ett fel inträffade när annoteringar togs bort från PDF:en." } @@ -2467,7 +2727,7 @@ } }, "bookletImposition": { - "tags": "booklet,imposition,printing,binding,folding,signature", + "tags": "häfte,utläggning,utskrift,bindning,vikning,signatur", "title": "Häftesuppställning", "header": "Häftesuppställning", "submit": "Skapa häfte", @@ -2568,7 +2828,7 @@ "submit": "Skicka" }, "adjustPageScale": { - "tags": "resize,modify,dimension,adapt", + "tags": "ändra storlek,ändra,dimension,anpassa", "title": "Justera sidskalning", "header": "Justera sidskalning", "scaleFactor": { @@ -2627,6 +2887,9 @@ "header": { "title": "Så fungerar automatisk namnändring" }, + "description": { + "title": "Vad det gör" + }, "howItWorks": { "title": "Smart namnbyte", "text": "Hittar automatiskt titeln i innehållet i din PDF och använder den som filnamn.", @@ -2634,6 +2897,9 @@ "bullet2": "Skapar ett rent, giltigt filnamn från den upptäckta titeln", "bullet3": "Behåller ursprungsnamnet om ingen lämplig titel hittas" } + }, + "settings": { + "title": "Om" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "Oväntat fel: {{message}}", "accountCreatedSuccess": "Kontot har skapats! Du kan nu logga in.", "passwordChangedSuccess": "Lösenordet har ändrats. Logga in med ditt nya lösenord.", - "credentialsUpdated": "Dina uppgifter har uppdaterats. Logga in igen." + "credentialsUpdated": "Dina uppgifter har uppdaterats. Logga in igen.", + "defaultCredentials": "Standardinloggningsuppgifter", + "changePasswordWarning": "Byt ditt lösenord efter att du loggat in första gången", + "slides": { + "overview": { + "alt": "Översikt över Stirling PDF", + "title": "Din allt-i-ett-lösning för alla dina PDF-behov.", + "subtitle": "En integritetsfokuserad molnsuite för PDF som låter dig konvertera, signera, maskera och hantera dokument, plus 50+ andra kraftfulla verktyg." + }, + "edit": { + "alt": "Redigera PDF-filer", + "title": "Redigera PDF-filer för att visa/säkra den information du vill", + "subtitle": "Med över ett dussin verktyg för att maskera, signera, läsa och manipulera PDF-filer hittar du garanterat det du söker." + }, + "secure": { + "alt": "Säkra PDF-filer", + "title": "Skydda känslig information i dina PDF-filer", + "subtitle": "Lägg till lösenord, maskera innehåll och hantera certifikat enkelt." + } + } }, "signup": { "title": "Skapa ett konto", @@ -3502,7 +3787,7 @@ "title": "API-dokumentation", "header": "API-dokumentation", "desc": "Visa och testa Stirling PDF API-slutpunkter", - "tags": "api,documentation,swagger,endpoints,development" + "tags": "api,dokumentation,swagger,ändpunkter,utveckling" }, "cookieBanner": { "popUp": { @@ -3598,7 +3883,9 @@ "exportAll": "Exportera PDF", "downloadSelected": "Ladda ner markerade filer", "downloadAll": "Ladda ner alla", + "saveAll": "Spara alla", "toggleTheme": "Växla tema", + "toggleBookmarks": "Visa/dölj bokmärken", "language": "Språk", "search": "Sök i PDF", "panMode": "Panoreringsläge", @@ -3685,8 +3972,16 @@ "saved": "Inställningarna sparades", "saveSuccess": "Inställningarna sparades", "save": "Spara ändringar", + "discard": "Förkasta", "restartRequired": "Omstart krävs", "loginRequired": "Inloggningsläge måste vara aktiverat för att ändra admininställningar", + "unsavedChanges": { + "title": "Osparade ändringar", + "message": "Du har osparade ändringar. Vill du förkasta dem?", + "cancel": "Fortsätt redigera", + "discard": "Förkasta ändringar", + "hint": "Du har osparade ändringar" + }, "loginDisabled": { "title": "Inloggningsläge krävs", "message": "Inloggningsläge måste vara aktiverat för att ändra admininställningar. Ställ in SECURITY_ENABLELOGIN=true i din miljö eller security.enableLogin: true i settings.yml och starta sedan om servern.", @@ -3951,11 +4246,11 @@ "description": "OAuth2-leverantörens issuer-URL" }, "clientId": { - "label": "Client ID", + "label": "Klient-ID", "description": "OAuth2 Client ID från din leverantör" }, "clientSecret": { - "label": "Client Secret", + "label": "Klienthemlighet", "description": "OAuth2 Client Secret från din leverantör" }, "useAsUsername": { @@ -4137,7 +4432,7 @@ "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", "weasyPrint": "WeasyPrint", - "installApp": "Install App", + "installApp": "Installera app", "calibre": "Calibre", "ghostscript": "Ghostscript", "ocrMyPdf": "OCRmyPDF" @@ -4212,9 +4507,21 @@ "title": "Premium och Enterprise", "description": "Konfigurera din premium- eller enterprise-licensnyckel.", "license": "Licenskonfiguration", + "licenseKey": { + "toggle": "Har du en licensnyckel eller certifikatfil?", + "info": "Om du har en licensnyckel eller certifikatfil från ett direktköp kan du ange den här för att aktivera premium- eller enterprise-funktioner." + }, "key": { "label": "Licensnyckel", - "description": "Ange din premium- eller enterprise-licensnyckel" + "description": "Ange din premium- eller enterprise-licensnyckel", + "success": "Licensnyckel sparad", + "successMessage": "Din licensnyckel har aktiverats. Ingen omstart krävs.", + "overwriteWarning": { + "title": "⚠️ Varning: Befintlig licens upptäckt", + "line1": "Att skriva över din nuvarande licensnyckel kan inte ångras.", + "line2": "Din tidigare licens går förlorad permanent om du inte har säkerhetskopierat den någon annanstans.", + "line3": "Viktigt: Håll licensnycklar privata och säkra. Dela dem aldrig offentligt." + } }, "enabled": { "label": "Aktivera premiumfunktioner", @@ -4278,12 +4585,17 @@ "or": "eller", "dropFileHere": "Släpp fil här eller klicka för att ladda upp", "dropFilesHere": "Släpp filer här eller klicka på uppladdningsknappen", + "dropFilesHereOpen": "Släpp filer här eller klicka på knappen Öppna", "pdfFilesOnly": "Endast PDF-filer", "supportedFileTypes": "Filtyper som stöds", "upload": "Ladda upp", "uploadFile": "Ladda upp fil", "uploadFiles": "Ladda upp filer", + "open": "Öppna", + "openFile": "Öppna fil", + "openFiles": "Öppna filer", "noFilesInStorage": "Inga filer tillgängliga i lagringen. Ladda upp filer först.", + "noFilesInStorageOpen": "Inga filer tillgängliga i lagringen. Öppna några filer först.", "selectFromStorage": "Välj från lagring", "backToTools": "Tillbaka till verktyg", "addFiles": "Lägg till filer", @@ -4329,6 +4641,8 @@ "myFiles": "Mina filer", "noRecentFiles": "Inga senaste filer hittades", "googleDriveNotAvailable": "Google Drive-integration är inte tillgänglig", + "downloadSelected": "Ladda ner markerade", + "saveSelected": "Spara markerade", "openFiles": "Öppna filer", "openFile": "Öppna fil", "details": "Filinformation", @@ -4341,7 +4655,6 @@ "selectAll": "Välj allt", "deselectAll": "Avmarkera alla", "deleteSelected": "Ta bort valda", - "downloadSelected": "Ladda ner markerade", "selectedCount": "{{count}} markerade", "download": "Ladda ner", "delete": "Radera", @@ -4439,7 +4752,7 @@ "keyLength": { "label": "Längd på krypteringsnyckel", "40bit": "40-bit (Låg)", - "128bit": "128-bit (Standard)", + "128bit": "128-bit (standard)", "256bit": "256-bit (Hög)" } }, @@ -4621,9 +4934,14 @@ "secureWorkflow": "Säkerhetsarbetsflöde", "secureWorkflowDesc": "Säkrar PDF-dokument genom att ta bort potentiellt skadligt innehåll som JavaScript och inbäddade filer, och lägger sedan till lösenordsskydd för att förhindra obehörig åtkomst. Lösenordet är som standard satt till 'password'.", "processImages": "Bearbeta bilder", - "processImagesDesc": "Konverterar flera bildfiler till ett enda PDF-dokument och tillämpar sedan OCR-teknik för att extrahera sökbar text från bilderna." + "processImagesDesc": "Konverterar flera bildfiler till ett enda PDF-dokument och tillämpar sedan OCR-teknik för att extrahera sökbar text från bilderna.", + "prePublishSanitization": "Sanering före publicering", + "prePublishSanitizationDesc": "Saneringsflöde som tar bort all dold metadata, JavaScript, inbäddade filer och anteckningar, samt plattar ut formulär för att förhindra dataläckage innan PDF:er publiceras online." } }, + "colorPicker": { + "title": "Välj färg" + }, "common": { "previous": "Föregående", "next": "Nästa", @@ -4639,7 +4957,13 @@ "used": "använt", "available": "tillgängligt", "cancel": "Avbryt", - "preview": "Förhandsgranska" + "preview": "Förhandsgranska", + "close": "Stäng", + "done": "Klar", + "loading": "Läser in...", + "back": "Tillbaka", + "continue": "Fortsätt", + "error": "Fel" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Lägg till fler filer...", "selectedFiles": "Valda filer", "submit": "Lägg till bilagor", + "tooltip": { + "header": { + "title": "Om Lägg till bilagor" + }, + "description": { + "title": "Vad det gör" + } + }, "results": { "title": "Bilageresultat" }, @@ -4724,11 +5056,10 @@ }, "customPosition": "Anpassad position", "details": "Detaljer", - "downloadUnavailable": "Nedladdning inte tillgänglig för detta objekt", "invalidUndoData": "Kan inte ångra: ogiltiga åtgärdsdata", "margin": { "large": "Stor", - "medium": "Medium", + "medium": "Mellan", "small": "Liten", "xLarge": "Extra stor" }, @@ -4801,6 +5132,10 @@ "maybeLater": "Kanske senare", "dontShowAgain": "Visa inte igen" }, + "welcomeSlide": { + "title": "Välkommen till Stirling", + "body": "Stirling PDF är nu redo för team i alla storlekar. Denna uppdatering innehåller en ny layout, kraftfulla nya adminfunktioner och vår mest efterfrågade funktion - Redigera text." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Låt oss välja verktyget Beskär för att visa hur man använder ett av verktygen.", "toolInterface": "Detta är gränssnittet för verktyget Beskär. Som du ser finns det inte mycket där eftersom vi ännu inte har lagt till några PDF-filer att arbeta med.", @@ -4823,7 +5158,39 @@ "next": "Nästa", "finish": "Slutför", "startTour": "Starta rundtur", - "startTourDescription": "Ta en guidad tur av Stirling PDFs nyckelfunktioner" + "startTourDescription": "Ta en guidad tur av Stirling PDFs nyckelfunktioner", + "buttons": { + "next": "Nästa →", + "back": "Tillbaka", + "skipForNow": "Hoppa över nu", + "download": "Ladda ner →", + "showMeAround": "Visa mig runt", + "skipTheTour": "Hoppa över rundturen" + }, + "serverLicense": { + "skip": "Hoppa över nu", + "seePlans": "Se planer →", + "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 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." + }, + "desktopInstall": { + "title": "Ladda ner", + "titleWithOs": "Ladda ner för {{osLabel}}", + "body": "Stirling fungerar bäst som ett skrivbordsprogram. Du kan använda det offline, komma åt dokument snabbare och göra redigeringar lokalt på din dator." + }, + "planOverview": { + "adminTitle": "Adminöversikt", + "userTitle": "Planöversikt", + "adminBodyLoginEnabled": "Som admin kan du hantera användare, konfigurera inställningar och övervaka serverhälsa. De första {{freeTierLimit}} personerna på din server får använda Stirling gratis.", + "adminBodyLoginDisabled": "När du aktiverar inloggningsläge kan du hantera användare, konfigurera inställningar och övervaka serverhälsa. De första {{freeTierLimit}} personerna på din server får använda Stirling gratis.", + "userBody": "Bjud in teammedlemmar, tilldela roller och håll dina dokument organiserade i en säker arbetsyta. Aktivera inloggningsläge när du är redo att växa bortom sololäge." + }, + "securityCheck": { + "message": "Applikationen har nyligen genomgått stora förändringar. Din serveradmins uppmärksamhet kan krävas. Bekräfta din roll för att fortsätta." + } }, "adminOnboarding": { "welcome": "Välkommen till Admin-rundturen! Låt oss utforska de kraftfulla företagsfunktionerna och inställningarna som finns tillgängliga för systemadministratörer.", @@ -4852,7 +5219,10 @@ "role": "Roll", "team": "Team", "status": "Status", - "actions": "Åtgärder", + "actions": { + "label": "Åtgärder", + "upgrade": "Uppgradera" + }, "noMembersFound": "Inga medlemmar hittades", "active": "Aktiv", "disabled": "Inaktiverad", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} användarplatser tillgängliga", "noSlotsAvailable": "Inga platser tillgängliga", "currentUsage": "Använder för närvarande {{current}} av {{max}} användarlicenser" - } + }, + "loginRequired": "Aktivera inloggningsläge först" }, "teams": { "title": "Team", @@ -5057,6 +5428,17 @@ "showComparison": "Jämför alla funktioner", "hideComparison": "Dölj funktionsjämförelse", "featureComparison": "Funktionsjämförelse", + "from": "Från", + "perMonth": "/månad", + "perSeat": "/plats", + "withServer": "+ Serverplan", + "licensedSeats": "Licensierade: {{count}} platser", + "includedInCurrent": "Ingår i din plan", + "selectPlan": "Välj plan", + "manage": "Hantera", + "manageSubscription": { + "description": "Hantera din prenumeration, fakturering och betalningsmetoder" + }, "activePlan": { "title": "Aktiv plan", "subtitle": "Detaljer om din nuvarande prenumeration" @@ -5074,13 +5456,16 @@ "upTo": "Upp till" }, "period": { - "month": "månad" + "month": "månad", + "perUserPerMonth": "/användare/månad" }, "free": { "name": "Gratis", "highlight1": "Begränsad verktygsanvändning per vecka", "highlight2": "Tillgång till alla verktyg", - "highlight3": "Community-stöd" + "highlight3": "Community-stöd", + "forever": "Gratis för alltid", + "included": "Ingår" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Anpassad prissättning", "highlight2": "Dedikerad support", - "highlight3": "Senaste funktionerna" + "highlight3": "Senaste funktionerna", + "requiresServer": "Kräver Server", + "requiresServerMessage": "Uppgradera till Server-planen först innan du uppgraderar till Enterprise." }, "feature": { "title": "Funktion", @@ -5102,6 +5489,12 @@ "api": "API-åtkomst", "priority": "Prioriterad support", "customPricing": "Anpassad prissättning" + }, + "licenseWarning": { + "title": "Gräns för gratis självhostad nådd", + "body": "Du har {{total}} användare men gratisnivån stöder endast {{limit}} per server. Uppgradera för att hålla Stirling PDF igång smidigt.", + "overLimit": "mer än {{limit}}", + "cta": "Se planer" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Hantera fakturering", "portal": { "error": "Misslyckades med att öppna faktureringsportalen" - } + }, + "updateSeats": "Uppdatera platser", + "updateEnterpriseSeats": "Uppdatera Enterprise-platser", + "currentSeats": "Nuvarande platser", + "minimumSeats": "Minsta platser", + "basedOnUsers": "(nuvarande användare)", + "newSeatCount": "Nytt platsantal", + "newSeatCountDescription": "Välj antal platser för din företagslicens", + "whatHappensNext": "Vad händer härnäst?", + "stripePortalRedirect": "Du omdirigeras till Stripes fakturaportal för att granska och bekräfta ändringen. Det proportionella beloppet beräknas automatiskt.", + "preparingUpdate": "Förbereder platsuppdatering...", + "seatCountTooLow": "Antalet platser måste vara minst {{minimum}} (nuvarande antal användare)", + "seatCountUnchanged": "Välj ett annat platsantal", + "seatsUpdated": "Platser uppdaterade", + "seatsUpdatedMessage": "Dina Enterprise-platser har uppdaterats till {{seats}}", + "updateProcessing": "Uppdatering bearbetas", + "updateProcessingMessage": "Din platsuppdatering bearbetas. Uppdatera om en stund.", + "notEnterprise": "Platshantering är endast tillgänglig för företagslicenser" + }, + "upgradeBanner": { + "title": "Uppgradera till Server-planen", + "message": "Få ut det mesta av Stirling PDF med obegränsade användare och avancerade funktioner", + "upgradeButton": "Uppgradera nu", + "dismiss": "Avvisa banderoll", + "attentionTitle": "Denna server kräver adminåtgärd", + "attentionBody": "Din admin behöver logga in för att se mer info. Kontakta dem omedelbart.", + "attentionBodyAdmin": "Gå igenom licenskraven för att hålla denna server kompatibel.", + "seeInfo": "Visa info" }, "payment": { "preparing": "Förbereder din kassa...", @@ -5128,7 +5548,61 @@ "success": "Betalning genomförd!", "successMessage": "Din prenumeration har aktiverats. Du får snart en bekräftelse via e-post.", "autoClose": "Detta fönster stängs automatiskt...", - "error": "Betalningsfel" + "error": "Betalningsfel", + "upgradeSuccess": "Betalning lyckades! Din prenumeration har uppgraderats. Licensen har uppdaterats på din server. Du får snart en bekräftelse via e-post.", + "paymentSuccess": "Betalning lyckades! Hämtar din licensnyckel...", + "licenseActivated": "Licens aktiverad! Din licensnyckel har sparats. Ett bekräftelsemail har skickats till din registrerade e-postadress.", + "licenseDelayed": "Betalning lyckades! Din licens genereras. Du får snart ett mejl med din licensnyckel. Om du inte får den inom 10 minuter, kontakta support.", + "licensePollingError": "Betalning lyckades men vi kunde inte hämta din licensnyckel automatiskt. Kontrollera din e-post eller kontakta support med din betalningsbekräftelse.", + "licenseRetrievalError": "Betalning lyckades men licenshämtning misslyckades. Du kommer att få din licensnyckel via e-post. Kontakta support om du inte får den inom 10 minuter.", + "syncError": "Betalning lyckades men licenssynkronisering misslyckades. Din licens uppdateras snart. Kontakta support om problem kvarstår.", + "licenseSaveError": "Det gick inte att spara licensnyckeln. Kontakta support med din licensnyckel för att slutföra aktiveringen.", + "paymentCanceled": "Betalningen avbröts. Inga avgifter drogs.", + "syncingLicense": "Synkroniserar din uppgraderade licens...", + "generatingLicense": "Genererar din licensnyckel...", + "upgradeComplete": "Uppgradering klar", + "upgradeCompleteMessage": "Din prenumeration har uppgraderats. Din befintliga licensnyckel har uppdaterats.", + "stripeNotConfigured": "Stripe ej konfigurerat", + "stripeNotConfiguredMessage": "Stripe-betalningsintegrationen är inte konfigurerad. Kontakta din administratör.", + "monthly": "Månadsvis", + "yearly": "Årsvis", + "billingPeriod": "Faktureringsperiod", + "enterpriseNote": "Platser kan justeras i kassan (1–1000).", + "installationId": "Installations-ID", + "licenseKey": "Din licensnyckel", + "licenseInstructions": "Detta har lagts till i din installation. Du får också en kopia i din e-post.", + "canCloseWindow": "Du kan nu stänga detta fönster.", + "licenseKeyProcessing": "Licensnyckel bearbetas", + "licenseDelayedMessage": "Din licensnyckel genereras. Kontrollera din e-post snart eller kontakta support.", + "perYear": "/år", + "perMonth": "/månad", + "emailInvalid": "Ange en giltig e-postadress", + "emailStage": { + "title": "Ange din e-post", + "description": "Vi använder den för att skicka din licensnyckel och kvitton.", + "emailLabel": "E-postadress", + "emailPlaceholder": "your@email.com", + "continue": "Fortsätt", + "modalTitle": "Kom igång - {{planName}}" + }, + "planStage": { + "title": "Välj din faktureringsperiod", + "savingsNote": "Spara {{percent}}% med årsvis fakturering", + "basePrice": "Grundpris", + "seatPrice": "Per plats", + "totalForSeats": "Totalt ({{count}} platser)", + "selectMonthly": "Välj månadsvis", + "selectYearly": "Välj årsvis", + "savePercent": "Spara {{percent}}%", + "savingsAmount": "Du sparar {{amount}}", + "modalTitle": "Välj faktureringsperiod - {{planName}}", + "billedYearly": "Faktureras årsvis med {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Tillbaka till planval", + "selectedPlan": "Vald plan", + "modalTitle": "Slutför betalning - {{planName}}" + } }, "firstLogin": { "title": "Första inloggningen", @@ -5287,5 +5761,281 @@ "offline": "Backend offline", "starting": "Backend startar...", "wait": "Vänta tills backend har startat klart och försök igen." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Lås upp PDF för att fortsätta", + "title": "Ta bort lösenord för att fortsätta", + "description": "Denna PDF är lösenordsskyddad. Ange lösenordet så att du kan fortsätta arbeta med den.", + "password": { + "label": "PDF-lösenord", + "placeholder": "Ange PDF-lösenordet" + }, + "skip": "Hoppa över nu", + "unlock": "Lås upp och fortsätt", + "incorrectPassword": "Felaktigt lösenord", + "missingFile": "Den valda filen är inte längre tillgänglig.", + "emptyResponse": "Borttagning av lösenord gav ingen fil.", + "required": "Ange lösenordet för att fortsätta.", + "successTitle": "Lösenord borttaget", + "successBodyWithName": "Lösenord borttaget från {{fileName}}", + "successBody": "Lösenordet togs bort." + }, + "setup": { + "welcome": "Välkommen till Stirling PDF", + "description": "Kom igång genom att välja hur du vill använda Stirling PDF", + "step1": { + "label": "Välj läge", + "description": "Offline eller server" + }, + "step2": { + "label": "Välj server", + "description": "Självhostad server" + }, + "step3": { + "label": "Logga in", + "description": "Ange inloggningsuppgifter" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Logga in med ditt Stirling-konto" + }, + "selfhosted": { + "title": "Självhostad server", + "description": "Anslut till din egen Stirling PDF-server" + } + }, + "saas": { + "title": "Logga in på Stirling", + "subtitle": "Logga in med ditt Stirling-konto" + }, + "selfhosted": { + "title": "Logga in på server", + "subtitle": "Ange dina serveruppgifter" + }, + "server": { + "title": "Anslut till server", + "subtitle": "Ange URL till din självhostade server", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Självhostad server" + }, + "url": { + "label": "Server-URL", + "description": "Ange den fullständiga URL:en till din självhostade Stirling PDF-server" + }, + "error": { + "emptyUrl": "Ange en server-URL", + "unreachable": "Kunde inte ansluta till servern", + "testFailed": "Anslutningstest misslyckades" + }, + "testing": "Testar anslutning..." + }, + "login": { + "title": "Logga in", + "subtitle": "Ange dina uppgifter för att fortsätta", + "connectingTo": "Ansluter till:", + "username": { + "label": "Användarnamn", + "placeholder": "Ange ditt användarnamn" + }, + "email": { + "label": "E-post", + "placeholder": "Ange din e-post" + }, + "password": { + "label": "Lösenord", + "placeholder": "Ange ditt lösenord" + }, + "error": { + "emptyUsername": "Ange ditt användarnamn", + "emptyEmail": "Ange din e-post", + "emptyPassword": "Ange ditt lösenord", + "oauthFailed": "OAuth-inloggning misslyckades. Försök igen." + }, + "submit": "Logga in", + "signInWith": "Logga in med", + "oauthPending": "Öppnar webbläsaren för autentisering...", + "orContinueWith": "Eller fortsätt med e-post" + } + }, + "oauth": { + "success": { + "title": "Autentisering lyckades", + "message": "Du kan stänga detta fönster och återgå till Stirling PDF." + }, + "error": { + "title": "Autentisering misslyckades", + "message": "Autentiseringen lyckades inte. Du kan stänga detta fönster och försöka igen." + } + }, + "pdfTextEditor": { + "title": "PDF JSON-redigerare", + "viewLabel": "PDF-redigerare", + "converting": "Konverterar PDF till redigerbart format...", + "conversionFailed": "Det gick inte att konvertera PDF. Försök igen.", + "currentFile": "Aktuell fil: {{name}}", + "pageSummary": "Sida {{number}} av {{total}}", + "pagePreviewAlt": "Sidförhandsvisning", + "imageLabel": "Placerad bild", + "noTextOnPage": "Ingen redigerbar text upptäcktes på denna sida.", + "pageType": { + "paragraph": "Styckessida", + "sparse": "Gles text" + }, + "groupingMode": { + "auto": "Auto", + "paragraph": "Stycke", + "singleLine": "Enkel rad" + }, + "badges": { + "unsaved": "Redigerad", + "modified": "Redigerad", + "earlyAccess": "Tidig åtkomst" + }, + "actions": { + "reset": "Återställ ändringar", + "downloadJson": "Ladda ner JSON", + "generatePdf": "Skapa PDF" + }, + "options": { + "autoScaleText": { + "title": "Skala text automatiskt för att passa rutor", + "description": "Skalar automatiskt text horisontellt så att den ryms i sin ursprungliga begränsningsruta när fontrenderingen skiljer sig från PDF:en." + }, + "groupingMode": { + "title": "Läge för gruppering av text", + "autoDescription": "Identifierar automatiskt sidtyp och grupperar texten därefter.", + "paragraphDescription": "Grupperar justerade rader till flerradiga styckesrutor.", + "singleLineDescription": "Behåller varje PDF-textrad som en separat textruta." + }, + "manualGrouping": { + "descriptionInline": "Tips: Håll Ctrl (Cmd) eller Shift för att markera flera textrutor. En flytande verktygsrad visas ovanför markeringen så att du kan slå ihop, dela upp eller justera bredder." + }, + "forceSingleElement": { + "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." + } + }, + "manual": { + "mergeTooltip": "Slå ihop markerade textrutor", + "merge": "Slå ihop markering", + "ungroupTooltip": "Dela upp stycke i rader", + "ungroup": "Dela upp markering", + "widthMenu": "Breddalternativ", + "expandWidth": "Utöka till sidkant", + "resetWidth": "Återställ bredd", + "resizeHandle": "Justera textbredd" + }, + "disclaimer": { + "heading": "Begränsningar i förhandsvisning", + "textFocus": "Denna arbetsyta fokuserar på att redigera text och flytta inbäddade bilder. Komplex sidgrafik, formulärkontroller och lagergrafik bevaras för export men är inte fullt redigerbara här.", + "previewVariance": "Vissa visuella element (t.ex. tabellramar, former eller annoteringars utseende) kan visas annorlunda i förhandsvisningen. Den exporterade PDF:en behåller originalets ritkommandon när det är möjligt.", + "alpha": "Denna alfa-visare utvecklas fortfarande—vissa typsnitt, färger, transparenseffekter och layoutdetaljer kan avvika något. Kontrollera den genererade PDF:en innan du delar." + }, + "empty": { + "title": "Inget dokument inläst", + "subtitle": "Ladda en PDF- eller JSON-fil för att börja redigera textinnehåll." + }, + "welcomeBanner": { + "title": "Välkommen till PDF Text Editor (Tidig åtkomst)", + "experimental": "Detta är en experimentell funktion under aktiv utveckling. Räkna med viss instabilitet och problem under användning.", + "howItWorks": "Detta verktyg konverterar din PDF till ett redigerbart format där du kan ändra textinnehåll och flytta bilder. Ändringar sparas tillbaka som en ny PDF.", + "bestFor": "Fungerar bäst med:", + "bestFor1": "Enkla PDF:er som främst innehåller text och bilder", + "bestFor2": "Dokument med standardiserad styckeformatering", + "bestFor3": "Brev, essäer, rapporter och grundläggande dokument", + "notIdealFor": "Inte idealiskt för:", + "notIdealFor1": "PDF:er med speciell formatering som punktlistor, tabeller eller flerkolumnslayouter", + "notIdealFor2": "Tidskrifter, broschyrer eller tungt designade dokument", + "notIdealFor3": "Instruktionshandböcker med komplex layout", + "limitations": "Nuvarande begränsningar:", + "limitation1": "Fontrendering kan avvika något från den ursprungliga PDF:en", + "limitation2": "Komplex grafik, formulärfält och annoteringar bevaras men kan inte redigeras", + "limitation3": "Stora filer kan ta tid att konvertera och bearbeta", + "knownIssues": "Kända problem (åtgärdas):", + "issue1": "Textfärg bevaras för närvarande inte (läggs till snart)", + "issue2": "Styckeläge har fler problem med justering och avstånd – läget Enkel rad rekommenderas", + "issue3": "Förhandsvisningen skiljer sig från exporterad PDF – exporterade PDF:er ligger närmare originalet", + "issue4": "Roterad text kan kräva manuell justering", + "issue5": "Transparens- och lagereffekter kan avvika från originalet", + "feedback": "Detta är en tidig åtkomst-funktion. Rapportera gärna problem du stöter på för att hjälpa oss förbättra!", + "gotIt": "Förstått", + "dontShowAgain": "Visa inte igen" + }, + "modeChange": { + "title": "Bekräfta lägesbyte", + "warning": "Att byta läge för textgruppering återställer alla osparade ändringar. Är du säker på att du vill fortsätta?", + "cancel": "Avbryt", + "confirm": "Återställ och byt läge" + }, + "fontAnalysis": { + "details": "Typsnittsdetaljer", + "embedded": "Inbäddad", + "type": "Typ", + "webFormat": "Webbformat", + "warnings": "Varningar", + "suggestions": "Anteckningar", + "currentPageFonts": "Typsnitt på denna sida", + "allFonts": "Alla typsnitt", + "fallback": "reserv", + "missing": "saknas", + "perfectMessage": "Alla typsnitt kan återskapas perfekt.", + "warningMessage": "Vissa typsnitt kanske inte återges korrekt.", + "infoMessage": "Information om typsnittsåtergivning finns.", + "perfect": "perfekt", + "subset": "delmängd" + }, + "errors": { + "invalidJson": "Det gick inte att läsa JSON-filen. Kontrollera att den skapades av verktyget PDF till JSON.", + "pdfConversion": "Det gick inte att konvertera den redigerade JSON-filen tillbaka till en PDF." + } + }, + "auth": { + "sessionExpired": "Sessionen har gått ut", + "pleaseLoginAgain": "Logga in igen.", + "accessDenied": "Åtkomst nekad", + "insufficientPermissions": "Du har inte behörighet att utföra denna åtgärd." + }, + "addText": { + "title": "Lägg till text", + "header": "Lägg till text i PDF:er", + "text": { + "name": "Textinnehåll", + "placeholder": "Ange texten du vill lägga till", + "fontLabel": "Typsnitt", + "fontSizeLabel": "Textstorlek", + "fontSizePlaceholder": "Skriv eller välj textstorlek (8–200)", + "colorLabel": "Textfärg" + }, + "steps": { + "configure": "Konfigurera text" + }, + "step": { + "createDesc": "Ange texten du vill lägga till", + "place": "Placera text", + "placeDesc": "Klicka på PDF:en för att lägga till din text" + }, + "instructions": { + "title": "Så lägger du till text", + "text": "När du skrivit in din text ovan, klicka var som helst på PDF:en för att placera den.", + "paused": "Placering pausad", + "resumeHint": "Återuppta placeringen för att kunna klicka och lägga till din text.", + "noSignature": "Ange text ovan för att aktivera placering." + }, + "mode": { + "move": "Flytta text", + "place": "Placera text", + "pause": "Pausa placering", + "resume": "Återuppta placering" + }, + "results": { + "title": "Resultat för Lägg till text" + }, + "error": { + "failed": "Ett fel inträffade när text lades till i PDF:en." + }, + "tags": "text,annotering,etikett", + "applySignatures": "Verkställ text" } } \ No newline at end of file diff --git a/frontend/public/locales/th-TH/translation.json b/frontend/public/locales/th-TH/translation.json index f368624f3..53cd89366 100644 --- a/frontend/public/locales/th-TH/translation.json +++ b/frontend/public/locales/th-TH/translation.json @@ -17,6 +17,8 @@ "comingSoon": "เร็วๆ นี้:", "favorite": "เพิ่มในรายการโปรด", "favorites": "รายการโปรด", + "unavailable": "ปิดใช้งานโดยผู้ดูแลเซิร์ฟเวอร์:", + "unavailableDependency": "ไม่พร้อมใช้ - ไม่มีเครื่องมือที่จำเป็นบนเซิร์ฟเวอร์:", "heading": "เครื่องมือทั้งหมด (มุมมองเต็มหน้าจอ)", "noResults": "ลองปรับการค้นหาหรือสลับคำอธิบายเพื่อค้นหาสิ่งที่ต้องการ", "recommended": "แนะนำ", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "สลับเป็นโหมดเต็มหน้าจอ", "sidebar": "สลับเป็นโหมดแถบด้านข้าง" - } + }, + "alpha": "อัลฟา", + "premiumFeature": "ฟีเจอร์พรีเมียม:", + "comingSoon": "เร็วๆ นี้:" }, "unsavedChanges": "คุณมีการเปลี่ยนแปลงที่ยังไม่ได้บันทึกใน PDF", "areYouSure": "แน่ใจหรือไม่ว่าต้องการออก?", @@ -41,6 +46,30 @@ "cancel": "ยกเลิก", "confirm": "แตกไฟล์" }, + "defaultApp": { + "title": "ตั้งเป็นแอป PDF เริ่มต้น", + "message": "ต้องการตั้ง Stirling PDF เป็นโปรแกรมแก้ไข PDF เริ่มต้นหรือไม่?", + "description": "คุณสามารถเปลี่ยนได้ภายหลังในตั้งค่าระบบของคุณ", + "notNow": "ยังไม่ใช่ตอนนี้", + "setDefault": "ตั้งเป็นค่าเริ่มต้น", + "dismiss": "ปิด", + "prompt": { + "title": "ตั้งเป็นโปรแกรมแก้ไข PDF เริ่มต้น", + "message": "ทำให้ Stirling PDF เป็นแอปเริ่มต้นสำหรับเปิดไฟล์ PDF" + }, + "success": { + "title": "ตั้งเป็นแอปเริ่มต้นแล้ว", + "message": "Stirling PDF เป็นโปรแกรมแก้ไข PDF เริ่มต้นของคุณแล้ว" + }, + "settingsOpened": { + "title": "เปิดการตั้งค่าแล้ว", + "message": "โปรดเลือก Stirling PDF ในการตั้งค่าระบบของคุณ" + }, + "error": { + "title": "ข้อผิดพลาด", + "message": "ตั้งตัวจัดการ PDF เริ่มต้นไม่สำเร็จ" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "บันทึก", "saveToBrowser": "บันทึกในเบราว์เซอร์", "download": "ดาวน์โหลด", + "downloadUnavailable": "ไม่สามารถดาวน์โหลดรายการนี้ได้", + "saveUnavailable": "ไม่สามารถบันทึกสำหรับรายการนี้", "pin": "ปักหมุดไฟล์ (คงไว้หลังรันเครื่องมือ)", "unpin": "เอาปักหมุดไฟล์ออก (แทนที่หลังรันเครื่องมือ)", "undoOperationTooltip": "คลิกเพื่อยกเลิกรายการล่าสุดและกู้คืนไฟล์ต้นฉบับ", @@ -168,6 +199,7 @@ }, "edit": "แก้ไข", "delete": "ลบ", + "never": "ไม่เคย", "username": "ชื่อผู้ใช้", "password": "รหัสผ่าน", "welcome": "ยินดีต้อนรับ", @@ -262,7 +294,8 @@ "learnMore": "เรียนรู้เพิ่มเติม", "enable": "เปิดการวิเคราะห์", "disable": "ปิดการวิเคราะห์", - "settings": "คุณสามารถเปลี่ยนแปลงการตั้งค่าการวิเคราะห์ในไฟล์ config/settings.yml" + "settings": "คุณสามารถเปลี่ยนแปลงการตั้งค่าการวิเคราะห์ในไฟล์ config/settings.yml", + "privacyAssurance": "เราไม่ติดตามข้อมูลส่วนบุคคลหรือเนื้อหาไฟล์ของคุณ" }, "navbar": { "favorite": "รายการโปรด", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "การตั้งค่า", - "update": "มีการอัปเดต", - "updateAvailable": "{0} คือเวอร์ชันที่ติดตั้งในปัจจุบัน มีเวอร์ชันใหม่ ({1}) พร้อมให้บริการ", - "appVersion": "เวอร์ชันแอป:", - "downloadOption": { - "title": "เลือกตัวเลือกการดาวน์โหลด (สำหรับการดาวน์โหลดไฟล์เดียวที่ไม่ใช่ zip):", - "1": "เปิดในหน้าต่างเดียวกัน", - "2": "เปิดในหน้าต่างใหม่", - "3": "ดาวน์โหลดไฟล์" - }, - "zipThreshold": "บีบอัดไฟล์เมื่อจำนวนไฟล์ที่ดาวน์โหลดเกิน", - "signOut": "ออกจากระบบ", - "accountSettings": "การตั้งค่าบัญชี", - "bored": { - "help": "เปิดใช้งานเกม easter egg" - }, - "cacheInputs": { - "name": "บันทึกการป้อนฟอร์ม", - "help": "เปิดใช้งานเพื่อบันทึกการป้อนข้อมูลที่ใช้ก่อนหน้านี้สำหรับการรันในอนาคต" + "connection": { + "title": "โหมดการเชื่อมต่อ", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "โฮสต์เอง" + }, + "server": "เซิร์ฟเวอร์", + "user": "เข้าสู่ระบบเป็น", + "logout": "ออกจากระบบ" }, "general": { "title": "ทั่วไป", "description": "กำหนดการตั้งค่าทั่วไปของแอปพลิเคชัน", - "account": "บัญชี", - "accountDescription": "จัดการการตั้งค่าบัญชีของคุณ", "user": "ผู้ใช้", - "signedInAs": "ลงชื่อเข้าใช้เป็น", "logout": "ออกจากระบบ", "enableFeatures": { + "dismiss": "ปิด", "title": "สำหรับผู้ดูแลระบบ", "intro": "เปิดใช้การยืนยันตัวตนผู้ใช้ การจัดการทีม และฟีเจอร์พื้นที่ทำงานสำหรับองค์กรของคุณ", "action": "กำหนดค่า", "and": "และ", "benefit": "เปิดใช้บทบาทผู้ใช้ การทำงานร่วมกันในทีม การควบคุมผู้ดูแล และฟีเจอร์ระดับองค์กร", - "learnMore": "เรียนรู้เพิ่มเติมในเอกสาร", - "dismiss": "ปิด" + "learnMore": "เรียนรู้เพิ่มเติมในเอกสาร" }, - "autoUnzip": "แตก ZIP จาก API อัตโนมัติ", - "autoUnzipDescription": "แยกไฟล์จากการตอบกลับ ZIP โดยอัตโนมัติ", - "autoUnzipTooltip": "แยกไฟล์ ZIP ที่ส่งกลับจากการทำงานของ API โดยอัตโนมัติ ปิดเพื่อเก็บไฟล์ ZIP ไว้ครบถ้วน การตั้งค่านี้ไม่กระทบเวิร์กโฟลว์อัตโนมัติ", - "autoUnzipFileLimit": "จำกัดจำนวนไฟล์ที่แตกอัตโนมัติ", - "autoUnzipFileLimitDescription": "จำนวนไฟล์สูงสุดที่จะดึงออกจาก ZIP", - "autoUnzipFileLimitTooltip": "แตกไฟล์ก็ต่อเมื่อ ZIP มีจำนวนไฟล์เท่ากับหรือน้อยกว่านี้ ตั้งค่าสูงขึ้นเพื่อแตก ZIP ขนาดใหญ่", "defaultToolPickerMode": "โหมดตัวเลือกเครื่องมือเริ่มต้น", "defaultToolPickerModeDescription": "เลือกว่าตัวเลือกเครื่องมือจะเปิดแบบเต็มหน้าจอหรือแถบด้านข้างโดยค่าเริ่มต้น", "mode": { - "fullscreen": "เต็มหน้าจอ", - "sidebar": "แถบด้านข้าง" - } + "sidebar": "แถบด้านข้าง", + "fullscreen": "เต็มหน้าจอ" + }, + "autoUnzipTooltip": "แยกไฟล์ ZIP ที่ส่งกลับจากการทำงานของ API โดยอัตโนมัติ ปิดเพื่อเก็บไฟล์ ZIP ไว้ครบถ้วน การตั้งค่านี้ไม่กระทบเวิร์กโฟลว์อัตโนมัติ", + "autoUnzip": "แตก ZIP จาก API อัตโนมัติ", + "autoUnzipDescription": "แยกไฟล์จากการตอบกลับ ZIP โดยอัตโนมัติ", + "autoUnzipFileLimitTooltip": "แตกไฟล์ก็ต่อเมื่อ ZIP มีจำนวนไฟล์เท่ากับหรือน้อยกว่านี้ ตั้งค่าสูงขึ้นเพื่อแตก ZIP ขนาดใหญ่", + "autoUnzipFileLimit": "จำกัดจำนวนไฟล์ที่แตกอัตโนมัติ", + "autoUnzipFileLimitDescription": "จำนวนไฟล์สูงสุดที่จะดึงออกจาก ZIP", + "defaultPdfEditor": "โปรแกรมแก้ไข PDF เริ่มต้น", + "defaultPdfEditorActive": "Stirling PDF เป็นโปรแกรมแก้ไข PDF เริ่มต้นของคุณ", + "defaultPdfEditorInactive": "มีแอปอื่นตั้งเป็นค่าเริ่มต้น", + "defaultPdfEditorChecking": "กำลังตรวจสอบ...", + "defaultPdfEditorSet": "เป็นค่าเริ่มต้นอยู่แล้ว", + "setAsDefault": "ตั้งเป็นค่าเริ่มต้น", + "updates": { + "title": "อัปเดตซอฟต์แวร์", + "description": "ตรวจสอบอัปเดตและดูข้อมูลเวอร์ชัน", + "currentVersion": "เวอร์ชันปัจจุบัน", + "latestVersion": "เวอร์ชันล่าสุด", + "checkForUpdates": "ตรวจสอบอัปเดต", + "viewDetails": "ดูรายละเอียด" + }, + "hideUnavailableTools": "ซ่อนเครื่องมือที่ใช้ไม่ได้", + "hideUnavailableToolsDescription": "ลบเครื่องมือที่ถูกปิดใช้งานโดยเซิร์ฟเวอร์ของคุณแทนการแสดงเป็นจาง", + "hideUnavailableConversions": "ซ่อนการแปลงที่ใช้ไม่ได้", + "hideUnavailableConversionsDescription": "ลบตัวเลือกการแปลงที่ถูกปิดใช้งานในเครื่องมือ Convert แทนการแสดงเป็นจาง" }, "hotkeys": { - "title": "ปุ่มลัด", - "description": "วางเมาส์เหนือเครื่องมือเพื่อดูปุ่มลัด หรือปรับแต่งด้านล่าง คลิก \"เปลี่ยนปุ่มลัด\" แล้วกดชุดปุ่มใหม่ กด Esc เพื่อยกเลิก", - "errorModifier": { - "mac": "รวม ⌘ (Command), ⌥ (Option) หรือปุ่มดัดแปลงอื่นในปุ่มลัดของคุณ", - "windows": "รวม Ctrl, Alt หรือปุ่มดัดแปลงอื่นในปุ่มลัดของคุณ" - }, "errorConflict": "ปุ่มลัดถูกใช้โดย {{tool}} แล้ว", + "searchPlaceholder": "ค้นหาเครื่องมือ...", "none": "ไม่ได้กำหนด", "customBadge": "กำหนดเอง", "defaultLabel": "ค่าเริ่มต้น: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "เปลี่ยนปุ่มลัด", "reset": "รีเซ็ต", "shortcut": "ปุ่มลัด", - "noShortcut": "ยังไม่ได้ตั้งปุ่มลัด", - "searchPlaceholder": "ค้นหาเครื่องมือ..." + "noShortcut": "ยังไม่ได้ตั้งปุ่มลัด" } }, + "update": { + "modalTitle": "มีอัปเดต", + "current": "เวอร์ชันปัจจุบัน", + "latest": "เวอร์ชันล่าสุด", + "latestStable": "เสถียรล่าสุด", + "priorityLabel": "ลำดับความสำคัญ", + "recommendedAction": "การดำเนินการที่แนะนำ", + "breakingChangesDetected": "พบการเปลี่ยนแปลงที่มีผลกระทบ", + "breakingChangesMessage": "บางเวอร์ชันมีการเปลี่ยนแปลงที่มีผลกระทบ โปรดตรวจสอบคู่มือการย้ายด้านล่างก่อนอัปเดต", + "migrationGuides": "คู่มือการย้าย", + "viewGuide": "ดูคู่มือ", + "loadingDetailedInfo": "กำลังโหลดข้อมูลรายละเอียด...", + "close": "ปิด", + "viewAllReleases": "ดูรุ่นทั้งหมด", + "downloadLatest": "ดาวน์โหลดล่าสุด", + "availableUpdates": "อัปเดตที่มี", + "unableToLoadDetails": "ไม่สามารถโหลดข้อมูลรายละเอียด", + "version": "เวอร์ชัน", + "urgentUpdateAvailable": "อัปเดตเร่งด่วน", + "updateAvailable": "มีอัปเดต", + "releaseNotes": "บันทึกรุ่น", + "priority": { + "urgent": "เร่งด่วน", + "normal": "ปกติ", + "minor": "เล็กน้อย", + "low": "ต่ำ" + }, + "breakingChanges": "การเปลี่ยนแปลงที่มีผลกระทบ", + "breakingChangesDefault": "เวอร์ชันนี้มีการเปลี่ยนแปลงที่มีผลกระทบ", + "migrationGuide": "คู่มือการย้าย" + }, "changeCreds": { "title": "เปลี่ยนข้อมูลรับรอง", "header": "อัปเดตรายละเอียดบัญชีของคุณ", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "ซ้อนทับ PDF บน PDF อีกไฟล์หนึ่ง", "title": "ซ้อนทับ PDF" + }, + "pdfTextEditor": { + "title": "แก้ไขข้อความ PDF", + "desc": "ตรวจทานและแก้ไขไฟล์ JSON ที่ส่งออกจาก Stirling PDF ด้วยการแก้ไขข้อความแบบกลุ่มและการสร้าง PDF ใหม่" + }, + "addText": { + "tags": "text,annotation,label", + "title": "เพิ่มข้อความ", + "desc": "เพิ่มข้อความที่กำหนดเองที่ใดก็ได้ใน PDF ของคุณ" } }, "landing": { "addFiles": "เพิ่มไฟล์", - "uploadFromComputer": "อัปโหลดจากคอมพิวเตอร์" + "uploadFromComputer": "อัปโหลดจากคอมพิวเตอร์", + "openFromComputer": "เปิดจากคอมพิวเตอร์" }, "viewPdf": { "tags": "ดู, อ่าน, เพิ่มคำอธิบาย, ข้อความ, รูปภาพ", @@ -849,6 +922,11 @@ }, "error": { "failed": "เกิดข้อผิดพลาดระหว่างการผสาน PDF" + }, + "tooltip": { + "header": { + "title": "ภาพรวมการตั้งค่าการรวม" + } } }, "split": { @@ -1047,7 +1125,7 @@ "settings": "การตั้งค่า", "conversionCompleted": "แปลงเสร็จสิ้น", "results": "ผลลัพธ์", - "defaultFilename": "converted_file", + "defaultFilename": "ไฟล์ที่แปลงแล้ว", "conversionResults": "ผลลัพธ์การแปลง", "convertFrom": "แปลงจาก", "convertTo": "แปลงเป็น", @@ -1182,9 +1260,43 @@ "tags": "รูปภาพ, JPG, ภาพ, รูปถ่าย", "title": "เพิ่มรูปภาพ", "header": "เพิ่มรูปภาพใน PDF", - "everyPage": "ทุกหน้า?", - "upload": "เพิ่มรูปภาพ", - "submit": "เพิ่มรูปภาพ" + "image": { + "name": "รูปภาพ", + "placeholder": "อัปโหลดรูปภาพ", + "label": "ไฟล์รูปภาพ" + }, + "steps": { + "configure": "ตั้งค่ารูปภาพ" + }, + "step": { + "createDesc": "อัปโหลดรูปภาพที่คุณต้องการเพิ่ม", + "place": "วางรูปภาพ", + "placeDesc": "คลิกบน PDF เพื่อวางรูปภาพของคุณ" + }, + "instructions": { + "title": "วิธีเพิ่มรูปภาพ", + "text": "หลังจากอัปโหลดรูปภาพด้านบน ให้คลิกที่ใดก็ได้บน PDF เพื่อวาง", + "paused": "หยุดการวางชั่วคราว", + "resumeHint": "ทำต่อการวางเพื่อคลิกและวางรูปภาพของคุณ", + "noSignature": "อัปโหลดรูปภาพด้านบนเพื่อเปิดใช้การวาง" + }, + "mode": { + "move": "ย้ายรูปภาพ", + "place": "วางรูปภาพ", + "pause": "หยุดการวาง", + "resume": "ทำต่อการวาง" + }, + "results": { + "title": "ผลการเพิ่มรูปภาพ" + }, + "error": { + "failed": "เกิดข้อผิดพลาดระหว่างเพิ่มรูปภาพลงใน PDF" + }, + "saved": { + "defaultLabel": "รูปภาพ", + "defaultImageLabel": "รูปภาพที่อัปโหลด" + }, + "applySignatures": "ใช้รูปภาพ" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1200,7 +1312,7 @@ "desc": "เพิ่มวอเตอร์มาร์กข้อความหรือรูปภาพให้กับไฟล์ PDF", "completed": "เพิ่มวอเตอร์มาร์กแล้ว", "submit": "เพิ่มลายน้ำ", - "filenamePrefix": "watermarked", + "filenamePrefix": "ติดลายน้ำ", "error": { "failed": "เกิดข้อผิดพลาดระหว่างการเพิ่มวอเตอร์มาร์กให้กับ PDF" }, @@ -1397,6 +1509,93 @@ }, "submit": "เปลี่ยน" }, + "editTableOfContents": { + "settings": { + "title": "ที่คั่นหน้าและโครงร่าง", + "replaceExisting": "แทนที่ที่คั่นหน้าที่มีอยู่ (ยกเลิกเลือกเพื่อเพิ่มต่อท้าย)", + "replaceExistingHint": "เมื่อปิดใช้งาน โครงร่างใหม่จะถูกเพิ่มต่อท้ายหลังที่คั่นหน้าปัจจุบัน" + }, + "actions": { + "source": "โหลดที่คั่นหน้า", + "selectedFile": "โหลดจาก {{file}}", + "noFile": "เลือก PDF เพื่อดึงที่คั่นหน้าที่มีอยู่", + "loadFromPdf": "โหลดจาก PDF ที่เลือก", + "importJson": "นำเข้า JSON", + "importClipboard": "วาง JSON จากคลิปบอร์ด", + "export": "ส่งออกที่คั่นหน้า", + "exportJson": "ดาวน์โหลด JSON", + "exportClipboard": "คัดลอก JSON ไปยังคลิปบอร์ด", + "clipboardUnavailable": "เบราว์เซอร์นี้ไม่รองรับการเข้าถึงคลิปบอร์ด" + }, + "info": { + "line1": "แต่ละที่คั่นหน้าต้องมีชื่อที่สื่อความหมายและหน้าที่จะเปิด", + "line2": "ใช้ที่คั่นหน้าลูกเพื่อสร้างลำดับชั้นสำหรับบท ตอน หรือหัวข้อย่อย", + "line3": "นำเข้าที่คั่นหน้าจาก PDF ที่เลือกหรือไฟล์ JSON เพื่อประหยัดเวลา" + }, + "workbench": { + "empty": { + "title": "เปิดเครื่องมือเพื่อเริ่มแก้ไข", + "description": "เลือกเครื่องมือแก้ไขสารบัญเพื่อโหลดพื้นที่ทำงาน" + }, + "tabTitle": "พื้นที่ทำงานโครงร่าง", + "subtitle": "นำเข้า สร้างลำดับชั้น และใช้โครงร่างได้โดยไม่อึดอัดกับแถบข้าง", + "noFile": "ยังไม่ได้เลือก PDF", + "fileLabel": "การเปลี่ยนแปลงจะใช้กับ PDF ที่เลือกอยู่", + "filePrompt": "เลือก PDF จากไลบรารีของคุณหรืออัปโหลดใหม่เพื่อเริ่ม", + "changeFile": "เปลี่ยน PDF", + "selectFile": "เลือก PDF" + }, + "editor": { + "heading": "ตัวแก้ไขที่คั่นหน้า", + "description": "เพิ่ม ซ้อนระดับ และจัดลำดับที่คั่นหน้าเพื่อสร้างโครงร่าง PDF ของคุณ", + "addTopLevel": "เพิ่มที่คั่นหน้าระดับบนสุด", + "empty": { + "title": "ยังไม่มีที่คั่นหน้า", + "description": "นำเข้าที่คั่นหน้าที่มีอยู่หรือเริ่มจากการเพิ่มรายการแรกของคุณ", + "action": "เพิ่มที่คั่นหน้าแรก" + }, + "defaultTitle": "ที่คั่นหน้าใหม่", + "defaultChildTitle": "ที่คั่นหน้าลูก", + "defaultSiblingTitle": "ที่คั่นหน้าใหม่", + "untitled": "ที่คั่นหน้าไม่มีชื่อ", + "childBadge": "ลูก", + "pagePreview": "หน้า {{page}}", + "field": { + "title": "ชื่อที่คั่นหน้า", + "page": "หมายเลขหน้าเป้าหมาย" + }, + "actions": { + "toggle": "สลับลูก", + "addChild": "เพิ่มที่คั่นหน้าลูก", + "addSibling": "เพิ่มที่คั่นหน้าระดับเดียวกัน", + "remove": "ลบที่คั่นหน้า" + }, + "confirmRemove": "ลบที่คั่นหน้านี้และลูกทั้งหมดหรือไม่?" + }, + "messages": { + "loadedTitle": "ดึงที่คั่นหน้าแล้ว", + "loadedBody": "โหลดที่คั่นหน้าที่มีอยู่จาก PDF เข้าสู่ตัวแก้ไขแล้ว", + "noBookmarks": "ไม่พบที่คั่นหน้าใน PDF ที่เลือก", + "loadFailed": "ไม่สามารถดึงที่คั่นหน้าจาก PDF ที่เลือก", + "imported": "นำเข้าที่คั่นหน้าแล้ว", + "importedBody": "โครงร่าง JSON ของคุณแทนที่เนื้อหาในตัวแก้ไขปัจจุบัน", + "importedClipboard": "ข้อมูลคลิปบอร์ดแทนที่รายการที่คั่นหน้าปัจจุบัน", + "invalidJson": "โครงสร้าง JSON ไม่ถูกต้อง", + "invalidJsonBody": "โปรดระบุไฟล์ JSON ที่คั่นหน้าที่ถูกต้องแล้วลองอีกครั้ง", + "exported": "พร้อมดาวน์โหลด JSON", + "copied": "คัดลอกไปยังคลิปบอร์ดแล้ว", + "copiedBody": "คัดลอก JSON ของที่คั่นหน้าสำเร็จ", + "copyFailed": "คัดลอกไม่สำเร็จ" + }, + "error": { + "failed": "อัปเดตสารบัญไม่สำเร็จ" + }, + "submit": "นำไปใช้กับสารบัญ", + "results": { + "title": "อัปเดต PDF พร้อมที่คั่นหน้า", + "subtitle": "ดาวน์โหลดไฟล์ที่ประมวลผลหรือเลิกทำด้านล่าง" + } + }, "removePages": { "tags": "ลบหน้า, ลบหน้า", "title": "ลบ", @@ -1405,7 +1604,7 @@ "placeholder": "เช่น 1,3,5-8,10", "error": "รูปแบบหมายเลขหน้าไม่ถูกต้อง ใช้ตัวเลข ช่วง (1-5) หรือสมการคณิตศาสตร์ (2n+1)" }, - "filenamePrefix": "pages_removed", + "filenamePrefix": "ลบหน้า", "files": { "placeholder": "เลือกไฟล์ PDF ในมุมมองหลักเพื่อเริ่มต้น" }, @@ -1606,7 +1805,7 @@ "header": "ปลดล็อกฟอร์ม PDF", "submit": "Remove", "description": "เครื่องมือนี้จะลบข้อจำกัดอ่านอย่างเดียวจากช่องฟอร์มใน PDF ทำให้สามารถแก้ไขและกรอกได้", - "filenamePrefix": "unlocked_forms", + "filenamePrefix": "ปลดล็อกแบบฟอร์ม", "files": { "placeholder": "เลือกไฟล์ PDF ในมุมมองหลักเพื่อเริ่มต้น" }, @@ -1620,7 +1819,7 @@ "changeMetadata": { "header": "เปลี่ยนข้อมูลเมตา", "submit": "เปลี่ยน", - "filenamePrefix": "metadata", + "filenamePrefix": "เมตาดาตา", "settings": { "title": "การตั้งค่าเมทาดาทา" }, @@ -1978,13 +2177,54 @@ "title": "วาดลายเซ็นของคุณ", "clear": "ล้าง" }, + "canvas": { + "heading": "วาดลายเซ็นของคุณ", + "clickToOpen": "คลิกเพื่อเปิดแคนวาสวาด", + "modalTitle": "วาดลายเซ็นของคุณ", + "colorLabel": "สี", + "penSizeLabel": "ขนาดปากกา", + "penSizePlaceholder": "ขนาด", + "clear": "ล้างแคนวาส", + "colorPickerTitle": "เลือกสีเส้น" + }, "text": { "name": "ชื่อผู้ลงนาม", - "placeholder": "ป้อนชื่อเต็มของคุณ" + "placeholder": "ป้อนชื่อเต็มของคุณ", + "fontLabel": "ฟอนต์", + "fontSizeLabel": "ขนาดฟอนต์", + "fontSizePlaceholder": "พิมพ์หรือเลือกขนาดฟอนต์ (8-200)", + "colorLabel": "สีข้อความ" }, "clear": "ล้าง", "add": "เพิ่ม", - "saved": "ลายเซ็นที่บันทึกไว้", + "saved": { + "heading": "ลายเซ็นที่บันทึกไว้", + "description": "นำกลับมาใช้ได้ทุกเวลา", + "emptyTitle": "ยังไม่มีลายเซ็นที่บันทึกไว้", + "emptyDescription": "วาด อัปโหลด หรือพิมพ์ลายเซ็นด้านบน จากนั้นใช้ \"บันทึกลงไลบรารี\" เพื่อเก็บรายการโปรดได้สูงสุด {{max}} รายการพร้อมใช้งาน", + "type": { + "canvas": "การวาด", + "image": "อัปโหลด", + "text": "ข้อความ" + }, + "limitTitle": "ถึงขีดจำกัดแล้ว", + "limitDescription": "ลบลายเซ็นที่บันทึกไว้ก่อนจึงเพิ่มใหม่ได้ (สูงสุด {{max}})", + "carouselPosition": "{{current}} จาก {{total}}", + "prev": "ก่อนหน้า", + "next": "ถัดไป", + "delete": "ลบ", + "label": "ป้ายกำกับ", + "defaultLabel": "ลายเซ็น", + "defaultCanvasLabel": "ลายเซ็นแบบวาด", + "defaultImageLabel": "ลายเซ็นที่อัปโหลด", + "defaultTextLabel": "ลายเซ็นแบบพิมพ์", + "saveButton": "บันทึกลายเซ็น", + "saveUnavailable": "สร้างลายเซ็นก่อนเพื่อบันทึก", + "noChanges": "ลายเซ็นปัจจุบันถูกบันทึกไว้แล้ว", + "status": { + "saved": "บันทึกแล้ว" + } + }, "save": "บันทึกลายเซ็น", "applySignatures": "นำลายเซ็นไปใช้", "personalSigs": "ลายเซ็นส่วนตัว", @@ -2003,12 +2243,18 @@ "steps": { "configure": "กำหนดค่าลายเซ็น" }, + "step": { + "createDesc": "เลือกวิธีที่ต้องการสร้างลายเซ็น", + "place": "วางและบันทึก", + "placeDesc": "กำหนดตำแหน่งลายเซ็นบน PDF" + }, "type": { "title": "ประเภทลายเซ็น", "draw": "วาด", "canvas": "แคนวาส", "image": "รูปภาพ", - "text": "ข้อความ" + "text": "ข้อความ", + "saved": "ที่บันทึกไว้" }, "image": { "label": "อัปโหลดภาพลายเซ็น", @@ -2019,11 +2265,17 @@ "title": "วิธีเพิ่มลายเซ็น", "canvas": "หลังจากวาดลายเซ็นในแคนวาสแล้ว ให้ปิดหน้าต่าง แล้วคลิกที่ใดก็ได้บน PDF เพื่อวาง", "image": "หลังจากอัปโหลดภาพลายเซ็นด้านบนแล้ว ให้คลิกที่ใดก็ได้บน PDF เพื่อวาง", - "text": "หลังจากป้อนชื่อของคุณด้านบนแล้ว ให้คลิกที่ใดก็ได้บน PDF เพื่อวางลายเซ็น" + "saved": "เลือกหนึ่งลายเซ็นที่บันทึกไว้ด้านบน แล้วคลิกที่ใดก็ได้บน PDF เพื่อวาง", + "text": "หลังจากป้อนชื่อของคุณด้านบนแล้ว ให้คลิกที่ใดก็ได้บน PDF เพื่อวางลายเซ็น", + "paused": "หยุดการวางชั่วคราว", + "resumeHint": "ทำต่อการวางเพื่อคลิกและเพิ่มลายเซ็นของคุณ", + "noSignature": "สร้างลายเซ็นด้านบนเพื่อเปิดใช้เครื่องมือวาง" }, "mode": { "move": "ย้ายลายเซ็น", - "place": "วางลายเซ็น" + "place": "วางลายเซ็น", + "pause": "หยุดการวาง", + "resume": "ทำต่อการวาง" }, "updateAndPlace": "อัปเดตและวาง", "activate": "เปิดใช้งานการวางลายเซ็น", @@ -2040,7 +2292,7 @@ "header": "แบน PDF", "flattenOnlyForms": "แบนเฉพาะฟอร์ม", "submit": "แบน", - "filenamePrefix": "flattened", + "filenamePrefix": "แบนแล้ว", "files": { "placeholder": "เลือกไฟล์ PDF ในมุมมองหลักเพื่อเริ่มต้น" }, @@ -2090,7 +2342,7 @@ "header": "ซ่อมแซม PDF", "submit": "ซ่อมแซม", "description": "เครื่องมือนี้จะพยายามซ่อมแซมไฟล์ PDF ที่เสียหายหรือชำรุด ไม่ต้องตั้งค่าเพิ่มเติม", - "filenamePrefix": "repaired", + "filenamePrefix": "ซ่อมแล้ว", "files": { "placeholder": "เลือกไฟล์ PDF ในมุมมองหลักเพื่อเริ่มต้น" }, @@ -2163,6 +2415,14 @@ "title": "เกี่ยวกับการลบคำอธิบายประกอบ", "description": "เครื่องมือนี้จะลบคำอธิบายประกอบทั้งหมด (ความคิดเห็น ไฮไลต์ บันทึก ฯลฯ) ออกจากเอกสาร PDF ของคุณ" }, + "tooltip": { + "header": { + "title": "เกี่ยวกับการลบคำอธิบายประกอบ" + }, + "description": { + "title": "การทำงาน" + } + }, "error": { "failed": "เกิดข้อผิดพลาดขณะลบคำอธิบายประกอบจาก PDF" } @@ -2293,7 +2553,7 @@ "certSign": { "tags": "ยืนยัน, PEM, P12, เป็นทางการ, เข้ารหัส", "title": "การเซ็นชื่อด้วยใบรับรอง", - "filenamePrefix": "signed", + "filenamePrefix": "ลงนาม", "signMode": { "stepTitle": "โหมดการลงนาม", "tooltip": { @@ -2437,7 +2697,7 @@ "selectPDF": "เลือกไฟล์ PDF:", "submit": "ลบลายเซ็น", "description": "เครื่องมือนี้จะลบลายเซ็นใบรับรองดิจิทัลออกจากเอกสาร PDF ของคุณ", - "filenamePrefix": "unsigned", + "filenamePrefix": "ยกเลิกลายเซ็น", "files": { "placeholder": "เลือกไฟล์ PDF ในหน้าหลักเพื่อเริ่มต้น" }, @@ -2627,6 +2887,9 @@ "header": { "title": "วิธีการตั้งชื่ออัตโนมัติทำงาน" }, + "description": { + "title": "การทำงาน" + }, "howItWorks": { "title": "การตั้งชื่ออัจฉริยะ", "text": "ค้นหาชื่อเรื่องจากเนื้อหา PDF ของคุณโดยอัตโนมัติและใช้เป็นชื่อไฟล์", @@ -2634,6 +2897,9 @@ "bullet2": "สร้างชื่อไฟล์ที่สะอาดและถูกต้องจากชื่อที่ตรวจพบ", "bullet3": "คงชื่อเดิมไว้หากไม่พบชื่อที่เหมาะสม" } + }, + "settings": { + "title": "เกี่ยวกับ" } }, "adjust-contrast": { @@ -3059,7 +3325,7 @@ "keySize": "ขนาดกุญแจ", "version": "เวอร์ชัน", "keyUsage": "การใช้งานกุญแจ", - "selfSigned": "Self-Signed", + "selfSigned": "ลงนามด้วยตนเอง", "bits": "บิต", "details": "รายละเอียดใบรับรอง" }, @@ -3227,7 +3493,26 @@ "unexpectedError": "ข้อผิดพลาดที่ไม่คาดคิด: {{message}}", "accountCreatedSuccess": "สร้างบัญชีสำเร็จ! ตอนนี้คุณสามารถลงชื่อเข้าใช้ได้", "passwordChangedSuccess": "เปลี่ยนรหัสผ่านสำเร็จ! โปรดลงชื่อเข้าใช้ด้วยรหัสผ่านใหม่ของคุณ", - "credentialsUpdated": "อัปเดตข้อมูลรับรองของคุณแล้ว โปรดลงชื่อเข้าใช้อีกครั้ง" + "credentialsUpdated": "อัปเดตข้อมูลรับรองของคุณแล้ว โปรดลงชื่อเข้าใช้อีกครั้ง", + "defaultCredentials": "ข้อมูลเข้าสู่ระบบเริ่มต้น", + "changePasswordWarning": "โปรดเปลี่ยนรหัสผ่านหลังจากเข้าสู่ระบบครั้งแรก", + "slides": { + "overview": { + "alt": "ภาพรวม Stirling PDF", + "title": "ทุกสิ่งสำหรับงาน PDF ของคุณในที่เดียว", + "subtitle": "ชุดเครื่องมือบนคลาวด์ที่ให้ความสำคัญกับความเป็นส่วนตัว ช่วยให้คุณแปลงไฟล์ ลงนาม ปกปิดข้อมูล และจัดการเอกสาร พร้อมเครื่องมือทรงพลังกว่า 50 รายการ" + }, + "edit": { + "alt": "แก้ไข PDF", + "title": "แก้ไข PDF เพื่อแสดง/ปกป้องข้อมูลที่คุณต้องการ", + "subtitle": "ด้วยเครื่องมือกว่าหนึ่งโหลที่ช่วยคุณปกปิดข้อมูล ลงนาม อ่าน และจัดการ PDF คุณจะพบสิ่งที่ต้องการแน่นอน" + }, + "secure": { + "alt": "ปกป้อง PDF", + "title": "ปกป้องข้อมูลสำคัญใน PDF ของคุณ", + "subtitle": "เพิ่มรหัสผ่าน ปกปิดเนื้อหา และจัดการใบรับรองได้อย่างง่ายดาย" + } + } }, "signup": { "title": "สร้างบัญชี", @@ -3262,7 +3547,7 @@ "header": "PDF เป็นหน้าขนาดใหญ่เพียงหน้าเดียว", "submit": "แปลงเป็นหน้าขนาดใหญ่เพียงหน้าเดียว", "description": "เครื่องมือนี้จะรวมทุกหน้าของ PDF ของคุณเป็นหน้าเดี่ยวขนาดใหญ่ ความกว้างจะเท่าเดิมกับหน้าต้นฉบับ แต่ความสูงจะเป็นผลรวมของความสูงทุกหน้า", - "filenamePrefix": "single_page", + "filenamePrefix": "หน้าเดียว", "files": { "placeholder": "เลือกไฟล์ PDF ในหน้าหลักเพื่อเริ่มต้น" }, @@ -3598,7 +3883,9 @@ "exportAll": "ส่งออก PDF", "downloadSelected": "ดาวน์โหลดไฟล์ที่เลือก", "downloadAll": "ดาวน์โหลดทั้งหมด", + "saveAll": "บันทึกทั้งหมด", "toggleTheme": "สลับธีม", + "toggleBookmarks": "สลับที่คั่นหน้า", "language": "ภาษา", "search": "ค้นหาใน PDF", "panMode": "โหมดเลื่อนดู", @@ -3685,8 +3972,16 @@ "saved": "บันทึกการตั้งค่าสำเร็จ", "saveSuccess": "บันทึกการตั้งค่าสำเร็จ", "save": "บันทึกการเปลี่ยนแปลง", + "discard": "ละทิ้ง", "restartRequired": "ต้องรีสตาร์ท", "loginRequired": "ต้องเปิดโหมดเข้าสู่ระบบเพื่อแก้ไขการตั้งค่าผู้ดูแล", + "unsavedChanges": { + "title": "การเปลี่ยนแปลงที่ยังไม่บันทึก", + "message": "คุณมีการเปลี่ยนแปลงที่ยังไม่บันทึก ต้องการละทิ้งหรือไม่?", + "cancel": "แก้ไขต่อ", + "discard": "ละทิ้งการเปลี่ยนแปลง", + "hint": "คุณมีการเปลี่ยนแปลงที่ยังไม่บันทึก" + }, "loginDisabled": { "title": "ต้องใช้โหมดเข้าสู่ระบบ", "message": "ต้องเปิดโหมดเข้าสู่ระบบเพื่อแก้ไขการตั้งค่าผู้ดูแล โปรดตั้งค่า SECURITY_ENABLELOGIN=true ในสภาพแวดล้อมของคุณ หรือ security.enableLogin: true ใน settings.yml จากนั้นรีสตาร์ทเซิร์ฟเวอร์", @@ -3932,7 +4227,7 @@ "disconnected": "ตัดการเชื่อมต่อผู้ให้บริการสำเร็จ", "disconnectError": "ไม่สามารถตัดการเชื่อมต่อผู้ให้บริการได้", "ssoAutoLogin": { - "label": "SSO Auto Login", + "label": "เข้าสู่ระบบอัตโนมัติด้วย SSO", "enable": "เปิดใช้งาน SSO Auto Login", "description": "เปลี่ยนเส้นทางไปยังการเข้าสู่ระบบ SSO โดยอัตโนมัติเมื่อจำเป็นต้องยืนยันตัวตน" }, @@ -4212,9 +4507,21 @@ "title": "พรีเมียมและเอนเตอร์ไพรส์", "description": "กำหนดค่าคีย์ไลเซนส์พรีเมียมหรือเอนเตอร์ไพรส์ของคุณ", "license": "การกำหนดค่าไลเซนส์", + "licenseKey": { + "toggle": "มี license key หรือไฟล์ certificate ไหม?", + "info": "หากคุณมี license key หรือไฟล์ certificate จากการซื้อโดยตรง คุณสามารถใส่ที่นี่เพื่อเปิดใช้ฟีเจอร์พรีเมียมหรือเอนเทอร์ไพรส์" + }, "key": { "label": "คีย์ไลเซนส์", - "description": "ป้อนคีย์ไลเซนส์พรีเมียมหรือเอนเตอร์ไพรส์ของคุณ" + "description": "ป้อนคีย์ไลเซนส์พรีเมียมหรือเอนเตอร์ไพรส์ของคุณ", + "success": "บันทึก License Key แล้ว", + "successMessage": "เปิดใช้งาน license key ของคุณสำเร็จแล้ว ไม่ต้องรีสตาร์ต", + "overwriteWarning": { + "title": "⚠️ คำเตือน: พบไลเซนส์เดิม", + "line1": "การเขียนทับ license key ปัจจุบันไม่สามารถยกเลิกได้", + "line2": "ไลเซนส์ก่อนหน้าของคุณจะสูญหายถาวร เว้นแต่คุณได้สำรองไว้ที่อื่น", + "line3": "สำคัญ: เก็บ license keys ให้เป็นส่วนตัวและปลอดภัย ห้ามแชร์สาธารณะ" + } }, "enabled": { "label": "เปิดใช้งานฟีเจอร์พรีเมียม", @@ -4278,12 +4585,17 @@ "or": "หรือ", "dropFileHere": "วางไฟล์ที่นี่หรือคลิกเพื่ออัปโหลด", "dropFilesHere": "วางไฟล์ที่นี่หรือคลิกปุ่มอัปโหลด", + "dropFilesHereOpen": "วางไฟล์ที่นี่หรือคลิกปุ่มเปิด", "pdfFilesOnly": "เฉพาะไฟล์ PDF", "supportedFileTypes": "ชนิดไฟล์ที่รองรับ", "upload": "อัปโหลด", "uploadFile": "อัปโหลดไฟล์", "uploadFiles": "อัปโหลดไฟล์", + "open": "เปิด", + "openFile": "เปิดไฟล์", + "openFiles": "เปิดไฟล์หลายไฟล์", "noFilesInStorage": "ไม่มีไฟล์ในที่เก็บ โปรดอัปโหลดไฟล์ก่อน", + "noFilesInStorageOpen": "ไม่มีไฟล์ในที่เก็บ เปิดไฟล์ก่อน", "selectFromStorage": "เลือกจากที่เก็บ", "backToTools": "กลับไปที่เครื่องมือ", "addFiles": "เพิ่มไฟล์", @@ -4329,6 +4641,8 @@ "myFiles": "ไฟล์ของฉัน", "noRecentFiles": "ไม่พบไฟล์ล่าสุด", "googleDriveNotAvailable": "ไม่สามารถใช้งานการเชื่อมต่อกับ Google Drive", + "downloadSelected": "ดาวน์โหลดที่เลือก", + "saveSelected": "บันทึกที่เลือก", "openFiles": "เปิดไฟล์", "openFile": "เปิดไฟล์", "details": "รายละเอียดไฟล์", @@ -4341,7 +4655,6 @@ "selectAll": "เลือกทั้งหมด", "deselectAll": "ยกเลิกการเลือกทั้งหมด", "deleteSelected": "ลบที่เลือก", - "downloadSelected": "ดาวน์โหลดที่เลือก", "selectedCount": "เลือกแล้ว {{count}} รายการ", "download": "ดาวน์โหลด", "delete": "ลบ", @@ -4375,7 +4688,7 @@ "generic": "การทำให้ปลอดภัยล้มเหลว", "failed": "เกิดข้อผิดพลาดระหว่างการทำให้ PDF ปลอดภัย" }, - "filenamePrefix": "sanitised", + "filenamePrefix": "ล้างข้อมูล", "sanitizationResults": "ผลการทำให้ปลอดภัย", "steps": { "files": "ไฟล์", @@ -4419,7 +4732,7 @@ "desc": "เข้ารหัสเอกสาร PDF ของคุณด้วยรหัสผ่าน", "completed": "ใช้การป้องกันด้วยรหัสผ่านแล้ว", "submit": "เข้ารหัส", - "filenamePrefix": "encrypted", + "filenamePrefix": "เข้ารหัส", "error": { "failed": "เกิดข้อผิดพลาดระหว่างการเข้ารหัส PDF" }, @@ -4528,7 +4841,7 @@ "placeholder": "ป้อนรหัสผ่านปัจจุบัน", "completed": "ตั้งค่ารหัสผ่านแล้ว" }, - "filenamePrefix": "decrypted", + "filenamePrefix": "ถอดรหัส", "error": { "failed": "เกิดข้อผิดพลาดระหว่างการลบรหัสผ่านออกจาก PDF" }, @@ -4621,9 +4934,14 @@ "secureWorkflow": "เวิร์กโฟลว์ด้านความปลอดภัย", "secureWorkflowDesc": "ทำให้เอกสาร PDF ปลอดภัยโดยลบเนื้อหาที่อาจเป็นอันตราย เช่น JavaScript และไฟล์ที่ฝังไว้ จากนั้นเพิ่มการป้องกันด้วยรหัสผ่านเพื่อป้องกันการเข้าถึงโดยไม่ได้รับอนุญาต รหัสผ่านเริ่มต้นคือ 'password'", "processImages": "ประมวลผลรูปภาพ", - "processImagesDesc": "แปลงไฟล์รูปภาพหลายไฟล์เป็นเอกสาร PDF เดียว จากนั้นใช้เทคโนโลยี OCR เพื่อดึงข้อความที่ค้นหาได้จากรูปภาพ" + "processImagesDesc": "แปลงไฟล์รูปภาพหลายไฟล์เป็นเอกสาร PDF เดียว จากนั้นใช้เทคโนโลยี OCR เพื่อดึงข้อความที่ค้นหาได้จากรูปภาพ", + "prePublishSanitization": "ล้างข้อมูลก่อนเผยแพร่", + "prePublishSanitizationDesc": "เวิร์กโฟลว์ล้างข้อมูลที่ลบเมทาดาทาที่ซ่อน JavaScript ไฟล์ฝัง คำอธิบายประกอบ และทำฟอร์มให้แบน เพื่อป้องกันการรั่วไหลของข้อมูลก่อนเผยแพร่ PDF ออนไลน์" } }, + "colorPicker": { + "title": "เลือกสี" + }, "common": { "previous": "ก่อนหน้า", "next": "ถัดไป", @@ -4639,7 +4957,13 @@ "used": "ใช้ไป", "available": "พร้อมใช้งาน", "cancel": "ยกเลิก", - "preview": "แสดงตัวอย่าง" + "preview": "แสดงตัวอย่าง", + "close": "ปิด", + "done": "เสร็จสิ้น", + "loading": "กำลังโหลด...", + "back": "ย้อนกลับ", + "continue": "ดำเนินการต่อ", + "error": "ข้อผิดพลาด" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "เพิ่มไฟล์เพิ่มเติม...", "selectedFiles": "ไฟล์ที่เลือก", "submit": "เพิ่มไฟล์แนบ", + "tooltip": { + "header": { + "title": "เกี่ยวกับการเพิ่มไฟล์แนบ" + }, + "description": { + "title": "การทำงาน" + } + }, "results": { "title": "ผลการแนบไฟล์" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "ตำแหน่งกำหนดเอง", "details": "รายละเอียด", - "downloadUnavailable": "ไม่สามารถดาวน์โหลดรายการนี้ได้", "invalidUndoData": "ไม่สามารถยกเลิก: ข้อมูลการดำเนินการไม่ถูกต้อง", "margin": { "large": "ใหญ่", @@ -4801,6 +5132,10 @@ "maybeLater": "ไว้ทีหลัง", "dontShowAgain": "ไม่ต้องแสดงอีก" }, + "welcomeSlide": { + "title": "ยินดีต้อนรับสู่ Stirling", + "body": "Stirling PDF พร้อมสำหรับทีมทุกขนาดแล้ว การอัปเดตนี้มีเลย์เอาต์ใหม่ ความสามารถแอดมินที่ทรงพลัง และฟีเจอร์ที่มีคนขอมากที่สุด - แก้ไขข้อความ" + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "มาลองเลือกเครื่องมือ ครอบตัด เพื่อสาธิตการใช้งานเครื่องมือหนึ่ง", "toolInterface": "นี่คืออินเทอร์เฟซของเครื่องมือ ครอบตัด จะเห็นว่ายังไม่มีอะไรมากเพราะเรายังไม่ได้เพิ่มไฟล์ PDF เพื่อทำงานด้วย", @@ -4823,7 +5158,39 @@ "next": "ถัดไป", "finish": "เสร็จสิ้น", "startTour": "เริ่มทัวร์", - "startTourDescription": "ทัวร์แนะนำฟีเจอร์สำคัญของ Stirling PDF" + "startTourDescription": "ทัวร์แนะนำฟีเจอร์สำคัญของ Stirling PDF", + "buttons": { + "next": "ถัดไป →", + "back": "ย้อนกลับ", + "skipForNow": "ข้ามไปก่อน", + "download": "ดาวน์โหลด →", + "showMeAround": "พาชมรอบๆ", + "skipTheTour": "ข้ามทัวร์" + }, + "serverLicense": { + "skip": "ข้ามไปก่อน", + "seePlans": "ดูแพ็กเกจ →", + "upgrade": "อัปเกรดเลย →", + "freeTitle": "ไลเซนส์เซิร์ฟเวอร์", + "overLimitTitle": "ต้องใช้ไลเซนส์เซิร์ฟเวอร์", + "overLimitBody": "สิทธิ์การใช้งานของเรารองรับผู้ใช้ได้ฟรีสูงสุด {{freeTierLimit}} คนต่อเซิร์ฟเวอร์ ขณะนี้คุณมีผู้ใช้ Stirling {{overLimitUserCopy}} คน เพื่อใช้งานต่อเนื่อง โปรดอัปเกรดเป็นแพ็กเกจ Stirling Server - ที่นั่งไม่จำกัด แก้ไขข้อความ PDF และควบคุมแอดมินเต็มรูปแบบ ราคา $99/ต่อเซิร์ฟเวอร์/เดือน", + "freeBody": "ไลเซนส์แบบ Open-Core ของเรารองรับผู้ใช้ได้ฟรีสูงสุด {{freeTierLimit}} คนต่อเซิร์ฟเวอร์ เพื่อขยายการใช้งานได้ต่อเนื่องและเข้าถึง เครื่องมือแก้ไขข้อความ PDF ล่วงหน้า เราแนะนำแพ็กเกจ Stirling Server - แก้ไขได้เต็มรูปแบบและ ที่นั่งไม่จำกัด ราคา $99/ต่อเซิร์ฟเวอร์/เดือน" + }, + "desktopInstall": { + "title": "ดาวน์โหลด", + "titleWithOs": "ดาวน์โหลดสำหรับ {{osLabel}}", + "body": "Stirling ใช้งานได้ดีที่สุดแบบแอปเดสก์ท็อป คุณสามารถใช้งานออฟไลน์ เข้าถึงเอกสารได้เร็วขึ้น และแก้ไขบนคอมพิวเตอร์ของคุณโดยตรง" + }, + "planOverview": { + "adminTitle": "ภาพรวมผู้ดูแล", + "userTitle": "ภาพรวมแพ็กเกจ", + "adminBodyLoginEnabled": "ในฐานะแอดมิน คุณสามารถจัดการผู้ใช้ กำหนดค่าต่างๆ และติดตามสุขภาพเซิร์ฟเวอร์ ผู้ใช้ {{freeTierLimit}} คนแรกบนเซิร์ฟเวอร์ของคุณใช้งาน Stirling ได้ฟรี", + "adminBodyLoginDisabled": "เมื่อเปิดใช้โหมดล็อกอิน คุณจะสามารถจัดการผู้ใช้ กำหนดค่าต่างๆ และติดตามสุขภาพเซิร์ฟเวอร์ ผู้ใช้ {{freeTierLimit}} คนแรกบนเซิร์ฟเวอร์ของคุณใช้งาน Stirling ได้ฟรี", + "userBody": "เชิญเพื่อนร่วมทีม กำหนดบทบาท และจัดระเบียบเอกสารในพื้นที่ทำงานเดียวที่ปลอดภัย เปิดโหมดล็อกอินเมื่อคุณพร้อมเติบโตเกินการใช้งานคนเดียว" + }, + "securityCheck": { + "message": "แอปมีการเปลี่ยนแปลงครั้งใหญ่เมื่อไม่นานมานี้ อาจต้องการความใส่ใจจากผู้ดูแลเซิร์ฟเวอร์ โปรดยืนยันบทบาทของคุณเพื่อดำเนินการต่อ" + } }, "adminOnboarding": { "welcome": "ยินดีต้อนรับสู่ ทัวร์ผู้ดูแลระบบ มาสำรวจฟีเจอร์องค์กรอันทรงพลังและการตั้งค่าที่มีให้ผู้ดูแลระบบกัน", @@ -4852,7 +5219,10 @@ "role": "บทบาท", "team": "ทีม", "status": "สถานะ", - "actions": "การดำเนินการ", + "actions": { + "label": "การดำเนินการ", + "upgrade": "อัปเกรด" + }, "noMembersFound": "ไม่พบสมาชิก", "active": "ใช้งานอยู่", "disabled": "ปิดการใช้งาน", @@ -4964,7 +5334,8 @@ "slotsAvailable": "มีช่องผู้ใช้ว่าง {{count}} ช่อง", "noSlotsAvailable": "ไม่มีช่องว่าง", "currentUsage": "กำลังใช้สิทธิ์ผู้ใช้ {{current}} จาก {{max}}" - } + }, + "loginRequired": "เปิดโหมดล็อกอินก่อน" }, "teams": { "title": "ทีม", @@ -5057,6 +5428,17 @@ "showComparison": "เปรียบเทียบฟีเจอร์ทั้งหมด", "hideComparison": "ซ่อนการเปรียบเทียบฟีเจอร์", "featureComparison": "การเปรียบเทียบฟีเจอร์", + "from": "เริ่มต้นที่", + "perMonth": "/เดือน", + "perSeat": "/ที่นั่ง", + "withServer": "+ แพ็กเกจเซิร์ฟเวอร์", + "licensedSeats": "ที่นั่งที่มีสิทธิ์: {{count}} ที่นั่ง", + "includedInCurrent": "รวมอยู่ในแพ็กเกจของคุณ", + "selectPlan": "เลือกแพ็กเกจ", + "manage": "จัดการ", + "manageSubscription": { + "description": "จัดการการสมัคร การเรียกเก็บเงิน และวิธีชำระเงิน" + }, "activePlan": { "title": "แผนที่ใช้งาน", "subtitle": "รายละเอียดการสมัครใช้งานปัจจุบันของคุณ" @@ -5074,13 +5456,16 @@ "upTo": "สูงสุด" }, "period": { - "month": "เดือน" + "month": "เดือน", + "perUserPerMonth": "/ผู้ใช้/เดือน" }, "free": { "name": "ฟรี", "highlight1": "จำกัดการใช้งานเครื่องมือต่อสัปดาห์", "highlight2": "เข้าถึงเครื่องมือทั้งหมด", - "highlight3": "การสนับสนุนจากชุมชน" + "highlight3": "การสนับสนุนจากชุมชน", + "forever": "ฟรีตลอดไป", + "included": "รวมแล้ว" }, "pro": { "name": "โปร", @@ -5092,7 +5477,9 @@ "name": "องค์กร", "highlight1": "กำหนดราคาเอง", "highlight2": "การสนับสนุนเฉพาะทาง", - "highlight3": "ฟีเจอร์ล่าสุด" + "highlight3": "ฟีเจอร์ล่าสุด", + "requiresServer": "ต้องใช้เซิร์ฟเวอร์", + "requiresServerMessage": "โปรดอัปเกรดเป็นแพ็กเกจ Server ก่อนจึงอัปเกรดเป็น Enterprise" }, "feature": { "title": "ฟีเจอร์", @@ -5102,6 +5489,12 @@ "api": "การเข้าถึง API", "priority": "การสนับสนุนแบบเร่งด่วน", "customPricing": "กำหนดราคาเอง" + }, + "licenseWarning": { + "title": "ถึงขีดจำกัดฟรีสำหรับโฮสต์เองแล้ว", + "body": "คุณมีผู้ใช้ {{total}} คน แต่ระดับฟรีรองรับเพียง {{limit}} ต่อเซิร์ฟเวอร์ อัปเกรดเพื่อให้ Stirling PDF ทำงานราบรื่น", + "overLimit": "มากกว่า {{limit}}", + "cta": "ดูแพ็กเกจ" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "จัดการการเรียกเก็บเงิน", "portal": { "error": "ไม่สามารถเปิดพอร์ทัลการเรียกเก็บเงิน" - } + }, + "updateSeats": "อัปเดตจำนวนที่นั่ง", + "updateEnterpriseSeats": "อัปเดตที่นั่ง Enterprise", + "currentSeats": "ที่นั่งปัจจุบัน", + "minimumSeats": "ที่นั่งขั้นต่ำ", + "basedOnUsers": "(ผู้ใช้ปัจจุบัน)", + "newSeatCount": "จำนวนที่นั่งใหม่", + "newSeatCountDescription": "เลือกจำนวนที่นั่งสำหรับไลเซนส์เอนเทอร์ไพรส์ของคุณ", + "whatHappensNext": "ต่อไปจะเกิดอะไรขึ้น?", + "stripePortalRedirect": "คุณจะถูกเปลี่ยนเส้นทางไปยังพอร์ทัลเรียกเก็บเงินของ Stripe เพื่อทบทวนและยืนยันการเปลี่ยนจำนวนที่นั่ง ระบบจะคำนวณส่วนต่างโดยอัตโนมัติ", + "preparingUpdate": "กำลังเตรียมอัปเดตที่นั่ง...", + "seatCountTooLow": "จำนวนที่นั่งต้องไม่น้อยกว่า {{minimum}} (จำนวนผู้ใช้ปัจจุบัน)", + "seatCountUnchanged": "โปรดเลือกจำนวนที่นั่งที่ต่างออกไป", + "seatsUpdated": "อัปเดตที่นั่งแล้ว", + "seatsUpdatedMessage": "อัปเดตที่นั่งเอนเทอร์ไพรส์ของคุณเป็น {{seats}} แล้ว", + "updateProcessing": "กำลังดำเนินการอัปเดต", + "updateProcessingMessage": "กำลังประมวลผลการอัปเดตที่นั่ง โปรดรีเฟรชในอีกสักครู่", + "notEnterprise": "จัดการที่นั่งได้เฉพาะไลเซนส์เอนเทอร์ไพรส์เท่านั้น" + }, + "upgradeBanner": { + "title": "อัปเกรดเป็นแพ็กเกจ Server", + "message": "ใช้ Stirling PDF ได้เต็มที่ด้วยผู้ใช้ไม่จำกัดและฟีเจอร์ขั้นสูง", + "upgradeButton": "อัปเกรดเลย", + "dismiss": "ปิดแบนเนอร์", + "attentionTitle": "เซิร์ฟเวอร์นี้ต้องการการดูแลจากแอดมิน", + "attentionBody": "ผู้ดูแลของคุณต้องลงชื่อเข้าใช้เพื่อดูข้อมูลเพิ่มเติม โปรดติดต่อพวกเขาทันที", + "attentionBodyAdmin": "ทบทวนข้อกำหนดไลเซนส์เพื่อให้เซิร์ฟเวอร์นี้สอดคล้อง", + "seeInfo": "ดูข้อมูล" }, "payment": { "preparing": "กำลังเตรียมหน้าชำระเงินของคุณ...", @@ -5128,7 +5548,61 @@ "success": "ชำระเงินสำเร็จ!", "successMessage": "การสมัครสมาชิกของคุณเปิดใช้งานเรียบร้อยแล้ว คุณจะได้รับอีเมลยืนยันในไม่ช้า", "autoClose": "หน้าต่างนี้จะปิดโดยอัตโนมัติ...", - "error": "ข้อผิดพลาดในการชำระเงิน" + "error": "ข้อผิดพลาดในการชำระเงิน", + "upgradeSuccess": "ชำระเงินสำเร็จ! การสมัครของคุณได้รับการอัปเกรดแล้ว ไลเซนส์บนเซิร์ฟเวอร์ของคุณถูกอัปเดตแล้ว คุณจะได้รับอีเมลยืนยันในไม่ช้า", + "paymentSuccess": "ชำระเงินสำเร็จ! กำลังดึง license key ของคุณ...", + "licenseActivated": "เปิดใช้งานไลเซนส์แล้ว! บันทึก license key ของคุณเรียบร้อย ส่งอีเมลยืนยันไปยังที่อยู่อีเมลของคุณแล้ว", + "licenseDelayed": "ชำระเงินสำเร็จ! กำลังสร้างไลเซนส์ของคุณ คุณจะได้รับอีเมลพร้อม license key ในไม่ช้า หากไม่ได้รับภายใน 10 นาที โปรดติดต่อฝ่ายสนับสนุน", + "licensePollingError": "ชำระเงินสำเร็จแต่ไม่สามารถดึง license key อัตโนมัติ โปรดตรวจสอบอีเมลของคุณหรือ ติดต่อฝ่ายสนับสนุนพร้อมหลักฐานการชำระเงิน", + "licenseRetrievalError": "ชำระเงินสำเร็จแต่ดึงไลเซนส์ไม่สำเร็จ คุณจะได้รับ license key ทางอีเมล โปรดติดต่อฝ่ายสนับสนุนหากไม่ถึงภายใน 10 นาที", + "syncError": "ชำระเงินสำเร็จแต่ซิงค์ไลเซนส์ล้มเหลว ไลเซนส์ของคุณจะอัปเดตในไม่ช้า โปรดติดต่อฝ่ายสนับสนุนหากปัญหายังคงอยู่", + "licenseSaveError": "บันทึก license key ไม่สำเร็จ โปรดติดต่อฝ่ายสนับสนุนพร้อม license key ของคุณเพื่อทำการเปิดใช้ให้เสร็จสมบูรณ์", + "paymentCanceled": "ยกเลิกการชำระเงินแล้ว จะไม่มีการเรียกเก็บเงิน", + "syncingLicense": "กำลังซิงค์ไลเซนส์ที่อัปเกรดของคุณ...", + "generatingLicense": "กำลังสร้าง license key ของคุณ...", + "upgradeComplete": "อัปเกรดเสร็จสิ้น", + "upgradeCompleteMessage": "การสมัครของคุณอัปเกรดเรียบร้อยแล้ว และได้อัปเดต license key เดิมของคุณแล้ว", + "stripeNotConfigured": "ยังไม่ได้ตั้งค่า Stripe", + "stripeNotConfiguredMessage": "ยังไม่ได้ตั้งค่าการชำระเงินผ่าน Stripe โปรดติดต่อผู้ดูแลระบบของคุณ", + "monthly": "รายเดือน", + "yearly": "รายปี", + "billingPeriod": "รอบบิล", + "enterpriseNote": "ปรับจำนวนที่นั่งได้ในหน้าเช็คเอาต์ (1-1000)", + "installationId": "รหัสการติดตั้ง", + "licenseKey": "License Key ของคุณ", + "licenseInstructions": "ได้เพิ่มเข้าในการติดตั้งของคุณแล้ว คุณจะได้รับสำเนาทางอีเมลด้วย", + "canCloseWindow": "คุณสามารถปิดหน้าต่างนี้ได้แล้ว", + "licenseKeyProcessing": "กำลังประมวลผล License Key", + "licenseDelayedMessage": "กำลังสร้าง license key ของคุณ โปรดตรวจสอบอีเมลในไม่ช้า หรือติดต่อฝ่ายสนับสนุน", + "perYear": "/ปี", + "perMonth": "/เดือน", + "emailInvalid": "โปรดกรอกที่อยู่อีเมลที่ถูกต้อง", + "emailStage": { + "title": "ป้อนอีเมลของคุณ", + "description": "เราจะใช้สำหรับส่ง license key และใบเสร็จ", + "emailLabel": "ที่อยู่อีเมล", + "emailPlaceholder": "your@email.com", + "continue": "ดำเนินการต่อ", + "modalTitle": "เริ่มต้น - {{planName}}" + }, + "planStage": { + "title": "เลือกรอบบิล", + "savingsNote": "ประหยัด {{percent}}% เมื่อชำระรายปี", + "basePrice": "ราคาเริ่มต้น", + "seatPrice": "ต่อที่นั่ง", + "totalForSeats": "รวม ({{count}} ที่นั่ง)", + "selectMonthly": "เลือกแบบรายเดือน", + "selectYearly": "เลือกแบบรายปี", + "savePercent": "ประหยัด {{percent}}%", + "savingsAmount": "คุณประหยัด {{amount}}", + "modalTitle": "เลือกรอบบิล - {{planName}}", + "billedYearly": "เรียกเก็บปีละ {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "กลับไปเลือกแพ็กเกจ", + "selectedPlan": "แพ็กเกจที่เลือก", + "modalTitle": "ชำระเงินให้เสร็จ - {{planName}}" + } }, "firstLogin": { "title": "เข้าสู่ระบบครั้งแรก", @@ -5287,5 +5761,281 @@ "offline": "แบ็กเอนด์ออฟไลน์", "starting": "แบ็กเอนด์กำลังเริ่มทำงาน...", "wait": "โปรดรอให้แบ็กเอนด์เริ่มทำงานเสร็จสิ้นแล้วลองใหม่อีกครั้ง." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "ปลดล็อก PDF เพื่อดำเนินการต่อ", + "title": "เอารหัสผ่านออกเพื่อดำเนินการต่อ", + "description": "ไฟล์ PDF นี้ถูกป้องกันด้วยรหัสผ่าน ป้อนรหัสผ่านเพื่อทำงานต่อได้", + "password": { + "label": "รหัสผ่าน PDF", + "placeholder": "ป้อนรหัสผ่าน PDF" + }, + "skip": "ข้ามไปก่อน", + "unlock": "ปลดล็อกและดำเนินการต่อ", + "incorrectPassword": "รหัสผ่านไม่ถูกต้อง", + "missingFile": "ไฟล์ที่เลือกไม่มีอยู่แล้ว", + "emptyResponse": "การลบรหัสผ่านไม่สร้างไฟล์", + "required": "ป้อนรหัสผ่านเพื่อดำเนินการต่อ", + "successTitle": "ลบรหัสผ่านแล้ว", + "successBodyWithName": "ลบรหัสผ่านจาก {{fileName}} แล้ว", + "successBody": "ลบรหัสผ่านสำเร็จ" + }, + "setup": { + "welcome": "ยินดีต้อนรับสู่ Stirling PDF", + "description": "เริ่มต้นโดยเลือกวิธีที่คุณต้องการใช้ Stirling PDF", + "step1": { + "label": "เลือกโหมด", + "description": "ออฟไลน์หรือเซิร์ฟเวอร์" + }, + "step2": { + "label": "เลือกเซิร์ฟเวอร์", + "description": "เซิร์ฟเวอร์โฮสต์เอง" + }, + "step3": { + "label": "เข้าสู่ระบบ", + "description": "ป้อนข้อมูลรับรอง" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "ลงชื่อเข้าใช้ด้วยบัญชี Stirling ของคุณ" + }, + "selfhosted": { + "title": "เซิร์ฟเวอร์โฮสต์เอง", + "description": "เชื่อมต่อกับเซิร์ฟเวอร์ Stirling PDF ของคุณเอง" + } + }, + "saas": { + "title": "ลงชื่อเข้าใช้ Stirling", + "subtitle": "ลงชื่อเข้าใช้ด้วยบัญชี Stirling ของคุณ" + }, + "selfhosted": { + "title": "ลงชื่อเข้าใช้เซิร์ฟเวอร์", + "subtitle": "ป้อนข้อมูลรับรองของเซิร์ฟเวอร์ของคุณ" + }, + "server": { + "title": "เชื่อมต่อกับเซิร์ฟเวอร์", + "subtitle": "ป้อน URL เซิร์ฟเวอร์ที่โฮสต์เองของคุณ", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "เซิร์ฟเวอร์โฮสต์เอง" + }, + "url": { + "label": "URL เซิร์ฟเวอร์", + "description": "ป้อน URL แบบเต็มของเซิร์ฟเวอร์ Stirling PDF ที่โฮสต์เองของคุณ" + }, + "error": { + "emptyUrl": "โปรดป้อน URL เซิร์ฟเวอร์", + "unreachable": "ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์", + "testFailed": "การทดสอบการเชื่อมต่อล้มเหลว" + }, + "testing": "กำลังทดสอบการเชื่อมต่อ..." + }, + "login": { + "title": "เข้าสู่ระบบ", + "subtitle": "ป้อนข้อมูลรับรองเพื่อดำเนินการต่อ", + "connectingTo": "กำลังเชื่อมต่อกับ:", + "username": { + "label": "ชื่อผู้ใช้", + "placeholder": "ป้อนชื่อผู้ใช้" + }, + "email": { + "label": "อีเมล", + "placeholder": "ป้อนอีเมลของคุณ" + }, + "password": { + "label": "รหัสผ่าน", + "placeholder": "ป้อนรหัสผ่านของคุณ" + }, + "error": { + "emptyUsername": "โปรดป้อนชื่อผู้ใช้", + "emptyEmail": "โปรดป้อนอีเมล", + "emptyPassword": "โปรดป้อนรหัสผ่าน", + "oauthFailed": "เข้าสู่ระบบ OAuth ไม่สำเร็จ โปรดลองอีกครั้ง" + }, + "submit": "เข้าสู่ระบบ", + "signInWith": "ลงชื่อเข้าใช้ด้วย", + "oauthPending": "กำลังเปิดเบราว์เซอร์เพื่อยืนยันตัวตน...", + "orContinueWith": "หรือดำเนินการต่อด้วยอีเมล" + } + }, + "oauth": { + "success": { + "title": "ยืนยันตัวตนสำเร็จ", + "message": "คุณสามารถปิดหน้าต่างนี้และกลับไปที่ Stirling PDF" + }, + "error": { + "title": "ยืนยันตัวตนล้มเหลว", + "message": "การยืนยันตัวตนไม่สำเร็จ คุณสามารถปิดหน้าต่างนี้และลองอีกครั้ง" + } + }, + "pdfTextEditor": { + "title": "ตัวแก้ไข PDF JSON", + "viewLabel": "ตัวแก้ไข PDF", + "converting": "กำลังแปลง PDF เป็นรูปแบบที่แก้ไขได้...", + "conversionFailed": "แปลง PDF ไม่สำเร็จ โปรดลองอีกครั้ง", + "currentFile": "ไฟล์ปัจจุบัน: {{name}}", + "pageSummary": "หน้า {{number}} จาก {{total}}", + "pagePreviewAlt": "ภาพตัวอย่างหน้า", + "imageLabel": "รูปภาพที่วางแล้ว", + "noTextOnPage": "ไม่พบข้อความที่แก้ไขได้ในหน้านี้", + "pageType": { + "paragraph": "หน้าแบบย่อหน้า", + "sparse": "ข้อความกระจัดกระจาย" + }, + "groupingMode": { + "auto": "อัตโนมัติ", + "paragraph": "ย่อหน้า", + "singleLine": "บรรทัดเดียว" + }, + "badges": { + "unsaved": "แก้ไขแล้ว", + "modified": "แก้ไขแล้ว", + "earlyAccess": "เข้าถึงล่วงหน้า" + }, + "actions": { + "reset": "รีเซ็ตการเปลี่ยนแปลง", + "downloadJson": "ดาวน์โหลด JSON", + "generatePdf": "สร้าง PDF" + }, + "options": { + "autoScaleText": { + "title": "ปรับขนาดข้อความอัตโนมัติให้พอดีกล่อง", + "description": "ปรับข้อความในแนวนอนอัตโนมัติให้พอดีกับกรอบขอบเขตเดิมเมื่อการเรนเดอร์ฟอนต์ต่างจากใน PDF" + }, + "groupingMode": { + "title": "โหมดจัดกลุ่มข้อความ", + "autoDescription": "ตรวจจับประเภทหน้าอัตโนมัติและจัดกลุ่มข้อความให้เหมาะสม", + "paragraphDescription": "จัดกลุ่มบรรทัดที่จัดแนวเป็นกล่องข้อความย่อหน้าหลายบรรทัด", + "singleLineDescription": "คงแต่ละบรรทัดข้อความใน PDF เป็นกล่องข้อความแยกกัน" + }, + "manualGrouping": { + "descriptionInline": "เคล็ดลับ: กดค้าง Ctrl (Cmd) หรือ Shift เพื่อเลือกหลายกล่องข้อความ จะมีแถบเครื่องมือลอยปรากฏเหนือรายการที่เลือกเพื่อให้คุณรวม ยกเลิกการจัดกลุ่ม หรือปรับความกว้าง" + }, + "forceSingleElement": { + "title": "ล็อกข้อความที่แก้ไขเป็นองค์ประกอบ PDF เดียว", + "description": "เมื่อเปิดใช้ เครื่องมือจะส่งออกแต่ละกล่องข้อความที่แก้ไขเป็นองค์ประกอบข้อความ PDF เดียว เพื่อหลีกเลี่ยงอักขระซ้อนทับหรือฟอนต์ปะปน" + } + }, + "manual": { + "mergeTooltip": "รวมกล่องที่เลือก", + "merge": "รวมที่เลือก", + "ungroupTooltip": "แยกย่อหน้าเป็นบรรทัด", + "ungroup": "ยกเลิกการจัดกลุ่มที่เลือก", + "widthMenu": "ตัวเลือกความกว้าง", + "expandWidth": "ขยายถึงขอบหน้า", + "resetWidth": "รีเซ็ตความกว้าง", + "resizeHandle": "ปรับความกว้างข้อความ" + }, + "disclaimer": { + "heading": "ข้อจำกัดการแสดงตัวอย่าง", + "textFocus": "พื้นที่ทำงานนี้เน้นการแก้ไขข้อความและจัดตำแหน่งภาพที่ฝังใหม่ งานกราฟิกบนหน้าที่ซับซ้อน วิดเจ็ตฟอร์ม และกราฟิกแบบเลเยอร์ จะถูกเก็บไว้สำหรับการส่งออกแต่แก้ไขได้ไม่เต็มรูปแบบที่นี่", + "previewVariance": "องค์ประกอบบางอย่าง (เช่น เส้นขอบตาราง รูปร่าง หรือรูปแบบการแสดงผลของคำอธิบายประกอบ) อาจไม่แสดงผลตรงกันในตัวอย่าง ไฟล์ PDF ที่ส่งออกจะคงคำสั่งการวาดเดิมไว้เท่าที่ทำได้", + "alpha": "ตัวดูแบบ alpha นี้ยังพัฒนาอยู่—ฟอนต์ สี เอฟเฟ็กต์ความโปร่งใส และรายละเอียดเลย์เอาต์บางอย่างอาจคลาดเคลื่อนเล็กน้อย โปรดตรวจสอบ PDF ที่สร้างขึ้นอีกครั้งก่อนแชร์" + }, + "empty": { + "title": "ยังไม่ได้โหลดเอกสาร", + "subtitle": "โหลดไฟล์ PDF หรือ JSON เพื่อเริ่มแก้ไขข้อความ" + }, + "welcomeBanner": { + "title": "ยินดีต้อนรับสู่ PDF Text Editor (Early Access)", + "experimental": "นี่คือฟีเจอร์ทดลองที่กำลังพัฒนา อาจมีความไม่เสถียรและปัญหาในการใช้งาน", + "howItWorks": "เครื่องมือนี้จะแปลง PDF ของคุณเป็นรูปแบบที่แก้ไขได้ เพื่อให้คุณปรับข้อความและจัดตำแหน่งภาพใหม่ การเปลี่ยนแปลงจะถูกบันทึกกลับเป็น PDF ใหม่", + "bestFor": "เหมาะที่สุดกับ:", + "bestFor1": "PDF แบบง่ายที่มีข้อความและภาพเป็นหลัก", + "bestFor2": "เอกสารที่จัดรูปแบบย่อหน้ามาตรฐาน", + "bestFor3": "จดหมาย เรียงความ รายงาน และเอกสารพื้นฐาน", + "notIdealFor": "ไม่เหมาะกับ:", + "notIdealFor1": "PDF ที่มีรูปแบบพิเศษ เช่น รายการหัวข้อย่อย ตาราง หรือเค้าโครงหลายคอลัมน์", + "notIdealFor2": "นิตยสาร โบรชัวร์ หรือเอกสารที่ออกแบบซับซ้อน", + "notIdealFor3": "คู่มือที่มีเค้าโครงซับซ้อน", + "limitations": "ข้อจำกัดปัจจุบัน:", + "limitation1": "การเรนเดอร์ฟอนต์อาจต่างจาก PDF ต้นฉบับเล็กน้อย", + "limitation2": "กราฟิกซับซ้อน ช่องฟอร์ม และคำอธิบายประกอบจะถูกเก็บไว้แต่แก้ไขไม่ได้", + "limitation3": "ไฟล์ขนาดใหญ่อาจใช้เวลาในการแปลงและประมวลผล", + "knownIssues": "ปัญหาที่ทราบ (กำลังแก้ไข):", + "issue1": "ยังไม่คงรักษาสีของข้อความ (จะเพิ่มเร็วๆ นี้)", + "issue2": "โหมดย่อหน้ามีปัญหาการจัดแนวและระยะห่างมากกว่า - แนะนำให้ใช้โหมดบรรทัดเดียว", + "issue3": "การแสดงตัวอย่างต่างจาก PDF ที่ส่งออก - PDF ที่ส่งออกใกล้เคียงต้นฉบับมากกว่า", + "issue4": "การจัดแนวข้อความที่หมุนอาจต้องปรับด้วยตนเอง", + "issue5": "เอฟเฟ็กต์ความโปร่งใสและการซ้อนเลเยอร์อาจต่างจากต้นฉบับ", + "feedback": "นี่คือฟีเจอร์ Early Access โปรดรายงานปัญหาที่พบเพื่อช่วยให้เราพัฒนาขึ้น!", + "gotIt": "รับทราบ", + "dontShowAgain": "ไม่ต้องแสดงอีก" + }, + "modeChange": { + "title": "ยืนยันการเปลี่ยนโหมด", + "warning": "การเปลี่ยนโหมดจัดกลุ่มข้อความจะรีเซ็ตการเปลี่ยนแปลงที่ยังไม่บันทึกทั้งหมด คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?", + "cancel": "ยกเลิก", + "confirm": "รีเซ็ตและเปลี่ยนโหมด" + }, + "fontAnalysis": { + "details": "รายละเอียดฟอนต์", + "embedded": "ฝังไว้", + "type": "ประเภท", + "webFormat": "รูปแบบเว็บ", + "warnings": "คำเตือน", + "suggestions": "หมายเหตุ", + "currentPageFonts": "ฟอนต์บนหน้านี้", + "allFonts": "ฟอนต์ทั้งหมด", + "fallback": "fallback", + "missing": "หายไป", + "perfectMessage": "สามารถทำซ้ำฟอนต์ทั้งหมดได้อย่างสมบูรณ์แบบ", + "warningMessage": "บางฟอนต์อาจแสดงผลไม่ถูกต้อง", + "infoMessage": "มีข้อมูลการทำซ้ำฟอนต์", + "perfect": "สมบูรณ์แบบ", + "subset": "subset" + }, + "errors": { + "invalidJson": "ไม่สามารถอ่านไฟล์ JSON โปรดตรวจสอบว่าไฟล์ถูกสร้างโดยเครื่องมือ PDF to JSON", + "pdfConversion": "ไม่สามารถแปลง JSON ที่แก้ไขกลับเป็น PDF" + } + }, + "auth": { + "sessionExpired": "เซสชันหมดอายุ", + "pleaseLoginAgain": "โปรดเข้าสู่ระบบอีกครั้ง", + "accessDenied": "ปฏิเสธการเข้าถึง", + "insufficientPermissions": "คุณไม่มีสิทธิ์ในการดำเนินการนี้" + }, + "addText": { + "title": "เพิ่มข้อความ", + "header": "เพิ่มข้อความลงใน PDF", + "text": { + "name": "เนื้อหาข้อความ", + "placeholder": "ป้อนข้อความที่ต้องการเพิ่ม", + "fontLabel": "ฟอนต์", + "fontSizeLabel": "ขนาดฟอนต์", + "fontSizePlaceholder": "พิมพ์หรือเลือกขนาดฟอนต์ (8-200)", + "colorLabel": "สีข้อความ" + }, + "steps": { + "configure": "ตั้งค่าข้อความ" + }, + "step": { + "createDesc": "ป้อนข้อความที่ต้องการเพิ่ม", + "place": "วางข้อความ", + "placeDesc": "คลิกบน PDF เพื่อเพิ่มข้อความ" + }, + "instructions": { + "title": "วิธีเพิ่มข้อความ", + "text": "หลังจากป้อนข้อความด้านบน ให้คลิกที่ใดก็ได้บน PDF เพื่อวาง", + "paused": "หยุดวางชั่วคราว", + "resumeHint": "ดำเนินการวางต่อเพื่อคลิกและเพิ่มข้อความ", + "noSignature": "ป้อนข้อความด้านบนเพื่อเปิดการวาง" + }, + "mode": { + "move": "ย้ายข้อความ", + "place": "วางข้อความ", + "pause": "หยุดการวาง", + "resume": "ดำเนินการวางต่อ" + }, + "results": { + "title": "ผลการเพิ่มข้อความ" + }, + "error": { + "failed": "เกิดข้อผิดพลาดระหว่างเพิ่มข้อความลงใน PDF" + }, + "tags": "text,annotation,label", + "applySignatures": "ใช้ข้อความ" } } \ No newline at end of file diff --git a/frontend/public/locales/tr-TR/translation.json b/frontend/public/locales/tr-TR/translation.json index 7bab50332..0f7fd7329 100644 --- a/frontend/public/locales/tr-TR/translation.json +++ b/frontend/public/locales/tr-TR/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Yakında:", "favorite": "Favorilere ekle", "favorites": "Favoriler", + "unavailable": "Sunucu yöneticisi tarafından devre dışı bırakıldı:", + "unavailableDependency": "Kullanılamıyor - sunucuda gerekli araç eksik:", "heading": "Tüm araçlar (tam ekran görünüm)", "noResults": "Aramanızı ayarlamayı deneyin veya ihtiyacınızı bulmak için açıklamaları aç/kapatın.", "recommended": "Önerilen", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Tam ekran moduna geç", "sidebar": "Kenar çubuğu moduna geç" - } + }, + "alpha": "Alfa", + "premiumFeature": "Premium özellik:", + "comingSoon": "Yakında:" }, "unsavedChanges": "PDF'inizde kaydedilmemiş değişiklikler var.", "areYouSure": "Ayrılmak istediğinizden emin misiniz?", @@ -41,6 +46,30 @@ "cancel": "İptal", "confirm": "Çıkart" }, + "defaultApp": { + "title": "Varsayılan PDF Uygulaması Olarak Ayarla", + "message": "Stirling PDF'yi varsayılan PDF düzenleyiciniz olarak ayarlamak ister misiniz?", + "description": "Bunu daha sonra sistem ayarlarından değiştirebilirsiniz.", + "notNow": "Şimdi Değil", + "setDefault": "Varsayılan Yap", + "dismiss": "Kapat", + "prompt": { + "title": "Varsayılan PDF Düzenleyici Olarak Ayarla", + "message": "PDF dosyalarını açmak için varsayılan uygulamanız Stirling PDF olsun." + }, + "success": { + "title": "Varsayılan Uygulama Ayarlandı", + "message": "Stirling PDF artık varsayılan PDF düzenleyiciniz" + }, + "settingsOpened": { + "title": "Ayarlar Açıldı", + "message": "Lütfen sistem ayarlarınızda Stirling PDF'yi seçin" + }, + "error": { + "title": "Hata", + "message": "Varsayılan PDF işleyicisi ayarlanamadı" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Kaydet", "saveToBrowser": "Tarayıcıya Kaydet", "download": "İndir", + "downloadUnavailable": "Bu öğe için indirme kullanılamıyor", + "saveUnavailable": "Bu öğe için kaydetme kullanılamıyor", "pin": "Dosyayı Sabitle (araç çalıştıktan sonra etkin tut)", "unpin": "Dosya Sabitlemesini Kaldır (araç çalıştıktan sonra değiştir)", "undoOperationTooltip": "Son işlemi geri almak ve orijinal dosyaları geri yüklemek için tıklayın", @@ -168,6 +199,7 @@ }, "edit": "Düzenle", "delete": "Sil", + "never": "Asla", "username": "Kullanıcı Adı", "password": "Parola", "welcome": "Hoş geldiniz", @@ -262,7 +294,8 @@ "learnMore": "Daha fazla bilgi edinin", "enable": "Analizi Etkinleştir", "disable": "Analizi Devre Dışı Bırak", - "settings": "Analiz ayarlarını config/settings.yml dosyasından değiştirebilirsiniz" + "settings": "Analiz ayarlarını config/settings.yml dosyasından değiştirebilirsiniz", + "privacyAssurance": "Herhangi bir kişisel bilgiyi veya dosyalarınızın içeriğini takip etmiyoruz." }, "navbar": { "favorite": "Favoriler", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Ayarlar", - "update": "Güncelleme mevcut", - "updateAvailable": "{0} mevcut kurulu sürümdür. Yeni bir sürüm ({1}) mevcuttur.", - "appVersion": "Uygulama Sürümü:", - "downloadOption": { - "title": "İndirme seçeneği seçin (Zip olmayan tek dosya indirmeler için):", - "1": "Aynı pencerede aç", - "2": "Yeni pencerede aç", - "3": "Dosyayı indir" - }, - "zipThreshold": "İndirilen dosya sayısı şu değeri aştığında zip dosyası oluştur:", - "signOut": "Çıkış Yap", - "accountSettings": "Hesap Ayarları", - "bored": { - "help": "Paskalya yumurtası oyunu etkinleştirir" - }, - "cacheInputs": { - "name": "Form girdilerini kaydet", - "help": "Gelecekteki çalıştırmalar için önceden kullanılan girdileri saklamayı etkinleştirin" + "connection": { + "title": "Bağlantı Modu", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Öz Barındırılan" + }, + "server": "Sunucu", + "user": "Şu olarak oturum açıldı", + "logout": "Çıkış Yap" }, "general": { "title": "Genel", "description": "Genel uygulama tercihlerini yapılandırın.", - "account": "Hesap", - "accountDescription": "Hesap ayarlarınızı yönetin", "user": "Kullanıcı", - "signedInAs": "Şu kullanıcı olarak oturum açıldı", "logout": "Oturumu kapat", "enableFeatures": { + "dismiss": "Kapat", "title": "Sistem Yöneticileri için", "intro": "Kuruluşunuz için kullanıcı kimlik doğrulaması, ekip yönetimi ve çalışma alanı özelliklerini etkinleştirin.", "action": "Yapılandır", "and": "ve", "benefit": "Kullanıcı rolleri, ekip işbirliği, yönetici kontrolleri ve kurumsal özellikleri etkinleştirir.", - "learnMore": "Belgelerde daha fazla bilgi edinin", - "dismiss": "Kapat" + "learnMore": "Belgelerde daha fazla bilgi edinin" }, - "autoUnzip": "API yanıtlarını otomatik ZIP'ten çıkar", - "autoUnzipDescription": "ZIP yanıtlarındaki dosyaları otomatik olarak çıkar", - "autoUnzipTooltip": "API işlemlerinden dönen ZIP dosyalarını otomatik olarak çıkarır. ZIP dosyalarını olduğu gibi tutmak için devre dışı bırakın. Bu, otomasyon iş akışlarını etkilemez.", - "autoUnzipFileLimit": "Otomatik zip açma dosya sınırı", - "autoUnzipFileLimitDescription": "ZIP'ten çıkarılacak azami dosya sayısı", - "autoUnzipFileLimitTooltip": "Yalnızca ZIP bu kadar ya da daha az dosya içeriyorsa çıkar. Daha büyük ZIP'leri çıkarmak için daha yüksek ayarlayın.", "defaultToolPickerMode": "Varsayılan araç seçici modu", "defaultToolPickerModeDescription": "Araç seçicinin varsayılan olarak tam ekranda mı yoksa kenar çubuğunda mı açılacağını seçin", "mode": { - "fullscreen": "Tam ekran", - "sidebar": "Kenar çubuğu" - } + "sidebar": "Kenar çubuğu", + "fullscreen": "Tam ekran" + }, + "autoUnzipTooltip": "API işlemlerinden dönen ZIP dosyalarını otomatik olarak çıkarır. ZIP dosyalarını olduğu gibi tutmak için devre dışı bırakın. Bu, otomasyon iş akışlarını etkilemez.", + "autoUnzip": "API yanıtlarını otomatik ZIP'ten çıkar", + "autoUnzipDescription": "ZIP yanıtlarındaki dosyaları otomatik olarak çıkar", + "autoUnzipFileLimitTooltip": "Yalnızca ZIP bu kadar ya da daha az dosya içeriyorsa çıkar. Daha büyük ZIP'leri çıkarmak için daha yüksek ayarlayın.", + "autoUnzipFileLimit": "Otomatik zip açma dosya sınırı", + "autoUnzipFileLimitDescription": "ZIP'ten çıkarılacak azami dosya sayısı", + "defaultPdfEditor": "Varsayılan PDF düzenleyici", + "defaultPdfEditorActive": "Stirling PDF varsayılan PDF düzenleyiciniz", + "defaultPdfEditorInactive": "Varsayılan olarak başka bir uygulama ayarlı", + "defaultPdfEditorChecking": "Kontrol ediliyor...", + "defaultPdfEditorSet": "Zaten Varsayılan", + "setAsDefault": "Varsayılan Yap", + "updates": { + "title": "Yazılım Güncellemeleri", + "description": "Güncellemeleri kontrol edin ve sürüm bilgilerini görüntüleyin", + "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" + }, + "hideUnavailableTools": "Kullanılamayan araçları gizle", + "hideUnavailableToolsDescription": "Gri gösterilmek yerine sunucunuz tarafından devre dışı bırakılan araçları kaldırın.", + "hideUnavailableConversions": "Kullanılamayan dönüşümleri gizle", + "hideUnavailableConversionsDescription": "Gri gösterilmek yerine Dönüştür aracındaki devre dışı seçenekleri kaldırın." }, "hotkeys": { - "title": "Klavye Kısayolları", - "description": "Bir aracın üzerine gelerek kısayolunu görün veya aşağıdan özelleştirin. \"Kısayolu değiştir\"e tıklayın ve yeni bir tuş kombinasyonuna basın. İptal için Esc'ye basın.", - "errorModifier": { - "mac": "Kısayolunuza ⌘ (Command), ⌥ (Option) veya başka bir değiştirici ekleyin.", - "windows": "Kısayolunuza Ctrl, Alt veya başka bir değiştirici ekleyin." - }, "errorConflict": "Kısayol zaten {{tool}} tarafından kullanılıyor.", + "searchPlaceholder": "Araçlarda ara...", "none": "Atanmadı", "customBadge": "Özel", "defaultLabel": "Varsayılan: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Kısayolu değiştir", "reset": "Sıfırla", "shortcut": "Kısayol", - "noShortcut": "Kısayol ayarlanmamış", - "searchPlaceholder": "Araçlarda ara..." + "noShortcut": "Kısayol ayarlanmamış" } }, + "update": { + "modalTitle": "Güncelleme Mevcut", + "current": "Geçerli Sürüm", + "latest": "En Son Sürüm", + "latestStable": "En Son Kararlı", + "priorityLabel": "Öncelik", + "recommendedAction": "Önerilen Eylem", + "breakingChangesDetected": "Kırıcı Değişiklikler Tespit Edildi", + "breakingChangesMessage": "Bazı sürümler kırıcı değişiklikler içerir. Lütfen güncellemeden önce aşağıdaki geçiş kılavuzlarını inceleyin.", + "migrationGuides": "Geçiş Kılavuzları", + "viewGuide": "Kılavuzu Görüntüle", + "loadingDetailedInfo": "Ayrıntılı bilgiler yükleniyor...", + "close": "Kapat", + "viewAllReleases": "Tüm Sürümleri Görüntüle", + "downloadLatest": "En Sonu İndir", + "availableUpdates": "Kullanılabilir Güncellemeler", + "unableToLoadDetails": "Ayrıntılı bilgiler yüklenemedi.", + "version": "Sürüm", + "urgentUpdateAvailable": "Acil Güncelleme", + "updateAvailable": "Güncelleme Mevcut", + "releaseNotes": "Sürüm Notları", + "priority": { + "urgent": "Acil", + "normal": "Normal", + "minor": "Küçük", + "low": "Düşük" + }, + "breakingChanges": "Kırıcı Değişiklikler", + "breakingChangesDefault": "Bu sürüm kırıcı değişiklikler içeriyor.", + "migrationGuide": "Geçiş Kılavuzu" + }, "changeCreds": { "title": "Giriş Bilgilerini Değiştir", "header": "Hesap Detaylarınızı Güncelleyin", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "PDF'leri başka bir PDF'nin üzerine bindirir", "title": "PDF'leri Bindirme" + }, + "pdfTextEditor": { + "title": "PDF Metin Düzenleyici", + "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" + }, + "addText": { + "tags": "metin,ek açıklama,etiket", + "title": "Metin Ekle", + "desc": "PDF'inize istediğiniz yere özel metin ekleyin" } }, "landing": { "addFiles": "Dosya Ekle", - "uploadFromComputer": "Bilgisayardan yükle" + "uploadFromComputer": "Bilgisayardan yükle", + "openFromComputer": "Bilgisayardan aç" }, "viewPdf": { "tags": "görüntüle,oku,açıklama ekle,metin,görüntü", @@ -849,6 +922,11 @@ }, "error": { "failed": "PDF'ler birleştirilirken bir hata oluştu." + }, + "tooltip": { + "header": { + "title": "Birleştirme Ayarlarına Genel Bakış" + } } }, "split": { @@ -1047,7 +1125,7 @@ "settings": "Ayarlar", "conversionCompleted": "Dönüştürme tamamlandı", "results": "Sonuçlar", - "defaultFilename": "converted_file", + "defaultFilename": "donusturulmus_dosya", "conversionResults": "Dönüştürme Sonuçları", "convertFrom": "Şuradan dönüştür", "convertTo": "Şuna dönüştür", @@ -1182,9 +1260,43 @@ "tags": "img,jpg,fotoğraf,resim", "title": "Resim Ekle", "header": "PDF'e resim ekle", - "everyPage": "Her Sayfa mı?", - "upload": "Resim ekle", - "submit": "Resim ekle" + "image": { + "name": "Resim", + "placeholder": "Bir resim yükleyin", + "label": "Resim dosyası" + }, + "steps": { + "configure": "Resmi Yapılandır" + }, + "step": { + "createDesc": "Eklemek istediğiniz resmi yükleyin", + "place": "Resmi yerleştir", + "placeDesc": "Resminizi eklemek için PDF'e tıklayın" + }, + "instructions": { + "title": "Resimler nasıl eklenir", + "text": "Resminizi yukarıdan yükledikten sonra, PDF üzerinde herhangi bir yere tıklayarak yerleştirin.", + "paused": "Yerleştirme duraklatıldı", + "resumeHint": "Resminizi eklemek için yerleştirmeyi sürdürün.", + "noSignature": "Yerleştirmeyi etkinleştirmek için yukarıya bir resim yükleyin." + }, + "mode": { + "move": "Resmi Taşı", + "place": "Resmi Yerleştir", + "pause": "Yerleştirmeyi duraklat", + "resume": "Yerleştirmeyi sürdür" + }, + "results": { + "title": "Resim Ekleme Sonuçları" + }, + "error": { + "failed": "Resim PDF'e eklenirken bir hata oluştu." + }, + "saved": { + "defaultLabel": "Resim", + "defaultImageLabel": "Yüklenen resim" + }, + "applySignatures": "Resimleri Uygula" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1200,7 +1312,7 @@ "desc": "PDF dosyalarına metin veya resim filigranları ekleyin", "completed": "Filigran eklendi", "submit": "Filigran Ekle", - "filenamePrefix": "watermarked", + "filenamePrefix": "filigranlı", "error": { "failed": "PDF'ye filigran eklenirken bir hata oluştu." }, @@ -1397,6 +1509,93 @@ }, "submit": "Değiştir" }, + "editTableOfContents": { + "settings": { + "title": "Yer imleri ve ana hat", + "replaceExisting": "Mevcut yer imlerini değiştir (eklemek için işareti kaldırın)", + "replaceExistingHint": "Devre dışı bırakıldığında, yeni ana hat mevcut yer imlerinin sonuna eklenir." + }, + "actions": { + "source": "Yer imlerini yükle", + "selectedFile": "Şuradan yüklendi: {{file}}", + "noFile": "Mevcut yer imlerini çıkarmak için bir PDF seçin.", + "loadFromPdf": "Seçilen PDF'den yükle", + "importJson": "JSON İçeri Al", + "importClipboard": "Panodan JSON yapıştır", + "export": "Yer imlerini dışa aktar", + "exportJson": "JSON İndir", + "exportClipboard": "JSON'u panoya kopyala", + "clipboardUnavailable": "Bu tarayıcıda pano erişimi mevcut değil." + }, + "info": { + "line1": "Her yer imi için açıklayıcı bir başlık ve açılacağı sayfa gerekir.", + "line2": "Bölümler ve alt bölümler için hiyerarşi oluşturmak üzere alt yer imlerini kullanın.", + "line3": "Zaman kazanmak için yer imlerini seçili PDF'den veya bir JSON dosyasından içe aktarın." + }, + "workbench": { + "empty": { + "title": "Düzenlemeye başlamak için aracı açın", + "description": "Çalışma alanını yüklemek için İçindekileri Düzenle aracını seçin." + }, + "tabTitle": "Ana hat çalışma alanı", + "subtitle": "Yer imlerini içe aktarın, hiyerarşiler oluşturun ve dar yan paneller olmadan ana hattı uygulayın.", + "noFile": "PDF seçilmedi", + "fileLabel": "Değişiklikler şu anda seçili PDF'ye uygulanacak.", + "filePrompt": "Başlamak için kitaplığınızdan bir PDF seçin veya yeni bir tane yükleyin.", + "changeFile": "PDF'yi Değiştir", + "selectFile": "PDF Seç" + }, + "editor": { + "heading": "Yer imi düzenleyici", + "description": "PDF ana hattınızı oluşturmak için yer imleri ekleyin, iç içe yerleştirin ve yeniden sıralayın.", + "addTopLevel": "Üst düzey yer imi ekle", + "empty": { + "title": "Henüz yer imi yok", + "description": "Mevcut yer imlerini içe aktarın veya ilk girdinizi ekleyerek başlayın.", + "action": "İlk yer imini ekle" + }, + "defaultTitle": "Yeni yer imi", + "defaultChildTitle": "Alt yer imi", + "defaultSiblingTitle": "Yeni yer imi", + "untitled": "Adsız yer imi", + "childBadge": "Alt", + "pagePreview": "Sayfa {{page}}", + "field": { + "title": "Yer imi başlığı", + "page": "Hedef sayfa numarası" + }, + "actions": { + "toggle": "Alt öğeleri aç/kapat", + "addChild": "Alt yer imi ekle", + "addSibling": "Kardeş yer imi ekle", + "remove": "Yer imini kaldır" + }, + "confirmRemove": "Bu yer imini ve tüm alt öğelerini kaldır?" + }, + "messages": { + "loadedTitle": "Yer imleri çıkarıldı", + "loadedBody": "PDF'deki mevcut yer imleri editöre yüklendi.", + "noBookmarks": "Seçilen PDF'de yer imi bulunamadı.", + "loadFailed": "Seçilen PDF'den yer imleri çıkarılamadı.", + "imported": "Yer imleri içe aktarıldı", + "importedBody": "JSON ana hattınız mevcut editör içeriğinin yerini aldı.", + "importedClipboard": "Pano verileri mevcut yer imi listesinin yerini aldı.", + "invalidJson": "Geçersiz JSON yapısı", + "invalidJsonBody": "Lütfen geçerli bir yer imi JSON dosyası sağlayın ve tekrar deneyin.", + "exported": "JSON indirmeye hazır", + "copied": "Panoya kopyalandı", + "copiedBody": "Yer imi JSON'u başarıyla kopyalandı.", + "copyFailed": "Kopyalama başarısız" + }, + "error": { + "failed": "İçindekiler güncellenemedi" + }, + "submit": "İçindekileri uygula", + "results": { + "title": "Yer imleriyle güncellenmiş PDF", + "subtitle": "İşlenen dosyayı indirin veya aşağıdan işlemi geri alın." + } + }, "removePages": { "tags": "Sayfaları kaldır,sayfaları sil", "title": "Kaldır", @@ -1978,13 +2177,54 @@ "title": "İmzanızı çizin", "clear": "Temizle" }, + "canvas": { + "heading": "İmzanızı çizin", + "clickToOpen": "Çizim tuvalini açmak için tıklayın", + "modalTitle": "İmzanızı çizin", + "colorLabel": "Renk", + "penSizeLabel": "Kalem boyutu", + "penSizePlaceholder": "Boyut", + "clear": "Tuvali temizle", + "colorPickerTitle": "Çizgi rengini seç" + }, "text": { "name": "İmzalayan Adı", - "placeholder": "Tam adınızı girin" + "placeholder": "Tam adınızı girin", + "fontLabel": "Yazı tipi", + "fontSizeLabel": "Yazı tipi boyutu", + "fontSizePlaceholder": "Yazı tipi boyutunu yazın veya seçin (8-200)", + "colorLabel": "Metin rengi" }, "clear": "Temizle", "add": "Ekle", - "saved": "Kaydedilmiş İmzalar", + "saved": { + "heading": "Kaydedilen imzalar", + "description": "Kaydedilen imzaları istediğiniz zaman yeniden kullanın.", + "emptyTitle": "Henüz kaydedilmiş imza yok", + "emptyDescription": "Yukarıda bir imza çizin, yükleyin veya yazın, sonra \"Kitaplığa kaydet\" seçeneğini kullanarak en fazla {{max}} favoriyi hazır tutun.", + "type": { + "canvas": "Çizim", + "image": "Yükleme", + "text": "Metin" + }, + "limitTitle": "Sınır aşıldı", + "limitDescription": "Yenisini eklemeden önce bir kaydedilmiş imzayı kaldırın (maks {{max}}).", + "carouselPosition": "{{current}} / {{total}}", + "prev": "Önceki", + "next": "Sonraki", + "delete": "Kaldır", + "label": "Etiket", + "defaultLabel": "İmza", + "defaultCanvasLabel": "Çizim imzası", + "defaultImageLabel": "Yüklenen imza", + "defaultTextLabel": "Yazılmış imza", + "saveButton": "İmzayı kaydet", + "saveUnavailable": "Kaydetmek için önce bir imza oluşturun.", + "noChanges": "Geçerli imza zaten kaydedildi.", + "status": { + "saved": "Kaydedildi" + } + }, "save": "İmzayı Kaydet", "applySignatures": "İmzaları Uygula", "personalSigs": "Kişisel İmzalar", @@ -2003,12 +2243,18 @@ "steps": { "configure": "İmzayı Yapılandır" }, + "step": { + "createDesc": "İmzayı nasıl oluşturmak istediğinizi seçin", + "place": "Yerleştir ve kaydet", + "placeDesc": "İmzayı PDF'iniz üzerinde konumlandırın" + }, "type": { "title": "İmza Türü", "draw": "Çiz", - "canvas": "Canvas", + "canvas": "Tuval", "image": "Görüntü", - "text": "Metin" + "text": "Metin", + "saved": "Kaydedildi" }, "image": { "label": "İmza görseli yükle", @@ -2019,11 +2265,17 @@ "title": "İmza nasıl eklenir", "canvas": "Canvas üzerinde imzanızı çizdikten sonra modali kapatın ve PDF üzerinde herhangi bir yere tıklayarak yerleştirin.", "image": "Yukarıya imza görselinizi yükledikten sonra, PDF üzerinde herhangi bir yere tıklayarak yerleştirin.", - "text": "Adınızı yukarıya girdikten sonra, imzanızı PDF üzerinde herhangi bir yere tıklayarak yerleştirin." + "saved": "Yukarıdan kaydedilmiş bir imza seçin, ardından PDF üzerinde herhangi bir yere tıklayarak yerleştirin.", + "text": "Adınızı yukarıya girdikten sonra, imzanızı PDF üzerinde herhangi bir yere tıklayarak yerleştirin.", + "paused": "Yerleştirme duraklatıldı", + "resumeHint": "İmzanızı eklemek için yerleştirmeyi sürdürün.", + "noSignature": "Yerleştirme araçlarını etkinleştirmek için yukarıda bir imza oluşturun." }, "mode": { "move": "İmzayı Taşı", - "place": "İmza Yerleştir" + "place": "İmza Yerleştir", + "pause": "Yerleştirmeyi duraklat", + "resume": "Yerleştirmeyi sürdür" }, "updateAndPlace": "Güncelle ve Yerleştir", "activate": "İmza Yerleştirmeyi Etkinleştir", @@ -2163,6 +2415,14 @@ "title": "Açıklamaları Kaldır Hakkında", "description": "Bu araç, PDF belgelerinizden tüm açıklamaları (yorumlar, vurgular, notlar vb.) kaldırır." }, + "tooltip": { + "header": { + "title": "Ek Açıklamaları Kaldır Hakkında" + }, + "description": { + "title": "Ne yapar" + } + }, "error": { "failed": "PDF'den açıklamalar kaldırılırken bir hata oluştu." } @@ -2627,6 +2887,9 @@ "header": { "title": "Otomatik Yeniden Adlandırma Nasıl Çalışır" }, + "description": { + "title": "Ne yapar" + }, "howItWorks": { "title": "Akıllı Yeniden Adlandırma", "text": "PDF içeriğinizden başlığı otomatik olarak bulur ve dosya adı olarak kullanır.", @@ -2634,6 +2897,9 @@ "bullet2": "Tespit edilen başlıktan temiz ve geçerli bir dosya adı oluşturur", "bullet3": "Uygun bir başlık bulunmazsa orijinal adı korur" } + }, + "settings": { + "title": "Hakkında" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "Beklenmeyen hata: {{message}}", "accountCreatedSuccess": "Hesap başarıyla oluşturuldu! Artık giriş yapabilirsiniz.", "passwordChangedSuccess": "Şifre başarıyla değiştirildi! Lütfen yeni şifrenizle giriş yapın.", - "credentialsUpdated": "Kimlik bilgileriniz güncellendi. Lütfen tekrar giriş yapın." + "credentialsUpdated": "Kimlik bilgileriniz güncellendi. Lütfen tekrar giriş yapın.", + "defaultCredentials": "Varsayılan Giriş Bilgileri", + "changePasswordWarning": "İlk kez giriş yaptıktan sonra lütfen parolanızı değiştirin", + "slides": { + "overview": { + "alt": "Stirling PDF genel bakış", + "title": "PDF ihtiyaçlarınızın tümü için tek adresiniz.", + "subtitle": "PDF'ler için gizlilik odaklı bir bulut paketi; belgeleri dönüştürmenize, imzalamanıza, sansürlemenize ve yönetmenize olanak tanır, ayrıca 50+ başka güçlü araçla birlikte gelir." + }, + "edit": { + "alt": "PDF'leri düzenle", + "title": "İstediğiniz bilgiyi göstermek/korumak için PDF'leri düzenleyin", + "subtitle": "PDF'leri sansürlemek, imzalamak, okumak ve işlemek için bir düzineden fazla araçla aradığınızı bulacaksınız." + }, + "secure": { + "alt": "PDF'leri güvenli hale getirin", + "title": "PDF'lerinizdeki hassas bilgileri koruyun", + "subtitle": "Parola ekleyin, içeriği sansürleyin ve sertifikaları kolayca yönetin." + } + } }, "signup": { "title": "Hesap oluşturun", @@ -3262,7 +3547,7 @@ "header": "PDF'i Tek Sayfaya", "submit": "Tek Sayfaya Dönüştür", "description": "Bu araç, PDF'inizdeki tüm sayfaları tek bir büyük sayfada birleştirir. Genişlik orijinal sayfalarla aynı kalır, ancak yükseklik tüm sayfa yüksekliklerinin toplamı olur.", - "filenamePrefix": "single_page", + "filenamePrefix": "tek_sayfa", "files": { "placeholder": "Başlamak için ana görünümden bir PDF seçin" }, @@ -3598,7 +3883,9 @@ "exportAll": "PDF'yi Dışa Aktar", "downloadSelected": "Seçilen Dosyaları İndir", "downloadAll": "Tümünü İndir", + "saveAll": "Tümünü Kaydet", "toggleTheme": "Temayı Değiştir", + "toggleBookmarks": "Yer imlerini aç/kapat", "language": "Dil", "search": "PDF Ara", "panMode": "Kaydırma Modu", @@ -3685,8 +3972,16 @@ "saved": "Ayarlar başarıyla kaydedildi", "saveSuccess": "Ayarlar başarıyla kaydedildi", "save": "Değişiklikleri Kaydet", + "discard": "Vazgeç", "restartRequired": "Yeniden Başlatma Gerekiyor", "loginRequired": "Yönetici ayarlarını değiştirmek için giriş modu etkin olmalıdır", + "unsavedChanges": { + "title": "Kaydedilmemiş Değişiklikler", + "message": "Kaydedilmemiş değişiklikleriniz var. Vazgeçmek istiyor musunuz?", + "cancel": "Düzenlemeye Devam Et", + "discard": "Değişikliklerden Vazgeç", + "hint": "Kaydedilmemiş değişiklikleriniz var" + }, "loginDisabled": { "title": "Giriş Modu Gerekli", "message": "Yönetici ayarlarını değiştirmek için giriş modu etkin olmalıdır. Lütfen ortamınızda SECURITY_ENABLELOGIN=true veya settings.yml içinde security.enableLogin: true olarak ayarlayın ve ardından sunucuyu yeniden başlatın.", @@ -4212,9 +4507,21 @@ "title": "Premium ve Kurumsal", "description": "Premium veya kurumsal lisans anahtarınızı yapılandırın.", "license": "Lisans Yapılandırması", + "licenseKey": { + "toggle": "Lisans anahtarınız veya sertifika dosyanız mı var?", + "info": "Doğrudan satın alma ile bir lisans anahtarı veya sertifika dosyanız varsa, burada girerek premium veya kurumsal özellikleri etkinleştirebilirsiniz." + }, "key": { "label": "Lisans Anahtarı", - "description": "Premium veya kurumsal lisans anahtarınızı girin" + "description": "Premium veya kurumsal lisans anahtarınızı girin", + "success": "Lisans Anahtarı Kaydedildi", + "successMessage": "Lisans anahtarınız başarıyla etkinleştirildi. Yeniden başlatma gerekmez.", + "overwriteWarning": { + "title": "⚠️ Uyarı: Mevcut Lisans Tespit Edildi", + "line1": "Mevcut lisans anahtarınızın üzerine yazma işlemi geri alınamaz.", + "line2": "Başka yerde yedeğiniz yoksa önceki lisansınız kalıcı olarak kaybolacaktır.", + "line3": "Önemli: Lisans anahtarlarını gizli ve güvenli tutun. Asla herkese açık şekilde paylaşmayın." + } }, "enabled": { "label": "Premium Özellikleri Etkinleştir", @@ -4278,12 +4585,17 @@ "or": "veya", "dropFileHere": "Dosyayı buraya bırakın veya yüklemek için tıklayın", "dropFilesHere": "Dosyaları buraya bırakın veya yükleme düğmesine tıklayın", + "dropFilesHereOpen": "Dosyaları buraya bırakın veya Aç düğmesine tıklayın", "pdfFilesOnly": "Yalnızca PDF dosyaları", "supportedFileTypes": "Desteklenen dosya türleri", "upload": "Yükle", "uploadFile": "Dosya Yükle", "uploadFiles": "Dosyaları Yükle", + "open": "Aç", + "openFile": "Dosya Aç", + "openFiles": "Dosyalar Aç", "noFilesInStorage": "Depolamada kullanılabilir dosya yok. Önce bazı dosyalar yükleyin.", + "noFilesInStorageOpen": "Depolamada dosya yok. Önce bazı dosyaları açın.", "selectFromStorage": "Depolamadan Seç", "backToTools": "Araçlara Geri Dön", "addFiles": "Dosya Ekle", @@ -4329,6 +4641,8 @@ "myFiles": "Dosyalarım", "noRecentFiles": "Son dosya bulunamadı", "googleDriveNotAvailable": "Google Drive entegrasyonu kullanılamıyor", + "downloadSelected": "Seçilenleri İndir", + "saveSelected": "Seçilenleri Kaydet", "openFiles": "Dosyaları Aç", "openFile": "Dosya Aç", "details": "Dosya Ayrıntıları", @@ -4341,7 +4655,6 @@ "selectAll": "Tümünü Seç", "deselectAll": "Seçimi Kaldır", "deleteSelected": "Seçilenleri Sil", - "downloadSelected": "Seçilenleri İndir", "selectedCount": "{{count}} seçildi", "download": "İndir", "delete": "Sil", @@ -4621,9 +4934,14 @@ "secureWorkflow": "Güvenlik İş Akışı", "secureWorkflowDesc": "JavaScript ve gömülü dosyalar gibi potansiyel olarak kötü amaçlı içeriği kaldırarak PDF belgelerini güvenceye alır, ardından yetkisiz erişimi önlemek için parola koruması ekler. Varsayılan parola 'password' olarak ayarlanır.", "processImages": "Görselleri İşle", - "processImagesDesc": "Birden çok görüntü dosyasını tek bir PDF belgeye dönüştürür, ardından görüntülerden aranabilir metin çıkarmak için OCR teknolojisini uygular." + "processImagesDesc": "Birden çok görüntü dosyasını tek bir PDF belgeye dönüştürür, ardından görüntülerden aranabilir metin çıkarmak için OCR teknolojisini uygular.", + "prePublishSanitization": "Yayın öncesi temizleme", + "prePublishSanitizationDesc": "PDF'leri çevrimiçi yayımlamadan önce veri sızıntısını önlemek için tüm gizli meta verileri, JavaScript'i, gömülü dosyaları, ek açıklamaları kaldıran ve formları düzleştiren temizleme iş akışı." } }, + "colorPicker": { + "title": "Renk seçin" + }, "common": { "previous": "Önceki", "next": "Sonraki", @@ -4639,7 +4957,13 @@ "used": "kullanılan", "available": "kullanılabilir", "cancel": "İptal", - "preview": "Önizleme" + "preview": "Önizleme", + "close": "Kapat", + "done": "Bitti", + "loading": "Yükleniyor...", + "back": "Geri", + "continue": "Devam et", + "error": "Hata" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Daha fazla dosya ekle...", "selectedFiles": "Seçilen Dosyalar", "submit": "Ekleri Ekle", + "tooltip": { + "header": { + "title": "Ek Ekle Hakkında" + }, + "description": { + "title": "Ne yapar" + } + }, "results": { "title": "Ek Sonuçları" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Özel Konum", "details": "Ayrıntılar", - "downloadUnavailable": "Bu öğe için indirme kullanılamıyor", "invalidUndoData": "Geri alma yapılamıyor: geçersiz işlem verisi", "margin": { "large": "Büyük", @@ -4801,6 +5132,10 @@ "maybeLater": "Belki Sonra", "dontShowAgain": "Bir Daha Gösterme" }, + "welcomeSlide": { + "title": "Stirling'e hoş geldiniz", + "body": "Stirling PDF artık her boyuttan ekip için hazır. Bu güncelleme yeni bir düzen, güçlü yeni yönetici yetenekleri ve en çok istenen özelliği içerir - Metni Düzenle." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Araçlardan birinin nasıl kullanılacağını göstermek için Kırp aracını seçelim.", "toolInterface": "Burası Kırp aracının arayüzü. Gördüğünüz gibi, üzerinde çalışacak PDF dosyaları henüz eklemediğimiz için pek bir şey yok.", @@ -4823,7 +5158,39 @@ "next": "İleri", "finish": "Bitir", "startTour": "Turu Başlat", - "startTourDescription": "Stirling PDF'in temel özelliklerinde rehberli bir tura çıkın" + "startTourDescription": "Stirling PDF'in temel özelliklerinde rehberli bir tura çıkın", + "buttons": { + "next": "İleri →", + "back": "Geri", + "skipForNow": "Şimdilik atla", + "download": "İndir →", + "showMeAround": "Bana etrafı göster", + "skipTheTour": "Turu atla" + }, + "serverLicense": { + "skip": "Şimdilik atla", + "seePlans": "Planlara Bak →", + "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 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." + }, + "desktopInstall": { + "title": "İndir", + "titleWithOs": "{{osLabel}} için indir", + "body": "Stirling, bir masaüstü uygulaması olarak en iyi şekilde çalışır. Çevrimdışı kullanabilir, belgelere daha hızlı erişebilir ve düzenlemeleri bilgisayarınızda yerel olarak yapabilirsiniz." + }, + "planOverview": { + "adminTitle": "Yönetici Özeti", + "userTitle": "Plan Özeti", + "adminBodyLoginEnabled": "Bir yönetici olarak kullanıcıları yönetebilir, ayarları yapılandırabilir ve sunucu sağlığını izleyebilirsiniz. Sunucunuzdaki ilk {{freeTierLimit}} kişi Stirling'i ücretsiz kullanır.", + "adminBodyLoginDisabled": "Oturum açma modunu etkinleştirdiğinizde kullanıcıları yönetebilir, ayarları yapılandırabilir ve sunucu sağlığını izleyebilirsiniz. Sunucunuzdaki ilk {{freeTierLimit}} kişi Stirling'i ücretsiz kullanır.", + "userBody": "Ekip arkadaşlarını davet edin, roller atayın ve belgelerinizi tek bir güvenli çalışma alanında düzenli tutun. Tek başına kullanımdan büyümeye hazır olduğunuzda oturum açma modunu etkinleştirin." + }, + "securityCheck": { + "message": "Uygulama son zamanlarda önemli değişiklikler geçirdi. Sunucu yöneticinizin dikkatine ihtiyaç duyulabilir. Devam etmek için lütfen rolünüzü doğrulayın." + } }, "adminOnboarding": { "welcome": "Yönetici Turu'na hoş geldiniz! Sistem yöneticileri için mevcut güçlü kurumsal özellikleri ve ayarları keşfedelim.", @@ -4852,7 +5219,10 @@ "role": "Rol", "team": "Takım", "status": "Durum", - "actions": "İşlemler", + "actions": { + "label": "İşlemler", + "upgrade": "Yükselt" + }, "noMembersFound": "Üye bulunamadı", "active": "Aktif", "disabled": "Devre dışı", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} kullanıcı kontenjanı mevcut", "noSlotsAvailable": "Uygun kontenjan yok", "currentUsage": "Şu anda {{max}} kullanıcı lisansının {{current}}'i kullanılıyor" - } + }, + "loginRequired": "Önce oturum açma modunu etkinleştirin" }, "teams": { "title": "Takımlar", @@ -5057,6 +5428,17 @@ "showComparison": "Tüm Özellikleri Karşılaştır", "hideComparison": "Özellik Karşılaştırmasını Gizle", "featureComparison": "Özellik Karşılaştırması", + "from": "Başlangıç", + "perMonth": "/ay", + "perSeat": "/koltuk", + "withServer": "+ Sunucu Planı", + "licensedSeats": "Lisanslı: {{count}} koltuk", + "includedInCurrent": "Planınızda Dahil", + "selectPlan": "Plan Seç", + "manage": "Yönet", + "manageSubscription": { + "description": "Aboneliğinizi, faturalandırmayı ve ödeme yöntemlerini yönetin" + }, "activePlan": { "title": "Aktif Plan", "subtitle": "Mevcut abonelik ayrıntılarınız" @@ -5074,13 +5456,16 @@ "upTo": "En fazla" }, "period": { - "month": "ay" + "month": "ay", + "perUserPerMonth": "/kullanıcı/ay" }, "free": { "name": "Ücretsiz", "highlight1": "Haftalık sınırlı araç kullanımı", "highlight2": "Tüm araçlara erişim", - "highlight3": "Topluluk desteği" + "highlight3": "Topluluk desteği", + "forever": "Sonsuza kadar ücretsiz", + "included": "Dahil" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Kurumsal", "highlight1": "Özel fiyatlandırma", "highlight2": "Özel destek", - "highlight3": "En yeni özellikler" + "highlight3": "En yeni özellikler", + "requiresServer": "Sunucu gerektirir", + "requiresServerMessage": "Enterprise'a yükseltmeden önce lütfen önce Sunucu planına yükseltin." }, "feature": { "title": "Özellik", @@ -5102,6 +5489,12 @@ "api": "API Erişimi", "priority": "Öncelikli Destek", "customPricing": "Özel Fiyatlandırma" + }, + "licenseWarning": { + "title": "Ücretsiz öz barındırma sınırına ulaşıldı", + "body": "{{total}} kullanıcınız var ancak ücretsiz katman sunucu başına yalnızca {{limit}} destekler. Stirling PDF'nin sorunsuz çalışması için yükseltin.", + "overLimit": "{{limit}} sayısından fazla", + "cta": "Planlara bak" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Faturalandırmayı Yönet", "portal": { "error": "Faturalandırma portalı açılamadı" - } + }, + "updateSeats": "Koltukları Güncelle", + "updateEnterpriseSeats": "Kurumsal Koltukları Güncelle", + "currentSeats": "Mevcut Koltuklar", + "minimumSeats": "Minimum Koltuk", + "basedOnUsers": "(mevcut kullanıcılar)", + "newSeatCount": "Yeni Koltuk Sayısı", + "newSeatCountDescription": "Kurumsal lisansınız için koltuk sayısını seçin", + "whatHappensNext": "Sonra ne olacak?", + "stripePortalRedirect": "Koltuk değişikliğini incelemek ve onaylamak için Stripe faturalandırma portalına yönlendirileceksiniz. Orantılı tutar otomatik hesaplanacaktır.", + "preparingUpdate": "Koltuk güncellemesi hazırlanıyor...", + "seatCountTooLow": "Koltuk sayısı en az {{minimum}} olmalı (mevcut kullanıcı sayısı)", + "seatCountUnchanged": "Lütfen farklı bir koltuk sayısı seçin", + "seatsUpdated": "Koltuklar Güncellendi", + "seatsUpdatedMessage": "Kurumsal koltuklarınız {{seats}} olarak güncellendi", + "updateProcessing": "Güncelleme İşleniyor", + "updateProcessingMessage": "Koltuk güncellemeniz işleniyor. Lütfen birkaç dakika içinde yenileyin.", + "notEnterprise": "Koltuk yönetimi yalnızca kurumsal lisanslar için kullanılabilir" + }, + "upgradeBanner": { + "title": "Sunucu Planına Yükseltin", + "message": "Sınırsız kullanıcı ve gelişmiş özelliklerle Stirling PDF'den en iyi şekilde yararlanın", + "upgradeButton": "Şimdi Yükselt", + "dismiss": "Afişi kapat", + "attentionTitle": "Bu sunucunun yönetici dikkatine ihtiyacı var", + "attentionBody": "Daha fazla bilgi görmek için yöneticinizin oturum açması gerekiyor. Lütfen hemen iletişime geçin.", + "attentionBodyAdmin": "Bu sunucunun uyumlu kalması için lisans gereksinimlerini gözden geçirin.", + "seeInfo": "Bilgileri gör" }, "payment": { "preparing": "Ödeme hazırlanıyor...", @@ -5128,7 +5548,61 @@ "success": "Ödeme Başarılı!", "successMessage": "Aboneliğiniz başarıyla etkinleştirildi. Kısa süre içinde bir onay e-postası alacaksınız.", "autoClose": "Bu pencere otomatik olarak kapanacaktır...", - "error": "Ödeme Hatası" + "error": "Ödeme Hatası", + "upgradeSuccess": "Ödeme başarılı! Aboneliğiniz yükseltildi. Lisansınız sunucunuza güncellendi. Kısa süre içinde bir onay e-postası alacaksınız.", + "paymentSuccess": "Ödeme başarılı! Lisans anahtarınız alınıyor...", + "licenseActivated": "Lisans etkinleştirildi! Lisans anahtarınız kaydedildi. Kayıtlı e-posta adresinize bir onay e-postası gönderildi.", + "licenseDelayed": "Ödeme başarılı! Lisansınız oluşturuluyor. Lisans anahtarınız kısa süre içinde e-postayla gönderilecektir. 10 dakika içinde almazsanız lütfen destekle iletişime geçin.", + "licensePollingError": "Ödeme başarılı ancak lisans anahtarınızı otomatik olarak alamadık. Lütfen e-postanızı kontrol edin veya ödeme onayınızla destekle iletişime geçin.", + "licenseRetrievalError": "Ödeme başarılı ancak lisans alma başarısız oldu. Lisans anahtarınızı e-postayla alacaksınız. 10 dakika içinde ulaşmazsa lütfen destekle iletişime geçin.", + "syncError": "Ödeme başarılı ancak lisans senkronizasyonu başarısız oldu. Lisansınız kısa süre içinde güncellenecektir. Sorunlar devam ederse lütfen destekle iletişime geçin.", + "licenseSaveError": "Lisans anahtarı kaydedilemedi. Etkinleştirmeyi tamamlamak için lütfen lisans anahtarınızla destekle iletişime geçin.", + "paymentCanceled": "Ödeme iptal edildi. Herhangi bir ücret yansıtılmadı.", + "syncingLicense": "Yükseltilen lisansınız senkronize ediliyor...", + "generatingLicense": "Lisans anahtarınız oluşturuluyor...", + "upgradeComplete": "Yükseltme Tamamlandı", + "upgradeCompleteMessage": "Aboneliğiniz başarıyla yükseltildi. Mevcut lisans anahtarınız güncellendi.", + "stripeNotConfigured": "Stripe Yapılandırılmadı", + "stripeNotConfiguredMessage": "Stripe ödeme entegrasyonu yapılandırılmadı. Lütfen yöneticinizle iletişime geçin.", + "monthly": "Aylık", + "yearly": "Yıllık", + "billingPeriod": "Faturalandırma Dönemi", + "enterpriseNote": "Koltuklar ödeme adımında ayarlanabilir (1-1000).", + "installationId": "Kurulum Kimliği", + "licenseKey": "Lisans Anahtarınız", + "licenseInstructions": "Bu, kurulumunuza eklendi. Ayrıca e-postanızda bir kopyasını alacaksınız.", + "canCloseWindow": "Bu pencereyi şimdi kapatabilirsiniz.", + "licenseKeyProcessing": "Lisans Anahtarı İşleniyor", + "licenseDelayedMessage": "Lisans anahtarınız oluşturuluyor. Lütfen kısa süre içinde e-postanızı kontrol edin veya destekle iletişime geçin.", + "perYear": "/yıl", + "perMonth": "/ay", + "emailInvalid": "Lütfen geçerli bir e-posta adresi girin", + "emailStage": { + "title": "E-postanızı Girin", + "description": "Lisans anahtarınızı ve makbuzları göndermek için bunu kullanacağız.", + "emailLabel": "E-posta Adresi", + "emailPlaceholder": "your@email.com", + "continue": "Devam et", + "modalTitle": "Başlayın - {{planName}}" + }, + "planStage": { + "title": "Faturalandırma Döneminizi Seçin", + "savingsNote": "Yıllık faturalandırma ile %{{percent}} tasarruf edin", + "basePrice": "Taban Fiyat", + "seatPrice": "Koltuk Başına", + "totalForSeats": "Toplam ({{count}} koltuk)", + "selectMonthly": "Aylığı Seç", + "selectYearly": "Yıllığı Seç", + "savePercent": "%{{percent}} tasarruf edin", + "savingsAmount": "{{amount}} tasarruf ediyorsunuz", + "modalTitle": "Faturalandırma Dönemi Seçin - {{planName}}", + "billedYearly": "Yıllık {{currency}}{{amount}} olarak faturalandırılır" + }, + "paymentStage": { + "backToPlan": "Plan Seçimine Dön", + "selectedPlan": "Seçilen Plan", + "modalTitle": "Ödemeyi Tamamlayın - {{planName}}" + } }, "firstLogin": { "title": "İlk Kez Oturum Açma", @@ -5287,5 +5761,281 @@ "offline": "Arka Uç Çevrimdışı", "starting": "Arka uç başlatılıyor...", "wait": "Lütfen arka ucun başlatılması tamamlanana kadar bekleyin ve tekrar deneyin." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Devam etmek için PDF'nin kilidini açın", + "title": "Devam etmek için parolayı kaldırın", + "description": "Bu PDF parola korumalı. Çalışmaya devam edebilmek için parolayı girin.", + "password": { + "label": "PDF parolası", + "placeholder": "PDF parolasını girin" + }, + "skip": "Şimdilik atla", + "unlock": "Kilidi Aç ve Devam Et", + "incorrectPassword": "Yanlış parola", + "missingFile": "Seçilen dosya artık mevcut değil.", + "emptyResponse": "Parola kaldırma bir dosya üretmedi.", + "required": "Devam etmek için parolayı girin.", + "successTitle": "Parola kaldırıldı", + "successBodyWithName": "{{fileName}} dosyasından parola kaldırıldı", + "successBody": "Parola başarıyla kaldırıldı." + }, + "setup": { + "welcome": "Stirling PDF'ye hoş geldiniz", + "description": "Stirling PDF'yi nasıl kullanmak istediğinizi seçerek başlayın", + "step1": { + "label": "Mod Seçin", + "description": "Çevrimdışı veya Sunucu" + }, + "step2": { + "label": "Sunucu Seçin", + "description": "Öz barındırılan sunucu" + }, + "step3": { + "label": "Oturum Açma", + "description": "Kimlik bilgilerini girin" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Stirling hesabınızla oturum açın" + }, + "selfhosted": { + "title": "Öz Barındırılan Sunucu", + "description": "Kendi Stirling PDF sunucunuza bağlanın" + } + }, + "saas": { + "title": "Stirling'de Oturum Açın", + "subtitle": "Stirling hesabınızla oturum açın" + }, + "selfhosted": { + "title": "Sunucuda Oturum Açın", + "subtitle": "Sunucu kimlik bilgilerinizi girin" + }, + "server": { + "title": "Sunucuya Bağlan", + "subtitle": "Öz barındırılan sunucu URL'nizi girin", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Öz barındırılan sunucu" + }, + "url": { + "label": "Sunucu URL'si", + "description": "Öz barındırılan Stirling PDF sunucunuzun tam URL'sini girin" + }, + "error": { + "emptyUrl": "Lütfen bir sunucu URL'si girin", + "unreachable": "Sunucuya bağlanılamadı", + "testFailed": "Bağlantı testi başarısız" + }, + "testing": "Bağlantı test ediliyor..." + }, + "login": { + "title": "Oturum Aç", + "subtitle": "Devam etmek için kimlik bilgilerinizi girin", + "connectingTo": "Bağlanılıyor:", + "username": { + "label": "Kullanıcı adı", + "placeholder": "Kullanıcı adınızı girin" + }, + "email": { + "label": "E-posta", + "placeholder": "E-postanızı girin" + }, + "password": { + "label": "Parola", + "placeholder": "Parolanızı girin" + }, + "error": { + "emptyUsername": "Lütfen kullanıcı adınızı girin", + "emptyEmail": "Lütfen e-postanızı girin", + "emptyPassword": "Lütfen parolanızı girin", + "oauthFailed": "OAuth oturumu başarısız oldu. Lütfen tekrar deneyin." + }, + "submit": "Oturum Aç", + "signInWith": "Şununla oturum aç", + "oauthPending": "Kimlik doğrulama için tarayıcı açılıyor...", + "orContinueWith": "Veya e-postayla devam edin" + } + }, + "oauth": { + "success": { + "title": "Kimlik Doğrulama Başarılı", + "message": "Bu pencereyi kapatabilir ve Stirling PDF'ye dönebilirsiniz." + }, + "error": { + "title": "Kimlik Doğrulama Başarısız", + "message": "Kimlik doğrulama başarılı olmadı. Bu pencereyi kapatıp tekrar deneyebilirsiniz." + } + }, + "pdfTextEditor": { + "title": "PDF JSON Düzenleyici", + "viewLabel": "PDF Düzenleyici", + "converting": "PDF düzenlenebilir formata dönüştürülüyor...", + "conversionFailed": "PDF dönüştürülemedi. Lütfen tekrar deneyin.", + "currentFile": "Geçerli dosya: {{name}}", + "pageSummary": "Sayfa {{number}} / {{total}}", + "pagePreviewAlt": "Sayfa önizleme", + "imageLabel": "Yerleştirilen resim", + "noTextOnPage": "Bu sayfada düzenlenebilir metin tespit edilmedi.", + "pageType": { + "paragraph": "Paragraf sayfası", + "sparse": "Seyrek metin" + }, + "groupingMode": { + "auto": "Otomatik", + "paragraph": "Paragraf", + "singleLine": "Tek Satır" + }, + "badges": { + "unsaved": "Düzenlendi", + "modified": "Düzenlendi", + "earlyAccess": "Erken Erişim" + }, + "actions": { + "reset": "Değişiklikleri Sıfırla", + "downloadJson": "JSON'u İndir", + "generatePdf": "PDF Oluştur" + }, + "options": { + "autoScaleText": { + "title": "Metni kutulara otomatik sığdır", + "description": "Yazı tipi işleme PDF'den farklı olduğunda metni, orijinal sınırlayıcı kutusuna yatay olarak otomatik sığdırır." + }, + "groupingMode": { + "title": "Metin Gruplama Modu", + "autoDescription": "Sayfa türünü otomatik algılar ve metni uygun şekilde gruplar.", + "paragraphDescription": "Hizalı satırları çok satırlı paragraf metin kutularında gruplar.", + "singleLineDescription": "Her PDF metin satırını ayrı bir metin kutusu olarak tutar." + }, + "manualGrouping": { + "descriptionInline": "İpucu: Birden çok metin kutusu seçmek için Ctrl (Cmd) veya Shift tuşunu basılı tutun. Seçimin üzerinde bir araç çubuğu belirir; birleştirebilir, grubu çözebilir veya genişlikleri ayarlayabilirsiniz." + }, + "forceSingleElement": { + "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." + } + }, + "manual": { + "mergeTooltip": "Seçili kutuları birleştir", + "merge": "Seçimi birleştir", + "ungroupTooltip": "Paragrafı tekrar satırlara böl", + "ungroup": "Seçimin grubunu çöz", + "widthMenu": "Genişlik seçenekleri", + "expandWidth": "Sayfa kenarına genişlet", + "resetWidth": "Genişliği sıfırla", + "resizeHandle": "Metin genişliğini ayarla" + }, + "disclaimer": { + "heading": "Önizleme Sınırlamaları", + "textFocus": "Bu çalışma alanı, metni düzenlemeye ve gömülü görselleri yeniden konumlandırmaya odaklanır. Karmaşık sayfa çizimleri, form parçacıkları ve katmanlı grafikler dışa aktarma için korunur ancak burada tam düzenlenemez.", + "previewVariance": "Bazı görseller (ör. tablo kenarlıkları, şekiller veya ek açıklama görünümleri) önizlemede tam olarak gösterilmeyebilir. Dışa aktarılan PDF, mümkün olduğunda orijinal çizim komutlarını korur.", + "alpha": "Bu alfa görüntüleyici hâlâ gelişiyor—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 iki kez kontrol edin." + }, + "empty": { + "title": "Belge yüklenmedi", + "subtitle": "Metin içeriğini düzenlemeye başlamak için bir PDF veya JSON dosyası yükleyin." + }, + "welcomeBanner": { + "title": "PDF Metin Düzenleyiciye Hoş Geldiniz (Erken Erişim)", + "experimental": "Bu, aktif geliştirme aşamasında deneysel bir özelliktir. Kullanım sırasında bazı kararsızlıklar ve sorunlar beklenebilir.", + "howItWorks": "Bu araç, PDF'inizi metin içeriğini değiştirebileceğiniz ve görselleri yeniden konumlandırabileceğiniz düzenlenebilir bir formata dönüştürür. Değişiklikler yeni bir PDF olarak kaydedilir.", + "bestFor": "En İyi Şunlarla Çalışır:", + "bestFor1": "Ağırlıklı olarak metin ve görseller içeren basit PDF'ler", + "bestFor2": "Standart paragraf biçimlendirmesine sahip belgeler", + "bestFor3": "Mektuplar, denemeler, raporlar ve temel belgeler", + "notIdealFor": "Şunlar için İdeal Değil:", + "notIdealFor1": "Madde işaretleri, tablolar veya çok sütunlu düzenler gibi özel biçimlendirmeye sahip PDF'ler", + "notIdealFor2": "Dergiler, broşürler veya yoğun tasarımlı belgeler", + "notIdealFor3": "Karmaşık düzenlere sahip kullanım kılavuzları", + "limitations": "Mevcut Sınırlamalar:", + "limitation1": "Fontların görüntülenmesi orijinal PDF'den biraz farklı olabilir", + "limitation2": "Karmaşık grafikler, form alanları ve açıklamalar korunur ancak düzenlenemez", + "limitation3": "Büyük dosyaların dönüştürülmesi ve işlenmesi zaman alabilir", + "knownIssues": "Bilinen Sorunlar (Düzeltiliyor):", + "issue1": "Metin rengi şu anda korunmuyor (yakında eklenecek)", + "issue2": "Paragraf modunda hizalama ve boşluk sorunları daha fazladır - Tek Satır modu önerilir", + "issue3": "Önizleme görünümü dışa aktarılan PDF'den farklıdır - dışa aktarılan PDF'ler orijinale daha yakındır", + "issue4": "Döndürülmüş metnin hizalaması manuel ayar gerektirebilir", + "issue5": "Şeffaflık ve katmanlama efektleri orijinalden farklı olabilir", + "feedback": "Bu bir erken erişim özelliğidir. Lütfen geliştirmemize yardımcı olmak için karşılaştığınız sorunları bildirin!", + "gotIt": "Anladım", + "dontShowAgain": "Bir daha gösterme" + }, + "modeChange": { + "title": "Mod Değişikliğini Onayla", + "warning": "Metin gruplama modunu değiştirmek kaydedilmemiş tüm değişiklikleri sıfırlayacaktır. Devam etmek istiyor musunuz?", + "cancel": "İptal", + "confirm": "Sıfırla ve Modu Değiştir" + }, + "fontAnalysis": { + "details": "Font Ayrıntıları", + "embedded": "Gömülü", + "type": "Tür", + "webFormat": "Web Formatı", + "warnings": "Uyarılar", + "suggestions": "Notlar", + "currentPageFonts": "Bu sayfadaki fontlar", + "allFonts": "Tüm fontlar", + "fallback": "yedek", + "missing": "eksik", + "perfectMessage": "Tüm fontlar mükemmel şekilde yeniden üretilebilir.", + "warningMessage": "Bazı fontlar doğru görüntülenmeyebilir.", + "infoMessage": "Font yeniden üretim bilgisi mevcut.", + "perfect": "mükemmel", + "subset": "kısmi" + }, + "errors": { + "invalidJson": "JSON dosyası okunamadı. PDF to JSON aracı tarafından oluşturulduğundan emin olun.", + "pdfConversion": "Düzenlenen JSON tekrar PDF'ye dönüştürülemedi." + } + }, + "auth": { + "sessionExpired": "Oturum Süresi Doldu", + "pleaseLoginAgain": "Lütfen tekrar giriş yapın.", + "accessDenied": "Erişim Reddedildi", + "insufficientPermissions": "Bu işlemi gerçekleştirmek için izniniz yok." + }, + "addText": { + "title": "Metin Ekle", + "header": "PDF'lere metin ekleyin", + "text": { + "name": "Metin içeriği", + "placeholder": "Ekleyeceğiniz metni girin", + "fontLabel": "Yazı tipi", + "fontSizeLabel": "Font boyutu", + "fontSizePlaceholder": "Font boyutunu yazın veya seçin (8-200)", + "colorLabel": "Metin rengi" + }, + "steps": { + "configure": "Metni Yapılandır" + }, + "step": { + "createDesc": "Ekleyeceğiniz metni girin", + "place": "Metni Yerleştir", + "placeDesc": "Metninizi eklemek için PDF'ye tıklayın" + }, + "instructions": { + "title": "Metin nasıl eklenir", + "text": "Yukarıya metninizi girdikten sonra, PDF üzerinde herhangi bir yere tıklayarak yerleştirin.", + "paused": "Yerleştirme duraklatıldı", + "resumeHint": "Metni eklemek için yerleştirmeye devam edin.", + "noSignature": "Yerleştirmeyi etkinleştirmek için yukarıya metin girin." + }, + "mode": { + "move": "Metni Taşı", + "place": "Metni Yerleştir", + "pause": "Yerleştirmeyi duraklat", + "resume": "Yerleştirmeye devam et" + }, + "results": { + "title": "Metin Ekleme Sonuçları" + }, + "error": { + "failed": "PDF'ye metin eklenirken bir hata oluştu." + }, + "tags": "metin,açıklama,etiket", + "applySignatures": "Metni Uygula" } } \ No newline at end of file diff --git a/frontend/public/locales/uk-UA/translation.json b/frontend/public/locales/uk-UA/translation.json index 8e0a51203..a3de731ee 100644 --- a/frontend/public/locales/uk-UA/translation.json +++ b/frontend/public/locales/uk-UA/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Незабаром:", "favorite": "Додати до вибраного", "favorites": "Вибране", + "unavailable": "Вимкнено адміністратором сервера:", + "unavailableDependency": "Недоступно — на сервері відсутній потрібний інструмент:", "heading": "Усі інструменти (повноекранний перегляд)", "noResults": "Спробуйте змінити пошук або перемкніть описи, щоб знайти потрібне.", "recommended": "Рекомендовано", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Переключитися на повноекранний режим", "sidebar": "Переключитися на режим бічної панелі" - } + }, + "alpha": "Альфа", + "premiumFeature": "Преміум-функція:", + "comingSoon": "Незабаром:" }, "unsavedChanges": "У вас є незбережені зміни у вашому PDF.", "areYouSure": "Ви впевнені, що хочете вийти?", @@ -41,6 +46,30 @@ "cancel": "Скасувати", "confirm": "Розпакувати" }, + "defaultApp": { + "title": "Зробити типовим PDF-додатком", + "message": "Зробити Stirling PDF вашим PDF-редактором за замовчуванням?", + "description": "Це можна змінити згодом у системних налаштуваннях.", + "notNow": "Не зараз", + "setDefault": "Встановити за замовчуванням", + "dismiss": "Закрити", + "prompt": { + "title": "Зробити типовим PDF-редактором", + "message": "Зробіть Stirling PDF типовою програмою для відкриття PDF-файлів." + }, + "success": { + "title": "Типову програму встановлено", + "message": "Stirling PDF тепер ваш PDF-редактор за замовчуванням" + }, + "settingsOpened": { + "title": "Відкрито налаштування", + "message": "Виберіть Stirling PDF у системних налаштуваннях" + }, + "error": { + "title": "Помилка", + "message": "Не вдалося встановити обробник PDF за замовчуванням" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Зберегти", "saveToBrowser": "Зберегти в браузері", "download": "Завантажити", + "downloadUnavailable": "Завантаження недоступне для цього елемента", + "saveUnavailable": "Збереження недоступне для цього елемента", "pin": "Закріпити файл (залишити активним після виконання інструмента)", "unpin": "Відкріпити файл (замінити після виконання інструмента)", "undoOperationTooltip": "Клацніть, щоб скасувати останню операцію та відновити оригінальні файли", @@ -168,6 +199,7 @@ }, "edit": "Редагувати", "delete": "Видалити", + "never": "Ніколи", "username": "Ім'я користувача", "password": "Пароль", "welcome": "Ласкаво просимо", @@ -262,7 +294,8 @@ "learnMore": "Дізнатися більше", "enable": "Увімкнути аналітику", "disable": "Вимкнути аналітику", - "settings": "Ви можете змінити параметри аналітики у файлі config/settings.yml" + "settings": "Ви можете змінити параметри аналітики у файлі config/settings.yml", + "privacyAssurance": "Ми не відстежуємо особисту інформацію чи вміст ваших файлів." }, "navbar": { "favorite": "Обране", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Налаштування", - "update": "Доступне оновлення", - "updateAvailable": "Зараз встановлена версія {0}. Нова версія ({1}) доступна.", - "appVersion": "Версія додатку:", - "downloadOption": { - "title": "Виберіть варіант завантаження (для завантаження одного файлу без zip):", - "1": "Відкрити в тому ж вікні", - "2": "Відкрити в новому вікні", - "3": "Завантажити файл" - }, - "zipThreshold": "Zip-файли, коли кількість завантажених файлів перевищує", - "signOut": "Вийти", - "accountSettings": "Налаштування акаунта", - "bored": { - "help": "Вмикає гру «пасхальне яйце»." - }, - "cacheInputs": { - "name": "Зберігати дані форм", - "help": "Увімкнути для збереження раніше використаних вхідних даних для майбутніх прогонів" + "connection": { + "title": "Режим підключення", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Самохостинг" + }, + "server": "Сервер", + "user": "Увійшли як", + "logout": "Вийти" }, "general": { "title": "Загальні", "description": "Налаштуйте загальні параметри застосунку.", - "account": "Обліковий запис", - "accountDescription": "Керуйте налаштуваннями облікового запису", "user": "Користувач", - "signedInAs": "Ви увійшли як", "logout": "Вийти", "enableFeatures": { + "dismiss": "Закрити", "title": "Для системних адміністраторів", "intro": "Увімкніть автентифікацію користувачів, керування командами та функції робочої області для вашої організації.", "action": "Налаштувати", "and": "та", "benefit": "Увімкне ролі користувачів, командну співпрацю, засоби адміністрування та корпоративні функції.", - "learnMore": "Докладніше в документації", - "dismiss": "Закрити" + "learnMore": "Докладніше в документації" }, - "autoUnzip": "Автоматично розпаковувати відповіді API", - "autoUnzipDescription": "Автоматично витягувати файли із ZIP-відповідей", - "autoUnzipTooltip": "Автоматично розпаковує ZIP-файли, повернуті операціями API. Вимкніть, щоб зберігати ZIP-файли недоторканими. Це не впливає на робочі процеси автоматизації.", - "autoUnzipFileLimit": "Ліміт авторозпакування файлів", - "autoUnzipFileLimitDescription": "Максимальна кількість файлів для вилучення з ZIP", - "autoUnzipFileLimitTooltip": "Розпаковувати лише якщо ZIP містить не більше цієї кількості файлів. Збільшіть значення, щоб розпаковувати більші ZIP-архіви.", "defaultToolPickerMode": "Режим вибору інструментів за замовчуванням", "defaultToolPickerModeDescription": "Виберіть, чи відкриватиметься вибір інструментів за замовчуванням на весь екран або в бічній панелі", "mode": { - "fullscreen": "Повноекранний", - "sidebar": "Бічна панель" - } + "sidebar": "Бічна панель", + "fullscreen": "Повноекранний" + }, + "autoUnzipTooltip": "Автоматично розпаковує ZIP-файли, повернуті операціями API. Вимкніть, щоб зберігати ZIP-файли недоторканими. Це не впливає на робочі процеси автоматизації.", + "autoUnzip": "Автоматично розпаковувати відповіді API", + "autoUnzipDescription": "Автоматично витягувати файли із ZIP-відповідей", + "autoUnzipFileLimitTooltip": "Розпаковувати лише якщо ZIP містить не більше цієї кількості файлів. Збільшіть значення, щоб розпаковувати більші ZIP-архіви.", + "autoUnzipFileLimit": "Ліміт авторозпакування файлів", + "autoUnzipFileLimitDescription": "Максимальна кількість файлів для вилучення з ZIP", + "defaultPdfEditor": "PDF-редактор за замовчуванням", + "defaultPdfEditorActive": "Stirling PDF — ваш PDF-редактор за замовчуванням", + "defaultPdfEditorInactive": "Інша програма встановлена як типова", + "defaultPdfEditorChecking": "Перевірка...", + "defaultPdfEditorSet": "Вже типовий", + "setAsDefault": "Зробити типовим", + "updates": { + "title": "Оновлення ПЗ", + "description": "Перевіряйте оновлення та переглядайте інформацію про версію", + "currentVersion": "Поточна версія", + "latestVersion": "Остання версія", + "checkForUpdates": "Перевірити оновлення", + "viewDetails": "Переглянути деталі" + }, + "hideUnavailableTools": "Приховувати недоступні інструменти", + "hideUnavailableToolsDescription": "Прибирати інструменти, вимкнені вашим сервером, замість показу сірим.", + "hideUnavailableConversions": "Приховувати недоступні перетворення", + "hideUnavailableConversionsDescription": "Прибирати вимкнені опції перетворення в інструменті Convert замість показу сірим." }, "hotkeys": { - "title": "Гарячі клавіші", - "description": "Наведіть курсор на інструмент, щоб побачити його комбінацію, або налаштуйте її нижче. Натисніть «Змінити комбінацію» та введіть нову комбінацію клавіш. Натисніть Esc, щоб скасувати.", - "errorModifier": { - "mac": "Додайте ⌘ (Command), ⌥ (Option) або інший модифікатор до вашої комбінації.", - "windows": "Додайте Ctrl, Alt або інший модифікатор до вашої комбінації." - }, "errorConflict": "Комбінацію вже використовує {{tool}}.", + "searchPlaceholder": "Пошук інструментів...", "none": "Не призначено", "customBadge": "Користувацька", "defaultLabel": "За замовчуванням: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Змінити комбінацію", "reset": "Скинути", "shortcut": "Комбінація", - "noShortcut": "Комбінацію не задано", - "searchPlaceholder": "Пошук інструментів..." + "noShortcut": "Комбінацію не задано" } }, + "update": { + "modalTitle": "Доступне оновлення", + "current": "Поточна версія", + "latest": "Остання версія", + "latestStable": "Остання стабільна", + "priorityLabel": "Пріоритет", + "recommendedAction": "Рекомендована дія", + "breakingChangesDetected": "Виявлено несумісні зміни", + "breakingChangesMessage": "Деякі версії містять несумісні зміни. Перед оновленням перегляньте настанови з міграції нижче.", + "migrationGuides": "Посібники з міграції", + "viewGuide": "Переглянути посібник", + "loadingDetailedInfo": "Завантаження докладної інформації...", + "close": "Закрити", + "viewAllReleases": "Переглянути всі випуски", + "downloadLatest": "Завантажити останню", + "availableUpdates": "Доступні оновлення", + "unableToLoadDetails": "Не вдалося завантажити докладну інформацію.", + "version": "Версія", + "urgentUpdateAvailable": "Термінове оновлення", + "updateAvailable": "Доступне оновлення", + "releaseNotes": "Примітки до випуску", + "priority": { + "urgent": "Терміновий", + "normal": "Звичайний", + "minor": "Незначний", + "low": "Низький" + }, + "breakingChanges": "Несумісні зміни", + "breakingChangesDefault": "Ця версія містить несумісні зміни.", + "migrationGuide": "Посібник з міграції" + }, "changeCreds": { "title": "Змінити облікові дані", "header": "Оновіть дані вашого облікового запису", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Накладення одного PDF поверх іншого PDF", "title": "Накладення PDF" + }, + "pdfTextEditor": { + "title": "Редактор тексту PDF", + "desc": "Переглядайте й редагуйте JSON-експорти Stirling PDF з груповим редагуванням тексту та повторною генерацією PDF" + }, + "addText": { + "tags": "текст,анотація,мітка", + "title": "Додати текст", + "desc": "Додавайте свій текст будь-де в PDF" } }, "landing": { "addFiles": "Додати файли", - "uploadFromComputer": "Завантажити з комп’ютера" + "uploadFromComputer": "Завантажити з комп’ютера", + "openFromComputer": "Відкрити з комп’ютера" }, "viewPdf": { "tags": "перегляд,читання,анотації,текст,зображення", @@ -849,6 +922,11 @@ }, "error": { "failed": "Під час об’єднання PDF сталася помилка." + }, + "tooltip": { + "header": { + "title": "Огляд налаштувань злиття" + } } }, "split": { @@ -1047,7 +1125,7 @@ "settings": "Налаштування", "conversionCompleted": "Перетворення завершено", "results": "Результати", - "defaultFilename": "converted_file", + "defaultFilename": "перетворений_файл", "conversionResults": "Результати перетворення", "convertFrom": "Перетворити з", "convertTo": "Перетворити у", @@ -1182,9 +1260,43 @@ "tags": "зображення,jpg,картинка,фото", "title": "Додати зображення", "header": "Додати зображення в PDF", - "everyPage": "Кожна сторінка?", - "upload": "Додати зображення", - "submit": "Додати зображення" + "image": { + "name": "Зображення", + "placeholder": "Завантажте зображення", + "label": "Файл зображення" + }, + "steps": { + "configure": "Налаштувати зображення" + }, + "step": { + "createDesc": "Завантажте зображення, яке хочете додати", + "place": "Розмістити зображення", + "placeDesc": "Клацніть по PDF, щоб додати зображення" + }, + "instructions": { + "title": "Як додавати зображення", + "text": "Після завантаження зображення вище натисніть будь-де на PDF, щоб розмістити його.", + "paused": "Розміщення призупинено", + "resumeHint": "Відновіть розміщення, щоб натиснути й додати зображення.", + "noSignature": "Завантажте зображення вище, щоб увімкнути розміщення." + }, + "mode": { + "move": "Перемістити зображення", + "place": "Розмістити зображення", + "pause": "Призупинити розміщення", + "resume": "Відновити розміщення" + }, + "results": { + "title": "Результати додавання зображення" + }, + "error": { + "failed": "Сталася помилка під час додавання зображення до PDF." + }, + "saved": { + "defaultLabel": "Зображення", + "defaultImageLabel": "Завантажене зображення" + }, + "applySignatures": "Застосувати зображення" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1200,7 +1312,7 @@ "desc": "Додайте текстові або графічні водяні знаки до файлів PDF", "completed": "Водяний знак додано", "submit": "Додати водяний знак", - "filenamePrefix": "watermarked", + "filenamePrefix": "з_водяним_знаком", "error": { "failed": "Під час додавання водяного знака до PDF сталася помилка." }, @@ -1397,6 +1509,93 @@ }, "submit": "Змінити" }, + "editTableOfContents": { + "settings": { + "title": "Закладки та структура", + "replaceExisting": "Замінити наявні закладки (зніміть, щоб додати в кінець)", + "replaceExistingHint": "Якщо вимкнено, нову структуру буде додано після поточних закладок." + }, + "actions": { + "source": "Завантажити закладки", + "selectedFile": "Завантажено з {{file}}", + "noFile": "Виберіть PDF, щоб витягти наявні закладки.", + "loadFromPdf": "Завантажити з вибраного PDF", + "importJson": "Імпортувати JSON", + "importClipboard": "Вставити JSON з буфера обміну", + "export": "Експортувати закладки", + "exportJson": "Завантажити JSON", + "exportClipboard": "Копіювати JSON у буфер обміну", + "clipboardUnavailable": "Доступ до буфера обміну недоступний у цьому браузері." + }, + "info": { + "line1": "Кожній закладці потрібні описова назва і сторінка, яку вона має відкривати.", + "line2": "Використовуйте дочірні закладки, щоб вибудувати ієрархію для розділів і підрозділів.", + "line3": "Імпортуйте закладки з вибраного PDF або з JSON-файла, щоб заощадити час." + }, + "workbench": { + "empty": { + "title": "Відкрийте інструмент, щоб почати редагувати", + "description": "Виберіть інструмент «Редагувати зміст», щоб завантажити робочу область." + }, + "tabTitle": "Робоча область структури", + "subtitle": "Імпортуйте закладки, будуйте ієрархії та застосовуйте структуру без тісних бічних панелей.", + "noFile": "PDF не вибрано", + "fileLabel": "Зміни буде застосовано до вибраного PDF.", + "filePrompt": "Щоб почати, виберіть PDF зі своєї бібліотеки або завантажте новий.", + "changeFile": "Змінити PDF", + "selectFile": "Вибрати PDF" + }, + "editor": { + "heading": "Редактор закладок", + "description": "Додавайте, вкладайте та переставляйте закладки, формуючи структуру вашого PDF.", + "addTopLevel": "Додати закладку верхнього рівня", + "empty": { + "title": "Закладок ще немає", + "description": "Імпортуйте наявні закладки або почніть, додавши перший запис.", + "action": "Додати першу закладку" + }, + "defaultTitle": "Нова закладка", + "defaultChildTitle": "Дочірня закладка", + "defaultSiblingTitle": "Нова закладка", + "untitled": "Без назви", + "childBadge": "Дочірня", + "pagePreview": "Сторінка {{page}}", + "field": { + "title": "Назва закладки", + "page": "Номер цільової сторінки" + }, + "actions": { + "toggle": "Перемкнути дочірні", + "addChild": "Додати дочірню закладку", + "addSibling": "Додати сусідню закладку", + "remove": "Видалити закладку" + }, + "confirmRemove": "Видалити цю закладку та всі її дочірні?" + }, + "messages": { + "loadedTitle": "Закладки витягнуто", + "loadedBody": "Наявні закладки з PDF завантажено до редактора.", + "noBookmarks": "У вибраному PDF не знайдено закладок.", + "loadFailed": "Не вдалося витягти закладки з вибраного PDF.", + "imported": "Закладки імпортовано", + "importedBody": "Ваша JSON-структура замінила поточний вміст редактора.", + "importedClipboard": "Дані з буфера обміну замінили поточний список закладок.", + "invalidJson": "Неправильна структура JSON", + "invalidJsonBody": "Надайте коректний JSON-файл закладок і спробуйте ще раз.", + "exported": "JSON готовий до завантаження", + "copied": "Скопійовано в буфер обміну", + "copiedBody": "JSON закладок успішно скопійовано.", + "copyFailed": "Не вдалося скопіювати" + }, + "error": { + "failed": "Не вдалося оновити зміст" + }, + "submit": "Застосувати зміст", + "results": { + "title": "Оновлений PDF із закладками", + "subtitle": "Завантажте оброблений файл або скасуйте дію нижче." + } + }, "removePages": { "tags": "видалити сторінки,видалення сторінок", "title": "Видалення", @@ -1601,7 +1800,7 @@ "tags": "стиск,маленький,крихітний" }, "unlockPDFForms": { - "tags": "remove,delete,form,field,readonly", + "tags": "видалити,стерти,форма,поле,лише для читання", "title": "Зняти режим лише для читання з полів форм", "header": "Розблокувати форми PDF", "submit": "Remove", @@ -1978,13 +2177,54 @@ "title": "Намалюйте свій підпис", "clear": "Очистити" }, + "canvas": { + "heading": "Намалюйте свій підпис", + "clickToOpen": "Натисніть, щоб відкрити полотно для малювання", + "modalTitle": "Намалюйте свій підпис", + "colorLabel": "Колір", + "penSizeLabel": "Товщина пера", + "penSizePlaceholder": "Розмір", + "clear": "Очистити полотно", + "colorPickerTitle": "Виберіть колір штриха" + }, "text": { "name": "Ім’я підписанта", - "placeholder": "Введіть своє повне ім’я" + "placeholder": "Введіть своє повне ім’я", + "fontLabel": "Шрифт", + "fontSizeLabel": "Розмір шрифту", + "fontSizePlaceholder": "Введіть або виберіть розмір шрифту (8–200)", + "colorLabel": "Колір тексту" }, "clear": "Очистити", "add": "Додати", - "saved": "Збережені підписи", + "saved": { + "heading": "Збережені підписи", + "description": "Повторно використовуйте збережені підписи будь-коли.", + "emptyTitle": "Ще немає збережених підписів", + "emptyDescription": "Намалюйте, завантажте або введіть підпис вище, потім скористайтеся \"Зберегти до бібліотеки\", щоб мати до {{max}} улюблених напохваті.", + "type": { + "canvas": "Малювання", + "image": "Завантаження", + "text": "Текст" + }, + "limitTitle": "Досягнуто ліміту", + "limitDescription": "Видаліть один із збережених підписів, перш ніж додавати нові (макс. {{max}}).", + "carouselPosition": "{{current}} з {{total}}", + "prev": "Попередній", + "next": "Наступний", + "delete": "Видалити", + "label": "Мітка", + "defaultLabel": "Підпис", + "defaultCanvasLabel": "Намальований підпис", + "defaultImageLabel": "Завантажений підпис", + "defaultTextLabel": "Набраний підпис", + "saveButton": "Зберегти підпис", + "saveUnavailable": "Спочатку створіть підпис, щоб зберегти його.", + "noChanges": "Поточний підпис вже збережено.", + "status": { + "saved": "Збережено" + } + }, "save": "Зберегти підпис", "applySignatures": "Застосувати підписи", "personalSigs": "Особисті підписи", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Налаштувати підпис" }, + "step": { + "createDesc": "Виберіть спосіб створення підпису", + "place": "Розмістити й зберегти", + "placeDesc": "Розташуйте підпис на своєму PDF" + }, "type": { "title": "Тип підпису", "draw": "Малювання", "canvas": "Полотно", "image": "Зображення", - "text": "Текст" + "text": "Текст", + "saved": "Збережені" }, "image": { "label": "Завантажити зображення підпису", @@ -2019,11 +2265,17 @@ "title": "Як додати підпис", "canvas": "Після малювання підпису на полотні закрийте вікно та клацніть будь-де по PDF, щоб розмістити його.", "image": "Після завантаження зображення підпису вище клацніть будь-де по PDF, щоб розмістити його.", - "text": "Після введення імені вище клацніть будь-де по PDF, щоб розмістити підпис." + "saved": "Виберіть збережений підпис вище, потім натисніть будь-де на PDF, щоб розмістити його.", + "text": "Після введення імені вище клацніть будь-де по PDF, щоб розмістити підпис.", + "paused": "Розміщення призупинено", + "resumeHint": "Відновіть розміщення, щоб натиснути й додати підпис.", + "noSignature": "Створіть підпис вище, щоб увімкнути інструменти розміщення." }, "mode": { "move": "Перемістити підпис", - "place": "Розмістити підпис" + "place": "Розмістити підпис", + "pause": "Призупинити розміщення", + "resume": "Відновити розміщення" }, "updateAndPlace": "Оновити та розмістити", "activate": "Активувати розміщення підпису", @@ -2163,6 +2415,14 @@ "title": "Про видалення анотацій", "description": "Цей інструмент видалить усі анотації (коментарі, підсвічування, нотатки тощо) з ваших PDF-документів." }, + "tooltip": { + "header": { + "title": "Про видалення анотацій" + }, + "description": { + "title": "Що це робить" + } + }, "error": { "failed": "Під час видалення анотацій з PDF сталася помилка." } @@ -2437,7 +2697,7 @@ "selectPDF": "Оберіть PDF-файл:", "submit": "Видалити підпис", "description": "Цей інструмент видалить підписи цифрового сертифіката з вашого PDF-документа.", - "filenamePrefix": "unsigned", + "filenamePrefix": "без_підпису", "files": { "placeholder": "Виберіть файл PDF у головному вікні, щоб розпочати" }, @@ -2627,6 +2887,9 @@ "header": { "title": "Як працює авто-перейменування" }, + "description": { + "title": "Що це робить" + }, "howItWorks": { "title": "Розумне перейменування", "text": "Автоматично знаходить назву у вмісті вашого PDF і використовує її як ім’я файлу.", @@ -2634,6 +2897,9 @@ "bullet2": "Створює охайне, коректне ім’я файлу з визначеної назви", "bullet3": "Зберігає оригінальне ім’я, якщо відповідної назви не знайдено" } + }, + "settings": { + "title": "Про" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "Неочікувана помилка: {{message}}", "accountCreatedSuccess": "Обліковий запис успішно створено! Тепер ви можете увійти.", "passwordChangedSuccess": "Пароль успішно змінено! Увійдіть із новим паролем.", - "credentialsUpdated": "Ваші облікові дані оновлено. Будь ласка, увійдіть знову." + "credentialsUpdated": "Ваші облікові дані оновлено. Будь ласка, увійдіть знову.", + "defaultCredentials": "Типові облікові дані для входу", + "changePasswordWarning": "Будь ласка, змініть пароль після першого входу", + "slides": { + "overview": { + "alt": "Огляд Stirling PDF", + "title": "Усе для PDF в одному місці.", + "subtitle": "Хмарний пакет із пріоритетом приватності для PDF: конвертуйте, підписуйте, приховуйте та керуйте документами, плюс 50+ інших потужних інструментів." + }, + "edit": { + "alt": "Редагуйте PDF", + "title": "Редагуйте PDF, щоб відображати й захищати потрібну інформацію", + "subtitle": "Понад десяток інструментів для приховування, підписання, читання та обробки PDF — ви точно знайдете потрібне." + }, + "secure": { + "alt": "Захищайте PDF", + "title": "Захищайте конфіденційну інформацію у ваших PDF", + "subtitle": "Легко додавайте паролі, приховуйте вміст і керуйте сертифікатами." + } + } }, "signup": { "title": "Створити обліковий запис", @@ -3262,7 +3547,7 @@ "header": "PDF на одну сторінку", "submit": "Перетворити на одну сторінку", "description": "Цей інструмент об’єднає всі сторінки вашого PDF в одну велику сторінку. Ширина залишиться такою ж, як в оригінальних сторінок, а висота дорівнюватиме сумі висот усіх сторінок.", - "filenamePrefix": "single_page", + "filenamePrefix": "одна_сторінка", "files": { "placeholder": "Виберіть файл PDF у головному вікні, щоб розпочати" }, @@ -3598,7 +3883,9 @@ "exportAll": "Експорт PDF", "downloadSelected": "Завантажити вибрані файли", "downloadAll": "Завантажити все", + "saveAll": "Зберегти все", "toggleTheme": "Перемкнути тему", + "toggleBookmarks": "Перемкнути закладки", "language": "Мова", "search": "Пошук у PDF", "panMode": "Режим переміщення", @@ -3685,8 +3972,16 @@ "saved": "Налаштування успішно збережено", "saveSuccess": "Налаштування успішно збережено", "save": "Зберегти зміни", + "discard": "Відхилити", "restartRequired": "Потрібне перезавантаження", "loginRequired": "Щоб змінювати адмінські налаштування, має бути ввімкнено режим входу", + "unsavedChanges": { + "title": "Незбережені зміни", + "message": "У вас є незбережені зміни. Відхилити їх?", + "cancel": "Продовжити редагування", + "discard": "Відхилити зміни", + "hint": "Є незбережені зміни" + }, "loginDisabled": { "title": "Потрібен режим входу", "message": "Щоб змінювати адмінські налаштування, має бути ввімкнено режим входу. Встановіть SECURITY_ENABLELOGIN=true у середовищі або security.enableLogin: true у settings.yml, потім перезапустіть сервер.", @@ -4212,9 +4507,21 @@ "title": "Преміум і Enterprise", "description": "Налаштуйте свій преміум або корпоративний ліцензійний ключ.", "license": "Конфігурація ліцензії", + "licenseKey": { + "toggle": "Є ліцензійний ключ або файл сертифіката?", + "info": "Якщо у вас є ліцензійний ключ або файл сертифіката з прямої покупки, введіть його тут, щоб активувати преміум чи корпоративні функції." + }, "key": { "label": "Ліцензійний ключ", - "description": "Введіть свій преміум або корпоративний ліцензійний ключ" + "description": "Введіть свій преміум або корпоративний ліцензійний ключ", + "success": "Ліцензійний ключ збережено", + "successMessage": "Ваш ліцензійний ключ успішно активовано. Перезапуск не потрібен.", + "overwriteWarning": { + "title": "⚠️ Попередження: виявлено наявну ліцензію", + "line1": "Перезапис поточного ліцензійного ключа неможливо скасувати.", + "line2": "Попередня ліцензія буде втрачена назавжди, якщо ви не маєте її резервної копії.", + "line3": "Важливо: зберігайте ліцензійні ключі приватними та безпечними. Ніколи не публікуйте їх." + } }, "enabled": { "label": "Увімкнути преміум-функції", @@ -4278,12 +4585,17 @@ "or": "або", "dropFileHere": "Перетягніть файл сюди або натисніть для завантаження", "dropFilesHere": "Перетягніть файли сюди або натисніть кнопку завантаження", + "dropFilesHereOpen": "Перетягніть файли сюди або натисніть кнопку відкриття", "pdfFilesOnly": "Лише файли PDF", "supportedFileTypes": "Підтримувані типи файлів", "upload": "Завантажити", "uploadFile": "Завантажити файл", "uploadFiles": "Завантажити файли", + "open": "Відкрити", + "openFile": "Відкрити файл", + "openFiles": "Відкрити файли", "noFilesInStorage": "У сховищі немає файлів. Спершу завантажте деякі файли.", + "noFilesInStorageOpen": "У сховищі немає файлів. Спершу відкрийте кілька файлів.", "selectFromStorage": "Вибрати зі сховища", "backToTools": "Назад до інструментів", "addFiles": "Додати файли", @@ -4329,6 +4641,8 @@ "myFiles": "Мої файли", "noRecentFiles": "Недавніх файлів не знайдено", "googleDriveNotAvailable": "Інтеграція з Google Drive недоступна", + "downloadSelected": "Завантажити вибрані", + "saveSelected": "Зберегти вибране", "openFiles": "Відкрити файли", "openFile": "Відкрити файл", "details": "Відомості про файл", @@ -4341,7 +4655,6 @@ "selectAll": "Вибрати все", "deselectAll": "Скасувати вибір усіх", "deleteSelected": "Видалити вибрані", - "downloadSelected": "Завантажити вибрані", "selectedCount": "Вибрано {{count}}", "download": "Завантажити", "delete": "Видалити", @@ -4621,9 +4934,14 @@ "secureWorkflow": "Робочий процес безпеки", "secureWorkflowDesc": "Захищає документи PDF, видаляючи потенційно шкідливий вміст, як-от JavaScript та вбудовані файли, а потім додає захист паролем, щоб запобігти несанкціонованому доступу. Пароль за замовчуванням — 'password'.", "processImages": "Обробити зображення", - "processImagesDesc": "Перетворює кілька файлів зображень в один документ PDF, а потім застосовує технологію OCR для вилучення придатного до пошуку тексту із зображень." + "processImagesDesc": "Перетворює кілька файлів зображень в один документ PDF, а потім застосовує технологію OCR для вилучення придатного до пошуку тексту із зображень.", + "prePublishSanitization": "Очищення перед публікацією", + "prePublishSanitizationDesc": "Процес очищення, який видаляє всі приховані метадані, JavaScript, вбудовані файли, анотації та сплющує форми, щоб запобігти витоку даних перед публікацією PDF онлайн." } }, + "colorPicker": { + "title": "Виберіть колір" + }, "common": { "previous": "Назад", "next": "Далі", @@ -4639,7 +4957,13 @@ "used": "використано", "available": "доступно", "cancel": "Скасувати", - "preview": "Попередній перегляд" + "preview": "Попередній перегляд", + "close": "Закрити", + "done": "Готово", + "loading": "Завантаження...", + "back": "Назад", + "continue": "Продовжити", + "error": "Помилка" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Додати ще файли...", "selectedFiles": "Вибрані файли", "submit": "Додати вкладення", + "tooltip": { + "header": { + "title": "Про додавання вкладень" + }, + "description": { + "title": "Що це робить" + } + }, "results": { "title": "Результати додавання вкладень" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Користувацьке розташування", "details": "Подробиці", - "downloadUnavailable": "Завантаження недоступне для цього елемента", "invalidUndoData": "Не можна скасувати: недійсні дані операції", "margin": { "large": "Великий", @@ -4801,6 +5132,10 @@ "maybeLater": "Можливо пізніше", "dontShowAgain": "Більше не показувати" }, + "welcomeSlide": { + "title": "Ласкаво просимо до Stirling", + "body": "Stirling PDF тепер готовий для команд будь-якого розміру. Це оновлення має нове компонування, потужні нові адмін-можливості та нашу найзапитуванішу функцію — Редагування тексту." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Давайте виберемо інструмент Обрізка, щоб показати, як користуватися одним з інструментів.", "toolInterface": "Це інтерфейс інструменту Обрізка. Як бачите, тут поки що небагато, адже ми ще не додали жодного PDF для роботи.", @@ -4823,7 +5158,39 @@ "next": "Далі", "finish": "Готово", "startTour": "Почати тур", - "startTourDescription": "Пройдіть покрокову екскурсію ключовими можливостями Stirling PDF" + "startTourDescription": "Пройдіть покрокову екскурсію ключовими можливостями Stirling PDF", + "buttons": { + "next": "Далі →", + "back": "Назад", + "skipForNow": "Пропустити зараз", + "download": "Завантажити →", + "showMeAround": "Проведіть екскурсію", + "skipTheTour": "Пропустити тур" + }, + "serverLicense": { + "skip": "Пропустити зараз", + "seePlans": "Переглянути плани →", + "upgrade": "Оновити зараз →", + "freeTitle": "Ліцензія сервера", + "overLimitTitle": "Потрібна ліцензія сервера", + "overLimitBody": "Наша ліцензія дозволяє до {{freeTierLimit}} користувачів безкоштовно на сервер. У вас {{overLimitUserCopy}} користувачів Stirling. Щоб працювати без перерв, перейдіть на план Stirling Server — необмежена кількість місць, редагування тексту PDF та повний адмін-контроль за $99/server/mo.", + "freeBody": "Наша Open-Core ліцензія дозволяє до {{freeTierLimit}} користувачів безкоштовно на сервер. Щоб масштабуватися безперервно та отримати ранній доступ до нового інструмента редагування тексту PDF, рекомендуємо план Stirling Server — повне редагування та необмежена кількість місць за $99/server/mo." + }, + "desktopInstall": { + "title": "Завантажити", + "titleWithOs": "Завантажити для {{osLabel}}", + "body": "Stirling найкраще працює як настільний додаток. Ви можете працювати офлайн, швидше отримувати доступ до документів і редагувати їх локально на своєму комп’ютері." + }, + "planOverview": { + "adminTitle": "Огляд для адміністратора", + "userTitle": "Огляд плану", + "adminBodyLoginEnabled": "Як адміністратор ви можете керувати користувачами, налаштовувати параметри та відстежувати стан сервера. Перші {{freeTierLimit}} людей на вашому сервері користуються Stirling безкоштовно.", + "adminBodyLoginDisabled": "Щойно ввімкнете режим входу, ви зможете керувати користувачами, налаштовувати параметри та відстежувати стан сервера. Перші {{freeTierLimit}} людей на вашому сервері користуються Stirling безкоштовно.", + "userBody": "Запрошуйте колег, призначайте ролі та тримайте документи впорядкованими в одному безпечному робочому просторі. Увімкніть режим входу, коли будете готові вирости за межі сольного використання." + }, + "securityCheck": { + "message": "Додаток нещодавно зазнав значних змін. Може знадобитися увага адміністратора сервера. Підтвердьте свою роль, щоб продовжити." + } }, "adminOnboarding": { "welcome": "Ласкаво просимо до адмін-туру! Давайте розглянемо потужні корпоративні можливості та налаштування, доступні системним адміністраторам.", @@ -4852,7 +5219,10 @@ "role": "Роль", "team": "Команда", "status": "Статус", - "actions": "Дії", + "actions": { + "label": "Дії", + "upgrade": "Оновити" + }, "noMembersFound": "Учасників не знайдено", "active": "Активний", "disabled": "Вимкнено", @@ -4964,7 +5334,8 @@ "slotsAvailable": "Доступно {{count}} місце(ць) користувача", "noSlotsAvailable": "Немає доступних місць", "currentUsage": "Зараз використано {{current}} із {{max}} ліцензій користувача" - } + }, + "loginRequired": "Спочатку увімкніть режим входу" }, "teams": { "title": "Команди", @@ -5057,6 +5428,17 @@ "showComparison": "Порівняти всі можливості", "hideComparison": "Приховати порівняння можливостей", "featureComparison": "Порівняння можливостей", + "from": "Від", + "perMonth": "/місяць", + "perSeat": "/місце", + "withServer": "+ план Server", + "licensedSeats": "Ліцензовано: {{count}} місць", + "includedInCurrent": "Входить у ваш план", + "selectPlan": "Вибрати план", + "manage": "Керувати", + "manageSubscription": { + "description": "Керуйте підпискою, виставленням рахунків і способами оплати" + }, "activePlan": { "title": "Активний план", "subtitle": "Деталі вашої поточної підписки" @@ -5074,13 +5456,16 @@ "upTo": "До" }, "period": { - "month": "місяць" + "month": "місяць", + "perUserPerMonth": "/користувач/місяць" }, "free": { - "name": "Free", + "name": "Безкоштовний", "highlight1": "Обмежене використання інструментів на тиждень", "highlight2": "Доступ до всіх інструментів", - "highlight3": "Підтримка спільноти" + "highlight3": "Підтримка спільноти", + "forever": "Назавжди безкоштовно", + "included": "Входить" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Індивідуальне ціноутворення", "highlight2": "Виділена підтримка", - "highlight3": "Найновіші можливості" + "highlight3": "Найновіші можливості", + "requiresServer": "Потрібен сервер", + "requiresServerMessage": "Спочатку перейдіть на план Server, перш ніж оновлюватися до Enterprise." }, "feature": { "title": "Можливість", @@ -5102,6 +5489,12 @@ "api": "Доступ до API", "priority": "Пріоритетна підтримка", "customPricing": "Індивідуальне ціноутворення" + }, + "licenseWarning": { + "title": "Досягнуто ліміту безкоштовного самохостингу", + "body": "У вас {{total}} користувачів, але безкоштовний рівень підтримує лише {{limit}} на сервер. Оновіть план, щоб Stirling PDF працював стабільно.", + "overLimit": "понад {{limit}}", + "cta": "Переглянути плани" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Керувати оплатою", "portal": { "error": "Не вдалося відкрити портал оплати" - } + }, + "updateSeats": "Оновити місця", + "updateEnterpriseSeats": "Оновити місця Enterprise", + "currentSeats": "Поточна кількість місць", + "minimumSeats": "Мінімальна кількість місць", + "basedOnUsers": "(поточні користувачі)", + "newSeatCount": "Нова кількість місць", + "newSeatCountDescription": "Виберіть кількість місць для вашої ліцензії Enterprise", + "whatHappensNext": "Що далі?", + "stripePortalRedirect": "Вас буде перенаправлено до білінг-порталу Stripe для перевірки та підтвердження зміни місць. Пропорційну суму буде розраховано автоматично.", + "preparingUpdate": "Підготовка оновлення місць...", + "seatCountTooLow": "Кількість місць має бути щонайменше {{minimum}} (поточна кількість користувачів)", + "seatCountUnchanged": "Оберіть іншу кількість місць", + "seatsUpdated": "Місця оновлено", + "seatsUpdatedMessage": "Кількість місць Enterprise оновлено до {{seats}}", + "updateProcessing": "Оновлення обробляється", + "updateProcessingMessage": "Ваше оновлення місць обробляється. Оновіть сторінку за мить.", + "notEnterprise": "Керування місцями доступне лише для ліцензій Enterprise" + }, + "upgradeBanner": { + "title": "Перейдіть на план Server", + "message": "Скористайтеся всім потенціалом Stirling PDF з необмеженою кількістю користувачів і розширеними функціями", + "upgradeButton": "Оновити зараз", + "dismiss": "Закрити банер", + "attentionTitle": "Цьому серверу потрібна увага адміністратора", + "attentionBody": "Адміністратор має увійти, щоб побачити більше інформації. Будь ласка, зв’яжіться з адміністратором негайно.", + "attentionBodyAdmin": "Перегляньте вимоги до ліцензії, щоб зберегти відповідність цього сервера.", + "seeInfo": "Переглянути інформацію" }, "payment": { "preparing": "Підготовка оплати...", @@ -5128,7 +5548,61 @@ "success": "Платіж успішний!", "successMessage": "Вашу підписку успішно активовано. Незабаром ви отримаєте лист-підтвердження.", "autoClose": "Це вікно закриється автоматично...", - "error": "Помилка оплати" + "error": "Помилка оплати", + "upgradeSuccess": "Платіж успішний! Вашу підписку оновлено. Ліцензію оновлено на вашому сервері. Незабаром ви отримаєте лист-підтвердження.", + "paymentSuccess": "Платіж успішний! Отримуємо ваш ліцензійний ключ...", + "licenseActivated": "Ліцензію активовано! Ваш ліцензійний ключ збережено. Підтвердження надіслано на вашу email-адресу.", + "licenseDelayed": "Платіж успішний! Ваша ліцензія генерується. Ви отримаєте email з ліцензійним ключем незабаром. Якщо не отримаєте протягом 10 хвилин, зверніться до підтримки.", + "licensePollingError": "Платіж успішний, але автоматично отримати ліцензійний ключ не вдалося. Перевірте пошту або зверніться до підтримки з підтвердженням платежу.", + "licenseRetrievalError": "Платіж успішний, але отримання ліцензії не вдалося. Ви отримаєте ключ електронною поштою. Зверніться до підтримки, якщо не отримаєте його протягом 10 хвилин.", + "syncError": "Платіж успішний, але синхронізація ліцензії не вдалася. Ваша ліцензія буде оновлена найближчим часом. Якщо проблема лишається, зверніться до підтримки.", + "licenseSaveError": "Не вдалося зберегти ліцензійний ключ. Зверніться до підтримки з вашим ключем для завершення активації.", + "paymentCanceled": "Платіж скасовано. Списань не було.", + "syncingLicense": "Синхронізуємо вашу оновлену ліцензію...", + "generatingLicense": "Генеруємо ваш ліцензійний ключ...", + "upgradeComplete": "Оновлення завершено", + "upgradeCompleteMessage": "Вашу підписку успішно оновлено. Наявний ліцензійний ключ оновлено.", + "stripeNotConfigured": "Stripe не налаштовано", + "stripeNotConfiguredMessage": "Інтеграцію оплати Stripe не налаштовано. Зверніться до адміністратора.", + "monthly": "Щомісяця", + "yearly": "Щороку", + "billingPeriod": "Період оплати", + "enterpriseNote": "Кількість місць можна змінити під час оплати (1–1000).", + "installationId": "ID інсталяції", + "licenseKey": "Ваш ліцензійний ключ", + "licenseInstructions": "Це додано до вашої інсталяції. Копію також буде надіслано на вашу електронну адресу.", + "canCloseWindow": "Можете закрити це вікно.", + "licenseKeyProcessing": "Обробка ліцензійного ключа", + "licenseDelayedMessage": "Ваш ліцензійний ключ генерується. Незабаром перевірте email або зверніться до підтримки.", + "perYear": "/рік", + "perMonth": "/місяць", + "emailInvalid": "Введіть дійсну адресу email", + "emailStage": { + "title": "Введіть свій email", + "description": "Ми використаємо його, щоб надіслати ваш ліцензійний ключ і квитанції.", + "emailLabel": "Адреса email", + "emailPlaceholder": "your@email.com", + "continue": "Продовжити", + "modalTitle": "Почнімо — {{planName}}" + }, + "planStage": { + "title": "Оберіть період оплати", + "savingsNote": "За річної оплати зекономте {{percent}}%", + "basePrice": "Базова ціна", + "seatPrice": "За місце", + "totalForSeats": "Разом ({{count}} місць)", + "selectMonthly": "Обрати щомісячну", + "selectYearly": "Обрати річну", + "savePercent": "Заощадьте {{percent}}%", + "savingsAmount": "Ви заощаджуєте {{amount}}", + "modalTitle": "Вибір періоду оплати — {{planName}}", + "billedYearly": "Річна оплата: {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Назад до вибору плану", + "selectedPlan": "Вибраний план", + "modalTitle": "Завершення оплати — {{planName}}" + } }, "firstLogin": { "title": "Перший вхід", @@ -5287,5 +5761,281 @@ "offline": "Бекенд офлайн", "starting": "Бекенд запускається...", "wait": "Дочекайтеся завершення запуску бекенду та спробуйте ще раз." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Розблокуйте PDF, щоб продовжити", + "title": "Видаліть пароль, щоб продовжити", + "description": "Цей PDF захищений паролем. Введіть пароль, щоб продовжити роботу з ним.", + "password": { + "label": "Пароль PDF", + "placeholder": "Введіть пароль до PDF" + }, + "skip": "Пропустити зараз", + "unlock": "Розблокувати й продовжити", + "incorrectPassword": "Неправильний пароль", + "missingFile": "Вибраний файл більше недоступний.", + "emptyResponse": "Видалення пароля не створило файл.", + "required": "Введіть пароль, щоб продовжити.", + "successTitle": "Пароль видалено", + "successBodyWithName": "Пароль видалено з {{fileName}}", + "successBody": "Пароль успішно видалено." + }, + "setup": { + "welcome": "Ласкаво просимо до Stirling PDF", + "description": "Почніть із вибору, як хочете використовувати Stirling PDF", + "step1": { + "label": "Виберіть режим", + "description": "Офлайн або сервер" + }, + "step2": { + "label": "Виберіть сервер", + "description": "Власний сервер" + }, + "step3": { + "label": "Вхід", + "description": "Введіть облікові дані" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Увійдіть через обліковий запис Stirling" + }, + "selfhosted": { + "title": "Власний сервер", + "description": "Під’єднайтеся до власного сервера Stirling PDF" + } + }, + "saas": { + "title": "Увійдіть до Stirling", + "subtitle": "Увійдіть через обліковий запис Stirling" + }, + "selfhosted": { + "title": "Увійдіть на сервер", + "subtitle": "Введіть облікові дані сервера" + }, + "server": { + "title": "Під’єднатися до сервера", + "subtitle": "Введіть URL свого самохостингового сервера", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Власний сервер" + }, + "url": { + "label": "URL сервера", + "description": "Введіть повну URL-адресу вашого самохостингового сервера Stirling PDF" + }, + "error": { + "emptyUrl": "Введіть URL сервера", + "unreachable": "Не вдалося під’єднатися до сервера", + "testFailed": "Тест підключення не вдався" + }, + "testing": "Перевірка підключення..." + }, + "login": { + "title": "Вхід", + "subtitle": "Введіть свої облікові дані, щоб продовжити", + "connectingTo": "Підключення до:", + "username": { + "label": "Ім’я користувача", + "placeholder": "Введіть ім’я користувача" + }, + "email": { + "label": "Email", + "placeholder": "Введіть свій email" + }, + "password": { + "label": "Пароль", + "placeholder": "Введіть пароль" + }, + "error": { + "emptyUsername": "Введіть ім’я користувача", + "emptyEmail": "Введіть email", + "emptyPassword": "Введіть пароль", + "oauthFailed": "Вхід через OAuth не вдався. Спробуйте ще раз." + }, + "submit": "Увійти", + "signInWith": "Увійти через", + "oauthPending": "Відкриваємо браузер для автентифікації...", + "orContinueWith": "Або продовжити через email" + } + }, + "oauth": { + "success": { + "title": "Автентифікація успішна", + "message": "Можете закрити це вікно й повернутися до Stirling PDF." + }, + "error": { + "title": "Помилка автентифікації", + "message": "Автентифікація не відбулася. Можете закрити це вікно та спробувати ще раз." + } + }, + "pdfTextEditor": { + "title": "Редактор PDF JSON", + "viewLabel": "Редактор PDF", + "converting": "Перетворення PDF у редагований формат...", + "conversionFailed": "Не вдалося перетворити PDF. Спробуйте ще раз.", + "currentFile": "Поточний файл: {{name}}", + "pageSummary": "Сторінка {{number}} із {{total}}", + "pagePreviewAlt": "Попередній перегляд сторінки", + "imageLabel": "Розміщене зображення", + "noTextOnPage": "На цій сторінці не виявлено тексту для редагування.", + "pageType": { + "paragraph": "Сторінка з абзацами", + "sparse": "Розріджений текст" + }, + "groupingMode": { + "auto": "Авто", + "paragraph": "Абзац", + "singleLine": "Окремий рядок" + }, + "badges": { + "unsaved": "Змінено", + "modified": "Змінено", + "earlyAccess": "Ранній доступ" + }, + "actions": { + "reset": "Скинути зміни", + "downloadJson": "Завантажити JSON", + "generatePdf": "Згенерувати PDF" + }, + "options": { + "autoScaleText": { + "title": "Автопідгін тексту під рамки", + "description": "Автоматично масштабує текст по горизонталі, щоб він вміщувався в початковому прямокутнику, коли відтворення шрифту відрізняється від PDF." + }, + "groupingMode": { + "title": "Режим групування тексту", + "autoDescription": "Автоматично визначає тип сторінки та відповідно групує текст.", + "paragraphDescription": "Групує вирівняні рядки в багаторядкові абзацні блоки.", + "singleLineDescription": "Залишає кожен рядок PDF окремим текстовим блоком." + }, + "manualGrouping": { + "descriptionInline": "Порада: утримуйте Ctrl (Cmd) або Shift для мультивибору текстових блоків. З’явиться плаваюча панель над вибраним для об’єднання, розгрупування чи зміни ширини." + }, + "forceSingleElement": { + "title": "Фіксувати відредагований текст в одному елементі PDF", + "description": "Якщо ввімкнено, редактор експортує кожен відредагований текстовий блок як один елемент тексту PDF, щоб уникнути перекриття гліфів чи змішаних шрифтів." + } + }, + "manual": { + "mergeTooltip": "Об’єднати вибрані блоки", + "merge": "Об’єднати вибране", + "ungroupTooltip": "Розбити абзац на рядки", + "ungroup": "Розгрупувати вибране", + "widthMenu": "Параметри ширини", + "expandWidth": "Розширити до краю сторінки", + "resetWidth": "Скинути ширину", + "resizeHandle": "Змінити ширину тексту" + }, + "disclaimer": { + "heading": "Обмеження перегляду", + "textFocus": "Цей простір зосереджений на редагуванні тексту та переміщенні вбудованих зображень. Складна графіка сторінки, віджети форм і шарова графіка зберігаються для експорту, але тут не повністю редагуються.", + "previewVariance": "Деякі візуальні елементи (наприклад, межі таблиць, фігури чи вигляд анотацій) можуть відображатися в перегляді неточно. Експортований PDF зберігає початкові команди малювання, коли це можливо.", + "alpha": "Цей альфа-переглядач ще розвивається — певні шрифти, кольори, ефекти прозорості та деталі макета можуть дещо змінюватися. Будь ласка, перевірте згенерований PDF перед поширенням." + }, + "empty": { + "title": "Документ не завантажено", + "subtitle": "Завантажте файл PDF або JSON, щоб почати редагувати текстовий вміст." + }, + "welcomeBanner": { + "title": "Вітаємо у Редакторі тексту PDF (ранній доступ)", + "experimental": "Це експериментальна функція в активній розробці. Під час використання можливі певна нестабільність і проблеми.", + "howItWorks": "Цей інструмент перетворює ваш PDF у редагований формат, де можна змінювати текст і переміщати зображення. Зміни зберігаються як новий PDF.", + "bestFor": "Найкраще підходить для:", + "bestFor1": "Простих PDF, що містять переважно текст і зображення", + "bestFor2": "Документів зі стандартним абзацним форматуванням", + "bestFor3": "Листів, есе, звітів і простих документів", + "notIdealFor": "Не підходить для:", + "notIdealFor1": "PDF зі спеціальним форматуванням, як-от марковані списки, таблиці чи багатоколонкові макети", + "notIdealFor2": "Журналів, брошур або складно оформлених документів", + "notIdealFor3": "Інструкцій зі складними макетами", + "limitations": "Поточні обмеження:", + "limitation1": "Відтворення шрифтів може трохи відрізнятися від оригінального PDF", + "limitation2": "Складна графіка, поля форм і анотації зберігаються, але не редагуються", + "limitation3": "Обробка та перетворення великих файлів може займати час", + "knownIssues": "Відомі проблеми (виправляються):", + "issue1": "Колір тексту наразі не зберігається (скоро буде додано)", + "issue2": "Режим абзацу має більше проблем із вирівнюванням та інтервалами - рекомендовано режим одного рядка", + "issue3": "Попередній перегляд відрізняється від експортованого PDF - експортовані PDF ближчі до оригіналу", + "issue4": "Вирівнювання повернутого тексту може потребувати ручного коригування", + "issue5": "Ефекти прозорості й шарів можуть відрізнятися від оригіналу", + "feedback": "Це функція раннього доступу. Будь ласка, повідомляйте про виявлені проблеми, щоб допомогти нам покращити!", + "gotIt": "Зрозуміло", + "dontShowAgain": "Більше не показувати" + }, + "modeChange": { + "title": "Підтвердити зміну режиму", + "warning": "Зміна режиму групування тексту скине всі незбережені зміни. Ви впевнені, що хочете продовжити?", + "cancel": "Скасувати", + "confirm": "Скинути та змінити режим" + }, + "fontAnalysis": { + "details": "Відомості про шрифт", + "embedded": "Вбудований", + "type": "Тип", + "webFormat": "Веб-формат", + "warnings": "Попередження", + "suggestions": "Примітки", + "currentPageFonts": "Шрифти на цій сторінці", + "allFonts": "Усі шрифти", + "fallback": "резервний", + "missing": "відсутній", + "perfectMessage": "Усі шрифти можна відтворити ідеально.", + "warningMessage": "Деякі шрифти можуть відображатися некоректно.", + "infoMessage": "Доступна інформація про відтворення шрифтів.", + "perfect": "ідеально", + "subset": "частковий" + }, + "errors": { + "invalidJson": "Неможливо прочитати файл JSON. Переконайтеся, що його згенеровано інструментом PDF to JSON.", + "pdfConversion": "Не вдалося перетворити відредагований JSON назад у PDF." + } + }, + "auth": { + "sessionExpired": "Сеанс завершено", + "pleaseLoginAgain": "Будь ласка, увійдіть знову.", + "accessDenied": "Доступ заборонено", + "insufficientPermissions": "У вас немає прав для виконання цієї дії." + }, + "addText": { + "title": "Додати текст", + "header": "Додайте текст до PDF", + "text": { + "name": "Текст", + "placeholder": "Введіть текст, який хочете додати", + "fontLabel": "Шрифт", + "fontSizeLabel": "Розмір шрифту", + "fontSizePlaceholder": "Введіть або виберіть розмір шрифту (8–200)", + "colorLabel": "Колір тексту" + }, + "steps": { + "configure": "Налаштування тексту" + }, + "step": { + "createDesc": "Введіть текст, який хочете додати", + "place": "Розмістити текст", + "placeDesc": "Натисніть на PDF, щоб додати текст" + }, + "instructions": { + "title": "Як додати текст", + "text": "Після введення тексту вище натисніть будь-де на PDF, щоб розмістити його.", + "paused": "Розміщення призупинено", + "resumeHint": "Відновіть розміщення, щоб натиснути й додати текст.", + "noSignature": "Введіть текст вище, щоб увімкнути розміщення." + }, + "mode": { + "move": "Перемістити текст", + "place": "Розмістити текст", + "pause": "Призупинити розміщення", + "resume": "Відновити розміщення" + }, + "results": { + "title": "Результати додавання тексту" + }, + "error": { + "failed": "Під час додавання тексту до PDF сталася помилка." + }, + "tags": "текст,анотація,мітка", + "applySignatures": "Застосувати текст" } } \ No newline at end of file diff --git a/frontend/public/locales/vi-VN/translation.json b/frontend/public/locales/vi-VN/translation.json index 54f7f2dbc..8b63db245 100644 --- a/frontend/public/locales/vi-VN/translation.json +++ b/frontend/public/locales/vi-VN/translation.json @@ -17,6 +17,8 @@ "comingSoon": "Sắp ra mắt:", "favorite": "Thêm vào Mục yêu thích", "favorites": "Mục yêu thích", + "unavailable": "Bị quản trị viên server vô hiệu hóa:", + "unavailableDependency": "Không khả dụng - thiếu công cụ cần thiết trên server:", "heading": "Tất cả công cụ (chế độ toàn màn hình)", "noResults": "Hãy thử điều chỉnh tìm kiếm hoặc chuyển đổi mô tả để tìm thứ bạn cần.", "recommended": "Đề xuất", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "Chuyển sang chế độ toàn màn hình", "sidebar": "Chuyển sang chế độ thanh bên" - } + }, + "alpha": "Alpha", + "premiumFeature": "Tính năng Premium:", + "comingSoon": "Sắp ra mắt:" }, "unsavedChanges": "Bạn có thay đổi chưa lưu đối với PDF.", "areYouSure": "Bạn có chắc muốn rời đi không?", @@ -41,6 +46,30 @@ "cancel": "Hủy", "confirm": "Giải nén" }, + "defaultApp": { + "title": "Đặt làm ứng dụng PDF mặc định", + "message": "Bạn có muốn đặt Stirling PDF làm trình chỉnh sửa PDF mặc định không?", + "description": "Bạn có thể thay đổi sau trong cài đặt hệ thống.", + "notNow": "Để sau", + "setDefault": "Đặt mặc định", + "dismiss": "Bỏ qua", + "prompt": { + "title": "Đặt làm trình chỉnh sửa PDF mặc định", + "message": "Đặt Stirling PDF làm ứng dụng mặc định để mở tệp PDF." + }, + "success": { + "title": "Đã đặt ứng dụng mặc định", + "message": "Stirling PDF hiện là trình chỉnh sửa PDF mặc định của bạn" + }, + "settingsOpened": { + "title": "Đã mở Cài đặt", + "message": "Vui lòng chọn Stirling PDF trong cài đặt hệ thống" + }, + "error": { + "title": "Lỗi", + "message": "Không thể đặt trình xử lý PDF mặc định" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "Lưu", "saveToBrowser": "Lưu vào trình duyệt", "download": "Tải xuống", + "downloadUnavailable": "Không thể tải xuống mục này", + "saveUnavailable": "Không thể lưu mục này", "pin": "Ghim tệp (giữ hoạt động sau khi chạy công cụ)", "unpin": "Bỏ ghim tệp (thay thế sau khi chạy công cụ)", "undoOperationTooltip": "Nhấp để hoàn tác thao tác cuối và khôi phục các tệp gốc", @@ -168,6 +199,7 @@ }, "edit": "Chỉnh sửa", "delete": "Xóa", + "never": "Không bao giờ", "username": "Tên người dùng", "password": "Mật khẩu", "welcome": "Chào mừng", @@ -262,7 +294,8 @@ "learnMore": "Tìm hiểu thêm", "enable": "Bật phân tích", "disable": "Tắt phân tích", - "settings": "Bạn có thể thay đổi cài đặt phân tích trong tệp config/settings.yml" + "settings": "Bạn có thể thay đổi cài đặt phân tích trong tệp config/settings.yml", + "privacyAssurance": "Chúng tôi không theo dõi thông tin cá nhân hay nội dung tệp của bạn." }, "navbar": { "favorite": "Yêu thích", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "Cài đặt", - "update": "Có bản cập nhật", - "updateAvailable": "{0} là phiên bản hiện tại đã cài đặt. Một phiên bản mới ({1}) đã có sẵn.", - "appVersion": "Phiên bản ứng dụng:", - "downloadOption": { - "title": "Chọn tùy chọn tải xuống (Đối với tải xuống tệp đơn không nén):", - "1": "Mở trong cùng cửa sổ", - "2": "Mở trong cửa sổ mới", - "3": "Tải xuống tệp" - }, - "zipThreshold": "Nén tệp khi số lượng tệp tải xuống vượt quá", - "signOut": "Đăng xuất", - "accountSettings": "Cài đặt tài khoản", - "bored": { - "help": "Bật trò chơi ẩn" - }, - "cacheInputs": { - "name": "Lưu đầu vào biểu mẫu", - "help": "Bật để lưu trữ các đầu vào đã sử dụng trước đó cho các lần chạy trong tương lai" + "connection": { + "title": "Chế độ kết nối", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "Tự lưu trữ" + }, + "server": "Máy chủ", + "user": "Đăng nhập với tư cách", + "logout": "Đăng xuất" }, "general": { "title": "Chung", "description": "Cấu hình các tùy chọn chung của ứng dụng.", - "account": "Tài khoản", - "accountDescription": "Quản lý cài đặt tài khoản của bạn", "user": "Người dùng", - "signedInAs": "Đăng nhập với tư cách", "logout": "Đăng xuất", "enableFeatures": { + "dismiss": "Bỏ qua", "title": "Dành cho Quản trị viên Hệ thống", "intro": "Bật xác thực người dùng, quản lý nhóm và các tính năng không gian làm việc cho tổ chức của bạn.", "action": "Cấu hình", "and": "và", "benefit": "Bật vai trò người dùng, cộng tác nhóm, kiểm soát quản trị và các tính năng doanh nghiệp.", - "learnMore": "Tìm hiểu thêm trong tài liệu", - "dismiss": "Bỏ qua" + "learnMore": "Tìm hiểu thêm trong tài liệu" }, - "autoUnzip": "Tự động giải nén phản hồi API", - "autoUnzipDescription": "Tự động giải nén tệp từ phản hồi ZIP", - "autoUnzipTooltip": "Tự động giải nén các tệp ZIP trả về từ thao tác API. Tắt để giữ nguyên tệp ZIP. Điều này không ảnh hưởng đến các quy trình tự động.", - "autoUnzipFileLimit": "Giới hạn tệp tự động giải nén", - "autoUnzipFileLimitDescription": "Số lượng tệp tối đa để giải nén từ ZIP", - "autoUnzipFileLimitTooltip": "Chỉ giải nén nếu ZIP chứa số tệp bằng hoặc ít hơn giá trị này. Tăng lên để giải nén ZIP lớn hơn.", "defaultToolPickerMode": "Chế độ chọn công cụ mặc định", "defaultToolPickerModeDescription": "Chọn liệu bộ chọn công cụ sẽ mở mặc định ở toàn màn hình hay thanh bên", "mode": { - "fullscreen": "Toàn màn hình", - "sidebar": "Thanh bên" - } + "sidebar": "Thanh bên", + "fullscreen": "Toàn màn hình" + }, + "autoUnzipTooltip": "Tự động giải nén các tệp ZIP trả về từ thao tác API. Tắt để giữ nguyên tệp ZIP. Điều này không ảnh hưởng đến các quy trình tự động.", + "autoUnzip": "Tự động giải nén phản hồi API", + "autoUnzipDescription": "Tự động giải nén tệp từ phản hồi ZIP", + "autoUnzipFileLimitTooltip": "Chỉ giải nén nếu ZIP chứa số tệp bằng hoặc ít hơn giá trị này. Tăng lên để giải nén ZIP lớn hơn.", + "autoUnzipFileLimit": "Giới hạn tệp tự động giải nén", + "autoUnzipFileLimitDescription": "Số lượng tệp tối đa để giải nén từ ZIP", + "defaultPdfEditor": "Trình chỉnh sửa PDF mặc định", + "defaultPdfEditorActive": "Stirling PDF là trình chỉnh sửa PDF mặc định của bạn", + "defaultPdfEditorInactive": "Ứng dụng khác đang được đặt mặc định", + "defaultPdfEditorChecking": "Đang kiểm tra...", + "defaultPdfEditorSet": "Đã là mặc định", + "setAsDefault": "Đặt làm mặc định", + "updates": { + "title": "Cập nhật phần mềm", + "description": "Kiểm tra cập nhật và xem thông tin phiên bản", + "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" + }, + "hideUnavailableTools": "Ẩn công cụ không khả dụng", + "hideUnavailableToolsDescription": "Loại bỏ các công cụ bị server của bạn vô hiệu hóa thay vì hiển thị mờ.", + "hideUnavailableConversions": "Ẩn chuyển đổi không khả dụng", + "hideUnavailableConversionsDescription": "Loại bỏ tùy chọn chuyển đổi bị vô hiệu hóa trong công cụ Chuyển đổi thay vì hiển thị mờ." }, "hotkeys": { - "title": "Phím tắt", - "description": "Di chuột lên công cụ để xem phím tắt hoặc tùy chỉnh bên dưới. Nhấp \"Thay đổi phím tắt\" và nhấn tổ hợp phím mới. Nhấn Esc để hủy.", - "errorModifier": { - "mac": "Bao gồm ⌘ (Command), ⌥ (Option) hoặc một phím bổ trợ khác trong phím tắt của bạn.", - "windows": "Bao gồm Ctrl, Alt hoặc một phím bổ trợ khác trong phím tắt của bạn." - }, "errorConflict": "Phím tắt đã được dùng bởi {{tool}}.", + "searchPlaceholder": "Tìm công cụ...", "none": "Chưa gán", "customBadge": "Tùy chỉnh", "defaultLabel": "Mặc định: {{shortcut}}", @@ -349,10 +382,40 @@ "change": "Thay đổi phím tắt", "reset": "Đặt lại", "shortcut": "Phím tắt", - "noShortcut": "Chưa đặt phím tắt", - "searchPlaceholder": "Tìm công cụ..." + "noShortcut": "Chưa đặt phím tắt" } }, + "update": { + "modalTitle": "Có bản cập nhật", + "current": "Phiên bản hiện tại", + "latest": "Phiên bản mới nhất", + "latestStable": "Ổn định mới nhất", + "priorityLabel": "Mức ưu tiên", + "recommendedAction": "Hành động khuyến nghị", + "breakingChangesDetected": "Phát hiện thay đổi phá vỡ", + "breakingChangesMessage": "Một số phiên bản có thay đổi phá vỡ. Vui lòng xem hướng dẫn chuyển đổi bên dưới trước khi cập nhật.", + "migrationGuides": "Hướng dẫn chuyển đổi", + "viewGuide": "Xem hướng dẫn", + "loadingDetailedInfo": "Đang tải thông tin chi tiết...", + "close": "Đóng", + "viewAllReleases": "Xem tất cả bản phát hành", + "downloadLatest": "Tải bản mới nhất", + "availableUpdates": "Bản cập nhật khả dụng", + "unableToLoadDetails": "Không thể tải thông tin chi tiết.", + "version": "Phiên bản", + "urgentUpdateAvailable": "Cập nhật khẩn cấp", + "updateAvailable": "Có bản cập nhật", + "releaseNotes": "Ghi chú phát hành", + "priority": { + "urgent": "Khẩn cấp", + "normal": "Thường", + "minor": "Nhỏ", + "low": "Thấp" + }, + "breakingChanges": "Thay đổi phá vỡ", + "breakingChangesDefault": "Phiên bản này có thay đổi phá vỡ.", + "migrationGuide": "Hướng dẫn chuyển đổi" + }, "changeCreds": { "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", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "Chồng lớp PDF lên trên PDF khác", "title": "Chồng lớp PDF" + }, + "pdfTextEditor": { + "title": "Trình chỉnh sửa văn bản 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" + }, + "addText": { + "tags": "văn bản,chú thích,nhãn", + "title": "Thêm văn bản", + "desc": "Thêm văn bản tùy chỉnh ở bất kỳ đâu trong PDF" } }, "landing": { "addFiles": "Thêm tệp", - "uploadFromComputer": "Tải lên từ máy tính" + "uploadFromComputer": "Tải lên từ máy tính", + "openFromComputer": "Mở từ máy tính" }, "viewPdf": { "tags": "xem,đọc,chú thích,văn bản,hình ảnh", @@ -849,6 +922,11 @@ }, "error": { "failed": "Đã xảy ra lỗi khi gộp các PDF." + }, + "tooltip": { + "header": { + "title": "Tổng quan cài đặt gộp" + } } }, "split": { @@ -1182,9 +1260,43 @@ "tags": "img,jpg,hình ảnh,ảnh", "title": "Thêm hình ảnh", "header": "Thêm hình ảnh vào PDF", - "everyPage": "Mọi trang?", - "upload": "Thêm hình ảnh", - "submit": "Thêm hình ảnh" + "image": { + "name": "Ảnh", + "placeholder": "Tải lên một ảnh", + "label": "Tệp ảnh" + }, + "steps": { + "configure": "Cấu hình ảnh" + }, + "step": { + "createDesc": "Tải lên ảnh bạn muốn thêm", + "place": "Đặt ảnh", + "placeDesc": "Nhấp vào PDF để thêm ảnh" + }, + "instructions": { + "title": "Cách thêm ảnh", + "text": "Sau khi tải ảnh lên, nhấp vào bất kỳ đâu trên PDF để đặt ảnh.", + "paused": "Tạm dừng đặt", + "resumeHint": "Tiếp tục đặt để nhấp và thêm ảnh.", + "noSignature": "Tải lên ảnh để bật chế độ đặt." + }, + "mode": { + "move": "Di chuyển ảnh", + "place": "Đặt ảnh", + "pause": "Tạm dừng đặt", + "resume": "Tiếp tục đặt" + }, + "results": { + "title": "Kết quả thêm ảnh" + }, + "error": { + "failed": "Đã xảy ra lỗi khi thêm ảnh vào PDF." + }, + "saved": { + "defaultLabel": "Ảnh", + "defaultImageLabel": "Ảnh đã tải lên" + }, + "applySignatures": "Áp dụng ảnh" }, "attachments": { "tags": "embed,attach,file,attachment,attachments", @@ -1397,6 +1509,93 @@ }, "submit": "Thay đổi" }, + "editTableOfContents": { + "settings": { + "title": "Dấu trang & đề cương", + "replaceExisting": "Thay thế dấu trang hiện có (bỏ chọn để nối thêm)", + "replaceExistingHint": "Khi tắt, đề cương mới sẽ được nối thêm sau các dấu trang hiện tại." + }, + "actions": { + "source": "Tải dấu trang", + "selectedFile": "Đã tải từ {{file}}", + "noFile": "Chọn một PDF để trích xuất dấu trang hiện có.", + "loadFromPdf": "Tải từ PDF đã chọn", + "importJson": "Nhập JSON", + "importClipboard": "Dán JSON từ bộ nhớ tạm", + "export": "Xuất dấu trang", + "exportJson": "Tải JSON", + "exportClipboard": "Sao chép JSON vào bộ nhớ tạm", + "clipboardUnavailable": "Trình duyệt này không cho phép truy cập bộ nhớ tạm." + }, + "info": { + "line1": "Mỗi dấu trang cần một tiêu đề mô tả và trang sẽ mở.", + "line2": "Dùng dấu trang con để tạo phân cấp cho chương, mục, hoặc tiểu mục.", + "line3": "Nhập dấu trang từ PDF đã chọn hoặc từ tệp JSON để tiết kiệm thời gian." + }, + "workbench": { + "empty": { + "title": "Mở công cụ để bắt đầu chỉnh sửa", + "description": "Chọn công cụ Chỉnh sửa Mục lục để tải không gian làm việc." + }, + "tabTitle": "Không gian đề cương", + "subtitle": "Nhập dấu trang, tạo phân cấp và áp dụng đề cương mà không cần các bảng bên chật chội.", + "noFile": "Chưa chọn PDF", + "fileLabel": "Thay đổi sẽ áp dụng cho PDF đang được chọn.", + "filePrompt": "Chọn một PDF từ thư viện hoặc tải lên tệp mới để bắt đầu.", + "changeFile": "Đổi PDF", + "selectFile": "Chọn PDF" + }, + "editor": { + "heading": "Trình chỉnh sửa dấu trang", + "description": "Thêm, lồng và sắp xếp lại dấu trang để tạo đề cương PDF.", + "addTopLevel": "Thêm dấu trang cấp cao", + "empty": { + "title": "Chưa có dấu trang", + "description": "Nhập dấu trang hiện có hoặc bắt đầu bằng cách thêm mục đầu tiên.", + "action": "Thêm dấu trang đầu tiên" + }, + "defaultTitle": "Dấu trang mới", + "defaultChildTitle": "Dấu trang con", + "defaultSiblingTitle": "Dấu trang mới", + "untitled": "Dấu trang không tiêu đề", + "childBadge": "Con", + "pagePreview": "Trang {{page}}", + "field": { + "title": "Tiêu đề dấu trang", + "page": "Số trang đích" + }, + "actions": { + "toggle": "Đóng/mở mục con", + "addChild": "Thêm dấu trang con", + "addSibling": "Thêm dấu trang cùng cấp", + "remove": "Xóa dấu trang" + }, + "confirmRemove": "Xóa dấu trang này và tất cả mục con?" + }, + "messages": { + "loadedTitle": "Đã trích xuất dấu trang", + "loadedBody": "Dấu trang hiện có từ PDF đã được tải vào trình chỉnh sửa.", + "noBookmarks": "Không tìm thấy dấu trang trong PDF đã chọn.", + "loadFailed": "Không thể trích xuất dấu trang từ PDF đã chọn.", + "imported": "Đã nhập dấu trang", + "importedBody": "Đề cương JSON của bạn đã thay thế nội dung hiện tại.", + "importedClipboard": "Dữ liệu bộ nhớ tạm đã thay thế danh sách dấu trang hiện tại.", + "invalidJson": "Cấu trúc JSON không hợp lệ", + "invalidJsonBody": "Vui lòng cung cấp tệp JSON dấu trang hợp lệ và thử lại.", + "exported": "Sẵn sàng tải JSON", + "copied": "Đã sao chép vào bộ nhớ tạm", + "copiedBody": "Đã sao chép JSON dấu trang thành công.", + "copyFailed": "Sao chép thất bại" + }, + "error": { + "failed": "Không thể cập nhật mục lục" + }, + "submit": "Áp dụng mục lục", + "results": { + "title": "PDF đã cập nhật kèm dấu trang", + "subtitle": "Tải tệp đã xử lý hoặc hoàn tác thao tác bên dưới." + } + }, "removePages": { "tags": "Xóa trang,xóa trang", "title": "Xóa", @@ -1601,7 +1800,7 @@ "tags": "ép,nhỏ,nhỏ gọn" }, "unlockPDFForms": { - "tags": "remove,delete,form,field,readonly", + "tags": "xóa,xóa,biểu mẫu,trường,chỉ đọc", "title": "Gỡ chế độ chỉ đọc khỏi các trường biểu mẫu", "header": "Mở khóa biểu mẫu PDF", "submit": "Remove", @@ -1978,13 +2177,54 @@ "title": "Vẽ chữ ký của bạn", "clear": "Xóa" }, + "canvas": { + "heading": "Vẽ chữ ký của bạn", + "clickToOpen": "Nhấp để mở vùng vẽ", + "modalTitle": "Vẽ chữ ký của bạn", + "colorLabel": "Màu", + "penSizeLabel": "Cỡ bút", + "penSizePlaceholder": "Cỡ", + "clear": "Xóa vùng vẽ", + "colorPickerTitle": "Chọn màu nét vẽ" + }, "text": { "name": "Tên người ký", - "placeholder": "Nhập họ tên đầy đủ" + "placeholder": "Nhập họ tên đầy đủ", + "fontLabel": "Phông chữ", + "fontSizeLabel": "Cỡ chữ", + "fontSizePlaceholder": "Nhập hoặc chọn cỡ chữ (8-200)", + "colorLabel": "Màu chữ" }, "clear": "Xóa", "add": "Thêm", - "saved": "Chữ ký đã lưu", + "saved": { + "heading": "Chữ ký đã lưu", + "description": "Tái sử dụng chữ ký đã lưu bất cứ lúc nào.", + "emptyTitle": "Chưa có chữ ký đã lưu", + "emptyDescription": "Vẽ, tải lên hoặc gõ chữ ký ở trên, rồi dùng \"Lưu vào thư viện\" để lưu tối đa {{max}} mục ưa thích sẵn dùng.", + "type": { + "canvas": "Vẽ", + "image": "Tải lên", + "text": "Chữ" + }, + "limitTitle": "Đã đạt giới hạn", + "limitDescription": "Xóa một chữ ký đã lưu trước khi thêm mới (tối đa {{max}}).", + "carouselPosition": "{{current}} trên {{total}}", + "prev": "Trước", + "next": "Tiếp", + "delete": "Xóa", + "label": "Nhãn", + "defaultLabel": "Chữ ký", + "defaultCanvasLabel": "Chữ ký vẽ", + "defaultImageLabel": "Chữ ký đã tải lên", + "defaultTextLabel": "Chữ ký nhập", + "saveButton": "Lưu chữ ký", + "saveUnavailable": "Hãy tạo chữ ký trước để lưu.", + "noChanges": "Chữ ký hiện tại đã được lưu.", + "status": { + "saved": "Đã lưu" + } + }, "save": "Lưu chữ ký", "applySignatures": "Áp dụng chữ ký", "personalSigs": "Chữ ký cá nhân", @@ -2003,12 +2243,18 @@ "steps": { "configure": "Cấu hình chữ ký" }, + "step": { + "createDesc": "Chọn cách bạn muốn tạo chữ ký", + "place": "Đặt & lưu", + "placeDesc": "Đặt vị trí chữ ký trên PDF" + }, "type": { "title": "Loại chữ ký", "draw": "Vẽ", - "canvas": "Canvas", + "canvas": "Vẽ", "image": "Hình ảnh", - "text": "Văn bản" + "text": "Văn bản", + "saved": "Đã lưu" }, "image": { "label": "Tải lên ảnh chữ ký", @@ -2019,11 +2265,17 @@ "title": "Cách thêm chữ ký", "canvas": "Sau khi vẽ chữ ký trong canvas, đóng hộp thoại rồi bấm vào bất kỳ đâu trên PDF để đặt nó.", "image": "Sau khi tải lên ảnh chữ ký ở trên, bấm vào bất kỳ đâu trên PDF để đặt nó.", - "text": "Sau khi nhập tên ở trên, bấm vào bất kỳ đâu trên PDF để đặt chữ ký của bạn." + "saved": "Chọn một chữ ký đã lưu ở trên, rồi nhấp vào bất kỳ đâu trên PDF để đặt.", + "text": "Sau khi nhập tên ở trên, bấm vào bất kỳ đâu trên PDF để đặt chữ ký của bạn.", + "paused": "Tạm dừng đặt", + "resumeHint": "Tiếp tục đặt để nhấp và thêm chữ ký.", + "noSignature": "Tạo chữ ký ở trên để bật công cụ đặt." }, "mode": { "move": "Di chuyển chữ ký", - "place": "Đặt chữ ký" + "place": "Đặt chữ ký", + "pause": "Tạm dừng đặt", + "resume": "Tiếp tục đặt" }, "updateAndPlace": "Cập nhật và đặt", "activate": "Kích hoạt đặt chữ ký", @@ -2163,6 +2415,14 @@ "title": "Giới thiệu về Xóa chú thích", "description": "Công cụ này sẽ xóa tất cả chú thích (bình luận, tô sáng, ghi chú, v.v.) khỏi tài liệu PDF của bạn." }, + "tooltip": { + "header": { + "title": "Giới thiệu về Xóa chú thích" + }, + "description": { + "title": "Chức năng" + } + }, "error": { "failed": "Đã xảy ra lỗi khi xóa chú thích khỏi PDF." } @@ -2467,7 +2727,7 @@ } }, "bookletImposition": { - "tags": "booklet,imposition,printing,binding,folding,signature", + "tags": "tập sách,dàn trang,in,đóng gáy,gấp,tay sách", "title": "Dàn trang sổ", "header": "Dàn trang sổ", "submit": "Tạo booklet", @@ -2568,7 +2828,7 @@ "submit": "Gửi" }, "adjustPageScale": { - "tags": "resize,modify,dimension,adapt", + "tags": "đổi kích thước,chỉnh sửa,kích thước,thích ứng", "title": "Điều chỉnh tỷ lệ trang", "header": "Điều chỉnh tỷ lệ trang", "scaleFactor": { @@ -2627,6 +2887,9 @@ "header": { "title": "Cách tự động đổi tên hoạt động" }, + "description": { + "title": "Chức năng" + }, "howItWorks": { "title": "Đổi tên thông minh", "text": "Tự động tìm tiêu đề từ nội dung PDF của bạn và dùng làm tên tệp.", @@ -2634,6 +2897,9 @@ "bullet2": "Tạo tên tệp sạch, hợp lệ từ tiêu đề phát hiện được", "bullet3": "Giữ tên gốc nếu không tìm thấy tiêu đề phù hợp" } + }, + "settings": { + "title": "Giới thiệu" } }, "adjust-contrast": { @@ -3017,13 +3283,13 @@ } }, "removeImagePdf": { - "tags": "Remove Image,Page operations,Back end,server side" + "tags": "Xóa ảnh,Thao tác trang,Back end,phía máy chủ" }, "splitPdfByChapters": { - "tags": "split,chapters,bookmarks,organize" + "tags": "tách,chương,dấu trang,sắp xếp" }, "validateSignature": { - "tags": "signature,verify,validate,pdf,certificate,digital signature,Validate Signature,Validate certificate", + "tags": "chữ ký,xác minh,xác thực,pdf,chứng chỉ,chữ ký số,Xác thực chữ ký,Xác thực chứng chỉ", "title": "Xác thực chữ ký PDF", "header": "Xác thực chữ ký số", "selectPDF": "Chọn tệp PDF đã ký", @@ -3124,7 +3390,7 @@ "totalSignatures": "Tổng số chữ ký" }, "replaceColor": { - "tags": "Replace Colour,Page operations,Back end,server side", + "tags": "Thay màu,Thao tác trang,Back end,phía máy chủ", "labels": { "settings": "Thiết lập", "colourOperation": "Thao tác màu" @@ -3227,7 +3493,26 @@ "unexpectedError": "Lỗi không mong muốn: {{message}}", "accountCreatedSuccess": "Tạo tài khoản thành công! Bạn có thể đăng nhập.", "passwordChangedSuccess": "Đổi mật khẩu thành công! Vui lòng đăng nhập bằng mật khẩu mới.", - "credentialsUpdated": "Thông tin xác thực của bạn đã được cập nhật. Vui lòng đăng nhập lại." + "credentialsUpdated": "Thông tin xác thực của bạn đã được cập nhật. Vui lòng đăng nhập lại.", + "defaultCredentials": "Thông tin đăng nhập mặc định", + "changePasswordWarning": "Vui lòng đổi mật khẩu sau khi đăng nhập lần đầu", + "slides": { + "overview": { + "alt": "Tổng quan Stirling PDF", + "title": "Giải pháp tất cả trong một cho mọi nhu cầu PDF của bạn.", + "subtitle": "Bộ công cụ đám mây ưu tiên quyền riêng tư cho PDF cho phép bạn chuyển đổi, ký, ẩn/xóa thông tin và quản lý tài liệu, cùng hơn 50 công cụ mạnh mẽ khác." + }, + "edit": { + "alt": "Chỉnh sửa PDF", + "title": "Chỉnh sửa PDF để hiển thị/bảo vệ thông tin bạn muốn", + "subtitle": "Với hơn chục công cụ giúp bạn ẩn/xóa, ký, đọc và thao tác với PDF, bạn chắc chắn sẽ tìm được thứ mình cần." + }, + "secure": { + "alt": "Bảo mật PDF", + "title": "Bảo vệ thông tin nhạy cảm trong PDF của bạn", + "subtitle": "Thêm mật khẩu, che nội dung và quản lý chứng chỉ dễ dàng." + } + } }, "signup": { "title": "Tạo tài khoản", @@ -3598,7 +3883,9 @@ "exportAll": "Xuất PDF", "downloadSelected": "Tải xuống các tệp đã chọn", "downloadAll": "Tải xuống tất cả", + "saveAll": "Lưu tất cả", "toggleTheme": "Chuyển đổi chủ đề", + "toggleBookmarks": "Bật/tắt dấu trang", "language": "Ngôn ngữ", "search": "Tìm kiếm PDF", "panMode": "Chế độ kéo", @@ -3685,8 +3972,16 @@ "saved": "Lưu cài đặt thành công", "saveSuccess": "Lưu cài đặt thành công", "save": "Lưu thay đổi", + "discard": "Bỏ", "restartRequired": "Cần khởi động lại", "loginRequired": "Phải bật chế độ đăng nhập để chỉnh sửa cài đặt quản trị", + "unsavedChanges": { + "title": "Thay đổi chưa lưu", + "message": "Bạn có thay đổi chưa lưu. Bạn có muốn bỏ chúng không?", + "cancel": "Tiếp tục chỉnh sửa", + "discard": "Bỏ thay đổi", + "hint": "Bạn có thay đổi chưa lưu" + }, "loginDisabled": { "title": "Yêu cầu chế độ đăng nhập", "message": "Phải bật chế độ đăng nhập để chỉnh sửa cài đặt quản trị. Vui lòng đặt SECURITY_ENABLELOGIN=true trong môi trường của bạn hoặc security.enableLogin: true trong settings.yml, sau đó khởi động lại máy chủ.", @@ -3947,7 +4242,7 @@ "description": "Nhà cung cấp OAuth2 dùng cho xác thực" }, "issuer": { - "label": "Issuer URL", + "label": "URL Issuer", "description": "URL nhà phát hành của nhà cung cấp OAuth2" }, "clientId": { @@ -4132,7 +4427,7 @@ "description": "Thời gian thực thi tối đa" }, "libreOffice": "LibreOffice", - "pdfToHtml": "PDF to HTML", + "pdfToHtml": "PDF sang HTML", "qpdf": "QPDF", "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", @@ -4176,7 +4471,7 @@ "description": "Cho phép quản trị viên mời người dùng qua email với mật khẩu tự tạo" }, "frontendUrl": { - "label": "Frontend URL", + "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." } }, @@ -4212,9 +4507,21 @@ "title": "Premium & Enterprise", "description": "Cấu hình khóa giấy phép premium hoặc enterprise của bạn.", "license": "Cấu hình giấy phép", + "licenseKey": { + "toggle": "Có license key hoặc tệp chứng chỉ?", + "info": "Nếu bạn có license key hoặc tệp chứng chỉ từ mua trực tiếp, hãy nhập tại đây để kích hoạt tính năng Premium hoặc Enterprise." + }, "key": { "label": "Khóa giấy phép", - "description": "Nhập khóa giấy phép premium hoặc enterprise của bạn" + "description": "Nhập khóa giấy phép premium hoặc enterprise của bạn", + "success": "Đã lưu license key", + "successMessage": "License key của bạn đã được kích hoạt thành công. Không cần khởi động lại.", + "overwriteWarning": { + "title": "⚠️ Cảnh báo: Phát hiện license hiện có", + "line1": "Ghi đè license key hiện tại không thể hoàn tác.", + "line2": "License trước đó sẽ bị mất vĩnh viễn trừ khi bạn đã sao lưu ở nơi khác.", + "line3": "Quan trọng: Giữ license key riêng tư và an toàn. Không bao giờ chia sẻ công khai." + } }, "enabled": { "label": "Bật tính năng Premium", @@ -4278,12 +4585,17 @@ "or": "hoặc", "dropFileHere": "Thả tệp vào đây hoặc bấm để tải lên", "dropFilesHere": "Thả tệp vào đây hoặc bấm nút tải lên", + "dropFilesHereOpen": "Kéo thả tệp vào đây hoặc nhấp nút mở", "pdfFilesOnly": "Chỉ tệp PDF", "supportedFileTypes": "Loại tệp được hỗ trợ", "upload": "Tải lên", "uploadFile": "Tải tệp lên", "uploadFiles": "Tải nhiều tệp lên", + "open": "Mở", + "openFile": "Mở tệp", + "openFiles": "Mở nhiều tệp", "noFilesInStorage": "Không có tệp nào trong lưu trữ. Hãy tải lên một số tệp trước.", + "noFilesInStorageOpen": "Không có tệp trong bộ nhớ. Hãy mở một số tệp trước.", "selectFromStorage": "Chọn từ Lưu trữ", "backToTools": "Quay lại Công cụ", "addFiles": "Thêm tệp", @@ -4329,6 +4641,8 @@ "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", + "downloadSelected": "Tải xuống mục đã chọn", + "saveSelected": "Lưu mục đã chọn", "openFiles": "Mở các tệp", "openFile": "Mở tệp", "details": "Chi tiết tệp", @@ -4341,7 +4655,6 @@ "selectAll": "Chọn tất cả", "deselectAll": "Bỏ chọn tất cả", "deleteSelected": "Xóa mục đã chọn", - "downloadSelected": "Tải xuống mục đã chọn", "selectedCount": "{{count}} đã chọn", "download": "Tải xuống", "delete": "Xóa", @@ -4621,9 +4934,14 @@ "secureWorkflow": "Quy trình bảo mật", "secureWorkflowDesc": "Bảo vệ tài liệu PDF bằng cách loại bỏ nội dung có thể gây hại như JavaScript và tệp nhúng, sau đó thêm bảo vệ bằng mật khẩu để ngăn truy cập trái phép. Mật khẩu mặc định là 'password'.", "processImages": "Xử lý ảnh", - "processImagesDesc": "Chuyển nhiều tệp ảnh thành một tài liệu PDF, sau đó áp dụng công nghệ OCR để trích xuất văn bản có thể tìm kiếm từ ảnh." + "processImagesDesc": "Chuyển nhiều tệp ảnh thành một tài liệu PDF, sau đó áp dụng công nghệ OCR để trích xuất văn bản có thể tìm kiếm từ ảnh.", + "prePublishSanitization": "Làm sạch trước xuất bản", + "prePublishSanitizationDesc": "Quy trình làm sạch loại bỏ mọi metadata ẩn, JavaScript, tệp nhúng, chú thích và làm phẳng biểu mẫu để ngăn rò rỉ dữ liệu trước khi đăng PDF lên mạng." } }, + "colorPicker": { + "title": "Chọn màu" + }, "common": { "previous": "Trước", "next": "Tiếp", @@ -4639,7 +4957,13 @@ "used": "đã dùng", "available": "khả dụng", "cancel": "Hủy", - "preview": "Xem trước" + "preview": "Xem trước", + "close": "Đóng", + "done": "Xong", + "loading": "Đang tải...", + "back": "Quay lại", + "continue": "Tiếp tục", + "error": "Lỗi" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "Thêm tệp...", "selectedFiles": "Các tệp đã chọn", "submit": "Thêm tệp đính kèm", + "tooltip": { + "header": { + "title": "Giới thiệu về Thêm tệp đính kèm" + }, + "description": { + "title": "Chức năng" + } + }, "results": { "title": "Kết quả đính kèm" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "Vị trí tùy chỉnh", "details": "Chi tiết", - "downloadUnavailable": "Không thể tải xuống mục này", "invalidUndoData": "Không thể hoàn tác: dữ liệu thao tác không hợp lệ", "margin": { "large": "Lớn", @@ -4801,6 +5132,10 @@ "maybeLater": "Để sau", "dontShowAgain": "Không hiện lại" }, + "welcomeSlide": { + "title": "Chào mừng đến với Stirling", + "body": "Stirling PDF nay sẵn sàng cho mọi quy mô đội nhóm. Bản cập nhật này có bố cục mới, khả năng quản trị mạnh mẽ và tính năng được yêu cầu nhiều nhất - Chỉnh sửa văn bản." + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "Hãy chọn công cụ Cắt xén để minh họa cách sử dụng một công cụ.", "toolInterface": "Đây là giao diện công cụ Cắt xén. Như bạn thấy, chưa có nhiều vì chúng ta chưa thêm tệp PDF nào để làm việc.", @@ -4823,7 +5158,39 @@ "next": "Tiếp", "finish": "Hoàn tất", "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" + "startTourDescription": "Tham quan có hướng dẫn các tính năng chính của Stirling PDF", + "buttons": { + "next": "Tiếp →", + "back": "Quay lại", + "skipForNow": "Bỏ qua tạm thời", + "download": "Tải xuống →", + "showMeAround": "Hướng dẫn nhanh", + "skipTheTour": "Bỏ qua hướng dẫn" + }, + "serverLicense": { + "skip": "Bỏ qua tạm thời", + "seePlans": "Xem gói →", + "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í 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." + }, + "desktopInstall": { + "title": "Tải xuống", + "titleWithOs": "Tải cho {{osLabel}}", + "body": "Stirling hoạt động tốt nhất như ứng dụng desktop. Bạn có thể dùng offline, truy cập tài liệu nhanh hơn và chỉnh sửa trực tiếp trên máy." + }, + "planOverview": { + "adminTitle": "Tổng quan Admin", + "userTitle": "Tổng quan gói", + "adminBodyLoginEnabled": "Là admin, bạn có thể quản lý người dùng, cấu hình cài đặt và theo dõi tình trạng server. {{freeTierLimit}} người đầu tiên trên server của bạn được dùng Stirling miễn phí.", + "adminBodyLoginDisabled": "Khi bật chế độ đăng nhập, bạn có thể quản lý người dùng, cấu hình cài đặt và theo dõi tình trạng server. {{freeTierLimit}} người đầu tiên trên server của bạn được dùng Stirling miễn phí.", + "userBody": "Mời đồng đội, gán vai trò và quản lý tài liệu gọn gàng trong một không gian làm việc an toàn. Bật chế độ đăng nhập khi bạn sẵn sàng vượt qua chế độ dùng cá nhân." + }, + "securityCheck": { + "message": "Ứng dụng vừa có nhiều thay đổi. Có thể cần sự chú ý của quản trị viên server. Vui lòng xác nhận vai trò của bạn để tiếp tục." + } }, "adminOnboarding": { "welcome": "Chào mừng đến với Chuyến tham quan Quản trị! Hãy khám phá các tính năng enterprise mạnh mẽ và cài đặt dành cho quản trị viên hệ thống.", @@ -4852,7 +5219,10 @@ "role": "Vai trò", "team": "Nhóm", "status": "Trạng thái", - "actions": "Hành động", + "actions": { + "label": "Hành động", + "upgrade": "Nâng cấp" + }, "noMembersFound": "Không tìm thấy thành viên", "active": "Đang hoạt động", "disabled": "Đã tắt", @@ -4964,7 +5334,8 @@ "slotsAvailable": "Còn {{count}} chỗ người dùng khả dụng", "noSlotsAvailable": "Không còn chỗ khả dụng", "currentUsage": "Đang dùng {{current}}/{{max}} giấy phép người dùng" - } + }, + "loginRequired": "Hãy bật chế độ đăng nhập trước" }, "teams": { "title": "Nhóm", @@ -5057,6 +5428,17 @@ "showComparison": "So sánh tất cả tính năng", "hideComparison": "Ẩn so sánh tính năng", "featureComparison": "So sánh tính năng", + "from": "Từ", + "perMonth": "/tháng", + "perSeat": "/ghế", + "withServer": "+ Gói Server", + "licensedSeats": "Đã cấp phép: {{count}} ghế", + "includedInCurrent": "Bao gồm trong gói của bạn", + "selectPlan": "Chọn gói", + "manage": "Quản lý", + "manageSubscription": { + "description": "Quản lý gói đăng ký, thanh toán và phương thức chi trả" + }, "activePlan": { "title": "Gói đang hoạt động", "subtitle": "Chi tiết đăng ký hiện tại của bạn" @@ -5074,13 +5456,16 @@ "upTo": "Tối đa" }, "period": { - "month": "tháng" + "month": "tháng", + "perUserPerMonth": "/người dùng/tháng" }, "free": { "name": "Miễn phí", "highlight1": "Giới hạn số lần dùng công cụ mỗi tuần", "highlight2": "Truy cập tất cả công cụ", - "highlight3": "Hỗ trợ cộng đồng" + "highlight3": "Hỗ trợ cộng đồng", + "forever": "Miễn phí mãi mãi", + "included": "Bao gồm" }, "pro": { "name": "Pro", @@ -5092,7 +5477,9 @@ "name": "Enterprise", "highlight1": "Giá tùy chỉnh", "highlight2": "Hỗ trợ chuyên trách", - "highlight3": "Tính năng mới nhất" + "highlight3": "Tính năng mới nhất", + "requiresServer": "Cần Server", + "requiresServerMessage": "Vui lòng nâng cấp lên gói Server trước khi nâng cấp lên Enterprise." }, "feature": { "title": "Tính năng", @@ -5102,6 +5489,12 @@ "api": "Quyền truy cập API", "priority": "Hỗ trợ ưu tiên", "customPricing": "Giá tùy chỉnh" + }, + "licenseWarning": { + "title": "Đã đạt giới hạn miễn phí tự lưu trữ", + "body": "Bạn có {{total}} người dùng nhưng gói miễn phí chỉ hỗ trợ {{limit}} mỗi server. Hãy nâng cấp để Stirling PDF hoạt động ổn định.", + "overLimit": "nhiều hơn {{limit}}", + "cta": "Xem gói" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "Quản lý thanh toán", "portal": { "error": "Không thể mở cổng thanh toán" - } + }, + "updateSeats": "Cập nhật số ghế", + "updateEnterpriseSeats": "Cập nhật số ghế Enterprise", + "currentSeats": "Số ghế hiện tại", + "minimumSeats": "Số ghế tối thiểu", + "basedOnUsers": "(người dùng hiện tại)", + "newSeatCount": "Số ghế mới", + "newSeatCountDescription": "Chọn số ghế cho giấy phép enterprise", + "whatHappensNext": "Tiếp theo là gì?", + "stripePortalRedirect": "Bạn sẽ được chuyển đến cổng thanh toán Stripe để xem và xác nhận thay đổi số ghế. Số tiền tính theo tỷ lệ sẽ được tính tự động.", + "preparingUpdate": "Đang chuẩn bị cập nhật số ghế...", + "seatCountTooLow": "Số ghế phải ít nhất {{minimum}} (bằng số người dùng hiện tại)", + "seatCountUnchanged": "Vui lòng chọn số ghế khác", + "seatsUpdated": "Đã cập nhật số ghế", + "seatsUpdatedMessage": "Số ghế Enterprise của bạn đã được cập nhật thành {{seats}}", + "updateProcessing": "Đang xử lý cập nhật", + "updateProcessingMessage": "Cập nhật số ghế của bạn đang được xử lý. Vui lòng làm mới sau ít phút.", + "notEnterprise": "Quản lý số ghế chỉ áp dụng cho giấy phép Enterprise" + }, + "upgradeBanner": { + "title": "Nâng cấp lên gói Server", + "message": "Tận dụng tối đa Stirling PDF với người dùng không giới hạn và tính năng nâng cao", + "upgradeButton": "Nâng cấp ngay", + "dismiss": "Ẩn banner", + "attentionTitle": "Server này cần sự chú ý của admin", + "attentionBody": "Admin của bạn cần đăng nhập để xem thêm thông tin. Vui lòng liên hệ ngay.", + "attentionBodyAdmin": "Xem lại yêu cầu giấy phép để giữ server tuân thủ.", + "seeInfo": "Xem thông tin" }, "payment": { "preparing": "Đang chuẩn bị thanh toán của bạn...", @@ -5128,7 +5548,61 @@ "success": "Thanh toán thành công!", "successMessage": "Gói đăng ký của bạn đã được kích hoạt thành công. Bạn sẽ sớm nhận được email xác nhận.", "autoClose": "Cửa sổ này sẽ tự động đóng...", - "error": "Lỗi thanh toán" + "error": "Lỗi thanh toán", + "upgradeSuccess": "Thanh toán thành công! Gói của bạn đã được nâng cấp. Giấy phép trên server đã được cập nhật. Bạn sẽ sớm nhận email xác nhận.", + "paymentSuccess": "Thanh toán thành công! Đang truy xuất license key của bạn...", + "licenseActivated": "Đã kích hoạt giấy phép! License key của bạn đã được lưu. Email xác nhận đã gửi đến địa chỉ đã đăng ký.", + "licenseDelayed": "Thanh toán thành công! Giấy phép của bạn đang được tạo. Bạn sẽ sớm nhận email chứa license key. Nếu không nhận trong 10 phút, vui lòng liên hệ hỗ trợ.", + "licensePollingError": "Thanh toán thành công nhưng chúng tôi không thể tự động lấy license key. Vui lòng kiểm tra email hoặc liên hệ hỗ trợ kèm xác nhận thanh toán.", + "licenseRetrievalError": "Thanh toán thành công nhưng lấy license thất bại. Bạn sẽ nhận license key qua email. Vui lòng liên hệ hỗ trợ nếu không nhận trong 10 phút.", + "syncError": "Thanh toán thành công nhưng đồng bộ giấy phép thất bại. Giấy phép sẽ sớm được cập nhật. Vui lòng liên hệ hỗ trợ nếu vẫn gặp sự cố.", + "licenseSaveError": "Không thể lưu license key. Vui lòng liên hệ hỗ trợ kèm license key để hoàn tất kích hoạt.", + "paymentCanceled": "Thanh toán đã hủy. Không bị trừ phí.", + "syncingLicense": "Đang đồng bộ giấy phép đã nâng cấp...", + "generatingLicense": "Đang tạo license key...", + "upgradeComplete": "Nâng cấp hoàn tất", + "upgradeCompleteMessage": "Gói đăng ký của bạn đã nâng cấp thành công. License key hiện có đã được cập nhật.", + "stripeNotConfigured": "Chưa cấu hình Stripe", + "stripeNotConfiguredMessage": "Tích hợp thanh toán Stripe chưa được cấu hình. Vui lòng liên hệ quản trị viên.", + "monthly": "Theo tháng", + "yearly": "Theo năm", + "billingPeriod": "Chu kỳ thanh toán", + "enterpriseNote": "Có thể điều chỉnh số ghế khi thanh toán (1-1000).", + "installationId": "ID cài đặt", + "licenseKey": "License key của bạn", + "licenseInstructions": "Khóa đã được thêm vào cài đặt của bạn. Bạn cũng sẽ nhận một bản qua email.", + "canCloseWindow": "Bạn có thể đóng cửa sổ này.", + "licenseKeyProcessing": "Đang xử lý license key", + "licenseDelayedMessage": "License key của bạn đang được tạo. Vui lòng kiểm tra email sớm hoặc liên hệ hỗ trợ.", + "perYear": "/năm", + "perMonth": "/tháng", + "emailInvalid": "Vui lòng nhập địa chỉ email hợp lệ", + "emailStage": { + "title": "Nhập email của bạn", + "description": "Chúng tôi dùng email này để gửi license key và biên nhận.", + "emailLabel": "Địa chỉ email", + "emailPlaceholder": "your@email.com", + "continue": "Tiếp tục", + "modalTitle": "Bắt đầu - {{planName}}" + }, + "planStage": { + "title": "Chọn chu kỳ thanh toán", + "savingsNote": "Tiết kiệm {{percent}}% khi thanh toán theo năm", + "basePrice": "Giá cơ bản", + "seatPrice": "Theo ghế", + "totalForSeats": "Tổng ({{count}} ghế)", + "selectMonthly": "Chọn theo tháng", + "selectYearly": "Chọn theo năm", + "savePercent": "Tiết kiệm {{percent}}%", + "savingsAmount": "Bạn tiết kiệm {{amount}}", + "modalTitle": "Chọn chu kỳ thanh toán - {{planName}}", + "billedYearly": "Tính phí hàng năm {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "Quay lại chọn gói", + "selectedPlan": "Gói đã chọn", + "modalTitle": "Hoàn tất thanh toán - {{planName}}" + } }, "firstLogin": { "title": "Đăng nhập lần đầu", @@ -5287,5 +5761,281 @@ "offline": "Backend ngoại tuyến", "starting": "Backend đang khởi động...", "wait": "Vui lòng chờ backend khởi động xong rồi thử lại." + }, + "encryptedPdfUnlock": { + "unlockPrompt": "Mở khóa PDF để tiếp tục", + "title": "Gỡ mật khẩu để tiếp tục", + "description": "PDF này được bảo vệ bằng mật khẩu. Nhập mật khẩu để tiếp tục làm việc với tệp.", + "password": { + "label": "Mật khẩu PDF", + "placeholder": "Nhập mật khẩu PDF" + }, + "skip": "Bỏ qua tạm thời", + "unlock": "Mở khóa & tiếp tục", + "incorrectPassword": "Mật khẩu không đúng", + "missingFile": "Tệp đã chọn không còn khả dụng.", + "emptyResponse": "Gỡ mật khẩu không tạo ra tệp.", + "required": "Nhập mật khẩu để tiếp tục.", + "successTitle": "Đã gỡ mật khẩu", + "successBodyWithName": "Đã gỡ mật khẩu khỏi {{fileName}}", + "successBody": "Gỡ mật khẩu thành công." + }, + "setup": { + "welcome": "Chào mừng đến với Stirling PDF", + "description": "Bắt đầu bằng cách chọn cách bạn muốn sử dụng Stirling PDF", + "step1": { + "label": "Chọn chế độ", + "description": "Offline hoặc Server" + }, + "step2": { + "label": "Chọn server", + "description": "Server tự lưu trữ" + }, + "step3": { + "label": "Đăng nhập", + "description": "Nhập thông tin đăng nhập" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "Đăng nhập bằng tài khoản Stirling" + }, + "selfhosted": { + "title": "Server tự lưu trữ", + "description": "Kết nối đến server Stirling PDF của bạn" + } + }, + "saas": { + "title": "Đăng nhập vào Stirling", + "subtitle": "Đăng nhập bằng tài khoản Stirling" + }, + "selfhosted": { + "title": "Đăng nhập vào server", + "subtitle": "Nhập thông tin đăng nhập server" + }, + "server": { + "title": "Kết nối đến server", + "subtitle": "Nhập URL server tự lưu trữ", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "Server tự lưu trữ" + }, + "url": { + "label": "URL server", + "description": "Nhập URL đầy đủ của server Stirling PDF tự lưu trữ" + }, + "error": { + "emptyUrl": "Vui lòng nhập URL server", + "unreachable": "Không thể kết nối đến server", + "testFailed": "Kiểm tra kết nối thất bại" + }, + "testing": "Đang kiểm tra kết nối..." + }, + "login": { + "title": "Đăng nhập", + "subtitle": "Nhập thông tin đăng nhập để tiếp tục", + "connectingTo": "Đang kết nối đến:", + "username": { + "label": "Tên người dùng", + "placeholder": "Nhập tên người dùng" + }, + "email": { + "label": "Email", + "placeholder": "Nhập email" + }, + "password": { + "label": "Mật khẩu", + "placeholder": "Nhập mật khẩu" + }, + "error": { + "emptyUsername": "Vui lòng nhập tên người dùng", + "emptyEmail": "Vui lòng nhập email", + "emptyPassword": "Vui lòng nhập mật khẩu", + "oauthFailed": "Đăng nhập OAuth thất bại. Vui lòng thử lại." + }, + "submit": "Đăng nhập", + "signInWith": "Đăng nhập với", + "oauthPending": "Đang mở trình duyệt để xác thực...", + "orContinueWith": "Hoặc tiếp tục bằng email" + } + }, + "oauth": { + "success": { + "title": "Xác thực thành công", + "message": "Bạn có thể đóng cửa sổ này và quay lại Stirling PDF." + }, + "error": { + "title": "Xác thực thất bại", + "message": "Xác thực không thành công. Bạn có thể đóng cửa sổ này và thử lại." + } + }, + "pdfTextEditor": { + "title": "Trình chỉnh sửa PDF JSON", + "viewLabel": "Trình chỉnh sửa PDF", + "converting": "Đang chuyển PDF sang định dạng có thể chỉnh sửa...", + "conversionFailed": "Không thể chuyển đổi PDF. Vui lòng thử lại.", + "currentFile": "Tệp hiện tại: {{name}}", + "pageSummary": "Trang {{number}}/{{total}}", + "pagePreviewAlt": "Xem trước trang", + "imageLabel": "Ảnh đã đặt", + "noTextOnPage": "Không phát hiện văn bản có thể chỉnh sửa trên trang này.", + "pageType": { + "paragraph": "Trang đoạn văn", + "sparse": "Văn bản thưa" + }, + "groupingMode": { + "auto": "Tự động", + "paragraph": "Đoạn văn", + "singleLine": "Một dòng" + }, + "badges": { + "unsaved": "Đã chỉnh sửa", + "modified": "Đã chỉnh sửa", + "earlyAccess": "Truy cập sớm" + }, + "actions": { + "reset": "Đặt lại thay đổi", + "downloadJson": "Tải JSON", + "generatePdf": "Tạo PDF" + }, + "options": { + "autoScaleText": { + "title": "Tự căn chỉnh văn bản cho vừa hộp", + "description": "Tự động co giãn văn bản theo chiều ngang để vừa với hộp giới hạn gốc khi cách hiển thị font khác so với PDF." + }, + "groupingMode": { + "title": "Chế độ nhóm văn bản", + "autoDescription": "Tự động nhận diện loại trang và nhóm văn bản phù hợp.", + "paragraphDescription": "Nhóm các dòng thẳng hàng thành hộp văn bản đoạn nhiều dòng.", + "singleLineDescription": "Giữ mỗi dòng văn bản PDF thành một hộp riêng." + }, + "manualGrouping": { + "descriptionInline": "Mẹo: Giữ Ctrl (Cmd) hoặc Shift để chọn nhiều hộp văn bản. Một thanh công cụ nổi sẽ xuất hiện phía trên vùng chọn để bạn gộp, tách hoặc điều chỉnh độ rộng." + }, + "forceSingleElement": { + "title": "Khóa văn bản đã chỉnh sửa thành một phần tử PDF duy nhất", + "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." + } + }, + "manual": { + "mergeTooltip": "Gộp các hộp đã chọn", + "merge": "Gộp vùng chọn", + "ungroupTooltip": "Tách đoạn thành các dòng", + "ungroup": "Bỏ nhóm vùng chọn", + "widthMenu": "Tùy chọn độ rộng", + "expandWidth": "Mở rộng tới mép trang", + "resetWidth": "Đặt lại độ rộng", + "resizeHandle": "Điều chỉnh độ rộng văn bản" + }, + "disclaimer": { + "heading": "Giới hạn bản xem trước", + "textFocus": "Không gian làm việc này tập trung vào chỉnh sửa văn bản và đặt lại vị trí hình ảnh nhúng. Đồ họa trang phức tạp, widget biểu mẫu và đồ họa nhiều lớp được giữ nguyên để xuất nhưng không thể chỉnh sửa đầy đủ tại đây.", + "previewVariance": "Một số hình ảnh (như viền bảng, hình dạng hoặc hiển thị chú thích) có thể không hiển thị chính xác trong bản xem trước. PDF xuất ra giữ các lệnh vẽ gốc khi có thể.", + "alpha": "Trình xem alpha này vẫn đang phát triển—một số font, 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 kỹ PDF đã tạo trước khi chia sẻ." + }, + "empty": { + "title": "Chưa tải tài liệu", + "subtitle": "Tải tệp PDF hoặc JSON để bắt đầu chỉnh sửa nội dung văn bản." + }, + "welcomeBanner": { + "title": "Chào mừng đến với PDF Text Editor (Truy cập sớm)", + "experimental": "Đây là tính năng thử nghiệm đang được phát triển tích cực. Có thể sẽ không ổn định và phát sinh lỗi khi sử dụng.", + "howItWorks": "Công cụ này chuyển PDF của bạn sang định dạng có thể chỉnh sửa, nơi bạn có thể sửa nội dung văn bản và đặt lại vị trí hình ảnh. Thay đổi sẽ được lưu thành một PDF mới.", + "bestFor": "Tốt nhất cho:", + "bestFor1": "PDF đơn giản chủ yếu gồm văn bản và hình ảnh", + "bestFor2": "Tài liệu có định dạng đoạn văn tiêu chuẩn", + "bestFor3": "Thư, bài luận, báo cáo và tài liệu cơ bản", + "notIdealFor": "Không phù hợp cho:", + "notIdealFor1": "PDF có định dạng đặc biệt như gạch đầu dòng, bảng hoặc bố cục nhiều cột", + "notIdealFor2": "Tạp chí, brochure hoặc tài liệu thiết kế phức tạp", + "notIdealFor3": "Sổ tay hướng dẫn có bố cục phức tạp", + "limitations": "Giới hạn hiện tại:", + "limitation1": "Hiển thị font có thể hơi khác so với PDF gốc", + "limitation2": "Đồ họa phức tạp, trường biểu mẫu và chú thích được giữ lại nhưng không thể chỉnh sửa", + "limitation3": "Tệp lớn có thể mất thời gian để chuyển đổi và xử lý", + "knownIssues": "Vấn đề đã biết (đang sửa):", + "issue1": "Hiện chưa giữ màu văn bản (sẽ sớm bổ sung)", + "issue2": "Chế độ Đoạn có nhiều vấn đề căn chỉnh và giãn cách hơn - khuyến nghị dùng chế độ Dòng đơn", + "issue3": "Bản xem trước khác với PDF xuất ra - PDF xuất ra gần với bản gốc hơn", + "issue4": "Căn chỉnh văn bản xoay có thể cần chỉnh tay", + "issue5": "Hiệu ứng trong suốt và lớp có thể khác bản gốc", + "feedback": "Đây là tính năng truy cập sớm. Vui lòng báo lỗi bạn gặp để giúp chúng tôi cải thiện!", + "gotIt": "Đã hiểu", + "dontShowAgain": "Đừng hiển thị lại" + }, + "modeChange": { + "title": "Xác nhận đổi chế độ", + "warning": "Đổi chế độ nhóm văn bản sẽ đặt lại mọi thay đổi chưa lưu. Bạn có chắc muốn tiếp tục?", + "cancel": "Hủy", + "confirm": "Đặt lại và đổi chế độ" + }, + "fontAnalysis": { + "details": "Chi tiết font", + "embedded": "Nhúng", + "type": "Loại", + "webFormat": "Định dạng Web", + "warnings": "Cảnh báo", + "suggestions": "Ghi chú", + "currentPageFonts": "Font trên trang này", + "allFonts": "Tất cả font", + "fallback": "dự phòng", + "missing": "thiếu", + "perfectMessage": "Tất cả font có thể tái tạo hoàn hảo.", + "warningMessage": "Một số font có thể không hiển thị đúng.", + "infoMessage": "Có thông tin về tái tạo font.", + "perfect": "hoàn hảo", + "subset": "nhúng một phần" + }, + "errors": { + "invalidJson": "Không thể đọc tệp JSON. Hãy đảm bảo tệp được tạo bởi công cụ PDF to JSON.", + "pdfConversion": "Không thể chuyển JSON đã chỉnh sửa lại thành PDF." + } + }, + "auth": { + "sessionExpired": "Phiên đã hết hạn", + "pleaseLoginAgain": "Vui lòng đăng nhập lại.", + "accessDenied": "Từ chối truy cập", + "insufficientPermissions": "Bạn không có quyền thực hiện thao tác này." + }, + "addText": { + "title": "Thêm văn bản", + "header": "Thêm văn bản vào PDF", + "text": { + "name": "Nội dung văn bản", + "placeholder": "Nhập văn bản bạn muốn thêm", + "fontLabel": "Phông chữ", + "fontSizeLabel": "Cỡ chữ", + "fontSizePlaceholder": "Nhập hoặc chọn cỡ chữ (8-200)", + "colorLabel": "Màu văn bản" + }, + "steps": { + "configure": "Thiết lập văn bản" + }, + "step": { + "createDesc": "Nhập văn bản bạn muốn thêm", + "place": "Đặt văn bản", + "placeDesc": "Nhấp vào PDF để thêm văn bản của bạn" + }, + "instructions": { + "title": "Cách thêm văn bản", + "text": "Sau khi nhập văn bản ở trên, hãy nhấp vào bất kỳ đâu trên PDF để đặt nó.", + "paused": "Tạm dừng đặt", + "resumeHint": "Tiếp tục đặt để nhấp và thêm văn bản.", + "noSignature": "Nhập văn bản ở trên để có thể đặt." + }, + "mode": { + "move": "Di chuyển văn bản", + "place": "Đặt văn bản", + "pause": "Tạm dừng đặt", + "resume": "Tiếp tục đặt" + }, + "results": { + "title": "Kết quả thêm văn bản" + }, + "error": { + "failed": "Đã xảy ra lỗi khi thêm văn bản vào PDF." + }, + "tags": "văn bản,chú thích,nhãn", + "applySignatures": "Áp dụng văn bản" } } \ No newline at end of file diff --git a/frontend/public/locales/zh-BO/translation.json b/frontend/public/locales/zh-BO/translation.json index a5b0b392d..c96261eba 100644 --- a/frontend/public/locales/zh-BO/translation.json +++ b/frontend/public/locales/zh-BO/translation.json @@ -17,6 +17,8 @@ "comingSoon": "即将推出:", "favorite": "添加到收藏", "favorites": "收藏", + "unavailable": "已被服务器管理员禁用:", + "unavailableDependency": "不可用 - 服务器缺少所需工具:", "heading": "所有工具(全屏视图)", "noResults": "尝试调整搜索或切换描述以找到所需内容。", "recommended": "推荐", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "切换到全屏模式", "sidebar": "切换到侧边栏模式" - } + }, + "alpha": "Alpha", + "premiumFeature": "高级功能:", + "comingSoon": "即将推出:" }, "unsavedChanges": "您的 PDF 有未保存的更改。", "areYouSure": "确定要离开吗?", @@ -41,6 +46,30 @@ "cancel": "取消", "confirm": "解压" }, + "defaultApp": { + "title": "设为默认 PDF 应用", + "message": "是否将 Stirling PDF 设为默认 PDF 编辑器?", + "description": "稍后可在系统设置中更改。", + "notNow": "暂不", + "setDefault": "设为默认", + "dismiss": "忽略", + "prompt": { + "title": "设为默认 PDF 编辑器", + "message": "将 Stirling PDF 设为打开 PDF 的默认应用。" + }, + "success": { + "title": "已设为默认应用", + "message": "Stirling PDF 已设为您的默认 PDF 编辑器" + }, + "settingsOpened": { + "title": "已打开设置", + "message": "请在系统设置中选择 Stirling PDF" + }, + "error": { + "title": "错误", + "message": "设置默认 PDF 处理程序失败" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "ཉར་ཚགས།", "saveToBrowser": "བཤར་ཆེ་ནང་ཉར་ཚགས།", "download": "下载", + "downloadUnavailable": "此项目不可下载", + "saveUnavailable": "此项无法保存", "pin": "固定文件(工具运行后保持活动)", "unpin": "取消固定文件(工具运行后替换)", "undoOperationTooltip": "点击撤销上一步操作并恢复原始文件", @@ -168,6 +199,7 @@ }, "edit": "编辑", "delete": "སུབ་པ།", + "never": "从不", "username": "སྤྱོད་མཁན་མིང་།", "password": "གསང་ཚིག།", "welcome": "དགའ་བསི་ཞུ།", @@ -262,7 +294,8 @@ "learnMore": "了解更多", "enable": "དཔྱད་ཞིབ་སྤྱོད་འགོ་འཛུགས།", "disable": "དཔྱད་ཞིབ་སྤྱོད་མཚམས་འཇོག", - "settings": "དཔྱད་ཞིབ་ཀྱི་སྒྲིག་འགོད་ config/settings.yml ཡིག་ཆའི་ནང་བསྒྱུར་བཅོས་བྱེད་ཆོག" + "settings": "དཔྱད་ཞིབ་ཀྱི་སྒྲིག་འགོད་ config/settings.yml ཡིག་ཆའི་ནང་བསྒྱུར་བཅོས་བྱེད་ཆོག", + "privacyAssurance": "我们不会跟踪任何个人信息或文件内容。" }, "navbar": { "favorite": "དགའ་མོས།", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "སྒྲིག་འགོད།", - "update": "གསར་སྒྱུར་ཡོད།", - "updateAvailable": "{0} ནི་ད་ལྟ་སྒྲིག་འཇུག་བྱས་པའི་པར་གཞི་ཡིན། པར་གཞི་གསར་པ་ ({1}) ཡོད།", - "appVersion": "མཉེན་ཆས་པར་གཞི།", - "downloadOption": { - "title": "ཕབ་ལེན་གདམ་ག་འདེམས་རོགས། (ཡིག་ཆ་རྐྱང་པ་ zip མིན་པའི་ཕབ་ལེན་ཆེད།):", - "1": "སྒེའུ་ཁུང་གཅིག་པའི་ནང་ཁ་ཕྱེ།", - "2": "སྒེའུ་ཁུང་གསར་པར་ཁ་ཕྱེ།", - "3": "ཡིག་ཆ་ཕབ་ལེན།" - }, - "zipThreshold": "ཕབ་ལེན་བྱས་པའི་ཡིག་ཆའི་གྲངས་ཀ་འདི་ལས་བརྒལ་ན་ zip བྱེད།", - "signOut": "ཕྱིར་འབུད།", - "accountSettings": "ཐོ་མིང་སྒྲིག་འགོད།", - "bored": { - "help": "སྒོ་ང་རྩེད་མོ་སྤྱོད་འགོ་རྩོམ།" - }, - "cacheInputs": { - "name": "ནང་འཇུག་གི་ནང་དོན་ཉར་ཚགས།", - "help": "སྔོན་མ་བེད་སྤྱད་པའི་ནང་འཇུག་གི་ནང་དོན་མ་འོངས་པར་བེད་སྤྱོད་ཆེད་ཉར་ཚགས་བྱེད།" + "connection": { + "title": "连接模式", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "自托管" + }, + "server": "服务器", + "user": "登录身份", + "logout": "退出登录" }, "general": { "title": "常规", "description": "配置通用应用偏好。", - "account": "账户", - "accountDescription": "管理您的账户设置", "user": "用户", - "signedInAs": "登录为", "logout": "退出登录", "enableFeatures": { + "dismiss": "忽略", "title": "面向系统管理员", "intro": "为您的组织启用用户认证、团队管理和工作区功能。", "action": "配置", "and": "和", "benefit": "启用用户角色、团队协作、管理员控制和企业特性。", - "learnMore": "在文档中了解更多", - "dismiss": "忽略" + "learnMore": "在文档中了解更多" }, - "autoUnzip": "自动解压 API 响应", - "autoUnzipDescription": "自动从 ZIP 响应中提取文件", - "autoUnzipTooltip": "自动解压 API 操作返回的 ZIP 文件。禁用后将保持 ZIP 文件原样。这不影响自动化工作流。", - "autoUnzipFileLimit": "自动解压文件数量限制", - "autoUnzipFileLimitDescription": "从 ZIP 中提取的最大文件数", - "autoUnzipFileLimitTooltip": "仅当 ZIP 含有不超过此数量的文件时才解压。增大该值可提取更大的 ZIP。", "defaultToolPickerMode": "默认工具选择器模式", "defaultToolPickerModeDescription": "选择工具选择器默认以全屏或侧边栏打开", "mode": { - "fullscreen": "全屏", - "sidebar": "侧边栏" - } + "sidebar": "侧边栏", + "fullscreen": "全屏" + }, + "autoUnzipTooltip": "自动解压 API 操作返回的 ZIP 文件。禁用后将保持 ZIP 文件原样。这不影响自动化工作流。", + "autoUnzip": "自动解压 API 响应", + "autoUnzipDescription": "自动从 ZIP 响应中提取文件", + "autoUnzipFileLimitTooltip": "仅当 ZIP 含有不超过此数量的文件时才解压。增大该值可提取更大的 ZIP。", + "autoUnzipFileLimit": "自动解压文件数量限制", + "autoUnzipFileLimitDescription": "从 ZIP 中提取的最大文件数", + "defaultPdfEditor": "默认 PDF 编辑器", + "defaultPdfEditorActive": "Stirling PDF 是您的默认 PDF 编辑器", + "defaultPdfEditorInactive": "已由其他应用设为默认", + "defaultPdfEditorChecking": "正在检查...", + "defaultPdfEditorSet": "已是默认", + "setAsDefault": "设为默认", + "updates": { + "title": "软件更新", + "description": "检查更新并查看版本信息", + "currentVersion": "当前版本", + "latestVersion": "最新版本", + "checkForUpdates": "检查更新", + "viewDetails": "查看详情" + }, + "hideUnavailableTools": "隐藏不可用工具", + "hideUnavailableToolsDescription": "将服务器已禁用的工具移除,而不是以灰色显示。", + "hideUnavailableConversions": "隐藏不可用的转换", + "hideUnavailableConversionsDescription": "在转换工具中移除已禁用的选项,而不是以灰色显示。" }, "hotkeys": { - "title": "键盘快捷键", - "description": "将鼠标悬停在工具上可查看其快捷键,或在下方自定义。点击“更改快捷键”并按下新的按键组合。按 Esc 取消。", - "errorModifier": { - "mac": "请在快捷键中包含 ⌘(Command)、⌥(Option)或其他修饰键。", - "windows": "请在快捷键中包含 Ctrl、Alt 或其他修饰键。" - }, "errorConflict": "快捷键已被 {{tool}} 使用。", + "searchPlaceholder": "搜索工具...", "none": "未分配", "customBadge": "自定义", "defaultLabel": "默认:{{shortcut}}", @@ -349,10 +382,40 @@ "change": "更改快捷键", "reset": "重置", "shortcut": "快捷键", - "noShortcut": "未设置快捷键", - "searchPlaceholder": "搜索工具..." + "noShortcut": "未设置快捷键" } }, + "update": { + "modalTitle": "有可用更新", + "current": "当前版本", + "latest": "最新版本", + "latestStable": "最新稳定版", + "priorityLabel": "优先级", + "recommendedAction": "建议操作", + "breakingChangesDetected": "检测到破坏性变更", + "breakingChangesMessage": "某些版本包含破坏性变更。请在更新前查看以下迁移指南。", + "migrationGuides": "迁移指南", + "viewGuide": "查看指南", + "loadingDetailedInfo": "正在加载详细信息...", + "close": "关闭", + "viewAllReleases": "查看所有发行版", + "downloadLatest": "下载最新版本", + "availableUpdates": "可用更新", + "unableToLoadDetails": "无法加载详细信息。", + "version": "版本", + "urgentUpdateAvailable": "紧急更新", + "updateAvailable": "有可用更新", + "releaseNotes": "发布说明", + "priority": { + "urgent": "紧急", + "normal": "普通", + "minor": "次要", + "low": "低" + }, + "breakingChanges": "破坏性变更", + "breakingChangesDefault": "此版本包含破坏性变更。", + "migrationGuide": "迁移指南" + }, "changeCreds": { "title": "ངོ་སྤྲོད་ལག་ཁྱེར་བསྒྱུར་བ།", "header": "ཁྱེད་ཀྱི་ཐོ་མིང་ཞིབ་ཕྲ་གསར་སྒྱུར།", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "PDF གཞན་ཞིག་གི་སྟེང་དུ་ PDF བརྩེགས་པ།", "title": "PDF སྟེང་བརྩེགས།" + }, + "pdfTextEditor": { + "title": "PDF 文本编辑器", + "desc": "审阅并编辑 Stirling PDF 的 JSON 导出,支持分组文本编辑与 PDF 再生成" + }, + "addText": { + "tags": "文本,注释,标签", + "title": "添加文本", + "desc": "在 PDF 任意位置添加自定义文本" } }, "landing": { "addFiles": "添加文件", - "uploadFromComputer": "从电脑上传" + "uploadFromComputer": "从电脑上传", + "openFromComputer": "从电脑打开" }, "viewPdf": { "tags": "ལྟ་བ།,ཀློག་པ།,མཆན་འགྲེལ།,ཡི་གེ,པར་རིས།", @@ -849,6 +922,11 @@ }, "error": { "failed": "合并 PDF 时发生错误。" + }, + "tooltip": { + "header": { + "title": "合并设置概览" + } } }, "split": { @@ -1182,9 +1260,43 @@ "tags": "པར་རིས།,jpg,པར།,འདྲ་པར།", "title": "པར་རིས་སྣོན་པ།", "header": "PDF ལ་པར་རིས་སྣོན་པ།", - "everyPage": "ཤོག་ངོས་ཚང་མར་ཡིན་ནམ།", - "upload": "པར་རིས་སྣོན་པ།", - "submit": "པར་རིས་སྣོན་པ།" + "image": { + "name": "图像", + "placeholder": "上传图像", + "label": "图像文件" + }, + "steps": { + "configure": "配置图像" + }, + "step": { + "createDesc": "上传要添加的图像", + "place": "放置图像", + "placeDesc": "在 PDF 上点击以添加图像" + }, + "instructions": { + "title": "如何添加图像", + "text": "上传图像后,点击 PDF 任意位置进行放置。", + "paused": "已暂停放置", + "resumeHint": "恢复放置后点击添加图像。", + "noSignature": "在上方上传图像以启用放置。" + }, + "mode": { + "move": "移动图像", + "place": "放置图像", + "pause": "暂停放置", + "resume": "恢复放置" + }, + "results": { + "title": "添加图像结果" + }, + "error": { + "failed": "向 PDF 添加图像时出错。" + }, + "saved": { + "defaultLabel": "图像", + "defaultImageLabel": "已上传的图像" + }, + "applySignatures": "应用图像" }, "attachments": { "tags": "附件,添加,删除,嵌入,文件", @@ -1397,6 +1509,93 @@ }, "submit": "བསྒྱུར་བ།" }, + "editTableOfContents": { + "settings": { + "title": "书签与大纲", + "replaceExisting": "替换现有书签(取消勾选为追加)", + "replaceExistingHint": "禁用时,新大纲会追加在当前书签之后。" + }, + "actions": { + "source": "加载书签", + "selectedFile": "已从 {{file}} 加载", + "noFile": "选择一个 PDF 以提取现有书签。", + "loadFromPdf": "从所选 PDF 加载", + "importJson": "导入 JSON", + "importClipboard": "从剪贴板粘贴 JSON", + "export": "导出书签", + "exportJson": "下载 JSON", + "exportClipboard": "复制 JSON 到剪贴板", + "clipboardUnavailable": "此浏览器不支持剪贴板访问。" + }, + "info": { + "line1": "每个书签需要描述性标题及其要打开的页面。", + "line2": "使用子书签为章、节或小节建立层级。", + "line3": "从所选 PDF 或 JSON 文件导入书签以节省时间。" + }, + "workbench": { + "empty": { + "title": "打开工具开始编辑", + "description": "选择“编辑目录”工具以加载工作区。" + }, + "tabTitle": "大纲工作区", + "subtitle": "导入书签、构建层级,并在无拥挤侧栏的情况下应用大纲。", + "noFile": "未选择 PDF", + "fileLabel": "更改将应用于当前选定的 PDF。", + "filePrompt": "从库中选择 PDF 或上传新文件开始。", + "changeFile": "更换 PDF", + "selectFile": "选择 PDF" + }, + "editor": { + "heading": "书签编辑器", + "description": "添加、嵌套和重排书签以构建 PDF 大纲。", + "addTopLevel": "添加顶级书签", + "empty": { + "title": "尚无书签", + "description": "导入现有书签或添加第一条条目。", + "action": "添加第一个书签" + }, + "defaultTitle": "新建书签", + "defaultChildTitle": "子书签", + "defaultSiblingTitle": "新建书签", + "untitled": "未命名书签", + "childBadge": "子级", + "pagePreview": "第 {{page}} 页", + "field": { + "title": "书签标题", + "page": "目标页码" + }, + "actions": { + "toggle": "切换子级", + "addChild": "添加子书签", + "addSibling": "添加同级书签", + "remove": "删除书签" + }, + "confirmRemove": "删除此书签及其所有子项?" + }, + "messages": { + "loadedTitle": "已提取书签", + "loadedBody": "已将 PDF 中的现有书签加载到编辑器。", + "noBookmarks": "所选 PDF 中未找到书签。", + "loadFailed": "无法从所选 PDF 提取书签。", + "imported": "已导入书签", + "importedBody": "您的 JSON 大纲已替换当前编辑器内容。", + "importedClipboard": "剪贴板数据已替换当前书签列表。", + "invalidJson": "无效的 JSON 结构", + "invalidJsonBody": "请提供有效的书签 JSON 文件后重试。", + "exported": "JSON 下载就绪", + "copied": "已复制到剪贴板", + "copiedBody": "书签 JSON 复制成功。", + "copyFailed": "复制失败" + }, + "error": { + "failed": "更新目录失败" + }, + "submit": "应用目录", + "results": { + "title": "含书签的已更新 PDF", + "subtitle": "在下方下载处理后的文件或撤销操作。" + } + }, "removePages": { "tags": "ཤོག་ངོས་སུབ་པ།,ཤོག་ངོས་གསུབ་པ།", "title": "删除页面", @@ -1978,13 +2177,54 @@ "title": "绘制您的签名", "clear": "清除" }, + "canvas": { + "heading": "手写签名", + "clickToOpen": "点击打开绘图画布", + "modalTitle": "手写签名", + "colorLabel": "颜色", + "penSizeLabel": "笔粗细", + "penSizePlaceholder": "大小", + "clear": "清空画布", + "colorPickerTitle": "选择描边颜色" + }, "text": { "name": "签署人姓名", - "placeholder": "输入您的全名" + "placeholder": "输入您的全名", + "fontLabel": "字体", + "fontSizeLabel": "字号", + "fontSizePlaceholder": "输入或选择字号 (8-200)", + "colorLabel": "文本颜色" }, "clear": "གཙང་སེལ།", "add": "སྣོན་པ།", - "saved": "ཉར་ཚགས་བྱས་པའི་མིང་རྟགས།", + "saved": { + "heading": "已保存的签名", + "description": "随时复用已保存的签名。", + "emptyTitle": "尚无已保存签名", + "emptyDescription": "在上方绘制、上传或键入签名,然后使用\"保存到库\"可保留最多 {{max}} 个常用项。", + "type": { + "canvas": "绘制", + "image": "上传", + "text": "文本" + }, + "limitTitle": "已达上限", + "limitDescription": "添加新签名前请先移除已保存的签名(最多 {{max}} 个)。", + "carouselPosition": "{{current}} / {{total}}", + "prev": "上一个", + "next": "下一个", + "delete": "移除", + "label": "标签", + "defaultLabel": "签名", + "defaultCanvasLabel": "手写签名", + "defaultImageLabel": "已上传的签名", + "defaultTextLabel": "键入的签名", + "saveButton": "保存签名", + "saveUnavailable": "请先创建签名再保存。", + "noChanges": "当前签名已保存。", + "status": { + "saved": "已保存" + } + }, "save": "མིང་རྟགས་ཉར་ཚགས།", "applySignatures": "应用签名", "personalSigs": "སྒེར་གྱི་མིང་རྟགས།", @@ -2003,12 +2243,18 @@ "steps": { "configure": "配置签名" }, + "step": { + "createDesc": "选择签名的创建方式", + "place": "放置并保存", + "placeDesc": "在 PDF 上放置签名" + }, "type": { "title": "签名类型", "draw": "手写", "canvas": "画布", "image": "图片", - "text": "文本" + "text": "文本", + "saved": "已保存" }, "image": { "label": "上传签名图片", @@ -2019,11 +2265,17 @@ "title": "如何添加签名", "canvas": "在画布中绘制签名后,关闭对话框,然后在 PDF 任意位置点击以放置。", "image": "在上方上传签名图片后,在 PDF 任意位置点击以放置。", - "text": "在上方输入您的姓名后,在 PDF 任意位置点击以放置签名。" + "saved": "在上方选择一个已保存签名,然后在 PDF 上任意点击进行放置。", + "text": "在上方输入您的姓名后,在 PDF 任意位置点击以放置签名。", + "paused": "已暂停放置", + "resumeHint": "恢复放置后点击添加签名。", + "noSignature": "请先创建签名以启用放置工具。" }, "mode": { "move": "移动签名", - "place": "放置签名" + "place": "放置签名", + "pause": "暂停放置", + "resume": "恢复放置" }, "updateAndPlace": "更新并放置", "activate": "启用签名放置", @@ -2163,6 +2415,14 @@ "title": "关于移除注释", "description": "此工具会从 PDF 文档中移除所有注释(评论、高亮、便笺等)。" }, + "tooltip": { + "header": { + "title": "关于移除注释" + }, + "description": { + "title": "功能说明" + } + }, "error": { "failed": "移除 PDF 注释时发生错误。" } @@ -2293,7 +2553,7 @@ "certSign": { "tags": "ར་སྤྲོད།,PEM,P12,གཞུང་འབྲེལ།,གསང་སྡོམ།", "title": "ལག་ཁྱེར་མིང་རྟགས།", - "filenamePrefix": "signed", + "filenamePrefix": "已签名", "signMode": { "stepTitle": "签名模式", "tooltip": { @@ -2437,7 +2697,7 @@ "selectPDF": "PDF ཡིག་ཆ་འདེམས་པ།", "submit": "མིང་རྟགས་སུབ་པ།", "description": "此工具将从您的 PDF 文档中移除数字证书签名。", - "filenamePrefix": "unsigned", + "filenamePrefix": "未签名", "files": { "placeholder": "在主界面选择一个 PDF 文件开始" }, @@ -2467,7 +2727,7 @@ } }, "bookletImposition": { - "tags": "booklet,imposition,printing,binding,folding,signature", + "tags": "小册子,拼版,打印,装订,折叠,折帖", "title": "小册子拼版", "header": "小册子拼版", "submit": "创建小册子", @@ -2568,7 +2828,7 @@ "submit": "ཕུལ་བ།" }, "adjustPageScale": { - "tags": "resize,modify,dimension,adapt", + "tags": "缩放,修改,尺寸,适配", "title": "调整页面缩放", "header": "调整页面缩放", "scaleFactor": { @@ -2577,8 +2837,8 @@ "pageSize": { "label": "目标页面大小", "keep": "保持原始大小", - "letter": "Letter", - "legal": "Legal" + "letter": "信纸", + "legal": "法律纸" }, "submit": "调整页面缩放", "error": { @@ -2627,6 +2887,9 @@ "header": { "title": "自动重命名的工作原理" }, + "description": { + "title": "功能说明" + }, "howItWorks": { "title": "智能重命名", "text": "自动从您的 PDF 内容中提取标题并将其用作文件名。", @@ -2634,6 +2897,9 @@ "bullet2": "根据检测到的标题创建干净、有效的文件名", "bullet3": "如果未找到合适的标题,则保留原文件名" } + }, + "settings": { + "title": "关于" } }, "adjust-contrast": { @@ -2745,7 +3011,7 @@ "credit": "WeasyPrint བེད་སྤྱོད་བྱེད་པ།" }, "PDFToMarkdown": { - "tags": "markup,web-content,transformation,convert,md", + "tags": "标记,网页内容,变换,转换,md", "title": "PDF 转 Markdown", "header": "PDF 转 Markdown", "submit": "转换" @@ -3106,7 +3372,7 @@ "signatureDate": "签署日期" }, "filesEvaluated": "{{count}} 个文件已评估", - "footer": "Validated via Stirling PDF", + "footer": "通过 Stirling PDF 验证", "generatedAt": "生成时间", "noPdf": "成功验证后将提供 PDF 报告。", "page": "页面", @@ -3227,7 +3493,26 @@ "unexpectedError": "意外错误:{{message}}", "accountCreatedSuccess": "账号创建成功!您现在可以登录。", "passwordChangedSuccess": "密码修改成功!请使用新密码登录。", - "credentialsUpdated": "您的凭据已更新。请重新登录。" + "credentialsUpdated": "您的凭据已更新。请重新登录。", + "defaultCredentials": "默认登录凭据", + "changePasswordWarning": "首次登录后请更改密码", + "slides": { + "overview": { + "alt": "Stirling PDF 概览", + "title": "满足您所有 PDF 需求的一站式工具。", + "subtitle": "以隐私为先的 PDF 云套件,支持转换、签名、涂黑和管理文档,并提供 50+ 款强大工具。" + }, + "edit": { + "alt": "编辑 PDF", + "title": "编辑 PDF 以展示或保护您想要的信息", + "subtitle": "十余种工具助您涂黑、签名、阅读与处理 PDF,满足您的各种需求。" + }, + "secure": { + "alt": "保护 PDF", + "title": "保护 PDF 中的敏感信息", + "subtitle": "轻松添加密码、涂黑内容并管理证书。" + } + } }, "signup": { "title": "创建账号", @@ -3262,7 +3547,7 @@ "header": "PDF ནས་ཤོག་ངོས་གཅིག་ལ།", "submit": "ཤོག་ངོས་གཅིག་ལ་བསྒྱུར་བ།", "description": "此工具会将 PDF 的所有页面合并为一个大的单页。宽度保持与原始页面一致,但高度为所有页面高度之和。", - "filenamePrefix": "single_page", + "filenamePrefix": "单页", "files": { "placeholder": "在主界面选择一个 PDF 文件开始" }, @@ -3502,7 +3787,7 @@ "title": "API 文档", "header": "API 文档", "desc": "查看并测试 Stirling PDF 的 API 端点", - "tags": "api,documentation,swagger,endpoints,development" + "tags": "api,文档,swagger,端点,开发" }, "cookieBanner": { "popUp": { @@ -3541,8 +3826,8 @@ } }, "services": { - "posthog": "PostHog Analytics", - "scarf": "Scarf Pixel" + "posthog": "PostHog 分析", + "scarf": "Scarf 像素" } }, "removeMetadata": { @@ -3598,7 +3883,9 @@ "exportAll": "导出 PDF", "downloadSelected": "下载所选文件", "downloadAll": "全部下载", + "saveAll": "全部保存", "toggleTheme": "切换主题", + "toggleBookmarks": "切换书签", "language": "语言", "search": "搜索 PDF", "panMode": "平移模式", @@ -3685,8 +3972,16 @@ "saved": "设置保存成功", "saveSuccess": "设置保存成功", "save": "保存更改", + "discard": "放弃", "restartRequired": "需要重启", "loginRequired": "必须启用登录模式才能修改管理员设置", + "unsavedChanges": { + "title": "未保存的更改", + "message": "您有未保存的更改。要放弃吗?", + "cancel": "继续编辑", + "discard": "放弃更改", + "hint": "您有未保存的更改" + }, "loginDisabled": { "title": "需要登录模式", "message": "必须启用登录模式才能修改管理员设置。请在环境中设置 SECURITY_ENABLELOGIN=true 或在 settings.yml 中设置 security.enableLogin: true,然后重启服务器。", @@ -4204,7 +4499,7 @@ "description": "Cookie 政策的 URL 或文件名" }, "impressum": { - "label": "Impressum", + "label": "法律声明", "description": "Impressum 的 URL 或文件名(某些司法管辖区要求)" } }, @@ -4212,9 +4507,21 @@ "title": "高级与企业版", "description": "配置你的高级或企业许可证密钥。", "license": "许可证配置", + "licenseKey": { + "toggle": "有许可证密钥或证书文件?", + "info": "如果您通过直接购买获得了许可证密钥或证书文件,可在此输入以激活高级或企业功能。" + }, "key": { "label": "许可证密钥", - "description": "输入你的高级或企业许可证密钥" + "description": "输入你的高级或企业许可证密钥", + "success": "许可证密钥已保存", + "successMessage": "您的许可证密钥已成功激活,无需重启。", + "overwriteWarning": { + "title": "⚠️ 警告:检测到现有许可证", + "line1": "覆盖当前许可证密钥后将无法撤销。", + "line2": "除非另有备份,否则之前的许可证将被永久丢失。", + "line3": "重要:请妥善保管许可证密钥,切勿公开分享。" + } }, "enabled": { "label": "启用高级功能", @@ -4278,12 +4585,17 @@ "or": "或", "dropFileHere": "将文件拖到此处或点击上传", "dropFilesHere": "将文件拖到此处或点击上传按钮", + "dropFilesHereOpen": "拖放文件到此处或点击“打开”按钮", "pdfFilesOnly": "仅限 PDF 文件", "supportedFileTypes": "支持的文件类型", "upload": "上传", "uploadFile": "上传文件", "uploadFiles": "上传文件", + "open": "打开", + "openFile": "打开文件", + "openFiles": "打开多个文件", "noFilesInStorage": "存储中没有可用文件。请先上传一些文件。", + "noFilesInStorageOpen": "存储中暂无可用文件。请先打开一些文件。", "selectFromStorage": "从存储中选择", "backToTools": "返回工具", "addFiles": "添加文件", @@ -4329,6 +4641,8 @@ "myFiles": "我的文件", "noRecentFiles": "未找到最近文件", "googleDriveNotAvailable": "Google Drive 集成不可用", + "downloadSelected": "下载所选", + "saveSelected": "保存所选", "openFiles": "打开文件", "openFile": "打开文件", "details": "文件详情", @@ -4341,7 +4655,6 @@ "selectAll": "全选", "deselectAll": "取消全选", "deleteSelected": "删除所选", - "downloadSelected": "下载所选", "selectedCount": "已选 {{count}} 个", "download": "下载", "delete": "删除", @@ -4621,9 +4934,14 @@ "secureWorkflow": "安全工作流", "secureWorkflowDesc": "通过移除可能的恶意内容(如 JavaScript 和嵌入文件)来保护 PDF 文档,然后添加密码保护以防止未授权访问。密码默认为 'password'。", "processImages": "处理图像", - "processImagesDesc": "将多个图像文件转换为单个 PDF 文档,然后应用 OCR 技术从图像中提取可搜索文本。" + "processImagesDesc": "将多个图像文件转换为单个 PDF 文档,然后应用 OCR 技术从图像中提取可搜索文本。", + "prePublishSanitization": "发布前净化", + "prePublishSanitizationDesc": "净化流程会移除所有隐藏元数据、JavaScript、嵌入文件与注释,并扁平化表单,以防在将 PDF 发布到网上前发生数据泄露。" } }, + "colorPicker": { + "title": "选择颜色" + }, "common": { "previous": "上一步", "next": "下一步", @@ -4639,7 +4957,13 @@ "used": "已用", "available": "可用", "cancel": "取消", - "preview": "预览" + "preview": "预览", + "close": "关闭", + "done": "完成", + "loading": "正在加载...", + "back": "返回", + "continue": "继续", + "error": "错误" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "添加更多文件...", "selectedFiles": "已选文件", "submit": "添加附件", + "tooltip": { + "header": { + "title": "关于添加附件" + }, + "description": { + "title": "功能说明" + } + }, "results": { "title": "附件结果" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "自定义位置", "details": "详情", - "downloadUnavailable": "此项目不可下载", "invalidUndoData": "无法撤销:操作数据无效", "margin": { "large": "大", @@ -4801,6 +5132,10 @@ "maybeLater": "稍后再说", "dontShowAgain": "不再提示" }, + "welcomeSlide": { + "title": "欢迎使用 Stirling", + "body": "Stirling PDF 现已适用于各类规模的团队。本次更新包含全新布局、更强大的管理员能力,以及呼声最高的功能 - 编辑文本。" + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "让我们选择 裁剪 工具来演示如何使用其中一个工具。", "toolInterface": "这是 裁剪 工具界面。如您所见,因为我们还没有添加任何要处理的 PDF 文件,所以这里内容不多。", @@ -4823,7 +5158,39 @@ "next": "下一步", "finish": "完成", "startTour": "开始导览", - "startTourDescription": "带您了解 Stirling PDF 的关键功能" + "startTourDescription": "带您了解 Stirling PDF 的关键功能", + "buttons": { + "next": "下一步 →", + "back": "返回", + "skipForNow": "暂时跳过", + "download": "下载 →", + "showMeAround": "带我看看", + "skipTheTour": "跳过引导" + }, + "serverLicense": { + "skip": "暂时跳过", + "seePlans": "查看方案 →", + "upgrade": "立即升级 →", + "freeTitle": "服务器许可证", + "overLimitTitle": "需要服务器许可证", + "overLimitBody": "我们的许可每台服务器最多允许 {{freeTierLimit}} 名用户免费使用。您共有 {{overLimitUserCopy}} 名 Stirling 用户。为避免中断,请升级到 Stirling Server 方案 - 无限席位、PDF 文本编辑,以及每台服务器 $99/月 的完整管理员控制。", + "freeBody": "我们的 开源内核(Open-Core) 许可允许每台服务器最多 {{freeTierLimit}} 名用户免费使用。为顺畅扩展并抢先体验全新的 PDF 文本编辑工具,我们推荐 Stirling Server 方案 - 完整编辑与 无限席位,$99/服务器/月。" + }, + "desktopInstall": { + "title": "下载", + "titleWithOs": "适用于 {{osLabel}} 的下载", + "body": "Stirling 作为桌面应用效果最佳。可离线使用、更快访问文档,并在本机进行编辑。" + }, + "planOverview": { + "adminTitle": "管理员概览", + "userTitle": "方案概览", + "adminBodyLoginEnabled": "作为管理员,您可以管理用户、配置设置并监控服务器健康状况。服务器上的前 {{freeTierLimit}} 位用户可免费使用 Stirling。", + "adminBodyLoginDisabled": "启用登录模式后,您可以管理用户、配置设置并监控服务器健康状况。服务器上的前 {{freeTierLimit}} 位用户可免费使用 Stirling。", + "userBody": "邀请队友、分配角色,并在一个安全的工作区中整理文档。准备扩大规模时,可随时启用登录模式。" + }, + "securityCheck": { + "message": "应用近期发生重大变更,可能需要服务器管理员留意。请确认您的角色以继续。" + } }, "adminOnboarding": { "welcome": "欢迎使用 管理员导览!让我们一起探索提供给系统管理员的强大企业功能和设置。", @@ -4852,7 +5219,10 @@ "role": "角色", "team": "团队", "status": "状态", - "actions": "操作", + "actions": { + "label": "操作", + "upgrade": "升级" + }, "noMembersFound": "未找到成员", "active": "活跃", "disabled": "已禁用", @@ -4964,7 +5334,8 @@ "slotsAvailable": "可用用户席位 {{count}} 个", "noSlotsAvailable": "无可用席位", "currentUsage": "当前使用 {{current}} / {{max}} 个用户许可证" - } + }, + "loginRequired": "请先启用登录模式" }, "teams": { "title": "团队", @@ -5057,6 +5428,17 @@ "showComparison": "比较全部功能", "hideComparison": "隐藏功能对比", "featureComparison": "功能对比", + "from": "起价", + "perMonth": "/月", + "perSeat": "/席位", + "withServer": "+ 服务器方案", + "licensedSeats": "已授权:{{count}} 个席位", + "includedInCurrent": "已包含在您的方案中", + "selectPlan": "选择方案", + "manage": "管理", + "manageSubscription": { + "description": "管理您的订阅、账单与支付方式" + }, "activePlan": { "title": "当前套餐", "subtitle": "您当前的订阅详情" @@ -5074,13 +5456,16 @@ "upTo": "最多" }, "period": { - "month": "月" + "month": "月", + "perUserPerMonth": "/用户/月" }, "free": { "name": "免费", "highlight1": "每周工具使用次数有限", "highlight2": "可使用所有工具", - "highlight3": "社区支持" + "highlight3": "社区支持", + "forever": "永久免费", + "included": "已包含" }, "pro": { "name": "专业版", @@ -5092,7 +5477,9 @@ "name": "企业版", "highlight1": "定制定价", "highlight2": "专属支持", - "highlight3": "最新功能" + "highlight3": "最新功能", + "requiresServer": "需要服务器", + "requiresServerMessage": "请先升级到服务器方案,再升级到企业版。" }, "feature": { "title": "功能", @@ -5102,6 +5489,12 @@ "api": "API 访问", "priority": "优先支持", "customPricing": "定制定价" + }, + "licenseWarning": { + "title": "自托管免费额度已达上限", + "body": "您有 {{total}} 名用户,但免费层每台服务器仅支持 {{limit}} 名。升级以保持 Stirling PDF 平稳运行。", + "overLimit": "超过 {{limit}}", + "cta": "查看方案" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "管理账单", "portal": { "error": "打开账单门户失败" - } + }, + "updateSeats": "更新席位数", + "updateEnterpriseSeats": "更新企业席位数", + "currentSeats": "当前席位数", + "minimumSeats": "最少席位数", + "basedOnUsers": "(当前用户)", + "newSeatCount": "新的席位数", + "newSeatCountDescription": "选择企业许可证的席位数量", + "whatHappensNext": "接下来会发生什么?", + "stripePortalRedirect": "将跳转到 Stripe 的结算门户以查看并确认席位变更。按比例金额会自动计算。", + "preparingUpdate": "正在准备席位更新...", + "seatCountTooLow": "席位数至少为 {{minimum}}(当前用户数)", + "seatCountUnchanged": "请选择不同的席位数", + "seatsUpdated": "席位数已更新", + "seatsUpdatedMessage": "您的企业席位数已更新为 {{seats}}", + "updateProcessing": "正在处理更新", + "updateProcessingMessage": "席位更新处理中。请稍后刷新。", + "notEnterprise": "仅企业许可证可管理席位" + }, + "upgradeBanner": { + "title": "升级到服务器方案", + "message": "充分利用 Stirling PDF,享受无限用户与高级功能", + "upgradeButton": "立即升级", + "dismiss": "关闭横幅", + "attentionTitle": "此服务器需要管理员关注", + "attentionBody": "管理员需要登录以查看更多信息。请立即联系他们。", + "attentionBodyAdmin": "查看许可要求以保持此服务器合规。", + "seeInfo": "查看信息" }, "payment": { "preparing": "正在准备结账...", @@ -5128,7 +5548,61 @@ "success": "支付成功!", "successMessage": "您的订阅已成功激活。您很快会收到确认邮件。", "autoClose": "此窗口将自动关闭...", - "error": "支付错误" + "error": "支付错误", + "upgradeSuccess": "支付成功!您的订阅已升级。许可证已在服务器上更新。稍后您将收到确认邮件。", + "paymentSuccess": "支付成功!正在获取您的许可证密钥...", + "licenseActivated": "许可证已激活!您的许可证密钥已保存。确认邮件已发送至您的注册邮箱。", + "licenseDelayed": "支付成功!正在生成您的许可证。您将很快收到包含许可证密钥的邮件。若 10 分钟内未收到,请联系支持。", + "licensePollingError": "支付成功,但我们未能自动获取您的许可证密钥。请检查邮箱或携带支付确认联系支持。", + "licenseRetrievalError": "支付成功但获取许可证失败。您将通过邮件收到许可证密钥。如 10 分钟内未收到,请联系支持。", + "syncError": "支付成功但许可证同步失败。您的许可证将很快更新。如问题持续,请联系支持。", + "licenseSaveError": "保存许可证密钥失败。请联系支持,使用您的许可证密钥完成激活。", + "paymentCanceled": "已取消支付。未产生任何费用。", + "syncingLicense": "正在同步已升级的许可证...", + "generatingLicense": "正在生成许可证密钥...", + "upgradeComplete": "升级完成", + "upgradeCompleteMessage": "您的订阅已成功升级。现有许可证密钥已更新。", + "stripeNotConfigured": "未配置 Stripe", + "stripeNotConfiguredMessage": "未配置 Stripe 支付集成。请联系您的管理员。", + "monthly": "按月", + "yearly": "按年", + "billingPeriod": "计费周期", + "enterpriseNote": "席位可在结账时调整(1-1000)。", + "installationId": "安装 ID", + "licenseKey": "您的许可证密钥", + "licenseInstructions": "已添加到您的安装中。您也会收到一封邮件副本。", + "canCloseWindow": "现在可以关闭此窗口。", + "licenseKeyProcessing": "许可证密钥处理中", + "licenseDelayedMessage": "正在生成您的许可证密钥。请稍后检查邮箱或联系支持。", + "perYear": "/年", + "perMonth": "/月", + "emailInvalid": "请输入有效的电子邮件地址", + "emailStage": { + "title": "输入您的邮箱", + "description": "我们将用它发送许可证密钥和收据。", + "emailLabel": "电子邮件地址", + "emailPlaceholder": "your@email.com", + "continue": "继续", + "modalTitle": "开始 - {{planName}}" + }, + "planStage": { + "title": "选择计费周期", + "savingsNote": "按年计费可省 {{percent}}%", + "basePrice": "基础价格", + "seatPrice": "每席位", + "totalForSeats": "合计({{count}} 个席位)", + "selectMonthly": "选择按月", + "selectYearly": "选择按年", + "savePercent": "省 {{percent}}%", + "savingsAmount": "可省 {{amount}}", + "modalTitle": "选择计费周期 - {{planName}}", + "billedYearly": "按年计费:{{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "返回方案选择", + "selectedPlan": "已选方案", + "modalTitle": "完成支付 - {{planName}}" + } }, "firstLogin": { "title": "首次登录", @@ -5287,5 +5761,281 @@ "offline": "后端离线", "starting": "后端正在启动...", "wait": "请等待后端启动完成后再试。" + }, + "encryptedPdfUnlock": { + "unlockPrompt": "解锁 PDF 以继续", + "title": "移除密码以继续", + "description": "此 PDF 受密码保护。请输入密码以继续处理。", + "password": { + "label": "PDF 密码", + "placeholder": "输入 PDF 密码" + }, + "skip": "暂时跳过", + "unlock": "解锁并继续", + "incorrectPassword": "密码错误", + "missingFile": "所选文件已不可用。", + "emptyResponse": "移除密码未生成文件。", + "required": "请输入密码以继续。", + "successTitle": "已移除密码", + "successBodyWithName": "已从 {{fileName}} 移除密码", + "successBody": "密码移除成功。" + }, + "setup": { + "welcome": "欢迎使用 Stirling PDF", + "description": "选择您希望使用 Stirling PDF 的方式开始", + "step1": { + "label": "选择模式", + "description": "离线或服务器" + }, + "step2": { + "label": "选择服务器", + "description": "自托管服务器" + }, + "step3": { + "label": "登录", + "description": "输入凭据" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "使用 Stirling 账户登录" + }, + "selfhosted": { + "title": "自托管服务器", + "description": "连接到您自己的 Stirling PDF 服务器" + } + }, + "saas": { + "title": "登录 Stirling", + "subtitle": "使用您的 Stirling 账户登录" + }, + "selfhosted": { + "title": "登录服务器", + "subtitle": "输入您的服务器凭据" + }, + "server": { + "title": "连接到服务器", + "subtitle": "输入自托管服务器的 URL", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "自托管服务器" + }, + "url": { + "label": "服务器 URL", + "description": "输入自托管 Stirling PDF 服务器的完整 URL" + }, + "error": { + "emptyUrl": "请输入服务器 URL", + "unreachable": "无法连接到服务器", + "testFailed": "连接测试失败" + }, + "testing": "正在测试连接..." + }, + "login": { + "title": "登录", + "subtitle": "输入凭据以继续", + "connectingTo": "正在连接:", + "username": { + "label": "用户名", + "placeholder": "输入用户名" + }, + "email": { + "label": "邮箱", + "placeholder": "输入邮箱" + }, + "password": { + "label": "密码", + "placeholder": "输入密码" + }, + "error": { + "emptyUsername": "请输入用户名", + "emptyEmail": "请输入邮箱", + "emptyPassword": "请输入密码", + "oauthFailed": "OAuth 登录失败。请重试。" + }, + "submit": "登录", + "signInWith": "登录方式", + "oauthPending": "正在打开浏览器进行认证...", + "orContinueWith": "或使用邮箱继续" + } + }, + "oauth": { + "success": { + "title": "认证成功", + "message": "您可以关闭此窗口并返回 Stirling PDF。" + }, + "error": { + "title": "认证失败", + "message": "认证未成功。您可以关闭此窗口并重试。" + } + }, + "pdfTextEditor": { + "title": "PDF JSON 编辑器", + "viewLabel": "PDF 编辑器", + "converting": "正在将 PDF 转换为可编辑格式...", + "conversionFailed": "PDF 转换失败。请重试。", + "currentFile": "当前文件:{{name}}", + "pageSummary": "第 {{number}}/{{total}} 页", + "pagePreviewAlt": "页面预览", + "imageLabel": "已放置的图像", + "noTextOnPage": "此页未检测到可编辑文本。", + "pageType": { + "paragraph": "段落页面", + "sparse": "稀疏文本" + }, + "groupingMode": { + "auto": "自动", + "paragraph": "段落", + "singleLine": "单行" + }, + "badges": { + "unsaved": "已编辑", + "modified": "已编辑", + "earlyAccess": "抢先体验" + }, + "actions": { + "reset": "重置更改", + "downloadJson": "下载 JSON", + "generatePdf": "生成 PDF" + }, + "options": { + "autoScaleText": { + "title": "自动缩放文本以适配框", + "description": "当字体渲染与 PDF 不一致时,自动水平缩放文本以适配其原始边界框。" + }, + "groupingMode": { + "title": "文本分组模式", + "autoDescription": "自动检测页面类型并进行合适的分组。", + "paragraphDescription": "将对齐的多行合并为段落文本框。", + "singleLineDescription": "保持每行 PDF 文本为一个独立文本框。" + }, + "manualGrouping": { + "descriptionInline": "提示:按住 Ctrl(或 Cmd)或 Shift 可多选文本框。选择上方会出现浮动工具栏,可用于合并、取消分组或调整宽度。" + }, + "forceSingleElement": { + "title": "将已编辑文本锁定为单个 PDF 元素", + "description": "启用后,导出时每个已编辑文本框将作为一个 PDF 文本元素,以避免字形重叠或字体混杂。" + } + }, + "manual": { + "mergeTooltip": "合并所选框", + "merge": "合并所选", + "ungroupTooltip": "将段落拆分回多行", + "ungroup": "取消分组所选", + "widthMenu": "宽度选项", + "expandWidth": "扩展至页面边缘", + "resetWidth": "重置宽度", + "resizeHandle": "调整文本宽度" + }, + "disclaimer": { + "heading": "预览限制", + "textFocus": "此工作区专注于编辑文本与重新定位嵌入图像。复杂的页面美术、表单控件和分层图形会在导出时保留,但此处不可完全编辑。", + "previewVariance": "某些视觉元素(如表格边框、形状或注释外观)在预览中可能与实际不完全一致。导出的 PDF 会尽可能保留原始绘图指令。", + "alpha": "此 Alpha 预览器仍在演进中——某些字体、颜色、透明效果和布局细节可能略有变化。分享前请仔细检查生成的 PDF。" + }, + "empty": { + "title": "未加载文档", + "subtitle": "加载 PDF 或 JSON 文件以开始编辑文本内容。" + }, + "welcomeBanner": { + "title": "欢迎使用 PDF 文本编辑器(抢先体验)", + "experimental": "这是一个正在积极开发中的实验性功能,使用过程中可能会出现不稳定和问题。", + "howItWorks": "此工具会将你的 PDF 转换为可编辑格式,你可以修改文本内容并重新定位图像。更改将另存为新的 PDF。", + "bestFor": "最适合:", + "bestFor1": "以文本和图像为主的简单 PDF", + "bestFor2": "使用标准段落格式的文档", + "bestFor3": "信件、文章、报告等基础文档", + "notIdealFor": "不适用于:", + "notIdealFor1": "包含特殊格式(如项目符号、表格或多栏布局)的 PDF", + "notIdealFor2": "杂志、宣传册或设计感很强的文档", + "notIdealFor3": "布局复杂的说明手册", + "limitations": "当前限制:", + "limitation1": "字体呈现可能与原始 PDF 略有差异", + "limitation2": "复杂图形、表单字段和注释会被保留,但不可编辑", + "limitation3": "大型文件转换和处理可能需要时间", + "knownIssues": "已知问题(修复中):", + "issue1": "目前不保留文本颜色(即将支持)", + "issue2": "段落模式存在更多对齐和间距问题—建议使用单行模式", + "issue3": "预览显示与导出的 PDF 略有差异—导出的 PDF 更接近原始文件", + "issue4": "旋转文本的对齐可能需要手动调整", + "issue5": "透明度和图层效果可能与原件不同", + "feedback": "这是一个抢先体验功能。请反馈遇到的任何问题,帮助我们改进!", + "gotIt": "知道了", + "dontShowAgain": "不再显示" + }, + "modeChange": { + "title": "确认更改模式", + "warning": "更改文本分组模式将重置所有未保存的更改。确定要继续吗?", + "cancel": "取消", + "confirm": "重置并更改模式" + }, + "fontAnalysis": { + "details": "字体详情", + "embedded": "已嵌入", + "type": "类型", + "webFormat": "Web 格式", + "warnings": "警告", + "suggestions": "备注", + "currentPageFonts": "本页字体", + "allFonts": "所有字体", + "fallback": "后备", + "missing": "缺失", + "perfectMessage": "所有字体都可完美还原。", + "warningMessage": "部分字体可能无法正确呈现。", + "infoMessage": "提供字体还原信息。", + "perfect": "完美", + "subset": "子集" + }, + "errors": { + "invalidJson": "无法读取 JSON 文件。请确认它由 PDF 转 JSON 工具生成。", + "pdfConversion": "无法将已编辑的 JSON 转回 PDF。" + } + }, + "auth": { + "sessionExpired": "会话已过期", + "pleaseLoginAgain": "请重新登录。", + "accessDenied": "拒绝访问", + "insufficientPermissions": "你没有执行此操作的权限。" + }, + "addText": { + "title": "添加文本", + "header": "向 PDF 添加文本", + "text": { + "name": "文本内容", + "placeholder": "输入要添加的文本", + "fontLabel": "字体", + "fontSizeLabel": "字号", + "fontSizePlaceholder": "输入或选择字号(8-200)", + "colorLabel": "文本颜色" + }, + "steps": { + "configure": "配置文本" + }, + "step": { + "createDesc": "输入要添加的文本", + "place": "放置文本", + "placeDesc": "在 PDF 上点击以添加文本" + }, + "instructions": { + "title": "如何添加文本", + "text": "在上方输入文本后,在 PDF 任意位置点击以放置。", + "paused": "放置已暂停", + "resumeHint": "恢复放置后即可点击添加文本。", + "noSignature": "在上方输入文本以启用放置。" + }, + "mode": { + "move": "移动文本", + "place": "放置文本", + "pause": "暂停放置", + "resume": "恢复放置" + }, + "results": { + "title": "添加文本结果" + }, + "error": { + "failed": "向 PDF 添加文本时发生错误。" + }, + "tags": "文本,注释,标签", + "applySignatures": "应用文本" } } \ No newline at end of file diff --git a/frontend/public/locales/zh-CN/translation.json b/frontend/public/locales/zh-CN/translation.json index e4f7e4dc8..62aa7c93c 100644 --- a/frontend/public/locales/zh-CN/translation.json +++ b/frontend/public/locales/zh-CN/translation.json @@ -17,6 +17,8 @@ "comingSoon": "即将推出:", "favorite": "添加到收藏", "favorites": "收藏", + "unavailable": "由服务器管理员禁用:", + "unavailableDependency": "不可用 - 服务器缺少所需工具:", "heading": "所有工具(全屏视图)", "noResults": "尝试调整搜索或切换描述显示以找到所需内容。", "recommended": "推荐", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "切换到全屏模式", "sidebar": "切换到侧边栏模式" - } + }, + "alpha": "Alpha", + "premiumFeature": "高级功能:", + "comingSoon": "即将推出:" }, "unsavedChanges": "您的 PDF 有未保存的更改。您想做什么?", "areYouSure": "确定要离开吗?", @@ -41,6 +46,30 @@ "cancel": "取消", "confirm": "解压" }, + "defaultApp": { + "title": "设为默认 PDF 应用", + "message": "是否将 Stirling PDF 设为默认 PDF 编辑器?", + "description": "您可稍后在系统设置中更改。", + "notNow": "暂不", + "setDefault": "设为默认", + "dismiss": "忽略", + "prompt": { + "title": "设为默认 PDF 编辑器", + "message": "将 Stirling PDF 设为打开 PDF 文件的默认应用。" + }, + "success": { + "title": "已设为默认应用", + "message": "Stirling PDF 现为您的默认 PDF 编辑器" + }, + "settingsOpened": { + "title": "已打开设置", + "message": "请在系统设置中选择 Stirling PDF" + }, + "error": { + "title": "错误", + "message": "设置默认 PDF 处理程序失败" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "保存", "saveToBrowser": "保存到浏览器", "download": "下载", + "downloadUnavailable": "此项不支持下载", + "saveUnavailable": "此项目无法保存", "pin": "固定文件(在工具运行后保持激活)", "unpin": "取消固定文件(在工具运行后替换)", "undoOperationTooltip": "点击撤销上一次操作并还原原始文件", @@ -168,6 +199,7 @@ }, "edit": "编辑", "delete": "删除", + "never": "从不", "username": "用户名", "password": "密码", "welcome": "欢迎", @@ -262,7 +294,8 @@ "learnMore": "了解详情", "enable": "启用分析功能", "disable": "禁用分析功能", - "settings": "您可以在 config/settings.yml 文件中变更分析功能的设定" + "settings": "您可以在 config/settings.yml 文件中变更分析功能的设定", + "privacyAssurance": "我们不会跟踪任何个人信息或您的文件内容。" }, "navbar": { "favorite": "收藏", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "设置", - "update": "有可用的更新", - "updateAvailable": "当前版本为 {0},新版本 ({1}) 可用。", - "appVersion": "应用程序版本:", - "downloadOption": { - "title": "选择下载选项(单个文件非压缩文件):", - "1": "在同一窗口打开", - "2": "在新窗口中打开", - "3": "下载文件" - }, - "zipThreshold": "当下载的文件数量超过限制时,将文件压缩。", - "signOut": "登出", - "accountSettings": "账号设定", - "bored": { - "help": "启用彩蛋游戏" - }, - "cacheInputs": { - "name": "保存表单输入", - "help": "保存先前输入以供日后使用" + "connection": { + "title": "连接模式", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "自托管" + }, + "server": "服务器", + "user": "登录身份", + "logout": "退出登录" }, "general": { "title": "通用", "description": "配置通用应用偏好。", - "account": "账户", - "accountDescription": "管理您的账户设置", "user": "用户", - "signedInAs": "登录身份", "logout": "退出登录", "enableFeatures": { + "dismiss": "关闭", "title": "面向系统管理员", "intro": "为您的组织启用用户认证、团队管理和工作区功能。", "action": "配置", "and": "和", "benefit": "启用用户角色、团队协作、管理员控制和企业功能。", - "learnMore": "在文档中了解更多", - "dismiss": "关闭" + "learnMore": "在文档中了解更多" }, - "autoUnzip": "自动解压 API 响应", - "autoUnzipDescription": "自动从 ZIP 响应中提取文件", - "autoUnzipTooltip": "自动解压 API 操作返回的 ZIP 文件。禁用以保持 ZIP 文件不变。这不会影响自动化工作流。", - "autoUnzipFileLimit": "自动解压文件数量上限", - "autoUnzipFileLimitDescription": "从 ZIP 中提取的最大文件数", - "autoUnzipFileLimitTooltip": "仅当 ZIP 包含不超过此数量的文件时才解压。调高以提取更大的 ZIP。", "defaultToolPickerMode": "默认工具选择器模式", "defaultToolPickerModeDescription": "选择工具选择器默认以全屏或侧边栏打开", "mode": { - "fullscreen": "全屏", - "sidebar": "侧边栏" - } + "sidebar": "侧边栏", + "fullscreen": "全屏" + }, + "autoUnzipTooltip": "自动解压 API 操作返回的 ZIP 文件。禁用以保持 ZIP 文件不变。这不会影响自动化工作流。", + "autoUnzip": "自动解压 API 响应", + "autoUnzipDescription": "自动从 ZIP 响应中提取文件", + "autoUnzipFileLimitTooltip": "仅当 ZIP 包含不超过此数量的文件时才解压。调高以提取更大的 ZIP。", + "autoUnzipFileLimit": "自动解压文件数量上限", + "autoUnzipFileLimitDescription": "从 ZIP 中提取的最大文件数", + "defaultPdfEditor": "默认 PDF 编辑器", + "defaultPdfEditorActive": "Stirling PDF 是您的默认 PDF 编辑器", + "defaultPdfEditorInactive": "其他应用被设为默认", + "defaultPdfEditorChecking": "正在检查...", + "defaultPdfEditorSet": "已为默认", + "setAsDefault": "设为默认", + "updates": { + "title": "软件更新", + "description": "检查更新并查看版本信息", + "currentVersion": "当前版本", + "latestVersion": "最新版本", + "checkForUpdates": "检查更新", + "viewDetails": "查看详情" + }, + "hideUnavailableTools": "隐藏不可用工具", + "hideUnavailableToolsDescription": "将服务器禁用的工具从列表中移除,而非灰显显示。", + "hideUnavailableConversions": "隐藏不可用转换", + "hideUnavailableConversionsDescription": "在“转换”工具中移除已禁用的转换选项,而非灰显显示。" }, "hotkeys": { - "title": "键盘快捷键", - "description": "将鼠标悬停在工具上查看其快捷键,或在下方自定义。点击“更改快捷键”,然后按新的组合键。按 Esc 取消。", - "errorModifier": { - "mac": "请在快捷键中包含 ⌘(Command)、⌥(Option)或其他修饰键。", - "windows": "请在快捷键中包含 Ctrl、Alt 或其他修饰键。" - }, "errorConflict": "快捷键已被 {{tool}} 使用。", + "searchPlaceholder": "搜索工具...", "none": "未分配", "customBadge": "自定义", "defaultLabel": "默认:{{shortcut}}", @@ -349,10 +382,40 @@ "change": "更改快捷键", "reset": "重置", "shortcut": "快捷键", - "noShortcut": "未设置快捷键", - "searchPlaceholder": "搜索工具..." + "noShortcut": "未设置快捷键" } }, + "update": { + "modalTitle": "有可用更新", + "current": "当前版本", + "latest": "最新版本", + "latestStable": "最新稳定版", + "priorityLabel": "优先级", + "recommendedAction": "建议操作", + "breakingChangesDetected": "检测到重大变更", + "breakingChangesMessage": "某些版本包含重大变更。请在更新前查看下方迁移指南。", + "migrationGuides": "迁移指南", + "viewGuide": "查看指南", + "loadingDetailedInfo": "正在加载详细信息...", + "close": "关闭", + "viewAllReleases": "查看所有版本", + "downloadLatest": "下载最新", + "availableUpdates": "可用更新", + "unableToLoadDetails": "无法加载详细信息。", + "version": "版本", + "urgentUpdateAvailable": "紧急更新", + "updateAvailable": "有可用更新", + "releaseNotes": "发行说明", + "priority": { + "urgent": "紧急", + "normal": "正常", + "minor": "次要", + "low": "低" + }, + "breakingChanges": "重大变更", + "breakingChangesDefault": "此版本包含重大变更。", + "migrationGuide": "迁移指南" + }, "changeCreds": { "title": "更改凭证", "header": "更新您的账户详情", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "将一个 PDF 叠加在另一个之上", "title": "叠加 PDF" + }, + "pdfTextEditor": { + "title": "PDF 文本编辑器", + "desc": "审阅并编辑 Stirling PDF 导出的 JSON,支持分组文本编辑并重新生成 PDF" + }, + "addText": { + "tags": "文本,注释,标签", + "title": "添加文本", + "desc": "在 PDF 任意位置添加自定义文本" } }, "landing": { "addFiles": "添加文件", - "uploadFromComputer": "从电脑上传" + "uploadFromComputer": "从电脑上传", + "openFromComputer": "从电脑打开" }, "viewPdf": { "tags": "浏览、阅读、注释、文本、图像", @@ -849,6 +922,11 @@ }, "error": { "failed": "合并 PDF 时发生错误。" + }, + "tooltip": { + "header": { + "title": "合并设置概览" + } } }, "split": { @@ -1182,9 +1260,43 @@ "tags": "图像、JPG、图片、照片", "title": "添加图像", "header": "添加图片到 PDF", - "everyPage": "每一页?", - "upload": "添加图片", - "submit": "添加图片" + "image": { + "name": "图片", + "placeholder": "上传图片", + "label": "图片文件" + }, + "steps": { + "configure": "配置图片" + }, + "step": { + "createDesc": "上传要添加的图片", + "place": "放置图片", + "placeDesc": "在 PDF 上点击以添加图片" + }, + "instructions": { + "title": "如何添加图片", + "text": "在上方上传图片后,点击 PDF 任意位置进行放置。", + "paused": "放置已暂停", + "resumeHint": "继续放置后点击添加图片。", + "noSignature": "请先在上方上传图片以启用放置。" + }, + "mode": { + "move": "移动图片", + "place": "放置图片", + "pause": "暂停放置", + "resume": "继续放置" + }, + "results": { + "title": "添加图片结果" + }, + "error": { + "failed": "向 PDF 添加图片时发生错误。" + }, + "saved": { + "defaultLabel": "图片", + "defaultImageLabel": "已上传图片" + }, + "applySignatures": "应用图片" }, "attachments": { "tags": "嵌入、附件、文件、附加", @@ -1397,6 +1509,93 @@ }, "submit": "改变" }, + "editTableOfContents": { + "settings": { + "title": "书签与大纲", + "replaceExisting": "替换现有书签(取消勾选则追加)", + "replaceExistingHint": "禁用时,新大纲将追加在当前书签之后。" + }, + "actions": { + "source": "加载书签", + "selectedFile": "已从 {{file}} 加载", + "noFile": "选择一个 PDF 以提取现有书签。", + "loadFromPdf": "从所选 PDF 加载", + "importJson": "导入 JSON", + "importClipboard": "从剪贴板粘贴 JSON", + "export": "导出书签", + "exportJson": "下载 JSON", + "exportClipboard": "复制 JSON 到剪贴板", + "clipboardUnavailable": "此浏览器不支持访问剪贴板。" + }, + "info": { + "line1": "每个书签需要描述性标题和打开的目标页。", + "line2": "使用子书签为章、节或小节构建层级结构。", + "line3": "从所选 PDF 或 JSON 文件导入书签以节省时间。" + }, + "workbench": { + "empty": { + "title": "打开工具开始编辑", + "description": "选择“编辑目录”工具以加载其工作区。" + }, + "tabTitle": "大纲工作区", + "subtitle": "导入书签、构建层级,并在无需狭窄侧栏的情况下应用大纲。", + "noFile": "未选择 PDF", + "fileLabel": "更改将应用于当前选中的 PDF。", + "filePrompt": "从库中选择 PDF 或上传新文件开始。", + "changeFile": "更换 PDF", + "selectFile": "选择 PDF" + }, + "editor": { + "heading": "书签编辑器", + "description": "添加、嵌套并重排书签,以创建 PDF 大纲。", + "addTopLevel": "添加顶级书签", + "empty": { + "title": "尚无书签", + "description": "导入现有书签或从添加首个条目开始。", + "action": "添加首个书签" + }, + "defaultTitle": "新书签", + "defaultChildTitle": "子书签", + "defaultSiblingTitle": "新书签", + "untitled": "未命名书签", + "childBadge": "子项", + "pagePreview": "第 {{page}} 页", + "field": { + "title": "书签标题", + "page": "目标页码" + }, + "actions": { + "toggle": "切换子项", + "addChild": "添加子书签", + "addSibling": "添加同级书签", + "remove": "移除书签" + }, + "confirmRemove": "移除此书签及其所有子项?" + }, + "messages": { + "loadedTitle": "已提取书签", + "loadedBody": "已将 PDF 中的现有书签到编辑器中。", + "noBookmarks": "所选 PDF 中未找到书签。", + "loadFailed": "无法从所选 PDF 提取书签。", + "imported": "已导入书签", + "importedBody": "您的 JSON 大纲已替换当前编辑器内容。", + "importedClipboard": "剪贴板数据已替换当前书签列表。", + "invalidJson": "无效的 JSON 结构", + "invalidJsonBody": "请提供有效的书签 JSON 文件并重试。", + "exported": "JSON 下载就绪", + "copied": "已复制到剪贴板", + "copiedBody": "书签 JSON 复制成功。", + "copyFailed": "复制失败" + }, + "error": { + "failed": "更新目录失败" + }, + "submit": "应用目录", + "results": { + "title": "已更新含书签的 PDF", + "subtitle": "在下方下载处理后的文件或撤销操作。" + } + }, "removePages": { "tags": "删除页面、删除", "title": "删除", @@ -1669,8 +1868,8 @@ "trapped": { "label": "陷印状态", "unknown": "未知", - "true": "True", - "false": "False" + "true": "是", + "false": "否" }, "advanced": { "title": "高级选项" @@ -1978,13 +2177,54 @@ "title": "绘制您的签名", "clear": "清除" }, + "canvas": { + "heading": "绘制您的签名", + "clickToOpen": "点击打开绘制画布", + "modalTitle": "绘制您的签名", + "colorLabel": "颜色", + "penSizeLabel": "笔粗", + "penSizePlaceholder": "大小", + "clear": "清空画布", + "colorPickerTitle": "选择笔画颜色" + }, "text": { "name": "签署人姓名", - "placeholder": "输入您的全名" + "placeholder": "输入您的全名", + "fontLabel": "字体", + "fontSizeLabel": "字号", + "fontSizePlaceholder": "输入或选择字号 (8-200)", + "colorLabel": "文本颜色" }, "clear": "清除", "add": "添加", - "saved": "已保存签名", + "saved": { + "heading": "已保存的签名", + "description": "随时复用已保存的签名。", + "emptyTitle": "暂无已保存签名", + "emptyDescription": "在上方手写、上传或输入签名,然后使用“保存到库”以保留最多 {{max}} 个常用项以便使用。", + "type": { + "canvas": "手写", + "image": "上传", + "text": "文本" + }, + "limitTitle": "已达上限", + "limitDescription": "添加新签名前请先删除一个已保存的签名(最多 {{max}} 个)。", + "carouselPosition": "{{current}} / {{total}}", + "prev": "上一项", + "next": "下一项", + "delete": "移除", + "label": "标签", + "defaultLabel": "签名", + "defaultCanvasLabel": "手写签名", + "defaultImageLabel": "已上传签名", + "defaultTextLabel": "键入签名", + "saveButton": "保存签名", + "saveUnavailable": "请先创建签名再保存。", + "noChanges": "当前签名已保存。", + "status": { + "saved": "已保存" + } + }, "save": "保存签名", "applySignatures": "应用签名", "personalSigs": "个人签名", @@ -2003,12 +2243,18 @@ "steps": { "configure": "配置签名" }, + "step": { + "createDesc": "选择创建签名的方式", + "place": "放置并保存", + "placeDesc": "将签名放置到 PDF 上" + }, "type": { "title": "签名类型", "draw": "绘制", "canvas": "画布", "image": "图像", - "text": "文本" + "text": "文本", + "saved": "已保存" }, "image": { "label": "上传签名图像", @@ -2019,11 +2265,17 @@ "title": "如何添加签名", "canvas": "在画布中绘制签名后,关闭弹窗,然后在 PDF 上任意位置点击以放置。", "image": "在上方上传您的签名图像后,在 PDF 上任意位置点击以放置。", - "text": "在上方输入您的姓名后,在 PDF 上任意位置点击以放置签名。" + "saved": "在上方选择一个已保存的签名,然后在 PDF 任意位置点击以放置。", + "text": "在上方输入您的姓名后,在 PDF 上任意位置点击以放置签名。", + "paused": "放置已暂停", + "resumeHint": "继续放置后点击添加签名。", + "noSignature": "请先在上方创建签名以启用放置工具。" }, "mode": { "move": "移动签名", - "place": "放置签名" + "place": "放置签名", + "pause": "暂停放置", + "resume": "继续放置" }, "updateAndPlace": "更新并放置", "activate": "激活签名放置", @@ -2163,6 +2415,14 @@ "title": "关于删除注释", "description": "此工具将从您的 PDF 文档中删除所有注释(评论、高亮、笔记等)。" }, + "tooltip": { + "header": { + "title": "关于移除注释" + }, + "description": { + "title": "功能说明" + } + }, "error": { "failed": "从 PDF 删除注释时发生错误。" } @@ -2627,6 +2887,9 @@ "header": { "title": "自动重命名原理" }, + "description": { + "title": "功能说明" + }, "howItWorks": { "title": "智能重命名", "text": "自动从 PDF 内容中查找标题,并将其用作文件名。", @@ -2634,6 +2897,9 @@ "bullet2": "根据检测到的标题创建干净、合法的文件名", "bullet3": "若未找到合适标题,则保留原文件名" } + }, + "settings": { + "title": "关于" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "意外错误:{{message}}", "accountCreatedSuccess": "账户创建成功!现在可以登录。", "passwordChangedSuccess": "密码修改成功!请使用新密码登录。", - "credentialsUpdated": "您的凭据已更新。请重新登录。" + "credentialsUpdated": "您的凭据已更新。请重新登录。", + "defaultCredentials": "默认登录凭据", + "changePasswordWarning": "首次登录后请更改密码", + "slides": { + "overview": { + "alt": "Stirling PDF 概览", + "title": "满足您全部 PDF 需求的一站式平台。", + "subtitle": "面向隐私优先的 PDF 云套件,支持转换、签名、涂黑与管理文档,并提供 50+ 个其他强大工具。" + }, + "edit": { + "alt": "编辑 PDF", + "title": "编辑 PDF,以展示/保护您所需的信息", + "subtitle": "拥有十余种工具,助您涂黑、签名、阅读并处理 PDF,定能满足您的需求。" + }, + "secure": { + "alt": "保护 PDF", + "title": "保护 PDF 中的敏感信息", + "subtitle": "轻松添加密码、涂黑内容并管理证书。" + } + } }, "signup": { "title": "创建账户", @@ -3598,7 +3883,9 @@ "exportAll": "导出 PDF", "downloadSelected": "下载所选文件", "downloadAll": "全部下载", + "saveAll": "全部保存", "toggleTheme": "切换主题", + "toggleBookmarks": "切换书签", "language": "语言", "search": "搜索 PDF", "panMode": "平移模式", @@ -3685,8 +3972,16 @@ "saved": "设置保存成功", "saveSuccess": "设置保存成功", "save": "保存更改", + "discard": "丢弃", "restartRequired": "需要重启", "loginRequired": "必须启用登录模式才能修改管理设置", + "unsavedChanges": { + "title": "未保存的更改", + "message": "您有未保存的更改。要丢弃吗?", + "cancel": "继续编辑", + "discard": "丢弃更改", + "hint": "您有未保存的更改" + }, "loginDisabled": { "title": "需要登录模式", "message": "必须启用登录模式才能修改管理设置。请在环境中设置 SECURITY_ENABLELOGIN=true 或在 settings.yml 中设置 security.enableLogin: true,然后重启服务器。", @@ -4132,12 +4427,12 @@ "description": "最大执行时间" }, "libreOffice": "LibreOffice", - "pdfToHtml": "PDF to HTML", + "pdfToHtml": "PDF 转 HTML", "qpdf": "QPDF", "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", "weasyPrint": "WeasyPrint", - "installApp": "Install App", + "installApp": "安装应用", "calibre": "Calibre", "ghostscript": "Ghostscript", "ocrMyPdf": "OCRmyPDF" @@ -4204,7 +4499,7 @@ "description": "Cookie 政策的 URL 或文件名" }, "impressum": { - "label": "Impressum", + "label": "法律声明", "description": "Impressum 的 URL 或文件名(某些司法辖区要求)" } }, @@ -4212,9 +4507,21 @@ "title": "高级版与企业版", "description": "配置您的高级版或企业版许可证密钥。", "license": "许可证配置", + "licenseKey": { + "toggle": "有许可证密钥或证书文件吗?", + "info": "如果您从直接购买获得了许可证密钥或证书文件,可在此输入以激活高级或企业功能。" + }, "key": { "label": "许可证密钥", - "description": "输入您的高级版或企业版许可证密钥" + "description": "输入您的高级版或企业版许可证密钥", + "success": "许可证密钥已保存", + "successMessage": "您的许可证密钥已成功激活。无需重启。", + "overwriteWarning": { + "title": "⚠️ 警告:检测到现有许可证", + "line1": "覆盖当前许可证密钥后将无法撤销。", + "line2": "除非已在其他位置备份,否则您之前的许可证将被永久丢失。", + "line3": "重要:请妥善保管许可证密钥,切勿公开分享。" + } }, "enabled": { "label": "启用高级功能", @@ -4278,12 +4585,17 @@ "or": "或", "dropFileHere": "将文件拖到此处或点击上传", "dropFilesHere": "将文件拖到此处或点击上传按钮", + "dropFilesHereOpen": "将文件拖到此处或点击打开按钮", "pdfFilesOnly": "仅限 PDF 文件", "supportedFileTypes": "支持的文件类型", "upload": "上传", "uploadFile": "上传文件", "uploadFiles": "上传文件", + "open": "打开", + "openFile": "打开文件", + "openFiles": "打开文件", "noFilesInStorage": "存储中没有可用文件。请先上传。", + "noFilesInStorageOpen": "存储中无可用文件。请先打开一些文件。", "selectFromStorage": "从存储中选择", "backToTools": "返回工具", "addFiles": "添加文件", @@ -4329,6 +4641,8 @@ "myFiles": "我的文件", "noRecentFiles": "未找到最近文件", "googleDriveNotAvailable": "不可使用 Google 云端硬盘集成", + "downloadSelected": "下载所选", + "saveSelected": "保存已选", "openFiles": "打开文件", "openFile": "打开文件", "details": "文件详情", @@ -4341,7 +4655,6 @@ "selectAll": "选择所有", "deselectAll": "取消选择所有", "deleteSelected": "删除已选", - "downloadSelected": "下载所选", "selectedCount": "已选 {{count}}", "download": "下载", "delete": "删除", @@ -4621,9 +4934,14 @@ "secureWorkflow": "安全工作流", "secureWorkflowDesc": "通过移除可能的恶意内容(如 JavaScript 和嵌入文件),再添加密码保护来保护 PDF。默认密码为“password”。", "processImages": "处理图像", - "processImagesDesc": "将多个图像文件合并为一个 PDF,然后应用 OCR 技术从图像中提取可搜索文本。" + "processImagesDesc": "将多个图像文件合并为一个 PDF,然后应用 OCR 技术从图像中提取可搜索文本。", + "prePublishSanitization": "发布前清理", + "prePublishSanitizationDesc": "清理流程将在上线前移除所有隐藏的元数据、JavaScript、嵌入文件、注释,并扁平化表单以防止在线发布 PDF 时的数据泄露。" } }, + "colorPicker": { + "title": "选择颜色" + }, "common": { "previous": "上一页", "next": "下一页", @@ -4639,7 +4957,13 @@ "used": "已用", "available": "可用", "cancel": "取消", - "preview": "预览" + "preview": "预览", + "close": "关闭", + "done": "完成", + "loading": "正在加载...", + "back": "返回", + "continue": "继续", + "error": "错误" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "添加更多文件...", "selectedFiles": "已选择的文件", "submit": "添加附件", + "tooltip": { + "header": { + "title": "关于添加附件" + }, + "description": { + "title": "功能说明" + } + }, "results": { "title": "附件结果" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "自定义位置", "details": "详情", - "downloadUnavailable": "此项不支持下载", "invalidUndoData": "无法撤销:操作数据无效", "margin": { "large": "大", @@ -4801,6 +5132,10 @@ "maybeLater": "稍后再说", "dontShowAgain": "不再显示" }, + "welcomeSlide": { + "title": "欢迎使用 Stirling", + "body": "Stirling PDF 现已准备好为各类规模的团队服务。本次更新包含全新布局、强大的新管理功能,以及呼声最高的功能 - 编辑文本。" + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "让我们选择 裁剪 工具,演示如何使用其中一个工具。", "toolInterface": "这是 裁剪 工具界面。正如您所见,目前内容不多,因为我们还没有添加可处理的 PDF 文件。", @@ -4823,7 +5158,39 @@ "next": "下一步", "finish": "完成", "startTour": "开始导览", - "startTourDescription": "查看 Stirling PDF 的关键功能导览" + "startTourDescription": "查看 Stirling PDF 的关键功能导览", + "buttons": { + "next": "下一步 →", + "back": "返回", + "skipForNow": "暂时跳过", + "download": "下载 →", + "showMeAround": "带我看看", + "skipTheTour": "跳过导览" + }, + "serverLicense": { + "skip": "暂时跳过", + "seePlans": "查看方案 →", + "upgrade": "立即升级 →", + "freeTitle": "服务器许可证", + "overLimitTitle": "需要服务器许可证", + "overLimitBody": "我们的许可允许每台服务器最多免费 {{freeTierLimit}} 名用户。您有 {{overLimitUserCopy}} 名 Stirling 用户。为不间断使用,请升级至 Stirling Server 方案 - 无限席位、PDF 文本编辑,以及 $99/server/mo 的完整管理员控制。", + "freeBody": "我们的 Open-Core 许可允许每台服务器最多免费 {{freeTierLimit}} 名用户。为无缝扩展并抢先体验全新的 PDF 文本编辑工具,推荐 Stirling Server 方案 - 完整编辑与 无限席位,$99/server/mo。" + }, + "desktopInstall": { + "title": "下载", + "titleWithOs": "为 {{osLabel}} 下载", + "body": "Stirling 作为桌面应用效果最佳。可离线使用、更快访问文档,并在电脑本地进行编辑。" + }, + "planOverview": { + "adminTitle": "管理员概览", + "userTitle": "方案概览", + "adminBodyLoginEnabled": "作为管理员,您可以管理用户、配置设置并监控服务器健康。服务器上的前 {{freeTierLimit}} 位用户可免费使用 Stirling。", + "adminBodyLoginDisabled": "启用登录模式后,您可以管理用户、配置设置并监控服务器健康。服务器上的前 {{freeTierLimit}} 位用户可免费使用 Stirling。", + "userBody": "邀请队友、分配角色,并在一个安全的工作区中整理文档。准备好从单人使用扩展时,可随时启用登录模式。" + }, + "securityCheck": { + "message": "应用近期发生重大变更。可能需要您的服务器管理员关注。请确认您的角色以继续。" + } }, "adminOnboarding": { "welcome": "欢迎使用 管理员引导!让我们一起探索提供给系统管理员的强大企业功能和设置。", @@ -4852,7 +5219,10 @@ "role": "角色", "team": "团队", "status": "状态", - "actions": "操作", + "actions": { + "label": "操作", + "upgrade": "升级" + }, "noMembersFound": "未找到成员", "active": "启用", "disabled": "已禁用", @@ -4964,7 +5334,8 @@ "slotsAvailable": "{{count}} 个用户名额可用", "noSlotsAvailable": "没有可用名额", "currentUsage": "当前已使用 {{current}} / {{max}} 个用户许可证" - } + }, + "loginRequired": "请先启用登录模式" }, "teams": { "title": "团队", @@ -5057,6 +5428,17 @@ "showComparison": "比较全部功能", "hideComparison": "隐藏功能对比", "featureComparison": "功能对比", + "from": "起", + "perMonth": "/月", + "perSeat": "/席位", + "withServer": "+ 服务器方案", + "licensedSeats": "许可:{{count}} 席位", + "includedInCurrent": "您的方案已包含", + "selectPlan": "选择方案", + "manage": "管理", + "manageSubscription": { + "description": "管理您的订阅、账单与支付方式" + }, "activePlan": { "title": "当前套餐", "subtitle": "您当前的订阅详情" @@ -5074,13 +5456,16 @@ "upTo": "最多" }, "period": { - "month": "月" + "month": "月", + "perUserPerMonth": "/用户/月" }, "free": { "name": "免费", "highlight1": "每周工具使用次数有限", "highlight2": "可使用所有工具", - "highlight3": "社区支持" + "highlight3": "社区支持", + "forever": "永久免费", + "included": "已包含" }, "pro": { "name": "专业版", @@ -5092,7 +5477,9 @@ "name": "企业版", "highlight1": "自定义定价", "highlight2": "专属支持", - "highlight3": "最新功能" + "highlight3": "最新功能", + "requiresServer": "需服务器", + "requiresServerMessage": "请先升级到服务器方案,再升级到企业版。" }, "feature": { "title": "功能", @@ -5102,6 +5489,12 @@ "api": "API 访问", "priority": "优先支持", "customPricing": "自定义定价" + }, + "licenseWarning": { + "title": "已达自托管免费上限", + "body": "您有 {{total}} 位用户,但免费层每台服务器仅支持 {{limit}} 位。升级以保持 Stirling PDF 顺畅运行。", + "overLimit": "超过 {{limit}}", + "cta": "查看方案" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "管理账单", "portal": { "error": "无法打开计费门户" - } + }, + "updateSeats": "更新席位数", + "updateEnterpriseSeats": "更新企业席位数", + "currentSeats": "当前席位数", + "minimumSeats": "最少席位数", + "basedOnUsers": "(当前用户数)", + "newSeatCount": "新席位数", + "newSeatCountDescription": "选择您的企业许可证席位数量", + "whatHappensNext": "接下来会怎样?", + "stripePortalRedirect": "将跳转至 Stripe 账单门户以审核并确认席位更改。按比例金额将自动计算。", + "preparingUpdate": "正在准备席位更新...", + "seatCountTooLow": "席位数至少为 {{minimum}}(当前用户数)", + "seatCountUnchanged": "请选择不同的席位数", + "seatsUpdated": "席位数已更新", + "seatsUpdatedMessage": "您的企业席位数已更新为 {{seats}}", + "updateProcessing": "正在更新", + "updateProcessingMessage": "您的席位更新正在处理中。请稍后刷新。", + "notEnterprise": "仅企业许可证可管理席位" + }, + "upgradeBanner": { + "title": "升级到服务器方案", + "message": "充分利用 Stirling PDF,享受无限用户与高级功能", + "upgradeButton": "立即升级", + "dismiss": "关闭横幅", + "attentionTitle": "此服务器需要管理员关注", + "attentionBody": "您的管理员需要登录以查看更多信息。请立即联系他们。", + "attentionBodyAdmin": "审核许可要求以保持此服务器合规。", + "seeInfo": "查看信息" }, "payment": { "preparing": "正在准备结账...", @@ -5128,7 +5548,61 @@ "success": "支付成功!", "successMessage": "您的订阅已成功激活。您将很快收到确认邮件。", "autoClose": "此窗口将自动关闭...", - "error": "支付错误" + "error": "支付错误", + "upgradeSuccess": "支付成功!您的订阅已升级。服务器上的许可证已更新。您将很快收到确认 Email。", + "paymentSuccess": "支付成功!正在获取您的许可证密钥...", + "licenseActivated": "许可证已激活!您的许可证密钥已保存。确认 Email 已发送到您的注册邮箱。", + "licenseDelayed": "支付成功!正在生成您的许可证。您将很快收到包含许可证密钥的 Email。如 10 分钟内未收到,请联系支持。", + "licensePollingError": "支付成功,但我们未能自动获取您的许可证密钥。请检查 Email 或携带支付确认联系支持。", + "licenseRetrievalError": "支付成功,但获取许可证失败。您将通过 Email 收到许可证密钥。如 10 分钟内未收到,请联系支持。", + "syncError": "支付成功,但许可证同步失败。您的许可证将很快更新。如问题持续,请联系支持。", + "licenseSaveError": "保存许可证密钥失败。请使用您的许可证密钥联系支持以完成激活。", + "paymentCanceled": "支付已取消,未产生费用。", + "syncingLicense": "正在同步已升级的许可证...", + "generatingLicense": "正在生成您的许可证密钥...", + "upgradeComplete": "升级完成", + "upgradeCompleteMessage": "您的订阅已成功升级。现有许可证密钥已更新。", + "stripeNotConfigured": "未配置 Stripe", + "stripeNotConfiguredMessage": "未配置 Stripe 支付集成。请联系您的管理员。", + "monthly": "按月", + "yearly": "按年", + "billingPeriod": "计费周期", + "enterpriseNote": "可在结账时调整席位数(1-1000)。", + "installationId": "安装 ID", + "licenseKey": "您的许可证密钥", + "licenseInstructions": "已添加到您的安装中。您也会在 Email 中收到一份副本。", + "canCloseWindow": "您现在可以关闭此窗口。", + "licenseKeyProcessing": "许可证密钥处理中", + "licenseDelayedMessage": "正在生成您的许可证密钥。请稍后检查 Email 或联系支持。", + "perYear": "/年", + "perMonth": "/月", + "emailInvalid": "请输入有效的 Email 地址", + "emailStage": { + "title": "输入您的 Email", + "description": "我们将用其发送您的许可证密钥与收据。", + "emailLabel": "Email 地址", + "emailPlaceholder": "your@email.com", + "continue": "继续", + "modalTitle": "开始 - {{planName}}" + }, + "planStage": { + "title": "选择您的计费周期", + "savingsNote": "按年计费可节省 {{percent}}%", + "basePrice": "基础价格", + "seatPrice": "每席位", + "totalForSeats": "合计({{count}} 席位)", + "selectMonthly": "选择按月", + "selectYearly": "选择按年", + "savePercent": "节省 {{percent}}%", + "savingsAmount": "您共节省 {{amount}}", + "modalTitle": "选择计费周期 - {{planName}}", + "billedYearly": "按年计费:{{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "返回方案选择", + "selectedPlan": "已选方案", + "modalTitle": "完成支付 - {{planName}}" + } }, "firstLogin": { "title": "首次登录", @@ -5287,5 +5761,281 @@ "offline": "后端离线", "starting": "后端正在启动...", "wait": "请等待后端完成启动后再试。" + }, + "encryptedPdfUnlock": { + "unlockPrompt": "解锁 PDF 以继续", + "title": "移除密码以继续", + "description": "此 PDF 受密码保护。请输入密码以继续处理。", + "password": { + "label": "PDF 密码", + "placeholder": "输入 PDF 密码" + }, + "skip": "暂时跳过", + "unlock": "解锁并继续", + "incorrectPassword": "密码错误", + "missingFile": "所选文件已不可用。", + "emptyResponse": "移除密码未生成文件。", + "required": "请输入密码以继续。", + "successTitle": "已移除密码", + "successBodyWithName": "已从 {{fileName}} 移除密码", + "successBody": "已成功移除密码。" + }, + "setup": { + "welcome": "欢迎使用 Stirling PDF", + "description": "选择您希望使用 Stirling PDF 的方式开始", + "step1": { + "label": "选择模式", + "description": "离线或服务器" + }, + "step2": { + "label": "选择服务器", + "description": "自托管服务器" + }, + "step3": { + "label": "登录", + "description": "输入凭据" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "使用您的 Stirling 账户登录" + }, + "selfhosted": { + "title": "自托管服务器", + "description": "连接到您自己的 Stirling PDF 服务器" + } + }, + "saas": { + "title": "登录 Stirling", + "subtitle": "使用您的 Stirling 账户登录" + }, + "selfhosted": { + "title": "登录到服务器", + "subtitle": "输入您的服务器凭据" + }, + "server": { + "title": "连接到服务器", + "subtitle": "输入您的自托管服务器 URL", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "自托管服务器" + }, + "url": { + "label": "服务器 URL", + "description": "输入您自托管 Stirling PDF 服务器的完整 URL" + }, + "error": { + "emptyUrl": "请输入服务器 URL", + "unreachable": "无法连接到服务器", + "testFailed": "连接测试失败" + }, + "testing": "正在测试连接..." + }, + "login": { + "title": "登录", + "subtitle": "输入凭据以继续", + "connectingTo": "正在连接到:", + "username": { + "label": "用户名", + "placeholder": "输入用户名" + }, + "email": { + "label": "Email", + "placeholder": "输入 Email" + }, + "password": { + "label": "密码", + "placeholder": "输入密码" + }, + "error": { + "emptyUsername": "请输入用户名", + "emptyEmail": "请输入 Email", + "emptyPassword": "请输入密码", + "oauthFailed": "OAuth 登录失败。请重试。" + }, + "submit": "登录", + "signInWith": "使用以下方式登录", + "oauthPending": "正在打开浏览器进行认证...", + "orContinueWith": "或使用 Email 继续" + } + }, + "oauth": { + "success": { + "title": "认证成功", + "message": "您可以关闭此窗口并返回 Stirling PDF。" + }, + "error": { + "title": "认证失败", + "message": "认证未成功。您可以关闭此窗口后重试。" + } + }, + "pdfTextEditor": { + "title": "PDF JSON 编辑器", + "viewLabel": "PDF 编辑器", + "converting": "正在将 PDF 转换为可编辑格式...", + "conversionFailed": "PDF 转换失败。请重试。", + "currentFile": "当前文件:{{name}}", + "pageSummary": "第 {{number}}/{{total}} 页", + "pagePreviewAlt": "页面预览", + "imageLabel": "已放置的图片", + "noTextOnPage": "此页未检测到可编辑文本。", + "pageType": { + "paragraph": "段落页", + "sparse": "稀疏文本" + }, + "groupingMode": { + "auto": "自动", + "paragraph": "段落", + "singleLine": "单行" + }, + "badges": { + "unsaved": "已编辑", + "modified": "已编辑", + "earlyAccess": "抢先体验" + }, + "actions": { + "reset": "重置更改", + "downloadJson": "下载 JSON", + "generatePdf": "生成 PDF" + }, + "options": { + "autoScaleText": { + "title": "自动缩放文本以适配框体", + "description": "当字体渲染与 PDF 不同时,自动水平缩放文本以适配其原始边界框。" + }, + "groupingMode": { + "title": "文本分组模式", + "autoDescription": "自动检测页面类型并进行合适的分组。", + "paragraphDescription": "将对齐的行分组成多行段落文本框。", + "singleLineDescription": "将每一行 PDF 文本保留为独立文本框。" + }, + "manualGrouping": { + "descriptionInline": "提示:按住 Ctrl(Cmd)或 Shift 可多选文本框。选区上方会出现浮动工具栏,便于合并、取消分组或调整宽度。" + }, + "forceSingleElement": { + "title": "将已编辑文本锁定为单个 PDF 元素", + "description": "启用后,编辑器会将每个已编辑文本框导出为一个 PDF 文本元素,以避免字形重叠或混合字体。" + } + }, + "manual": { + "mergeTooltip": "合并所选框", + "merge": "合并所选", + "ungroupTooltip": "将段落拆分为行", + "ungroup": "取消分组所选", + "widthMenu": "宽度选项", + "expandWidth": "扩展到页面边缘", + "resetWidth": "重置宽度", + "resizeHandle": "调整文本宽度" + }, + "disclaimer": { + "heading": "预览限制", + "textFocus": "该工作区专注于编辑文本与重新定位嵌入图片。复杂页面艺术、表单控件与分层图形会在导出时保留,但此处不可完全编辑。", + "previewVariance": "某些视觉元素(如表格边框、形状或注释外观)在预览中可能显示不完全准确。导出的 PDF 会尽可能保留原始绘图指令。", + "alpha": "此 Alpha 预览器仍在演进中——某些字体、颜色、透明效果和布局细节可能略有偏差。分享前请再次检查生成的 PDF。" + }, + "empty": { + "title": "未加载文档", + "subtitle": "加载 PDF 或 JSON 文件以开始编辑文本内容。" + }, + "welcomeBanner": { + "title": "欢迎使用 PDF 文本编辑器(抢先体验)", + "experimental": "这是一个仍在积极开发中的实验性功能,使用过程中可能存在不稳定与问题。", + "howItWorks": "此工具会将您的 PDF 转换为可编辑格式,您可修改文本内容并重新定位图片。更改将另存为新的 PDF。", + "bestFor": "最佳适用:", + "bestFor1": "以文本和图片为主的简单 PDF", + "bestFor2": "使用标准段落格式的文档", + "bestFor3": "信件、论文、报告和基础文档", + "notIdealFor": "不适用于:", + "notIdealFor1": "包含项目符号、表格或多栏布局等特殊格式的 PDF", + "notIdealFor2": "杂志、宣传册或重设计的文档", + "notIdealFor3": "布局复杂的说明手册", + "limitations": "当前限制:", + "limitation1": "字体渲染可能与原PDF略有差异", + "limitation2": "复杂图形、表单域和注释会被保留,但不可编辑", + "limitation3": "大文件的转换和处理可能需要时间", + "knownIssues": "已知问题(修复中):", + "issue1": "目前不会保留文本颜色(即将支持)", + "issue2": "段落模式存在更多对齐和间距问题—建议使用单行模式", + "issue3": "预览与导出的PDF显示不同—导出的PDF更接近原文件", + "issue4": "旋转文本的对齐可能需要手动调整", + "issue5": "透明度和分层效果可能与原件不同", + "feedback": "这是早期体验功能。请反馈遇到的问题以帮助我们改进!", + "gotIt": "知道了", + "dontShowAgain": "不再显示" + }, + "modeChange": { + "title": "确认更改模式", + "warning": "更改文本分组模式将重置所有未保存的更改。确定要继续吗?", + "cancel": "取消", + "confirm": "重置并更改模式" + }, + "fontAnalysis": { + "details": "字体详情", + "embedded": "已嵌入", + "type": "类型", + "webFormat": "Web 格式", + "warnings": "警告", + "suggestions": "说明", + "currentPageFonts": "本页字体", + "allFonts": "所有字体", + "fallback": "后备", + "missing": "缺失", + "perfectMessage": "所有字体都可完美复现。", + "warningMessage": "某些字体可能无法正确渲染。", + "infoMessage": "提供字体还原信息。", + "perfect": "完美", + "subset": "子集" + }, + "errors": { + "invalidJson": "无法读取JSON文件。请确保它由PDF转JSON工具生成。", + "pdfConversion": "无法将已编辑的JSON转换回PDF。" + } + }, + "auth": { + "sessionExpired": "会话已过期", + "pleaseLoginAgain": "请重新登录。", + "accessDenied": "拒绝访问", + "insufficientPermissions": "您没有执行此操作的权限。" + }, + "addText": { + "title": "添加文本", + "header": "向PDF添加文本", + "text": { + "name": "文本内容", + "placeholder": "输入要添加的文本", + "fontLabel": "字体", + "fontSizeLabel": "字体大小", + "fontSizePlaceholder": "输入或选择字体大小(8-200)", + "colorLabel": "文本颜色" + }, + "steps": { + "configure": "配置文本" + }, + "step": { + "createDesc": "输入要添加的文本", + "place": "放置文本", + "placeDesc": "在PDF上点击以添加文本" + }, + "instructions": { + "title": "如何添加文本", + "text": "在上方输入文本后,点击PDF任意位置进行放置。", + "paused": "放置已暂停", + "resumeHint": "恢复放置以点击并添加文本。", + "noSignature": "先在上方输入文本以启用放置。" + }, + "mode": { + "move": "移动文本", + "place": "放置文本", + "pause": "暂停放置", + "resume": "恢复放置" + }, + "results": { + "title": "添加文本结果" + }, + "error": { + "failed": "向PDF添加文本时发生错误。" + }, + "tags": "文本,注释,标签", + "applySignatures": "应用文本" } } \ No newline at end of file diff --git a/frontend/public/locales/zh-TW/translation.json b/frontend/public/locales/zh-TW/translation.json index 5e7073f19..f6e3db739 100644 --- a/frontend/public/locales/zh-TW/translation.json +++ b/frontend/public/locales/zh-TW/translation.json @@ -17,6 +17,8 @@ "comingSoon": "即將推出:", "favorite": "加入我的最愛", "favorites": "我的最愛", + "unavailable": "已被伺服器管理員停用:", + "unavailableDependency": "無法使用 - 伺服器缺少必要工具:", "heading": "所有工具(全螢幕檢視)", "noResults": "嘗試調整搜尋或切換說明以找到所需內容。", "recommended": "建議", @@ -26,7 +28,10 @@ "toggle": { "fullscreen": "切換至全螢幕模式", "sidebar": "切換至側邊欄模式" - } + }, + "alpha": "Alpha", + "premiumFeature": "進階功能:", + "comingSoon": "即將推出:" }, "unsavedChanges": "您對 PDF 的變更尚未儲存。", "areYouSure": "確定要離開嗎?", @@ -41,6 +46,30 @@ "cancel": "取消", "confirm": "解壓縮" }, + "defaultApp": { + "title": "設為預設 PDF 應用程式", + "message": "是否要將 Stirling PDF 設為預設 PDF 編輯器?", + "description": "稍後可在系統設定中變更。", + "notNow": "暫時不要", + "setDefault": "設為預設", + "dismiss": "關閉", + "prompt": { + "title": "設為預設 PDF 編輯器", + "message": "將 Stirling PDF 設為開啟 PDF 檔的預設應用程式。" + }, + "success": { + "title": "已設為預設應用程式", + "message": "Stirling PDF 已成為你的預設 PDF 編輯器" + }, + "settingsOpened": { + "title": "已開啟設定", + "message": "請在系統設定中選擇 Stirling PDF" + }, + "error": { + "title": "錯誤", + "message": "設定預設 PDF 處理程式失敗" + } + }, "language": { "direction": "ltr" }, @@ -101,6 +130,8 @@ "save": "儲存", "saveToBrowser": "儲存到瀏覽器", "download": "下載", + "downloadUnavailable": "此項目無法下載", + "saveUnavailable": "此項目無法儲存", "pin": "釘選檔案(工具執行後保持作用中)", "unpin": "取消釘選檔案(工具執行後以新檔取代)", "undoOperationTooltip": "按一下可復原上一次操作並還原原始檔案", @@ -168,6 +199,7 @@ }, "edit": "編輯", "delete": "刪除", + "never": "永不", "username": "使用者名稱", "password": "密碼", "welcome": "歡迎", @@ -262,7 +294,8 @@ "learnMore": "了解更多", "enable": "啟用分析功能", "disable": "停用分析功能", - "settings": "您可以在 config/settings.yml 檔案中變更分析功能的設定" + "settings": "您可以在 config/settings.yml 檔案中變更分析功能的設定", + "privacyAssurance": "我們不會追蹤任何個人資訊或你檔案的內容。" }, "navbar": { "favorite": "我的最愛", @@ -284,64 +317,64 @@ } }, "settings": { - "title": "設定", - "update": "有更新可用", - "updateAvailable": "目前安裝的版本是 {0}。有新版本({1})可供使用。", - "appVersion": "應用程式版本:", - "downloadOption": { - "title": "選擇下載選項(適用於單一檔案非壓縮下載):", - "1": "在同一視窗中開啟", - "2": "在新視窗中開啟", - "3": "下載檔案" - }, - "zipThreshold": "當下載檔案數量超過此數值時,將檔案壓縮", - "signOut": "登出", - "accountSettings": "帳號設定", - "bored": { - "help": "啟用彩蛋遊戲" - }, - "cacheInputs": { - "name": "儲存表單輸入", - "help": "啟用此功能以儲存先前使用的輸入,以便日後使用" + "connection": { + "title": "連線模式", + "mode": { + "saas": "Stirling Cloud", + "selfhosted": "自託管" + }, + "server": "伺服器", + "user": "已登入身分", + "logout": "登出" }, "general": { "title": "一般", "description": "設定一般應用程式偏好設定。", - "account": "帳戶", - "accountDescription": "管理您的帳戶設定", "user": "使用者", - "signedInAs": "登入身分", "logout": "登出", "enableFeatures": { + "dismiss": "關閉", "title": "系統管理員專用", "intro": "為您的組織啟用使用者驗證、團隊管理與工作區功能。", "action": "設定", "and": "與", "benefit": "啟用使用者角色、團隊協作、管理控制與企業功能。", - "learnMore": "在文件中了解更多", - "dismiss": "關閉" + "learnMore": "在文件中了解更多" }, - "autoUnzip": "自動解壓縮 API 回應", - "autoUnzipDescription": "自動從 ZIP 回應中解壓縮檔案", - "autoUnzipTooltip": "自動解壓縮 API 操作回傳的 ZIP 檔案。停用以保留 ZIP 檔不變。這不會影響自動化工作流程。", - "autoUnzipFileLimit": "自動解壓縮檔案上限", - "autoUnzipFileLimitDescription": "從 ZIP 解壓縮的最大檔案數", - "autoUnzipFileLimitTooltip": "僅在 ZIP 含有不超過此數量的檔案時解壓縮。提高數值可解壓較大的 ZIP。", "defaultToolPickerMode": "預設工具選擇器模式", "defaultToolPickerModeDescription": "選擇工具選擇器預設以全螢幕或側邊欄開啟", "mode": { - "fullscreen": "全螢幕", - "sidebar": "側邊欄" - } + "sidebar": "側邊欄", + "fullscreen": "全螢幕" + }, + "autoUnzipTooltip": "自動解壓縮 API 操作回傳的 ZIP 檔案。停用以保留 ZIP 檔不變。這不會影響自動化工作流程。", + "autoUnzip": "自動解壓縮 API 回應", + "autoUnzipDescription": "自動從 ZIP 回應中解壓縮檔案", + "autoUnzipFileLimitTooltip": "僅在 ZIP 含有不超過此數量的檔案時解壓縮。提高數值可解壓較大的 ZIP。", + "autoUnzipFileLimit": "自動解壓縮檔案上限", + "autoUnzipFileLimitDescription": "從 ZIP 解壓縮的最大檔案數", + "defaultPdfEditor": "預設 PDF 編輯器", + "defaultPdfEditorActive": "Stirling PDF 是你的預設 PDF 編輯器", + "defaultPdfEditorInactive": "已由其他應用程式設為預設", + "defaultPdfEditorChecking": "正在檢查...", + "defaultPdfEditorSet": "已是預設", + "setAsDefault": "設為預設", + "updates": { + "title": "軟體更新", + "description": "檢查更新並檢視版本資訊", + "currentVersion": "目前版本", + "latestVersion": "最新版本", + "checkForUpdates": "檢查更新", + "viewDetails": "檢視詳細資料" + }, + "hideUnavailableTools": "隱藏無法使用的工具", + "hideUnavailableToolsDescription": "移除伺服器已停用的工具,而非以灰色顯示。", + "hideUnavailableConversions": "隱藏無法使用的轉換", + "hideUnavailableConversionsDescription": "在「轉換」工具中移除已停用的轉換選項,而非以灰色顯示。" }, "hotkeys": { - "title": "鍵盤快捷鍵", - "description": "將滑鼠移到工具上可查看其快捷鍵,或在下方自訂。點擊「變更快捷鍵」並按下新的按鍵組合。按 Esc 取消。", - "errorModifier": { - "mac": "快捷鍵需包含 ⌘(Command)、⌥(Option)或其他修飾鍵。", - "windows": "快捷鍵需包含 Ctrl、Alt 或其他修飾鍵。" - }, "errorConflict": "快捷鍵已被 {{tool}} 使用。", + "searchPlaceholder": "搜尋工具...", "none": "未指派", "customBadge": "自訂", "defaultLabel": "預設:{{shortcut}}", @@ -349,10 +382,40 @@ "change": "變更快捷鍵", "reset": "重設", "shortcut": "快捷鍵", - "noShortcut": "未設定快捷鍵", - "searchPlaceholder": "搜尋工具..." + "noShortcut": "未設定快捷鍵" } }, + "update": { + "modalTitle": "有可用更新", + "current": "目前版本", + "latest": "最新版本", + "latestStable": "最新穩定版", + "priorityLabel": "優先順序", + "recommendedAction": "建議動作", + "breakingChangesDetected": "偵測到重大變更", + "breakingChangesMessage": "部分版本包含重大變更。更新前請先查看下方的遷移指南。", + "migrationGuides": "遷移指南", + "viewGuide": "查看指南", + "loadingDetailedInfo": "正在載入詳細資訊...", + "close": "關閉", + "viewAllReleases": "檢視所有版本", + "downloadLatest": "下載最新版本", + "availableUpdates": "可用更新", + "unableToLoadDetails": "無法載入詳細資訊。", + "version": "版本", + "urgentUpdateAvailable": "緊急更新", + "updateAvailable": "可用更新", + "releaseNotes": "版本資訊", + "priority": { + "urgent": "緊急", + "normal": "一般", + "minor": "次要", + "low": "低" + }, + "breakingChanges": "重大變更", + "breakingChangesDefault": "此版本包含重大變更。", + "migrationGuide": "遷移指南" + }, "changeCreds": { "title": "變更憑證", "header": "更新您的帳號詳細資訊", @@ -784,11 +847,21 @@ "overlay-pdfs": { "desc": "將 PDF 覆蓋在另一個 PDF 上", "title": "覆蓋 PDF" + }, + "pdfTextEditor": { + "title": "PDF 文字編輯器", + "desc": "檢視與編輯 Stirling PDF 的 JSON 匯出,支援群組文字編輯與重新產生 PDF" + }, + "addText": { + "tags": "文字,註解,標籤", + "title": "新增文字", + "desc": "在 PDF 的任意位置新增自訂文字" } }, "landing": { "addFiles": "新增檔案", - "uploadFromComputer": "從電腦上傳" + "uploadFromComputer": "從電腦上傳", + "openFromComputer": "從電腦開啟" }, "viewPdf": { "tags": "檢視,閱讀,註釋,文字,圖片", @@ -849,6 +922,11 @@ }, "error": { "failed": "合併 PDF 時發生錯誤。" + }, + "tooltip": { + "header": { + "title": "合併設定概覽" + } } }, "split": { @@ -1182,9 +1260,43 @@ "tags": "img,jpg,圖片,照片", "title": "新增圖片", "header": "新增圖片到 PDF", - "everyPage": "每一頁?", - "upload": "新增圖片", - "submit": "新增圖片" + "image": { + "name": "圖片", + "placeholder": "上傳一張圖片", + "label": "圖片檔" + }, + "steps": { + "configure": "設定圖片" + }, + "step": { + "createDesc": "上傳你要加入的圖片", + "place": "放置圖片", + "placeDesc": "在 PDF 上點擊以加入圖片" + }, + "instructions": { + "title": "如何新增圖片", + "text": "在上方上傳圖片後,點擊 PDF 任意位置即可放置。", + "paused": "已暫停放置", + "resumeHint": "恢復放置後,點擊即可加入圖片。", + "noSignature": "請先上傳圖片以啟用放置。" + }, + "mode": { + "move": "移動圖片", + "place": "放置圖片", + "pause": "暫停放置", + "resume": "恢復放置" + }, + "results": { + "title": "新增圖片結果" + }, + "error": { + "failed": "將圖片加入 PDF 時發生錯誤。" + }, + "saved": { + "defaultLabel": "圖片", + "defaultImageLabel": "已上傳的圖片" + }, + "applySignatures": "套用圖片" }, "attachments": { "tags": "嵌入,附件,檔案,附加,附件管理", @@ -1397,6 +1509,93 @@ }, "submit": "變更" }, + "editTableOfContents": { + "settings": { + "title": "書籤與大綱", + "replaceExisting": "取代現有書籤(取消勾選以附加)", + "replaceExistingHint": "停用時,新的大綱會附加在目前書籤之後。" + }, + "actions": { + "source": "載入書籤", + "selectedFile": "已從 {{file}} 載入", + "noFile": "選擇 PDF 以擷取現有書籤。", + "loadFromPdf": "從選取的 PDF 載入", + "importJson": "匯入 JSON", + "importClipboard": "從剪貼簿貼上 JSON", + "export": "匯出書籤", + "exportJson": "下載 JSON", + "exportClipboard": "將 JSON 複製到剪貼簿", + "clipboardUnavailable": "此瀏覽器無法存取剪貼簿。" + }, + "info": { + "line1": "每個書籤都需要描述性標題與對應的開啟頁面。", + "line2": "使用子書籤為章節、節或小節建立階層。", + "line3": "可從選取的 PDF 或 JSON 檔匯入書籤以節省時間。" + }, + "workbench": { + "empty": { + "title": "開啟工具開始編輯", + "description": "選擇「編輯目錄」工具以載入其工作區。" + }, + "tabTitle": "大綱工作區", + "subtitle": "匯入書籤、建立階層,並在不受擁擠的側邊欄影響下套用大綱。", + "noFile": "未選取 PDF", + "fileLabel": "變更將套用到目前選取的 PDF。", + "filePrompt": "從你的資料庫選擇 PDF,或上傳新檔開始。", + "changeFile": "更換 PDF", + "selectFile": "選擇 PDF" + }, + "editor": { + "heading": "書籤編輯器", + "description": "新增、巢狀與重新排序書籤,打造你的 PDF 大綱。", + "addTopLevel": "新增最上層書籤", + "empty": { + "title": "尚無書籤", + "description": "匯入現有書籤,或先新增第一個項目。", + "action": "新增第一個書籤" + }, + "defaultTitle": "新書籤", + "defaultChildTitle": "子書籤", + "defaultSiblingTitle": "新書籤", + "untitled": "未命名書籤", + "childBadge": "子項", + "pagePreview": "第 {{page}} 頁", + "field": { + "title": "書籤標題", + "page": "目標頁碼" + }, + "actions": { + "toggle": "展開/收合子項", + "addChild": "新增子書籤", + "addSibling": "新增同層書籤", + "remove": "移除書籤" + }, + "confirmRemove": "要移除此書籤及其所有子項嗎?" + }, + "messages": { + "loadedTitle": "已擷取書籤", + "loadedBody": "已將 PDF 的現有書籤載入編輯器。", + "noBookmarks": "選取的 PDF 中找不到書籤。", + "loadFailed": "無法從選取的 PDF 擷取書籤。", + "imported": "已匯入書籤", + "importedBody": "你的 JSON 大綱已取代目前的編輯內容。", + "importedClipboard": "剪貼簿資料已取代目前的書籤清單。", + "invalidJson": "JSON 結構無效", + "invalidJsonBody": "請提供有效的書籤 JSON 檔,再試一次。", + "exported": "JSON 下載就緒", + "copied": "已複製到剪貼簿", + "copiedBody": "已成功複製書籤 JSON。", + "copyFailed": "複製失敗" + }, + "error": { + "failed": "更新目錄失敗" + }, + "submit": "套用目錄", + "results": { + "title": "已更新含書籤的 PDF", + "subtitle": "以下可下載處理後的檔案或復原此操作。" + } + }, "removePages": { "tags": "移除頁面,刪除頁面", "title": "移除", @@ -1669,8 +1868,8 @@ "trapped": { "label": "Trapped 狀態", "unknown": "未知", - "true": "True", - "false": "False" + "true": "是", + "false": "否" }, "advanced": { "title": "進階選項" @@ -1978,13 +2177,54 @@ "title": "繪製您的簽名", "clear": "清除" }, + "canvas": { + "heading": "繪製你的簽名", + "clickToOpen": "點擊以開啟繪圖畫布", + "modalTitle": "繪製你的簽名", + "colorLabel": "顏色", + "penSizeLabel": "筆刷大小", + "penSizePlaceholder": "大小", + "clear": "清除畫布", + "colorPickerTitle": "選擇筆畫顏色" + }, "text": { "name": "簽署者姓名", - "placeholder": "輸入您的全名" + "placeholder": "輸入您的全名", + "fontLabel": "字型", + "fontSizeLabel": "字型大小", + "fontSizePlaceholder": "輸入或選擇字型大小(8-200)", + "colorLabel": "文字顏色" }, "clear": "清除", "add": "新增", - "saved": "已儲存的簽章", + "saved": { + "heading": "已儲存的簽名", + "description": "可隨時重複使用已儲存的簽名。", + "emptyTitle": "尚未儲存簽名", + "emptyDescription": "在上方繪製、上傳或輸入簽名,然後使用「儲存到資料庫」即可保留最多 {{max}} 個常用項。", + "type": { + "canvas": "手繪", + "image": "上傳", + "text": "文字" + }, + "limitTitle": "已達上限", + "limitDescription": "新增前請先移除一個已儲存的簽名(最多 {{max}})。", + "carouselPosition": "{{current}} / {{total}}", + "prev": "上一個", + "next": "下一個", + "delete": "移除", + "label": "標籤", + "defaultLabel": "簽名", + "defaultCanvasLabel": "手繪簽名", + "defaultImageLabel": "上傳的簽名", + "defaultTextLabel": "輸入的簽名", + "saveButton": "儲存簽名", + "saveUnavailable": "請先建立簽名才能儲存。", + "noChanges": "目前簽名已儲存。", + "status": { + "saved": "已儲存" + } + }, "save": "儲存簽章", "applySignatures": "套用簽名", "personalSigs": "個人簽章", @@ -2003,12 +2243,18 @@ "steps": { "configure": "設定簽名" }, + "step": { + "createDesc": "選擇你要建立簽名的方式", + "place": "放置與儲存", + "placeDesc": "在 PDF 上定位簽名" + }, "type": { "title": "簽名類型", "draw": "手繪", "canvas": "畫布", "image": "影像", - "text": "文字" + "text": "文字", + "saved": "已儲存" }, "image": { "label": "上傳簽名影像", @@ -2019,11 +2265,17 @@ "title": "如何加入簽名", "canvas": "在畫布中繪製簽名後,關閉此視窗,接著在 PDF 任意位置點擊以放置。", "image": "在上方上傳簽名影像後,於 PDF 任意位置點擊以放置。", - "text": "在上方輸入您的姓名後,於 PDF 任意位置點擊以放置簽名。" + "saved": "在上方選擇已儲存的簽名,然後在 PDF 任意位置點擊以放置。", + "text": "在上方輸入您的姓名後,於 PDF 任意位置點擊以放置簽名。", + "paused": "已暫停放置", + "resumeHint": "恢復放置後,點擊即可加入簽名。", + "noSignature": "請在上方建立簽名以啟用放置工具。" }, "mode": { "move": "移動簽名", - "place": "放置簽名" + "place": "放置簽名", + "pause": "暫停放置", + "resume": "恢復放置" }, "updateAndPlace": "更新並放置", "activate": "啟用簽名放置", @@ -2163,6 +2415,14 @@ "title": "關於移除註解", "description": "此工具會移除 PDF 文件中的所有註解(留言、重點標示、注記等)。" }, + "tooltip": { + "header": { + "title": "關於移除註解" + }, + "description": { + "title": "功能說明" + } + }, "error": { "failed": "從 PDF 移除註解時發生錯誤。" } @@ -2627,6 +2887,9 @@ "header": { "title": "自動重新命名運作方式" }, + "description": { + "title": "功能說明" + }, "howItWorks": { "title": "智慧重新命名", "text": "自動從 PDF 內容找出標題並用作檔名。", @@ -2634,6 +2897,9 @@ "bullet2": "依偵測到的標題建立乾淨且有效的檔名", "bullet3": "若找不到合適標題則保留原檔名" } + }, + "settings": { + "title": "關於" } }, "adjust-contrast": { @@ -3227,7 +3493,26 @@ "unexpectedError": "未預期的錯誤:{{message}}", "accountCreatedSuccess": "帳號建立成功!您現在可以登入。", "passwordChangedSuccess": "密碼變更成功!請使用新密碼登入。", - "credentialsUpdated": "您的認證資訊已更新。請重新登入。" + "credentialsUpdated": "您的認證資訊已更新。請重新登入。", + "defaultCredentials": "預設登入憑證", + "changePasswordWarning": "首次登入後請更改您的密碼", + "slides": { + "overview": { + "alt": "Stirling PDF 概覽", + "title": "滿足您所有 PDF 需求的一站式平台。", + "subtitle": "以隱私為先的 PDF 雲端套件,讓您轉換、簽署、遮蔽與管理文件,並提供 50+ 種強大工具。" + }, + "edit": { + "alt": "編輯 PDF", + "title": "編輯 PDF 以顯示/保護您想要的資訊", + "subtitle": "提供十多種工具,協助您遮蔽、簽署、閱讀與處理 PDF,滿足您的各種需求。" + }, + "secure": { + "alt": "保護 PDF", + "title": "保護 PDF 中的敏感資訊", + "subtitle": "輕鬆新增密碼、遮蔽內容並管理憑證。" + } + } }, "signup": { "title": "建立帳號", @@ -3598,7 +3883,9 @@ "exportAll": "匯出 PDF", "downloadSelected": "下載選取的檔案", "downloadAll": "全部下載", + "saveAll": "全部儲存", "toggleTheme": "切換主題", + "toggleBookmarks": "切換書籤", "language": "語言", "search": "搜尋 PDF", "panMode": "平移模式", @@ -3685,8 +3972,16 @@ "saved": "設定已成功儲存", "saveSuccess": "設定已成功儲存", "save": "儲存變更", + "discard": "捨棄", "restartRequired": "需要重新啟動", "loginRequired": "必須啟用登入模式才能修改管理設定", + "unsavedChanges": { + "title": "未儲存的變更", + "message": "您有未儲存的變更。要捨棄嗎?", + "cancel": "繼續編輯", + "discard": "捨棄變更", + "hint": "您有未儲存的變更" + }, "loginDisabled": { "title": "需要登入模式", "message": "必須啟用登入模式才能修改管理設定。請在環境中設定 SECURITY_ENABLELOGIN=true 或在 settings.yml 設定 security.enableLogin: true,然後重新啟動伺服器。", @@ -3947,15 +4242,15 @@ "description": "用於驗證的 OAuth2 提供者" }, "issuer": { - "label": "Issuer URL", + "label": "發行者 URL", "description": "OAuth2 提供者的 Issuer URL" }, "clientId": { - "label": "Client ID", + "label": "用戶端 ID", "description": "由提供者提供的 OAuth2 Client ID" }, "clientSecret": { - "label": "Client Secret", + "label": "用戶端密鑰", "description": "由提供者提供的 OAuth2 Client Secret" }, "useAsUsername": { @@ -3971,7 +4266,7 @@ "description": "阻止透過 OAuth2 註冊新使用者" }, "scopes": { - "label": "OAuth2 Scopes", + "label": "OAuth2 範圍", "description": "以逗號分隔的 OAuth2 scope 清單(例如:openid、profile、email)" } }, @@ -4132,7 +4427,7 @@ "description": "最長執行時間" }, "libreOffice": "LibreOffice", - "pdfToHtml": "PDF to HTML", + "pdfToHtml": "PDF 轉 HTML", "qpdf": "QPDF", "tesseract": "Tesseract OCR", "pythonOpenCv": "Python OpenCV", @@ -4204,7 +4499,7 @@ "description": "Cookie 政策的 URL 或檔名" }, "impressum": { - "label": "Impressum", + "label": "法律資訊", "description": "Impressum 的 URL 或檔名(某些司法管轄區要求提供)" } }, @@ -4212,9 +4507,21 @@ "title": "Premium 與 Enterprise", "description": "設定您的 Premium 或 Enterprise 授權金鑰。", "license": "擴充授權設定", + "licenseKey": { + "toggle": "有授權金鑰或憑證檔嗎?", + "info": "如果你有直接購買的授權金鑰或憑證檔,可在此輸入以啟用進階或企業功能。" + }, "key": { "label": "擴充授權金鑰", - "description": "輸入您的 Premium 或 Enterprise 授權金鑰" + "description": "輸入您的 Premium 或 Enterprise 授權金鑰", + "success": "已儲存授權金鑰", + "successMessage": "你的授權金鑰已成功啟用,無需重新啟動。", + "overwriteWarning": { + "title": "⚠️ 警告:偵測到現有授權", + "line1": "覆寫目前的授權金鑰後將無法復原。", + "line2": "除非你另有備份,否則先前的授權將永久遺失。", + "line3": "重要:請妥善保管授權金鑰並保持私密,切勿公開分享。" + } }, "enabled": { "label": "啟用 Premium 功能", @@ -4278,12 +4585,17 @@ "or": "或", "dropFileHere": "將檔案拖放到此處或點擊以上傳", "dropFilesHere": "將檔案拖放到此處或點擊上傳按鈕", + "dropFilesHereOpen": "將檔案拖曳到此處或點擊開啟按鈕", "pdfFilesOnly": "僅限 PDF 檔", "supportedFileTypes": "支援的檔案類型", "upload": "上傳", "uploadFile": "上傳檔案", "uploadFiles": "上傳檔案", + "open": "開啟", + "openFile": "開啟檔案", + "openFiles": "開啟多個檔案", "noFilesInStorage": "儲存空間中沒有可用檔案。請先上傳一些檔案。", + "noFilesInStorageOpen": "儲存空間中沒有可用檔案。請先開啟一些檔案。", "selectFromStorage": "從儲存空間選取", "backToTools": "返回工具", "addFiles": "新增檔案", @@ -4329,6 +4641,8 @@ "myFiles": "我的檔案", "noRecentFiles": "找不到最近的檔案", "googleDriveNotAvailable": "無法使用 Google Drive 整合", + "downloadSelected": "下載所選", + "saveSelected": "儲存已選", "openFiles": "開啟檔案", "openFile": "開啟檔案", "details": "檔案詳細資訊", @@ -4341,7 +4655,6 @@ "selectAll": "全選", "deselectAll": "取消全選", "deleteSelected": "刪除已選取的項目", - "downloadSelected": "下載所選", "selectedCount": "{{count}} 個已選", "download": "下載", "delete": "刪除", @@ -4621,9 +4934,14 @@ "secureWorkflow": "安全性流程", "secureWorkflowDesc": "移除 JavaScript 與內嵌檔案等可能的惡意內容來保護 PDF,並新增密碼保護以防止未授權存取。預設密碼為「password」。", "processImages": "處理影像", - "processImagesDesc": "將多個影像檔轉為單一 PDF 文件,接著套用 OCR 技術以擷取可搜尋文字。" + "processImagesDesc": "將多個影像檔轉為單一 PDF 文件,接著套用 OCR 技術以擷取可搜尋文字。", + "prePublishSanitization": "發佈前淨化", + "prePublishSanitizationDesc": "移除所有隱藏中繼資料、JavaScript、內嵌檔案、註解,並將表單攤平,以防在將 PDF 發佈上線前發生資料外洩的淨化流程。" } }, + "colorPicker": { + "title": "選擇顏色" + }, "common": { "previous": "上一步", "next": "下一步", @@ -4639,7 +4957,13 @@ "used": "已使用", "available": "可用", "cancel": "取消", - "preview": "預覽" + "preview": "預覽", + "close": "關閉", + "done": "完成", + "loading": "正在載入...", + "back": "返回", + "continue": "繼續", + "error": "錯誤" }, "config": { "overview": { @@ -4705,6 +5029,14 @@ "addMoreFiles": "新增更多檔案...", "selectedFiles": "已選擇的檔案", "submit": "新增附件", + "tooltip": { + "header": { + "title": "關於新增附件" + }, + "description": { + "title": "功能說明" + } + }, "results": { "title": "附件結果" }, @@ -4724,7 +5056,6 @@ }, "customPosition": "自訂位置", "details": "詳細資料", - "downloadUnavailable": "此項目無法下載", "invalidUndoData": "無法復原:無效的作業資料", "margin": { "large": "大", @@ -4801,6 +5132,10 @@ "maybeLater": "稍後再說", "dontShowAgain": "不再顯示" }, + "welcomeSlide": { + "title": "歡迎使用 Stirling", + "body": "Stirling PDF 現在已準備好支援各種規模的團隊。此更新包含全新版面、強大的新管理功能,以及大家最期待的功能 - 編輯文字。" + }, "allTools": "This is the All Tools panel, where you can browse and select from all available PDF tools.", "selectCropTool": "我們先選擇 裁切 工具,示範如何使用其中一個工具。", "toolInterface": "這是 裁切 工具介面。如您所見,因為尚未加入任何 PDF 檔可供操作,因此內容不多。", @@ -4823,7 +5158,39 @@ "next": "下一步", "finish": "完成", "startTour": "開始導覽", - "startTourDescription": "帶您導覽 Stirling PDF 的重點功能" + "startTourDescription": "帶您導覽 Stirling PDF 的重點功能", + "buttons": { + "next": "下一步 →", + "back": "返回", + "skipForNow": "暫時略過", + "download": "下載 →", + "showMeAround": "帶我導覽", + "skipTheTour": "略過導覽" + }, + "serverLicense": { + "skip": "暫時略過", + "seePlans": "查看方案 →", + "upgrade": "立即升級 →", + "freeTitle": "伺服器授權", + "overLimitTitle": "需要伺服器授權", + "overLimitBody": "我們的授權允許每台伺服器最多 {{freeTierLimit}} 位使用者免費使用。你有 {{overLimitUserCopy}} 位 Stirling 使用者。若要不中斷使用,請升級至 Stirling Server 方案 - 不限席次、PDF 文字編輯,以及完整管理控制,每台伺服器 $99/月。", + "freeBody": "我們的 Open-Core 授權允許每台伺服器最多 {{freeTierLimit}} 位使用者免費使用。若要無縫擴充並搶先體驗全新的 PDF 文字編輯工具,建議升級至 Stirling Server 方案 - 完整編輯與 不限席次,每台伺服器 $99/月。" + }, + "desktopInstall": { + "title": "下載", + "titleWithOs": "下載適用於 {{osLabel}} 的版本", + "body": "Stirling 最適合以桌面應用程式使用。你可以離線操作、更快存取文件,並在電腦本機進行編輯。" + }, + "planOverview": { + "adminTitle": "管理員總覽", + "userTitle": "方案總覽", + "adminBodyLoginEnabled": "身為管理員,你可以管理使用者、設定參數並監控伺服器健康狀態。伺服器上的前 {{freeTierLimit}} 人可免費使用 Stirling。", + "adminBodyLoginDisabled": "啟用登入模式後,你可以管理使用者、設定參數並監控伺服器健康狀態。伺服器上的前 {{freeTierLimit}} 人可免費使用 Stirling。", + "userBody": "邀請隊友、指派角色,並在單一安全的工作區中整理你的文件。當你準備好超越個人使用時,可隨時啟用登入模式。" + }, + "securityCheck": { + "message": "應用程式近期進行了重大變更,可能需要你的伺服器管理員關注。請確認你的角色以繼續。" + } }, "adminOnboarding": { "welcome": "歡迎來到 管理員導覽!一起探索提供系統管理員使用的強大企業功能與設定。", @@ -4852,7 +5219,10 @@ "role": "角色", "team": "團隊", "status": "狀態", - "actions": "操作", + "actions": { + "label": "操作", + "upgrade": "升級" + }, "noMembersFound": "找不到成員", "active": "啟用", "disabled": "已停用", @@ -4964,7 +5334,8 @@ "slotsAvailable": "尚有 {{count}} 個使用者名額", "noSlotsAvailable": "沒有可用名額", "currentUsage": "目前使用 {{current}} / {{max}} 個使用者授權" - } + }, + "loginRequired": "請先啟用登入模式" }, "teams": { "title": "團隊", @@ -5057,6 +5428,17 @@ "showComparison": "比較所有功能", "hideComparison": "隱藏功能比較", "featureComparison": "功能比較", + "from": "起", + "perMonth": "/月", + "perSeat": "/席", + "withServer": "+ Server 方案", + "licensedSeats": "已授權:{{count}} 席", + "includedInCurrent": "已包含於你的方案", + "selectPlan": "選擇方案", + "manage": "管理", + "manageSubscription": { + "description": "管理你的訂閱、帳單與付款方式" + }, "activePlan": { "title": "使用中方案", "subtitle": "您目前的訂閱詳情" @@ -5074,13 +5456,16 @@ "upTo": "最多" }, "period": { - "month": "月" + "month": "月", + "perUserPerMonth": "/使用者/月" }, "free": { "name": "免費", "highlight1": "每週工具使用次數有限", "highlight2": "可存取所有工具", - "highlight3": "社群支援" + "highlight3": "社群支援", + "forever": "永遠免費", + "included": "已包含" }, "pro": { "name": "專業版", @@ -5092,7 +5477,9 @@ "name": "企業版", "highlight1": "自訂價格", "highlight2": "專屬支援", - "highlight3": "最新功能" + "highlight3": "最新功能", + "requiresServer": "需要 Server", + "requiresServerMessage": "請先升級到 Server 方案,再升級至 Enterprise。" }, "feature": { "title": "功能", @@ -5102,6 +5489,12 @@ "api": "API 存取", "priority": "優先支援", "customPricing": "自訂價格" + }, + "licenseWarning": { + "title": "自託管免費上限已達", + "body": "你有 {{total}} 位使用者,但免費層每台伺服器僅支援 {{limit}} 位。升級以保持 Stirling PDF 運作順暢。", + "overLimit": "多於 {{limit}}", + "cta": "查看方案" } }, "subscription": { @@ -5120,7 +5513,34 @@ "manageBilling": "管理計費", "portal": { "error": "開啟計費入口失敗" - } + }, + "updateSeats": "更新席次", + "updateEnterpriseSeats": "更新 Enterprise 席次", + "currentSeats": "目前席次", + "minimumSeats": "最少席次", + "basedOnUsers": "(目前使用者數)", + "newSeatCount": "新的席次數", + "newSeatCountDescription": "選擇企業授權的席次數量", + "whatHappensNext": "接下來會發生什麼?", + "stripePortalRedirect": "你將被導向至 Stripe 的付款入口,以檢視並確認席次變更。系統將自動計算按比例金額。", + "preparingUpdate": "正在準備更新席次...", + "seatCountTooLow": "席次至少需為 {{minimum}}(目前使用者數)", + "seatCountUnchanged": "請選擇不同的席次數", + "seatsUpdated": "已更新席次", + "seatsUpdatedMessage": "你的企業席次已更新為 {{seats}}", + "updateProcessing": "正在處理更新", + "updateProcessingMessage": "你的席次更新正在處理中。請稍後重新整理。", + "notEnterprise": "僅企業授權可管理席次" + }, + "upgradeBanner": { + "title": "升級至 Server 方案", + "message": "以不限人數與進階功能,充分發揮 Stirling PDF", + "upgradeButton": "立即升級", + "dismiss": "關閉橫幅", + "attentionTitle": "此伺服器需要管理員關注", + "attentionBody": "你的管理員需要登入以查看更多資訊。請立即聯絡他們。", + "attentionBodyAdmin": "請檢視授權需求以維持此伺服器合規。", + "seeInfo": "查看資訊" }, "payment": { "preparing": "正在準備結帳...", @@ -5128,7 +5548,61 @@ "success": "付款成功!", "successMessage": "您的訂閱已成功啟用。您將很快收到確認電子郵件。", "autoClose": "此視窗將自動關閉...", - "error": "付款錯誤" + "error": "付款錯誤", + "upgradeSuccess": "付款成功!你的訂閱已升級。伺服器上的授權已更新。你將很快收到確認 Email。", + "paymentSuccess": "付款成功!正在擷取你的授權金鑰...", + "licenseActivated": "已啟用授權!你的授權金鑰已儲存。確認 Email 已寄至你的註冊信箱。", + "licenseDelayed": "付款成功!你的授權正在產生中。你將很快收到含授權金鑰的 Email。若 10 分鐘內未收到,請聯絡客服。", + "licensePollingError": "付款成功但我們無法自動擷取你的授權金鑰。請查收 Email 或攜帶付款確認聯絡客服。", + "licenseRetrievalError": "付款成功但擷取授權失敗。你將透過 Email 收到授權金鑰。若 10 分鐘內未收到,請聯絡客服。", + "syncError": "付款成功但授權同步失敗。你的授權將很快更新。若問題持續,請聯絡客服。", + "licenseSaveError": "儲存授權金鑰失敗。請攜帶授權金鑰聯絡客服完成啟用。", + "paymentCanceled": "已取消付款。未扣款。", + "syncingLicense": "正在同步升級後的授權...", + "generatingLicense": "正在產生授權金鑰...", + "upgradeComplete": "升級完成", + "upgradeCompleteMessage": "你的訂閱已成功升級。既有授權金鑰已更新。", + "stripeNotConfigured": "未設定 Stripe", + "stripeNotConfiguredMessage": "尚未設定 Stripe 付款整合。請聯絡你的管理員。", + "monthly": "月繳", + "yearly": "年繳", + "billingPeriod": "計費週期", + "enterpriseNote": "席次可在結帳時調整(1-1000)。", + "installationId": "安裝 ID", + "licenseKey": "你的授權金鑰", + "licenseInstructions": "這已加入你的安裝中。你也會收到一封 Email 副本。", + "canCloseWindow": "你現在可以關閉此視窗。", + "licenseKeyProcessing": "授權金鑰處理中", + "licenseDelayedMessage": "你的授權金鑰正在產生中。請稍後查收 Email,或聯絡客服。", + "perYear": "/年", + "perMonth": "/月", + "emailInvalid": "請輸入有效的 Email 位址", + "emailStage": { + "title": "輸入你的 Email", + "description": "我們將用它來寄送你的授權金鑰與收據。", + "emailLabel": "Email 位址", + "emailPlaceholder": "your@email.com", + "continue": "繼續", + "modalTitle": "開始使用 - {{planName}}" + }, + "planStage": { + "title": "選擇你的計費週期", + "savingsNote": "年繳可省下 {{percent}}%", + "basePrice": "基本價格", + "seatPrice": "每席價格", + "totalForSeats": "總計({{count}} 席)", + "selectMonthly": "選擇月繳", + "selectYearly": "選擇年繳", + "savePercent": "省下 {{percent}}%", + "savingsAmount": "你可省下 {{amount}}", + "modalTitle": "選擇計費週期 - {{planName}}", + "billedYearly": "年繳金額為 {{currency}}{{amount}}" + }, + "paymentStage": { + "backToPlan": "返回方案選擇", + "selectedPlan": "已選擇的方案", + "modalTitle": "完成付款 - {{planName}}" + } }, "firstLogin": { "title": "首次登入", @@ -5287,5 +5761,281 @@ "offline": "後端離線", "starting": "後端正在啟動...", "wait": "請等待後端啟動完成後再試一次。" + }, + "encryptedPdfUnlock": { + "unlockPrompt": "解鎖 PDF 以繼續", + "title": "移除密碼以繼續", + "description": "此 PDF 已受密碼保護。請輸入密碼以繼續操作。", + "password": { + "label": "PDF 密碼", + "placeholder": "輸入 PDF 密碼" + }, + "skip": "暫時略過", + "unlock": "解鎖並繼續", + "incorrectPassword": "密碼錯誤", + "missingFile": "選取的檔案已不存在。", + "emptyResponse": "移除密碼未產生檔案。", + "required": "請輸入密碼以繼續。", + "successTitle": "已移除密碼", + "successBodyWithName": "已從 {{fileName}} 移除密碼", + "successBody": "已成功移除密碼。" + }, + "setup": { + "welcome": "歡迎使用 Stirling PDF", + "description": "開始選擇你要如何使用 Stirling PDF", + "step1": { + "label": "選擇模式", + "description": "離線或伺服器" + }, + "step2": { + "label": "選擇伺服器", + "description": "自託管伺服器" + }, + "step3": { + "label": "登入", + "description": "輸入認證資訊" + }, + "mode": { + "saas": { + "title": "Stirling Cloud", + "description": "使用你的 Stirling 帳戶登入" + }, + "selfhosted": { + "title": "自託管伺服器", + "description": "連線至你自己的 Stirling PDF 伺服器" + } + }, + "saas": { + "title": "登入 Stirling", + "subtitle": "使用你的 Stirling 帳戶登入" + }, + "selfhosted": { + "title": "登入伺服器", + "subtitle": "輸入你的伺服器認證資訊" + }, + "server": { + "title": "連線至伺服器", + "subtitle": "輸入你的自託管伺服器 URL", + "type": { + "saas": "Stirling PDF SaaS", + "selfhosted": "自託管伺服器" + }, + "url": { + "label": "伺服器 URL", + "description": "輸入你自託管 Stirling PDF 伺服器的完整 URL" + }, + "error": { + "emptyUrl": "請輸入伺服器 URL", + "unreachable": "無法連線至伺服器", + "testFailed": "連線測試失敗" + }, + "testing": "正在測試連線..." + }, + "login": { + "title": "登入", + "subtitle": "輸入你的認證資訊以繼續", + "connectingTo": "正在連線到:", + "username": { + "label": "使用者名稱", + "placeholder": "輸入你的使用者名稱" + }, + "email": { + "label": "Email", + "placeholder": "輸入你的 Email" + }, + "password": { + "label": "密碼", + "placeholder": "輸入你的密碼" + }, + "error": { + "emptyUsername": "請輸入你的使用者名稱", + "emptyEmail": "請輸入你的 Email", + "emptyPassword": "請輸入你的密碼", + "oauthFailed": "OAuth 登入失敗。請再試一次。" + }, + "submit": "登入", + "signInWith": "以此登入", + "oauthPending": "正在開啟瀏覽器進行驗證...", + "orContinueWith": "或改用 Email 繼續" + } + }, + "oauth": { + "success": { + "title": "驗證成功", + "message": "你可以關閉此視窗並回到 Stirling PDF。" + }, + "error": { + "title": "驗證失敗", + "message": "驗證未成功。你可以關閉此視窗後再試一次。" + } + }, + "pdfTextEditor": { + "title": "PDF JSON 編輯器", + "viewLabel": "PDF 編輯器", + "converting": "正在將 PDF 轉換為可編輯格式...", + "conversionFailed": "轉換 PDF 失敗。請再試一次。", + "currentFile": "目前檔案:{{name}}", + "pageSummary": "第 {{number}} / {{total}} 頁", + "pagePreviewAlt": "頁面預覽", + "imageLabel": "已放置的圖片", + "noTextOnPage": "此頁未偵測到可編輯文字。", + "pageType": { + "paragraph": "段落頁面", + "sparse": "零散文字" + }, + "groupingMode": { + "auto": "自動", + "paragraph": "段落", + "singleLine": "單行" + }, + "badges": { + "unsaved": "已編輯", + "modified": "已編輯", + "earlyAccess": "搶先體驗" + }, + "actions": { + "reset": "重設變更", + "downloadJson": "下載 JSON", + "generatePdf": "產生 PDF" + }, + "options": { + "autoScaleText": { + "title": "自動縮放文字以符合方框", + "description": "當字型呈現與 PDF 不同時,自動在水平方向縮放文字以適配其原始邊界框。" + }, + "groupingMode": { + "title": "文字分組模式", + "autoDescription": "自動偵測頁面類型並適當分組文字。", + "paragraphDescription": "將對齊的多行合併為段落文字框。", + "singleLineDescription": "每一行 PDF 文字保留為單獨的文字框。" + }, + "manualGrouping": { + "descriptionInline": "提示:按住 Ctrl(或 Cmd)或 Shift 以多選文字框。選取上方會出現浮動工具列,可用來合併、取消分組或調整寬度。" + }, + "forceSingleElement": { + "title": "將已編輯文字鎖定為單一 PDF 元素", + "description": "啟用時,編輯器會將每個已編輯文字框匯出為一個 PDF 文字元素,以避免字形重疊或字型混用。" + } + }, + "manual": { + "mergeTooltip": "合併所選方框", + "merge": "合併所選", + "ungroupTooltip": "將段落拆回多行", + "ungroup": "取消分組所選", + "widthMenu": "寬度選項", + "expandWidth": "展開至頁緣", + "resetWidth": "重設寬度", + "resizeHandle": "調整文字寬度" + }, + "disclaimer": { + "heading": "預覽限制", + "textFocus": "此工作區專注於編輯文字與重新定位嵌入的圖片。複雜的頁面圖像、表單元件與分層圖形會在匯出時保留,但無法於此完全編輯。", + "previewVariance": "部分視覺元素(如表格邊框、形狀或註解外觀)在預覽中可能與實際略有差異。匯出後的 PDF 會盡可能保留原始繪圖指令。", + "alpha": "此 Alpha 檢視器仍在演進中——部分字型、顏色、透明度效果與版面細節可能略有變動。分享前請再次檢查產生的 PDF。" + }, + "empty": { + "title": "尚未載入文件", + "subtitle": "載入 PDF 或 JSON 檔以開始編輯文字內容。" + }, + "welcomeBanner": { + "title": "歡迎使用 PDF 文字編輯器(搶先體驗)", + "experimental": "這是仍在積極開發中的實驗性功能。使用期間可能遇到些許不穩定與問題。", + "howItWorks": "此工具會將你的 PDF 轉為可編輯格式,你可修改文字內容並重新定位圖片。變更將另存為新的 PDF。", + "bestFor": "最適合:", + "bestFor1": "以文字與圖片為主的簡單 PDF", + "bestFor2": "採標準段落格式的文件", + "bestFor3": "信件、論文、報告與基本文件", + "notIdealFor": "不適用於:", + "notIdealFor1": "含特殊格式的 PDF,例如項目符號、表格或多欄版面", + "notIdealFor2": "雜誌、型錄或高度設計的文件", + "notIdealFor3": "版面複雜的說明手冊", + "limitations": "目前限制:", + "limitation1": "字型呈現可能與原始 PDF 略有差異", + "limitation2": "複雜圖形、表單欄位與註解會保留,但不可編輯", + "limitation3": "大型檔案可能需要時間轉換與處理", + "knownIssues": "已知問題(修復中):", + "issue1": "目前無法保留文字顏色(即將加入)", + "issue2": "段落模式對齊與間距問題較多,建議使用單行模式", + "issue3": "預覽與匯出後的 PDF 顯示不同;匯出的 PDF 更接近原始檔", + "issue4": "旋轉文字的對齊可能需要手動調整", + "issue5": "透明與分層效果可能與原始不同", + "feedback": "此功能為搶先體驗。請回報任何問題以協助我們改進!", + "gotIt": "知道了", + "dontShowAgain": "不再顯示" + }, + "modeChange": { + "title": "確認變更模式", + "warning": "變更文字群組模式將重設所有未儲存的變更。確定要繼續嗎?", + "cancel": "取消", + "confirm": "重設並變更模式" + }, + "fontAnalysis": { + "details": "字型詳細資訊", + "embedded": "嵌入", + "type": "類型", + "webFormat": "Web 格式", + "warnings": "警告", + "suggestions": "備註", + "currentPageFonts": "此頁字型", + "allFonts": "所有字型", + "fallback": "後備", + "missing": "缺少", + "perfectMessage": "所有字型皆可完美重現。", + "warningMessage": "某些字型可能無法正確呈現。", + "infoMessage": "提供字型重現相關資訊。", + "perfect": "完美", + "subset": "子集" + }, + "errors": { + "invalidJson": "無法讀取 JSON 檔。請確認該檔是由 PDF to JSON 工具產生。", + "pdfConversion": "無法將已編輯的 JSON 轉回 PDF。" + } + }, + "auth": { + "sessionExpired": "工作階段已逾時", + "pleaseLoginAgain": "請重新登入。", + "accessDenied": "拒絕存取", + "insufficientPermissions": "您沒有執行此操作的權限。" + }, + "addText": { + "title": "新增文字", + "header": "在 PDF 新增文字", + "text": { + "name": "文字內容", + "placeholder": "輸入要新增的文字", + "fontLabel": "字型", + "fontSizeLabel": "字型大小", + "fontSizePlaceholder": "輸入或選擇字型大小 (8-200)", + "colorLabel": "文字顏色" + }, + "steps": { + "configure": "設定文字" + }, + "step": { + "createDesc": "輸入要新增的文字", + "place": "放置文字", + "placeDesc": "在 PDF 上點擊以加入文字" + }, + "instructions": { + "title": "如何新增文字", + "text": "在上方輸入文字後,於 PDF 任意位置點擊以放置。", + "paused": "暫停放置", + "resumeHint": "恢復放置後即可點擊加入文字。", + "noSignature": "請先在上方輸入文字以啟用放置。" + }, + "mode": { + "move": "移動文字", + "place": "放置文字", + "pause": "暫停放置", + "resume": "恢復放置" + }, + "results": { + "title": "新增文字結果" + }, + "error": { + "failed": "將文字新增到 PDF 時發生錯誤。" + }, + "tags": "文字,註解,標籤", + "applySignatures": "套用文字" } } \ No newline at end of file diff --git a/frontend/src/proprietary/routes/Login.tsx b/frontend/src/proprietary/routes/Login.tsx index a64fac500..c5b361a8f 100644 --- a/frontend/src/proprietary/routes/Login.tsx +++ b/frontend/src/proprietary/routes/Login.tsx @@ -1,5 +1,6 @@ import { useEffect, useState } from 'react'; import { useNavigate, useSearchParams } from 'react-router-dom'; +import { Text, Stack, Alert } from '@mantine/core'; import { springAuth } from '@app/auth/springAuthClient'; import { useAuth } from '@app/auth/UseSession'; import { useTranslation } from 'react-i18next'; @@ -29,6 +30,8 @@ export default function Login() { const [enabledProviders, setEnabledProviders] = useState([]); const [hasSSOProviders, setHasSSOProviders] = useState(false); const [_enableLogin, setEnableLogin] = useState(null); + const [isFirstTimeSetup, setIsFirstTimeSetup] = useState(false); + const [showDefaultCredentials, setShowDefaultCredentials] = useState(false); // Redirect immediately if user has valid session (JWT already validated by AuthProvider) useEffect(() => { @@ -55,6 +58,10 @@ export default function Login() { setEnableLogin(data.enableLogin ?? true); + // Set first-time setup flags + setIsFirstTimeSetup(data.firstTimeSetup ?? false); + setShowDefaultCredentials(data.showDefaultCredentials ?? false); + // Extract provider IDs from the providerList map // The keys are like "/oauth2/authorization/google" - extract the last part const providerIds = Object.keys(data.providerList || {}) @@ -259,6 +266,31 @@ export default function Login() { )} + {/* Help section - only show on first-time setup with default credentials */} + {isFirstTimeSetup && showDefaultCredentials && ( + + + + {t('login.defaultCredentials', 'Default Login Credentials')} + + + {t('login.username', 'Username')}: admin + + + {t('login.password', 'Password')}: stirling + + + {t('login.changePasswordWarning', 'Please change your password after logging in for the first time')} + + + + )} + ); }