mirror of
https://github.com/arsvendg/Stirling-PDF.git
synced 2026-07-16 19:33:11 +02:00
translations (#5469)
# Description of Changes <!-- Please provide a summary of the changes, including: - What was changed - Why the change was made - Any challenges encountered Closes #(issue_number) --> --- ## 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.
This commit is contained in:
@@ -1,8 +1,11 @@
|
||||
unsavedChanges = "لديك تغييرات غير محفوظة على ملف PDF. ماذا تريد أن تفعل؟"
|
||||
pendingRedactionsTitle = "تنقيحات غير مطبّقة"
|
||||
pendingRedactions = "لديك تنقيحات غير مطبّقة ستُفقد."
|
||||
areYouSure = "هل أنت متأكد أنك تريد المغادرة؟"
|
||||
unsavedChangesTitle = "تغييرات غير محفوظة"
|
||||
keepWorking = "واصل العمل"
|
||||
discardChanges = "تجاهل التغييرات"
|
||||
discardRedactions = "تجاهل والمغادرة"
|
||||
applyAndContinue = "تطبيق والمتابعة"
|
||||
exportAndContinue = "تصدير ومتابعة"
|
||||
cancel = "إلغاء"
|
||||
@@ -364,6 +367,7 @@ advanced = "متقدم"
|
||||
title = "الأمان والمصادقة"
|
||||
security = "الأمان"
|
||||
connections = "الاتصالات"
|
||||
telegram = "Telegram"
|
||||
|
||||
[settings.licensingAnalytics]
|
||||
title = "الترخيص والتحليلات"
|
||||
@@ -438,25 +442,34 @@ currentVersion = "الإصدار الحالي"
|
||||
latestVersion = "أحدث إصدار"
|
||||
checkForUpdates = "التحقق من التحديثات"
|
||||
viewDetails = "عرض التفاصيل"
|
||||
serverNeedsUpdate = "يحتاج الخادم إلى التحديث من قِبل المسؤول"
|
||||
|
||||
[settings.general.versionInfo]
|
||||
title = "معلومات الإصدار"
|
||||
description = "تفاصيل إصدار سطح المكتب والخادم"
|
||||
desktop = "إصدار سطح المكتب"
|
||||
server = "إصدار الخادم"
|
||||
|
||||
[settings.security]
|
||||
title = "Security"
|
||||
description = "Update your password to keep your account secure."
|
||||
title = "الأمان"
|
||||
description = "حدّث كلمة مرورك للحفاظ على أمان حسابك."
|
||||
|
||||
[settings.security.password]
|
||||
subtitle = "Change your password. You will be logged out after updating."
|
||||
required = "All fields are required."
|
||||
mismatch = "New passwords do not match."
|
||||
error = "Unable to update password. Please verify your current password and try again."
|
||||
success = "Password updated successfully. Please sign in again."
|
||||
ssoDisabled = "Password changes are managed by your identity provider."
|
||||
current = "Current password"
|
||||
currentPlaceholder = "Enter your current password"
|
||||
new = "New password"
|
||||
newPlaceholder = "Enter a new password"
|
||||
confirm = "Confirm new password"
|
||||
confirmPlaceholder = "Re-enter your new password"
|
||||
update = "Update password"
|
||||
subtitle = "غيّر كلمة مرورك. سيتم تسجيل خروجك بعد التحديث."
|
||||
required = "جميع الحقول مطلوبة."
|
||||
mismatch = "لا تتطابق كلمتا المرور الجديدتان."
|
||||
error = "تعذّر تحديث كلمة المرور. يرجى التحقق من كلمة المرور الحالية والمحاولة مرة أخرى."
|
||||
success = "تم تحديث كلمة المرور بنجاح. يرجى تسجيل الدخول مجددًا."
|
||||
ssoDisabled = "تتم إدارة تغييرات كلمة المرور بواسطة موفر الهوية لديك."
|
||||
current = "كلمة المرور الحالية"
|
||||
currentPlaceholder = "أدخل كلمة المرور الحالية"
|
||||
new = "كلمة مرور جديدة"
|
||||
newPlaceholder = "أدخل كلمة مرور جديدة"
|
||||
confirm = "تأكيد كلمة المرور الجديدة"
|
||||
confirmPlaceholder = "أعد إدخال كلمة المرور الجديدة"
|
||||
update = "تحديث كلمة المرور"
|
||||
|
||||
|
||||
|
||||
[settings.hotkeys]
|
||||
title = "اختصارات لوحة المفاتيح"
|
||||
@@ -511,16 +524,16 @@ low = "منخفض"
|
||||
title = "تغيير بيانات الاعتماد"
|
||||
header = "تحديث تفاصيل حسابك"
|
||||
changePassword = "أنت تستخدم بيانات تسجيل الدخول الافتراضية. يرجى إدخال كلمة مرور جديدة"
|
||||
ssoManaged = "Your account is managed by your identity provider."
|
||||
ssoManaged = "يتم إدارة حسابك بواسطة موفر الهوية."
|
||||
newUsername = "اسم المستخدم الجديد"
|
||||
oldPassword = "كلمة المرور الحالية"
|
||||
newPassword = "كلمة المرور الجديدة"
|
||||
confirmNewPassword = "تأكيد كلمة المرور الجديدة"
|
||||
submit = "إرسال التغييرات"
|
||||
credsUpdated = "Account updated"
|
||||
description = "Changes saved. Please log in again."
|
||||
error = "Unable to update username. Please verify your password and try again."
|
||||
changeUsername = "Update your username. You will be logged out after updating."
|
||||
credsUpdated = "تم تحديث الحساب"
|
||||
description = "تم حفظ التغييرات. يرجى تسجيل الدخول مجددًا."
|
||||
error = "تعذّر تحديث اسم المستخدم. يرجى التحقق من كلمة المرور والمحاولة مرة أخرى."
|
||||
changeUsername = "حدّث اسم المستخدم. سيتم تسجيل خروجك بعد التحديث."
|
||||
|
||||
[account]
|
||||
title = "إعدادات الحساب"
|
||||
@@ -528,6 +541,8 @@ accountSettings = "إعدادات الحساب"
|
||||
adminSettings = "إعدادات المسؤول - عرض وإضافة المستخدمين"
|
||||
userControlSettings = "إعدادات التحكم في المستخدم"
|
||||
changeUsername = "تغيير اسم المستخدم"
|
||||
changeUsernameDescription = "حدّث اسم المستخدم. سيتم تسجيل خروجك بعد التحديث."
|
||||
newUsernamePlaceholder = "أدخل اسم المستخدم الجديد"
|
||||
newUsername = "اسم المستخدم الجديد"
|
||||
password = "كلمة مرور التأكيد"
|
||||
oldPassword = "كلمة المرور القديمة"
|
||||
@@ -737,9 +752,9 @@ title = "توقيع"
|
||||
desc = "إضافة التوقيع إلى PDF عن طريق الرسم أو النص أو الصورة"
|
||||
|
||||
[home.annotate]
|
||||
tags = "annotate,highlight,draw"
|
||||
title = "Annotate"
|
||||
desc = "Highlight, draw, add notes and shapes in the viewer"
|
||||
tags = "تعليق, تمييز, رسم"
|
||||
title = "تعليق"
|
||||
desc = "قم بتمييز ورسم وإضافة ملاحظات وأشكال في العارض"
|
||||
|
||||
[home.flatten]
|
||||
tags = "تبسيط،إزالة،تفاعلي"
|
||||
@@ -951,8 +966,8 @@ desc = "تراكب ملف PDF فوق آخر"
|
||||
title = "تراكب ملفات PDF"
|
||||
|
||||
[home.pdfTextEditor]
|
||||
title = "محرر نص PDF"
|
||||
desc = "حرّر النصوص والصور الموجودة داخل ملفات PDF"
|
||||
title = "محرر نصوص PDF"
|
||||
desc = "مراجعة وتحرير صادرات Stirling PDF بصيغة JSON مع تحرير نصوص مجمّعة وإعادة إنشاء PDF"
|
||||
|
||||
[home.addText]
|
||||
tags = "نص,تعليق,تسمية"
|
||||
@@ -963,6 +978,7 @@ desc = "أضف نصاً مخصصاً في أي مكان داخل PDF"
|
||||
addFiles = "إضافة ملفات"
|
||||
uploadFromComputer = "الرفع من الكمبيوتر"
|
||||
openFromComputer = "فتح من الكمبيوتر"
|
||||
mobileUpload = "رفع من الهاتف المحمول"
|
||||
|
||||
[viewPdf]
|
||||
tags = "عرض,قراءة,تعليق,نص,صورة"
|
||||
@@ -1278,21 +1294,33 @@ cbzOptions = "خيارات التحويل من CBZ إلى PDF"
|
||||
optimizeForEbook = "تحسين PDF لقارئات الكتب الإلكترونية (يستخدم Ghostscript)"
|
||||
cbzOutputOptions = "خيارات التحويل من PDF إلى CBZ"
|
||||
cbzDpi = "DPI لعرض الصور"
|
||||
cbrOptions = "CBR Options"
|
||||
cbrOutputOptions = "PDF to CBR Options"
|
||||
cbrDpi = "DPI for image rendering"
|
||||
cbrOptions = "خيارات CBR"
|
||||
cbrOutputOptions = "خيارات تحويل PDF إلى CBR"
|
||||
cbrDpi = "DPI لعرض الصور"
|
||||
|
||||
[convert.ebookOptions]
|
||||
ebookOptions = "eBook to PDF Options"
|
||||
ebookOptionsDesc = "Options for converting eBooks to PDF"
|
||||
embedAllFonts = "Embed all fonts"
|
||||
embedAllFontsDesc = "Embed all fonts from the eBook into the generated PDF"
|
||||
includeTableOfContents = "Include table of contents"
|
||||
includeTableOfContentsDesc = "Add a generated table of contents to the resulting PDF"
|
||||
includePageNumbers = "Include page numbers"
|
||||
includePageNumbersDesc = "Add page numbers to the generated PDF"
|
||||
optimizeForEbookPdf = "Optimize for ebook readers"
|
||||
optimizeForEbookPdfDesc = "Optimize the PDF for eBook reading (smaller file size, better rendering on eInk devices)"
|
||||
ebookOptions = "خيارات تحويل الكتب الإلكترونية إلى PDF"
|
||||
ebookOptionsDesc = "خيارات لتحويل الكتب الإلكترونية إلى PDF"
|
||||
embedAllFonts = "تضمين جميع الخطوط"
|
||||
embedAllFontsDesc = "تضمين كل الخطوط من الكتاب الإلكتروني في ملف PDF المُنشأ"
|
||||
includeTableOfContents = "تضمين جدول المحتويات"
|
||||
includeTableOfContentsDesc = "إضافة جدول محتويات مُنشأ إلى ملف PDF الناتج"
|
||||
includePageNumbers = "تضمين أرقام الصفحات"
|
||||
includePageNumbersDesc = "إضافة أرقام صفحات إلى ملف PDF المُنشأ"
|
||||
optimizeForEbookPdf = "تحسين لقارئات الكتب الإلكترونية"
|
||||
optimizeForEbookPdfDesc = "تحسين PDF لقراءة الكتب الإلكترونية (حجم ملف أصغر، عرض أفضل على أجهزة e-Ink)"
|
||||
|
||||
[convert.epubOptions]
|
||||
epubOptions = "خيارات تحويل PDF إلى كتاب إلكتروني"
|
||||
epubOptionsDesc = "خيارات لتحويل PDF إلى EPUB/AZW3"
|
||||
detectChapters = "اكتشاف الفصول"
|
||||
detectChaptersDesc = "اكتشاف العناوين التي تبدو كفصول وإدراج فواصل صفحات EPUB"
|
||||
targetDevice = "الجهاز المستهدف"
|
||||
targetDeviceDesc = "اختر ملف إخراج مُحسّن لجهاز القراءة"
|
||||
outputFormat = "صيغة الإخراج"
|
||||
outputFormatDesc = "اختر صيغة إخراج الكتاب الإلكتروني"
|
||||
tabletPhone = "جهاز لوحي/هاتف (مع صور)"
|
||||
kindleEink = "Kindle e-Ink (تحسين للنص)"
|
||||
|
||||
[imageToPdf]
|
||||
tags = "تحويل,صورة,jpg,صورة,صورة فوتوغرافية"
|
||||
@@ -1409,11 +1437,11 @@ header = "Add attachments"
|
||||
add = "إضافة مرفق"
|
||||
remove = "إزالة المرفق"
|
||||
embed = "تضمين مرفق"
|
||||
convertToPdfA3b = "Convert to PDF/A-3b"
|
||||
convertToPdfA3bDescription = "Creates an archival PDF with embedded attachments"
|
||||
convertToPdfA3bTooltip = "PDF/A-3b is an archival format ensuring long-term preservation. It allows embedding arbitrary file formats as attachments. Conversion requires Ghostscript and may take longer for large files."
|
||||
convertToPdfA3bTooltipHeader = "About PDF/A-3b Conversion"
|
||||
convertToPdfA3bTooltipTitle = "What it does"
|
||||
convertToPdfA3b = "تحويل إلى PDF/A-3b"
|
||||
convertToPdfA3bDescription = "ينشئ ملف PDF للأرشفة مع مرفقات مضمنة"
|
||||
convertToPdfA3bTooltip = "PDF/A-3b هو صيغة أرشفة تضمن الحفظ على المدى الطويل. يسمح بتضمين صيغ ملفات عشوائية كمرفقات. يتطلب التحويل استخدام Ghostscript وقد يستغرق وقتًا أطول للملفات الكبيرة."
|
||||
convertToPdfA3bTooltipHeader = "حول تحويل PDF/A-3b"
|
||||
convertToPdfA3bTooltipTitle = "ما الذي يفعله"
|
||||
submit = "Add attachments"
|
||||
|
||||
[watermark]
|
||||
@@ -2359,10 +2387,10 @@ saved = "محفوظ"
|
||||
label = "رفع صورة التوقيع"
|
||||
placeholder = "اختر ملف صورة"
|
||||
hint = "ارفع صورة PNG أو JPG لتوقيعك"
|
||||
removeBackground = "Remove white background (make transparent)"
|
||||
processing = "Processing image..."
|
||||
backgroundRemovalFailedTitle = "Background removal failed"
|
||||
backgroundRemovalFailedMessage = "Could not remove the background from the image. Using original image instead."
|
||||
removeBackground = "إزالة الخلفية البيضاء (جعلها شفافة)"
|
||||
processing = "جارٍ معالجة الصورة..."
|
||||
backgroundRemovalFailedTitle = "فشل إزالة الخلفية"
|
||||
backgroundRemovalFailedMessage = "تعذّر إزالة الخلفية من الصورة. سيتم استخدام الصورة الأصلية بدلًا من ذلك."
|
||||
|
||||
[sign.instructions]
|
||||
title = "كيفية إضافة توقيع"
|
||||
@@ -2409,9 +2437,9 @@ label = "تسطيح النماذج فقط"
|
||||
desc = "تسطيح حقول النماذج فقط مع إبقاء العناصر التفاعلية الأخرى كما هي"
|
||||
|
||||
[flatten.renderDpi]
|
||||
label = "Rendering DPI (optional, recommended 150 DPI)"
|
||||
help = "Leave blank to use the system default. Higher DPI sharpens output but increases processing time and file size."
|
||||
placeholder = "e.g. 150"
|
||||
label = "DPI العرض (اختياري، يوصى بـ 150 DPI)"
|
||||
help = "اتركه فارغًا لاستخدام الإعداد الافتراضي للنظام. زيادة DPI تحسّن الحدة لكنها تزيد وقت المعالجة وحجم الملف."
|
||||
placeholder = "مثال: 150"
|
||||
|
||||
[flatten.results]
|
||||
title = "نتائج التسطيح"
|
||||
@@ -2987,7 +3015,7 @@ header = "اقتصاص PDF"
|
||||
submit = "إرسال"
|
||||
noFileSelected = "حدّد ملف PDF لبدء القص"
|
||||
reset = "إعادة التعيين إلى كامل PDF"
|
||||
autoCrop = "Auto-crop whitespace"
|
||||
autoCrop = "اقتصاص تلقائي للمساحات البيضاء"
|
||||
|
||||
[crop.preview]
|
||||
title = "معاينة منطقة القص"
|
||||
@@ -3218,6 +3246,7 @@ title = "طريقة التنقيح"
|
||||
mode = "الوضع"
|
||||
automatic = "تلقائي"
|
||||
automaticDesc = "تنقيح النص بناءً على مصطلحات البحث"
|
||||
automaticDisabledTooltip = "حدد ملفات في مدير الملفات لتنقيح عدة ملفات دفعة واحدة"
|
||||
manual = "يدوي"
|
||||
manualDesc = "انقر واسحب لتنقيح مناطق محددة"
|
||||
manualComingSoon = "التنقيح اليدوي قريبًا"
|
||||
@@ -3288,8 +3317,35 @@ text = "مطابقة الكلمات الكاملة فقط، وليس المطا
|
||||
title = "التحويل إلى PDF-Image"
|
||||
text = "يحوّل PDF إلى PDF قائم على الصور بعد التنقيح. يضمن إزالة النص خلف صناديق التنقيح تمامًا وعدم إمكانية استعادته."
|
||||
|
||||
[redact.tooltip.manual.header]
|
||||
title = "عناصر التحكم في التنقيح اليدوي"
|
||||
|
||||
[redact.tooltip.manual.markText]
|
||||
title = "أداة تعليم النص"
|
||||
text = "حدّد نصًا مباشرة على ملف PDF لتمييزه للتنقيح. انقر واسحب لتحديد النص الذي تريد تنقيحه."
|
||||
|
||||
[redact.tooltip.manual.markArea]
|
||||
title = "أداة تعليم المنطقة"
|
||||
text = "ارسم مناطق مستطيلة على ملف PDF لتمييز مناطق للتنقيح. مفيد لتنقيح الصور أو التوقيعات أو الأشكال غير المنتظمة."
|
||||
|
||||
[redact.tooltip.manual.apply]
|
||||
title = "تطبيق التنقيحات"
|
||||
text = "بعد تعليم المحتوى، انقر 'تطبيق' لتنقيح جميع المناطق المعلَّمة نهائيًا. يُظهر العداد عدد التنقيحات الجاهزة للتطبيق."
|
||||
bullet1 = "قم بتعليم ما تشاء من مناطق قبل التطبيق"
|
||||
bullet2 = "تُطبَّق جميع التنقيحات المعلّقة دفعة واحدة"
|
||||
bullet3 = "لا يمكن التراجع عن التنقيحات بعد تطبيقها"
|
||||
|
||||
[redact.manual]
|
||||
title = "أدوات التنقيح"
|
||||
instructions = "حدّد نصًا أو ارسم مناطق على ملف PDF لتمييز المحتوى للتنقيح."
|
||||
markText = "تعليم النص"
|
||||
markArea = "تعليم المنطقة"
|
||||
pendingLabel = "معلّق:"
|
||||
applyWarning = "⚠️ تطبيق دائم، لا يمكن التراجع عنه وسيُحذف البيانات الموجودة تحته"
|
||||
apply = "تطبيق"
|
||||
noMarks = "لا توجد علامات تنقيح. استخدم الأدوات أعلاه لتمييز محتوى للتنقيح."
|
||||
header = "تنقيح يدوي"
|
||||
controlsTitle = "عناصر التحكم في التنقيح اليدوي"
|
||||
textBasedRedaction = "تنقيح قائم على النص"
|
||||
pageBasedRedaction = "تنقيح حسب الصفحة"
|
||||
convertPDFToImageLabel = "تحويل PDF إلى PDF-Image (لإزالة النص خلف الصندوق)"
|
||||
@@ -3406,17 +3462,17 @@ label = "التقسيمات العمودية"
|
||||
placeholder = "أدخل عدد التقسيمات العمودية"
|
||||
|
||||
[split-by-sections.splitMode]
|
||||
label = "Split Mode"
|
||||
description = "Choose how to split the pages"
|
||||
splitAll = "Split all pages"
|
||||
splitAllExceptFirst = "Split all except first"
|
||||
splitAllExceptLast = "Split all except last"
|
||||
splitAllExceptFirstAndLast = "Split all except first and last"
|
||||
custom = "Custom pages"
|
||||
label = "وضع التقسيم"
|
||||
description = "اختر كيفية تقسيم الصفحات"
|
||||
splitAll = "تقسيم جميع الصفحات"
|
||||
splitAllExceptFirst = "تقسيم الجميع باستثناء الأولى"
|
||||
splitAllExceptLast = "تقسيم الجميع باستثناء الأخيرة"
|
||||
splitAllExceptFirstAndLast = "تقسيم الجميع باستثناء الأولى والأخيرة"
|
||||
custom = "صفحات مخصصة"
|
||||
|
||||
[split-by-sections.customPages]
|
||||
label = "Custom Page Numbers"
|
||||
placeholder = "e.g. 2,4,6"
|
||||
label = "أرقام صفحات مخصصة"
|
||||
placeholder = "مثال: 2,4,6"
|
||||
|
||||
[AddStampRequest]
|
||||
tags = "ختم, إضافة صورة, صورة وسط, علامة مائية, PDF, تضمين, تخصيص"
|
||||
@@ -3780,17 +3836,17 @@ filesize = "حجم الملف"
|
||||
label = "تطبيق التدرج الرمادي للضغط"
|
||||
|
||||
[compress.linearize]
|
||||
label = "Linearize PDF for fast web viewing"
|
||||
label = "تهيئة PDF خطيًا لعرض سريع على الويب"
|
||||
|
||||
[compress.lineArt]
|
||||
label = "Convert images to line art"
|
||||
description = "Uses ImageMagick to reduce pages to high-contrast black and white for maximum size reduction."
|
||||
unavailable = "ImageMagick is not installed or enabled on this server"
|
||||
detailLevel = "Detail level"
|
||||
edgeEmphasis = "Edge emphasis"
|
||||
edgeLow = "Gentle"
|
||||
edgeMedium = "Balanced"
|
||||
edgeHigh = "Strong"
|
||||
label = "تحويل الصور إلى رسومات خطية"
|
||||
description = "يستخدم ImageMagick لتقليل الصفحات إلى أبيض وأسود عالي التباين لأقصى تقليل للحجم."
|
||||
unavailable = "لم يتم تثبيت ImageMagick على هذا الخادم أو لم يتم تمكينه"
|
||||
detailLevel = "مستوى التفاصيل"
|
||||
edgeEmphasis = "تركيز الحواف"
|
||||
edgeLow = "خفيف"
|
||||
edgeMedium = "متوازن"
|
||||
edgeHigh = "قوي"
|
||||
|
||||
[compress.tooltip.header]
|
||||
title = "نظرة عامة على إعدادات الضغط"
|
||||
@@ -3810,8 +3866,8 @@ title = "تدرّج رمادي"
|
||||
text = "حدد هذا الخيار لتحويل جميع الصور إلى الأبيض والأسود، ما قد يقلّل حجم الملف بشكل ملحوظ خاصة لملفات PDF الممسوحة أو الكثيرة الصور."
|
||||
|
||||
[compress.tooltip.lineArt]
|
||||
title = "Line Art"
|
||||
text = "Convert pages to high-contrast black and white using ImageMagick. Use detail level to control how much content becomes black, and edge emphasis to control how aggressively edges are detected."
|
||||
title = "الرسومات الخطية"
|
||||
text = "حوّل الصفحات إلى أبيض وأسود عالي التباين باستخدام ImageMagick. استخدم مستوى التفاصيل للتحكم بكمية المحتوى الذي يصبح أسود، وتركيز الحواف للتحكم في مدى قوة اكتشاف الحواف."
|
||||
|
||||
[compress.error]
|
||||
failed = "حدث خطأ أثناء ضغط PDF."
|
||||
@@ -3826,9 +3882,9 @@ _value = "إعدادات الضغط"
|
||||
1 = "1-3 ضغط PDF،</br> 4-6 ضغط صور خفيف،</br> 7-9 ضغط صور قوي سيقلّل جودة الصور بشكل كبير"
|
||||
|
||||
[compress.compressionLevel]
|
||||
range1to3 = "Lower values preserve quality but result in larger files"
|
||||
range4to6 = "Medium compression with moderate quality reduction"
|
||||
range7to9 = "Higher values reduce file size significantly but may reduce image clarity"
|
||||
range1to3 = "القيم المنخفضة تحافظ على الجودة لكنها تنتج ملفات أكبر"
|
||||
range4to6 = "ضغط متوسط مع خفض معتدل للجودة"
|
||||
range7to9 = "القيم الأعلى تقلل حجم الملف بشكل كبير لكنها قد تقلل وضوح الصور"
|
||||
|
||||
[decrypt]
|
||||
passwordPrompt = "هذا الملف محمي بكلمة مرور. يرجى إدخال كلمة المرور:"
|
||||
@@ -3973,7 +4029,7 @@ version = "الإصدار الحالي"
|
||||
title = "توثيق API"
|
||||
header = "توثيق API"
|
||||
desc = "عرض واختبار نقاط نهاية Stirling PDF API"
|
||||
tags = "api,توثيق,swagger,نقاط النهاية,تطوير"
|
||||
tags = "api,documentation,swagger,endpoints,development"
|
||||
|
||||
[cookieBanner.popUp]
|
||||
title = "كيف نستخدم ملفات تعريف الارتباط"
|
||||
@@ -4011,8 +4067,8 @@ title = "التحليلات"
|
||||
description = "تساعدنا هذه الملفات على فهم كيفية استخدام أدواتنا، كي نركّز على بناء الميزات الأكثر قيمة لمجتمعنا. كن مطمئنًا—Stirling PDF لا يمكنه ولن يتتبع محتوى المستندات التي تعمل عليها."
|
||||
|
||||
[cookieBanner.services]
|
||||
posthog = "تحليلات PostHog"
|
||||
scarf = "Scarf بكسل"
|
||||
posthog = "PostHog Analytics"
|
||||
scarf = "Scarf Pixel"
|
||||
|
||||
[removeMetadata]
|
||||
submit = "إزالة البيانات الوصفية"
|
||||
@@ -4069,7 +4125,7 @@ deleteSelected = "حذف الصفحات المحددة"
|
||||
closePdf = "إغلاق PDF"
|
||||
exportAll = "تصدير PDF"
|
||||
downloadSelected = "تنزيل الملفات المحددة"
|
||||
annotations = "Annotations"
|
||||
annotations = "تعليقات"
|
||||
exportSelected = "تصدير الصفحات المحددة"
|
||||
saveChanges = "حفظ التغييرات"
|
||||
toggleTheme = "تبديل السِمة"
|
||||
@@ -4077,84 +4133,90 @@ language = "اللغة"
|
||||
toggleAnnotations = "تبديل ظهور التعليقات التوضيحية"
|
||||
search = "بحث في PDF"
|
||||
panMode = "وضع السحب"
|
||||
applyRedactionsFirst = "طبّق التنقيحات أولًا"
|
||||
rotateLeft = "تدوير لليسار"
|
||||
rotateRight = "تدوير لليمين"
|
||||
toggleSidebar = "تبديل الشريط الجانبي"
|
||||
toggleBookmarks = "تبديل الإشارات المرجعية"
|
||||
print = "طباعة PDF"
|
||||
draw = "رسم"
|
||||
redact = "تنقيح"
|
||||
exitRedaction = "الخروج من وضع التنقيح"
|
||||
save = "حفظ"
|
||||
downloadAll = "تنزيل الكل"
|
||||
saveAll = "حفظ الكل"
|
||||
|
||||
[textAlign]
|
||||
left = "Left"
|
||||
center = "Center"
|
||||
right = "Right"
|
||||
left = "يسار"
|
||||
center = "وسط"
|
||||
right = "يمين"
|
||||
|
||||
[annotation]
|
||||
title = "Annotate"
|
||||
desc = "Use highlight, pen, text, and notes. Changes stay live—no flattening required."
|
||||
highlight = "Highlight"
|
||||
pen = "Pen"
|
||||
text = "Text box"
|
||||
note = "Note"
|
||||
rectangle = "Rectangle"
|
||||
ellipse = "Ellipse"
|
||||
select = "Select"
|
||||
exit = "Exit annotation mode"
|
||||
strokeWidth = "Width"
|
||||
opacity = "Opacity"
|
||||
strokeOpacity = "Stroke Opacity"
|
||||
fillOpacity = "Fill Opacity"
|
||||
fontSize = "Font size"
|
||||
chooseColor = "Choose colour"
|
||||
color = "Colour"
|
||||
strokeColor = "Stroke Colour"
|
||||
fillColor = "Fill Colour"
|
||||
underline = "Underline"
|
||||
strikeout = "Strikeout"
|
||||
squiggly = "Squiggly"
|
||||
inkHighlighter = "Freehand Highlighter"
|
||||
freehandHighlighter = "Freehand Highlighter"
|
||||
square = "Square"
|
||||
circle = "Circle"
|
||||
polygon = "Polygon"
|
||||
line = "Line"
|
||||
stamp = "Add Image"
|
||||
textMarkup = "Text Markup"
|
||||
drawing = "Drawing"
|
||||
shapes = "Shapes"
|
||||
notesStamps = "Notes & Stamps"
|
||||
settings = "Settings"
|
||||
borderOn = "Border: On"
|
||||
borderOff = "Border: Off"
|
||||
editInk = "Edit Pen"
|
||||
editLine = "Edit Line"
|
||||
editNote = "Edit Note"
|
||||
editText = "Edit Text Box"
|
||||
editTextMarkup = "Edit Text Markup"
|
||||
editSelected = "Edit Annotation"
|
||||
editSquare = "Edit Square"
|
||||
editCircle = "Edit Circle"
|
||||
editPolygon = "Edit Polygon"
|
||||
unsupportedType = "This annotation type is not fully supported for editing."
|
||||
textAlignment = "Text Alignment"
|
||||
noteIcon = "Note Icon"
|
||||
imagePreview = "Preview"
|
||||
contents = "Text"
|
||||
backgroundColor = "Background colour"
|
||||
clearBackground = "Remove background"
|
||||
noBackground = "No background"
|
||||
stampSettings = "Stamp Settings"
|
||||
savingCopy = "Preparing download..."
|
||||
saveFailed = "Unable to save copy"
|
||||
saveReady = "Download ready"
|
||||
selectAndMove = "Select and Edit"
|
||||
editSelectDescription = "Click an existing annotation to edit its colour, opacity, text, or size."
|
||||
editStampHint = "To change the image, delete this stamp and add a new one."
|
||||
editSwitchToSelect = "Switch to Select & Edit to edit this annotation."
|
||||
undo = "Undo"
|
||||
redo = "Redo"
|
||||
applyChanges = "Apply Changes"
|
||||
title = "تعليق"
|
||||
desc = "استخدم التمييز والقلم والنص والملاحظات. تبقى التغييرات مباشرة—لا حاجة للتسطيح."
|
||||
highlight = "تمييز"
|
||||
pen = "قلم"
|
||||
text = "مربع نص"
|
||||
note = "ملاحظة"
|
||||
rectangle = "مستطيل"
|
||||
ellipse = "بيضاوي"
|
||||
select = "تحديد"
|
||||
exit = "الخروج من وضع التعليق"
|
||||
strokeWidth = "العرض"
|
||||
opacity = "العتامة"
|
||||
strokeOpacity = "عتامة الحد"
|
||||
fillOpacity = "عتامة التعبئة"
|
||||
fontSize = "حجم الخط"
|
||||
chooseColor = "اختر اللون"
|
||||
color = "اللون"
|
||||
strokeColor = "لون الحد"
|
||||
fillColor = "لون التعبئة"
|
||||
underline = "تسطير"
|
||||
strikeout = "شطب"
|
||||
squiggly = "خط متعرج"
|
||||
inkHighlighter = "أداة تمييز بخط اليد"
|
||||
freehandHighlighter = "أداة تمييز بخط اليد"
|
||||
square = "مربع"
|
||||
circle = "دائرة"
|
||||
polygon = "مضلع"
|
||||
line = "خط"
|
||||
stamp = "إضافة صورة"
|
||||
textMarkup = "وسم النص"
|
||||
drawing = "رسم"
|
||||
shapes = "أشكال"
|
||||
notesStamps = "ملاحظات وأختام"
|
||||
settings = "الإعدادات"
|
||||
borderOn = "الحد: مفعّل"
|
||||
borderOff = "الحد: معطّل"
|
||||
editInk = "تحرير القلم"
|
||||
editLine = "تحرير الخط"
|
||||
editNote = "تحرير الملاحظة"
|
||||
editText = "تحرير مربع النص"
|
||||
editTextMarkup = "تحرير وسم النص"
|
||||
editSelected = "تحرير التعليق"
|
||||
editSquare = "تحرير المربع"
|
||||
editCircle = "تحرير الدائرة"
|
||||
editPolygon = "تحرير المضلع"
|
||||
unsupportedType = "هذا النوع من التعليقات غير مدعوم بالكامل للتحرير."
|
||||
textAlignment = "محاذاة النص"
|
||||
noteIcon = "أيقونة الملاحظة"
|
||||
imagePreview = "معاينة"
|
||||
contents = "المحتوى"
|
||||
backgroundColor = "لون الخلفية"
|
||||
clearBackground = "إزالة الخلفية"
|
||||
noBackground = "بدون خلفية"
|
||||
stampSettings = "إعدادات الختم"
|
||||
savingCopy = "جارٍ تحضير التنزيل..."
|
||||
saveFailed = "تعذّر حفظ النسخة"
|
||||
saveReady = "التنزيل جاهز"
|
||||
selectAndMove = "تحديد وتحرير"
|
||||
editSelectDescription = "انقر تعليقًا موجودًا لتحرير لونه أو عتامته أو نصه أو حجمه."
|
||||
editStampHint = "لتغيير الصورة، احذف هذا الختم وأضف واحدًا جديدًا."
|
||||
editSwitchToSelect = "بدّل إلى «تحديد وتحرير» لتحرير هذا التعليق."
|
||||
undo = "تراجع"
|
||||
redo = "إعادة"
|
||||
applyChanges = "تطبيق التغييرات"
|
||||
saveChanges = "حفظ التغييرات"
|
||||
|
||||
[search]
|
||||
title = "بحث PDF"
|
||||
@@ -4205,20 +4267,20 @@ settings = "إعدادات"
|
||||
adminSettings = "إعدادات المشرف"
|
||||
allTools = "كل الأدوات"
|
||||
reader = "القارئ"
|
||||
tours = "Tours"
|
||||
showMeAround = "Show me around"
|
||||
tours = "جولات"
|
||||
showMeAround = "أرني جولة"
|
||||
|
||||
[quickAccess.toursTooltip]
|
||||
admin = "Watch walkthroughs here: Tools tour, New V2 layout tour, and the Admin tour."
|
||||
user = "Watch walkthroughs here: Tools tour and the New V2 layout tour."
|
||||
admin = "شاهد الشروحات هنا: جولة الأدوات، جولة التصميم الجديد V2، وجولة المسؤول."
|
||||
user = "شاهد الشروحات هنا: جولة الأدوات وجولة التصميم الجديد V2."
|
||||
|
||||
[quickAccess.helpMenu]
|
||||
toolsTour = "جولة الأدوات"
|
||||
toolsTourDesc = "تعرّف على ما تستطيع الأدوات فعله"
|
||||
adminTour = "جولة المسؤول"
|
||||
adminTourDesc = "استكشف إعدادات وميزات المسؤول"
|
||||
whatsNewTour = "See what's new in V2"
|
||||
whatsNewTourDesc = "Tour the updated layout"
|
||||
whatsNewTour = "اطّلع على الجديد في V2"
|
||||
whatsNewTourDesc = "جولة في التصميم المُحدَّث"
|
||||
|
||||
[admin]
|
||||
error = "خطأ"
|
||||
@@ -4237,6 +4299,8 @@ fetchError = "فشل تحميل الإعدادات"
|
||||
saveError = "فشل حفظ الإعدادات"
|
||||
saved = "تم حفظ الإعدادات بنجاح"
|
||||
saveSuccess = "تم حفظ الإعدادات بنجاح"
|
||||
success = "تم حفظ الإعدادات بنجاح"
|
||||
error = "فشل حفظ الإعدادات"
|
||||
save = "حفظ التغييرات"
|
||||
discard = "تجاهل"
|
||||
restartRequired = "مطلوب إعادة تشغيل"
|
||||
@@ -4360,6 +4424,13 @@ description = "المسار إلى ملف WeasyPrint التنفيذي لتحوي
|
||||
label = "ملف unoconvert التنفيذي"
|
||||
description = "المسار إلى LibreOffice unoconvert لتحويل المستندات (اتركه فارغًا للإعداد الافتراضي: /opt/venv/bin/unoconvert)"
|
||||
|
||||
[admin.settings.general.frontendUrl]
|
||||
label = "عنوان URL للواجهة الأمامية"
|
||||
description = "عنوان URL الأساسي للواجهة الأمامية (مثل https://pdf.example.com). يُستخدم لروابط دعوات البريد الإلكتروني وعمليات الرفع عبر رمز QR على الهاتف المحمول. اتركه فارغًا لاستخدام عنوان URL للواجهة الخلفية."
|
||||
|
||||
[admin.settings.badge]
|
||||
clickToUpgrade = "انقر لعرض تفاصيل الخطة"
|
||||
|
||||
[admin.settings.security]
|
||||
title = "الأمان"
|
||||
description = "تهيئة المصادقة، وسلوك تسجيل الدخول، وسياسات الأمان."
|
||||
@@ -4496,6 +4567,19 @@ connect = "ربط"
|
||||
disconnect = "قطع الاتصال"
|
||||
disconnected = "تم قطع اتصال المزوّد بنجاح"
|
||||
disconnectError = "فشل قطع اتصال المزوّد"
|
||||
mobileScannerConvertToPdf = "تحويل الصور إلى PDF"
|
||||
mobileScannerConvertToPdfDesc = "تحويل الصور المرفوعة تلقائيًا إلى صيغة PDF. إذا تم التعطيل، ستُحفظ الصور كما هي."
|
||||
mobileScannerImageResolution = "دقة الصورة"
|
||||
mobileScannerImageResolutionDesc = "دقة الصور المرفوعة. \"مخفَّضة\" تغيّر حجم الصور إلى حد أقصى 1200px لتقليل حجم الملف."
|
||||
imageResolutionFull = "كاملة (الحجم الأصلي)"
|
||||
imageResolutionReduced = "مخفَّضة (حتى 1200px)"
|
||||
mobileScannerPageFormat = "تنسيق الصفحة"
|
||||
mobileScannerPageFormatDesc = "حجم صفحة PDF للصور المحوَّلة. \"احتفاظ\" يستخدم أبعاد الصورة الأصلية."
|
||||
pageFormatKeep = "احتفاظ (الأبعاد الأصلية)"
|
||||
pageFormatA4 = "A4 (210×297mm)"
|
||||
pageFormatLetter = "Letter (8.5×11in)"
|
||||
mobileScannerStretchToFit = "تمديد لملء الصفحة"
|
||||
mobileScannerStretchToFitDesc = "مدّ الصور لملء الصفحة كاملة. إذا تم التعطيل، ستتم محاذاة الصور في الوسط مع الحفاظ على نسبة العرض إلى الارتفاع."
|
||||
|
||||
[admin.settings.connections.ssoAutoLogin]
|
||||
label = "تسجيل دخول تلقائي عبر SSO"
|
||||
@@ -4564,6 +4648,122 @@ description = "إنشاء حسابات المستخدمين تلقائيًا ع
|
||||
label = "حظر التسجيل"
|
||||
description = "منع تسجيل المستخدمين الجدد عبر SAML2"
|
||||
|
||||
[admin.settings.connections.mobileScanner]
|
||||
label = "رفع من الهاتف المحمول"
|
||||
enable = "تمكين الرفع عبر رمز QR"
|
||||
description = "السماح للمستخدمين برفع الملفات من الأجهزة المحمولة عبر مسح رمز QR"
|
||||
note = "ملاحظة: يتطلب تكوين عنوان URL للواجهة الأمامية. "
|
||||
link = "الضبط في إعدادات النظام"
|
||||
mobileScannerConvertToPdf = "تحويل الصور إلى PDF"
|
||||
mobileScannerConvertToPdfDesc = "تحويل الصور المرفوعة تلقائيًا إلى صيغة PDF. إذا تم التعطيل، ستُحفظ الصور كما هي."
|
||||
mobileScannerImageResolution = "دقة الصورة"
|
||||
mobileScannerImageResolutionDesc = "دقة الصور المرفوعة. \"مخفَّضة\" تغيّر حجم الصور إلى حد أقصى 1200px لتقليل حجم الملف."
|
||||
imageResolutionFull = "كاملة (الحجم الأصلي)"
|
||||
imageResolutionReduced = "مخفَّضة (حتى 1200px)"
|
||||
mobileScannerPageFormat = "تنسيق الصفحة"
|
||||
mobileScannerPageFormatDesc = "حجم صفحة PDF للصور المحوَّلة. \"احتفاظ\" يستخدم أبعاد الصورة الأصلية."
|
||||
pageFormatKeep = "احتفاظ (الأبعاد الأصلية)"
|
||||
pageFormatA4 = "A4 (210×297mm)"
|
||||
pageFormatLetter = "Letter (8.5×11in)"
|
||||
mobileScannerStretchToFit = "تمديد لملء الصفحة"
|
||||
mobileScannerStretchToFitDesc = "مدّ الصور لملء الصفحة كاملة. إذا تم التعطيل، ستتم محاذاة الصور في الوسط مع الحفاظ على نسبة العرض إلى الارتفاع."
|
||||
|
||||
[admin.settings.telegram]
|
||||
title = "روبوت Telegram"
|
||||
description = "اضبط اتصال روبوت Telegram، ضوابط الوصول، وسلوك التغذية الراجعة."
|
||||
|
||||
[admin.settings.telegram.enabled]
|
||||
label = "تمكين روبوت Telegram"
|
||||
description = "السماح للمستخدمين بالتفاعل مع Stirling PDF عبر روبوت Telegram المُكوَّن لديك."
|
||||
|
||||
[admin.settings.telegram.botUsername]
|
||||
label = "اسم مستخدم الروبوت"
|
||||
description = "الاسم العام لروبوت Telegram."
|
||||
|
||||
[admin.settings.telegram.botToken]
|
||||
label = "رمز الروبوت"
|
||||
description = "رمز API المُقدَّم من BotFather لروبوت Telegram."
|
||||
|
||||
[admin.settings.telegram.pipelineInboxFolder]
|
||||
label = "مجلد الوارد"
|
||||
description = "مجلد تحت دليل خط المعالجة حيث تُخزَّن ملفات Telegram الواردة."
|
||||
|
||||
[admin.settings.telegram.customFolderSuffix]
|
||||
label = "استخدام لاحقة مجلد مخصصة"
|
||||
description = "إلحاق معرّف الدردشة بمجلدات الملفات الواردة لعزل الرفع لكل دردشة."
|
||||
|
||||
[admin.settings.telegram.accessControl]
|
||||
title = "التحكم بالوصول"
|
||||
description = "تقييد المستخدمين أو القنوات التي يمكنها التفاعل مع الروبوت."
|
||||
|
||||
[admin.settings.telegram.enableAllowUserIDs]
|
||||
label = "السماح بمعرفات مستخدم محددة"
|
||||
description = "عند التمكين، يمكن فقط لمعرفات المستخدم المدرجة استخدام الروبوت."
|
||||
|
||||
[admin.settings.telegram.allowUserIDs]
|
||||
label = "معرّفات المستخدم المسموح بها"
|
||||
description = "أدخل معرّفات مستخدم Telegram المسموح لها بالتفاعل مع الروبوت."
|
||||
placeholder = "أضف معرّف مستخدم واضغط إدخال"
|
||||
|
||||
[admin.settings.telegram.enableAllowChannelIDs]
|
||||
label = "السماح بمعرفات قنوات محددة"
|
||||
description = "عند التمكين، يمكن فقط لمعرفات القنوات المدرجة استخدام الروبوت."
|
||||
|
||||
[admin.settings.telegram.allowChannelIDs]
|
||||
label = "معرّفات القنوات المسموح بها"
|
||||
description = "أدخل معرّفات قنوات Telegram المسموح لها بالتفاعل مع الروبوت."
|
||||
placeholder = "أضف معرّف قناة واضغط إدخال"
|
||||
|
||||
[admin.settings.telegram.processing]
|
||||
title = "المعالجة"
|
||||
description = "التحكم بفواصل الاستطلاع ومهلات المعالجة لعمليات الرفع عبر Telegram."
|
||||
|
||||
[admin.settings.telegram.processingTimeoutSeconds]
|
||||
label = "مهلة المعالجة (ثوانٍ)"
|
||||
description = "المدة القصوى لانتظار مهمة معالجة قبل الإبلاغ عن خطأ."
|
||||
|
||||
[admin.settings.telegram.pollingIntervalMillis]
|
||||
label = "فاصل الاستطلاع (مللي ثانية)"
|
||||
description = "الفاصل بين التحقق من تحديثات Telegram الجديدة."
|
||||
|
||||
[admin.settings.telegram.feedback]
|
||||
title = "رسائل التغذية الراجعة"
|
||||
description = "اختر متى يجب أن يرسل الروبوت رسائل تغذية راجعة للمستخدمين والقنوات."
|
||||
|
||||
[admin.settings.telegram.feedback.general.enabled]
|
||||
label = "تمكين التغذية الراجعة"
|
||||
description = "التحكم فيما إذا كان الروبوت يرسل رسائل تغذية راجعة من عدمه."
|
||||
|
||||
[admin.settings.telegram.feedback.channel]
|
||||
title = "قواعد تغذية القنوات"
|
||||
|
||||
[admin.settings.telegram.feedback.channel.noValidDocument]
|
||||
label = "إظهار \"لا يوجد مستند صالح\" (القناة)"
|
||||
description = "إخفاء رد عدم وجود مستند صالح لرفع القنوات."
|
||||
|
||||
[admin.settings.telegram.feedback.channel.errorProcessing]
|
||||
label = "إظهار أخطاء المعالجة (القناة)"
|
||||
description = "إرسال رسائل أخطاء المعالجة إلى القنوات."
|
||||
|
||||
[admin.settings.telegram.feedback.channel.errorMessage]
|
||||
label = "إظهار رسائل الخطأ (القناة)"
|
||||
description = "إظهار رسائل خطأ مفصّلة للقنوات."
|
||||
|
||||
[admin.settings.telegram.feedback.user]
|
||||
title = "قواعد تغذية المستخدم"
|
||||
|
||||
[admin.settings.telegram.feedback.user.noValidDocument]
|
||||
label = "إظهار \"لا يوجد مستند صالح\" (المستخدم)"
|
||||
description = "إخفاء رد عدم وجود مستند صالح لرفع المستخدمين."
|
||||
|
||||
[admin.settings.telegram.feedback.user.errorProcessing]
|
||||
label = "إظهار أخطاء المعالجة (المستخدم)"
|
||||
description = "إرسال رسائل أخطاء المعالجة إلى المستخدمين."
|
||||
|
||||
[admin.settings.telegram.feedback.user.errorMessage]
|
||||
label = "إظهار رسائل الخطأ (المستخدم)"
|
||||
description = "إظهار رسائل خطأ مفصّلة للمستخدمين."
|
||||
|
||||
[admin.settings.database]
|
||||
title = "قاعدة البيانات"
|
||||
description = "تهيئة إعدادات اتصال قاعدة بيانات مخصصة لعمليات النشر المؤسسية."
|
||||
@@ -4745,6 +4945,10 @@ description = "السماح للمسؤولين بدعوة المستخدمين
|
||||
label = "عنوان URL للواجهة الأمامية"
|
||||
description = "عنوان URL الأساسي للواجهة الأمامية (مثال: https://pdf.example.com). يُستخدم لإنشاء روابط الدعوة في الرسائل. اتركه فارغًا لاستخدام عنوان URL للواجهة الخلفية."
|
||||
|
||||
[admin.settings.mail.frontendUrlNote]
|
||||
note = "ملاحظة: يتطلب تكوين عنوان URL للواجهة الأمامية. "
|
||||
link = "الضبط في إعدادات النظام"
|
||||
|
||||
[admin.settings.legal]
|
||||
title = "الوثائق القانونية"
|
||||
description = "تهيئة روابط الوثائق والسياسات القانونية."
|
||||
@@ -4929,6 +5133,9 @@ googleDriveShort = "Drive"
|
||||
myFiles = "ملفاتي"
|
||||
noRecentFiles = "لم يتم العثور على ملفات حديثة"
|
||||
googleDriveNotAvailable = "تكامل Google Drive غير متاح"
|
||||
mobileUpload = "رفع من الهاتف المحمول"
|
||||
mobileShort = "الهاتف"
|
||||
mobileUploadNotAvailable = "الرفع من الهاتف غير مُمكّن"
|
||||
downloadSelected = "تنزيل المحدّد"
|
||||
saveSelected = "حفظ المحدد"
|
||||
openFiles = "فتح ملفات"
|
||||
@@ -5244,7 +5451,7 @@ loading = "جارٍ التحميل..."
|
||||
back = "رجوع"
|
||||
continue = "متابعة"
|
||||
error = "خطأ"
|
||||
save = "Save"
|
||||
save = "حفظ"
|
||||
|
||||
[config.overview]
|
||||
title = "تهيئة التطبيق"
|
||||
@@ -5307,6 +5514,15 @@ impact = "أي تطبيقات أو خدمات تستخدم هذه المفاتي
|
||||
confirmPrompt = "هل أنت متأكد أنك تريد المتابعة؟"
|
||||
confirmCta = "تحديث المفاتيح"
|
||||
|
||||
[config.apiKeys.alert]
|
||||
apiKeyErrorTitle = "خطأ في مفتاح API"
|
||||
failedToCreateApiKey = "فشل إنشاء مفتاح API."
|
||||
failedToRetrieveApiKey = "تعذّر جلب مفتاح API من الاستجابة."
|
||||
failedToFetchApiKey = "تعذّر جلب مفتاح API."
|
||||
apiKeyRefreshed = "تم تحديث مفتاح API"
|
||||
apiKeyRefreshedBody = "تم تحديث مفتاح API الخاص بك بنجاح."
|
||||
failedToRefreshApiKey = "فشل تحديث مفتاح API."
|
||||
|
||||
[AddAttachmentsRequest]
|
||||
attachments = "اختر المرفقات"
|
||||
info = "اختر ملفات لإرفاقها بملف PDF الخاص بك. سيتم تضمين هذه الملفات وإتاحتها عبر لوحة مرفقات PDF."
|
||||
@@ -5412,14 +5628,14 @@ startTour = "بدء الجولة"
|
||||
startTourDescription = "قم بجولة إرشادية للتعرّف على الميزات الرئيسية في Stirling PDF"
|
||||
|
||||
[onboarding.whatsNew]
|
||||
quickAccess = "Start at the <strong>Quick Access</strong> rail to jump between Reader, Automate, your files, and all the tours."
|
||||
leftPanel = "The left <strong>Tools</strong> panel lists everything you can do. Browse categories or search to find a tool quickly."
|
||||
fileUpload = "Use the <strong>Files</strong> button to upload or pick a recent PDF. We will load a sample so you can see the workspace."
|
||||
rightRail = "The <strong>Right Rail</strong> holds quick actions to select files, change theme or language, and download results."
|
||||
topBar = "The top bar lets you swap between <strong>Viewer</strong>, <strong>Page Editor</strong>, and <strong>Active Files</strong>."
|
||||
pageEditorView = "Switch to the Page Editor to reorder, rotate, or delete pages."
|
||||
activeFilesView = "Use Active Files to see everything you have open and pick what to work on."
|
||||
wrapUp = "That is what is new in V2. Open the <strong>Tours</strong> menu anytime to replay this, the Tools tour, or the Admin tour."
|
||||
quickAccess = "ابدأ من شريط <strong>الوصول السريع</strong> للتنقل بين Reader وAutomate وملفاتك وكل الجولات."
|
||||
leftPanel = "يعرض اللوح الأيسر <strong>الأدوات</strong> كل ما يمكنك فعله. تصفّح الفئات أو ابحث للعثور على أداة بسرعة."
|
||||
fileUpload = "استخدم زر <strong>الملفات</strong> لرفع أو اختيار PDF حديث. سنحمّل نموذجًا كي ترى مساحة العمل."
|
||||
rightRail = "يحتوي <strong>الشريط الأيمن</strong> على إجراءات سريعة لاختيار الملفات وتغيير السمة أو اللغة وتنزيل النتائج."
|
||||
topBar = "يتيح لك الشريط العلوي التبديل بين <strong>العارض</strong> و<strong>محرر الصفحات</strong> و<strong>الملفات النشطة</strong>."
|
||||
pageEditorView = "بدّل إلى محرر الصفحات لإعادة الترتيب أو التدوير أو حذف الصفحات."
|
||||
activeFilesView = "استخدم الملفات النشطة لرؤية كل ما فتحته واختيار ما ستعمل عليه."
|
||||
wrapUp = "هذا ما هو جديد في V2. افتح قائمة <strong>الجولات</strong> في أي وقت لإعادة تشغيل هذه الجولة أو جولة الأدوات أو جولة المسؤول."
|
||||
|
||||
[onboarding.welcomeModal]
|
||||
title = "مرحبًا بك في Stirling PDF!"
|
||||
@@ -5442,8 +5658,8 @@ showMeAround = "أرني الجولة"
|
||||
skipTheTour = "تخطي الجولة"
|
||||
|
||||
[onboarding.tourOverview]
|
||||
title = "Tour Overview"
|
||||
body = "Stirling PDF V2 ships with dozens of tools and a refreshed layout. Take a quick tour to see what changed and where to find the features you need."
|
||||
title = "نظرة عامة على الجولة"
|
||||
body = "تأتي Stirling PDF V2 بعشرات الأدوات وتصميم مُحدَّث. خذ جولة سريعة لترى ما الذي تغيّر وأين تجد الميزات التي تحتاجها."
|
||||
|
||||
[onboarding.serverLicense]
|
||||
skip = "تخطي الآن"
|
||||
@@ -5452,7 +5668,7 @@ upgrade = "الترقية الآن →"
|
||||
freeTitle = "ترخيص الخادم"
|
||||
overLimitTitle = "مطلوب ترخيص خادم"
|
||||
overLimitBody = "ترخيصنا يسمح حتى <strong>{{freeTierLimit}}</strong> مستخدمين مجاناً لكل خادم. لديك <strong>{{overLimitUserCopy}}</strong> مستخدمي Stirling. للمتابعة دون انقطاع، ارقَ إلى خطة خادم Stirling - <strong>مقاعد غير محدودة</strong>، تحرير نصوص PDF، وتحكم إداري كامل مقابل $99/خادم/شهرياً."
|
||||
freeBody = "يتيح ترخيصنا <strong>Open-Core</strong> ما يصل إلى <strong>{{freeTierLimit}}</strong> مستخدمًا مجانًا لكل خادم. للتوسع دون انقطاع، نوصي بخطة Stirling Server - <strong>مقاعد غير محدودة</strong> و<strong>دعم SSO</strong> مقابل $99/server/mo."
|
||||
freeBody = "ترخيص <strong>Open-Core</strong> لدينا يسمح حتى <strong>{{freeTierLimit}}</strong> مستخدمين مجاناً لكل خادم. للتوسع بسلاسة والحصول على وصول مبكر إلى <strong>أداة تحرير نصوص PDF</strong> الجديدة، نوصي بخطة خادم Stirling - تحرير كامل و<strong>مقاعد غير محدودة</strong> مقابل $99/خادم/شهرياً."
|
||||
|
||||
[onboarding.desktopInstall]
|
||||
title = "تنزيل"
|
||||
@@ -5758,28 +5974,28 @@ contactSales = "اتصل بالمبيعات"
|
||||
contactToUpgrade = "اتصل بنا للترقية أو تخصيص خطتك"
|
||||
maxUsers = "الحد الأقصى للمستخدمين"
|
||||
upTo = "حتى"
|
||||
getLicense = "Get Server License"
|
||||
upgradeToEnterprise = "Upgrade to Enterprise"
|
||||
selectPeriod = "Select Billing Period"
|
||||
monthlyBilling = "Monthly Billing"
|
||||
yearlyBilling = "Yearly Billing"
|
||||
checkoutOpened = "Checkout Opened"
|
||||
checkoutInstructions = "Complete your purchase in the Stripe tab. After payment, return here and refresh the page to activate your license. You will also receive an email with your license key."
|
||||
activateLicense = "Activate Your License"
|
||||
getLicense = "الحصول على ترخيص الخادم"
|
||||
upgradeToEnterprise = "الترقية إلى Enterprise"
|
||||
selectPeriod = "اختيار فترة الفوترة"
|
||||
monthlyBilling = "فوترة شهرية"
|
||||
yearlyBilling = "فوترة سنوية"
|
||||
checkoutOpened = "تم فتح صفحة الدفع"
|
||||
checkoutInstructions = "أكمل عملية الشراء في تبويب Stripe. بعد الدفع، ارجع إلى هنا وحدّث الصفحة لتفعيل ترخيصك. ستتلقى أيضًا بريدًا إلكترونيًا يحتوي على مفتاح الترخيص."
|
||||
activateLicense = "فعِّل ترخيصك"
|
||||
|
||||
[plan.static.licenseActivation]
|
||||
checkoutOpened = "Checkout Opened in New Tab"
|
||||
instructions = "Complete your purchase in the Stripe tab. Once your payment is complete, you will receive an email with your license key."
|
||||
enterKey = "Enter your license key below to activate your plan:"
|
||||
keyDescription = "Paste the license key from your email"
|
||||
activate = "Activate License"
|
||||
doLater = "I'll do this later"
|
||||
success = "License Activated!"
|
||||
successMessage = "Your license has been successfully activated. You can now close this window."
|
||||
checkoutOpened = "تم فتح الدفع في تبويب جديد"
|
||||
instructions = "أكمل عملية الشراء في تبويب Stripe. عند اكتمال الدفع، ستتلقى بريدًا إلكترونيًا يحتوي على مفتاح الترخيص."
|
||||
enterKey = "أدخل مفتاح الترخيص أدناه لتفعيل خطتك:"
|
||||
keyDescription = "الصق مفتاح الترخيص من بريدك الإلكتروني"
|
||||
activate = "تفعيل الترخيص"
|
||||
doLater = "سأفعل ذلك لاحقًا"
|
||||
success = "تم تفعيل الترخيص!"
|
||||
successMessage = "تم تفعيل ترخيصك بنجاح. يمكنك الآن إغلاق هذه النافذة."
|
||||
|
||||
[plan.static.billingPortal]
|
||||
title = "Email Verification Required"
|
||||
message = "You will need to verify your email address in the Stripe billing portal. Check your email for a login link."
|
||||
title = "مطلوب التحقق من البريد الإلكتروني"
|
||||
message = "ستحتاج إلى التحقق من عنوان بريدك الإلكتروني في بوابة فوترة Stripe. تحقق من بريدك للحصول على رابط تسجيل الدخول."
|
||||
|
||||
[plan.period]
|
||||
month = "شهر"
|
||||
@@ -5983,8 +6199,8 @@ notAvailable = "نظام التدقيق غير متاح"
|
||||
notAvailableMessage = "لم يتم تهيئة نظام التدقيق أو أنه غير متاح."
|
||||
disabled = "تم تعطيل تسجيل التدقيق"
|
||||
disabledMessage = "قم بتمكين تسجيل التدقيق في إعدادات التطبيق لتتبع أحداث النظام."
|
||||
enterpriseRequired = "Enterprise License Required"
|
||||
enterpriseRequiredMessage = "The audit logging system is an enterprise feature. Please upgrade to an enterprise license to access audit logs and analytics."
|
||||
enterpriseRequired = "يتطلب ترخيص Enterprise"
|
||||
enterpriseRequiredMessage = "نظام سجلات التدقيق ميزة ضمن فئة Enterprise. يرجى الترقية إلى ترخيص Enterprise للوصول إلى سجلات التدقيق والتحليلات."
|
||||
|
||||
[audit.error]
|
||||
title = "خطأ في تحميل نظام التدقيق"
|
||||
@@ -6156,6 +6372,7 @@ description = "أدخل عنوان URL الكامل لخادم Stirling PDF ال
|
||||
|
||||
[setup.server.error]
|
||||
emptyUrl = "يرجى إدخال عنوان URL للخادم"
|
||||
invalidUrl = "صيغة URL غير صالحة. يرجى إدخال عنوان URL صالح مثل https://your-server.com"
|
||||
unreachable = "تعذّر الاتصال بالخادم"
|
||||
testFailed = "فشل اختبار الاتصال"
|
||||
configFetch = "فشل في جلب إعدادات الخادم. يرجى التحقق من عنوان URL والمحاولة مرة أخرى."
|
||||
@@ -6174,6 +6391,7 @@ connectingTo = "جارٍ الاتصال بـ:"
|
||||
submit = "تسجيل الدخول"
|
||||
signInWith = "تسجيل الدخول باستخدام"
|
||||
oauthPending = "جارٍ فتح المتصفح للمصادقة..."
|
||||
sso = "تسجيل الدخول الموحد"
|
||||
orContinueWith = "أو المتابعة بالبريد الإلكتروني"
|
||||
serverRequirement = "ملاحظة: يجب أن يكون تسجيل الدخول مفعّلاً على الخادم."
|
||||
showInstructions = "كيفية التمكين؟"
|
||||
@@ -6239,8 +6457,8 @@ reset = "إعادة تعيين التغييرات"
|
||||
downloadJson = "تنزيل JSON"
|
||||
generatePdf = "توليد PDF"
|
||||
saveChanges = "حفظ التغييرات"
|
||||
applyChanges = "Apply Changes"
|
||||
downloadCopy = "Download Copy"
|
||||
applyChanges = "تطبيق التغييرات"
|
||||
downloadCopy = "تنزيل نسخة"
|
||||
|
||||
[pdfTextEditor.options.autoScaleText]
|
||||
title = "ضبط النص تلقائياً ليتناسب مع الصناديق"
|
||||
@@ -6260,22 +6478,22 @@ title = "قفل النص المُحرّر ضمن عنصر PDF واحد"
|
||||
description = "عند التفعيل، يصدّر المحرر كل صندوق نص مُحرّر كعنصر نص PDF واحد لتجنب تراكب المحارف أو اختلاط الخطوط."
|
||||
|
||||
[pdfTextEditor.options.advanced]
|
||||
title = "Advanced Settings"
|
||||
title = "إعدادات متقدمة"
|
||||
|
||||
[pdfTextEditor.tooltip.header]
|
||||
title = "Preview Limitations"
|
||||
title = "قيود المعاينة"
|
||||
|
||||
[pdfTextEditor.tooltip.textFocus]
|
||||
title = "Text and Image Focus"
|
||||
text = "This workspace focuses on editing text and repositioning embedded images. Complex page artwork, form widgets, and layered graphics are preserved for export but are not fully editable here."
|
||||
title = "تركيز النص والصورة"
|
||||
text = "يركّز هذا المجال على تحرير النص وإعادة تموضع الصور المضمّنة. ستُحفَظ الأعمال الفنية المعقّدة وعناصر النماذج والرسومات الطبقية للتصدير لكنها غير قابلة للتحرير بالكامل هنا."
|
||||
|
||||
[pdfTextEditor.tooltip.previewVariance]
|
||||
title = "Preview Variance"
|
||||
text = "Some visuals (such as table borders, shapes, or annotation appearances) may not display exactly in the preview. The exported PDF keeps the original drawing commands whenever possible."
|
||||
title = "اختلاف المعاينة"
|
||||
text = "قد لا تظهر بعض العناصر البصرية (مثل حدود الجداول أو الأشكال أو مظهر التعليقات) تمامًا كما هي في المعاينة. يحتفظ PDF المُصدَّر بأوامر الرسم الأصلية كلما أمكن."
|
||||
|
||||
[pdfTextEditor.tooltip.alpha]
|
||||
title = "Alpha Viewer"
|
||||
text = "This alpha viewer is still evolving—certain fonts, colours, transparency effects, and layout details may shift slightly. Please double-check the generated PDF before sharing."
|
||||
title = "عارض ألفا"
|
||||
text = "هذا العارض الألفا ما يزال قيد التطوير—قد تتغيّر بعض الخطوط والألوان وتأثيرات الشفافية وتفاصيل التخطيط قليلًا. يرجى التحقق من ملف PDF المُولَّد قبل المشاركة."
|
||||
|
||||
[pdfTextEditor.manual]
|
||||
mergeTooltip = "دمج الصناديق المحددة"
|
||||
@@ -6398,3 +6616,58 @@ title = "نتائج إضافة النص"
|
||||
|
||||
[addText.error]
|
||||
failed = "حدث خطأ أثناء إضافة النص إلى ملف PDF."
|
||||
|
||||
[mobileUpload]
|
||||
title = "رفع من الهاتف المحمول"
|
||||
description = "امسح ضوئيًا لرفع الصور. تتحول الصور تلقائيًا إلى PDF."
|
||||
descriptionNoConvert = "امسح ضوئيًا لرفع الصور من جهازك المحمول."
|
||||
error = "خطأ في الاتصال"
|
||||
pollingError = "خطأ أثناء التحقق من الملفات"
|
||||
sessionId = "معرّف الجلسة"
|
||||
sessionCreateError = "فشل إنشاء الجلسة"
|
||||
expiryWarning = "ستنتهي صلاحية الجلسة قريبًا"
|
||||
expiryWarningMessage = "ستنتهي صلاحية رمز QR هذا خلال {{seconds}} ثانية. سيتم توليد رمز جديد تلقائيًا."
|
||||
filesReceived = "تم استلام {{count}} ملف"
|
||||
connected = "تم توصيل الجهاز المحمول"
|
||||
instructions = "امسح باستخدام كاميرا هاتفك. تُحوَّل الصور إلى PDF تلقائيًا."
|
||||
instructionsNoConvert = "امسح باستخدام كاميرا هاتفك لرفع الملفات."
|
||||
|
||||
[mobileScanner]
|
||||
title = "الماسح عبر الهاتف"
|
||||
noSession = "جلسة غير صالحة"
|
||||
noSessionMessage = "يرجى مسح رمز QR صالح للوصول إلى هذه الصفحة."
|
||||
validating = "جارٍ التحقق من الجلسة..."
|
||||
sessionInvalid = "خطأ في الجلسة"
|
||||
sessionExpired = "انتهت صلاحية هذه الجلسة. يرجى التحديث والمحاولة مرة أخرى."
|
||||
sessionNotFound = "الجلسة غير موجودة. يرجى التحديث والمحاولة مرة أخرى."
|
||||
sessionValidationError = "تعذّر التحقق من الجلسة. يرجى المحاولة مرة أخرى."
|
||||
uploadSuccess = "تم الرفع بنجاح!"
|
||||
uploadSuccessMessage = "تم نقل صورك."
|
||||
httpsRequired = "يتطلب الوصول إلى الكاميرا HTTPS أو localhost. يرجى استخدام HTTPS أو الوصول عبر localhost."
|
||||
uploadFailed = "فشل الرفع. يرجى المحاولة مرة أخرى."
|
||||
uploading = "جارٍ الرفع..."
|
||||
connected = "متصل"
|
||||
connecting = "جارٍ الاتصال..."
|
||||
chooseMethod = "اختر طريقة الرفع"
|
||||
chooseMethodDescription = "حدّد كيف تريد مسح المستندات ورفعها"
|
||||
camera = "الكاميرا"
|
||||
cameraDescription = "امسح المستندات بكاميرا جهازك مع اكتشاف تلقائي للحواف"
|
||||
fileUpload = "رفع ملف"
|
||||
fileDescription = "ارفع صورًا أو مستندات موجودة من جهازك"
|
||||
cameraAccessDenied = "تم رفض الوصول إلى الكاميرا. يرجى تمكين الوصول إلى الكاميرا."
|
||||
back = "رجوع"
|
||||
settings = "الإعدادات"
|
||||
edgeDetection = "اكتشاف الحواف"
|
||||
flashlight = "المصباح"
|
||||
flash = "فلاش"
|
||||
processing = "جارٍ المعالجة..."
|
||||
capture = "التقاط صورة"
|
||||
selectFilesPrompt = "اختر الملفات للرفع"
|
||||
selectImage = "اختر صورة"
|
||||
preview = "معاينة"
|
||||
retake = "إعادة الالتقاط"
|
||||
addToBatch = "إضافة إلى الدفعة"
|
||||
upload = "رفع"
|
||||
batchImages = "دفعة"
|
||||
clearBatch = "مسح"
|
||||
uploadAll = "رفع الكل"
|
||||
|
||||
Reference in New Issue
Block a user