Files
SnapOtter/packages/shared/src/i18n/ar.ts
T
SnapOtter d1b0afd2e6 feat: add html-to-image tool definition and i18n strings
Add tool metadata to shared constants and i18n entries across all 21
locales for the new HTML to Image screenshot tool.
2026-06-06 21:45:38 +08:00

2044 lines
88 KiB
TypeScript

import type { TranslationKeys } from "./en.js";
export const ar: TranslationKeys = {
common: {
upload: "رفع من الجهاز",
process: "معالجة",
download: "تحميل",
cancel: "إلغاء",
save: "حفظ",
delete: "حذف",
settings: "الإعدادات",
search: "البحث في الأدوات...",
dropFiles: "اسحب الملفات هنا أو اضغط على زر الرفع",
loading: "جاري التحميل...",
error: "حدث خطأ",
confirm: "تأكيد",
close: "إغلاق",
back: "رجوع",
next: "التالي",
clear: "مسح",
copy: "نسخ",
copied: "تم النسخ!",
noResults: "لا توجد نتائج",
showLess: "عرض أقل",
showMore: "عرض {count} إضافي",
experimental: "تجريبي",
enabled: "مفعّل",
disabled: "معطّل",
rename: "إعادة تسمية",
edit: "تعديل",
actions: "إجراءات",
create: "إنشاء",
or: "أو",
goHome: "الصفحة الرئيسية",
somethingWentWrong: "حدث خطأ ما",
unexpectedError: "حدث خطأ غير متوقع.",
retry: "إعادة المحاولة",
privacyPolicy: "سياسة الخصوصية",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
},
categories: {
essentials: "الأساسيات",
optimization: "التحسين",
adjustments: "التعديلات",
watermark: "العلامة المائية والتراكب",
utilities: "الأدوات المساعدة",
layout: "التخطيط والتكوين",
format: "التنسيق والتحويل",
ai: "أدوات AI",
},
tools: {
resize: {
name: "تغيير الحجم",
description: "تغيير الحجم بالبكسل أو النسبة المئوية أو قوالب وسائل التواصل",
},
crop: {
name: "قص",
description: "قص حر، قوالب نسب أبعاد، قص بأشكال",
},
rotate: {
name: "تدوير وعكس",
description: "تدوير الصور وعكسها وتعديل استقامتها",
},
convert: {
name: "تحويل",
description: "التحويل بين صيغ الصور",
},
compress: {
name: "ضغط",
description: "تقليل حجم الملف حسب الجودة أو الحجم المستهدف",
},
"optimize-for-web": {
name: "تحسين للويب",
description: "تحسين الصور للويب مع تحويل الصيغة والتحكم بالجودة والمعاينة المباشرة",
},
"strip-metadata": {
name: "إزالة البيانات الوصفية",
description: "إزالة بيانات EXIF و GPS ومعلومات الكاميرا",
},
"edit-metadata": {
name: "تعديل البيانات الوصفية",
description: "تعديل بيانات EXIF و IPTC و XMP و GPS والكلمات المفتاحية والتواريخ",
},
"bulk-rename": {
name: "إعادة تسمية جماعية",
description: "إعادة تسمية ملفات متعددة باستخدام أنماط",
},
"image-to-pdf": {
name: "صورة إلى PDF",
description: "دمج الصور في مستند PDF",
},
"pdf-to-image": {
name: "PDF إلى صورة",
description: "تحويل صفحات PDF إلى صور",
},
favicon: {
name: "مولّد Favicon",
description: "إنشاء جميع أحجام Favicon وأيقونات التطبيقات",
},
"adjust-colors": {
name: "تعديل الألوان",
description: "السطوع والتباين والتعريض والتشبع ودرجة الحرارة والحدة والتأثيرات",
},
sharpening: {
name: "زيادة الحدة",
description: "حدة تكيفية وقناع إخفاء الحدة والحدة العالية مع قوالب جاهزة",
},
"replace-color": {
name: "استبدال وعكس الألوان",
description: "استبدال ألوان محددة أو عكسها",
},
"color-blindness": {
name: "محاكاة عمى الألوان",
description: "محاكاة كيف تبدو الصور لأنواع مختلفة من قصور رؤية الألوان",
},
"remove-background": {
name: "إزالة الخلفية",
description: "إزالة الخلفية بتقنية AI",
},
upscale: {
name: "تكبير الصور",
description: "تحسين الدقة الفائقة بتقنية AI",
},
"erase-object": {
name: "ممحاة الكائنات",
description: "إزالة الكائنات غير المرغوبة بتقنية AI",
},
ocr: {
name: "OCR / استخراج النصوص",
description: "استخراج النصوص من الصور بدقة مدعومة بـ AI",
},
"blur-faces": {
name: "تمويه الوجوه / المعلومات الحساسة",
description: "اكتشاف تلقائي وتمويه الوجوه والمعلومات الحساسة",
},
"enhance-faces": {
name: "تحسين الوجوه",
description: "استعادة وتحسين الوجوه بتقنية AI",
},
"smart-crop": {
name: "قص ذكي",
description: "قص ذكي حسب الموضوع أو الوجه أو التقليم",
},
"image-enhancement": {
name: "تحسين الصور",
description: "تحسين تلقائي بنقرة واحدة مع تصحيح ذكي للتعريض والتباين واللون والحدة",
},
"noise-removal": {
name: "إزالة التشويش",
description: "إزالة التشويش والحبيبات بتقنية AI",
},
"red-eye-removal": {
name: "إزالة العين الحمراء",
description: "اكتشاف وتصحيح العين الحمراء بتقنية AI لصور الفلاش",
},
"restore-photo": {
name: "استعادة الصور",
description: "إصلاح الخدوش والتمزقات والأضرار في الصور القديمة بتقنية AI",
},
"content-aware-resize": {
name: "تغيير حجم ذكي",
description: "تغيير حجم الصور بذكاء مع الحفاظ على المحتوى المهم",
},
"ai-canvas-expand": {
name: "توسيع اللوحة بـ AI",
description: "توسيع اللوحة مع ملء مدعوم بـ AI",
},
colorize: {
name: "تلوين بـ AI",
description: "تحويل الصور بالأبيض والأسود إلى صور ملونة باستخدام نماذج التعلم العميق",
},
"passport-photo": {
name: "صورة جواز السفر",
description:
"إنشاء صور جواز سفر وتأشيرة وهوية متوافقة مع المتطلبات الحكومية مع اكتشاف تلقائي للوجه",
},
"transparency-fixer": {
name: "إصلاح شفافية PNG",
description: "إصلاح ملفات PNG ذات الشفافية المزيفة بنقرة واحدة",
},
"watermark-text": {
name: "علامة مائية نصية",
description: "إضافة علامة مائية نصية",
},
"watermark-image": {
name: "علامة مائية بصورة",
description: "إضافة شعار كعلامة مائية",
},
"text-overlay": {
name: "نص فوق الصورة",
description: "إضافة نص منسق فوق الصور",
},
compose: {
name: "تركيب الصور",
description: "تراكب الصور مع التحكم بالموضع والشفافية",
},
"meme-generator": {
name: "صانع Meme",
description:
"إنشاء Meme باستخدام القوالب الشائعة أو صورك الخاصة. نص بنمط Impact الكلاسيكي مع خطوط وألوان ومواضع قابلة للتخصيص.",
},
info: {
name: "معلومات الصورة",
description: "عرض جميع البيانات الوصفية وخصائص الصورة",
},
compare: {
name: "مقارنة الصور",
description: "مقارنة صورتين جنبًا إلى جنب",
},
"find-duplicates": {
name: "البحث عن المتكررات",
description: "اكتشاف الصور المكررة والمتشابهة",
},
"color-palette": {
name: "لوحة الألوان",
description: "استخراج الألوان السائدة من الصورة",
},
"qr-generate": {
name: "مولّد رمز QR",
description: "إنشاء رموز QR مخصصة بألوان وأنماط وشعارات مميزة",
},
"html-to-image": {
name: "HTML to Image",
description: "Capture webpages as high-quality images",
},
"barcode-read": {
name: "قارئ الباركود",
description: "مسح الصور بحثًا عن رموز QR والباركود والرموز ثنائية الأبعاد",
},
collage: {
name: "صورة مجمّعة / شبكة",
description: "دمج الصور في شبكات مجمّعة جميلة مع أكثر من 25 قالبًا",
},
stitch: {
name: "دمج / تجميع",
description: "ربط الصور جنبًا إلى جنب أو فوق بعضها أو في شبكة",
},
split: {
name: "تقسيم الصور",
description: "تقسيم الصور إلى مربعات شبكية أو حسب حجم البكسل مع معاينة مباشرة",
},
border: {
name: "إطار وحدود",
description: "إضافة حدود وحشو وزوايا مستديرة وظلال مع قوالب جاهزة بنقرة واحدة",
},
beautify: {
name: "تجميل لقطة الشاشة",
description: "إضافة خلفيات متدرجة وإطارات أجهزة وظلال وأحجام وسائل التواصل للقطات الشاشة",
},
"svg-to-raster": {
name: "SVG إلى صورة نقطية",
description:
"تحويل SVG إلى PNG أو JPEG أو WebP أو AVIF أو TIFF أو GIF أو HEIF بمقياس و DPI مخصص",
},
vectorize: {
name: "صورة إلى SVG",
description: "تحويل الصور إلى رسومات متجهية قابلة للتحجيم",
},
"gif-tools": {
name: "أدوات GIF",
description:
"تغيير الحجم والتحسين وتغيير السرعة والعكس واستخراج الإطارات وتدوير صور GIF المتحركة",
},
"image-to-base64": {
name: "صورة إلى Base64",
description: "تحويل الصور إلى سلاسل Base64 لتضمينها في HTML و CSS والمزيد",
},
pipeline: {
name: "منشئ Pipeline",
description: "ربط عدة أدوات في سير عمل واحد",
},
},
toolSettings: {
compress: {
compressionMode: "وضع الضغط",
targetSize: "الحجم المستهدف",
quality: "الجودة",
smallestFile: "أصغر ملف",
bestQuality: "أفضل جودة",
submit: "ضغط",
submitBatch: "ضغط ({count} ملف)",
progressLabel: "جاري الضغط",
original: "الأصلي: {size} KB",
processed: "المعالج: {size} KB",
saved: "التوفير: {percent}%",
},
resize: {
customSize: "حجم مخصص",
scale: "مقياس",
presets: "قوالب جاهزة",
contentAware: "مراعاة المحتوى",
widthPx: "العرض (px)",
heightPx: "الارتفاع (px)",
fitMode: "وضع الملاءمة",
cropToFit: "قص للملاءمة",
fitInside: "ملاءمة داخلية",
stretch: "تمديد",
limitToOriginalSize: "تقييد بالحجم الأصلي",
limitToOriginalSizeHint:
"إذا كانت صورتك أصغر من الهدف، يتم الإبقاء عليها كما هي بدلًا من تكبيرها",
scalePercent: "المقياس (%)",
resizeToSquare: "تغيير الحجم إلى مربع",
protectFaces: "حماية الوجوه",
smoothing: "التنعيم",
edgeSensitivity: "حساسية الحواف",
submit: "تغيير الحجم",
submitBatch: "تغيير الحجم ({count} ملف)",
progressLabel: "جاري تغيير الحجم",
},
crop: {
aspectRatio: "نسبة الأبعاد",
custom: "مخصص",
positionAndSize: "الموضع والحجم",
ruleOfThirds: "قاعدة الأثلاث",
leftOffsetPx: "الإزاحة اليسرى (px)",
topOffsetPx: "الإزاحة العلوية (px)",
submit: "قص",
submitBatch: "قص ({count} ملف)",
progressLabel: "جاري القص",
},
rotate: {
rotate: "تدوير",
angle: "الزاوية",
straighten: "تعديل الاستقامة",
flip: "عكس",
horizontal: "أفقي",
vertical: "عمودي",
resetAllChanges: "إعادة تعيين جميع التغييرات",
submit: "تطبيق",
submitBatch: "تطبيق ({count} ملف)",
progressLabel: "جاري التطبيق",
},
convert: {
targetFormat: "الصيغة المستهدفة",
sourceFormat: "الصيغة المصدر",
quality: "الجودة",
submit: "تحويل",
submitBatch: "تحويل ({count} ملف)",
progressLabel: "جاري التحويل",
},
"optimize-for-web": {
outputFormat: "صيغة الإخراج",
quality: "الجودة",
smallestFile: "أصغر ملف",
bestQuality: "أفضل جودة",
maxDimensions: "الأبعاد القصوى",
maxWidth: "العرض الأقصى",
maxHeight: "الارتفاع الأقصى",
stripMetadata: "إزالة البيانات الوصفية",
sizeComparison: "مقارنة الحجم",
optimized: "محسّن:",
smaller: "أصغر بنسبة {percent}%",
larger: "أكبر بنسبة {percent}%",
submit: "معالجة وتحميل",
submitBatch: "معالجة وتحميل ({count} ملف)",
progressLabel: "جاري التحسين",
},
"strip-metadata": {
currentMetadata: "البيانات الوصفية الحالية",
readingMetadata: "جاري قراءة البيانات الوصفية...",
noMetadataFound: "لا توجد بيانات وصفية في هذه الصورة.",
removeAllMetadata: "إزالة جميع البيانات الوصفية",
selectSpecific: "أو حدد بيانات وصفية محددة:",
stripExif: "إزالة EXIF (معلومات الكاميرا والتاريخ والتعريض)",
stripGps: "إزالة GPS (بيانات الموقع)",
stripIcc: "إزالة ICC (ملف تعريف الألوان)",
stripXmp: "إزالة XMP (البيانات الوصفية الموسعة)",
locationFound: "تم العثور على الموقع",
locationWarning: "تحتوي هذه الصورة على موقعك الدقيق. يُنصح بإزالة بيانات GPS قبل المشاركة.",
metadataSections: "تم العثور على {count} قسم بيانات وصفية",
metadataSectionsPlural: "تم العثور على {count} أقسام بيانات وصفية",
metadataRemoved: "تمت إزالة البيانات الوصفية: {size} KB",
submit: "إزالة البيانات الوصفية",
progressLabel: "جاري إزالة البيانات الوصفية",
},
"edit-metadata": {
readingMetadata: "جاري قراءة البيانات الوصفية...",
couldNotReadMetadata: "تعذرت قراءة البيانات الوصفية - ستبدأ الحقول فارغة.",
basicInfo: "المعلومات الأساسية",
description: "الوصف",
artist: "الفنان",
copyright: "حقوق النشر",
software: "البرنامج",
iptc: "IPTC",
title: "العنوان",
headline: "العنوان الرئيسي",
city: "المدينة",
stateProvince: "الولاية/المقاطعة",
country: "البلد",
dateAndTime: "التاريخ والوقت",
editDates: "تعديل التواريخ",
shiftAllDates: "تحريك جميع التواريخ",
dateModified: "تاريخ التعديل",
dateTaken: "تاريخ الالتقاط",
shiftHint: "تحريك جميع حقول التاريخ بفارق زمني (مفيد لتصحيح المنطقة الزمنية)",
direction: "الاتجاه",
forward: "+ للأمام",
backward: "- للخلف",
hoursMinutes: "ساعات:دقائق",
locationGps: "الموقع (GPS)",
locationDataFound: "تم العثور على بيانات الموقع",
noGpsData: "لا توجد بيانات GPS. أضف الإحداثيات أدناه.",
latitude: "خط العرض",
longitude: "خط الطول",
altitudeMeters: "الارتفاع (بالأمتار)",
removeAllGpsData: "إزالة جميع بيانات GPS",
keywords: "الكلمات المفتاحية",
addKeywordPlaceholder: "أضف كلمة مفتاحية واضغط Enter",
addToExisting: "إضافة إلى الموجود",
replaceAll: "استبدال الكل",
allMetadata: "جميع البيانات الوصفية",
templates: "القوالب",
templateNamePlaceholder: "اسم القالب",
uploadPrompt: "ارفع صورة لتعديل بياناتها الوصفية.",
changes: "{count} تغييرات:",
modified: "{count} معدّل",
removed: "{count} محذوف",
gpsCleared: "تم مسح GPS",
gpsAdded: "تم إضافة GPS",
datesShifted: "تم تحريك التواريخ",
submit: "تطبيق البيانات الوصفية",
progressLabel: "جاري كتابة البيانات الوصفية",
},
"bulk-rename": {
pattern: "النمط",
patternHint: "المتغيرات: {{index}}، {{padded}}، {{original}}",
startIndex: "فهرس البداية",
preview: "معاينة",
andMore: "... و {count} إضافي",
renaming: "جاري إعادة التسمية...",
submit: "إعادة تسمية {count} ملف",
zipDownloaded: "تم تحميل ملف ZIP بنجاح",
},
"image-to-pdf": {
imageCount: "سيتم تحويل {count} صورة إلى {mode}",
imageCountPlural: "سيتم تحويل {count} صور إلى {mode}",
singlePdfMode: "PDF واحد، صورة واحدة لكل صفحة",
separatePdfMode: "ملفات PDF منفصلة، واحد لكل صورة",
combineAllImages: "دمج جميع الصور في PDF واحد",
pageSize: "حجم الصفحة",
orientation: "الاتجاه",
portrait: "عمودي",
landscape: "أفقي",
margin: "الهامش",
targetSizeLabel: "حجم الملف المستهدف (اختياري)",
targetSizePlaceholder: "مثال: 2",
targetSizeHint: "اتركه فارغًا للحصول على أقصى جودة",
targetSizeMet: "تم تحقيق الهدف",
targetSizeNotMet: "تعذر الوصول للحجم المستهدف. تم ضغط الملف بأدنى جودة.",
targetSizeTooSmall: "يجب أن يكون الهدف 50KB على الأقل",
jpegQualityLabel: "جودة JPEG المستخدمة",
noImage: "لا توجد صورة",
submitCollate: "إنشاء PDF ({count} صفحة)",
submitSeparate: "إنشاء {count} ملف PDF",
downloadPdf: "تحميل PDF",
downloadZip: "تحميل ZIP",
progressLabel: "جاري إنشاء PDF",
uploadingImages: "جاري رفع الصور...",
processingPages: "جاري معالجة {count} صفحة...",
},
"pdf-to-image": {
dropPdf: "اسحب ملف PDF هنا أو اضغط للاختيار",
readingPdf: "جاري قراءة PDF...",
pageCount: "{count} صفحة",
pageCountPlural: "{count} صفحات",
outputFormat: "صيغة الإخراج",
quality: "الجودة",
resolutionDpi: "الدقة (DPI)",
dpiScreen: "شاشة",
dpiStandard: "قياسي",
dpiPrint: "طباعة",
dpiHighQuality: "جودة عالية",
colorMode: "وضع الألوان",
colorModeColor: "ملون",
colorModeGrayscale: "رمادي",
colorModeBw: "أبيض وأسود",
pages: "الصفحات",
allPages: "جميع الصفحات",
pagesHint: "مثال: 1-3، 5، 8-10 (المستند يحتوي على {count} صفحة)",
converting: "جاري التحويل...",
submit: "تحويل {count} صفحة",
submitPlural: "تحويل {count} صفحات",
downloadAllZip: "تحميل الكل (ZIP)",
},
favicon: {
uploadHint:
"ارفع صورًا مربعة (يُفضل 512x512 أو أكبر) لإنشاء جميع أحجام Favicon وأيقونات التطبيقات.",
multipleHint: "كل صورة من الصور {count} تحصل على مجلد خاص في ملف ZIP.",
generatedSizes: "الأحجام المولّدة (لكل صورة)",
plusManifest: "+ manifest.json + مقتطف HTML",
submit: "إنشاء Favicons ({count} صورة)",
submitPlural: "إنشاء Favicons ({count} صور)",
downloadZip: "تحميل ملف Favicons المضغوط",
progressLabel: "جاري إنشاء Favicons",
},
"adjust-colors": {
light: "الإضاءة",
brightness: "السطوع",
contrast: "التباين",
exposure: "التعريض",
color: "اللون",
saturation: "التشبع",
temperature: "درجة الحرارة",
temperatureHint: "بارد / دافئ",
tint: "الصبغة",
tintHint: "أخضر / أرجواني",
hue: "درجة اللون",
detail: "التفاصيل",
sharpness: "الحدة",
effects: "التأثيرات",
none: "بدون",
grayscale: "رمادي",
sepia: "بني داكن",
invert: "عكس",
colorChannels: "قنوات الألوان",
channelModified: "معدّل",
red: "أحمر",
green: "أخضر",
blue: "أزرق",
resetAll: "إعادة تعيين الكل",
submit: "تطبيق",
submitBatch: "تطبيق ({count} ملف)",
progressLabel: "جاري تعديل الألوان",
},
sharpening: {
method: "الطريقة",
adaptive: "تكيفية",
unsharpMask: "قناع إخفاء الحدة",
highPass: "الحدة العالية",
presets: "قوالب جاهزة",
textureAmount: "مقدار الملمس",
amount: "المقدار",
strength: "القوة",
noiseReduction: "تقليل التشويش",
off: "إيقاف",
lightDenoise: "خفيف",
mediumDenoise: "متوسط",
strongDenoise: "قوي",
advancedControls: "إعدادات متقدمة",
radius: "نصف القطر",
flatProtection: "حماية المناطق المسطحة",
detailThreshold: "عتبة التفاصيل",
haloLimitLight: "حد الهالة (فاتح)",
haloLimitDark: "حد الهالة (داكن)",
threshold: "العتبة",
kernelSize: "حجم النواة",
submit: "زيادة الحدة",
submitBatch: "زيادة الحدة ({count} ملف)",
progressLabel: "جاري زيادة الحدة",
},
"replace-color": {
sourceColor: "اللون المصدر (للاستبدال)",
targetColor: "اللون المستهدف (البديل)",
makeTransparent: "جعله شفافًا بدلًا من ذلك",
tolerance: "التسامح",
exactMatch: "مطابقة دقيقة",
wideRange: "نطاق واسع",
submit: "استبدال اللون",
submitBatch: "استبدال اللون ({count} ملف)",
progressLabel: "جاري استبدال اللون",
},
"color-blindness": {
simulationType: "نوع المحاكاة",
redGreen: "أحمر-أخضر",
blueYellow: "أزرق-أصفر",
monochromatic: "أحادي اللون",
submit: "محاكاة",
submitBatch: "محاكاة ({count} ملف)",
progressLabel: "جاري محاكاة عمى الألوان",
},
"remove-background": {
subject: "الموضوع",
people: "أشخاص",
products: "منتجات",
general: "عام",
passportIdPhoto: "صورة جواز سفر / هوية",
quality: "الجودة",
fast: "سريع",
hd: "HD",
max: "الأقصى",
ultra: "فائق",
background: "الخلفية",
transparent: "شفاف",
bgColor: "لون",
gradient: "تدرج",
image: "صورة",
gradientDirection: "الاتجاه",
chooseBackgroundImage: "اختيار صورة خلفية",
effectsSection: "التأثيرات",
effectsActive: "نشط",
blurBackground: "تمويه الخلفية",
intensity: "الشدة",
addShadow: "إضافة ظل",
opacity: "الشفافية",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "جاري المعالجة...",
submit: "إزالة الخلفية",
submitBatch: "إزالة الخلفية ({count} ملف)",
progressLabel: "جاري إزالة الخلفية",
},
upscale: {
scaleFactor: "عامل التكبير",
quality: "الجودة",
enhanceFaces: "تحسين الوجوه",
noiseReduction: "تقليل التشويش",
noiseReductionHint:
"تنعيم الحبيبات والتشويش. القيم الأعلى تزيل تشويشًا أكثر لكن قد تخفف التفاصيل.",
outputFormat: "صيغة الإخراج",
submit: "تكبير {scale}x",
submitBatch: "تكبير {scale}x ({count} ملف)",
progressLabel: "جاري تكبير الصورة",
progressLabelBatch: "جاري تكبير {count} صورة",
},
"erase-object": {
brushSize: "حجم الفرشاة",
fine: "دقيق",
wide: "عريض",
undo: "تراجع",
clear: "مسح",
outputFormat: "صيغة الإخراج",
quality: "الجودة",
paintHint: "ارسم فوق الكائنات التي تريد إزالتها. استخدم Ctrl+Z للتراجع.",
submit: "مسح الكائن",
submitBatch: "مسح الكل ({count})",
progressLabel: "جاري مسح الكائن",
},
ocr: {
quality: "الجودة",
enhanceBeforeScanning: "تحسين قبل المسح",
enhanceHint:
"تعديل الميلان وتحسين التباين وإزالة التشويش وتكبير الصورة تلقائيًا قبل المسح لدقة أفضل.",
language: "اللغة",
autoDetect: "اكتشاف تلقائي",
extractedText: "النص المستخرج",
noTextDetected: "لم يتم اكتشاف نص في هذه الصورة",
characters: "{count} حرف",
submit: "استخراج النص",
submitBatch: "استخراج النص ({count} ملف)",
progressLabel: "جاري استخراج النص",
},
"blur-faces": {
blurRadius: "نصف قطر التمويه",
blurLight: "خفيف",
blurHeavy: "قوي",
detectionSensitivity: "حساسية الاكتشاف",
moreFaces: "وجوه أكثر",
fewerFaces: "وجوه أقل",
submit: "تمويه الوجوه",
progressLabel: "جاري تمويه الوجوه",
},
"enhance-faces": {
quality: "الجودة",
enhancementStrength: "قوة التحسين",
onlyCenterFace: "الوجه المركزي فقط",
detectionSensitivity: "حساسية الاكتشاف",
submit: "تحسين الوجوه",
submitBatch: "تحسين الوجوه ({count} ملف)",
progressLabel: "جاري تحسين الوجوه",
},
"smart-crop": {
subjectFocus: "التركيز على الموضوع",
faceFocus: "التركيز على الوجه",
autoTrim: "تقليم تلقائي",
customSize: "حجم مخصص",
socialPresets: "قوالب وسائل التواصل",
detectionStrategy: "استراتيجية الاكتشاف",
detectionStrategyHint:
"الانتباه يجد المنطقة الأكثر بروزًا بصريًا. الإنتروبيا تجد المنطقة الأغنى بالتفاصيل والمعلومات.",
attention: "الانتباه",
entropy: "الإنتروبيا",
padding: "المساحة الإضافية",
paddingHint: "مساحة تنفس إضافية حول منطقة التركيز",
outputQuality: "جودة الإخراج",
outputQualityHint: "لمخرجات JPEG و WebP. تكون PNG بدون فقدان دائمًا.",
subjectDescription:
"يكتشف المنطقة الأكثر إثارة للاهتمام باستخدام تحليل البروز ويقص حسب الحجم المستهدف.",
framing: "التأطير",
facePadding: "مساحة حول الوجه",
facePaddingHint: "مساحة إضافية حول الوجوه المكتشفة",
fewerFalsePositives: "نتائج إيجابية خاطئة أقل",
faceDescription:
"يستخدم اكتشاف الوجوه بـ AI للحفاظ على تأطير مناسب للوجوه. يعود إلى التركيز على الموضوع إذا لم يتم اكتشاف وجوه.",
trimTolerance: "التسامح",
trimDescription:
"مقدار اختلاف بكسل الحافة عن لون الحد الذي يظل قابلًا للتقليم. الأعلى = أكثر شدة.",
padToSquare: "ملء إلى مربع",
targetSizePx: "الحجم المستهدف (px)",
padColor: "لون الملء",
trimHint:
'يزيل الحدود ذات اللون الموحد حول الموضوع. فعّل "ملء إلى مربع" للحصول على صور جاهزة للتجارة الإلكترونية.',
submitSubject: "قص ذكي",
submitFace: "قص الوجه",
submitTrim: "تقليم الحدود",
},
imageEnhancement: {
enhancementMode: "وضع التحسين",
auto: "تلقائي",
portrait: "صورة شخصية",
landscape: "منظر طبيعي",
lowLight: "إضاءة منخفضة",
food: "طعام",
document: "مستند",
intensity: "الشدة",
deepEnhance: "تحسين عميق (AI)",
deepEnhanceDescription: "يزيل التشويش والتشوهات باستخدام AI",
deepEnhanceRequires: "يتطلب حزمة التكبير والتحسين",
analyzingImage: "جاري تحليل الصورة...",
detectedIssues: "المشاكل المكتشفة",
imageLooksGood: "تبدو الصورة جيدة. اضبط بدقة باستخدام شريط الشدة.",
issueUnderexposed: "تعريض منخفض",
issueOverexposed: "تعريض زائد",
issueLowContrast: "تباين ضعيف",
issueColorCast: "انحراف لوني",
issueDesaturated: "منزوع التشبع",
issueSoftFocus: "تركيز ناعم",
issueNoisy: "مشوّش",
submit: "تحسين",
submitDeep: "تحسين عميق",
submitBatch: "تحسين ({count} ملف)",
submitDeepBatch: "تحسين عميق ({count} ملف)",
progressLabel: "جاري تحسين الصورة",
progressLabelBatch: "جاري تحسين {count} صورة",
},
"noise-removal": {
denoisingTier: "مستوى إزالة التشويش",
quick: "سريع",
balanced: "متوازن",
quality: "جودة",
maximum: "أقصى",
quickDesc: "سريع وخفيف",
balancedDesc: "جودة جيدة وسرعة معتدلة",
qualityDesc: "مدعوم بـ AI، بطيء",
maximumDesc: "أفضل نموذج AI، الأبطأ",
strength: "القوة",
subtle: "خفيف",
aggressive: "قوي",
detailPreservation: "الحفاظ على التفاصيل",
smooth: "سلس",
sharp: "حاد",
colorNoise: "تشويش لوني",
heavy: "قوي",
outputFormat: "صيغة الإخراج",
gifAiWarning:
"إزالة التشويش بـ AI لملفات GIF تعالج الإطار الأول فقط. للصور المتحركة، استخدم المستوى السريع أو المتوازن.",
submit: "إزالة التشويش",
submitBatch: "إزالة التشويش ({count} ملف)",
progressLabel: "جاري إزالة التشويش",
progressLabelBatch: "جاري إزالة التشويش من {count} صورة",
},
"red-eye-removal": {
sensitivity: "الحساسية",
strict: "صارم",
aggressive: "قوي",
correctionStrength: "قوة التصحيح",
subtle: "خفيف",
dark: "داكن",
outputFormat: "صيغة الإخراج",
quality: "الجودة",
submit: "إصلاح العين الحمراء",
submitBatch: "إصلاح العين الحمراء ({count} ملف)",
progressLabel: "جاري إصلاح العين الحمراء",
progressLabelBatch: "جاري إصلاح العين الحمراء في {count} صورة",
},
"restore-photo": {
scratchRemoval: "إزالة الخدوش",
scratchRemovalDesc: "اكتشاف وإصلاح الخدوش والتمزقات والبقع",
faceEnhancement: "تحسين الوجوه",
faceEnhancementDesc: "استعادة الوجوه المتدهورة بتقنية CodeFormer AI",
faceFidelity: "دقة الوجه",
enhanced: "محسّن",
faithful: "مطابق",
noiseReduction: "تقليل التشويش",
noiseReductionDesc: "إزالة الحبيبات والتشويش من الصور القديمة",
denoiseStrength: "قوة إزالة التشويش",
autoColorize: "تلوين تلقائي",
autoColorizeDesc: "إضافة الألوان للصور بالأبيض والأسود باستخدام DDColor AI",
colorizeStrength: "قوة التلوين",
vivid: "حيوي",
submit: "استعادة الصورة",
submitBatch: "استعادة الصور ({count})",
progressLabel: "جاري استعادة الصورة",
progressLabelBatch: "جاري استعادة {count} صورة",
},
"content-aware-resize": {
widthPx: "العرض (px)",
heightPx: "الارتفاع (px)",
resizeToSquare: "تغيير الحجم إلى مربع",
protectFaces: "حماية الوجوه",
protectFacesHint: "اكتشاف وحماية مناطق الوجه من إزالة الخيوط باستخدام اكتشاف الوجوه",
smoothing: "التنعيم",
edgeSensitivity: "حساسية الحواف",
submit: "تغيير الحجم",
submitBatch: "تغيير الحجم ({count} ملف)",
progressLabel: "تغيير حجم ذكي",
},
"ai-canvas-expand": {
quality: "الجودة",
fast: "سريع",
balanced: "متوازن",
highQuality: "جودة عالية",
fastDesc: "معاينة سريعة، تمريرات AI أقل",
balancedDesc: "جودة جيدة وسرعة معتدلة",
highQualityDesc: "أفضل النتائج، أبطأ",
extendToAspectRatio: "توسيع إلى نسبة أبعاد",
extendByPixels: "توسيع بمقدار (بالبكسل)",
top: "أعلى",
right: "يمين",
bottom: "أسفل",
left: "يسار",
newSize: "الحجم الجديد: {width} x {height}",
submit: "توسيع اللوحة",
submitBatch: "توسيع ({count} ملف)",
progressLabel: "جاري توسيع اللوحة",
},
colorize: {
aiModel: "نموذج AI",
fast: "سريع",
fastDesc: "نتائج سريعة",
balanced: "متوازن",
balancedDesc: "أفضل متاح",
best: "الأفضل",
bestDesc: "أعلى جودة",
colorIntensity: "شدة اللون",
grayscaleLabel: "رمادي",
subtleLabel: "خفيف",
naturalLabel: "طبيعي",
vividLabel: "حيوي",
intensityHint: "القيم المنخفضة تنتج ألوانًا باهتة بنمط كلاسيكي.",
strength: "قوة التلوين",
submit: "تلوين",
submitBatch: "تلوين ({count} ملف)",
progressLabel: "جاري التلوين",
progressLabelBatch: "جاري تلوين {count} صورة",
},
"passport-photo": {
country: "البلد",
searchCountries: "البحث في البلدان...",
noCountriesFound: "لم يتم العثور على بلدان",
customDimensions: "أبعاد مخصصة",
documentType: "نوع المستند",
dimensionsMm: "الأبعاد (مم)",
dpi: "DPI",
pixelsPerInch: "بكسل لكل بوصة",
backgroundColor: "لون الخلفية",
maxFileSize: "الحجم الأقصى للملف",
noLimit: "بدون حد",
customKb: "مخصص KB...",
uploadPortrait: "ارفع صورة شخصية",
uploadHint: "اسحب أو ارفع صورة في اللوحة اليسرى لمعاينة صورة جواز السفر",
analyzingPhoto: "جاري تحليل الصورة",
detectingLandmarks: "جاري اكتشاف معالم الوجه وإزالة الخلفية...",
generatePassportPhoto: "إنشاء صورة جواز السفر",
generating: "جاري الإنشاء...",
downloadPhoto: "تحميل الصورة",
faceCentered: "الوجه في المنتصف",
headLevel: "الرأس مستوٍ",
lookingStraight: "النظر للأمام مباشرة",
faceSize: "حجم الوجه",
whatYouSee: "ما تراه هو ما ستحمّله",
dragToAdjust: "اسحب للتعديل",
scrollToZoom: "مرر للتكبير",
photoGenerated: "تم إنشاء الصورة. حمّلها من اللوحة اليسرى.",
},
"transparency-fixer": {
description: "ارفع ملف PNG بخلفية شفافة مزيفة وسنصلحه بنقرة واحدة.",
removeWatermark: "إزالة العلامة المائية",
removeWatermarkHelp: "اكتشاف وإزالة العلامات المائية شبه الشفافة",
requiresEraser: "يتطلب حزمة ممحاة الكائنات",
advanced: "متقدم",
defringe: "إزالة الهالة",
outputFormat: "صيغة الإخراج",
submit: "إصلاح الشفافية",
submitBatch: "إصلاح الشفافية ({count} ملف)",
progressLabel: "جاري إصلاح الشفافية",
},
"watermark-text": {
watermarkText: "نص العلامة المائية",
fontSize: "حجم الخط",
color: "اللون",
opacity: "الشفافية",
position: "الموضع",
rotation: "التدوير",
center: "الوسط",
topLeft: "أعلى اليسار",
topRight: "أعلى اليمين",
bottomLeft: "أسفل اليسار",
bottomRight: "أسفل اليمين",
tiled: "متكرر",
submit: "إضافة علامة مائية",
submitBatch: "إضافة علامة مائية ({count} ملف)",
progressLabel: "جاري إضافة العلامة المائية",
},
"watermark-image": {
uploadWatermark: "رفع صورة العلامة المائية",
position: "الموضع",
opacity: "الشفافية",
scale: "المقياس",
submit: "تطبيق العلامة المائية",
submitBatch: "تطبيق العلامة المائية ({count} ملف)",
},
"text-overlay": {
text: "النص",
fontSize: "حجم الخط",
color: "اللون",
position: "الموضع",
top: "أعلى",
center: "وسط",
bottom: "أسفل",
backgroundBox: "مربع الخلفية",
backgroundColor: "لون الخلفية",
shadow: "ظل",
submit: "إضافة نص",
submitBatch: "إضافة نص ({count} ملف)",
progressLabel: "جاري إضافة النص",
},
compose: {
uploadOverlay: "رفع صورة التراكب",
xPosition: "الموضع الأفقي",
yPosition: "الموضع العمودي",
opacity: "الشفافية",
blendMode: "وضع المزج",
submit: "تركيب",
},
"meme-generator": {
selectTemplate: "اختر قالبًا من المعرض أو ارفع صورتك الخاصة للبدء.",
chooseLayout: "اختر تخطيط النص لصورتك المخصصة.",
textContent: "محتوى النص",
textStyle: "نمط النص",
font: "الخط",
fontSize: "حجم الخط",
textColor: "لون النص",
strokeColor: "لون الحد",
allCaps: "أحرف كبيرة",
generate: "إنشاء Meme",
generating: "جاري الإنشاء...",
downloadMeme: "تحميل Meme",
backToGallery: "العودة للمعرض",
},
info: {
loadingInfo: "جاري تحميل المعلومات...",
filename: "اسم الملف",
fileSize: "حجم الملف",
dimensions: "الأبعاد",
format: "الصيغة",
channels: "القنوات",
colorSpace: "فضاء الألوان",
density: "الكثافة",
bitDepth: "عمق البت",
progressive: "تدريجي",
pages: "الصفحات",
hasAlpha: "قناة ألفا",
hasProfile: "ملف تعريف",
hasExif: "بيانات EXIF",
hasIcc: "بيانات ICC",
hasXmp: "بيانات XMP",
},
compare: {
uploadSecondImage: "رفع الصورة الثانية",
similarity: "التشابه: {percent}%",
submit: "مقارنة",
downloadDiff: "تحميل الفرق",
},
"find-duplicates": {
preset: "القالب",
exact: "مطابق",
similar: "متشابه",
loose: "تقريبي",
exactDesc: "نسخ مطابقة للبكسل، نفس الصورة بصيغ مختلفة.",
similarDesc: "نسخ معاد تحجيمها أو مضغوطة أو معدلة بشكل طفيف.",
looseDesc: "صور مرتبطة بصريًا، قص طفيف، تعريض مختلف.",
threshold: "العتبة",
submit: "البحث عن المتكررات",
scanning: "جاري المسح...",
},
"color-palette": {
submit: "استخراج لوحة الألوان",
extracting: "جاري الاستخراج...",
dominantColors: "الألوان السائدة",
clickToCopy: "اضغط للنسخ",
},
"qr-generate": {
contentType: "نوع المحتوى",
url: "URL",
text: "نص",
wifi: "WiFi",
vcard: "بطاقة جهة اتصال",
email: "البريد الإلكتروني",
phone: "الهاتف",
sms: "SMS",
styling: "التنسيق",
dotStyle: "نمط النقاط",
cornerSquareStyle: "نمط مربعات الزوايا",
cornerDotStyle: "نمط نقاط الزوايا",
foregroundColor: "لون المقدمة",
bgColor: "لون الخلفية",
logo: "الشعار",
downloadFormat: "صيغة التحميل",
submit: "إنشاء رمز QR",
download: "تحميل رمز QR",
},
"html-to-image": {
url: "URL",
urlPlaceholder: "https://example.com",
format: "Output Format",
quality: "Quality",
devicePreset: "Device",
viewportWidth: "Width",
viewportHeight: "Height",
fullPage: "Full Page",
submit: "Capture",
download: "Download Screenshot",
capturing: "Capturing webpage...",
errorTimeout: "Page took too long to load",
errorBlocked: "This URL cannot be captured",
errorUnavailable: "Screenshot service is not available",
errorFailed: "Failed to capture the page",
placeholder: "Enter a URL and click Capture",
presets: {
desktop: "Desktop",
tablet: "Tablet",
mobile: "Mobile",
custom: "Custom",
},
},
"barcode-read": {
submit: "مسح الباركود",
submitBatch: "مسح ({count} ملف)",
scanning: "جاري المسح...",
noBarcodesFound: "لم يتم العثور على باركود",
barcodesFound: "تم العثور على {count} باركود",
barcodesFoundPlural: "تم العثور على {count} باركود",
},
collage: {
template: "القالب",
aspectRatio: "نسبة الأبعاد",
gap: "الفجوة",
cornerRadius: "نصف قطر الزوايا",
backgroundColor: "لون الخلفية",
outputFormat: "صيغة الإخراج",
quality: "الجودة",
submit: "إنشاء صورة مجمّعة",
downloadCollage: "تحميل الصورة المجمّعة",
},
stitch: {
direction: "الاتجاه",
horizontal: "أفقي",
vertical: "عمودي",
grid: "شبكة",
gridColumns: "أعمدة الشبكة",
resizeMode: "وضع تغيير الحجم",
fit: "ملاءمة",
original: "أصلي",
stretchMode: "تمديد",
cropMode: "قص",
alignment: "المحاذاة",
start: "البداية",
center: "الوسط",
end: "النهاية",
gap: "الفجوة",
border: "حدود",
cornerRadius: "نصف قطر الزوايا",
backgroundColor: "لون الخلفية",
outputFormat: "صيغة الإخراج",
quality: "الجودة",
submit: "دمج الصور",
},
split: {
modeGrid: "شبكة",
modeTileSize: "حجم المربع",
presets: "قوالب جاهزة",
columns: "أعمدة",
rows: "صفوف",
tileWidth: "عرض المربع",
tileHeight: "ارتفاع المربع",
outputFormat: "صيغة الإخراج",
quality: "الجودة",
submit: "تقسيم الصورة",
downloadAll: "تحميل الكل (ZIP)",
},
border: {
presets: "قوالب جاهزة",
borderWidth: "سمك الحدود",
borderColor: "لون الحدود",
padding: "الحشو",
paddingColor: "لون الحشو",
cornerRadius: "نصف قطر الزوايا",
shadow: "ظل",
shadowBlur: "تمويه الظل",
shadowOffsetX: "إزاحة الظل أفقيًا",
shadowOffsetY: "إزاحة الظل عموديًا",
shadowColor: "لون الظل",
shadowOpacity: "شفافية الظل",
submit: "إضافة حدود",
submitBatch: "إضافة حدود ({count} ملف)",
progressLabel: "جاري إضافة الحدود",
},
beautify: {
preset: "القالب",
backgroundType: "نوع الخلفية",
solidColor: "لون صلب",
linearGradient: "تدرج خطي",
radialGradient: "تدرج شعاعي",
customImage: "صورة مخصصة",
gradientAngle: "زاوية التدرج",
padding: "الحشو",
borderRadius: "نصف قطر الحدود",
shadowPreset: "قالب الظل",
deviceFrame: "إطار الجهاز",
submit: "تجميل",
submitBatch: "تجميل ({count} ملف)",
progressLabel: "جاري تجميل لقطة الشاشة",
},
"svg-to-raster": {
outputFormat: "صيغة الإخراج",
sizing: "التحجيم",
scaleMode: "مقياس",
customMode: "مخصص",
scalePresets: "قوالب المقياس",
dpiPresets: "قوالب DPI",
customWidth: "العرض (px)",
customHeight: "الارتفاع (px)",
background: "الخلفية",
bgTransparent: "شفاف",
bgColor: "لون",
quality: "الجودة",
submit: "تحويل SVG",
submitBatch: "تحويل ({count} ملف)",
progressLabel: "جاري تحويل SVG",
},
vectorize: {
preset: "القالب",
logo: "شعار",
illustration: "رسم توضيحي",
photo: "صورة",
sketch: "رسم يدوي",
customPreset: "مخصص",
colorMode: "وضع الألوان",
bw: "أبيض وأسود",
colorModeColor: "ملون",
threshold: "العتبة",
colorPrecision: "دقة الألوان",
layerDifference: "فرق الطبقات",
filterSpeckle: "تصفية البقع",
pathMode: "وضع المسار",
cornerThreshold: "عتبة الزوايا",
invertColors: "عكس الألوان",
submit: "تحويل للمتجهات",
submitBatch: "تحويل للمتجهات ({count} ملف)",
progressLabel: "جاري التحويل للمتجهات",
},
"gif-tools": {
mode: "الوضع",
resize: "تغيير الحجم",
optimize: "تحسين",
speed: "السرعة",
reverse: "عكس",
extract: "استخراج",
rotateMode: "تدوير",
pixel: "بكسل",
percentage: "نسبة مئوية",
colors: "الألوان",
dither: "التمويج",
effort: "الجهد",
speedFactor: "عامل السرعة",
loopControl: "التحكم بالتكرار",
infinite: "لا نهائي",
once: "مرة واحدة",
customLoop: "مخصص",
loopCount: "عدد التكرارات",
extractSingle: "مفرد",
extractRange: "نطاق",
extractAll: "الكل",
frameNumber: "رقم الإطار",
frameStart: "إطار البداية",
frameEnd: "إطار النهاية",
extractFormat: "الصيغة",
submit: "معالجة GIF",
submitBatch: "معالجة ({count} ملف)",
progressLabel: "جاري معالجة GIF",
},
"image-to-base64": {
outputFormat: "صيغة الإخراج",
keepOriginal: "الإبقاء على الأصلي",
quality: "الجودة",
maxWidth: "العرض الأقصى",
maxHeight: "الارتفاع الأقصى",
submit: "تحويل إلى Base64",
submitBatch: "تحويل ({count} ملف)",
copyBase64: "نسخ Base64",
copyDataUri: "نسخ Data URI",
copyImgTag: "نسخ وسم <img>",
copyCssUrl: "نسخ CSS url()",
},
"enhance-faces-standalone": {
model: "النموذج",
fast: "سريع",
balanced: "متوازن",
best: "الأفضل",
},
},
urlImport: {
title: "استيراد من روابط",
placeholder: "الصق روابط الصور، رابط واحد في كل سطر...",
importButton: "استيراد الروابط",
addButton: "إضافة {count} ملف",
adding: "جاري الإضافة...",
retryButton: "إعادة المحاولة",
cancelButton: "إلغاء",
readyCount: "{count} جاهز",
failedStatus: "فشل",
},
comparison: {
original: "الأصلي",
processed: "المعالج",
before: "قبل",
after: "بعد",
savings: "التوفير",
},
toolPage: {
emptyPrompt: "اسحب أو ارفع صورة للبدء",
filesCount: "الملفات ({count})",
addMore: "+ إضافة المزيد",
clearAll: "مسح الكل",
acceptDescription: "ملفات {exts} فقط",
notFound: "الأداة غير موجودة",
configureAndGenerate: "اضبط الإعدادات ثم ابدأ الإنشاء.",
processingFailed: "فشلت المعالجة لهذا الملف",
conversionComplete: "اكتملت عملية التحويل",
cannotPreviewDownload: "لا يمكن معاينة ملفات {type} في المتصفح. استخدم زر التحميل لحفظ ملفك.",
generatingPreview: "جاري إنشاء المعاينة...",
cannotPreviewWillProcess:
"لا يمكن معاينة ملفات {ext} في المتصفح. ستتم معالجة الملف بشكل طبيعي.",
previousImage: "الصورة السابقة",
nextImage: "الصورة التالية",
imageCounter: "{current} / {total}",
settingsLabel: "الإعدادات",
downloadAllZip: "تحميل الكل (ZIP)",
hideSettings: "إخفاء الإعدادات",
imageArea: "منطقة الصورة",
},
homePage: {
generatingPreview: "جاري إنشاء المعاينة...",
loadingPreview: "جاري تحميل المعاينة...",
changeFile: "تغيير الملف",
quickActions: "إجراءات سريعة",
allTools: "جميع الأدوات",
},
fullscreenGrid: {
searchPlaceholder: "البحث في الأدوات...",
hideDetails: "إخفاء التفاصيل",
showDetails: "عرض التفاصيل",
switchToSidebar: "التبديل إلى عرض الشريط الجانبي",
sidebarButton: "الشريط الجانبي",
noToolsFound: "لم يتم العثور على أدوات",
tryDifferent: "جرّب مصطلح بحث مختلف",
},
editor: {
menu: {
file: {
label: "ملف",
new: "جديد",
open: "فتح",
save: "حفظ",
exportAs: "تصدير كـ...",
quickExportPng: "تصدير سريع كـ PNG",
close: "إغلاق",
},
edit: {
label: "تعديل",
undo: "تراجع",
redo: "إعادة",
cut: "قص",
copy: "نسخ",
copyMerged: "نسخ مدمج",
paste: "لصق",
pasteInPlace: "لصق في المكان",
delete: "حذف",
freeTransform: "تحويل حر",
transform: {
label: "تحويل",
scale: "تحجيم",
rotate: "تدوير",
skew: "إمالة",
flipHorizontal: "عكس أفقي",
flipVertical: "عكس عمودي",
},
},
image: {
label: "صورة",
imageSize: "حجم الصورة...",
canvasSize: "حجم اللوحة...",
rotation: {
label: "تدوير الصورة",
cw90: "90 درجة مع عقارب الساعة",
ccw90: "90 درجة عكس عقارب الساعة",
r180: "180 درجة",
flipHorizontal: "عكس أفقي",
flipVertical: "عكس عمودي",
},
trim: "تقليم",
adjustments: {
label: "التعديلات",
brightnessContrast: "السطوع/التباين",
hueSaturation: "درجة اللون/التشبع",
colorBalance: "توازن الألوان",
levels: "المستويات",
curves: "المنحنيات",
},
},
layer: {
label: "طبقة",
newLayer: "طبقة جديدة",
duplicateLayer: "مضاعفة الطبقة",
deleteLayer: "حذف الطبقة",
arrange: {
label: "ترتيب",
bringToFront: "نقل للأمام",
bringForward: "تقديم",
sendBackward: "تأخير",
sendToBack: "نقل للخلف",
},
mergeDown: "دمج للأسفل",
flattenImage: "تسطيح الصورة",
},
select: {
label: "تحديد",
all: "تحديد الكل",
deselect: "إلغاء التحديد",
inverse: "عكس التحديد",
colorRange: "نطاق الألوان...",
},
filter: {
label: "مرشح",
blur: {
label: "تمويه",
gaussian: "تمويه غاوسي",
motion: "تمويه حركي",
radial: "تمويه شعاعي",
surface: "تمويه سطحي",
},
sharpen: {
label: "حدة",
sharpen: "زيادة الحدة",
unsharpMask: "قناع إخفاء الحدة",
},
noise: {
label: "تشويش",
addNoise: "إضافة تشويش",
reduceNoise: "تقليل التشويش",
},
pixelate: {
label: "تقطيع",
pixelate: "تقطيع بكسل",
mosaic: "فسيفساء",
},
stylize: {
label: "تنميط",
emboss: "نقش بارز",
solarize: "تشميس",
posterize: "تبسيط الألوان",
},
grayscale: "رمادي",
sepia: "بني داكن",
invert: "عكس",
},
view: {
label: "عرض",
zoomIn: "تكبير",
zoomOut: "تصغير",
fitOnScreen: "ملاءمة الشاشة",
actualPixels: "الحجم الفعلي",
rulers: "المساطر",
grid: "الشبكة",
guides: "الأدلة",
snap: "الالتقاط",
panels: "اللوحات",
},
},
menuBar: {
backTitle: "العودة إلى SnapOtter",
},
welcome: {
ariaLabel: "منطقة إسقاط الصور",
heading: "محرر الصور",
dropDescription: "اسحب صورة هنا للبدء",
openImageButton: "فتح صورة",
newDocumentButton: "مستند جديد",
pasteHint: "أو الصق من الحافظة (Ctrl+V)",
},
mobile: {
heading: "يُفضل استخدام سطح المكتب",
description:
"يعمل محرر الصور بشكل أفضل على شاشات سطح المكتب. يرجى التبديل إلى جهاز بشاشة أكبر للحصول على تجربة التحرير الكاملة.",
},
errors: {
serverDecodeFailed: "فشل فك الترميز من الخادم",
},
shapes: {
shape: "Shape",
fill: "Fill",
stroke: "Stroke",
strokeWidth: "Width",
cornerRadius: "Radius",
sides: "Sides",
points: "Points",
dashStyle: "Dash",
solid: "Solid",
dashed: "Dashed",
dotted: "Dotted",
none: "None",
opacity: "Opacity",
rectangle: "Rectangle",
ellipse: "Ellipse",
line: "Line",
arrow: "Arrow",
polygon: "Polygon",
star: "Star",
},
},
settings: {
heading: "الإعدادات",
nav: {
general: "عام",
systemSettings: "إعدادات النظام",
security: "الأمان",
people: "الأعضاء",
teams: "الفرق",
roles: "الأدوار",
auditLog: "سجل التدقيق",
apiKeys: "مفاتيح API",
aiFeatures: "ميزات AI",
tools: "الأدوات",
productAnalytics: "تحليلات المنتج",
about: "حول",
},
general: {
heading: "عام",
description: "تفضيلات المستخدم وإعدادات العرض.",
loading: "جاري التحميل...",
logOut: "تسجيل الخروج",
defaultToolViewLabel: "عرض الأدوات الافتراضي",
defaultToolViewDescription: "طريقة عرض الأدوات في الصفحة الرئيسية",
sidebarOption: "الشريط الجانبي",
fullscreenGridOption: "شبكة ملء الشاشة",
appVersionLabel: "إصدار التطبيق",
appVersionDescription: "الإصدار الحالي من SnapOtter",
saveButton: "حفظ الإعدادات",
saveSuccess: "تم حفظ الإعدادات.",
saveFailed: "فشل حفظ الإعدادات.",
},
system: {
heading: "إعدادات النظام",
description: "إعدادات الخادم والحدود.",
fileUploadLimitLabel: "حد رفع الملفات (MB)",
fileUploadLimitDescription: "الحجم الأقصى للملف في كل رفع",
defaultThemeLabel: "السمة الافتراضية",
defaultThemeDescription: "السمة المطبقة للجلسات الجديدة",
lightOption: "فاتح",
darkOption: "داكن",
systemOption: "النظام",
languageLabel: "اللغة",
languageDescription: "لغة الواجهة",
loginAttemptLimitLabel: "حد محاولات تسجيل الدخول",
loginAttemptLimitDescription:
"الحد الأقصى لمحاولات تسجيل الدخول الفاشلة في الدقيقة قبل القفل",
fileManagementHeading: "إدارة الملفات",
maxFileAgeLabel: "عمر الملف الأقصى (بالساعات)",
maxFileAgeDescription: "مدة الاحتفاظ بالملفات المعالجة قبل التنظيف التلقائي",
startupCleanupLabel: "تنظيف عند بدء التشغيل",
startupCleanupDescription: "تنظيف الملفات المؤقتة القديمة عند بدء تشغيل الخادم",
saveButton: "حفظ الإعدادات",
saveSuccess: "تم حفظ الإعدادات.",
saveFailed: "فشل حفظ الإعدادات.",
limitsAndResources: "الحدود والموارد",
maxFileSize: "حجم الملف الأقصى",
maxBatchSize: "حجم الدفعة الأقصى",
concurrentJobs: "المهام المتزامنة",
workerThreads: "خيوط العمال",
maxPipelineSteps: "خطوات Pipeline القصوى",
processingTimeout: "مهلة المعالجة",
rateLimitPerMin: "حد الطلبات (طلب/دقيقة)",
unlimited: "غير محدود",
auto: "تلقائي",
envOverride: "محدد بمتغير البيئة",
maxCanvasPixels: "بكسل اللوحة القصوى",
maxSvgSize: "حجم SVG الأقصى",
maxSplitGrid: "شبكة التقسيم القصوى",
maxPdfPages: "صفحات PDF القصوى",
sessionDuration: "مدة الجلسة",
},
security: {
heading: "الأمان",
description: "إعدادات كلمة المرور والمصادقة.",
changePasswordHeading: "تغيير كلمة المرور",
currentPasswordPlaceholder: "كلمة المرور الحالية",
newPasswordPlaceholder: "كلمة المرور الجديدة",
confirmPasswordPlaceholder: "تأكيد كلمة المرور الجديدة",
passwordsMismatch: "كلمتا المرور غير متطابقتين",
passwordTooShort: "يجب أن تتكون كلمة المرور من 4 أحرف على الأقل",
changeSuccess: "تم تغيير كلمة المرور بنجاح",
changeFailed: "فشل تغيير كلمة المرور",
currentPasswordIncorrect: "كلمة المرور الحالية غير صحيحة",
changePasswordButton: "تغيير كلمة المرور",
loginAttemptLimitNote: "يمكن ضبط حدود محاولات تسجيل الدخول في إعدادات النظام.",
},
people: {
heading: "الأعضاء",
description: "إدارة أعضاء مساحة العمل وصلاحياتهم",
userCount: "{count} مستخدم",
userCountPlural: "{count} مستخدمين",
searchPlaceholder: "البحث في الأعضاء...",
addMembersButton: "إضافة أعضاء",
newMemberHeading: "عضو جديد",
usernamePlaceholder: "اسم المستخدم",
passwordPlaceholder: "كلمة المرور",
roleUserOption: "مستخدم",
roleEditorOption: "محرر",
roleAdminOption: "مسؤول",
roleUserDescription: "وصول أساسي للأدوات",
roleEditorDescription: "جميع الملفات و Pipeline",
roleAdminDescription: "وصول كامل",
noDescription: "بدون وصف",
defaultTeamOption: "افتراضي",
createButton: "إنشاء",
cancelButton: "إلغاء",
createSuccess: "تم إنشاء المستخدم بنجاح",
createFailed: "فشل إنشاء المستخدم",
userLimitReached: "تم الوصول لحد المستخدمين ({max} كحد أقصى)",
deleteConfirm: 'حذف المستخدم "{username}"؟ لا يمكن التراجع عن هذا الإجراء.',
deleteSuccess: 'تم حذف المستخدم "{username}"',
deleteFailed: "فشل حذف المستخدم",
editHeading: "تعديل {username}",
updateSuccess: "تم تحديث المستخدم",
updateFailed: "فشل تحديث المستخدم",
cannotRemoveOwnAdmin: "لا يمكنك إزالة دور المسؤول الخاص بك",
resetPasswordHeading: "إعادة تعيين كلمة مرور {username}",
newPasswordLabel: "كلمة المرور الجديدة (8 أحرف كحد أدنى)",
resetPasswordButton: "إعادة تعيين كلمة المرور",
resetPasswordWarning: "سيؤدي هذا إلى إبطال جميع الجلسات ومفاتيح API لهذا المستخدم.",
resetSuccess: "تم إعادة تعيين كلمة المرور بنجاح",
resetFailed: "فشل إعادة تعيين كلمة المرور",
tableHeaderUser: "المستخدم",
tableHeaderRole: "الدور",
tableHeaderTeam: "الفريق",
noSearchResults: "لا يوجد أعضاء يطابقون بحثك.",
noUsersFound: "لم يتم العثور على مستخدمين.",
authBadgeLocalOidc: "محلي + OIDC",
authBadgeOidc: "OIDC",
editRoleTeamAction: "تعديل الدور / الفريق",
resetPasswordAction: "إعادة تعيين كلمة المرور",
deleteUserAction: "حذف المستخدم",
saveButton: "حفظ",
copyPasswordButton: "نسخ كلمة المرور",
passwordCopied: "تم النسخ!",
copyPasswordWarning: "انسخ كلمة المرور الآن. لن تتمكن من رؤيتها بعد إنشاء المستخدم.",
},
teams: {
heading: "الفرق",
description: "تنظيم الأعضاء في فرق لإدارة أفضل.",
createButton: "إنشاء فريق جديد",
newTeamHeading: "فريق جديد",
teamNamePlaceholder: "اسم الفريق",
createSubmitButton: "إنشاء",
cancelButton: "إلغاء",
createSuccess: "تم إنشاء الفريق بنجاح",
createFailed: "فشل إنشاء الفريق",
duplicateTeamError: "يوجد فريق بهذا الاسم بالفعل",
renameSuccess: "تمت إعادة تسمية الفريق",
renameFailed: "فشلت إعادة تسمية الفريق",
deleteConfirm: 'حذف الفريق "{name}"؟ سيتم إلغاء تعيين الأعضاء.',
deleteSuccess: 'تم حذف الفريق "{name}"',
deleteFailed: "فشل حذف الفريق",
cannotDeleteDefault: "لا يمكن حذف الفريق الافتراضي أو فريق يحتوي على أعضاء",
tableHeaderTeamName: "اسم الفريق",
tableHeaderMembers: "الأعضاء",
emptyState: "لم يتم العثور على فرق.",
renameSaveButton: "حفظ",
renameCancelButton: "إلغاء",
renameAction: "إعادة تسمية",
deleteAction: "حذف",
totalMembers: "إجمالي الأعضاء",
nameRequired: "اسم الفريق مطلوب",
nameTooLong: "يجب ألا يتجاوز اسم الفريق 50 حرفًا",
duplicateName: "يوجد فريق بهذا الاسم بالفعل",
},
roles: {
heading: "الأدوار",
description: "إدارة الأدوار وصلاحياتها. لا يمكن تعديل الأدوار المدمجة.",
createButton: "إنشاء دور مخصص",
newRoleHeading: "دور جديد",
roleNamePlaceholder: "اسم الدور",
descriptionPlaceholder: "الوصف (اختياري)",
permissionsLabel: "الصلاحيات",
createSubmitButton: "إنشاء",
cancelButton: "إلغاء",
createSuccess: "تم إنشاء الدور بنجاح",
createFailed: "فشل إنشاء الدور",
duplicateRoleError: "يوجد دور بهذا الاسم بالفعل",
editHeading: "تعديل الدور: {name}",
editSaveButton: "حفظ",
editCancelButton: "إلغاء",
updateSuccess: "تم تحديث الدور",
updateFailed: "فشل تحديث الدور",
deleteConfirm: 'حذف الدور "{name}"؟ يحتاج {count} مستخدم(ين) إلى إعادة تعيين.',
deleteConfirmSimple: 'حذف الدور "{name}"؟',
deleteSuccess: 'تم حذف الدور "{name}"',
deleteFailed: "فشل حذف الدور",
emptyState: "لم يتم العثور على أدوار.",
builtInBadge: "مدمج",
userCountBadge: "{count} مستخدم(ين)",
editRoleTitle: "تعديل الدور",
deleteRoleTitle: "حذف الدور",
permGroup: {
tools: "الأدوات",
files: "الملفات",
apiKeys: "مفاتيح API",
pipelines: "Pipeline",
settings: "الإعدادات",
users: "المستخدمون",
teams: "الفرق",
system: "النظام",
},
},
auditLog: {
heading: "سجل التدقيق",
allActionsFilter: "جميع الإجراءات",
emptyState: "لا توجد سجلات تدقيق.",
tableHeaderTime: "الوقت",
tableHeaderUser: "المستخدم",
tableHeaderAction: "الإجراء",
tableHeaderTarget: "الهدف",
paginationInfo: "الصفحة {page} من {totalPages} ({total} سجل)",
previousButton: "السابق",
nextButton: "التالي",
justNow: "الآن",
minutesAgo: "منذ {mins} دقيقة",
hoursAgo: "منذ {hrs} ساعة",
daysAgo: "منذ {days} يوم",
},
apiKeys: {
heading: "مفاتيح API",
description: "إدارة مفاتيح API للوصول البرمجي إلى SnapOtter.",
keyNamePlaceholder: "اسم المفتاح (اختياري)",
generateButton: "إنشاء مفتاح API",
removeScopingLabel: "إزالة تحديد الصلاحيات",
restrictPermissionsLabel: "تقييد الصلاحيات (اختياري)",
expiresLabel: "ينتهي:",
clearButton: "مسح",
copyTitle: "نسخ",
keyWarning: "احفظ هذا المفتاح بأمان. لن يظهر مرة أخرى.",
existingKeysHeading: "المفاتيح الحالية",
createdPrefix: "أُنشئ {date}",
scopedPrefix: "محدد:",
expiresPrefix: "ينتهي {date}",
deleteKeyTitle: "حذف المفتاح",
deleteConfirm: "حذف مفتاح API هذا؟ ستتوقف أي عمليات تكامل تستخدمه.",
emptyState: "لا توجد مفاتيح API بعد. أنشئ واحدًا للبدء.",
},
tools: {
heading: "الأدوات",
description: "تفعيل أو تعطيل الأدوات الفردية. الأدوات المعطلة مخفية عن جميع المستخدمين.",
restartBanner: "يلزم إعادة التشغيل لتفعيل التغييرات.",
searchPlaceholder: "البحث في الأدوات...",
noSearchResults: "لا توجد أدوات تطابق بحثك.",
loadFailedError: "فشل تحميل إعدادات الأدوات. تم تعطيل الحفظ لمنع فقدان البيانات.",
saveButton: "حفظ إعدادات الأدوات",
disabledCount: "{count} أداة معطلة",
},
experimental: {
label: "تفعيل الأدوات التجريبية",
description: "عرض الأدوات التي لا تزال قيد التطوير. قد تكون غير مستقرة.",
},
fileManagement: {
title: "إدارة الملفات",
maxAge: "عمر الملف الأقصى (بالساعات)",
maxAgeDescription: "مدة الاحتفاظ بالملفات المعالجة قبل التنظيف التلقائي",
startupCleanup: "تنظيف عند بدء التشغيل",
startupCleanupDescription: "تنظيف الملفات المؤقتة القديمة عند بدء تشغيل الخادم",
},
analytics: {
heading: "تحليلات المنتج",
description: "مشاركة بيانات الاستخدام المجهولة للمساعدة في تحسين SnapOtter.",
privacyNote: "صورك لا تغادر جهازك أبدًا.",
disabledByAdmin: "تم تعطيل تحليلات المنتج بواسطة مسؤول الخادم.",
enabledLabel: "التحليلات مفعّلة",
disabledLabel: "التحليلات معطّلة",
learnMore: "معرفة المزيد",
},
aiFeatures: {
title: "AI Features",
description: "Manage AI model bundles for advanced image processing.",
installAll: "Install All",
diskUsage: "Disk usage:",
installed: "Installed",
notInstalled: "Not installed",
queued: "Queued",
install: "Install",
repair: "Repair",
uninstall: "Uninstall",
installing: "Installing...",
},
about: {
heading: "حول",
appName: "SnapOtter",
appDescription:
"مجموعة أدوات معالجة صور ذاتية الاستضافة تركز على الخصوصية مع 51 أداة. تغيير الحجم والضغط والتحويل والعلامات المائية وأتمتة سير عمل الصور دون إرسال البيانات إلى السحابة.",
versionLabel: "الإصدار:",
linksHeading: "روابط",
githubLink: "مستودع GitHub",
docsLink: "التوثيق",
apiRefLink: "مرجع API (Swagger)",
licenseLabel: "License:",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
login: "تسجيل الدخول",
logout: "تسجيل الخروج",
username: "اسم المستخدم",
password: "كلمة المرور",
loginButton: "تسجيل الدخول",
loggingIn: "جاري تسجيل الدخول...",
invalidCredentials: "اسم المستخدم أو كلمة المرور غير صحيحة",
connectionError: "خطأ في الاتصال",
signInWith: "تسجيل الدخول بـ {provider}",
signInWithSso: "تسجيل الدخول بـ SSO",
or: "أو",
methodLocal: "محلي",
methodOidc: "OIDC",
methodBoth: "محلي + OIDC",
oidcAuthFailed: "فشلت المصادقة. يرجى المحاولة مرة أخرى.",
oidcProviderUnreachable: "تعذر الوصول إلى مزود الهوية. يرجى المحاولة لاحقًا.",
oidcSessionExpired: "انتهت صلاحية جلسة تسجيل الدخول. يرجى المحاولة مرة أخرى.",
oidcUserNotAuthorized: "حسابك غير مصرح له بالوصول إلى هذا التطبيق. تواصل مع المسؤول.",
oidcUserLimitReached: "تم الوصول لحد المستخدمين. تواصل مع المسؤول.",
oidcGenericError: "خطأ في المصادقة. يرجى المحاولة مرة أخرى.",
passwordManagedByProvider: "يتم إدارة تغيير كلمة المرور بواسطة مزود الهوية الخاص بك.",
enterUsername: "أدخل اسم المستخدم",
enterPassword: "أدخل كلمة المرور",
heroTitle: "صورك. تبقى ملكك.",
heroSubtitle: "كل أدوات الصور التي تحتاجها.",
rotatingPhrases: [
"بدون تسجيل. بدون حسابات.",
"لا شيء يُرفع للسحابة. أبدًا.",
"معالجة محلية بالكامل.",
"مجاني. للأبد.",
"بلا حدود. بلا قيود خفية.",
"يعمل بدون إنترنت.",
"معالجة جماعية بلا حدود.",
"51 أداة للصور.",
"15 نموذج AI. على جهازك.",
"سريع كالبرق. مبني على Sharp.",
"يعمل في بيئات معزولة.",
"حاوية Docker واحدة.",
"مفتوح المصدر. دائمًا.",
"كل بكسل يبقى على جهازك.",
"خادمك. قواعدك.",
"نشر بأمر docker pull واحد.",
"البديل ذاتي الاستضافة.",
"تغيير الحجم والضغط والتحويل. محليًا.",
"محرر صور مجاني. بدون علامات مائية.",
"معالجة صور جماعية. بلا حدود.",
"إزالة الخلفية بدون إنترنت.",
"بديل Canva ذاتي الاستضافة.",
"بدون مفاتيح API.",
"متوافق مع GDPR بالتصميم.",
"يعمل بدون اتصال بالإنترنت.",
],
},
changePassword: {
title: "غيّر كلمة المرور",
description:
"تحتاج إلى تعيين كلمة مرور جديدة قبل المتابعة. يجب أن تتكون كلمة المرور من 8 أحرف على الأقل مع أحرف كبيرة وصغيرة ورقم.",
usernameLabel: "اسم المستخدم",
currentPasswordLabel: "كلمة المرور الحالية",
currentPasswordPlaceholder: "أدخل كلمة المرور الحالية",
newPasswordLabel: "كلمة المرور الجديدة",
generateButton: "إنشاء كلمة مرور قوية",
newPasswordPlaceholder: "8 أحرف على الأقل",
confirmPasswordLabel: "تأكيد كلمة المرور الجديدة",
confirmPasswordPlaceholder: "أعد كتابة كلمة المرور الجديدة",
passwordsMismatch: "كلمتا المرور غير متطابقتين",
failedError: "فشل تغيير كلمة المرور",
connectionError: "خطأ في الاتصال",
changingButton: "جاري التغيير...",
changeButton: "تغيير كلمة المرور",
sidebarTitle: "أوشكت على الانتهاء",
sidebarDescription: "عيّن كلمة مرور قوية لتأمين حسابك، وستكون جاهزًا للانطلاق.",
},
automate: {
title: "أتمتة",
invalidPipelineFile: "ليس ملف Pipeline صالحًا لـ SnapOtter",
newerVersion: "تم إنشاء هذا الـ Pipeline بإصدار أحدث من SnapOtter",
missingName: "ملف Pipeline يفتقد للاسم",
noSteps: "ملف Pipeline لا يحتوي على خطوات",
importFailed: "فشل الاستيراد",
couldNotRead: "تعذرت قراءة ملف Pipeline",
fileCount: "{count} ملف",
fileCountPlural: "{count} ملفات",
importFromLibrary: "استيراد من المكتبة",
addButton: "+ إضافة",
libraryButton: "المكتبة",
clearButton: "مسح",
processingFailed: "فشلت المعالجة لهذا الملف",
processingMultiple: "جاري معالجة {count} ملف...",
processingPipeline: "جاري معالجة Pipeline...",
processButton: "معالجة",
processButtonMultiple: "معالجة ({count})",
processAllButton: "معالجة الكل ({count})",
addTool: "إضافة أداة",
toolPalette: "لوحة الأدوات",
clickToAdd: "اضغط للإضافة إلى Pipeline",
savedLabel: "محفوظ",
importButton: "استيراد",
noSavedPipelines: "لا توجد Pipeline محفوظة",
stepCount: "({count} خطوة)",
stepCountPlural: "({count} خطوات)",
exportPipeline: "تصدير Pipeline",
deletePipeline: "حذف Pipeline",
moreCount: "+{count} إضافي",
pipelineBuilder: "منشئ Pipeline",
addToolsPrompt: "أضف أدوات من اللوحة للبدء",
stepsConfigured: "{count} خطوة مهيأة",
stepsConfiguredPlural: "{count} خطوات مهيأة",
noFilesLoaded: "لم يتم تحميل ملفات",
downloadZip: "تحميل ZIP",
saveButton: "حفظ",
pipelineNamePlaceholder: "اسم Pipeline",
descriptionPlaceholder: "الوصف",
savingIndicator: "...",
cancelButton: "إلغاء",
preview: "معاينة",
previousImage: "الصورة السابقة",
nextImage: "الصورة التالية",
imageCounter: "{current} / {total}",
imageArea: "منطقة الصورة",
templateSocialMedia: "جاهز لوسائل التواصل",
templatePrivacyClean: "تنظيف الخصوصية",
templateWebOptimization: "تحسين للويب",
templateProfilePicture: "صورة الملف الشخصي",
templateWatermarkBatch: "علامة مائية جماعية",
createNew: "إنشاء أتمتة جديدة",
savedAutomations: "الأتمتة المحفوظة",
templates: "القوالب",
addStep: "إضافة خطوة",
removeStep: "إزالة",
moveUp: "نقل لأعلى",
moveDown: "نقل لأسفل",
savePipeline: "حفظ Pipeline",
runPipeline: "معالجة",
pipelineName: "اسم Pipeline",
pipelineDescription: "الوصف (اختياري)",
noStepsPrompt: "أضف خطوات لبناء أتمتتك",
noStepsHeading: "No steps yet",
searchToolsPlaceholder: "Search tools...",
step: "خطوة",
},
nav: {
tools: "الأدوات",
reader: "القارئ",
automate: "أتمتة",
editor: "المحرر",
files: "الملفات",
help: "المساعدة",
settings: "الإعدادات",
grid: "شبكة",
},
files: {
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",
fileCountSingular: "{count} file",
noFilesFound: "No files found",
selectFilePrompt: "Select a file to view details",
openFile: "Open File",
openInPipeline: "Open in Pipeline",
name: "Name",
format: "Format",
size: "Size",
dimensions: "Dimensions",
version: "Version",
toolsUsed: "Tools Used",
none: "None",
delete: "Delete",
pipeline: "Pipeline",
download: "Download",
},
dropzone: {
unsupportedFileType: "نوع الملف هذا غير مدعوم بهذه الأداة",
urlFetchFailed: "تعذر جلب الصورة من الرابط",
ariaLabel: "منطقة إسقاط الملفات",
dropPrompt: "اسحب صورك هنا",
browseOrPaste: "اضغط في أي مكان للتصفح، أو الصق من الحافظة",
uploadButton: "رفع",
defaultFormats: "PNG، JPG، WebP، HEIC، RAW، PSD، وأكثر من 65 صيغة",
orSeparator: "أو",
urlPlaceholder: "الصق رابط الصورة...",
urlLoadingIndicator: "...",
addUrlButton: "إضافة",
importMultipleUrls: "استيراد روابط متعددة...",
filesSelected: "تم اختيار {count} ملف",
},
reviewPanel: {
processedResultAlt: "النتيجة المعالجة",
sizeLabel: "الحجم: {size}",
typeLabel: "النوع: {type}",
processedLabel: "المعالجة: {time}",
undoButton: "تراجع",
downloadButton: "تحميل",
openInEditor: "فتح في المحرر",
reviewHeading: "مراجعة",
continueEditing: "متابعة التعديل",
},
features: {
notEnabledTitle: "الميزة غير مفعّلة",
notEnabledDescription: "هذه الميزة غير مفعّلة. اطلب من المسؤول تفعيلها في الإعدادات.",
requiresDownload: "تتطلب هذه الميزة تحميلًا إضافيًا (~{size})",
retryButton: "إعادة المحاولة",
queued: "في انتظار التثبيت...",
enableButton: "تفعيل {name}",
lessThanMinute: "أقل من دقيقة",
oneMinuteLeft: "~دقيقة واحدة متبقية",
minutesLeft: "~{mins} دقائق متبقية",
progressMessages: [
"أوشكنا على الانتهاء... على الأرجح...",
"الصبر مفتاح الفرج...",
"أسرع من انتظار غليان الماء...",
"صبرك يستحق الثناء...",
"نعمل بجد خلف الكواليس...",
"هذا هو الجزء الممتع، ثق بنا...",
"نقوم بأشياء مهمة في الخلفية...",
"إذا كنت تقرأ هذا، فكل شيء يسير على ما يرام...",
"نحضّر شيئًا رائعًا...",
"تستحق كل ثانية، وعد...",
"التشويق جزء من التجربة...",
"نعلّم جهازك حيلًا جديدة...",
"نجهّز قدراتك الخارقة...",
"صورك ستشكرك لاحقًا...",
"جاري التحميل... بأناقة...",
"وقت مناسب لفنجان قهوة...",
"روما لم تُبنَ في يوم واحد...",
"صمتًا... عبقري يعمل...",
"نحضّر مفاجأة لصورك...",
"نجمّع فريق الأحلام...",
"نفتح صندوق الإبداع...",
"كدنا ننتهي من التفكير في البدء... نمزح فقط...",
"مفاجأة: نحن نعمل فعلًا...",
"نُحمّي محركات الإبداع...",
"الخيال قيد التحميل...",
"ليست شاشة توقف، نعدك...",
"الفن العظيم يحتاج وقتًا للتثبيت...",
"ذاتك المستقبلية ستشكرك...",
"نجلب بعض الملفات الذكية جدًا...",
"تمسّك، الأفضل لم يأتِ بعد...",
],
},
help: {
heading: "المساعدة",
gettingStarted: {
heading: "البدء",
description:
"اختر أداة من الشريط الجانبي أو ابحث عن واحدة. ارفع صورة بسحبها إلى الصفحة أو بالضغط على منطقة الرفع. اضبط الإعدادات وحمّل نتيجتك.",
},
keyboardShortcuts: {
heading: "اختصارات لوحة المفاتيح",
focusSearchBar: "التركيز على شريط البحث",
goToTools: "الانتقال للأدوات",
toggleTheme: "تبديل السمة",
goToResize: "الانتقال لتغيير الحجم",
goToCrop: "الانتقال للقص",
goToCompress: "الانتقال للضغط",
goToConvert: "الانتقال للتحويل",
goToRemoveBackground: "الانتقال لإزالة الخلفية",
goToWatermarkText: "الانتقال للعلامة المائية النصية",
goToStripMetadata: "الانتقال لإزالة البيانات الوصفية",
goToImageInfo: "الانتقال لمعلومات الصورة",
},
resources: {
heading: "الموارد",
githubLink: "مستودع GitHub",
reportIssueLink: "الإبلاغ عن مشكلة",
docsLink: "التوثيق",
apiRefLink: "مرجع API (Swagger)",
},
versionLabel: "SnapOtter v{version}",
},
errors: {
generic: "حدث خطأ",
offline: "أنت غير متصل بالإنترنت",
reconnecting: "جاري إعادة الاتصال بالخادم...",
connected: "متصل",
processingFailed: "فشلت المعالجة لهذا الملف",
timeout: "انتهت مهلة الطلب. قد يكون الخادم محملًا بشكل زائد. حاول مرة أخرى.",
networkError: "خطأ في الشبكة. تحقق من اتصالك.",
invalidCredentials: "اسم المستخدم أو كلمة المرور غير صحيحة",
connectionError: "خطأ في الاتصال",
},
analytics: {
consentTitle: "ساعد في تحسين SnapOtter",
consentDescription:
"إحصائيات الاستخدام المجهولة تساعدنا في إصلاح الأخطاء وبناء الأدوات التي تحتاجها فعلًا. صورك وملفاتك تبقى على جهازك.",
consentChangeable: "يمكنك إيقاف هذا في أي وقت من الإعدادات.",
acceptButton: "بالتأكيد، موافق",
declineButton: "ليس الآن",
settingsTitle: "تحليلات المنتج",
settingsDescription: "مشاركة بيانات الاستخدام المجهولة للمساعدة في تحسين SnapOtter.",
settingsPrivacy: "صورك لا تغادر جهازك أبدًا.",
settingsDisabledByAdmin: "تم تعطيل تحليلات المنتج بواسطة مسؤول الخادم.",
learnMore: "معرفة المزيد",
},
sidebar: {
tools: "الأدوات",
grid: "شبكة",
automate: "أتمتة",
editor: "المحرر",
files: "الملفات",
help: "المساعدة",
settings: "الإعدادات",
},
toolCard: {
addToFavourites: "إضافة إلى المفضلة",
},
appLayout: {
mobileNavTools: "الأدوات",
mobileNavAutomate: "أتمتة",
mobileNavEditor: "المحرر",
mobileNavFiles: "الملفات",
mobileNavSettings: "الإعدادات",
},
} as const;