From a7b952faceb6f6d4860f6f07ee0f07c58aff104e Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sat, 10 Oct 2026 10:11:53 +0000 Subject: [PATCH 01/60] ADD ARABIC --- crates/ui-egui/src/i18n/ar.tsv | 2790 +++++++++++++++++++++++++++++ crates/ui-egui/src/i18n/mod.rs | 23 +- crates/ui-egui/src/i18n/system.rs | 2 +- 3 files changed, 2813 insertions(+), 2 deletions(-) create mode 100644 crates/ui-egui/src/i18n/ar.tsv diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv new file mode 100644 index 0000000000..5ba571f006 --- /dev/null +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -0,0 +1,2790 @@ +# Used French (fr) TRANSLATION to add arabic here +# Note that arabic is correct as long as you use UTF-8 +# There is some Text editors even in the late 2026 and still fail to render arabic correctly (Sublime Text) +# Used with the help of AI, because im not translating all of this! +# +# +# +# Use Notepad++ HERE FOR CORRECT ARABIC TEXT +# +# +# +# + File ملف + Edit تحرير + Image صورة + Layer طبقة + Type نص + Select تحديد + Selected محدد + Scope نطاق + Top Left أعلى اليسار + Top Right أعلى اليمين + Bottom Left أسفل اليسار + Bottom Right أسفل اليمين + Filter مرشح + View عرض + Window نافذة + Help مساعدة + (coming soon) (قريباً) + New… جديد… + Open… فتح… + Open As… فتح كـ… + Open Recent فتح حديث + Clear Recent Files مسح الملفات الحديثة + Close إغلاق + Minimize تصغير + Maximize تكبير + Restore استعادة + Close All إغلاق الكل + Close Others إغلاق الأخرى + Save حفظ + Save As… حفظ باسم… + Save a Copy… حفظ نسخة… + Revert استعادة + Export تصدير + Quick Export as PNG تصدير سريع كـ PNG + Export As… تصدير باسم… + Export Preferences… تفضيلات التصدير… + Save for Web (Legacy)… حفظ للويب (قديم)… + Artboards to Files… لوحات الرسم إلى ملفات… + Artboards to PDF… لوحات الرسم إلى PDF… + Layers to Files… الطبقات إلى ملفات… + Layer Comps to Files… تراكيب الطبقات إلى ملفات… + Color Lookup Tables… جداول البحث عن اللون… + Data Sets as Files… مجموعات البيانات كملفات… + Paths to Illustrator… المسارات إلى Illustrator… + Render Video… عرض الفيديو… + Generate توليد + Image Assets أصول الصورة + Place Embedded… وضع مضمن… + Place Linked… وضع مرتبط… + Package… حزمة… + Automate أتمتة + Batch… دفعة… + Create Droplet… إنشاء قطرة… + Crop and Straighten Photos قص الصور وتسويتها + Contact Sheet II… ورقة اتصال II… + Conditional Mode Change… تغيير الوضع المشروط… + Fit Image… ملاءمة الصورة… + Lens Correction… تصحيح العدسة… + Merge to HDR Pro… دمج في HDR Pro… + Photomerge… دمج الصور… + Scripts نصوص برمجية + Image Processor… معالج الصور… + Delete All Empty Layers حذف جميع الطبقات الفارغة + Flatten All Layer Effects تسوية جميع تأثيرات الطبقات + Flatten All Masks تسوية جميع الأقنعة + Script Events Manager… مدير أحداث النص البرمجي… + Import استيراد + Browse… تصفح… + Reveal in Finder إظهار في Finder + File Info… معلومات الملف… + Print… طباعة… + Print One Copy طباعة نسخة واحدة + Exit خروج + Undo تراجع + Redo إعادة + Toggle Last State تبديل الحالة الأخيرة + Fade… تلاشي… + Cut قص + Copy نسخ + Copy Merged نسخ مدمج + Paste لصق + Paste Special لصق خاص + Paste in Place لصق في المكان + Paste Into لصق داخل + Paste Outside لصق خارج + Paste Lorem Ipsum لصق نص عشوائي + Clear مسح + Search… بحث… + Check Spelling… التدقيق الإملائي… + Find and Replace Text… البحث عن النص واستبداله… + Fill… تعبئة… + Stroke… حدود… + Content-Aware Fill… تعبئة حسب المحتوى… + Delete and Fill Selection حذف وتعبئة التحديد + Content-Aware Scale تحجيم حسب المحتوى + Puppet Warp تشويه بالدمى + Perspective Warp تشويه المنظور + Free Transform تحويل حر + Transform تحويل + Again مرة أخرى + Scale تحجيم + Rotate تدوير + Skew إمالة + Distort تشويه + Perspective منظور + Warp تشويه + Flip Horizontal قلب أفقي + Flip Vertical قلب عمودي + Rotate 180° تدوير 180° + Rotate 90° Clockwise تدوير 90° مع عقارب الساعة + Rotate 90° Counter Clockwise تدوير 90° عكس عقارب الساعة + 180° 180° + 90° Clockwise 90° مع عقارب الساعة + 90° Counter Clockwise 90° عكس عقارب الساعة + Arbitrary… تعسفي… + Auto-Align Layers… محاذاة الطبقات تلقائياً… + Auto-Blend Layers… دمج الطبقات تلقائياً… + Define Brush Preset… تحديد إعداد مسبق للفرشاة… + Define Pattern… تحديد نمط… + Define Custom Shape… تحديد شكل مخصص… + Purge تفريغ + Clipboard الحافظة + Histories السجلات + Video Cache ذاكرة الفيديو المؤقتة + All الكل + Presets إعدادات مسبقة + Preset Manager… مدير الإعدادات المسبقة… + Migrate Presets ترحيل الإعدادات المسبقة + Export/Import Presets… تصدير/استيراد الإعدادات المسبقة… + Color Settings… إعدادات اللون… + Assign Profile… تعيين ملف تعريف… + Convert to Profile… تحويل إلى ملف تعريف… + Keyboard Shortcuts… اختصارات لوحة المفاتيح… + Menus… القوائم… + Toolbar… شريط الأدوات… + Preferences تفضيلات + General… عام… + Interface… واجهة… + Workspace… مساحة العمل… + Tools… أدوات… + History Log… سجل التاريخ… + File Handling… معالجة الملفات… + Export… تصدير… + Performance… الأداء… + Scratch Disks… أقراص الخدش… + Cursors… المؤشرات… + Transparency & Gamut… الشفافية ونطاق الألوان… + Units & Rulers… الوحدات والمسطرات… + Guides, Grid & Slices… الأدلة والشبكة والشرائح… + Plug-ins… الإضافات… + Type… نص… + Enhanced Controls… عناصر تحكم محسنة… + Camera Raw… Camera Raw… + Raw Defaults… إعدادات Raw الافتراضية… + Integrations… تكاملات… + AI Integrations… تكاملات الذكاء الاصطناعي… + Install Plug-in… تثبيت إضافة… + Language Options خيارات اللغة + Settings… إعدادات… + Mode وضع + Bitmap صورة نقطية + Grayscale تدرج رمادي + Duotone ثنائي اللون + Indexed Color لون مفهرس + RGB Color لون RGB + CMYK Color لون CMYK + Lab Color لون Lab + Multichannel متعدد القنوات + 8 Bits/Channel 8 بت/قناة + 16 Bits/Channel 16 بت/قناة + 32 Bits/Channel 32 بت/قناة + Color Table… جدول الألوان… + Bitmap… صورة نقطية… + Duotone… ثنائي اللون… + Indexed Color… لون مفهرس… + Adjustments تعديلات + Brightness/Contrast… السطوع/التباين… + Levels… المستويات… + Curves… المنحنيات… + Exposure… التعريض… + Vibrance… الحيوية… + Hue/Saturation… درجة اللون/التشبع… + Color Balance… توازن اللون… + Black & White… أبيض وأسود… + Photo Filter… مرشح الصور… + Channel Mixer… خلاط القنوات… + Color Lookup… بحث اللون… + Invert عكس + Posterize… تأثير الملصق… + Threshold… العتبة… + Gradient Map… خريطة التدرج… + Selective Color… لون انتقائي… + Shadows/Highlights… الظلال/الإضاءات… + HDR Toning… تدرج HDR… + Desaturate إزالة التشبع + Match Color… مطابقة اللون… + Replace Color… استبدال اللون… + Equalize تسوية + Auto Tone تدرج تلقائي + Auto Contrast تباين تلقائي + Auto Color لون تلقائي + Image Size… حجم الصورة… + Canvas Size… حجم لوحة الرسم… + Image Rotation تدوير الصورة + Flip Canvas Horizontal قلب لوحة الرسم أفقياً + Flip Canvas Vertical قلب لوحة الرسم عمودياً + Crop قص + Trim… تقليم… + Reveal All إظهار الكل + Duplicate… نسخ مكرر… + Apply Image… تطبيق الصورة… + Calculations… حسابات… + Variables متغيرات + Define… تحديد… + Data Sets… مجموعات البيانات… + Apply Data Set… تطبيق مجموعة البيانات… + Variable Data Sets… مجموعات البيانات المتغيرة… + Trap… فخ… + Analysis تحليل + Set Measurement Scale… تعيين مقياس القياس… + Select Data Points… تحديد نقاط البيانات… + Record Measurements تسجيل القياسات + Ruler Tool أداة المسطرة + Count Tool أداة العد + Place Scale Marker… وضع علامة المقياس… + Custom… مخصص… + New جديد + Layer… طبقة… + Group… مجموعة… + Group from Layers… مجموعة من الطبقات… + Artboard… لوحة رسم… + Artboard from Group… لوحة رسم من مجموعة… + Artboard from Layers… لوحة رسم من طبقات… + Layer via Copy طبقة عبر النسخ + Layer via Cut طبقة عبر القص + Layer From Background… طبقة من الخلفية… + Layer from Background… طبقة من الخلفية… + New Shape Layer طبقة شكل جديدة + New Type Layer طبقة نص جديدة + New Fill Layer طبقة تعبئة جديدة + New Adjustment Layer طبقة تعديل جديدة + New Layer Based Slice شريحة جديدة مبنية على طبقة + New Smart Object via Copy عنصر ذكي جديد عبر النسخ + New Blank Video Layer طبقة فيديو فارغة جديدة + New Video Layer from File… طبقة فيديو جديدة من ملف… + Duplicate Layer… نسخ مكرر للطبقة… + Delete Layer حذف الطبقة + Delete حذف + Rename Layer إعادة تسمية الطبقة + Create Layer إنشاء طبقة + Layer Style نمط الطبقة + Blending Options… خيارات الدمج… + Bevel & Emboss… شطب ونقش… + Inner Shadow… ظل داخلي… + Inner Glow… توهج داخلي… + Satin… ساتان… + Color Overlay… تراكب اللون… + Gradient Overlay… تراكب التدرج… + Pattern Overlay… تراكب النمط… + Outer Glow… توهج خارجي… + Drop Shadow… ظل مسقط… + Copy Layer Style نسخ نمط الطبقة + Paste Layer Style لصق نمط الطبقة + Clear Layer Style مسح نمط الطبقة + Global Light… إضاءة عامة… + Hide All Effects إخفاء جميع التأثيرات + Scale Effects… تحجيم التأثيرات… + Smart Filter مرشح ذكي + Convert for Smart Filters تحويل للمرشحات الذكية + Clear Smart Filters مسح المرشحات الذكية + Disable Smart Filters تعطيل المرشحات الذكية + Delete Filter Mask حذف قناع المرشح + Disable Filter Mask تعطيل قناع المرشح + Solid Color… لون خالص… + Gradient… تدرج… + Pattern… نمط… + Layer Mask قناع الطبقة + Vector Mask قناع متجه + Reveal Selection إظهار التحديد + Hide Selection إخفاء التحديد + Hide All إخفاء الكل + From Transparency من الشفافية + Delete Vector Mask حذف القناع المتجه + Enable Layer Mask تمكين قناع الطبقة + Disable Layer Mask تعطيل قناع الطبقة + Enable Vector Mask تمكين القناع المتجه + Link Layer Mask ربط قناع الطبقة + Unlink Layer Mask فك ربط قناع الطبقة + Link Vector Mask ربط القناع المتجه + Add Vector Mask إضافة قناع متجه + Vector Mask from Current Path قناع متجه من المسار الحالي + Create Clipping Mask إنشاء قناع قص + Release Clipping Mask إطلاق قناع القص + Smart Objects عناصر ذكية + Smart Object عنصر ذكي + Convert to Smart Object تحويل إلى عنصر ذكي + Convert to Embedded تحويل إلى مضمن + Convert to Layers تحويل إلى طبقات + Convert to Linked… تحويل إلى مرتبط… + Edit Contents تحرير المحتويات + Replace Contents… استبدال المحتويات… + Relink to File… إعادة الربط بالملف… + Export Contents… تصدير المحتويات… + Update Modified Content تحديث المحتوى المعدل + Update All Modified Content تحديث كل المحتوى المعدل + Stack Mode وضع المكدس + Entropy إنتروبيا + Kurtosis التفرطح + Maximum الحد الأقصى + Mean المتوسط + Median الوسيط + Minimum الحد الأدنى + Range النطاق + Skewness الالتواء + Standard Deviation الانحراف المعياري + Summation المجموع + Variance التباين + Video Layers طبقات الفيديو + Interpret Footage… تفسير اللقطات… + Replace Footage… استبدال اللقطات… + Reload Frame إعادة تحميل الإطار + Show Altered Video إظهار الفيديو المعدل + Restore Frame استعادة الإطار + Restore All Frames استعادة جميع الإطارات + Insert Blank Frame إدراج إطار فارغ + Delete Frame حذف الإطار + Duplicate Frame نسخ مكرر للإطار + Frame from Layers إطار من الطبقات + Video Frames to Layers… إطارات الفيديو إلى طبقات… + Rasterize تحويل إلى نقطية + Rasterize Type تحويل النص إلى نقطية + Rasterize Type Layer تحويل طبقة النص إلى نقطية + Rasterize Shape تحويل الشكل إلى نقطية + New Guide Layout… تخطيط دليل جديد… + New Guides From Shape أدلة جديدة من الشكل + Lock Layers… قفل الطبقات… + Link Layers ربط الطبقات + Select Linked Layers تحديد الطبقات المرتبطة + Merge Layers دمج الطبقات + Merge Down دمج للأسفل + Merge Visible دمج المرئي + Stamp Visible ختم المرئي + Stamp Down ختم للأسفل + Flatten Image تسوية الصورة + Matting تحديد الحواف + Color Decontaminate… إزالة تلوث اللون… + Remove Black Matte إزالة الحافة السوداء + Remove White Matte إزالة الحافة البيضاء + Defringe… إزالة الهالة… + Group Layers تجميع الطبقات + Ungroup Layers فك تجميع الطبقات + Hide Layers إخفاء الطبقات + Arrange ترتيب + Bring to Front إحضار إلى المقدمة + Bring Forward إحضار للأمام + Send Backward إرسال للخلف + Send to Back إرسال إلى الخلفية + Reverse عكس + Combine Shapes دمج الأشكال + Unite Shapes توحيد الأشكال + Subtract Front Shape طرح الشكل الأمامي + Intersect Shape Areas تقاطع مناطق الأشكال + Exclude Overlapping Shapes استبعاد الأشكال المتداخلة + Merge Shape Components دمج مكونات الشكل + Align محاذاة + Top Edges الحواف العلوية + Vertical Centers المراكز العمودية + Bottom Edges الحواف السفلية + Left Edges الحواف اليسرى + Horizontal Centers المراكز الأفقية + Right Edges الحواف اليمنى + Distribute توزيع + Vertically عمودياً + Horizontally أفقياً + Layer Edges حواف الطبقة + Isolate Layers عزل الطبقات + Layer Content Options… خيارات محتوى الطبقة… + Fill Content محتوى التعبئة + Deselect Layers إلغاء تحديد الطبقات + Find Layers البحث عن الطبقات + Layer Comps تراكيب الطبقات + Layers طبقات + All Layers جميع الطبقات + Hidden Layers الطبقات المخفية + Mask All Objects تقنيع جميع الكائنات + Subject الموضوع + Sky السماء + Panels لوحات + Character Panel لوحة الأحرف + Paragraph Panel لوحة الفقرات + Character Styles Panel لوحة أنماط الأحرف + Paragraph Styles Panel لوحة أنماط الفقرات + Glyphs Panel لوحة الرموز + Anti-Alias تنعيم الحواف + Sharp حاد + Crisp واضح + Strong قوي + Smooth ناعم + Windows LCD شاشة LCD لنظام Windows + Windows Windows + Orientation الاتجاه + Horizontal أفقي + Vertical عمودي + OpenType OpenType + Standard Ligatures ربطات قياسية + Contextual Alternates بدائل سياقية + Discretionary Ligatures ربطات اختيارية + Swash زخرفة + Oldstyle نمط قديم + Stylistic Alternates بدائل أسلوبية + Titling Alternates بدائل العناوين + Ornaments زخارف + Ordinals ترتيبي + Fractions كسور + Create Work Path إنشاء مسار عمل + Convert to Shape تحويل إلى شكل + Warp Text… تشويه النص… + Convert to Point Text تحويل إلى نص نقطي + Convert to Paragraph Text تحويل إلى نص فقرة + Default Features الميزات الافتراضية + East Asian Features ميزات شرق آسيا + Middle Eastern Features ميزات الشرق الأوسط + Middle Eastern & South Asian Composer مُنشئ الشرق الأوسط وجنوب آسيا + Update All Text Layers تحديث جميع طبقات النص + Replace All Missing Fonts استبدال جميع الخطوط المفقودة + Resolve Missing Fonts… حل الخطوط المفقودة… + Font Preview Size حجم معاينة الخط + None لا شيء + Small صغير + Medium متوسط + Large كبير + Extra Large كبير جداً + Huge ضخم + Load Default Type Styles تحميل أنماط النص الافتراضية + Save Default Type Styles حفظ أنماط النص الافتراضية + Deselect إلغاء التحديد + Reselect إعادة التحديد + Inverse عكس + Inverse Selection عكس التحديد + Similar مشابه + Color Range… نطاق اللون… + Focus Area… منطقة التركيز… + Select and Mask… تحديد وقناع… + Modify تعديل + Border… حدود… + Smooth… تنعيم… + Expand… توسيع… + Contract… تقليص… + Feather… تلاشي الحواف… + Grow نمو + Transform Selection تحويل التحديد + Edit in Quick Mask Mode تحرير في وضع القناع السريع + Load Selection… تحميل التحديد… + Save Selection… حفظ التحديد… + Match All مطابقة الكل + Last Filter المرشح الأخير + Filter Gallery… معرض المرشحات… + Adaptive Wide Angle… زاوية واسعة تكيفية… + Camera Raw Filter… مرشح Camera Raw… + Liquify… تسييل… + Vanishing Point… نقطة التلاشي… + Blur ضبابية + Blur Gallery معرض الضبابية + Field Blur… ضبابية الحقل… + Iris Blur… ضبابية القزحية… + Tilt-Shift… إمالة وإزاحة… + Path Blur… ضبابية المسار… + Spin Blur… ضبابية الدوران… + Blur More ضبابية أكثر + Box Blur… ضبابية الصندوق… + Gaussian Blur… ضبابية غاوسية… + Lens Blur… ضبابية العدسة… + Motion Blur… ضبابية الحركة… + Radial Blur… ضبابية شعاعية… + Shape Blur… ضبابية الشكل… + Smart Blur… ضبابية ذكية… + Surface Blur… ضبابية السطح… + Average متوسط + Displace… إزاحة… + Pinch… قرص… + Polar Coordinates… إحداثيات قطبية… + Ripple… تموج… + Shear… قص… + Spherize… تكوير… + Twirl… لف… + Wave… موجة… + ZigZag… متعرج… + Noise ضوضاء + Add Noise… إضافة ضوضاء… + Despeckle إزالة البقع + Dust & Scratches… غبار وخدوش… + Median… وسيط… + Reduce Noise… تقليل الضوضاء… + Pixelate تحويل إلى بكسل + Color Halftone… نصف لون… + Crystallize… تبلور… + Facet تسليط + Fragment تجزئة + Mezzotint… طباعة نصفية… + Mosaic… فسيفساء… + Pointillize… تنقيط… + Render عرض + Clouds سحب + Difference Clouds سحب الفرق + Fibers… ألياف… + Flame… لهب… + Lens Flare… توهج العدسة… + Lighting Effects… تأثيرات الإضاءة… + Relight… إعادة إضاءة… + Picture Frame… إطار صورة… + Tree… شجرة… + Sharpen تحديد + Sharpen Edges تحديد الحواف + Sharpen More تحديد أكثر + Smart Sharpen… تحديد ذكي… + Unsharp Mask… قناع عدم التحديد… + High Pass… مرور عالي… + Stylize تنميق + Diffuse… انتشار… + Emboss… نقش… + Extrude… نتوء… + Find Edges البحث عن الحواف + Oil Paint… طلاء زيتي… + Solarize عكس شمسي + Tiles… بلاط… + Trace Contour… تتبع المحيط… + Wind… رياح… + Video فيديو + De-Interlace… إزالة التشابك… + NTSC Colors ألوان NTSC + Other أخرى + Maximum… الحد الأقصى… + Minimum… الحد الأدنى… + Offset… إزاحة… + Plug-ins إضافات + Proof Setup إعداد البرهان + Proof Colors ألوان البرهان + Gamut Warning تحذير نطاق الألوان + Working CMYK CMYK العمل + Working Cyan Plate لوحة السماوي للعمل + Working Magenta Plate لوحة الأرجواني للعمل + Working Yellow Plate لوحة الأصفر للعمل + Working Black Plate لوحة الأسود للعمل + Working CMY Plate لوحة CMY للعمل + Legacy Macintosh RGB RGB لماكنتوش القديم + Internet Standard RGB RGB القياسي للإنترنت + Monitor RGB RGB للشاشة + Color Blindness — Protanopia-type عمى الألوان — نوع برتانوبيا + Color Blindness — Deuteranopia-type عمى الألوان — نوع ديوتيرانوبيا + Zoom In تكبير + Zoom Out تصغير + Fit on Screen ملاءمة على الشاشة + Fit Layer(s) on Screen ملاءمة الطبقة(ات) على الشاشة + Fit Artboard on Screen ملاءمة لوحة الرسم على الشاشة + 100% 100% + 200% 200% + 75% 75% + 125% 125% + 150% 150% + 175% 175% + 250% 250% + 300% 300% + Print Size حجم الطباعة + Pixel Aspect Ratio نسبة عرض البكسل + Pixel Aspect Ratio Correction تصحيح نسبة عرض البكسل + Custom Pixel Aspect Ratio… نسبة عرض بكسل مخصصة… + Square مربع + D1/DV NTSC (0.91) D1/DV NTSC (0.91) + D1/DV NTSC Widescreen (1.21) D1/DV NTSC شاشة عريضة (1.21) + D1/DV PAL (1.09) D1/DV PAL (1.09) + D1/DV PAL Widescreen (1.46) D1/DV PAL شاشة عريضة (1.46) + Anamorphic 2:1 (2) تشوه بصري 2:1 (2) + HDV 1080/DVCPRO HD 720 (1.33) HDV 1080/DVCPRO HD 720 (1.33) + DVCPRO HD 1080/HDV 1080 (1.5) DVCPRO HD 1080/HDV 1080 (1.5) + 32-bit Preview Options… خيارات معاينة 32 بت… + Screen Mode وضع الشاشة + Standard Screen Mode وضع الشاشة القياسي + Full Screen Mode With Menu Bar وضع ملء الشاشة مع شريط القوائم + Full Screen Mode وضع ملء الشاشة + Cycle Screen Mode تبديل وضع الشاشة + Show إظهار + Extras إضافات + Selection Edges حواف التحديد + Target Path المسار المستهدف + Current Path المسار الحالي + Grid شبكة + Guides أدلة + Canvas Guides أدلة لوحة الرسم + Artboard Guides أدلة لوحة الرسم + Count عد + Smart Guides أدلة ذكية + Slices شرائح + Notes ملاحظات + Pixel Grid شبكة البكسل + Pixel Art فن البكسل + Pixel Art Preview معاينة فن البكسل + Pattern Preview معاينة النمط + Brush Preview معاينة الفرشاة + Mesh شبكة + Edit Pins تحرير الدبابيس + Document Bounds حدود المستند + Show Extras Options… إظهار خيارات الإضافات… + Rulers مسطرات + Snap محاذاة + Snap To محاذاة إلى + Lock Guides قفل الأدلة + Clear Guides مسح الأدلة + Clear Selected Artboard Guides مسح أدلة لوحة الرسم المحددة + Clear Canvas Guides مسح أدلة لوحة الرسم + New Guide… دليل جديد… + Lock Slices قفل الشرائح + Clear Slices مسح الشرائح + Match Zoom مطابقة التكبير + Match Location مطابقة الموقع + Match Rotation مطابقة الدوران + Cascade شلال + Tile تجانب + Tile All Horizontally تجانب الكل أفقياً + Tile All Vertically تجانب الكل عمودياً + 2-up Horizontal 2 أفقي + 2-up Vertical 2 عمودي + 3-up Horizontal 3 أفقي + 3-up Stacked 3 مكدس + 3-up Vertical 3 عمودي + 4-up 4 + 6-up 6 + Consolidate All to Tabs توحيد الكل في علامات تبويب + Float in Window عائم في نافذة + Float All in Windows تعويم الكل في نوافذ + New Window for Document نافذة جديدة للمستند + Workspace مساحة العمل + Essentials أساسيات + Graphic and Web الرسوم والويب + Painting رسم + Photography تصوير فوتوغرافي + New Workspace… مساحة عمل جديدة… + Delete Workspace… حذف مساحة العمل… + Reset Workspace إعادة تعيين مساحة العمل + Lock Workspace قفل مساحة العمل + Theme سمة + Pro Theme سمة احترافية + Pro Medium Gray Theme سمة احترافية رمادية متوسطة + Studio Theme سمة الاستوديو + Studio Light Theme سمة الاستوديو الفاتحة + Adwaita Light Theme سمة Adwaita الفاتحة + Adwaita Dark Theme سمة Adwaita الداكنة + Classic Theme سمة كلاسيكية + Solarized dark Solarized داكن + Solarized Dark Theme سمة Solarized الداكنة + Next Theme السمة التالية + Actions إجراءات + Brush Settings إعدادات الفرشاة + Brushes فرش + Channels قنوات + Character حرف + Character Styles أنماط الأحرف + Clone Source مصدر الاستنساخ + Color لون + Glyphs رموز + Gradients تدرجات + Histogram مدرج تكراري + History سجل + Info معلومات + Measurement Log سجل القياس + Modifier Keys مفاتيح التعديل + Navigator مستكشف + Options خيارات + Paragraph فقرة + Paragraph Styles أنماط الفقرات + Paths مسارات + Patterns أنماط + Properties خصائص + Shapes أشكال + Styles أنماط + Swatches عينات + Timeline جدول زمني + Tool Presets إعدادات الأدوات المسبقة + Tools أدوات + About PhotoCraft حول PhotoCraft + PhotoCraft Website موقع PhotoCraft + PhotoCraft on GitHub PhotoCraft على GitHub + ArtCraft Website موقع ArtCraft + Join the ArtCraft Discord… انضم إلى Discord الخاص بـ ArtCraft… + Report an Issue… الإبلاغ عن مشكلة… + WIA Support… دعم WIA… + Apply تطبيق + HSB/HSL HSB/HSL + Invert… عكس… + Load Files into Stack… تحميل الملفات في مكدس… + Motion حركة + Notes… ملاحظات… + Other… أخرى… + Remove Warp Split إزالة تقسيم التشويه + Shape شكل + Split Warp Crosswise تقسيم التشويه عرضياً + Split Warp Horizontally تقسيم التشويه أفقياً + Split Warp Vertically تقسيم التشويه عمودياً + Statistics… إحصائيات… +@plural {n} item|{n} items {n} عنصر|{n} عنصر|{n} عنصران|{n} عناصر|{n} عنصراً|{n} عناصر + Auto تلقائي + (print to the printer) (طباعة على الطابعة) + + Add variable + إضافة متغير + 30 frames @ 30 fps 30 إطاراً بمعدل 30 إطار/ثانية + 3D LUT File ملف LUT ثلاثي الأبعاد + Absolute مطلق + Absolute Colorimetric قياسي مطلق + Action إجراء + Adaptive تكيفي + Adaptive Wide Angle isn't open الزاوية الواسعة التكيفية غير مفتوحة + Add إضافة + Add Layer Mask إضافة قناع طبقة + Add Stop إضافة نقطة توقف + Add a layer style إضافة نمط طبقة + Add a mask (from the selection; {key} inverts) إضافة قناع (من التحديد؛ {key} يعكس) + Add an adjustment إضافة تعديل + Add disk إضافة قرص + Add space after paragraph إضافة مسافة بعد الفقرة + Add space before paragraph إضافة مسافة قبل الفقرة + Add to Sample إضافة إلى العينة + Add to selection ({key}) إضافة إلى التحديد ({key}) + Adjust for Zoom ضبط للتكبير + Adjustment visible التعديل مرئي + Adobe RGB (1998) compatible متوافق مع Adobe RGB (1998) + Align and Distribute محاذاة وتوزيع + Align and distribute محاذاة وتوزيع + Align horizontal centers محاذاة المراكز الأفقية + Align left edges محاذاة الحواف اليسرى + Align right edges محاذاة الحواف اليمنى + Aligned محاذاة + All Caps أحرف كبيرة كلها + All Slices جميع الشرائح + All User Slices جميع شرائح المستخدم + All shortcuts reset to PhotoCraft defaults. تمت إعادة تعيين جميع الاختصارات إلى إعدادات PhotoCraft الافتراضية. + Alt Alt + Always use pressure for opacity استخدام الضغط دائماً للعتامة + Always use pressure for size استخدام الضغط دائماً للحجم + Amount الكمية + Anchor: مرساة: + Angle زاوية + Angle Gradient تدرج زاوية + Angle Jitter تباين الزاوية + Answer the unsaved-changes prompt first أجب أولاً على موجه التغييرات غير المحفوظة + Anti-alias تنعيم الحواف + Appearance مظهر + Appearance (Layer Style) مظهر (نمط الطبقة) + Apply Layer Mask تطبيق قناع الطبقة + Apply Per Tip تطبيق لكل طرف + Apply next selected layer comp تطبيق تركيبة الطبقة المحددة التالية + Apply previous selected layer comp تطبيق تركيبة الطبقة المحددة السابقة + Artboard لوحة رسم + Artboard Background Color لون خلفية لوحة الرسم + Assign working space تعيين مساحة العمل + Author: المؤلف: + Auto Hide إخفاء تلقائي + Auto-Select: تحديد تلقائي: + Automatically level near-horizontal line segments تسوية مقاطع الخط شبه الأفقية تلقائياً + Automatically straighten and level تسوية وضبط المستوى تلقائياً + Automatically straighten near-vertical line segments تقويم مقاطع الخط شبه العمودية تلقائياً + Background خلفية + Background Color لون الخلفية + Background Contents محتويات الخلفية + Balance توازن + Baseline خط الأساس + Baseline shift إزاحة خط الأساس + Basic أساسي + Before (Y) قبل (Y) + Begin recording بدء التسجيل + Bend: انحناء: + Bicubic ثنائي التكعيب + Bicubic (smooth gradients) ثنائي التكعيب (تدرجات سلسة) + Bilinear ثنائي الخطية + Black أسود + Black & White أبيض وأسود + Black Point Compensation تعويض النقطة السوداء + Black, White أسود، أبيض + Blacks السود + Blending دمج + Blending Options خيارات الدمج + Blue أزرق + Blue, Red, Yellow أزرق، أحمر، أصفر + Both كلاهما + Both Axes كلا المحورين + Bottom أسفل + Brightness سطوع + Brightness Jitter تباين السطوع + Brightness/Contrast سطوع/تباين + Bring the selected pin forward إحضار الدبوس المحدد للأمام + Brush Preset picker منتقي الإعدادات المسبقة للفرشاة + Brush Reconstruct Options خيارات إعادة بناء الفرشاة + Brush Tool Options خيارات أداة الفرشاة + Cache Level: مستوى ذاكرة التخزين المؤقت: + Camera Raw isn't open Camera Raw غير مفتوح + Cancel إلغاء + Cancel (Esc) إلغاء (Esc) + Cancel any current edits (Esc) إلغاء أي تعديلات حالية (Esc) + Cancel current crop operation (Esc) إلغاء عملية القص الحالية (Esc) + Cancel transform (Esc) إلغاء التحويل (Esc) + Cancel warp (Esc) إلغاء التشويه (Esc) + Canvas لوحة الرسم + Canvas extension color: لون تمديد لوحة الرسم: + Capture التقاط + Capture the visibility, position and style of every layer with + below, then switch between versions. التقط رؤية وموقع ونمط كل طبقة باستخدام + أدناه، ثم انتقل بين الإصدارات. + Catch-up on Stroke End ملاحقة في نهاية الشدّة + Center مركز + Center Crop Marks علامات قص المركز + Center text توسيط النص + Change تغيير + Change All تغيير الكل + Change Screen Mode (F) تغيير وضع الشاشة (F) + Change To: تغيير إلى: + Channel Mixer خلاط القنوات + Channel: قناة: + Check All Layers تحقق من جميع الطبقات + Check Spelling التدقيق الإملائي + Clarity وضوح + Clear All مسح الكل + Clear Override مسح التجاوز + Clear Samples مسح العينات + Click sets foreground · right-click sets background النقر يحدد الأمامية · النقر بزر الماوس الأيمن يحدد الخلفية + Click the first point or press {key} to close · Esc cancels انقر على النقطة الأولى أو اضغط على {key} للإغلاق · Esc يلغي + Click to add a point · drag off or {key}-click or Delete to remove انقر لإضافة نقطة · اسحب للخارج أو انقر {key} أو احذف للإزالة + Click to apply, {key}-click to clear overrides, double-click for Style Options انقر للتطبيق، انقر {key} لمسح التجاوزات، انقر نقراً مزدوجاً لخيارات النمط + Click to edit the gradient انقر لتحرير التدرج + Click to restore the current colour انقر لاستعادة اللون الحالي + Click to zoom in · {key}-click to zoom out · drag right/left to zoom in/out انقر للتكبير · انقر {key} للتصغير · اسحب يميناً/يساراً للتكبير/التصغير + Click with the Note tool to add a note. انقر بأداة الملاحظة لإضافة ملاحظة. + Click: corner · Drag: smooth · Click first point: close · {key} finish · Esc cancel نقر: زاوية · سحب: سلس · نقر النقطة الأولى: إغلاق · {key} إنهاء · Esc إلغاء + Clip to layer below قص إلى الطبقة أدناه + Clipped مقصوص + Close Style Options إغلاق خيارات النمط + Cmd Cmd + Color Grading تدريج اللون + Color Lookup بحث اللون + Color Management إدارة اللون + Color Mixer خلاط اللون + Color Mode وضع اللون + Color Priority أولوية الألوان + Color Range preview معاينة نطاق اللون + Color: اللون: + Colorize تلوين + Colors ألوان + Commit Perspective Warp ({key}) تطبيق تشويه المنظور ({key}) + Commit Puppet Warp ({key}) تطبيق تشويه الدمية ({key}) + Commit any current edits ({key}) تطبيق أي تعديلات حالية ({key}) + Commit current crop operation ({key}) تطبيق عملية القص الحالية ({key}) + Commit transform ({key}) تطبيق التحويل ({key}) + Commit warp ({key}) تطبيق التشويه ({key}) + Constant ثابت + Constrain proportions تقييد النسب + Contact Sheet II ورقة اتصال II + Content-Aware حسب المحتوى + Contiguous متصل + Contrast تباين + Control: تحكم: + Convert document's colors to the working space تحويل ألوان المستند إلى مساحة العمل + Convert to sRGB تحويل إلى sRGB + Copies نسخ + Copper نحاس + Copyright حقوق النشر + Copyright and Contact Info حقوق النشر ومعلومات الاتصال + Corner Crop Marks علامات قص الزوايا + Corner radius نصف قطر الزاوية + Correction تصحيح + Count Jitter تباين العدد + Create إنشاء + Create Droplet إنشاء قطرة + Create Texture إنشاء نسيج + Create Video Timeline إنشاء جدول زمني للفيديو + Create a new count group إنشاء مجموعة عد جديدة + Create a new document or open an existing file. أنشئ مستنداً جديداً أو افتح ملفاً موجوداً. + Create a new group إنشاء مجموعة جديدة + Create a new layer إنشاء طبقة جديدة + Create new action إنشاء إجراء جديد + Create new channel إنشاء قناة جديدة + Create new document from current state إنشاء مستند جديد من الحالة الحالية + Create new fill or adjustment layer إنشاء طبقة تعبئة أو تعديل جديدة + Create new gradient إنشاء تدرج جديد + Create new group إنشاء مجموعة جديدة + Create new layer comp إنشاء تركيبة طبقة جديدة + Create new pattern from the selection إنشاء نمط جديد من التحديد + Create new shape from the current path إنشاء شكل جديد من المسار الحالي + Create new snapshot إنشاء لقطة جديدة + Create new tool preset إنشاء إعداد مسبق جديد للأداة + Crop Factor عامل القص + Ctrl Ctrl + Current & Below الحالي وما تحته + Current Layer الطبقة الحالية + Current Size الحجم الحالي + Current Tool Only الأداة الحالية فقط + Curve منحنى + Curves منحنيات + Custom مخصص + Custom Shapes أشكال مخصصة + Cyan سماوي + Cyan · Red سماوي · أحمر + Darken تغميق + Darks الدرجات الداكنة + Data Sets مجموعات البيانات + Default افتراضي + Default colours (D) الألوان الافتراضية (D) + Default printer الطابعة الافتراضية + Default restored. تمت استعادة الإعدادات الافتراضية. + Define تحديد + Define at least one variable first. حدد متغيراً واحداً على الأقل أولاً. + Dehaze إزالة الضباب + Delete Cropped Pixels حذف البكسلات المقصوصة + Delete Group حذف المجموعة + Delete Layer Mask حذف قناع الطبقة + Delete Layers حذف الطبقات + Delete Shortcut حذف الاختصار + Delete Timeline حذف الجدول الزمني + Delete Tool Preset حذف الإعداد المسبق للأداة + Delete count group حذف مجموعة العد + Delete current channel حذف القناة الحالية + Delete current state حذف الحالة الحالية + Delete effect layer حذف طبقة التأثير + + # Layers-panel trash confirmation + Delete layer ‘{name}’? حذف الطبقة '{name}'؟ + Delete {count} layers? {names} حذف {count} طبقات؟ {names} + Delete layer? حذف الطبقة؟ + The document is closed المستند مغلق + The document or selected layers changed. Please request deletion again. تغير المستند أو الطبقات المحددة. يرجى طلب الحذف مرة أخرى. + Missing delete command أمر الحذف مفقود + Invalid delete command أمر حذف غير صالح + Layer deleted, but confirmation preference could not be saved: {error} تم حذف الطبقة، ولكن تعذر حفظ تفضيل التأكيد: {error} + + Delete layer حذف الطبقة + Delete layer comp حذف تركيبة الطبقة + Delete note حذف الملاحظة + Delete selected measurements حذف القياسات المحددة + Delete style حذف النمط + Delete tool preset حذف الإعداد المسبق للأداة + Density كثافة + Density: كثافة: + Depth عمق + Depth Jitter تباين العمق + Description وصف + Deselect All إلغاء تحديد الكل + Detail تفصيل + Diamond Gradient تدرج ماسي + Difference فرق + Diffusion انتشار + Discard the embedded profile (don't color manage) تجاهل الملف المضمن (بدون إدارة لون) + Discontiguous غير متصل + Discord Discord + Dismiss تجاهل + Display P3 Display P3 + Display Text نص العرض + Dither تنقيط + Divide… قسمة… + Document مستند + Don't Save عدم الحفظ + No لا + Yes نعم + Done تم + Dots نقاط + Drag a rectangle around the object اسحب مستطيلاً حول الكائن + Drag on the image to add a constraint; Shift for horizontal/vertical; right-click to delete. اسحب على الصورة لإضافة قيد؛ Shift للأفقي/العمودي؛ انقر بزر الماوس الأيمن للحذف. + Drag to move the active shape's path or the Work Path اسحب لنقل مسار الشكل النشط أو مسار العمل + Click: select anchor · Drag: move anchor, handle or segment · {shift}-click: add · {alt}-click: whole subpath نقر: تحديد مرساة · سحب: نقل مرساة أو مقبض أو مقطع · {shift}-نقر: إضافة · {alt}-نقر: المسار الفرعي بأكمله + Draw with the Pen tool (P) or make a work path from a selection. ارسم بأداة القلم (P) أو أنشئ مسار عمل من تحديد. + Drop an image or PSD anywhere to open it. أسقط صورة أو ملف PSD في أي مكان لفتحه. + Duplicate Layers… تكرار الطبقات… + Duplicate style تكرار النمط + Edit Toolbar… تحرير شريط الأدوات… + Edit in Quick Mask Mode (Q) تحرير في وضع القناع السريع (Q) + Edit in Standard Mode (Q) تحرير في الوضع القياسي (Q) + Effects تأثيرات + Embed Color Profile تضمين ملف تعريف اللون + Embedded Profile Mismatch عدم تطابق الملف المضمن + Enable airbrush-style build-up effects تمكين تأثيرات التراكم بأسلوب الرش + Enhance Edge تحسين الحافة + Entire Font الخط بأكمله + Exact دقيق + Expansion: توسيع: + Export Presets تصدير الإعدادات المسبقة + Export selected measurements (CSV) تصدير القياسات المحددة (CSV) + Exposure التعريض + Exposure and Gamma التعريض وغاما + Exposure: التعريض: + Eyedropper قطارة + Factor: عامل: + Faux Bold غامق زائف + Faux Italic مائل زائف + Feather تلاشي الحواف + Fewer Points نقاط أقل + File Settings إعدادات الملف + Fill تعبئة + Fill: تعبئة: + Filter for adjustment layers تصفية طبقات التعديل + Filter for pixel layers تصفية طبقات البكسل + Filter for shape layers تصفية طبقات الأشكال + Filter for smart objects تصفية الكائنات الذكية + Filter for type layers تصفية طبقات النص + Filter: تصفية: + Finger Painting رسم بالأصابع + Fisheye عين السمكة + Fit ملاءمة + Fit Screen ملاءمة الشاشة + Fill Screen ملء الشاشة + Fit in View ملاءمة في العرض + Fixed ثابت + Fixed Ratio نسبة ثابتة + Fixed Size حجم ثابت + Flip قلب + Flip X قلب أفقي (X) + Flip X Jitter تباين القلب الأفقي (X) + Flip Y قلب عمودي (Y) + Flip Y Jitter تباين القلب العمودي (Y) + Flow تدفق + Flow Jitter تباين التدفق + Focal Length البعد البؤري + Font خط + Font Size: حجم الخط: + Font size حجم الخط + Foreground الأمامية + Foreground to Background من الأمامية إلى الخلفية + Foreground/Background Jitter تباين الأمامية/الخلفية + Format تنسيق + Frame from Layers… إطار من الطبقات… + Free حر + Full Spherical كروي كامل + Fuzziness: ضبابية: + GPU GPU + Gamma Correction تصحيح غاما + Gamma: غاما: + Global عام + Glow Color لون التوهج + Gradient Map خريطة التدرج + Grain حبيبات + Gray رمادي + Gray Gamma 2.2 رمادي غاما 2.2 + Green أخضر + Group مجموعة + Hardness صلابة + Heart قلب + Height ارتفاع + Height: ارتفاع: + Hide Auto Slices إخفاء الشرائح التلقائية + Hide Properties إخفاء الخصائص + Highlight Compression ضغط الإضاءات + Highlight Priority أولوية الإضاءات + Highlights إضاءات + Home الرئيسية + Horizontal scale مقياس أفقي + Hue درجة اللون + Hue Jitter تباين درجة اللون + Hue/Saturation درجة اللون/التشبع + Hyphenate تقسيم الكلمات + Ignore تجاهل + Ignore All تجاهل الكل + Image Size حجم الصورة + Import Brushes… استيراد الفرش… + Import brushes (.abr) استيراد فرش (.abr) + Import Presets استيراد الإعدادات المسبقة + Imported مستورد + Indent First مسافة بادئة للأولى + Indent Left مسافة بادئة لليسار + Indent Right مسافة بادئة لليمين + Indent first line مسافة بادئة للسطر الأول + Indent left margin مسافة بادئة للهامش الأيسر + Indent right margin مسافة بادئة للهامش الأيمن + Input: إدخال: + Inside داخلي + Interlaced متشابك + Interpolation: استيفاء: + Intersect with selection ({key}) تقاطع مع التحديد ({key}) + Invert All عكس الكل + Invert has no settings. العكس ليس له إعدادات. + Italic مائل + Join us on Discord انضم إلينا على Discord + Justify all ضبط الكل + Justify last centered ضبط، السطر الأخير في المنتصف + Justify last left ضبط، السطر الأخير لليسار + Justify last right ضبط، السطر الأخير لليمين + Kerning تباعد الأحرف + Keyboard Shortcuts اختصارات لوحة المفاتيح + Keyboard Shortcuts and Menus اختصارات لوحة المفاتيح والقوائم + Kind نوع + Label Size حجم التسميات + Labels تسميات + Lanczos (sharp) Lanczos (حاد) + Landscape أفقي + Last Document State حالة المستند الأخيرة + Layout تخطيط + Leading تباعد الأسطر + Leading (set to the font size × auto-leading when Auto) تباعد الأسطر (يضبط على حجم الخط × تباعد تلقائي عند التلقائي) + Leave as is (don't color manage) اتركه كما هو (بدون إدارة لون) + Left يسار + Left align text محاذاة النص لليسار + Length: طول: + Level مستوى + Levels مستويات + Lighten تفتيح + Lightness خفة + Lights إضاءات + Limits: حدود: + Linear Gradient تدرج خطي + Link layers ربط الطبقات + Link width and height ربط العرض والارتفاع + Liquify is not open أداة التسييل غير مفتوحة + Load تحميل + Load 3D LUT… تحميل LUT ثلاثي الأبعاد… + Load channel as selection تحميل القناة كتحديد + Load… تحميل… + Localized Color Clusters عناقيد ألوان موضعية + Lock قفل + Lock all قفل الكل + Lock image pixels قفل بكسلات الصورة + Lock layer قفل الطبقة + Lock position قفل الموضع + Lock transparent pixels قفل البكسلات الشفافة + Lock: قفل: + Logical Length: طول منطقي: + Logical Units: وحدات منطقية: + Luminance لمعان + Luminance Detail تفاصيل اللمعان + Magenta أرجواني + Magenta · Green أرجواني · أخضر + Maintain aspect ratio الحفاظ على نسبة العرض إلى الارتفاع + Marker Size حجم العلامة + Mask All تقنيع الكل + Mask Options خيارات القناع + Masking تقنيع + Master رئيسي + Matte حافة + Median: وسيط: + Menus قوائم + Mesh Size حجم الشبكة + Metadata بيانات وصفية + Metrics مقاييس + Midpoint نقطة المنتصف + Midtones درجات متوسطة + Midtones from: درجات متوسطة من: + Midtones to: درجات متوسطة إلى: + Minimum Depth أدنى عمق + Minimum Diameter أدنى قطر + Minimum Roundness أدنى استدارة + Mode: وضع: + Monochrome أحادي اللون + More Points نقاط أكثر + Move effect layer down تحريك طبقة التأثير للأسفل + Move effect layer up تحريك طبقة التأثير للأعلى + Move to نقل إلى + Name اسم + Name: اسم: + Nearest Neighbor أقرب جار + Nearest Neighbor (hard edges) أقرب جار (حواف صلبة) + New Size حجم جديد + New document… مستند جديد… + New effect layer طبقة تأثير جديدة + New selection تحديد جديد + Next frame الإطار التالي + Next note الملاحظة التالية + No Color لا لون + No Color Management لا إدارة للألوان + No Dither بدون تنقيط + No author لا مؤلف + No character style لا نمط حرف + No document لا مستند + No matching commands لا توجد أوامر مطابقة + No presets for the current tool. لا توجد إعدادات مسبقة للأداة الحالية. + No presets of this type. لا توجد إعدادات مسبقة من هذا النوع. + No properties لا خصائص + No tool presets. لا توجد إعدادات مسبقة للأدوات. + Noise Reduction تقليل الضوضاء + Normal عادي + Not in Dictionary: غير موجود في القاموس: + OK موافق + Offset إزاحة + Only Web Colors ألوان الويب فقط + Opacity عتامة + Opacity Jitter تباين العتامة + Opacity: عتامة: + Open a document to define variables. افتح مستنداً لتحديد المتغيرات. + Open a document to select a colour range. افتح مستنداً لتحديد نطاق اللون. + Open a document to use the timeline. افتح مستنداً لاستخدام الجدول الزمني. + Optical بصري + Optimized محسن + Option-click to define a source point to clone from انقر مع Option لتحديد نقطة مصدر للاستنساخ منها + Original أصلي + Output Channel: قناة الإخراج: + Output Levels: مستويات الإخراج: + Output: إخراج: + Outside خارجي + Overlay Color لون التراكب + Overlay Opacity عتامة التراكب + Overlay: Rule of Thirds تراكب: قاعدة الأثلاث + Override Pressure تجاوز الضغط + Override Rotation تجاوز الدوران + Override Tilt تجاوز الميل + PRESET DETAILS تفاصيل الإعداد المسبق + PSD PSD + Paint Overlay تراكب الطلاء + Panel locations are saved in the workspace. Keyboard shortcuts, menus and toolbar are optional. تُحفظ مواقع اللوحات في مساحة العمل. اختصارات لوحة المفاتيح والقوائم وشريط الأدوات اختيارية. + Paper ورق + Path مسار + Pattern نمط + Pattern Size حجم النمط + Pause إيقاف مؤقت + Percent نسبة مئوية + Perceptual إدراكي + Perspective Warp is not active تشويه المنظور غير نشط + Perspective Warp: draw planes along the image's perspective, then switch to Warp تشويه المنظور: ارسم مستويات على طول منظور الصورة، ثم انتقل إلى التشويه + Photo Filter مرشح الصور + PhotoCraft PhotoCraft + PhotoCraft Manages Colors PhotoCraft يدير الألوان + PhotoCraft — an open-source, native image editor written in Rust. PhotoCraft — محرر صور أصلي ومفتوح المصدر مكتوب بلغة Rust. + Pin Depth: عمق الدبوس: + Pixel Length: طول البكسل: + Pixels/Centimeter بكسل/سنتيمتر + Pixels/Inch بكسل/بوصة + Pixels: بكسلات: + Play تشغيل + Play selection تشغيل التحديد + Portrait عمودي + Position موضع + Position and Size الموضع والحجم + Posterize تأثير الملصق + Preserve Details الحفاظ على التفاصيل + Preserve Luminosity الحفاظ على اللمعان + Preset إعداد مسبق + Preset Type نوع الإعداد المسبق + Preset: إعداد مسبق: + Presets: إعدادات مسبقة: + Press keys… اضغط على المفاتيح… + Pressure ضغط + Pressure for Opacity ضغط للعتامة + Pressure for Size ضغط للحجم + Prevent auto-nesting in and out of Artboards and Frames منع التداخل التلقائي داخل وخارج لوحات الرسم والإطارات + Preview معاينة + Previous frame الإطار السابق + Previous note الملاحظة السابقة + Print طباعة + Printer طابعة + Printer Manages Colors الطابعة تدير الألوان + Printer Setup إعداد الطابعة + Printing Marks علامات الطباعة + Progressive تدريجي + Promote ترقية + Protect Detail حماية التفاصيل + Protect Foreground Color حماية لون الأمامية + Protect Tones حماية الدرجات + Proximity Match مطابقة القرب + Pulled String Mode وضع الخيط المشدود + Puppet Warp is not active تشويه الدمية غير نشط + Purity نقاء + Quality جودة + Quick Actions إجراءات سريعة + Quick Export As PNG تصدير سريع كـ PNG + Radial Gradient تدرج شعاعي + Radius نصف قطر + Radius: نصف قطر: + Range: نطاق: + Rate معدل + Recently Used مستخدمة حديثاً + Reconstruct إعادة بناء + Record ● a sequence of edits, then play ▶ it on any document. سجل ● سلسلة من التعديلات، ثم شغلها ▶ على أي مستند. + Red أحمر + Redefine style by current selection إعادة تعريف النمط حسب التحديد الحالي + Reflected Gradient تدرج عاكس + Registration Marks علامات التسجيل + Regular عادي + Relative نسبي + Relative Colorimetric قياسي نسبي + Remove إزالة + Remove All Pins إزالة جميع الدبابيس + Remove Background إزالة الخلفية + Remove Planes إزالة المستويات + Remove Tool أداة الإزالة + Remove stop إزالة نقطة التوقف + Remove variable إزالة المتغير + Rename إعادة تسمية + Rename Group… إعادة تسمية المجموعة… + Rename Layer… إعادة تسمية الطبقة… + Rename Tool Preset… إعادة تسمية الإعداد المسبق للأداة… + Rename… إعادة تسمية… + Resample إعادة تشكيل العينة + Reset All to Defaults إعادة تعيين الكل إلى الافتراضي + Import Shortcuts… استيراد الاختصارات… + Load a keyboard shortcut set saved as .kys تحميل مجموعة اختصارات لوحة مفاتيح محفوظة كـ .kys + Imported {n} shortcuts from {file}. Click OK to keep them. تم استيراد {n} اختصارات من {file}. انقر على موافق للاحتفاظ بها. + {n} commands are not in PhotoCraft. {n} أوامر غير موجودة في PhotoCraft. + Keyboard shortcuts imported تم استيراد اختصارات لوحة المفاتيح + Your keyboard shortcut set {set} is in use here: {n} shortcuts differ from the defaults. Edit › Keyboard Shortcuts shows them; Reset All to Defaults undoes this. مجموعة اختصارات لوحة المفاتيح {set} قيد الاستخدام هنا: {n} اختصارات تختلف عن الافتراضي. يعرض تحرير › اختصارات لوحة المفاتيح ذلك؛ إعادة تعيين الكل إلى الافتراضي تلغي هذا. + Reset Section إعادة تعيين القسم + Reset Transform إعادة تعيين التحويل + Reset to defaults إعادة تعيين إلى الافتراضي + Resolution دقة + Resolution: دقة: + Restore All استعادة الكل + Restore Defaults استعادة الافتراضي + Restrictive (Web) مقيد (ويب) + Right يمين + Right align text محاذاة النص لليمين + Rigid صلب + Rotate: دوران: + Rotation دوران + Roughness خشونة + Roundness استدارة + Roundness Jitter تباين الاستدارة + Rulers & Grids مسطرات وشبكات + Sample All Layers أخذ عينات من جميع الطبقات + Sample: عينة: + Sampling: Background Swatch أخذ العينات: عينة الخلفية + Sampling: Continuous أخذ العينات: مستمر + Sampling: Once أخذ العينات: مرة واحدة + Saturate تشبع + Saturation تشبع + Saturation Jitter تباين التشبع + Save HTML and Images حفظ HTML والصور + Save as PDF حفظ كـ PDF + Save selection as channel حفظ التحديد كقناة + Save… حفظ… + Scale to Fit Media تحجيم لملاءمة الوسائط + Scatter تشتت + Scratch disks أقراص الخدش + Search بحث + Search commands بحث في الأوامر + Search commands, tools and panels… بحث في الأوامر والأدوات واللوحات… + Search fonts بحث في الخطوط + Select All تحديد الكل + Select Subject تحديد الموضوع + Select a type layer or click into text to insert glyphs حدد طبقة نص أو انقر داخل النص لإدراج الرموز + Select text to apply a character style حدد نصاً لتطبيق نمط حرف + Select: تحديد: + Selections تحديدات + Selective انتقائي + Selective Color لون انتقائي + Send the selected pin backward إرسال الدبوس المحدد للخلف + Set additional smoothing options تعيين خيارات تنعيم إضافية + Set background color تعيين لون الخلفية + Set foreground color تعيين لون الأمامية + Set painting symmetry options تعيين خيارات تناظر الرسم + Symmetry Off التناظر معطل + Set shape fill type تعيين نوع تعبئة الشكل + Set shape stroke type تعيين نوع حدود الشكل + Set the text color تعيين لون النص + Shadows ظلال + Shape: شكل: + Sharpening تحديد + Shift Shift + Shortcut removed. تمت إزالة الاختصار. + Show All Menu Items إظهار جميع عناصر القائمة + Show Backdrop إظهار الخلفية + Show Guides إظهار الأدلة + Show Mask إظهار القناع + Show Mesh إظهار الشبكة + Show Overlay إظهار التراكب + Show Transform Controls إظهار عناصر التحكم في التحويل + Show or hide the Notes panel إظهار أو إخفاء لوحة الملاحظات + Show: إظهار: + Sides أضلاع + Sides: أضلاع: + Size حجم + Size Jitter تباين الحجم + Size: حجم: + Slice Options… خيارات الشريحة… + Slices From Guides شرائح من الأدلة + Slices are locked (View › Lock Slices) الشرائح مقفلة (عرض › قفل الشرائح) + Small Caps أحرف صغيرة كبيرة + Smoothing تنعيم + Space After مسافة بعد + Space Before مسافة قبل + Spacing تباعد + Spell check complete. اكتمل التدقيق الإملائي. + Split: تقسيم: + Star ratio نسبة النجمة + Stop playing/recording إيقاف التشغيل/التسجيل + Straighten تسوية + Straighten Layer تسوية الطبقة + Strength: قوة: + Strikethrough يتوسطه خط + Stroke حدود + Stroke Catch-up ملاحقة الحدود + Stroke: حدود: + Location: موقع: + Style نمط + Style Options خيارات النمط + Style Options… خيارات النمط… + Style: Normal النمط: عادي + Subtract from Sample طرح من العينة + Subtract from selection ({key}) طرح من التحديد ({key}) + Suggestions: اقتراحات: + Swap colours (X) تبديل الألوان (X) + Swaps height and width تبديل الارتفاع والعرض + Switch between free transform and warp modes التبديل بين أوضاع التحويل الحر والتشويه + Switch theme تبديل السمة + Temperature درجة الحرارة + Tetrahedral رباعي السطوح + Text Position: موضع النص: + Texture نسيج + Texture Each Tip إضافة نسيج لكل طرف + Threshold عتبة + Threshold Level مستوى العتبة + Thumbnail size (smallest: list) حجم الصورة المصغرة (الأصغر: قائمة) + Tilt X ميل X + Tilt Y ميل Y + Tint صبغة + Toggle count group visibility تبديل رؤية مجموعة العد + Toggle text orientation تبديل اتجاه النص + Tolerance تسامح + Tolerance: تسامح: + Tone: نغمة: + Toolbar شريط الأدوات + Top أعلى + Total: الإجمالي: + Tracking تباعد الحروف + Tracking (1/1000 em) تباعد الحروف (1/1000 em) + Transparency شفافية + Transparent شفاف + Trilinear ثلاثي الخطية + Type Styles أنماط النص + Type: نوع: + Underline تسطير + Untitled بدون عنوان + Untitled-1 بدون عنوان-1 + Update layer comp (visibility, position and appearance) تحديث تركيبة الطبقة (الرؤية، الموضع، والمظهر) + Use Default استخدام الافتراضي + Use Legacy استخدام الإصدار القديم + Use Measurement Scale استخدام مقياس القياس + Use the embedded profile (instead of the working space) استخدام الملف المضمن (بدلاً من مساحة العمل) + Variables bind a layer's visibility, text or pixels to a named data slot. تربط المتغيرات رؤية الطبقة أو نصها أو بكسلاتها بفتحة بيانات مسماة. + Vertical scale مقياس عمودي + Vibrance حيوية + View Options خيارات العرض + Vignetting تعتيم الحواف + Violet, Orange بنفسجي، برتقالي + Visibility رؤية + Visible مرئي + Warp: تشويه: + Web Snap مغناطيسية الويب + Weight وزن + Weight: وزن: + White أبيض + White Balance: As Shot توازن الأبيض: كما تم التقاطه + Whites بيضاء + Width عرض + Width: عرض: + Work Path مسار العمل + Yellow أصفر + Yellow · Blue أصفر · أزرق + Zoom تكبير + Zoom in تكبير + Zoom out تصغير + command or shortcut أمر أو اختصار + current حالي + image file path مسار ملف الصورة + modified معدل + name اسم + new جديد + {name} options خيارات {name} + ↑↓ navigate {key} run esc close ↑↓ للتنقل {key} للتشغيل esc للإغلاق + Version {version} الإصدار {version} + New Document مستند جديد + Preset Name اسم الإعداد المسبق + No saved presets yet. لا توجد إعدادات مسبقة محفوظة بعد. + Error خطأ + Command أمر + Adjustment layers have nothing to transform طبقات التعديل ليس لديها ما يتم تحويله + Altitude ارتفاع + Android 1080p أندرويد 1080p + Apple Watch 45mm ساعة آبل 45 مم + Aqua أكوا + Art & Illustration فن ورسم توضيحي + ArtCraft ArtCraft + Background Eraser Tool أداة ممحاة الخلفية + Bevel & Emboss شطب ونقش + Blend Mode وضع الدمج + Blues البلوز + Blur Tool أداة الضبابية + Bold غامق + Brush فرشاة + Brush Pose وضع الفرشاة + Brush Tip Shape شكل طرف الفرشاة + Brush Tool أداة الفرشاة + Build-up تراكم + Burn Tool أداة التغميق + Centimeters سنتيمترات + Choke خنق + Classic كلاسيكي + Click to add text انقر لإضافة نص + Click to fill similar colours انقر لملء الألوان المتشابهة + Clone Stamp Tool أداة ختم الاستنساخ + Color Burn حرق اللون + Color Dodge تفادي اللون + Color Dynamics ديناميكيات اللون + Color Overlay تراكب اللون + Comic Book كتاب هزلي + Conform موافق + Content-Aware Fill needs a selection on a pixel layer تحتاج التعبئة حسب المحتوى إلى تحديد على طبقة بكسل + Could not transform: the layer is empty تعذر التحويل: الطبقة فارغة + Could not use Perspective Warp: the layer is empty تعذر استخدام تشويه المنظور: الطبقة فارغة + Could not use Puppet Warp: no opaque pixels تعذر استخدام تشويه الدمية: لا توجد بكسلات غير شفافة + Could not use Puppet Warp: the layer is empty تعذر استخدام تشويه الدمية: الطبقة فارغة + Crop Tool أداة القص + Crosswise عرضي + Current Tool الأداة الحالية + Custom Shape Tool أداة الشكل المخصص + Cyans سماوي + Default PhotoCraft Size حجم PhotoCraft الافتراضي + Delete Workspace حذف مساحة العمل + Diamond ماسي + Dimensions: أبعاد: + Direction اتجاه + Distance مسافة + Document Dimensions أبعاد المستند + Document Profile ملف تعريف المستند + Document Sizes أحجام المستند + Dodge Tool أداة التفتيح + Down أسفل + Drag to draw a gradient اسحب لرسم تدرج + Drag to move the active layer اسحب لنقل الطبقة النشطة + Drag to pan · hold Space with any tool اسحب للتحريك · اضغط مع الاستمرار على Space مع أي أداة + Drop Shadow ظل مسقط + Dual Brush فرشاة مزدوجة + Edge حافة + Efficiency كفاءة + Efficiency: 100% كفاءة: 100% + Ellipse Tool أداة القطع الناقص + Elliptical Marquee Tool أداة التحديد البيضاوي + Emboss نقش + Eraser ممحاة + Eraser Tool أداة الممحاة + ExtraBold غامق جداً + ExtraLight رفيع جداً + Eyedropper Tool أداة القطارة + Fade تلاشي + Fill Opacity عتامة التعبئة + Film & Video فيلم وفيديو + From من + General عام + GitHub GitHub + Gradient Overlay تراكب التدرج + Gradient Tool أداة التدرج + Greens خضروات + Hand Tool أداة اليد + Hard صلب + Hard Mix مزيج صلب + Healing Brush Tool أداة فرشاة المعالجة + Highlights from: إضاءات من: + History Brush Tool أداة فرشاة السجل + Horizontal Type Tool أداة النص الأفقي + Image Size: حجم الصورة: + Inches بوصات + Indexed مفهرس + Initial Direction الاتجاه الأولي + Inner Bevel شطب داخلي + Inner Glow توهج داخلي + Inner Shadow ظل داخلي + Lab Lab + Landscape, 10 x 8 أفقي، 10 × 8 + Landscape, 6 x 4 أفقي، 6 × 4 + Landscape, 7 x 5 أفقي، 7 × 5 + Lasso لاسو + Lasso Tool أداة اللاسو + Layer Count عدد الطبقات + Layer Knocks Out Drop Shadow الطبقة تخفي الظل المسقط + Legal قانوني + Letter خطاب + Light فاتح + Line Tool أداة الخط + Linear خطي + Linear Burn حرق خطي + Linear Height ارتفاع خطي + Link with Layer ربط مع الطبقة + Lorem Ipsum Lorem Ipsum + Magentas أرجواني + Magic Eraser Tool أداة الممحاة السحرية + Magic Wand Tool أداة العصا السحرية + Marquee تحديد + Mean: متوسط: + Measurement Scale مقياس القياس + Measurement Scale Marker علامة مقياس القياس + Millimeters ملليمترات + Mobile جوال + Move Tool أداة التحريك + Could not use the move tool because the layer is locked. تعذر استخدام أداة التحريك لأن الطبقة مقفلة. + Multiply ضرب + My Brushes فرشاتي + Neutrals محايد + New Workspace مساحة عمل جديدة + Note Tool أداة الملاحظة + Object Selection Tool أداة تحديد الكائن + Off معطل + Open فتح + Orange برتقالي + Original Ratio النسبة الأصلية + Out Of Gamut خارج نطاق الألوان + Outer Bevel شطب خارجي + Outer Glow توهج خارجي + Overlay تراكب + Paint Bucket Tool أداة دلو الطلاء + Paints from the document's opening state يرسم من حالة فتح المستند + Path Selection Tool أداة تحديد المسار + Direct Selection Tool أداة التحديد المباشر + Pattern Overlay تراكب النمط + Pen Pressure ضغط القلم + Pen Tilt ميل القلم + Pen Tool أداة القلم + Photo صورة + PhotoCraft website موقع PhotoCraft + Picas بيكا + Pillow Emboss نقش وسادة + Pixel Replacement استبدال البكسل + Pixels بكسلات + Points نقاط + Polygon Tool أداة المضلع + Polygonal Lasso Tool أداة اللاسو المضلع + Portrait, 4 x 6 عمودي، 4 × 6 + Portrait, 5 x 7 عمودي، 5 × 7 + PostScript (72 points/inch) PostScript (72 نقطة/بوصة) + Postcard بطاقة بريدية + Poster ملصق + Pro (Dark) احترافي (داكن) + Pro (Medium Gray) احترافي (رمادي متوسط) + Protect Texture حماية النسيج + Purple أرجواني + Quick Mask قناع سريع + Quick Selection Tool أداة التحديد السريع + Radial شعاعي + Rasterize Layer تحويل الطبقة إلى نقطية + Rasterize Layers تحويل الطبقات إلى نقطية + Ratio نسبة + Recent حديث + Rectangle Tool أداة المستطيل + Rectangular Marquee Tool أداة التحديد المستطيل + Reds أحمر + Reflected عاكس + Sample: foreground colour عينة: لون الأمامية + Sampled Colors ألوان مأخوذة كعينة + Satin ساتان + Save Pixel Aspect Ratio حفظ نسبة عرض البكسل + Scattering تشتت + Scratch Sizes أحجام أقراص الخدش + Select Data Points تحديد نقاط البيانات + Selection تحديد + SemiBold نصف غامق + Shadows up to: ظلال حتى: + Shape Dynamics ديناميكيات الشكل + Sharpen Tool أداة التحديد + Show Extras Options خيارات إظهار الإضافات + Slice Select Tool أداة تحديد الشريحة + Slice Tool أداة الشريحة + Smart Filters مرشحات ذكية + Smudge Tool أداة التلطخ + Soft ناعم + Soften تليين + Source مصدر + Source: set المصدر: محدد + Sponge Tool أداة الإسفنج + Spot Healing Brush Tool أداة فرشاة المعالجة الموضعية + Spread انتشار + Square, 12 x 12 مربع، 12 × 12 + Square, 5 x 5 مربع، 5 × 5 + Std Dev: انحراف معياري: + Studio (Dark) استوديو (داكن) + Studio (Light) استوديو (فاتح) + Stylus Wheel عجلة القلم + Subtract طرح + Tabloid تابلويد + Text Replacement استبدال النص + Thin رفيع + Traditional (72.27 points/inch) تقليدي (72.27 نقطة/بوصة) + Transfer نقل + Triangle Tool أداة المثلث + Unsaved changes تغييرات غير محفوظة + Uses the foreground and background colours. يستخدم ألوان الأمامية والخلفية. + Web ويب + Web Large ويب (كبير) + Web Minimum ويب (أدنى) + Web Most Common ويب (الأكثر شيوعاً) + WebP (lossless) WebP (بدون فقدان) + Wet Edges حواف مبللة + Yellows أصفر + Zoom Tool أداة التكبير + {name} Properties خصائص {name} + Revert “{name}” to the last saved version? Your changes will be lost. العودة إلى آخر إصدار محفوظ لـ "{name}"؟ ستفقد تغييراتك. + Do you want to save the changes you made to “{name}” before quitting? هل تريد حفظ التغييرات التي أجريتها على "{name}" قبل الخروج؟ + Do you want to save the changes you made to “{name}” before closing? هل تريد حفظ التغييرات التي أجريتها على "{name}" قبل الإغلاق؟ + Doc: {flat}/{layered} مستند: {flat}/{layered} + Scratch: {size} خدش: {size} + Untagged {mode} غير موسوم {mode} + {w} px x {h} px ({ppi} ppi) {w} بكسل × {h} بكسل ({ppi} بكسل/بوصة) + Resolution: {dpi} pixels/inch الدقة: {dpi} بكسل/بوصة + Doc: {w} × {h} px مستند: {w} × {h} بكسل + Frame {current} / {total} إطار {current} / {total} + Count: {n} العدد: {n} + BLANK DOCUMENT PRESETS ({n}) إعدادات مسبقة لمستند فارغ ({n}) + Constraints ({n}) قيود ({n}) + Align {what} محاذاة {what} + @plural {n} Layer|{n} Layers {n} طبقة|{n} طبقة|{n} طبقتان|{n} طبقات|{n} طبقةً|{n} طبقات + @plural {n} layer|{n} layers {n} طبقة|{n} طبقة|{n} طبقتان|{n} طبقات|{n} طبقةً|{n} طبقات + @plural Group · {n} layer|Group · {n} layers مجموعة · {n} طبقة|مجموعة · {n} طبقة|مجموعة · {n} طبقتان|مجموعة · {n} طبقات|مجموعة · {n} طبقةً|مجموعة · {n} طبقات + Additional plugins folder مجلد الإضافات الإضافي + Adobe Adobe + Adobe rgb Adobe RGB + Allow agent control السماح بالتحكم بالوكيل + Allow scripts to connect السماح للنصوص البرمجية بالاتصال + Always دائماً + Always create smart objects when placing إنشاء كائنات ذكية دائماً عند الوضع + Animated zoom تكبير متحرك + Apply auto tone تطبيق النغمة التلقائية + Ask سؤال + Ask before saving layered tiff السؤال قبل حفظ TIFF بطبقات + Auto collapse icon panels طي لوحات الأيقونات تلقائياً + Auto show hidden panels إظهار اللوحات المخفية تلقائياً + Auto show home screen إظهار الشاشة الرئيسية تلقائياً + Autosave حفظ تلقائي + Autosave minutes دقائق الحفظ التلقائي + Beep when done صفير عند الانتهاء + Bicubic automatic ثنائي التكعيب تلقائي + Bicubic sharper ثنائي التكعيب أكثر حدة + Bicubic smoother ثنائي التكعيب أكثر سلاسة + Bit depth عمق البت + Brush preview color لون معاينة الفرشاة + Cache levels مستويات ذاكرة التخزين المؤقت + Cache tile size حجم بلاطة ذاكرة التخزين المؤقت + Camera Raw Defaults إعدادات Camera Raw الافتراضية + Canvas border حدود لوحة الرسم + Canvas color لون لوحة الرسم + Canvas custom color لون مخصص للوحة الرسم + Color picker منتقي الألوان + Color space مساحة اللون + Column width عرض العمود + Concise موجز + Control port منفذ التحكم + Convert to srgb تحويل إلى srgb + Cursors مؤشرات + Custom dark مخصص داكن + Custom light مخصص فاتح + Dark داكن + Dark gray رمادي داكن + Dashed lines خطوط متقطعة + Destination وجهة + Detailed مفصل + Disks أقراص + Display p3 Display P3 + Double click layer mask launches select and mask النقر المزدوج على قناع الطبقة يفتح التحديد والقناع + Drop shadow ظل مسقط + Dynamic color sliders أشرطة تمرير الألوان الديناميكية + East asian شرق آسيوي + Effect cache mb ذاكرة التخزين المؤقت للتأثيرات (ميغابايت) + Enable flick panning تمكين التحريك باللمس السريع + Enable floating document window docking تمكين إرساء نوافذ المستندات العائمة + Enable narrow options bar تمكين شريط الخيارات الضيق + Enabled مفعل + Enhanced Controls عناصر تحكم محسنة + Export clipboard تصدير الحافظة + Extra large كبير جداً + File Handling معالجة الملفات + File path مسار الملف + Fill new type layers with placeholder تعبئة طبقات النص الجديدة بنص نائب + Font preview معاينة الخطوط + Full size tip طرف بحجم كامل + Gamut warning color لون تحذير نطاق الألوان + Gamut warning opacity عتامة تحذير نطاق الألوان + Generator enabled المولد مفعل + Gif GIF + Glossy لامع + Grid color لون الشبكة + Grid colors ألوان الشبكة + Grid size حجم الشبكة + Grid style نمط الشبكة + Grid unit وحدة الشبكة + Gridline every خط شبكة كل + Guide color لون الدليل + Guide style نمط الدليل + Guides, Grid & Slices أدلة، شبكة وشرائح + Gutter هامش داخلي + History Log سجل السجل + History states حالات السجل + Ignore exif profile tag تجاهل علامة ملف تعريف EXIF + Image interpolation استيفاء الصورة + Image previews معاينات الصور + Integrations تكاملات + Interface واجهة + Jpeg quality جودة JPEG + Jpg JPG + Language لغة + Large tabs علامات تبويب كبيرة + Legacy compositing تركيب تراثي + Light gray رمادي فاتح + Line خط + Lines خطوط + Lossless بدون فقدان + Lowercase extension امتداد بأحرف صغيرة + Maximize psd compatibility تعظيم توافق PSD + Medium gray رمادي متوسط + Memory usage mb استخدام الذاكرة (ميغابايت) + Low resolution previews معاينات بدقة منخفضة + Missing glyph protection حماية من الرموز المفقودة + Modern حديث + Nearest neighbor أقرب جار + Never أبداً + Normal tip طرف عادي + Open as smart object فتح ككائن ذكي + Open in camera raw فتح في Camera Raw + Open documents as tabs فتح المستندات كعلامات تبويب + Overscroll تمرير زائد + Performance الأداء + Png PNG + Point size حجم النقطة + Precise دقيق + Preserve details الحفاظ على التفاصيل + Print resolution دقة الطباعة + Pro احترافي + Pro medium احترافي متوسط + Pro photo ProPhoto + Quick export format تنسيق التصدير السريع + Quick export location موقع التصدير السريع + Recent file count عدد الملفات الحديثة + Recent files ملفات حديثة + Recent fonts خطوط حديثة + Recover on launch استرداد عند التشغيل + Remember workspace changes تذكر تغييرات مساحة العمل + Resize image during place تغيير حجم الصورة أثناء الوضع + Rotate view with trackpad تدوير العرض باستخدام لوحة اللمس + Same folder نفس المجلد + Save in background حفظ في الخلفية + Scratch Disks أقراص الخدش + Screen شاشة + Screen resolution دقة الشاشة + Scrubby slider acceleration تسريع أشرطة التمرير السريعة + Sessions only جلسات فقط + Sharpen for تحديد لـ + Show channels in color إظهار القنوات بالألوان + Show crosshair in brush tip إظهار علامة التصويب في طرف الفرشاة + Show extension panels إظهار لوحات التمديد + Show font names in english إظهار أسماء الخطوط بالإنجليزية + Show menu colors إظهار ألوان القوائم + Show only crosshair while painting إظهار علامة التصويب فقط أثناء الرسم + Show slice numbers إظهار أرقام الشرائح + Show tooltips إظهار تلميحات الأدوات + Show transformation values إظهار قيم التحويل + Slice color لون الشريحة + Smart guide color لون الدليل الذكي + Smart quotes علامات اقتباس ذكية + Snap vector tools and transforms to pixel grid محاذاة الأدوات والمتجهات والتحويلات إلى شبكة البكسل + Srgb sRGB + Standard قياسي + Studio استوديو + Studio light استوديو فاتح + Adwaita Adwaita + Adwaita dark Adwaita داكن + Subdivisions تقسيمات فرعية + System نظام + Text engine محرك النص + Text file ملف نصي + Tiny صغير جداً + Touch gestures إيماءات اللمس + Transparency & Gamut شفافية ونطاق ألوان + Type units وحدات النص + UI font size حجم خط واجهة المستخدم + UI scale مقياس واجهة المستخدم + Units & Rulers وحدات ومسطرات + Use additional plugins folder استخدام مجلد الإضافات الإضافي + Use esc to commit استخدام esc للتطبيق + Use gpu استخدام GPU + Use legacy free transform استخدام التحويل الحر القديم + Use shift key for tool switch استخدام مفتاح shift لتبديل الأدوات + Vary round brush hardness on hud تغيير صلابة الفرشاة الدائرية على شاشة العرض + Webp WebP + World ready جاهز للعالمية + Zoom clicked point to center تكبير النقطة المنقورة إلى المركز + Zoom resizes windows التكبير يغير حجم النوافذ + Zoom with scroll wheel تكبير باستخدام عجلة التمرير + Zoom with trackpad pinch تكبير باستخدام قرص لوحة اللمس + Pass Through مرور + Dissolve ذوبان + Darker Color لون أغمق + Linear Dodge (Add) تفادي خطي (إضافة) + Lighter Color لون أفتح + Soft Light ضوء ناعم + Hard Light ضوء قوي + Vivid Light ضوء حيوي + Linear Light ضوء خطي + Pin Light ضوء دبوس + Exclusion استبعاد + Divide قسمة +Luminosity لمعان +@plural {n} sample|{n} samples {n} عينة|{n} عينة|{n} عينتان|{n} عينات|{n} عينةً|{n} عينات + {added}, {removed} subtracted {added}، {removed} مطروحة + Adjustment Preview معاينة التعديل + Airbrush: keeps depositing paint while the pointer rests. فرشاة هوائية: تستمر في وضع الطلاء بينما يستقر المؤشر. + Angle: زاوية: + Blend If دمج إذا + Close Tab Group إغلاق مجموعة علامات التبويب + Collapse طي + Collapse All Groups طي جميع المجموعات + Collapse Panel Group طي مجموعة اللوحات + Collapse group ({key}-click: all groups) طي المجموعة (انقر {key}: جميع المجموعات) + Create new brush from the current settings إنشاء فرشاة جديدة من الإعدادات الحالية + Create new brush from these settings إنشاء فرشاة جديدة من هذه الإعدادات + Update the current brush with these settings تحديث الفرشاة الحالية بهذه الإعدادات + Delete brush حذف الفرشاة + Drag the arrow to set the angle, the dots to set the roundness اسحب السهم لضبط الزاوية، والنقاط لضبط الاستدارة + Expand توسيع + Expand Panel Group توسيع مجموعة اللوحات + Expand group ({key}-click: all groups) توسيع المجموعة (انقر {key}: جميع المجموعات) + Fade steps خطوات التلاشي + Hide the layer's effects ({key}-click: all layers) إخفاء تأثيرات الطبقة (انقر {key}: جميع الطبقات) + Import Brushes… (.abr) استيراد الفرش… (.abr) + Move Group Down تحريك المجموعة للأسفل + Move Group Up تحريك المجموعة للأعلى + Reset the brush to the defaults إعادة تعيين الفرشاة إلى الافتراضي + Restore original size استعادة الحجم الأصلي + Roundness: استدارة: + Search Brushes البحث في الفرش + Show the layer's effects ({key}-click: all layers) إظهار تأثيرات الطبقة (انقر {key}: جميع الطبقات) + Brush picker منتقي الفرش + Erase مسح + Right click with painting tools انقر بزر الماوس الأيمن باستخدام أدوات الرسم + System Info… معلومات النظام… + System Info معلومات النظام + More panels المزيد من اللوحات + More documents المزيد من المستندات + These settings aren't available in PhotoCraft yet. هذه الإعدادات غير متوفرة في PhotoCraft بعد. + Graphics رسومات + Reset GPU Backend إعادة تعيين محرك GPU + Applies at next launch. يُطبق عند التشغيل التالي. + Click to sample the foreground colour · {key}-click for background انقر لأخذ عينة من لون الأمامية · انقر {key} للخلفية + {key}-click to set the source انقر {key} لتعيين المصدر + {key} to subtract {key} للطرح + Clone source {n} ({key}-click with Clone Stamp to set) مصدر الاستنساخ {n} (انقر {key} باستخدام ختم الاستنساخ للتعيين) + Source: not set ({key}-click with Clone Stamp) المصدر: غير معين (انقر {key} باستخدام ختم الاستنساخ) + Pixel Layer طبقة بكسل + Type Layer طبقة نص + Shape Layer طبقة شكل + Group Layer طبقة مجموعة + Fill Layer طبقة تعبئة + Smart Object Layer طبقة كائن ذكي + Create Warped Text إنشاء نص مشوه + Rasterize Smart Object تحويل الكائن الذكي إلى نقطية + Rasterize Fill Content تحويل محتوى التعبئة إلى نقطي + Unlock: picking a preset replaces these settings إلغاء القفل: اختيار إعداد مسبق يستبدل هذه الإعدادات + Lock: keep these settings when picking another preset قفل: الاحتفاظ بهذه الإعدادات عند اختيار إعداد مسبق آخر + Diameter: قطر: + Hardness: صلابة: + No brush presets لا توجد إعدادات مسبقة للفرشاة + Toggle the Brush Settings panel (F5) تبديل لوحة إعدادات الفرشاة (F5) + Create new brush preset from the current settings إنشاء إعداد مسبق جديد للفرشاة من الإعدادات الحالية + Brush Settings… (F5): every option of this brush إعدادات الفرشاة… (F5): كل خيارات هذه الفرشاة + Rename Brush… إعادة تسمية الفرشاة… + Delete Brush حذف الفرشاة + New Brush Preset… إعداد مسبق جديد للفرشاة… + Brush Preset Options خيارات الإعداد المسبق للفرشاة + Group name اسم المجموعة + Brush name اسم الفرشاة + Grid view عرض شبكي + List view عرض قائمة + Off: the speed of the pointer sets the spacing معطل: سرعة المؤشر تحدد التباعد + Tilt Scale مقياس الميل + Brush Projection إسقاط الفرشاة + Apply the pen's tilt and rotation to the tip shape تطبيق ميل ودوران القلم على شكل الطرف + Mixer Brush فرشاة مزج + Wet رطب + Mix مزج + Wetness Jitter تباين الرطوبة + Mix Jitter تباين المزج + Show the layer mask as an overlay إظهار قناع الطبقة كتراكب + Toggle visibility تبديل الرؤية + Unlink the mask from the layer فك ربط القناع عن الطبقة + Link the mask to the layer ربط القناع بالطبقة + Gradient تدرج + Gradient Options خيارات التدرج + Align with layer محاذاة مع الطبقة + Reset Alignment إعادة تعيين المحاذاة + Centre the gradient (offset 0, 0) توسيط التدرج (إزاحة 0، 0) +# Gradient Editor window, opened from the options bar's gradient swatch. + Gradient Editor محرر التدرج + Gradient picker منتقي التدرج + Save As Preset حفظ كإعداد مسبق + The gradient the Gradient tool paints with التدرج الذي ترسم به أداة التدرج + Adds the current gradient to the Gradients panel يضيف التدرج الحالي إلى لوحة التدرجات + Gradient stops نقاط توقف التدرج + Select a type layer to edit its character and paragraph settings. حدد طبقة نص لتحرير إعدادات الحرف والفقرة الخاصة بها. + Text color لون النص + Type Options خيارات النص + Anti-aliasing method طريقة تنعيم الحواف + Horizontal type نص أفقي + Vertical type نص عمودي + Fill path with foreground color تعبئة المسار بلون الأمامية + Stroke path with brush تخطيط المسار بالفرشاة + Load path as a selection تحميل المسار كتحديد + Make work path from selection إنشاء مسار عمل من التحديد + Add vector mask إضافة قناع متجه + Create new path إنشاء مسار جديد + Delete path حذف المسار + Delete vector mask حذف القناع المتجه + CPU (no GPU acceleration) وحدة المعالجة المركزية (بدون تسريع GPU) + DirectX 12 DirectX 12 + GPU backend محرك GPU + Linux display server خادم عرض Linux + X11 X11 + Metal Metal + OpenGL OpenGL + Use tablet pressure استخدام ضغط اللوحة + Vulkan Vulkan + Alt-click to define a source point to clone from انقر مع Alt لتحديد نقطة مصدر للاستنساخ منها + No path to make a selection from: draw one with the Pen tool or select one in the Paths panel. لا يوجد مسار لإنشاء تحديد منه: ارسم واحداً بأداة القلم أو حدد واحداً في لوحة المسارات. + Cancel opening إلغاء الفتح + Cancelled opening {name} تم إلغاء فتح {name} + Developing {name} تطوير {name} + Cancelled {label} تم إلغاء {label} + Esc to cancel Esc للإلغاء + Opening {name} جاري فتح {name} + Saving {name} جاري حفظ {name} + A save to {name} is still running; try again when it finishes لا يزال الحفظ إلى {name} قيد التشغيل؛ حاول مرة أخرى عند الانتهاء + {label} is writing the file and can no longer be cancelled يكتب {label} الملف ولم يعد من الممكن إلغاؤه + Opening {name}… جاري فتح {name}… + Opening… جاري الفتح… + Reading… جاري القراءة… + Working… جاري المعالجة… +@id select.all تحديد الكل +@id edit.purge.undo سجل التراجع + Delete Smart Filters حذف المرشحات الذكية + Enable Smart Filters تمكين المرشحات الذكية + New Layer… طبقة جديدة… + Delete Layer… حذف الطبقة… + Color Range نطاق اللون + Select Similar Colors تحديد الألوان المتشابهة + New Selection تحديد جديد + Adaptive Wide Angle زاوية واسعة تكيفية + Chalk & Charcoal طباشير وفحم + Charcoal فحم + Chrome كروم + Conté Crayon قلم Conté + Graphic Pen قلم رسومي + Halftone Pattern نمط نصف نغمة + Note Paper ورق ملاحظات + Photocopy نسخ ضوئي + Plaster جبس + Reticulation تشبيك + Stamp ختم + Torn Edges حواف ممزقة + Water Paper ورق مائي + Canvas rotation دوران لوحة الرسم + Extensions إضافات + Libraries مكتبات + 3D 3D + Toolbars أشرطة الأدوات + Move تحريك + Wand عصا + Pencil قلم رصاص + Clone Stamp ختم الاستنساخ + Healing معالجة + Dodge تفتيح + Burn تغميق + Pen قلم + Hand يد + Sampler أداة أخذ العينات + Note tool أداة الملاحظة + Quick Selection تحديد سريع + Magnetic Lasso لاسو مغناطيسي + History Brush فرشاة السجل + Art History Brush فرشاة السجل الفني + Pattern Stamp ختم النمط + Spot Healing معالجة موضعية + Red Eye عين حمراء + Patch رقعة + Content-Aware Move نقل حسب المحتوى + Rotate View تدوير العرض + Perspective Crop قص منظور + Color Replacement استبدال اللون + Dodge/Burn تفتيح/تغميق + Dynamics ديناميكيات + Tilt ميل + Reset إعادة تعيين + Defaults restored. تمت استعادة الإعدادات الافتراضية. + Stop إيقاف + Create new set إنشاء مجموعة جديدة + Technology Previews معاينات التكنولوجيا + New Group مجموعة جديدة + Layer Comp تركيبة الطبقة + Create new layer إنشاء طبقة جديدة + Group · {n} layer مجموعة · {n} طبقة + General Blend دمج عام + Advanced Blending دمج متقدم + RGB RGB + Alpha ألفا + Spot Channel قناة لون مباشر + Working Gray Plate لوحة الرمادي للعمل + HSL/Grayscale HSL/تدرج رمادي + Tone Curve منحنى النغمات + Split Toning تقسيم التون + Lens Corrections تصحيحات العدسة + Camera Calibration معايرة الكاميرا + Snapshots لقطات + Recovery استرداد + Fill Light ضوء تعبئة + Convert to Grayscale تحويل إلى تدرج رمادي + Sharpness حدة + Color Noise Reduction تقليل ضوضاء اللون + Luminance Smoothness نعومة اللمعان + Make الشركة المصنعة + Model الطراز + Lens عدسة + F F + ISO ISO + Focal Length35mm البعد البؤري 35 مم + Aspect Ratio نسبة العرض إلى الارتفاع + Time الوقت + Artist الفنان + Enter description… أدخل وصفاً… + ColorSync ColorSync + ProPhoto ProPhoto + sRGB sRGB + ACES ACES + Industry Standard معيار الصناعة + Uncoated CMYK CMYK غير مطلي + Newspaper صحيفة + Working Spaces مساحات العمل + Color Management Policies سياسات إدارة الألوان + Detect Faces اكتشاف الوجوه + Localize Color Clusters تحديد مواقع عناقيد الألوان + Duplicated selection name اسم التحديد مكرر + Operation عملية + New channel only قناة جديدة فقط + Masked Areas مناطق مقنعة + Selected Areas مناطق محددة + Spot Color لون مباشر + Color indicates يشير اللون إلى + Create Snapshot إنشاء لقطة + Delete Snapshot حذف اللقطة + New Snapshot لقطة جديدة + Snapshot 1 لقطة 1 + Step Forward خطوة للأمام + Step Backward خطوة للخلف + Nonlinear History سجل غير خطي + Set New Snapshot as Default تعيين اللقطة الجديدة كافتراضي + Automatically Create First Snapshot إنشاء اللقطة الأولى تلقائياً + Automatically Create New Snapshot When Saving إنشاء لقطة جديدة تلقائياً عند الحفظ + Show New Snapshot Dialog by Default إظهار مربع حوار اللقطة الجديدة افتراضياً + Clear History مسح السجل + Panel Options… خيارات اللوحة… + View menu قائمة العرض + Keep view in sync إبقاء العرض متزامناً + {zoom}% {zoom}% + Mouse Controls عناصر تحكم الماوس + Initial Direction of Stroke الاتجاه الأولي للشدة + Direction of Stroke اتجاه الشدة + Humidity رطوبة + Auto Clean Brush تنظيف الفرشاة تلقائياً + Spacing: تباعد: + Brush Tip طرف الفرشاة + New Layer from Brush طبقة جديدة من الفرشاة + New Brush فرشاة جديدة + New Tool Preset إعداد مسبق جديد للأداة + Auto-Leading تباعد أسطر تلقائي + Scale Horizontally تحجيم أفقي + Scale Vertically تحجيم عمودي + Baseline Shift إزاحة خط الأساس + Mac LCD شاشة LCD لماك + Mac Sharp ماك حاد + Mac Crisp ماك واضح + Mac Strong ماك قوي + Mac Smooth ماك ناعم + Superscript حرف فوقي + Subscript حرف سفلي + Ligature ربطة + Alternative بديل + Roman روماني + Bold Italic غامق مائل + Ultra Light خفيف جداً + Extra Light خفيف إضافي + Semi Bold نصف غامق + Extra Bold غامق إضافي + Ultra Bold غامق جداً + Condensed مضغوط + First Line Indent مسافة بادئة للسطر الأول + Hanging Punctuation ترقيم معلق + Roman Hanging Punctuation ترقيم روماني معلق + Avoid Widows/Orphans تجنب الأراميل واليتامى + Compose تأليف + Adobe Single-line Composer مؤلف سطر واحد من Adobe + Adobe Every-line Composer مؤلف كل سطر من Adobe + Justification ضبط + Word Spacing تباعد الكلمات + Letter Spacing تباعد الحروف + Glyph Scaling تحجيم الرموز + Auto-leading % تباعد أسطر تلقائي % + Single Word Justification ضبط كلمة واحدة + Alignment محاذاة + Justify ضبط + Glyph رمز + Alternates for Current Selection بدائل للتحديد الحالي + Digits أرقام + Symbols رموز + Punctuation ترقيم + Path: مسار: + Path to Illustrator… مسار إلى Illustrator… + Make Work Path إنشاء مسار عمل + Make Selection إنشاء تحديد + Fill Path تعبئة المسار + Stroke Path تخطيط المسار + Clipping Path مسار قص + New Path مسار جديد + Duplicate Path تكرار المسار + Delete Path حذف المسار + Auto-Hide إخفاء تلقائي + W ع + H ا + X س + Y ص + Frame Sync مزامنة الإطارات + Quick Sync مزامنة سريعة + Audio صوت + Frame Duration مدة الإطار + Loop تكرار + Split at Playhead تقسيم عند رأس التشغيل + Flatten Frames Into Clips تسوية الإطارات في مقاطع + Flatten Frames Into Layers تسوية الإطارات في طبقات + Convert Frames > Video Layers تحويل الإطارات > طبقات فيديو + New Video Layer طبقة فيديو جديدة + New Video Group مجموعة فيديو جديدة + Limit Playback تحديد التشغيل + Enable Timeline Quick Config تمكين التكوين السريع للجدول الزمني + Set Start Timecode… تعيين رمز الوقت البدء… + Timecode رمز الوقت + 30 fps 30 إطار/ثانية + 25 fps 25 إطار/ثانية + 24 fps 24 إطار/ثانية + 15 fps 15 إطار/ثانية + 10 fps 10 إطار/ثانية + Current Time الوقت الحالي + Out خارج + In داخل + Duration المدة + Repeat تكرار + Play Once تشغيل مرة واحدة + Info Options… خيارات المعلومات… + First Color Readout قراءة اللون الأولى + Second Color Readout قراءة اللون الثانية + Actual Color اللون الفعلي + Grayscale Slider شريط تمرير التدرج الرمادي + Web Color لون الويب + HSB Color لون HSB + Total Ink إجمالي الحبر + Opacity Mask قناع العتامة + Ruler مسطرة + Document Size حجم المستند + Timing توقيت + Status Information معلومات الحالة + Saved Multichannel متعدد القنوات محفوظ + Mouse Coordinates إحداثيات الماوس + Ruler Units وحدات المسطرة + Hide إخفاء + New Layer Comp تركيبة طبقة جديدة + Duplicate Layer Comp تكرار تركيبة الطبقة + Rename Layer Comp إعادة تسمية تركيبة الطبقة + Apply Layer Comp تطبيق تركيبة الطبقة + Update Layer Comp تحديث تركيبة الطبقة + Restore last viewed comp استعادة آخر تركيبة شوهدت + Method طريقة + Select All Layers تحديد جميع الطبقات + Keep proportions الحفاظ على النسب + Interpolation استيفاء + Author المؤلف + Caption تسمية توضيحية + Caption Credits اعتمادات التسمية التوضيحية + Keywords كلمات مفتاحية + Copyright Info URL عنوان URL لمعلومات حقوق النشر + Copyright Status حالة حقوق النشر + Copyrighted محفوظ الحقوق + Public Domain ملكية عامة + Unknown غير معروف + Credit اعتماد + Transmission Reference مرجع الإرسال + Urgency إلحاح + High عالي + Low منخفض + Category فئة + Supplemental Categories فئات تكميلية + Object Name / Title اسم الكائن / العنوان + Date Created تاريخ الإنشاء + City المدينة + Location الموقع + Province / State المقاطعة / الولاية + Country البلد + Byline سطر الكاتب + Byline Title عنوان سطر الكاتب + Phone الهاتف + Email البريد الإلكتروني + URLs عناوين URL + Last Modified آخر تعديل + EXIF EXIF + GPS GPS + Camera Data بيانات الكاميرا + Camera Model طراز الكاميرا + Camera Make شركة الكاميرا + EXIF Version إصدار EXIF + Exposure Program برنامج التعريض + Aperture فتحة العدسة + Shutter Speed سرعة الغالق + Metering Mode وضع القياس + Light Source مصدر الضوء + Flash فلاش + Lens Info معلومات العدسة + ISO Speed حساسية ISO + Subject Distance مسافة الموضوع + DateTime Original التاريخ والوقت الأصلي + Create Date تاريخ الإنشاء + Modify Date تاريخ التعديل + Software البرنامج + Raw Data بيانات خام + Advanced متقدم + Import… استيراد… + PDF Presentation… عرض تقديمي PDF… + Create Multiple Picture Packages إنشاء حزم صور متعددة + Picture Package… حزمة صور… + Web Photo Gallery… معرض صور ويب… + Choose… اختيار… + Select Folder… تحديد مجلد… + Override Action "Save" Commands تجاوز أوامر "حفظ" الإجراء + File Naming تسمية الملفات + Compatibility توافق + Mac OS Mac OS + Unix Unix + Include ICC Profile تضمين ملف تعريف ICC + Error File ملف الأخطاء + Stop For Errors إيقاف عند الأخطاء + Log Errors To File تسجيل الأخطاء في ملف + Errors أخطاء + Settings إعدادات + Settings: إعدادات: + Working Space مساحة العمل + RGB: RGB: + CMYK: CMYK: + Gray: رمادي: + Spot: مباشر: + Advanced Controls عناصر تحكم متقدمة + Desaturate Monitor Colors By إزالة تشبع ألوان الشاشة بمقدار + Blend RGB Colors Using Gamma 1.0 دمج ألوان RGB باستخدام غاما 1.0 + Profile Mismatches: Ask When Opening عدم تطابق الملف: سؤال عند الفتح + Ask When Pasting سؤال عند اللصق + Missing Profiles: Ask When Opening ملفات مفقودة: سؤال عند الفتح + Embed profiles تضمين الملفات + Ask Before Saving Saved Embedded سؤال قبل حفظ الملف المضمن المحفوظ + Coerce to sRGB فرض sRGB + sRGB IEC61966-2.1 sRGB IEC61966-2.1 + Adobe RGB (1998) Adobe RGB (1998) + ProPhoto RGB ProPhoto RGB + ColorMatch RGB ColorMatch RGB + Wide Gamut RGB Wide Gamut RGB + Apple RGB Apple RGB + NTSC (1953) NTSC (1953) + PAL/SECAM PAL/SECAM + SMPTE C SMPTE C + HDTV (Rec. 709) HDTV (Rec. 709) + CIE RGB CIE RGB + Graphic and web الرسوم والويب + Minimalistic بسيط + Expand All Groups توسيع جميع المجموعات + Photo (2 × 3 in) صورة (2 × 3 بوصة) + Photo (4 × 6 in) صورة (4 × 6 بوصة) + Photo (5 × 7 in) صورة (5 × 7 بوصة) + Photo (8 × 10 in) صورة (8 × 10 بوصة) + Recent Items العناصر الحديثة + Save Preset… حفظ الإعداد المسبق… + Delete Preset… حذف الإعداد المسبق… + Preset Name: اسم الإعداد المسبق: + Width and Height العرض والارتفاع + Color Profile ملف تعريف اللون + Units وحدات + Columns أعمدة + Create new count group إنشاء مجموعة عد جديدة + Adjustment Layer طبقة تعديل + Pencil Tool أداة قلم الرصاص + Pixel بكسل + Adjustment تعديل + Drag (lasso) or click points (polygonal) · {add} add · {sub} subtract اسحب (لاسو) أو انقر النقاط (مضلع) · {add} إضافة · {sub} طرح + Drag a crop box · drag inside to move · edges resize ({ratio} ratio, {centre} centre) · Space moves while drawing · arrows nudge · X swaps orientation · {commit} commits · Esc cancels اسحب مربع قص · اسحب بالداخل للتحريك · الحواف تغير الحجم (نسبة {ratio}، مركز {centre}) · المسافة تحرك أثناء الرسم · الأسهم تدفع · X يبدل الاتجاه · {commit} يطبق · Esc يلغي + {mode} Color · {bits} bit ألوان {mode} · {bits} بت + Drag to move the layer اسحب لتحريك الطبقة + Scrubby Zoom تكبير بالتمرير + Auto Erase مسح تلقائي + Color Adaptation تكيف اللون + Preserve Transparency الحفاظ على الشفافية + shortcut اختصار + Go to Layer الانتقال إلى الطبقة + Saved محفوظ + After (X) بعد (X) + Current حالي + Reference point location موقع نقطة المرجع + Toggle reference point تبديل نقطة المرجع + Arc قوس + Arch قوس معماري + Bulge انتفاخ + Shell Lower صدفة سفلية + Shell Upper صدفة علوية + Flag علم + Fish سمكة + Wave موجة + Rise ارتفاع + Inflate تضخم + Twist التواء + Squeeze ضغط + Add Pins إضافة دبابيس + Delete Pins حذف الدبابيس + Rotate Auto تدوير تلقائي + Rotate Fixed تدوير ثابت + Create Plane إنشاء مستوى + Edit Plane تحرير المستوى + Select Plane تحديد المستوى + Measure قياس + Heal معالجة + Heal Off معالجة معطلة + Heal On معالجة مفعلة + Heal Auto معالجة تلقائية + Blend دمج + Brush Size حجم الفرشاة + Heal Color لون المعالجة + Mask قناع + Channel قناة + Rectangle مستطيل + Result نتيجة + New Channel قناة جديدة + Save Selection حفظ التحديد + Load Selection تحميل التحديد + Duplicate تكرار + Fast سريع + Accurate دقيق + Add to إضافة إلى + Subtract from طرح من + Intersect with تقاطع مع + Capture Comp التقاط التركيبة + No Layer Comps لا توجد تراكيب طبقات + Adobe PDF Presets… إعدادات Adobe PDF المسبقة… + 3D… 3D… + Technology Previews… معاينات التكنولوجيا… + Background from Layer خلفية من الطبقة + Add a mask (from the selection; ⌥ inverts) إضافة قناع (من التحديد؛ ⌥ يعكس) + Add to selection (⇧) إضافة إلى التحديد (⇧) + Airbrush: keeps painting while the pointer rests. فرشاة هوائية: تستمر في الرسم بينما يستقر المؤشر. + Click the first point or press ↵ to close · Esc cancels انقر النقطة الأولى أو اضغط ↵ للإغلاق · Esc يلغي + Click to add a point · drag off or ⌘/Ctrl-click or Delete to remove انقر لإضافة نقطة · اسحب للخارج أو انقر ⌘/Ctrl أو احذف للإزالة + Click to apply, ⌥-click to clear overrides, double-click for Style Options انقر للتطبيق، انقر ⌥ لمسح التجاوزات، انقر نقراً مزدوجاً لخيارات النمط + Click to zoom in · ⌥-click to zoom out انقر للتكبير · انقر ⌥ للتصغير + Click: corner · Drag: smooth · Click first point: close · ↩ finish · Esc cancel نقر: زاوية · سحب: سلس · نقر النقطة الأولى: إغلاق · ↩ إنهاء · Esc إلغاء + Commit Perspective Warp (↩) تطبيق تشويه المنظور (↩) + Commit Puppet Warp (↩) تطبيق تشويه الدمية (↩) + Commit any current edits (⌘↩) تطبيق أي تعديلات حالية (⌘↩) + Commit current crop operation (↵) تطبيق عملية القص الحالية (↵) + Commit transform (↩) تطبيق التحويل (↩) + Commit warp (↩) تطبيق التشويه (↩) + Create a new layer (⇧⌘N) إنشاء طبقة جديدة (⇧⌘N) + Custom pattern نمط مخصص + General Brushes فرش عامة + Grid (⌘') شبكة (⌘') + Intersect with selection (⇧⌥) تقاطع مع التحديد (⇧⌥) + New document… ⌘N مستند جديد… ⌘N + Open… ⌘O فتح… ⌘O + Rulers (⌘R) مسطرات (⌘R) + Search commands (⌘K) بحث في الأوامر (⌘K) + Show Guides (⌘;) إظهار الأدلة (⌘;) + Subtract from selection (⌥) طرح من التحديد (⌥) + Uses the foreground and background colors. يستخدم ألوان الأمامية والخلفية. + ↑↓ navigate ↵ run esc close ↑↓ للتنقل ↵ للتشغيل esc للإغلاق + Adds grain to the soft edges of the brush tip. يضيف حبيبات إلى الحواف الناعمة لطرف الفرشاة. + Keeps the current texture when switching presets. يحافظ على النسيج الحالي عند تبديل الإعدادات المسبقة. + Watercolour look: lighter interior, darker rims. مظهر الألوان المائية: داخل أفتح، حواف أغمق. + Collapse group (⌥-click: all groups) طي المجموعة (انقر ⌥: جميع المجموعات) + Expand group (⌥-click: all groups) توسيع المجموعة (انقر ⌥: جميع المجموعات) + Hide the layer's effects (⌥-click: all layers) إخفاء تأثيرات الطبقة (انقر ⌥: جميع الطبقات) + Show the layer's effects (⌥-click: all layers) إظهار تأثيرات الطبقة (انقر ⌥: جميع الطبقات) + +# Copy transforms, layer navigation and cancellable opening (from PR #582 by neko233-com). + New from Clipboard جديد من الحافظة + Free Transform a Copy تحويل حر لنسخة + Transform Again on a Copy تحويل مرة أخرى على نسخة + Select Layer Above تحديد الطبقة أعلاه + Select Layer Below تحديد الطبقة أدناه + Select Top Layer تحديد الطبقة العليا + Select Bottom Layer تحديد الطبقة السفلى + Add Layer Above to Selection إضافة الطبقة أعلاه إلى التحديد + Add Layer Below to Selection إضافة الطبقة أدناه إلى التحديد + +# Labels added on main after this catalog (depth labels, Wayland drop, profiles, rendering mode) + 8 bit 8 بت + Integer عدد صحيح + 16 bit 16 بت + 32 bit (float) 32 بت (عائم) + Floating point فاصلة عائمة + Use Global Light استخدام الإضاءة العامة + Native file drag-and-drop is unavailable سحب وإفلات الملفات الأصلي غير متاح + Native file drag-and-drop is not supported on Wayland yet. Use File › Open, or copy the image in your file manager and paste it with {paste}. سحب وإفلات الملفات الأصلي غير مدعوم على Wayland بعد. استخدم ملف › فتح، أو انسخ الصورة في مدير الملفات والصقها باستخدام {paste}. + To drop files, start PhotoCraft under XWayland: `{command}` لإسقاط الملفات، ابدأ PhotoCraft تحت XWayland: `{command}` + Or set Preferences › Performance › Linux display server to X11: PhotoCraft then always starts under XWayland. أو اضبط تفضيلات › الأداء › خادم عرض Linux على X11: سيبدأ PhotoCraft دائماً تحت XWayland. + Edit › Paste تحرير › لصق + Use File › Open, or paste a copied image with {paste}. استخدم ملف › فتح، أو الصق صورة منسوخة باستخدام {paste}. + Mixer Brush Tool أداة فرشاة المزج + Invalid {mode} profile ملف {mode} غير صالح + Unnamed {mode} profile ملف {mode} بدون اسم + Show bounding box when dragging layer إظهار مربع التحديد عند سحب الطبقة + System title bar شريط عنوان النظام + Freeze Lasso: drag to freeze an area, Alt-drag to thaw it (L) لاسو التجميد: اسحب لتجميد منطقة، اسحب مع Alt لفك تجميدها (L) + Rendering Mode وضع العرض + Automatic (recommended) تلقائي (موصى به) + CPU / Compatibility وحدة المعالجة المركزية / التوافق + Automatic uses GPU acceleration when available and falls back to CPU rendering on errors. يستخدم الوضع التلقائي تسريع GPU عند توفره ويعود إلى عرض CPU عند حدوث أخطاء. + Switched to CPU rendering تم التبديل إلى عرض CPU + GPU acceleration could not continue. Your documents are unchanged. تعذر استمرار تسريع GPU. مستنداتك لم تتغير. + PhotoCraft is using the CPU image compositor. The window may still use your graphics adapter. يستخدم PhotoCraft مكون صور CPU. قد تستخدم النافذة محول الرسومات الخاص بك. + Retry GPU requires a restart. Save your work first. إعادة محاولة GPU تتطلب إعادة تشغيل. احفظ عملك أولاً. + Keep Using CPU الاستمرار في استخدام CPU + Retry GPU إعادة محاولة GPU + GPU Backend محرك GPU + Details تفاصيل + Rendering mode وضع العرض + +# Camera Raw scopes and the Patch tool + Shadow Clipping Warning (U) تحذير قص الظلال (U) + Highlight Clipping Warning (O) تحذير قص الإضاءات (O) + Show Lab Color Readouts إظهار قراءات لون Lab + Show Vectorscope إظهار ناظم المتجهات + Show Red at 3 o'clock إظهار الأحمر في الساعة 3 + Show Skin Tone Indicator إظهار مؤشر لون البشرة + Tone Histogram مدرج تكراري للنغمات + Show Selected Region إظهار المنطقة المحددة +cameraRaw Light ضوء + Camera Raw Filter ({layer}) مرشح Camera Raw ({layer}) + Camera Raw ({name}) Camera Raw ({name}) +cameraRaw Lights إضاءات +cameraRaw Darks درجات داكنة +cameraRaw Blacks سود +cameraRaw Amount كمية +cameraRaw Tint صبغة +cameraRaw Masking تقنيع +cameraRaw Blending دمج + Patch Tool أداة الرقعة + Patch: رقعة: + Lasso around an area, then drag the selection ضع لاسو حول منطقة، ثم اسحب التحديد + Now drag the selection onto another area الآن اسحب التحديد إلى منطقة أخرى + +# Warp grid presets (#388) + 3 x 3 3 × 3 + 4 x 4 4 × 4 + 5 x 5 5 × 5 + Grid: شبكة: + Edit Type تحرير النص + + + New Style… نمط جديد… + Style {name} saved تم حفظ النمط {name} + + Create new style (from the selected type) إنشاء نمط جديد (من النص المحدد) + Create new style from the selected layer إنشاء نمط جديد من الطبقة المحددة + + Make Default تعيين كافتراضي + Reset to Default إعادة تعيين إلى الافتراضي + Full-resolution preview unavailable معاينة الدقة الكاملة غير متوفرة + No patterns لا توجد أنماط + Enable {name} تمكين {name} + Hold Alt while drawing for straight segments اضغط مع الاستمرار على Alt أثناء الرسم للحصول على مقاطع مستقيمة + Drag or click polygon points · hold Alt during lasso for straight segments · {add} add · {sub} before drawing subtracts اسحب أو انقر نقاط المضلع · اضغط مع الاستمرار على Alt أثناء اللاسو للمقاطع المستقيمة · {add} إضافة · {sub} قبل الرسم يطرح + Extend تمديد + Structure: هيكل: + Content-Aware Move Tool أداة النقل حسب المحتوى + TIFF Options خيارات TIFF + Including layers will increase file size. سيؤدي تضمين الطبقات إلى زيادة حجم الملف. + Discard Layers and Save a Copy تجاهل الطبقات وحفظ نسخة + Don't show again عدم الإظهار مرة أخرى + Save failed: {error} فشل الحفظ: {error} + Save cancelled تم إلغاء الحفظ + Couldn't place {name}: {error} تعذر وضع {name}: {error} + Magnetic Lasso Tool أداة اللاسو المغناطيسي + Frequency تردد + Use tablet pressure to change pen width استخدام ضغط اللوحة لتغيير عرض القلم + + +# About ▸ Contributors / Models (credits, craftrules standards/contributors.md) + About حول + Contributors المساهمون + Models النماذج + Sort ترتيب + Username اسم المستخدم + Display name اسم العرض + Real name الاسم الحقيقي + Reverse the order عكس الترتيب + Grab bag مزيج عشوائي + Table جدول + Name (A–Z) الاسم (أ–ي) + Merged PRs طلبات السحب المدمجة + Commits التسليمات + Lines added الأسطر المضافة + Lines deleted الأسطر المحذوفة + Line delta فرق الأسطر + Binary assets added الأصول الثنائية المضافة + Binary assets removed الأصول الثنائية المحذوفة + First commit أول تسليم + First الأول + Last commit آخر تسليم + Last الأخير + Contributors: {contributors} · Commits: {commits} المساهمون: {contributors} · التسليمات: {commits} + No contributor data was built into this copy. لم يتم تضمين بيانات المساهمين في هذه النسخة. + No model credits were built into this copy. لم يتم تضمين اعتمادات النماذج في هذه النسخة. + Company الشركة + Version الإصدار + % of all commits ٪ من جميع التسليمات + Lines +/− أسطر +/− + @{login}: {prs} PRs, {commits} commits, +{added} / −{deleted} lines (Δ {delta}), +{binAdded} / −{binDeleted} binary assets, {first} – {last} @{login}: {prs} طلبات سحب، {commits} تسليمات، +{added} / −{deleted} أسطر (Δ {delta})، +{binAdded} / −{binDeleted} أصول ثنائية، {first} – {last} + +# Swatches panel + Create new swatch إنشاء عينة جديدة + New Swatch… عينة جديدة… + New Swatch Group… مجموعة عينات جديدة… + Import Swatches… استيراد العينات… + Replace Swatches… استبدال العينات… + Export Swatches… تصدير العينات… + Export Swatches for Exchange… تصدير العينات للتبادل… + Reset Swatches إعادة تعيين العينات + Add to Swatches إضافة إلى العينات +# Layer Style > Blending Options (Advanced Blending) + Blend If: دمج إذا: + Channels: قنوات: + Knockout قص + Apply At Canvas Bounds تطبيق عند حدود لوحة الرسم + +# Shared screen eyedropper and text Color Picker (#1128). + Color Picker (Text Color) منتقي الألوان (لون النص) + Color Picker (Fill Color) منتقي الألوان (لون التعبئة) + Fill color لون التعبئة + Color Picker (Stroke Color) منتقي الألوان (لون الحدود) + Stroke color لون الحدود + Pick screen color اختيار لون الشاشة + Sample a pixel anywhere on the screen أخذ عينة من بكسل في أي مكان على الشاشة + Click to pick · Esc to cancel انقر للاختيار · Esc للإلغاء + Pick a screen pixel or press Esc to cancel اختر بكسل شاشة أو اضغط Esc للإلغاء + Scroll to zoom مرر للتكبير + Show/Hide All Panels إظهار/إخفاء جميع اللوحات + Show/Hide Panels إظهار/إخفاء اللوحات + Could not open تعذر الفتح + {path}: the path is not valid Unicode; rename the file and open it again. {path}: المسار ليس يونيكود صالحاً؛ أعد تسمية الملف وافتحه مرة أخرى. + +# Fill dialog, layer style contours and Image Size + Contents: محتويات: + Custom Pattern: نمط مخصص: + Foreground Color لون الأمامية + Color… لون… + 50% Gray رمادي 50% + {size} (was {old}) {size} (كان {old}) + Cone مخروط + Cone (Inverted) مخروط (مقلوب) + Domed مقبب + Domed (Inverted) مقبب (مقلوب) + Diagonal (Descending) قطري (تنازلي) + + Red Eye Tool أداة العين الحمراء + Pupil Size حجم الحدقة + Darken Amount مقدار التغميق + Click a red pupil to neutralize it انقر على حدقة حمراء لتحييدها + open source مفتوح المصدر + …and {n} more …و {n} المزيد + + Eyedroppers: قطارات: + Set Black Point تعيين النقطة السوداء + Set Neutral Gray Point تعيين النقطة الرمادية المحايدة + Set White Point تعيين النقطة البيضاء + Unavailable in this color mode غير متاح في وضع اللون هذا + Selection Preview: معاينة التحديد: + Black Matte حافة سوداء + White Matte حافة بيضاء + +# Layer colour labels. + Seafoam رغوة البحر + Indigo نيلي + Fuchsia فوشيا + Violet بنفسجي + Large document: redrawing on the CPU مستند كبير: إعادة الرسم على وحدة المعالجة المركزية + This redraw took {seconds} s on the CPU. استغرقت إعادة الرسم هذه {seconds} ثانية على وحدة المعالجة المركزية. + Edits that change the whole document, such as a layer's blend mode, opacity or visibility, redraw all of it. التعديلات التي تغير المستند بأكمله، مثل وضع دمج الطبقة أو عتامتها أو رؤيتها، تعيد رسمه بالكامل. + Its layers don't fit the GPU memory budget. Raising Memory usage in Preferences › Performance raises the budget, up to a quarter of this computer's memory. طبقاته لا تتناسب مع ميزانية ذاكرة GPU. رفع استخدام الذاكرة في تفضيلات › الأداء يرفع الميزانية، حتى ربع ذاكرة هذا الكمبيوتر. + The GPU compositor wasn't used: {reason} لم يتم استخدام مكون GPU: {reason} +fontWeight Thin رقيق جداً +fontWeight ExtraLight خفيف إضافي +fontWeight Light خفيف +fontWeight Regular عادي +fontWeight Medium متوسط +fontWeight SemiBold نصف غامق +fontWeight Bold غامق +fontWeight ExtraBold غامق إضافي +fontWeight Black أسود +fontWeight Italic مائل + +# Pattern Stamp tool + Pattern Stamp Tool أداة ختم النمط + Impressionist انطباعي + Rotate View Tool أداة تدوير العرض + Reset View إعادة تعيين العرض + Drag around the centre to rotate the view · Shift constrains to 15° اسحب حول المركز لتدوير العرض · Shift يقيد بـ 15° + +# Painting symmetry presets. + Dual Axis محور مزدوج + Diagonal قطري + Transform Symmetry تحويل التناظر + +# Eyedropper Sample Size and Sample (#1649). + Point Sample عينة نقطية + 3 by 3 Average متوسط 3 × 3 + 5 by 5 Average متوسط 5 × 5 + 11 by 11 Average متوسط 11 × 11 + 31 by 31 Average متوسط 31 × 31 + 51 by 51 Average متوسط 51 × 51 + 101 by 101 Average متوسط 101 × 101 + Sample Size: حجم العينة: + All Layers No Adjustments جميع الطبقات بدون تعديلات + Current & Below No Adjustments الحالي وما تحته بدون تعديلات + Show Sampling Ring إظهار حلقة أخذ العينات + +# Color Picker warnings + Out of gamut for printing: click for the nearest printable colour خارج نطاق الطباعة: انقر للحصول على أقرب لون قابل للطباعة + Not a web colour: click for the nearest web colour ليس لون ويب: انقر للحصول على أقرب لون ويب + Color to Alpha… اللون إلى ألفا… + Transparency Threshold عتبة الشفافية + Opacity Threshold عتبة العتامة + + Rasterize svg groups deeper than تحويل مجموعات SVG الأعمق من إلى نقطية + 0 turns this threshold off; SVG groups nested deeper than 100 levels are always rasterized. 0 يعطل هذه العتبة؛ يتم دائماً تحويل مجموعات SVG المتداخلة لأكثر من 100 مستوى إلى نقطية. + Rule of Thirds قاعدة الأثلاث + Triangle مثلث + Golden Ratio النسبة الذهبية + Golden Spiral اللولب الذهبي + Auto Show Overlay إظهار التراكب تلقائياً + Always Show Overlay إظهار التراكب دائماً + Never Show Overlay عدم إظهار التراكب أبداً + Cycle Overlay تبديل التراكب + Cycle Orientation تبديل الاتجاه + Set the overlay options for the Crop tool تعيين خيارات التراكب لأداة القص + Alt-click went to the desktop, which moves windows with Alt-drag. Set its window-move key to Super, or latch Alt in Window › Modifier Keys. تم اعتراض النقر مع Alt بواسطة سطح المكتب، الذي يحرك النوافذ بالسحب مع Alt. اضبط مفتاح تحريك النوافذ على Super، أو اقفل Alt في نافذة › مفاتيح التعديل. + +# Shared Layer Style color picker + Color Picker (Layer Style Color) منتقي الألوان (لون نمط الطبقة) + Auto Hide Notifications إخفاء الإشعارات تلقائياً + Notification Duration (seconds) مدة الإشعار (ثواني) + Appearance Mode وضع المظهر + Dark Theme سمة داكنة + Light Theme سمة فاتحة + Pro Medium احترافي متوسط + Studio Light استوديو فاتح + Next Appearance Mode وضع المظهر التالي + Sync with system مزامنة مع النظام + Active نشط + Color Picker (Solid Color) منتقي الألوان (لون خالص) + Straighten the image by drawing a line on it تسوية الصورة برسم خط عليها + Set additional Crop options تعيين خيارات قص إضافية + Show Cropped Area إظهار المنطقة المقصوصة + Enable Crop Shield تمكين درع القص + Match Canvas مطابقة لوحة الرسم + Auto Adjust Opacity ضبط العتامة تلقائياً + Crop Shield color لون درع القص + Color Picker (Crop Shield Color) منتقي الألوان (لون درع القص) + From Center من المركز + Link radii ربط أنصاف الأقطار + Star Ratio: نسبة النجمة: + Create Rectangle إنشاء مستطيل + Create Ellipse إنشاء قطع ناقص + Create Triangle إنشاء مثلث + Create Polygon إنشاء مضلع + Pressure curve منحنى الضغط + Click to add a point, right-click to remove انقر لإضافة نقطة، انقر بزر الماوس الأيمن للإزالة + Some brush presets could not be loaded تعذر تحميل بعض الإعدادات المسبقة للفرشاة + Retry saving presets إعادة محاولة حفظ الإعدادات المسبقة + Brush preset changes are not saved: {error} لم يتم حفظ تغييرات الإعداد المسبق للفرشاة: {error} + Keep this tab open to retain your brushes. أبقِ علامة التبويب هذه مفتوحة للاحتفاظ بفرشك. + Browser storage is unavailable; brushes are session-only. Keep this tab open to retain them. تخزين المتصفح غير متاح؛ الفرش للجلسة فقط. أبقِ علامة التبويب هذه مفتوحة للاحتفاظ بها. + Saving brush presets… Keep this tab open until saving finishes. جاري حفظ الإعدادات المسبقة للفرشاة… أبقِ علامة التبويب هذه مفتوحة حتى ينتهي الحفظ. + Reflect انعكاس + Glow توهج + Negation نفي + XOR XOR + Color Burn (Paint.NET) حرق اللون (Paint.NET) + Color Dodge (Paint.NET) تفادي اللون (Paint.NET) + No subject found — try Object Selection or the Lasso لم يتم العثور على موضوع — جرب تحديد الكائن أو اللاسو + Quick Selection found nothing there لم يجد التحديد السريع شيئاً هناك + Object Selection found nothing there — try a tighter rectangle لم يجد تحديد الكائن شيئاً هناك — جرب مستطيلاً أضيق + No subject found — try a rectangle around the object لم يتم العثور على موضوع — جرب مستطيلاً حول الكائن \ No newline at end of file diff --git a/crates/ui-egui/src/i18n/mod.rs b/crates/ui-egui/src/i18n/mod.rs index 2b89f59e73..0d39d7cf23 100644 --- a/crates/ui-egui/src/i18n/mod.rs +++ b/crates/ui-egui/src/i18n/mod.rs @@ -46,6 +46,26 @@ pub struct LangInfo { catalog: OnceLock, } +/// Arabic: 0 → zero, 1 → one, 2 → two, 3–10 → few, 11–99 → many, 100+ → other. +fn plural_arabic(n: u64) -> usize { + if n == 0 { + 0 + } else if n == 1 { + 1 + } else if n == 2 { + 2 + } else { + let mod100 = n % 100; + if (3..=10).contains(&mod100) { + 3 + } else if (11..=99).contains(&mod100) { + 4 + } else { + 5 + } + } +} + fn plural_one_other(n: u64) -> usize { usize::from(n != 1) } @@ -122,7 +142,7 @@ fn inflate(source: &[u8]) -> Result { } /// The registry. English first: it is the fallback and the source language. -pub static LANGUAGES: [LangInfo; 17] = [ +pub static LANGUAGES: [LangInfo; 18] = [ LangInfo { code: "en", name: "English", source: b"", plural: plural_one_other, complete_menus: false, catalog: OnceLock::new() }, LangInfo { code: "ja", name: "日本語", source: catalog!("ja"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, LangInfo { code: "zh-hans", name: "简体中文", source: catalog!("zh-hans"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, @@ -145,6 +165,7 @@ pub static LANGUAGES: [LangInfo; 17] = [ // Dutch; `nl-NL` and `nl-BE` locales both resolve here. LangInfo { code: "nl", name: "Nederlands", source: catalog!("nl"), plural: plural_one_other, complete_menus: true, catalog: OnceLock::new() }, LangInfo { code: "it", name: "Italiano", source: catalog!("it"), plural: plural_one_other, complete_menus: true, catalog: OnceLock::new() }, + LangInfo { code: "ar", name: "العربية", source: catalog!("ar"), plural: plural_arabic, complete_menus: true, catalog: OnceLock::new() }, ]; impl LangInfo { diff --git a/crates/ui-egui/src/i18n/system.rs b/crates/ui-egui/src/i18n/system.rs index 4fb0404f66..faf2a2e96e 100644 --- a/crates/ui-egui/src/i18n/system.rs +++ b/crates/ui-egui/src/i18n/system.rs @@ -91,7 +91,7 @@ mod tests { (vec!["zh-Hant-HK", "zh-CN"], "zh-hant"), (vec!["zh-Hans-CN", "zh-TW"], "zh-hans"), (vec!["en-US", "ru-RU"], "en"), - (vec!["sv-SE", "ar-SA"], "en"), + (vec!["sv-SE", "ar-SA"], "ar"), (vec!["de-AT", "en-US"], "de"), (vec!["pt-PT"], "pt-br"), (vec!["it-IT", "en-US"], "it"), From 5232839deab70e0f50d6ecf773222c9ac2e7fb57 Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sat, 10 Oct 2026 11:13:38 +0000 Subject: [PATCH 02/60] Update mod.rs --- crates/ui-egui/src/i18n/mod.rs | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/crates/ui-egui/src/i18n/mod.rs b/crates/ui-egui/src/i18n/mod.rs index 0d39d7cf23..117dbbd205 100644 --- a/crates/ui-egui/src/i18n/mod.rs +++ b/crates/ui-egui/src/i18n/mod.rs @@ -201,7 +201,7 @@ impl PartialEq for Lang { impl Eq for Lang {} impl Lang { - pub const EN: Lang = Lang(&LANGUAGES[0]); + pub const EN: Lang = Lang(&LANGUAGES[1]); // English is now index 1 since Arabic is 0 pub fn code(self) -> &'static str { self.0.code @@ -372,11 +372,33 @@ mod tests { use super::catalog::{parse_entries, placeholders}; use super::*; + const AR: fn() -> Lang = || Lang::from_code("ar").expect("ar registered"); const JA: fn() -> Lang = || Lang::from_code("ja").expect("ja registered"); const ZH: fn() -> Lang = || Lang::from_code("zh-hant").expect("zh-hant registered"); const CS: fn() -> Lang = || Lang::from_code("cs").expect("cs registered"); const ID: fn() -> Lang = || Lang::from_code("id").expect("id registered"); + #[test] + fn arabic_plural_rule() { + let forms: Vec = [0, 1, 2, 3, 5, 10, 11, 99, 100, 101, 111, 112].into_iter().map(plural_arabic).collect(); + assert_eq!(forms, [0, 1, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5]); + } + + #[test] + fn arabic_resolves_locales_and_preferences() { + let ar = AR(); + assert_eq!(ar.name(), "العربية"); + assert!(ar.complete_menus()); + for tag in ["ar", "AR", "ar-SA", "ar_EG", "ar_EG.UTF-8", "ar-AE"] { + assert_eq!(lang_from_tag(tag), Some(ar), "{tag}"); + assert_eq!(Lang::from_pref(tag), ar, "{tag}"); + } + assert_eq!(tr(ar, "File"), "ملف"); + assert_eq!(tr(ar, "Layer"), "طبقة"); + assert_eq!(tr(ar, "New document…"), "مستند جديد…"); + assert_eq!(tr(ar, "No properties"), "لا خصائص"); + } + #[test] fn indonesian_tags_resolve() { for tag in ["id", "id-ID", "id_ID", "id_ID.UTF-8"] { From 5e1add7e6d7dd19c8bebb16eeb368af8039037a8 Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sat, 10 Oct 2026 11:38:46 +0000 Subject: [PATCH 03/60] add arabic --- ATTRIBUTION.md | 1 + crates/ui-egui/src/i18n/LICENSE-translations.txt | 3 +++ docs/localization.md | 1 + xtask/src/i18n_coverage.rs | 1 + 4 files changed, 6 insertions(+) diff --git a/ATTRIBUTION.md b/ATTRIBUTION.md index dfc31372f2..afb8686973 100644 --- a/ATTRIBUTION.md +++ b/ATTRIBUTION.md @@ -10,6 +10,7 @@ next to them. | Path | Title | Author | Source | License | |---|---|---|---|---| +| `crates/ui-egui/src/i18n/ar.tsv` | Arabic UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, [`LICENSE-translations.txt`](crates/ui-egui/src/i18n/LICENSE-translations.txt) | | `crates/ui-egui/src/i18n/el.tsv` | Greek UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, [`LICENSE-translations.txt`](crates/ui-egui/src/i18n/LICENSE-translations.txt) | | `crates/ui-egui/src/i18n/de.tsv` | German UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, [`LICENSE-translations.txt`](crates/ui-egui/src/i18n/LICENSE-translations.txt) | | `crates/ui-egui/src/i18n/it.tsv` | Italian UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, [`LICENSE-translations.txt`](crates/ui-egui/src/i18n/LICENSE-translations.txt) | diff --git a/crates/ui-egui/src/i18n/LICENSE-translations.txt b/crates/ui-egui/src/i18n/LICENSE-translations.txt index 60b036be9d..8b30a38094 100644 --- a/crates/ui-egui/src/i18n/LICENSE-translations.txt +++ b/crates/ui-egui/src/i18n/LICENSE-translations.txt @@ -2,6 +2,9 @@ PhotoCraft's Korean, German, Brazilian Portuguese, Italian, Ukrainian and Dutch licensed under MIT OR Apache-2.0, at your option. The full license texts are in ../../../../LICENSE-MIT and ../../../../LICENSE-APACHE. +Arabic translations: PhotoCraft contributors, original translations of +PhotoCraft's English labels; no proprietary translation resources were used. + Korean translations: PhotoCraft contributors, original translations of PhotoCraft's English labels; no proprietary translation resources were used. diff --git a/docs/localization.md b/docs/localization.md index 39e881b334..2b40113ef2 100644 --- a/docs/localization.md +++ b/docs/localization.md @@ -9,6 +9,7 @@ contextual, command-ID and plural translations; missing entries fall back to Eng | Language | Preference code | Integer plural forms | |---|---|---| | English | `en` | one / other | +| Arabic | `ar` | zero / one / two / few (3–10) / many (11–99) / other (100+) | | 简体中文 | `zh-hans` | one form | | 日本語 | `ja` | one form | | 한국어 | `ko` | one form | diff --git a/xtask/src/i18n_coverage.rs b/xtask/src/i18n_coverage.rs index 817c364422..512a47d706 100644 --- a/xtask/src/i18n_coverage.rs +++ b/xtask/src/i18n_coverage.rs @@ -561,6 +561,7 @@ mod tests { let root = Path::new(env!("CARGO_MANIFEST_DIR")).parent().unwrap_or(Path::new(".")); let keys = source_keys(root).unwrap_or_default(); for (code, path) in [ + ("ar", "ar.tsv"), ("ja", "ja.tsv"), ("zh-hant", "zh-hant.tsv"), ("es", "es.tsv"), From 5f6d590f07b15475eaad76db5bbbee7d16968c81 Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sat, 10 Oct 2026 11:42:47 +0000 Subject: [PATCH 04/60] Update localization.md --- docs/localization.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/localization.md b/docs/localization.md index 2b40113ef2..cebeb3f176 100644 --- a/docs/localization.md +++ b/docs/localization.md @@ -9,7 +9,7 @@ contextual, command-ID and plural translations; missing entries fall back to Eng | Language | Preference code | Integer plural forms | |---|---|---| | English | `en` | one / other | -| Arabic | `ar` | zero / one / two / few (3–10) / many (11–99) / other (100+) | +| العربية | `ar` | zero / one / two / few (3–10) / many (11–99) / other (100+) | | 简体中文 | `zh-hans` | one form | | 日本語 | `ja` | one form | | 한국어 | `ko` | one form | From 6cb5b2909c18fd97afd012aa9eda8bc52c4aeee0 Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sat, 10 Oct 2026 11:52:28 +0000 Subject: [PATCH 05/60] Update mod.rs --- crates/ui-egui/src/i18n/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/ui-egui/src/i18n/mod.rs b/crates/ui-egui/src/i18n/mod.rs index 117dbbd205..0ffab3e35c 100644 --- a/crates/ui-egui/src/i18n/mod.rs +++ b/crates/ui-egui/src/i18n/mod.rs @@ -201,7 +201,7 @@ impl PartialEq for Lang { impl Eq for Lang {} impl Lang { - pub const EN: Lang = Lang(&LANGUAGES[1]); // English is now index 1 since Arabic is 0 + pub const EN: Lang = Lang(&LANGUAGES[0]); pub fn code(self) -> &'static str { self.0.code From f49f6aa0ec3a7ac685c96ed129a7b4e26405a0cf Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sat, 10 Oct 2026 11:53:40 +0000 Subject: [PATCH 06/60] Update mod.rs --- crates/ui-egui/src/i18n/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/ui-egui/src/i18n/mod.rs b/crates/ui-egui/src/i18n/mod.rs index 0ffab3e35c..70008f7b3f 100644 --- a/crates/ui-egui/src/i18n/mod.rs +++ b/crates/ui-egui/src/i18n/mod.rs @@ -389,7 +389,7 @@ mod tests { let ar = AR(); assert_eq!(ar.name(), "العربية"); assert!(ar.complete_menus()); - for tag in ["ar", "AR", "ar-SA", "ar_EG", "ar_EG.UTF-8", "ar-AE"] { + for tag in ["ar", "AR", "ar-SA", "ar_EG", "ar_MA", "ar-AE"] { assert_eq!(lang_from_tag(tag), Some(ar), "{tag}"); assert_eq!(Lang::from_pref(tag), ar, "{tag}"); } From 6c8185ab015419aed69282761e15acdef9d9ff73 Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sun, 11 Oct 2026 03:08:33 +0000 Subject: [PATCH 07/60] updated arabic code --- crates/ui-egui/src/i18n/ar.tsv | 15 +++++++++++++-- crates/ui-egui/src/i18n/live_tests.rs | 2 +- crates/ui-egui/src/i18n/mod.rs | 3 ++- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index 5ba571f006..37f4fe9fd6 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -1891,7 +1891,7 @@ Pin Light ضوء دبوس Exclusion استبعاد Divide قسمة -Luminosity لمعان + Luminosity لمعان @plural {n} sample|{n} samples {n} عينة|{n} عينة|{n} عينتان|{n} عينات|{n} عينةً|{n} عينات {added}, {removed} subtracted {added}، {removed} مطروحة Adjustment Preview معاينة التعديل @@ -2787,4 +2787,15 @@ fontWeight Italic مائل No subject found — try Object Selection or the Lasso لم يتم العثور على موضوع — جرب تحديد الكائن أو اللاسو Quick Selection found nothing there لم يجد التحديد السريع شيئاً هناك Object Selection found nothing there — try a tighter rectangle لم يجد تحديد الكائن شيئاً هناك — جرب مستطيلاً أضيق - No subject found — try a rectangle around the object لم يتم العثور على موضوع — جرب مستطيلاً حول الكائن \ No newline at end of file + No subject found — try a rectangle around the object لم يتم العثور على موضوع — جرب مستطيلاً حول الكائن + Background From Layer خلفية من الطبقة + Breeze Dark Theme سمة Breeze الداكنة + Breeze Light Theme سمة Breeze الفاتحة + Next Document المستند التالي + Previous Document المستند السابق + Open EXR Parts… فتح أجزاء EXR… + Show in Explorer إظهار في المستكشف + Color Detail تفاصيل اللون + Search settings… بحث في الإعدادات… + Stroke Options خيارات الحدود + Reveal إظهار \ No newline at end of file diff --git a/crates/ui-egui/src/i18n/live_tests.rs b/crates/ui-egui/src/i18n/live_tests.rs index 9c1f69caab..fa95d2b38f 100644 --- a/crates/ui-egui/src/i18n/live_tests.rs +++ b/crates/ui-egui/src/i18n/live_tests.rs @@ -183,7 +183,7 @@ fn first_launch_renders_the_system_language_without_overwriting_auto() { #[test] fn missing_or_unsupported_system_languages_render_english() { - for tags in [vec![], vec!["sv-SE", "ar-SA"]] { + for tags in [vec![], vec!["sv-SE", "hi-IN"]] { // Changed to an unsupported language system::with_system_tags(&tags, || { with_language(Lang::EN, || { let h = harness(); diff --git a/crates/ui-egui/src/i18n/mod.rs b/crates/ui-egui/src/i18n/mod.rs index 70008f7b3f..34cfb1c06d 100644 --- a/crates/ui-egui/src/i18n/mod.rs +++ b/crates/ui-egui/src/i18n/mod.rs @@ -381,7 +381,8 @@ mod tests { #[test] fn arabic_plural_rule() { let forms: Vec = [0, 1, 2, 3, 5, 10, 11, 99, 100, 101, 111, 112].into_iter().map(plural_arabic).collect(); - assert_eq!(forms, [0, 1, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5]); + // Changed the last two values from 5, 5 to 4, 4 + assert_eq!(forms, [0, 1, 2, 3, 3, 3, 4, 4, 5, 5, 4, 4]); } #[test] From 70d35e8bd678f12340de06e25167bbbafa895cba Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sun, 11 Oct 2026 03:23:19 +0000 Subject: [PATCH 08/60] Update ar.tsv --- crates/ui-egui/src/i18n/ar.tsv | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index 37f4fe9fd6..b67371aedb 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -522,7 +522,7 @@ Picture Frame… إطار صورة… Tree… شجرة… Sharpen تحديد - Sharpen Edges تحديد الحواف + Sharpen Edges تمضية الحواف Sharpen More تحديد أكثر Smart Sharpen… تحديد ذكي… Unsharp Mask… قناع عدم التحديد… @@ -665,7 +665,7 @@ Brushes فرش Channels قنوات Character حرف - Character Styles أنماط الأحرف + Character Styles ستايل الأحرف Clone Source مصدر الاستنساخ Color لون Glyphs رموز @@ -678,12 +678,12 @@ Navigator مستكشف Options خيارات Paragraph فقرة - Paragraph Styles أنماط الفقرات + Paragraph Styles ستايل الفقرات Paths مسارات Patterns أنماط Properties خصائص Shapes أشكال - Styles أنماط + Styles الستايل Swatches عينات Timeline جدول زمني Tool Presets إعدادات الأدوات المسبقة @@ -1423,7 +1423,7 @@ Transparency شفافية Transparent شفاف Trilinear ثلاثي الخطية - Type Styles أنماط النص + Type Styles ستايل النص Type: نوع: Underline تسطير Untitled بدون عنوان @@ -1792,7 +1792,7 @@ Jpg JPG Language لغة Large tabs علامات تبويب كبيرة - Legacy compositing تركيب تراثي + Legacy compositing تركيب قديم Light gray رمادي فاتح Line خط Lines خطوط From efc2bd595b4289d153178b0ab7fa810b5d5369eb Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sun, 11 Oct 2026 03:27:12 +0000 Subject: [PATCH 09/60] Update ar.tsv --- crates/ui-egui/src/i18n/ar.tsv | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index b67371aedb..1ef37bb414 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -11,7 +11,7 @@ # # File ملف - Edit تحرير + Edit تعديل Image صورة Layer طبقة Type نص @@ -22,7 +22,7 @@ Top Right أعلى اليمين Bottom Left أسفل اليسار Bottom Right أسفل اليمين - Filter مرشح + Filter الفلتر View عرض Window نافذة Help مساعدة @@ -39,7 +39,7 @@ Close All إغلاق الكل Close Others إغلاق الأخرى Save حفظ - Save As… حفظ باسم… + Save As… حفظ كـ... Save a Copy… حفظ نسخة… Revert استعادة Export تصدير From 53b0fe2d4658f69a4659e910c06f01f3d04628ca Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sun, 11 Oct 2026 03:36:10 +0000 Subject: [PATCH 10/60] Update ar.tsv --- crates/ui-egui/src/i18n/ar.tsv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index 1ef37bb414..537bcb9233 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -927,7 +927,7 @@ Delete current state حذف الحالة الحالية Delete effect layer حذف طبقة التأثير - # Layers-panel trash confirmation +# Layers-panel trash confirmation Delete layer ‘{name}’? حذف الطبقة '{name}'؟ Delete {count} layers? {names} حذف {count} طبقات؟ {names} Delete layer? حذف الطبقة؟ From d1d3d8f4116c2e52955d69c55f95ed15775a8b6a Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sun, 11 Oct 2026 03:38:07 +0000 Subject: [PATCH 11/60] Update ar.tsv --- crates/ui-egui/src/i18n/ar.tsv | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index 537bcb9233..c63fa0a824 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -1702,9 +1702,9 @@ BLANK DOCUMENT PRESETS ({n}) إعدادات مسبقة لمستند فارغ ({n}) Constraints ({n}) قيود ({n}) Align {what} محاذاة {what} - @plural {n} Layer|{n} Layers {n} طبقة|{n} طبقة|{n} طبقتان|{n} طبقات|{n} طبقةً|{n} طبقات - @plural {n} layer|{n} layers {n} طبقة|{n} طبقة|{n} طبقتان|{n} طبقات|{n} طبقةً|{n} طبقات - @plural Group · {n} layer|Group · {n} layers مجموعة · {n} طبقة|مجموعة · {n} طبقة|مجموعة · {n} طبقتان|مجموعة · {n} طبقات|مجموعة · {n} طبقةً|مجموعة · {n} طبقات +@plural {n} Layer|{n} Layers {n} طبقة|{n} طبقة|{n} طبقتان|{n} طبقات|{n} طبقةً|{n} طبقات +@plural {n} layer|{n} layers {n} طبقة|{n} طبقة|{n} طبقتان|{n} طبقات|{n} طبقةً|{n} طبقات +@plural Group · {n} layer|Group · {n} layers مجموعة · {n} طبقة|مجموعة · {n} طبقة|مجموعة · {n} طبقتان|مجموعة · {n} طبقات|مجموعة · {n} طبقةً|مجموعة · {n} طبقات Additional plugins folder مجلد الإضافات الإضافي Adobe Adobe Adobe rgb Adobe RGB From a41db4557957c6099ff90ab4b1203ea9ccc83bcc Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sun, 11 Oct 2026 04:24:12 +0000 Subject: [PATCH 12/60] Update ar.tsv --- crates/ui-egui/src/i18n/ar.tsv | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index c63fa0a824..924c84e995 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -926,7 +926,7 @@ Delete current channel حذف القناة الحالية Delete current state حذف الحالة الحالية Delete effect layer حذف طبقة التأثير - + # Layers-panel trash confirmation Delete layer ‘{name}’? حذف الطبقة '{name}'؟ Delete {count} layers? {names} حذف {count} طبقات؟ {names} @@ -1106,7 +1106,7 @@ Levels مستويات Lighten تفتيح Lightness خفة - Lights إضاءات + Lights الأضواء Limits: حدود: Linear Gradient تدرج خطي Link layers ربط الطبقات @@ -2534,7 +2534,7 @@ cameraRaw Light ضوء Camera Raw Filter ({layer}) مرشح Camera Raw ({layer}) Camera Raw ({name}) Camera Raw ({name}) -cameraRaw Lights إضاءات +cameraRaw Lights الضوء cameraRaw Darks درجات داكنة cameraRaw Blacks سود cameraRaw Amount كمية From 127b0d21314b63c3bb330919728c2053fbad2d7b Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sun, 11 Oct 2026 04:39:48 +0000 Subject: [PATCH 13/60] done --- crates/ui-egui/src/i18n/ar.tsv | 35 ++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index 924c84e995..d6832a648d 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -79,6 +79,8 @@ Import استيراد Browse… تصفح… Reveal in Finder إظهار في Finder + Show in Explorer العرض في Explorer + Show in Folder العرض في مجلد File Info… معلومات الملف… Print… طباعة… Print One Copy طباعة نسخة واحدة @@ -2784,18 +2786,35 @@ fontWeight Italic مائل XOR XOR Color Burn (Paint.NET) حرق اللون (Paint.NET) Color Dodge (Paint.NET) تفادي اللون (Paint.NET) + Stroke Options خيارات الحدود + Solid متصل + Dashed متقطع + Dotted منقط + Caps أطراف + Butt / Flat مسطح + Corners زوايا + Miter زاوية حادة + Round مستدير + Bevel مشطوف + Miter limit حد الزاوية الحادة + Dashed line خط متقطع + Dash شرطة + Gap فجوة + Dash / gap lengths × stroke width أطوال الشرطات / الفجوات × عرض الحد + Add pair إضافة زوج + Remove pair إزالة زوج + Dash offset إزاحة الشرطة + Open paths use centered strokes المسارات المفتوحة تستخدم حدوداً مركزية + Use finite lengths and a positive pattern total استخدام أطوال محدودة ومجموع نمط موجب No subject found — try Object Selection or the Lasso لم يتم العثور على موضوع — جرب تحديد الكائن أو اللاسو Quick Selection found nothing there لم يجد التحديد السريع شيئاً هناك Object Selection found nothing there — try a tighter rectangle لم يجد تحديد الكائن شيئاً هناك — جرب مستطيلاً أضيق No subject found — try a rectangle around the object لم يتم العثور على موضوع — جرب مستطيلاً حول الكائن - Background From Layer خلفية من الطبقة - Breeze Dark Theme سمة Breeze الداكنة - Breeze Light Theme سمة Breeze الفاتحة + Use Classic Mode استخدام الوضع الكلاسيكي + Auto Center Preview توسيط المعاينة تلقائياً Next Document المستند التالي Previous Document المستند السابق - Open EXR Parts… فتح أجزاء EXR… - Show in Explorer إظهار في المستكشف - Color Detail تفاصيل اللون + W x H x Resolution العرض × الارتفاع × الدقة + Front Image الصورة الأمامية Search settings… بحث في الإعدادات… - Stroke Options خيارات الحدود - Reveal إظهار \ No newline at end of file + No matching settings لا توجد إعدادات مطابقة \ No newline at end of file From 18f88bd2a39fedb346f157c7e1ad3659bd65b0ab Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sun, 11 Oct 2026 04:45:40 +0000 Subject: [PATCH 14/60] Update ar.tsv --- crates/ui-egui/src/i18n/ar.tsv | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index d6832a648d..5a0c8224d1 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -2817,4 +2817,16 @@ fontWeight Italic مائل W x H x Resolution العرض × الارتفاع × الدقة Front Image الصورة الأمامية Search settings… بحث في الإعدادات… - No matching settings لا توجد إعدادات مطابقة \ No newline at end of file + No matching settings لا توجد إعدادات مطابقة +# Shared panel docking + Activate Panel تشغيل اللوحة + Change Panel Group تغيير مجموعة اللوحة + Change Panel Layout تغيير تخطيط اللوحة + Close Panel إغلاق اللوحة + Dock Panel إرساء اللوحة + Float Panel طفو اللوحة + Move Panel تحريك اللوحة + Group with تجميع مع + Panel menu قائمة اللوحة + Resize panel تغيير حجم اللوحة + Resize panels تغيير حجم اللوحات \ No newline at end of file From b4fe3a651e511e3aa86e6d473f357f8729e507fc Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sun, 11 Oct 2026 08:12:34 +0000 Subject: [PATCH 15/60] Update ar.tsv --- crates/ui-egui/src/i18n/ar.tsv | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index 5a0c8224d1..217714c768 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -14,7 +14,7 @@ Edit تعديل Image صورة Layer طبقة - Type نص + Type كتابة Select تحديد Selected محدد Scope نطاق @@ -113,7 +113,7 @@ Transform تحويل Again مرة أخرى Scale تحجيم - Rotate تدوير + Rotate تدوير/شقلبة Skew إمالة Distort تشويه Perspective منظور @@ -168,7 +168,7 @@ Raw Defaults… إعدادات Raw الافتراضية… Integrations… تكاملات… AI Integrations… تكاملات الذكاء الاصطناعي… - Install Plug-in… تثبيت إضافة… + Install Plug-in… تثبيت Plug-in Language Options خيارات اللغة Settings… إعدادات… Mode وضع From acea084b8f179e2146453b4d8c0b78ebae793628 Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sun, 11 Oct 2026 08:21:10 +0000 Subject: [PATCH 16/60] Update ar.tsv --- crates/ui-egui/src/i18n/ar.tsv | 45 +++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index 217714c768..404f9a47fc 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -2829,4 +2829,47 @@ fontWeight Italic مائل Group with تجميع مع Panel menu قائمة اللوحة Resize panel تغيير حجم اللوحة - Resize panels تغيير حجم اللوحات \ No newline at end of file + Resize panels تغيير حجم اللوحات + Open EXR Parts… فتح أجزاء EXR… + Add beauty precomp from the AOVs إضافة تركيبة مسبقة للجمال من قنوات AOV + Remove from Recent إزالة من الملفات الحديثة + Remove {name} from Recent إزالة {name} من الملفات الحديثة + Background From Layer خلفية من الطبقة + 80% 80% + 85% 85% + 90% 90% + 95% 95% + Breeze dark Breeze داكن + Breeze Dark Theme سمة Breeze الداكنة + Breeze light Breeze فاتح + Breeze Light Theme سمة Breeze الفاتحة + Coated CMYK CMYK ورق مصقول + Color & Swatches اللون وعينات الألوان + Color Balance توازن اللون + Color Detail تفاصيل اللون + Refine تحسين + Import keyboard shortcuts? هل تريد استيراد اختصارات لوحة المفاتيح؟ + PhotoCraft found your keyboard shortcut set {set} from another image editor on this computer: {n} of its shortcuts differ from PhotoCraft's. Import it? عثر PhotoCraft على مجموعة اختصارات لوحة المفاتيح {set} من محرر صور آخر على هذا الكمبيوتر: {n} من اختصاراتها تختلف عن اختصارات PhotoCraft. هل تريد استيرادها؟ + Edit › Keyboard Shortcuts › Reset All to Defaults undoes an import. تحرير › اختصارات لوحة المفاتيح › إعادة تعيين الكل إلى الافتراضي يلغي الاستيراد. + Don't Import عدم الاستيراد + The keyboard shortcut set was not imported: {error} لم يتم استيراد مجموعة اختصارات لوحة المفاتيح: {error} + Block كتلة + Single Row Marquee Tool أداة تحديد صف واحد + Single Column Marquee Tool أداة تحديد عمود واحد + Could not complete the Free Transform command because the layer is locked. تعذر إكمال أمر التحويل الحر لأن الطبقة مقفلة. +{w} {unit} x {h} {unit} ({ppi} ppi) {w} {unit} × {h} {unit} ({ppi} بكسل/بوصة) + Show canvas dots إظهار نقاط لوحة الرسم + Show highlight on rollover إظهار التمييز عند التمرير فوقه + Rasterize Layer Style تحويل نمط الطبقة إلى نقطية + Brush Name اسم الفرشاة + Brush Stroke ضربة الفرشاة + Saved {name} تم حفظ {name} + Color Picker ({name}) منتقي الألوان ({name}) + PhotoCraft — Screen Color Picker PhotoCraft — منتقي ألوان الشاشة + Appearance Settings… إعدادات المظهر… + Add to favorites إضافة إلى المفضلة + Remove from favorites إزالة من المفضلة +cameraData Date Taken تاريخ الالتقاط +cameraData F-Stop فتحة العدسة +cameraData Focal Length (35 mm) البعد البؤري (35 مم) + Resize panel window تغيير حجم نافذة اللوحة \ No newline at end of file From 897b8132a01d830f000e35997b633cf2e4dde70f Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sun, 11 Oct 2026 08:29:29 +0000 Subject: [PATCH 17/60] Update ar.tsv --- crates/ui-egui/src/i18n/ar.tsv | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index 404f9a47fc..6674a7629c 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -2828,7 +2828,7 @@ fontWeight Italic مائل Move Panel تحريك اللوحة Group with تجميع مع Panel menu قائمة اللوحة - Resize panel تغيير حجم اللوحة + Resize panel تغيير حجم اللوحة Resize panels تغيير حجم اللوحات Open EXR Parts… فتح أجزاء EXR… Add beauty precomp from the AOVs إضافة تركيبة مسبقة للجمال من قنوات AOV @@ -2857,7 +2857,7 @@ fontWeight Italic مائل Single Row Marquee Tool أداة تحديد صف واحد Single Column Marquee Tool أداة تحديد عمود واحد Could not complete the Free Transform command because the layer is locked. تعذر إكمال أمر التحويل الحر لأن الطبقة مقفلة. -{w} {unit} x {h} {unit} ({ppi} ppi) {w} {unit} × {h} {unit} ({ppi} بكسل/بوصة) + {w} {unit} x {h} {unit} ({ppi} ppi) {w} {unit} × {h} {unit} ({ppi} بكسل/بوصة) Show canvas dots إظهار نقاط لوحة الرسم Show highlight on rollover إظهار التمييز عند التمرير فوقه Rasterize Layer Style تحويل نمط الطبقة إلى نقطية @@ -2872,4 +2872,10 @@ fontWeight Italic مائل cameraData Date Taken تاريخ الالتقاط cameraData F-Stop فتحة العدسة cameraData Focal Length (35 mm) البعد البؤري (35 مم) +cameraData Make الشركة المصنعة +cameraData Model الطراز +cameraData Exposureزمن التعريض +cameraData ISO Speed حساسية ISO +cameraData Focal Length البعد البؤري +cameraData Lens عدسة Resize panel window تغيير حجم نافذة اللوحة \ No newline at end of file From 9a94ef3a6b6a20383f914ff542301ca5b887c1d6 Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sun, 11 Oct 2026 08:35:32 +0000 Subject: [PATCH 18/60] Update ar.tsv --- crates/ui-egui/src/i18n/ar.tsv | 67 +++++----------------------------- 1 file changed, 9 insertions(+), 58 deletions(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index 6674a7629c..052fb6c13c 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -39,7 +39,7 @@ Close All إغلاق الكل Close Others إغلاق الأخرى Save حفظ - Save As… حفظ كـ... + Save As… حفظ كـ… Save a Copy… حفظ نسخة… Revert استعادة Export تصدير @@ -168,7 +168,7 @@ Raw Defaults… إعدادات Raw الافتراضية… Integrations… تكاملات… AI Integrations… تكاملات الذكاء الاصطناعي… - Install Plug-in… تثبيت Plug-in + Install Plug-in… تثبيت Plug-in… Language Options خيارات اللغة Settings… إعدادات… Mode وضع @@ -710,7 +710,7 @@ Split Warp Horizontally تقسيم التشويه أفقياً Split Warp Vertically تقسيم التشويه عمودياً Statistics… إحصائيات… -@plural {n} item|{n} items {n} عنصر|{n} عنصر|{n} عنصران|{n} عناصر|{n} عنصراً|{n} عناصر +@plural {n} item|{n} items {n} عنصر|{n} عنصر|{n} عنصران|{n} عناصر|{n} عنصراً|{n} عنصر Auto تلقائي (print to the printer) (طباعة على الطابعة) + Add variable + إضافة متغير @@ -938,7 +938,7 @@ Missing delete command أمر الحذف مفقود Invalid delete command أمر حذف غير صالح Layer deleted, but confirmation preference could not be saved: {error} تم حذف الطبقة، ولكن تعذر حفظ تفضيل التأكيد: {error} - + Delete layer حذف الطبقة Delete layer comp حذف تركيبة الطبقة Delete note حذف الملاحظة @@ -1704,9 +1704,9 @@ BLANK DOCUMENT PRESETS ({n}) إعدادات مسبقة لمستند فارغ ({n}) Constraints ({n}) قيود ({n}) Align {what} محاذاة {what} -@plural {n} Layer|{n} Layers {n} طبقة|{n} طبقة|{n} طبقتان|{n} طبقات|{n} طبقةً|{n} طبقات -@plural {n} layer|{n} layers {n} طبقة|{n} طبقة|{n} طبقتان|{n} طبقات|{n} طبقةً|{n} طبقات -@plural Group · {n} layer|Group · {n} layers مجموعة · {n} طبقة|مجموعة · {n} طبقة|مجموعة · {n} طبقتان|مجموعة · {n} طبقات|مجموعة · {n} طبقةً|مجموعة · {n} طبقات +@plural {n} Layer|{n} Layers {n} طبقة|{n} طبقة|{n} طبقتان|{n} طبقات|{n} طبقةً|{n} طبقة +@plural {n} layer|{n} layers {n} طبقة|{n} طبقة|{n} طبقتان|{n} طبقات|{n} طبقةً|{n} طبقة +@plural Group · {n} layer|Group · {n} layers مجموعة · {n} طبقة|مجموعة · {n} طبقة|مجموعة · {n} طبقتان|مجموعة · {n} طبقات|مجموعة · {n} طبقةً|مجموعة · {n} طبقة Additional plugins folder مجلد الإضافات الإضافي Adobe Adobe Adobe rgb Adobe RGB @@ -1894,7 +1894,7 @@ Exclusion استبعاد Divide قسمة Luminosity لمعان -@plural {n} sample|{n} samples {n} عينة|{n} عينة|{n} عينتان|{n} عينات|{n} عينةً|{n} عينات +@plural {n} sample|{n} samples {n} عينة|{n} عينة|{n} عينتان|{n} عينات|{n} عينةً|{n} عينة {added}, {removed} subtracted {added}، {removed} مطروحة Adjustment Preview معاينة التعديل Airbrush: keeps depositing paint while the pointer rests. فرشاة هوائية: تستمر في وضع الطلاء بينما يستقر المؤشر. @@ -2828,54 +2828,5 @@ fontWeight Italic مائل Move Panel تحريك اللوحة Group with تجميع مع Panel menu قائمة اللوحة - Resize panel تغيير حجم اللوحة + Resize panel تغيير حجم اللوحة Resize panels تغيير حجم اللوحات - Open EXR Parts… فتح أجزاء EXR… - Add beauty precomp from the AOVs إضافة تركيبة مسبقة للجمال من قنوات AOV - Remove from Recent إزالة من الملفات الحديثة - Remove {name} from Recent إزالة {name} من الملفات الحديثة - Background From Layer خلفية من الطبقة - 80% 80% - 85% 85% - 90% 90% - 95% 95% - Breeze dark Breeze داكن - Breeze Dark Theme سمة Breeze الداكنة - Breeze light Breeze فاتح - Breeze Light Theme سمة Breeze الفاتحة - Coated CMYK CMYK ورق مصقول - Color & Swatches اللون وعينات الألوان - Color Balance توازن اللون - Color Detail تفاصيل اللون - Refine تحسين - Import keyboard shortcuts? هل تريد استيراد اختصارات لوحة المفاتيح؟ - PhotoCraft found your keyboard shortcut set {set} from another image editor on this computer: {n} of its shortcuts differ from PhotoCraft's. Import it? عثر PhotoCraft على مجموعة اختصارات لوحة المفاتيح {set} من محرر صور آخر على هذا الكمبيوتر: {n} من اختصاراتها تختلف عن اختصارات PhotoCraft. هل تريد استيرادها؟ - Edit › Keyboard Shortcuts › Reset All to Defaults undoes an import. تحرير › اختصارات لوحة المفاتيح › إعادة تعيين الكل إلى الافتراضي يلغي الاستيراد. - Don't Import عدم الاستيراد - The keyboard shortcut set was not imported: {error} لم يتم استيراد مجموعة اختصارات لوحة المفاتيح: {error} - Block كتلة - Single Row Marquee Tool أداة تحديد صف واحد - Single Column Marquee Tool أداة تحديد عمود واحد - Could not complete the Free Transform command because the layer is locked. تعذر إكمال أمر التحويل الحر لأن الطبقة مقفلة. - {w} {unit} x {h} {unit} ({ppi} ppi) {w} {unit} × {h} {unit} ({ppi} بكسل/بوصة) - Show canvas dots إظهار نقاط لوحة الرسم - Show highlight on rollover إظهار التمييز عند التمرير فوقه - Rasterize Layer Style تحويل نمط الطبقة إلى نقطية - Brush Name اسم الفرشاة - Brush Stroke ضربة الفرشاة - Saved {name} تم حفظ {name} - Color Picker ({name}) منتقي الألوان ({name}) - PhotoCraft — Screen Color Picker PhotoCraft — منتقي ألوان الشاشة - Appearance Settings… إعدادات المظهر… - Add to favorites إضافة إلى المفضلة - Remove from favorites إزالة من المفضلة -cameraData Date Taken تاريخ الالتقاط -cameraData F-Stop فتحة العدسة -cameraData Focal Length (35 mm) البعد البؤري (35 مم) -cameraData Make الشركة المصنعة -cameraData Model الطراز -cameraData Exposureزمن التعريض -cameraData ISO Speed حساسية ISO -cameraData Focal Length البعد البؤري -cameraData Lens عدسة - Resize panel window تغيير حجم نافذة اللوحة \ No newline at end of file From bb40b658dad8237e6e3ee1bf5654c39d2df242c3 Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sun, 11 Oct 2026 08:47:15 +0000 Subject: [PATCH 19/60] Update ar.tsv --- crates/ui-egui/src/i18n/ar.tsv | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index 052fb6c13c..a34cdb90e6 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -1,15 +1,39 @@ # Used French (fr) TRANSLATION to add arabic here # Note that arabic is correct as long as you use UTF-8 # There is some Text editors even in the late 2026 and still fail to render arabic correctly (Sublime Text) +# if arabic appear wrong here its your app fault, The file is still correct. # Used with the help of AI, because im not translating all of this! # # -# -# Use Notepad++ HERE FOR CORRECT ARABIC TEXT +# Use Notepad++ HERE FOR CORRECT ARABIC TEXT or VS Code. # # +# Arabic (ar) catalog. Columns, separated by a TAB: context source translation +# Based on the French (fr) catalog; same context kinds (empty, @id, @plural, named contexts). +# A native Arabic speaker should review it. # +# Editing: save as UTF-8 (no BOM) with LF line endings. + +# Never reverse the text or add invisible RTL marks to fix how it looks. # +# FILE RULES +# - Three TAB-separated columns. Rows with no context still start with a TAB. +# - {n}, {name}, {key} and other placeholders must match the English. Their order may change. +# - The trailing "…" must match the English. Use the single character "…", not "...". +# - @plural has 6 forms: zero|one|two|few|many|other +# 3-10: plural noun | 11-99: singular + tanween | 100+: plain singular +# - Keep key names (Alt, Ctrl, Shift), product names (PhotoCraft, GitHub, OpenType), +# technical acronyms (RGB, CMYK) and file formats in Latin letters. +# - Use Arabic punctuation (، ؟ ؛) and Western digits (0-9), as in the English. +# - Every English key appears once per context. No duplicates. +# +# TRANSLATION RULES +# - Translate the meaning, not the words (Sharpen is not "select"; Greens is a colour range). +# - One English term = one Arabic term, and the reverse. Do not reuse one word for +# different English terms (Cut / Crop / Knockout, Revert / Restore, Filter / Type). +# - Commands use the verbal noun (فتح، حفظ، إغلاق). Menus use nouns. +# - Modern Standard Arabic only. No slang. Use established technical terms (بكسل). + File ملف Edit تعديل Image صورة From b070bb845b71b71d5b92dc2ffbacdb94d4c77ed2 Mon Sep 17 00:00:00 2001 From: Mohammed <24667144+syncroot@users.noreply.github.com> Date: Sun, 11 Oct 2026 12:18:40 +0000 Subject: [PATCH 20/60] ar: native-speaker terminology review, missing strings, tab fix - Resolve 81 label collisions (Sharpen/Select, Crop/Cut, Styles/Patterns, Flatten/Equalize/Straighten, Stroke/Border, Dodge/Burn vs Lighten/Darken, ...) using Adobe Arabic help, GIMP ar.po and Krita ar as references - Translate 57 strings added to main since the catalog was started - Fix line 2855 (space instead of TAB) cargo test -p photocraft-ui-egui --lib i18n: 55 passed (merged onto main c436aa7) Co-Authored-By: Claude Opus 5.5 --- crates/ui-egui/src/i18n/ar.tsv | 243 ++++++++++++++++++++------------- 1 file changed, 150 insertions(+), 93 deletions(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index a34cdb90e6..99a5e7418c 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -46,7 +46,7 @@ Top Right أعلى اليمين Bottom Left أسفل اليسار Bottom Right أسفل اليمين - Filter الفلتر + Filter مرشح View عرض Window نافذة Help مساعدة @@ -71,8 +71,8 @@ Export As… تصدير باسم… Export Preferences… تفضيلات التصدير… Save for Web (Legacy)… حفظ للويب (قديم)… - Artboards to Files… لوحات الرسم إلى ملفات… - Artboards to PDF… لوحات الرسم إلى PDF… + Artboards to Files… ألواح التصميم إلى ملفات… + Artboards to PDF… ألواح التصميم إلى PDF… Layers to Files… الطبقات إلى ملفات… Layer Comps to Files… تراكيب الطبقات إلى ملفات… Color Lookup Tables… جداول البحث عن اللون… @@ -87,7 +87,7 @@ Automate أتمتة Batch… دفعة… Create Droplet… إنشاء قطرة… - Crop and Straighten Photos قص الصور وتسويتها + Crop and Straighten Photos اقتصاص الصور وتسويتها Contact Sheet II… ورقة اتصال II… Conditional Mode Change… تغيير الوضع المشروط… Fit Image… ملاءمة الصورة… @@ -97,8 +97,8 @@ Scripts نصوص برمجية Image Processor… معالج الصور… Delete All Empty Layers حذف جميع الطبقات الفارغة - Flatten All Layer Effects تسوية جميع تأثيرات الطبقات - Flatten All Masks تسوية جميع الأقنعة + Flatten All Layer Effects تسطيح جميع تأثيرات الطبقات + Flatten All Masks تسطيح جميع الأقنعة Script Events Manager… مدير أحداث النص البرمجي… Import استيراد Browse… تصفح… @@ -127,7 +127,7 @@ Check Spelling… التدقيق الإملائي… Find and Replace Text… البحث عن النص واستبداله… Fill… تعبئة… - Stroke… حدود… + Stroke… حدّ… Content-Aware Fill… تعبئة حسب المحتوى… Delete and Fill Selection حذف وتعبئة التحديد Content-Aware Scale تحجيم حسب المحتوى @@ -154,7 +154,7 @@ Auto-Align Layers… محاذاة الطبقات تلقائياً… Auto-Blend Layers… دمج الطبقات تلقائياً… Define Brush Preset… تحديد إعداد مسبق للفرشاة… - Define Pattern… تحديد نمط… + Define Pattern… تعريف نقش… Define Custom Shape… تحديد شكل مخصص… Purge تفريغ Clipboard الحافظة @@ -223,7 +223,7 @@ Photo Filter… مرشح الصور… Channel Mixer… خلاط القنوات… Color Lookup… بحث اللون… - Invert عكس + Invert عكس الألوان Posterize… تأثير الملصق… Threshold… العتبة… Gradient Map… خريطة التدرج… @@ -233,7 +233,7 @@ Desaturate إزالة التشبع Match Color… مطابقة اللون… Replace Color… استبدال اللون… - Equalize تسوية + Equalize موازنة Auto Tone تدرج تلقائي Auto Contrast تباين تلقائي Auto Color لون تلقائي @@ -242,7 +242,7 @@ Image Rotation تدوير الصورة Flip Canvas Horizontal قلب لوحة الرسم أفقياً Flip Canvas Vertical قلب لوحة الرسم عمودياً - Crop قص + Crop اقتصاص Trim… تقليم… Reveal All إظهار الكل Duplicate… نسخ مكرر… @@ -266,9 +266,9 @@ Layer… طبقة… Group… مجموعة… Group from Layers… مجموعة من الطبقات… - Artboard… لوحة رسم… - Artboard from Group… لوحة رسم من مجموعة… - Artboard from Layers… لوحة رسم من طبقات… + Artboard… لوح التصميم… + Artboard from Group… لوح تصميم من مجموعة… + Artboard from Layers… لوح تصميم من طبقات… Layer via Copy طبقة عبر النسخ Layer via Cut طبقة عبر القص Layer From Background… طبقة من الخلفية… @@ -294,7 +294,7 @@ Satin… ساتان… Color Overlay… تراكب اللون… Gradient Overlay… تراكب التدرج… - Pattern Overlay… تراكب النمط… + Pattern Overlay… تراكب النقش… Outer Glow… توهج خارجي… Drop Shadow… ظل مسقط… Copy Layer Style نسخ نمط الطبقة @@ -311,7 +311,7 @@ Disable Filter Mask تعطيل قناع المرشح Solid Color… لون خالص… Gradient… تدرج… - Pattern… نمط… + Pattern… نقش… Layer Mask قناع الطبقة Vector Mask قناع متجه Reveal Selection إظهار التحديد @@ -379,8 +379,8 @@ Merge Visible دمج المرئي Stamp Visible ختم المرئي Stamp Down ختم للأسفل - Flatten Image تسوية الصورة - Matting تحديد الحواف + Flatten Image تسطيح الصورة + Matting تنقية الحواف Color Decontaminate… إزالة تلوث اللون… Remove Black Matte إزالة الحافة السوداء Remove White Matte إزالة الحافة البيضاء @@ -473,7 +473,7 @@ Save Default Type Styles حفظ أنماط النص الافتراضية Deselect إلغاء التحديد Reselect إعادة التحديد - Inverse عكس + Inverse عكس التحديد Inverse Selection عكس التحديد Similar مشابه Color Range… نطاق اللون… @@ -518,7 +518,7 @@ Pinch… قرص… Polar Coordinates… إحداثيات قطبية… Ripple… تموج… - Shear… قص… + Shear… إمالة… Spherize… تكوير… Twirl… لف… Wave… موجة… @@ -547,10 +547,10 @@ Relight… إعادة إضاءة… Picture Frame… إطار صورة… Tree… شجرة… - Sharpen تحديد - Sharpen Edges تمضية الحواف - Sharpen More تحديد أكثر - Smart Sharpen… تحديد ذكي… + Sharpen تحسين الحدة + Sharpen Edges تحسين حدة الحواف + Sharpen More تحسين الحدة أكثر + Smart Sharpen… تحسين الحدة الذكي… Unsharp Mask… قناع عدم التحديد… High Pass… مرور عالي… Stylize تنميق @@ -589,7 +589,7 @@ Zoom Out تصغير Fit on Screen ملاءمة على الشاشة Fit Layer(s) on Screen ملاءمة الطبقة(ات) على الشاشة - Fit Artboard on Screen ملاءمة لوحة الرسم على الشاشة + Fit Artboard on Screen ملاءمة لوح التصميم على الشاشة 100% 100% 200% 200% 75% 75% @@ -624,7 +624,7 @@ Grid شبكة Guides أدلة Canvas Guides أدلة لوحة الرسم - Artboard Guides أدلة لوحة الرسم + Artboard Guides أدلة لوح التصميم Count عد Smart Guides أدلة ذكية Slices شرائح @@ -632,7 +632,7 @@ Pixel Grid شبكة البكسل Pixel Art فن البكسل Pixel Art Preview معاينة فن البكسل - Pattern Preview معاينة النمط + Pattern Preview معاينة النقش Brush Preview معاينة الفرشاة Mesh شبكة Edit Pins تحرير الدبابيس @@ -643,7 +643,7 @@ Snap To محاذاة إلى Lock Guides قفل الأدلة Clear Guides مسح الأدلة - Clear Selected Artboard Guides مسح أدلة لوحة الرسم المحددة + Clear Selected Artboard Guides مسح أدلة لوح التصميم المحددة Clear Canvas Guides مسح أدلة لوحة الرسم New Guide… دليل جديد… Lock Slices قفل الشرائح @@ -691,7 +691,7 @@ Brushes فرش Channels قنوات Character حرف - Character Styles ستايل الأحرف + Character Styles أنماط الأحرف Clone Source مصدر الاستنساخ Color لون Glyphs رموز @@ -704,12 +704,12 @@ Navigator مستكشف Options خيارات Paragraph فقرة - Paragraph Styles ستايل الفقرات + Paragraph Styles أنماط الفقرات Paths مسارات - Patterns أنماط + Patterns نقوش Properties خصائص Shapes أشكال - Styles الستايل + Styles أنماط Swatches عينات Timeline جدول زمني Tool Presets إعدادات الأدوات المسبقة @@ -723,7 +723,7 @@ WIA Support… دعم WIA… Apply تطبيق HSB/HSL HSB/HSL - Invert… عكس… + Invert… عكس الألوان… Load Files into Stack… تحميل الملفات في مكدس… Motion حركة Notes… ملاحظات… @@ -785,8 +785,8 @@ Apply Per Tip تطبيق لكل طرف Apply next selected layer comp تطبيق تركيبة الطبقة المحددة التالية Apply previous selected layer comp تطبيق تركيبة الطبقة المحددة السابقة - Artboard لوحة رسم - Artboard Background Color لون خلفية لوحة الرسم + Artboard لوح التصميم + Artboard Background Color لون خلفية لوح التصميم Assign working space تعيين مساحة العمل Author: المؤلف: Auto Hide إخفاء تلقائي @@ -838,7 +838,7 @@ Canvas extension color: لون تمديد لوحة الرسم: Capture التقاط Capture the visibility, position and style of every layer with + below, then switch between versions. التقط رؤية وموقع ونمط كل طبقة باستخدام + أدناه، ثم انتقل بين الإصدارات. - Catch-up on Stroke End ملاحقة في نهاية الشدّة + Catch-up on Stroke End ملاحقة في نهاية الضربة Center مركز Center Crop Marks علامات قص المركز Center text توسيط النص @@ -919,7 +919,7 @@ Create new shape from the current path إنشاء شكل جديد من المسار الحالي Create new snapshot إنشاء لقطة جديدة Create new tool preset إنشاء إعداد مسبق جديد للأداة - Crop Factor عامل القص + Crop Factor عامل الاقتصاص Ctrl Ctrl Current & Below الحالي وما تحته Current Layer الطبقة الحالية @@ -941,7 +941,7 @@ Define تحديد Define at least one variable first. حدد متغيراً واحداً على الأقل أولاً. Dehaze إزالة الضباب - Delete Cropped Pixels حذف البكسلات المقصوصة + Delete Cropped Pixels حذف البكسلات المقتصة Delete Group حذف المجموعة Delete Layer Mask حذف قناع الطبقة Delete Layers حذف الطبقات @@ -1052,9 +1052,9 @@ Font خط Font Size: حجم الخط: Font size حجم الخط - Foreground الأمامية - Foreground to Background من الأمامية إلى الخلفية - Foreground/Background Jitter تباين الأمامية/الخلفية + Foreground لون المقدمة + Foreground to Background من المقدمة إلى الخلفية + Foreground/Background Jitter تباين المقدمة/الخلفية Format تنسيق Frame from Layers… إطار من الطبقات… Free حر @@ -1105,7 +1105,7 @@ Interpolation: استيفاء: Intersect with selection ({key}) تقاطع مع التحديد ({key}) Invert All عكس الكل - Invert has no settings. العكس ليس له إعدادات. + Invert has no settings. عكس الألوان ليس له إعدادات. Italic مائل Join us on Discord انضم إلينا على Discord Justify all ضبط الكل @@ -1234,8 +1234,8 @@ Panel locations are saved in the workspace. Keyboard shortcuts, menus and toolbar are optional. تُحفظ مواقع اللوحات في مساحة العمل. اختصارات لوحة المفاتيح والقوائم وشريط الأدوات اختيارية. Paper ورق Path مسار - Pattern نمط - Pattern Size حجم النمط + Pattern نقش + Pattern Size حجم النقش Pause إيقاف مؤقت Percent نسبة مئوية Perceptual إدراكي @@ -1266,7 +1266,7 @@ Pressure ضغط Pressure for Opacity ضغط للعتامة Pressure for Size ضغط للحجم - Prevent auto-nesting in and out of Artboards and Frames منع التداخل التلقائي داخل وخارج لوحات الرسم والإطارات + Prevent auto-nesting in and out of Artboards and Frames منع التداخل التلقائي داخل وخارج ألواح التصميم والإطارات Preview معاينة Previous frame الإطار السابق Previous note الملاحظة السابقة @@ -1278,7 +1278,7 @@ Progressive تدريجي Promote ترقية Protect Detail حماية التفاصيل - Protect Foreground Color حماية لون الأمامية + Protect Foreground Color حماية لون المقدمة Protect Tones حماية الدرجات Proximity Match مطابقة القرب Pulled String Mode وضع الخيط المشدود @@ -1373,11 +1373,11 @@ Set painting symmetry options تعيين خيارات تناظر الرسم Symmetry Off التناظر معطل Set shape fill type تعيين نوع تعبئة الشكل - Set shape stroke type تعيين نوع حدود الشكل + Set shape stroke type تعيين نوع حدّ الشكل Set the text color تعيين لون النص Shadows ظلال Shape: شكل: - Sharpening تحديد + Sharpening تحسين الحدة Shift Shift Shortcut removed. تمت إزالة الاختصار. Show All Menu Items إظهار جميع عناصر القائمة @@ -1410,9 +1410,9 @@ Straighten Layer تسوية الطبقة Strength: قوة: Strikethrough يتوسطه خط - Stroke حدود - Stroke Catch-up ملاحقة الحدود - Stroke: حدود: + Stroke حدّ + Stroke Catch-up ملاحقة الضربة + Stroke: حدّ: Location: موقع: Style نمط Style Options خيارات النمط @@ -1449,7 +1449,7 @@ Transparency شفافية Transparent شفاف Trilinear ثلاثي الخطية - Type Styles ستايل النص + Type Styles أنماط النص Type: نوع: Underline تسطير Untitled بدون عنوان @@ -1514,25 +1514,25 @@ Brush Tip Shape شكل طرف الفرشاة Brush Tool أداة الفرشاة Build-up تراكم - Burn Tool أداة التغميق + Burn Tool أداة زيادة الكثافة Centimeters سنتيمترات Choke خنق Classic كلاسيكي Click to add text انقر لإضافة نص Click to fill similar colours انقر لملء الألوان المتشابهة Clone Stamp Tool أداة ختم الاستنساخ - Color Burn حرق اللون - Color Dodge تفادي اللون + Color Burn زيادة كثافة اللون + Color Dodge إنقاص كثافة اللون Color Dynamics ديناميكيات اللون Color Overlay تراكب اللون Comic Book كتاب هزلي - Conform موافق + Conform مطابقة Content-Aware Fill needs a selection on a pixel layer تحتاج التعبئة حسب المحتوى إلى تحديد على طبقة بكسل Could not transform: the layer is empty تعذر التحويل: الطبقة فارغة Could not use Perspective Warp: the layer is empty تعذر استخدام تشويه المنظور: الطبقة فارغة Could not use Puppet Warp: no opaque pixels تعذر استخدام تشويه الدمية: لا توجد بكسلات غير شفافة Could not use Puppet Warp: the layer is empty تعذر استخدام تشويه الدمية: الطبقة فارغة - Crop Tool أداة القص + Crop Tool أداة الاقتصاص Crosswise عرضي Current Tool الأداة الحالية Custom Shape Tool أداة الشكل المخصص @@ -1546,7 +1546,7 @@ Document Dimensions أبعاد المستند Document Profile ملف تعريف المستند Document Sizes أحجام المستند - Dodge Tool أداة التفتيح + Dodge Tool أداة إنقاص الكثافة Down أسفل Drag to draw a gradient اسحب لرسم تدرج Drag to move the active layer اسحب لنقل الطبقة النشطة @@ -1600,14 +1600,14 @@ Light فاتح Line Tool أداة الخط Linear خطي - Linear Burn حرق خطي + Linear Burn زيادة الكثافة الخطية Linear Height ارتفاع خطي Link with Layer ربط مع الطبقة Lorem Ipsum Lorem Ipsum Magentas أرجواني Magic Eraser Tool أداة الممحاة السحرية Magic Wand Tool أداة العصا السحرية - Marquee تحديد + Marquee إطار التحديد Mean: متوسط: Measurement Scale مقياس القياس Measurement Scale Marker علامة مقياس القياس @@ -1633,7 +1633,7 @@ Paints from the document's opening state يرسم من حالة فتح المستند Path Selection Tool أداة تحديد المسار Direct Selection Tool أداة التحديد المباشر - Pattern Overlay تراكب النمط + Pattern Overlay تراكب النقش Pen Pressure ضغط القلم Pen Tilt ميل القلم Pen Tool أداة القلم @@ -1677,7 +1677,7 @@ SemiBold نصف غامق Shadows up to: ظلال حتى: Shape Dynamics ديناميكيات الشكل - Sharpen Tool أداة التحديد + Sharpen Tool أداة تحسين الحدة Show Extras Options خيارات إظهار الإضافات Slice Select Tool أداة تحديد الشريحة Slice Tool أداة الشريحة @@ -1862,7 +1862,7 @@ Screen resolution دقة الشاشة Scrubby slider acceleration تسريع أشرطة التمرير السريعة Sessions only جلسات فقط - Sharpen for تحديد لـ + Sharpen for تحسين الحدة لـ Show channels in color إظهار القنوات بالألوان Show crosshair in brush tip إظهار علامة التصويب في طرف الفرشاة Show extension panels إظهار لوحات التمديد @@ -1908,7 +1908,7 @@ Pass Through مرور Dissolve ذوبان Darker Color لون أغمق - Linear Dodge (Add) تفادي خطي (إضافة) + Linear Dodge (Add) إنقاص الكثافة الخطي (إضافة) Lighter Color لون أفتح Soft Light ضوء ناعم Hard Light ضوء قوي @@ -2066,7 +2066,7 @@ Chrome كروم Conté Crayon قلم Conté Graphic Pen قلم رسومي - Halftone Pattern نمط نصف نغمة + Halftone Pattern نقش نصف نغمة Note Paper ورق ملاحظات Photocopy نسخ ضوئي Plaster جبس @@ -2084,8 +2084,8 @@ Pencil قلم رصاص Clone Stamp ختم الاستنساخ Healing معالجة - Dodge تفتيح - Burn تغميق + Dodge إنقاص الكثافة + Burn زيادة الكثافة Pen قلم Hand يد Sampler أداة أخذ العينات @@ -2094,15 +2094,15 @@ Magnetic Lasso لاسو مغناطيسي History Brush فرشاة السجل Art History Brush فرشاة السجل الفني - Pattern Stamp ختم النمط + Pattern Stamp ختم النقش Spot Healing معالجة موضعية Red Eye عين حمراء Patch رقعة Content-Aware Move نقل حسب المحتوى Rotate View تدوير العرض - Perspective Crop قص منظور + Perspective Crop اقتصاص منظوري Color Replacement استبدال اللون - Dodge/Burn تفتيح/تغميق + Dodge/Burn إنقاص/زيادة الكثافة Dynamics ديناميكيات Tilt ميل Reset إعادة تعيين @@ -2149,7 +2149,7 @@ Industry Standard معيار الصناعة Uncoated CMYK CMYK غير مطلي Newspaper صحيفة - Working Spaces مساحات العمل + Working Spaces مساحات الألوان العاملة Color Management Policies سياسات إدارة الألوان Detect Faces اكتشاف الوجوه Localize Color Clusters تحديد مواقع عناقيد الألوان @@ -2177,8 +2177,8 @@ Keep view in sync إبقاء العرض متزامناً {zoom}% {zoom}% Mouse Controls عناصر تحكم الماوس - Initial Direction of Stroke الاتجاه الأولي للشدة - Direction of Stroke اتجاه الشدة + Initial Direction of Stroke الاتجاه الأولي للضربة + Direction of Stroke اتجاه الضربة Humidity رطوبة Auto Clean Brush تنظيف الفرشاة تلقائياً Spacing: تباعد: @@ -2246,10 +2246,10 @@ Quick Sync مزامنة سريعة Audio صوت Frame Duration مدة الإطار - Loop تكرار + Loop حلقة Split at Playhead تقسيم عند رأس التشغيل - Flatten Frames Into Clips تسوية الإطارات في مقاطع - Flatten Frames Into Layers تسوية الإطارات في طبقات + Flatten Frames Into Clips تسطيح الإطارات في مقاطع + Flatten Frames Into Layers تسطيح الإطارات في طبقات Convert Frames > Video Layers تحويل الإطارات > طبقات فيديو New Video Layer طبقة فيديو جديدة New Video Group مجموعة فيديو جديدة @@ -2363,7 +2363,7 @@ Errors أخطاء Settings إعدادات Settings: إعدادات: - Working Space مساحة العمل + Working Space مساحة الألوان العاملة RGB: RGB: CMYK: CMYK: Gray: رمادي: @@ -2653,15 +2653,15 @@ cameraRaw Blending دمج # Layer Style > Blending Options (Advanced Blending) Blend If: دمج إذا: Channels: قنوات: - Knockout قص + Knockout تفريغ Apply At Canvas Bounds تطبيق عند حدود لوحة الرسم # Shared screen eyedropper and text Color Picker (#1128). Color Picker (Text Color) منتقي الألوان (لون النص) Color Picker (Fill Color) منتقي الألوان (لون التعبئة) Fill color لون التعبئة - Color Picker (Stroke Color) منتقي الألوان (لون الحدود) - Stroke color لون الحدود + Color Picker (Stroke Color) منتقي الألوان (لون الحدّ) + Stroke color لون الحدّ Pick screen color اختيار لون الشاشة Sample a pixel anywhere on the screen أخذ عينة من بكسل في أي مكان على الشاشة Click to pick · Esc to cancel انقر للاختيار · Esc للإلغاء @@ -2674,8 +2674,8 @@ cameraRaw Blending دمج # Fill dialog, layer style contours and Image Size Contents: محتويات: - Custom Pattern: نمط مخصص: - Foreground Color لون الأمامية + Custom Pattern: نقش مخصص: + Foreground Color لون المقدمة Color… لون… 50% Gray رمادي 50% {size} (was {old}) {size} (كان {old}) @@ -2723,7 +2723,7 @@ fontWeight Black أسود fontWeight Italic مائل # Pattern Stamp tool - Pattern Stamp Tool أداة ختم النمط + Pattern Stamp Tool أداة ختم النقش Impressionist انطباعي Rotate View Tool أداة تدوير العرض Reset View إعادة تعيين العرض @@ -2765,7 +2765,7 @@ fontWeight Italic مائل Never Show Overlay عدم إظهار التراكب أبداً Cycle Overlay تبديل التراكب Cycle Orientation تبديل الاتجاه - Set the overlay options for the Crop tool تعيين خيارات التراكب لأداة القص + Set the overlay options for the Crop tool تعيين خيارات التراكب لأداة الاقتصاص Alt-click went to the desktop, which moves windows with Alt-drag. Set its window-move key to Super, or latch Alt in Window › Modifier Keys. تم اعتراض النقر مع Alt بواسطة سطح المكتب، الذي يحرك النوافذ بالسحب مع Alt. اضبط مفتاح تحريك النوافذ على Super، أو اقفل Alt في نافذة › مفاتيح التعديل. # Shared Layer Style color picker @@ -2782,13 +2782,13 @@ fontWeight Italic مائل Active نشط Color Picker (Solid Color) منتقي الألوان (لون خالص) Straighten the image by drawing a line on it تسوية الصورة برسم خط عليها - Set additional Crop options تعيين خيارات قص إضافية - Show Cropped Area إظهار المنطقة المقصوصة - Enable Crop Shield تمكين درع القص + Set additional Crop options تعيين خيارات اقتصاص إضافية + Show Cropped Area إظهار المنطقة المقتصة + Enable Crop Shield تمكين درع الاقتصاص Match Canvas مطابقة لوحة الرسم Auto Adjust Opacity ضبط العتامة تلقائياً - Crop Shield color لون درع القص - Color Picker (Crop Shield Color) منتقي الألوان (لون درع القص) + Crop Shield color لون درع الاقتصاص + Color Picker (Crop Shield Color) منتقي الألوان (لون درع الاقتصاص) From Center من المركز Link radii ربط أنصاف الأقطار Star Ratio: نسبة النجمة: @@ -2808,9 +2808,9 @@ fontWeight Italic مائل Glow توهج Negation نفي XOR XOR - Color Burn (Paint.NET) حرق اللون (Paint.NET) - Color Dodge (Paint.NET) تفادي اللون (Paint.NET) - Stroke Options خيارات الحدود + Color Burn (Paint.NET) زيادة كثافة اللون (Paint.NET) + Color Dodge (Paint.NET) إنقاص كثافة اللون (Paint.NET) + Stroke Options خيارات الحدّ Solid متصل Dashed متقطع Dotted منقط @@ -2852,5 +2852,62 @@ fontWeight Italic مائل Move Panel تحريك اللوحة Group with تجميع مع Panel menu قائمة اللوحة - Resize panel تغيير حجم اللوحة + Resize panel تغيير حجم اللوحة Resize panels تغيير حجم اللوحات +# Strings added to main after this catalog was started (translated with the same glossary) + Background From Layer خلفية من طبقة + Breeze Dark Theme سمة Breeze الداكنة + Breeze Light Theme سمة Breeze الفاتحة + Open EXR Parts… فتح أجزاء EXR… + Reset All Tools إعادة تعيين كل الأدوات + Reset Tool إعادة تعيين الأداة + 24 bits/pixel 24 بت/بكسل + 32 bits/pixel 32 بت/بكسل + Add to favorites إضافة إلى المفضلة + Appearance Settings… إعدادات المظهر… + Block مربع + Brush Name اسم الفرشاة + Brush Stroke ضربة الفرشاة + Click a segment to add an anchor point · {alt}-click an anchor to delete it انقر على مقطع لإضافة نقطة ربط · انقر مع {alt} على نقطة ربط لحذفها + Click an anchor point to delete it · {alt}-click a segment to add one انقر على نقطة ربط لحذفها · انقر مع {alt} على مقطع لإضافة نقطة + Click the first point or press {key} to close · {del} removes a point · Esc cancels انقر على النقطة الأولى أو اضغط {key} للإغلاق · {del} يزيل نقطة · Esc للإلغاء + Click, then move along an edge · click to fasten a point · {alt}-click for a straight segment · double-click to close انقر ثم تحرك على طول حافة · انقر لتثبيت نقطة · انقر مع {alt} لمقطع مستقيم · انقر نقراً مزدوجاً للإغلاق + Click: smooth point · Double-click: corner · Drag a point: move · Click first point: close · {key} finish نقرة: نقطة منحنية · نقرة مزدوجة: زاوية · اسحب نقطة: تحريك · انقر النقطة الأولى: إغلاق · {key} إنهاء + Coated CMYK CMYK للورق المطلي + Color & Swatches اللون وعينات الألوان + Color Balance توازن اللون + Color Picker ({name}) منتقي الألوان ({name}) + Curve Fit: ملاءمة المنحنى: + Delete Crop Preset… حذف إعداد اقتصاص مسبق… + Don't Import عدم الاستيراد + Drag: draw freehand · Release on the start point: close اسحب: رسم حر · أفلت على نقطة البداية: إغلاق + Edit › Keyboard Shortcuts › Reset All to Defaults undoes an import. تحرير › اختصارات لوحة المفاتيح › إعادة تعيين الكل إلى الافتراضي يلغي الاستيراد. + Enter a name for the crop preset أدخل اسماً لإعداد الاقتصاص المسبق + Follows only edges this close to the pointer ([ and ] change it) يتتبع الحواف القريبة من المؤشر بهذه المسافة فقط ([ و ] لتغييرها) + Higher values follow only edges that contrast sharply with their surroundings القيم الأعلى تتتبع فقط الحواف شديدة التباين مع ما حولها + How often fastening points are placed by themselves عدد مرات وضع نقاط التثبيت تلقائياً + Import keyboard shortcuts? استيراد اختصارات لوحة المفاتيح؟ + New Crop Preset… إعداد اقتصاص مسبق جديد… + PhotoCraft — Screen Color Picker PhotoCraft — منتقي ألوان الشاشة + Refine تحسين + Remove from Recent إزالة من الأخيرة + Remove from favorites إزالة من المفضلة + Remove {name} from Recent إزالة {name} من الأخيرة + Reset all tools to their default settings? إعادة تعيين كل الأدوات إلى إعداداتها الافتراضية؟ + Resize panel window تغيير حجم نافذة اللوحة + Select the crop presets to delete اختر إعدادات الاقتصاص المسبقة المراد حذفها + Select the crop presets to delete: اختر إعدادات الاقتصاص المسبقة المراد حذفها: + Targa Options خيارات Targa + The keyboard shortcut set was not imported: {error} لم يتم استيراد مجموعة اختصارات لوحة المفاتيح: {error} + There is no crop size or ratio to save لا يوجد حجم أو نسبة اقتصاص لحفظها + {w} {unit} x {h} {unit} ({ppi} ppi) {w} {unit} × {h} {unit} ({ppi} ppi) + Color Detail تفاصيل اللون +cameraData Make الشركة المصنعة +cameraData Model الطراز +cameraData Date Taken تاريخ الالتقاط +cameraData Exposure زمن التعريض +cameraData F-Stop فتحة العدسة +cameraData ISO Speed حساسية ISO +cameraData Focal Length البعد البؤري +cameraData Focal Length (35 mm) البعد البؤري (35 مم) +cameraData Lens العدسة From c1ca748110993e2e322f9ff24d9c9cae9bb1ddaf Mon Sep 17 00:00:00 2001 From: azizr12 Date: Mon, 12 Oct 2026 06:24:02 +0000 Subject: [PATCH 21/60] update arabic --- crates/ui-egui/src/i18n/ar.tsv | 9 +-------- crates/ui-egui/src/i18n/live_tests.rs | 2 +- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index 99a5e7418c..86114ff686 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -1,10 +1,3 @@ -# Used French (fr) TRANSLATION to add arabic here -# Note that arabic is correct as long as you use UTF-8 -# There is some Text editors even in the late 2026 and still fail to render arabic correctly (Sublime Text) -# if arabic appear wrong here its your app fault, The file is still correct. -# Used with the help of AI, because im not translating all of this! -# -# # Use Notepad++ HERE FOR CORRECT ARABIC TEXT or VS Code. # # @@ -1857,7 +1850,7 @@ Rotate view with trackpad تدوير العرض باستخدام لوحة اللمس Same folder نفس المجلد Save in background حفظ في الخلفية - Scratch Disks أقراص الخدش + Scratch Disks أقراص التخزين المؤقت Screen شاشة Screen resolution دقة الشاشة Scrubby slider acceleration تسريع أشرطة التمرير السريعة diff --git a/crates/ui-egui/src/i18n/live_tests.rs b/crates/ui-egui/src/i18n/live_tests.rs index f60e0d2783..def87f6279 100644 --- a/crates/ui-egui/src/i18n/live_tests.rs +++ b/crates/ui-egui/src/i18n/live_tests.rs @@ -221,7 +221,7 @@ fn first_launch_renders_the_system_language_without_overwriting_auto() { #[test] fn missing_or_unsupported_system_languages_render_english() { - for tags in [vec![], vec!["sv-SE", "hi-IN"]] { // Changed to an unsupported language + for tags in [vec![], vec!["sv-SE", "hi-IN"]] { system::with_system_tags(&tags, || { with_language(Lang::EN, || { let h = harness(); From 09edc935fdcb869490de7144d7bad8629962717c Mon Sep 17 00:00:00 2001 From: azizr12 Date: Mon, 12 Oct 2026 06:26:45 +0000 Subject: [PATCH 22/60] Update ar.tsv --- crates/ui-egui/src/i18n/ar.tsv | 115 +++++++++++++++++++++++++-------- crates/ui-egui/src/i18n/mod.rs | 5 +- 2 files changed, 91 insertions(+), 29 deletions(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index 86114ff686..85a6614620 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -1,31 +1,10 @@ -# Use Notepad++ HERE FOR CORRECT ARABIC TEXT or VS Code. +# Arabic (ar) localization catalog. +# Format: context source translation (plain rows start with a TAB). +# Plural rules (CLDR): zero|one|two|few|many|other. # -# -# Arabic (ar) catalog. Columns, separated by a TAB: context source translation -# Based on the French (fr) catalog; same context kinds (empty, @id, @plural, named contexts). -# A native Arabic speaker should review it. -# -# Editing: save as UTF-8 (no BOM) with LF line endings. - -# Never reverse the text or add invisible RTL marks to fix how it looks. -# -# FILE RULES -# - Three TAB-separated columns. Rows with no context still start with a TAB. -# - {n}, {name}, {key} and other placeholders must match the English. Their order may change. -# - The trailing "…" must match the English. Use the single character "…", not "...". -# - @plural has 6 forms: zero|one|two|few|many|other -# 3-10: plural noun | 11-99: singular + tanween | 100+: plain singular -# - Keep key names (Alt, Ctrl, Shift), product names (PhotoCraft, GitHub, OpenType), -# technical acronyms (RGB, CMYK) and file formats in Latin letters. -# - Use Arabic punctuation (، ؟ ؛) and Western digits (0-9), as in the English. -# - Every English key appears once per context. No duplicates. -# -# TRANSLATION RULES -# - Translate the meaning, not the words (Sharpen is not "select"; Greens is a colour range). -# - One English term = one Arabic term, and the reverse. Do not reuse one word for -# different English terms (Cut / Crop / Knockout, Revert / Restore, Filter / Type). -# - Commands use the verbal noun (فتح، حفظ، إغلاق). Menus use nouns. -# - Modern Standard Arabic only. No slang. Use established technical terms (بكسل). +# This catalog was initially machine-assisted from the French (fr) catalog +# and requires review by a native Arabic speaker for accuracy, particularly +# regarding specialist terminology and plural forms. File ملف Edit تعديل @@ -2904,3 +2883,85 @@ cameraData ISO Speed حساسية ISO cameraData Focal Length البعد البؤري cameraData Focal Length (35 mm) البعد البؤري (35 مم) cameraData Lens العدسة + (No neutral color exists for {mode} mode.) (لا يوجد لون محايد لوضع {mode}.) + Add New Artboard إضافة لوح رسم جديد + Amount: الكمية: + Anti-aliased تنعيم الحواف + Apply Vanishing Point ({key}) تطبيق نقطة التلاشي ({key}) + Automatic تلقائي + Bicubic Sharper (reduction) ثنائي التكعيب أكثر حدة (تصغير) + Bicubic Smoother (enlargement) ثنائي التكعيب أكثر نعومة (تكبير) + Bottom: الأسفل: + Center Columns أعمدة الوسط + Clear Brush Strokes مسح ضربات الفرشاة + Clear Existing Guides مسح الأدلة الموجودة + Click to place · Alt-click or drag off-canvas to remove انقر للوضع · انقر بزر Alt أو اسحب خارج اللوحة للإزالة + Click: corner · Drag: smooth · {alt}-drag: break handle · Click or drag first point: close · {key} finish · Esc cancel انقر: زاوية · اسحب: ناعم · سحب {alt}: كسر المقبض · انقر أو اسحب النقطة الأولى: إغلاق · {key} إنهاء · Esc إلغاء + Cone - Inverted مخروط - مقلوب + Contour Editor محرر المحيط + Corner زاوية + Create a new elliptical frame إنشاء إطار بيضاوي جديد + Create a new rectangular frame إنشاء إطار مستطيل جديد + Drag a box or click four corners · drag the corners onto the edges of a skewed shape · {commit} commits · Esc cancels اسحب مربعاً أو انقر على أربع زوايا · اسحب الزوايا على حواف شكل مائل · {commit} تطبيق · Esc إلغاء + Drag to draw the curve · {key}-click draws a straight line اسحب لرسم المنحنى · انقر مع {key} لرسم خط مستقيم + Drag: draw freehand · {alt}-click: straight segment · Release on the start point: close اسحب: رسم حر · انقر مع {alt}: مقطع مستقيم · افلت على نقطة البداية: إغلاق + Draw to modify the curve ارسم لتعديل المنحنى + Edit points to modify the curve حرر النقاط لتعديل المنحنى + Emulsion Down المستحلب للأسفل + Expand Detection Area توسيع منطقة الاكتشاف + F cycles the views; hold X to see the image F يدور بين طرق العرض؛ امسك X لرؤية الصورة + Fill with {mode}-neutral color (50% gray) تعبئة بلون محايد لـ {mode} (رمادي 50%) + Fill with {mode}-neutral color (black) تعبئة بلون محايد لـ {mode} (أسود) + Fill with {mode}-neutral color (white) تعبئة بلون محايد لـ {mode} (أبيض) + Fix the red plane first: its corners must form a convex quad أصلح المستوى الأحمر أولاً: يجب أن تشكل زواياه شكلاً رباعياً محدباً + Functions الدوال + Grid Size: حجم الشبكة: + Include in playback تضمين في التشغيل + Invalid guide layout تخطيط دليل غير صالح + Leave empty for automatic size اتركه فارغاً للحجم التلقائي + Left: اليسار: + Light Blue أزرق فاتح + Light Gray رمادي فاتح + Light Red أحمر فاتح + Loading fonts… جارٍ تحميل الخطوط… + Make Landscape تحويل إلى أفقي + Make Portrait تحويل إلى عمودي + Marching Ants النمل المتحرك + Margin الهامش + Medium Blue أزرق متوسط + New Layer طبقة جديدة + No document open لا يوجد مستند مفتوح + Number الرقم + On Black على الأسود + On Layers على الطبقات + On White على الأبيض + Onion Skin طبقة البصل + Opened {name} تم فتح {name} + Paint over hair or fur on the image; Alt paints the other mode ارسم فوق الشعر أو الفرو على الصورة؛ Alt يرسم الوضع الآخر + Print Resolution: دقة الطباعة: + Pro Light Gray Theme سمة رمادي فاتح احترافية + Pro Light Theme سمة فاتحة احترافية + Protect skin tones حماية درجات لون البشرة + Protect: حماية: + Refine Edge Brush (R) فرشاة تنعيم الحافة (R) + Restore Original Edge استعادة الحافة الأصلية + Right: اليمين: + Rows الصفوف + Saving {percent} جارٍ الحفظ {percent} + Scale or rotate the moved area, then press {key} قم بتحجيم أو تدوير المنطقة المنقولة، ثم اضغط على {key} + Scale: المقياس: + Show Edge إظهار الحافة + Show Grid إظهار الشبكة + Show Original إظهار الأصل + Slant الميل + Smooth the curve values تنعيم قيم المنحنى + Snap to Origin محاذاة إلى نقطة الأصل + Target: الهدف: + The layer or its mask changed. Drag the mask onto the Trash again. تغيرت الطبقة أو قناعها. اسحب القناع إلى سلة المهملات مرة أخرى. + Top: الأعلى: + Transform On Drop تحويل عند الإفلات + Use Previous Layer to Create Clipping Mask استخدام الطبقة السابقة لإنشاء قناع قص + Vanishing Point is not active نقطة التلاشي غير نشطة + Vanishing Point: click four corners to create a plane نقطة التلاشي: انقر على أربع زوايا لإنشاء مستوى + {n} of {max} sample points {n} من {max} نقاط عينة + Cove - Deep تجويف - عميق diff --git a/crates/ui-egui/src/i18n/mod.rs b/crates/ui-egui/src/i18n/mod.rs index 69090a5c84..4f85d5eea0 100644 --- a/crates/ui-egui/src/i18n/mod.rs +++ b/crates/ui-egui/src/i18n/mod.rs @@ -48,7 +48,7 @@ pub struct LangInfo { catalog: OnceLock, } -/// Arabic: 0 → zero, 1 → one, 2 → two, 3–10 → few, 11–99 → many, 100+ → other. +/// Arabic plural rule : 0 → zero, 1 → one, 2 → two, 3–10 → few, 11–99 → many, 100+ → other. fn plural_arabic(n: u64) -> usize { if n == 0 { 0 @@ -66,6 +66,8 @@ fn plural_arabic(n: u64) -> usize { 5 } } +} + /// A script's reading direction. #[derive(Clone, Copy, Debug, PartialEq, Eq)] pub enum Dir { @@ -403,7 +405,6 @@ mod tests { #[test] fn arabic_plural_rule() { let forms: Vec = [0, 1, 2, 3, 5, 10, 11, 99, 100, 101, 111, 112].into_iter().map(plural_arabic).collect(); - // Changed the last two values from 5, 5 to 4, 4 assert_eq!(forms, [0, 1, 2, 3, 3, 3, 4, 4, 5, 5, 4, 4]); } From b9ed3e4a74a69b24a744d5ddb3fc66775700411b Mon Sep 17 00:00:00 2001 From: azizr12 Date: Mon, 12 Oct 2026 08:01:55 +0000 Subject: [PATCH 23/60] Update ar.tsv --- crates/ui-egui/src/i18n/ar.tsv | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index 85a6614620..ae3f72f732 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -152,7 +152,7 @@ File Handling… معالجة الملفات… Export… تصدير… Performance… الأداء… - Scratch Disks… أقراص الخدش… + Scratch Disks… أقراص التخزين المؤقت… Cursors… المؤشرات… Transparency & Gamut… الشفافية ونطاق الألوان… Units & Rulers… الوحدات والمسطرات… @@ -1325,7 +1325,7 @@ Save… حفظ… Scale to Fit Media تحجيم لملاءمة الوسائط Scatter تشتت - Scratch disks أقراص الخدش + Scratch disks أقراص التخزين المؤقت Search بحث Search commands بحث في الأوامر Search commands, tools and panels… بحث في الأوامر والأدوات واللوحات… @@ -2651,12 +2651,9 @@ cameraRaw Blending دمج Color… لون… 50% Gray رمادي 50% {size} (was {old}) {size} (كان {old}) - Cone مخروط Cone (Inverted) مخروط (مقلوب) Domed مقبب Domed (Inverted) مقبب (مقلوب) - Diagonal (Descending) قطري (تنازلي) - Red Eye Tool أداة العين الحمراء Pupil Size حجم الحدقة Darken Amount مقدار التغميق @@ -2897,7 +2894,6 @@ cameraData Lens العدسة Clear Existing Guides مسح الأدلة الموجودة Click to place · Alt-click or drag off-canvas to remove انقر للوضع · انقر بزر Alt أو اسحب خارج اللوحة للإزالة Click: corner · Drag: smooth · {alt}-drag: break handle · Click or drag first point: close · {key} finish · Esc cancel انقر: زاوية · اسحب: ناعم · سحب {alt}: كسر المقبض · انقر أو اسحب النقطة الأولى: إغلاق · {key} إنهاء · Esc إلغاء - Cone - Inverted مخروط - مقلوب Contour Editor محرر المحيط Corner زاوية Create a new elliptical frame إنشاء إطار بيضاوي جديد @@ -2965,3 +2961,18 @@ cameraData Lens العدسة Vanishing Point: click four corners to create a plane نقطة التلاشي: انقر على أربع زوايا لإنشاء مستوى {n} of {max} sample points {n} من {max} نقاط عينة Cove - Deep تجويف - عميق + Cove - Shallow تجويف - ضحل + Linear خطي + Gaussian غاوسي + Cone مخروط + Cone - Inverted مخروط - مقلوب + Cone - Deep مخروط - عميق + Cove تجويف + Ring حلقة + Ring - Double حلقة مزدوجة + Custom مخصص + Half Round نصف دائري + Diagonal (Descending) قطري (تنازلي) + Rolling Slope - Descending منحدر متدحرج - تنازلي + Rounded Steps درجات مستديرة + Sawtooth 1 منشاري 1 From 0c16e3373f27f60b33543000c800c9e3e06f4136 Mon Sep 17 00:00:00 2001 From: azizr12 Date: Mon, 12 Oct 2026 09:43:14 +0000 Subject: [PATCH 24/60] Update ar.tsv --- crates/ui-egui/src/i18n/ar.tsv | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index ae3f72f732..24bd6f618e 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -2976,3 +2976,4 @@ cameraData Lens العدسة Rolling Slope - Descending منحدر متدحرج - تنازلي Rounded Steps درجات مستديرة Sawtooth 1 منشاري 1 + Linear خطي From d2ce4a7b6166e3a3e97438b5d8901415e7bff04a Mon Sep 17 00:00:00 2001 From: azizr12 Date: Mon, 12 Oct 2026 09:43:31 +0000 Subject: [PATCH 25/60] Update ar.tsv --- crates/ui-egui/src/i18n/ar.tsv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index 24bd6f618e..abcbf78f7e 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -2976,4 +2976,4 @@ cameraData Lens العدسة Rolling Slope - Descending منحدر متدحرج - تنازلي Rounded Steps درجات مستديرة Sawtooth 1 منشاري 1 - Linear خطي + Linear خطي \ No newline at end of file From e8be8068e88a3aa6ecae970de7bb0296526742d4 Mon Sep 17 00:00:00 2001 From: azizr12 Date: Mon, 12 Oct 2026 09:46:07 +0000 Subject: [PATCH 26/60] Update ar.tsv --- crates/ui-egui/src/i18n/ar.tsv | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index abcbf78f7e..d4a490c586 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -1571,7 +1571,6 @@ Letter خطاب Light فاتح Line Tool أداة الخط - Linear خطي Linear Burn زيادة الكثافة الخطية Linear Height ارتفاع خطي Link with Layer ربط مع الطبقة @@ -2970,10 +2969,8 @@ cameraData Lens العدسة Cove تجويف Ring حلقة Ring - Double حلقة مزدوجة - Custom مخصص Half Round نصف دائري Diagonal (Descending) قطري (تنازلي) Rolling Slope - Descending منحدر متدحرج - تنازلي Rounded Steps درجات مستديرة - Sawtooth 1 منشاري 1 - Linear خطي \ No newline at end of file + Sawtooth 1 منشاري 1 \ No newline at end of file From da2e597df5a2ca90b1acc918604f0dca3a54790d Mon Sep 17 00:00:00 2001 From: azizr12 Date: Mon, 12 Oct 2026 10:35:27 +0000 Subject: [PATCH 27/60] Update ar.tsv --- crates/ui-egui/src/i18n/ar.tsv | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index d4a490c586..c45b5ebf54 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -2973,4 +2973,19 @@ cameraData Lens العدسة Diagonal (Descending) قطري (تنازلي) Rolling Slope - Descending منحدر متدحرج - تنازلي Rounded Steps درجات مستديرة - Sawtooth 1 منشاري 1 \ No newline at end of file + Sawtooth 1 منشاري 1 + Saved {name} تم حفظ {name} +@plural Exported {n} swatch to {file}|Exported {n} swatches to {file} تم تصدير {n} عينة لون إلى {file}|تم تصدير {n} عينة لون إلى {file}|تم تصدير {n} عينتي لون إلى {file}|تم تصدير {n} عينات لون إلى {file}|تم تصدير {n} عينة لون إلى {file}|تم تصدير {n} عينة لون إلى {file} +@plural Imported {n} brush from {group}|Imported {n} brushes from {group} تم استيراد {n} فرشاة من {group}|تم استيراد {n} فرشاة من {group}|تم استيراد {n} فرشاتين من {group}|تم استيراد {n} فرش من {group}|تم استيراد {n} فرشاة من {group}|تم استيراد {n} فرشاة من {group} +@plural Imported {n} swatch from {file}|Imported {n} swatches from {file} تم استيراد {n} عينة لون من {file}|تم استيراد {n} عينة لون من {file}|تم استيراد {n} عينتي لون من {file}|تم استيراد {n} عينات لون من {file}|تم استيراد {n} عينة لون من {file}|تم استيراد {n} عينة لون من {file} +@plural Played {n} step|Played {n} steps تم تشغيل {n} خطوة|تم تشغيل {n} خطوة|تم تشغيل {n} خطوتين|تم تشغيل {n} خطوات|تم تشغيل {n} خطوة|تم تشغيل {n} خطوة +@plural Saved for Web: {n} file|Saved for Web: {n} files تم الحفظ للويب: {n} ملف|تم الحفظ للويب: {n} ملف|تم الحفظ للويب: {n} ملفين|تم الحفظ للويب: {n} ملفات|تم الحفظ للويب: {n} ملفاً|تم الحفظ للويب: {n} ملفاً +@plural Updated {n} linked smart object changed on disk|Updated {n} linked smart objects changed on disk تم تحديث {n} كائن ذكي مرتبط تم تغييره على القرص|تم تحديث {n} كائن ذكي مرتبط تم تغييره على القرص|تم تحديث {n} كائنين ذكيين مرتبطين تم تغييرهما على القرص|تم تحديث {n} كائنات ذكية مرتبطة تم تغييرها على القرص|تم تحديث {n} كائناً ذكياً مرتبطاً تم تغييره على القرص|تم تحديث {n} كائناً ذكياً مرتبطاً تم تغييره على القرص +@plural {n} layer recorded by this comp was deleted. Update the comp, or clear the warning.|{n} layers recorded by this comp were deleted. Update the comp, or clear the warning. تم حذف {n} طبقة مسجلة في هذا التركيب. حدّث التركيب أو امسح التحذير.|تم حذف {n} طبقة مسجلة في هذا التركيب. حدّث التركيب أو امسح التحذير.|تم حذف {n} طبقتين مسجلتين في هذا التركيب. حدّث التركيب أو امسح التحذير.|تم حذف {n} طبقات مسجلة في هذا التركيب. حدّث التركيب أو امسح التحذير.|تم حذف {n} طبقة مسجلة في هذا التركيب. حدّث التركيب أو امسح التحذير.|تم حذف {n} طبقة مسجلة في هذا التركيب. حدّث التركيب أو امسح التحذير. +@plural {n} plane|{n} planes {n} مستوى|{n} مستوى|{n} مستويان|{n} مستويات|{n} مستوى|{n} مستوى +@plural {n} preset|{n} presets {n} إعداد مسبق|{n} إعداد مسبق|{n} إعدادان مسبقان|{n} إعدادات مسبقة|{n} إعداداً مسبقاً|{n} إعداداً مسبقاً +@plural {n} sample point removed|{n} sample points removed تمت إزالة {n} نقطة عينة|تمت إزالة {n} نقطة عينة|تمت إزالة {n} نقطتي عينة|تمت إزالة {n} نقاط عينة|تمت إزالة {n} نقطة عينة|تمت إزالة {n} نقطة عينة +@plural {n} slice|{n} slices {n} شريحة|{n} شريحة|{n} شريحتان|{n} شرائح|{n} شريحة|{n} شريحة +@plural {n} step|{n} steps {n} خطوة|{n} خطوة|{n} خطوتان|{n} خطوات|{n} خطوة|{n} خطوة +@plural {warning} (+{n} more brush preset warning)|{warning} (+{n} more brush preset warnings) {warning} (+{n} تحذير إضافي بشأن إعدادات الفرشاة المسبقة)|{warning} (+{n} تحذير إضافي بشأن إعدادات الفرشاة المسبقة)|{warning} (+{n} تحذيران إضافيان بشأن إعدادات الفرشاة المسبقة)|{warning} (+{n} تحذيرات إضافية بشأن إعدادات الفرشاة المسبقة)|{warning} (+{n} تحذيراً إضافياً بشأن إعدادات الفرشاة المسبقة)|{warning} (+{n} تحذيراً إضافياً بشأن إعدادات الفرشاة المسبقة) +@plural {what} with {n} warning|{what} with {n} warnings {what} مع {n} تحذير|{what} مع {n} تحذير|{what} مع {n} تحذيرين|{what} مع {n} تحذيرات|{what} مع {n} تحذيراً|{what} مع {n} تحذيراً From 74cd4faec9335644b88498fd767afe427d174c6c Mon Sep 17 00:00:00 2001 From: hicbest Date: Mon, 12 Oct 2026 23:33:59 +0100 Subject: [PATCH 28/60] Add Arabic (ar) as the first right-to-left UI language - Register ar in LANGUAGES with plural_arabic (CLDR 6 forms: zero, one, two, few, many, other) - Add crates/ui-egui/src/i18n/ar.tsv with full menu and UI coverage - Update direction_tests for the first RTL catalog - Update live_tests.rs and system.rs: ar is now a registered language, so the "unsupported language" fixtures use xx-XX instead - Fill missing keys in hu.tsv (Enable animations) and tr.tsv (8/16 Bit, Enable animations) Arabic script fallback fonts are already handled on demand by cjk_fonts.rs (see #1693), so no bundled font is required. --- crates/ui-egui/src/direction_tests.rs | 9 +- crates/ui-egui/src/i18n/ar.tsv | 2996 +++++++++++++++++++++++++ crates/ui-egui/src/i18n/hu.tsv | 1 + crates/ui-egui/src/i18n/live_tests.rs | 2 +- crates/ui-egui/src/i18n/mod.rs | 14 +- crates/ui-egui/src/i18n/system.rs | 2 +- crates/ui-egui/src/i18n/tr.tsv | 7 +- 7 files changed, 3023 insertions(+), 8 deletions(-) create mode 100644 crates/ui-egui/src/i18n/ar.tsv diff --git a/crates/ui-egui/src/direction_tests.rs b/crates/ui-egui/src/direction_tests.rs index 4575017a09..e7e556ec25 100644 --- a/crates/ui-egui/src/direction_tests.rs +++ b/crates/ui-egui/src/direction_tests.rs @@ -17,12 +17,15 @@ fn right_to_left_scripts_by_language_code() { for code in ["en", "ja", "zh-hans", "pt-br", "ku", "arn", ""] { assert_eq!(i18n::dir_for_code(code), Dir::Ltr, "{code}"); } - // No right-to-left catalog is registered yet, so the shell stays as it was. + // Registered languages follow their script: Arabic is right-to-left, the rest left-to-right. for lang in Lang::all() { - assert_eq!(lang.dir(), Dir::Ltr, "{}", lang.code()); + let expected = match lang.code() { + "ar" => Dir::Rtl, + _ => Dir::Ltr, + }; + assert_eq!(lang.dir(), expected, "{}", lang.code()); } } - #[test] fn direction_follows_the_language_unless_forced() { let _lang = i18n::language_scope(Lang::EN); diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv new file mode 100644 index 0000000000..8e5d415e3a --- /dev/null +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -0,0 +1,2996 @@ +# Arabic (ar) catalog. Columns, separated by a TAB: context source translation +# +# context empty a plain UI string; `source` is the English text in the code +# @id a command id (e.g. file.saveAs): wins over the English text for +# that menu item, so one id can read differently from its twin +# @plural `source` is "one|other" (English forms); the translation lists the +# language's forms separated by "|" (see `plural` in i18n/mod.rs) +# anything else a disambiguating context passed to `tr_ctx` +# escapes \n \t \\ inside a column. `{name}` placeholders must appear in both columns. +# lines starting with # and blank lines are ignored. +# +# Clean-room: written from the plain meaning of the English labels in ordinary Arabic +# graphics-editor vocabulary (طبقة، قناة، قناع، تحديد، منحنيات ...). No proprietary localisation +# resource was consulted or copied; entries are added the same way. +# Product and technology names (PhotoCraft, ArtCraft, OpenType, CMYK, Lab ...) stay in Latin +# letters; the trailing "…" of dialog commands is kept; the colon of a label ("Width:") becomes +# the Arabic equivalent with the space the source carries. + +# Menus + File ملف + Edit تحرير + Image صورة + Layer طبقة + Type نص + Select تحديد + Selected محدد + Scope نطاق + Top Left أعلى اليسار + Top Right أعلى اليمين + Bottom Left أسفل اليسار + Bottom Right أسفل اليمين + Filter عامل تصفية + View عرض + Window نافذة + Help مساعدة + +# Guide layout dialog + Rows صفوف + Number عدد + Margin هامش + Top: أعلى: + Left: يسار: + Bottom: أسفل: + Right: يمين: + Target: هدف: + Selected Artboards ألواح الفن المحددة + Center Columns توسيط الأعمدة + Clear Existing Guides مسح الدلائل الموجودة + Invalid guide layout تخطيط دليل غير صالح + Leave empty for automatic size اتركه فارغًا للحجم التلقائي + 5 Columns, 3 Rows 5 أعمدة، 3 صفوف + 8 Columns 8 أعمدة + 12 Columns 12 عمودًا + +# File + New… جديد… + New from Clipboard جديد من الحافظة + New جديد + Open… فتح… + Open فتح + Open As… فتح باسم… + Open EXR Parts… فتح أجزاء EXR… + Add beauty precomp from the AOVs إضافة تركيب جمالي من AOVs + Both كلاهما + Left يسار + Right يمين + Open Recent فتح الأخيرة + Clear Recent Files مسح الملفات الأخيرة + Remove from Recent إزالة من الأخيرة + Remove {name} from Recent إزالة {name} من الأخيرة + Close إغلاق + Minimize تصغير + Maximize تكبير + Restore استعادة + Close All إغلاق الكل + Close Others إغلاق الأخرى + Save حفظ + Save As… حفظ باسم… + Save a Copy… حفظ نسخة… + Save… حفظ… + Revert رجوع + Import استيراد + Import Presets استيراد إعدادات مسبقة + Export As… تصدير باسم… + Export تصدير + Export… تصدير… + Quick Export As PNG تصدير سريع بصيغة PNG + Quick Export as PNG تصدير سريع بصيغة PNG + Place Embedded… وضع ككائن مضمّن… + Place Linked… وضع ككائن مرتبط… + Package… حزم… + Save for Web (Legacy)… حفظ للويب (قديم)… + Generate توليد + Image Assets أصول الصور + +# Edit + Undo تراجع + Redo إعادة + Fade… تلاشي… + Cut قص + Copy نسخ + Copy Merged نسخ مدمج + Paste لصق + Paste Special لصق خاص + Paste Into لصق داخل + Paste Outside لصق خارج + Paste in Place لصق في المكان + Clear مسح + Search بحث + Search… بحث… + Check Spelling… تدقيق إملائي… + Fill… تعبئة… + Stroke… حدود… + Content-Aware Fill… تعبئة واعية بالمحتوى… + Delete and Fill Selection حذف وتعبئة التحديد + Define Brush Preset… تعريف إعداد فرشاة… + Define Pattern… تعريف نمط… + Define Custom Shape… تعريف شكل مخصص… + Purge إفراغ + +# Image + Image Size… حجم الصورة… + Image Size حجم الصورة + Canvas Size… حجم اللوحة… + Image Rotation تدوير الصورة + Rotate 90° Clockwise تدوير 90° باتجاه عقارب الساعة + Rotate 90° Counter Clockwise تدوير 90° عكس عقارب الساعة + Rotate 180° تدوير 180° + Flip Canvas Horizontal قلب اللوحة أفقيًا + Flip Canvas Vertical قلب اللوحة عموديًا + Crop قص + Crop and Straighten Photos قص وتصويب الصور + Trim… تشذيب… + Reveal All إظهار الكل + Hide Selection إخفاء التحديد + Auto Tone تلقائي للنغمة + Auto Contrast تلقائي للتباين + Auto Color تلقائي للألوان + Adjustments تعديلات + 16 Bits/Channel 16 بت/قناة + 32 Bits/Channel 32 بت/قناة + 8 Bits/Channel 8 بت/قناة + 8 bit 8 بت + Integer عدد صحيح + 16 bit 16 بت + 32 bit (float) 32 بت (عشري) + Floating point فاصلة عائمة + Mode وضع + Grayscale تدرج رمادي + RGB Color ألوان RGB + CMYK Color ألوان CMYK + Lab Color ألوان Lab + Indexed Color ألوان مفهرسة + Multichannel متعدد القنوات + Bitmap… صورة نقطية… + Bitmap صورة نقطية + Duotone… ثنائي اللون… + Duotone ثنائي اللون + Trap… محاذاة… + +# Layer + Layer via Copy طبقة عبر النسخ + Layer via Cut طبقة عبر القص + Duplicate Layer… تكرار الطبقة… + Duplicate… تكرار… + Delete حذف + Delete Layer حذف الطبقة + Delete Layers حذف الطبقات + Rename Layer إعادة تسمية الطبقة + Layer From Background… طبقة من الخلفية… + Layer from Background… طبقة من الخلفية… + Background from Layer خلفية من طبقة + Background From Layer خلفية من طبقة + Group Layers تجميع الطبقات + Group… تجميع… + Ungroup Layers فك تجميع الطبقات + Group from Layers… مجموعة من الطبقات… + Hide Layers إخفاء الطبقات + Arrange ترتيب + Bring to Front إحضار إلى الأمام + Bring Forward تقديم + Send Backward إرسال للخلف + Send to Back إرسال إلى الخلف + Convert to Smart Object تحويل إلى كائن ذكي + Convert for Smart Filters تحويل لعوامل تصفية ذكية + New Smart Object via Copy كائن ذكي جديد عبر النسخ + Edit Contents تحرير المحتويات + Replace Contents… استبدال المحتويات… + Export Contents… تصدير المحتويات… + Rasterize تحويل إلى نقطي + Rasterize Type تحويل النص إلى نقطي + Rasterize Shape تحويل الشكل إلى نقطي + Rasterize Layer تحويل الطبقة إلى نقطي + Rasterize Layers تحويل الطبقات إلى نقطي + New Adjustment Layer طبقة تعديل جديدة + New Fill Layer طبقة تعبئة جديدة + Layer Mask قناع الطبقة + Add Layer Mask إضافة قناع طبقة + Delete Layer Mask حذف قناع الطبقة + Enable Layer Mask تمكين قناع الطبقة + Disable Layer Mask تعطيل قناع الطبقة + Apply Layer Mask تطبيق قناع الطبقة + Link Layer Mask ربط قناع الطبقة + Unlink Layer Mask فك ربط قناع الطبقة + Vector Mask قناع متجه + Add Vector Mask إضافة قناع متجه + Delete Vector Mask حذف قناع متجه + Enable Vector Mask تمكين قناع متجه + Link Vector Mask ربط قناع متجه + Create Clipping Mask إنشاء قناع قص + Release Clipping Mask تحرير قناع القص + New Shape Layer طبقة شكل جديدة + New Type Layer طبقة نص جديدة + New Video Layer from File… طبقة فيديو جديدة من ملف… + New Blank Video Layer طبقة فيديو فارغة جديدة + Smart Filters عوامل تصفية ذكية + Delete Smart Filters حذف عوامل التصفية الذكية + Enable Smart Filters تمكين عوامل التصفية الذكية + Disable Smart Filters تعطيل عوامل التصفية الذكية + Clear Smart Filters مسح عوامل التصفية الذكية + Delete Filter Mask حذف قناع عامل التصفية + Disable Filter Mask تعطيل قناع عامل التصفية + New Layer Based Slice شريحة جديدة مبنية على الطبقة + Layer Style نمط الطبقة + Blending Options… خيارات الدمج… + Blending Options خيارات الدمج + Drop Shadow… ظل مسقط… + Inner Shadow… ظل داخلي… + Outer Glow… توهج خارجي… + Inner Glow… توهج داخلي… + Bevel & Emboss… حافة ونقش… + Use Global Light استخدام ضوء عام + Satin… ساتان… + Color Overlay… تراكب لوني… + Gradient Overlay… تراكب تدرج… + Pattern Overlay… تراكب نمط… + Bevel & Emboss حافة ونقش + Inner Shadow ظل داخلي + Inner Glow توهج داخلي + Satin ساتان + Color Overlay تراكب لوني + Gradient Overlay تراكب تدرج + Pattern Overlay تراكب نمط + Outer Glow توهج خارجي + Drop Shadow ظل مسقط + Copy Layer Style نسخ نمط الطبقة + Paste Layer Style لصق نمط الطبقة + Clear Layer Style مسح نمط الطبقة + Layer Content Options… خيارات محتوى الطبقة… + Scale Effects… تحجيم التأثيرات… + New Layer… طبقة جديدة… + Delete Layer… حذف الطبقة… + +# Type + Font خط + Font Preview Size حجم معاينة الخط + Orientation اتجاه + Horizontal أفقي + Vertical عمودي + Rasterize Type Layer تحويل طبقة النص إلى نقطي + Create Work Path إنشاء مسار عمل + Convert to Shape تحويل إلى شكل + Convert to Paragraph Text تحويل إلى نص فقرة + Convert to Point Text تحويل إلى نص نقطي + Warp Text… تشويه النص… + Character Panel لوحة المحارف + Paragraph Panel لوحة الفقرة + Check Spelling تدقيق إملائي + Language Options خيارات اللغة + Find and Replace Text… بحث واستبدال النص… + Paste Lorem Ipsum لصق نص لوريم إيبسوم + Glyphs Panel لوحة المحارف الرسومية + Type Styles أنماط النص + Character Styles أنماط المحارف + Paragraph Styles أنماط الفقرات + Load Default Type Styles تحميل أنماط النص الافتراضية + Save Default Type Styles حفظ أنماط النص الافتراضية + Type… نص… + +# Select + All الكل + Deselect إلغاء التحديد + Reselect إعادة التحديد + Inverse Selection عكس التحديد + Inverse عكس + Color Range… نطاق الألوان… + Select and Mask… تحديد وقناع… +# Select and Mask dialog labels + Smart Radius نصف قطر ذكي + Shift Edge إزاحة الحافة + Decontaminate إزالة التلوث + Output إخراج + Refine Edge تحسين الحافة + Select Subject تحديد الموضوع + Sky سماء + Focus Area… منطقة تركيز… + Subject موضوع + Color Range نطاق الألوان + Similar مشابه + Grow توسيع + Select Similar Colors تحديد الألوان المشابهة + Load Selection… تحميل تحديد… + Save Selection… حفظ تحديد… + New Selection تحديد جديد + Select All تحديد الكل + Deselect All إلغاء تحديد الكل + Deselect Layers إلغاء تحديد الطبقات + Find Layers بحث عن الطبقات + Isolate Layers عزل الطبقات + Select Linked Layers تحديد الطبقات المرتبطة + All Layers كل الطبقات + Current & Below الحالي وما تحته + Current Layer الطبقة الحالية + Refine Strokes تحسين الحدود + +# Filter + Last Filter آخر عامل تصفية + Filter Gallery… معرض عوامل التصفية… + Liquify… إسالة… + Camera Raw Filter… عامل تصفية Camera Raw… + Adaptive Wide Angle… زاوية واسعة تكيفية… + Lens Correction… تصحيح العدسة… + Vanishing Point… نقطة التلاشي… + Oil Paint… طلاء زيتي… + Blur Gallery معرض التمويه + Field Blur… تمويه ميداني… + Iris Blur… تمويه القزحية… + Tilt-Shift… إزاحة ميل… + Path Blur… تمويه المسار… + Spin Blur… تمويه الدوران… + Auto-Align Layers… محاذاة تلقائية للطبقات… + Auto-Blend Layers… دمج تلقائي للطبقات… + Photomerge… دمج الصور… + Content-Aware Scale تحجيم واعٍ بالمحتوى + Adaptive Wide Angle زاوية واسعة تكيفية + Apply Image… تطبيق صورة… + Calculations… حسابات… + Crystallize… تبلور… + Facet أوجه + Fragment شظايا + Mosaic… فسيفساء… + Pointillize… تنقيط… + Chalk & Charcoal طباشير وفحم + Charcoal فحم + Chrome كروم + Conté Crayon قلم كونتي + Graphic Pen قلم رسومي + Halftone Pattern نمط نصف نغمي + Note Paper ورق ملاحظات + Photocopy نسخ ضوئي + Plaster جبس + Reticulation تشبيك + Stamp ختم + Torn Edges حواف ممزقة + Water Paper ورق مبلل + Clouds غيوم + Difference Clouds غيوم فرقية + Fibers… ألياف… + Lens Flare… انعكاس العدسة… + Picture Frame… إطار صورة… + Tree… شجرة… + Flame… لهب… + Sharpen Edges حدة الحواف + Dust & Scratches… غبار وخدوش… + Noise ضوضاء + Add Noise… إضافة ضوضاء… + Reduce Noise… تقليل الضوضاء… + Despeckle إزالة البقع + Median… وسيط… + Median وسيط + Maximum… أقصى… + Maximum أقصى + Minimum… أدنى… + Minimum أدنى + Custom… مخصص… + High Pass… مرور عالٍ… + Emboss… نقش… + Extrude… بثق… + Find Edges إيجاد الحواف + Solarize تشمس + Tiles… بلاطات… + Trace Contour… تتبع الكنتور… + Wind… رياح… + Offset… إزاحة… + Pinch… قرص… + Polar Coordinates… إحداثيات قطبية… + Ripple… تمويج… + Shear… قص… + Spherize… تكوير… + Twirl… التواء… + Wave… موجة… + ZigZag… متعرج… + Average متوسط + Blur More تمويه إضافي + Box Blur… تمويه صندوقي… + Gaussian Blur… تمويه غاوسي… + Motion Blur… تمويه حركة… + Radial Blur… تمويه شعاعي… + Shape Blur… تمويه شكل… + Smart Blur… تمويه ذكي… + Surface Blur… تمويه سطحي… + Sharpen حدة + Sharpen More حدة إضافية + Unsharp Mask… قناع عدم الحدة… + Smart Sharpen… حدة ذكية… + Diffuse… انتشار… + Mezzotint… ميزوتينت… + Color Halftone… نصف نغمي ملون… + Layer… طبقة… + +# View + Proof Setup إعداد الإثبات + Proof Colors ألوان الإثبات + Pixel Aspect Ratio نسبة أبعاد البكسل + Pixel Aspect Ratio Correction تصحيح نسبة أبعاد البكسل + Zoom In تكبير + Zoom Out تصغير + Fit on Screen ملاءمة الشاشة + 100% 100% + 200% 200% + 75% 75% + 80% 80% + 85% 85% + 90% 90% + 95% 95% + 125% 125% + 150% 150% + 175% 175% + 250% 250% + 300% 300% + Print Size حجم الطباعة + Screen Mode وضع الشاشة + Standard Screen Mode وضع الشاشة القياسي + Full Screen Mode With Menu Bar وضع ملء الشاشة مع شريط القوائم + Full Screen Mode وضع ملء الشاشة + Extras عناصر إضافية + Show إظهار + Rulers مساطر + Grid شبكة + Guides دلائل + Slices شرائح + Snap التقاط + Snap To التقاط إلى + Lock Guides قفل الدلائل + Clear Guides مسح الدلائل + New Guide… دليل جديد… + Lock Slices قفل الشرائح + Clear Slices مسح الشرائح + New Guide Layout… تخطيط دليل جديد… + New Guides From Shape دلائل جديدة من الشكل + Canvas rotation تدوير اللوحة + Zoom in تكبير + Zoom out تصغير + +# Window + Cascade متراكب + Tile مبلط + 2-up Horizontal 2 أفقي + 3-up Horizontal 3 أفقي + 2-up Vertical 2 عمودي + 3-up Vertical 3 عمودي + 3-up Stacked 3 مكدس + 4-up 4 + 6-up 6 + Consolidate All to Tabs دمج الكل في تبويبات + Match Zoom مطابقة التكبير + Match Location مطابقة الموقع + Match Rotation مطابقة التدوير + Match All مطابقة الكل + New Window for Document نافذة جديدة للمستند + Workspace مساحة عمل + Extensions إضافات + Panels لوحات + Actions إجراءات + Brush Settings إعدادات الفرشاة + Brushes فرش + Channels قنوات + Character محارف + Clone Source مصدر النسخ + Color Mixer خلاط الألوان + Glyphs محارف رسومية + Gradients تدرجات + Histogram مدرج تكراري + History سجل + Info معلومات + Layer Comps تركيبات الطبقات + Layers طبقات + Measurement Log سجل القياسات + Notes ملاحظات + Navigator ملاح + Paragraph فقرة + Paths مسارات + Patterns أنماط + Properties خصائص + Styles أنماط + Swatches عينات + Timeline خط زمني + Tool Presets إعدادات الأدوات + Tools أدوات + Libraries مكتبات + 3D 3D + Toolbars أشرطة أدوات + Hide All إخفاء الكل + +# Help + About PhotoCraft حول PhotoCraft + PhotoCraft Website موقع PhotoCraft + PhotoCraft on GitHub PhotoCraft على GitHub + Report an Issue… الإبلاغ عن مشكلة… + ArtCraft Website موقع ArtCraft + Join the ArtCraft Discord… انضم إلى Discord ArtCraft… + System Info… معلومات النظام… + +# Tools and options bar + Move نقل + Marquee تحديد + Lasso حبل + Wand عصا سحرية + Eyedropper قطارة + Brush فرشاة + Block مربع + Pencil قلم رصاص + Eraser ممحاة + Clone Stamp ختم النسخ + Healing معالجة + Blur تمويه + Dodge تفتيح + Burn تغميق + Gradient تدرج + Shape شكل + Pen قلم + Hand يد + Zoom تكبير + Sampler أداة أخذ عينات + Ruler Tool أداة المسطرة + Count Tool أداة العد + Note tool أداة الملاحظات + Quick Selection تحديد سريع + Magnetic Lasso حبل مغناطيسي + Mixer Brush فرشاة خلط + Mixer Brush Tool أداة فرشاة الخلط + Color Replacement Tool أداة استبدال اللون + History Brush فرشاة السجل + Art History Brush فرشاة سجل الفن + Pattern Stamp ختم النمط + Spot Healing معالجة موضعية + Red Eye عين حمراء + Patch رقعة + Content-Aware Move نقل واعٍ بالمحتوى + Rotate View تدوير العرض + Perspective Crop قص منظوري + Color Replacement استبدال اللون + Dodge/Burn تفتيح/تغميق + Foreground مقدمة + Background خلفية + Set foreground color تعيين لون المقدمة + Set background color تعيين لون الخلفية + Swap colours (X) تبديل الألوان (X) + Default colours (D) الألوان الافتراضية (D) + Brush Tool Options خيارات أداة الفرشاة + Opacity عتامة + Flow تدفق + Smoothing تنعيم + Size حجم + Hardness صلابة + Angle: زاوية: + Roundness: استدارة: + Spacing تباعد + Dynamics ديناميكيات + Pressure ضغط + Tilt ميل + Rotation تدوير + Align محاذاة + Aligned محاذي + +# Panels, dialogs and common widgets + OK موافق + Cancel إلغاء + Cancel (Esc) إلغاء (Esc) + Done تم + Apply تطبيق + Reset إعادة تعيين + Reset Section إعادة تعيين القسم + Reset All to Defaults إعادة تعيين الكل إلى الافتراضي + Import Shortcuts… استيراد اختصارات… + Load a keyboard shortcut set saved as .kys تحميل مجموعة اختصارات محفوظة بصيغة .kys + Imported {n} shortcuts from {file}. Click OK to keep them. تم استيراد {n} اختصارًا من {file}. انقر موافق للاحتفاظ بها. + {n} commands are not in PhotoCraft. {n} أمرًا غير موجود في PhotoCraft. + Keyboard shortcuts imported تم استيراد اختصارات لوحة المفاتيح + Your keyboard shortcut set {set} is in use here: {n} shortcuts differ from the defaults. Edit › Keyboard Shortcuts shows them; Reset All to Defaults undoes this. مجموعة الاختصارات {set} قيد الاستخدام هنا: {n} اختصارًا تختلف عن الافتراضي. يعرضها تحرير › اختصارات لوحة المفاتيح؛ «إعادة تعيين الكل إلى الافتراضي» يلغي هذا. + Import keyboard shortcuts? استيراد اختصارات لوحة المفاتيح؟ + PhotoCraft found your keyboard shortcut set {set} from another image editor on this computer: {n} of its shortcuts differ from PhotoCraft's. Import it? وجد PhotoCraft مجموعة الاختصارات {set} من محرر صور آخر على هذا الكمبيوتر: {n} من اختصاراتها تختلف عن PhotoCraft. استيرادها؟ + Edit › Keyboard Shortcuts › Reset All to Defaults undoes an import. تحرير › اختصارات لوحة المفاتيح › «إعادة تعيين الكل إلى الافتراضي» يلغي الاستيراد. + Don't Import عدم الاستيراد + The keyboard shortcut set was not imported: {error} لم يتم استيراد مجموعة اختصارات لوحة المفاتيح: {error} + Defaults restored. تمت استعادة الإعدادات الافتراضية. + Restore Defaults استعادة الافتراضي + Restore original size استعادة الحجم الأصلي + Use Default استخدام الافتراضي + Dismiss إغلاق + Preview معاينة + Options خيارات + Settings… إعدادات… + Rename… إعادة تسمية… + Load… تحميل… + Define… تعريف… + Custom مخصص + Default افتراضي + None لا شيء + Add إضافة + Remove إزالة + Remove Background إزالة الخلفية + Rename إعادة تسمية + Ignore تجاهل + Ignore All تجاهل الكل + Change تغيير + Change All تغيير الكل + Next frame الإطار التالي + Previous frame الإطار السابق + Play تشغيل + Pause إيقاف مؤقت + Stop إيقاف + Begin recording بدء التسجيل + Stop playing/recording إيقاف التشغيل/التسجيل + Record ● a sequence of edits, then play ▶ it on any document. سجّل ● تسلسلًا من التعديلات، ثم شغّله ▶ على أي مستند. + Create new action إنشاء إجراء جديد + Play selection تشغيل التحديد + Create new set إنشاء مجموعة جديدة + Export selected measurements (CSV) تصدير القياسات المحددة (CSV) + Record Measurements تسجيل القياسات + Delete selected measurements حذف القياسات المحددة + Select Data Points… تحديد نقاط البيانات… + Set Measurement Scale… تعيين مقياس القياس… + Use Measurement Scale استخدام مقياس القياس + +# Preferences dialog + Preferences تفضيلات + General… عام… + Interface… واجهة… + File Handling… معالجة الملفات… + Performance… الأداء… + Cursors… المؤشرات… + Transparency & Gamut… الشفافية ونطاق الألوان… + Units & Rulers… الوحدات والمساطر… + Guides, Grid & Slices… الدلائل والشبكة والشرائح… + Plug-ins… الإضافات… + Technology Previews معاينات التقنية + Scratch Disks… أقراص مؤقتة… + Export Preferences… تصدير التفضيلات… + Keyboard Shortcuts… اختصارات لوحة المفاتيح… + Menus… قوائم… + Export/Import Presets… تصدير/استيراد إعدادات مسبقة… + Additional plugins folder مجلد إضافات إضافي + Install Plug-in… تثبيت إضافة… + Export Presets تصدير إعدادات مسبقة + Import brushes (.abr) استيراد فرش (.abr) + Migrate Presets ترحيل الإعدادات المسبقة + Thumbnail size (smallest: list) حجم الصورة المصغرة (الأصغر: قائمة) + Reset GPU Backend إعادة تعيين خلفية GPU + Applies at next launch. يُطبق عند التشغيل التالي. + +# Document and canvas status bar + Untitled بلا عنوان + Untitled-1 بلا عنوان-1 + Doc: {flat}/{layered} مستند: {flat}/{layered} + Scratch: {size} مؤقت: {size} + Efficiency: 100% الكفاءة: 100% + Dimensions: الأبعاد: + Width عرض + Slant ميل + Height ارتفاع + Width: عرض: + Height: ارتفاع: + Resolution دقة + Resolution: دقة: + Resolution: {dpi} pixels/inch الدقة: {dpi} بكسل/بوصة + {w} px x {h} px ({ppi} ppi) {w} بكسل × {h} بكسل ({ppi} ppi) + {w} {unit} x {h} {unit} ({ppi} ppi) {w} {unit} × {h} {unit} ({ppi} ppi) + Pixels: بكسلات: + Pixel Length: طول البكسل: + Logical Length: الطول المنطقي: + Logical Units: الوحدات المنطقية: + Length: الطول: + Interpolation: استيفاء: + Resample إعادة أخذ العينات + Constrain proportions تثبيت النسب + Link width and height ربط العرض والارتفاع + Maintain aspect ratio الحفاظ على نسبة الأبعاد + Current Size الحجم الحالي + New Size الحجم الجديد + Fit ملاءمة + Percent نسبة مئوية + Pixels/Inch بكسل/بوصة + Pixels/Centimeter بكسل/سم + Relative نسبي + Canvas extension color: لون توسيع اللوحة: + Anchor: مرساة: + Both Axes كلا المحورين + Horizontally أفقيًا + Vertically عموديًا + +# Layers panel + Layers to Files… الطبقات إلى ملفات… + Duplicate Layers… تكرار الطبقات… + Group name اسم المجموعة + New Group مجموعة جديدة + Layer Comp تركيبة طبقة + Create new layer إنشاء طبقة جديدة + Create new group إنشاء مجموعة جديدة + Create new channel إنشاء قناة جديدة + Create new path إنشاء مسار جديد + Toggle visibility تبديل الظهور + Clipped مقصوص + Group · {n} layer مجموعة · {n} طبقة + Lock: keep these settings when picking another preset قفل: الاحتفاظ بهذه الإعدادات عند اختيار إعداد مسبق آخر + Unlock: picking a preset replaces these settings فتح: اختيار إعداد مسبق يستبدل هذه الإعدادات + Show the layer's effects ({key}-click: all layers) إظهار تأثيرات الطبقة (النقر مع {key}: كل الطبقات) + Hide the layer's effects ({key}-click: all layers) إخفاء تأثيرات الطبقة (النقر مع {key}: كل الطبقات) + Expand group ({key}-click: all groups) توسيع المجموعة (النقر مع {key}: كل المجموعات) + Collapse group ({key}-click: all groups) طي المجموعة (النقر مع {key}: كل المجموعات) + Effects تأثيرات + Blending دمج + Blend If دمج إذا + General Blend دمج عام + Advanced Blending دمج متقدم + Opacity: عتامة: + Fill: تعبئة: + Lock: قفل: + Smart Filter عامل تصفية ذكي + Fill Content محتوى التعبئة + Adjustment Preview معاينة التعديل + +# Channels panel + Channel: قناة: + Channel Mixer… خلاط القنوات… + Output Channel: قناة الإخراج: + RGB RGB + Red أحمر + Green أخضر + Blue أزرق + Alpha ألفا + Load channel as selection تحميل القناة كتحديد + Save selection as channel حفظ التحديد كقناة + Delete current channel حذف القناة الحالية + Spot Channel قناة موضعية + Mask All قناع الكل + Mask All Objects قناع كل الكائنات + +# Color picker and swatches + Color لون + Color: لون: + Colors ألوان + HSB/HSL HSB/HSL + No Color بلا لون + Set shape fill type تعيين نوع تعبئة الشكل + Set shape stroke type تعيين نوع حدود الشكل + Set the text color تعيين لون النص + Only Web Colors ألوان الويب فقط + Overlay Color لون التراكب + Overlay Opacity عتامة التراكب + Glow Color لون التوهج + Web Snap التقاط الويب + +# Filters and adjustments dialogs + Brightness سطوع + Contrast تباين + Brightness/Contrast… سطوع/تباين… + Levels… مستويات… + Curves… منحنيات… + Curve منحنى + Exposure… تعريض… + Exposure تعريض + Vibrance… اهتزاز… + Vibrance اهتزاز + Hue/Saturation… تدرج/تشبع… + Hue تدرج + Saturation تشبع + Lightness إضاءة + Color Balance… توازن الألوان… + Black & White… أبيض وأسود… + Photo Filter… عامل تصفية صور… + Color Lookup… بحث لوني… + Color Lookup Tables… جداول البحث اللوني… + 3D LUT File ملف 3D LUT + Load 3D LUT… تحميل 3D LUT… + Invert… عكس… + Invert عكس + Invert has no settings. «عكس» ليس له إعدادات. + Threshold… عتبة… + Threshold Level مستوى العتبة + Posterize… ملصق… + Gradient Map… خريطة تدرج… + Selective Color… لون انتقائي… + Match Color… مطابقة اللون… + Replace Color… استبدال اللون… + Equalize تسوية + HDR Toning… تلوين HDR… + Shadows/Highlights… ظلال/إبرازات… + Amount مقدار + Radius نصف قطر + Radius: نصف قطر: + Tolerance: تفاوت: + Density كثافة + Density: كثافة: + Feather تنعيم + Feather… تنعيم… + Anti-alias إزالة التسنن + Anti-Alias إزالة التسنن + Contiguous متصل + Sample All Layers أخذ عينات من كل الطبقات + Protect Foreground Color حماية لون المقدمة + Matte حافة + Matting إزالة الحواف + Color Decontaminate… إزالة التلوث اللوني… + Remove Black Matte إزالة الحافة السوداء + Remove White Matte إزالة الحافة البيضاء + Defringe… إزالة الحواف… + Source مصدر + Working CMYK CMYK التشغيلي + Working Cyan Plate صفيحة سماوية تشغيلية + Working Magenta Plate صفيحة أرجوانية تشغيلية + Working Yellow Plate صفيحة صفراء تشغيلية + Working Black Plate صفيحة سوداء تشغيلية + Working Gray Plate صفيحة رمادية تشغيلية + +# Camera Raw and lens dialogs + Basic أساسي + Detail تفاصيل + HSL/Grayscale HSL/تدرج رمادي + Tone Curve منحنى النغمة + Split Toning تلوين منقسم + Lens Corrections تصحيحات العدسة + Camera Calibration معايرة الكاميرا + Presets إعدادات مسبقة + Snapshots لقطات + Temperature درجة حرارة + Tint صبغة + Exposure: تعريض: + Recovery استرداد + Fill Light ضوء مالئ + Blacks سود + Clarity وضوح + Convert to Grayscale تحويل إلى تدرج رمادي + Auto تلقائي + Auto collapse icon panels طي لوحات الأيقونات تلقائيًا + Auto show hidden panels إظهار اللوحات المخفية تلقائيًا + Auto show home screen إظهار الشاشة الرئيسية تلقائيًا + Sharpness حدة + Noise Reduction تقليل الضوضاء + Color Noise Reduction تقليل ضوضاء الألوان + Luminance Detail تفاصيل الإضاءة + Color Detail تفاصيل الألوان + Luminance Smoothness نعومة الإضاءة + Vignetting تظليل حواف + White Balance: As Shot توازن أبيض: كما تم التصوير + Camera Raw… Camera Raw… + Camera Raw isn't open Camera Raw غير مفتوح + Dehaze إزالة الضباب + Texture نسيج + Focal Length طول بؤري + Make الشركة المصنعة + Model الطراز + Lens عدسة + F F + ISO ISO + Focal Length35mm طول بؤري (35 مم) + Aspect Ratio نسبة الأبعاد + Time وقت + Artist فنان + Copyright حقوق النشر + Enter description… أدخل وصفًا… + Adobe RGB (1998) compatible متوافق مع Adobe RGB (1998) + Gray Gamma 2.2 رمادي غاما 2.2 + ColorSync ColorSync + ProPhoto ProPhoto + sRGB sRGB + ACES ACES + Industry Standard معيار صناعي + Web ويب + Internet Standard RGB RGB قياسي للإنترنت + Legacy Macintosh RGB RGB Macintosh قديم + Monitor RGB RGB الشاشة + Windows LCD Windows LCD + Coated CMYK CMYK مصقول + Uncoated CMYK CMYK غير مصقول + Newspaper صحيفة + Working Spaces مساحات عمل + Color Management Policies سياسات إدارة الألوان + Convert document's colors to the working space تحويل ألوان المستند إلى مساحة العمل + Assign working space تعيين مساحة عمل + Use the embedded profile (instead of the working space) استخدام الملف المضمّن (بدلًا من مساحة العمل) + Leave as is (don't color manage) اتركه كما هو (بدون إدارة ألوان) + Discard the embedded profile (don't color manage) تجاهل الملف المضمّن (بدون إدارة ألوان) + Embed Color Profile ضمّن ملف تعريف الألوان + Assign Profile… تعيين ملف تعريف… + Convert to Profile… تحويل إلى ملف تعريف… + PhotoCraft Manages Colors PhotoCraft يدير الألوان + Printer Manages Colors الطابعة تدير الألوان + (print to the printer) (طباعة إلى الطابعة) + Absolute Colorimetric قياس لوني مطلق + Relative Colorimetric قياس لوني نسبي + Perceptual إدراكي + Black Point Compensation تعويض النقطة السوداء + Use Legacy استخدام القديم + Dither تنقيط + No Dither بدون تنقيط + Diffusion انتشار + Pattern نمط + Fuzziness: ضبابية: + Range: نطاق: + Select: تحديد: + Detect Faces كشف الوجوه + Localize Color Clusters توطين مجموعات الألوان + Sample: عينة: + Add to Sample إضافة إلى العينة + Subtract from Sample طرح من العينة + Selections تحديدات + Duplicated selection name اسم التحديد المكرر + Operation عملية + New channel only قناة جديدة فقط + Masked Areas مناطق مقنّعة + Selected Areas مناطق محددة + Spot Color لون موضعي + Color indicates اللون يشير إلى + +# Adjustments panel + Curves منحنيات + Levels مستويات + Color Balance توازن الألوان + Black & White أبيض وأسود + Photo Filter عامل تصفية صور + Color Lookup بحث لوني + Threshold عتبة + Posterize ملصق + Brightness/Contrast سطوع/تباين + Channel Mixer خلاط القنوات + Gradient Map خريطة تدرج + Selective Color لون انتقائي + +# History panel + History Log… سجل التاريخ… + Create Snapshot إنشاء لقطة + Delete Snapshot حذف لقطة + New Snapshot لقطة جديدة + Snapshot 1 لقطة 1 + Step Forward خطوة للأمام + Step Backward خطوة للخلف + Histories سجلات + Nonlinear History سجل غير خطي + Set New Snapshot as Default تعيين اللقطة الجديدة كافتراضية + Automatically Create First Snapshot إنشاء أول لقطة تلقائيًا + Automatically Create New Snapshot When Saving إنشاء لقطة جديدة تلقائيًا عند الحفظ + Show New Snapshot Dialog by Default إظهار مربع حوار اللقطة الجديدة افتراضيًا + Clear History مسح السجل + +# Navigator panel + Panel Options… خيارات اللوحة… + View menu قائمة عرض + Keep view in sync إبقاء العرض متزامنًا + {zoom}% {zoom}% + +# Brush Settings panel + Brush name اسم الفرشاة + Brush Preview معاينة الفرشاة + Brush Tip Shape شكل رأس الفرشاة + Shape Dynamics ديناميكيات الشكل + Scattering تشتيت + Dual Brush فرشاة مزدوجة + Color Dynamics ديناميكيات الألوان + Transfer نقل + Brush Pose وضعية الفرشاة + Mouse Controls تحكم الفأرة + Wet Edges حواف مبللة + Build-up تراكم + Protect Texture حماية النسيج + Blend Mode وضع الدمج + Size Jitter اهتزاز الحجم + Minimum Diameter أدنى قطر + Tilt Scale مقياس الميل + Angle Jitter اهتزاز الزاوية + Roundness Jitter اهتزاز الاستدارة + Minimum Roundness أدنى استدارة + Flip X Jitter اهتزاز قلب X + Flip Y Jitter اهتزاز قلب Y + Brush Projection إسقاط الفرشاة + Control: تحكم: + Off: the speed of the pointer sets the spacing إيقاف: سرعة المؤشر تحدد التباعد + Fade steps خطوات التلاشي + Pen Pressure ضغط القلم + Pen Tilt ميل القلم + Stylus Wheel عجلة القلم + Initial Direction of Stroke الاتجاه الأولي للحد + Direction of Stroke اتجاه الحد + Opacity Jitter اهتزاز العتامة + Flow Jitter اهتزاز التدفق + Humidity رطوبة + Load تحميل + Mix خلط + Auto Clean Brush تنظيف الفرشاة تلقائيًا + Wet مبلل + Rate معدل + Airbrush: keeps depositing paint while the pointer rests. فرشاة هوائية: تستمر في وضع الطلاء أثناء سكون المؤشر. + Pulled String Mode وضع السلسلة المشدودة + Catch-up on Stroke End اللحاق عند نهاية الحد + Adjust for Zoom ضبط حسب التكبير + Apply Per Tip تطبيق لكل رأس + Hardness: صلابة: + Spacing: تباعد: + Size: حجم: + Flip X قلب X + Flip Y قلب Y + Brush Tip رأس الفرشاة + Diameter: قطر: + New Layer from Brush طبقة جديدة من الفرشاة + Rename Brush… إعادة تسمية الفرشاة… + Delete Brush حذف الفرشاة + Import Brushes… استيراد فرش… + Brush Name اسم الفرشاة + Brush Stroke حد الفرشاة + New Brush Preset… إعداد فرشاة جديد… + Brush Preset Options خيارات إعداد الفرشاة + New Brush فرشاة جديدة + Create new brush from these settings إنشاء فرشاة جديدة من هذه الإعدادات + Update the current brush with these settings تحديث الفرشاة الحالية بهذه الإعدادات + Reset the brush to the defaults إعادة الفرشاة إلى الافتراضي + No brush presets لا توجد إعدادات فرشاة + Override Pressure تجاوز الضغط + Override Tilt تجاوز الميل + Override Rotation تجاوز التدوير + Apply the pen's tilt and rotation to the tip shape تطبيق ميل القلم وتدويره على شكل الرأس + +# Tool presets + Preset Type نوع الإعداد المسبق + Preset Manager… مدير الإعدادات المسبقة… + Rename Tool Preset… إعادة تسمية إعداد الأداة… + Delete Tool Preset حذف إعداد الأداة + New Tool Preset إعداد أداة جديد + Create new tool preset إنشاء إعداد أداة جديد + Current Tool Only الأداة الحالية فقط + No tool presets. لا توجد إعدادات أدوات. + No presets for the current tool. لا توجد إعدادات مسبقة للأداة الحالية. + No presets of this type. لا توجد إعدادات مسبقة من هذا النوع. + Preset: إعداد مسبق: + Preset إعداد مسبق + Presets: إعدادات مسبقة: + +# Paragraph and character panels + Font Size: حجم الخط: + Type: نص: + Style نمط + Style: Normal نمط: عادي + Tracking تتبع + Kerning تقنين + Leading تباعد الأسطر + Auto-Leading تباعد أسطر تلقائي + Scale Horizontally تحجيم أفقي + Scale Vertically تحجيم عمودي + Baseline Shift إزاحة خط الأساس + Language لغة + Anti-aliasing method طريقة إزالة التسنن + Sharp حاد + Crisp واضح + Strong قوي + Smooth ناعم + Mac LCD Mac LCD + Mac Sharp Mac حاد + Mac Crisp Mac واضح + Mac Strong Mac قوي + Mac Smooth Mac ناعم + Faux Bold عريض زائف + Faux Italic مائل زائف + All Caps كل الحروف كبيرة + Small Caps حروف كبيرة صغيرة + Superscript مرتفع + Subscript منخفض + Underline تسطير + Strikethrough يتوسطه خط + Oldstyle أرقام قديمة + Ligature رباط + Alternative بديل + Hyphenate وصل + Roman عادي + Italic مائل + Bold عريض + Bold Italic عريض مائل + Light خفيف + Medium متوسط + Black أسود + Thin رفيع + Ultra Light خفيف جدًا + Extra Light خفيف إضافي + Semi Bold نصف عريض + Extra Bold عريض إضافي + Ultra Bold عريض جدًا + Condensed مضغوط + Left align text محاذاة النص لليسار + Center text توسيط النص + Right align text محاذاة النص لليمين + Justify last left ضبط مع آخر سطر لليسار + Justify last centered ضبط مع آخر سطر للوسط + Justify last right ضبط مع آخر سطر لليمين + Justify all ضبط الكل + Indent Left إزاحة يسار + Indent Right إزاحة يمين + First Line Indent إزاحة السطر الأول + Space Before مسافة قبل + Space After مسافة بعد + Hanging Punctuation ترقيم معلق + Roman Hanging Punctuation ترقيم معلق لاتيني + Avoid Widows/Orphans تجنب السطور اليتيمة + Compose تركيب + Adobe Single-line Composer مركب Adobe أحادي السطر + Adobe Every-line Composer مركب Adobe لكل سطر + Justification ضبط + Word Spacing تباعد الكلمات + Letter Spacing تباعد الحروف + Glyph Scaling تحجيم المحارف + Auto-leading % تباعد أسطر تلقائي % + Single Word Justification ضبط كلمة واحدة + Alignment محاذاة + Indent First إزاحة أولى + Center وسط + Justify ضبط + +# Glyphs panel + Glyph محرف + Select a type layer or click into text to insert glyphs حدد طبقة نص أو انقر داخل النص لإدراج محارف + Entire Font الخط كامل + Alternates for Current Selection بدائل للتحديد الحالي + Recently Used المستخدمة حديثًا + Digits أرقام + Symbols رموز + Punctuation ترقيم + OpenType OpenType + Standard Ligatures أربطة قياسية + Discretionary Ligatures أربطة اختيارية + Contextual Alternates بدائل سياقية + Swash زخرفي + Titling Alternates بدائل العناوين + Ornaments زخارف + Fractions كسور + Ordinals أعداد ترتيبية + East Asian Features ميزات شرق آسيا + Middle Eastern Features ميزات الشرق الأوسط + +# Paths panel + Path مسار + Path: مسار: + Work Path مسار عمل + Path to Illustrator… مسار إلى Illustrator… + Make Work Path إنشاء مسار عمل + Make Selection إنشاء تحديد + Fill Path تعبئة المسار + Stroke Path حدود المسار + Clipping Path مسار قص + New Path مسار جديد + Duplicate Path تكرار المسار + Delete Path حذف المسار + Current Path المسار الحالي + Vector Mask from Current Path قناع متجه من المسار الحالي + Create new shape from the current path إنشاء شكل جديد من المسار الحالي + Drag to move the active shape's path or the Work Path اسحب لنقل مسار الشكل النشط أو مسار العمل + Click: select anchor · Drag: move anchor, handle or segment · {shift}-click: add · {alt}-click: whole subpath نقر: تحديد مرساة · سحب: نقل مرساة أو مقبض أو مقطع · نقر مع {shift}: إضافة · نقر مع {alt}: المسار الفرعي كامل + Draw with the Pen tool (P) or make a work path from a selection. ارسم بأداة القلم (P) أو أنشئ مسار عمل من تحديد. + +# Clone Source panel + Source: not set ({key}-click with Clone Stamp) المصدر: غير معيّن (نقر مع {key} باستخدام ختم النسخ) + Clone source {n} ({key}-click with Clone Stamp to set) مصدر النسخ {n} (نقر مع {key} باستخدام ختم النسخ للتعيين) + {key}-click to set the source نقر مع {key} لتعيين المصدر + Option-click to define a source point to clone from نقر مع Option لتعريف نقطة مصدر للنسخ منها + Show Overlay إظهار التراكب + Auto-Hide إخفاء تلقائي + W ع + H ا + Angle زاوية + Scale مقياس + X X + Y Y + Offset إزاحة + Reset Transform إعادة تعيين التحويل + Rotate تدوير + Flip Horizontal قلب أفقي + Flip Vertical قلب عمودي + Frame Sync مزامنة الإطار + Quick Sync مزامنة سريعة + Enabled ممكّن + +# Timeline panel + Create Video Timeline إنشاء خط زمني للفيديو + Open a document to use the timeline. افتح مستندًا لاستخدام الخط الزمني. + Video Layers طبقات الفيديو + Video فيديو + Audio صوت + Frame Duration مدة الإطار + 30 frames @ 30 fps 30 إطارًا عند 30 إطار/ث + Loop تكرار + Render Video… تصيير فيديو… + Split at Playhead تقسيم عند رأس التشغيل + Delete Timeline حذف الخط الزمني + Reload Frame إعادة تحميل الإطار + Restore Frame استعادة الإطار + Insert Blank Frame إدراج إطار فارغ + Duplicate Frame تكرار الإطار + Delete Frame حذف الإطار + Restore All Frames استعادة كل الإطارات + Flatten Frames Into Clips تسطيح الإطارات في مقاطع + Flatten Frames Into Layers تسطيح الإطارات في طبقات + Convert Frames > Video Layers تحويل الإطارات > طبقات الفيديو + New Video Layer طبقة فيديو جديدة + New Video Group مجموعة فيديو جديدة + Interpret Footage… تفسير المادة… + Replace Footage… استبدال المادة… + Show Altered Video إظهار الفيديو المعدل + Limit Playback تحديد التشغيل + Enable Timeline Quick Config تمكين التكوين السريع للخط الزمني + Set Start Timecode… تعيين رمز وقت البداية… + Timecode رمز الوقت + 30 fps 30 إطار/ث + 25 fps 25 إطار/ث + 24 fps 24 إطار/ث + 15 fps 15 إطار/ث + 10 fps 10 إطار/ث + Current Time الوقت الحالي + Out خارج + In داخل + Duration مدة + Repeat تكرار + Play Once تشغيل مرة واحدة + Video Cache ذاكرة الفيديو المؤقتة + +# Info panel + Info Options… خيارات المعلومات… + First Color Readout قراءة اللون الأولى + Second Color Readout قراءة اللون الثانية + Actual Color اللون الفعلي + Grayscale Slider شريط التدرج الرمادي + Web Color لون الويب + HSB Color لون HSB + Total Ink إجمالي الحبر + Opacity Mask قناع العتامة + Ruler مسطرة + Current Tool الأداة الحالية + Document Size حجم المستند + Document Profile ملف تعريف المستند + Document Dimensions أبعاد المستند + Scratch Sizes أحجام الأقراص المؤقتة + Efficiency الكفاءة + Timing توقيت + Status Information معلومات الحالة + Saved Multichannel متعدد القنوات المحفوظ + Mouse Coordinates إحداثيات الفأرة + Ruler Units وحدات المسطرة + Hide إخفاء + +# Layer Comps panel + Layer Comps to Files… تركيبات الطبقات إلى ملفات… + Apply next selected layer comp تطبيق تركيبة الطبقة المحددة التالية + Apply previous selected layer comp تطبيق تركيبة الطبقة المحددة السابقة + Update layer comp (visibility, position and appearance) تحديث تركيبة الطبقة (الظهور والموضع والمظهر) + New Layer Comp تركيبة طبقة جديدة + Duplicate Layer Comp تكرار تركيبة الطبقة + Delete layer comp حذف تركيبة الطبقة + Rename Layer Comp إعادة تسمية تركيبة الطبقة + Create new layer comp إنشاء تركيبة طبقة جديدة + Capture the visibility, position and style of every layer with + below, then switch between versions. التقط ظهور وموضع ونمط كل طبقة باستخدام + أدناه، ثم بدّل بين الإصدارات. + Apply Layer Comp تطبيق تركيبة الطبقة + Update Layer Comp تحديث تركيبة الطبقة + Restore last viewed comp استعادة آخر تركيبة معروضة + Last Document State حالة المستند الأخيرة + Visibility ظهور + Position موضع + Appearance (Layer Style) مظهر (نمط الطبقة) + +# Analysis and variables + Analysis تحليل + Variables متغيرات + Variable Data Sets… مجموعات بيانات المتغيرات… + Data Sets… مجموعات بيانات… + Data Sets مجموعات بيانات + Data Sets as Files… مجموعات البيانات كملفات… + Apply Data Set… تطبيق مجموعة بيانات… + Define تعريف + + Add variable + إضافة متغير + Remove variable إزالة متغير + Define at least one variable first. عرّف متغيرًا واحدًا على الأقل أولًا. + Open a document to define variables. افتح مستندًا لتعريف المتغيرات. + Variables bind a layer's visibility, text or pixels to a named data slot. تربط المتغيرات ظهور الطبقة أو نصها أو بكسلاتها بفتحة بيانات مسماة. + Pixel Replacement استبدال البكسل + Text Replacement استبدال النص + Name اسم + Method طريقة + Select All Layers تحديد كل الطبقات + Fill تعبئة + Keep proportions الحفاظ على النسب + Interpolation استيفاء + Author: المؤلف: + Author المؤلف + Name: الاسم: + Caption تسمية + Caption Credits اعتمادات التسمية + Description وصف + Keywords كلمات مفتاحية + Copyright Info URL رابط معلومات حقوق النشر + Copyright Status حالة حقوق النشر + Copyrighted محمي بحقوق النشر + Public Domain ملكية عامة + Unknown غير معروف + Copyright and Contact Info حقوق النشر ومعلومات الاتصال + Credit اعتماد + Transmission Reference مرجع الإرسال + Urgency إلحاح + High عالي + Normal عادي + Lossless بلا فقد + Low منخفض + Category فئة + Supplemental Categories فئات إضافية + Object Name / Title اسم الكائن / العنوان + Date Created تاريخ الإنشاء + City مدينة + Location موقع + Province / State مقاطعة / ولاية + Country بلد + Byline سطر المؤلف + Byline Title لقب المؤلف + Phone هاتف + Email بريد إلكتروني + URLs روابط + Last Modified آخر تعديل + EXIF EXIF + GPS GPS + Camera Data بيانات الكاميرا + Camera Model طراز الكاميرا + Camera Make الشركة المصنعة للكاميرا + EXIF Version إصدار EXIF + Exposure Program برنامج التعريض + Aperture فتحة + Shutter Speed سرعة الغالق + Metering Mode وضع القياس + Light Source مصدر الضوء + Flash فلاش + Lens Info معلومات العدسة + ISO Speed سرعة ISO + Subject Distance مسافة الموضوع + DateTime Original التاريخ والوقت الأصلي + Create Date تاريخ الإنشاء + Modify Date تاريخ التعديل + Software برنامج + Raw Data بيانات خام + Version {version} إصدار {version} + Advanced متقدم + Import… استيراد… + +# Automate + Automate أتمتة + Batch… دفعة… + Create Droplet… إنشاء قطيرة… + Create Droplet إنشاء قطيرة + PDF Presentation… عرض PDF… + Create Multiple Picture Packages إنشاء حزم صور متعددة + Contact Sheet II ورقة اتصال II + Contact Sheet II… ورقة اتصال II… + Conditional Mode Change… تغيير الوضع الشرطي… + Fit Image… ملاءمة الصورة… + Picture Package… حزمة صور… + Web Photo Gallery… معرض صور ويب… + Merge to HDR Pro… دمج إلى HDR Pro… + Load Files into Stack… تحميل الملفات في كومة… + Scripts نصوص برمجية + Script Events Manager… مدير أحداث النصوص… + Image Processor… معالج الصور… + Destination وجهة + Choose… اختيار… + Select Folder… تحديد مجلد… + Override Action "Save" Commands تجاوز أوامر «حفظ» في الإجراء + File Naming تسمية الملفات + Compatibility توافق + Windows Windows + Mac OS Mac OS + Unix Unix + Include ICC Profile تضمين ملف ICC + Error File ملف الأخطاء + Stop For Errors التوقف عند الأخطاء + Log Errors To File تسجيل الأخطاء في ملف + Errors أخطاء + +# Color Settings dialog + Color Settings… إعدادات الألوان… + Settings إعدادات + Settings: إعدادات: + Working Space مساحة عمل + RGB: RGB: + CMYK: CMYK: + Gray: رمادي: + Spot: موضعي: + Advanced Controls تحكم متقدم + Desaturate Monitor Colors By تقليل تشبع ألوان الشاشة بمقدار + Blend RGB Colors Using Gamma 1.0 دمج ألوان RGB باستخدام غاما 1.0 + Profile Mismatches: Ask When Opening عدم تطابق ملفات التعريف: السؤال عند الفتح + Ask When Pasting السؤال عند اللصق + Missing Profiles: Ask When Opening ملفات تعريف مفقودة: السؤال عند الفتح + Embed profiles ضمّن ملفات التعريف + Ask Before Saving Saved Embedded السؤال قبل حفظ المضمّن المحفوظ + Coerce to sRGB إجبار إلى sRGB + sRGB IEC61966-2.1 sRGB IEC61966-2.1 + Adobe RGB (1998) Adobe RGB (1998) + ProPhoto RGB ProPhoto RGB + ColorMatch RGB ColorMatch RGB + Wide Gamut RGB Wide Gamut RGB + Apple RGB Apple RGB + NTSC (1953) NTSC (1953) + PAL/SECAM PAL/SECAM + SMPTE C SMPTE C + HDTV (Rec. 709) HDTV (Rec. 709) + CIE RGB CIE RGB + +# Themes + Theme سمة + Switch theme تبديل السمة + Next Theme السمة التالية + Classic Theme السمة الكلاسيكية + Solarized dark Solarized داكن + Solarized Dark Theme سمة Solarized الداكنة + Breeze dark Breeze داكن + Breeze Dark Theme سمة Breeze الداكنة + Breeze light Breeze فاتح + Breeze Light Theme سمة Breeze الفاتحة + Studio Theme سمة Studio + Studio Light Theme سمة Studio الفاتحة + Adwaita Light Theme سمة Adwaita الفاتحة + Adwaita Dark Theme سمة Adwaita الداكنة + Pro Theme سمة Pro + Pro Medium Gray Theme سمة Pro رمادي متوسط + Pro Light Gray Theme سمة Pro رمادي فاتح + Pro Light Theme سمة Pro الفاتحة + +# Workspaces + Workspace… مساحة عمل… + Essentials أساسيات + New Workspace… مساحة عمل جديدة… + Delete Workspace… حذف مساحة العمل… + Reset Workspace إعادة تعيين مساحة العمل + Reset Tool إعادة تعيين الأداة + Reset All Tools إعادة تعيين كل الأدوات + Reset all tools to their default settings? إعادة تعيين كل الأدوات إلى إعداداتها الافتراضية؟ + Lock Workspace قفل مساحة العمل + Photography تصوير + Graphic and web رسومات وويب + Painting رسم + Motion حركة + Minimalistic بسيط + Panel locations are saved in the workspace. Keyboard shortcuts, menus and toolbar are optional. يتم حفظ مواقع اللوحات في مساحة العمل. اختصارات لوحة المفاتيح والقوائم وشريط الأدوات اختيارية. + Keyboard Shortcuts اختصارات لوحة المفاتيح + Keyboard Shortcuts and Menus اختصارات لوحة المفاتيح والقوائم + Menus قوائم + More panels المزيد من اللوحات + More documents المزيد من المستندات + Collapse All Groups طي كل المجموعات + Expand All Groups توسيع كل المجموعات + Collapse طي + Expand توسيع + Collapse Panel Group طي مجموعة اللوحات + Expand Panel Group توسيع مجموعة اللوحات + Close Tab Group إغلاق مجموعة التبويبات + +# New Document dialog + PRESET DETAILS تفاصيل الإعداد المسبق + BLANK DOCUMENT PRESETS ({n}) إعدادات المستند الفارغ المسبقة ({n}) + Create a new document or open an existing file. أنشئ مستندًا جديدًا أو افتح ملفًا موجودًا. + Drop an image or PSD anywhere to open it. أفلت صورة أو PSD في أي مكان لفتحها. + Use File › Open, or paste a copied image with {paste}. استخدم ملف › فتح، أو الصق صورة منسوخة باستخدام {paste}. + Native file drag-and-drop is unavailable السحب والإفلات الأصلي للملفات غير متاح + Native file drag-and-drop is not supported on Wayland yet. Use File › Open, or copy the image in your file manager and paste it with {paste}. السحب والإفلات الأصلي للملفات غير مدعوم على Wayland بعد. استخدم ملف › فتح، أو انسخ الصورة في مدير الملفات والصقها باستخدام {paste}. + To drop files, start PhotoCraft under XWayland: `{command}` لإفلات الملفات، شغّل PhotoCraft تحت XWayland: `{command}` + Or set Preferences › Performance › Linux display server to X11: PhotoCraft then always starts under XWayland. أو اضبط تفضيلات › الأداء › خادم عرض Linux إلى X11: عندئذ يبدأ PhotoCraft دائمًا تحت XWayland. + Edit › Paste تحرير › لصق + Photo صورة + Print طباعة + Art & Illustration فن ورسوم + Mobile جوال + Film & Video فيلم وفيديو + Default PhotoCraft Size حجم PhotoCraft الافتراضي + Clipboard حافظة + Photo (2 × 3 in) صورة (2 × 3 بوصة) + Photo (4 × 6 in) صورة (4 × 6 بوصة) + Photo (5 × 7 in) صورة (5 × 7 بوصة) + Photo (8 × 10 in) صورة (8 × 10 بوصات) + Landscape أفقي + Portrait عمودي + Recent Items عناصر حديثة + Save Preset… حفظ إعداد مسبق… + Delete Preset… حذف إعداد مسبق… + Preset Name: اسم الإعداد المسبق: + Width and Height العرض والارتفاع + Background Contents محتويات الخلفية + White أبيض + Background Color لون الخلفية + Transparent شفاف + Color Mode وضع الألوان + Depth عمق + Color Profile ملف تعريف الألوان + Create إنشاء + Document مستند + Units وحدات + Pixels بكسلات + Inches بوصات + Centimeters سنتيمترات + Millimeters ملليمترات + Points نقاط + Picas بيكا + Columns أعمدة + +# Placeholders, tooltips, status and keyboard hints + {name} options خيارات {name} + Align {what} محاذاة {what} + Untagged {mode} بدون وسم {mode} + Invalid {mode} profile ملف تعريف {mode} غير صالح + Unnamed {mode} profile ملف تعريف {mode} بلا اسم + Constraints ({n}) قيود ({n}) + Count: {n} عدد: {n} + Click to add a point · drag off or {key}-click or Delete to remove انقر لإضافة نقطة · اسحب خارجًا أو انقر مع {key} أو Delete للإزالة + Click to apply, {key}-click to clear overrides, double-click for Style Options انقر للتطبيق، نقر مع {key} لمسح التجاوزات، نقر مزدوج لخيارات النمط + Click: corner · Drag: smooth · Click first point: close · {key} finish · Esc cancel نقر: زاوية · سحب: ناعم · نقر أول نقطة: إغلاق · {key} إنهاء · Esc إلغاء + Click: corner · Drag: smooth · {alt}-drag: break handle · Click or drag first point: close · {key} finish · Esc cancel نقر: زاوية · سحب: ناعم · سحب مع {alt}: كسر المقبض · نقر أو سحب أول نقطة: إغلاق · {key} إنهاء · Esc إلغاء + Commit Perspective Warp ({key}) تثبيت تشويه المنظور ({key}) + Commit Puppet Warp ({key}) تثبيت تشويه الدمية ({key}) + Commit any current edits ({key}) تثبيت أي تعديلات حالية ({key}) + Commit transform ({key}) تثبيت التحويل ({key}) + Commit warp ({key}) تثبيت التشويه ({key}) + Cancel any current edits (Esc) إلغاء أي تعديلات حالية (Esc) + Cancel transform (Esc) إلغاء التحويل (Esc) + Cancel warp (Esc) إلغاء التشويه (Esc) + Do you want to save the changes you made to “{name}” before closing? هل تريد حفظ التغييرات التي أجريتها على «{name}» قبل الإغلاق؟ + Revert “{name}” to the last saved version? Your changes will be lost. إرجاع «{name}» إلى آخر نسخة محفوظة؟ ستفقد تغييراتك. + {key} to subtract {key} للطرح + ↑↓ navigate {key} run esc close ↑↓ تنقل {key} تشغيل esc إغلاق + Click to restore the current colour انقر لاستعادة اللون الحالي + Click with the Note tool to add a note. انقر بأداة الملاحظات لإضافة ملاحظة. + Drag a rectangle around the object اسحب مستطيلًا حول الكائن + Drag on the image to add a constraint; Shift for horizontal/vertical; right-click to delete. اسحب على الصورة لإضافة قيد؛ Shift للأفقي/العمودي؛ النقر بالزر الأيمن للحذف. + Drag the arrow to set the angle, the dots to set the roundness اسحب السهم لتعيين الزاوية، والنقاط لتعيين الاستدارة + Create new pattern from the selection إنشاء نمط جديد من التحديد + Create new gradient إنشاء تدرج جديد + Create new count group إنشاء مجموعة عد جديدة + Search commands, tools and panels… بحث في الأوامر والأدوات واللوحات… + Search Brushes بحث في الفرش + Search fonts بحث في الخطوط + No matching commands لا توجد أوامر مطابقة + No document لا يوجد مستند + Pixel Layer طبقة بكسل + Type Layer طبقة نص + Shape Layer طبقة شكل + Group Layer طبقة مجموعة + Fill Layer طبقة تعبئة + Smart Object Layer طبقة كائن ذكي + Adjustment Layer طبقة تعديل + {name} Properties خصائص {name} + Move Tool أداة النقل + Could not use the move tool because the layer is locked. تعذر استخدام أداة النقل لأن الطبقة مقفلة. + Could not complete the Free Transform command because the layer is locked. تعذر إكمال أمر التحويل الحر لأن الطبقة مقفلة. + Rectangular Marquee Tool أداة التحديد المستطيل + Elliptical Marquee Tool أداة التحديد البيضاوي + Single Row Marquee Tool أداة تحديد صف واحد + Single Column Marquee Tool أداة تحديد عمود واحد + Brush Tool أداة الفرشاة + Pencil Tool أداة قلم الرصاص + Eraser Tool أداة الممحاة + Background Eraser Tool أداة ممحاة الخلفية + Magic Eraser Tool أداة الممحاة السحرية + Eyedropper Tool أداة القطارة + Note Tool أداة الملاحظات + Lasso Tool أداة الحبل + Polygonal Lasso Tool أداة الحبل المتعدد + Magic Wand Tool أداة العصا السحرية + Crop Tool أداة القص + Slice Tool أداة التقطيع + Slice Select Tool أداة تحديد الشرائح + Gradient Tool أداة التدرج + Paint Bucket Tool أداة دلو الطلاء + Horizontal Type Tool أداة النص الأفقي + Horizontal Type Mask Tool أداة قناع النص الأفقي + Vertical Type Mask Tool أداة قناع النص العمودي + Hand Tool أداة اليد + Zoom Tool أداة التكبير + Spot Healing Brush Tool أداة فرشاة المعالجة الموضعية + Healing Brush Tool أداة فرشاة المعالجة + Clone Stamp Tool أداة ختم النسخ + History Brush Tool أداة فرشاة السجل + Blur Tool أداة التمويه + Sharpen Tool أداة الحدة + Smudge Tool أداة اللطخ + Dodge Tool أداة التفتيح + Burn Tool أداة التغميق + Sponge Tool أداة الإسفنج + Quick Selection Tool أداة التحديد السريع + Object Selection Tool أداة تحديد الكائنات + Pen Tool أداة القلم + Convert Point Tool أداة تحويل النقطة + Path Selection Tool أداة تحديد المسار + Direct Selection Tool أداة التحديد المباشر + Add Anchor Point Tool أداة إضافة نقطة ارتساء + Delete Anchor Point Tool أداة حذف نقطة الارتساء + Click a segment to add an anchor point · {alt}-click an anchor to delete it انقر مقطعًا لإضافة نقطة ارتساء · نقر مع {alt} على مرساة لحذفها + Click an anchor point to delete it · {alt}-click a segment to add one انقر نقطة ارتساء لحذفها · نقر مع {alt} على مقطع لإضافة واحدة + Rectangle Tool أداة المستطيل + Ellipse Tool أداة البيضاوي + Triangle Tool أداة المثلث + Polygon Tool أداة المضلع + Line Tool أداة الخط + Custom Shape Tool أداة الشكل المخصص + Pixel بكسل + Group مجموعة + Adjustment تعديل + Smart Object كائن ذكي + Drag to move the active layer اسحب لنقل الطبقة النشطة + Drag to pan · hold Space with any tool اسحب للتحريك · اضغط Space مع أي أداة + Drag to draw a gradient اسحب لرسم تدرج + Click to fill similar colours انقر لتعبئة الألوان المشابهة + Click to add text انقر لإضافة نص + Drag (lasso) or click points (polygonal) · {add} add · {sub} subtract اسحب (حبل) أو انقر نقاطًا (متعدد) · {add} إضافة · {sub} طرح + Drag a crop box · drag inside to move · edges resize ({ratio} ratio, {centre} centre) · Space moves while drawing · arrows nudge · X swaps orientation · {commit} commits · Esc cancels اسحب مربع قص · اسحب بالداخل للنقل · الحواف تغير الحجم ({ratio} نسبة، {centre} مركز) · Space ينقل أثناء الرسم · الأسهم تحرك · X تبدل الاتجاه · {commit} تثبيت · Esc إلغاء + {mode} Color · {bits} bit {mode} لون · {bits} بت + Drag to move the layer اسحب لنقل الطبقة + Fit Screen ملاءمة الشاشة + Fill Screen ملء الشاشة + Scrubby Zoom تكبير سحب + Auto Erase مسح تلقائي + Color Adaptation تكيف الألوان + Preserve Transparency الحفاظ على الشفافية + Reverse عكس + Align with layer محاذاة مع الطبقة + Join us on Discord انضم إلينا على Discord + PhotoCraft website موقع PhotoCraft + ArtCraft ArtCraft + GitHub GitHub + No character style لا يوجد نمط محارف + No author لا يوجد مؤلف + Not in Dictionary: ليس في القاموس: + Suggestions: اقتراحات: + Spell check complete. اكتمل التدقيق الإملائي. + Check All Layers تدقيق كل الطبقات + Select a type layer to edit its character and paragraph settings. حدد طبقة نص لتحرير إعدادات المحارف والفقرة. + Select text to apply a character style حدد نصًا لتطبيق نمط محارف + Redefine style by current selection إعادة تعريف النمط بالتحديد الحالي + Duplicate style تكرار النمط + Delete style حذف النمط + Style Options خيارات النمط + Style Options… خيارات النمط… + Close Style Options إغلاق خيارات النمط + Appearance مظهر + Text Position: موضع النص: + Text color لون النص + Uses the foreground and background colours. يستخدم لون المقدمة ولون الخلفية. + Answer the unsaved-changes prompt first أجب أولًا على مطالبة التغييرات غير المحفوظة + Unsaved changes تغييرات غير محفوظة + Don't Save عدم الحفظ + No لا + Yes نعم + These settings aren't available in PhotoCraft yet. هذه الإعدادات غير متاحة في PhotoCraft بعد. + Shortcut removed. تمت إزالة الاختصار. + All shortcuts reset to PhotoCraft defaults. تمت إعادة تعيين كل الاختصارات إلى افتراضيات PhotoCraft. + Delete Shortcut حذف الاختصار + Press keys… اضغط المفاتيح… + shortcut اختصار + command or shortcut أمر أو اختصار + current حالي + image file path مسار ملف الصورة + modified معدل + name اسم + new جديد + Go to Layer انتقال إلى الطبقة + Open a document to select a colour range. افتح مستندًا لتحديد نطاق لوني. + Saved تم الحفظ + Reveal in Finder إظهار في Finder + Show in Explorer إظهار في Explorer + Show in Folder إظهار في المجلد + Before (Y) قبل (Y) + After (X) بعد (X) + Original أصلي + Current حالي + {added}, {removed} subtracted {added}، تم طرح {removed} + Filter: عامل تصفية: + +# Transform / warp overlays + Free Transform تحويل حر + Free Transform a Copy تحويل حر لنسخة + Transform تحويل + Transform Selection تحويل التحديد + Switch between free transform and warp modes التبديل بين التحويل الحر ووضع التشويه + Perspective منظور + Skew إمالة + Distort تشويه + Rotate: تدوير: + Flip قلب + Warp: تشويه: + Warp تشويه + Bend: انحناء: + Reference point location موقع النقطة المرجعية + Toggle reference point تبديل النقطة المرجعية + Free حر + Arc قوس + Arch قوس معماري + Bulge انتفاخ + Shell Lower صدفة سفلية + Shell Upper صدفة علوية + Flag علم + Fish سمكة + Wave موجة + Rise ارتفاع + Fisheye عين السمكة + Inflate نفخ + Twist لف + Squeeze ضغط + Corner radius نصف قطر الزاوية + Split Warp Crosswise تقسيم التشويه عرضيًا + Split Warp Horizontally تقسيم التشويه أفقيًا + Split Warp Vertically تقسيم التشويه عموديًا + Remove Warp Split إزالة تقسيم التشويه + Puppet Warp تشويه الدمية + Puppet Warp is not active تشويه الدمية غير نشط + Perspective Warp تشويه المنظور + Perspective Warp is not active تشويه المنظور غير نشط + Perspective Warp: draw planes along the image's perspective, then switch to Warp تشويه المنظور: ارسم مستويات على طول منظور الصورة، ثم بدّل إلى التشويه + Remove Planes إزالة المستويات + Edit Pins تحرير المسامير + Add Pins إضافة مسامير + Delete Pins حذف المسامير + Remove All Pins إزالة كل المسامير + Remove Tool أداة الإزالة + Pin Depth: عمق المسمار: + Bring the selected pin forward إحضار المسمار المحدد للأمام + Send the selected pin backward إرسال المسمار المحدد للخلف + Rotate Auto تدوير تلقائي + Rotate Fixed تدوير ثابت + Adaptive Wide Angle isn't open الزاوية الواسعة التكيفية غير مفتوحة + Liquify is not open الإسالة غير مفتوحة + +# Vanishing Point + Create Plane إنشاء مستوى + Edit Plane تحرير المستوى + Select Plane تحديد المستوى + Measure قياس + Heal معالجة + Off إيقاف + Symmetry Off بدون تماثل + Heal Off المعالجة متوقفة + Heal On المعالجة مفعلة + Heal Auto معالجة تلقائية + Blend دمج + Brush Size حجم الفرشاة + Heal Color لون المعالجة + +# Misc dialog strings + Mask قناع + Channel قناة + Rectangle مستطيل + Subtract طرح + Multiply ضرب + Divide قسمة + Result نتيجة + New Document مستند جديد + New Document With Mask مستند جديد مع قناع + New Layer With Mask طبقة جديدة مع قناع + New Layer طبقة جديدة + Preset Name اسم الإعداد المسبق + No saved presets yet. لا توجد إعدادات مسبقة محفوظة بعد. + New Channel قناة جديدة + Selection تحديد + Save Selection حفظ التحديد + Load Selection تحميل التحديد + Duplicate تكرار + Fast سريع + Accurate دقيق + Add to إضافة إلى + Subtract from طرح من + Intersect with تقاطع مع + +# Blend modes + Pass Through مرور + Dissolve تلاشي + Darken تغميق + Color Burn حرق لوني + Linear Burn حرق خطي + Darker Color لون أغمق + Lighten تفتيح + Screen شاشة + Color Dodge تفتيح لوني + Linear Dodge (Add) تفتيح خطي (إضافة) + Lighter Color لون أفتح + Overlay تراكب + Soft Light ضوء ناعم + Hard Light ضوء قوي + Vivid Light ضوء ساطع + Linear Light ضوء خطي + Pin Light ضوء نقطي + Hard Mix خلط قوي + Difference فرق + Exclusion استبعاد + Luminosity إضاءة + +# Saved views and other bits + Capture Comp التقاط تركيبة + No Layer Comps لا توجد تركيبات طبقات + +# Plurals +@plural {n} item|{n} items {n} عنصر|{n} عنصر|{n} عنصران|{n} عناصر|{n} عنصرًا|{n} عنصر +@plural {n} Layer|{n} Layers {n} طبقة|{n} طبقة|{n} طبقتان|{n} طبقات|{n} طبقة|{n} طبقة +@plural {n} layer|{n} layers {n} طبقة|{n} طبقة|{n} طبقتان|{n} طبقات|{n} طبقة|{n} طبقة +@plural Group · {n} layer|Group · {n} layers مجموعة · {n} طبقة|مجموعة · {n} طبقة|مجموعة · {n} طبقتان|مجموعة · {n} طبقات|مجموعة · {n} طبقة|مجموعة · {n} طبقة +@plural {n} sample|{n} samples {n} عينة|{n} عينة|{n} عينتان|{n} عينات|{n} عينة|{n} عينة + +# Remaining menu strings (second pass) + 180° 180° + 32-bit Preview Options… خيارات معاينة 32 بت… + 90° Clockwise 90° باتجاه عقارب الساعة + 90° Counter Clockwise 90° عكس عقارب الساعة + AI Integrations… تكاملات الذكاء الاصطناعي… + Again مرة أخرى + Transform Again on a Copy تحويل مرة أخرى على نسخة + Anamorphic 2:1 (2) أنامورفيك 2:1 (2) + Arbitrary… زاوية عشوائية… + Artboard Guides دلائل لوح الفن + Artboard from Group… لوح فن من مجموعة… + Artboard from Layers… لوح فن من طبقات… + Artboards to Files… ألواح الفن إلى ملفات… + Artboards to PDF… ألواح الفن إلى PDF… + Artboard… لوح فن… + Border… حدود… + Bottom Edges الحواف السفلية + Browse… استعراض… + Canvas Guides دلائل اللوحة + Character Styles Panel لوحة أنماط المحارف + Clear Canvas Guides مسح دلائل اللوحة + Clear Selected Artboard Guides مسح دلائل لوح الفن المحدد + Color Blindness — Deuteranopia-type عمى الألوان — نوع Deuteranopia + Color Blindness — Protanopia-type عمى الألوان — نوع Protanopia + Color Table… جدول الألوان… + Combine Shapes دمج الأشكال + Contract… تقلص… + Convert to Embedded تحويل إلى مضمّن + Convert to Layers تحويل إلى طبقات + Convert to Linked… تحويل إلى مرتبط… + Count عد + Create Layer إنشاء طبقة + Custom Pixel Aspect Ratio… نسبة أبعاد بكسل مخصصة… + Cycle Screen Mode تبديل وضع الشاشة + D1/DV NTSC (0.91) D1/DV NTSC (0.91) + D1/DV NTSC Widescreen (1.21) D1/DV NTSC عريض (1.21) + D1/DV PAL (1.09) D1/DV PAL (1.09) + D1/DV PAL Widescreen (1.46) D1/DV PAL عريض (1.46) + DVCPRO HD 1080/HDV 1080 (1.5) DVCPRO HD 1080/HDV 1080 (1.5) + De-Interlace… إزالة التشابك… + Default Features الميزات الافتراضية + Delete All Empty Layers حذف كل الطبقات الفارغة + Desaturate تقليل التشبع + Displace… إزاحة… + Distribute توزيع + Document Bounds حدود المستند + Edit in Quick Mask Mode التحرير في وضع القناع السريع + Enhanced Controls… تحكم محسّن… + Entropy إنتروبيا + Exclude Overlapping Shapes استبعاد الأشكال المتداخلة + Exit خروج + Expand… توسيع… + Extra Large كبير جدًا + File Info… معلومات الملف… + Fit Artboard on Screen ملاءمة لوح الفن على الشاشة + Fit Layer(s) on Screen ملاءمة الطبقة (الطبقات) على الشاشة + Flatten All Layer Effects تسطيح كل تأثيرات الطبقات + Flatten All Masks تسطيح كل الأقنعة + Flatten Image تسطيح الصورة + Float All in Windows عوم الكل في نوافذ + Float in Window عوم في نافذة + Frame from Layers إطار من طبقات + From Transparency من الشفافية + Gamut Warning تحذير نطاق الألوان + Global Light… ضوء عام… + Gradient… تدرج… + Graphic and Web رسومات وويب + HDV 1080/DVCPRO HD 720 (1.33) HDV 1080/DVCPRO HD 720 (1.33) + Hidden Layers طبقات مخفية + Hide All Effects إخفاء كل التأثيرات + Horizontal Centers مراكز أفقية + Huge ضخم + Indexed Color… لون مفهرس… + Integrations… تكاملات… + Intersect Shape Areas تقاطع مناطق الأشكال + Kurtosis تفرطح + Large كبير + Layer Edges حواف الطبقة + Left Edges الحواف اليسرى + Lens Blur… تمويه العدسة… + Lighting Effects… تأثيرات الإضاءة… + Link Layers ربط الطبقات + Lock Layers… قفل الطبقات… + Mean متوسط + Merge Down دمج للأسفل + Merge Group دمج المجموعة + Merge Layers دمج الطبقات + Merge Shape Components دمج مكونات الشكل + Merge Visible دمج المرئي + Stamp Visible ختم المرئي + Select Layer Above تحديد الطبقة الأعلى + Select Layer Below تحديد الطبقة الأدنى + Select Top Layer تحديد الطبقة العليا + Select Bottom Layer تحديد الطبقة السفلى + Add Layer Above to Selection إضافة الطبقة الأعلى إلى التحديد + Add Layer Below to Selection إضافة الطبقة الأدنى إلى التحديد + Stamp Down ختم للأسفل + Mesh شبكة + Middle Eastern & South Asian Composer مركب الشرق الأوسط وجنوب آسيا + Modifier Keys مفاتيح التعديل + Modify تعديل + NTSC Colors ألوان NTSC + Notes… ملاحظات… + Other أخرى + Other… أخرى… + Paragraph Styles Panel لوحة أنماط الفقرات + Paths to Illustrator… مسارات إلى Illustrator… + Pattern Preview معاينة النمط + Pattern… نمط… + Pixel Art فن البكسل + Pixel Art Preview معاينة فن البكسل + Pixel Grid شبكة البكسل + Pixelate بكسلة + Place Scale Marker… وضع علامة المقياس… + Plug-ins إضافات + Print One Copy طباعة نسخة واحدة + Print… طباعة… + Range نطاق + Raw Defaults… افتراضيات RAW… + Relink to File… إعادة الربط بملف… + Relight… إعادة إضاءة… + Render تصيير + Replace All Missing Fonts استبدال كل الخطوط المفقودة + Resolve Missing Fonts… حل الخطوط المفقودة… + Reveal Selection إظهار التحديد + Right Edges الحواف اليمنى + Selection Edges حواف التحديد + Shapes أشكال + Show Extras Options… خيارات العناصر الإضافية… + Skewness التواء + Small صغير + Smart Guides دلائل ذكية + Smart Objects كائنات ذكية + Smooth… تنعيم… + Solid Color… لون صلب… + Square مربع + Stack Mode وضع الكومة + Standard Deviation انحراف معياري + Statistics… إحصائيات… + Stylistic Alternates بدائل أسلوبية + Stylize أنسنة + Subtract Front Shape طرح الشكل الأمامي + Summation جمع + Target Path المسار الهدف + Tile All Horizontally تبليط الكل أفقيًا + Tile All Vertically تبليط الكل عموديًا + Toggle Last State تبديل الحالة الأخيرة + Toolbar… شريط الأدوات… + Tools… أدوات… + Top Edges الحواف العلوية + Unite Shapes توحيد الأشكال + Update All Modified Content تحديث كل المحتوى المعدل + Update All Text Layers تحديث كل طبقات النص + Update Modified Content تحديث المحتوى المعدل + Variance تباين + Vertical Centers مراكز عمودية + Video Frames to Layers… إطارات الفيديو إلى طبقات… + WIA Support… دعم WIA… + Working CMY Plate صفيحة CMY التشغيلية + +# tl! literals (third pass) + Absolute مطلق + Action إجراء + Adaptive تكيفي + Add Stop إضافة محطة + Add disk إضافة قرص + Align and Distribute محاذاة وتوزيع + All Slices كل الشرائح + All User Slices كل شرائح المستخدم + Alt Alt + Artboard لوح فن + Artboard Background Color لون خلفية لوح الفن + Auto Hide إخفاء تلقائي + Automatically level near-horizontal line segments تسوية المقاطع الأفقية تقريبًا تلقائيًا + Automatically straighten and level تصويب وتسوية تلقائيًا + Automatically straighten near-vertical line segments تصويب المقاطع العمودية تقريبًا تلقائيًا + Balance توازن + Baseline خط الأساس + Bicubic ثنائي التكعيب + Bicubic (smooth gradients) ثنائي التكعيب (تدرجات ناعمة) + Automatic تلقائي + Bicubic Smoother (enlargement) ثنائي التكعيب أنعم (تكبير) + Bicubic Sharper (reduction) ثنائي التكعيب أحد (تصغير) + Bilinear ثنائي الخط + Black, White أسود، أبيض + Blue, Red, Yellow أزرق، أحمر، أصفر + Bottom أسفل + Brightness Jitter اهتزاز السطوع + Brush Reconstruct Options خيارات إعادة بناء الفرشاة + Cache Level: مستوى الذاكرة المؤقتة: + Canvas لوحة + Capture التقاط + Center Crop Marks علامات قص مركزية + Centre the gradient (offset 0, 0) توسيط التدرج (إزاحة 0، 0) + Change Screen Mode (F) تغيير وضع الشاشة (F) + Change To: تغيير إلى: + Clear All مسح الكل + Clear Override مسح التجاوز + Clear Samples مسح العينات + Cmd Cmd + Color Grading تدرج لوني + Color Management إدارة الألوان + Color Priority أولوية اللون + Color Range preview معاينة نطاق الألوان + Colorize تلوين + Constant ثابت + Content-Aware واعي بالمحتوى + Convert to sRGB تحويل إلى sRGB + Copies نسخ + Copper نحاسي + Corner Crop Marks علامات قص زاوية + Correction تصحيح + Count Jitter اهتزاز العد + Create Texture إنشاء نسيج + Create a new count group إنشاء مجموعة عد جديدة + Crop Factor عامل القص + Ctrl Ctrl + Custom Shapes أشكال مخصصة + Cyan سماوي + Cyan · Red سماوي · أحمر + Darks داكن + Default printer الطابعة الافتراضية + Default restored. تمت استعادة الافتراضي. + Delete Group حذف المجموعة + Delete count group حذف مجموعة العد + Delete effect layer حذف طبقة التأثير + Delete note حذف الملاحظة + Delete tool preset حذف إعداد الأداة + Depth Jitter اهتزاز العمق + Discontiguous غير متصل + Discord Discord + Display P3 Display P3 + Display Text عرض النص + Divide… قسمة… + Do you want to save the changes you made to “{name}” before quitting? هل تريد حفظ التغييرات التي أجريتها على «{name}» قبل الخروج؟ + Edit Toolbar… تحرير شريط الأدوات… + Edit in Quick Mask Mode (Q) التحرير في وضع القناع السريع (Q) + Edit in Standard Mode (Q) التحرير في الوضع القياسي (Q) + Embedded Profile Mismatch عدم تطابق ملف التعريف المضمّن + Enhance Edge تحسين الحافة + Exact دقيق + Expansion: توسيع: + Exposure and Gamma تعريض وغاما + Factor: عامل: + Fewer Points نقاط أقل + File Settings إعدادات الملف + Finger Painting رسم بالأصابع + Fit in View ملاءمة في العرض + Fixed ثابت + Foreground to Background من المقدمة إلى الخلفية + Foreground/Background Jitter اهتزاز المقدمة/الخلفية + Format تنسيق + Frame from Layers… إطار من طبقات… + Full Spherical كروي كامل + Gamma Correction تصحيح غاما + Gamma: غاما: + Global عام + Grain حبيبات + Graphics رسومات + Gray رمادي + Heart قلب + Hide Auto Slices إخفاء الشرائح التلقائية + Highlight Compression ضغط الإبرازات + Highlight Priority أولوية الإبرازات + Highlights إبرازات + Home الرئيسية + Hue Jitter اهتزاز تدرج اللون + Image Size: حجم الصورة: + Imported مستورد + Input: إدخال: + Interlaced متشابك + Invert All عكس الكل + Label Size حجم التسمية + Labels تسميات + Lanczos (sharp) Lanczos (حاد) + Level مستوى + Lights أضواء + Limits: حدود: + Link the mask to the layer ربط القناع بالطبقة + Localized Color Clusters مجموعات ألوان موطنة + Luminance إضاءة + Magenta أرجواني + Magenta · Green أرجواني · أخضر + Marker Size حجم العلامة + Mask Options خيارات القناع + Masking تقنيع + Master رئيسي + Mean: متوسط: + Median: وسيط: + Mesh Size حجم الشبكة + Metadata بيانات وصفية + Midpoint نقطة وسطى + Midtones أنصاف النغمات + Midtones from: أنصاف النغمات من: + Midtones to: أنصاف النغمات إلى: + Minimum Depth أدنى عمق + Mix Jitter اهتزاز الخلط + Mode: وضع: + Monochrome أحادي اللون + More Points نقاط أكثر + Move Group Down نقل المجموعة لأسفل + Move Group Up نقل المجموعة لأعلى + Move effect layer down نقل طبقة التأثير لأسفل + Move effect layer up نقل طبقة التأثير لأعلى + Move to نقل إلى + Nearest Neighbor أقرب جار + Nearest Neighbor (hard edges) أقرب جار (حواف صلبة) + New effect layer طبقة تأثير جديدة + Next note الملاحظة التالية + No Color Management بدون إدارة ألوان + Optimized محسّن + Output Levels: مستويات الإخراج: + Output: إخراج: + Paint Overlay تراكب الطلاء + Pattern Size حجم النمط + PhotoCraft PhotoCraft + PhotoCraft — an open-source, native image editor written in Rust. PhotoCraft — محرر صور أصلي مفتوح المصدر مكتوب بلغة Rust. + Position and Size الموضع والحجم + Preserve Details الحفاظ على التفاصيل + Preserve Luminosity الحفاظ على الإضاءة + Previous note الملاحظة السابقة + Printer طابعة + Printer Setup إعداد الطابعة + Printing Marks علامات الطباعة + Progressive تدريجي + Promote ترقية + Protect Detail حماية التفاصيل + Protect Tones حماية النغمات + Proximity Match مطابقة القرب + Purity نقاء + Quality جودة + Recent حديث + Reconstruct إعادة بناء + Refine تحسين + Registration Marks علامات التسجيل + Regular عادي + Remove stop إزالة المحطة + Rename Group… إعادة تسمية المجموعة… + Rename Layer… إعادة تسمية الطبقة… + Restore All استعادة الكل + Restrictive (Web) مقيد (ويب) + Rigid صلب + Roughness خشونة + Roundness استدارة + Rulers & Grids مساطر وشبكات + Sample: foreground colour عينة: لون المقدمة + Sampling: Background Swatch أخذ عينات: عينة الخلفية + Sampling: Continuous أخذ عينات: مستمر + Sampling: Once أخذ عينات: مرة واحدة + Saturate تشبع + Saturation Jitter اهتزاز التشبع + Save HTML and Images حفظ HTML والصور + Save as PDF حفظ كـ PDF + Scale to Fit Media تحجيم لملاءمة الوسائط + Scatter تشتيت + Scratch disks أقراص مؤقتة + Selective انتقائي + Shadows ظلال + Shape: شكل: + Sharpening حدة + Shift Shift + Show All Menu Items إظهار كل عناصر القائمة + Show Backdrop إظهار الخلفية + Show Mask إظهار القناع + Show Mesh إظهار الشبكة + Show or hide the Notes panel إظهار أو إخفاء لوحة الملاحظات + Show the layer mask as an overlay إظهار قناع الطبقة كتراكب + Show: إظهار: + Sides جوانب + Sides: جوانب: + Slice Options… خيارات الشريحة… + Slices From Guides شرائح من الدلائل + Slices are locked (View › Lock Slices) الشرائح مقفلة (عرض › قفل الشرائح) + Split: تقسيم: + Star ratio نسبة النجمة + Std Dev: انحراف معياري: + Straighten تصويب + Straighten Layer تصويب الطبقة + Strength: قوة: + Stroke حد + Stroke Catch-up لحاق الحد + Stroke: حد: + Location: موقع: + Inside داخل + Outside خارج + Tetrahedral رباعي الأسطح + Texture Each Tip نسيج لكل رأس +# Gradient Editor window, opened from the options bar's gradient swatch. + Gradient Editor محرر التدرجات + Gradient picker منتقي التدرج + Save As Preset حفظ كإعداد مسبق + The gradient the Gradient tool paints with التدرج الذي ترسم به أداة التدرج + Adds the current gradient to the Gradients panel يضيف التدرج الحالي إلى لوحة التدرجات + Gradient stops محطات التدرج + Click to edit the gradient انقر لتحرير التدرج + Tilt X ميل X + Tilt Y ميل Y + Toggle count group visibility تبديل ظهور مجموعة العد + Toggle text orientation تبديل اتجاه النص + Tone: نغمة: + Toolbar شريط الأدوات + Top أعلى + Total: الإجمالي: + Transparency شفافية + Trilinear ثلاثي الخط + Unlink the mask from the layer فك ربط القناع من الطبقة + View Options خيارات العرض + Violet, Orange بنفسجي، برتقالي + Visible مرئي + Weight وزن + Weight: وزن: + Wetness Jitter اهتزاز الرطوبة + Whites بيض + Yellow أصفر + Yellow · Blue أصفر · أزرق + +# Preference dialog: generated setting labels and dropdown choices + Adobe Adobe + Adobe rgb Adobe RGB + Allow agent control السماح بتحكم الوكيل + Allow scripts to connect السماح للنصوص بالاتصال + Always دائمًا + Always create smart objects when placing إنشاء كائنات ذكية دائمًا عند الوضع + Animated zoom تكبير متحرك + Apply auto tone تطبيق النغمة التلقائية + Ask سؤال + Ask before saving layered tiff السؤال قبل حفظ TIFF متعدد الطبقات + Autosave حفظ تلقائي + Autosave minutes دقائق الحفظ التلقائي + Beep when done صفير عند الانتهاء + Bicubic automatic ثنائي التكعيب تلقائي + Bicubic sharper ثنائي التكعيب أحد + Bicubic smoother ثنائي التكعيب أنعم + Bit depth عمق البت + Brush picker منتقي الفرشاة + Brush preview color لون معاينة الفرشاة + CPU (no GPU acceleration) CPU (بدون تسريع GPU) + Cache levels مستويات الذاكرة المؤقتة + Cache tile size حجم بلاطة الذاكرة المؤقتة + Camera Raw Defaults افتراضيات Camera Raw + Canvas border حد اللوحة + Show canvas dots إظهار نقاط اللوحة + Canvas color لون اللوحة + Canvas custom color لون لوحة مخصص + Classic كلاسيكي + Color picker منتقي الألوان + Color space مساحة الألوان + Column width عرض العمود + Concise موجز + Control port منفذ التحكم + Convert to srgb تحويل إلى sRGB + Cursors مؤشرات + Custom dark داكن مخصص + Custom light فاتح مخصص + Dark داكن + Dark gray رمادي داكن + Dashed lines خطوط متقطعة + Detailed مفصل + DirectX 12 DirectX 12 + Disks أقراص + Display p3 Display P3 + Dots نقاط + Double click layer mask launches select and mask النقر المزدوج على قناع الطبقة يفتح تحديد وقناع + Drop shadow ظل مسقط + Dynamic color sliders أشرطة ألوان ديناميكية + East asian شرق آسيوي + Effect cache mb ذاكرة التأثيرات المؤقتة (ميغابايت) + Enable flick panning تمكين التحريك السريع + Enable floating document window docking تمكين إرساء نوافذ المستندات العائمة + Enable narrow options bar تمكين شريط الخيارات الضيق + Enhanced Controls تحكم محسّن + Erase مسح + Export clipboard تصدير الحافظة + Extra large كبير جدًا + File Handling معالجة الملفات + File path مسار الملف + Fill new type layers with placeholder تعبئة طبقات النص الجديدة بنص بديل + Font preview معاينة الخط + Full size tip رأس بالحجم الكامل + GPU backend خلفية GPU + Linux display server خادم عرض Linux + X11 X11 + Gamut warning color لون تحذير نطاق الألوان + Gamut warning opacity عتامة تحذير نطاق الألوان + General عام + Generator enabled المولد ممكّن + Gif GIF + Glossy لامع + Grid color لون الشبكة + Grid colors ألوان الشبكة + Grid size حجم الشبكة + Grid style نمط الشبكة + Grid unit وحدة الشبكة + Gridline every خط الشبكة كل + Guide color لون الدليل + Guide style نمط الدليل + Guides, Grid & Slices دلائل وشبكة وشرائح + Gutter هامش + History Log سجل التاريخ + History states حالات السجل + Ignore exif profile tag تجاهل وسم ملف EXIF + Image interpolation استيفاء الصورة + Image previews معاينات الصور + Integrations تكاملات + Interface واجهة + Jpeg quality جودة JPEG + Jpg JPEG + Large tabs تبويبات كبيرة + Legacy compositing تركيب قديم + Light gray رمادي فاتح + Line خط + Lines خطوط + Lowercase extension امتداد بأحرف صغيرة + Maximize psd compatibility تعظيم توافق PSD + Medium gray رمادي متوسط + Memory usage mb استخدام الذاكرة (ميغابايت) + Low resolution previews معاينات منخفضة الدقة + Metal Metal + Missing glyph protection حماية المحارف المفقودة + Modern حديث + Nearest neighbor أقرب جار + Never أبدًا + Normal tip رأس عادي + Open as smart object فتح ككائن ذكي + Open in camera raw فتح في Camera Raw + Open documents as tabs فتح المستندات كتبويبات + OpenGL OpenGL + Orange برتقالي + Overscroll تمرير زائد + Performance أداء + Png PNG + Point size حجم النقطة + PostScript (72 points/inch) PostScript (72 نقطة/بوصة) + Precise دقيق + Preserve details الحفاظ على التفاصيل + Print resolution دقة الطباعة + Pro Pro + Pro light Pro فاتح + Pro light gray Pro رمادي فاتح + Pro medium Pro متوسط + Pro photo ProPhoto + Purple بنفسجي + Quick export format تنسيق التصدير السريع + Quick export location موقع التصدير السريع + Recent file count عدد الملفات الحديثة + Recent files ملفات حديثة + Recent fonts خطوط حديثة + Recover on launch استرداد عند التشغيل + Remember workspace changes تذكر تغييرات مساحة العمل + Resize image during place تغيير حجم الصورة عند الوضع + Right click with painting tools النقر بالزر الأيمن مع أدوات الرسم + Rotate view with trackpad تدوير العرض بلوحة التتبع + Same folder نفس المجلد + Save in background الحفظ في الخلفية + Scratch Disks أقراص مؤقتة + Screen resolution دقة الشاشة + Scrubby slider acceleration تسريع شريط التمرير + Sessions only الجلسات فقط + Sharpen for حدة من أجل + Show channels in color إظهار القنوات بالألوان + Show crosshair in brush tip إظهار التصالب في رأس الفرشاة + Show extension panels إظهار لوحات الإضافات + Show font names in english إظهار أسماء الخطوط بالإنجليزية + Show menu colors إظهار ألوان القوائم + Show only crosshair while painting إظهار التصالب فقط أثناء الرسم + Show slice numbers إظهار أرقام الشرائح + Show tooltips إظهار التلميحات + Enable animations تمكين الحركات + Show highlight on rollover إظهار الإبراز عند المرور + Show bounding box when dragging layer إظهار مربع الحدود عند سحب الطبقة + System title bar شريط عنوان النظام + Show transformation values إظهار قيم التحويل + Slice color لون الشريحة + Smart guide color لون الدليل الذكي + Smart quotes علامات اقتباس ذكية + Snap vector tools and transforms to pixel grid محاذاة الأدوات المتجهة والتحويلات إلى شبكة البكسل + Srgb sRGB + Standard قياسي + Studio Studio + Studio light Studio فاتح + Adwaita Adwaita + Adwaita dark Adwaita داكن + Subdivisions تقسيمات فرعية + System نظام + Text engine محرك النص + Text file ملف نصي + Tiny ضئيل + Touch gestures إيماءات اللمس + Traditional (72.27 points/inch) تقليدي (72.27 نقطة/بوصة) + Transparency & Gamut شفافية ونطاق ألوان + Type units وحدات النص + UI font size حجم خط الواجهة + UI scale مقياس الواجهة + Units & Rulers وحدات ومساطر + Use additional plugins folder استخدام مجلد إضافات إضافي + Use esc to commit استخدام Esc للتثبيت + Use gpu استخدام GPU + Use legacy free transform استخدام التحويل الحر القديم + Use shift key for tool switch استخدام Shift لتبديل الأداة + Use tablet pressure استخدام ضغط الجهاز اللوحي + Vary round brush hardness on hud تغيير صلابة الفرشاة المستديرة على HUD + Vulkan Vulkan + Webp WebP + World ready جاهز للعالم + Zoom clicked point to center تكبير النقطة المنقورة إلى المركز + Zoom resizes windows التكبير يغير حجم النوافذ + Zoom with scroll wheel تكبير بعجلة التمرير + Zoom with trackpad pinch تكبير بقرص لوحة التتبع + Alt-click to define a source point to clone from نقر مع Alt لتعريف نقطة مصدر للنسخ منها + No path to make a selection from: draw one with the Pen tool or select one in the Paths panel. لا يوجد مسار لإنشاء تحديد منه: ارسم واحدًا بأداة القلم أو حدد واحدًا في لوحة المسارات. + Cancel opening إلغاء الفتح + Cancelled opening {name} تم إلغاء فتح {name} + Developing {name} تطوير {name} + Cancelled {label} تم إلغاء {label} + Esc to cancel Esc للإلغاء + Opened {name} تم فتح {name} + Opening {name} فتح {name} + Saved {name} تم حفظ {name} + Saving {name} حفظ {name} + Saving {percent} حفظ {percent} + A save to {name} is still running; try again when it finishes لا يزال الحفظ في {name} قيد التشغيل؛ أعد المحاولة عند انتهائه + {label} is writing the file and can no longer be cancelled {label} يكتب الملف ولم يعد من الممكن إلغاؤه + Opening {name}… فتح {name}… + Opening… فتح… + Reading… قراءة… + Working… معالجة… + 3 x 3 3 × 3 + 4 x 4 4 × 4 + 5 x 5 5 × 5 + Grid: شبكة: +# Rendering mode and recovery + Rendering Mode وضع التصيير + Automatic (recommended) تلقائي (موصى به) + CPU / Compatibility CPU / توافق + Automatic uses GPU acceleration when available and falls back to CPU rendering on errors. يستخدم الوضع التلقائي تسريع GPU عند توفره ويعود إلى التصيير على CPU عند الأخطاء. + Switched to CPU rendering تم التبديل إلى التصيير على CPU + GPU acceleration could not continue. Your documents are unchanged. تعذر متابعة تسريع GPU. مستنداتك لم تتغير. + PhotoCraft is using the CPU image compositor. The window may still use your graphics adapter. يستخدم PhotoCraft مركب الصور على CPU. قد تظل النافذة تستخدم محول الرسومات لديك. + Retry GPU requires a restart. Save your work first. إعادة محاولة GPU تتطلب إعادة تشغيل. احفظ عملك أولًا. + Keep Using CPU متابعة استخدام CPU + Retry GPU إعادة محاولة GPU + GPU Backend خلفية GPU + Details تفاصيل + GPU GPU + Rendering mode وضع التصيير + Freeze Lasso: drag to freeze an area, Alt-drag to thaw it (L) حبل التجميد: اسحب لتجميد منطقة، اسحب مع Alt لإذابتها (L) + Shadow Clipping Warning (U) تحذير قص الظلال (U) + Highlight Clipping Warning (O) تحذير قص الإبرازات (O) + Show Lab Color Readouts إظهار قراءات ألوان Lab + Show Vectorscope إظهار مقياس المتجهات + Show Red at 3 o'clock إظهار الأحمر عند الساعة 3 + Show Skin Tone Indicator إظهار مؤشر لون البشرة + Tone Histogram مدرج النغمات + Show Selected Region إظهار المنطقة المحددة +cameraRaw Light ضوء +# Camera Raw: contextual controls and window title + Camera Raw Filter ({layer}) عامل تصفية Camera Raw ({layer}) + Camera Raw ({name}) Camera Raw ({name}) + Aqua سماوي +cameraRaw Amount مقدار +cameraRaw Blacks سود +cameraRaw Vibrance اهتزاز +cameraRaw Color Grading تدرج لوني +cameraRaw Lights أضواء +cameraRaw Darks داكن +cameraRaw Global عام +cameraRaw Red أحمر +cameraRaw Orange برتقالي +cameraRaw Yellow أصفر +cameraRaw Green أخضر +cameraRaw Aqua سماوي +cameraRaw Blue أزرق +cameraRaw Purple بنفسجي +cameraRaw Magenta أرجواني +cameraRaw Hue تدرج +cameraRaw Blending دمج +cameraRaw Luminance Detail تفاصيل الإضاءة +cameraRaw Color Detail تفاصيل الألوان +cameraRaw Roughness خشونة + Patch Tool أداة الرقعة + Patch: رقعة: + Lasso around an area, then drag the selection أحط منطقة بحبل، ثم اسحب التحديد + Transform On Drop تحويل عند الإفلات + Scale or rotate the moved area, then press {key} حجّم أو دوّر المنطقة المنقولة، ثم اضغط {key} + Now drag the selection onto another area الآن اسحب التحديد إلى منطقة أخرى + Edit Type تحرير النص + + + New Style… نمط جديد… + Style {name} saved تم حفظ النمط {name} + + Create new style (from the selected type) إنشاء نمط جديد (من النص المحدد) + Create new style from the selected layer إنشاء نمط جديد من الطبقة المحددة + + Make Default تعيين كافتراضي + Reset to Default إعادة تعيين إلى الافتراضي + Full-resolution preview unavailable المعاينة بالدقة الكاملة غير متاحة + No patterns لا توجد أنماط + Enable {name} تمكين {name} + Hold Alt while drawing for straight segments اضغط Alt أثناء الرسم للمقاطع المستقيمة + Drag or click polygon points · hold Alt during lasso for straight segments · {add} add · {sub} before drawing subtracts اسحب أو انقر نقاط المضلع · اضغط Alt أثناء الحبل للمقاطع المستقيمة · {add} إضافة · {sub} قبل الرسم يطرح + Extend توسيع + Structure: بنية: + Content-Aware Move Tool أداة النقل الواعي بالمحتوى + TIFF Options خيارات TIFF + Targa Options خيارات Targa + 24 bits/pixel 24 بت/بكسل + 32 bits/pixel 32 بت/بكسل + Including layers will increase file size. تضمين الطبقات سيزيد حجم الملف. + Discard Layers and Save a Copy تجاهل الطبقات وحفظ نسخة + Don't show again عدم الإظهار مرة أخرى + Save failed: {error} فشل الحفظ: {error} + Save cancelled تم إلغاء الحفظ + Couldn't place {name}: {error} تعذر وضع {name}: {error} + Magnetic Lasso Tool أداة الحبل المغناطيسي + Frequency تردد + Use tablet pressure to change pen width استخدام ضغط الجهاز اللوحي لتغيير عرض القلم + + +# About ▸ Contributors / Models (credits, craftrules standards/contributors.md) + About حول + Contributors المساهمون + Models النماذج + Sort فرز + Username اسم المستخدم + Display name اسم العرض + Real name الاسم الحقيقي + Reverse the order عكس الترتيب + Grab bag متنوع + Table جدول + Name (A–Z) الاسم (أ–ي) + Merged PRs طلبات السحب المدمجة + Commits التزامات + Lines added أسطر مضافة + Lines deleted أسطر محذوفة + Line delta فرق الأسطر + Binary assets added أصول ثنائية مضافة + Binary assets removed أصول ثنائية محذوفة + First commit أول التزام + First الأول + Last commit آخر التزام + Last الأخير + Contributors: {contributors} · Commits: {commits} المساهمون: {contributors} · الالتزامات: {commits} + No contributor data was built into this copy. لم يتم تضمين بيانات المساهمين في هذه النسخة. + No model credits were built into this copy. لم يتم تضمين اعتمادات النماذج في هذه النسخة. + Company شركة + Version إصدار + % of all commits % من كل الالتزامات + Lines +/− أسطر +/− + @{login}: {prs} PRs, {commits} commits, +{added} / −{deleted} lines (Δ {delta}), +{binAdded} / −{binDeleted} binary assets, {first} – {last} @{login}: {prs} طلبات سحب، {commits} التزامًا، +{added} / −{deleted} سطرًا (Δ {delta})، +{binAdded} / −{binDeleted} أصول ثنائية، {first} – {last} + +# Swatches panel + Create new swatch إنشاء عينة جديدة + New Swatch… عينة جديدة… + New Swatch Group… مجموعة عينات جديدة… + Import Swatches… استيراد عينات… + Replace Swatches… استبدال العينات… + Export Swatches… تصدير العينات… + Export Swatches for Exchange… تصدير العينات للتبادل… + Reset Swatches إعادة تعيين العينات + Add to Swatches إضافة إلى العينات +# Layer Style > Blending Options (Advanced Blending) + Blend If: دمج إذا: + Channels: قنوات: + Knockout إبراز + Apply At Canvas Bounds تطبيق عند حدود اللوحة + +# Shared screen eyedropper and text Color Picker (#1128). + Color Picker (Text Color) منتقي الألوان (لون النص) + Color Picker ({name}) منتقي الألوان ({name}) + Color Picker (Fill Color) منتقي الألوان (لون التعبئة) + Fill color لون التعبئة + Color Picker (Stroke Color) منتقي الألوان (لون الحد) + Stroke color لون الحد + Pick screen color اختيار لون الشاشة + Sample a pixel anywhere on the screen اختر بكسلًا في أي مكان على الشاشة + Click to pick · Esc to cancel انقر للاختيار · Esc للإلغاء + Pick a screen pixel or press Esc to cancel اختر بكسلًا على الشاشة أو اضغط Esc للإلغاء + Scroll to zoom مرر للتكبير + Show/Hide All Panels إظهار/إخفاء كل اللوحات + Show/Hide Panels إظهار/إخفاء اللوحات + Could not open تعذر الفتح + {path}: the path is not valid Unicode; rename the file and open it again. {path}: المسار ليس Unicode صالحًا؛ أعد تسمية الملف وافتحه مرة أخرى. + +# Fill dialog, layer style contours and Image Size + Contents: المحتويات: + Custom Pattern: نمط مخصص: + Foreground Color لون المقدمة + Color… لون… + 50% Gray رمادي 50% + {size} (was {old}) {size} (كان {old}) + Cone مخروط + Cone (Inverted) مخروط (معكوس) + Domed مقبب + Domed (Inverted) مقبب (معكوس) + Diagonal (Descending) قطري (تنازلي) + Contour Editor محرر الكنتور + Anti-aliased مزيل التسنن + Corner زاوية + Gloss Contour كنتور اللمعان + Contour كنتور + Cone - Inverted مخروط - معكوس + Cove - Deep تجويف - عميق + Cove - Shallow تجويف - ضحل + Gaussian غاوسي + Half Round نصف دائري + Ring حلقة + Ring - Double حلقة - مزدوجة + Rolling Slope - Descending منحدر متدحرج - تنازلي + Rounded Steps خطوات مستديرة + Sawtooth 1 منشار 1 + Linear خطي + + Red Eye Tool أداة العين الحمراء + Pupil Size حجم البؤبؤ + Darken Amount مقدار التغميق + Click a red pupil to neutralize it انقر على بؤبؤ أحمر لتحييده + open source مفتوح المصدر + …and {n} more …و{n} المزيد + + Eyedroppers: قطارات: + Set Black Point تعيين النقطة السوداء + Set Neutral Gray Point تعيين النقطة الرمادية المحايدة + Set White Point تعيين النقطة البيضاء + Unavailable in this color mode غير متاح في وضع الألوان هذا + Selection Preview: معاينة التحديد: + Black Matte حافة سوداء + White Matte حافة بيضاء + Quick Mask قناع سريع + +# Layer colour labels. + Seafoam رغوة البحر + Indigo نيلي + Fuchsia فوشيا + Violet بنفسجي + Large document: redrawing on the CPU مستند كبير: إعادة الرسم على CPU + This redraw took {seconds} s on the CPU. استغرقت إعادة الرسم هذه {seconds} ث على CPU. + Edits that change the whole document, such as a layer's blend mode, opacity or visibility, redraw all of it. التعديلات التي تغير المستند كاملًا، مثل وضع دمج الطبقة أو عتامتها أو ظهورها، تعيد رسمه كله. + Its layers don't fit the GPU memory budget. Raising Memory usage in Preferences › Performance raises the budget, up to a quarter of this computer's memory. طبقاته لا تناسب ميزانية ذاكرة GPU. زيادة استخدام الذاكرة في تفضيلات › الأداء ترفع الميزانية، حتى ربع ذاكرة هذا الكمبيوتر. + The GPU compositor wasn't used: {reason} لم يتم استخدام مركب GPU: {reason} +fontWeight Thin رفيع +fontWeight ExtraLight خفيف إضافي +fontWeight Light خفيف +fontWeight Regular عادي +fontWeight Medium متوسط +fontWeight SemiBold نصف عريض +fontWeight Bold عريض +fontWeight ExtraBold عريض إضافي +fontWeight Black أسود +fontWeight Italic مائل + +# Pattern Stamp tool + Pattern Stamp Tool أداة ختم النمط + Impressionist انطباعي + Rotate View Tool أداة تدوير العرض + Reset View إعادة تعيين العرض + Drag around the centre to rotate the view · Shift constrains to 15° اسحب حول المركز لتدوير العرض · Shift يقيد إلى 15° + +# Painting symmetry presets. + Dual Axis محور مزدوج + Diagonal قطري + Transform Symmetry تحويل التماثل + Set painting symmetry options تعيين خيارات تماثل الرسم + +# Eyedropper Sample Size and Sample (#1649). + Point Sample عينة نقطية + 3 by 3 Average متوسط 3 × 3 + 5 by 5 Average متوسط 5 × 5 + 11 by 11 Average متوسط 11 × 11 + 31 by 31 Average متوسط 31 × 31 + 51 by 51 Average متوسط 51 × 51 + 101 by 101 Average متوسط 101 × 101 + Sample Size: حجم العينة: + All Layers No Adjustments كل الطبقات بدون تعديلات + Current & Below No Adjustments الحالي وما تحته بدون تعديلات + Show Sampling Ring إظهار حلقة أخذ العينات + Click to sample the foreground colour · {key}-click for background انقر لأخذ لون المقدمة · نقر مع {key} للخلفية + +# Color Picker warnings + Out of gamut for printing: click for the nearest printable colour خارج نطاق الطباعة: انقر لأقرب لون قابل للطباعة + Not a web colour: click for the nearest web colour ليس لون ويب: انقر لأقرب لون ويب + Color to Alpha… اللون إلى ألفا… + Transparency Threshold عتبة الشفافية + Opacity Threshold عتبة العتامة + PhotoCraft — Screen Color Picker PhotoCraft — منتقي ألوان الشاشة + + Rasterize svg groups deeper than تحويل مجموعات SVG الأعمق من + 0 turns this threshold off; SVG groups nested deeper than 100 levels are always rasterized. 0 يلغي هذه العتبة؛ مجموعات SVG المتداخلة أعمق من 100 مستوى تحول دائمًا إلى نقطي. + Rule of Thirds قاعدة الأثلاث + Triangle مثلث + Golden Ratio النسبة الذهبية + Golden Spiral اللولب الذهبي + Auto Show Overlay إظهار التراكب تلقائيًا + Always Show Overlay إظهار التراكب دائمًا + Never Show Overlay عدم إظهار التراكب + Cycle Overlay تبديل التراكب + Cycle Orientation تبديل الاتجاه + Set the overlay options for the Crop tool تعيين خيارات التراكب لأداة القص + Alt-click went to the desktop, which moves windows with Alt-drag. Set its window-move key to Super, or latch Alt in Window › Modifier Keys. نقر Alt ذهب إلى سطح المكتب، الذي ينقل النوافذ بالسحب مع Alt. عيّن مفتاح نقل النوافذ إلى Super، أو ثبّت Alt في نافذة › مفاتيح التعديل. + +# Shared Layer Style color picker + Color Picker (Layer Style Color) منتقي الألوان (لون نمط الطبقة) + Auto Hide Notifications إخفاء الإشعارات تلقائيًا + Notification Duration (seconds) مدة الإشعار (ثوان) + Appearance Mode وضع المظهر + Dark Theme سمة داكنة + Light Theme سمة فاتحة + Pro Medium Pro متوسط + Studio Light Studio فاتح + Next Appearance Mode وضع المظهر التالي + Sync with system مزامنة مع النظام + Active نشط + Color Picker (Solid Color) منتقي الألوان (لون صلب) + Straighten the image by drawing a line on it صوّب الصورة برسم خط عليها + Set additional Crop options تعيين خيارات قص إضافية + Show Cropped Area إظهار المنطقة المقصوصة + Enable Crop Shield تمكين درع القص + Match Canvas مطابقة اللوحة + Auto Adjust Opacity ضبط العتامة تلقائيًا + Crop Shield color لون درع القص + Color Picker (Crop Shield Color) منتقي الألوان (لون درع القص) + From Center من المركز + Link radii ربط أنصاف الأقطار + Star Ratio: نسبة النجمة: + Create Rectangle إنشاء مستطيل + Create Ellipse إنشاء بيضاوي + Create Triangle إنشاء مثلث + Create Polygon إنشاء مضلع + Pressure curve منحنى الضغط + Click to add a point, right-click to remove انقر لإضافة نقطة، انقر بالزر الأيمن للإزالة + Soft ناعم + Hard صلب + Some brush presets could not be loaded تعذر تحميل بعض إعدادات الفرشاة + Retry saving presets إعادة محاولة حفظ الإعدادات المسبقة + Brush preset changes are not saved: {error} تغييرات إعداد الفرشاة لم تُحفظ: {error} + Keep this tab open to retain your brushes. أبقِ هذا التبويب مفتوحًا للاحتفاظ بفرشك. + Browser storage is unavailable; brushes are session-only. Keep this tab open to retain them. تخزين المتصفح غير متاح؛ الفرش للجلسة فقط. أبقِ هذا التبويب مفتوحًا للاحتفاظ بها. + Saving brush presets… Keep this tab open until saving finishes. حفظ إعدادات الفرشاة… أبقِ هذا التبويب مفتوحًا حتى ينتهي الحفظ. + Reflect انعكاس + Glow توهج + Negation نفي + XOR XOR + Color Burn (Paint.NET) حرق لوني (Paint.NET) + Color Dodge (Paint.NET) تفتيح لوني (Paint.NET) + Stroke Options خيارات الحد + Solid صلب + Dashed متقطع + Dotted منقط + Caps أطراف + Butt / Flat مستوٍ + Corners زوايا + Miter مشطوف + Round دائري + Bevel مشطوف + Miter limit حد الشطف + Dashed line خط متقطع + Dash شرطة + Gap فجوة + Dash / gap lengths × stroke width أطوال الشرطة / الفجوة × عرض الحد + Add pair إضافة زوج + Remove pair إزالة زوج + Dash offset إزاحة الشرطة + Open paths use centered strokes المسارات المفتوحة تستخدم حدودًا مركزية + Use finite lengths and a positive pattern total استخدم أطوالًا منتهية ومجموع نمط موجب + No subject found — try Object Selection or the Lasso لم يتم العثور على موضوع — جرّب تحديد الكائنات أو الحبل + Quick Selection found nothing there التحديد السريع لم يجد شيئًا هناك + Object Selection found nothing there — try a tighter rectangle تحديد الكائنات لم يجد شيئًا هناك — جرّب مستطيلًا أضيق + No subject found — try a rectangle around the object لم يتم العثور على موضوع — جرّب مستطيلًا حول الكائن + +# Layers-panel trash confirmation + Delete layer ‘{name}’? حذف الطبقة «{name}»؟ + Delete {count} layers? {names} حذف {count} طبقة؟ {names} + Delete layer? حذف الطبقة؟ + The document is closed المستند مغلق + The document or selected layers changed. Please request deletion again. تغير المستند أو الطبقات المحددة. اطلب الحذف مرة أخرى. + Missing delete command أمر الحذف مفقود + Invalid delete command أمر حذف غير صالح + Layer deleted, but confirmation preference could not be saved: {error} تم حذف الطبقة، لكن تعذر حفظ تفضيل التأكيد: {error} + Add a layer style إضافة نمط طبقة + Add a mask (from the selection; {key} inverts) إضافة قناع (من التحديد؛ {key} يعكس) + Add an adjustment إضافة تعديل + Add to selection ({key}) إضافة إلى التحديد ({key}) + Adjustment visible التعديل مرئي + Align and distribute محاذاة وتوزيع + Align horizontal centers محاذاة المراكز الأفقية + Align left edges محاذاة الحواف اليسرى + Align right edges محاذاة الحواف اليمنى + Always use pressure for opacity استخدام الضغط دائمًا للعتامة + Always use pressure for size استخدام الضغط دائمًا للحجم + Angle Gradient تدرج زاوي + Auto-Select: تحديد تلقائي: + Brush Preset picker منتقي إعداد الفرشاة + Cancel current crop operation (Esc) إلغاء عملية القص الحالية (Esc) + Click the first point or press {key} to close · Esc cancels انقر أول نقطة أو اضغط {key} للإغلاق · Esc يلغي + Click the first point or press {key} to close · {del} removes a point · Esc cancels انقر أول نقطة أو اضغط {key} للإغلاق · {del} يزيل نقطة · Esc يلغي + Click, then move along an edge · click to fasten a point · {alt}-click for a straight segment · double-click to close انقر، ثم تحرك على طول حافة · انقر لتثبيت نقطة · نقر مع {alt} لمقطع مستقيم · نقر مزدوج للإغلاق + Clip to layer below قص إلى الطبقة الأدنى + Color & Swatches لون وعينات + Commit current crop operation ({key}) تثبيت عملية القص الحالية ({key}) + Create a new group إنشاء مجموعة جديدة + Create a new layer إنشاء طبقة جديدة + Create new document from current state إنشاء مستند جديد من الحالة الحالية + Create new fill or adjustment layer إنشاء طبقة تعبئة أو تعديل جديدة + Create new snapshot إنشاء لقطة جديدة + Delete Cropped Pixels حذف البكسلات المقصوصة + Delete current state حذف الحالة الحالية + Delete layer حذف الطبقة + Diamond Gradient تدرج ماسي + Doc: {w} × {h} px مستند: {w} × {h} بكسل + Enable airbrush-style build-up effects تمكين تأثيرات التراكم بنمط الفرشاة الهوائية + Filter for adjustment layers تصفية طبقات التعديل + Filter for pixel layers تصفية طبقات البكسل + Filter for shape layers تصفية طبقات الأشكال + Filter for smart objects تصفية الكائنات الذكية + Filter for type layers تصفية طبقات النص + Fixed Ratio نسبة ثابتة + Fixed Size حجم ثابت + Follows only edges this close to the pointer ([ and ] change it) يتبع فقط الحواف بهذا القرب من المؤشر ([ و ] يغيرانه) + Hide Properties إخفاء الخصائص + Higher values follow only edges that contrast sharply with their surroundings القيم الأعلى تتبع فقط الحواف ذات التباين الحاد مع محيطها + How often fastening points are placed by themselves عدد مرات وضع نقاط التثبيت تلقائيًا + Hue/Saturation تدرج/تشبع + Intersect with selection ({key}) تقاطع مع التحديد ({key}) + Kind نوع + Linear Gradient تدرج خطي + Link layers ربط الطبقات + Lock قفل + Lock all قفل الكل + Lock image pixels قفل بكسلات الصورة + Lock layer قفل الطبقة + Lock position قفل الموضع + Lock transparent pixels قفل البكسلات الشفافة + New selection تحديد جديد + No properties لا خصائص + Pressure for Opacity ضغط للعتامة + Pressure for Size ضغط للحجم + Prevent auto-nesting in and out of Artboards and Frames منع التداخل التلقائي داخل وخارج ألواح الفن والإطارات + Radial Gradient تدرج شعاعي + Reflected Gradient تدرج منعكس + Reset to defaults إعادة تعيين إلى الافتراضي + Set additional smoothing options تعيين خيارات تنعيم إضافية + Show Transform Controls إظهار عناصر التحويل + Subtract from selection ({key}) طرح من التحديد ({key}) + Swaps height and width يبدل الارتفاع والعرض + Tolerance تفاوت + Add vector mask إضافة قناع متجه + Click to zoom in · {key}-click to zoom out · drag right/left to zoom in/out انقر للتكبير · نقر مع {key} للتصغير · اسحب يمينًا/يسارًا للتكبير/التصغير + Appearance Settings… إعدادات المظهر… + Add to favorites إضافة إلى المفضلة + Remove from favorites إزالة من المفضلة +# File Info ▸ Camera Data (read-only EXIF fields; "Make" is the camera maker, not the verb). +cameraData Make الشركة المصنعة +cameraData Model الطراز +cameraData Date Taken تاريخ الالتقاط +cameraData Exposure تعريض +cameraData F-Stop فتحة +cameraData ISO Speed سرعة ISO +cameraData Focal Length طول بؤري +cameraData Focal Length (35 mm) طول بؤري (35 مم) +cameraData Lens عدسة +# Shared panel docking + Activate Panel تنشيط اللوحة + Change Panel Group تغيير مجموعة اللوحات + Change Panel Layout تغيير تخطيط اللوحات + Close Panel إغلاق اللوحة + Dock Panel إرساء اللوحة + Float Panel عوم اللوحة + Move Panel نقل اللوحة + Group with تجميع مع + Panel menu قائمة اللوحة + Resize panel window تغيير حجم نافذة اللوحة + Resize panels تغيير حجم اللوحات + Use Classic Mode استخدام الوضع الكلاسيكي + Auto Center Preview توسيط المعاينة تلقائيًا + Next Document المستند التالي + Previous Document المستند السابق + W x H x Resolution عرض × ارتفاع × دقة + Front Image الصورة الأمامية + Frame Tool أداة الإطار + Create a new rectangular frame إنشاء إطار مستطيل جديد + Create a new elliptical frame إنشاء إطار بيضاوي جديد + Include in playback تضمين في التشغيل + Perspective Crop Tool أداة القص المنظوري + Show Grid إظهار الشبكة + Drag a box or click four corners · drag the corners onto the edges of a skewed shape · {commit} commits · Esc cancels اسحب مربعًا أو انقر أربع زوايا · اسحب الزوايا إلى حواف شكل مائل · {commit} يثبت · Esc يلغي + Artboard Tool أداة لوح الفن + Make Portrait جعله عموديًا + Make Landscape جعله أفقيًا + Add New Artboard إضافة لوح فن جديد + Freeform Pen Tool أداة القلم الحر + Curvature Pen Tool أداة قلم الانحناء + Curve Fit: ملاءمة المنحنى: + Drag: draw freehand · {alt}-click: straight segment · Release on the start point: close سحب: رسم يدوي · نقر مع {alt}: مقطع مستقيم · الإفلات على نقطة البداية: إغلاق + Click: smooth point · Double-click: corner · Drag a point: move · Click first point: close · {key} finish نقر: نقطة ناعمة · نقر مزدوج: زاوية · سحب نقطة: نقل · نقر أول نقطة: إغلاق · {key} إنهاء + Scale: مقياس: + Snap to Origin التقاط إلى الأصل + Link with Layer ربط مع الطبقة + Rasterize Layer Style تحويل نمط الطبقة إلى نقطي + Search settings… بحث في الإعدادات… + No matching settings لا توجد إعدادات مطابقة + Loading fonts… تحميل الخطوط… + Tool أداة + Simulate Pressure محاكاة الضغط + Stroke Path… حدود المسار… + Background Eraser ممحاة الخلفية + Healing Brush فرشاة المعالجة + Spot Healing Brush فرشاة المعالجة الموضعية + Smudge لطخ + Sponge إسفنج + Amount: مقدار: + Protect: حماية: + Protect skin tones حماية درجات لون البشرة + Edit points to modify the curve حرّر النقاط لتعديل المنحنى + Draw to modify the curve ارسم لتعديل المنحنى +curves Smooth تنعيم + Smooth the curve values تنعيم قيم المنحنى + Drag to draw the curve · {key}-click draws a straight line اسحب لرسم المنحنى · نقر مع {key} يرسم خطًا مستقيمًا + Grid Size: حجم الشبكة: + Vanishing Point: click four corners to create a plane نقطة التلاشي: انقر أربع زوايا لإنشاء مستوى + Vanishing Point is not active نقطة التلاشي غير نشطة + Apply Vanishing Point ({key}) تطبيق نقطة التلاشي ({key}) + Fix the red plane first: its corners must form a convex quad أصلح المستوى الأحمر أولًا: يجب أن تشكل زواياه رباعيًا محدبًا +# Select and Mask view modes (#1754) + Onion Skin قشرة البصل + Marching Ants نمل زاحف + On Black على الأسود + On White على الأبيض + On Layers على الطبقات + Show Edge إظهار الحافة + Show Original إظهار الأصلي + F cycles the views; hold X to see the image F يبدل العروض؛ اضغط X لرؤية الصورة +# Select and Mask Refine Edge Brush (#2972) + Refine Edge Brush (R) فرشاة تحسين الحافة (R) + Expand Detection Area توسيع منطقة الكشف + Restore Original Edge استعادة الحافة الأصلية + Paint over hair or fur on the image; Alt paints the other mode ارسم على الشعر أو الفراء في الصورة؛ Alt يرسم في الوضع الآخر + Clear Brush Strokes مسح حدود الفرشاة + Show rulers إظهار المساطر + New Crop Preset… إعداد قص مسبق جديد… + Delete Crop Preset… حذف إعداد القص المسبق… + Select the crop presets to delete: حدد إعدادات القص المسبقة للحذف: + Select the crop presets to delete حدد إعدادات القص المسبقة للحذف + Enter a name for the crop preset أدخل اسمًا لإعداد القص المسبق + There is no crop size or ratio to save لا يوجد حجم أو نسبة قص للحفظ + +# Color Sampler (added with the i18n coverage repair) + Click to place · Alt-click or drag off-canvas to remove انقر للوضع · نقر مع Alt أو اسحب خارج اللوحة للإزالة + No document open لا يوجد مستند مفتوح + {n} of {max} sample points {n} من {max} نقاط عينة +# Print dialog (#2697) + Emulsion Down المستحلب لأسفل + Functions وظائف + Print Resolution: دقة الطباعة: + Use Previous Layer to Create Clipping Mask استخدام الطبقة السابقة لإنشاء قناع قص + Fill with {mode}-neutral color (white) تعبئة بلون محايد لوضع {mode} (أبيض) + Fill with {mode}-neutral color (black) تعبئة بلون محايد لوضع {mode} (أسود) + Fill with {mode}-neutral color (50% gray) تعبئة بلون محايد لوضع {mode} (رمادي 50%) + (No neutral color exists for {mode} mode.) (لا يوجد لون محايد لوضع {mode}.) + Apply mask to layer before removing? تطبيق القناع على الطبقة قبل الإزالة؟ + The layer or its mask changed. Drag the mask onto the Trash again. تغيرت الطبقة أو قناعها. اسحب القناع إلى سلة المهملات مرة أخرى. + Delete the vector mask? حذف القناع المتجه؟ +# Counted status messages and labels (#3454; adapted from PR #3821) +@plural Exported {n} swatch to {file}|Exported {n} swatches to {file} تم تصدير {n} عينة إلى {file}|تم تصدير {n} عينة إلى {file}|تم تصدير {n} عينتين إلى {file}|تم تصدير {n} عينات إلى {file}|تم تصدير {n} عينة إلى {file}|تم تصدير {n} عينة إلى {file} +@plural Imported {n} brush from {group}|Imported {n} brushes from {group} تم استيراد {n} فرشاة من {group}|تم استيراد {n} فرشاة من {group}|تم استيراد {n} فرشاتين من {group}|تم استيراد {n} فرش من {group}|تم استيراد {n} فرشاة من {group}|تم استيراد {n} فرشاة من {group} +@plural Imported {n} swatch from {file}|Imported {n} swatches from {file} تم استيراد {n} عينة من {file}|تم استيراد {n} عينة من {file}|تم استيراد {n} عينتين من {file}|تم استيراد {n} عينات من {file}|تم استيراد {n} عينة من {file}|تم استيراد {n} عينة من {file} +@plural Played {n} step|Played {n} steps تم تشغيل {n} خطوة|تم تشغيل {n} خطوة|تم تشغيل {n} خطوتين|تم تشغيل {n} خطوات|تم تشغيل {n} خطوة|تم تشغيل {n} خطوة +@plural Updated {n} linked smart object changed on disk|Updated {n} linked smart objects changed on disk تم تحديث {n} كائن ذكي مرتبط تغير على القرص|تم تحديث {n} كائن ذكي مرتبط تغير على القرص|تم تحديث {n} كائنين ذكيين مرتبطين تغيرا على القرص|تم تحديث {n} كائنات ذكية مرتبطة تغيرت على القرص|تم تحديث {n} كائن ذكي مرتبط تغير على القرص|تم تحديث {n} كائن ذكي مرتبط تغير على القرص +@plural Saved for Web: {n} file|Saved for Web: {n} files تم الحفظ للويب: {n} ملف|تم الحفظ للويب: {n} ملف|تم الحفظ للويب: {n} ملفان|تم الحفظ للويب: {n} ملفات|تم الحفظ للويب: {n} ملفًا|تم الحفظ للويب: {n} ملف +@plural {n} layer recorded by this comp was deleted. Update the comp, or clear the warning.|{n} layers recorded by this comp were deleted. Update the comp, or clear the warning. تم حذف {n} طبقة مسجلة في هذه التركيبة. حدّث التركيبة أو امسح التحذير.|تم حذف {n} طبقة مسجلة في هذه التركيبة. حدّث التركيبة أو امسح التحذير.|تم حذف {n} طبقتين مسجلتين في هذه التركيبة. حدّث التركيبة أو امسح التحذير.|تم حذف {n} طبقات مسجلة في هذه التركيبة. حدّث التركيبة أو امسح التحذير.|تم حذف {n} طبقة مسجلة في هذه التركيبة. حدّث التركيبة أو امسح التحذير.|تم حذف {n} طبقة مسجلة في هذه التركيبة. حدّث التركيبة أو امسح التحذير. +@plural {n} plane|{n} planes {n} مستوى|{n} مستوى|{n} مستويان|{n} مستويات|{n} مستوى|{n} مستوى +@plural {n} preset|{n} presets {n} إعداد مسبق|{n} إعداد مسبق|{n} إعدادان مسبقان|{n} إعدادات مسبقة|{n} إعدادًا مسبقًا|{n} إعداد مسبق +@plural {n} sample point removed|{n} sample points removed تمت إزالة {n} نقطة عينة|تمت إزالة {n} نقطة عينة|تمت إزالة {n} نقطتي عينة|تمت إزالة {n} نقاط عينة|تمت إزالة {n} نقطة عينة|تمت إزالة {n} نقطة عينة +@plural {n} slice|{n} slices {n} شريحة|{n} شريحة|{n} شريحتان|{n} شرائح|{n} شريحة|{n} شريحة +@plural {n} step|{n} steps {n} خطوة|{n} خطوة|{n} خطوتان|{n} خطوات|{n} خطوة|{n} خطوة +@plural {warning} (+{n} more brush preset warning)|{warning} (+{n} more brush preset warnings) {warning} (و{n} تحذير إضافي لإعداد الفرشاة)|{warning} (و{n} تحذير إضافي لإعداد الفرشاة)|{warning} (و{n} تحذيران إضافيان لإعداد الفرشاة)|{warning} (و{n} تحذيرات إضافية لإعداد الفرشاة)|{warning} (و{n} تحذيرًا إضافيًا لإعداد الفرشاة)|{warning} (و{n} تحذير إضافي لإعداد الفرشاة) +@plural {what} with {n} warning|{what} with {n} warnings {what} مع {n} تحذير|{what} مع {n} تحذير|{what} مع {n} تحذيران|{what} مع {n} تحذيرات|{what} مع {n} تحذيرًا|{what} مع {n} تحذير +# View › Guides › New Guide… › Color + Light Blue أزرق فاتح + Light Red أحمر فاتح + Medium Blue أزرق متوسط + Light Gray رمادي فاتح + Remove after each stroke إزالة بعد كل حد + Apply the removal ({key}) تطبيق الإزالة ({key}) + Strokes to remove: {n} (Enter applies, Esc cancels) حدود للإزالة: {n} (Enter يطبق، Esc يلغي) diff --git a/crates/ui-egui/src/i18n/hu.tsv b/crates/ui-egui/src/i18n/hu.tsv index 080e204aaa..91fdbc9505 100644 --- a/crates/ui-egui/src/i18n/hu.tsv +++ b/crates/ui-egui/src/i18n/hu.tsv @@ -3970,3 +3970,4 @@ cameraRaw Yellow Sárga Transform On Drop Átalakítás elengedéskor Vanishing Point is not active Az Enyészpont nem aktív Vanishing Point: click four corners to create a plane Enyészpont: sík létrehozásához kattintson a négy sarokra + Enable animations Animációk engedélyezése diff --git a/crates/ui-egui/src/i18n/live_tests.rs b/crates/ui-egui/src/i18n/live_tests.rs index 6dcec32e92..a8a71c1182 100644 --- a/crates/ui-egui/src/i18n/live_tests.rs +++ b/crates/ui-egui/src/i18n/live_tests.rs @@ -231,7 +231,7 @@ fn first_launch_renders_the_system_language_without_overwriting_auto() { #[test] fn missing_or_unsupported_system_languages_render_english() { - for tags in [vec![], vec!["sv-SE", "ar-SA"]] { + for tags in [vec![], vec!["sv-SE", "xx-XX"]] { system::with_system_tags(&tags, || { with_language(Lang::EN, || { let h = harness(); diff --git a/crates/ui-egui/src/i18n/mod.rs b/crates/ui-egui/src/i18n/mod.rs index bdf4ef5565..fb37901297 100644 --- a/crates/ui-egui/src/i18n/mod.rs +++ b/crates/ui-egui/src/i18n/mod.rs @@ -115,6 +115,17 @@ fn plural_polish(n: u64) -> usize { } } +/// Arabic (CLDR): 0 → zero, 1 → one, 2 → two, 3–10 → few, 11–99 → many, 100+ → other. +fn plural_arabic(n: u64) -> usize { + match n { + 0 => 0, + 1 => 1, + 2 => 2, + 3..=10 => 3, + 11..=99 => 4, + _ => 5, + } +} /// A catalog file as packed by build.rs (`pack_catalogs`; the binary would otherwise carry ~2.2 MB /// of translations, which the web build's size gate can't afford). See [`unpack`]. macro_rules! catalog { @@ -187,8 +198,9 @@ fn expand(packed: &str, keys: &[&str]) -> Result { } /// The registry. English first: it is the fallback and the source language. -pub static LANGUAGES: [LangInfo; 20] = [ +pub static LANGUAGES: [LangInfo; 21] = [ LangInfo { code: "en", name: "English", source: b"", plural: plural_one_other, complete_menus: false, catalog: OnceLock::new() }, + LangInfo { code: "ar", name: "العربية", source: catalog!("ar"), plural: plural_arabic, complete_menus: true, catalog: OnceLock::new(),}, LangInfo { code: "ja", name: "日本語", source: catalog!("ja"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, LangInfo { code: "zh-hans", name: "简体中文", source: catalog!("zh-hans"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, // Traditional Chinese in the vocabulary used in Taiwan; `zh-TW`, `zh-HK`, `zh-MO` and `zh-Hant-*` diff --git a/crates/ui-egui/src/i18n/system.rs b/crates/ui-egui/src/i18n/system.rs index 0b9118386a..e8ee443d25 100644 --- a/crates/ui-egui/src/i18n/system.rs +++ b/crates/ui-egui/src/i18n/system.rs @@ -91,7 +91,7 @@ mod tests { (vec!["zh-Hant-HK", "zh-CN"], "zh-hant"), (vec!["zh-Hans-CN", "zh-TW"], "zh-hans"), (vec!["en-US", "ru-RU"], "en"), - (vec!["sv-SE", "ar-SA"], "en"), + (vec!["sv-SE", "xx-XX"], "en"), (vec!["de-AT", "en-US"], "de"), (vec!["pt-PT"], "pt-br"), (vec!["it-IT", "en-US"], "it"), diff --git a/crates/ui-egui/src/i18n/tr.tsv b/crates/ui-egui/src/i18n/tr.tsv index 617ad81fd9..b376b1bab4 100644 --- a/crates/ui-egui/src/i18n/tr.tsv +++ b/crates/ui-egui/src/i18n/tr.tsv @@ -202,10 +202,10 @@ Lab Color Laboratuvar Rengi Multichannel Çok kanallı 8 Bits/Channel 8 Bit/Kanal - 8 bit 8 bit + 8 bit 8 Bit Integer Tamsayı 16 Bits/Channel 16 Bit/Kanal - 16 bit 16 bit + 16 bit 16 Bit 32 Bits/Channel 32 Bit/Kanal 32 bit (float) 32 bit (kayan) Floating point Kayan nokta @@ -3782,3 +3782,6 @@ cameraData Lens Lens @plural {n} step|{n} steps {n} adım @plural {warning} (+{n} more brush preset warning)|{warning} (+{n} more brush preset warnings) {warning} (+{n} fırça ön ayarı uyarısı daha) @plural {what} with {n} warning|{what} with {n} warnings {what}, {n} uyarı ile + + + Enable animations Animasyonları etkinleştir \ No newline at end of file From 71ad0b4fa70d461627db1f088ebfc2ad604b7129 Mon Sep 17 00:00:00 2001 From: azizr12 Date: Tue, 13 Oct 2026 04:27:24 +0000 Subject: [PATCH 29/60] ar 1814/1814 100.00% --- crates/ui-egui/src/i18n/ar.tsv | 45 ++++++++++++++++++++++++++++++++++ crates/ui-egui/src/i18n/mod.rs | 2 +- 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index c45b5ebf54..fc87c6cb4c 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -2989,3 +2989,48 @@ cameraData Lens العدسة @plural {n} step|{n} steps {n} خطوة|{n} خطوة|{n} خطوتان|{n} خطوات|{n} خطوة|{n} خطوة @plural {warning} (+{n} more brush preset warning)|{warning} (+{n} more brush preset warnings) {warning} (+{n} تحذير إضافي بشأن إعدادات الفرشاة المسبقة)|{warning} (+{n} تحذير إضافي بشأن إعدادات الفرشاة المسبقة)|{warning} (+{n} تحذيران إضافيان بشأن إعدادات الفرشاة المسبقة)|{warning} (+{n} تحذيرات إضافية بشأن إعدادات الفرشاة المسبقة)|{warning} (+{n} تحذيراً إضافياً بشأن إعدادات الفرشاة المسبقة)|{warning} (+{n} تحذيراً إضافياً بشأن إعدادات الفرشاة المسبقة) @plural {what} with {n} warning|{what} with {n} warnings {what} مع {n} تحذير|{what} مع {n} تحذير|{what} مع {n} تحذيرين|{what} مع {n} تحذيرات|{what} مع {n} تحذيراً|{what} مع {n} تحذيراً + Action playback stopped توقف تشغيل الإجراء + Add Open Files إضافة الملفات المفتوحة + Allow Continue السماح بالمتابعة + Apply the removal ({key}) تطبيق الإزالة ({key}) + Attempt to Automatically Align Source Images محاولة محاذاة الصور المصدر تلقائياً + Auto Add/Delete إضافة/حذف تلقائي + Choose a gradient file (.grd). اختر ملف تدرج (.grd). + Clear Brush Controls مسح عناصر تحكم الفرشاة + Copy Texture to Other Tools نسخ النسيج إلى الأدوات الأخرى + Create Smart Object after Loading Layers إنشاء كائن ذكي بعد تحميل الطبقات + Drag to pan · Scroll to zoom · Double-click to fit اسحب للتحريك · مرّر للتكبير · انقر مرتين للملاءمة + Files الملفات + Folder مجلد + Gradient Preset Options خيارات إعدادات التدرج المسبقة + Import .GRD استيراد .GRD + Insert Stop… إدراج نقطة توقف… + Load Actions… تحميل الإجراءات… + Load Settings… تحميل الإعدادات… + Load settings from a Camera Raw .xmp file تحميل الإعدادات من ملف Camera Raw ‏.xmp + Loaded Camera Raw settings from {file} تم تحميل إعدادات Camera Raw من {file} + Manage submitted jobs in the system print queue إدارة المهام المرسلة في قائمة انتظار الطباعة بالنظام + Merge Group دمج المجموعة + Message: الرسالة: + No object found there — drag a rectangle around it لم يتم العثور على كائن هناك — اسحب مستطيلاً حوله + Object Finder مكتشف المجسمات + Remove after each stroke إزالة بعد كل ضربة + Reset All Locked Settings إعادة تعيين كل الإعدادات المقفلة + Save Actions… حفظ الإجراءات… + Save Settings… حفظ الإعدادات… + Save Set… حفظ المجموعة… + Save these settings as a Camera Raw .xmp file حفظ هذه الإعدادات كملف Camera Raw ‏.xmp + Select an action first حدد إجراءً أولاً + Show dialog during playback إظهار مربع الحوار أثناء التشغيل + Soft Dark Theme سمة داكنة ناعمة + Soft Light Theme سمة فاتحة ناعمة + Sort By Name ترتيب حسب الاسم + Source Files الملفات المصدر + Strokes to remove: {n} (Enter applies, Esc cancels) الضربات المراد إزالتها: {n} (Enter للتطبيق، Esc للإلغاء) + Use: استعمل: + {name} (Photoshop) {name} (Photoshop) +@plural Loaded {n} action from {file}|Loaded {n} actions from {file} تم تحميل {n} إجراء من {file}|تم تحميل {n} إجراء من {file}|تم تحميل {n} إجرائين من {file}|تم تحميل {n} إجراءات من {file}|تم تحميل {n} إجراء من {file}|تم تحميل {n} إجراء من {file} +@plural Saved {n} action to {file}|Saved {n} actions to {file} تم حفظ {n} إجراء في {file}|تم حفظ {n} إجراء في {file}|تم حفظ {n} إجرائين في {file}|تم حفظ {n} إجراءات في {file}|تم حفظ {n} إجراء في {file}|تم حفظ {n} إجراء في {file} +@plural {n} action|{n} actions {n} إجراء|{n} إجراء|{n} إجراءان|{n} إجراءات|{n} إجراء|{n} إجراء +@plural {n} step has no PhotoCraft equivalent yet|{n} steps have no PhotoCraft equivalent yet {n} خطوة ليس لها مكافئ في PhotoCraft بعد|{n} خطوة ليس لها مكافئ في PhotoCraft بعد|{n} خطوتان ليس لهما مكافئ في PhotoCraft بعد|{n} خطوات ليس لها مكافئ في PhotoCraft بعد|{n} خطوة ليس لها مكافئ في PhotoCraft بعد|{n} خطوة ليس لها مكافئ في PhotoCraft بعد +@plural {n} step with no Photoshop equivalent left out|{n} steps with no Photoshop equivalent left out تم استبعاد {n} خطوة ليس لها مكافئ في Photoshop|تم استبعاد {n} خطوة ليس لها مكافئ في Photoshop|تم استبعاد {n} خطوتين ليس لهما مكافئ في Photoshop|تم استبعاد {n} خطوات ليس لها مكافئ في Photoshop|تم استبعاد {n} خطوة ليس لها مكافئ في Photoshop|تم استبعاد {n} خطوة ليس لها مكافئ في Photoshop diff --git a/crates/ui-egui/src/i18n/mod.rs b/crates/ui-egui/src/i18n/mod.rs index b81c7b81be..da36b973cd 100644 --- a/crates/ui-egui/src/i18n/mod.rs +++ b/crates/ui-egui/src/i18n/mod.rs @@ -207,7 +207,7 @@ fn expand(packed: &str, keys: &[&str]) -> Result { } /// The registry. English first: it is the fallback and the source language. -pub static LANGUAGES: [LangInfo; 21] = [ +pub static LANGUAGES: [LangInfo; 22] = [ LangInfo { code: "en", name: "English", source: b"", plural: plural_one_other, complete_menus: false, catalog: OnceLock::new() }, LangInfo { code: "ja", name: "日本語", source: catalog!("ja"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, LangInfo { code: "zh-hans", name: "简体中文", source: catalog!("zh-hans"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, From 1ea1c27c0abda9c2815f031851b854af8dea1eb5 Mon Sep 17 00:00:00 2001 From: hasan-sdaif <306196098+hasan-sdaif@users.noreply.github.com> Date: Mon, 12 Oct 2026 23:22:15 +0000 Subject: [PATCH 30/60] =?UTF-8?q?Add=20Arabic=20(=D8=A7=D9=84=D8=B9=D8=B1?= =?UTF-8?q?=D8=A8=D9=8A=D8=A9)=20interface=20translation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit An ar.tsv catalog (2,597 rows: the complete zh-hans key set, with the @id/@msg/contextual rows and the six-form @plural rows) for the whole interface — every menu label, panel, dialog, filter, tool and status message — written from the plain meaning of the English with the photo-editing vocabulary Arabic Photoshop users know (طبقات الضبط، إسقاط الظل، تعبئة المحتوى، توازن اللون…) and count-neutral wording where English pluralizes. Bibliography-style format names stay Latin. Registers ar in LANGUAGES with plural_arabic following CLDR above 99 (n % 100 = 3..10 is few, 11..99 is many), picks up photocraft's own built-in right-to-left shell automatically (RTL_LANGUAGES already contains ar), and adds the LICENSE-translations.txt Arabic paragraph. build.rs deflates every src/i18n/*.tsv by name, so the catalog is picked up without code changes. --- .../ui-egui/src/i18n/LICENSE-translations.txt | 7 +- crates/ui-egui/src/i18n/ar.tsv | 2603 +++++++++++++++++ crates/ui-egui/src/i18n/mod.rs | 19 + 3 files changed, 2627 insertions(+), 2 deletions(-) create mode 100644 crates/ui-egui/src/i18n/ar.tsv diff --git a/crates/ui-egui/src/i18n/LICENSE-translations.txt b/crates/ui-egui/src/i18n/LICENSE-translations.txt index c33e7a21e9..962db1c98c 100644 --- a/crates/ui-egui/src/i18n/LICENSE-translations.txt +++ b/crates/ui-egui/src/i18n/LICENSE-translations.txt @@ -1,6 +1,6 @@ PhotoCraft's Korean, German, Brazilian Portuguese, Italian, Ukrainian, Dutch, Czech, Turkish, -Hungarian and Serbian UI translation catalogs are licensed under MIT OR Apache-2.0, at your option. -The full license texts are in ../../../../LICENSE-MIT and ../../../../LICENSE-APACHE. +Hungarian, Serbian and Arabic UI translation catalogs are licensed under MIT OR Apache-2.0, at +your option. The full license texts are in ../../../../LICENSE-MIT and ../../../../LICENSE-APACHE. Korean translations: PhotoCraft contributors, original translations of PhotoCraft's English labels; no proprietary translation resources were used. @@ -31,3 +31,6 @@ PhotoCraft's English labels; no proprietary translation resources were used. Serbian translations: PhotoCraft contributors, original translations of PhotoCraft's English labels; no proprietary translation resources were used. + +Arabic translations: PhotoCraft contributors, original translations of +PhotoCraft's English labels; no proprietary translation resources were used. diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv new file mode 100644 index 0000000000..e7c710d5e8 --- /dev/null +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -0,0 +1,2603 @@ +# Arabic (ar) catalog. Same format as `zh-hant.tsv`: context source translation. +# Clean-room: original translations written from the plain meaning of the English text using +# ordinary Arabic image-editing vocabulary (طبقة، قناع، تحديد، مرشح، منحنى، شبكة، مسار…). No +# proprietary localisation resource was consulted. Product and technology names (PhotoCraft, +# ArtCraft, OpenType, CMYK, Lab…) stay in Latin letters; the trailing "…" of dialog commands and +# {placeholders} are kept. العربية تقرأ من اليمين إلى اليسار: الواجهة تعكس اتجاهها مع هذه اللغة. + Columns أعمدة + Rows صفوف + Number رقم + Margin هامش + Top: أعلى: + Left: اليسار: + Bottom: الأسفل: + Right: يمين: + Target: الهدف: + Selected Artboards لوحات الرسم المحددة + Center Columns توسيط الأعمدة + Clear Existing Guides مسح الأدلة الموجودة + Invalid guide layout تخطيط أدلة غير صالح + Leave empty for automatic size اتركه فارغاً للحجم التلقائي + 5 Columns, 3 Rows 5 أعمدة، 3 صفوف + 8 Columns 8 أعمدة + 12 Columns 12 عموداً + File ملف + Edit تحرير + Image صورة + Layer طبقة + Type نص + Select تحديد + Selected محددة + Scope النطاق + Top Left أعلى اليسار + Top Right أعلى اليمين + Bottom Left أسفل اليسار + Bottom Right أسفل اليمين + Filter تصفية + View عرض + Window نافذة + Help مساعدة + (coming soon) (قريباً) + New… جديد… + New from Clipboard جديد من الحافظة + Open… فتح… + Open As… فتح كـ… + Open EXR Parts… فتح أجزاء EXR… + Add beauty precomp from the AOVs إضافة تركيبة جمالية من AOVs + Both كلاهما + Left يسار + Right يمين + Open Recent فتح الملفات الأخيرة + Clear Recent Files مسح الملفات الأخيرة + Remove from Recent إزالة من الأخيرة + Remove {name} from Recent إزالة {name} من الأخيرة + Close إغلاق + Minimize تصغير + Maximize تكبير + Restore استعادة + Close All إغلاق الكل + Close Others إغلاق البقية + Save حفظ + Save As… حفظ باسم… + Save a Copy… حفظ نسخة… + Revert استعادة + Export تصدير + Quick Export as PNG تصدير سريع كـ PNG + Export As… تصدير كـ… + Export Preferences… تصدير التفضيلات… + Save for Web (Legacy)… حفظ للويب (كلاسيكي)… + Artboards to Files… لوحات الرسم إلى ملفات… + Artboards to PDF… لوحات الرسم إلى PDF… + Layers to Files… الطبقات إلى ملفات… + Layer Comps to Files… تراكيب الطبقات إلى ملفات… + Color Lookup Tables… جداول بحث الألوان… + Data Sets as Files… أطقم البيانات كملفات… + Paths to Illustrator… المسارات إلى Illustrator… + Render Video… تصيير فيديو… + Generate توليد + Image Assets أصول الصور + Place Embedded… وضع مضمّن… + Place Linked… وضع مرتبط… + Package… تجميع… + Automate أتمتة + Batch… دفعات… + Create Droplet… إنشاء قطارة… + Crop and Straighten Photos قصّ وتسوية الصور + Contact Sheet II… ورقة اتصال II… + Conditional Mode Change… تغيير الوضع المشروط… + Fit Image… ملاءمة الصورة… + Lens Correction… تصحيح العدسة… + Merge to HDR Pro… دمج إلى HDR Pro… + Photomerge… دمج صور… + Scripts السكربتات + Image Processor… معالج الصور… + Delete All Empty Layers حذف كل الطبقات الفارغة + Flatten All Layer Effects تسطيح كل تأثيرات الطبقات + Flatten All Masks تسطيح كل الأقنعة + Script Events Manager… مدير أحداث البرمجة… + Import استيراد + Browse… استعراض… + Reveal in Finder إظهار في Finder + Show in Explorer إظهار في المستكشف + Show in Folder إظهار في المجلد + File Info… معلومات الملف… + Print… طباعة… + Print One Copy طباعة نسخة واحدة + Exit إنهاء + Undo تراجع + Redo إعادة + Toggle Last State تبديل الحالة الأخيرة + Fade… تلاشٍ… + Cut قص + Copy نسخ + Copy Merged نسخ مدموجاً + Paste لصق + Paste Special لصق خاص + Paste in Place لصق في الموضع نفسه + Paste Into لصق داخل + Paste Outside لصق خارج التحديد + Paste Lorem Ipsum لصق نص حشو + Clear مسح + Search… بحث… + Check Spelling… تدقيق إملائي… + Find and Replace Text… بحث واستبدال نص… + Fill… تعبئة… + Stroke… حد… + Content-Aware Fill… تعبئة واعية بالمحتوى… + Delete and Fill Selection حذف وتعبئة التحديد + Content-Aware Scale تحجيم واعٍ بالمحتوى + Puppet Warp تحريك الدمية + Perspective Warp تشويه المنظور + Free Transform تحويل حر + Free Transform a Copy تحويل حر لنسخة + Transform تحويل + Again مجدداً + Transform Again on a Copy تحويل مجدداً على نسخة + Scale تحجيم + Rotate تدوير + Skew إمالة + Distort تشويه + Perspective منظور + Warp تموج + Flip Horizontal قلب أفقي + Flip Vertical قلب عمودي + Rotate 180° تدوير 180° + Rotate 90° Clockwise تدوير 90° مع عقارب الساعة + Rotate 90° Counter Clockwise تدوير 90° عكس عقارب الساعة + 180° 180° + 90° Clockwise 90° مع عقارب الساعة + 90° Counter Clockwise 90° عكس عقارب الساعة + Arbitrary… زاوية اعتباطية… + Auto-Align Layers… محاذاة تلقائية للطبقات… + Auto-Blend Layers… مزج تلقائي للطبقات… + Define Brush Preset… تعريف إعداد فرشاة مسبق… + Define Pattern… تعريف نقشة… + Define Custom Shape… تعريف شكل مخصص… + Purge تنقية + Clipboard الحافظة + Histories السجلات + Video Cache ذاكرة الفيديو المؤقتة + All الكل + Adobe PDF Presets… إعدادات Adobe PDF المسبقة… + Presets إعدادات مسبقة + Preset Manager… مدير الإعدادات المسبقة… + Migrate Presets ترحيل الإعدادات المسبقة + Export/Import Presets… تصدير/استيراد الإعدادات المسبقة… + Color Settings… إعدادات الألوان… + Assign Profile… إسناد ملف تعريف… + Convert to Profile… تحويل إلى ملف تعريف… + Keyboard Shortcuts… اختصارات لوحة المفاتيح… + Menus… القوائم… + Toolbar… شريط الأدوات… + Preferences تفضيلات + General… عام… + Interface… الواجهة… + Workspace… مساحة العمل… + Tools… الأدوات… + History Log… سجل التاريخ… + File Handling… معالجة الملفات… + Export… تصدير… + Performance… الأداء… + Scratch Disks… أقراص الملفات المؤقتة… + Cursors… المؤشرات… + Transparency & Gamut… الشفافية والمدى… + Units & Rulers… الوحدات والمساطر… + Guides, Grid & Slices… الأدلة والشبكة والشرائح… + Plug-ins… المكونات الإضافية… + Type… نص… + 3D… ثلاثي الأبعاد… + Enhanced Controls… عناصر تحكم محسّنة… + Technology Previews… معاينات تقنية… + Camera Raw… Camera Raw… + Raw Defaults… افتراضيات الخام… + Integrations… التكاملات… + AI Integrations… تكاملات الذكاء الاصطناعي… + Install Plug-in… تثبيت مكون إضافي… + Language Options خيارات اللغة + Settings… إعدادات… + Mode وضع + Bitmap صورة نقطية + Grayscale تدرج رمادي + Duotone ثنائي اللون + Indexed Color لون مفهرس + RGB Color لون RGB + CMYK Color لون CMYK + Lab Color لون Lab + Multichannel متعدد القنوات + 8 Bits/Channel 8 بت/قناة + 8 bit 8 بت + Integer عدد صحيح + 16 Bits/Channel 16 بت/قناة + 16 bit 16 بت + 32 Bits/Channel 32 بت/قناة + 32 bit (float) 32 بت (فاصلة عائمة) + Floating point فاصلة عائمة + Color Table… جدول الألوان… + Bitmap… صورة نقطية… + Duotone… ثنائي اللون… + Indexed Color… لون مفهرس… + Adjustments تعديلات + Brightness/Contrast… سطوع/تباين… + Levels… مستويات… + Curves… منحنيات… + Exposure… تعريض… + Vibrance… حيوية… + Hue/Saturation… تدرج لوني/تشبع… + Color Balance… موازنة الألوان… + Black & White… أبيض وأسود… + Photo Filter… مرشح صورة… + Channel Mixer… مازج القنوات… + Color Lookup… بحث لوني… + Invert عكس + Posterize… تقليل الألوان… + Threshold… عتبة… + Gradient Map… خريطة تدرج… + Selective Color… ألوان انتقائية… + Shadows/Highlights… ظلال/أبرز المناطق… + HDR Toning… تدرج HDR… + Desaturate إزالة التشبع + Match Color… مطابقة لون… + Replace Color… استبدال لون… + Equalize تسوية الدرجات + Auto Tone نبرة تلقائية + Auto Contrast تباين تلقائي + Auto Color لون تلقائي + Image Size… حجم الصورة… + Canvas Size… حجم اللوحة… + Image Rotation تدوير الصورة + Flip Canvas Horizontal قلب اللوحة أفقياً + Flip Canvas Vertical قلب اللوحة رأسياً + Crop قص + Trim… تشذيب… + Reveal All إظهار الكل + Duplicate… تكرار… + Apply Image… تطبيق صورة… + Calculations… حسابات… + Variables متغيرات + Define… تعريف… + Data Sets… أطقم بيانات… + Apply Data Set… تطبيق طقم بيانات… + Variable Data Sets… أطقم بيانات المتغيرات… + Trap… تضاد… + Analysis تحليل + Set Measurement Scale… ضبط مقياس القياس… + Select Data Points… تحديد نقاط البيانات… + Record Measurements تسجيل القياسات + Ruler Tool أداة المسطرة + Count Tool أداة العدّ + Place Scale Marker… وضع علامة مقياس… + Custom… مخصص… + New جديد + Layer… طبقة… + Group… مجموعة… + Group from Layers… مجموعة من طبقات… + Artboard… لوحة رسم… + Artboard from Group… لوحة رسم من مجموعة… + Artboard from Layers… لوحة رسم من طبقات… + Layer via Copy طبقة عبر النسخ + Layer via Cut طبقة عبر القص + Layer From Background… طبقة من الخلفية… + Layer from Background… طبقة من الخلفية… + Background From Layer خلفية من طبقة + Background from Layer خلفية من طبقة + New Shape Layer طبقة شكل جديدة + New Type Layer طبقة نص جديدة + New Fill Layer طبقة تعبئة جديدة + New Adjustment Layer طبقة تعديل جديدة + New Layer Based Slice شريحة جديدة من طبقة + New Smart Object via Copy كائن ذكي جديد عبر النسخ + New Blank Video Layer طبقة فيديو فارغة جديدة + New Video Layer from File… طبقة فيديو جديدة من ملف… + Duplicate Layer… تكرار الطبقة… + Delete Layer حذف الطبقة + Delete حذف + Rename Layer إعادة تسمية طبقة + Create Layer إنشاء طبقة + Layer Style نمط الطبقة + Blending Options… خيارات المزج… + Bevel & Emboss… شطف ونقش… + Use Global Light استخدام الإضاءة العامة + Inner Shadow… ظل داخلي… + Inner Glow… توهج داخلي… + Satin… ساتان… + Color Overlay… تراكب لوني… + Gradient Overlay… تراكب متدرج… + Pattern Overlay… تراكب نقشة… + Outer Glow… توهج خارجي… + Drop Shadow… ظل ساقط… + Copy Layer Style نسخ نمط الطبقة + Paste Layer Style لصق نمط الطبقة + Clear Layer Style مسح نمط الطبقة + Global Light… الإضاءة العامة… + Hide All Effects إخفاء كل التأثيرات + Scale Effects… تحجيم التأثيرات… + Smart Filter مرشح ذكي + Convert for Smart Filters تحويل لمرشحات ذكية + Clear Smart Filters مسح المرشحات الذكية + Disable Smart Filters تعطيل المرشحات الذكية + Delete Filter Mask حذف قناع المرشح + Disable Filter Mask تعطيل قناع المرشح + Solid Color… لون مصمت… + Gradient… تدرج… + Pattern… نقشة… + Layer Mask قناع الطبقة + Vector Mask قناع متجه + Reveal Selection إظهار التحديد + Hide Selection إخفاء التحديد + Hide All إخفاء الكل + From Transparency من الشفافية + Delete Vector Mask حذف القناع المتجه + Enable Layer Mask تمكين قناع الطبقة + Disable Layer Mask تعطيل قناع الطبقة + Enable Vector Mask تمكين القناع المتجه + Link Layer Mask ربط قناع الطبقة + Unlink Layer Mask إلغاء ربط قناع الطبقة + Link Vector Mask ربط القناع المتجه + Add Vector Mask إضافة قناع متجه + Vector Mask from Current Path قناع متجه من المسار الحالي + Create Clipping Mask إنشاء قناع اقتطاع + Release Clipping Mask تحرير قناع القص + Smart Objects كائنات ذكية + Smart Object كائن ذكي + Convert to Smart Object تحويل إلى كائن ذكي + Convert to Embedded تحويل إلى مضمّن + Convert to Layers تحويل إلى طبقات + Convert to Linked… تحويل إلى مرتبط… + Edit Contents تحرير المحتويات + Replace Contents… استبدال المحتويات… + Relink to File… إعادة ربط بملف… + Export Contents… تصدير المحتويات… + Update Modified Content تحديث المحتوى المعدل + Update All Modified Content تحديث كل المحتوى المعدل + Stack Mode وضع التكديس + Entropy الإنتروبيا + Kurtosis التفرطح + Maximum الحد الأقصى + Mean المتوسط + Median الوسيط + Minimum الحد الأدنى + Range نطاق + Skewness الالتواء + Standard Deviation الانحراف المعياري + Summation مجموع + Variance التباين + Video Layers طبقات الفيديو + Interpret Footage… تفسير اللقطات… + Replace Footage… استبدال اللقطة… + Reload Frame إعادة تحميل الإطار + Show Altered Video إظهار الفيديو المعدل + Restore Frame استعادة الإطار + Restore All Frames استعادة كل الإطارات + Insert Blank Frame إدراج إطار فارغ + Delete Frame حذف الإطار + Duplicate Frame تكرار الإطار + Frame from Layers إطار من طبقات + Video Frames to Layers… إطارات الفيديو إلى طبقات… + Rasterize تحويل إلى صورة نقطية + Rasterize Type تنقير النص + Rasterize Type Layer تنقير طبقة النص + Rasterize Shape تنقير الشكل + New Guide Layout… تخطيط أدلة جديد… + New Guides From Shape أدلة جديدة من شكل + Lock Layers… قفل الطبقات… + Link Layers ربط الطبقات + Select Linked Layers تحديد الطبقات المرتبطة + Merge Layers دمج الطبقات + Merge Down دمج لأسفل + Merge Group دمج المجموعة + Merge Visible دمج المرئي + Stamp Visible ختم المرئي + Select Layer Above تحديد الطبقة الأعلى + Select Layer Below تحديد الطبقة الأدنى + Select Top Layer تحديد الطبقة العليا + Select Bottom Layer تحديد الطبقة السفلى + Add Layer Above to Selection إضافة الطبقة الأعلى إلى التحديد + Add Layer Below to Selection إضافة الطبقة الأدنى إلى التحديد + Stamp Down ختم لأسفل + Flatten Image تسطيح الصورة + Matting إزالة الحواف + Color Decontaminate… تنقية اللون… + Remove Black Matte إزالة الحاشية السوداء + Remove White Matte إزالة الحاشية البيضاء + Defringe… إزالة الحافة… + Group Layers تجميع الطبقات + Ungroup Layers إلغاء تجميع الطبقات + Hide Layers إخفاء الطبقات + Arrange ترتيب + Bring to Front إحضار إلى المقدمة + Bring Forward إحضار إلى الأمام + Send Backward إرسال إلى الخلف خطوة + Send to Back إرسال إلى الخلف + Reverse عكس + Combine Shapes دمج الأشكال + Unite Shapes توحيد الأشكال + Subtract Front Shape طرح الشكل الأمامي + Intersect Shape Areas تقاطع مناطق الأشكال + Exclude Overlapping Shapes استثناء الأشكال المتداخلة + Merge Shape Components دمج مكونات الشكل + Align محاذاة + Top Edges الحواف العلوية + Vertical Centers المراكز الرأسية + Bottom Edges الحواف السفلية + Left Edges الحواف اليسرى + Horizontal Centers المراكز الأفقية + Right Edges الحواف اليمنى + Distribute توزيع + Vertically عموديًا + Horizontally أفقيًا + Layer Edges حواف الطبقة + Isolate Layers عزل الطبقات + Layer Content Options… خيارات محتوى الطبقة… + Fill Content محتوى التعبئة + Deselect Layers إلغاء تحديد الطبقات + Find Layers البحث عن طبقات + Layer Comps تراكيب الطبقات + Layers الطبقات + All Layers كل الطبقات + Hidden Layers الطبقات المخفية + Mask All Objects تقنيع كل الكائنات + Subject الموضوع + Sky السماء + Panels لوحات + Character Panel لوحة الحرف + Paragraph Panel لوحة الفقرة + Character Styles Panel لوحة أنماط المحارف + Paragraph Styles Panel لوحة أنماط الفقرات + Glyphs Panel لوحة المحارف + Anti-Alias تنعيم الحواف + Sharp حادّ + Crisp واضح + Strong قوية + Smooth تنعيم + Windows LCD Windows LCD + Windows Windows + Orientation الاتجاه + Horizontal أفقي + Vertical عمودي + OpenType OpenType + Standard Ligatures أرباط قياسية + Contextual Alternates بدائل سياقية + Discretionary Ligatures روابط اختيارية + Swash زخرفي + Oldstyle طراز قديم + Stylistic Alternates بدائل أسلوبية + Titling Alternates بدائل العناوين + Ornaments زخارف + Ordinals ترتيبية + Fractions كسور + Create Work Path إنشاء مسار عمل + Convert to Shape تحويل إلى شكل + Warp Text… تموج النص… + Convert to Point Text تحويل إلى نص نقطي + Convert to Paragraph Text تحويل إلى نص فقرة + Default Features الميزات الافتراضية + East Asian Features ميزات شرق آسيا + Middle Eastern Features ميزات الشرق الأوسط + Middle Eastern & South Asian Composer مؤلف الشرق الأوسط وجنوب آسيا + Update All Text Layers تحديث كل طبقات النص + Replace All Missing Fonts استبدال كل الخطوط المفقودة + Resolve Missing Fonts… حل الخطوط المفقودة… + Font Preview Size حجم معاينة الخط + None بلا + Small صغير + Medium متوسط + Large كبير + Extra Large كبير جداً + Huge ضخم + Load Default Type Styles تحميل أنماط النص الافتراضية + Save Default Type Styles حفظ أنماط النص الافتراضية + Deselect إلغاء التحديد + Reselect إعادة التحديد + Inverse عكسي + Inverse Selection عكس التحديد + Similar مشابه + Color Range… نطاق لوني… + Focus Area… منطقة التركيز… + Select and Mask… تحديد وقناع… + Smart Radius نصف قطر ذكي + Shift Edge إزاحة الحافة + Decontaminate تنقية + Output إخراج + Refine Edge تنقيح الحافة + Modify تعديل + Border… حد… + Smooth… تنعيم… + Expand… توسيع… + Contract… تقليص… + Feather… ريش… + Grow توسيع + Transform Selection تحويل التحديد + Edit in Quick Mask Mode تحرير في وضع القناع السريع + Load Selection… تحميل تحديد… + Save Selection… حفظ التحديد… + Match All مطابقة الكل + Last Filter المرشح الأخير + Filter Gallery… معرض المرشحات… + Adaptive Wide Angle… زاوية واسعة تكيفية… + Camera Raw Filter… مرشح Camera Raw… + Liquify… تمويع… + Vanishing Point… نقطة التلاشي… + Blur ضبابية + Blur Gallery معرض الضبابية + Field Blur… ضبابية مشهد… + Iris Blur… ضبابية قزحية… + Tilt-Shift… إزاحة ميل… + Path Blur… ضبابية مسار… + Spin Blur… ضبابية دوران… + Blur More ضبابية أكثر + Box Blur… ضبابية صندوقية… + Gaussian Blur… ضبابية غاوسية… + Lens Blur… ضبابية عدسة… + Motion Blur… ضبابية حركية… + Radial Blur… ضبابية شعاعية… + Shape Blur… ضبابية شكل… + Smart Blur… ضبابية ذكية… + Surface Blur… ضبابية سطح… + Average المتوسط + Displace… إزاحة… + Pinch… قرص… + Polar Coordinates… إحداثيات قطبية… + Ripple… تموج… + Shear… قص… + Spherize… تكوير… + Twirl… دوامة… + Wave… موجة… + ZigZag… متعرج… + Noise تشويش + Add Noise… إضافة تشويش… + Despeckle إزالة البقع + Dust & Scratches… غبار وخدوش… + Median… وسيط… + Reduce Noise… تقليل التشويش… + Pixelate تنقيط + Color Halftone… أنصاف ألوان… + Crystallize… تبلور… + Facet تسطيح + Fragment تجزئة + Mezzotint… طباعة ميزو… + Mosaic… فسيفساء… + Pointillize… تنقيطية… + Render تصيير + Clouds غيوم + Difference Clouds غيوم فوارق + Fibers… ألياف… + Flame… لهب… + Lens Flare… وميض العدسة… + Lighting Effects… تأثيرات الإضاءة… + Relight… إعادة إضاءة… + Picture Frame… إطار صورة… + Tree… شجرة… + Sharpen زيادة الحدة + Sharpen Edges زيادة حدة الحواف + Sharpen More زيادة الحدة أكثر + Smart Sharpen… زيادة حدة ذكية… + Unsharp Mask… قناع زيادة الحدة… + High Pass… تمرير عالٍ… + Stylize تنميط + Diffuse… انتشار… + Emboss… نقش بارز… + Extrude… بروز… + Find Edges بحث عن الحواف + Oil Paint… رسم زيتي… + Solarize تشميس + Tiles… بلاطات… + Trace Contour… تتبع الكفاف… + Wind… ريح… + Video فيديو + De-Interlace… فك تشابك… + NTSC Colors ألوان NTSC + Other أخرى + Maximum… أقصى… + Minimum… أدنى… + Offset… إزاحة… + Plug-ins المكونات الإضافية + Proof Setup إعداد المعاينة الطباعية + Proof Colors ألوان المعاينة الطباعية + Gamut Warning تحذير المدى + Working CMYK CMYK العامل + Working Cyan Plate لوح السيان العامل + Working Magenta Plate لوح الأرجواني العامل + Working Yellow Plate لوح الأصفر العامل + Working Black Plate لوح الأسود العامل + Working CMY Plate لوح CMY العامل + Legacy Macintosh RGB RGB ماكنتوشي قديم + Internet Standard RGB RGB قياسي للإنترنت + Monitor RGB RGB الشاشة + Color Blindness — Protanopia-type عمى الألوان — من البُرُوتاني + Color Blindness — Deuteranopia-type عمى الألوان — من النطاقي + Zoom In تكبير + Zoom Out تصغير + Fit on Screen ملاءمة الشاشة + Fit Layer(s) on Screen ملاءمة الطبقة/الطبقات في الشاشة + Fit Artboard on Screen ملاءمة لوحة الرسم في الشاشة + 100% 100% + 200% 200% + 75% 75% + 80% 80% + 85% 85% + 90% 90% + 95% 95% + 125% 125% + 150% 150% + 175% 175% + 250% 250% + 300% 300% + Print Size حجم الطباعة + Pixel Aspect Ratio نسبة أبعاد البكسل + Pixel Aspect Ratio Correction تصحيح نسبة أبعاد البكسل + Custom Pixel Aspect Ratio… نسبة أبعاد بكسل مخصصة… + Square مربع + D1/DV NTSC (0.91) D1/DV NTSC (0.91) + D1/DV NTSC Widescreen (1.21) D1/DV NTSC عريض (1.21) + D1/DV PAL (1.09) D1/DV PAL (1.09) + D1/DV PAL Widescreen (1.46) D1/DV PAL عريض (1.46) + Anamorphic 2:1 (2) أنامورفيك 2:1 (2) + HDV 1080/DVCPRO HD 720 (1.33) HDV 1080/DVCPRO HD 720 (1.33) + DVCPRO HD 1080/HDV 1080 (1.5) DVCPRO HD 1080/HDV 1080 (1.5) + 32-bit Preview Options… خيارات معاينة 32 بت… + Screen Mode وضع الشاشة + Standard Screen Mode وضع الشاشة القياسي + Full Screen Mode With Menu Bar وضع ملء الشاشة مع شريط القوائم + Full Screen Mode وضع ملء الشاشة + Cycle Screen Mode تدوير وضع الشاشة + Show إظهار + Extras إضافات + Selection Edges حواف التحديد + Target Path المسار الهدف + Current Path المسار الحالي + Grid شبكة + Guides أدلة + Canvas Guides أدلة اللوحة + Artboard Guides أدلة لوحة الرسم + Count العدد + Smart Guides أدلة ذكية + Slices شرائح + Notes ملاحظات + Pixel Grid شبكة البكسل + Pixel Art فن البكسل + Pixel Art Preview معاينة فن البكسل + Pattern Preview معاينة النقشة + Brush Preview معاينة الفرشاة + Mesh شبكة + Edit Pins تحرير الدبابيس + Document Bounds حدود المستند + Show Extras Options… خيارات إظهار الإضافات… + Rulers مساطر + Snap التقاط + Snap To الالتقاط إلى + Lock Guides قفل الأدلة + Clear Guides مسح الأدلة + Clear Selected Artboard Guides مسح أدلة لوحة الرسم المحددة + Clear Canvas Guides مسح أدلة اللوحة + New Guide… دليل جديد… + Lock Slices قفل الشرائح + Clear Slices مسح الشرائح + Match Zoom مطابقة التكبير + Match Location مطابقة الموقع + Match Rotation مطابقة التدوير + Cascade تتالي + Tile تجانب + Tile All Horizontally بلاط الكل أفقياً + Tile All Vertically بلاط الكل رأسياً + 2-up Horizontal 2-أعلى أفقياً + 2-up Vertical 2-أعلى رأسياً + 3-up Horizontal 3-أعلى أفقياً + 3-up Stacked 3-أعلى مكدسة + 3-up Vertical 3-أعلى رأسياً + 4-up 4-أعلى + 6-up 6-أعلى + Consolidate All to Tabs توحيد الكل في تبويبات + Float in Window تعويم في النافذة + Float All in Windows تعويم الكل في نوافذ + New Window for Document نافذة جديدة للمستند + Workspace مساحة العمل + Essentials الأساسيات + Graphic and Web رسوم وويب + Painting الرسم + Photography تصوير + New Workspace… مساحة عمل جديدة… + Delete Workspace… حذف مساحة العمل… + Reset Workspace إعادة تعيين مساحة العمل + Reset Tool إعادة ضبط الأداة + Reset All Tools إعادة ضبط كل الأدوات + Reset all tools to their default settings? إعادة ضبط كل الأدوات إلى إعداداتها الافتراضية؟ + Lock Workspace قفل مساحة العمل + Theme النسق + Pro Theme سمة احترافية + Pro Medium Gray Theme سمة رمادي متوسط احترافية + Pro Light Gray Theme سمة رمادي فاتح احترافية + Pro Light Theme سمة فاتحة احترافية + Studio Theme سمة الاستوديو + Studio Light Theme سمة الاستوديو الفاتحة + Adwaita Light Theme سمة Adwaita الفاتحة + Adwaita Dark Theme سمة Adwaita الداكنة + Classic Theme السمة الكلاسيكية + Solarized dark Solarized داكنة + Solarized Dark Theme سمة Solarized الداكنة + Breeze dark Breeze داكنة + Breeze Dark Theme سمة Breeze الداكنة + Breeze light Breeze فاتحة + Breeze Light Theme سمة Breeze الفاتحة + Next Theme السمة التالية + Actions الإجراءات + Brush Settings إعدادات الفرشاة + Brushes فرش + Channels قنوات + Character حرف + Character Styles أنماط الحروف + Clone Source مصدر الاستنساخ + Color لون + Glyphs محارف + Gradients تدرجات + Histogram مدرج تكراري + History سجل الإجراءات + Info معلومات + Measurement Log سجل القياس + Modifier Keys مفاتيح التعدييل + Navigator المتصفح + Options خيارات + Paragraph فقرة + Paragraph Styles أنماط الفقرات + Paths مسارات + Patterns الأنماط + Properties خصائص + Shapes أشكال + Styles الأنماط + Swatches عينات الألوان + Timeline خط زمني + Tool Presets إعدادات الأدوات المسبقة + Tools أدوات + About PhotoCraft حول PhotoCraft + PhotoCraft Website موقع PhotoCraft + PhotoCraft on GitHub PhotoCraft على GitHub + ArtCraft Website موقع ArtCraft + Join the ArtCraft Discord… الانضمام إلى Discord الخاص بـ ArtCraft… + Report an Issue… الإبلاغ عن مشكلة… + WIA Support… دعم WIA… + Apply تطبيق + HSB/HSL HSB/HSL + Invert… عكس… + Load Files into Stack… تحميل ملفات في كومة… + Motion الحركة + Notes… ملاحظات… + Other… أخرى… + Remove Warp Split إزالة انقسام التموج + Shape شكل + Split Warp Crosswise تقسيم التموج تصالبياً + Split Warp Horizontally تقسيم التموج أفقياً + Split Warp Vertically تقسيم التموج رأسياً + Statistics… إحصاءات… + Refine Strokes تنقيح الضربات +@plural {n} item|{n} items {n} عنصر|{n} عنصر|{n} عنصران|{n} عناصر|{n} عنصراً|{n} عنصر + Auto تلقائي + (print to the printer) (إخراج إلى الطابعة) + + Add variable + إضافة متغير + 30 frames @ 30 fps 30 إطاراً @ 30 إطار/ث + 3D LUT File ملف 3D LUT + Absolute مطلق + Absolute Colorimetric قياس لوني مطلق + Action إجراء + Adaptive تكيّفي + Adaptive Wide Angle isn't open الزاوية الواسعة التكيفية ليست مفتوحة + Add إضافة + Add Layer Mask إضافة قناع طبقة + Add Stop إضافة موضع توقف + Add a layer style إضافة نمط طبقة + Add a mask (from the selection; ⌥ inverts) إضافة قناع (من التحديد؛ ⌥ يعكس) + Add an adjustment إضافة ضبط + Add disk إضافة قرص + Add space after paragraph إضافة مسافة بعد الفقرة + Add space before paragraph إضافة مسافة قبل الفقرة + Add to Sample إضافة إلى العينة + Add to selection (⇧) إضافة إلى التحديد (⇧) + Adjust for Zoom ضبط مع التكبير + Adjustment visible الضبط مرئٍ + Adobe RGB (1998) compatible متوافق مع Adobe RGB (1998) + Airbrush: keeps painting while the pointer rests. المرذاذ: يواصل الرسم أثناء سكون المؤشر. + Align and Distribute محاذاة وتوزيع + Align and distribute محاذاة وتوزيع + Align horizontal centers محاذاة المراكز أفقيًا + Align left edges محاذاة الحواف اليسرى + Align right edges محاذاة الحواف اليمنى + Aligned مصطف + All Caps جميع الأحرف كبيرة + All Slices كل الشرائح + All User Slices كل شرائح المستخدم + All shortcuts reset to PhotoCraft defaults. أُعيدت كل الاختصارات إلى افتراضيات PhotoCraft. + Alt Alt + Alt-click to define a source point to clone from انقر مع Alt لتحديد نقطة مصدر للاستنساخ منها + Always use pressure for opacity استخدام الضغط دائماً للعتامة + Always use pressure for size استخدام الضغط دائماً للحجم + Amount المقدار + Anchor: الإرساء: + Angle الزاوية + Angle Gradient تدرج زاويّ + Angle Jitter ارتجاف الزاوية + Answer the unsaved-changes prompt first أجب أولاً على مطالبة التغييرات غير المحفوظة + Anti-alias تنعيم الحواف + Appearance مظهر + Appearance (Layer Style) المظهر (نمط الطبقة) + Apply Layer Mask تطبيق قناع الطبقة + Apply Per Tip تطبيق لكل رأس + Apply next selected layer comp تطبيق تركيب الطبقة المحدد التالي + Apply previous selected layer comp تطبيق تركيب الطبقة المحدد السابق + Artboard لوحة رسم + Artboard Background Color لون خلفية لوحة الرسم + Assign working space إسناد فضاء العمل + Author: المؤلف: + Auto Hide إخفاء تلقائي + Auto-Select: تحديد تلقائي: + Automatically level near-horizontal line segments تسوية القطع شبه الأفقية تلقائياً + Automatically straighten and level تسوية وتسطيح تلقيان + Automatically straighten near-vertical line segments تقويم القطع شبه الرأسية تلقائياً + Background خلفية + Background Color لون الخلفية + Background Contents محتويات الخلفية + Balance التوازن + Baseline خط الأساس + Baseline shift إزاحة خط الأساس + Basic أساسي + Before (Y) قبل (Y) + Begin recording بدء التسجيل + Bend: الانحناء: + Bicubic ثلاثي المكعب + Bicubic (smooth gradients) ثلاثي المكعب (تدرجات ملساء) + Automatic تلقائي + Bicubic Smoother (enlargement) ثلاثي المكعب الأنعم (تكبير) + Bicubic Sharper (reduction) ثلاثي المكعب الأحدّ (تصغير) + Bilinear ثنائي الخطية + Black أسود + Black & White أبيض وأسود + Black Point Compensation تعويض النقطة السوداء + Black, White أسود، أبيض + Blacks سوادات + Blending المزج + Blending Options خيارات المزج + Blue أزرق + Blue, Red, Yellow أزرق، أحمر، أصفر + Both Axes كلا المحورين + Bottom أسفل + Brightness سطوع + Brightness Jitter ارتجاف الإضاءة + Brightness/Contrast الإضاءة/التباين + Bring the selected pin forward تقديم الدبوس المحدد + Brush Preset picker منتقي الإعدادات المسبقة للفرشاة + Brush Reconstruct Options خيارات إعادة بناء الفرشاة + Brush Tool Options خيارات أداة الفرشاة + Cache Level: مستوى الذاكرة المؤقتة: + Camera Raw isn't open Camera Raw ليس مفتوحاً + Cancel إلغاء + Cancel (Esc) إلغاء (Esc) + Cancel any current edits (Esc) إلغاء كل التحريرات الحالية (Esc) + Cancel current crop operation (Esc) إلغاء عملية القصّ الحالية (Esc) + Cancel transform (Esc) إلغاء التحويل (Esc) + Cancel warp (Esc) إلغاء التموج (Esc) + Canvas لوحة + Canvas extension color: لون امتداد اللوحة: + Capture الالتقاط + Capture the visibility, position and style of every layer with + below, then switch between versions. التقط رؤية كل طبقة وموضعها ونمطها بزر + أدناه، ثم بدّل بين الإصدارات. + Catch-up on Stroke End اللحاق عند نهاية الضربة + Center توسيط + Center Crop Marks علامات قصّ مركزية + Center text توسيط النص + Change تغيير + Change All تغيير الكل + Change Screen Mode (F) تغيير وضع الشاشة (F) + Change To: التغيير إلى: + Channel Mixer مازج القنوات + Channel: القناة: + Check All Layers فحص كل الطبقات + Check Spelling تدقيق الإملاء + Clarity الوضوح + Clear All مسح الكل + Clear Override مسح التجاوز + Clear Samples مسح العينات + Click sets foreground · right-click sets background النقر يضبط الأمامي · النقر الأيمن يضبط الخلفي + Click the first point or press ↵ to close · Esc cancels انقر النقطة الأولى أو اضغط ↵ للإغلاق · Esc يلغي + Click to add a point · drag off or ⌘/Ctrl-click or Delete to remove انقر لإضافة نقطة · اسحب خارجاً أو انقر مع ⌘/Ctrl أو Delete للإزالة + Click to apply, ⌥-click to clear overrides, double-click for Style Options انقر للتطبيق، وانقر مع ⌥ لمسح التجاوزات، وانقر مرتين لخيارات النمط + Click to edit the gradient انقر لتحرير التدرج + Click to restore the current colour انقر لاستعادة اللون الحالي + Click to zoom in · ⌥-click to zoom out انقر للتكبير · انقر مع ⌥ للتصغير + Click with the Note tool to add a note. انقر بأداة الملاحظة لإضافة ملاحظة. + Click: corner · Drag: smooth · Click first point: close · ↩ finish · Esc cancel نقرة: زاوية · سحب: ناعمة · نقرة النقطة الأولى: إغلاق · ↩ إنهاء · Esc إلغاء + Clip to layer below قصّ إلى الطبقة الأدنى + Clipped مقصوص + Close Style Options إغلاق خيارات النمط + Cmd Cmd + Coated CMYK CMYK مطلي + Color & Swatches اللون والعينات + Color Balance موازنة الألوان + Color Detail تفاصيل اللون + Color Grading تدريج الألوان + Color Lookup بحث لوني + Color Management إدارة الألوان + Color Mixer مازج الألوان + Color Mode وضع اللون + Color Priority أولوية اللون + Color Range preview معاينة النطاق اللوني + Color: اللون: + Colorize تلوين + Colors الألوان + Commit Perspective Warp (↩) تطبيق تشويه المنظور (↩) + Commit Puppet Warp (↩) تطبيق تحريك الدمية (↩) + Commit any current edits (⌘↩) تطبيق كل التحريرات الحالية (⌘↩) + Commit current crop operation (↵) تطبيق عملية القصّ الحالية (↵) + Commit transform (↩) تطبيق التحويل (↩) + Commit warp (↩) تطبيق التموج (↩) + Constant ثابت + Constrain proportions تقييد النسب + Contact Sheet II ورقة الاتصال II + Content-Aware مدرك للمحتوى + Contiguous متصل + Contrast تباين + Control: التحكم: + Convert document's colors to the working space تحويل ألوان المستند إلى فضاء العمل + Convert to sRGB تحويل إلى sRGB + Copies النسخ + Copper نحاسي + Copyright حقوق النشر + Copyright and Contact Info معلومات حقوق النشر والتواصل + Corner Crop Marks علامات قصّ زاوية + Corner radius نصف قطر الزاوية + Correction تصحيح + Count Jitter ارتجاف العدد + Create إنشاء + Create Droplet إنشاء قطارة + Create Texture إنشاء نسيج + Create Video Timeline إنشاء خط زمني للفيديو + Create a new count group إنشاء مجموعة عدّ جديدة + Create a new document or open an existing file. أنشئ مستنداً جديداً أو افتح ملفاً موجوداً. + Create a new group إنشاء مجموعة جديدة + Create a new layer (⇧⌘N) إنشاء طبقة (⇧⌘N) + Create new action إنشاء إجراء جديد + Create new channel إنشاء قناة جديدة + Create new document from current state إنشاء مستند جديد من الحالة الحالية + Create new fill or adjustment layer إنشاء طبقة تعبئة أو ضبط جديدة + Create new gradient إنشاء تدرج جديد + Create new group إنشاء مجموعة جديدة + Create new layer comp إنشاء تركيب طبقات جديد + Create new pattern from the selection إنشاء نقشة جديدة من التحديد + Create new shape from the current path إنشاء شكل جديد من المسار الحالي + Create new snapshot إنشاء لقطة جديدة + Create new tool preset إنشاء إعداد أداة مسبق + Crop Factor معامل القص + Ctrl Ctrl + Current & Below الحالي وما تحته + Current Layer الطبقة الحالية + Current Size الحجم الحالي + Current Tool Only الأداة الحالية فقط + Curve منحنى + Curves منحنيات + Custom مخصص + Custom Shapes أشكال مخصصة + Custom pattern نقشة مخصصة + Cyan سماوي + Cyan · Red سيان · أحمر + Darken تغميق + Darks ظلال + Data Sets أطقم البيانات + Default افتراضي + Default colours (D) الألوان الافتراضية (D) + Default printer الطابعة الافتراضية + Default restored. استُعيدت الافتراضيات. + Define تعريف + Define at least one variable first. عرّف متغيراً واحداً على الأقل أولاً. + Dehaze إزالة الضباب + Delete Cropped Pixels حذف البكسلات المقصوصة + Delete Group حذف المجموعة + Delete Layer Mask حذف قناع الطبقة + Delete Layers حذف الطبقات + Delete Shortcut حذف الاختصار + Delete Timeline حذف الخط الزمني + Delete Tool Preset حذف إعداد الأداة المسبق + Delete count group حذف مجموعة العدّ + Delete current channel حذف القناة الحالية + Delete current state حذف الحالة الحالية + Delete effect layer حذف طبقة التأثير + Delete layer ‘{name}’? حذف الطبقة «{name}»؟ + Delete {count} layers? {names} حذف {count} طبقة؟ {names} + Delete layer? حذف الطبقة؟ + The document is closed المستند مغلق + The document or selected layers changed. Please request deletion again. تغيّر المستند أو الطبقات المحددة. أعد طلب الحذف. + Missing delete command أمر حذف مفقود + Invalid delete command أمر حذف غير صالح + Layer deleted, but confirmation preference could not be saved: {error} حُذفت الطبقة، لكن تعذّر حفظ تفضيل التأكيد: {error} + Delete layer حذف الطبقة + Delete layer comp حذف تركيب الطبقات + Delete note حذف الملاحظة + Delete selected measurements حذف القياسات المحددة + Delete style حذف النمط + Delete tool preset حذف إعداد الأداة المسبق + Density الكثافة + Density: الكثافة: + Depth العمق + Depth Jitter ارتجاف العمق + Description الوصف + Deselect All إلغاء تحديد الكل + Detail تفاصيل + Diamond Gradient تدرج معيّني + Difference اختلاف + Diffusion انشار + Discard the embedded profile (don't color manage) إهمال ملف التعريف المضمّن (دون إدارة لونية) + Discontiguous غير متصل + Discord Discord + Dismiss تجاهل + Display P3 Display P3 + Display Text عرض النص + Dither ترقيش + Divide… قسمة… + Document مستند + Don't Save عدم الحفظ + No لا + Yes نعم + Done تم + Dots النقاط + Drag a rectangle around the object اسحب مستطيلاً حول الكائن + Drag on the image to add a constraint; Shift for horizontal/vertical; right-click to delete. اسحب على الصورة لإضافة قيد؛ Shift للأفقي/الرأسي؛ والنقر الأيمن للحذف. + Drag to move the active shape's path or the Work Path اسحب لتحريك مسار الشكل النشط أو مسار العمل + Click: select anchor · Drag: move anchor, handle or segment · {shift}-click: add · {alt}-click: whole subpath نقرة: تحديد مرساة · سحب: تحريك مرساة أو مقبض أو قطعة · نقرة {shift}: إضافة · نقرة {alt}: مسار فرعي كامل + Draw with the Pen tool (P) or make a work path from a selection. ارسم بأداة القلم (P) أو أنشئ مسار عمل من تحديد. + Drop an image or PSD anywhere to open it. أفلت صورة أو PSD في أي مكان لفتحها. + Native file drag-and-drop is unavailable السحب والإفلات الأصلي للملفات غير متاح + Native file drag-and-drop is not supported on Wayland yet. Use File › Open, or copy the image in your file manager and paste it with {paste}. لا يدعم Wayland السحب والإفلات الأصلي للملفات بعد. استخدم ملف ▸ فتح، أو انسخ الصورة في مدير الملفات والصقها بـ{paste}. + To drop files, start PhotoCraft under XWayland: `{command}` لإفلات الملفات، شغّل PhotoCraft تحت XWayland: `{command}` + Or set Preferences › Performance › Linux display server to X11: PhotoCraft then always starts under XWayland. أو اضبط التفضيلات ▸ الأداء ▸ خادم عرض Linux على X11: عندها يبدأ PhotoCraft دائماً تحت XWayland. + Edit › Paste تحرير ▸ لصق + Duplicate Layers… تكرار الطبقات… + Duplicate style تكرار النمط + Edit Toolbar… تحرير شريط الأدوات… + Use File › Open, or paste a copied image with {paste}. استخدم ملف ▸ فتح، أو الصق صورة منسوخة بـ{paste}. + Edit in Quick Mask Mode (Q) تحرير في وضع القناع السريع (Q) + Edit in Standard Mode (Q) تحرير في الوضع القياسي (Q) + Effects التأثيرات + Embed Color Profile تضمين ملف تعريف الألوان + Embedded Profile Mismatch عدم تطابق ملف التعريف المضمّن + Enable airbrush-style build-up effects تمكين تأثيرات التراكم بأسلوب المرذاذ + Enhance Edge تعزيز الحافة + Entire Font الخط بأكمله + Exact دقيق + Expansion: التمدد: + Export Presets تصدير الإعدادات المسبقة + Export selected measurements (CSV) تصدير القياسات المحددة (CSV) + Exposure التعريض + Exposure and Gamma التعريض والغاما + Exposure: التعريض: + Eyedropper قطارة + Factor: المعامل: + Faux Bold عريض مصطنع + Faux Italic مائل مصطنع + Feather تنعيم الحواف + Fewer Points نقاط أقل + File Settings إعدادات الملف + Fill تعبئة + Fill: تعبئة: + Filter for adjustment layers تصفية طبقات الضبط + Filter for pixel layers تصفية الطبقات النقطية + Filter for shape layers تصفية طبقات الأشكال + Filter for smart objects تصفية الكائنات الذكية + Filter for type layers تصفية طبقات النص + Filter: التصفية: + Finger Painting رسم بالإصبع + Fisheye عين سمكة + Fit ملاءمة + Fit Screen ملاءمة الشاشة + Fill Screen ملء الشاشة + Fit in View ملاءمة في العرض + Fixed ثابت + Fixed Ratio نسبة ثابتة + Fixed Size حجم ثابت + Flip قلب + Flip X قلب X + Flip X Jitter ارتجاف قلب X + Flip Y قلب Y + Flip Y Jitter ارتجاف قلب Y + Flow التدفق + Flow Jitter ارتجاف الجريان + Focal Length البعد البؤري + Font خط + Font Size: حجم الخط: + Font size حجم الخط + Foreground الأمامي + Foreground to Background من الأمامي إلى الخلفي + Foreground/Background Jitter ارتجاف الأمامي/الخلفي + Format تنسيق + Frame from Layers… إطار من طبقات… + Free حر + Full Spherical كروي كامل + Fuzziness: الضبابية: + GPU GPU + Gamma Correction تصحيح غاما + Gamma: الغاما: + General Brushes فرش عامة + Global شامل + Glow Color لون التوهج + Gradient Map خريطة تدرج + Grain حبيبات + Gray رمادي + Gray Gamma 2.2 غاما رمادي 2.2 + Green أخضر + Grid (⌘') الشبكة (⌘') + Group تجميع + Hardness الصلابة + Heart قلب + Height الارتفاع + Height: الارتفاع: + Hide Auto Slices إخفاء الشرائح التلقائية + Hide Properties إخفاء الخصائص + Highlight Compression ضغط الإضاءات + Highlight Priority أولوية الإضاءات + Highlights أبرز المناطق + Home الصفحة الرئيسية + Horizontal scale المقياس الأفقي + Hue تدرج لوني + Hue Jitter ارتجاف درجة اللون + Hue/Saturation تدرج لوني/تشبع + Hyphenate إضافة واصلات + Ignore تجاهل + Ignore All تجاهل الكل + Image Size حجم الصورة + Import Brushes… استيراد فرش… + Import brushes (.abr) استيراد فرش (.abr) + Import Presets استيراد الإعدادات المسبقة + Imported مستوردة + Indent First إزاحة السطر الأول + Indent Left الإزاحة اليسرى + Indent Right الإزاحة اليمنى + Indent first line إزاحة السطر الأول + Indent left margin إزاحة الهامش الأيسر + Indent right margin إزاحة الهامش الأيمن + Input: المدخل: + Inside داخلي + Interlaced متداخل + Interpolation: الاستقراء: + Intersect with selection (⇧⌥) تقاطع مع التحديد (⇧⌥) + Invert All عكس الكل + Invert has no settings. العكس بلا إعدادات. + Italic مائل + Join us on Discord انضم إلينا على Discord + Justify all ضبط الكل + Justify last centered ضبط أخير مركزي + Justify last left ضبط أخير أيسر + Justify last right ضبط أخير أيمن + Kerning التقنين + Keyboard Shortcuts اختصارات لوحة المفاتيح + Keyboard Shortcuts and Menus اختصارات لوحة المفاتيح والقوائم + Kind النوع + Label Size حجم التسمية + Labels التسميات + Lanczos (sharp) Lanczos (حادّ) + Landscape عرضي + Last Document State حالة المستند الأخيرة + Layout تخطيط + Leading المسافة بين الأسطر + Leading (set to the font size × auto-leading when Auto) التباعد (عند «تلقائي» يكون حجم الخط × معامل التباعد التلقائي) + Leave as is (don't color manage) إبقاء كما هو (دون إدارة لونية) + Left align text محاذاة النص إلى اليسار + Length: الطول: + Level المستوى + Levels مستويات + Lighten تفتيح + Lightness إضاءة + Lights إضاءات + Limits: الحدود: + Linear Gradient تدرج خطي + Link layers ربط الطبقات + Link width and height ربط العرض والارتفاع + Liquify is not open التمييع ليس مفتوحاً + Load تحميل + Load 3D LUT… تحميل 3D LUT… + Load channel as selection تحميل القناة كتحديد + Load… تحميل… + Localized Color Clusters عناقيد لونية موضعية + Lock قفل + Lock all قفل الكل + Lock image pixels قفل بكسلات الصورة + Lock layer قفل الطبقة + Lock position قفل الموضع + Lock transparent pixels قفل البكسلات الشفافة + Lock: القفل: + Logical Length: الطول المنطقي: + Logical Units: الوحدات المنطقية: + Luminance الإضاءة + Luminance Detail تفاصيل الإضاءة + Magenta أرجواني + Magenta · Green أرجواني · أخضر + Maintain aspect ratio الحفاظ على نسبة الأبعاد + Marker Size حجم العلامة + Mask All تقنيع الكل + Mask Options خيارات القناع + Masking التقنيع + Master رئيسي + Matte غير لامع + Median: الوسيط: + Menus القوائم + Mesh Size حجم الشبكة + Metadata البيانات الوصفية + Metrics المقاييس + Midpoint نقطة منتصف + Midtones الدرجات المتوسطة + Midtones from: الدرجات الوسطى من: + Midtones to: الدرجات الوسطى إلى: + Mixer Brush Tool أداة الفرشاة المازجة + Color Replacement Tool أداة استبدال اللون + Color Replacement استبدال اللون + Minimum Depth أدنى عمق + Minimum Diameter أدنى قطر + Minimum Roundness أدنى استدارة + Mode: الوضع: + Monochrome أحادي اللون + More Points نقاط أكثر + Move effect layer down تحريك طبقة التأثير لأسفل + Move effect layer up تحريك طبقة التأثير لأعلى + Move to نقل إلى + Name الاسم + Name: الاسم: + Nearest Neighbor الجار الأقرب + Nearest Neighbor (hard edges) الجار الأقرب (حواف قاسية) + New Size الحجم الجديد + New document… ⌘N مستند جديد… ⌘N + New effect layer طبقة تأثير جديدة + New selection تحديد جديد + Next frame الإطار التالي + Next note الملاحظة التالية + No Color بلا لون + No Color Management بلا إدارة لونية + No Dither بلا ترقيش + No author بلا مؤلف + No character style بلا نمط محارف + No document لا مستند + No matching commands لا أوامر مطابقة + No presets for the current tool. لا إعدادات مسبقة للأداة الحالية. + No presets of this type. لا إعدادات مسبقة من هذا النوع. + No properties بلا خصائص + No tool presets. لا إعدادات أدوات مسبقة. + Noise Reduction تقليل التشويش + Normal عادي + Not in Dictionary: ليست في القاموس: + OK موافق + Offset الإزاحة + Only Web Colors ألوان الويب فقط + Opacity العتامة + Opacity Jitter ارتجاف العتامة + Opacity: العتامة: + Open a document to define variables. افتح مستنداً لتعريف المتغيرات. + Open a document to select a colour range. افتح مستنداً لتحديد نطاق لوني. + Open a document to use the timeline. افتح مستنداً لاستخدام الخط الزمني. + Open… ⌘O فتح… ⌘O + Optical بصري + Optimized محسّن + Option-click to define a source point to clone from انقر مع Option لتحديد نقطة مصدر للاستنساخ + Original الأصل + Output Channel: قناة الإخراج: + Output Levels: مستويات الإخراج: + Output: الإخراج: + Outside خارجي + Overlay Color لون التراكب + Overlay Opacity عتامة التراكب + Overlay: Rule of Thirds تراكب: قاعدة الأثلاث + Override Pressure تجاوز الضغط + Override Rotation تجاوز التدوير + Override Tilt تجاوز الميل + PRESET DETAILS تفاصيل الإعداد المسبق + PSD PSD + Paint Overlay تراكب الرسم + Panel locations are saved in the workspace. Keyboard shortcuts, menus and toolbar are optional. مواضع اللوحات تُحفظ في مساحة العمل. واختصارات لوحة المفاتيح والقوائم وشريط الأدوات اختيارية. + Paper ورق + Path مسار + Pattern النمط + Pattern Size حجم النقشة + Pause إيقاف مؤقت + Percent مئوية + Perceptual إدراكي + Perspective Warp is not active تشويه المنظور غير نشط + Perspective Warp: draw planes along the image's perspective, then switch to Warp تشويه المنظور: ارسم مستويات على منظور الصورة، ثم بدّل إلى التموج + Photo Filter مرشح صورة + PhotoCraft PhotoCraft + PhotoCraft Manages Colors PhotoCraft يدير الألوان + PhotoCraft — an open-source, native image editor written in Rust. PhotoCraft — محرر صور مفتوح المصدر وأصلي مكتوب بلغة Rust. + Pin Depth: عمق الدبوس: + Pixel Length: الطول بالبكسل: + Pixels/Centimeter بكسل/سنتيمتر + Pixels/Inch بكسل/بوصة + Pixels: بكسلات: + Play تشغيل + Play selection تشغيل المحدد + Portrait طولي + Position الموضع + Position and Size الموضع والحجم + Posterize تدرّج لوني + Preserve Details الحفاظ على التفاصيل + Preserve Luminosity الحفاظ على الإضاءة العلوية + Preset إعداد مسبق + Preset Type نوع الإعداد المسبق + Preset: الإعداد المسبق: + Presets: الإعدادات المسبقة: + Press keys… اضغط المفاتيح… + Pressure الضغط + Pressure for Opacity الضغط للعتامة + Pressure for Size الضغط للحجم + Prevent auto-nesting in and out of Artboards and Frames منع التعشيش التلقائي داخل لوحات الرسم والأطر وخارجها + Preview معاينة + Previous frame الإطار السابق + Previous note الملاحظة السابقة + Print طباعة + Printer الطابعة + Printer Manages Colors الطابعة تدير الألوان + Printer Setup إعداد الطابعة + Printing Marks علامات الطباعة + Progressive تدريجي + Promote ترقية + Protect Detail حماية التفاصيل + Protect Foreground Color حماية اللون الأمامي + Protect Tones حماية الدرجات + Proximity Match مطابقة القرب + Pulled String Mode وضع الخيط المشدود + Puppet Warp is not active تحريك الدمية غير نشط + Purity النقاء + Quality الجودة + Quick Actions الإجراءات السريعة + Quick Export As PNG تصدير سريع كـ PNG + Radial Gradient تدرج شعاعي + Radius نصف القطر + Radius: نصف القطر: + Range: النطاق: + Rate المعدل + Recently Used المستخدمة مؤخرًا + Reconstruct إعادة بناء + Record ● a sequence of edits, then play ▶ it on any document. سجّل ● سلسلة تحريرات، ثم شغّلها ▶ على أي مستند. + Red أحمر + Redefine style by current selection إعادة تعريف النمط بالتحديد الحالي + Refine تنقيح + Reflected Gradient تدرج منعكس + Registration Marks علامات التسجيل + Regular اعتيادي + Relative نسبي + Relative Colorimetric قياس لوني نسبي + Remove إزالة + Remove All Pins إزالة كل الدبابيس + Remove Background إزالة الخلفية + Remove Planes إزالة المستويات + Remove Tool أداة الإزالة + Remove stop إزالة حد + Remove variable إزالة المتغير + Rename إعادة تسمية + Rename Group… إعادة تسمية المجموعة… + Rename Layer… إعادة تسمية الطبقة… + Rename Tool Preset… إعادة تسمية إعداد الأداة المسبق… + Rename… إعادة تسمية… + Resample إعادة أخذ العينات + Reset All to Defaults إعادة تعيين الكل إلى الافتراضي + Import Shortcuts… استيراد اختصارات… + Load a keyboard shortcut set saved as .kys تحميل طقم اختصارات محفوظ بصيغة .kys + Imported {n} shortcuts from {file}. Click OK to keep them. استُورد {n} اختصاراً من {file}. انقر «موافق» للإبقاء عليها. + {n} commands are not in PhotoCraft. {n} أمراً ليست في PhotoCraft. + Keyboard shortcuts imported استُوردت اختصارات لوحة المفاتيح + Your keyboard shortcut set {set} is in use here: {n} shortcuts differ from the defaults. Edit › Keyboard Shortcuts shows them; Reset All to Defaults undoes this. طقم اختصاراتك {set} مستخدم هنا: {n} اختصاراً يختلف عن الافتراضيات. يعرضها «تحرير ▸ اختصارات لوحة المفاتيح»؛ و«إعادة ضبط الكل إلى الافتراضي» يتراجع عنها. + Import keyboard shortcuts? استيراد اختصارات لوحة المفاتيح؟ + PhotoCraft found your keyboard shortcut set {set} from another image editor on this computer: {n} of its shortcuts differ from PhotoCraft's. Import it? وجد PhotoCraft طقم اختصاراتك {set} من محرر صور آخر على هذا الكمبيوتر: {n} من اختصاراته تختلف عن اختصارات PhotoCraft. استيراده؟ + Edit › Keyboard Shortcuts › Reset All to Defaults undoes an import. تحرير ▸ اختصارات لوحة المفاتيح ▸ إعادة ضبط الكل إلى الافتراضي يتراجع عن الاستيراد. + Don't Import عدم الاستيراد + The keyboard shortcut set was not imported: {error} لم يُستورد طقم الاختصارات: {error} + Reset Section إعادة ضبط القسم + Reset Transform إعادة ضبط التحويل + Reset to defaults إعادة الضبط إلى الافتراضيات + Resolution الدقة + Resolution: الدقة: + Restore All استعادة الكل + Restore Defaults استعادة الافتراضيات + Restrictive (Web) تقييدي (ويب) + Right align text محاذاة النص إلى اليمين + Rigid صلب + Rotate: تدوير: + Rotation دوران + Roughness الخشونة + Roundness الاستدارة + Roundness Jitter ارتجاف الاستدارة + Rulers (⌘R) المساطر (⌘R) + Rulers & Grids مساطر وشبكات + Sample All Layers أخذ العينة من كل الطبقات + Sample: العينة: + Sampling: Background Swatch أخذ العينة: عينة الخلفية + Sampling: Continuous أخذ العينة: متصل + Sampling: Once أخذ العينة: مرة + Saturate تشبع + Saturation التشبع + Saturation Jitter ارتجاف التشبع + Save HTML and Images حفظ HTML والصور + Save as PDF حفظ بصيغة PDF + Save selection as channel حفظ التحديد كقناة + Save… حفظ… + Scale to Fit Media تحجيم لملاءمة الورق + Scatter انتشاري (XY) + Scratch disks أقراص الخدش + Search بحث + Search commands (⌘K) بحث الأوامر (⌘K) + Search commands, tools and panels… البحث عن أوامر وأدوات ولوحات… + Search fonts البحث عن الخطوط + Select All تحديد الكل + Select Subject تحديد الموضوع + Select a type layer or click into text to insert glyphs حدد طبقة نص أو انقر داخل النص لإدراج محارف + Select text to apply a character style حدد نصاً لتطبيق نمط محارف + Select: تحديد: + Selections التحديدات + Selective انتقائي + Selective Color لون انتقائي + Send the selected pin backward إرجاع الدبوس المحدد + Set additional smoothing options ضبط خيارات تنعيم إضافية + Set background color ضبط لون الخلفية + Set foreground color ضبط لون الأمامية + Set painting symmetry options ضبط خيارات تناظر الرسم + Symmetry Off إيقاف التناظر + Set shape fill type ضبط نوع تعبئة الشكل + Set shape stroke type ضبط نوع حد الشكل + Set the text color ضبط لون النص + Shadows ظلال + Shape: الشكل: + Sharpening زيادة الحدة + Shift إزاحة + Shortcut removed. أُزيل الاختصار. + Show All Menu Items إظهار كل عناصر القائمة + Show Backdrop إظهار الخلفية + Show Guides (⌘;) إظهار الأدلة (⌘;) + Show Mask إظهار القناع + Show Mesh إظهار الشبكة + Show Overlay إظهار التراكب + Show Transform Controls إظهار عناصر تحكم التحويل + Show or hide the Notes panel إظهار أو إخفاء لوحة الملاحظات + Show: إظهار: + Sides الأضلاع + Sides: الأضلاع: + Size الحجم + Size Jitter ارتجاف الحجم + Size: الحجم: + Slice Options… خيارات الشريحة… + Slices From Guides شرائح من الأدلة + Slices are locked (View › Lock Slices) الشرائح مقفلة (عرض ▸ قفل الشرائح) + Small Caps الأحرف الكبيرة المصغّرة + Smoothing التنعيم + Space After المسافة بعد + Space Before المسافة قبل + Spacing التباعد + Spell check complete. اكتمل التدقيق الإملائي. + Split: التقسيم: + Star ratio نسبة النجمة + Stop playing/recording إيقاف التشغيل/التسجيل + Straighten تقويم + Straighten Layer تسوية الطبقة + Strength: القوة: + Strikethrough يتوسطه خط + Stroke حد + Stroke Catch-up لحاق الضربة + Stroke: الحد: + Location الموقع + Location: الموقع: + Preserve Transparency الحفاظ على الشفافية + Style النمط + Style Options خيارات النمط + Style Options… خيارات النمط… + Style: Normal النمط: عادي + Subtract from Sample طرح من العينة + Subtract from selection (⌥) طرح من التحديد (⌥) + Suggestions: الاقتراحات: + Swap colours (X) تبديل اللونين (X) + Swaps height and width يبدل الارتفاع والعرض + Switch between free transform and warp modes التبديل بين وضعي التحويل الحر والتموج + Switch theme تبديل السمة + Temperature الحرارة + Tetrahedral رباعي الأوجه + Text Position: موضع النص: + Texture نسيج + Texture Each Tip نسج كل رأس + Threshold عتبة + Threshold Level مستوى العتبة + Thumbnail size (smallest: list) حجم المصغرة (الأصغر: قائمة) + Tilt X ميل X + Tilt Y ميل Y + Tint الصبغة + Toggle count group visibility تبديل رؤية مجموعة العدّ + Toggle text orientation تبديل توجيه النص + Tolerance تفاوت + Tolerance: التفاوت: + Tone: الدرجة: + Toolbar شريط الأدوات + Top أعلى + Total: الإجمالي: + Tracking التتبع + Tracking (1/1000 em) التتبع (1/1000 em) + Transparency شفافية + Transparent شفاف + Trilinear ثلاثي الخطوط + Type Styles أنماط النص + Type: النوع: + Underline تسطير + Untitled بدون عنوان + Untitled-1 غير معنون-1 + Update layer comp (visibility, position and appearance) تحديث تركيب الطبقات (الرؤية والموضع والمظهر) + Use Default استخدام الافتراضي + Use Legacy استخدام الكلاسيكي + Use Measurement Scale استخدام مقياس القياس + Use the embedded profile (instead of the working space) استخدام ملف التعريف المضمّن (بدلاً من فضاء العمل) + Uses the foreground and background colors. يستخدم لوني الأمامية والخلفية. + Variables bind a layer's visibility, text or pixels to a named data slot. المتغيرات تربط رؤية الطبقة أو نصها أو بكسلاتها بفجوة بيانات مسماة. + Vertical scale التحجيم الرأسي + Vibrance حيوية + View Options خيارات العرض + Vignetting تظليل حواف + Violet, Orange بنفسجي، برتقالي + Visibility الرؤية + Visible مرئي + Warp: التموج: + Web Snap التقاط الويب + Weight السماكة + Weight: السماكة: + White أبيض + White Balance: As Shot موازنة اللون الأبيض: كما التُقطت + Whites أبيض + Width العرض + Slant ميلة + Width: العرض: + Work Path مسار العمل + Yellow أصفر + Yellow · Blue أصفر · أزرق + Zoom تكبير/تصغير + Zoom in تكبير + Zoom out تصغير + command or shortcut أمر أو اختصار + current الحالي + image file path مسار ملف الصورة + modified معدَّل + name الاسم + new جديد + {name} options خيارات {name} + ↑↓ navigate ↵ run esc close ↑↓ تنقل ↵ تشغيل esc إغلاق + Version {version} الإصدار {version} + New Document مستند جديد + New Document With Mask مستند جديد بقناع + New Layer With Mask طبقة جديدة بقناع + New Layer طبقة جديدة + Saved تم الحفظ + Save Preset… حفظ إعداد مسبق… + Preset Name اسم الإعداد المسبق + No saved presets yet. لا إعدادات مسبقة محفوظة بعد. + Error خطأ + Command أمر + Adds grain to the soft edges of the brush tip. يضيف حبيبات إلى الحواف الناعمة لرأس الفرشاة. + Adjustment layers have nothing to transform لا شيء لتحويله في طبقات الضبط + Altitude الارتفاع الزاويّ + Android 1080p Android 1080p + Apple Watch 45mm Apple Watch 45mm + Aqua مائي + Art & Illustration فن وتوضيح + ArtCraft ArtCraft + Background Eraser Tool أداة ممحاة الخلفية + Bevel & Emboss شطف ونقش + Blend Mode وضع الدمج + Blues زرقات + Blur Tool أداة الضبابية + Bold عريض + Brush فرشاة + Pencil قلم رصاص + Block كتلة + Brush Pose وضعية الفرشاة + Brush Tip Shape شكل رأس الفرشاة + Brush Tool أداة الفرشاة + Build-up تراكم + Burn Tool أداة التغميق + Centimeters سنتيمترات + Choke تضييق + Classic كلاسيكي + Click to add text انقر لإضافة نص + Click to fill similar colours انقر لتعبئة الألوان المتشابهة + Clone Stamp Tool أداة خاتم الاستنساخ + Color Burn حرق اللون + Color Dodge تفتيح اللون + Color Dynamics ديناميكية اللون + Color Overlay تراكب لوني + Comic Book كتاب هزلي + Conform مطاوعة + Content-Aware Fill needs a selection on a pixel layer تحتاج التعبئة الواعية بالمحتوى تحديداً على طبقة بكسلات + Couldn't place {name}: {error} تعذّر وضع {name}: {error} + Could not transform: the layer is empty تعذّر التحويل: الطبقة فارغة + Could not use Perspective Warp: the layer is empty تعذّر استخدام تشويه المنظور: الطبقة فارغة + Could not use Puppet Warp: no opaque pixels تعذّر استخدام تحريك الدمية: لا بكسلات معتمة + Could not use Puppet Warp: the layer is empty تعذّر استخدام تحريك الدمية: الطبقة فارغة + Crop Tool أداة الاقتصاص + Crosswise تصالبي + Current Tool الأداة الحالية + Custom Shape Tool أداة شكل مخصص + Cyans سيانيات + Default PhotoCraft Size حجم PhotoCraft الافتراضي + Delete Workspace حذف مساحة العمل + Diamond معيّن + Dimensions: الأبعاد: + Direction اتجاه + Distance المسافة + Document Dimensions أبعاد المستند + Document Profile ملف تعريف المستند + Document Sizes أحجام المستند + Dodge Tool أداة التفتيح + Down أسفل + Drag to draw a gradient اسحب لرسم تدرج + Drag to move the active layer اسحب لتحريك الطبقة النشطة + Drag to pan · hold Space with any tool اسحب للتحريك · استمر بـ Space مع أي أداة + Drop Shadow إسقاط الظل + Dual Brush فرشاة مزدوجة + Edge الحافة + Efficiency الكفاءة + Efficiency: 100% الكفاءة: 100% + Ellipse Tool أداة القطع الناقص + Elliptical Marquee Tool أداة تحديد بيضوي + Single Row Marquee Tool أداة تحديد صف واحد + Single Column Marquee Tool أداة تحديد عمود واحد + Emboss نقش بارز + Eraser ممحاة + Eraser Tool أداة الممحاة + ExtraBold عريض جداً + ExtraLight خفيف جداً + Eyedropper Tool أداة القطارة + Fade تلاشي + Fill Opacity عتامة التعبئة + Film & Video فيلم وفيديو + From من + General عام + GitHub GitHub + Gradient Overlay تراكب متدرج + Gradient Tool أداة التدرج + Greens خضريات + Hand Tool أداة اليد + Hard حاد + Hard Mix مزج قاسٍ + Healing Brush Tool أداة الفرشاة الشافية + Highlights from: الإضاءات من: + History Brush Tool أداة فرشاة السجل + Horizontal Type Tool أداة نص أفقي + Horizontal Type Mask Tool أداة قناع نص أفقي + Vertical Type Mask Tool أداة قناع نص رأسي + Image Size: حجم الصورة: + Inches بوصة + Indexed مفهرس + Initial Direction الاتجاه الأولي + Inner Bevel شطف داخلي + Inner Glow التوهج الداخلي + Inner Shadow الظل الداخلي + Keeps the current texture when switching presets. يحافظ على النسيج الحالي عند تبديل الإعدادات المسبقة. + Lab Lab + Landscape, 10 x 8 عرضي، 10 × 8 + Landscape, 6 x 4 عرضي، 6 × 4 + Landscape, 7 x 5 عرضي، 7 × 5 + Lasso حبل + Lasso Tool أداة الحبل + Layer Count عدد الطبقات + Layer Knocks Out Drop Shadow الطبقة تخرم الظل الساقط + Legal Legal + Letter خطاب + Light خفيف + Line Tool أداة الخط + Linear خطي + Linear Burn حرق خطي + Linear Height ارتفاع خطي + Link with Layer ربط مع الطبقة + Lorem Ipsum Lorem Ipsum + Magentas أرجوانيات + Magic Eraser Tool أداة الممحاة السحرية + Magic Wand Tool أداة العصا السحرية + Marquee تحديد مستطيل + Mean: المتوسط: + Measurement Scale مقياس القياس + Measurement Scale Marker علامة مقياس القياس + Millimeters مليمترات + Mobile جوال + Move Tool أداة النقل + Could not use the move tool because the layer is locked. تعذّر استخدام أداة التحريك لأن الطبقة مقفلة. + Could not complete the Free Transform command because the layer is locked. تعذّر إتمام أمر «التحويل الحر» لأن الطبقة مقفلة. + Multiply ضرب + My Brushes فرشي + Neutrals محايدات + New Workspace مساحة عمل جديدة + Note Tool أداة الملاحظة + Object Selection Tool أداة تحديد الكائنات + Off إيقاف + Open فتح + Orange برتقالي + Original Ratio النسبة الأصلية + Out Of Gamut خارج المدى + Outer Bevel شطف خارجي + Outer Glow التوهج الخارجي + Overlay تراكب + Paint Bucket Tool أداة دلو التعبئة + Paints from the document's opening state يرسم من حالة المستند عند فتحه + Path Selection Tool أداة تحديد المسار + Direct Selection Tool أداة التحديد المباشر + Add Anchor Point Tool أداة إضافة نقطة إرساء + Delete Anchor Point Tool أداة حذف نقطة إرساء + Click a segment to add an anchor point · {alt}-click an anchor to delete it انقر قطعة لإضافة مرساة · نقرة {alt} على مرساة لحذفها + Click an anchor point to delete it · {alt}-click a segment to add one انقر مرساة لحذفها · نقرة {alt} على قطعة لإضافتها + Pattern Overlay تراكب نقشة + Pen Pressure ضغط القلم + Pen Tilt ميل القلم + Pen Tool أداة القلم + Convert Point Tool أداة تحويل النقاط + Photo صورة + PhotoCraft website موقع PhotoCraft + Picas بيكا + Pillow Emboss نقش وسادي + Pixel Replacement استبدال البكسل + Pixels بكسلات + Points نقاط + Polygon Tool أداة المضلع + Polygonal Lasso Tool أداة اللاسو المضلع + Portrait, 4 x 6 طولي، 4 × 6 + Portrait, 5 x 7 طولي، 5 × 7 + PostScript (72 points/inch) PostScript (72 نقطة/بوصة) + Postcard بطاقة بريدية + Poster صورة الغلاف + Pro (Dark) احترافي (داكن) + Pro (Light) احترافي (فاتح) + Pro (Light Gray) احترافي (رمادي فاتح) + Pro (Medium Gray) احترافي (رمادي متوسط) + Protect Texture حماية النسيج + Purple بنفسجي + Quick Mask قناع سريع + Quick Selection Tool أداة التحديد السريع + Radial شعاعي + Rasterize Layer تحويل الطبقة إلى صورة نقطية + Rasterize Layers تنقير الطبقات + Ratio النسبة + Recent الأحدث + Rectangle Tool أداة المستطيل + Rectangular Marquee Tool أداة تحديد مستطيل + Reds حمراوات + Reflected منعكس + Sample: foreground colour العينة: اللون الأمامي + Sampled Colors ألوان معاينة + Satin الساتان + Save Pixel Aspect Ratio حفظ نسبة أبعاد البكسل + Scattering تبعثر + Scratch Sizes أحجام الخدش + Select Data Points تحديد نقاط البيانات + Selection تحديد + SemiBold نصف عريض + Shadows up to: الظلال حتى: + Shape Dynamics ديناميكية الشكل + Sharpen Tool أداة زيادة الحدة + Show Extras Options خيارات إظهار الإضافات + Slice Select Tool أداة تحديد الشريحة + Slice Tool أداة الشريحة + Smart Filters مرشحات ذكية + Smudge Tool أداة الطخم + Soft ناعم + Soften تنعيم + Source المصدر + Source: set المصدر: مضبوط + Sponge Tool أداة الإسفنجة + Spot Healing Brush Tool أداة الفرشاة الشافية الفورية + Spread صفحتان متقابلتان + Square, 12 x 12 مربع، 12 × 12 + Square, 5 x 5 مربع، 5 × 5 + Std Dev: الانحراف المعياري: + Studio (Dark) استوديو (داكن) + Studio (Light) استوديو (فاتح) + Stylus Wheel عجلة القلم + Subtract طرح + Tabloid Tabloid + Text Replacement استبدال النص + Thin نحيف + Traditional (72.27 points/inch) تقليدي (72.27 نقطة/بوصة) + Transfer نقل + Triangle Tool أداة المثلث + Unsaved changes تغييرات غير محفوظة + Uses the foreground and background colours. يستخدم اللونين الأمامي والخلفي. + Watercolour look: lighter interior, darker rims. مظهر مائي: الداخل أفتح والحواف أدكن. + Web ويب + Web Large ويب كبير + Web Minimum ويب أدنى + Web Most Common ويب الأكثر شيوعاً + WebP (lossless) WebP (بلا فقد) + Wet Edges حواف رطبة + Yellows صفريات + Zoom Tool أداة التكبير + {name} Properties خصائص {name} + Revert “{name}” to the last saved version? Your changes will be lost. إرجاع «{name}» إلى آخر نسخة محفوظة؟ ستضيع تغييراتك. + Do you want to save the changes you made to “{name}” before quitting? أتريد حفظ التغييرات التي أجريتها على «{name}» قبل الإنهاء؟ + Do you want to save the changes you made to “{name}” before closing? أتريد حفظ التغييرات التي أجريتها على «{name}» قبل الإغلاق؟ + Doc: {flat}/{layered} مستند: {flat}/{layered} + Scratch: {size} خدش: {size} + Untagged {mode} {mode} غير معلّم + Invalid {mode} profile ملف تعريف {mode} غير صالح + Unnamed {mode} profile ملف تعريف {mode} غير مسمى + {w} px x {h} px ({ppi} ppi) {w} بكسل × {h} بكسل ({ppi} ppi) + {w} {unit} x {h} {unit} ({ppi} ppi) {w} {unit} × {h} {unit} ({ppi} ppi) + Resolution: {dpi} pixels/inch الدقة: {dpi} بكسل/بوصة + Doc: {w} × {h} px مستند: {w} × {h} بكسل + Frame {current} / {total} إطار {current} / {total} + Count: {n} عدد: {n} + BLANK DOCUMENT PRESETS ({n}) إعدادات مستند فارغ مسبقة ({n}) + Constraints ({n}) قيود ({n}) + Align {what} محاذاة {what} +@plural {n} Layer|{n} Layers {n} طبقة|{n} طبقة|{n} طبقتان|{n} طبقات|{n} طبقةً|{n} طبقة +@plural Group · {n} layer|Group · {n} layers مجموعة · {n} طبقة|مجموعة · {n} طبقة|{n} مجموعة · طبقتان|مجموعة · {n} طبقات|مجموعة · {n} طبقةً|مجموعة · {n} طبقة + Additional plugins folder مجلد مكونات إضافية إضافي + Adobe Adobe + Adobe rgb Adobe RGB + Allow agent control السماح بتحكم الوكيل + Allow scripts to connect السماح للبرمجيات بالاتصال + Always دائماً + Always create smart objects when placing إنشاء كائنات ذكية دائماً عند الوضع + Animated zoom تكبير متحرك + Apply auto tone تطبيق درجة تلقائية + Ask سؤال + Ask before saving layered tiff السؤال قبل حفظ TIFF ذي طبقات + Auto collapse icon panels طيّ اللوحات الأيقونية تلقائياً + Auto show hidden panels إظهار اللوحات المخفية تلقائياً + Auto show home screen إظهار الشاشة الرئيسية تلقائياً + Autosave حفظ تلقائي + Autosave minutes دقائق الحفظ التلقائي + Beep when done صفير عند الاكتمال + Bicubic automatic ثلاثي المكعب (تلقائي) + Bicubic sharper ثلاثي المكعب الأحدّ + Bicubic smoother ثلاثي المكعب الأنعم + Bit depth عمق البت + Brush preview color لون معاينة الفرشاة + Cache levels مستويات الذاكرة المؤقتة + Cache tile size حجم بلاطة الذاكرة المؤقتة + Camera Raw Defaults افتراضيات Camera Raw + Canvas border حد اللوحة + Show canvas dots إظهار نقاط اللوحة + Canvas color لون اللوحة + Canvas custom color لون لوحة مخصص + Color picker منتقي الألوان + Color space فضاء الألوان + Column width عرض العمود + Concise موجز + Control port منفذ التحكم + Convert to srgb تحويل إلى sRGB + Cursors المؤشرات + Custom dark داكن مخصص + Custom light فاتح مخصص + Dark داكن + Dark gray رمادي داكن + Dashed lines خطوط متقطعة + Destination الوجهة + Detailed مفصل + Disks الأقراص + Display p3 Display P3 + Double click layer mask launches select and mask النقر المزدوج على قناع الطبقة يفتح التحديد والإخفاء + Drop shadow ظل ساقط + Dynamic color sliders منزلقات ألوان ديناميكية + East asian شرق آسيوي + Effect cache mb ذاكرة التأثيرات المؤقتة (ميغابايت) + Enable flick panning تمكين الإزالة بالقذف + Enable floating document window docking تمكين رسوّ نوافذ المستندات العائمة + Enable narrow options bar تمكين شريط خيارات ضيق + Enabled ممكّن + Enhanced Controls عناصر تحكم محسّنة + Export clipboard تصدير الحافظة + Extra large كبير جداً + File Handling معالجة الملفات + File path مسار الملف + Fill new type layers with placeholder تعبئة طبقات النص الجديدة بنص نائب + Font preview معاينة الخط + Full size tip رأس بالحجم الكامل + Gamut warning color لون تحذير المدى + Gamut warning opacity عتامة تحذير المدى + Generator enabled المولد مفعّل + Gif GIF + Glossy لامع + Grid color لون الشبكة + Grid colors ألوان الشبكة + Grid size حجم الشبكة + Grid style نمط الشبكة + Grid unit وحدة الشبكة + Gridline every خط شبكة كل + Guide color لون الدليل + Guide style نمط الدليل + Guides, Grid & Slices الأدلة والشبكة والشرائح + Gutter فاصل الأعمدة + History Log سجل التاريخ + History states حالات السجل + Ignore exif profile tag تجاهل وسم ملف تعريف EXIF + Image interpolation استقراء الصورة + Image previews معاينات الصور + Integrations التكاملات + Interface الواجهة + Jpeg quality جودة JPEG + Jpg JPG + Language لغة + Large tabs تبويبات كبيرة + Legacy compositing تركيب كلاسيكي + Light gray رمادي فاتح + Line خط + Lines خطوط + Lossless بلا فقد + Lowercase extension امتداد بأحرف صغيرة + Maximize psd compatibility أقصى توافق PSD + Medium gray رمادي متوسط + Memory usage mb استخدام الذاكرة (ميغابايت) + Low resolution previews معاينات منخفضة الدقة + Missing glyph protection حماية المحارف المفقودة + Modern حديث + Nearest neighbor الجار الأقرب + Never أبداً + Normal tip رأس عادي + Open as smart object فتح ككائن ذكي + Open in camera raw فتح في Camera Raw + Open documents as tabs فتح المستندات كتبويبات + Overscroll تمرير زائد + Performance الأداء + Png PNG + Point size حجم النقطة + Precise دقيق + Preserve details حفاظ على التفاصيل + Print resolution دقة الطباعة + Pro احترافي + Pro light احترافي فاتح + Pro light gray احترافي رمادي فاتح + Pro medium احترافي متوسط + Pro photo احترافي للتصوير + Quick export format تنسيق التصدير السريع + Quick export location موقع التصدير السريع + Recent file count عدد الملفات الأخيرة + Recent files الملفات الأخيرة + Recent fonts الخطوط الأخيرة + Recover on launch الاستعادة عند التشغيل + Remember workspace changes تذكر تغييرات مساحة العمل + Resize image during place تحجيم الصورة عند الوضع + Rotate view with trackpad تدوير العرض بلوحة اللمس + Same folder المجلد نفسه + Save in background الحفظ في الخلفية + Scratch Disks أقراص الملفات المؤقتة + Screen الشاشة + Screen resolution دقة الشاشة + Scrubby slider acceleration تسارع المنزلق السحبي + Sessions only الجلسات فقط + Sharpen for زيادة الحدة لـ + Show channels in color عرض القنوات بالألوان + Show crosshair in brush tip إظهار التصويب في رأس الفرشاة + Show extension panels إظهار لوحات الامتدادات + Show font names in english عرض أسماء الخطوط بالإنجليزية + Show menu colors إظهار ألوان القوائم + Show only crosshair while painting إظهار التصويب فقط أثناء الرسم + Show slice numbers إظهار أرقام الشرائح + Show tooltips إظهار التلميحات + Enable animations تمكين الحركات + Show highlight on rollover إظهار الإبراز عند التحويم + Show bounding box when dragging layer إظهار صندوق الإحاطة عند سحب الطبقة + System title bar شريط عنوان النظام + Show transformation values إظهار قيم التحويل + Slice color لون الشريحة + Smart guide color لون الأدلة الذكية + Smart quotes علامات اقتباس مطبعية + Snap vector tools and transforms to pixel grid التقاط الأدوات المتجهة والتحويلات بشبكة البكسل + Srgb sRGB + Standard معيار + Studio استوديو + Studio light استوديو فاتح + Adwaita Adwaita + Adwaita dark Adwaita داكن + Subdivisions تقسيمات فرعية + System النظام + Text engine محرك النص + Text file ملف نصي + Tiny ضئيل + Touch gestures إيماءات اللمس + Transparency & Gamut الشفافية والمدى + Type units وحدات النص + UI font size حجم خط الواجهة + UI scale مقياس الواجهة + Units & Rulers الوحدات والمساطر + Use additional plugins folder استخدام مجلد مكونات إضافية إضافي + Use esc to commit استخدام Esc للتثبيت + Use gpu استخدام GPU + Use legacy free transform استخدام التحويل الحر الكلاسيكي + Use shift key for tool switch استخدام Shift لتبديل الأدوات + Vary round brush hardness on hud تغيير صلابة الفرشاة الدائرية في HUD + Webp WebP + World ready جاهز عالمياً + Zoom clicked point to center تكبير النقطة المنقورة إلى المركز + Zoom resizes windows التكبير يحجّم النوافذ + Zoom with scroll wheel التكبير بعجلة التمرير + Zoom with trackpad pinch التكبير بقرص لوحة اللمس + Pass Through نفاذ + Dissolve تلاشي متناثر + Darker Color لون أدكن + Linear Dodge (Add) تفتيح خطي (إضافة) + Lighter Color لون أفتح + Soft Light ضوء ناعم + Hard Light ضوء قاسٍ + Vivid Light ضوء زاهي + Linear Light ضوء خطي + Pin Light ضوء دبوس + Exclusion استثناء + Divide قسمة + Luminosity الإضاءة +@plural {n} sample|{n} samples {n} عينة|{n} عينة|{n} عينتان|{n} عينات|{n} عينةً|{n} عينة + {added}, {removed} subtracted {added}، طُرح {removed} + Adjustment Preview معاينة الضبط + Airbrush: keeps depositing paint while the pointer rests. المرذاذ: يواصل إنزال الطلاء أثناء سكون المؤشر. + Angle: الزاوية: + Blend If مزج إذا + Close Tab Group إغلاق مجموعة التبويبات + Collapse طي + Collapse All Groups طيّ كل المجموعات + Collapse Panel Group طيّ مجموعة اللوحات + Collapse group (⌥-click: all groups) طيّ المجموعة (نقرة ⌥: كل المجموعات) + Create new brush from the current settings إنشاء فرشاة جديدة من الإعدادات الحالية + Create new brush from these settings إنشاء فرشاة جديدة من هذه الإعدادات + Update the current brush with these settings تحديث الفرشاة الحالية بهذه الإعدادات + Delete brush حذف الفرشاة + Drag the arrow to set the angle, the dots to set the roundness اسحب السهم لضبط الزاوية، والنقطتين لضبط الاستدارة + Expand توسيع + Expand Panel Group بسط مجموعة اللوحات + Expand group (⌥-click: all groups) بسط المجموعة (نقرة ⌥: كل المجموعات) + Fade steps خطوات التلاشي + Hide the layer's effects (⌥-click: all layers) إخفاء تأثيرات الطبقة (نقرة ⌥: كل الطبقات) + Import Brushes… (.abr) استيراد فرش… (.abr) + Move Group Down تحريك المجموعة لأسفل + Move Group Up تحريك المجموعة لأعلى + Reset the brush to the defaults إعادة الفرشاة إلى الافتراضيات + Restore original size استعادة الحجم الأصلي + Roundness: الاستدارة: + Search Brushes البحث في الفرش + Show the layer's effects (⌥-click: all layers) إظهار تأثيرات الطبقة (نقرة ⌥: كل الطبقات) + Brush picker منتقي الفرش + Erase محو + Right click with painting tools النقر الأيمن مع أدوات الرسم + 3 x 3 3 × 3 + 4 x 4 4 × 4 + 5 x 5 5 × 5 + Grid: الشبكة: + Freeze Lasso: drag to freeze an area, Alt-drag to thaw it (L) لاسو التجميد: اسحب لتجميد منطقة، واسحب مع Alt لإذابتها (L) + Shadow Clipping Warning (U) تحذير قصّ الظلال (U) + Highlight Clipping Warning (O) تحذير قصّ الإضاءات (O) + Show Lab Color Readouts إظهار قراءات Lab + Show Vectorscope إظهار مرصد المتجهات + Show Red at 3 o'clock إظهار الأحمر عند الساعة الثالثة + Show Skin Tone Indicator إظهار مؤشر درجة البشرة + Tone Histogram مدرج الدرجات + Show Selected Region إظهار المنطقة المحددة +cameraRaw Light خفيف + Camera Raw Filter ({layer}) مرشح Camera Raw ({layer}) + Camera Raw ({name}) Camera Raw ({name}) +cameraRaw Lights إضاءات +cameraRaw Darks ظلال +cameraRaw Blacks سوادات +cameraRaw Amount المقدار +cameraRaw Tint الصبغة +cameraRaw Masking التقنيع +cameraRaw Blending المزج + Patch Tool أداة الرقعة + Patch: الرقعة: + Lasso around an area, then drag the selection ضع لاسو حول منطقة، ثم اسحب التحديد + Transform On Drop تحويل عند الإفلات + Scale or rotate the moved area, then press {key} حجّم المنطقة المنقولة أو دوّرها، ثم اضغط {key} + Now drag the selection onto another area الآن اسحب التحديد إلى منطقة أخرى + Add a mask (from the selection; {key} inverts) إضافة قناع (من التحديد؛ {key} يعكس) + Add to selection ({key}) إضافة إلى التحديد ({key}) + Click the first point or press {key} to close · Esc cancels انقر النقطة الأولى أو اضغط {key} للإغلاق · Esc يلغي + Click to add a point · drag off or {key}-click or Delete to remove انقر لإضافة نقطة · اسحب خارجاً أو انقر مع {key} أو Delete للإزالة + Click to apply, {key}-click to clear overrides, double-click for Style Options انقر للتطبيق، وانقر مع {key} لمسح التجاوزات، وانقر مرتين لخيارات النمط + Click to zoom in · {key}-click to zoom out · drag right/left to zoom in/out انقر للتكبير · انقر مع {key} للتصغير · اسحب يميناً/يساراً للتكبير/التصغير + Click: corner · Drag: smooth · Click first point: close · {key} finish · Esc cancel نقرة: زاوية · سحب: ملساء · نقرة النقطة الأولى: إغلاق · {key} إنهاء · Esc إلغاء + Click: corner · Drag: smooth · {alt}-drag: break handle · Click or drag first point: close · {key} finish · Esc cancel نقرة: زاوية · سحب: ملساء · سحب {alt}: كسر المقبض · نقرة أو سحب النقطة الأولى: إغلاق · {key} إنهاء · Esc إلغاء + Commit Perspective Warp ({key}) تطبيق تشويه المنظور ({key}) + Commit Puppet Warp ({key}) تطبيق تحريك الدمية ({key}) + Commit any current edits ({key}) تطبيق كل التحريرات الحالية ({key}) + Commit current crop operation ({key}) تطبيق عملية القصّ الحالية ({key}) + Commit transform ({key}) تطبيق التحويل ({key}) + Commit warp ({key}) تطبيق التموج ({key}) + Create a new layer إنشاء طبقة جديدة + Intersect with selection ({key}) تقاطع مع التحديد ({key}) + New document… مستند جديد… + Search commands البحث عن الأوامر + Show Guides إظهار الأدلة + Subtract from selection ({key}) طرح من التحديد ({key}) + ↑↓ navigate {key} run esc close ↑↓ تنقل {key} تشغيل esc إغلاق +@plural {n} layer|{n} layers {n} طبقة|{n} طبقة|{n} طبقتان|{n} طبقات|{n} طبقةً|{n} طبقة + Collapse group ({key}-click: all groups) طيّ المجموعة (نقرة {key}: كل المجموعات) + Expand group ({key}-click: all groups) بسط المجموعة (نقرة {key}: كل المجموعات) + Hide the layer's effects ({key}-click: all layers) إخفاء تأثيرات الطبقة (نقرة {key}: كل الطبقات) + Show the layer's effects ({key}-click: all layers) إظهار تأثيرات الطبقة (نقرة {key}: كل الطبقات) + System Info… معلومات النظام… + System Info معلومات النظام + More panels مزيد من اللوحات + More documents مزيد من المستندات + These settings aren't available in PhotoCraft yet. هذه الإعدادات غير متاحة في PhotoCraft بعد. + Graphics الرسوم + Reset GPU Backend إعادة ضبط محرك GPU + Applies at next launch. يُطبق عند التشغيل التالي. + Click to sample the foreground colour · {key}-click for background انقر لأخذ عينة الأمامي · انقر مع {key} للخلفي + {key}-click to set the source نقرة {key} لضبط المصدر + {key} to subtract {key} للطرح + Clone source {n} ({key}-click with Clone Stamp to set) مصدر استنساخ {n} (نقرة {key} مع خاتم الاستنساخ للضبط) + Source: not set ({key}-click with Clone Stamp) المصدر: غير مضبوط (نقرة {key} مع خاتم الاستنساخ) + Pixel Layer طبقة بكسلات + Type Layer طبقة نص + Shape Layer طبقة شكل + Group Layer طبقة مجموعة + Fill Layer طبقة تعبئة + Smart Object Layer طبقة كائن ذكي + Create Warped Text إنشاء نص متموج + Rasterize Smart Object تنقير الكائن الذكي + Rasterize Fill Content تنقير محتوى التعبئة + Rasterize Layer Style تنقير نمط الطبقة + Unlock: picking a preset replaces these settings فتح القفل: انتقاء إعداد مسبق يستبدل هذه الإعدادات + Lock: keep these settings when picking another preset قفل: الإبقاء على هذه الإعدادات عند انتقاء إعداد آخر + Diameter: القطر: + Hardness: الصلابة: + No brush presets لا إعدادات فرشاة مسبقة + Toggle the Brush Settings panel (F5) تبديل لوحة إعدادات الفرشاة (F5) + Create new brush preset from the current settings إنشاء إعداد فرشاة مسبق من الإعدادات الحالية + Brush Settings… (F5): every option of this brush إعدادات الفرشاة… (F5): كل خيار في هذه الفرشاة + Rename Brush… إعادة تسمية الفرشاة… + Delete Brush حذف الفرشاة + New Brush Preset… إعداد فرشاة مسبق جديد… + Brush Preset Options خيارات الإعداد المسبق للفرشاة + Group name اسم المجموعة + Brush name اسم الفرشاة + Brush Name اسم الفرشاة + Brush Stroke ضربة الفرشاة + Brush Tip رأس الفرشاة + Off: the speed of the pointer sets the spacing إيقاف: سرعة المؤشر تضبط التباعد + Tilt Scale مقياس الميل + Brush Projection إسقاط الفرشاة + Apply the pen's tilt and rotation to the tip shape تطبيق ميل القلم ودورانه على شكل الرأس + Mixer Brush فرشاة المزج + Wet مبلل + Mix مزج + Wetness Jitter ارتجاف البلل + Mix Jitter ارتجاف الخلط + Show the layer mask as an overlay عرض قناع الطبقة كتراكب + Toggle visibility تبديل الرؤية + Unlink the mask from the layer إلغاء ربط القناع عن الطبقة + Link the mask to the layer ربط القناع بالطبقة + Gradient التدرج اللوني + Gradient Options خيارات التدرج + Align with layer محاذاة مع الطبقة + Reset Alignment إعادة ضبط المحاذاة + Centre the gradient (offset 0, 0) توسيط التدرج (إزاحة 0، 0) + Gradient Editor محرر التدرج + Gradient picker منتقي التدرج + Save As Preset حفظ كإعداد مسبق + The gradient the Gradient tool paints with التدرج الذي ترسم به أداة التدرج + Adds the current gradient to the Gradients panel يضيف التدرج الحالي إلى لوحة التدرجات + Gradient stops حدود التدرج + Select a type layer to edit its character and paragraph settings. حدد طبقة نص لتحرير إعدادات محارفها وفقراتها. + Text color لون النص + Type Options خيارات النص + Anti-aliasing method طريقة تنعيم الحواف + Horizontal type نص أفقي + Vertical type نص رأسي + Fill path with foreground color تعبئة المسار باللون الأمامي + Stroke path with brush حد المسار بالفرشاة + Load path as a selection تحميل المسار كتحديد + Make work path from selection إنشاء مسار عمل من التحديد + Add vector mask إضافة قناع متجه + Create new path إنشاء مسار جديد + Delete path حذف المسار + Delete vector mask حذف القناع المتجه + CPU (no GPU acceleration) المعالج (بلا تسريع GPU) + DirectX 12 DirectX 12 + GPU backend محرك GPU + Linux display server خادم عرض Linux + X11 X11 + Metal Metal + OpenGL OpenGL + Use tablet pressure استخدام ضغط لوحة الرسم + Vulkan Vulkan + No path to make a selection from: draw one with the Pen tool or select one in the Paths panel. لا مسار لإنشاء تحديد منه: ارسم واحداً بأداة القلم أو حدد واحداً في لوحة المسارات. + Cancel opening إلغاء الفتح + Cancelled opening {name} أُلغي فتح {name} + Developing {name} جارٍ معالجة {name} + Cancelled {label} أُلغي {label} + Esc to cancel Esc للإلغاء + Opened {name} فُتح {name} + Opening {name} جارٍ فتح {name} + Saved {name} تم حفظ {name} + Saving {name} جارٍ حفظ {name} + Saving {percent} جارٍ الحفظ {percent} + A save to {name} is still running; try again when it finishes حفظ إلى {name} لا يزال قيد التشغيل؛ أعد المحاولة عند انتهائه + {label} is writing the file and can no longer be cancelled {label} يكتب الملف ولم يعد قابلاً للإلغاء + Opening {name}… جارٍ فتح {name}… + Opening… جارٍ الفتح… + Reading… جارٍ القراءة… + Working… جارٍ العمل… + Rendering Mode وضع التصيير + Automatic (recommended) تلقائي (موصى به) + CPU / Compatibility معالج/توافقية + Automatic uses GPU acceleration when available and falls back to CPU rendering on errors. التلقائي يستخدم تسريع GPU عند توفره ويرتد إلى تصيير المعالج عند الأخطاء. + Switched to CPU rendering التحول إلى تصيير المعالج + GPU acceleration could not continue. Your documents are unchanged. تعذّر مواصلة تسريع GPU. مستنداتك لم تتغير. + PhotoCraft is using the CPU image compositor. The window may still use your graphics adapter. يستخدم PhotoCraft مركّب الصور بالمعالج. وقد تظل النافذة تستخدم موائم رسومياتك. + Retry GPU requires a restart. Save your work first. إعادة تجربة GPU تتطلب إعادة تشغيل. احفظ عملك أولاً. + Keep Using CPU مواصلة استخدام المعالج + Retry GPU إعادة تجربة GPU + Advanced متقدم + GPU Backend محرك GPU + Details التفاصيل + Rendering mode وضع التصيير + Edit Type تحرير النص + New Style… نمط جديد… + Style {name} saved حُفظ النمط {name} + Create new style (from the selected type) إنشاء نمط جديد (من النص المحدد) + Create new style from the selected layer إنشاء نمط جديد من الطبقة المحددة + Make Default جعله افتراضياً + Reset to Default إعادة الضبط إلى الافتراضي + Full-resolution preview unavailable المعاينة بالدقة الكاملة غير متاحة + No patterns لا نقوش + Enable {name} تمكين {name} + Hold Alt while drawing for straight segments استمر بالضغط على Alt أثناء الرسم لقطع مستقيمة + Drag or click polygon points · hold Alt during lasso for straight segments · {add} add · {sub} before drawing subtracts اسحب أو انقر نقاط المضلع · استمر بـ Alt أثناء اللاسو لقطع مستقيمة · {add} إضافة · {sub} قبل الرسم يطرح + Move نقل + Extend تمديد + Structure: البنية: + Content-Aware Move Tool أداة النقل الواعية بالمحتوى + TIFF Options خيارات TIFF + Targa Options خيارات Targa + 24 bits/pixel 24 بت/بكسل + 32 bits/pixel 32 بت/بكسل + Including layers will increase file size. تضمين الطبقات يزيد حجم الملف. + Discard Layers and Save a Copy إهمال الطبقات وحفظ نسخة + Don't show again عدم الإظهار مجدداً + Save failed: {error} فشل الحفظ: {error} + Save cancelled أُلغي الحفظ + Magnetic Lasso Tool أداة اللاسو المغناطيسي + Frequency التردد + Use tablet pressure to change pen width استخدام ضغط اللوحة لتغيير عرض القلم + About حول + Contributors المساهمون + Models النماذج + Sort فرز + Username اسم المستخدم + Display name الاسم المعروض + Real name الاسم الحقيقي + Reverse the order عكس الترتيب + Grab bag متنوعات + Table جدول + Name (A–Z) الاسم (أ–ي) + Merged PRs طلبات الدمج المدمجة + Commits الارتباطات + Lines added سطور مضافة + Lines deleted سطور محذوفة + Line delta صافي السطور + Binary assets added أصول ثنائية مضافة + Binary assets removed أصول ثنائية محذوفة + First commit أول ارتباط + First الأول + Last commit آخر ارتباط + Last الأخير + Contributors: {contributors} · Commits: {commits} مساهمون: {contributors} · التزامات: {commits} + No contributor data was built into this copy. لم تُبنَ بيانات المساهمين في هذه النسخة. + No model credits were built into this copy. لم تُبنَ بيانات نماذج الذكاء الاصطناعي في هذه النسخة. + Company الشركة + Model الطراز + Version الإصدار + % of all commits % من كل الارتباطات + Lines +/− السطور +/- + @{login}: {prs} PRs, {commits} commits, +{added} / −{deleted} lines (Δ {delta}), +{binAdded} / −{binDeleted} binary assets, {first} – {last} @{login}: {prs} طلبات دمج، {commits} التزاماً، +{added} / −{deleted} سطراً (Δ {delta})، +{binAdded} / −{binDeleted} أصلاً ثنائياً، {first} – {last} + Create new swatch إنشاء عينة جديدة + New Swatch… نموذج جديد… + New Swatch Group… مجموعة عينات جديدة… + Import Swatches… استيراد عينات… + Replace Swatches… استبدال العينات… + Export Swatches… تصدير العينات… + Export Swatches for Exchange… تصدير العينات للتبادل… + Reset Swatches إعادة ضبط العينات + Add to Swatches إضافة إلى عينات الألوان + Blend If: مزج إذا: + Channels: القنوات: + Knockout قص + Apply At Canvas Bounds تطبيق عند حدود اللوحة + Color Picker (Text Color) منتقي الألوان (لون النص) + Color Picker ({name}) منتقي الألوان ({name}) + Color Picker (Fill Color) منتقي الألوان (لون التعبئة) + Fill color لون التعبئة + Color Picker (Stroke Color) منتقي الألوان (لون الحد) + Stroke color لون الحد + Pick screen color انتقاء لون من الشاشة + Sample a pixel anywhere on the screen أخذ عينة بكسل من أي موضع على الشاشة + Click to pick · Esc to cancel انقر للانتقاء · Esc للإلغاء + Pick a screen pixel or press Esc to cancel انتق بكسل شاشة أو اضغط Esc للإلغاء + Scroll to zoom مرر للتكبير + Show/Hide All Panels إظهار/إخفاء كل اللوحات + Show/Hide Panels إظهار/إخفاء اللوحات + Could not open تعذّر الفتح + {path}: the path is not valid Unicode; rename the file and open it again. {path}: المسح ليس يونيكود صالحاً؛ أعد تسمية الملف وافتحه مجدداً. + Contents: المحتويات: + Custom Pattern: نقشة مخصصة: + Foreground Color اللون الأمامي + Color… اللون… + 50% Gray رمادي 50% + Color Adaptation تأقلم لوني + {size} (was {old}) {size} (كان {old}) + Cone مخروط + Cone (Inverted) مخروطي (معكوس) + Domed قبوي + Domed (Inverted) قبوي (معكوس) + Diagonal (Descending) قطري (تنازلي) + Contour Editor محرر الكنتور + Anti-aliased منعّم الحواف + Corner زاوية + Gloss Contour كنتور اللمعان + Contour كنتور + Cone - Inverted مخروطي - معكوس + Cove - Deep تجويف - عميق + Cove - Shallow تجويف - ضحل + Gaussian غاوسي + Half Round نصف دائري + Ring حلقي + Ring - Double حلقي - مزدوج + Rolling Slope - Descending منحدر متدحرج - تنازلي + Rounded Steps درجات مدورة + Sawtooth 1 سنين 1 + Red Eye Tool أداة العين الحمراء + Red Eye العين الحمراء + Pupil Size حجم البؤبؤ + Darken Amount مقدار التغميق + Click a red pupil to neutralize it انقر بؤبؤاً أحمر لتحييده + open source مفتوح المصدر + …and {n} more …و{n} أخرى + Eyedroppers: القطارات: + Set Black Point ضبط النقطة السوداء + Set Neutral Gray Point ضبط نقطة الرمادي المحايد + Set White Point ضبط النقطة البيضاء + Unavailable in this color mode غير متاح في وضع اللون هذا + Selection Preview: معاينة التحديد: + Black Matte حاشية سوداء + White Matte حاشية بيضاء + Seafoam رغوة البحر + Indigo نيلي + Fuchsia فوشيا + Violet بنفسجي + Reset إعادة ضبط + Large document: redrawing on the CPU مستند كبير: إعادة الرسم على المعالج + This redraw took {seconds} s on the CPU. استغرقت إعادة الرسم هذه {seconds} ثانية على المعالج. + Edits that change the whole document, such as a layer's blend mode, opacity or visibility, redraw all of it. التحريرات التي تغير المستند كله، كوضع مزج طبقة أو عتامتها أو رؤيتها، تعيد رسمه كاملاً. + Its layers don't fit the GPU memory budget. Raising Memory usage in Preferences › Performance raises the budget, up to a quarter of this computer's memory. طبقاته لا تسع في ميزانية ذاكرة GPU. رفع «استخدام الذاكرة» في التفضيلات ▸ الأداء يرفع الميزانية، حتى ربع ذاكرة هذا الكمبيوتر. + The GPU compositor wasn't used: {reason} لم يُستخدم مركّب GPU: {reason} +fontWeight Thin نحيف +fontWeight ExtraLight خفيف جداً +fontWeight Light خفيف +fontWeight Regular اعتيادي +fontWeight Medium متوسط +fontWeight SemiBold نصف عريض +fontWeight Bold عريض +fontWeight ExtraBold عريض جداً +fontWeight Black أسود +fontWeight Italic مائل + Pattern Stamp Tool أداة خاتم النقشة + Pattern Stamp خاتم النقشة + Impressionist انطباعي + Rotate View عرض التدوير + Rotate View Tool أداة عرض التدوير + Reset View إعادة ضبط العرض + Drag around the centre to rotate the view · Shift constrains to 15° اسحب حول المركز لتدوير العرض · Shift يقيد عند 15° + Dual Axis محوران + Diagonal قطري + Transform Symmetry تناظر التحويل + Point Sample عينة نقطة + 3 by 3 Average متوسط 3×3 + 5 by 5 Average متوسط 5×5 + 11 by 11 Average متوسط 11×11 + 31 by 31 Average متوسط 31×31 + 51 by 51 Average متوسط 51×51 + 101 by 101 Average متوسط 101×101 + Sample Size: حجم العينة: + All Layers No Adjustments كل الطبقات (بلا ضبط) + Current & Below No Adjustments الحالي وما تحته (بلا ضبط) + Show Sampling Ring إظهار حلقة أخذ العينات + Out of gamut for printing: click for the nearest printable colour خارج مدى الطباعة: انقر لأقرب لون قابل للطباعة + Not a web colour: click for the nearest web colour ليس لون ويب: انقر لأقرب لون ويب + Color to Alpha… لون إلى ألفا… + Transparency Threshold عتبة الشفافية + Opacity Threshold عتبة العتامة + PhotoCraft — Screen Color Picker PhotoCraft — منتقي ألوان الشاشة + Rasterize svg groups deeper than تنقير مجموعات SVG أعمق من + 0 turns this threshold off; SVG groups nested deeper than 100 levels are always rasterized. 0 يطفئ هذه العتبة؛ ومجموعات SVG المتداخلة أعمق من 100 مستوى تُنقَّر دائماً. + Rule of Thirds قاعدة الأثلاث + Triangle مثلث + Golden Ratio النسبة الذهبية + Golden Spiral اللولب الذهبي + Auto Show Overlay إظهار تلقائي للتراكب + Always Show Overlay إظهار التراكب دائماً + Never Show Overlay عدم إظهار التراكب أبداً + Cycle Overlay تدوير التراكب + Cycle Orientation تدوير التوجه + Set the overlay options for the Crop tool ضبط خيارات التراكب لأداة القصّ + Alt-click went to the desktop, which moves windows with Alt-drag. Set its window-move key to Super, or latch Alt in Window › Modifier Keys. ذهبت نقرة Alt إلى سطح المكتب الذي يحرك النوافذ بسحب Alt. اضبط مفتاح تحريك النوافذ على Super، أو أقفل Alt في نافذة ▸ مفاتيح التعديل. + Color Picker (Layer Style Color) منتقي الألوان (لون نمط الطبقة) + Auto Hide Notifications إخفاء الإشعارات تلقائياً + Notification Duration (seconds) مدة الإشعار (ثوان) + Appearance Mode وضع المظهر + Dark Theme سمة داكنة + Light Theme سمة فاتحة + Pro Medium Pro Medium + Studio Light Studio Light + Next Appearance Mode وضع المظهر التالي + Sync with system المزامنة مع النظام + Active نشط + Color Picker (Solid Color) منتقي الألوان (لون مصمت) + Straighten the image by drawing a line on it سوّ الصورة برسم خط عليها + Set additional Crop options ضبط خيارات قصّ إضافية + Show Cropped Area إظهار المنطقة المقصوصة + Enable Crop Shield تمكين درع القصّ + Match Canvas مطابقة اللوحة + Auto Adjust Opacity ضبط العتامة تلقائياً + Crop Shield color لون درع القصّ + Color Picker (Crop Shield Color) منتقي الألوان (لون درع القصّ) + From Center من المركز + Link radii ربط نصفي القطر + Star Ratio: نسبة النجمة: + Create Rectangle إنشاء مستطيل + Create Ellipse إنشاء قطع ناقص + Create Triangle إنشاء مثلث + Create Polygon إنشاء مضلع + Pressure curve منحنى الضغط + Click to add a point, right-click to remove انقر لإضافة نقطة، وانقر بالأيمن للإزالة + Some brush presets could not be loaded تعذّر تحميل بعض إعدادات الفرشاة المسبقة + Retry saving presets إعادة محاولة حفظ الإعدادات المسبقة + Brush preset changes are not saved: {error} تغييرات إعداد الفرشاة المسبق غير محفوظة: {error} + Keep this tab open to retain your brushes. أبقِ هذا التبويب مفتوحاً للإبقاء على فرشك. + Browser storage is unavailable; brushes are session-only. Keep this tab open to retain them. تخزين المتصفح غير متاح؛ الفرش للجلسة فقط. أبقِ هذا التبويب مفتوحاً للإبقاء عليها. + Saving brush presets… Keep this tab open until saving finishes. جارٍ حفظ إعدادات الفرشاة المسبقة… أبقِ هذا التبويب مفتوحاً حتى يكتمل الحفظ. + Reflect انعكاس + Glow توهج + Negation سلب + XOR XOR + Color Burn (Paint.NET) حرق اللون (Paint.NET) + Color Dodge (Paint.NET) تفتيح اللون (Paint.NET) + Stroke Options خيارات الحد + Solid متصل + Dashed متقطع + Dotted منقط + Alignment محاذاة + Caps الأطراف + Butt / Flat مسطح/مستوٍ + Corners زوايا + Miter حادة + Round مستديرة + Bevel مشطوفة + Miter limit حد الزاوية + Dashed line خط متقطع + Dash تقطيع + Gap فجوة + Dash / gap lengths × stroke width أطوال الشرطة/الفجوة × سماكة الحد + Add pair إضافة زوج + Remove pair إزالة زوج + Dash offset إزاحة الشرطة + Open paths use centered strokes المسارات المفتوحة تستخدم حدوداً مركزية + Use finite lengths and a positive pattern total استخدم أطوالاً منتهية ومجموع نمط موجباً + No subject found — try Object Selection or the Lasso لم يُعثر على موضوع — جرّب تحديد الكائنات أو اللاسو + Quick Selection found nothing there لم يجد التحديد السريع شيئاً هناك + Object Selection found nothing there — try a tighter rectangle لم يجد تحديد الكائنات شيئاً هناك — جرّب مستطيلاً أضيق + No subject found — try a rectangle around the object لم يُعثر على موضوع — جرّب مستطيلاً حول الكائن + Auto Erase محو تلقائي + Click the first point or press {key} to close · {del} removes a point · Esc cancels انقر النقطة الأولى أو اضغط {key} للإغلاق · {del} يحذف نقطة · Esc يلغي + Click, then move along an edge · click to fasten a point · {alt}-click for a straight segment · double-click to close انقر ثم تحرك على طول حافة · انقر لتثبيت نقطة · نقرة {alt} لقطعة مستقيمة · نقر مزدوج للإغلاق + Follows only edges this close to the pointer ([ and ] change it) يتبع الحواف القريبة من المؤشر بهذا القدر فقط ([ و ] تغيّره) + Higher values follow only edges that contrast sharply with their surroundings القيم الأعلى تتبع الحواف التي تتباين بقوة مع محيطها فقط + How often fastening points are placed by themselves كم مرة توضع نقاط التثبيت من تلقاء نفسها + Scrubby Zoom تكبير سحبي + {mode} Color · {bits} bit لون {mode} · {bits} بت + Drag a crop box · drag inside to move · edges resize ({ratio} ratio, {centre} centre) · Space moves while drawing · arrows nudge · X swaps orientation · {commit} commits · Esc cancels اسحب صندوق قصّ · اسحب داخله للتحريك · الحواف تحجّم (نسبة {ratio}، مركز {centre}) · Space يحرك أثناء الرسم · الأسهم تحرك طفيفاً · X يبدل التوجه · {commit} يثبت · Esc يلغي + Appearance Settings… إعدادات المظهر… + Add to favorites إضافة إلى المفضلة + Remove from favorites إزالة من المفضلة + Camera Data بيانات الكاميرا +cameraData Make الطابع +cameraData Model الطراز +cameraData Date Taken تاريخ الالتقاط +cameraData Exposure التعريض +cameraData F-Stop قيمة f +cameraData ISO Speed حساسية ISO +cameraData Focal Length البعد البؤري +cameraData Focal Length (35 mm) البعد البؤري (مكافئ 35مم) +cameraData Lens العدسة + Activate Panel تنشيط اللوحة + Change Panel Group تغيير مجموعة اللوحات + Change Panel Layout تغيير تخطيط اللوحة + Close Panel إغلاق اللوحة + Dock Panel إرساء اللوحة + Float Panel تعويم اللوحة + Move Panel تحريك اللوحة + Group with تجميع مع + Panel menu قائمة اللوحة + Resize panel window تغيير حجم نافذة اللوحة + Resize panels تغيير حجم اللوحات + Use Classic Mode استخدام الوضع الكلاسيكي + Auto Center Preview توسيط المعاينة تلقائياً + Next Document المستند التالي + Previous Document المستند السابق + W x H x Resolution عرض × ارتفاع × دقة + Front Image الصورة الأمامية + Frame Tool أداة الإطار + Create a new rectangular frame إنشاء إطار مستطيل جديد + Create a new elliptical frame إنشاء إطار بيضوي جديد + Include in playback التضمين في التشغيل + Perspective Crop Tool أداة القصّ المنظوري + Show Grid إظهار الشبكة + Drag a box or click four corners · drag the corners onto the edges of a skewed shape · {commit} commits · Esc cancels اسحب صندوقاً أو انقر أربع زوايا · اسحب الزوايا إلى حواف شكل مائل · {commit} يثبت · Esc يلغي + Artboard Tool أداة لوحة الرسم + Make Portrait جعله طولياً + Make Landscape جعله عرضياً + Add New Artboard إضافة لوحة رسم جديدة + W ع + H ار + Freeform Pen Tool أداة القلم الحر + Curvature Pen Tool أداة قلم الانحناء + Curve Fit: مطابقة المنحنى: + Drag: draw freehand · {alt}-click: straight segment · Release on the start point: close سحب: رسم يدوي · نقرة {alt}: قطعة مستقيمة · الإفلات على نقطة البداية: إغلاق + Click: smooth point · Double-click: corner · Drag a point: move · Click first point: close · {key} finish نقرة: نقطة ملساء · نقر مزدوج: زاوية · سحب نقطة: تحريك · نقرة النقطة الأولى: إغلاق · {key} إنهاء + Scale: المقياس: + Snap to Origin الالتقاط بالأصل + Search settings… البحث في الإعدادات… + No matching settings لا إعدادات مطابقة + Loading fonts… جارٍ تحميل الخطوط… + Tool أداة + Simulate Pressure محاكاة الضغط + Stroke Path… حد المسار… + Background Eraser ممحاة الخلفية + Clone Stamp ختم الاستنساخ + Healing Brush فرشاة الإصلاح + Spot Healing Brush فرشاة الإصلاح الفوري + History Brush فرشاة السجل + Smudge تلطيخ + Dodge تفتيح + Burn تعتيم + Sponge إسفجة + Amount: المقدار: + Protect: الحماية: + Protect skin tones حماية درجات البشرة + Edit points to modify the curve حرر النقاط لتعديل المنحنى + Draw to modify the curve ارسم لتعديل المنحنى +curves Smooth تنعيم + Smooth the curve values تنعيم قيم المنحنى + Drag to draw the curve · {key}-click draws a straight line اسحب لرسم المنحنى · نقرة {key} ترسم خطاً مستقيماً + Edit Plane تحرير المستوى + Create Plane إنشاء مستوى + Grid Size: حجم الشبكة: + Vanishing Point: click four corners to create a plane نقطة التلاشي: انقر أربع زوايا لإنشاء مستوى + Vanishing Point is not active نقطة التلاشي غير نشطة + Apply Vanishing Point ({key}) تطبيق نقطة التلاشي ({key}) + Fix the red plane first: its corners must form a convex quad أصلح المستوى الأحمر أولاً: يجب أن تشكل زواياه رباعياً محدباً + Onion Skin جلد البصل + Marching Ants نمل زاحف + On Black على أسود + On White على أبيض + On Layers على الطبقات + Show Edge إظهار الحافة + Show Original إظهار الأصل + F cycles the views; hold X to see the image F يدور بالعروض؛ استمر بـ X لرؤية الصورة + Refine Edge Brush (R) فرشاة تنقيح الحافة (R) + Expand Detection Area توسيع منطقة الكشف + Restore Original Edge استعادة الحافة الأصلية + Paint over hair or fur on the image; Alt paints the other mode لوّن فوق الشعر أو الفراء في الصورة؛ وAlt يرسم الوضع الآخر + Clear Brush Strokes مسح ضربات الفرشاة + Show rulers إظهار المساطر + New Crop Preset… إعداد قصّ مسبق جديد… + Delete Crop Preset… حذف إعداد القصّ المسبق… + Select the crop presets to delete: حدد إعدادات القصّ المسبقة المراد حذفها: + Select the crop presets to delete تحديد إعدادات القصّ المسبقة المراد حذفها + Enter a name for the crop preset أدخل اسماً لإعداد القصّ المسبق + There is no crop size or ratio to save لا حجم قصّ أو نسبة لحفظه + Click to place · Alt-click or drag off-canvas to remove انقر للوضع · نقرة Alt أو السحب خارج اللوحة للإزالة + No document open لا يوجد مستند مفتوح + {n} of {max} sample points {n} من {max} نقطة عينة + Emulsion Down المستحلب للأسفل + Functions دوال + Print Resolution: دقة الطباعة: + Use Previous Layer to Create Clipping Mask استخدام الطبقة السابقة لإنشاء قناع قص + Fill with {mode}-neutral color (white) تعبئة بلون {mode} محايد (أبيض) + Fill with {mode}-neutral color (black) تعبئة بلون {mode} محايد (أسود) + Fill with {mode}-neutral color (50% gray) تعبئة بلون {mode} محايد (رمادي 50%) + (No neutral color exists for {mode} mode.) (لا لون محايد في وضع {mode}.) + Apply mask to layer before removing? تطبيق القناع على الطبقة قبل الإزالة؟ + The layer or its mask changed. Drag the mask onto the Trash again. تغيّرت الطبقة أو قناعها. اسحب القناع إلى المهملات مجدداً. + Delete the vector mask? حذف القناع المتجه؟ + Light Blue أزرق فاتح + Light Red أحمر فاتح + Medium Blue أزرق متوسط + Light Gray رمادي فاتح + Remove after each stroke إزالة بعد كل ضربة + Apply the removal ({key}) تطبيق الإزالة ({key}) + Strokes to remove: {n} (Enter applies, Esc cancels) ضربات مراد إزالتها: {n} (Enter يطبق، Esc يلغي) diff --git a/crates/ui-egui/src/i18n/mod.rs b/crates/ui-egui/src/i18n/mod.rs index 88ad43715f..9b494128c8 100644 --- a/crates/ui-egui/src/i18n/mod.rs +++ b/crates/ui-egui/src/i18n/mod.rs @@ -115,6 +115,22 @@ fn plural_polish(n: u64) -> usize { } } +/// Arabic (CLDR): zero (0), one (1), two (2), `few` when the last two digits are 3–10 +/// (3–10, 103–110…), `many` when they are 11–99 (11–99, 111–199…) and everything else +/// (100, 101, 102…) otherwise. Six forms, in that order in every `@plural` row. +fn plural_arabic(n: u64) -> usize { + match n { + 0 => 0, + 1 => 1, + 2 => 2, + _ => match n % 100 { + 3..=10 => 3, + 11..=99 => 4, + _ => 5, + }, + } +} + /// A catalog file as packed by build.rs (`pack_catalogs`; the binary would otherwise carry ~2.2 MB /// of translations, which the web build's size gate can't afford). See [`unpack`]. macro_rules! catalog { @@ -220,6 +236,9 @@ pub static LANGUAGES: [LangInfo; 21] = [ LangInfo { code: "tr", name: "Türkçe", source: catalog!("tr"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, // Vietnamese; `vi-VN` resolves here. LangInfo { code: "vi", name: "Tiếng Việt", source: catalog!("vi"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, + // العربية: the whole interface with six-form plurals; it reads right-to-left (see + // [`dir_for_code`] and [`crate::direction`]), so the shell mirrors for it. + LangInfo { code: "ar", name: "العربية", source: catalog!("ar"), plural: plural_arabic, complete_menus: true, catalog: OnceLock::new() }, ]; impl LangInfo { From 8b70f13682bc5303aa439f03befa53d6e2449fec Mon Sep 17 00:00:00 2001 From: hasan-sdaif <306196098+hasan-sdaif@users.noreply.github.com> Date: Tue, 13 Oct 2026 16:04:48 +0000 Subject: [PATCH 31/60] i18n: read Arabic labels right to left (the visual-order pass) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit egui 0.36 lays a label's runs left to right and runs no bidi over them (its text code still carries TODO(emilk): heed bidi characters), so an Arabic label read with its words in reverse order: each word was shaped correctly once a fallback face covered its glyphs, but it was drawn at the wrong end of the line. Languages flagged rtl now run each translation through a UAX #9 pass when the catalog is parsed (i18n/bidi.rs, unicode-bidi): the runs come out in visual order, the letters inside each run stay in logical order for the shaper, and brackets are mirrored — the pairs of BidiMirroring.txt, guillemets included, but not curly brackets, which in an interface label are almost always a {placeholder}'s own syntax: each placeholder rides through the pass as one character, so it can be neither split, reversed nor mirrored, and the fill always finds it. What a user types keeps its logical order — only catalog lookups go through the pass. --- Cargo.lock | 1 + crates/ui-egui/Cargo.toml | 5 +- crates/ui-egui/src/i18n/bidi.rs | 204 +++++++++++++++++++++++++++++ crates/ui-egui/src/i18n/catalog.rs | 5 +- crates/ui-egui/src/i18n/mod.rs | 61 +++++---- 5 files changed, 249 insertions(+), 27 deletions(-) create mode 100644 crates/ui-egui/src/i18n/bidi.rs diff --git a/Cargo.lock b/Cargo.lock index fa59477940..45fe8bf001 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4612,6 +4612,7 @@ dependencies = [ "serde_json", "sys-locale", "toml", + "unicode-bidi", "winsafe", ] diff --git a/crates/ui-egui/Cargo.toml b/crates/ui-egui/Cargo.toml index d6a49c0038..544703e672 100644 --- a/crates/ui-egui/Cargo.toml +++ b/crates/ui-egui/Cargo.toml @@ -36,7 +36,10 @@ serde_json = { workspace = true } log = { workspace = true } base64 = "0.22" # Inflating the translation catalogs, stored deflated (build.rs); already linked through photocraft-io. -flate2 = { workspace = true } +flate2 +# The Arabic catalog is parsed into visual order (i18n/bidi.rs): a UAX #9 pass for +# egui's run-by-run, left-to-right text layout. +unicode-bidi = "0.3.18" = { workspace = true } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] rayon = { workspace = true } diff --git a/crates/ui-egui/src/i18n/bidi.rs b/crates/ui-egui/src/i18n/bidi.rs new file mode 100644 index 0000000000..035ca6c485 --- /dev/null +++ b/crates/ui-egui/src/i18n/bidi.rs @@ -0,0 +1,204 @@ +//! egui lays a label out run by run — every run one font, shaped on its own — and puts the runs +//! left to right in the order it met them. It does not run the Unicode bidirectional algorithm +//! (its text code still carries `TODO(emilk): heed bidi characters`), so a right-to-left label +//! reads with its words in reverse order: egui shapes each Arabic word correctly once the +//! language's system font has loaded, but it draws the first word at the left of the line, and +//! the reader meets the second one first. +//! +//! This module reorders a translation into *visual order* before egui sees it, the technique +//! immediate-mode UIs use until their text stack grows bidi support: the label's runs come out +//! in the order they must appear on screen, left to right, while the characters inside each run +//! stay in logical order, because the shaper reverses a right-to-left run itself (harfrust +//! picks the direction from the script). Brackets are mirrored here too, as UAX #9 L4 asks: +//! egui draws the glyph of the character it is handed. +//! +//! Only catalog lookups go through here, so what a user types into a field keeps its logical +//! order — the order the clipboard and search expect. A label long enough to wrap still wraps +//! from its visual end (egui wraps runs as it meets them), and the mirrored layout of the +//! widgets is a separate, larger step; this pass is what an Arabic interface needs until egui +//! grows bidi of its own. + +use unicode_bidi::{BidiClass, BidiInfo, Level}; + +/// A character the shaper lays out as part of a right-to-left run: a strong right-to-left +/// character (Arabic and Hebrew letters) or a mark riding on one. The stretches these form are +/// emitted in logical order; every other character keeps the place the reordering gave it. +fn is_rtl_shaped(c: char) -> bool { + matches!(unicode_bidi::bidi_class(c), BidiClass::R | BidiClass::AL | BidiClass::NSM) +} + +/// The glyph a bracket has to show in a right-to-left context: egui draws the glyph of the +/// character it is given, so the mirror pair has to be swapped in the text itself. The pairs +/// come from `BidiMirroring.txt` — the ones an interface label can hold, guillemets +/// included. Curly brackets are left alone: in an interface label they are almost always a +/// `{placeholder}`'s own syntax, and mirroring them would break the fill. +fn mirror(c: char) -> char { + match c { + '(' => ')', + ')' => '(', + '[' => ']', + ']' => '[', + '<' => '>', + '>' => '<', + '«' => '»', + '»' => '«', + '‹' => '›', + '›' => '‹', + _ => c, + } +} + +/// `label` in logical order, rearranged for egui's run-by-run, left-to-right layout: the runs in +/// visual order (left to right), the characters inside each run in logical order for the shaper, +/// brackets mirrored. Lines are reordered on their own (`\n` ends one). A `{placeholder}` is the +/// label's own syntax: it rides through the pass as one character, so the reordering can +/// neither split, reverse nor mirror it, and every placeholder comes back exactly as written. +/// A label with nothing right-to-left in it comes back as it was. +pub fn visual_rtl(label: &str) -> String { + if !label.chars().any(is_rtl_shaped) { + return label.into(); + } + // Each placeholder becomes one private-use character (a left-to-right one, like the name + // inside it) for the pass, and is restored afterwards; the mapping is per placeholder, so + // a reordered sentence still finds its own. + let mut tokens: Vec<&str> = Vec::new(); + let mut guarded = String::with_capacity(label.len()); + let mut rest = label; + while let Some(open) = rest.find('{') { + guarded.push_str(&rest[..open]); + let after = &rest[open + 1..]; + if let Some(close) = after.find('}') { + tokens.push(&rest[open..open + close + 2]); + guarded.push(char::from_u32(0xE000 + tokens.len() as u32 - 1).unwrap_or('\u{E000}')); + rest = &after[close + 1..]; + } else { + guarded.push('{'); + rest = after; + } + } + guarded.push_str(rest); + let mut out = String::with_capacity(label.len()); + let mut first = true; + for line in guarded.split('\n') { + if !first { + out.push('\n'); + } + first = false; + visual_rtl_line(line, &mut out); + } + if tokens.is_empty() { + return out; + } + let mut restored = String::with_capacity(out.len()); + for c in out.chars() { + let k = c as u32; + if (0xE000..0xE000 + tokens.len() as u32).contains(&k) { + restored.push_str(tokens[(k - 0xE000) as usize]); + } else { + restored.push(c); + } + } + restored +} + +/// One line of [`visual_rtl`] (no `\n` in it), appended to `out`. +fn visual_rtl_line(line: &str, out: &mut String) { + let bidi = BidiInfo::new(line, Some(Level::rtl())); + let Some(para) = bidi.paragraphs.first() else { + out.push_str(line); + return; + }; + let chars: Vec = line.chars().collect(); + let levels = bidi.reordered_levels_per_char(para, para.range.clone()); + // The line's characters in visual order, left to right (UAX #9 L1–L2). + let order = BidiInfo::reorder_visual(&levels); + let mut p = 0; + while p < order.len() { + let i = order[p]; + if is_rtl_shaped(chars[i]) { + // One shaping run: a stretch of right-to-left characters, contiguous in the line, + // whatever order the reordering brought it in (descending in a right-to-left + // context, ascending inside a left-to-right island). Emitted in logical order, + // which is ascending. + let (mut lo, mut hi) = (i, i); + let mut end = p + 1; + loop { + if let Some(&j) = order.get(end) + && is_rtl_shaped(chars[j]) + && (j + 1 == lo || j == hi + 1) + { + lo = lo.min(j); + hi = hi.max(j); + end += 1; + } else { + break; + } + } + let mut j = lo; + while j <= hi { + out.push(chars[j]); + j += 1; + } + p = end; + } else { + // A left-to-right run — a Latin word, a number — or a character between runs: a + // space, an ellipsis. It stands where the reordering put it; a bracket in a + // right-to-left context shows its mirror. + let c = chars[i]; + out.push(if levels[i].is_rtl() { mirror(c) } else { c }); + p += 1; + } + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn runs_in_visual_order_letters_in_logical_order() { + // The first word of a sentence ends up rightmost; each word still reads correctly. + assert_eq!(visual_rtl("إعداد المستند"), "المستند إعداد"); + assert_eq!(visual_rtl("تحرير لوحات الرسم"), "الرسم لوحات تحرير"); + // One run (one word) is left as it is: the shaper reverses its letters itself. + assert_eq!(visual_rtl("المعاينة"), "المعاينة"); + // A mark rides on its letter inside the run. + assert_eq!(visual_rtl("عنصراً جديد"), "جديد عنصراً"); + } + + #[test] + fn left_to_right_islands_keep_their_own_order() { + // A left-to-right run keeps its own order, as one unit, in its place in the sentence; + // the ellipsis of a dialog command ends up at the reading end (the left). + assert_eq!(visual_rtl("حفظ كـ PDF…"), "…PDF كـ حفظ"); + assert_eq!(visual_rtl("تصدير كـ SVG"), "SVG كـ تصدير"); + // A number between Arabic words reads left to right, in its place in the sentence. + assert_eq!(visual_rtl("إنشاء 3 نسخ"), "نسخ 3 إنشاء"); + // A `{placeholder}` is the label's own syntax: it rides through as one unit, in the + // order it was written, and never mirrored. + assert_eq!(visual_rtl("لون مميز {n}"), "{n} مميز لون"); + assert_eq!(visual_rtl("جارٍ تنزيل {done} من {total}"), "{total} من {done} تنزيل جارٍ"); + } + + #[test] + fn brackets_mirror() { + assert_eq!(visual_rtl("حفظ (النسخة الحالية)"), "(الحالية النسخة) حفظ"); + // Guillemets mirror too (BidiMirroring.txt): quotes and breadcrumb separators point the + // reading way, not the way they were typed. + assert_eq!(visual_rtl("«ملف › الصفحة الرئيسية»"), "«الرئيسية الصفحة ‹ ملف»"); + assert_eq!(visual_rtl("«جديد…» يبدأ نسخة"), "نسخة يبدأ «…جديد»"); + } + + #[test] + fn lines_are_reordered_on_their_own() { + assert_eq!(visual_rtl("سطر أول\nسطر ثانٍ"), "أول سطر\nثانٍ سطر"); + assert_eq!(visual_rtl("سطر أول\nPDF"), "أول سطر\nPDF"); + } + + #[test] + fn nothing_right_to_left_comes_back_as_it_was() { + assert_eq!(visual_rtl("PDF"), "PDF"); + assert_eq!(visual_rtl("Plain label, 3 of them."), "Plain label, 3 of them."); + assert_eq!(visual_rtl(""), ""); + } +} diff --git a/crates/ui-egui/src/i18n/catalog.rs b/crates/ui-egui/src/i18n/catalog.rs index 22552aa4a2..f4ce42985e 100644 --- a/crates/ui-egui/src/i18n/catalog.rs +++ b/crates/ui-egui/src/i18n/catalog.rs @@ -61,9 +61,12 @@ pub fn parse_entries(text: &str) -> (Vec, Vec) { } impl Catalog { - pub fn parse(text: &str) -> Catalog { + /// Parse a catalog. A right-to-left language's translations are stored in visual order + /// (`bidi.rs`) — the order egui draws its runs in — so the lookups read right to left. + pub fn parse(text: &str, rtl: bool) -> Catalog { let mut c = Catalog::default(); for (ctx, src, tr) in parse_entries(text).0 { + let tr = if rtl { super::bidi::visual_rtl(&tr) } else { tr }; match ctx.as_str() { "" => { c.plain.insert(src, tr); diff --git a/crates/ui-egui/src/i18n/mod.rs b/crates/ui-egui/src/i18n/mod.rs index 9b494128c8..fd1d1b61b8 100644 --- a/crates/ui-egui/src/i18n/mod.rs +++ b/crates/ui-egui/src/i18n/mod.rs @@ -20,6 +20,7 @@ //! - [`trn`]: plural-aware (`{n}` is filled in). [`fmt`]: fill `{name}` placeholders after [`tr`]; //! translators may reorder placeholders freely. +mod bidi; mod catalog; mod system; @@ -45,6 +46,10 @@ pub struct LangInfo { pub plural: fn(u64) -> usize, /// Must the catalog cover every menu string? (checked by the tests) pub complete_menus: bool, + /// Does the language read right to left? Its translations are then stored in visual order + /// for egui's run-by-run layout (see `bidi.rs`), so lookups draw the runs in the order a + /// right-to-left reader meets them. + pub rtl: bool, catalog: OnceLock, } @@ -204,41 +209,41 @@ fn expand(packed: &str, keys: &[&str]) -> Result { /// The registry. English first: it is the fallback and the source language. pub static LANGUAGES: [LangInfo; 21] = [ - LangInfo { code: "en", name: "English", source: b"", plural: plural_one_other, complete_menus: false, catalog: OnceLock::new() }, - LangInfo { code: "ja", name: "日本語", source: catalog!("ja"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, - LangInfo { code: "zh-hans", name: "简体中文", source: catalog!("zh-hans"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, + LangInfo { code: "en", name: "English", source: b"", plural: plural_one_other, complete_menus: false, rtl: false, catalog: OnceLock::new() }, + LangInfo { code: "ja", name: "日本語", source: catalog!("ja"), plural: plural_none, complete_menus: true, rtl: false, catalog: OnceLock::new() }, + LangInfo { code: "zh-hans", name: "简体中文", source: catalog!("zh-hans"), plural: plural_none, complete_menus: true, rtl: false, catalog: OnceLock::new() }, // Traditional Chinese in the vocabulary used in Taiwan; `zh-TW`, `zh-HK`, `zh-MO` and `zh-Hant-*` // locales all resolve here (see `candidates`). - LangInfo { code: "zh-hant", name: "繁體中文", source: catalog!("zh-hant"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, - LangInfo { code: "es", name: "Español", source: catalog!("es"), plural: plural_one_other, complete_menus: true, catalog: OnceLock::new() }, - LangInfo { code: "ru", name: "Русский", source: catalog!("ru"), plural: plural_russian, complete_menus: true, catalog: OnceLock::new() }, + LangInfo { code: "zh-hant", name: "繁體中文", source: catalog!("zh-hant"), plural: plural_none, complete_menus: true, rtl: false, catalog: OnceLock::new() }, + LangInfo { code: "es", name: "Español", source: catalog!("es"), plural: plural_one_other, complete_menus: true, rtl: false, catalog: OnceLock::new() }, + LangInfo { code: "ru", name: "Русский", source: catalog!("ru"), plural: plural_russian, complete_menus: true, rtl: false, catalog: OnceLock::new() }, // Ukrainian has the same one/few/many rule for integer counts. - LangInfo { code: "uk", name: "Українська", source: catalog!("uk"), plural: plural_russian, complete_menus: true, catalog: OnceLock::new() }, + LangInfo { code: "uk", name: "Українська", source: catalog!("uk"), plural: plural_russian, complete_menus: true, rtl: false, catalog: OnceLock::new() }, // Serbian (Latin script, Ekavian) has the same one/few/many rule for integer counts. `sr-RS`, // `sr-Latn-*` and `sr_RS@latin` resolve here; so do Cyrillic `sr` locales, which read Latin // rather than English. - LangInfo { code: "sr", name: "Srpski", source: catalog!("sr"), plural: plural_russian, complete_menus: true, catalog: OnceLock::new() }, - LangInfo { code: "cs", name: "Čeština", source: catalog!("cs"), plural: plural_cs, complete_menus: true, catalog: OnceLock::new() }, - LangInfo { code: "fr", name: "Français", source: catalog!("fr"), plural: plural_fr, complete_menus: true, catalog: OnceLock::new() }, - LangInfo { code: "id", name: "Bahasa Indonesia", source: catalog!("id"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, - LangInfo { code: "ko", name: "한국어", source: catalog!("ko"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, - LangInfo { code: "pl", name: "Polski", source: catalog!("pl"), plural: plural_polish, complete_menus: true, catalog: OnceLock::new() }, - LangInfo { code: "de", name: "Deutsch", source: catalog!("de"), plural: plural_one_other, complete_menus: true, catalog: OnceLock::new() }, + LangInfo { code: "sr", name: "Srpski", source: catalog!("sr"), plural: plural_russian, complete_menus: true, rtl: false, catalog: OnceLock::new() }, + LangInfo { code: "cs", name: "Čeština", source: catalog!("cs"), plural: plural_cs, complete_menus: true, rtl: false, catalog: OnceLock::new() }, + LangInfo { code: "fr", name: "Français", source: catalog!("fr"), plural: plural_fr, complete_menus: true, rtl: false, catalog: OnceLock::new() }, + LangInfo { code: "id", name: "Bahasa Indonesia", source: catalog!("id"), plural: plural_none, complete_menus: true, rtl: false, catalog: OnceLock::new() }, + LangInfo { code: "ko", name: "한국어", source: catalog!("ko"), plural: plural_none, complete_menus: true, rtl: false, catalog: OnceLock::new() }, + LangInfo { code: "pl", name: "Polski", source: catalog!("pl"), plural: plural_polish, complete_menus: true, rtl: false, catalog: OnceLock::new() }, + LangInfo { code: "de", name: "Deutsch", source: catalog!("de"), plural: plural_one_other, complete_menus: true, rtl: false, catalog: OnceLock::new() }, // Brazilian Portuguese; `pt`, `pt-BR` and `pt-PT` locales all resolve here (see `candidates`). - LangInfo { code: "pt-br", name: "Português (Brasil)", source: catalog!("pt-br"), plural: plural_pt, complete_menus: true, catalog: OnceLock::new() }, - LangInfo { code: "el", name: "Ελληνικά", source: catalog!("el"), plural: plural_one_other, complete_menus: true, catalog: OnceLock::new() }, + LangInfo { code: "pt-br", name: "Português (Brasil)", source: catalog!("pt-br"), plural: plural_pt, complete_menus: true, rtl: false, catalog: OnceLock::new() }, + LangInfo { code: "el", name: "Ελληνικά", source: catalog!("el"), plural: plural_one_other, complete_menus: true, rtl: false, catalog: OnceLock::new() }, // Dutch; `nl-NL` and `nl-BE` locales both resolve here. - LangInfo { code: "nl", name: "Nederlands", source: catalog!("nl"), plural: plural_one_other, complete_menus: true, catalog: OnceLock::new() }, - LangInfo { code: "it", name: "Italiano", source: catalog!("it"), plural: plural_one_other, complete_menus: true, catalog: OnceLock::new() }, + LangInfo { code: "nl", name: "Nederlands", source: catalog!("nl"), plural: plural_one_other, complete_menus: true, rtl: false, catalog: OnceLock::new() }, + LangInfo { code: "it", name: "Italiano", source: catalog!("it"), plural: plural_one_other, complete_menus: true, rtl: false, catalog: OnceLock::new() }, // Hungarian: a count takes the singular noun ("3 réteg"), so one plural form. - LangInfo { code: "hu", name: "Magyar", source: catalog!("hu"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, + LangInfo { code: "hu", name: "Magyar", source: catalog!("hu"), plural: plural_none, complete_menus: true, rtl: false, catalog: OnceLock::new() }, // Turkish; `tr`, `tr-TR` and `tr_TR` locales resolve here. - LangInfo { code: "tr", name: "Türkçe", source: catalog!("tr"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, + LangInfo { code: "tr", name: "Türkçe", source: catalog!("tr"), plural: plural_none, complete_menus: true, rtl: false, catalog: OnceLock::new() }, // Vietnamese; `vi-VN` resolves here. - LangInfo { code: "vi", name: "Tiếng Việt", source: catalog!("vi"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, + LangInfo { code: "vi", name: "Tiếng Việt", source: catalog!("vi"), plural: plural_none, complete_menus: true, rtl: false, catalog: OnceLock::new() }, // العربية: the whole interface with six-form plurals; it reads right-to-left (see // [`dir_for_code`] and [`crate::direction`]), so the shell mirrors for it. - LangInfo { code: "ar", name: "العربية", source: catalog!("ar"), plural: plural_arabic, complete_menus: true, catalog: OnceLock::new() }, + LangInfo { code: "ar", name: "العربية", source: catalog!("ar"), plural: plural_arabic, complete_menus: true, rtl: true, catalog: OnceLock::new() }, ]; impl LangInfo { @@ -251,7 +256,7 @@ impl LangInfo { } fn catalog(&self) -> &Catalog { - self.catalog.get_or_init(|| Catalog::parse(&self.text())) + self.catalog.get_or_init(|| Catalog::parse(&self.text(), self.rtl)) } } @@ -765,13 +770,19 @@ mod tests { #[test] fn catalog_kinds_are_parsed_and_looked_up() { - let c = Catalog::parse("# c\n\tHello\tこんにちは\n@id\tfile.save\t保存する\nmenu\tWindows\tウィンドウ群\n@plural\t{n} file|{n} files\t{n} 個\n\n"); + let c = Catalog::parse("# c\n\tHello\tこんにちは\n@id\tfile.save\t保存する\nmenu\tWindows\tウィンドウ群\n@plural\t{n} file|{n} files\t{n} 個\n\n", false); assert_eq!(c.plain("Hello"), Some("こんにちは")); assert_eq!(c.id("file.save"), Some("保存する")); assert_eq!(c.contextual("menu", "Windows"), Some("ウィンドウ群")); assert_eq!(c.contextual("other", "Windows"), None); assert_eq!(c.plural("{n} file", "{n} files", 0), Some("{n} 個")); assert_eq!(c.plural("{n} file", "{n} files", 5), Some("{n} 個"), "an index past the forms clamps"); + // A right-to-left catalog's rows come back in visual order (bidi.rs): the runs in the + // order egui draws them, the letters inside each run in logical order. + let c = Catalog::parse("\tDocument Setup…\tإعداد المستند…\n", true); + assert_eq!(c.plain("Document Setup…"), Some("…المستند إعداد")); + let c = Catalog::parse("\tDocument Setup…\tإعداد المستند…\n", false); + assert_eq!(c.plain("Document Setup…"), Some("إعداد المستند…")); } #[test] @@ -855,7 +866,7 @@ mod tests { source: b"\x00garbage", plural: plural_none, complete_menus: false, - catalog: OnceLock::new(), + rtl: false, catalog: OnceLock::new(), })); assert_eq!(info.text(), ""); assert_eq!(tr(Lang(info), "Layer"), "Layer", "falls back to English"); From 96a8aa944ca08e12386934d355042635b65a08c9 Mon Sep 17 00:00:00 2001 From: azizr12 Date: Tue, 13 Oct 2026 16:28:13 +0000 Subject: [PATCH 32/60] arabic 1836/1836 100.00% --- crates/ui-egui/src/i18n/ar.tsv | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index fc87c6cb4c..dbfb393b69 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -3034,3 +3034,22 @@ cameraData Lens العدسة @plural {n} action|{n} actions {n} إجراء|{n} إجراء|{n} إجراءان|{n} إجراءات|{n} إجراء|{n} إجراء @plural {n} step has no PhotoCraft equivalent yet|{n} steps have no PhotoCraft equivalent yet {n} خطوة ليس لها مكافئ في PhotoCraft بعد|{n} خطوة ليس لها مكافئ في PhotoCraft بعد|{n} خطوتان ليس لهما مكافئ في PhotoCraft بعد|{n} خطوات ليس لها مكافئ في PhotoCraft بعد|{n} خطوة ليس لها مكافئ في PhotoCraft بعد|{n} خطوة ليس لها مكافئ في PhotoCraft بعد @plural {n} step with no Photoshop equivalent left out|{n} steps with no Photoshop equivalent left out تم استبعاد {n} خطوة ليس لها مكافئ في Photoshop|تم استبعاد {n} خطوة ليس لها مكافئ في Photoshop|تم استبعاد {n} خطوتين ليس لهما مكافئ في Photoshop|تم استبعاد {n} خطوات ليس لها مكافئ في Photoshop|تم استبعاد {n} خطوة ليس لها مكافئ في Photoshop|تم استبعاد {n} خطوة ليس لها مكافئ في Photoshop + Channel Color لون القناة + Color Indicates: اللون يشير إلى: + Solidity: الصلابة: + Ink Characteristics خصائص الحبر + Paper Width عرض الورق + Paper Height ارتفاع الورق + {name} can't keep everything in this document {name} لا يستطيع الاحتفاظ بكل شيء في هذا المستند + Choose a format that keeps it, such as Photoshop (PSD), or save a copy. اختر تنسيقاً يحتفظ بذلك، مثل Photoshop (PSD)، أو احفظ نسخة. + Set horizontal skew ضبط الإمالة الأفقية + Set vertical skew ضبط الإمالة العمودية + Add Mask to Selection إضافة القناع إلى التحديد + Subtract Mask from Selection طرح القناع من التحديد + Intersect Mask with Selection تقاطع القناع مع التحديد + Capture Brush Size in Preset التقاط حجم الفرشاة في الإعداد المسبق + Include Tool Settings تضمين إعدادات الأداة + Include Color تضمين اللون + Enter a name for the brush preset أدخل اسماً للإعداد المسبق للفرشاة + A brush preset with this name already exists يوجد إعداد مسبق للفرشاة بهذا الاسم بالفعل + ICO is limited to 256 × 256 pixels يقتصر ICO على 256 × 256 بكسل From f48d0d9b9c33fc26b7289e7724a6df7b5946da83 Mon Sep 17 00:00:00 2001 From: azizr12 Date: Tue, 13 Oct 2026 16:56:14 +0000 Subject: [PATCH 33/60] Update ar.tsv --- crates/ui-egui/src/i18n/ar.tsv | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index dbfb393b69..ee9dd7877d 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -3053,3 +3053,7 @@ cameraData Lens العدسة Enter a name for the brush preset أدخل اسماً للإعداد المسبق للفرشاة A brush preset with this name already exists يوجد إعداد مسبق للفرشاة بهذا الاسم بالفعل ICO is limited to 256 × 256 pixels يقتصر ICO على 256 × 256 بكسل + Presentation العرض التقديمي + Redrawing إعادة الرسم + Custom background color لون خلفية مخصص + Choose Stack Mode: اختر وضع التكديس: \ No newline at end of file From 8259c9cb5a8f24ea33542616edc6065732446214 Mon Sep 17 00:00:00 2001 From: azizr12 Date: Wed, 14 Oct 2026 12:39:35 +0000 Subject: [PATCH 34/60] 1849/1849 --- crates/ui-egui/src/i18n/ar.tsv | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index ee9dd7877d..230043931b 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -3056,4 +3056,15 @@ cameraData Lens العدسة Presentation العرض التقديمي Redrawing إعادة الرسم Custom background color لون خلفية مخصص - Choose Stack Mode: اختر وضع التكديس: \ No newline at end of file + Choose Stack Mode: اختر وضع التكديس: + Don't also tick Mirror Image in Print Settings…: the two flips cancel out. لا تحدد أيضاً عكس الصورة في إعدادات الطباعة…: الانعكاسان يلغي أحدهما الآخر. + Print Settings… إعدادات الطباعة… + Remember to turn off the printer's own colour management in Print Settings… تذكر إيقاف إدارة الألوان الخاصة بالطابعة في إعدادات الطباعة… + Sent to {printer} تم الإرسال إلى {printer} + set in Print Settings… يتم ضبطه في إعدادات الطباعة… + The document “{name}” does not have an embedded {mode} profile. المستند “{name}” لا يحتوي على ملف تعريف {mode} مضمن. + The document “{name}” has an embedded color profile that does not match the current {mode} working space. يحتوي المستند “{name}” على ملف تعريف ألوان مضمن لا يطابق مساحة عمل {mode} الحالية. + Embedded: {embedded} المضمن: {embedded} + Working: {working} مساحة العمل: {working} + No pin selected لم يتم تحديد أي دبوس + Click the image to add a pin; drag a pin to move it, or its ring to change its blur. Delete removes the selected pin. انقر على الصورة لإضافة دبوس؛ اسحب الدبوس لتحريكه، أو حلقته لتغيير التمويه. يؤدي Delete إلى إزالة الدبوس المحدد. From 04257959b310e05567534e1cb4d15cc6f604dc3e Mon Sep 17 00:00:00 2001 From: NibrasAz7 Date: Tue, 13 Oct 2026 20:20:39 +0200 Subject: [PATCH 35/60] i18n(ar): Arabic UI language with bidi display order Add an `ar.tsv` catalog (~1,020 rows covering menus, Camera Raw, brush and LUT strings, 24 six-form plurals per CLDR `ar`), a `bidi` module on `unicode-bidi` that puts catalog text into display order at load time (`map_translations`) and reorders user-authored names at paint sites (document tabs, recent files, preset/gradient/style/composition names, custom channel labels). Chrome already mirrors via `dir_for_code("ar")`; the language resolves from prefs and `ar-*` locales. --- Cargo.lock | 1 + crates/ui-egui/Cargo.toml | 2 + crates/ui-egui/src/adjust_editors.rs | 2 +- crates/ui-egui/src/bidi.rs | 359 +++++++++ crates/ui-egui/src/brushes_tab.rs | 14 +- crates/ui-egui/src/canvas.rs | 39 +- crates/ui-egui/src/channels_panel.rs | 5 +- crates/ui-egui/src/comps_ui.rs | 2 +- crates/ui-egui/src/direction_tests.rs | 10 +- crates/ui-egui/src/i18n/ar.tsv | 1049 +++++++++++++++++++++++++ crates/ui-egui/src/i18n/catalog.rs | 13 + crates/ui-egui/src/i18n/live_tests.rs | 2 +- crates/ui-egui/src/i18n/mod.rs | 77 +- crates/ui-egui/src/i18n/system.rs | 3 +- crates/ui-egui/src/layer_style.rs | 2 +- crates/ui-egui/src/lib.rs | 1 + crates/ui-egui/src/menus.rs | 6 +- crates/ui-egui/src/panels.rs | 24 +- crates/ui-egui/src/preset_panels.rs | 8 +- 19 files changed, 1582 insertions(+), 37 deletions(-) create mode 100644 crates/ui-egui/src/bidi.rs create mode 100644 crates/ui-egui/src/i18n/ar.tsv diff --git a/Cargo.lock b/Cargo.lock index 54085cf447..3abe6e1f0b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5037,6 +5037,7 @@ dependencies = [ "serde_json", "sys-locale", "toml", + "unicode-bidi", "winsafe", ] diff --git a/crates/ui-egui/Cargo.toml b/crates/ui-egui/Cargo.toml index aeefacaf2f..45cc5861e3 100644 --- a/crates/ui-egui/Cargo.toml +++ b/crates/ui-egui/Cargo.toml @@ -38,6 +38,8 @@ log = { workspace = true } base64 = "0.22" # Inflating the translation catalogs, stored deflated (build.rs); already linked through photocraft-io. flate2 = { workspace = true } +# Display order for right-to-left interface text (`bidi.rs`). +unicode-bidi = "0.3" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] rayon = { workspace = true } diff --git a/crates/ui-egui/src/adjust_editors.rs b/crates/ui-egui/src/adjust_editors.rs index 2678cc65f2..92885c08cd 100644 --- a/crates/ui-egui/src/adjust_editors.rs +++ b/crates/ui-egui/src/adjust_editors.rs @@ -1400,7 +1400,7 @@ fn gradient_map(ui: &mut egui::Ui, v: &mut Value, cx: &EditorCx) -> Edit { }); ui.separator(); for g in &cx.gradients { - ui.label(RichText::new(&g.name).color(t.text_faint)); + ui.label(RichText::new(crate::bidi::visual(&g.name).as_ref()).color(t.text_faint)); for p in &g.items { ui.horizontal(|ui| { // A map has no transparency: colour stops only, shown opaque. diff --git a/crates/ui-egui/src/bidi.rs b/crates/ui-egui/src/bidi.rs new file mode 100644 index 0000000000..eb9d96e78e --- /dev/null +++ b/crates/ui-egui/src/bidi.rs @@ -0,0 +1,359 @@ +//! Visual order for single-line interface text that may hold right-to-left script (file names, +//! document titles). +//! +//! egui shapes each font-face run with the script's own direction, so the letters of an Arabic +//! word join and run right to left, but it places the runs themselves left to right in logical +//! order: `واحد اثنين.pdf` would show its two words swapped. [`visual`] puts the runs in display +//! order and leaves the letters of each word alone for the shaper. +//! +//! [`display_rtl`] does the same for the labels of a right-to-left interface language (the Arabic +//! catalog), whose base direction is right to left. + +use std::borrow::Cow; +use std::ops::Range; + +use unicode_bidi::{BidiInfo, Level, ParagraphInfo}; + +/// `text` rearranged for an egui call that lays out one line. Text without right-to-left +/// characters comes back borrowed and unchanged. +/// +/// The base direction is left to right, as the interface is: a file name keeps its extension +/// at the end, the way the window title shows it. Use it for painting only; accessibility +/// labels and anything stored keep the logical text. +pub fn visual(text: &str) -> Cow<'_, str> { + if !text.chars().any(is_rtl_script) { + return Cow::Borrowed(text); + } + let mut out = String::with_capacity(text.len()); + push_visual(&mut out, text, Level::ltr()); + Cow::Owned(out) +} + +/// `text` in display order for the paragraph direction `base`, appended to `out`. +fn push_visual(out: &mut String, text: &str, base: Level) { + let info = BidiInfo::new(text, Some(base)); + for para in &info.paragraphs { + push_line(out, text, &info, para, para.range.clone()); + } +} + +/// The `line` of paragraph `para` (a non-empty byte range of `text`) in display order, as egui +/// needs it, appended to `out`. +fn push_line(out: &mut String, text: &str, info: &BidiInfo<'_>, para: &ParagraphInfo, line: Range) { + let (levels, runs) = info.visual_runs(para, line); + // First the true display order, every character left to right as it appears on screen. + let mut shown = String::with_capacity(text.len()); + for run in runs { + let rtl = levels.get(run.start).is_some_and(Level::is_rtl); + // Runs lie on character boundaries; a missing slice is skipped, never a panic. + let Some(piece) = text.get(run) else { continue }; + let chars = piece.chars().filter(|c| !is_bidi_control(*c)); + if rtl { + shown.extend(chars.rev().map(mirrored)); + } else { + shown.extend(chars); + } + } + push_for_shaper(out, &shown); +} + +/// `shown` (in screen order) as egui must get it: egui hands each stretch of right-to-left +/// script to the shaper as one run, which lays it out right to left (and joins its letters), so +/// each such stretch goes back to logical order. What lies between them (spaces, punctuation, +/// Latin) is drawn by the Latin face left to right and stays as it is. The stretches include +/// Persian and Arabic-Indic digits: Arabic script to the shaper, though they read left to right. +fn push_for_shaper(out: &mut String, shown: &str) { + let mut stretch: Vec = Vec::new(); + for c in shown.chars() { + if is_rtl_script(c) || is_joiner(c) { + stretch.push(c); + } else { + out.extend(stretch.drain(..).rev()); + out.push(c); + } + } + out.extend(stretch.drain(..).rev()); +} + +/// A label of a right-to-left interface language, in logical order, rearranged for egui: each +/// line reads right to left, with Latin words and numbers inside it left to right. +/// +/// - `{name}` placeholders stay whole and unmirrored, so [`crate::i18n::fmt`] still fills them. +/// What it inserts is drawn left to right at that place. +/// - Spaces and separator dots at either end stay at that end: the code appends to a label on +/// its right (`"Issued by: "` + a name), as the interface is still laid out left to right. +/// - A short caption's closing colon stays on the right too, next to the widget it captions. +/// +/// Text without right-to-left characters comes back unchanged. Like [`visual`], this is for +/// painting one line; a label egui wraps breaks at the wrong end. +pub fn display_rtl(text: &str) -> String { + if !text.chars().any(is_rtl_script) { + return text.to_owned(); + } + let mut out = String::with_capacity(text.len()); + for (i, line) in text.split('\n').enumerate() { + if i > 0 { + out.push('\n'); + } + push_rtl_line(&mut out, line); + } + out +} + +/// The most words a caption may have for its closing colon to stay on the right. +const CAPTION_WORDS: usize = 3; +/// First of the private-use characters that stand for placeholders while a line is reordered. +/// They are strong left-to-right, like the names they replace. +const PLACEHOLDER_BASE: u32 = 0xE000; +/// Placeholders protected per line; a line with more keeps the rest as plain text. +const MAX_PLACEHOLDERS: usize = 64; + +fn push_rtl_line(out: &mut String, line: &str) { + let edge = |c: char| c.is_whitespace() || c == '·'; + let core = line.trim_start_matches(edge); + let lead = line.get(..line.len().saturating_sub(core.len())).unwrap_or_default(); + let trimmed = core.trim_end_matches(edge); + let tail = core.get(trimmed.len()..).unwrap_or_default(); + let mut core = trimmed; + let mut colon = ""; + if let Some(caption) = core.strip_suffix(':') + && caption.split_whitespace().count() <= CAPTION_WORDS + { + core = caption; + colon = ":"; + } + // A line that already uses the stand-in characters is reordered with its placeholders as text. + let reserved = core.chars().any(|c| (PLACEHOLDER_BASE..PLACEHOLDER_BASE.saturating_add(MAX_PLACEHOLDERS as u32)).contains(&u32::from(c))); + let (masked, names) = if reserved { (core.to_owned(), Vec::new()) } else { mask_placeholders(core) }; + let mut visual = String::with_capacity(masked.len()); + push_visual(&mut visual, &masked, Level::rtl()); + out.push_str(lead); + for c in visual.chars() { + let index = u32::from(c).checked_sub(PLACEHOLDER_BASE).and_then(|i| usize::try_from(i).ok()); + match index.and_then(|i| names.get(i)) { + Some(name) => out.push_str(name), + None => out.push(c), + } + } + out.push_str(colon); + out.push_str(tail); +} + +/// `text` with each `{name}` placeholder and each keyboard shortcut (`⇧⌘+`) replaced by one +/// stand-in character, and what they replaced, in order. A shortcut's symbols have no direction +/// of their own, so left alone they would be drawn in reverse. +fn mask_placeholders(text: &str) -> (String, Vec<&str>) { + let mut masked = String::with_capacity(text.len()); + let mut names: Vec<&str> = Vec::new(); + let mut rest = text; + while names.len() < MAX_PLACEHOLDERS + && let Some((start, end)) = next_atom(rest) + { + let (Some(before), Some(atom), Some(after)) = (rest.get(..start), rest.get(start..end), rest.get(end..)) else { break }; + // `names.len()` is below MAX_PLACEHOLDERS, so the sum is a private-use scalar. + let Some(stand_in) = u32::try_from(names.len()).ok().and_then(|i| char::from_u32(PLACEHOLDER_BASE.saturating_add(i))) else { break }; + masked.push_str(before); + masked.push(stand_in); + names.push(atom); + rest = after; + } + masked.push_str(rest); + (masked, names) +} + +/// The byte range of the first placeholder or keyboard shortcut in `text`. +fn next_atom(text: &str) -> Option<(usize, usize)> { + let placeholder = text.find('{').and_then(|open| { + let len = text.get(open..)?.find('}')?; + Some((open, open.saturating_add(len).saturating_add(1))) + }); + let shortcut = text.find(is_modifier_key).map(|at| { + // The shortcut is the stretch around the symbol up to a space, a bracket or script text. + let outside = |c: char| c.is_whitespace() || is_rtl_script(c) || matches!(c, '(' | ')' | '[' | ']' | '{' | '}'); + let start = text + .get(..at) + .and_then(|before| before.rfind(outside).and_then(|i| before.get(i..)?.chars().next().map(|c| i.saturating_add(c.len_utf8())))) + .unwrap_or(0); + let end = text.get(at..).and_then(|after| after.find(outside)).map_or(text.len(), |i| at.saturating_add(i)); + (start, end) + }); + match (placeholder, shortcut) { + (Some(p), Some(s)) => Some(if s.0 < p.0 { s } else { p }), + (p, s) => p.or(s), + } +} + +/// The modifier-key symbols of keyboard shortcuts: ⌘ ⇧ ⌥ ⌃. +fn is_modifier_key(c: char) -> bool { + matches!(c, '\u{2318}' | '\u{21E7}' | '\u{2325}' | '\u{2303}') +} + +/// Characters of the right-to-left scripts' blocks: letters, marks and the scripts' own +/// punctuation, all drawn by the script's face. +fn is_rtl_script(c: char) -> bool { + matches!(u32::from(c), 0x0590..=0x08FF | 0xFB1D..=0xFDFF | 0xFE70..=0xFEFC | 0x1_0800..=0x1_0FFF | 0x1_E800..=0x1_EFFF) +} + +/// The zero-width (non-)joiners inside a word (Persian `می‌روم`): egui shapes them with the +/// letter before them. +fn is_joiner(c: char) -> bool { + matches!(c, '\u{200C}' | '\u{200D}') +} + +/// Direction marks, embeddings, overrides and isolates: they steer the reordering and are not drawn. +fn is_bidi_control(c: char) -> bool { + matches!(c, '\u{061C}' | '\u{200E}' | '\u{200F}' | '\u{202A}'..='\u{202E}' | '\u{2066}'..='\u{2069}') +} + +fn mirrored(c: char) -> char { + match c { + '(' => ')', + ')' => '(', + '[' => ']', + ']' => '[', + '{' => '}', + '}' => '{', + '<' => '>', + '>' => '<', + '«' => '»', + '»' => '«', + other => other, + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn text_without_rtl_is_borrowed_unchanged() { + for s in ["", "report.pdf", "日本語の文字.pdf", "a (b) [c]", "caf\u{00E9} \u{200E}x"] { + assert!(matches!(visual(s), Cow::Borrowed(v) if v == s), "{s:?}"); + } + } + + #[test] + fn arabic_words_swap_and_the_extension_stays_last() { + // The reported name: "one two.pdf" in Arabic. + assert_eq!(visual("واحد اثنين.pdf"), "اثنين واحد.pdf"); + assert_eq!(visual("ملف.pdf"), "ملف.pdf"); + assert_eq!(visual("تقرير نهائي جدا.pdf"), "جدا نهائي تقرير.pdf"); + } + + #[test] + fn latin_and_numbers_keep_their_own_order() { + assert_eq!(visual("report واحد اثنين final.pdf"), "report اثنين واحد final.pdf"); + // A number inside right-to-left text reads left to right, to the left of what precedes it. + assert_eq!(visual("ملف 2024.pdf"), "2024 ملف.pdf"); + assert_eq!(visual(r"C:\Users\me\واحد اثنين\a.pdf"), r"C:\Users\me\اثنين واحد\a.pdf"); + } + + #[test] + fn hebrew_and_brackets() { + assert_eq!(visual("שלום עולם.pdf"), "עולם שלום.pdf"); + // Brackets between right-to-left words flip with the direction. + assert_eq!(visual("واحد (اثنين) ثلاثة.pdf"), "ثلاثة (اثنين) واحد.pdf"); + } + + #[test] + fn direction_controls_are_not_drawn() { + assert_eq!(visual("\u{202B}واحد اثنين\u{202C}.pdf"), "اثنين واحد.pdf"); + assert_eq!(visual("\u{200F}واحد\u{061C}"), "واحد"); + } + + #[test] + fn rtl_labels_read_right_to_left() { + // No right-to-left characters: unchanged. + for s in ["", "Save as…", "{n} pages", "日本語"] { + assert_eq!(display_rtl(s), s); + } + assert_eq!(display_rtl("حفظ"), "حفظ"); + // "Save as…": the second word and the ellipsis end up on the left. + assert_eq!(display_rtl("حفظ باسم…"), "…باسم حفظ"); + // Latin words and numbers keep their own order inside the line. + assert_eq!(display_rtl("إنشاء PDF من ملف"), "ملف من PDF إنشاء"); + assert_eq!(display_rtl("تصدير إلى Microsoft Word الآن"), "الآن Microsoft Word إلى تصدير"); + assert_eq!(display_rtl("صالح لمدة 5 سنوات"), "سنوات 5 لمدة صالح"); + // Keyboard shortcuts are not reversed. + assert_eq!(display_rtl("طباعة (⌘P)"), "(⌘P) طباعة"); + assert_eq!(display_rtl("تدوير العرض (⇧⌘+)"), "(⇧⌘+) العرض تدوير"); + assert_eq!(display_rtl("التمرير مع ⌘ أيضًا"), "أيضًا ⌘ مع التمرير"); + assert_eq!(display_rtl("نص (عادي)"), "(عادي) نص"); + } + + #[test] + fn rtl_labels_keep_placeholders_whole() { + // Two placeholders around a colon stay together, left to right: a file name and its error. + assert_eq!(display_rtl("تعذّر فتح {name}: {e}"), "{name}: {e} فتح تعذّر"); + assert_eq!(display_rtl("فشل {label}، السبب {e}"), "{e} السبب ،{label} فشل"); + assert_eq!(display_rtl("{n} صفحات"), "صفحات {n}"); + assert_eq!(display_rtl("الصفحة {p} من {n}"), "{n} من {p} الصفحة"); + // Adjacent placeholders keep their order, as numbers around a slash would. + assert_eq!(display_rtl("جارٍ البحث… {s}/{p}"), "{s}/{p} …البحث جارٍ"); + // Braces that are not a placeholder are ordinary punctuation. + assert_eq!(display_rtl("حرف } واحد"), "واحد { حرف"); + let many = format!("ا {}", "{a} ".repeat(200)); + assert_eq!(display_rtl(&many).matches("{a}").count(), 200); + } + + #[test] + fn rtl_labels_keep_their_edges() { + // Edge spaces and separator dots stay where the code concatenates. + assert_eq!(display_rtl(" (صفحة {p})"), " ({p} صفحة)"); + assert_eq!(display_rtl(" · محمي بكلمة مرور"), " · مرور بكلمة محمي"); + assert_eq!(display_rtl("سلسلة المفاتيح · "), "المفاتيح سلسلة · "); + // A caption's colon stays next to its widget; a sentence's colon ends the sentence. + assert_eq!(display_rtl("الاسم:"), "الاسم:"); + assert_eq!(display_rtl("صادرة عن: "), "عن صادرة: "); + assert_eq!(display_rtl("اختر المعرّف الرقمي الذي تريد استخدامه:"), ":استخدامه تريد الذي الرقمي المعرّف اختر"); + // Each line is its own paragraph. + assert_eq!(display_rtl("تعذّر عرض الصفحة.\n{e}"), ".الصفحة عرض تعذّر\n{e}"); + } + + #[test] + fn rtl_labels_never_panic_on_odd_input() { + let long = "ا {n} ".repeat(20_000); + for s in [ + "ا{", + "ا}", + "ا{}", + "ا{{{", + "}ا{", + "ا\u{E000}{n}", + "⌘", + "ا ⌘", + "⌘ا⌘{", + "ا (⇧⌘", + "\u{064B}:", + ":", + "ا:", + " : ا : ", + "ا\n\n\nب", + "\u{202E}ا{n}", + long.as_str(), + ] { + let v = display_rtl(s); + assert!(v.chars().count() <= s.chars().count(), "{:?}", s.chars().take(12).collect::()); + } + } + + #[test] + fn odd_input_never_panics() { + let long = "ا ب ".repeat(20_000); + let odd = [ + "\u{064B}", + "\u{064B}\u{064C} \u{0301}", + "\u{202E}\u{202E}\u{202E}ا", + "\u{2067}ا\u{2066}b", + "ا\nب\r\nج\u{2029}د", + "\u{FEFF}ا\u{0000}ب", + "ا\u{10FFFF}\u{E000}ب", + "((((ا]]]]", + long.as_str(), + ]; + for s in odd { + let v = visual(s); + assert!(v.chars().count() <= s.chars().count(), "{:?}", s.chars().take(12).collect::()); + } + } +} diff --git a/crates/ui-egui/src/brushes_tab.rs b/crates/ui-egui/src/brushes_tab.rs index 709c91c151..c23e3707d9 100644 --- a/crates/ui-egui/src/brushes_tab.rs +++ b/crates/ui-egui/src/brushes_tab.rs @@ -365,7 +365,15 @@ fn list_row(ui: &mut egui::Ui, p: &BrushPreset, current: bool, presets: &[BrushP let stroke = brush_preview::stroke_texture(ui.ctx(), &format!("brushes-stroke-{w}:{}", p.name), pb, w as u32, 36, t.text); let sr = egui::Rect::from_min_size(pos2(cell.right() + 8.0, r.top() + 4.0), vec2(w, 36.0)); ui.painter().image(stroke.id(), sr, full_uv(), Color32::WHITE); - crate::layer_row_ui::label(ui.painter(), sr.right() + 12.0, r.center().y, r.right() - 4.0, &p.name, egui::FontId::proportional(12.0), t.text_dim); + crate::layer_row_ui::label( + ui.painter(), + sr.right() + 12.0, + r.center().y, + r.right() - 4.0, + crate::bidi::visual(&p.name).as_ref(), + egui::FontId::proportional(12.0), + t.text_dim, + ); preset_interactions(ui, &resp, r, p, presets, false, acts); } @@ -592,7 +600,7 @@ fn preset_card( cell.left() + 8.0 * scale, cell.center().y, cell.right() - 6.0 * scale, - &p.name, + crate::bidi::visual(&p.name).as_ref(), egui::FontId::proportional(CARD_NAME_FONT), t.text_dim, ); @@ -606,7 +614,7 @@ fn preset_card( cell.left() + 6.0 * scale, cell.center().y, cell.right() - 6.0 * scale, - &p.name, + crate::bidi::visual(&p.name).as_ref(), egui::FontId::proportional(CARD_NAME_FONT), t.text_dim, ); diff --git a/crates/ui-egui/src/canvas.rs b/crates/ui-egui/src/canvas.rs index 7a9592b692..00feaa02cf 100644 --- a/crates/ui-egui/src/canvas.rs +++ b/crates/ui-egui/src/canvas.rs @@ -2076,7 +2076,7 @@ fn tabs(app: &mut PhotocraftApp, ui: &mut egui::Ui) -> TabStrip { + STUDIO_TAB_PAD }) .chain(opening.iter().map(|(_, name, frac)| { - ui.painter().layout_no_wrap(name.clone(), font.clone(), t.text).size().x + ui.painter().layout_no_wrap(crate::bidi::visual(name).into_owned(), font.clone(), t.text).size().x + ui.painter().layout_no_wrap(format!("{:.0}%", frac * 100.0), meta_font.clone(), t.text_faint).size().x + STUDIO_TAB_PAD })) @@ -2156,7 +2156,13 @@ fn tabs(app: &mut PhotocraftApp, ui: &mut egui::Ui) -> TabStrip { let Some((job, name, frac)) = opening.get(i - tab_count) else { continue }; let sel = app.jobs.focus == Some(*job); let meta_g = ui.painter().layout_no_wrap(format!("{:.0}%", frac * 100.0), meta_font.clone(), t.text_faint); - let name_g = crate::tab_strip::elided(ui, name, font.clone(), t.text, (r.width() - STUDIO_TAB_PAD + STUDIO_TAB_GAP - meta_g.size().x).max(1.0)); + let name_g = crate::tab_strip::elided( + ui, + crate::bidi::visual(name).as_ref(), + font.clone(), + t.text, + (r.width() - STUDIO_TAB_PAD + STUDIO_TAB_GAP - meta_g.size().x).max(1.0), + ); let resp = ui.interact(r, ui.id().with(("dtabjob", job.0)), Sense::click()); if sel { ui.painter().rect_filled(r, t.radius_sm, t.card); @@ -2183,8 +2189,15 @@ fn tabs(app: &mut PhotocraftApp, ui: &mut egui::Ui) -> TabStrip { if !f.overflow.is_empty() { let left = x.min((row.right() - crate::tab_strip::CHEVRON_W).max(row.left())); let r = Rect::from_min_size(egui::pos2(left, row.top()), egui::vec2(crate::tab_strip::CHEVRON_W, row.height())); - let labels: Vec<&str> = - app.session.documents().iter().map(|st| st.doc.name.as_str()).chain(opening.iter().map(|(_, name, _)| name.as_str())).collect(); + // Document and file names are user text: shown in display order (`bidi::visual`). + let shown: Vec = app + .session + .documents() + .iter() + .map(|st| crate::bidi::visual(&st.doc.name).into_owned()) + .chain(opening.iter().map(|(_, name, _)| crate::bidi::visual(name).into_owned())) + .collect(); + let labels: Vec<&str> = shown.iter().map(String::as_str).collect(); let mut picked = None; crate::tab_strip::overflow_button(ui, ui.id().with("dtab-overflow"), r, tl!("More documents"), &labels, &f.overflow, &mut picked); match picked { @@ -2377,16 +2390,22 @@ fn pro_tab_title(app: &PhotocraftApp, i: usize) -> String { let active_layer = st.active_layer.and_then(|id| st.doc.layer(id)).filter(|l| !st.doc.is_background(l.id)); let mask = app.session.active_index() == Some(i) && app.ui.mask_target && active_layer.is_some_and(|l| l.mask.is_some()); let model = if mask { tl!("Layer Mask").to_string() } else { mode_label(&st.doc).to_string() }; - let layer = active_layer.map(|l| format!("{}, ", l.name)).unwrap_or_default(); + let layer = active_layer.map(|l| format!("{}, ", crate::bidi::visual(&l.name))).unwrap_or_default(); // A save in progress: "name @ 100% (Layer 1, RGB/16) - Saving 45%", as Photoshop does (#3389). let saving = crate::jobs_ui::save_progress(app, st.doc.id).map(|s| format!(" - {s}")).unwrap_or_default(); - format!("{} @ {}% ({layer}{model}/{}){}{saving}", st.doc.name, fmt_zoom(zoom), st.doc.depth.bits(), if st.is_dirty() { "*" } else { "" }) + format!( + "{} @ {}% ({layer}{model}/{}){}{saving}", + crate::bidi::visual(&st.doc.name), + fmt_zoom(zoom), + st.doc.depth.bits(), + if st.is_dirty() { "*" } else { "" } + ) } /// The Studio strip's tab name: "name *" when unsaved, "name * - Saving 45%" while it saves (#3389). fn studio_tab_name(app: &PhotocraftApp, st: &photocraft_engine::DocState) -> String { let saving = crate::jobs_ui::save_progress(app, st.doc.id).map(|s| format!(" - {s}")).unwrap_or_default(); - format!("{}{}{saving}", st.doc.name, if st.is_dirty() { " *" } else { "" }) + format!("{}{}{saving}", crate::bidi::visual(&st.doc.name), if st.is_dirty() { " *" } else { "" }) } /// Photoshop document tabs: "name @ 33.3% (RGB/8)" on a dark strip; active tab matches panels. @@ -2412,7 +2431,7 @@ fn pro_tabs(app: &mut PhotocraftApp, ui: &mut egui::Ui) -> TabStrip { // underline); they share the fit's index space, after the documents. let opening = crate::jobs_ui::open_tabs(app); let mut titles: Vec = (0..tab_count).map(|i| pro_tab_title(app, i)).collect(); - titles.extend(opening.iter().map(|(_, name, frac)| format!("{name} ({} {:.0}%)", tl!("Opening…"), frac * 100.0))); + titles.extend(opening.iter().map(|(_, name, frac)| format!("{} ({} {:.0}%)", crate::bidi::visual(name), tl!("Opening…"), frac * 100.0))); // Every tab's natural width, whether or not it stays on the strip. let natural: Vec = titles.iter().map(|title| ui.painter().layout_no_wrap(title.clone(), font.clone(), t.text).size().x + DOC_TAB_PAD).collect(); let selected = app @@ -2730,12 +2749,12 @@ fn home_recent(app: &mut PhotocraftApp, ui: &mut egui::Ui, recent: &[String]) { let icon = Rect::from_center_size(egui::pos2(row.left() + 16.0, row.center().y), egui::vec2(16.0, 16.0)); crate::icons::paint(ui, icon, "file", 14.0, t.text_dim); let x = row.left() + 32.0; - let name_g = crate::tab_strip::elided(ui, &name, egui::FontId::proportional(12.5), t.text, 170.0); + let name_g = crate::tab_strip::elided(ui, crate::bidi::visual(&name).as_ref(), egui::FontId::proportional(12.5), t.text, 170.0); let name_w = name_g.size().x; ui.painter().galley(egui::pos2(x, row.center().y - name_g.size().y / 2.0), name_g, t.text); let folder_max = (right - (x + name_w + 14.0)).max(0.0); if folder_max > 20.0 && !folder.is_empty() { - let fg = crate::tab_strip::elided(ui, &folder, egui::FontId::proportional(11.5), t.text_faint, folder_max); + let fg = crate::tab_strip::elided(ui, crate::bidi::visual(&folder).as_ref(), egui::FontId::proportional(11.5), t.text_faint, folder_max); ui.painter().galley(egui::pos2(right - fg.size().x, row.center().y - fg.size().y / 2.0), fg, t.text_faint); } resp.widget_info(|| egui::WidgetInfo::labeled(egui::WidgetType::Button, true, &name)); diff --git a/crates/ui-egui/src/channels_panel.rs b/crates/ui-egui/src/channels_panel.rs index f232384139..dfd9e931d8 100644 --- a/crates/ui-egui/src/channels_panel.rs +++ b/crates/ui-egui/src/channels_panel.rs @@ -179,10 +179,11 @@ pub fn show(app: &mut PhotocraftApp, ui: &mut egui::Ui) { let italic = matches!(row, Row::QuickMask | Row::LayerMask) || matches!(row, Row::Alpha(i) if doc.channels[i].spot.is_some()); let mut job = egui::text::LayoutJob::default(); let font = if selected && !t.pro { theme::medium(12.5) } else { egui::FontId::proportional(12.0) }; - // Built-in labels only: alpha/spot names and "{layer} Mask" stay verbatim. + // Built-in labels only: alpha/spot names and "{layer} Mask" stay verbatim, + // shown in display order. let label = match row { Row::Composite | Row::Color(_) | Row::QuickMask => tl!(&name).to_owned(), - Row::Alpha(_) | Row::LayerMask => name.clone(), + Row::Alpha(_) | Row::LayerMask => crate::bidi::visual(&name).into_owned(), }; job.append(&label, 0.0, egui::TextFormat { font_id: font, color: t.text, italics: italic, ..Default::default() }); let galley = painter.layout_job(job); diff --git a/crates/ui-egui/src/comps_ui.rs b/crates/ui-egui/src/comps_ui.rs index 30304f6c82..7667d12a9c 100644 --- a/crates/ui-egui/src/comps_ui.rs +++ b/crates/ui-egui/src/comps_ui.rs @@ -136,7 +136,7 @@ pub fn panel(app: &mut PhotocraftApp, ui: &mut egui::Ui) { name_x += 18.0; } let galley_w = (x - name_x).max(20.0); - let name = ui.painter().layout(c.name.clone(), egui::FontId::proportional(12.0), t.text, galley_w); + let name = ui.painter().layout(crate::bidi::visual(&c.name).into_owned(), egui::FontId::proportional(12.0), t.text, galley_w); ui.painter().galley(pos2(name_x, rect.center().y - name.size().y / 2.0), name, t.text); if !c.comment.is_empty() && resp.hovered() { resp.clone().on_hover_text(&c.comment); diff --git a/crates/ui-egui/src/direction_tests.rs b/crates/ui-egui/src/direction_tests.rs index 4575017a09..b207b409d5 100644 --- a/crates/ui-egui/src/direction_tests.rs +++ b/crates/ui-egui/src/direction_tests.rs @@ -1,6 +1,6 @@ //! Right-to-left shell layout: the direction rules, and where the mirrored chrome lands in a -//! running shell. No right-to-left catalog is registered yet, so the shell tests force the -//! direction with `direction_scope`. +//! running shell. The shell tests force the direction with `direction_scope` so they don't +//! depend on a right-to-left language being selected. use super::*; use crate::PhotocraftApp; @@ -17,9 +17,11 @@ fn right_to_left_scripts_by_language_code() { for code in ["en", "ja", "zh-hans", "pt-br", "ku", "arn", ""] { assert_eq!(i18n::dir_for_code(code), Dir::Ltr, "{code}"); } - // No right-to-left catalog is registered yet, so the shell stays as it was. + // Arabic is the first right-to-left catalog; every other registered language stays + // left-to-right. for lang in Lang::all() { - assert_eq!(lang.dir(), Dir::Ltr, "{}", lang.code()); + let expected = if lang.code() == "ar" { Dir::Rtl } else { Dir::Ltr }; + assert_eq!(lang.dir(), expected, "{}", lang.code()); } } diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv new file mode 100644 index 0000000000..7e5752c6bf --- /dev/null +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -0,0 +1,1049 @@ +# Arabic (ar) catalog. Columns, separated by a TAB: context source translation +# +# context empty a plain UI string; `source` is the English text in the code +# @id a command id (e.g. file.saveAs): wins over the English text for +# that menu item, so one id can read differently from its twin +# @plural `source` is "one|other" (English forms); the translation lists the +# language's forms separated by "|" (see `plural` in i18n/mod.rs) +# anything else a disambiguating context passed to `tr_ctx` +# escapes \n \t \ inside a column. `{name}` placeholders must appear in both columns. +# lines starting with # and blank lines are ignored. +# +# Clean-room: every entry was written from the plain meaning of the English label using ordinary +# Modern Standard Arabic image-editing vocabulary (طبقة, قناع, تحديد, مرشح ...). No proprietary +# localisation resource, string table or product UI was consulted or copied; add entries the same +# way. Product and technology names (PhotoCraft, ArtCraft, OpenType, CMYK, Lab ...) stay in Latin +# letters; the trailing "…" of dialog commands is kept. The catalog is stored in logical order; +# the app puts it in display order when the language loads (i18n/mod.rs, `bidi::display_rtl`). +# Plural rule: six CLDR forms (zero|one|two|few|many|other), `{n}` kept in every form. + 100% 100% + 16 Bits/Channel 16 بتًا/قناة + 180° 180° + 2-up Horizontal صفحتان أفقيًا + 2-up Vertical صفحتان عموديًا + 200% 200% + 3-up Horizontal 3 صفحات أفقيًا + 3-up Stacked 3 صفحات مكدسة + 3-up Vertical 3 صفحات عموديًا + 32 Bits/Channel 32 بتًا/قناة + 32-bit Preview Options… خيارات المعاينة بعمق 32 بت… + 4-up 4 صفحات + 6-up 6 صفحات + 8 Bits/Channel 8 بتات/قناة + 90° Clockwise ‏90° باتجاه عقارب الساعة + 90° Counter Clockwise ‏90° عكس عقارب الساعة + AI Integrations… تكاملات الذكاء الاصطناعي… + About PhotoCraft حول PhotoCraft + Actions الإجراءات + Activate Document تنشيط المستند + Activate Panel تنشيط اللوحة + Adaptive Wide Angle… زاوية واسعة تكيفية… + Add Color Sampler إضافة عينة لون + Add Noise… إضافة تشويش… + Add Recent Document Settings إضافة إعدادات المستند الأخيرة + Adjustments التسويات + Adwaita Dark Theme سمة Adwaita الداكنة + Adwaita Light Theme سمة Adwaita الفاتحة + Again مرة أخرى + Align محاذاة + Aligned محاذاة + All الكل + All Layers كل الطبقات + Amount المقدار + Analysis التحليل + Anamorphic 2:1 (2) Anamorphic 2:1 (2) + Anti-Alias تنعيم الحواف + Apply تطبيق + Apply Data Set… تطبيق مجموعة بيانات… + Apply Image تطبيق صورة + Apply Image… تطبيق صورة… + Apply Style تطبيق نمط + Aqua سماوي + Arbitrary… مخصص… + Arrange ترتيب + ArtCraft Website موقع ArtCraft + Artboard Guides أدلة لوح الرسم + Artboard from Group… لوح رسم من مجموعة… + Artboard from Layers… لوح رسم من طبقات… + Artboards to Files… ألواح الرسم إلى ملفات… + Artboards to PDF… ألواح الرسم إلى PDF… + Artboard… لوح رسم… + Assign Profile تعيين ملف لوني + Assign Profile… تعيين ملف لوني… + Auto Color لون تلقائي + Auto Contrast تباين تلقائي + Auto Tone درجة لونية تلقائية + Auto-Align Layers… محاذاة الطبقات تلقائيًا… + Auto-Blend Layers… مزج الطبقات تلقائيًا… + Auto-Select Layer تحديد الطبقة تلقائيًا + Automate أتمتة + Average متوسط + Background Eraser ممحاة الخلفية + Background From Layer خلفية من طبقة + Background from Layer خلفية من طبقة + Balance التوازن + Batch… دفعة… + Before (Y) قبل (Y) + Bevel & Emboss… شطب ونقش بارز… + Bitmap نقطية ثنائية (Bitmap) + Black & White أبيض وأسود + Black & White… أبيض وأسود… + Blacks السود + Blending المزج + Blending Options… خيارات المزج… + Blue أزرق + Blur تمويه + Blur Gallery معرض التمويه + Blur More تمويه أكثر + Border… حد… + Bottom Edges الحواف السفلية + Box Blur… تمويه مربع… + Breeze Dark Theme سمة Breeze الداكنة + Breeze Light Theme سمة Breeze الفاتحة + Brightness/Contrast السطوع/التباين + Brightness/Contrast… السطوع/التباين… + Bring Forward تقديم للأمام + Bring to Front إحضار إلى المقدمة + Browse… استعراض… + Brush Preview معاينة الفرشاة + Brush Settings إعدادات الفرشاة + Brush Texture Pattern نقشة نسيج الفرشاة + Brushes الفرش + Burn إحراق + CMYK Color لون CMYK + Calculations… حسابات… + Camera Raw ({name}) Camera Raw ({name}) + Camera Raw Filter ({layer}) مرشح Camera Raw ({layer}) + Camera Raw Filter… مرشح Camera Raw… + Camera Raw isn't open Camera Raw غير مفتوح + Cancel إلغاء + Cancel Background Job إلغاء مهمة الخلفية + Cancelled opening {name} أُلغي فتح {name} + Cancelled {label} أُلغي {label} + Canvas Guides أدلة اللوحة + Canvas Size حجم اللوحة + Canvas Size… حجم اللوحة… + Cascade تعاقب + Change Panel Group تغيير مجموعة اللوحة + Change Panel Layout تغيير تخطيط اللوحة + Channel Mixer… مزج القنوات… + Channels القنوات + Character حرف + Character Panel لوحة الحرف + Character Styles أنماط الحروف + Character Styles Panel لوحة أنماط الحروف + Check Spelling… تدقيق إملائي… + Clarity الوضوح + Classic Theme السمة الكلاسيكية + Clear مسح + Clear Canvas Guides مسح أدلة اللوحة + Clear Color Samplers مسح عينات الألوان + Clear Guides مسح الأدلة + Clear Layer Style مسح نمط الطبقة + Clear Override مسح التجاوز + Clear Selected Artboard Guides مسح أدلة لوح الرسم المحددة + Clear Slices مسح الشرائح + Clear Smart Filters مسح المرشحات الذكية + Clipboard الحافظة + Clone Source مصدر النسخ + Clone Source Overlay تراكب مصدر النسخ + Clone Sources مصادر النسخ + Clone Stamp ختم النسخ + Close إغلاق + Close All إغلاق الكل + Close Others إغلاق الأخرى + Close Panel إغلاق اللوحة + Clouds سحب + Color اللون + Color Balance… توازن اللون… + Color Blindness — Deuteranopia-type عمى الألوان — من نوع Deuteranopia + Color Blindness — Protanopia-type عمى الألوان — من نوع Protanopia + Color Decontaminate… إزالة تلوث اللون… + Color Detail تفاصيل اللون + Color Grading تدريج الألوان + Color Halftone… نصف تون لوني… + Color Lookup Tables… جداول البحث اللوني… + Color Lookup… بحث لوني… + Color Mixer مزج الألوان + Color Overlay… تراكب لوني… + Color Priority أولوية اللون + Color Range… نطاق اللون… + Color Samplers عينات الألوان + Color Settings… إعدادات اللون… + Color Table… جدول الألوان… + Color to Alpha… لون إلى شفافية… + Combine Shapes دمج الأشكال + Conditional شرطي + Conditional Mode Change… تغيير الوضع الشرطي… + Consolidate All to Tabs تجميع الكل في تبويبات + Contact Sheet II… ورقة إثبات II… + Content-Aware Fill… تعبئة مدركة للمحتوى… + Content-Aware Move نقل مدرك للمحتوى + Content-Aware Scale تحجيم مدرك للمحتوى + Contextual Alternates بدائل سياقية + Contract… تقليص… + Contrast التباين + Convert Mode تحويل الوضع + Convert for Smart Filters تحويل للمرشحات الذكية + Convert to Embedded تحويل إلى مضمّن + Convert to Layers تحويل إلى طبقات + Convert to Linked… تحويل إلى مرتبط… + Convert to Paragraph Text تحويل إلى نص فقرة + Convert to Point Text تحويل إلى نص نقطة + Convert to Profile تحويل إلى ملف لوني + Convert to Profile… تحويل إلى ملف لوني… + Convert to Shape تحويل إلى شكل + Convert to Smart Object تحويل إلى كائن ذكي + Copy نسخ + Copy Layer Style نسخ نمط الطبقة + Copy Layers to Document نسخ الطبقات إلى مستند + Copy Merged نسخ مدمج + Count العدد + Count Tool أداة العد + Create Clipping Mask إنشاء قناع قص + Create Droplet… إنشاء Droplet… + Create Layer إنشاء طبقة + Create Work Path إنشاء مسار عمل + Crisp حاد + Crop قص + Crop and Straighten Photos قص الصور وتقويمها + Crystallize… تبلور… + Current Path المسار الحالي + Cursors… مؤشرات… + Curve المنحنى + Curves… المنحنيات… + Custom Pixel Aspect Ratio… نسبة أبعاد بكسل مخصصة… + Custom… مخصص… + Cut قص + Cycle Screen Mode تبديل وضع الشاشة + D1/DV NTSC (0.91) D1/DV NTSC (0.91) + D1/DV NTSC Widescreen (1.21) D1/DV NTSC Widescreen (1.21) + D1/DV PAL (1.09) D1/DV PAL (1.09) + D1/DV PAL Widescreen (1.46) D1/DV PAL Widescreen (1.46) + DVCPRO HD 1080/HDV 1080 (1.5) DVCPRO HD 1080/HDV 1080 (1.5) + Darks الداكنة + Data Sets as Files… مجموعات البيانات كملفات… + Data Sets… مجموعات البيانات… + De-Interlace… إزالة التشابك… + Default Features الميزات الافتراضية + Define Brush Preset… تعريف إعداد فرشاة مسبق… + Define Custom Shape… تعريف شكل مخصص… + Define Pattern… تعريف نقشة… + Define… تعريف… + Defringe… إزالة الهالة… + Dehaze إزالة الضباب + Delete حذف + Delete Action حذف الإجراء + Delete All Empty Layers حذف كل الطبقات الفارغة + Delete Color Sampler حذف عينة اللون + Delete Document Preset حذف إعداد المستند المسبق + Delete Filter Mask حذف قناع المرشح + Delete Frame حذف الإطار + Delete Note حذف الملاحظة + Delete Pattern حذف النقشة + Delete Snapshot حذف اللقطة + Delete State حذف الحالة + Delete Style حذف النمط + Delete Swatch حذف العينة + Delete Swatch Group حذف مجموعة العينات + Delete Workspace… حذف مساحة العمل… + Desaturate إزالة التشبع + Deselect إلغاء التحديد + Deselect Layers إلغاء تحديد الطبقات + Despeckle إزالة البقع + Detail التفاصيل + Developing {name} جارٍ تطوير {name} + Difference Clouds سحب الفرق + Diffuse… تشتيت… + Disable Filter Mask تعطيل قناع المرشح + Disable Painting Symmetry تعطيل تناظر الرسم + Disable Smart Filters تعطيل المرشحات الذكية + Discretionary Ligatures روابط حروف اختيارية + Displace… إزاحة… + Distort تشويه حر + Distribute توزيع + Dock Panel إرساء اللوحة + Document Bounds حدود المستند + Dodge تفتيح + Drop Floating Selection إسقاط التحديد العائم + Drop Shadow… ظل مسقط… + Duotone ثنائي اللون (Duotone) + Duplicate تكرار + Duplicate Frame تكرار الإطار + Duplicate Layer… تكرار الطبقة… + Duplicate Style تكرار النمط + Duplicate… تكرار… + Dust & Scratches… غبار وخدوش… + East Asian Features ميزات شرق آسيا + Edit تحرير + Edit Contents تحرير المحتوى + Edit Gradient Fill تحرير تعبئة التدرج + Edit Gradient Presets تحرير إعدادات التدرج المسبقة + Edit Gradient Stop تحرير نقطة التدرج + Edit Layer Mask تحرير قناع الطبقة + Edit Layer Style تحرير نمط الطبقة + Edit Note تحرير الملاحظة + Edit Pattern Presets تحرير إعدادات النقشات المسبقة + Edit Pins تحرير الدبابيس + Edit Shape Presets تحرير إعدادات الأشكال المسبقة + Edit Style Presets تحرير إعدادات الأنماط المسبقة + Edit Tool Presets تحرير إعدادات الأدوات المسبقة + Edit Type تحرير النص + Edit in Quick Mask Mode تحرير في وضع القناع السريع + Effects التأثيرات + Emboss… نقش بارز… + Enable Layer Mask تمكين قناع الطبقة + Enable Vector Mask تمكين القناع الشعاعي + Enhanced Controls… عناصر تحكم محسّنة… + Entropy الإنتروبيا + Equalize معادلة + Essentials الأساسيات + Exclude Overlapping Shapes استبعاد الأشكال المتداخلة + Exit خروج + Expand/Collapse Effects توسيع/طي التأثيرات + Expand/Collapse Group توسيع/طي المجموعة + Expand… توسيع… + Export تصدير + Export As… تصدير باسم… + Export Contents… تصدير المحتوى… + Export Patterns… تصدير النقشات… + Export Preferences… تصدير التفضيلات… + Export Swatches… تصدير العينات… + Export/Import Presets… تصدير/استيراد الإعدادات المسبقة… + Export… تصدير… + Exposure التعريض + Exposure… التعريض… + Extra Large كبير جدًا + Extras إضافات + Extrude… بثق… + Facet توجيه الوجوه + Fade… تلاشي… + Feather تلطيخ + Feather… تلطيخ… + Fibers… ألياف… + Field Blur… تمويه حقلي… + File ملف + File Handling… معالجة الملفات… + File Info… معلومات الملف… + Fill تعبئة + Fill Content تعبئة المحتوى + Fill from History تعبئة من السجل + Fill with Background Color تعبئة بلون الخلفية + Fill with Background Color, Preserve Transparency تعبئة بلون الخلفية مع الحفاظ على الشفافية + Fill with Foreground Color تعبئة بلون المقدمة + Fill with Foreground Color, Preserve Transparency تعبئة بلون المقدمة مع الحفاظ على الشفافية + Fill… تعبئة… + Filter مرشح + Filter Gallery معرض المرشحات + Filter Gallery… معرض المرشحات… + Find Edges إيجاد الحواف + Find Layers البحث عن الطبقات + Find and Replace Text… بحث عن نص واستبداله… + Fit Artboard on Screen ملاءمة لوح الرسم للشاشة + Fit Image… ملاءمة الصورة… + Fit Layer(s) on Screen ملاءمة الطبقة/الطبقات للشاشة + Fit on Screen ملاءمة للشاشة + Flame… لهب… + Flatten All Layer Effects تسطيح كل تأثيرات الطبقات + Flatten All Masks تسطيح كل الأقنعة + Flatten Image تسطيح الصورة + Flip قلب + Flip Canvas Horizontal قلب اللوحة أفقيًا + Flip Canvas Vertical قلب اللوحة عموديًا + Flip Horizontal قلب أفقي + Flip Vertical قلب عمودي + Float All in Windows تعويم الكل في نوافذ + Float Panel تعويم اللوحة + Float Selection تعويم التحديد + Float in Window تعويم في نافذة + Flow التدفق + Focus Area… منطقة التركيز… + Font Preview Size حجم معاينة الخط + Fractions كسور + Fragment تجزئة + Frame from Layers إطار من الطبقات + Free Transform تحويل حر + Free Transform a Copy تحويل حر لنسخة + From Transparency من الشفافية + Full Screen Mode وضع ملء الشاشة + Full Screen Mode With Menu Bar وضع ملء الشاشة مع شريط القوائم + Full-resolution preview unavailable المعاينة بالدقة الكاملة غير متاحة + Gamut Warning تحذير النطاق اللوني + Gaussian Blur… تمويه غاوسي… + Generate توليد + Get Action إحضار الإجراء + Get Document Preset إحضار إعداد مستند مسبق + Global عام + Global Light… إضاءة عامة… + Glyphs الحروف الرسومية + Glyphs Panel لوحة الحروف الرسومية + Gradient تدرج + Gradient (Live) تدرج (حي) + Gradient Fill Settings إعدادات تعبئة التدرج + Gradient Map خريطة تدرج + Gradient Map… خريطة تدرج… + Gradient Overlay… تراكب تدرج… + Gradient Presets إعدادات التدرج المسبقة + Gradients التدرجات + Gradient… تدرج… + Grain حبيبات + Graphic and Web رسومات وويب + Grayscale تدرج رمادي + Green أخضر + Grid الشبكة + Group Layers تجميع الطبقات + Group from Layers… مجموعة من الطبقات… + Group… تجميع… + Grow توسعة + Guides الأدلة + Guides, Grid & Slices… الأدلة والشبكة والشرائح… + HDR Toning… تدرج HDR… + HDV 1080/DVCPRO HD 720 (1.33) HDV 1080/DVCPRO HD 720 (1.33) + HSB/HSL HSB/HSL + Healing Brush فرشاة الترميم + Help تعليمات + Hidden Layers الطبقات المخفية + Hide إخفاء + Hide All إخفاء الكل + Hide All Effects إخفاء كل التأثيرات + Hide Layers إخفاء الطبقات + Hide Selection إخفاء التحديد + High Pass… تمرير عالٍ… + Highlight Clipping Warning (O) تحذير قطع الإبرازات (O) + Highlight Priority أولوية الإبرازات + Highlights الإبرازات + Histogram المدرج التكراري + Histories السجلات + History السجل + History Brush فرشاة السجل + History Log… سجل العمليات… + Hit-Test Type اختبار إصابة النص + Horizontal أفقي + Horizontal Centers المراكز الأفقية + Horizontally أفقيًا + Hue التدرج اللوني + Hue/Saturation… التدرج اللوني/التشبع… + Huge ضخم + If إذا + Image صورة + Image Assets أصول الصور + Image Processor… معالج الصور… + Image Rotation تدوير الصورة + Image Size حجم الصورة + Image Size… حجم الصورة… + Import استيراد + Import Brushes… استيراد فرش… + Import Gradients… استيراد تدرجات… + Import Patterns… استيراد نقشات… + Import Swatches… استيراد عينات… + Impressionist انطباعي + Indexed Color لون مفهرس + Info معلومات + Inner Glow… توهج داخلي… + Inner Shadow… ظل داخلي… + Insert Blank Frame إدراج إطار فارغ + Insert Glyph إدراج حرف رسومي + Insert Step إدراج خطوة + Inspect Document فحص المستند + Inspect Session فحص الجلسة + Install Plug-in… تثبيت مكوّن إضافي… + Installed Profiles الملفات اللونية المثبتة + Interface… الواجهة… + Internet Standard RGB معيار الإنترنت RGB + Interpret Footage… تفسير اللقطات… + Intersect Shape Areas تقاطع مناطق الأشكال + Inverse Selection عكس التحديد + Invert عكس + Invert… عكس… + Iris Blur… تمويه قزحية… + Isolate Layers عزل الطبقات + Join the ArtCraft Discord… انضم إلى خادم ArtCraft على Discord… + Keyboard Shortcuts… اختصارات لوحة المفاتيح… + Kurtosis التفرطح + Lab Color لون Lab + Language Options خيارات اللغة + Large كبير + Last Filter المرشح الأخير + Layer طبقة + Layer Color لون الطبقة + Layer Comps تراكيب الطبقات + Layer Comps to Files… تراكيب الطبقات إلى ملفات… + Layer Content Options… خيارات محتوى الطبقة… + Layer Edges حواف الطبقة + Layer Mask قناع الطبقة + Layer Style نمط الطبقة + Layer Style Default نمط الطبقة الافتراضي + Layer from Background… طبقة من الخلفية… + Layer via Copy طبقة عبر نسخ + Layer via Cut طبقة عبر قص + Layers الطبقات + Layers to Files… الطبقات إلى ملفات… + Layer… طبقة… + Left Edges الحواف اليسرى + Legacy Macintosh RGB نظام Macintosh RGB القديم + Lens Blur… تمويه عدسي… + Lens Correction… تصحيح العدسة… + Lens Flare… وهج عدسي… + Levels المستويات + Levels… المستويات… + Light الإضاءة + Lighting Effects… تأثيرات الإضاءة… + Lights الإضاءات + Link Layer Mask ربط قناع الطبقة + Link Layers ربط الطبقات + Link Vector Mask ربط القناع الشعاعي + Liquify… تسييل… + List Actions سرد الإجراءات + List Background Jobs سرد مهام الخلفية + List Color Lookup Looks سرد مظاهر البحث اللوني + List Commands سرد الأوامر + List Document Presets سرد إعدادات المستندات المسبقة + List Fonts سرد الخطوط + List Paths سرد المسارات + List Plug-ins سرد المكونات الإضافية + List Recent Document Settings سرد إعدادات المستندات الأخيرة + List Slices سرد الشرائح + List Variables سرد المتغيرات + Load تحميل + Load Actions… تحميل إجراءات… + Load Default Type Styles تحميل أنماط النص الافتراضية + Load Files into Stack… تحميل الملفات في رزمة… + Load Selection… تحميل تحديد… + Load Settings… تحميل الإعدادات… + Load settings from a Camera Raw .xmp file تحميل الإعدادات من ملف Camera Raw ‎.xmp + Loaded Camera Raw settings from {file} حُمّلت إعدادات Camera Raw من {file} + Lock Guides قفل الأدلة + Lock Layers… قفل الطبقات… + Lock Slices قفل الشرائح + Lock Workspace قفل مساحة العمل + Luminance الإضاءة اللونية + Luminance Detail تفاصيل الإضاءة اللونية + Magenta أرجواني + Magic Eraser الممحاة السحرية + Magnetic Lasso اللاسو المغناطيسي + Make إنشاء + Make Layer Style Default جعل نمط الطبقة افتراضيًا + Make Selection from Path إنشاء تحديد من مسار + Make Symmetry Path إنشاء مسار تناظر + Mask All Objects قناع لكل الكائنات + Masking التقنيع + Match All مطابقة الكل + Match Color… مطابقة اللون… + Match Location مطابقة الموقع + Match Rotation مطابقة التدوير + Match Zoom مطابقة التكبير + Matting إزالة الحواف + Maximum القيمة القصوى + Maximum… القيمة القصوى… + Mean المتوسط + Measurement Log سجل القياسات + Median الوسيط + Median… الوسيط… + Medium متوسط + Menus… القوائم… + Merge Layers دمج الطبقات + Merge Shape Components دمج مكونات الأشكال + Merge Visible دمج المرئي + Merge to HDR Pro… دمج إلى HDR Pro… + Mesh شبكة + Mezzotint… ميزوتينت… + Middle Eastern & South Asian Composer منشئ النصوص للشرق الأوسط وجنوب آسيا + Middle Eastern Features ميزات الشرق الأوسط + Midpoint نقطة الوسط + Midtones الدرجات المتوسطة + Migrate Presets ترحيل الإعدادات المسبقة + Minimum القيمة الدنيا + Minimum… القيمة الدنيا… + Mix مزج + Mixer Brush فرشاة المزج + Mixer Brush Tool أداة فرشاة المزج + Mode الوضع + Modifier Keys مفاتيح التعديل + Modify تعديل + Monitor RGB شاشة RGB + Mosaic… فسيفساء… + Motion الحركة + Motion Blur… تمويه حركي… + Move نقل + Move Action or Step نقل الإجراء أو الخطوة + Move Color Sampler نقل عينة اللون + Move Document نقل المستند + Move Panel نقل اللوحة + Move Swatch نقل العينة + Move to Set نقل إلى المجموعة + Multichannel متعدد القنوات + NTSC Colors ألوان NTSC + Navigate Type تنقل في النص + Navigator المتنقل + New جديد + New Adjustment Layer طبقة تسوية جديدة + New Blank Video Layer طبقة فيديو فارغة جديدة + New Document from State مستند جديد من حالة + New Fill Layer طبقة تعبئة جديدة + New Frame إطار جديد + New Gradient Fill Layer from Preset طبقة تعبئة تدرج جديدة من إعداد مسبق + New Gradient Preset إعداد تدرج مسبق جديد + New Guide Layout… تخطيط أدلة جديد… + New Guides From Shape أدلة جديدة من شكل + New Guide… دليل جديد… + New Layer Based Slice شريحة قائمة على طبقة جديدة + New Note ملاحظة جديدة + New Pattern Fill Layer from Preset طبقة تعبئة نقشة جديدة من إعداد مسبق + New Pattern Preset إعداد نقشة مسبق جديد + New Shape Preset إعداد شكل مسبق جديد + New Smart Object via Copy كائن ذكي جديد عبر نسخ + New Snapshot لقطة جديدة + New Style… نمط جديد… + New Swatch Group… مجموعة عينات جديدة… + New Swatch… عينة جديدة… + New Tool Preset… إعداد أداة مسبق جديد… + New Type Layer طبقة نص جديدة + New Video Layer from File… طبقة فيديو جديدة من ملف… + New Window for Document نافذة جديدة للمستند + New Workspace… مساحة عمل جديدة… + New… جديد… + Next Appearance Mode وضع المظهر التالي + Next Document المستند التالي + Noise تشويش + Noise Reduction تقليل التشويش + None بلا + Notes الملاحظات + Notes… ملاحظات… + OK موافق + Offset… إزاحة… + Oil Paint… طلاء زيتي… + Oldstyle أرقام قديمة الطراز + Open فتح + Open As… فتح باسم… + Open EXR Parts… فتح أجزاء EXR… + OpenType OpenType + Opened {name} فُتح {name} + Open… فتح… + Options الخيارات + Orange برتقالي + Ordinals أرقام ترتيبية + Orientation الاتجاه + Ornaments زخارف + Other أخرى + Other… أخرى… + Outer Glow… توهج خارجي… + Package… تجميع حزمة… + Paint Bucket دلو الطلاء + Paint Overlay تراكب الطلاء + Painting الرسم + Panels اللوحات + Paragraph فقرة + Paragraph Panel لوحة الفقرة + Paragraph Styles أنماط الفقرات + Paragraph Styles Panel لوحة أنماط الفقرات + Paste لصق + Paste Into لصق داخل + Paste Layer Style لصق نمط الطبقة + Paste Lorem Ipsum لصق نص Lorem Ipsum + Paste Outside لصق خارج + Paste Special لصق خاص + Paste in Place لصق في المكان + Patch ترقيع + Path Blur… تمويه مساري… + Path Info معلومات المسار + Paths المسارات + Paths to Illustrator… المسارات إلى Illustrator… + Pattern Fill… تعبئة نقشة… + Pattern Overlay… تراكب نقشة… + Pattern Presets إعدادات النقشات المسبقة + Pattern Preview معاينة النقشة + Pattern Stamp ختم النقشة + Pattern Stamp Tool أداة ختم النقشة + Patterns النقشات + Pattern… نقشة… + Performance… الأداء… + Perspective منظور + Perspective Crop قص منظوري + Perspective Warp تشويه منظوري + Photo Filter… مرشح الصورة… + PhotoCraft Website موقع PhotoCraft + PhotoCraft on GitHub PhotoCraft على GitHub + Photography التصوير الفوتوغرافي + Photomerge… دمج الصور… + Photoshop Step خطوة Photoshop + Picture Frame… إطار صورة… + Pinch… قرص… + Pixel Art فن البكسل + Pixel Art Preview معاينة فن البكسل + Pixel Aspect Ratio نسبة أبعاد البكسل + Pixel Aspect Ratio Correction تصحيح نسبة أبعاد البكسل + Pixel Grid شبكة البكسل + Pixelate تبكسل + Place وضع + Place Custom Shape وضع شكل مخصص + Place Embedded… وضع مضمّن… + Place Linked… وضع مرتبط… + Place Scale Marker… وضع علامة مقياس… + Play تشغيل + Play Action تشغيل الإجراء + Plug-ins المكونات الإضافية + Plug-ins… المكونات الإضافية… + Pointillize… تنقيط… + Polar Coordinates… إحداثيات قطبية… + Posterize… تقليل المستويات… + Preferences التفضيلات + Preset Manager… مدير الإعدادات المسبقة… + Presets الإعدادات المسبقة + Previous Document المستند السابق + Print One Copy طباعة نسخة واحدة + Print Size حجم الطباعة + Printers الطابعات + Print… طباعة… + Pro Light Gray Theme سمة Pro الرمادية الفاتحة + Pro Light Theme سمة Pro الفاتحة + Pro Medium Gray Theme سمة Pro الرمادية المتوسطة + Pro Theme سمة Pro + Proof Colors ألوان الإثبات + Proof Setup إعداد الإثبات + Properties الخصائص + Puppet Warp تشويه الدمية + Purge تطهير + Purple بنفسجي + Quick Export as PNG تصدير سريع بتنسيق PNG + RGB Color لون RGB + Radial Blur… تمويه شعاعي… + Radius نصف القطر + Range النطاق + Rasterize تحويل إلى نقطية + Rasterize Type تحويل النص إلى نقطية + Rasterize Type Layer تحويل طبقة النص إلى نقطية + Raw Defaults… الإعدادات الافتراضية لـ Raw… + Read Composite Pixel قراءة البكسل المدمج + Record Action تسجيل الإجراء + Record Measurements تسجيل القياسات + Red أحمر + Red Eye العين الحمراء + Redo إعادة + Reduce Noise… تقليل التشويش… + Relight… إعادة إضاءة… + Relink to File… إعادة الربط بملف… + Reload Frame إعادة تحميل الإطار + Reload Plug-ins إعادة تحميل المكونات الإضافية + Remove إزالة + Remove Background إزالة الخلفية + Remove Black Matte إزالة الحواف السوداء + Remove Plug-in إزالة المكوّن الإضافي + Remove Warp Split إزالة تقسيم التشويه + Remove White Matte إزالة الحواف البيضاء + Rename Action إعادة تسمية الإجراء + Rename Layer إعادة تسمية الطبقة + Rename Pattern إعادة تسمية النقشة + Rename Snapshot إعادة تسمية اللقطة + Rename Style إعادة تسمية النمط + Rename Swatch Group… إعادة تسمية مجموعة العينات… + Rename Swatch… إعادة تسمية العينة… + Render تقديم + Render Video… تقديم الفيديو… + Replace All Missing Fonts استبدال كل الخطوط المفقودة + Replace Color… استبدال اللون… + Replace Contents… استبدال المحتوى… + Replace Footage… استبدال اللقطات… + Report an Issue… الإبلاغ عن مشكلة… + Reselect إعادة التحديد + Reset إعادة تعيين + Reset All Tools إعادة تعيين كل الأدوات + Reset Swatches إعادة تعيين العينات + Reset Tool إعادة تعيين الأداة + Reset Tool Presets إعادة تعيين إعدادات الأداة المسبقة + Reset Transform إعادة تعيين التحويل + Reset View إعادة تعيين العرض + Reset Workspace إعادة تعيين مساحة العمل + Resolve Missing Fonts… حل الخطوط المفقودة… + Restore All Frames استعادة كل الإطارات + Restore Default Gradients استعادة التدرجات الافتراضية + Restore Default Shapes استعادة الأشكال الافتراضية + Restore Default Styles استعادة الأنماط الافتراضية + Restore Frame استعادة الإطار + Reveal All إظهار الكل + Reveal Selection إظهار التحديد + Reveal in Finder إظهار في Finder + Reverse عكس الاتجاه + Revert استرجاع + Right Edges الحواف اليمنى + Ripple… تموج… + Rotate تدوير + Rotate 180° تدوير ‏180° + Rotate 90° Clockwise تدوير ‏90° باتجاه عقارب الساعة + Rotate 90° Counter Clockwise تدوير ‏90° عكس عقارب الساعة + Rotate Brush Tip تدوير رأس الفرشاة + Rotate View تدوير العرض + Roughness الخشونة + Roundness الاستدارة + Ruler Tool أداة المسطرة + Rulers المساطر + Run Plug-in تشغيل المكوّن الإضافي + Sample All Layers أخذ عينات من كل الطبقات + Sample Color عينة لون + Satin… ساتان… + Saturation التشبع + Save حفظ + Save Actions… حفظ الإجراءات… + Save As… حفظ باسم… + Save Default Type Styles حفظ أنماط النص الافتراضية + Save Document Preset حفظ إعداد المستند المسبق + Save Selection… حفظ التحديد… + Save Settings… حفظ الإعدادات… + Save a Copy… حفظ نسخة… + Save for Web (Legacy)… حفظ للويب (قديم)… + Save these settings as a Camera Raw .xmp file حفظ هذه الإعدادات كملف Camera Raw ‎.xmp + Scale تحجيم + Scale Effects… تحجيم التأثيرات… + Scope النطاق + Scratch Disks… أقراص العمل… + Screen Mode وضع الشاشة + Script Events Manager… مدير أحداث البرامج النصية… + Scripts البرامج النصية + Search… بحث… + Select تحديد + Select Clone Source تحديد مصدر النسخ + Select Data Points… تحديد نقاط البيانات… + Select Gradient تحديد التدرج + Select Layers in Marquee تحديد الطبقات في الإطار + Select Linked Layers تحديد الطبقات المرتبطة + Select Pattern تحديد النقشة + Select Snapshot تحديد اللقطة + Select Tool Preset تحديد إعداد الأداة المسبق + Select and Mask… تحديد وقناع… + Selected المحدد + Selection Edges حواف التحديد + Selective Color… لون انتقائي… + Send Backward إرجاع للخلف + Send to Back إرسال إلى الخلفية + Set تعيين + Set Clone Source تعيين مصدر النسخ + Set Measurement Scale… تعيين مقياس القياس… + Set Painting Symmetry تعيين تناظر الرسم + Set Type Style تعيين نمط النص + Settings… الإعدادات… + Shadow Clipping Warning (U) تحذير قطع الظلال (U) + Shadows الظلال + Shadows/Highlights… الظلال/الإبرازات… + Shape شكل + Shape Blur… تمويه شكلي… + Shape Layer Info معلومات طبقة الشكل + Shape Presets إعدادات الأشكال المسبقة + Shapes الأشكال + Sharp حاد + Sharpen زيادة الحدة + Sharpen Edges زيادة حدة الحواف + Sharpen More زيادة الحدة أكثر + Sharpening زيادة الحدة + Shear… قص مائل… + Show إظهار + Show Altered Video إظهار الفيديو المعدّل + Show Extras Options… خيارات إظهار الإضافات… + Show Lab Color Readouts إظهار قراءات لون Lab + Show Red at 3 o'clock إظهار الأحمر عند الساعة 3 + Show Selected Region إظهار المنطقة المحددة + Show Skin Tone Indicator إظهار مؤشر لون البشرة + Show Vectorscope إظهار محلل المتجهات + Show/Hide All Panels إظهار/إخفاء كل اللوحات + Show/Hide Effects إظهار/إخفاء التأثيرات + Show/Hide Panels إظهار/إخفاء اللوحات + Similar مشابه + Size الحجم + Skew إمالة + Skewness التلبيد + Sky السماء + Slices الشرائح + Small صغير + Smart Blur… تمويه ذكي… + Smart Filter مرشح ذكي + Smart Guides الأدلة الذكية + Smart Object كائن ذكي + Smart Objects كائنات ذكية + Smart Sharpen… زيادة حدة ذكية… + Smooth تنعيم + Smooth… تنعيم… + Smudge طلطخة + Snap التقاط + Snap To التقاط إلى + Soft Dark Theme سمة Soft الداكنة + Soft Light Theme سمة Soft الفاتحة + Solarize تشميس + Solarized Dark Theme سمة Solarized الداكنة + Solid Color… لون موحد… + Spherize… تكوير… + Spin Blur… تمويه دوّار… + Split Warp Crosswise تقسيم التشويه عرضيًا + Split Warp Horizontally تقسيم التشويه أفقيًا + Split Warp Vertically تقسيم التشويه عموديًا + Sponge إسفنجة + Spot Healing Brush فرشاة الترميم الموضعية + Square مربع + Stack Mode وضع الرزمة + Stamp Down ختم للأسفل + Stamp Visible ختم المرئي + Standard Deviation الانحراف المعياري + Standard Ligatures روابط حروف قياسية + Standard Screen Mode وضع الشاشة القياسي + Statistics… إحصاءات… + Stop إيقاف + Stop Recording إيقاف التسجيل + Stroke… حد… + Strong قوي + Studio Light Theme سمة Studio الفاتحة + Studio Theme سمة Studio + Style Presets إعدادات الأنماط المسبقة + Styles الأنماط + Stylistic Alternates بدائل أسلوبية + Stylize تنميق + Subject الموضوع + Subtract Front Shape طرح الشكل الأمامي + Summation التجميع + Surface Blur… تمويه سطحي… + Swash زخرفة حرفية + Swatches العينات + Sync with system مزامنة مع النظام + System Info… معلومات النظام… + Target Path المسار الهدف + Temperature درجة الحرارة + Texture النسيج + Theme السمة + Threshold… عتبة… + Tile تجانب + Tile All Horizontally تجانب الكل أفقيًا + Tile All Vertically تجانب الكل عموديًا + Tiles… بلاطات… + Tilt-Shift… إمالة-إزاحة… + Timeline الجدول الزمني + Tint الصبغة + Titling Alternates بدائل العناوين + Toggle Action Steps تبديل خطوات الإجراء + Toggle Last State تبديل الحالة الأخيرة + Toggle Layer Mask Overlay تبديل تراكب قناع الطبقة + Toggle Step Dialog تبديل حوار الخطوة + Tone Histogram المدرج التكراري للدرجات + Tool Presets إعدادات الأدوات المسبقة + Toolbar… شريط الأدوات… + Tools الأدوات + Tools… الأدوات… + Top Edges الحواف العلوية + Trace Contour… تتبع الكنتور… + Transform تحويل + Transform Selection تحويل التحديد + Transform Symmetry تحويل التناظر + Transparency & Gamut… الشفافية والنطاق اللوني… + Trap… الحبس… + Tree… شجرة… + Trim… اقتطاع… + Twirl… لف… + Type نص + Type Caret مؤشر النص + Type Layer Info معلومات طبقة النص + Type Mask قناع النص + Type… نص… + Undo تراجع + Ungroup Layers إلغاء تجميع الطبقات + Unite Shapes دمج الأشكال + Units & Rulers… الوحدات والمساطر… + Unsharp Mask… قناع الحدة… + Update All Modified Content تحديث كل المحتوى المعدّل + Update All Text Layers تحديث كل طبقات النص + Update Modified Content تحديث المحتوى المعدّل + Use Swatch استخدام العينة + Vanishing Point… نقطة التلاشي… + Variable Data Sets… مجموعات البيانات المتغيرة… + Variables المتغيرات + Variance التباين الإحصائي + Vector Mask قناع شعاعي + Vector Mask Info معلومات القناع الشعاعي + Vertical عمودي + Vertical Centers المراكز العمودية + Vertically عموديًا + Vibrance الحيوية اللونية + Vibrance… الحيوية اللونية… + Video فيديو + Video Cache ذاكرة الفيديو المؤقتة + Video Frames to Layers… إطارات الفيديو إلى طبقات… + Video Layers طبقات الفيديو + View عرض + View Layer Mask عرض قناع الطبقة + Vignetting التظليل الطرفي + WIA Support… دعم WIA… + Warp تشويه + Warp Grid شبكة التشويه + Warp Text… تشويه النص… + Wave… موجة… + Wet رطوبة + White Balance: As Shot توازن اللون الأبيض: كما التقطت + Whites البيض + Window نافذة + Windows Windows + Windows LCD Windows LCD + Wind… ريح… + Working Black Plate لوحة العمل السوداء + Working CMY Plate لوحة عمل CMY + Working CMYK نظام عمل CMYK + Working Cyan Plate لوحة العمل السماوية + Working Magenta Plate لوحة العمل الأرجوانية + Working Yellow Plate لوحة العمل الصفراء + Workspace مساحة العمل + Workspace… مساحة العمل… + Yellow أصفر + ZigZag… زجزاج… + Zoom In تكبير + Zoom Out تصغير + +# Dialog labels and prompts outside the menus. + 8 bit 8 بت + 16 bit 16 بت + 32 bit (float) 32 بت (عائم) + Apply At Canvas Bounds تطبيق عند حدود اللوحة + Decontaminate إزالة التلوث + Delete layer ‘{name}’? حذف الطبقة ‘{name}’؟ + Delete {count} layers? {names} حذف {count} طبقات؟ {names} + Delete layer? حذف الطبقة؟ + Don't show again عدم الإظهار مرة أخرى + Floating point فاصلة عائمة + Integer عدد صحيح + Invalid delete command أمر حذف غير صالح + Layer deleted, but confirmation preference could not be saved: {error} حُذفت الطبقة لكن تعذّر حفظ تفضيل التأكيد: {error} + Missing delete command أمر الحذف مفقود + New Document مستند جديد + New Document With Mask مستند جديد بقناع + New Layer طبقة جديدة + New Layer With Mask طبقة جديدة بقناع + New from Clipboard جديد من الحافظة + Open Recent فتح الأخيرة + Output الإخراج + Refine Edge تحسين الحافة + Refine Strokes تحسين الضربات + Selection تحديد + Shift Edge إزاحة الحافة + Smart Radius نصف قطر ذكي + The document is closed المستند مغلق + The document or selected layers changed. Please request deletion again. تغيّر المستند أو الطبقات المحددة. يرجى طلب الحذف مرة أخرى. + Tolerance السعة + +# Plural messages: six forms (zero|one|two|few|many|other); `{n}` and the other placeholders +# stay in every form, per `bundled_catalogs_are_consistent`. +@plural {n} item|{n} items {n} عنصر|{n} عنصر|{n} عنصران|{n} عناصر|{n} عنصرًا|{n} عنصر +@plural {n} Layer|{n} Layers {n} طبقة|{n} طبقة|{n} طبقتان|{n} طبقات|{n} طبقة|{n} طبقة +@plural {n} layer|{n} layers {n} طبقة|{n} طبقة|{n} طبقتان|{n} طبقات|{n} طبقة|{n} طبقة +@plural Group · {n} layer|Group · {n} layers مجموعة · {n} طبقة|مجموعة · {n} طبقة|مجموعة · {n} طبقتان|مجموعة · {n} طبقات|مجموعة · {n} طبقة|مجموعة · {n} طبقة +@plural {n} sample|{n} samples {n} عينة|{n} عينة|{n} عينتان|{n} عينات|{n} عينة|{n} عينة +@plural Exported {n} swatch to {file}|Exported {n} swatches to {file} صُدّرت {n} عينة إلى {file}|صُدّرت {n} عينة إلى {file}|صُدّرت {n} عينتين إلى {file}|صُدّرت {n} عينات إلى {file}|صُدّرت {n} عينة إلى {file}|صُدّرت {n} عينة إلى {file} +@plural Imported {n} brush from {group}|Imported {n} brushes from {group} استُوردت {n} فرشاة من {group}|استُوردت {n} فرشاة من {group}|استُوردت {n} فرشاتان من {group}|استُوردت {n} فرش من {group}|استُوردت {n} فرشاة من {group}|استُوردت {n} فرشاة من {group} +@plural Imported {n} swatch from {file}|Imported {n} swatches from {file} استُوردت {n} عينة من {file}|استُوردت {n} عينة من {file}|استُوردت {n} عينتان من {file}|استُوردت {n} عينات من {file}|استُوردت {n} عينة من {file}|استُوردت {n} عينة من {file} +@plural Played {n} step|Played {n} steps شُغّلت {n} خطوة|شُغّلت {n} خطوة|شُغّلت {n} خطوتان|شُغّلت {n} خطوات|شُغّلت {n} خطوة|شُغّلت {n} خطوة +@plural Updated {n} linked smart object changed on disk|Updated {n} linked smart objects changed on disk حُدّث {n} كائن ذكي مرتبط تغيّر على القرص|حُدّث {n} كائن ذكي مرتبط تغيّر على القرص|حُدّث {n} كائنان ذكيان مرتبطان تغيّرا على القرص|حُدّثت {n} كائنات ذكية مرتبطة تغيّرت على القرص|حُدّث {n} كائنًا ذكيًا مرتبطًا تغيّر على القرص|حُدّث {n} كائن ذكي مرتبط تغيّر على القرص +@plural Saved for Web: {n} file|Saved for Web: {n} files حُفظ للويب: {n} ملف|حُفظ للويب: {n} ملف|حُفظ للويب: {n} ملفان|حُفظ للويب: {n} ملفات|حُفظ للويب: {n} ملفًا|حُفظ للويب: {n} ملف +@plural {n} layer recorded by this comp was deleted. Update the comp, or clear the warning.|{n} layers recorded by this comp were deleted. Update the comp, or clear the warning. حُذفت {n} طبقة سجّلتها هذه التركيبة. حدّث التركيبة أو امسح التحذير.|حُذفت {n} طبقة سجّلتها هذه التركيبة. حدّث التركيبة أو امسح التحذير.|حُذفت {n} طبقتان سجّلتهما هذه التركيبة. حدّث التركيبة أو امسح التحذير.|حُذفت {n} طبقات سجّلتها هذه التركيبة. حدّث التركيبة أو امسح التحذير.|حُذفت {n} طبقة سجّلتها هذه التركيبة. حدّث التركيبة أو امسح التحذير.|حُذفت {n} طبقة سجّلتها هذه التركيبة. حدّث التركيبة أو امسح التحذير. +@plural {n} plane|{n} planes {n} مستوى|{n} مستوى|{n} مستويان|{n} مستويات|{n} مستوى|{n} مستوى +@plural {n} preset|{n} presets {n} إعداد مسبق|{n} إعداد مسبق|{n} إعدادان مسبقان|{n} إعدادات مسبقة|{n} إعدادًا مسبقًا|{n} إعداد مسبق +@plural {n} sample point removed|{n} sample points removed أُزيلت {n} نقطة قياس|أُزيلت {n} نقطة قياس|أُزيلت {n} نقطتا قياس|أُزيلت {n} نقاط قياس|أُزيلت {n} نقطة قياس|أُزيلت {n} نقطة قياس +@plural {n} slice|{n} slices {n} شريحة|{n} شريحة|{n} شريحتان|{n} شرائح|{n} شريحة|{n} شريحة +@plural {n} step|{n} steps {n} خطوة|{n} خطوة|{n} خطوتان|{n} خطوات|{n} خطوة|{n} خطوة +@plural {warning} (+{n} more brush preset warning)|{warning} (+{n} more brush preset warnings) {warning} (+{n} تحذير إضافي لإعدادات الفرش المسبقة)|{warning} (+{n} تحذير إضافي لإعدادات الفرش المسبقة)|{warning} (+{n} تحذيران إضافيان لإعدادات الفرش المسبقة)|{warning} (+{n} تحذيرات إضافية لإعدادات الفرش المسبقة)|{warning} (+{n} تحذيرًا إضافيًا لإعدادات الفرش المسبقة)|{warning} (+{n} تحذيرًا إضافيًا لإعدادات الفرش المسبقة) +@plural {what} with {n} warning|{what} with {n} warnings {what} مع {n} تحذير|{what} مع {n} تحذير|{what} مع {n} تحذيران|{what} مع {n} تحذيرات|{what} مع {n} تحذيرًا|{what} مع {n} تحذير +@plural Loaded {n} action from {file}|Loaded {n} actions from {file} حُمّل {n} إجراء من {file}|حُمّل {n} إجراء من {file}|حُمّل {n} إجراءان من {file}|حُمّلت {n} إجراءات من {file}|حُمّل {n} إجراءً من {file}|حُمّل {n} إجراء من {file} +@plural {n} step has no PhotoCraft equivalent yet|{n} steps have no PhotoCraft equivalent yet {n} خطوة لا نظير لها في PhotoCraft بعد|{n} خطوة لا نظير لها في PhotoCraft بعد|{n} خطوتان لا نظير لهما في PhotoCraft بعد|{n} خطوات لا نظير لها في PhotoCraft بعد|{n} خطوة لا نظير لها في PhotoCraft بعد|{n} خطوة لا نظير لها في PhotoCraft بعد +@plural Saved {n} action to {file}|Saved {n} actions to {file} حُفظ {n} إجراء في {file}|حُفظ {n} إجراء في {file}|حُفظ {n} إجراءان في {file}|حُفظت {n} إجراءات في {file}|حُفظ {n} إجراءً في {file}|حُفظ {n} إجراء في {file} +@plural {n} step with no Photoshop equivalent left out|{n} steps with no Photoshop equivalent left out تُركت {n} خطوة بلا نظير في Photoshop|تُركت {n} خطوة بلا نظير في Photoshop|تُركت {n} خطوتان بلا نظير في Photoshop|تُركت {n} خطوات بلا نظير في Photoshop|تُركت {n} خطوة بلا نظير في Photoshop|تُركت {n} خطوة بلا نظير في Photoshop +@plural {n} action|{n} actions {n} إجراء|{n} إجراء|{n} إجراءان|{n} إجراءات|{n} إجراءً|{n} إجراء diff --git a/crates/ui-egui/src/i18n/catalog.rs b/crates/ui-egui/src/i18n/catalog.rs index 22552aa4a2..e81eface51 100644 --- a/crates/ui-egui/src/i18n/catalog.rs +++ b/crates/ui-egui/src/i18n/catalog.rs @@ -99,6 +99,19 @@ impl Catalog { let forms = self.plurals.get(&format!("{one}|{other}"))?; forms.get(index.min(forms.len().saturating_sub(1))).map(String::as_str) } + + /// Rewrite every translation with `f`, sources and keys unchanged: a right-to-left + /// language's catalog is stored in display order (see [`crate::bidi::display_rtl`]). + pub fn map_translations(&mut self, f: impl Fn(&str) -> String) { + for value in self.plain.values_mut().chain(self.contextual.values_mut()).chain(self.ids.values_mut()) { + *value = f(value); + } + for forms in self.plurals.values_mut() { + for form in forms.iter_mut() { + *form = f(form); + } + } + } } /// `{name}` placeholders of a template, in order of appearance. diff --git a/crates/ui-egui/src/i18n/live_tests.rs b/crates/ui-egui/src/i18n/live_tests.rs index 89c47ef1ac..10cbbcbf83 100644 --- a/crates/ui-egui/src/i18n/live_tests.rs +++ b/crates/ui-egui/src/i18n/live_tests.rs @@ -233,7 +233,7 @@ fn first_launch_renders_the_system_language_without_overwriting_auto() { #[test] fn missing_or_unsupported_system_languages_render_english() { - for tags in [vec![], vec!["sv-SE", "ar-SA"]] { + for tags in [vec![], vec!["sv-SE", "fi-FI"]] { system::with_system_tags(&tags, || { with_language(Lang::EN, || { let h = harness(); diff --git a/crates/ui-egui/src/i18n/mod.rs b/crates/ui-egui/src/i18n/mod.rs index b976e395fc..35ced6c7c7 100644 --- a/crates/ui-egui/src/i18n/mod.rs +++ b/crates/ui-egui/src/i18n/mod.rs @@ -97,6 +97,18 @@ fn plural_fr(n: u64) -> usize { usize::from(n > 1) } +/// Arabic: 0 → zero, 1 → one, 2 → two, 3–10 (mod 100) → few, 11–99 (mod 100) → many, else other. +fn plural_arabic(n: u64) -> usize { + match (n, n % 100) { + (0, _) => 0, + (1, _) => 1, + (2, _) => 2, + (_, 3..=10) => 3, + (_, 11..=99) => 4, + _ => 5, + } +} + /// Portuguese: 0 and 1 take the singular, everything else the plural. fn plural_pt(n: u64) -> usize { usize::from(n > 1) @@ -187,7 +199,7 @@ fn expand(packed: &str, keys: &[&str]) -> Result { } /// The registry. English first: it is the fallback and the source language. -pub static LANGUAGES: [LangInfo; 21] = [ +pub static LANGUAGES: [LangInfo; 22] = [ LangInfo { code: "en", name: "English", source: b"", plural: plural_one_other, complete_menus: false, catalog: OnceLock::new() }, LangInfo { code: "ja", name: "日本語", source: catalog!("ja"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, LangInfo { code: "zh-hans", name: "简体中文", source: catalog!("zh-hans"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, @@ -220,6 +232,11 @@ pub static LANGUAGES: [LangInfo; 21] = [ LangInfo { code: "tr", name: "Türkçe", source: catalog!("tr"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, // Vietnamese; `vi-VN` resolves here. LangInfo { code: "vi", name: "Tiếng Việt", source: catalog!("vi"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, + // Arabic (Modern Standard, Western digits); every `ar-*` locale (`ar-MA`, `ar-EG`, `ar-SA` …) + // resolves here. Right to left: its translations are put into display order when the catalog + // loads (`bidi::display_rtl`), the chrome mirrors (`direction.rs`), and user names are drawn + // through `bidi::visual`. + LangInfo { code: "ar", name: "العربية", source: catalog!("ar"), plural: plural_arabic, complete_menus: false, catalog: OnceLock::new() }, ]; impl LangInfo { @@ -232,7 +249,15 @@ impl LangInfo { } fn catalog(&self) -> &Catalog { - self.catalog.get_or_init(|| Catalog::parse(&self.text())) + self.catalog.get_or_init(|| { + let mut catalog = Catalog::parse(&self.text()); + // egui shapes each script's run but lays the runs out left to right, so a + // right-to-left language's labels are stored in display order. + if dir_for_code(self.code) == Dir::Rtl { + catalog.map_translations(crate::bidi::display_rtl); + } + catalog + }) } } @@ -445,6 +470,54 @@ mod tests { assert_eq!(ID().name(), "Bahasa Indonesia"); } + /// Arabic is registered right to left, every `ar-*` locale resolves to the one Modern + /// Standard Arabic catalog, and the language shows by its own name. + #[test] + fn arabic_locales_resolve() { + let ar = || Lang::from_code("ar").expect("ar registered"); + assert_eq!(ar().name(), "العربية"); + assert_eq!(ar().dir(), Dir::Rtl); + assert_eq!(Lang::EN.dir(), Dir::Ltr); + assert!(!ar().complete_menus(), "Arabic is a growing catalog"); + for tag in ["ar", "ar-SA", "ar_EG.UTF-8", "AR-eg", "ar-001", "ar-MA", "ar_DZ@x"] { + assert_eq!(lang_from_tag(tag), Some(ar()), "{tag}"); + } + assert_eq!(Lang::from_pref("ar"), ar()); + assert_eq!(Lang::from_pref("AR"), ar()); + assert_eq!(Lang::from_pref("ar-kw"), ar()); + } + + /// Arabic counts take the six CLDR forms (zero, one, two, few, many, other). + #[test] + fn arabic_plural_rule_works() { + let ar = || Lang::from_code("ar").expect("ar registered"); + for (n, want) in [(0, 0), (1, 1), (2, 2), (3, 3), (10, 3), (11, 4), (99, 4), (100, 5), (102, 5), (103, 3), (110, 3), (111, 4), (200, 5), (u64::MAX, 4)] + { + assert_eq!(plural_arabic(n), want, "{n}"); + } + // A real row: the catalog's six forms, looked up by count (stored in display + // order, so the count ends up to the right of the noun). + assert_eq!(trn(ar(), 2, "{n} Layer", "{n} Layers"), "طبقتان 2"); + assert_eq!(trn(ar(), 5, "{n} Layer", "{n} Layers"), "طبقات 5"); + assert_eq!(trn(ar(), 21, "{n} Layer", "{n} Layers"), "طبقة 21"); + } + + /// Arabic lookups answer in display order: a label's first word is its last on screen, with + /// Latin words and digits inside it left to right. What stays logical: the catalog itself. + #[test] + fn arabic_labels_answer_in_display_order() { + let ar = || Lang::from_code("ar").expect("ar registered"); + // Single words come back as stored; a phrase is word-reversed for the painter. + assert_eq!(tr(ar(), "Layers"), "الطبقات"); + assert_eq!(tr(ar(), "Fill with Foreground Color"), "المقدمة بلون تعبئة"); + assert_eq!(tr(ar(), "Zoom In"), "تكبير"); + // Product names stay Latin, running left to right inside the right-to-left line. + assert_eq!(tr(ar(), "About PhotoCraft"), "PhotoCraft حول"); + // Untranslated strings and English itself keep their logical order. + assert_eq!(tr(ar(), "a string with no translation"), "a string with no translation"); + assert_eq!(tr(Lang::EN, "Fill with Foreground Color"), "Fill with Foreground Color"); + } + #[test] fn vietnamese_tags_resolve() { for tag in ["vi", "vi-VN", "vi_VN", "vi_VN.UTF-8"] { diff --git a/crates/ui-egui/src/i18n/system.rs b/crates/ui-egui/src/i18n/system.rs index 49bc3bc79b..0a91cd747d 100644 --- a/crates/ui-egui/src/i18n/system.rs +++ b/crates/ui-egui/src/i18n/system.rs @@ -91,7 +91,8 @@ mod tests { (vec!["zh-Hant-HK", "zh-CN"], "zh-hant"), (vec!["zh-Hans-CN", "zh-TW"], "zh-hans"), (vec!["en-US", "ru-RU"], "en"), - (vec!["sv-SE", "ar-SA"], "en"), + (vec!["sv-SE", "fi-FI"], "en"), + (vec!["sv-SE", "ar-SA"], "ar"), (vec!["de-AT", "en-US"], "de"), (vec!["pt-PT"], "pt-br"), (vec!["it-IT", "en-US"], "it"), diff --git a/crates/ui-egui/src/layer_style.rs b/crates/ui-egui/src/layer_style.rs index c2781157a3..b0f2e7e295 100644 --- a/crates/ui-egui/src/layer_style.rs +++ b/crates/ui-egui/src/layer_style.rs @@ -862,7 +862,7 @@ pub fn body(app: &mut PhotocraftApp, ui: &mut egui::Ui, f: &mut Map &'static str { /// Translate the fixed command label and substitute the currently configured export format. /// Reuse the existing translated PNG sentence, so dynamic formats work in every UI language. fn translated_menu_label(lang: crate::i18n::Lang, item: &MenuItem) -> String { - // A document's name is shown as it is. - if item.id.starts_with(DOCUMENT_ITEM) { - return item.label.clone(); + // A document's or a recent file's name is user text: shown as it is, in display order. + if item.id.starts_with(DOCUMENT_ITEM) || item.id.starts_with("file.openRecent.") { + return crate::bidi::visual(&item.label).into_owned(); } if item.id == "file.export.quickExportAsPng" && let Some(fmt) = item.label.strip_prefix("Quick Export as ") diff --git a/crates/ui-egui/src/panels.rs b/crates/ui-egui/src/panels.rs index 82c2b667a1..fa6f480d4e 100644 --- a/crates/ui-egui/src/panels.rs +++ b/crates/ui-egui/src/panels.rs @@ -596,7 +596,11 @@ pub fn title_bar(app: &mut PhotocraftApp, ui: &mut egui::Ui) { let max = ui.ctx().input(|i| i.viewport().maximized.unwrap_or(false)); ui.ctx().send_viewport_cmd(egui::ViewportCommand::Maximized(!max)); } - let title = app.session.active().map(|d| format!("{}{}", d.doc.name, if d.is_dirty() { " •" } else { "" })).unwrap_or_else(|| "PhotoCraft".into()); + let title = app + .session + .active() + .map(|d| format!("{}{}", crate::bidi::visual(&d.doc.name), if d.is_dirty() { " •" } else { "" })) + .unwrap_or_else(|| "PhotoCraft".into()); // The menus and the far-end controls are laid out first; the title is centred in // whatever room is left between them (`free`, left to right: menus then controls, or // controls then menus in a right-to-left UI), shortened or dropped rather than drawn @@ -2863,7 +2867,7 @@ fn layer_row( let italic = !t.pro && doc.is_background(l.id); // Photoshop rows show only the name; the kind sub-label is a Studio-theme addition. let is_pixel = t.pro || matches!(l.content, LayerContent::Raster(_)); - let name_rect = crate::layer_row_ui::truncated(&painter, &l.name, font, name_color, italic, name_right - x).map(|galley| { + let name_rect = crate::layer_row_ui::truncated(&painter, crate::bidi::visual(&l.name).as_ref(), font, name_color, italic, name_right - x).map(|galley| { let text_pos = pos2(x, rect.center().y - galley.size().y / 2.0 - if is_pixel { 0.0 } else { 7.0 }); let r = Rect::from_min_size(text_pos, galley.size()); painter.galley(text_pos, galley, name_color); @@ -3087,7 +3091,13 @@ fn history(app: &mut PhotocraftApp, ui: &mut egui::Ui) { ui.painter().image(tex, thumb, Rect::from_min_max(egui::Pos2::ZERO, pos2(1.0, 1.0)), Color32::WHITE); } ui.painter().rect_stroke(thumb, 0.0, Stroke::new(1.0, t.separator), StrokeKind::Outside); - ui.painter().text(pos2(thumb.right() + 8.0, rect.center().y), Align2::LEFT_CENTER, &doc.name, egui::FontId::proportional(12.0), t.text); + ui.painter().text( + pos2(thumb.right() + 8.0, rect.center().y), + Align2::LEFT_CENTER, + crate::bidi::visual(&doc.name).as_ref(), + egui::FontId::proportional(12.0), + t.text, + ); ui.painter().line_segment([rect.left_bottom(), rect.right_bottom()], Stroke::new(1.0, t.separator)); } let mut snap_cmd = None; @@ -3302,7 +3312,13 @@ fn snapshot_rows(app: &mut PhotocraftApp, ui: &mut egui::Ui, selected: Option { - ui.painter().text(pos2(thumb.right() + 8.0, rect.center().y), Align2::LEFT_CENTER, &snap.name, egui::FontId::proportional(12.0), t.text); + ui.painter().text( + pos2(thumb.right() + 8.0, rect.center().y), + Align2::LEFT_CENTER, + crate::bidi::visual(&snap.name).as_ref(), + egui::FontId::proportional(12.0), + t.text, + ); } } if resp.double_clicked() { diff --git a/crates/ui-egui/src/preset_panels.rs b/crates/ui-egui/src/preset_panels.rs index 8411c5af63..18814d4869 100644 --- a/crates/ui-egui/src/preset_panels.rs +++ b/crates/ui-egui/src/preset_panels.rs @@ -414,7 +414,7 @@ pub(crate) fn browser( crate::icons::paint(ui, tri, if open { "chevron-down" } else { "chevron-right" }, 10.0, t.text_dim); let fold = Rect::from_center_size(pos2(hr.left() + 25.0, hr.center().y), vec2(14.0, 14.0)); crate::icons::paint(ui, fold, if open { "folder-open" } else { "folder" }, 12.0, t.icon); - ui.painter().text(pos2(hr.left() + 37.0, hr.center().y), Align2::LEFT_CENTER, &g.name, FontId::proportional(11.5), t.text); + ui.painter().text(pos2(hr.left() + 37.0, hr.center().y), Align2::LEFT_CENTER, crate::bidi::visual(&g.name).as_ref(), FontId::proportional(11.5), t.text); if hresp.clicked() { let k = format!("{panel}/{}", g.name); if !st.toggled.remove(&k) { @@ -471,7 +471,7 @@ pub(crate) fn browser( } let tr = Rect::from_min_size(r.min + vec2(24.0, 2.0), vec2(20.0, 20.0)); thumb(ui, tr, gi, ii); - ui.painter().text(pos2(tr.right() + 8.0, r.center().y), Align2::LEFT_CENTER, &it.name, FontId::proportional(11.5), t.text); + ui.painter().text(pos2(tr.right() + 8.0, r.center().y), Align2::LEFT_CENTER, crate::bidi::visual(&it.name).as_ref(), FontId::proportional(11.5), t.text); } else { thumb(ui, r, gi, ii); // Touching cells draw no border of their own: only the selected and the @@ -952,7 +952,7 @@ pub fn shape_picker(app: &mut PhotocraftApp, ui: &mut egui::Ui) { ui.set_width(232.0); egui::ScrollArea::vertical().max_height(320.0).show(ui, |ui| { for g in &groups { - ui.label(egui::RichText::new(&g.name).color(t.text_dim).size(11.0)); + ui.label(egui::RichText::new(crate::bidi::visual(&g.name).as_ref()).color(t.text_dim).size(11.0)); ui.horizontal_wrapped(|ui| { ui.spacing_mut().item_spacing = vec2(3.0, 3.0); for sh in &g.items { @@ -1066,7 +1066,7 @@ pub fn tool_presets_panel(app: &mut PhotocraftApp, ui: &mut egui::Ui) { } let icon = Tool::from_name(tool).map(crate::icons::tool_icon).unwrap_or("settings"); crate::icons::paint(ui, Rect::from_center_size(pos2(r.left() + 14.0, r.center().y), vec2(16.0, 16.0)), icon, 13.0, t.icon); - ui.painter().text(pos2(r.left() + 30.0, r.center().y), Align2::LEFT_CENTER, name, FontId::proportional(11.5), t.text); + ui.painter().text(pos2(r.left() + 30.0, r.center().y), Align2::LEFT_CENTER, crate::bidi::visual(name).as_ref(), FontId::proportional(11.5), t.text); if resp.clicked() { pick = Some(name.clone()); } From e52ef8213de2c716cf35bfda66311eb28701ec19 Mon Sep 17 00:00:00 2001 From: Abdelrahman Date: Thu, 15 Oct 2026 04:02:07 +0300 Subject: [PATCH 36/60] Add Arabic (ar) interface translation catalog --- .../ui-egui/src/i18n/LICENSE-translations.txt | 14 +- crates/ui-egui/src/i18n/ar.tsv | 4184 +++++++++++++++++ crates/ui-egui/src/i18n/live_tests.rs | 2 +- crates/ui-egui/src/i18n/mod.rs | 44 +- crates/ui-egui/src/i18n/system.rs | 3 +- 5 files changed, 4236 insertions(+), 11 deletions(-) create mode 100644 crates/ui-egui/src/i18n/ar.tsv diff --git a/crates/ui-egui/src/i18n/LICENSE-translations.txt b/crates/ui-egui/src/i18n/LICENSE-translations.txt index 93a609f946..7030686b83 100644 --- a/crates/ui-egui/src/i18n/LICENSE-translations.txt +++ b/crates/ui-egui/src/i18n/LICENSE-translations.txt @@ -1,6 +1,5 @@ -PhotoCraft's Korean, German, Spanish, Brazilian Portuguese, Italian, Ukrainian, Dutch, Czech, -Turkish, Hungarian and Serbian UI translation catalogs are licensed under MIT OR Apache-2.0, -at your option. +PhotoCraft's Korean, German, Brazilian Portuguese, Italian, Ukrainian, Dutch, Czech, Turkish, +Hungarian, Serbian and Arabic UI translation catalogs are licensed under MIT OR Apache-2.0, at your option. The full license texts are in ../../../../LICENSE-MIT and ../../../../LICENSE-APACHE. Korean translations: PhotoCraft contributors, original translations of @@ -9,11 +8,6 @@ PhotoCraft's English labels; no proprietary translation resources were used. German translations: PhotoCraft contributors, original translations of PhotoCraft's English labels; no proprietary translation resources were used. -Spanish translations: contributed by @gorevyoneticisi with OpenAI Codex as an AI contributor. -The resulting catalog is licensed under MIT OR Apache-2.0 as stated above; the translations are -original translations of PhotoCraft's English labels, and no proprietary translation resources -were used. - Brazilian Portuguese translations: PhotoCraft contributors, original translations of PhotoCraft's English labels; no proprietary translation resources were used. @@ -37,3 +31,7 @@ PhotoCraft's English labels; no proprietary translation resources were used. Serbian translations: PhotoCraft contributors, original translations of PhotoCraft's English labels; no proprietary translation resources were used. + +Arabic translations: PhotoCraft contributors, original translations of +PhotoCraft's English labels; no proprietary translation resources were used. + diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv new file mode 100644 index 0000000000..50d3791520 --- /dev/null +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -0,0 +1,4184 @@ +# Arabic (ar) catalog. Columns, separated by a TAB: context source translation +# +# context empty a plain UI string; `source` is the English text in the code +# @id a command id (e.g. file.saveAs): wins over the English text for +# that menu item, so one id can read differently from its twin +# @plural `source` is "one|other" (English forms); the translation lists the +# six Arabic forms separated by "|": zero, one, two, few (3-10), +# many (11-99), other (100+). See `plural_arabic` in i18n/mod.rs. +# anything else a disambiguating context passed to `tr_ctx` +# escapes \n \t \ inside a column. `{name}` placeholders must appear in both columns. +# lines starting with # and blank lines are ignored. +# +# Clean-room: every entry was written from the plain meaning of the English label using ordinary +# Arabic image-editing vocabulary (طبقة، فرشاة، تحديد، قناع، مرشح ...). No proprietary +# localisation resource, string table or product UI was consulted or copied; add entries the same +# way. Product and technology names (PhotoCraft, ArtCraft, OpenType, CMYK, Lab ...) stay in Latin +# letters; the trailing … of dialog commands is kept. +# Arabic is right-to-left (see `dir_for_code`); keyboard shortcut and placeholder text such as +# {key} or Ctrl+Z stays in Latin letters. + + Rows الصفوف + Number العدد + Margin الهامش + Top: الأعلى: + Left: اليسار: + Bottom: الأسفل: + Right: اليمين: + Target: الهدف: + Selected Artboards لوحات العمل المحددة + Center Columns توسيط الأعمدة + Clear Existing Guides مسح خطوط التوجيه الحالية + Invalid guide layout تخطيط خطوط التوجيه غير صالح + Leave empty for automatic size اتركه فارغًا للحجم التلقائي + 5 Columns, 3 Rows 5 أعمدة، 3 صفوف + 8 Columns 8 أعمدة + 12 Columns 12 عمودًا + File ملف + Edit تحرير + Image صورة + Layer طبقة + Type نص + Select تحديد + Selected المحدد + Scope النطاق + Top Left أعلى اليسار + Top Right أعلى اليمين + Bottom Left أسفل اليسار + Bottom Right أسفل اليمين + Filter مرشح + View عرض + Window نافذة + Help مساعدة + (coming soon) (قريبًا) + New… جديد… + Open… فتح… + Open As… فتح باسم… + Open EXR Parts… فتح أجزاء EXR… + Add beauty precomp from the AOVs إضافة تركيب مسبق (beauty) من AOVs + Both كلاهما + Left اليسار + Right اليمين + Open Recent فتح ملف حديث + Clear Recent Files مسح الملفات الأخيرة + Remove from Recent إزالة من الأخيرة + Remove {name} from Recent إزالة {name} من الأخيرة + Close إغلاق + Minimize تصغير + Maximize تكبير + Restore استعادة + Close All إغلاق الكل + Close Others إغلاق الآخرين + Save حفظ + Save As… حفظ باسم… + Save a Copy… حفظ نسخة… + {name} can't keep everything in this document لا يستطيع {name} الاحتفاظ بكل شيء في هذا المستند + Choose a format that keeps it, such as Photoshop (PSD), or save a copy. اختر صيغة تحتفظ بذلك، مثل Photoshop (PSD)، أو احفظ نسخة. + Revert رجوع إلى المحفوظ + Export تصدير + Quick Export as PNG تصدير سريع بصيغة PNG + Export As… تصدير باسم… + Export Preferences… تفضيلات التصدير… + Save for Web (Legacy)… حفظ للويب (قديم)… + Artboards to Files… لوحات العمل إلى ملفات… + Artboards to PDF… لوحات العمل إلى PDF… + Layers to Files… الطبقات إلى ملفات… + Layer Comps to Files… تركيبات الطبقات إلى ملفات… + Color Lookup Tables… جداول بحث الألوان… + Data Sets as Files… مجموعات البيانات كملفات… + Paths to Illustrator… المسارات إلى Illustrator… + Render Video… تصيير الفيديو… + Generate توليد + Image Assets أصول الصور + Place Embedded… وضع مضمّن… + Place Linked… وضع مرتبط… + Package… تجميع الحزمة… + Automate الأتمتة + Batch… دفعة… + Create Droplet… إنشاء Droplet… + Crop and Straighten Photos اقتصاص الصور وتقويمها + Contact Sheet II… ورقة الاتصال II… + Conditional Mode Change… تغيير الوضع الشرطي… + Fit Image… ملاءمة الصورة… + Lens Correction… تصحيح العدسة… + Merge to HDR Pro… الدمج إلى HDR Pro… + Photomerge… Photomerge… + Scripts البرامج النصية + Image Processor… معالج الصور… + Delete All Empty Layers حذف كل الطبقات الفارغة + Flatten All Layer Effects تسطيح كل تأثيرات الطبقات + Flatten All Masks تسطيح كل الأقنعة + Script Events Manager… مدير أحداث البرامج النصية… + Import استيراد + Browse… استعراض… + Source Files ملفات المصدر + Use: استخدام: + Files الملفات + Add Open Files إضافة الملفات المفتوحة + Sort By Name فرز حسب الاسم + Attempt to Automatically Align Source Images محاولة محاذاة صور المصدر تلقائيًا + Create Smart Object after Loading Layers إنشاء كائن ذكي بعد تحميل الطبقات + Reveal in Finder إظهار في Finder + Show in Explorer إظهار في Explorer + Show in Folder إظهار في المجلد + File Info… معلومات الملف… + Print… طباعة… + Print One Copy طباعة نسخة واحدة + Exit خروج + Undo تراجع + Redo إعادة + Toggle Last State تبديل الحالة الأخيرة + Fade… تلاشٍ… + Cut قص + Copy نسخ + Copy Merged نسخ مدمج + Paste لصق + Paste Special لصق خاص + Paste in Place لصق في المكان + Paste Into لصق داخل + Paste Outside لصق خارج + Paste Lorem Ipsum لصق Lorem Ipsum + Clear مسح + Search… بحث… + Check Spelling… التدقيق الإملائي… + Find and Replace Text… بحث واستبدال النص… + Fill… تعبئة… + Stroke… حد… + Content-Aware Fill… تعبئة مراعية للمحتوى… + Delete and Fill Selection حذف التحديد وتعبئته + Content-Aware Scale تحجيم مراعٍ للمحتوى + Puppet Warp التواء الدمية + Perspective Warp التواء المنظور + Free Transform تحويل حر + Transform تحويل + Again مرة أخرى + Scale تحجيم + Rotate تدوير + Skew ميل + Set horizontal skew ضبط الميل الأفقي + Set vertical skew ضبط الميل العمودي + Distort تشويه + Perspective منظور + Warp التواء + Flip Horizontal قلب أفقي + Flip Vertical قلب عمودي + Rotate 180° تدوير 180° + Rotate 90° Clockwise تدوير 90° باتجاه عقارب الساعة + Rotate 90° Counter Clockwise تدوير 90° عكس اتجاه عقارب الساعة + 180° 180° + 90° Clockwise 90° باتجاه عقارب الساعة + 90° Counter Clockwise 90° عكس اتجاه عقارب الساعة + Arbitrary… اعتباطي… + Auto-Align Layers… محاذاة الطبقات تلقائيًا… + Auto-Blend Layers… مزج الطبقات تلقائيًا… + Define Brush Preset… تعريف إعداد فرشاة مسبق… + Define Pattern… تعريف نمط… + Define Custom Shape… تعريف شكل مخصص… + Purge تفريغ + Clipboard الحافظة + Histories السجلات + Video Cache ذاكرة الفيديو المؤقتة + All الكل + Presets الإعدادات المسبقة + Preset Manager… مدير الإعدادات المسبقة… + Migrate Presets ترحيل الإعدادات المسبقة + Export/Import Presets… تصدير/استيراد الإعدادات المسبقة… + Color Settings… إعدادات الألوان… + Assign Profile… تعيين ملف تعريف… + Convert to Profile… تحويل إلى ملف تعريف… + Keyboard Shortcuts… اختصارات لوحة المفاتيح… + Menus… القوائم… + Toolbar… شريط الأدوات… + Preferences التفضيلات + General… عام… + Interface… الواجهة… + Workspace… مساحة العمل… + Tools… الأدوات… + History Log… سجل التاريخ… + File Handling… التعامل مع الملفات… + Export… تصدير… + Performance… الأداء… + Scratch Disks… أقراص التخزين المؤقت… + Cursors… المؤشرات… + Transparency & Gamut… الشفافية والنطاق اللوني… + Units & Rulers… الوحدات والمساطر… + Guides, Grid & Slices… خطوط التوجيه والشبكة والشرائح… + Plug-ins… الإضافات… + Type… النص… + Enhanced Controls… عناصر التحكم المحسّنة… + Camera Raw… Camera Raw… + Raw Defaults… الإعدادات الافتراضية لـ Raw… + Integrations… التكاملات… + AI Integrations… تكاملات الذكاء الاصطناعي… + Install Plug-in… تثبيت إضافة… + Language Options خيارات اللغة + Settings… الإعدادات… + Mode الوضع + Bitmap نقطية + Grayscale تدرج رمادي + Duotone ثنائي اللون + Indexed Color ألوان مفهرسة + RGB Color ألوان RGB + CMYK Color ألوان CMYK + Lab Color ألوان Lab + Multichannel متعدد القنوات + 8 Bits/Channel 8 بت/قناة + 16 Bits/Channel 16 بت/قناة + 32 Bits/Channel 32 بت/قناة + Color Table… جدول الألوان… + Bitmap… نقطية… + Duotone… ثنائي اللون… + Indexed Color… ألوان مفهرسة… + Adjustments التعديلات + Brightness/Contrast… السطوع/التباين… + Levels… المستويات… + Curves… المنحنيات… + Exposure… التعريض… + Vibrance… الحيوية… + Hue/Saturation… تدرج اللون/التشبع… + Color Balance… توازن الألوان… + Black & White… أبيض وأسود… + Photo Filter… مرشح الصورة… + Channel Mixer… مازج القنوات… + Color Lookup… بحث الألوان… + Invert عكس + Posterize… تقليل درجات اللون… + Threshold… العتبة… + Gradient Map… خريطة التدرج… + Selective Color… لون انتقائي… + Shadows/Highlights… الظلال/الإضاءات العالية… + HDR Toning… تلوين HDR… + Desaturate إزالة التشبع + Match Color… مطابقة اللون… + Replace Color… استبدال اللون… + Equalize معادلة + Auto Tone نغمة تلقائية + Auto Contrast تباين تلقائي + Auto Color لون تلقائي + Image Size… حجم الصورة… + Canvas Size… حجم لوحة الرسم… + Image Rotation تدوير الصورة + Flip Canvas Horizontal قلب لوحة الرسم أفقيًا + Flip Canvas Vertical قلب لوحة الرسم عموديًا + Crop اقتصاص + Trim… تشذيب… + Reveal All إظهار الكل + Duplicate… تكرار… + Apply Image… تطبيق الصورة… + Calculations… العمليات الحسابية… + Variables المتغيرات + Define… تعريف… + Data Sets… مجموعات البيانات… + Apply Data Set… تطبيق مجموعة بيانات… + Variable Data Sets… مجموعات بيانات المتغيرات… + Trap… Trap… + Analysis التحليل + Set Measurement Scale… ضبط مقياس القياس… + Select Data Points… تحديد نقاط البيانات… + Record Measurements تسجيل القياسات + Ruler Tool أداة المسطرة + Count Tool أداة العد + Place Scale Marker… وضع علامة المقياس… + Custom… مخصص… + New جديد + Layer… طبقة… + Group… مجموعة… + Group from Layers… مجموعة من الطبقات… + Artboard… لوحة عمل… + Artboard from Group… لوحة عمل من مجموعة… + Artboard from Layers… لوحة عمل من الطبقات… + Layer via Copy طبقة عبر النسخ + Layer via Cut طبقة عبر القص + Layer From Background… طبقة من الخلفية… + Layer from Background… طبقة من الخلفية… + Background From Layer خلفية من طبقة + New Shape Layer طبقة شكل جديدة + New Type Layer طبقة نص جديدة + New Fill Layer طبقة تعبئة جديدة + New Adjustment Layer طبقة ضبط جديدة + New Layer Based Slice شريحة جديدة مبنية على طبقة + New Smart Object via Copy كائن ذكي جديد عبر النسخ + New Blank Video Layer طبقة فيديو فارغة جديدة + New Video Layer from File… طبقة فيديو جديدة من ملف… + Duplicate Layer… تكرار الطبقة… + Delete Layer حذف الطبقة + Delete حذف + Rename Layer إعادة تسمية الطبقة + Create Layer إنشاء طبقة + Layer Style نمط الطبقة + Blending Options… خيارات المزج… + Bevel & Emboss… الشطف والنقش… + Inner Shadow… ظل داخلي… + Inner Glow… توهج داخلي… + Satin… ساتان… + Color Overlay… تراكب لوني… + Gradient Overlay… تراكب تدرجي… + Pattern Overlay… تراكب نمطي… + Outer Glow… توهج خارجي… + Drop Shadow… ظل مسقط… + Copy Layer Style نسخ نمط الطبقة + Paste Layer Style لصق نمط الطبقة + Clear Layer Style مسح نمط الطبقة + Global Light… الضوء العام… + Hide All Effects إخفاء كل التأثيرات + Scale Effects… تحجيم التأثيرات… + Smart Filter مرشح ذكي + Convert for Smart Filters تحويل للمرشحات الذكية + Clear Smart Filters مسح المرشحات الذكية + Disable Smart Filters تعطيل المرشحات الذكية + Delete Filter Mask حذف قناع المرشح + Disable Filter Mask تعطيل قناع المرشح + Solid Color… لون ثابت… + Gradient… تدرج… + Pattern… نمط… + Layer Mask قناع الطبقة + Vector Mask قناع متجهي + Reveal Selection إظهار التحديد + Hide Selection إخفاء التحديد + Hide All إخفاء الكل + From Transparency من الشفافية + Delete Vector Mask حذف القناع المتجهي + Enable Layer Mask تفعيل قناع الطبقة + Disable Layer Mask تعطيل قناع الطبقة + Enable Vector Mask تفعيل القناع المتجهي + Link Layer Mask ربط قناع الطبقة + Unlink Layer Mask فك ربط قناع الطبقة + Link Vector Mask ربط القناع المتجهي + Add Vector Mask إضافة قناع متجهي + Vector Mask from Current Path قناع متجهي من المسار الحالي + Create Clipping Mask إنشاء قناع اقتطاع + Release Clipping Mask تحرير قناع الاقتطاع + Smart Objects الكائنات الذكية + Smart Object كائن ذكي + Convert to Smart Object تحويل إلى كائن ذكي + Convert to Embedded تحويل إلى مضمّن + Convert to Layers تحويل إلى طبقات + Convert to Linked… تحويل إلى مرتبط… + Edit Contents تحرير المحتويات + Replace Contents… استبدال المحتويات… + Relink to File… إعادة الربط بملف… + Export Contents… تصدير المحتويات… + Update Modified Content تحديث المحتوى المعدّل + Update All Modified Content تحديث كل المحتوى المعدّل + Stack Mode وضع التكديس + Choose Stack Mode: اختر وضع التكديس: + Entropy الإنتروبيا + Kurtosis التفرطح + Maximum الحد الأقصى + Mean المتوسط + Median الوسيط + Minimum الحد الأدنى + Range المدى + Skewness الالتواء الإحصائي + Standard Deviation الانحراف المعياري + Summation المجموع + Variance التباين الإحصائي + Video Layers طبقات الفيديو + Interpret Footage… تفسير اللقطات… + Replace Footage… استبدال اللقطات… + Reload Frame إعادة تحميل الإطار + Show Altered Video إظهار الفيديو المعدّل + Restore Frame استعادة الإطار + Restore All Frames استعادة كل الإطارات + Insert Blank Frame إدراج إطار فارغ + Delete Frame حذف الإطار + Duplicate Frame تكرار الإطار + Frame from Layers إطار من الطبقات + Video Frames to Layers… إطارات الفيديو إلى طبقات… + Rasterize تحويل إلى بكسلات + Rasterize Type تحويل النص إلى بكسلات + Rasterize Type Layer تحويل طبقة النص إلى بكسلات + Rasterize Shape تحويل الشكل إلى بكسلات + New Guide Layout… تخطيط خطوط توجيه جديد… + New Guides From Shape خطوط توجيه جديدة من الشكل + Lock Layers… قفل الطبقات… + Link Layers ربط الطبقات + Select Linked Layers تحديد الطبقات المرتبطة + Merge Layers دمج الطبقات + Merge Down دمج للأسفل + Merge Group دمج المجموعة + Merge Visible دمج المرئي + Stamp Visible ختم المرئي + Stamp Down ختم للأسفل + Flatten Image تسطيح الصورة + Matting تنقية الحواف + Color Decontaminate… إزالة تلوث الألوان… + Remove Black Matte إزالة الحافة السوداء + Remove White Matte إزالة الحافة البيضاء + Defringe… إزالة الهالة… + Group Layers تجميع الطبقات + Ungroup Layers فك تجميع الطبقات + Hide Layers إخفاء الطبقات + Arrange ترتيب + Bring to Front إحضار إلى المقدمة + Bring Forward إحضار للأمام + Send Backward إرسال للخلف + Send to Back إرسال إلى الخلفية + Reverse عكس + Combine Shapes دمج الأشكال + Unite Shapes توحيد الأشكال + Subtract Front Shape طرح الشكل الأمامي + Intersect Shape Areas تقاطع مناطق الأشكال + Exclude Overlapping Shapes استبعاد الأشكال المتداخلة + Merge Shape Components دمج مكونات الشكل + Align محاذاة + Top Edges الحواف العلوية + Vertical Centers المراكز العمودية + Bottom Edges الحواف السفلية + Left Edges الحواف اليسرى + Horizontal Centers المراكز الأفقية + Right Edges الحواف اليمنى + Distribute توزيع + Vertically عموديًا + Horizontally أفقيًا + Layer Edges حواف الطبقة + Isolate Layers عزل الطبقات + Layer Content Options… خيارات محتوى الطبقة… + Fill Content محتوى التعبئة + Deselect Layers إلغاء تحديد الطبقات + Find Layers بحث عن الطبقات + Layer Comps تركيبات الطبقات + Layers الطبقات + All Layers كل الطبقات + Hidden Layers الطبقات المخفية + Mask All Objects قناع لكل الكائنات + Subject الموضوع + Sky السماء + Panels اللوحات + Character Panel لوحة الحروف + Paragraph Panel لوحة الفقرة + Character Styles Panel لوحة أنماط الحروف + Paragraph Styles Panel لوحة أنماط الفقرات + Glyphs Panel لوحة الأشكال الحرفية + Anti-Alias تنعيم الحواف + Sharp حاد + Crisp واضح + Strong قوي + Smooth ناعم + Windows LCD Windows LCD + Windows Windows + Orientation الاتجاه + Horizontal أفقي + Vertical عمودي + OpenType OpenType + Standard Ligatures الحروف المركبة القياسية + Contextual Alternates البدائل السياقية + Discretionary Ligatures الحروف المركبة الاختيارية + Swash حروف مزخرفة (Swash) + Oldstyle أرقام قديمة النمط + Stylistic Alternates البدائل الأسلوبية + Titling Alternates بدائل العناوين + Ornaments الزخارف + Ordinals الأعداد الترتيبية + Fractions الكسور + Create Work Path إنشاء مسار عمل + Convert to Shape تحويل إلى شكل + Warp Text… التواء النص… + Convert to Point Text تحويل إلى نص نقطي + Convert to Paragraph Text تحويل إلى نص فقرة + Default Features الميزات الافتراضية + East Asian Features ميزات شرق آسيا + Middle Eastern Features ميزات الشرق الأوسط + Middle Eastern & South Asian Composer محرك التنسيق للشرق الأوسط وجنوب آسيا + Update All Text Layers تحديث كل طبقات النص + Replace All Missing Fonts استبدال كل الخطوط المفقودة + Resolve Missing Fonts… حل مشكلة الخطوط المفقودة… + Font Preview Size حجم معاينة الخط + None بلا + Small صغير + Medium متوسط + Large كبير + Extra Large كبير جدًا + Huge ضخم + Load Default Type Styles تحميل أنماط النص الافتراضية + Save Default Type Styles حفظ أنماط النص الافتراضية + Deselect إلغاء التحديد + Reselect إعادة التحديد + Inverse عكس + Inverse Selection عكس التحديد + Similar المشابه + Color Range… نطاق اللون… + Focus Area… منطقة التركيز… + Select and Mask… تحديد وقناع… + Smart Radius نصف قطر ذكي + Shift Edge إزاحة الحافة + Decontaminate إزالة التلوث + Output الخرج + Refine Edge تحسين الحافة + Modify تعديل + Border… إطار… + Smooth… تنعيم… + Expand… توسيع… + Contract… تقليص… + Feather… تدريج الحواف… + Grow تنمية + Transform Selection تحويل التحديد + Edit in Quick Mask Mode تحرير في وضع القناع السريع + Load Selection… تحميل التحديد… + Save Selection… حفظ التحديد… + Match All مطابقة الكل + Last Filter المرشح الأخير + Filter Gallery… معرض المرشحات… + Adaptive Wide Angle… زاوية واسعة تكيفية… + Camera Raw Filter… مرشح Camera Raw… + Liquify… تسييل… + Vanishing Point… نقطة التلاشي… + Blur تمويه + Blur Gallery معرض التمويه + Field Blur… تمويه الحقل… + No pin selected لم يتم تحديد دبوس + Click the image to add a pin; drag a pin to move it, or its ring to change its blur. Delete removes the selected pin. انقر على الصورة لإضافة دبوس؛ اسحب الدبوس لنقله، أو حلقته لتغيير تمويهه. يؤدي Delete إلى إزالة الدبوس المحدد. + Iris Blur… تمويه القزحية… + Tilt-Shift… إمالة وإزاحة… + Path Blur… تمويه المسار… + Spin Blur… تمويه اللف… + Blur More مزيد من التمويه + Box Blur… تمويه الصندوق… + Gaussian Blur… تمويه غاوسي… + Lens Blur… تمويه العدسة… + Motion Blur… تمويه الحركة… + Radial Blur… تمويه شعاعي… + Shape Blur… تمويه الشكل… + Smart Blur… تمويه ذكي… + Surface Blur… تمويه السطح… + Average المتوسط + Displace… إزاحة… + Pinch… قرص… + Polar Coordinates… الإحداثيات القطبية… + Ripple… تموج… + Shear… قص مائل… + Spherize… تكوير… + Twirl… دوامة… + Wave… موجة… + ZigZag… متعرج… + Noise الضوضاء + Add Noise… إضافة ضوضاء… + Despeckle إزالة البقع + Dust & Scratches… الغبار والخدوش… + Median… الوسيط… + Reduce Noise… تقليل الضوضاء… + Pixelate تبكسل + Color Halftone… نصف نغمة ملونة… + Crystallize… تبلور… + Facet أوجه + Fragment تجزئة + Mezzotint… ميزوتينت… + Mosaic… فسيفساء… + Pointillize… تنقيط… + Render تصيير + Clouds غيوم + Difference Clouds غيوم الفرق + Fibers… ألياف… + Flame… لهب… + Lens Flare… وهج العدسة… + Lighting Effects… مؤثرات الإضاءة… + Relight… إعادة الإضاءة… + Picture Frame… إطار الصورة… + Tree… شجرة… + Sharpen زيادة الحدة + Sharpen Edges زيادة حدة الحواف + Sharpen More مزيد من الحدة + Smart Sharpen… حدة ذكية… + Unsharp Mask… قناع الحدة… + High Pass… تمرير عالٍ… + Stylize تنميط + Diffuse… نشر… + Emboss… نقش… + Extrude… بثق… + Find Edges إيجاد الحواف + Oil Paint… طلاء زيتي… + Solarize تشميس + Tiles… بلاطات… + Trace Contour… تتبع الكنتور… + Wind… رياح… + Video الفيديو + De-Interlace… إزالة التشابك… + NTSC Colors ألوان NTSC + Other أخرى + Maximum… الحد الأقصى… + Minimum… الحد الأدنى… + Offset… الإزاحة… + Plug-ins الإضافات + Proof Setup إعداد البروفة + Proof Colors ألوان البروفة + Gamut Warning تحذير النطاق اللوني + Working CMYK CMYK العمل + Working Cyan Plate صفيحة السماوي العاملة + Working Magenta Plate صفيحة الماجنتا العاملة + Working Yellow Plate صفيحة الأصفر العاملة + Working Black Plate صفيحة الأسود العاملة + Working CMY Plate صفيحة CMY العاملة + Legacy Macintosh RGB RGB لـ Macintosh القديم + Internet Standard RGB RGB القياسي للإنترنت + Monitor RGB RGB الشاشة + Color Blindness — Protanopia-type عمى الألوان — نوع Protanopia + Color Blindness — Deuteranopia-type عمى الألوان — نوع Deuteranopia + Zoom In تكبير + Zoom Out تصغير + Fit on Screen ملاءمة الشاشة + Fit Layer(s) on Screen ملاءمة الطبقة (الطبقات) للشاشة + Fit Artboard on Screen ملاءمة لوحة العمل للشاشة + 100% 100% + 200% 200% + 75% 75% + 80% 80% + 85% 85% + 90% 90% + 95% 95% + 125% 125% + 150% 150% + 175% 175% + 250% 250% + 300% 300% + Print Size حجم الطباعة + Pixel Aspect Ratio نسبة أبعاد البكسل + Pixel Aspect Ratio Correction تصحيح نسبة أبعاد البكسل + Custom Pixel Aspect Ratio… نسبة أبعاد بكسل مخصصة… + Square مربع + D1/DV NTSC (0.91) D1/DV NTSC (0.91) + D1/DV NTSC Widescreen (1.21) D1/DV NTSC عريض (1.21) + D1/DV PAL (1.09) D1/DV PAL (1.09) + D1/DV PAL Widescreen (1.46) D1/DV PAL عريض (1.46) + Anamorphic 2:1 (2) أنامورفيك 2:1 (2) + HDV 1080/DVCPRO HD 720 (1.33) HDV 1080/DVCPRO HD 720 (1.33) + DVCPRO HD 1080/HDV 1080 (1.5) DVCPRO HD 1080/HDV 1080 (1.5) + 32-bit Preview Options… خيارات معاينة 32 بت… + Screen Mode وضع الشاشة + Standard Screen Mode وضع الشاشة القياسي + Full Screen Mode With Menu Bar وضع ملء الشاشة مع شريط القوائم + Full Screen Mode وضع ملء الشاشة + Cycle Screen Mode تدوير وضع الشاشة + Show إظهار + Extras العناصر الإضافية + Selection Edges حواف التحديد + Target Path المسار الهدف + Current Path المسار الحالي + Grid الشبكة + Guides خطوط التوجيه + Canvas Guides خطوط توجيه لوحة الرسم + Artboard Guides خطوط توجيه لوحة العمل + Count العدّ + Smart Guides خطوط التوجيه الذكية + Slices الشرائح + Notes الملاحظات + Pixel Grid شبكة البكسلات + Pixel Art فن البكسل + Pixel Art Preview معاينة فن البكسل + Pattern Preview معاينة النمط + Brush Preview معاينة الفرشاة + Mesh الشبكة الخيطية + Edit Pins تحرير الدبابيس + Document Bounds حدود المستند + Show Extras Options… خيارات إظهار العناصر الإضافية… + Rulers المساطر + Snap المحاذاة التلقائية + Snap To المحاذاة إلى + Lock Guides قفل خطوط التوجيه + Clear Guides مسح خطوط التوجيه + Clear Selected Artboard Guides مسح خطوط توجيه لوحة العمل المحددة + Clear Canvas Guides مسح خطوط توجيه لوحة الرسم + New Guide… خط توجيه جديد… + Lock Slices قفل الشرائح + Clear Slices مسح الشرائح + Match Zoom مطابقة التكبير + Match Location مطابقة الموقع + Match Rotation مطابقة التدوير + Cascade تتالي + Tile تبليط + Tile All Horizontally تبليط الكل أفقيًا + Tile All Vertically تبليط الكل عموديًا + 2-up Horizontal اثنان أفقيًا + 2-up Vertical اثنان عموديًا + 3-up Horizontal ثلاثة أفقيًا + 3-up Stacked ثلاثة متراصة + 3-up Vertical ثلاثة عموديًا + 4-up أربعة + 6-up ستة + Consolidate All to Tabs دمج الكل في علامات تبويب + Float in Window تعويم في نافذة + Float All in Windows تعويم الكل في نوافذ + New Window for Document نافذة جديدة للمستند + Workspace مساحة العمل + Essentials الأساسيات + Graphic and Web الرسوميات والويب + Painting الرسم + Photography التصوير الفوتوغرافي + New Workspace… مساحة عمل جديدة… + Delete Workspace… حذف مساحة العمل… + Reset Workspace إعادة ضبط مساحة العمل + Reset Tool إعادة ضبط الأداة + Reset All Tools إعادة ضبط كل الأدوات + Reset all tools to their default settings? هل تريد إعادة ضبط كل الأدوات إلى إعداداتها الافتراضية؟ + Lock Workspace قفل مساحة العمل + Theme السمة + Pro Theme سمة Pro + Pro Medium Gray Theme سمة Pro الرمادية المتوسطة + Pro Light Gray Theme سمة Pro الرمادية الفاتحة + Pro Light Theme سمة Pro الفاتحة + Studio Theme سمة Studio + Studio Light Theme سمة Studio الفاتحة + Adwaita Light Theme سمة Adwaita الفاتحة + Adwaita Dark Theme سمة Adwaita الداكنة + Classic Theme السمة الكلاسيكية + Solarized dark Solarized داكن + Solarized Dark Theme سمة Solarized الداكنة + Breeze dark Breeze داكن + Breeze Dark Theme سمة Breeze الداكنة + Breeze light Breeze فاتح + Breeze Light Theme سمة Breeze الفاتحة + Soft dark ناعم داكن + Soft Dark Theme السمة الناعمة الداكنة + Soft light ناعم فاتح + Soft Light Theme السمة الناعمة الفاتحة + Next Theme السمة التالية + Actions الإجراءات + Brush Settings إعدادات الفرشاة + Brushes الفرش + Channels القنوات + Character الحروف + Character Styles أنماط الحروف + Clone Source مصدر الاستنساخ + Color اللون + Glyphs الأشكال الحرفية + Gradients التدرجات + Histogram المدرج التكراري + History السجل + Info معلومات + Measurement Log سجل القياس + Modifier Keys المفاتيح المساعدة + Navigator المتنقل + Options الخيارات + Paragraph الفقرة + Paragraph Styles أنماط الفقرات + Paths المسارات + Patterns الأنماط + Properties الخصائص + Shapes الأشكال + Styles الأنماط + Swatches عينات الألوان + Timeline المخطط الزمني + Tool Presets إعدادات الأدوات المسبقة + Tools الأدوات + About PhotoCraft حول PhotoCraft + PhotoCraft Website موقع PhotoCraft + PhotoCraft on GitHub PhotoCraft على GitHub + ArtCraft Website موقع ArtCraft + Join the ArtCraft Discord… الانضمام إلى ArtCraft على Discord… + Report an Issue… الإبلاغ عن مشكلة… + WIA Support… دعم WIA… + Apply تطبيق + HSB/HSL HSB/HSL + Invert… عكس… + Load Files into Stack… تحميل الملفات في كومة… + Motion الحركة + Notes… الملاحظات… + Other… أخرى… + Remove Warp Split إزالة تقسيم الالتواء + Shape الشكل + Split Warp Crosswise تقسيم الالتواء بشكل متقاطع + Split Warp Horizontally تقسيم الالتواء أفقيًا + Split Warp Vertically تقسيم الالتواء عموديًا + Statistics… الإحصائيات… + Refine Strokes تحسين الضربات +@plural {n} item|{n} items {n} عنصر|{n} عنصر|{n} عنصران|{n} عناصر|{n} عنصرًا|{n} عنصر + Auto تلقائي + (print to the printer) (الطباعة على الطابعة) + + Add variable + إضافة متغير + 30 frames @ 30 fps 30 إطارًا @ 30 إطار/ث + 3D LUT File ملف 3D LUT + Absolute مطلق + Absolute Colorimetric قياس لوني مطلق + Action الإجراء + Adaptive تكيفي + Adaptive Wide Angle isn't open زاوية واسعة تكيفية غير مفتوحة + Add إضافة + Add Layer Mask إضافة قناع طبقة + Add Mask to Selection إضافة القناع إلى التحديد + Subtract Mask from Selection طرح القناع من التحديد + Intersect Mask with Selection تقاطع القناع مع التحديد + Add Stop إضافة نقطة توقف + Add a layer style إضافة نمط طبقة + Add a mask (from the selection; {key} inverts) إضافة قناع (من التحديد؛ {key} يعكسه) + Add an adjustment إضافة تعديل + Add disk إضافة قرص + Add space after paragraph إضافة مسافة بعد الفقرة + Add space before paragraph إضافة مسافة قبل الفقرة + Add to Sample إضافة إلى العينة + Add to selection ({key}) إضافة إلى التحديد ({key}) + Adjust for Zoom ضبط حسب التكبير + Adjustment visible التعديل مرئي + Adobe RGB (1998) compatible متوافق مع Adobe RGB (1998) + Align and Distribute المحاذاة والتوزيع + Align and distribute المحاذاة والتوزيع + Align horizontal centers محاذاة المراكز الأفقية + Align left edges محاذاة الحواف اليسرى + Align right edges محاذاة الحواف اليمنى + Aligned متحاذٍ + All Caps أحرف كبيرة + All Slices كل الشرائح + All User Slices كل شرائح المستخدم + All shortcuts reset to PhotoCraft defaults. تمت إعادة ضبط كل الاختصارات إلى إعدادات PhotoCraft الافتراضية. + Alt Alt + Always use pressure for opacity استخدام الضغط للتعتيم دائمًا + Always use pressure for size استخدام الضغط للحجم دائمًا + Amount المقدار + Anchor: الارتكاز: + Angle الزاوية + Angle Gradient تدرج زاوي + Angle Jitter تذبذب الزاوية + Answer the unsaved-changes prompt first أجب عن تنبيه التغييرات غير المحفوظة أولًا + Anti-alias تنعيم الحواف + Appearance المظهر + Appearance (Layer Style) المظهر (نمط الطبقة) + Apply Layer Mask تطبيق قناع الطبقة + Apply Per Tip تطبيق لكل طرف + Apply next selected layer comp تطبيق تركيب الطبقات المحدد التالي + Apply previous selected layer comp تطبيق تركيب الطبقات المحدد السابق + Artboard لوحة عمل + Artboard Background Color لون خلفية لوحة العمل + Assign working space تعيين فضاء العمل + Author: المؤلف: + Auto Hide إخفاء تلقائي + Auto-Select: تحديد تلقائي: + Automatically level near-horizontal line segments تسوية المقاطع الخطية شبه الأفقية تلقائيًا + Automatically straighten and level تقويم وتسوية تلقائيان + Automatically straighten near-vertical line segments تقويم المقاطع الخطية شبه العمودية تلقائيًا + Background الخلفية + Background Color لون الخلفية + Background Contents محتويات الخلفية + Custom background color لون خلفية مخصص + Balance التوازن + Baseline خط الأساس + Baseline shift إزاحة خط الأساس + Basic أساسي + Before (Y) قبل (Y) + Begin recording بدء التسجيل + Bend: الانحناء: + Bicubic ثنائي التكعيب + Bicubic (smooth gradients) ثنائي التكعيب (تدرجات ناعمة) + Automatic تلقائي + Bicubic Smoother (enlargement) ثنائي التكعيب أنعم (للتكبير) + Bicubic Sharper (reduction) ثنائي التكعيب أحد (للتصغير) + Bilinear ثنائي الخطية + Black أسود + Black & White أبيض وأسود + Black Point Compensation تعويض نقطة الأسود + Black, White أسود، أبيض + Blacks السود + Blending المزج + Blending Options خيارات المزج + Blue أزرق + Blue, Red, Yellow أزرق، أحمر، أصفر + Both Axes المحوران معًا + Bottom الأسفل + Brightness السطوع + Brightness Jitter تذبذب السطوع + Brightness/Contrast السطوع/التباين + Bring the selected pin forward إحضار الدبوس المحدد للأمام + Brush Preset picker منتقي إعدادات الفرشاة المسبقة + Brush Reconstruct Options خيارات إعادة بناء الفرشاة + Brush Tool Options خيارات أداة الفرشاة + Cache Level: مستوى الذاكرة المؤقتة: + Camera Raw isn't open Camera Raw غير مفتوح + Cancel إلغاء + Cancel (Esc) إلغاء (Esc) + Cancel any current edits (Esc) إلغاء أي تعديلات حالية (Esc) + Cancel current crop operation (Esc) إلغاء عملية الاقتصاص الحالية (Esc) + Cancel transform (Esc) إلغاء التحويل (Esc) + Cancel warp (Esc) إلغاء الالتواء (Esc) + Canvas لوحة الرسم + Canvas extension color: لون امتداد لوحة الرسم: + Capture التقاط + Capture the visibility, position and style of every layer with + below, then switch between versions. التقط ظهور كل طبقة وموضعها ونمطها بالزر + أدناه، ثم بدّل بين النسخ. + Catch-up on Stroke End اللحاق عند نهاية الضربة + Center المنتصف + Center Crop Marks علامات اقتصاص المنتصف + Center text توسيط النص + Change تغيير + Change All تغيير الكل + Change Screen Mode (F) تغيير وضع الشاشة (F) + Change To: التغيير إلى: + Channel Mixer مازج القنوات + Channel: القناة: + Check All Layers فحص كل الطبقات + Check Spelling التدقيق الإملائي + Clarity الوضوح + Clear All مسح الكل + Clear Override مسح التجاوز + Clear Samples مسح العينات + Click sets foreground · right-click sets background النقر يضبط المقدمة · النقر بالزر الأيمن يضبط الخلفية + Click the first point or press {key} to close · Esc cancels انقر على النقطة الأولى أو اضغط {key} للإغلاق · Esc للإلغاء + Click to add a point · drag off or {key}-click or Delete to remove انقر لإضافة نقطة · اسحبها بعيدًا أو {key}+نقر أو Delete للإزالة + Click to apply, {key}-click to clear overrides, double-click for Style Options انقر للتطبيق، {key}+نقر لمسح التجاوزات، نقر مزدوج لخيارات النمط + Click to edit the gradient انقر لتحرير التدرج + Click to restore the current colour انقر لاستعادة اللون الحالي + Click to zoom in · {key}-click to zoom out · drag right/left to zoom in/out انقر للتكبير · {key}+نقر للتصغير · اسحب يمينًا/يسارًا للتكبير/التصغير + Click with the Note tool to add a note. انقر بأداة الملاحظة لإضافة ملاحظة. + Click: corner · Drag: smooth · Click first point: close · {key} finish · Esc cancel نقر: زاوية · سحب: ناعم · نقر على النقطة الأولى: إغلاق · {key} إنهاء · Esc إلغاء + Click: corner · Drag: smooth · {alt}-drag: break handle · Click or drag first point: close · {key} finish · Esc cancel نقر: زاوية · سحب: ناعم · {alt}+سحب: كسر المقبض · نقر أو سحب النقطة الأولى: إغلاق · {key} إنهاء · Esc إلغاء + Clip to layer below اقتطاع إلى الطبقة السفلية + Clipped مقتطع + Close Style Options إغلاق خيارات النمط + Cmd Cmd + Coated CMYK CMYK مطلي + Color & Swatches اللون وعينات الألوان + Color Balance توازن الألوان + Color Detail تفاصيل اللون + Color Grading تدريج الألوان + Color Lookup بحث الألوان + Color Management إدارة الألوان + Color Mixer مازج الألوان + Color Mode وضع اللون + Color Priority أولوية اللون + Color Range preview معاينة نطاق اللون + Color: اللون: + Colorize تلوين + Colors الألوان + Commit Perspective Warp ({key}) تأكيد التواء المنظور ({key}) + Commit Puppet Warp ({key}) تأكيد التواء الدمية ({key}) + Commit any current edits ({key}) تأكيد أي تعديلات حالية ({key}) + Commit current crop operation ({key}) تأكيد عملية الاقتصاص الحالية ({key}) + Commit transform ({key}) تأكيد التحويل ({key}) + Commit warp ({key}) تأكيد الالتواء ({key}) + Constant ثابت + Constrain proportions تقييد النسب + Contact Sheet II ورقة الاتصال II + Content-Aware مراعٍ للمحتوى + Contiguous متجاور + Contrast التباين + Control: التحكم: + Convert document's colors to the working space تحويل ألوان المستند إلى فضاء العمل + Convert to sRGB تحويل إلى sRGB + Copies النسخ + Copper نحاسي + Copyright حقوق النشر + Copyright and Contact Info حقوق النشر ومعلومات الاتصال + Corner Crop Marks علامات اقتصاص الزوايا + Corner radius نصف قطر الزاوية + Correction التصحيح + Count Jitter تذبذب العدد + Create إنشاء + Create Droplet إنشاء Droplet + Create Texture إنشاء ملمس + Create Video Timeline إنشاء مخطط زمني للفيديو + Create a new count group إنشاء مجموعة عدّ جديدة + Create a new document or open an existing file. أنشئ مستندًا جديدًا أو افتح ملفًا موجودًا. + Create a new group إنشاء مجموعة جديدة + Create a new layer إنشاء طبقة جديدة + Create new action إنشاء إجراء جديد + Create new channel إنشاء قناة جديدة + Create new document from current state إنشاء مستند جديد من الحالة الحالية + Create new fill or adjustment layer إنشاء طبقة تعبئة أو ضبط جديدة + Create new gradient إنشاء تدرج جديد + Create new group إنشاء مجموعة جديدة + Create new layer comp إنشاء تركيب طبقات جديد + Create new pattern from the selection إنشاء نمط جديد من التحديد + Create new shape from the current path إنشاء شكل جديد من المسار الحالي + Create new snapshot إنشاء لقطة جديدة + Create new tool preset إنشاء إعداد أداة مسبق جديد + Crop Factor معامل الاقتصاص + Ctrl Ctrl + Current & Below الحالية وما تحتها + Current Layer الطبقة الحالية + Current Size الحجم الحالي + Current Tool Only الأداة الحالية فقط + Curve المنحنى + Curves المنحنيات + Custom مخصص + Custom Shapes الأشكال المخصصة + Cyan سماوي + Cyan · Red سماوي · أحمر + Darken تغميق + Darks الداكن + Data Sets مجموعات البيانات + Default افتراضي + Default colours (D) الألوان الافتراضية (D) + Default printer الطابعة الافتراضية + Default restored. تمت استعادة الافتراضي. + Define تعريف + Define at least one variable first. عرّف متغيرًا واحدًا على الأقل أولًا. + Dehaze إزالة الضباب + Delete Cropped Pixels حذف البكسلات المقتصة + Delete Group حذف المجموعة + Delete Layer Mask حذف قناع الطبقة + Delete Layers حذف الطبقات + Delete Shortcut حذف الاختصار + Delete Timeline حذف المخطط الزمني + Delete Tool Preset حذف إعداد الأداة المسبق + Delete count group حذف مجموعة العدّ + Delete current channel حذف القناة الحالية + Delete current state حذف الحالة الحالية + Delete effect layer حذف طبقة التأثير + Delete layer ‘{name}’? هل تريد حذف الطبقة «{name}»؟ + Delete {count} layers? {names} هل تريد حذف {count} طبقة؟ {names} + Delete layer? هل تريد حذف الطبقة؟ + The document is closed المستند مغلق + The document or selected layers changed. Please request deletion again. تغيّر المستند أو الطبقات المحددة. يرجى طلب الحذف مرة أخرى. + Missing delete command أمر الحذف مفقود + Invalid delete command أمر حذف غير صالح + Layer deleted, but confirmation preference could not be saved: {error} تم حذف الطبقة، لكن تعذّر حفظ تفضيل التأكيد: {error} + Delete layer حذف الطبقة + Delete layer comp حذف تركيب الطبقات + Delete note حذف الملاحظة + Delete selected measurements حذف القياسات المحددة + Delete style حذف النمط + Delete tool preset حذف إعداد الأداة المسبق + Density الكثافة + Density: الكثافة: + Depth العمق + Depth Jitter تذبذب العمق + Description الوصف + Deselect All إلغاء تحديد الكل + Detail التفاصيل + Diamond Gradient تدرج معيني + Difference الفرق + Diffusion الانتشار + Discard the embedded profile (don't color manage) تجاهل ملف التعريف المضمّن (دون إدارة الألوان) + Discontiguous غير متجاور + Discord Discord + Dismiss تجاهل + Display P3 Display P3 + Display Text نص العرض + Dither التنقيط + Divide… قسمة… + Document المستند + Don't Save عدم الحفظ + No لا + Yes نعم + Done تم + Dots نقاط + Drag a rectangle around the object اسحب مستطيلًا حول الكائن + Drag on the image to add a constraint; Shift for horizontal/vertical; right-click to delete. اسحب على الصورة لإضافة قيد؛ Shift للأفقي/العمودي؛ النقر بالزر الأيمن للحذف. + Drag to move the active shape's path or the Work Path اسحب لنقل مسار الشكل النشط أو مسار العمل + Click: select anchor · Drag: move anchor, handle or segment · {shift}-click: add · {alt}-click: whole subpath نقر: تحديد نقطة ارتكاز · سحب: نقل نقطة الارتكاز أو المقبض أو المقطع · {shift}+نقر: إضافة · {alt}+نقر: المسار الفرعي بالكامل + Draw with the Pen tool (P) or make a work path from a selection. ارسم بأداة القلم (P) أو أنشئ مسار عمل من تحديد. + Drop an image or PSD anywhere to open it. أسقط صورة أو ملف PSD في أي مكان لفتحه. + Duplicate Layers… تكرار الطبقات… + Duplicate style تكرار النمط + Edit Toolbar… تحرير شريط الأدوات… + Edit in Quick Mask Mode (Q) تحرير في وضع القناع السريع (Q) + Edit in Standard Mode (Q) تحرير في الوضع القياسي (Q) + Effects التأثيرات + Embed Color Profile تضمين ملف تعريف الألوان + Embedded Profile Mismatch عدم تطابق ملف التعريف المضمّن + Enable airbrush-style build-up effects تفعيل تأثيرات التراكم بأسلوب الرش الهوائي + Enhance Edge تحسين الحافة + Entire Font الخط بالكامل + Exact دقيق + Expansion: التوسيع: + Export Presets إعدادات التصدير المسبقة + Export selected measurements (CSV) تصدير القياسات المحددة (CSV) + Exposure التعريض + Exposure and Gamma التعريض وغاما + Exposure: التعريض: + Eyedropper القطّارة + Factor: المعامل: + Faux Bold غامق اصطناعي + Faux Italic مائل اصطناعي + Feather تدريج الحواف + Fewer Points نقاط أقل + File Settings إعدادات الملف + Fill تعبئة + Fill: التعبئة: + Filter for adjustment layers مرشح لطبقات الضبط + Filter for pixel layers مرشح للطبقات البكسلية + Filter for shape layers مرشح لطبقات الأشكال + Filter for smart objects مرشح للكائنات الذكية + Filter for type layers مرشح لطبقات النص + Filter: المرشح: + Finger Painting الرسم بالإصبع + Fisheye عين السمكة + Fit ملاءمة + Fit Screen ملاءمة الشاشة + Fill Screen ملء الشاشة + Fit in View ملاءمة العرض + Fixed ثابت + Fixed Ratio نسبة ثابتة + Fixed Size حجم ثابت + Flip قلب + Flip X قلب X + Flip X Jitter تذبذب قلب X + Flip Y قلب Y + Flip Y Jitter تذبذب قلب Y + Flow التدفق + Flow Jitter تذبذب التدفق + Focal Length البعد البؤري + Font الخط + Font Size: حجم الخط: + Font size حجم الخط + Foreground المقدمة + Foreground to Background من المقدمة إلى الخلفية + Foreground/Background Jitter تذبذب المقدمة/الخلفية + Format الصيغة + Frame from Layers… إطار من الطبقات… + Free حر + Full Spherical كروي كامل + Fuzziness: التضبيب: + GPU GPU + Gamma Correction تصحيح غاما + Gamma: غاما: + Global عام + Glow Color لون التوهج + Gradient Map خريطة التدرج + Grain الحبيبات + Gray رمادي + Gray Gamma 2.2 رمادي غاما 2.2 + Green أخضر + Group مجموعة + Hardness الصلابة + Heart قلب + Height الارتفاع + Height: الارتفاع: + Hide Auto Slices إخفاء الشرائح التلقائية + Hide Properties إخفاء الخصائص + Highlight Compression ضغط الإضاءات العالية + Highlight Priority أولوية الإضاءات العالية + Highlights الإضاءات العالية + Home الرئيسية + Horizontal scale التحجيم الأفقي + Hue تدرج اللون + Hue Jitter تذبذب تدرج اللون + Hue/Saturation تدرج اللون/التشبع + Hyphenate التقطيع بالواصلة + Ignore تجاهل + Ignore All تجاهل الكل + Image Size حجم الصورة + Import Brushes… استيراد الفرش… + Import brushes (.abr) استيراد الفرش (.abr) + Import Presets استيراد الإعدادات المسبقة + Imported تم الاستيراد + Indent First المسافة البادئة للسطر الأول + Indent Left المسافة البادئة لليسار + Indent Right المسافة البادئة لليمين + Indent first line مسافة بادئة للسطر الأول + Indent left margin مسافة بادئة للهامش الأيسر + Indent right margin مسافة بادئة للهامش الأيمن + Input: الدخل: + Inside داخل + Interlaced متشابك + Interpolation: الاستيفاء: + Intersect with selection ({key}) تقاطع مع التحديد ({key}) + Invert All عكس الكل + Invert has no settings. ليس لـ «عكس» إعدادات. + Italic مائل + Join us on Discord انضم إلينا على Discord + Justify all ضبط الكل + Justify last centered ضبط مع توسيط السطر الأخير + Justify last left ضبط مع محاذاة السطر الأخير لليسار + Justify last right ضبط مع محاذاة السطر الأخير لليمين + Kerning تقارب الأحرف + Keyboard Shortcuts اختصارات لوحة المفاتيح + Keyboard Shortcuts and Menus اختصارات لوحة المفاتيح والقوائم + Kind النوع + Label Size حجم التسمية + Labels التسميات + Lanczos (sharp) Lanczos (حاد) + Landscape أفقي + Last Document State حالة المستند الأخيرة + Layout التخطيط + Leading تباعد الأسطر + Leading (set to the font size × auto-leading when Auto) تباعد الأسطر (يُضبط على حجم الخط × التباعد التلقائي عند اختيار تلقائي) + Leave as is (don't color manage) تركه كما هو (دون إدارة الألوان) + Left align text محاذاة النص لليسار + Length: الطول: + Level المستوى + Levels المستويات + Lighten تفتيح + Lightness درجة الإضاءة + Lights الفاتح + Limits: الحدود: + Linear Gradient تدرج خطي + Link layers ربط الطبقات + Link width and height ربط العرض والارتفاع + Liquify is not open أداة التسييل غير مفتوحة + Load تحميل + Load 3D LUT… تحميل 3D LUT… + Load channel as selection تحميل القناة كتحديد + Load… تحميل… + Localized Color Clusters مجموعات الألوان المحلية + Lock قفل + Lock all قفل الكل + Lock image pixels قفل بكسلات الصورة + Lock layer قفل الطبقة + Lock position قفل الموضع + Lock transparent pixels قفل البكسلات الشفافة + Lock: القفل: + Logical Length: الطول المنطقي: + Logical Units: الوحدات المنطقية: + Luminance اللمعان + Luminance Detail تفاصيل اللمعان + Magenta ماجنتا + Magenta · Green ماجنتا · أخضر + Maintain aspect ratio الحفاظ على نسبة العرض إلى الارتفاع + Marker Size حجم العلامة + Mask All قناع للكل + Mask Options خيارات القناع + Masking التقنيع + Master الرئيسي + Matte ماتّ + Median: الوسيط: + Menus القوائم + Mesh Size حجم الشبكة الخيطية + Metadata البيانات الوصفية + Metrics المقاييس + Midpoint نقطة المنتصف + Midtones الدرجات المتوسطة + Midtones from: الدرجات المتوسطة من: + Midtones to: الدرجات المتوسطة إلى: + Minimum Depth أدنى عمق + Minimum Diameter أدنى قطر + Minimum Roundness أدنى استدارة + Mode: الوضع: + Monochrome أحادي اللون + More Points نقاط أكثر + Move effect layer down نقل طبقة التأثير لأسفل + Move effect layer up نقل طبقة التأثير لأعلى + Move to نقل إلى + Name الاسم + Name: الاسم: + Nearest Neighbor أقرب جار + Nearest Neighbor (hard edges) أقرب جار (حواف حادة) + New Size الحجم الجديد + New document… مستند جديد… + New effect layer طبقة تأثير جديدة + New selection تحديد جديد + Next frame الإطار التالي + Next note الملاحظة التالية + No Color بلا لون + No Color Management بلا إدارة ألوان + No Dither بلا تنقيط + No author بلا مؤلف + No character style بلا نمط حروف + No document لا يوجد مستند + No matching commands لا توجد أوامر مطابقة + No presets for the current tool. لا توجد إعدادات مسبقة للأداة الحالية. + No presets of this type. لا توجد إعدادات مسبقة من هذا النوع. + No properties لا توجد خصائص + No tool presets. لا توجد إعدادات أدوات مسبقة. + Noise Reduction تقليل الضوضاء + Normal عادي + Not in Dictionary: غير موجود في القاموس: + OK موافق + Offset الإزاحة + Only Web Colors ألوان الويب فقط + Opacity التعتيم + Opacity Jitter تذبذب التعتيم + Opacity: التعتيم: + Open a document to define variables. افتح مستندًا لتعريف المتغيرات. + Open a document to select a colour range. افتح مستندًا لتحديد نطاق لوني. + Open a document to use the timeline. افتح مستندًا لاستخدام المخطط الزمني. + Optical بصري + Optimized محسّن + Option-click to define a source point to clone from Option+نقر لتعريف نقطة مصدر للاستنساخ منها + Original الأصلي + Output Channel: قناة الخرج: + Output Levels: مستويات الخرج: + Output: الخرج: + Outside خارج + Overlay Color لون التراكب + Overlay Opacity تعتيم التراكب + Overlay: Rule of Thirds التراكب: قاعدة الأثلاث + Override Pressure تجاوز الضغط + Override Rotation تجاوز التدوير + Override Tilt تجاوز الإمالة + PRESET DETAILS تفاصيل الإعداد المسبق + PSD PSD + Paint Overlay تراكب الطلاء + Panel locations are saved in the workspace. Keyboard shortcuts, menus and toolbar are optional. تُحفظ مواقع اللوحات في مساحة العمل. اختصارات لوحة المفاتيح والقوائم وشريط الأدوات اختيارية. + Paper الورق + Path المسار + Pattern النمط + Pattern Size حجم النمط + Pause إيقاف مؤقت + Percent النسبة المئوية + Perceptual إدراكي + Perspective Warp is not active التواء المنظور غير نشط + Perspective Warp: draw planes along the image's perspective, then switch to Warp التواء المنظور: ارسم مستويات وفق منظور الصورة، ثم انتقل إلى الالتواء + Photo Filter مرشح الصورة + PhotoCraft PhotoCraft + PhotoCraft Manages Colors PhotoCraft يدير الألوان + PhotoCraft — an open-source, native image editor written in Rust. PhotoCraft — محرر صور أصلي مفتوح المصدر مكتوب بلغة Rust. + Pin Depth: عمق الدبوس: + Pixel Length: طول البكسل: + Pixels/Centimeter بكسل/سنتيمتر + Pixels/Inch بكسل/بوصة + Pixels: البكسلات: + Play تشغيل + Play selection تشغيل التحديد + Portrait عمودي + Position الموضع + Position and Size الموضع والحجم + Posterize تقليل درجات اللون + Preserve Details الحفاظ على التفاصيل + Preserve Luminosity الحفاظ على اللمعان + Preset الإعداد المسبق + Preset Type نوع الإعداد المسبق + Preset: الإعداد المسبق: + Presets: الإعدادات المسبقة: + Press keys… اضغط المفاتيح… + Pressure الضغط + Pressure for Opacity الضغط للتعتيم + Pressure for Size الضغط للحجم + Prevent auto-nesting in and out of Artboards and Frames منع التداخل التلقائي داخل لوحات العمل والإطارات وخارجها + Preview معاينة + Previous frame الإطار السابق + Previous note الملاحظة السابقة + Print طباعة + Printer الطابعة + Printer Manages Colors الطابعة تدير الألوان + Printer Setup إعداد الطابعة + Printing Marks علامات الطباعة + Progressive تدريجي + Promote ترقية + Protect Detail حماية التفاصيل + Protect Foreground Color حماية لون المقدمة + Protect Tones حماية النغمات + Proximity Match مطابقة التقارب + Pulled String Mode وضع الخيط المشدود + Puppet Warp is not active التواء الدمية غير نشط + Purity النقاء + Quality الجودة + Quick Actions إجراءات سريعة + Quick Export As PNG تصدير سريع بصيغة PNG + Radial Gradient تدرج شعاعي + Radius نصف القطر + Radius: نصف القطر: + Range: النطاق: + Rate المعدل + Recently Used المستخدم مؤخرًا + Reconstruct إعادة بناء + Record ● a sequence of edits, then play ▶ it on any document. سجّل ● سلسلة من التعديلات، ثم شغّلها ▶ على أي مستند. + Red أحمر + Redefine style by current selection إعادة تعريف النمط بالتحديد الحالي + Refine تحسين + Reflected Gradient تدرج منعكس + Registration Marks علامات التسجيل + Regular عادي + Relative نسبي + Relative Colorimetric قياس لوني نسبي + Remove إزالة + Remove All Pins إزالة كل الدبابيس + Remove Background إزالة الخلفية + Remove Planes إزالة المستويات + Remove Tool إزالة الأداة + Remove stop إزالة نقطة التوقف + Remove variable إزالة المتغير + Rename إعادة تسمية + Rename Group… إعادة تسمية المجموعة… + Rename Layer… إعادة تسمية الطبقة… + Rename Tool Preset… إعادة تسمية إعداد الأداة المسبق… + Rename… إعادة تسمية… + Resample إعادة أخذ العينات + Reset All to Defaults إعادة ضبط الكل إلى الإعدادات الافتراضية + Import Shortcuts… استيراد الاختصارات… + Load a keyboard shortcut set saved as .kys تحميل مجموعة اختصارات لوحة مفاتيح محفوظة بصيغة .kys + Imported {n} shortcuts from {file}. Click OK to keep them. تم استيراد {n} اختصارات من {file}. انقر على موافق للاحتفاظ بها. + {n} commands are not in PhotoCraft. {n} أوامر غير موجودة في PhotoCraft. + Keyboard shortcuts imported تم استيراد اختصارات لوحة المفاتيح + Your keyboard shortcut set {set} is in use here: {n} shortcuts differ from the defaults. Edit › Keyboard Shortcuts shows them; Reset All to Defaults undoes this. مجموعة اختصارات لوحة المفاتيح {set} قيد الاستخدام هنا: يختلف {n} اختصارات عن الافتراضية. يعرضها «تحرير › اختصارات لوحة المفاتيح»؛ ويتراجع «إعادة ضبط الكل إلى الإعدادات الافتراضية» عن ذلك. + Import keyboard shortcuts? هل تريد استيراد اختصارات لوحة المفاتيح؟ + PhotoCraft found your keyboard shortcut set {set} from another image editor on this computer: {n} of its shortcuts differ from PhotoCraft's. Import it? عثر PhotoCraft على مجموعة اختصارات لوحة المفاتيح {set} من محرر صور آخر على هذا الحاسوب: يختلف {n} اختصارات منها عن اختصارات PhotoCraft. هل تريد استيرادها؟ + Edit › Keyboard Shortcuts › Reset All to Defaults undoes an import. يتراجع «تحرير › اختصارات لوحة المفاتيح › إعادة ضبط الكل إلى الإعدادات الافتراضية» عن الاستيراد. + Don't Import عدم الاستيراد + The keyboard shortcut set was not imported: {error} لم تُستورد مجموعة اختصارات لوحة المفاتيح: {error} + Reset Section إعادة ضبط القسم + Reset Transform إعادة ضبط التحويل + Reset to defaults إعادة الضبط إلى الإعدادات الافتراضية + Resolution الدقة + Resolution: الدقة: + Restore All استعادة الكل + Restore Defaults استعادة الإعدادات الافتراضية + Restrictive (Web) مقيّد (ويب) + Right align text محاذاة النص لليمين + Rigid صلب + Rotate: التدوير: + Rotation التدوير + Roughness الخشونة + Roundness الاستدارة + Roundness Jitter تذبذب الاستدارة + Rulers & Grids المساطر والشبكات + Sample All Layers أخذ عينة من كل الطبقات + Sample: العينة: + Sampling: Background Swatch أخذ العينات: عينة الخلفية + Sampling: Continuous أخذ العينات: مستمر + Sampling: Once أخذ العينات: مرة واحدة + Saturate زيادة التشبع + Saturation التشبع + Saturation Jitter تذبذب التشبع + Save HTML and Images حفظ HTML والصور + Save as PDF حفظ بصيغة PDF + Save selection as channel حفظ التحديد كقناة + Save… حفظ… + Scale to Fit Media تحجيم ليناسب الوسائط + Scatter تبعثر + Scratch disks أقراص التخزين المؤقت + Search بحث + Search commands البحث في الأوامر + Search commands, tools and panels… البحث في الأوامر والأدوات واللوحات… + Search fonts البحث في الخطوط + Select All تحديد الكل + Select Subject تحديد الموضوع + Select a type layer or click into text to insert glyphs حدد طبقة نص أو انقر داخل نص لإدراج الأشكال الحرفية + Select text to apply a character style حدد نصًا لتطبيق نمط حروف + Select: تحديد: + Selections التحديدات + Selective انتقائي + Selective Color لون انتقائي + Send the selected pin backward إرسال الدبوس المحدد للخلف + Set additional smoothing options ضبط خيارات تنعيم إضافية + Set background color ضبط لون الخلفية + Set foreground color ضبط لون المقدمة + Set painting symmetry options ضبط خيارات تناظر الرسم + Symmetry Off التناظر متوقف + Set shape fill type ضبط نوع تعبئة الشكل + Set shape stroke type ضبط نوع حد الشكل + Set the text color ضبط لون النص + Shadows الظلال + Shape: الشكل: + Sharpening زيادة الحدة + Shift Shift + Shortcut removed. تمت إزالة الاختصار. + Show All Menu Items إظهار كل عناصر القوائم + Show Backdrop إظهار الخلفية + Show Guides إظهار خطوط التوجيه + Show Mask إظهار القناع + Show Mesh إظهار الشبكة الخيطية + Show Overlay إظهار التراكب + Show Transform Controls إظهار عناصر تحكم التحويل + Show or hide the Notes panel إظهار لوحة الملاحظات أو إخفاؤها + Show: إظهار: + Sides الأضلاع + Sides: الأضلاع: + Size الحجم + Size Jitter تذبذب الحجم + Size: الحجم: + Slice Options… خيارات الشريحة… + Slices From Guides شرائح من خطوط التوجيه + Slices are locked (View › Lock Slices) الشرائح مقفلة (عرض › قفل الشرائح) + Small Caps أحرف كبيرة صغيرة + Smoothing التنعيم + Space After المسافة بعد + Space Before المسافة قبل + Spacing التباعد + Spell check complete. اكتمل التدقيق الإملائي. + Split: التقسيم: + Star ratio نسبة النجمة + Stop playing/recording إيقاف التشغيل/التسجيل + Straighten تقويم + Straighten Layer تقويم الطبقة + Strength: القوة: + Strikethrough يتوسطه خط + Stroke الحد + Stroke Catch-up لحاق الضربة + Stroke: الحد: + Location: الموقع: + Style النمط + Style Options خيارات النمط + Style Options… خيارات النمط… + Style: Normal النمط: عادي + Subtract from Sample طرح من العينة + Subtract from selection ({key}) طرح من التحديد ({key}) + Suggestions: الاقتراحات: + Swap colours (X) تبديل الألوان (X) + Swaps height and width يبدّل الارتفاع والعرض + Switch between free transform and warp modes التبديل بين وضعي التحويل الحر والالتواء + Switch theme تبديل السمة + Temperature درجة الحرارة + Tetrahedral رباعي الأوجه + Text Position: موضع النص: + Texture الملمس + Texture Each Tip ملمس لكل طرف + Threshold العتبة + Threshold Level مستوى العتبة + Thumbnail size (smallest: list) حجم المصغرات (الأصغر: قائمة) + Tilt X إمالة X + Tilt Y إمالة Y + Tint الصبغة + Toggle count group visibility تبديل ظهور مجموعة العدّ + Toggle text orientation تبديل اتجاه النص + Tolerance التسامح + Tolerance: التسامح: + Tone: النغمة: + Toolbar شريط الأدوات + Top الأعلى + Total: الإجمالي: + Tracking تباعد الأحرف + Tracking (1/1000 em) تباعد الأحرف (1/1000 em) + Transparency الشفافية + Transparent شفاف + Trilinear ثلاثي الخطية + Type Styles أنماط النص + Type: النوع: + Underline تسطير + Untitled بدون عنوان + Untitled-1 بدون عنوان-1 + Update layer comp (visibility, position and appearance) تحديث تركيب الطبقات (الظهور والموضع والمظهر) + Use Default استخدام الافتراضي + Use Legacy استخدام القديم + Use Measurement Scale استخدام مقياس القياس + Use the embedded profile (instead of the working space) استخدام ملف التعريف المضمّن (بدلًا من فضاء العمل) + Variables bind a layer's visibility, text or pixels to a named data slot. تربط المتغيرات ظهور الطبقة أو نصها أو بكسلاتها بخانة بيانات مسماة. + Vertical scale التحجيم العمودي + Vibrance الحيوية + View Options خيارات العرض + Vignetting تظليل الحواف + Violet, Orange بنفسجي، برتقالي + Visibility الظهور + Visible مرئي + Warp: الالتواء: + Web Snap محاذاة الويب + Weight السماكة + Weight: السماكة: + White أبيض + White Balance: As Shot توازن الأبيض: كما التُقطت + Whites البيض + Width العرض + Slant الميل + Width: العرض: + Work Path مسار العمل + Yellow أصفر + Yellow · Blue أصفر · أزرق + Zoom التكبير + Zoom in تكبير + Zoom out تصغير + command or shortcut أمر أو اختصار + current الحالي + image file path مسار ملف الصورة + modified معدّل + name الاسم + new جديد + {name} options خيارات {name} + ↑↓ navigate {key} run esc close ↑↓ تنقل {key} تشغيل esc إغلاق + Version {version} الإصدار {version} + New Document مستند جديد + New Document With Mask مستند جديد مع قناع + New Layer With Mask طبقة جديدة مع قناع + New Layer طبقة جديدة + Preset Name اسم الإعداد المسبق + No saved presets yet. لا توجد إعدادات مسبقة محفوظة بعد. + Error خطأ + Command الأمر + Adjustment layers have nothing to transform لا شيء لتحويله في طبقات الضبط + Altitude الارتفاع الزاوي + Android 1080p Android 1080p + Apple Watch 45mm Apple Watch 45mm + Aqua أزرق مائي + Art & Illustration الفن والرسم التوضيحي + ArtCraft ArtCraft + Background Eraser Tool أداة ممحاة الخلفية + Bevel & Emboss الشطف والنقش + Blend Mode وضع المزج + Blues درجات الأزرق + Blur Tool أداة التمويه + Bold غامق + Brush فرشاة + Block كتلة + Brush Pose وضعية الفرشاة + Brush Tip Shape شكل طرف الفرشاة + Brush Tool أداة الفرشاة + Build-up التراكم + Burn Tool أداة الحرق + Centimeters سنتيمترات + Choke تضييق + Classic كلاسيكي + Click to add text انقر لإضافة نص + Click to fill similar colours انقر لتعبئة الألوان المتشابهة + Clone Stamp Tool أداة ختم الاستنساخ + Color Burn حرق اللون + Color Dodge تفتيح اللون + Color Dynamics ديناميكيات اللون + Color Overlay تراكب لوني + Comic Book كتاب كوميكس + Conform مطابقة + Content-Aware Fill needs a selection on a pixel layer تتطلب التعبئة المراعية للمحتوى تحديدًا على طبقة بكسلات + Could not transform: the layer is empty تعذر التحويل: الطبقة فارغة + Could not use Perspective Warp: the layer is empty تعذر استخدام التواء المنظور: الطبقة فارغة + Could not use Puppet Warp: no opaque pixels تعذر استخدام التواء الدمية: لا توجد بكسلات معتمة + Could not use Puppet Warp: the layer is empty تعذر استخدام التواء الدمية: الطبقة فارغة + Crop Tool أداة الاقتصاص + Crosswise بشكل متقاطع + Current Tool الأداة الحالية + Custom Shape Tool أداة الشكل المخصص + Cyans درجات السماوي + Default PhotoCraft Size حجم PhotoCraft الافتراضي + Delete Workspace حذف مساحة العمل + Diamond معين + Dimensions: الأبعاد: + Direction الاتجاه + Distance المسافة + Document Dimensions أبعاد المستند + Document Profile ملف تعريف المستند + Document Sizes أحجام المستند + Dodge Tool أداة التفتيح + Down لأسفل + Drag to draw a gradient اسحب لرسم تدرج + Drag to move the active layer اسحب لنقل الطبقة النشطة + Drag to pan · hold Space with any tool اسحب للتحريك · اضغط مطولًا على Space مع أي أداة + Drop Shadow ظل مسقط + Dual Brush فرشاة مزدوجة + Edge الحافة + Efficiency الكفاءة + Efficiency: 100% الكفاءة: 100% + Ellipse Tool أداة القطع الناقص + Elliptical Marquee Tool أداة التحديد البيضاوي + Single Row Marquee Tool أداة تحديد صف واحد + Single Column Marquee Tool أداة تحديد عمود واحد + Emboss نقش + Eraser ممحاة + Eraser Tool أداة الممحاة + ExtraBold غامق جدًا + ExtraLight رفيع جدًا + Eyedropper Tool أداة القطّارة + Fade تلاشٍ + Fill Opacity تعتيم التعبئة + Film & Video الأفلام والفيديو + From من + General عام + GitHub GitHub + Gradient Overlay تراكب تدرجي + Gradient Tool أداة التدرج + Greens درجات الأخضر + Hand Tool أداة اليد + Hard قاسٍ + Hard Mix مزج قاسٍ + Healing Brush Tool أداة فرشاة الإصلاح + Highlights from: الإضاءات العالية من: + History Brush Tool أداة فرشاة السجل + Horizontal Type Tool أداة النص الأفقي + Horizontal Type Mask Tool أداة قناع النص الأفقي + Vertical Type Mask Tool أداة قناع النص العمودي + Image Size: حجم الصورة: + Inches بوصات + Indexed مفهرس + Initial Direction الاتجاه الأولي + Inner Bevel شطف داخلي + Inner Glow توهج داخلي + Inner Shadow ظل داخلي + Lab Lab + Landscape, 10 x 8 أفقي، 10 × 8 + Landscape, 6 x 4 أفقي، 6 × 4 + Landscape, 7 x 5 أفقي، 7 × 5 + Lasso لاسو + Lasso Tool أداة اللاسو + Layer Count عدد الطبقات + Layer Knocks Out Drop Shadow الطبقة تقتطع الظل المسقط + Legal Legal + Letter Letter + Light فاتح + Line Tool أداة الخط + Linear خطي + Linear Burn حرق خطي + Linear Height الارتفاع الخطي + Link with Layer ربط مع الطبقة + Lorem Ipsum Lorem Ipsum + Magentas درجات الماجنتا + Magic Eraser Tool أداة الممحاة السحرية + Magic Wand Tool أداة العصا السحرية + Marquee إطار التحديد + Mean: المتوسط: + Measurement Scale مقياس القياس + Measurement Scale Marker علامة مقياس القياس + Millimeters مليمترات + Mobile الجوال + Move Tool أداة التحريك + Could not use the move tool because the layer is locked. تعذر استخدام أداة التحريك لأن الطبقة مقفلة. + Could not complete the Free Transform command because the layer is locked. تعذر إكمال أمر التحويل الحر لأن الطبقة مقفلة. + Multiply ضرب + My Brushes فرشي + Neutrals الدرجات المحايدة + New Workspace مساحة عمل جديدة + Note Tool أداة الملاحظة + Object Selection Tool أداة تحديد الكائن + Off إيقاف + Open فتح + Orange برتقالي + Original Ratio النسبة الأصلية + Out Of Gamut خارج النطاق اللوني + Outer Bevel شطف خارجي + Outer Glow توهج خارجي + Overlay تراكب + Paint Bucket Tool أداة دلو الطلاء + Paints from the document's opening state يرسم من حالة المستند عند فتحه + Path Selection Tool أداة تحديد المسار + Direct Selection Tool أداة التحديد المباشر + Add Anchor Point Tool أداة إضافة نقطة ارتكاز + Delete Anchor Point Tool أداة حذف نقطة ارتكاز + Click a segment to add an anchor point · {alt}-click an anchor to delete it انقر على مقطع لإضافة نقطة ارتكاز · {alt}+نقر على نقطة ارتكاز لحذفها + Click an anchor point to delete it · {alt}-click a segment to add one انقر على نقطة ارتكاز لحذفها · {alt}+نقر على مقطع لإضافة نقطة + Pattern Overlay تراكب نمطي + Pen Pressure ضغط القلم + Pen Tilt إمالة القلم + Pen Tool أداة القلم + Convert Point Tool أداة تحويل النقطة + Photo صورة فوتوغرافية + PhotoCraft website موقع PhotoCraft + Picas بيكا + Pillow Emboss نقش الوسادة + Pixel Replacement استبدال البكسل + Pixels بكسلات + Points نقاط + Polygon Tool أداة المضلع + Polygonal Lasso Tool أداة اللاسو المضلع + Portrait, 4 x 6 عمودي، 4 × 6 + Portrait, 5 x 7 عمودي، 5 × 7 + PostScript (72 points/inch) PostScript (72 نقطة/بوصة) + Postcard بطاقة بريدية + Poster ملصق + Pro (Dark) Pro (داكن) + Pro (Light) Pro (فاتح) + Pro (Light Gray) Pro (رمادي فاتح) + Pro (Medium Gray) Pro (رمادي متوسط) + Protect Texture حماية الملمس + Purple أرجواني + Quick Mask قناع سريع + Quick Selection Tool أداة التحديد السريع + Radial شعاعي + Rasterize Layer تحويل الطبقة إلى بكسلات + Rasterize Layers تحويل الطبقات إلى بكسلات + Ratio النسبة + Recent الأخيرة + Rectangle Tool أداة المستطيل + Rectangular Marquee Tool أداة التحديد المستطيل + Reds درجات الأحمر + Reflected منعكس + Sample: foreground colour العينة: لون المقدمة + Sampled Colors الألوان المأخوذة + Satin ساتان + Save Pixel Aspect Ratio حفظ نسبة أبعاد البكسل + Scattering التبعثر + Scratch Sizes أحجام التخزين المؤقت + Select Data Points تحديد نقاط البيانات + Selection التحديد + SemiBold شبه غامق + Shadows up to: الظلال حتى: + Shape Dynamics ديناميكيات الشكل + Sharpen Tool أداة زيادة الحدة + Show Extras Options خيارات إظهار العناصر الإضافية + Slice Select Tool أداة تحديد الشريحة + Slice Tool أداة الشريحة + Smart Filters المرشحات الذكية + Smudge Tool أداة التلطيخ + Soft لين + Soften تلطيف + Source المصدر + Source: set المصدر: تم الضبط + Sponge Tool أداة الإسفنجة + Spot Healing Brush Tool أداة فرشاة إصلاح البقع + Spread الانتشار + Square, 12 x 12 مربع، 12 × 12 + Square, 5 x 5 مربع، 5 × 5 + Std Dev: الانحراف المعياري: + Studio (Dark) Studio (داكن) + Studio (Light) Studio (فاتح) + Stylus Wheel عجلة القلم + Subtract طرح + Tabloid Tabloid + Text Replacement استبدال النص + Thin رفيع + Traditional (72.27 points/inch) تقليدي (72.27 نقطة/بوصة) + Transfer النقل + Triangle Tool أداة المثلث + Unsaved changes تغييرات غير محفوظة + Uses the foreground and background colours. يستخدم لوني المقدمة والخلفية. + Web ويب + Web Large ويب كبير + Web Minimum ويب أدنى + Web Most Common ويب الأكثر شيوعًا + WebP (lossless) WebP (دون فقدان) + Wet Edges حواف رطبة + Yellows درجات الأصفر + Zoom Tool أداة التكبير + {name} Properties خصائص {name} + Revert “{name}” to the last saved version? Your changes will be lost. هل تريد إرجاع «{name}» إلى آخر نسخة محفوظة؟ ستفقد تغييراتك. + Do you want to save the changes you made to “{name}” before quitting? هل تريد حفظ التغييرات التي أجريتها على «{name}» قبل الخروج؟ + Do you want to save the changes you made to “{name}” before closing? هل تريد حفظ التغييرات التي أجريتها على «{name}» قبل الإغلاق؟ + Doc: {flat}/{layered} المستند: {flat}/{layered} + Scratch: {size} التخزين المؤقت: {size} + Untagged {mode} {mode} غير موسوم + {w} px x {h} px ({ppi} ppi) {w} بكسل × {h} بكسل ({ppi} ppi) + {w} {unit} x {h} {unit} ({ppi} ppi) {w} {unit} × {h} {unit} ({ppi} ppi) + Resolution: {dpi} pixels/inch الدقة: {dpi} بكسل/بوصة + Doc: {w} × {h} px المستند: {w} × {h} بكسل + Frame {current} / {total} الإطار {current} / {total} + Count: {n} العدد: {n} + BLANK DOCUMENT PRESETS ({n}) إعدادات المستند الفارغ المسبقة ({n}) + Constraints ({n}) القيود ({n}) + Align {what} محاذاة {what} +@plural {n} Layer|{n} Layers {n} طبقة|{n} طبقة|{n} طبقتان|{n} طبقات|{n} طبقة|{n} طبقة +@plural {n} layer|{n} layers {n} طبقة|{n} طبقة|{n} طبقتان|{n} طبقات|{n} طبقة|{n} طبقة +@plural Group · {n} layer|Group · {n} layers مجموعة · {n} طبقة|مجموعة · {n} طبقة|مجموعة · {n} طبقتان|مجموعة · {n} طبقات|مجموعة · {n} طبقة|مجموعة · {n} طبقة + Additional plugins folder مجلد الإضافات الإضافي + Adobe Adobe + Adobe rgb Adobe RGB + Allow agent control السماح بتحكم الوكيل + Allow scripts to connect السماح للبرامج النصية بالاتصال + Always دائمًا + Always create smart objects when placing إنشاء كائنات ذكية دائمًا عند الوضع + Animated zoom تكبير متحرك + Apply auto tone تطبيق النغمة التلقائية + Ask سؤال + Ask before saving layered tiff السؤال قبل حفظ TIFF متعدد الطبقات + Auto collapse icon panels طي لوحات الأيقونات تلقائيًا + Auto show hidden panels إظهار اللوحات المخفية تلقائيًا + Auto show home screen إظهار الشاشة الرئيسية تلقائيًا + Autosave الحفظ التلقائي + Autosave minutes دقائق الحفظ التلقائي + Beep when done صوت تنبيه عند الانتهاء + Bicubic automatic ثنائي التكعيب تلقائي + Bicubic sharper ثنائي التكعيب أحد + Bicubic smoother ثنائي التكعيب أنعم + Bit depth عمق البت + Brush preview color لون معاينة الفرشاة + Cache levels مستويات الذاكرة المؤقتة + Cache tile size حجم بلاطة الذاكرة المؤقتة + Camera Raw Defaults الإعدادات الافتراضية لـ Camera Raw + Canvas border حدود لوحة الرسم + Show canvas dots إظهار نقاط لوحة الرسم + Canvas color لون لوحة الرسم + Canvas custom color لون لوحة الرسم المخصص + Color picker منتقي الألوان + Color space فضاء الألوان + Column width عرض العمود + Concise موجز + Control port منفذ التحكم + Convert to srgb تحويل إلى sRGB + Cursors المؤشرات + Custom dark داكن مخصص + Custom light فاتح مخصص + Dark داكن + Dark gray رمادي داكن + Dashed lines خطوط متقطعة + Destination الوجهة + Detailed مفصل + Disks الأقراص + Display p3 Display P3 + Double click layer mask launches select and mask النقر المزدوج على قناع الطبقة يفتح «تحديد وقناع» + Drop shadow ظل مسقط + Dynamic color sliders منزلقات ألوان ديناميكية + East asian شرق آسيوي + Effect cache mb ذاكرة التأثيرات المؤقتة (MB) + Enable flick panning تفعيل التحريك بالنقر السريع + Enable floating document window docking تفعيل تثبيت نوافذ المستندات العائمة + Enable narrow options bar تفعيل شريط الخيارات الضيق + Enabled مفعّل + Enhanced Controls عناصر التحكم المحسّنة + Export clipboard تصدير الحافظة + Extra large كبير جدًا + File Handling التعامل مع الملفات + File path مسار الملف + Fill new type layers with placeholder تعبئة طبقات النص الجديدة بنص نائب + Font preview معاينة الخط + Full size tip طرف بالحجم الكامل + Gamut warning color لون تحذير النطاق اللوني + Gamut warning opacity تعتيم تحذير النطاق اللوني + Generator enabled المولّد مفعّل + Gif GIF + Glossy لامع + Grid color لون الشبكة + Grid colors ألوان الشبكة + Grid size حجم الشبكة + Grid style نمط الشبكة + Grid unit وحدة الشبكة + Gridline every خط شبكة كل + Guide color لون خط التوجيه + Guide style نمط خط التوجيه + Guides, Grid & Slices خطوط التوجيه والشبكة والشرائح + Gutter الفاصل بين الأعمدة + History Log سجل التاريخ + History states حالات السجل + Ignore exif profile tag تجاهل وسم ملف تعريف Exif + Image interpolation استيفاء الصور + Image previews معاينات الصور + Integrations التكاملات + Interface الواجهة + Jpeg quality جودة JPEG + Jpg JPG + Language اللغة + Large tabs علامات تبويب كبيرة + Legacy compositing التركيب القديم + Light gray رمادي فاتح + Line خط + Lines خطوط + Lossless دون فقدان + Lowercase extension امتداد بأحرف صغيرة + Maximize psd compatibility زيادة توافق PSD إلى أقصى حد + Medium gray رمادي متوسط + Memory usage mb استخدام الذاكرة (MB) + Low resolution previews معاينات منخفضة الدقة + Missing glyph protection حماية الأشكال الحرفية المفقودة + Modern حديث + Nearest neighbor أقرب جار + Never أبدًا + Normal tip طرف عادي + Open as smart object الفتح ككائن ذكي + Open in camera raw الفتح في Camera Raw + Open documents as tabs فتح المستندات كعلامات تبويب + Overscroll التمرير الزائد + Performance الأداء + Png PNG + Point size حجم النقطة + Precise دقيق + Preserve details الحفاظ على التفاصيل + Print resolution دقة الطباعة + Pro Pro + Pro light Pro فاتح + Pro light gray Pro رمادي فاتح + Pro medium Pro متوسط + Pro photo ProPhoto + Quick export format صيغة التصدير السريع + Quick export location موقع التصدير السريع + Recent file count عدد الملفات الأخيرة + Recent files الملفات الأخيرة + Recent fonts الخطوط الأخيرة + Recover on launch الاسترداد عند التشغيل + Remember workspace changes تذكر تغييرات مساحة العمل + Resize image during place تغيير حجم الصورة أثناء الوضع + Rotate view with trackpad تدوير العرض بلوحة اللمس + Same folder المجلد نفسه + Save in background الحفظ في الخلفية + Scratch Disks أقراص التخزين المؤقت + Screen الشاشة + Screen resolution دقة الشاشة + Scrubby slider acceleration تسارع المنزلقات القابلة للتمرير + Sessions only الجلسات فقط + Sharpen for زيادة الحدة لـ + Show channels in color إظهار القنوات بالألوان + Show crosshair in brush tip إظهار التقاطع في طرف الفرشاة + Show extension panels إظهار لوحات الامتدادات + Show font names in english إظهار أسماء الخطوط بالإنجليزية + Show menu colors إظهار ألوان القوائم + Show only crosshair while painting إظهار التقاطع فقط أثناء الرسم + Show slice numbers إظهار أرقام الشرائح + Show tooltips إظهار التلميحات + Enable animations تفعيل الحركات + Show highlight on rollover إظهار التمييز عند التمرير + Show transformation values إظهار قيم التحويل + Slice color لون الشريحة + Smart guide color لون خط التوجيه الذكي + Smart quotes علامات اقتباس ذكية + Snap vector tools and transforms to pixel grid محاذاة الأدوات المتجهية والتحويلات إلى شبكة البكسلات + Srgb sRGB + Standard قياسي + Studio Studio + Studio light Studio فاتح + Adwaita Adwaita + Adwaita dark Adwaita داكن + Subdivisions التقسيمات الفرعية + System النظام + Text engine محرك النص + Text file ملف نصي + Tiny صغير جدًا + Touch gestures إيماءات اللمس + Transparency & Gamut الشفافية والنطاق اللوني + Type units وحدات النص + UI font size حجم خط الواجهة + UI scale مقياس الواجهة + Units & Rulers الوحدات والمساطر + Use additional plugins folder استخدام مجلد الإضافات الإضافي + Use esc to commit استخدام Esc للتأكيد + Use gpu استخدام GPU + Use legacy free transform استخدام التحويل الحر القديم + Use shift key for tool switch استخدام مفتاح Shift لتبديل الأداة + Vary round brush hardness on hud تغيير صلابة الفرشاة المستديرة على HUD + Webp WebP + World ready دعم اللغات العالمية + Zoom clicked point to center تكبير النقطة المنقورة إلى المنتصف + Zoom resizes windows التكبير يغيّر حجم النوافذ + Zoom with scroll wheel التكبير بعجلة التمرير + Zoom with trackpad pinch التكبير بقرص لوحة اللمس + Pass Through المرور عبر + Dissolve ذوبان + Darker Color لون أغمق + Linear Dodge (Add) تفتيح خطي (إضافة) + Lighter Color لون أفتح + Soft Light ضوء ناعم + Hard Light ضوء قاسٍ + Vivid Light ضوء زاهٍ + Linear Light ضوء خطي + Pin Light ضوء تثبيت + Exclusion استبعاد + Divide قسمة + Luminosity اللمعان +@plural {n} sample|{n} samples {n} عينة|{n} عينة|{n} عينتان|{n} عينات|{n} عينة|{n} عينة + {added}, {removed} subtracted {added}، وطُرح {removed} + Adjustment Preview معاينة التعديل + Airbrush: keeps depositing paint while the pointer rests. الرش الهوائي: يواصل ترسيب الطلاء ما دام المؤشر ثابتًا. + Angle: الزاوية: + Blend If المزج إذا + Close Tab Group إغلاق مجموعة علامات التبويب + Collapse طي + Collapse All Groups طي كل المجموعات + Collapse Panel Group طي مجموعة اللوحات + Collapse group ({key}-click: all groups) طي المجموعة ({key}+نقر: كل المجموعات) + Create new brush from the current settings إنشاء فرشاة جديدة من الإعدادات الحالية + Create new brush from these settings إنشاء فرشاة جديدة من هذه الإعدادات + Update the current brush with these settings تحديث الفرشاة الحالية بهذه الإعدادات + Delete brush حذف الفرشاة + Drag the arrow to set the angle, the dots to set the roundness اسحب السهم لضبط الزاوية والنقاط لضبط الاستدارة + Expand توسيع + Expand Panel Group توسيع مجموعة اللوحات + Expand group ({key}-click: all groups) توسيع المجموعة ({key}+نقر: كل المجموعات) + Fade steps خطوات التلاشي + Hide the layer's effects ({key}-click: all layers) إخفاء تأثيرات الطبقة ({key}+نقر: كل الطبقات) + Import Brushes… (.abr) استيراد الفرش… (.abr) + Move Group Down نقل المجموعة لأسفل + Move Group Up نقل المجموعة لأعلى + Reset the brush to the defaults إعادة ضبط الفرشاة إلى الإعدادات الافتراضية + Restore original size استعادة الحجم الأصلي + Roundness: الاستدارة: + Search Brushes البحث في الفرش + Show the layer's effects ({key}-click: all layers) إظهار تأثيرات الطبقة ({key}+نقر: كل الطبقات) + Brush picker منتقي الفرشاة + Erase محو + Right click with painting tools النقر بالزر الأيمن مع أدوات الرسم + System Info… معلومات النظام… + System Info معلومات النظام + More panels المزيد من اللوحات + More documents المزيد من المستندات + These settings aren't available in PhotoCraft yet. هذه الإعدادات غير متاحة في PhotoCraft بعد. + Graphics الرسوميات + Reset GPU Backend إعادة ضبط واجهة GPU الخلفية + Applies at next launch. يسري عند التشغيل التالي. + Click to sample the foreground colour · {key}-click for background انقر لأخذ عينة من لون المقدمة · {key}+نقر للخلفية + {key}-click to set the source {key}+نقر لضبط المصدر + {key} to subtract {key} للطرح + Clone source {n} ({key}-click with Clone Stamp to set) مصدر الاستنساخ {n} ({key}+نقر بأداة ختم الاستنساخ للضبط) + Source: not set ({key}-click with Clone Stamp) المصدر: غير مضبوط ({key}+نقر بأداة ختم الاستنساخ) + Pixel Layer طبقة بكسلات + Type Layer طبقة نص + Shape Layer طبقة شكل + Group Layer طبقة مجموعة + Fill Layer طبقة تعبئة + Smart Object Layer طبقة كائن ذكي + Create Warped Text إنشاء نص ملتوٍ + Rasterize Smart Object تحويل الكائن الذكي إلى بكسلات + Rasterize Fill Content تحويل محتوى التعبئة إلى بكسلات + Rasterize Layer Style تحويل نمط الطبقة إلى بكسلات + Unlock: picking a preset replaces these settings فتح القفل: اختيار إعداد مسبق يستبدل هذه الإعدادات + Lock: keep these settings when picking another preset قفل: الاحتفاظ بهذه الإعدادات عند اختيار إعداد مسبق آخر + Diameter: القطر: + Hardness: الصلابة: + No brush presets لا توجد إعدادات فرشاة مسبقة + Toggle the Brush Settings panel (F5) تبديل لوحة إعدادات الفرشاة (F5) + Create new brush preset from the current settings إنشاء إعداد فرشاة مسبق جديد من الإعدادات الحالية + Brush Settings… (F5): every option of this brush إعدادات الفرشاة… (F5): كل خيارات هذه الفرشاة + Rename Brush… إعادة تسمية الفرشاة… + Delete Brush حذف الفرشاة + New Brush Preset… إعداد فرشاة مسبق جديد… + Capture Brush Size in Preset التقاط حجم الفرشاة في الإعداد المسبق + Include Tool Settings تضمين إعدادات الأداة + Include Color تضمين اللون + Enter a name for the brush preset أدخل اسمًا لإعداد الفرشاة المسبق + A brush preset with this name already exists يوجد إعداد فرشاة مسبق بهذا الاسم بالفعل + Brush Preset Options خيارات إعداد الفرشاة المسبق + Group name اسم المجموعة + Brush name اسم الفرشاة + Brush Name اسم الفرشاة + Brush Stroke ضربة الفرشاة + Off: the speed of the pointer sets the spacing إيقاف: سرعة المؤشر تحدد التباعد + Tilt Scale مقياس الإمالة + Brush Projection إسقاط الفرشاة + Apply the pen's tilt and rotation to the tip shape تطبيق إمالة القلم وتدويره على شكل الطرف + Mixer Brush فرشاة المزج + Wet رطب + Mix المزج + Wetness Jitter تذبذب الرطوبة + Mix Jitter تذبذب المزج + Show the layer mask as an overlay إظهار قناع الطبقة كتراكب + Toggle visibility تبديل الظهور + Unlink the mask from the layer فك ربط القناع بالطبقة + Link the mask to the layer ربط القناع بالطبقة + Gradient تدرج + Gradient Options خيارات التدرج + Align with layer محاذاة مع الطبقة + Reset Alignment إعادة ضبط المحاذاة + Centre the gradient (offset 0, 0) توسيط التدرج (إزاحة 0، 0) + Gradient Editor محرر التدرج + Gradient picker منتقي التدرج + Save As Preset حفظ كإعداد مسبق + The gradient the Gradient tool paints with التدرج الذي ترسم به أداة التدرج + Adds the current gradient to the Gradients panel يضيف التدرج الحالي إلى لوحة التدرجات + Gradient stops نقاط توقف التدرج + Select a type layer to edit its character and paragraph settings. حدد طبقة نص لتحرير إعدادات الحروف والفقرة فيها. + Text color لون النص + Type Options خيارات النص + Anti-aliasing method طريقة تنعيم الحواف + Horizontal type نص أفقي + Vertical type نص عمودي + Fill path with foreground color تعبئة المسار بلون المقدمة + Stroke path with brush رسم حد للمسار بالفرشاة + Load path as a selection تحميل المسار كتحديد + Make work path from selection إنشاء مسار عمل من التحديد + Add vector mask إضافة قناع متجهي + Create new path إنشاء مسار جديد + Delete path حذف المسار + Delete vector mask حذف القناع المتجهي + CPU (no GPU acceleration) CPU (دون تسريع GPU) + DirectX 12 DirectX 12 + GPU backend واجهة GPU الخلفية + Linux display server خادم عرض Linux + X11 X11 + Metal Metal + OpenGL OpenGL + Use tablet pressure استخدام ضغط اللوح + Vulkan Vulkan + Alt-click to define a source point to clone from Alt+نقر لتعريف نقطة مصدر للاستنساخ منها + No path to make a selection from: draw one with the Pen tool or select one in the Paths panel. لا يوجد مسار لإنشاء تحديد منه: ارسم مسارًا بأداة القلم أو حدد واحدًا في لوحة المسارات. + Cancel opening إلغاء الفتح + Cancelled opening {name} تم إلغاء فتح {name} + The document “{name}” does not have an embedded {mode} profile. لا يحتوي المستند «{name}» على ملف تعريف {mode} مضمّن. + The document “{name}” has an embedded color profile that does not match the current {mode} working space. يحتوي المستند «{name}» على ملف تعريف ألوان مضمّن لا يطابق فضاء عمل {mode} الحالي. + Embedded: {embedded} المضمّن: {embedded} + Working: {working} العمل: {working} + Developing {name} جارٍ تظهير {name} + Cancelled {label} تم إلغاء {label} + Esc to cancel Esc للإلغاء + Opened {name} تم فتح {name} + Opening {name} جارٍ فتح {name} + Saved {name} تم حفظ {name} + Saving {name} جارٍ حفظ {name} + Saving {percent} جارٍ الحفظ {percent} + A save to {name} is still running; try again when it finishes لا تزال عملية حفظ في {name} جارية؛ حاول مرة أخرى عند انتهائها + {label} is writing the file and can no longer be cancelled {label} يكتب الملف ولم يعد بالإمكان إلغاؤه + Opening {name}… جارٍ فتح {name}… + Opening… جارٍ الفتح… + Reading… جارٍ القراءة… + Working… جارٍ العمل… +@id select.all تحديد الكل +@id edit.purge.undo سجل التراجع + Delete Smart Filters حذف المرشحات الذكية + Enable Smart Filters تفعيل المرشحات الذكية + New Layer… طبقة جديدة… + Delete Layer… حذف الطبقة… + Color Range نطاق اللون + Select Similar Colors تحديد الألوان المتشابهة + New Selection تحديد جديد + Adaptive Wide Angle زاوية واسعة تكيفية + Chalk & Charcoal الطباشير والفحم + Charcoal فحم + Chrome كروم + Conté Crayon قلم Conté + Graphic Pen قلم رسومي + Halftone Pattern نمط نصف النغمة + Note Paper ورق ملاحظات + Photocopy نسخ ضوئي + Plaster جص + Reticulation تشبيك + Stamp ختم + Torn Edges حواف ممزقة + Water Paper ورق مائي + Canvas rotation تدوير لوحة الرسم + Extensions الامتدادات + Libraries المكتبات + 3D ثلاثي الأبعاد + Toolbars أشرطة الأدوات + Move تحريك + Wand العصا + Pencil قلم رصاص + Clone Stamp ختم الاستنساخ + Healing الإصلاح + Dodge تفتيح + Burn حرق + Pen القلم + Hand اليد + Sampler أداة العينات + Note tool أداة الملاحظة + Quick Selection التحديد السريع + Magnetic Lasso اللاسو المغناطيسي + History Brush فرشاة السجل + Art History Brush فرشاة سجل الفن + Pattern Stamp ختم النمط + Spot Healing إصلاح البقع + Red Eye العين الحمراء + Patch الترقيع + Content-Aware Move تحريك مراعٍ للمحتوى + Rotate View تدوير العرض + Perspective Crop اقتصاص المنظور + Color Replacement استبدال اللون + Dodge/Burn تفتيح/حرق + Dynamics الديناميكيات + Tilt الإمالة + Reset إعادة ضبط + Defaults restored. تمت استعادة الإعدادات الافتراضية. + Stop إيقاف + Create new set إنشاء مجموعة جديدة + Technology Previews معاينات التقنيات + New Group مجموعة جديدة + Layer Comp تركيب طبقات + Create new layer إنشاء طبقة جديدة + Group · {n} layer مجموعة · {n} طبقة + General Blend المزج العام + Advanced Blending المزج المتقدم + RGB RGB + Alpha ألفا + Spot Channel قناة لون خاص + Working Gray Plate صفيحة الرمادي العاملة + HSL/Grayscale HSL/تدرج رمادي + Tone Curve منحنى النغمة + Split Toning تلوين مقسّم + Lens Corrections تصحيحات العدسة + Camera Calibration معايرة الكاميرا + Snapshots اللقطات + Recovery الاسترداد + Fill Light إضاءة التعبئة + Convert to Grayscale تحويل إلى تدرج رمادي + Sharpness الحدة + Color Noise Reduction تقليل ضوضاء الألوان + Luminance Smoothness نعومة اللمعان + Make الشركة المصنعة + Model الطراز + Lens العدسة + F F + ISO ISO + Focal Length35mm البعد البؤري 35mm + Aspect Ratio نسبة العرض إلى الارتفاع + Time الوقت + Artist الفنان + Enter description… أدخل وصفًا… + ColorSync ColorSync + ProPhoto ProPhoto + sRGB sRGB + ACES ACES + Industry Standard معيار الصناعة + Uncoated CMYK CMYK غير مطلي + Newspaper صحيفة + Working Spaces فضاءات العمل + Color Management Policies سياسات إدارة الألوان + Detect Faces اكتشاف الوجوه + Localize Color Clusters تحديد مجموعات الألوان محليًا + Duplicated selection name اسم التحديد مكرر + Operation العملية + New channel only قناة جديدة فقط + Masked Areas المناطق المقنعة + Selected Areas المناطق المحددة + Spot Color لون خاص + Color indicates اللون يشير إلى + Create Snapshot إنشاء لقطة + Delete Snapshot حذف لقطة + New Snapshot لقطة جديدة + Snapshot 1 اللقطة 1 + Step Forward خطوة للأمام + Step Backward خطوة للخلف + Nonlinear History سجل غير خطي + Set New Snapshot as Default ضبط اللقطة الجديدة كافتراضية + Automatically Create First Snapshot إنشاء أول لقطة تلقائيًا + Automatically Create New Snapshot When Saving إنشاء لقطة جديدة تلقائيًا عند الحفظ + Show New Snapshot Dialog by Default إظهار نافذة اللقطة الجديدة افتراضيًا + Clear History مسح السجل + Panel Options… خيارات اللوحة… + View menu قائمة العرض + Keep view in sync إبقاء العرض متزامنًا + {zoom}% {zoom}% + Mouse Controls عناصر تحكم الفأرة + Initial Direction of Stroke الاتجاه الأولي للضربة + Direction of Stroke اتجاه الضربة + Humidity الرطوبة + Auto Clean Brush تنظيف الفرشاة تلقائيًا + Spacing: التباعد: + Brush Tip طرف الفرشاة + New Layer from Brush طبقة جديدة من الفرشاة + New Brush فرشاة جديدة + New Tool Preset إعداد أداة مسبق جديد + Auto-Leading تباعد الأسطر التلقائي + Scale Horizontally تحجيم أفقي + Scale Vertically تحجيم عمودي + Baseline Shift إزاحة خط الأساس + Mac LCD Mac LCD + Mac Sharp Mac حاد + Mac Crisp Mac واضح + Mac Strong Mac قوي + Mac Smooth Mac ناعم + Superscript مرتفع (فوق السطر) + Subscript منخفض (تحت السطر) + Ligature حرف مركب + Alternative بديل + Roman روماني + Bold Italic غامق مائل + Ultra Light رفيع للغاية + Extra Light رفيع جدًا + Semi Bold شبه غامق + Extra Bold غامق جدًا + Ultra Bold غامق للغاية + Condensed مضغوط + First Line Indent مسافة بادئة للسطر الأول + Hanging Punctuation علامات الترقيم المعلقة + Roman Hanging Punctuation علامات الترقيم الرومانية المعلقة + Avoid Widows/Orphans تجنب الأسطر اليتيمة/الأرملة + Compose تنسيق + Adobe Single-line Composer Adobe Single-line Composer + Adobe Every-line Composer Adobe Every-line Composer + Justification الضبط + Word Spacing تباعد الكلمات + Letter Spacing تباعد الحروف + Glyph Scaling تحجيم الأشكال الحرفية + Auto-leading % التباعد التلقائي % + Single Word Justification ضبط الكلمة المفردة + Alignment المحاذاة + Justify ضبط + Glyph شكل حرفي + Alternates for Current Selection بدائل التحديد الحالي + Digits الأرقام + Symbols الرموز + Punctuation علامات الترقيم + Path: المسار: + Path to Illustrator… المسار إلى Illustrator… + Make Work Path إنشاء مسار عمل + Make Selection إنشاء تحديد + Fill Path تعبئة المسار + Stroke Path رسم حد للمسار + Clipping Path مسار الاقتطاع + New Path مسار جديد + Duplicate Path تكرار المسار + Delete Path حذف المسار + Auto-Hide إخفاء تلقائي + W W + H H + X X + Y Y + Frame Sync مزامنة الإطار + Quick Sync مزامنة سريعة + Audio الصوت + Frame Duration مدة الإطار + Loop تكرار + Split at Playhead تقسيم عند رأس التشغيل + Flatten Frames Into Clips تسطيح الإطارات إلى مقاطع + Flatten Frames Into Layers تسطيح الإطارات إلى طبقات + Convert Frames > Video Layers تحويل الإطارات > طبقات فيديو + New Video Layer طبقة فيديو جديدة + New Video Group مجموعة فيديو جديدة + Limit Playback تحديد التشغيل + Enable Timeline Quick Config تفعيل التهيئة السريعة للمخطط الزمني + Set Start Timecode… ضبط الرمز الزمني للبداية… + Timecode الرمز الزمني + 30 fps 30 إطار/ث + 25 fps 25 إطار/ث + 24 fps 24 إطار/ث + 15 fps 15 إطار/ث + 10 fps 10 إطارات/ث + Current Time الزمن الحالي + Out خروج + In دخول + Duration المدة + Repeat تكرار + Play Once تشغيل مرة واحدة + Info Options… خيارات المعلومات… + First Color Readout قراءة اللون الأولى + Second Color Readout قراءة اللون الثانية + Actual Color اللون الفعلي + Grayscale Slider منزلق التدرج الرمادي + Web Color لون الويب + HSB Color لون HSB + Total Ink إجمالي الحبر + Opacity Mask قناع التعتيم + Ruler المسطرة + Document Size حجم المستند + Timing التوقيت + Status Information معلومات الحالة + Saved Multichannel قنوات متعددة محفوظة + Mouse Coordinates إحداثيات الفأرة + Ruler Units وحدات المسطرة + Hide إخفاء + New Layer Comp تركيب طبقات جديد + Duplicate Layer Comp تكرار تركيب الطبقات + Rename Layer Comp إعادة تسمية تركيب الطبقات + Apply Layer Comp تطبيق تركيب الطبقات + Update Layer Comp تحديث تركيب الطبقات + Restore last viewed comp استعادة آخر تركيب تمت مشاهدته + Method الطريقة + Select All Layers تحديد كل الطبقات + Keep proportions الحفاظ على النسب + Interpolation الاستيفاء + Author المؤلف + Caption التعليق + Caption Credits حقوق التعليق + Keywords الكلمات المفتاحية + Copyright Info URL رابط معلومات حقوق النشر + Copyright Status حالة حقوق النشر + Copyrighted محمي بحقوق النشر + Public Domain ملك عام + Unknown غير معروف + Credit الإسناد + Transmission Reference مرجع الإرسال + Urgency الاستعجال + High عالٍ + Low منخفض + Category الفئة + Supplemental Categories فئات إضافية + Object Name / Title اسم الكائن / العنوان + Date Created تاريخ الإنشاء + City المدينة + Location الموقع + Province / State المحافظة / الولاية + Country البلد + Byline اسم الكاتب + Byline Title لقب الكاتب + Phone الهاتف + Email البريد الإلكتروني + URLs الروابط + Last Modified آخر تعديل + EXIF EXIF + GPS GPS + Camera Data بيانات الكاميرا + Camera Model طراز الكاميرا + Camera Make الشركة المصنعة للكاميرا + EXIF Version إصدار EXIF + Exposure Program برنامج التعريض + Aperture فتحة العدسة + Shutter Speed سرعة المغلاق + Metering Mode وضع القياس الضوئي + Light Source مصدر الضوء + Flash الفلاش + Lens Info معلومات العدسة + ISO Speed سرعة ISO + Subject Distance مسافة الموضوع + DateTime Original تاريخ ووقت الأصل + Create Date تاريخ الإنشاء + Modify Date تاريخ التعديل + Software البرنامج + Raw Data البيانات الخام + Advanced متقدم + Import… استيراد… + PDF Presentation… عرض PDF التقديمي… + Create Multiple Picture Packages إنشاء حزم صور متعددة + Picture Package… حزمة الصور… + Web Photo Gallery… معرض صور الويب… + Choose… اختيار… + Select Folder… تحديد مجلد… + Override Action "Save" Commands تجاوز أوامر "حفظ" في الإجراء + File Naming تسمية الملفات + Compatibility التوافق + Mac OS Mac OS + Unix Unix + Include ICC Profile تضمين ملف تعريف ICC + Error File ملف الأخطاء + Stop For Errors التوقف عند الأخطاء + Log Errors To File تسجيل الأخطاء في ملف + Errors الأخطاء + Settings الإعدادات + Settings: الإعدادات: + Working Space فضاء العمل + RGB: RGB: + CMYK: CMYK: + Gray: الرمادي: + Spot: اللون الخاص: + Advanced Controls عناصر تحكم متقدمة + Desaturate Monitor Colors By إزالة تشبع ألوان الشاشة بمقدار + Blend RGB Colors Using Gamma 1.0 مزج ألوان RGB باستخدام غاما 1.0 + Profile Mismatches: Ask When Opening عدم تطابق ملفات التعريف: السؤال عند الفتح + Ask When Pasting السؤال عند اللصق + Missing Profiles: Ask When Opening ملفات التعريف المفقودة: السؤال عند الفتح + Embed profiles تضمين ملفات التعريف + Ask Before Saving Saved Embedded السؤال قبل حفظ الملفات ذات ملفات التعريف المضمّنة + Coerce to sRGB فرض sRGB + sRGB IEC61966-2.1 sRGB IEC61966-2.1 + Adobe RGB (1998) Adobe RGB (1998) + ProPhoto RGB ProPhoto RGB + ColorMatch RGB ColorMatch RGB + Wide Gamut RGB Wide Gamut RGB + Apple RGB Apple RGB + NTSC (1953) NTSC (1953) + PAL/SECAM PAL/SECAM + SMPTE C SMPTE C + HDTV (Rec. 709) HDTV (Rec. 709) + CIE RGB CIE RGB + Graphic and web الرسوميات والويب + Minimalistic مبسّط + Expand All Groups توسيع كل المجموعات + Photo (2 × 3 in) صورة (2 × 3 بوصة) + Photo (4 × 6 in) صورة (4 × 6 بوصة) + Photo (5 × 7 in) صورة (5 × 7 بوصة) + Photo (8 × 10 in) صورة (8 × 10 بوصة) + Recent Items العناصر الأخيرة + Save Preset… حفظ الإعداد المسبق… + Delete Preset… حذف الإعداد المسبق… + Preset Name: اسم الإعداد المسبق: + Width and Height العرض والارتفاع + Color Profile ملف تعريف الألوان + Units الوحدات + Columns الأعمدة + Create new count group إنشاء مجموعة عدّ جديدة + Adjustment Layer طبقة ضبط + Pencil Tool أداة القلم الرصاص + Pixel بكسل + Adjustment التعديل + Drag (lasso) or click points (polygonal) · {add} add · {sub} subtract اسحب (لاسو) أو انقر على النقاط (مضلع) · {add} إضافة · {sub} طرح + Drag a crop box · drag inside to move · edges resize ({ratio} ratio, {centre} centre) · Space moves while drawing · arrows nudge · X swaps orientation · {commit} commits · Esc cancels اسحب مربع اقتصاص · اسحب من الداخل للنقل · الحواف لتغيير الحجم ({ratio} للنسبة، {centre} للمركز) · Space ينقل أثناء الرسم · الأسهم للدفع · X يبدّل الاتجاه · {commit} للتأكيد · Esc للإلغاء + {mode} Color · {bits} bit لون {mode} · {bits} بت + Drag to move the layer اسحب لنقل الطبقة + Scrubby Zoom التكبير بالسحب + Auto Erase محو تلقائي + Color Adaptation تكيّف اللون + Preserve Transparency الحفاظ على الشفافية + shortcut اختصار + Go to Layer الانتقال إلى الطبقة + Saved تم الحفظ + After (X) بعد (X) + Current الحالي + Reference point location موقع نقطة المرجع + Toggle reference point تبديل نقطة المرجع + Arc قوس + Arch قنطرة + Bulge انتفاخ + Shell Lower قوقعة سفلية + Shell Upper قوقعة علوية + Flag علم + Fish سمكة + Wave موجة + Rise ارتفاع + Inflate نفخ + Twist التواء + Squeeze عصر + Add Pins إضافة دبابيس + Delete Pins حذف الدبابيس + Rotate Auto تدوير تلقائي + Rotate Fixed تدوير ثابت + Create Plane إنشاء مستوى + Edit Plane تحرير المستوى + Select Plane تحديد المستوى + Measure قياس + Heal إصلاح + Heal Off الإصلاح متوقف + Heal On الإصلاح قيد التشغيل + Heal Auto إصلاح تلقائي + Blend مزج + Brush Size حجم الفرشاة + Heal Color إصلاح اللون + Mask القناع + Channel القناة + Rectangle مستطيل + Result النتيجة + New Channel قناة جديدة + Save Selection حفظ التحديد + Load Selection تحميل التحديد + Duplicate تكرار + Fast سريع + Accurate دقيق + Add to إضافة إلى + Subtract from طرح من + Intersect with تقاطع مع + Capture Comp التقاط التركيب + No Layer Comps لا توجد تركيبات طبقات + Adobe PDF Presets… إعدادات Adobe PDF المسبقة… + 3D… ثلاثي الأبعاد… + Technology Previews… معاينات التقنيات… + Background from Layer خلفية من طبقة + Add a mask (from the selection; ⌥ inverts) إضافة قناع (من التحديد؛ ⌥ يعكسه) + Add to selection (⇧) إضافة إلى التحديد (⇧) + Airbrush: keeps painting while the pointer rests. الرش الهوائي: يواصل الرسم ما دام المؤشر ثابتًا. + Click the first point or press ↵ to close · Esc cancels انقر على النقطة الأولى أو اضغط ↵ للإغلاق · Esc للإلغاء + Click to add a point · drag off or ⌘/Ctrl-click or Delete to remove انقر لإضافة نقطة · اسحبها بعيدًا أو ⌘/Ctrl+نقر أو Delete للإزالة + Click to apply, ⌥-click to clear overrides, double-click for Style Options انقر للتطبيق، ⌥+نقر لمسح التجاوزات، نقر مزدوج لخيارات النمط + Click to zoom in · ⌥-click to zoom out انقر للتكبير · ⌥+نقر للتصغير + Click: corner · Drag: smooth · Click first point: close · ↩ finish · Esc cancel نقر: زاوية · سحب: ناعم · نقر على النقطة الأولى: إغلاق · ↩ إنهاء · Esc إلغاء + Commit Perspective Warp (↩) تأكيد التواء المنظور (↩) + Commit Puppet Warp (↩) تأكيد التواء الدمية (↩) + Commit any current edits (⌘↩) تأكيد أي تعديلات حالية (⌘↩) + Commit current crop operation (↵) تأكيد عملية الاقتصاص الحالية (↵) + Commit transform (↩) تأكيد التحويل (↩) + Commit warp (↩) تأكيد الالتواء (↩) + Create a new layer (⇧⌘N) إنشاء طبقة جديدة (⇧⌘N) + Custom pattern نمط مخصص + General Brushes فرش عامة + Grid (⌘') الشبكة (⌘') + Intersect with selection (⇧⌥) تقاطع مع التحديد (⇧⌥) + New document… ⌘N مستند جديد… ⌘N + Open… ⌘O فتح… ⌘O + Rulers (⌘R) المساطر (⌘R) + Search commands (⌘K) البحث في الأوامر (⌘K) + Show Guides (⌘;) إظهار خطوط التوجيه (⌘;) + Subtract from selection (⌥) طرح من التحديد (⌥) + Uses the foreground and background colors. يستخدم لوني المقدمة والخلفية. + ↑↓ navigate ↵ run esc close ↑↓ تنقل ↵ تشغيل esc إغلاق + Adds grain to the soft edges of the brush tip. يضيف حبيبات إلى الحواف الناعمة لطرف الفرشاة. + Keeps the current texture when switching presets. يحتفظ بالملمس الحالي عند تبديل الإعدادات المسبقة. + Watercolour look: lighter interior, darker rims. مظهر الألوان المائية: داخل أفتح وحواف أغمق. + Collapse group (⌥-click: all groups) طي المجموعة (⌥+نقر: كل المجموعات) + Expand group (⌥-click: all groups) توسيع المجموعة (⌥+نقر: كل المجموعات) + Hide the layer's effects (⌥-click: all layers) إخفاء تأثيرات الطبقة (⌥+نقر: كل الطبقات) + Show the layer's effects (⌥-click: all layers) إظهار تأثيرات الطبقة (⌥+نقر: كل الطبقات) + New from Clipboard جديد من الحافظة + Free Transform a Copy تحويل حر لنسخة + Transform Again on a Copy تحويل مرة أخرى على نسخة + Select Layer Above تحديد الطبقة التي فوق + Select Layer Below تحديد الطبقة التي تحت + Select Top Layer تحديد الطبقة العليا + Select Bottom Layer تحديد الطبقة السفلى + Add Layer Above to Selection إضافة الطبقة التي فوق إلى التحديد + Add Layer Below to Selection إضافة الطبقة التي تحت إلى التحديد + 8 bit 8 بت + Integer عدد صحيح + 16 bit 16 بت + 32 bit (float) 32 بت (عائم) + Floating point فاصلة عائمة + Use Global Light استخدام الضوء العام + Native file drag-and-drop is unavailable السحب والإفلات الأصلي للملفات غير متاح + Native file drag-and-drop is not supported on Wayland yet. Use File › Open, or copy the image in your file manager and paste it with {paste}. السحب والإفلات الأصلي للملفات غير مدعوم على Wayland بعد. استخدم ملف › فتح، أو انسخ الصورة في مدير الملفات والصقها باستخدام {paste}. + To drop files, start PhotoCraft under XWayland: `{command}` لإفلات الملفات، شغّل PhotoCraft تحت XWayland: `{command}` + Or set Preferences › Performance › Linux display server to X11: PhotoCraft then always starts under XWayland. أو اضبط التفضيلات › الأداء › خادم عرض Linux على X11: عندها يبدأ PhotoCraft دائمًا تحت XWayland. + Edit › Paste تحرير › لصق + Use File › Open, or paste a copied image with {paste}. استخدم ملف › فتح، أو الصق صورة منسوخة باستخدام {paste}. + Mixer Brush Tool أداة فرشاة المزج + Color Replacement Tool أداة استبدال اللون + Invalid {mode} profile ملف تعريف {mode} غير صالح + Unnamed {mode} profile ملف تعريف {mode} بلا اسم + Show bounding box when dragging layer إظهار مربع الإحاطة عند سحب الطبقة + System title bar شريط عنوان النظام + Freeze Lasso: drag to freeze an area, Alt-drag to thaw it (L) لاسو التجميد: اسحب لتجميد منطقة، Alt+سحب لإذابتها (L) + Rendering Mode وضع التصيير + Automatic (recommended) تلقائي (موصى به) + CPU / Compatibility CPU / التوافق + Automatic uses GPU acceleration when available and falls back to CPU rendering on errors. يستخدم الوضع التلقائي تسريع GPU عند توفره ويعود إلى تصيير CPU عند حدوث أخطاء. + Switched to CPU rendering تم التحويل إلى تصيير CPU + GPU acceleration could not continue. Your documents are unchanged. تعذّر استمرار تسريع GPU. مستنداتك لم تتغير. + PhotoCraft is using the CPU image compositor. The window may still use your graphics adapter. يستخدم PhotoCraft مُركِّب الصور على CPU. قد تظل النافذة تستخدم بطاقة الرسوميات لديك. + Retry GPU requires a restart. Save your work first. تتطلب إعادة محاولة GPU إعادة التشغيل. احفظ عملك أولًا. + Keep Using CPU متابعة استخدام CPU + Retry GPU إعادة محاولة GPU + GPU Backend واجهة GPU الخلفية + Details التفاصيل + Rendering mode وضع التصيير + Shadow Clipping Warning (U) تحذير اقتطاع الظلال (U) + Highlight Clipping Warning (O) تحذير اقتطاع الإضاءات العالية (O) + Show Lab Color Readouts إظهار قراءات ألوان Lab + Show Vectorscope إظهار راسم المتجهات + Show Red at 3 o'clock إظهار الأحمر عند الساعة 3 + Show Skin Tone Indicator إظهار مؤشر لون البشرة + Tone Histogram مدرج النغمات التكراري + Show Selected Region إظهار المنطقة المحددة +cameraRaw Light الضوء + Camera Raw Filter ({layer}) مرشح Camera Raw ({layer}) + Camera Raw ({name}) Camera Raw ({name}) +cameraRaw Lights الأجزاء الفاتحة +cameraRaw Darks الأجزاء الداكنة +cameraRaw Blacks السود +cameraRaw Amount المقدار +cameraRaw Tint الصبغة +cameraRaw Masking التقنيع +cameraRaw Blending المزج + Patch Tool أداة الترقيع + Patch: الترقيع: + Lasso around an area, then drag the selection حدّد منطقة بأداة اللاسو ثم اسحب التحديد + Transform On Drop التحويل عند الإفلات + Scale or rotate the moved area, then press {key} حجّم المنطقة المنقولة أو دوّرها ثم اضغط {key} + Now drag the selection onto another area اسحب الآن التحديد إلى منطقة أخرى + 3 x 3 3 × 3 + 4 x 4 4 × 4 + 5 x 5 5 × 5 + Grid: الشبكة: + Edit Type تحرير النص + New Style… نمط جديد… + Style {name} saved تم حفظ النمط {name} + Create new style (from the selected type) إنشاء نمط جديد (من النص المحدد) + Create new style from the selected layer إنشاء نمط جديد من الطبقة المحددة + Make Default جعله افتراضيًا + Reset to Default إعادة الضبط إلى الافتراضي + Full-resolution preview unavailable المعاينة بالدقة الكاملة غير متاحة + No patterns لا توجد أنماط + Enable {name} تفعيل {name} + Hold Alt while drawing for straight segments اضغط مطولًا على Alt أثناء الرسم للحصول على مقاطع مستقيمة + Drag or click polygon points · hold Alt during lasso for straight segments · {add} add · {sub} before drawing subtracts اسحب أو انقر على نقاط المضلع · اضغط مطولًا على Alt أثناء اللاسو للحصول على مقاطع مستقيمة · {add} إضافة · {sub} قبل الرسم للطرح + Extend تمديد + Structure: البنية: + Content-Aware Move Tool أداة التحريك المراعي للمحتوى + TIFF Options خيارات TIFF + Targa Options خيارات Targa + 24 bits/pixel 24 بت/بكسل + 32 bits/pixel 32 بت/بكسل + Including layers will increase file size. سيؤدي تضمين الطبقات إلى زيادة حجم الملف. + Discard Layers and Save a Copy تجاهل الطبقات وحفظ نسخة + Don't show again عدم الإظهار مرة أخرى + Save failed: {error} فشل الحفظ: {error} + Save cancelled تم إلغاء الحفظ + Couldn't place {name}: {error} تعذر وضع {name}: {error} + Magnetic Lasso Tool أداة اللاسو المغناطيسي + Frequency التردد + Use tablet pressure to change pen width استخدام ضغط اللوح لتغيير عرض القلم + About حول + Contributors المساهمون + Models النماذج + Sort فرز + Username اسم المستخدم + Display name الاسم المعروض + Real name الاسم الحقيقي + Reverse the order عكس الترتيب + Grab bag متفرقات + Table جدول + Name (A–Z) الاسم (A–Z) + Merged PRs طلبات الدمج المدمجة + Commits الإيداعات + Lines added الأسطر المضافة + Lines deleted الأسطر المحذوفة + Line delta فرق الأسطر + Binary assets added تمت إضافة أصول ثنائية + Binary assets removed تمت إزالة الأصول الثنائية + First commit أول إيداع + First الأول + Last commit آخر إيداع + Last الأخير + Contributors: {contributors} · Commits: {commits} المساهمون: {contributors} · الإيداعات: {commits} + No contributor data was built into this copy. لا تتضمن هذه النسخة بيانات المساهمين. + No model credits were built into this copy. لا تتضمن هذه النسخة شارات النماذج. + Company الشركة + Version الإصدار + % of all commits % من كل الإيداعات + Lines +/− الأسطر +/− + @{login}: {prs} PRs, {commits} commits, +{added} / −{deleted} lines (Δ {delta}), +{binAdded} / −{binDeleted} binary assets, {first} – {last} @{login}: {prs} طلبات دمج، {commits} إيداعات، +{added} / −{deleted} أسطر (Δ {delta})، +{binAdded} / −{binDeleted} أصول ثنائية، {first} – {last} + Create new swatch إنشاء عينة لون جديدة + New Swatch… عينة لون جديدة… + New Swatch Group… مجموعة عينات ألوان جديدة… + Import Swatches… استيراد عينات الألوان… + Replace Swatches… استبدال عينات الألوان… + Export Swatches… تصدير عينات الألوان… + Export Swatches for Exchange… تصدير عينات الألوان للتبادل… + Reset Swatches إعادة ضبط عينات الألوان + Add to Swatches إضافة إلى عينات الألوان + Blend If: المزج إذا: + Channels: القنوات: + Knockout تفريغ + Apply At Canvas Bounds تطبيق عند حدود لوحة الرسم + Color Picker (Text Color) منتقي الألوان (لون النص) + Color Picker ({name}) منتقي الألوان ({name}) + Color Picker (Fill Color) منتقي الألوان (لون التعبئة) + Fill color لون التعبئة + Color Picker (Stroke Color) منتقي الألوان (لون الحد) + Stroke color لون الحد + Pick screen color انتقاء لون من الشاشة + Sample a pixel anywhere on the screen أخذ عينة من بكسل في أي مكان على الشاشة + Click to pick · Esc to cancel انقر للانتقاء · Esc للإلغاء + Pick a screen pixel or press Esc to cancel انتقِ بكسلًا من الشاشة أو اضغط Esc للإلغاء + Scroll to zoom مرّر للتكبير + Show/Hide All Panels إظهار/إخفاء كل اللوحات + Show/Hide Panels إظهار/إخفاء اللوحات + Could not open تعذر الفتح + {path}: the path is not valid Unicode; rename the file and open it again. {path}: المسار ليس Unicode صالحًا؛ أعد تسمية الملف وافتحه مرة أخرى. + Contents: المحتويات: + Custom Pattern: النمط المخصص: + Foreground Color لون المقدمة + Color… اللون… + 50% Gray رمادي 50% + {size} (was {old}) {size} (كان {old}) + Cone مخروط + Cone (Inverted) مخروط (معكوس) + Domed مقبّب + Domed (Inverted) مقبّب (معكوس) + Diagonal (Descending) قطري (تنازلي) + Contour Editor محرر الكنتور + Anti-aliased بتنعيم الحواف + Corner الزاوية + Gloss Contour كنتور اللمعان + Contour الكنتور + Cone - Inverted مخروط - معكوس + Cove - Deep تقعر - عميق + Cove - Shallow تقعر - ضحل + Gaussian غاوسي + Half Round نصف دائري + Ring حلقة + Ring - Double حلقة - مزدوجة + Rolling Slope - Descending منحدر متدحرج - تنازلي + Rounded Steps خطوات مستديرة + Sawtooth 1 سن المنشار 1 + Red Eye Tool أداة العين الحمراء + Pupil Size حجم البؤبؤ + Darken Amount مقدار التغميق + Click a red pupil to neutralize it انقر على بؤبؤ أحمر لتحييده + open source مفتوح المصدر + …and {n} more …و{n} أخرى + Eyedroppers: القطّارات: + Set Black Point ضبط نقطة الأسود + Set Neutral Gray Point ضبط نقطة الرمادي المحايد + Set White Point ضبط نقطة الأبيض + Unavailable in this color mode غير متاح في وضع اللون هذا + Selection Preview: معاينة التحديد: + Black Matte ماتّ أسود + White Matte ماتّ أبيض + Seafoam أخضر بحري + Indigo نيلي + Fuchsia فوشيا + Violet بنفسجي + Large document: redrawing on the CPU مستند كبير: إعادة الرسم على CPU + This redraw took {seconds} s on the CPU. استغرقت إعادة الرسم هذه {seconds} ث على CPU. + Edits that change the whole document, such as a layer's blend mode, opacity or visibility, redraw all of it. التعديلات التي تغيّر المستند بالكامل، مثل وضع المزج أو التعتيم أو ظهور طبقة، تعيد رسمه كله. + Its layers don't fit the GPU memory budget. Raising Memory usage in Preferences › Performance raises the budget, up to a quarter of this computer's memory. لا تتسع طبقاته لميزانية ذاكرة GPU. يؤدي رفع «استخدام الذاكرة» في التفضيلات › الأداء إلى رفع الميزانية حتى ربع ذاكرة هذا الحاسوب. + The GPU compositor wasn't used: {reason} لم يُستخدم مُركِّب GPU: {reason} +fontWeight Thin رفيع +fontWeight ExtraLight رفيع جدًا +fontWeight Light خفيف +fontWeight Regular عادي +fontWeight Medium متوسط +fontWeight SemiBold شبه غامق +fontWeight Bold غامق +fontWeight ExtraBold غامق جدًا +fontWeight Black أسود +fontWeight Italic مائل + Pattern Stamp Tool أداة ختم النمط + Impressionist انطباعي + Rotate View Tool أداة تدوير العرض + Reset View إعادة ضبط العرض + Drag around the centre to rotate the view · Shift constrains to 15° اسحب حول المركز لتدوير العرض · Shift يقيّد إلى 15° + Dual Axis محوران + Diagonal قطري + Transform Symmetry تناظر التحويل + Point Sample عينة نقطية + 3 by 3 Average متوسط 3 × 3 + 5 by 5 Average متوسط 5 × 5 + 11 by 11 Average متوسط 11 × 11 + 31 by 31 Average متوسط 31 × 31 + 51 by 51 Average متوسط 51 × 51 + 101 by 101 Average متوسط 101 × 101 + Sample Size: حجم العينة: + All Layers No Adjustments كل الطبقات دون تعديلات + Current & Below No Adjustments الحالية وما تحتها دون تعديلات + Show Sampling Ring إظهار حلقة أخذ العينات + Out of gamut for printing: click for the nearest printable colour خارج النطاق اللوني للطباعة: انقر لأقرب لون قابل للطباعة + Not a web colour: click for the nearest web colour ليس لون ويب: انقر لأقرب لون ويب + Color to Alpha… اللون إلى ألفا… + Transparency Threshold عتبة الشفافية + Opacity Threshold عتبة التعتيم + PhotoCraft — Screen Color Picker PhotoCraft — منتقي ألوان الشاشة + Rasterize svg groups deeper than تحويل مجموعات SVG الأعمق من + 0 turns this threshold off; SVG groups nested deeper than 100 levels are always rasterized. القيمة 0 تعطّل هذه العتبة؛ تُحوَّل مجموعات SVG المتداخلة بعمق أكبر من 100 مستوى إلى بكسلات دائمًا. + Rule of Thirds قاعدة الأثلاث + Triangle مثلث + Golden Ratio النسبة الذهبية + Golden Spiral الحلزون الذهبي + Auto Show Overlay إظهار التراكب تلقائيًا + Always Show Overlay إظهار التراكب دائمًا + Never Show Overlay عدم إظهار التراكب أبدًا + Cycle Overlay تدوير التراكب + Cycle Orientation تدوير الاتجاه + Set the overlay options for the Crop tool ضبط خيارات التراكب لأداة الاقتصاص + Alt-click went to the desktop, which moves windows with Alt-drag. Set its window-move key to Super, or latch Alt in Window › Modifier Keys. ذهب Alt+نقر إلى سطح المكتب الذي ينقل النوافذ بـ Alt+سحب. اضبط مفتاح نقل النوافذ فيه على Super، أو ثبّت Alt في نافذة › المفاتيح المساعدة. + Color Picker (Layer Style Color) منتقي الألوان (لون نمط الطبقة) + Auto Hide Notifications إخفاء الإشعارات تلقائيًا + Notification Duration (seconds) مدة الإشعار (ثوانٍ) + Appearance Mode وضع المظهر + Presentation العرض التقديمي + Dark Theme السمة الداكنة + Light Theme السمة الفاتحة + Pro Medium Pro متوسط + Studio Light Studio فاتح + Next Appearance Mode وضع المظهر التالي + Sync with system المزامنة مع النظام + Active نشط + Color Picker (Solid Color) منتقي الألوان (لون ثابت) + Straighten the image by drawing a line on it قوّم الصورة برسم خط عليها + Set additional Crop options ضبط خيارات اقتصاص إضافية + Show Cropped Area إظهار المنطقة المقتصة + Enable Crop Shield تفعيل درع الاقتصاص + Match Canvas مطابقة لوحة الرسم + Auto Adjust Opacity ضبط التعتيم تلقائيًا + Crop Shield color لون درع الاقتصاص + Color Picker (Crop Shield Color) منتقي الألوان (لون درع الاقتصاص) + From Center من المركز + Link radii ربط أنصاف الأقطار + Star Ratio: نسبة النجمة: + Create Rectangle إنشاء مستطيل + Create Ellipse إنشاء قطع ناقص + Create Triangle إنشاء مثلث + Create Polygon إنشاء مضلع + Pressure curve منحنى الضغط + Click to add a point, right-click to remove انقر لإضافة نقطة، وانقر بالزر الأيمن للإزالة + Some brush presets could not be loaded تعذر تحميل بعض إعدادات الفرشاة المسبقة + Retry saving presets إعادة محاولة حفظ الإعدادات المسبقة + Brush preset changes are not saved: {error} لم تُحفظ تغييرات إعدادات الفرشاة المسبقة: {error} + Keep this tab open to retain your brushes. أبقِ علامة التبويب هذه مفتوحة للاحتفاظ بفرشك. + Browser storage is unavailable; brushes are session-only. Keep this tab open to retain them. تخزين المتصفح غير متاح؛ الفرش للجلسة الحالية فقط. أبقِ علامة التبويب هذه مفتوحة للاحتفاظ بها. + Saving brush presets… Keep this tab open until saving finishes. جارٍ حفظ إعدادات الفرشاة المسبقة… أبقِ علامة التبويب هذه مفتوحة حتى ينتهي الحفظ. + Reflect انعكاس + Glow توهج + Negation نفي + XOR XOR + Color Burn (Paint.NET) حرق اللون (Paint.NET) + Color Dodge (Paint.NET) تفتيح اللون (Paint.NET) + Stroke Options خيارات الحد + Solid صلب + Dashed متقطع + Dotted منقط + Caps النهايات + Butt / Flat مسطحة + Corners الزوايا + Miter حادة + Round مستديرة + Bevel مشطوفة + Miter limit حد الزاوية الحادة + Dashed line خط متقطع + Dash شرطة + Gap فجوة + Dash / gap lengths × stroke width أطوال الشرطة/الفجوة × عرض الحد + Add pair إضافة زوج + Remove pair إزالة زوج + Dash offset إزاحة الشرطة + Open paths use centered strokes تستخدم المسارات المفتوحة حدودًا متوسطة + Use finite lengths and a positive pattern total استخدم أطوالًا محدودة ومجموعًا موجبًا للنمط + No subject found — try Object Selection or the Lasso لم يُعثر على موضوع — جرّب تحديد الكائن أو اللاسو + Quick Selection found nothing there لم يجد التحديد السريع شيئًا هناك + Object Selection found nothing there — try a tighter rectangle لم يجد تحديد الكائن شيئًا هناك — جرّب مستطيلًا أضيق + No subject found — try a rectangle around the object لم يُعثر على موضوع — جرّب مستطيلًا حول الكائن + Click the first point or press {key} to close · {del} removes a point · Esc cancels انقر على النقطة الأولى أو اضغط {key} للإغلاق · {del} يزيل نقطة · Esc للإلغاء + Click, then move along an edge · click to fasten a point · {alt}-click for a straight segment · double-click to close انقر ثم تحرك على طول حافة · انقر لتثبيت نقطة · {alt}+نقر لمقطع مستقيم · نقر مزدوج للإغلاق + Follows only edges this close to the pointer ([ and ] change it) يتتبع الحواف القريبة من المؤشر بهذا القدر فقط ([ و ] لتغييره) + Higher values follow only edges that contrast sharply with their surroundings القيم الأعلى تتتبع فقط الحواف التي تتباين بشدة مع محيطها + How often fastening points are placed by themselves عدد مرات وضع نقاط التثبيت تلقائيًا + Appearance Settings… إعدادات المظهر… + Add to favorites إضافة إلى المفضلة + Remove from favorites إزالة من المفضلة +cameraData Make الشركة المصنعة +cameraData Model الطراز +cameraData Date Taken تاريخ الالتقاط +cameraData Exposure التعريض +cameraData F-Stop فتحة العدسة (F-Stop) +cameraData ISO Speed سرعة ISO +cameraData Focal Length البعد البؤري +cameraData Focal Length (35 mm) البعد البؤري (35 mm) +cameraData Lens العدسة + Activate Panel تفعيل اللوحة + Change Panel Group تغيير مجموعة اللوحات + Change Panel Layout تغيير تخطيط اللوحات + Close Panel إغلاق اللوحة + Dock Panel تثبيت اللوحة + Float Panel تعويم اللوحة + Move Panel نقل اللوحة + Group with تجميع مع + Panel menu قائمة اللوحة + Resize panel window تغيير حجم نافذة اللوحة + Resize panels تغيير حجم اللوحات + Use Classic Mode استخدام الوضع الكلاسيكي + Auto Center Preview توسيط المعاينة تلقائيًا + Next Document المستند التالي + Previous Document المستند السابق + W x H x Resolution العرض × الارتفاع × الدقة + Front Image الصورة الأمامية + Frame Tool أداة الإطار + Create a new rectangular frame إنشاء إطار مستطيل جديد + Create a new elliptical frame إنشاء إطار بيضاوي جديد + Include in playback تضمين في التشغيل + Perspective Crop Tool أداة اقتصاص المنظور + Show Grid إظهار الشبكة + Drag a box or click four corners · drag the corners onto the edges of a skewed shape · {commit} commits · Esc cancels اسحب مربعًا أو انقر على أربع زوايا · اسحب الزوايا إلى حواف شكل مائل · {commit} للتأكيد · Esc للإلغاء + Artboard Tool أداة لوحة العمل + Make Portrait جعله عموديًا + Make Landscape جعله أفقيًا + Add New Artboard إضافة لوحة عمل جديدة + Freeform Pen Tool أداة القلم الحر + Curvature Pen Tool أداة قلم الانحناء + Curve Fit: ملاءمة المنحنى: + Drag: draw freehand · {alt}-click: straight segment · Release on the start point: close سحب: رسم حر · {alt}+نقر: مقطع مستقيم · الإفلات على نقطة البداية: إغلاق + Click: smooth point · Double-click: corner · Drag a point: move · Click first point: close · {key} finish نقر: نقطة ناعمة · نقر مزدوج: زاوية · سحب نقطة: نقل · نقر على النقطة الأولى: إغلاق · {key} إنهاء + New Crop Preset… إعداد اقتصاص مسبق جديد… + Delete Crop Preset… حذف إعداد الاقتصاص المسبق… + Select the crop presets to delete: حدد إعدادات الاقتصاص المسبقة المراد حذفها: + Select the crop presets to delete حدد إعدادات الاقتصاص المسبقة المراد حذفها + Enter a name for the crop preset أدخل اسمًا لإعداد الاقتصاص المسبق + There is no crop size or ratio to save لا يوجد حجم اقتصاص أو نسبة للحفظ + Scale: التحجيم: + Snap to Origin المحاذاة إلى نقطة الأصل + Search settings… البحث في الإعدادات… + No matching settings لا توجد إعدادات مطابقة + Loading fonts… جارٍ تحميل الخطوط… + Tool الأداة + Simulate Pressure محاكاة الضغط + Stroke Path… رسم حد للمسار… + Background Eraser ممحاة الخلفية + Healing Brush فرشاة الإصلاح + Spot Healing Brush فرشاة إصلاح البقع + Smudge تلطيخ + Sponge الإسفنجة + Amount: المقدار: + Protect: الحماية: + Protect skin tones حماية درجات لون البشرة + Edit points to modify the curve حرّر النقاط لتعديل المنحنى + Draw to modify the curve ارسم لتعديل المنحنى +curves Smooth تنعيم + Smooth the curve values تنعيم قيم المنحنى + Drag to draw the curve · {key}-click draws a straight line اسحب لرسم المنحنى · {key}+نقر يرسم خطًا مستقيمًا + Grid Size: حجم الشبكة: + Vanishing Point: click four corners to create a plane نقطة التلاشي: انقر على أربع زوايا لإنشاء مستوى + Vanishing Point is not active نقطة التلاشي غير نشطة + Apply Vanishing Point ({key}) تطبيق نقطة التلاشي ({key}) + Fix the red plane first: its corners must form a convex quad أصلح المستوى الأحمر أولًا: يجب أن تشكل زواياه رباعيًا محدبًا + Onion Skin قشرة البصل + Marching Ants النمل الزاحف + On Black على الأسود + On White على الأبيض + On Layers على الطبقات + Show Edge إظهار الحافة + Show Original إظهار الأصل + F cycles the views; hold X to see the image F يبدّل بين العروض؛ اضغط مطولًا على X لرؤية الصورة + Refine Edge Brush (R) فرشاة تحسين الحافة (R) + Expand Detection Area توسيع منطقة الكشف + Restore Original Edge استعادة الحافة الأصلية + Paint over hair or fur on the image; Alt paints the other mode ارسم فوق الشعر أو الفرو في الصورة؛ Alt يرسم بالوضع الآخر + Clear Brush Strokes مسح ضربات الفرشاة + Show rulers إظهار المساطر + Click to place · Alt-click or drag off-canvas to remove انقر للوضع · Alt+نقر أو السحب خارج لوحة الرسم للإزالة + No document open لا يوجد مستند مفتوح + {n} of {max} sample points {n} من {max} نقطة عينة + Emulsion Down المستحلب لأسفل + Functions الدوال + Print Resolution: دقة الطباعة: + Use Previous Layer to Create Clipping Mask استخدام الطبقة السابقة لإنشاء قناع اقتطاع + Fill with {mode}-neutral color (white) التعبئة بلون محايد لـ {mode} (أبيض) + Fill with {mode}-neutral color (black) التعبئة بلون محايد لـ {mode} (أسود) + Fill with {mode}-neutral color (50% gray) التعبئة بلون محايد لـ {mode} (رمادي 50%) + (No neutral color exists for {mode} mode.) (لا يوجد لون محايد لوضع {mode}.) + Apply mask to layer before removing? هل تريد تطبيق القناع على الطبقة قبل الإزالة؟ + The layer or its mask changed. Drag the mask onto the Trash again. تغيّرت الطبقة أو قناعها. اسحب القناع إلى سلة المحذوفات مرة أخرى. + Delete the vector mask? هل تريد حذف القناع المتجهي؟ + Light Blue أزرق فاتح + Light Red أحمر فاتح + Medium Blue أزرق متوسط + Light Gray رمادي فاتح + Remove after each stroke الإزالة بعد كل ضربة + Apply the removal ({key}) تطبيق الإزالة ({key}) + Strokes to remove: {n} (Enter applies, Esc cancels) الضربات المراد إزالتها: {n} (Enter للتطبيق، Esc للإلغاء) + The current gradient (pick one in Window › Gradients) التدرج الحالي (اختر واحدًا من نافذة › التدرجات) +cameraRaw Red أحمر +cameraRaw Orange برتقالي +cameraRaw Yellow أصفر +cameraRaw Green أخضر +cameraRaw Aqua أزرق مائي +cameraRaw Blue أزرق +cameraRaw Purple أرجواني +cameraRaw Magenta ماجنتا +cameraRaw Temperature درجة الحرارة +@plural Exported {n} swatch to {file}|Exported {n} swatches to {file} تم تصدير عينات الألوان إلى {file} (العدد: {n})|تم تصدير عينات الألوان إلى {file} (العدد: {n})|تم تصدير عينات الألوان إلى {file} (العدد: {n})|تم تصدير عينات الألوان إلى {file} (العدد: {n})|تم تصدير عينات الألوان إلى {file} (العدد: {n})|تم تصدير عينات الألوان إلى {file} (العدد: {n}) +@plural Imported {n} brush from {group}|Imported {n} brushes from {group} تم استيراد الفرش من {group} (العدد: {n})|تم استيراد الفرش من {group} (العدد: {n})|تم استيراد الفرش من {group} (العدد: {n})|تم استيراد الفرش من {group} (العدد: {n})|تم استيراد الفرش من {group} (العدد: {n})|تم استيراد الفرش من {group} (العدد: {n}) +@plural Imported {n} swatch from {file}|Imported {n} swatches from {file} تم استيراد عينات الألوان من {file} (العدد: {n})|تم استيراد عينات الألوان من {file} (العدد: {n})|تم استيراد عينات الألوان من {file} (العدد: {n})|تم استيراد عينات الألوان من {file} (العدد: {n})|تم استيراد عينات الألوان من {file} (العدد: {n})|تم استيراد عينات الألوان من {file} (العدد: {n}) +@plural Played {n} step|Played {n} steps تم تشغيل {n} خطوة|تم تشغيل {n} خطوة|تم تشغيل {n} خطوتين|تم تشغيل {n} خطوات|تم تشغيل {n} خطوة|تم تشغيل {n} خطوة +@plural Updated {n} linked smart object changed on disk|Updated {n} linked smart objects changed on disk تم تحديث الكائنات الذكية المرتبطة التي تغيّرت على القرص (العدد: {n})|تم تحديث الكائنات الذكية المرتبطة التي تغيّرت على القرص (العدد: {n})|تم تحديث الكائنات الذكية المرتبطة التي تغيّرت على القرص (العدد: {n})|تم تحديث الكائنات الذكية المرتبطة التي تغيّرت على القرص (العدد: {n})|تم تحديث الكائنات الذكية المرتبطة التي تغيّرت على القرص (العدد: {n})|تم تحديث الكائنات الذكية المرتبطة التي تغيّرت على القرص (العدد: {n}) +@plural Saved for Web: {n} file|Saved for Web: {n} files حفظ للويب: {n} ملف|حفظ للويب: {n} ملف|حفظ للويب: {n} ملفان|حفظ للويب: {n} ملفات|حفظ للويب: {n} ملفًا|حفظ للويب: {n} ملف +@plural {n} layer recorded by this comp was deleted. Update the comp, or clear the warning.|{n} layers recorded by this comp were deleted. Update the comp, or clear the warning. حُذفت الطبقات التي سجّلها هذا التركيب (العدد: {n}). حدّث التركيب أو امسح التحذير.|حُذفت الطبقات التي سجّلها هذا التركيب (العدد: {n}). حدّث التركيب أو امسح التحذير.|حُذفت الطبقات التي سجّلها هذا التركيب (العدد: {n}). حدّث التركيب أو امسح التحذير.|حُذفت الطبقات التي سجّلها هذا التركيب (العدد: {n}). حدّث التركيب أو امسح التحذير.|حُذفت الطبقات التي سجّلها هذا التركيب (العدد: {n}). حدّث التركيب أو امسح التحذير.|حُذفت الطبقات التي سجّلها هذا التركيب (العدد: {n}). حدّث التركيب أو امسح التحذير. +@plural {n} plane|{n} planes {n} مستوى|{n} مستوى|{n} مستويان|{n} مستويات|{n} مستوى|{n} مستوى +@plural {n} preset|{n} presets {n} إعداد مسبق|{n} إعداد مسبق|{n} إعدادان مسبقان|{n} إعدادات مسبقة|{n} إعدادًا مسبقًا|{n} إعداد مسبق +@plural {n} sample point removed|{n} sample points removed تمت إزالة نقاط العينة (العدد: {n})|تمت إزالة نقاط العينة (العدد: {n})|تمت إزالة نقاط العينة (العدد: {n})|تمت إزالة نقاط العينة (العدد: {n})|تمت إزالة نقاط العينة (العدد: {n})|تمت إزالة نقاط العينة (العدد: {n}) +@plural {n} slice|{n} slices {n} شريحة|{n} شريحة|{n} شريحتان|{n} شرائح|{n} شريحة|{n} شريحة +@plural {n} step|{n} steps {n} خطوة|{n} خطوة|{n} خطوتان|{n} خطوات|{n} خطوة|{n} خطوة +@plural {warning} (+{n} more brush preset warning)|{warning} (+{n} more brush preset warnings) {warning} (+{n} من تحذيرات إعدادات الفرشاة الأخرى)|{warning} (+{n} من تحذيرات إعدادات الفرشاة الأخرى)|{warning} (+{n} من تحذيرات إعدادات الفرشاة الأخرى)|{warning} (+{n} من تحذيرات إعدادات الفرشاة الأخرى)|{warning} (+{n} من تحذيرات إعدادات الفرشاة الأخرى)|{warning} (+{n} من تحذيرات إعدادات الفرشاة الأخرى) +@plural {what} with {n} warning|{what} with {n} warnings {what} مع {n} تحذير|{what} مع {n} تحذير|{what} مع {n} تحذيران|{what} مع {n} تحذيرات|{what} مع {n} تحذيرًا|{what} مع {n} تحذير +@id edit.stroke حد… +@id edit.transform.scale تحجيم +cameraRaw Luminance اللمعان +cameraRaw Color اللون +cameraRaw Vibrance الحيوية +cameraRaw Color Grading تدريج الألوان +cameraRaw Global عام +cameraRaw Hue تدرج اللون +cameraRaw Luminance Detail تفاصيل اللمعان +cameraRaw Color Detail تفاصيل اللون +cameraRaw Roughness الخشونة +cameraRaw Whites البيض +layerLabel No Color بلا لون + Preferences… التفضيلات… + Actual Pixels البكسلات الفعلية + Clipping Mask قناع الاقتطاع + Tool Options خيارات الأداة + Color Picker منتقي الألوان + Color Swatches عينات الألوان + Linear Dodge تفتيح خطي + Preview Image معاينة الصورة + Save As حفظ باسم + Remove All إزالة الكل + Unlock فتح القفل + Enable تفعيل + Disable تعطيل + On تشغيل + Clear Selection مسح التحديد + Invert Selection عكس التحديد + Select Inverse تحديد العكس + Contract تقليص + Sample Size حجم العينة + Strength القوة + Gamma غاما + Input الدخل + Input Levels مستويات الدخل + Output Levels مستويات الخرج + Layer Styles أنماط الطبقات + Blending Mode وضع المزج + Fill Color لون التعبئة + Stroke Color لون الحد + Stroke Width عرض الحد + Shadow الظل + Adjustment Layers طبقات الضبط + Text Layer طبقة النص + Documents المستندات + File Name اسم الملف + File Format صيغة الملف + Compression الضغط + Artboards لوحات العمل + Snap to Grid المحاذاة إلى الشبكة + Full Screen ملء الشاشة + Fullscreen ملء الشاشة + Workspaces مساحات العمل + Show All إظهار الكل + Hidden مخفي + Duplicate Layer تكرار الطبقة + Ungroup فك التجميع + Lock Transparent Pixels قفل البكسلات الشفافة + Lock Image Pixels قفل بكسلات الصورة + Lock Position قفل الموضع + Lock All قفل الكل + Show Rulers إظهار المساطر + Guide Layout… تخطيط خطوط التوجيه… + Page Setup… إعداد الصفحة… + Reset Preferences إعادة ضبط التفضيلات + Documentation التوثيق + Check for Updates التحقق من التحديثات + Loading… جارٍ التحميل… + Processing… جارٍ المعالجة… + Saving… جارٍ الحفظ… + Exporting… جارٍ التصدير… + Please wait… يرجى الانتظار… + No selection لا يوجد تحديد + No layers لا توجد طبقات + No recent files لا توجد ملفات أخيرة + Unsupported file format صيغة ملف غير مدعومة + Failed to open file فشل فتح الملف + Failed to save file فشل حفظ الملف + Operation canceled تم إلغاء العملية + Changes have not been saved. لم تُحفظ التغييرات. + Are you sure? هل أنت متأكد؟ + Discard Changes تجاهل التغييرات + Recent Files الملفات الأخيرة + Open File فتح ملف + Save File حفظ الملف + Save Changes حفظ التغييرات + Rendering… جارٍ التصيير… + Importing… جارٍ الاستيراد… + Ready جاهز + Failed فشل + Warning تحذير + Information معلومات + Retry إعادة المحاولة + Continue متابعة + Skip تخطي + Resume استئناف + Reset All إعادة ضبط الكل + Defaults الإعدادات الافتراضية + Apply to All تطبيق على الكل + Confirm تأكيد + Finish إنهاء + Back رجوع + Next التالي + Previous السابق + More المزيد + Less أقل + Manual يدوي + Disabled معطّل + Locked مقفل + Unlocked غير مقفل + Delete… حذف… + Create… إنشاء… + Edit… تحرير… + Change… تغيير… + Transformation التحويل + Scaling التحجيم + Canvas Size حجم لوحة الرسم + Percentage النسبة المئوية + Degrees الدرجات + Middle الوسط + Diameter القطر + Intensity الشدة + Sensitivity الحساسية + Softness الليونة + Feather Radius نصف قطر تدريج الحواف + Library المكتبة + Layer Properties خصائص الطبقة + Groups المجموعات + Masks الأقنعة + Add Mask إضافة قناع + Delete Mask حذف القناع + Invert Mask عكس القناع + Enable Mask تفعيل القناع + Disable Mask تعطيل القناع + Apply Mask تطبيق القناع + Import Settings استيراد الإعدادات + Export Settings تصدير الإعدادات + Shortcut الاختصار + Shortcuts الاختصارات + Keyboard لوحة المفاتيح + Mouse الفأرة + Tablet اللوح + Display العرض + Panel اللوحة + Hide Grid إخفاء الشبكة + Fit to Window ملاءمة النافذة + Live Preview معاينة مباشرة + Before قبل + After بعد + Compare مقارنة + File Size حجم الملف + Filename اسم الملف + Folder المجلد + Open Folder فتح المجلد + Choose Folder اختيار مجلد + Browse استعراض + Find بحث + Replace استبدال + Date التاريخ + Learn More معرفة المزيد + Report a Bug الإبلاغ عن خطأ + Updates التحديثات + Update تحديث + Restart Required إعادة التشغيل مطلوبة + Restart إعادة التشغيل + Quit إنهاء + Quit PhotoCraft إنهاء PhotoCraft + Close Window إغلاق النافذة + New Window نافذة جديدة + Open Image فتح صورة + Save Image حفظ الصورة + Export Image تصدير الصورة + Import Image استيراد صورة + Export As تصدير باسم + Export to تصدير إلى + Export Options خيارات التصدير + Import Options خيارات الاستيراد + No Selection لا يوجد تحديد + No Document لا يوجد مستند + No Image لا توجد صورة + No Layers لا توجد طبقات + No Results لا توجد نتائج + No Results Found لم يُعثر على نتائج + Nothing to Undo لا شيء للتراجع عنه + Nothing to Redo لا شيء لإعادته + Changes Saved تم حفظ التغييرات + Unsaved Changes تغييرات غير محفوظة + Save before closing? هل تريد الحفظ قبل الإغلاق؟ + Are you sure you want to quit? هل أنت متأكد من أنك تريد الخروج؟ + The file could not be opened. تعذر فتح الملف. + The file could not be saved. تعذر حفظ الملف. + Unsupported format صيغة غير مدعومة + Out of memory نفدت الذاكرة + Permission denied تم رفض الإذن + File not found لم يُعثر على الملف + Operation failed فشلت العملية + Operation completed اكتملت العملية + Operation cancelled تم إلغاء العملية + Sharpen Amount مقدار زيادة الحدة + Sharpen Radius نصف قطر زيادة الحدة + Sharpen Detail تفاصيل زيادة الحدة + Sharpen Masking تقنيع زيادة الحدة + Noise Luminance لمعان الضوضاء + Noise Luminance Detail تفاصيل لمعان الضوضاء + Noise Color لون الضوضاء + Noise Color Detail تفاصيل لون الضوضاء + Grain Amount كمية الحبيبات + Grain Size حجم الحبيبات + Grain Roughness خشونة الحبيبات + Vignette Roundness استدارة تظليل الحواف + Vignette Feather تدريج تظليل الحواف + Vignette Highlights الإضاءات العالية في تظليل الحواف + Vignette Style نمط تظليل الحواف + Planes المستويات + Plane المستوى + Shadow Amount مقدار الظلال + Shadow Tone نغمة الظلال + Shadow Radius نصف قطر الظلال + Highlight Amount مقدار الإضاءات العالية + Highlight Tone نغمة الإضاءات العالية + Highlight Radius نصف قطر الإضاءات العالية + Midtone الدرجة المتوسطة + Black Clip اقتطاع الأسود + White Clip اقتطاع الأبيض + Fuzziness التضبيب + Source Layer طبقة المصدر + Neutralize تحييد + Use Selection In Source استخدام التحديد في المصدر + Use Selection In Target استخدام التحديد في الهدف + Flame Type نوع اللهب + Randomize Length عشوائية الطول + Interval الفاصل + Adjust Interval For Loops ضبط الفاصل للحلقات + Use Custom Color استخدام لون مخصص + Flame Lines خطوط اللهب + Flame Bottom Alignment محاذاة أسفل اللهب + Flame Style نمط اللهب + Flame Shape شكل اللهب + Randomize Shapes عشوائية الأشكال + Frame الإطار + Arrangement الترتيب + Thickness السماكة + Vine Color لون الكرمة + Flower Color لون الزهرة + Leaf Color لون الورقة + Base Tree Type نوع الشجرة الأساسي + Light Direction اتجاه الضوء + Leaves Amount كمية الأوراق + Leaves Size حجم الأوراق + Branches Height ارتفاع الأغصان + Branches Thickness سماكة الأغصان + Default Leaves الأوراق الافتراضية + Leaves Color لون الأوراق + Custom Branch Color لون غصن مخصص + Branches Color لون الأغصان + Flat Shading تظليل مسطح + Date and Time التاريخ والوقت + Scale Units وحدات المقياس + Scale Factor معامل المقياس + Area المساحة + Perimeter المحيط + Circularity الاستدارة الدائرية + Gray Value (Minimum) القيمة الرمادية (الأدنى) + Gray Value (Maximum) القيمة الرمادية (الأقصى) + Gray Value (Mean) القيمة الرمادية (المتوسط) + Gray Value (Median) القيمة الرمادية (الوسيط) + Integrated Density الكثافة المتكاملة + Length الطول + In Black الأسود في الدخل + In White الأبيض في الدخل + Out Black الأسود في الخرج + Out White الأبيض في الخرج + Tint Color لون الصبغة + Stops نقاط التوقف + Center X المركز X + Center Y المركز Y + Distribution التوزيع + Monochromatic أحادي اللون + Cell Size حجم الخلية + Generators المولّدات + Wavelength Min أدنى طول موجي + Wavelength Max أقصى طول موجي + Amplitude Min أدنى سعة + Amplitude Max أقصى سعة + Undefined Areas المناطق غير المعرّفة + Preserve الحفاظ + Max Radius أقصى نصف قطر + Depth Mode وضع العمق + Solid Front Faces أوجه أمامية صلبة + Mask Incomplete Blocks إخفاء الكتل غير المكتملة بقناع + Stylization التنميط + Cleanliness النظافة + Bristle Detail تفاصيل الشعيرات + Lighting الإضاءة + Shine اللمعان + Max Offset أقصى إزاحة + Map Document مستند الخريطة + Map Path مسار الخريطة + Map Layer طبقة الخريطة + Ridges التلال + Light Type نوع الضوء + Light X الضوء X + Light Y الضوء Y + Light Z الضوء Z + Target X الهدف X + Target Y الهدف Y + Hotspot البقعة المضيئة + Elevation الارتفاع + Ambient المحيطي + Warmth الدفء + Gloss اللمعة + Metallic معدني + Ambience الأجواء + White Is High الأبيض عالٍ + Reduce Color Noise تقليل ضوضاء الألوان + Sharpen Details زيادة حدة التفاصيل + Remove Jpeg Artifact إزالة تشوهات JPEG + Blade Curvature انحناء الشفرة + Depth Map خريطة العمق + Focal Distance المسافة البؤرية + Focus التركيز + Transition الانتقال + Radius X نصف القطر X + Radius Y نصف القطر Y + Pins الدبابيس + Blur Angle زاوية التمويه + Speed السرعة + Taper التناقص التدريجي + Start X البداية X + Start Y البداية Y + End X النهاية X + End Y النهاية Y + Kernel النواة + Input Mode وضع الدخل + Row Order ترتيب الصفوف + Eliminate استبعاد + Create By الإنشاء بواسطة + List قائمة + Pencil Width عرض القلم الرصاص + Stroke Pressure ضغط الضربة + Paper Brightness سطوع الورق + Number Of Levels عدد المستويات + Edge Simplicity بساطة الحواف + Edge Fidelity دقة الحواف + Brush Detail تفاصيل الفرشاة + Highlight Area منطقة الإضاءة العالية + Glow Size حجم التوهج + Glow Brightness سطوع التوهج + Brush Type نوع الفرشاة + Stroke Size حجم الضربة + Stroke Detail تفاصيل الضربة + Highlight Strength قوة الإضاءة العالية + Smoothness النعومة + Edge Thickness سماكة الحافة + Edge Intensity شدة الحافة + Posterization تقليل درجات اللون + Stroke Length طول الضربة + Relief النقش البارز + Definition الوضوح + Texture Coverage تغطية الملمس + Shadow Intensity شدة الظل + Edge Width عرض الحافة + Edge Brightness سطوع الحافة + Direction Balance توازن الاتجاه + Black Intensity شدة الأسود + White Intensity شدة الأبيض + Dark Intensity شدة الداكن + Custom Pixel Aspect Ratio نسبة أبعاد بكسل مخصصة + 32-bit Preview Options خيارات معاينة 32 بت + New Guide خط توجيه جديد + Join the ArtCraft Discord الانضمام إلى ArtCraft على Discord + Report an Issue الإبلاغ عن مشكلة + Load Files into Stack تحميل الملفات في كومة + Statistics الإحصائيات + Duplicate Layers تكرار الطبقات + Edit Toolbar تحرير شريط الأدوات + Import Brushes استيراد الفرش + Load 3D LUT تحميل 3D LUT + New document مستند جديد + Press keys اضغط المفاتيح + Rename Group إعادة تسمية المجموعة + Rename Tool Preset إعادة تسمية إعداد الأداة المسبق + Search commands, tools and panels البحث في الأوامر والأدوات واللوحات + Slice Options خيارات الشريحة + Rename Brush إعادة تسمية الفرشاة + Opening جارٍ الفتح + Reading جارٍ القراءة + Working جارٍ العمل + Accented Edges حواف بارزة + Angled Strokes ضربات مائلة + Anisotropic متباين الخواص + Around Center حول المركز + Artistic فني + Bamboo خيزران + Bas Relief نقش بارز خفيف + Berries توت + Blast انفجار + Bleach Bypass تجاوز التبييض + Blocks كتل + Brick طوب + Brush Strokes ضربات الفرشاة + Burlap خيش + Candle Light ضوء الشموع + Circle دائرة + Clumped متكتل + Coarse Dots نقاط خشنة + Colored Pencil قلم رصاص ملون + Contrasty عالي التباين + Cool بارد + Craquelure تشقق (Craquelure) + Cross صليب + Cross Process معالجة متقاطعة + Crosshatch تظليل متقاطع + Cutout قص + Daisies أقحوان + Dark Rough خشن داكن + Dark Strokes ضربات داكنة + Darken Only تغميق فقط + Day For Night النهار كأنه ليل + Deep Blue أزرق عميق + Deep Emerald زمردي عميق + Deep Red أحمر عميق + Deep Yellow أصفر عميق + Dot نقطة + Double Line خط مزدوج + Draft مسودة + Dry Brush فرشاة جافة + Duplication تكرار + Edge Extension امتداد الحافة + Edge Only الحافة فقط + Enlarged مكبّر + Even Fields الحقول الزوجية + Faded Film فيلم باهت + Film Grain حبيبات الفيلم + Fine ناعم + Fine Dots نقاط ناعمة + Flat مسطح + Fresco فريسكو + From Left من اليسار + From Right من اليمين + Frosted مصنفر + Generic عام + Glass زجاج + Glowing Edges حواف متوهجة + Grainy Dots نقاط حبيبية + Hearts قلوب + Heptagon سباعي + Hexagon سداسي + Horizontal Only أفقي فقط + Infinite لا نهائي + Ink Outlines محيطات حبرية + Ivy لبلاب + Left Diagonal قطري أيسر + Level Based مبني على المستوى + Light Rough خشن فاتح + Lighten Only تفتيح فقط + Long Lines خطوط طويلة + Long Strokes ضربات طويلة + Lower السفلي + Medium Dots نقاط متوسطة + Medium Lines خطوط متوسطة + Medium Strokes ضربات متوسطة + Mono Contrast تباين أحادي + Mosaic Tiles بلاط فسيفسائي + Multiple Flames Along Path ألسنة لهب متعددة على طول المسار + Multiple Flames One Direction ألسنة لهب متعددة باتجاه واحد + Multiple Flames Path Directions ألسنة لهب متعددة وفق اتجاهات المسار + Multiple Flames Various Length ألسنة لهب متعددة بأطوال مختلفة + Octagon ثماني + Odd Fields الحقول الفردية + One Flame Along Path لسان لهب واحد على طول المسار + Out From Center من المركز إلى الخارج + Oval بيضاوي + Overlay Edge حافة التراكب + Palette Knife سكين الألوان + Parallel متوازٍ + Patchwork رقع + Pentagon خماسي + Point نقطة + Pointed مدبب + Pond Ripples تموجات البركة + Pyramids أهرامات + Random عشوائي + Right Diagonal قطري أيمن + Rope حبل + Roses ورود + Sandstone حجر رملي + Scallops حواف صدفية + Sepia سيبيا + Short Lines خطوط قصيرة + Short Strokes ضربات قصيرة + Simple بسيط + Light Intensity شدة الضوء + Spray Radius نصف قطر الرش + Stroke Direction اتجاه الضربة + Graininess الحبيبية + Glow Amount مقدار التوهج + Clear Amount مقدار الوضوح + Distortion التشويه + Ripple Size حجم التموج + Ripple Magnitude شدة التموج + Charcoal Area منطقة الفحم + Chalk Area منطقة الطباشير + Charcoal Thickness سماكة الفحم + Light Dark Balance توازن الفاتح والداكن + Foreground Level مستوى المقدمة + Background Level مستوى الخلفية + Pattern Type نوع النمط + Image Balance توازن الصورة + Darkness الدكنة + Fiber Length طول الألياف + Crack Spacing تباعد الشقوق + Crack Depth عمق الشقوق + Crack Brightness سطوع الشقوق + Grain Type نوع الحبيبات + Tile Size حجم البلاطة + Grout Width عرض الفواصل + Lighten Grout تفتيح الفواصل + Square Size حجم المربع + Border Thickness سماكة الإطار + Correct Distortion تصحيح التشويه + Correct Vignette تصحيح تظليل الحواف + Correct C A تصحيح الزيغ اللوني + Auto Scale تحجيم تلقائي + Red Cyan أحمر سماوي + Blue Yellow أزرق أصفر + Vignette Amount مقدار تظليل الحواف + Vignette Midpoint نقطة منتصف تظليل الحواف + Constraints القيود + Curve Highlights منحنى الإضاءات العالية + Curve Lights منحنى الأجزاء الفاتحة + Curve Darks منحنى الأجزاء الداكنة + Curve Shadows منحنى الظلال + Curve Splits نقاط تقسيم المنحنى + Point Curve منحنى النقاط + Point Curve Red منحنى النقاط الأحمر + Point Curve Green منحنى النقاط الأخضر + Point Curve Blue منحنى النقاط الأزرق + Hsl Hue تدرج اللون HSL + Hsl Sat التشبع HSL + Hsl Lum الإضاءة HSL + Grade Shadows تدريج الظلال + Grade Midtones تدريج الدرجات المتوسطة + Grade Highlights تدريج الإضاءات العالية + Grade Global التدريج العام + Grade Blending مزج التدريج + Grade Balance توازن التدريج + Sine جيب + Sketch رسم تخطيطي + Snowflakes ندف الثلج + Sparkle بريق + Spatter رذاذ + Speckle تنقيط + Spin لف + Sprinkles رشات + Squareness التربيع + Stagger تناوب + Stained Glass زجاج ملوّن + Star نجمة + Stars نجوم + Stippled منقّط + Stretch تمديد + Teal Orange أزرق مخضر برتقالي + Tiny Lens عدسة صغيرة + To Center إلى المركز + Unaltered دون تغيير + Underpainting طلاء تحتي + Underwater تحت الماء + Uniform منتظم + Upper العلوي + Vertical Only عمودي فقط + Vine With Flowers كرمة بالزهور + Vine With Leaves كرمة بالأوراق + Violent عنيف + Warm دافئ + Watercolor ألوان مائية + Waves أمواج + Wide Blurry عريض ضبابي + Wide Sharp عريض حاد + Wrap التفاف + Zigzag متعرج + Wetness الرطوبة + AI Integrations تكاملات الذكاء الاصطناعي + Add Noise إضافة ضوضاء + Apply Data Set تطبيق مجموعة بيانات + Apply Image تطبيق الصورة + Arbitrary اعتباطي + Artboard from Group لوحة عمل من مجموعة + Artboard from Layers لوحة عمل من الطبقات + Artboards to Files لوحات العمل إلى ملفات + Artboards to PDF لوحات العمل إلى PDF + Assign Profile تعيين ملف تعريف + At عند + Auto-Align Layers محاذاة الطبقات تلقائيًا + Auto-Blend Layers مزج الطبقات تلقائيًا + Batch دفعة + Border إطار + Box Blur تمويه الصندوق + Calculations العمليات الحسابية + Camera Raw Camera Raw + Camera Raw Filter مرشح Camera Raw + Channel1 القناة1 + Channel2 القناة2 + Channel3 القناة3 + Channel4 القناة4 + Clone استنساخ + Color Decontaminate إزالة تلوث الألوان + Color Halftone نصف نغمة ملونة + Color Lookup Tables جداول بحث الألوان + Color Settings إعدادات الألوان + Color Table جدول الألوان + Conditional Mode Change تغيير الوضع الشرطي + Content-Aware Fill تعبئة مراعية للمحتوى + Convert to Linked تحويل إلى مرتبط + Convert to Profile تحويل إلى ملف تعريف + Crystallize تبلور + Data البيانات + Data Sets as Files مجموعات البيانات كملفات + De-Interlace إزالة التشابك + Define Brush Preset تعريف إعداد فرشاة مسبق + Define Custom Shape تعريف شكل مخصص + Define Pattern تعريف نمط + Defringe إزالة الهالة + Diffuse نشر + Diffuse Glow توهج منتشر + Displace إزاحة + Do you want to save you made to “{name}” before quitting? هل تريد حفظ التغييرات التي أجريتها على «{name}» قبل الخروج؟ + Dust & Scratches الغبار والخدوش + Export Contents تصدير المحتويات + Export Preferences تفضيلات التصدير + Export/Import Presets تصدير/استيراد الإعدادات المسبقة + Extrude بثق + Fibers ألياف + Field Blur تمويه الحقل + File Info معلومات الملف + Filter Gallery معرض المرشحات + Find and Replace Text بحث واستبدال النص + Fit Image ملاءمة الصورة + Flame لهب + Focus Area منطقة التركيز + Gaussian Blur تمويه غاوسي + Global Light الضوء العام + Group from Layers مجموعة من الطبقات + HDR Toning تلوين HDR + High Pass تمرير عالٍ + Highlight تمييز + Image Processor معالج الصور + Install Plug-in تثبيت إضافة + Interpret Footage تفسير اللقطات + Iris Blur تمويه القزحية + Jag تعرّج + Label التسمية + Layer Comps to Files تركيبات الطبقات إلى ملفات + Layer Content Options خيارات محتوى الطبقة + Layer From Background طبقة من الخلفية + Layer from Background طبقة من الخلفية + Layers to Files الطبقات إلى ملفات + Legacy قديم + Lens Blur تمويه العدسة + Lens Correction تصحيح العدسة + Lens Flare وهج العدسة + Lighting Effects مؤثرات الإضاءة + Liquify تسييل + Lock Layers قفل الطبقات + Lum الإضاءة + Match Color مطابقة اللون + Merge to HDR Pro الدمج إلى HDR Pro + Mezzotint ميزوتينت + Mosaic فسيفساء + Motion Blur تمويه الحركة + Native file drag-and-drop is not supported on Wayland yet. Use File › Open, or run PhotoCraft under XWayland with `WAYLAND_DISPLAY= photocraft`. السحب والإفلات الأصلي للملفات غير مدعوم على Wayland بعد. استخدم ملف › فتح، أو شغّل PhotoCraft تحت XWayland باستخدام `WAYLAND_DISPLAY= photocraft`. + Neon Glow توهج نيون + New Guide Layout تخطيط خطوط توجيه جديد + New Video Layer from File طبقة فيديو جديدة من ملف + Ocean Ripple تموج المحيط + Oil Paint طلاء زيتي + Open As فتح كـ + Package حزمة + Paint Daubs لطخات الطلاء + Path Blur تمويه المسار + Paths to Illustrator المسارات إلى Illustrator + Photomerge Photomerge + Picture Frame إطار الصورة + Pinch قرص + Place Embedded وضع مضمّن + Place Linked وضع مرتبط + Place Scale Marker وضع علامة المقياس + Plastic Wrap غلاف بلاستيكي + Pointillize تنقيط + Polar Coordinates الإحداثيات القطبية + Polar To Rectangular من قطبي إلى مستطيل + Poster Edges حواف الملصق + Preset Manager مدير الإعدادات المسبقة + Profile ملف التعريف + Radial Blur تمويه شعاعي + Raw Defaults الإعدادات الافتراضية لـ Raw + Rectangular To Polar من مستطيل إلى قطبي + Reduce Noise تقليل الضوضاء + Relink to File إعادة الربط بملف + Render Video تصيير الفيديو + Replace Color استبدال اللون + Replace Contents استبدال المحتويات + Replace Footage استبدال اللقطات + Resolve Missing Fonts حل مشكلة الخطوط المفقودة + Ripple تموج + Rough Pastels باستيل خشن + Sat التشبع + Save a Copy حفظ نسخة + Save for Web (Legacy) حفظ للويب (قديم) + Scale Effects تحجيم التأثيرات + Script Events Manager مدير أحداث البرامج النصية + Search menus البحث في القوائم + Seed البذرة + Select and Mask تحديد وقناع + Set Measurement Scale ضبط مقياس القياس + Shadows/Highlights الظلال/الإضاءات العالية + Shape Blur تمويه الشكل + Shear قص مائل + Smart Blur تمويه ذكي + Smart Sharpen حدة ذكية + Smudge Stick قلم تلطيخ + Solid Color لون ثابت + Spherize تكوير + Spin Blur تمويه اللف + Spot لون خاص + Sprayed Strokes ضربات مرشوشة + Strokes الضربات + Sumi-e Sumi-e + Surface Blur تمويه السطح + Texturizer إضافة ملمس + Tiles بلاطات + Tilt-Shift إمالة وإزاحة + Trace Contour تتبع الكنتور + Trap Trap + Tree شجرة + Trim تشذيب + Turbulent مضطرب + Twirl دوامة + Unsharp Mask قناع الحدة + Use File › Open to open an image. استخدم ملف › فتح لفتح صورة. + Vanishing Point نقطة التلاشي + Variable Data Sets مجموعات بيانات المتغيرات + Video Frames to Layers إطارات الفيديو إلى طبقات + WIA Support دعم WIA + Warp Text التواء النص + Wind رياح + ZigZag متعرج + Vertical Type Tool أداة النص العمودي + About {app} حول {app} + Hide {app} إخفاء {app} + Quit {app} إنهاء {app} + Services الخدمات + Hide Others إخفاء الآخرين + Lut LUT + Cooling L B B مرشح التبريد (LBB) + Cooling80 تبريد 80 + Cooling82 تبريد 82 + Hsb HSB + Hsl HSL + Movie Prime عدسة سينمائية ثابتة + Prime105 عدسة ثابتة 105 + Prime35 عدسة ثابتة 35 + Rgb RGB + Warming L B A مرشح التسخين (LBA) + Warming81 تسخين 81 + Warming85 تسخين 85 +@id filter.sharpen.sharpen زيادة الحدة + Good جيد + Best الأفضل + Adjustment Properties خصائص التعديل + Default Foreground and Background Colors لونا المقدمة والخلفية الافتراضيان + Move Layer نقل الطبقة + Rectangular Selection تحديد مستطيل + Reorder Layer إعادة ترتيب الطبقة + Select Layer تحديد الطبقة + Set Colors ضبط الألوان + Switch Foreground and Background Colors تبديل لوني المقدمة والخلفية + Target الهدف + Make Work Path… إنشاء مسار عمل… + Create Vector Mask إنشاء قناع متجهي + Make Selection… إنشاء تحديد… + Fill Path… تعبئة المسار… + Clipping Path… مسار الاقتطاع… + Free Transform Path تحويل حر للمسار + Unite Shapes at Overlap توحيد الأشكال عند التداخل + Subtract Shapes at Overlap طرح الأشكال عند التداخل + Copy Fill نسخ التعبئة + Copy Complete Stroke نسخ الحد كاملًا + Paste Fill لصق التعبئة + Paste Complete Stroke لصق الحد كاملًا + Make Symmetry Path إنشاء مسار تناظر + Disable Symmetry Path تعطيل مسار التناظر + Dark Gray رمادي داكن + Medium Gray رمادي متوسط + Select Custom Color… تحديد لون مخصص… + Color Picker (Custom Canvas Color) منتقي الألوان (لون لوحة الرسم المخصص) + Duplicate Channel تكرار القناة + Delete Channel حذف القناة + Rename Channel… إعادة تسمية القناة… + Merge Spot Channel دمج قناة اللون الخاص + Convert to Alpha Channel تحويل إلى قناة ألفا + Exit Quick Mask الخروج من القناع السريع + New Channel… قناة جديدة… + New Spot Channel… قناة لون خاص جديدة… + Split Channels تقسيم القنوات + Merge Channels… دمج القنوات… + Color Indicates Masked Areas اللون يشير إلى المناطق المقنعة + Color Indicates Selected Areas اللون يشير إلى المناطق المحددة + ✓ Color Indicates Masked Areas ✓ اللون يشير إلى المناطق المقنعة + ✓ Color Indicates Selected Areas ✓ اللون يشير إلى المناطق المحددة + Up لأعلى + To إلى + Shallow ضحل + Deep عميق + Blend Interior Effects as Group مزج التأثيرات الداخلية كمجموعة + Blend Clipped Layers as Group مزج الطبقات المقتطعة كمجموعة + Transparency Shapes Layer الشفافية تشكّل الطبقة + Layer Mask Hides Effects قناع الطبقة يخفي التأثيرات + Vector Mask Hides Effects القناع المتجهي يخفي التأثيرات + General Blending المزج العام + This Layer: هذه الطبقة: + Underlying Layer: الطبقة السفلية: + Nothing to paste: the clipboard holds no image لا شيء للصقه: الحافظة لا تحتوي على صورة + Preferences saved تم حفظ التفضيلات + Invalid panel layout; restored the default dock تخطيط اللوحات غير صالح؛ تمت استعادة التثبيت الافتراضي + Preferences were reset: {error} أُعيد ضبط التفضيلات: {error} + Recovered {name} تم استرداد {name} + Couldn't save preferences: {error}. Retrying… تعذر حفظ التفضيلات: {error}. جارٍ إعادة المحاولة… + Autosave failed: {error} فشل الحفظ التلقائي: {error} + Exported presets to {path} تم تصدير الإعدادات المسبقة إلى {path} + Ran script {name} تم تشغيل البرنامج النصي {name} + Sent to the printer ({spooler}) أُرسل إلى الطابعة ({spooler}) + Printed to {path} تمت الطباعة إلى {path} + Exported {path} ({size}) تم تصدير {path} ({size}) + Exported {path} تم تصدير {path} + Added swatch {name} تمت إضافة عينة اللون {name} + Step {step} ({id}) failed: {error} فشلت الخطوة {step} ({id}): {error} + Could not rename the action: {error} تعذرت إعادة تسمية الإجراء: {error} + Action playback failed: {error} فشل تشغيل الإجراء: {error} + Clone source set at {x}, {y} تم ضبط مصدر الاستنساخ عند {x}، {y} + Color management: {error} إدارة الألوان: {error} + Opened {url} تم فتح {url} + No custom shape "{name}": pick one in the options bar or Window › Shapes لا يوجد شكل مخصص "{name}": اختر واحدًا من شريط الخيارات أو نافذة › الأشكال + Saved a copy as {path} تم حفظ نسخة باسم {path} + Exported contents to {path} تم تصدير المحتويات إلى {path} + {label} is not available: {reason} {label} غير متاح: {reason} + Saved {path}; image assets: {n} in {dir} تم حفظ {path}؛ أصول الصور: {n} في {dir} + {message} (notes: {n}; {warning}) {message} (الملاحظات: {n}؛ {warning}) + Preferences can't be saved تعذر حفظ التفضيلات + PhotoCraft keeps retrying; until a save succeeds, preference changes are lost when it closes. يواصل PhotoCraft المحاولة؛ وإلى أن ينجح الحفظ تضيع تغييرات التفضيلات عند إغلاقه. + GPU retry scheduled تمت جدولة إعادة محاولة GPU + Save your work and restart PhotoCraft to retry GPU acceleration. CPU rendering remains active for this session. احفظ عملك وأعد تشغيل PhotoCraft لإعادة محاولة تسريع GPU. يبقى تصيير CPU نشطًا في هذه الجلسة. + GPU device was lost; using the CPU renderer. فُقد جهاز GPU؛ يُستخدم مصيّر CPU. + GPU error; using the CPU renderer. خطأ في GPU؛ يُستخدم مصيّر CPU. + Couldn't open {name}: {error} تعذر فتح {name}: {error} + Toggle the Brush Settings panel تبديل لوحة إعدادات الفرشاة + New Brush Preset إعداد فرشاة مسبق جديد + Grid view عرض الشبكة + List view عرض القائمة + {verb} {mask} {layer} {verb} {mask} {layer} + Unlink فك الربط + Link ربط + layer mask قناع الطبقة + vector mask القناع المتجهي + Commit transform تأكيد التحويل + Cancel transform إلغاء التحويل + Scroll menu up تمرير القائمة لأعلى + Scroll menu down تمرير القائمة لأسفل + This type layer must be rasterized before proceeding. Its text will no longer be editable. Rasterize the type? يجب تحويل طبقة النص هذه إلى بكسلات قبل المتابعة. لن يكون نصها قابلًا للتحرير بعد ذلك. هل تريد تحويل النص إلى بكسلات؟ + This shape layer must be rasterized before proceeding. It will no longer be editable as a shape. Rasterize the shape? يجب تحويل طبقة الشكل هذه إلى بكسلات قبل المتابعة. لن تكون قابلة للتحرير كشكل بعد ذلك. هل تريد تحويل الشكل إلى بكسلات؟ + This Smart Object must be rasterized before proceeding. Its contents will no longer be editable. Rasterize the Smart Object? يجب تحويل هذا الكائن الذكي إلى بكسلات قبل المتابعة. لن تكون محتوياته قابلة للتحرير بعد ذلك. هل تريد تحويل الكائن الذكي إلى بكسلات؟ + This fill layer must be rasterized before proceeding. Its fill content will no longer be editable. Rasterize the layer? يجب تحويل طبقة التعبئة هذه إلى بكسلات قبل المتابعة. لن يكون محتوى التعبئة فيها قابلًا للتحرير بعد ذلك. هل تريد تحويل الطبقة إلى بكسلات؟ + This layer must be rasterized before proceeding. يجب تحويل هذه الطبقة إلى بكسلات قبل المتابعة. + Color Picker (Background Color) منتقي الألوان (لون الخلفية) + Color Picker (Foreground Color) منتقي الألوان (لون المقدمة) + Adwaita (Light) Adwaita (فاتح) + Adwaita (Dark) Adwaita (داكن) + Breeze Light Breeze فاتح + Breeze Dark Breeze داكن + Solarized Dark Solarized داكن + Open Recent is unavailable on the web فتح ملف حديث غير متاح على الويب + Graphics adapter: {adapter} بطاقة الرسوميات: {adapter} + Backend: {backend} ({type}) الواجهة الخلفية: {backend} ({type}) + Driver: {driver} برنامج التشغيل: {driver} + GPU backend preference: {backend} تفضيل واجهة GPU الخلفية: {backend} + Selected at launch: {backend} المحددة عند التشغيل: {backend} + Image compositor: {processor} مُركِّب الصور: {processor} + Fallback: {reason} البديل: {reason} + This session: {reason} هذه الجلسة: {reason} + Window renderer: {renderer} مصيّر النافذة: {renderer} + Software adapter محوّل برمجي + Graphics adapter بطاقة الرسوميات + unknown غير معروف + unknown type نوع غير معروف + auto تلقائي + Platform: {os} {arch} المنصة: {os} {arch} + previous reading kept; the last re-read failed: {reason} تم الاحتفاظ بالقراءة السابقة؛ فشلت آخر إعادة قراءة: {reason} + Monitor profile: {profile} ملف تعريف الشاشة: {profile} + Display profiles: {reason} ملفات تعريف العرض: {reason} + Monitor profile in use on {display}: {profile} ملف تعريف الشاشة المستخدم على {display}: {profile} + Monitor profile in use: {profile} ملف تعريف الشاشة المستخدم: {profile} + The canvas is shown as sRGB. Choose a monitor profile in Edit › Color Settings. تُعرض لوحة الرسم بصيغة sRGB. اختر ملف تعريف للشاشة من تحرير › إعدادات الألوان. + The canvas on {display} is shown as sRGB. Choose a monitor profile in Edit › Color Settings. تُعرض لوحة الرسم على {display} بصيغة sRGB. اختر ملف تعريف للشاشة من تحرير › إعدادات الألوان. + Display profile not used لم يُستخدم ملف تعريف العرض + Monitor profile on {display} (main window): {profile} ملف تعريف الشاشة على {display} (النافذة الرئيسية): {profile} + Monitor profile on {display}: {profile} ملف تعريف الشاشة على {display}: {profile} + manual يدوي + fallback بديل + The document does not have an embedded colour profile. Working space: {working}. لا يحتوي المستند على ملف تعريف ألوان مضمّن. فضاء العمل: {working}. + The document has an embedded colour profile that does not match the working space.\nEmbedded: {embedded}\nWorking: {working} يحتوي المستند على ملف تعريف ألوان مضمّن لا يطابق فضاء العمل.\nالمضمّن: {embedded}\nالعمل: {working} + Importing {what} from {file}… جارٍ استيراد {what} من {file}… + brushes الفرش + gradients التدرجات +@plural Imported {n} brush from {file}|Imported {n} brushes from {file} تم استيراد الفرش من {file} (العدد: {n})|تم استيراد الفرش من {file} (العدد: {n})|تم استيراد الفرش من {file} (العدد: {n})|تم استيراد الفرش من {file} (العدد: {n})|تم استيراد الفرش من {file} (العدد: {n})|تم استيراد الفرش من {file} (العدد: {n}) +@plural Imported {n} gradient from {file}|Imported {n} gradients from {file} تم استيراد التدرجات من {file} (العدد: {n})|تم استيراد التدرجات من {file} (العدد: {n})|تم استيراد التدرجات من {file} (العدد: {n})|تم استيراد التدرجات من {file} (العدد: {n})|تم استيراد التدرجات من {file} (العدد: {n})|تم استيراد التدرجات من {file} (العدد: {n}) + Data Set: {name} ({index}/{total}) مجموعة البيانات: {name} ({index}/{total}) + (none) (بلا) +navigator Zoom التكبير + Apply {option}: {state} تطبيق {option}: {state} + on مفعّل + off متوقف + This adjustment ({key}) is kept as imported and can't be edited yet. يُحتفظ بهذا التعديل ({key}) كما استُورد ولا يمكن تحريره بعد. + Join the ArtCraft Discord ({url}) الانضمام إلى ArtCraft على Discord ({url}) + {index} of {total} {index} من {total} + {shortcut} assigned. تم تعيين {shortcut}. + {shortcut} is already in use by {commands} and will be removed from it when you click OK. {shortcut} مستخدم بالفعل من قبل {commands} وسيُزال منه عند النقر على موافق. +@id file.close إغلاق +@id layer.layerMask.apply تطبيق قناع الطبقة +@id edit.clear مسح +layerLabel Red أحمر +layerLabel Magenta ماجنتا + Drag: draw freehand · Release on the start point: close سحب: رسم حر · الإفلات على نقطة البداية: إغلاق + Drag a crop box · drag inside to move · edges resize ({ratio} ratio, {centre} centre) · Space moves while drawing · {commit} commits · Esc cancels اسحب مربع اقتصاص · اسحب من الداخل للنقل · الحواف لتغيير الحجم ({ratio} للنسبة، {centre} للمركز) · Space ينقل أثناء الرسم · {commit} للتأكيد · Esc للإلغاء + Kerning: Metrics, Optical or a value in 1/1000 em (Alt+←/→ at the caret) تقارب الأحرف: مقاييسي أو بصري أو قيمة بوحدة 1/1000 em (Alt+←/→ عند المؤشر) + Basic Latin اللاتينية الأساسية + Latin 1 لاتينية 1 + Latin Extended-A اللاتينية الموسعة-A + Latin Extended-B اللاتينية الموسعة-B + Greek اليونانية + Cyrillic السيريلية + Numbers الأرقام + Currency العملات + Math Symbols الرموز الرياضية + Arrows الأسهم + Save Path حفظ المسار +cameraRaw Highlights الإضاءات العالية +cameraRaw Shadows الظلال + All shortcuts reset to Photoshop defaults. تمت إعادة ضبط كل الاختصارات إلى إعدادات Photoshop الافتراضية. + Temporary مؤقت + none بلا + red أحمر + orange برتقالي + yellow أصفر + green أخضر + blue أزرق + violet بنفسجي + gray رمادي + Working Rgb RGB العمل + Working Cmyk CMYK العمل + Working Gray الرمادي العامل + Policy Rgb سياسة RGB + Policy Cmyk سياسة CMYK + Policy Gray سياسة الرمادي + Convert تحويل + Ask On Mismatch السؤال عند عدم التطابق + Ask On Paste السؤال عند اللصق + Ask On Missing السؤال عند الفقدان + Intent القصد + Bpc BPC + Blend Text Gamma غاما مزج النص + Monitor Profile ملف تعريف الشاشة + Display-p3 Display-P3 + Adobe-rgb-compat متوافق مع Adobe RGB + Prophoto-compat متوافق مع ProPhoto + Linear-srgb sRGB خطي + Rec2020 Rec2020 + Coated-cmyk CMYK مطلي + Sgray رمادي sGray + Gray-gamma-2.2 رمادي غاما 2.2 + Import Photoshop brushes (.abr) استيراد فرش Photoshop (.abr) +cameraRaw Effects التأثيرات +cameraRaw Exposure التعريض +cameraRaw Contrast التباين +cameraRaw Texture الملمس +cameraRaw Clarity الوضوح +cameraRaw Dehaze إزالة الضباب +cameraRaw Saturation التشبع +cameraRaw Curve المنحنى +cameraRaw Color Mixer مازج الألوان +cameraRaw Midtones الدرجات المتوسطة +cameraRaw Balance التوازن +cameraRaw Detail التفاصيل +cameraRaw Radius نصف القطر +cameraRaw Feather تدريج الحواف +cameraRaw Midpoint نقطة المنتصف +cameraRaw Roundness الاستدارة +cameraRaw Size الحجم + Default Photoshop Size حجم Photoshop الافتراضي +document Orientation الاتجاه + Arc Lower قوس سفلي + Arc Upper قوس علوي + Forward Warp التواء أمامي + Twirl Clockwise دوامة مع عقارب الساعة + Twirl Counterclockwise دوامة عكس عقارب الساعة + Pucker انكماش + Bloat انتفاخ + Push Left دفع لليسار + Freeze Mask تجميد القناع + Thaw Mask إذابة القناع + Freeze Lasso لاسو التجميد + Reconstruct All إعادة بناء الكل + Mask None بلا قناع +colorRange Invert عكس +layers Fill تعبئة +layers Fill: التعبئة: +shape Appearance المظهر + Add to Dictionary إضافة إلى القاموس + No Spelling Suggestions لا توجد اقتراحات إملائية + Save Settings… حفظ الإعدادات… + Load Settings… تحميل الإعدادات… + Save these settings as a Camera Raw .xmp file حفظ هذه الإعدادات كملف Camera Raw بصيغة .xmp + Load settings from a Camera Raw .xmp file تحميل الإعدادات من ملف Camera Raw بصيغة .xmp + Loaded Camera Raw settings from {file} تم تحميل إعدادات Camera Raw من {file} + Loaded Camera Raw settings from {file} ({n} not supported) تم تحميل إعدادات Camera Raw من {file} ({n} غير مدعوم) + Manage submitted jobs in the system print queue إدارة المهام المرسلة في قائمة طباعة النظام + Pick Color From Image انتقاء لون من الصورة + Drag to pan · Scroll to zoom · Double-click to fit اسحب للتحريك · مرّر للتكبير · نقر مزدوج للملاءمة + Object Finder أداة البحث عن الكائنات + No object found there — drag a rectangle around it لم يُعثر على كائن هناك — اسحب مستطيلًا حوله + Clear Brush Controls مسح عناصر تحكم الفرشاة + Reset All Locked Settings إعادة ضبط كل الإعدادات المقفلة + Copy Texture to Other Tools نسخ الملمس إلى الأدوات الأخرى + Load Actions… تحميل الإجراءات… + Save Actions… حفظ الإجراءات… + {name} (Photoshop) {name} (Photoshop) + {message} ({note}) {message} ({note}) +@plural Loaded {n} action from {file}|Loaded {n} actions from {file} تم تحميل الإجراءات من {file} (العدد: {n})|تم تحميل الإجراءات من {file} (العدد: {n})|تم تحميل الإجراءات من {file} (العدد: {n})|تم تحميل الإجراءات من {file} (العدد: {n})|تم تحميل الإجراءات من {file} (العدد: {n})|تم تحميل الإجراءات من {file} (العدد: {n}) +@plural {n} step has no PhotoCraft equivalent yet|{n} steps have no PhotoCraft equivalent yet خطوات بلا مكافئ في PhotoCraft حتى الآن (العدد: {n})|خطوات بلا مكافئ في PhotoCraft حتى الآن (العدد: {n})|خطوات بلا مكافئ في PhotoCraft حتى الآن (العدد: {n})|خطوات بلا مكافئ في PhotoCraft حتى الآن (العدد: {n})|خطوات بلا مكافئ في PhotoCraft حتى الآن (العدد: {n})|خطوات بلا مكافئ في PhotoCraft حتى الآن (العدد: {n}) +@plural Saved {n} action to {file}|Saved {n} actions to {file} تم حفظ الإجراءات في {file} (العدد: {n})|تم حفظ الإجراءات في {file} (العدد: {n})|تم حفظ الإجراءات في {file} (العدد: {n})|تم حفظ الإجراءات في {file} (العدد: {n})|تم حفظ الإجراءات في {file} (العدد: {n})|تم حفظ الإجراءات في {file} (العدد: {n}) +@plural {n} step with no Photoshop equivalent left out|{n} steps with no Photoshop equivalent left out تم استبعاد خطوات لا مكافئ لها في Photoshop (العدد: {n})|تم استبعاد خطوات لا مكافئ لها في Photoshop (العدد: {n})|تم استبعاد خطوات لا مكافئ لها في Photoshop (العدد: {n})|تم استبعاد خطوات لا مكافئ لها في Photoshop (العدد: {n})|تم استبعاد خطوات لا مكافئ لها في Photoshop (العدد: {n})|تم استبعاد خطوات لا مكافئ لها في Photoshop (العدد: {n}) + Insert Stop… إدراج نقطة إيقاف… + Save Set… حفظ المجموعة… + Message: الرسالة: + Allow Continue السماح بالمتابعة + Show dialog during playback إظهار النافذة أثناء التشغيل + Select an action first حدد إجراءً أولًا + Action playback stopped توقف تشغيل الإجراء + Step {step} is waiting for its dialog الخطوة {step} تنتظر نافذتها +@plural {n} action|{n} actions {n} إجراء|{n} إجراء|{n} إجراءان|{n} إجراءات|{n} إجراءً|{n} إجراء + Gradient Preset Options خيارات إعدادات التدرج المسبقة + Import .GRD استيراد .GRD + Choose a gradient file (.grd). اختر ملف تدرج (.grd). + Auto Add/Delete إضافة/حذف تلقائي + Paper Width عرض الورق + Paper Height ارتفاع الورق + ICO is limited to 256 × 256 pixels صيغة ICO محدودة بـ 256 × 256 بكسل + Channel Color لون القناة + Color Indicates: اللون يشير إلى: + Ink Characteristics خصائص الحبر + Solidity: الصلابة: + Redrawing جارٍ إعادة الرسم +@plural Imported {n} pattern from {file}|Imported {n} patterns from {file} تم استيراد الأنماط من {file} (العدد: {n})|تم استيراد الأنماط من {file} (العدد: {n})|تم استيراد الأنماط من {file} (العدد: {n})|تم استيراد الأنماط من {file} (العدد: {n})|تم استيراد الأنماط من {file} (العدد: {n})|تم استيراد الأنماط من {file} (العدد: {n}) + Starting serial رقم البداية التسلسلي + Bend الانحناء + Horizontal Distortion التشويه الأفقي + Vertical Distortion التشويه العمودي + Based On بناءً على + Source Channel قناة المصدر + Source Invert عكس المصدر + Mask Channel قناة القناع + Source1 Channel قناة المصدر 1 + Source1 Invert عكس المصدر 1 + Source2 Channel قناة المصدر 2 + Source2 Invert عكس المصدر 2 + R g b R G B + Export As: {name} تصدير باسم: {name} + Color Sampler Tool أداة عينات الألوان + Proof Setup… إعداد البروفة… + Toggle Layer Mask Overlay تبديل تراكب قناع الطبقة + Increase Type Size زيادة حجم النص + Decrease Type Size تقليل حجم النص + Increase Type Size by 10 زيادة حجم النص بمقدار 10 + Decrease Type Size by 10 تقليل حجم النص بمقدار 10 + Make Selection from Path إنشاء تحديد من المسار + Target Composite Channel استهداف القناة المركبة + Target Channel 3 استهداف القناة 3 + Target Channel 4 استهداف القناة 4 + Target Channel 5 استهداف القناة 5 + Target Channel 6 استهداف القناة 6 + Target Channel 7 استهداف القناة 7 + Target Channel 8 استهداف القناة 8 + Target Channel 9 استهداف القناة 9 + Fill with Foreground Color التعبئة بلون المقدمة + Fill with Background Color التعبئة بلون الخلفية + Fill with Foreground Color, Preserve Transparency التعبئة بلون المقدمة مع الحفاظ على الشفافية + Fill with Background Color, Preserve Transparency التعبئة بلون الخلفية مع الحفاظ على الشفافية + Decrease Brush Size تقليل حجم الفرشاة + Increase Brush Size زيادة حجم الفرشاة + Decrease Brush Hardness تقليل صلابة الفرشاة + Increase Brush Hardness زيادة صلابة الفرشاة + Space Space + Hand Tool (hold) أداة اليد (اضغط مطولًا) + Zoom In (hold, drag to scrub) تكبير (اضغط مطولًا، واسحب للتكبير بالسحب) + Zoom Out (hold) تصغير (اضغط مطولًا) + Erase with Brush or Pencil (hold) المحو بالفرشاة أو القلم الرصاص (اضغط مطولًا) + Author Title لقب المؤلف + Copyright Url رابط حقوق النشر + Title العنوان + Working-cmyk CMYK العمل + Simulate Paper محاكاة الورق + Warming Filter (85) مرشح التسخين (85) + Cw مع عقارب الساعة + Ccw عكس عقارب الساعة + Nearest الأقرب + R G B R G B + W: W: + A: A: + Pattern Fill… تعبئة نمطية… + Any أي + Cmyk CMYK + Dont Enlarge عدم التكبير + Change Find تغيير البحث + Case Sensitive حساس لحالة الأحرف + Whole Word الكلمة بالكامل + Forward للأمام + Checkerboard رقعة الشطرنج diff --git a/crates/ui-egui/src/i18n/live_tests.rs b/crates/ui-egui/src/i18n/live_tests.rs index 89c47ef1ac..54ae634ddf 100644 --- a/crates/ui-egui/src/i18n/live_tests.rs +++ b/crates/ui-egui/src/i18n/live_tests.rs @@ -233,7 +233,7 @@ fn first_launch_renders_the_system_language_without_overwriting_auto() { #[test] fn missing_or_unsupported_system_languages_render_english() { - for tags in [vec![], vec!["sv-SE", "ar-SA"]] { + for tags in [vec![], vec!["sv-SE", "he-IL"]] { system::with_system_tags(&tags, || { with_language(Lang::EN, || { let h = harness(); diff --git a/crates/ui-egui/src/i18n/mod.rs b/crates/ui-egui/src/i18n/mod.rs index b976e395fc..5fc6ee662a 100644 --- a/crates/ui-egui/src/i18n/mod.rs +++ b/crates/ui-egui/src/i18n/mod.rs @@ -115,6 +115,21 @@ fn plural_polish(n: u64) -> usize { } } +/// Arabic: 0 → zero, 1 → one, 2 → two, 3–10 (mod 100) → few, 11–99 (mod 100) → many, +/// everything else (100, 101, 102, 200, ...) → other. Six forms, in that order. +fn plural_arabic(n: u64) -> usize { + match n { + 0 => 0, + 1 => 1, + 2 => 2, + _ => match n % 100 { + 3..=10 => 3, + 11..=99 => 4, + _ => 5, + }, + } +} + /// A catalog file as packed by build.rs (`pack_catalogs`; the binary would otherwise carry ~2.2 MB /// of translations, which the web build's size gate can't afford). See [`unpack`]. macro_rules! catalog { @@ -187,7 +202,7 @@ fn expand(packed: &str, keys: &[&str]) -> Result { } /// The registry. English first: it is the fallback and the source language. -pub static LANGUAGES: [LangInfo; 21] = [ +pub static LANGUAGES: [LangInfo; 22] = [ LangInfo { code: "en", name: "English", source: b"", plural: plural_one_other, complete_menus: false, catalog: OnceLock::new() }, LangInfo { code: "ja", name: "日本語", source: catalog!("ja"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, LangInfo { code: "zh-hans", name: "简体中文", source: catalog!("zh-hans"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, @@ -220,6 +235,9 @@ pub static LANGUAGES: [LangInfo; 21] = [ LangInfo { code: "tr", name: "Türkçe", source: catalog!("tr"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, // Vietnamese; `vi-VN` resolves here. LangInfo { code: "vi", name: "Tiếng Việt", source: catalog!("vi"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, + // Arabic (right-to-left, see `dir_for_code`); `ar`, `ar-EG`, `ar-SA` and other `ar-*` locales + // resolve here. It has six plural forms (see `plural_arabic`). + LangInfo { code: "ar", name: "العربية", source: catalog!("ar"), plural: plural_arabic, complete_menus: true, catalog: OnceLock::new() }, ]; impl LangInfo { @@ -588,6 +606,30 @@ mod tests { assert_eq!(tr(hu, "Red"), "Vörös"); } + #[test] + fn arabic_plural_rule() { + let forms: Vec = [0, 1, 2, 3, 10, 11, 99, 100, 101, 102, 103, 111, 200, 1000].into_iter().map(plural_arabic).collect(); + assert_eq!(forms, [0, 1, 2, 3, 3, 4, 4, 5, 5, 5, 3, 4, 5, 5]); + } + + #[test] + fn arabic_resolves_pluralises_and_is_right_to_left() { + let ar = Lang::from_code("ar").expect("ar registered"); + for tag in ["ar", "ar-EG", "ar_SA.UTF-8", "ar-AE"] { + assert_eq!(lang_from_tag(tag), Some(ar), "{tag}"); + } + assert!(ar.complete_menus()); + assert_eq!(ar.name(), "العربية"); + assert_eq!(dir_for_code("ar-EG"), Dir::Rtl); + assert_eq!(tr(ar, "Layer"), "طبقة"); + assert_eq!(tr(ar, "All"), "الكل"); + assert_eq!(tr_id(ar, "select.all", "All"), "تحديد الكل", "an id override wins over the plain label"); + assert_eq!(tr_ctx(ar, "layerLabel", "Red"), "أحمر"); + for (n, expected) in [(0, "0 عنصر"), (1, "1 عنصر"), (2, "2 عنصران"), (3, "3 عناصر"), (11, "11 عنصرًا"), (100, "100 عنصر")] { + assert_eq!(trn(ar, n, "{n} item", "{n} items"), expected, "{n}"); + } + } + #[test] fn brazilian_portuguese_resolves_and_pluralises() { let pt = Lang::from_code("pt-br").expect("pt-br registered"); diff --git a/crates/ui-egui/src/i18n/system.rs b/crates/ui-egui/src/i18n/system.rs index 49bc3bc79b..32b1964caa 100644 --- a/crates/ui-egui/src/i18n/system.rs +++ b/crates/ui-egui/src/i18n/system.rs @@ -91,7 +91,8 @@ mod tests { (vec!["zh-Hant-HK", "zh-CN"], "zh-hant"), (vec!["zh-Hans-CN", "zh-TW"], "zh-hans"), (vec!["en-US", "ru-RU"], "en"), - (vec!["sv-SE", "ar-SA"], "en"), + (vec!["sv-SE", "ar-SA"], "ar"), + (vec!["sv-SE", "he-IL"], "en"), (vec!["de-AT", "en-US"], "de"), (vec!["pt-PT"], "pt-br"), (vec!["it-IT", "en-US"], "it"), From e6bc2d1472f7b5779e2e2e0d8440271fcd9b9970 Mon Sep 17 00:00:00 2001 From: syrrevshin4202-prog Date: Thu, 15 Oct 2026 13:52:41 +0300 Subject: [PATCH 37/60] i18n(ar): stage Arabic catalog and review checklist Add 348 original Arabic entries for menus, tools and New Document with catalog and staging regression tests. Keep Arabic outside LANGUAGES until bidi, caret and font delivery are verified. Document native font fallback and remaining validation; no shipped coverage change. --- ATTRIBUTION.md | 1 + .../ui-egui/src/i18n/LICENSE-translations.txt | 6 +- crates/ui-egui/src/i18n/ar.tsv | 372 ++++++++++++++++++ crates/ui-egui/src/i18n/arabic_tests.rs | 109 +++++ crates/ui-egui/src/i18n/mod.rs | 3 + docs/gaps.md | 8 +- docs/localization-ar.md | 104 +++++ docs/localization-parity.md | 15 +- docs/localization.md | 12 +- 9 files changed, 620 insertions(+), 10 deletions(-) create mode 100644 crates/ui-egui/src/i18n/ar.tsv create mode 100644 crates/ui-egui/src/i18n/arabic_tests.rs create mode 100644 docs/localization-ar.md diff --git a/ATTRIBUTION.md b/ATTRIBUTION.md index 26eca62464..86f3a37a9c 100644 --- a/ATTRIBUTION.md +++ b/ATTRIBUTION.md @@ -10,6 +10,7 @@ next to them. | Path | Title | Author | Source | License | |---|---|---|---|---| +| `crates/ui-egui/src/i18n/ar.tsv` | Arabic UI translation draft (staged) | PhotoCraft contributors; AI contributor: OpenAI Codex | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, [`LICENSE-translations.txt`](crates/ui-egui/src/i18n/LICENSE-translations.txt) | | `crates/codecs/src/codecs/xpm/x11_colors.rs` | X11 `rgb.txt` color-name lookup table (normalized X.Org RGB values) | X.Org Foundation and X11 contributors | | MIT (X.Org app/rgb) | | `crates/ui-egui/src/i18n/el.tsv` | Greek UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, [`LICENSE-translations.txt`](crates/ui-egui/src/i18n/LICENSE-translations.txt) | | `crates/ui-egui/src/i18n/de.tsv` | German UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, [`LICENSE-translations.txt`](crates/ui-egui/src/i18n/LICENSE-translations.txt) | diff --git a/crates/ui-egui/src/i18n/LICENSE-translations.txt b/crates/ui-egui/src/i18n/LICENSE-translations.txt index 93a609f946..37960d7b4a 100644 --- a/crates/ui-egui/src/i18n/LICENSE-translations.txt +++ b/crates/ui-egui/src/i18n/LICENSE-translations.txt @@ -1,5 +1,5 @@ PhotoCraft's Korean, German, Spanish, Brazilian Portuguese, Italian, Ukrainian, Dutch, Czech, -Turkish, Hungarian and Serbian UI translation catalogs are licensed under MIT OR Apache-2.0, +Turkish, Hungarian, Serbian and Arabic UI translation catalogs are licensed under MIT OR Apache-2.0, at your option. The full license texts are in ../../../../LICENSE-MIT and ../../../../LICENSE-APACHE. @@ -37,3 +37,7 @@ PhotoCraft's English labels; no proprietary translation resources were used. Serbian translations: PhotoCraft contributors, original translations of PhotoCraft's English labels; no proprietary translation resources were used. + +Arabic translations (staged review draft): PhotoCraft contributors, with OpenAI Codex as an +AI contributor, original translations of PhotoCraft's English labels; no proprietary +translation resources were used. diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv new file mode 100644 index 0000000000..eddcf5f69f --- /dev/null +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -0,0 +1,372 @@ +# Arabic (ar): initial partial catalog, written in Modern Standard Arabic. +# Review draft, not selectable yet; see docs/localization-ar.md for release blockers. +# Columns separated by TAB: context English source Arabic translation. +# Empty context is a plain UI string; `document` disambiguates page orientation. +# Missing entries intentionally fall back to English. This is not a complete localization. +# Original contribution under MIT OR Apache-2.0, matching the PhotoCraft project license. +# Clean-room: translations were written from the meaning of PhotoCraft's English source keys. +# No proprietary translations, localization resources, or product string tables were used. +# Preserve product names, {name} placeholders, escapes (\n, \t, \\), and dialog ellipses (…). +# Glossary: Layer = طبقة; Mask = قناع; Selection = تحديد; Canvas = مساحة الرسم; +# New Document = مستند جديد; Opacity = عتامة; Fill = تعبئة. +# Count-sensitive messages are left for a later translation pass. + +# Main menus and common menu groups (menu_catalog.rs). + File ملف + Edit تحرير + Image صورة + Layer طبقة + Type نص + Select تحديد + Filter مرشح + View عرض + Window نافذة + Help مساعدة + Export تصدير + Import استيراد + Preferences تفضيلات + Transform تحويل + Adjustments تعديلات + Mode نمط + Image Rotation تدوير الصورة + New جديد + Delete حذف + Layer Style نمط الطبقة + Layer Mask قناع الطبقة + Vector Mask قناع متجهي + Smart Objects عناصر ذكية + New Fill Layer طبقة تعبئة جديدة + New Adjustment Layer طبقة تعديل جديدة + Modify تعديل + Blur تمويه + Sharpen زيادة الحدة + Noise تشويش + Show إظهار + Screen Mode نمط الشاشة + Workspace مساحة العمل + Arrange ترتيب + +# File and everyday editing commands (menu_catalog.rs). + New… جديد… + New from Clipboard جديد من الحافظة + Open… فتح… + Open As… فتح بصيغة… + Close إغلاق + Close All إغلاق الكل + Close Others إغلاق المستندات الأخرى + Save حفظ + Save As… حفظ باسم… + Save a Copy… حفظ نسخة… + Revert استعادة النسخة المحفوظة + Quick Export as PNG تصدير سريع بصيغة PNG + Export As… تصدير بصيغة… + Place Embedded… إدراج مع تضمين… + Place Linked… إدراج مع ربط… + File Info… معلومات الملف… + Print… طباعة… + Print One Copy طباعة نسخة واحدة + Exit خروج + Undo تراجع + Redo إعادة + Cut قص + Copy نسخ + Copy Merged نسخ مدمج + Paste لصق + Paste Special لصق خاص + Paste in Place لصق في الموضع نفسه + Paste Into لصق داخل التحديد + Paste Outside لصق خارج التحديد + Clear مسح + Search… بحث… + Fill… تعبئة… + Stroke… حدود… + Content-Aware Fill… تعبئة بحسب المحتوى… + Free Transform تحويل حر + Scale تحجيم + Rotate تدوير + Skew إمالة + Distort تشويه + Perspective منظور + Warp التواء + Rotate 180° تدوير 180° + Rotate 90° Clockwise تدوير 90° باتجاه عقارب الساعة + Rotate 90° Counter Clockwise تدوير 90° بعكس عقارب الساعة + Flip Horizontal قلب أفقي + Flip Vertical قلب عمودي + Color Settings… إعدادات الألوان… + Keyboard Shortcuts… اختصارات لوحة المفاتيح… + Menus… القوائم… + Toolbar… شريط الأدوات… + Settings… الإعدادات… + Interface… الواجهة… + Workspace… مساحة العمل… + Tools… الأدوات… + Performance… الأداء… + Type… النص… + +# Image, layers, selection, and view commands (menu_catalog.rs). + Grayscale تدرج رمادي + RGB Color ألوان RGB + CMYK Color ألوان CMYK + Lab Color ألوان Lab + 8 Bits/Channel 8 بت لكل قناة + 16 Bits/Channel 16 بت لكل قناة + 32 Bits/Channel 32 بت لكل قناة + Brightness/Contrast… السطوع والتباين… + Levels… المستويات… + Curves… المنحنيات… + Exposure… التعريض… + Hue/Saturation… درجة اللون والتشبع… + Color Balance… توازن الألوان… + Black & White… أبيض وأسود… + Invert عكس + Desaturate إزالة التشبع + Auto Tone درجات لونية تلقائية + Auto Contrast تباين تلقائي + Auto Color ألوان تلقائية + Image Size… حجم الصورة… + Canvas Size… حجم مساحة الرسم… + Flip Canvas Horizontal قلب مساحة الرسم أفقيًا + Flip Canvas Vertical قلب مساحة الرسم عموديًا + Crop اقتصاص + Trim… إزالة الحواف… + Reveal All إظهار الكل + Duplicate… تكرار… + Layer… طبقة… + Group… مجموعة… + Layer via Copy طبقة بالنسخ + Layer via Cut طبقة بالقص + Duplicate Layer… تكرار الطبقة… + Hidden Layers الطبقات المخفية + Rename Layer إعادة تسمية الطبقة + Blending Options… خيارات المزج… + Drop Shadow… ظل خارجي… + Solid Color… لون موحد… + Gradient… تدرج لوني… + Pattern… نقش… + Hide All إخفاء الكل + Reveal Selection إظهار التحديد + Hide Selection إخفاء التحديد + From Transparency من الشفافية + Apply تطبيق + Enable Layer Mask تفعيل قناع الطبقة + Link Layer Mask ربط قناع الطبقة + Create Clipping Mask إنشاء قناع قص + Convert to Smart Object تحويل إلى عنصر ذكي + Edit Contents تحرير المحتوى + All الكل + Deselect إلغاء التحديد + Reselect إعادة التحديد + Inverse Selection عكس التحديد + All Layers كل الطبقات + Deselect Layers إلغاء تحديد الطبقات + Color Range… نطاق الألوان… + Subject العنصر الرئيسي + Sky السماء + Select and Mask… التحديد والقناع… + Border… إطار التحديد… + Smooth… تنعيم… + Expand… توسيع… + Contract… تقليص… + Feather… تليين الحواف… + Transform Selection تحويل التحديد + Load Selection… تحميل تحديد… + Save Selection… حفظ التحديد… + Gaussian Blur… تمويه غاوسي… + Zoom In تكبير + Zoom Out تصغير + Fit on Screen ملاءمة للشاشة + Rulers المساطر + Grid شبكة + Guides خطوط إرشاد + Layers طبقات + Channels قنوات + History سجل التعديلات + Color لون + Swatches عينات الألوان + Paths مسارات + Properties خصائص + Brushes فرش + Brush Settings إعدادات الفرشاة + +# New Document dialog and its presets (new_doc_ui.rs, dialogs.rs). + New Document مستند جديد + Create إنشاء + Recent الأخيرة + Saved محفوظة + Photo صور فوتوغرافية + Print طباعة + Art & Illustration الفن والرسم التوضيحي + Web الويب + Mobile الأجهزة المحمولة + Film & Video الأفلام والفيديو + Default PhotoCraft Size الحجم الافتراضي في PhotoCraft + Clipboard الحافظة + Landscape, 6 x 4 أفقي، 6 x 4 + Landscape, 7 x 5 أفقي، 7 x 5 + Landscape, 10 x 8 أفقي، 10 x 8 + Portrait, 4 x 6 عمودي، 4 x 6 + Portrait, 5 x 7 عمودي، 5 x 7 + Square, 5 x 5 مربع، 5 x 5 + Square, 12 x 12 مربع، 12 x 12 + Letter ورق Letter + Legal ورق Legal + Tabloid ورق Tabloid + Poster ملصق + Postcard بطاقة بريدية + Comic Book قصص مصورة + Web Most Common مقاس الويب الأكثر شيوعًا + Web Minimum الحد الأدنى لمقاس الويب + Web Large مقاس ويب كبير + No saved presets yet. لا توجد إعدادات مسبقة محفوظة بعد. + Save Preset… حفظ إعداد مسبق… + Preset Name اسم الإعداد المسبق + BLANK DOCUMENT PRESETS ({n}) إعدادات مسبقة لمستندات فارغة ({n}) + PRESET DETAILS تفاصيل الإعداد المسبق + Untitled-1 بلا عنوان-1 + Width العرض + Height الارتفاع +document Orientation اتجاه الصفحة + Portrait عمودي + Landscape أفقي + Resolution الدقة + Pixels بكسل + Inches بوصة + Centimeters سنتيمتر + Millimeters مليمتر + Points نقطة + Picas بيكا + Pixels/Inch بكسل لكل بوصة + Pixels/Centimeter بكسل لكل سنتيمتر + Color Mode نمط الألوان + 8 bit 8 بت + 16 bit 16 بت + 32 bit (float) 32 بت (فاصلة عائمة) + Integer عدد صحيح + Floating point فاصلة عائمة + Background Contents محتوى الخلفية + White أبيض + Black أسود + Background Color لون الخلفية + Transparent شفاف + Custom… مخصص… + Custom مخصص + Custom background color لون خلفية مخصص + +# Preferences and common controls (prefs_ui.rs, dialogs.rs, generated preference labels). + OK موافق + Cancel إلغاء + Reset إعادة ضبط + Reset Section إعادة ضبط القسم + Restore Defaults استعادة الإعدادات الافتراضية + General عام + Interface الواجهة + Tools الأدوات + Options الخيارات + Language اللغة + Auto تلقائي + Appearance المظهر + Appearance Mode نمط المظهر + Appearance Settings… إعدادات المظهر… + Presentation العرض والتنسيق + Sync with system اتباع النظام + Dark داكن + Light فاتح + Theme السمة + Dark Theme السمة الداكنة + Light Theme السمة الفاتحة + UI font size حجم خط الواجهة + UI scale مقياس الواجهة + Canvas color لون مساحة الرسم + Canvas custom color لون مخصص لمساحة الرسم + Canvas border حد مساحة الرسم + Show tooltips إظهار التلميحات + Show home recent files إظهار الملفات الأخيرة في الشاشة الرئيسية + System title bar شريط عنوان النظام + Auto Hide Notifications إخفاء الإشعارات تلقائيًا + Notification Duration (seconds) مدة الإشعارات (بالثواني) + Applies at next launch. يسري عند التشغيل التالي. + Search settings… البحث في الإعدادات… + No matching settings لا توجد إعدادات مطابقة + Cancelled {label} تم إلغاء {label} + {set} (modified) {set} (معدّل) + These settings aren't available in PhotoCraft yet. هذه الإعدادات غير متاحة في PhotoCraft بعد. + Search بحث + Keyboard Shortcuts اختصارات لوحة المفاتيح + Menus القوائم + Toolbar شريط الأدوات + Name: الاسم: + Rename إعادة تسمية + Opacity عتامة + Fill تعبئة + Selection تحديد + Canvas مساحة الرسم + +# Common tool names (state.rs: Tool::label). + Move Tool أداة التحريك + Artboard Tool أداة لوحة التصميم + Rectangular Marquee Tool أداة التحديد المستطيل + Elliptical Marquee Tool أداة التحديد البيضاوي + Single Row Marquee Tool أداة تحديد صف واحد + Single Column Marquee Tool أداة تحديد عمود واحد + Brush Tool أداة الفرشاة + Pencil Tool أداة القلم الرصاص + Mixer Brush Tool أداة فرشاة المزج + Color Replacement Tool أداة استبدال اللون + Eraser Tool أداة الممحاة + Background Eraser Tool أداة ممحاة الخلفية + Magic Eraser Tool أداة الممحاة السحرية + Eyedropper Tool أداة القطارة + Color Sampler Tool أداة أخذ عينات الألوان + Ruler Tool أداة المسطرة + Note Tool أداة الملاحظات + Count Tool أداة العد + Lasso Tool أداة التحديد الحر + Polygonal Lasso Tool أداة التحديد الحر المضلع + Magnetic Lasso Tool أداة التحديد الحر المغناطيسي + Magic Wand Tool أداة العصا السحرية + Crop Tool أداة الاقتصاص + Perspective Crop Tool أداة اقتصاص المنظور + Frame Tool أداة الإطار + Slice Tool أداة الشرائح + Slice Select Tool أداة تحديد الشرائح + Gradient Tool أداة التدرج اللوني + Paint Bucket Tool أداة دلو التعبئة + Horizontal Type Tool أداة النص الأفقي + Vertical Type Tool أداة النص العمودي + Horizontal Type Mask Tool أداة قناع النص الأفقي + Vertical Type Mask Tool أداة قناع النص العمودي + Hand Tool أداة اليد + Rotate View Tool أداة تدوير العرض + Zoom Tool أداة التكبير والتصغير + Remove Tool أداة الإزالة + Spot Healing Brush Tool أداة فرشاة إصلاح البقع + Healing Brush Tool أداة فرشاة الإصلاح + Patch Tool أداة الرقعة + Content-Aware Move Tool أداة التحريك بحسب المحتوى + Red Eye Tool أداة إزالة احمرار العين + Clone Stamp Tool أداة ختم الاستنساخ + Pattern Stamp Tool أداة ختم النقش + History Brush Tool أداة فرشاة السجل + Blur Tool أداة التمويه + Sharpen Tool أداة زيادة الحدة + Smudge Tool أداة التلطيخ + Dodge Tool أداة التفتيح + Burn Tool أداة التغميق + Sponge Tool أداة الإسفنجة + Quick Selection Tool أداة التحديد السريع + Object Selection Tool أداة تحديد العناصر + Pen Tool أداة القلم + Freeform Pen Tool أداة القلم الحر + Curvature Pen Tool أداة قلم المنحنيات + Add Anchor Point Tool أداة إضافة نقطة ارتكاز + Delete Anchor Point Tool أداة حذف نقطة ارتكاز + Convert Point Tool أداة تحويل النقاط + Path Selection Tool أداة تحديد المسار + Direct Selection Tool أداة التحديد المباشر + Rectangle Tool أداة المستطيل + Ellipse Tool أداة الشكل البيضاوي + Triangle Tool أداة المثلث + Polygon Tool أداة المضلع + Line Tool أداة الخط + Custom Shape Tool أداة الشكل المخصص diff --git a/crates/ui-egui/src/i18n/arabic_tests.rs b/crates/ui-egui/src/i18n/arabic_tests.rs new file mode 100644 index 0000000000..b44a6f4706 --- /dev/null +++ b/crates/ui-egui/src/i18n/arabic_tests.rs @@ -0,0 +1,109 @@ +//! The Arabic draft is validated without making it a selectable UI language. UI bidi, caret +//! behaviour and web font delivery must be verified before it is added to the language registry. + +use super::catalog::{Catalog, parse_entries, placeholders}; +use super::*; + +const DRAFT: &str = include_str!("ar.tsv"); + +#[test] +fn arabic_draft_preserves_catalog_contracts() { + let (entries, errors) = parse_entries(DRAFT); + assert!(errors.is_empty(), "Arabic draft: {errors:?}"); + assert!(!entries.is_empty(), "the Arabic draft must contain translations"); + let mut seen = std::collections::HashSet::new(); + for (context, source, translation) in &entries { + assert!(seen.insert((context, source)), "duplicate Arabic key: {context:?} {source:?}"); + if context == "@plural" { + let sources: Vec<_> = source.split('|').collect(); + assert_eq!(sources.len(), 2, "plural source must be one|other: {source:?}"); + assert_eq!(translation.split('|').count(), 6, "Arabic needs zero/one/two/few/many/other: {source:?}"); + let mut want = placeholders(sources[1]); + want.sort_unstable(); + for form in translation.split('|') { + let mut got = placeholders(form); + got.sort_unstable(); + assert_eq!(want, got, "Arabic plural placeholders: {source:?}"); + } + continue; + } + let mut want = placeholders(source); + let mut got = placeholders(translation); + want.sort_unstable(); + got.sort_unstable(); + assert_eq!(want, got, "Arabic placeholders: {context:?} {source:?}"); + if context.is_empty() { + assert_eq!(source.ends_with('…'), translation.ends_with('…'), "Arabic dialog ellipsis: {source:?}"); + } + if context == "@id" { + assert!(crate::menus::is_live(source) || crate::menu_catalog::CATALOG.iter().any(|m| m.3 == source), "unknown Arabic command id: {source:?}"); + } + } +} + +#[test] +fn packed_arabic_draft_matches_its_source() { + assert_eq!(unpack(catalog!("ar")).expect("packed Arabic draft"), DRAFT); +} + +#[test] +fn arabic_draft_tracks_live_menu_tool_and_document_category_labels() { + let catalog = Catalog::parse(DRAFT); + let menus: std::collections::BTreeSet<_> = crate::menu_catalog::CATALOG + .iter() + .filter_map(|(path, _, _, _)| path.first().copied()) + .chain(crate::menus::TOP_MENUS) + .collect(); + for source in menus { + assert!(catalog.plain(source).is_some(), "untranslated Arabic main menu: {source}"); + } + for tool in crate::state::Tool::ALL { + assert!(catalog.plain(tool.label()).is_some(), "untranslated Arabic tool: {}", tool.label()); + } + for &(category, _) in crate::new_doc_ui::CATEGORIES { + assert!(catalog.plain(category).is_some(), "untranslated Arabic New Document category: {category}"); + } +} + +#[test] +fn arabic_draft_covers_the_main_menus_and_new_document_workflow() { + let catalog = Catalog::parse(DRAFT); + for (source, translation) in [ + ("File", "ملف"), + ("Layer", "طبقة"), + ("New Document", "مستند جديد"), + ("Width", "العرض"), + ("Height", "الارتفاع"), + ("Create", "إنشاء"), + ("Cancel", "إلغاء"), + ] { + assert_eq!(catalog.plain(source), Some(translation), "Arabic workflow label: {source}"); + } + assert_eq!(catalog.contextual("document", "Orientation"), Some("اتجاه الصفحة")); + assert_eq!(catalog.contextual("unrelated", "Orientation"), None, "a document-specific meaning stays scoped"); + let presets = catalog.plain("BLANK DOCUMENT PRESETS ({n})").expect("New Document preset count"); + assert_eq!(fmt(presets, &[("n", "12")]), "إعدادات مسبقة لمستندات فارغة (12)"); + let cancelled = catalog.plain("Cancelled {label}").expect("cancellation label"); + assert_eq!(fmt(cancelled, &[("label", "خلفية {Original} 2026.psd")]), "تم إلغاء خلفية {Original} 2026.psd", "user-provided names are preserved"); +} + +#[test] +fn arabic_draft_does_not_activate_an_unverified_interface() { + assert!(!Lang::all().any(|lang| lang.code() == "ar"), "Arabic stays staged until rendering is verified"); + for code in ["ar", "AR"] { + assert_eq!(Lang::from_code(code), None, "staged code: {code}"); + } + for tag in ["ar", "ar-LB", "ar-SA", "ar_EG.UTF-8"] { + assert_eq!(lang_from_tag(tag), None, "staged locale: {tag}"); + } + system::with_system_tags(&["ar-LB"], || { + assert_eq!(system_lang(), Lang::EN); + assert_eq!(Lang::from_pref("auto"), Lang::EN); + assert_eq!(Lang::from_pref("ar"), Lang::EN); + }); + system::with_system_tags(&["ar-LB", "fr-FR"], || { + assert_eq!(system_lang().code(), "fr", "Auto skips an unregistered Arabic draft"); + assert_eq!(Lang::from_pref("en"), Lang::EN, "saved manual choices take precedence"); + }); + assert_eq!(dir_for_code("ar"), Dir::Rtl, "the existing direction rule remains available"); +} diff --git a/crates/ui-egui/src/i18n/mod.rs b/crates/ui-egui/src/i18n/mod.rs index b976e395fc..9d68d1d6a9 100644 --- a/crates/ui-egui/src/i18n/mod.rs +++ b/crates/ui-egui/src/i18n/mod.rs @@ -1321,3 +1321,6 @@ mod tests { #[cfg(test)] mod live_tests; + +#[cfg(test)] +mod arabic_tests; diff --git a/docs/gaps.md b/docs/gaps.md index faf0884c89..5ec2d833a1 100644 --- a/docs/gaps.md +++ b/docs/gaps.md @@ -1,6 +1,6 @@ # Where PhotoCraft falls short of Photoshop -> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-13 · **Change:** minor (G1: smart filter masks show on PSD open, Photoshop-oracle floor 188/258; G10: DPX read and write, #1049, Cineon read; G1: CMYK Hue/Saturation and Color Balance keep the black ink; G1: CMYK Posterize on the stored values, psd-tools oracle floor 242/309; G1: CMYK adjustment layers composite on the document's inks, Photoshop-oracle floor 165/258; G1: CMYK Brightness/Contrast on the inks, CMYK Threshold's luma; G1: modern Brightness/Contrast's brightness curve matches Photoshop, Photoshop-oracle floor 151/258; G1: Lab documents composite on their stored L, a, b, Photoshop-oracle floor 152/258; G1: Levels on whole levels at every step, Photoshop-oracle floor 146/258, psd-tools 238/309; G1: 32-bit Brightness/Contrast legacy, Channel Mixer, Photo Filter and Black & White tint unclipped as in Photoshop, Photoshop-oracle floor 149/258; G1: mask feathers blur with their exact variance, psd-tools oracle floor 240/309; G1: Threshold splits on Photoshop's luminosity, psd-tools oracle floor 241/309; G1: pass-through clipping base with an adjustment renders isolated, psd-tools oracle floor 240/309; G1: 16-bit Posterize as Photoshop bins it, psd-tools oracle floor 241/309; G1: Gradient Map driven by the W3C luminosity, Photoshop-oracle floor 147/258; G7: Field Blur's on-canvas pins, #3373; G4: Hue Jitter amount track, #3825 partial; G4: minimum field interaction, #3825 partial; G1: CMYK Invert, Posterize and Threshold on the inks, 16-bit Lab Invert; Photoshop-oracle floor 145/258; G11: `.atn` import maps 112 events: Select and Mask, Filter Gallery Spatter, Ripple, Crystallize, Pattern Fill layers, mask targeting, Step Backward, nudges in points, Bitmap mode; G5: Free Transform H/V skew fields; G9: toolbar tool shortcut editing; refreshed against main: G2, G5, G7, G9, G10, G13, G14, G17 items that landed; G10: DPX read and write, #1049; G4: checkbox-only Brush Settings rows; G11: Load/Save Actions `.atn` landed, AUTO-219-2 partial; G5: hold-a-key spring-loaded tools landed, #2672; G1: #2465 fixed; stale missing-tool rows corrected: Color Replacement, Red Eye and Add/Delete Anchor Point are live tools, so only Art History Brush is missing; no estimate changed) · **Target:** Adobe Photoshop 2026 +> **Last reviewed:** 2026-10-10 · **Last updated:** 2026-10-15 · **Change:** minor (G13: Arabic review draft staged, no shipped coverage change; G1: smart filter masks show on PSD open, Photoshop-oracle floor 188/258; G10: DPX read and write, #1049, Cineon read; G1: CMYK Hue/Saturation and Color Balance keep the black ink; G1: CMYK Posterize on the stored values, psd-tools oracle floor 242/309; G1: CMYK adjustment layers composite on the document's inks, Photoshop-oracle floor 165/258; G1: CMYK Brightness/Contrast on the inks, CMYK Threshold's luma; G1: modern Brightness/Contrast's brightness curve matches Photoshop, Photoshop-oracle floor 151/258; G1: Lab documents composite on their stored L, a, b, Photoshop-oracle floor 152/258; G1: Levels on whole levels at every step, Photoshop-oracle floor 146/258, psd-tools 238/309; G1: 32-bit Brightness/Contrast legacy, Channel Mixer, Photo Filter and Black & White tint unclipped as in Photoshop, Photoshop-oracle floor 149/258; G1: mask feathers blur with their exact variance, psd-tools oracle floor 240/309; G1: Threshold splits on Photoshop's luminosity, psd-tools oracle floor 241/309; G1: pass-through clipping base with an adjustment renders isolated, psd-tools oracle floor 240/309; G1: 16-bit Posterize as Photoshop bins it, psd-tools oracle floor 241/309; G1: Gradient Map driven by the W3C luminosity, Photoshop-oracle floor 147/258; G7: Field Blur's on-canvas pins, #3373; G4: Hue Jitter amount track, #3825 partial; G4: minimum field interaction, #3825 partial; G1: CMYK Invert, Posterize and Threshold on the inks, 16-bit Lab Invert; Photoshop-oracle floor 145/258; G11: `.atn` import maps 112 events: Select and Mask, Filter Gallery Spatter, Ripple, Crystallize, Pattern Fill layers, mask targeting, Step Backward, nudges in points, Bitmap mode; G5: Free Transform H/V skew fields; G9: toolbar tool shortcut editing; refreshed against main: G2, G5, G7, G9, G10, G13, G14, G17 items that landed; G10: DPX read and write, #1049; G4: checkbox-only Brush Settings rows; G11: Load/Save Actions `.atn` landed, AUTO-219-2 partial; G5: hold-a-key spring-loaded tools landed, #2672; G1: #2465 fixed; stale missing-tool rows corrected: Color Replacement, Red Eye and Add/Delete Anchor Point are live tools, so only Art History Brush is missing; no estimate changed) · **Target:** Adobe Photoshop 2026 Every known shortfall against Photoshop 2026 (27.11.0), one entry each, ranked by user impact on the way to beta. This is the work list agents pick from: take the highest-ranked entry that @@ -247,6 +247,11 @@ what an agent can't finish alone. ## Localization gaps ### G13. Hindi, Arabic, Vietnamese, RTL and engine messages +- **Draft progress (2026-10-15):** an original Arabic catalog for common menus, tools and + New Document is staged outside the language registry, with catalog-integrity and staging + tests. Native installed Arabic font fallback exists; UI bidi/caret, panel layout and web font + delivery remain open. See [Arabic notes](localization-ar.md). This does not close G13 or + change shipped coverage or readiness estimates. - **Missing:** catalogs for Hindi, Arabic and Vietnamese (3 of the 12 key languages); right-to- left UI layout; Devanagari fallback fonts (Thai #1909 and Khmer, Lao and Myanmar #3259 landed); engine error and status messages in English in every language; browser-locale detection and CJK fonts on the web; Japanese IME on @@ -270,6 +275,7 @@ what an agent can't finish alone. | Date | Change | Summary | |---|---|---| +| 2026-10-15 | minor | G13: Arabic catalog staged for review with integrity and staging tests; native fallback evidence documented; bidi/caret and web-font work remain open; estimates unchanged | | 2026-10-14 | minor | G1: a PSD smart object's filter mask shows when the file opens (Photoshop stores the filtered pixels unmasked); export stores them that way too; Photoshop-oracle floor 185 → 188 of 258 | | 2026-10-13 | minor | G14: D90 image area measured (4288 × 2848 at (10, 10)); gap remains open | | 2026-10-14 | minor | Corpus floors raised to the measured results of the CMYK, Lab, 32-bit, Levels, Threshold, Posterize, feather and pass-through fixes landed together: Photoshop-authored 165 → 185 of 258, io 146 → 148 of 170, psd-tools 242 → 249 of 309 | diff --git a/docs/localization-ar.md b/docs/localization-ar.md new file mode 100644 index 0000000000..933247270e --- /dev/null +++ b/docs/localization-ar.md @@ -0,0 +1,104 @@ +# Arabic localization: first review batch + +Status: **staged, not selectable**. This is an original Modern Standard Arabic +catalog for review, not a claim that the application has a working Arabic UI. +The draft is `crates/ui-egui/src/i18n/ar.tsv`; it is deliberately absent from +`i18n::LANGUAGES`, so Arabic system locales continue to follow the existing +fallback and are not switched to an incomplete interface. + +## Scope + +The first batch covers common menu labels, everyday tools, New Document controls, +shared buttons and language preferences. Untranslated strings remain English +when the catalog is eventually registered. Engine errors, API command IDs, +file names, user-entered layer names and preset names are outside this batch. + +The translations were written from the meaning of the English source labels. +No proprietary localization resource was used. They have the same +MIT OR Apache-2.0 license as PhotoCraft; see `LICENSE-translations.txt` beside +the catalog. A human Arabic language review is still required. + +## Vocabulary + +Use concise Modern Standard Arabic rather than a regional dialect. Preserve +product names (PhotoCraft, ArtCraft), format names (PSD, PNG), technical codes +(RGB, CMYK, Lab), numbers and `{name}` placeholders. Keep the source ellipsis +on commands that open dialogs. Do not put visual-order text or Arabic +presentation-form characters into the catalog: translations must stay in logical +Unicode order for a future bidi-capable renderer. + +| English | Arabic | Meaning | +|---|---|---| +| Layer | طبقة | One independently editable element of the document | +| Layer Mask | قناع الطبقة | Visibility control that preserves the layer's pixels | +| Selection | تحديد | The area on which an operation acts | +| Canvas | مساحة الرسم | The document's drawing area | +| Artboard | لوحة تصميم | A separate layout area within a document | +| Opacity | عتامة | How opaque an element is | +| Fill | تعبئة | Filling an area; keep distinct from opacity | +| Resolution | دقة | Pixel density; not the document's width and height | +| Preset | إعداد مسبق | A reusable set of settings | +| Smart Object | عنصر ذكي | A layer retaining its source content | + +## Rendering work required before registration + +Native script-font fallback already includes Arabic families in +`crates/text/src/scripts.rs` and loads installed fonts through +`cjk_fonts.rs`. That helps glyph coverage, including Arabic layer names, but +does not solve bidirectional layout. Availability depends on installed fonts; +the native system-font path is not available on the web. + +The current egui 0.36 UI shapes Arabic words but does not correctly order a +mixed-direction line or handle its text caret. The existing shell mirrors for +RTL language codes, while panel interiors, dialogs and menu rows still need +work. These issues are separate from the document text engine. + +Before adding `ar` to `LANGUAGES`: + +1. Verify correct Arabic and mixed Arabic/English word order, punctuation and + numerals in labels and editable fields, with matching caret and selection. +2. Verify glyph coverage on Windows, macOS, Linux and the web, including the + language's own name in Preferences before it is selected. +3. Inspect New Document, Preferences, menus and layer names in small and large + windows, in dark and light themes. Check English → Arabic → English in + one session and saved preferences after restart. +4. Add Arabic's six integer plural forms (zero, one, two, few, many, other) + before translating `@plural` messages. Do not use the English plural rule. +5. Update tests that currently assume every registered language is LTR, review + partial-catalog coverage expectations, and keep `complete_menus` false + until its coverage gates actually pass. + +## Verification + +`i18n::arabic_tests` exercises the actual catalog parser, placeholder and +ellipsis integrity, source-key presence, packing round trip and the staging +gate. Run it along with the normal localization checks: + +```sh +cargo test -p photocraft-ui-egui --locked arabic +cargo test -p photocraft-ui-egui --locked +cargo clippy -p photocraft-ui-egui --all-targets --locked -- -D warnings +cargo xtask i18n-coverage +cargo xtask layers +cargo xtask wasm +``` + +The ordinary coverage report lists registered languages only; the staged +catalog must not be described as a shipped or fully translated language. +An HTML or document preview is not evidence that egui renders Arabic correctly; +the rendering checks above require the real application. + +## ملاحظات للمراجع العربي + +هذه بداية تعريب للمراجعة، ولن يظهر خيار العربية في البرنامج بهذه الدفعة. +اختيار المصطلحات يهدف إلى جعل الأدوات مفهومة ومتسقة، مع الحفاظ على أسماء +الملفات والصيغ كما هي. + +عند المراجعة، افحص معنى العبارة في مكان استخدامها، لا ترجمة الكلمة وحدها. +مثلًا: «مساحة الرسم» هي حدود الصورة، أما «لوحة التصميم» فهي مساحة تصميم مستقلة +داخل المستند. «الحفظ» يحفظ المشروع، و«التصدير» ينتج ملفًا للاستخدام أو المشاركة. + +بعد تجهيز عرض العربية، ينبغي تجربة عبارة مثل +«تصميم PhotoCraft رقم 12 — طبقة جديدة» وفحص ترتيب الكلمات والأرقام، وتحريك +مؤشر الكتابة وتحديد جزء من النص ونسخه ولصقه. صحة الترجمة وحدها لا تكفي +لإثبات صحة العرض والتحرير. diff --git a/docs/localization-parity.md b/docs/localization-parity.md index 0b2be85595..0420a4dd7b 100644 --- a/docs/localization-parity.md +++ b/docs/localization-parity.md @@ -1,10 +1,11 @@ # Localization parity -> **Last reviewed:** 2026-10-12 · **Last updated:** 2026-10-13 · **Change:** minor (Spanish dynamic labels; previously minor: Serbian catalog) · **Target:** Adobe Photoshop 2026 +> **Last reviewed:** 2026-10-12 · **Last updated:** 2026-10-15 · **Change:** minor (Arabic draft staged outside the language registry; native Arabic font fallback documented; readiness estimates unchanged) · **Target:** Adobe Photoshop 2026 Per-language status of PhotoCraft's UI. How catalogs work and how to add one: [`localization.md`](localization.md). Language notes: [Korean](localization-ko.md), [Spanish](localization-es.md), -[Simplified Chinese](localization-zh-hans.md), [Italian](localization-it.md). +[Simplified Chinese](localization-zh-hans.md), [Italian](localization-it.md), +[Arabic draft](localization-ar.md). **How measured.** `cargo xtask i18n-coverage` (`xtask/src/i18n_coverage.rs`) defines the key universe: `tl!("…")` literals and `trn(` plurals in `ui-egui` (tests excluded), menu-catalog @@ -34,7 +35,7 @@ speakers, ~55% ready. Remaining: 80–140 h, plus native-speaker review (recorde | Simplified Chinese | `zh-hans` | 1,608 / 1,608 (100%) | 2,366 | dialogs, tooltips yes; engine messages English | CJK fonts (lazy loader), IME preedit/commit, vertical type | no | partial | 8–12 h | | Spanish | `es` | 1,844 / 1,844 (100%) | 4,010 | as above; complete dynamic UI key set | Latin | no | partial | 6–10 h | | Hindi | `hi` | 0 (0%) | – | – | Devanagari shaping in the text engine (parley/HarfRust); no Devanagari fallback font (TYPE-218-3) | no | none | 20–30 h | -| Arabic | `ar` | 0 (0%) | – | – | Arabic shaping and bidi in the text engine, Arabic fallback font; RTL shell layout but not inside panels, and UI labels in LTR word order (DIST-220-4), paragraph direction has no UI (TYPE-218-2), layer names as tofu (#1408, #1693) | no | none | 40–60 h | +| Arabic | `ar` | 0 shipped (not registered) | review draft | common menus, tools and New Document draft only | Arabic shaping and bidi in the text engine; native installed-font fallback; RTL shell layout but not inside panels; UI word order and caret remain incomplete (DIST-220-4) | no | staged, not selectable | 40–60 h | | French | `fr` | 1,608 / 1,608 (100%) | 2,766 | as above | Latin | no | partial | 6–10 h | | Portuguese (Brazil) | `pt-br` | 1,608 / 1,608 (100%) | 2,788 | as above | Latin; every `pt` locale uses it | no | partial | 6–10 h | | Indonesian | `id` | 1,608 / 1,608 (100%) | 2,764 | as above | Latin | no | partial | 6–10 h | @@ -66,10 +67,13 @@ engine localization or native review is complete. ## Cross-language gaps - Engine error, status and parameter-help messages are English in every language. +- The initial Arabic catalog is staged outside `LANGUAGES` for review. It does not change + automatic locale matching or shipped coverage. See [Arabic notes](localization-ar.md). - Right-to-left UI layout is partial (2026-10-10): the shell mirrors for Arabic, Hebrew, Persian, Urdu and other right-to-left codes (`direction.rs`), but panel interiors, dialogs, menu rows, - submenus and document tabs stay left to right. UI labels also lack an Arabic fallback font, and - egui 0.36 joins letters within a word but orders a line's words left to right (no bidi). + submenus and document tabs stay left to right. Native UI labels can use installed Arabic + fallback fonts (`cjk_fonts.rs`, `photocraft_text::scripts`), but this does not supply web fonts + or bidi: egui 0.36 joins letters within a word but orders a line's words left to right. - Web build: no browser-locale detection, no CJK web fonts. - WebAssembly plug-ins disappear from Filter › Plug-ins when the UI isn't English (#2540). - A user couldn't find the language option (#2532): it is in Preferences › Interface. @@ -78,6 +82,7 @@ engine localization or native review is complete. | Date | Change | Summary | |---|---|---| +| 2026-10-15 | minor | Arabic catalog staged for review with parser and packing tests; no registry activation or readiness increase; native Arabic font fallback evidence corrected | | 2026-10-10 | major | First version, measured from the catalogs with the `i18n-coverage` rules | | 2026-10-10 | minor | Right-to-left shell layout (menu bar, title, options and status bars, toolbox and dock sides) | | 2026-10-11 | minor | Czech dynamic status/notice and hardware text, render labels and Navigator zoom context; engine messages remain English | diff --git a/docs/localization.md b/docs/localization.md index 36e09f8a55..15d17adcfd 100644 --- a/docs/localization.md +++ b/docs/localization.md @@ -100,9 +100,10 @@ title, options and status bars read from the right (`crates/ui-egui/src/directio direction follows the language code, so a catalog needs no extra setting. Not mirrored yet: panel interiors, dialogs, menu rows (shortcuts stay on the right), submenus -(they open to the right), document tabs and the canvas. Before an Arabic catalog reads -correctly, the UI also needs an Arabic fallback font (the bundled UI fonts have no Arabic -glyphs) and bidirectional word order: egui 0.36 shapes each right-to-left word with HarfRust, +(they open to the right), document tabs and the canvas. The bundled UI fonts have no Arabic +glyphs, but native `cjk_fonts` now loads installed Arabic fonts through +`photocraft_text::scripts`; that system-font path is unavailable on the web. Before an Arabic +catalog reads correctly, the UI still needs bidirectional word order: egui 0.36 shapes each right-to-left word with HarfRust, so letters join, but lays a line's words out left to right, and its caret indexing is off in right-to-left text (emilk/egui#8576, #8577). Document text is laid out by the text engine. @@ -114,6 +115,11 @@ and has no effect on the web build: PHOTOCRAFT_UI_DIRECTION=rtl cargo run -p photocraft-ui-egui --example snapshot -- --out rtl.png ``` +An initial Arabic review catalog is staged in `i18n/ar.tsv`, outside the language registry. +It does not add a language choice or change automatic locale selection. See the +[Arabic vocabulary and registration checklist](localization-ar.md) for scope and remaining +rendering work. + ## Fonts The native lazy CJK font loader prioritises the selected Japanese, Korean or Chinese script. From b980a40eed4640afef0bacc343384676760635bf Mon Sep 17 00:00:00 2001 From: syrrevshin4202-prog Date: Thu, 15 Oct 2026 14:05:04 +0300 Subject: [PATCH 38/60] docs(ar): add beginner guide, tool examples and glossary Add three linked Arabic help chapters with a card exercise, 15 tools and 28 terms. Keep current English UI labels for navigation and distinguish editable projects from exports. Add RTL language wrappers and link the chapters from the book, repository README and Arabic localization notes. Validated with mdBook 0.4.52 and 74 local link/anchor checks. --- README.md | 2 + book/src/README.md | 1 + book/src/SUMMARY.md | 6 ++ book/src/arabic/glossary.md | 97 +++++++++++++++++++++++ book/src/arabic/quick-start.md | 107 ++++++++++++++++++++++++++ book/src/arabic/tools.md | 135 +++++++++++++++++++++++++++++++++ docs/localization-ar.md | 6 ++ 7 files changed, 354 insertions(+) create mode 100644 book/src/arabic/glossary.md create mode 100644 book/src/arabic/quick-start.md create mode 100644 book/src/arabic/tools.md diff --git a/README.md b/README.md index d1e839323c..c1a9d746f2 100644 --- a/README.md +++ b/README.md @@ -304,6 +304,8 @@ Maintainers: [`docs/releasing.md`](docs/releasing.md) explains how releases are Developer, architecture, automation, format, and security documentation is maintained in the [PhotoCraft documentation book](book/). +Arabic help: [دليل البداية](book/src/arabic/quick-start.md) · [الأدوات بأمثلة](book/src/arabic/tools.md) · [قاموس المصطلحات](book/src/arabic/glossary.md). + To self-host the browser version with Docker, see [Docker web hosting](packaging/web/README.md#docker). ## Security diff --git a/book/src/README.md b/book/src/README.md index f587a10911..9a30938230 100644 --- a/book/src/README.md +++ b/book/src/README.md @@ -7,6 +7,7 @@ The repository's existing `docs/` directory remains authoritative for detailed d ## Start here - Users and evaluators: [Installation](getting-started/installation.md) +- Arabic-speaking users: [دليل البداية](arabic/quick-start.md), [الأدوات بأمثلة](arabic/tools.md) and [قاموس المصطلحات](arabic/glossary.md) - Contributors: [Building](getting-started/building.md) and [Contributing](getting-started/contributing.md) - Architecture work: [Architecture overview](architecture/overview.md) - Agents and automation clients: [Automation overview](automation/overview.md) diff --git a/book/src/SUMMARY.md b/book/src/SUMMARY.md index c85cfdf1f4..395c2e0dbe 100644 --- a/book/src/SUMMARY.md +++ b/book/src/SUMMARY.md @@ -8,6 +8,12 @@ - [Building](getting-started/building.md) - [Contributing](getting-started/contributing.md) +# العربية + +- [البداية مع PhotoCraft](arabic/quick-start.md) +- [الأدوات بأمثلة](arabic/tools.md) +- [قاموس المصطلحات](arabic/glossary.md) + # Architecture - [Overview](architecture/overview.md) diff --git a/book/src/arabic/glossary.md b/book/src/arabic/glossary.md new file mode 100644 index 0000000000..cd27253d7f --- /dev/null +++ b/book/src/arabic/glossary.md @@ -0,0 +1,97 @@ +
+ +# مصطلحات تحرير الصور بأمثلة + +هذا المرجع يشرح الكلمات التي ستصادفها في PhotoCraft. أُبقي المصطلح الإنكليزي +لتتمكن من العثور عليه في الواجهة الحالية؛ ترجمة الواجهة العربية ما زالت مسودة +غير مفعّلة. الأمثلة للتوضيح، وليست وعدًا بتطابق نتائج الملفات مع برامج أخرى. + +ابدأ بـ[دليل البداية المختصر](quick-start.md)، أو انتقل إلى +[شرح الأدوات](tools.md) لتطبيق هذه الأفكار. + +## الطبقات والتحديد والأقنعة + +| المصطلح في الواجهة | بالعربية | المعنى ومثال عملي | +|---|---|---| +| Layer | طبقة | عنصر مستقل داخل المشروع. ضع صورة المنتج في طبقة، والعنوان في طبقة أخرى، لتعديل كل منهما وحده. | +| Selection | تحديد | منطقة مؤقتة تحصر عمل كثير من الأدوات. حدّد مستطيلًا ثم استخدم الفرشاة؛ يبقى الرسم داخل التحديد. إلغاء التحديد لا يحذف الصورة. | +| Layer Mask | قناع الطبقة | يتحكم في ظهور أجزاء الطبقة من دون مسح بكسلاتها. في القناع الأبيض يُظهر، والأسود يُخفي، والرمادي يُظهر جزئيًا. مثال: إخفاء خلفية ثم إظهار جزء منها مجددًا. | +| Clipping Mask | قناع قص | يجعل ظهور الطبقة العليا تابعًا للمناطق غير الشفافة في الطبقة الأساسية أسفلها. مثال: إظهار صورة داخل حروف عنوان، بوضع الصورة فوق طبقة النص وإنشاء قناع قص. | + +**التحديد أم القناع؟** التحديد يحدد أين تعمل الآن. قناع الطبقة يبقى مرتبطًا +بالطبقة ليحدد ما يظهر منها. قبل الرسم على قناع، تأكد أنك حددت مصغّر القناع +في لوحة الطبقات؛ تحديد مصغّر الصورة يجعل الرسم يؤثر في الصورة نفسها. + +## مساحة العمل وحجم الصورة + +| المصطلح في الواجهة | بالعربية | المعنى ومثال عملي | +|---|---|---| +| Canvas | مساحة الرسم | حدود الصورة داخل المستند. زيادة مساحة الرسم تتيح مساحة حول المحتوى؛ لا تعني تكبير تفاصيل الصورة نفسها. | +| Artboard | لوحة تصميم | مساحة تصميم مستقلة ضمن المستند. مثال: لوحة لمنشور مربع وأخرى لتصميم رأسي داخل المشروع نفسه. | +| Pixel | بكسل | أصغر عينة لونية في الصورة النقطية. عند تكبير الصورة كثيرًا تظهر العينات كخلايا مربعة. | +| Dimensions | الأبعاد | عدد البكسلات في العرض والارتفاع. مثال: `1080 × 1080 px` يعني صورة مربعة، عرضها وارتفاعها 1080 بكسل. | +| Resolution / Pixels/Inch | الدقة / بكسل لكل بوصة | كثافة البكسلات بالنسبة إلى طول مطبوع، وتختصر إلى PPI. مثال: 1200 بكسل عند `300 PPI` تعادل عرضًا مطبوعًا قدره 4 بوصات. | +| Resample | إعادة أخذ العينات | تغيير عدد البكسلات بحساب عينات جديدة. مثال: تكبير صورة من 600 إلى 1200 بكسل لا يستعيد تفاصيل حقيقية لم تسجلها الصورة الأصلية. | + +**الأبعاد ليست الدقة:** لتصميم مطلوب بمقاس `1080 × 1080 px`، تحقق من العرض +والارتفاع بالبكسل. رفع قيمة PPI وحدها مع إبقاء عدد البكسلات ثابتًا لا يجعل الصورة +أوضح على الشاشة؛ يغير مقاسها المطبوع المحسوب. عند إدخال المقاس بالسنتيمتر أو +البوصة، تؤثر قيمة PPI في عدد البكسلات اللازم لهذا المقاس. + +**PPI وDPI:** الأولى تصف بكسلات الصورة لكل بوصة، والثانية تصف نقاط الطابعة +لكل بوصة. قد ترى كلمة DPI مستخدمة عمومًا للدقة؛ قيمة الطابعة لا تضيف تفاصيل +إلى صورة صغيرة. للطباعة، اطلب المقاس والدقة المطلوبين من الجهة التي ستطبع العمل. + +## المظهر والمزج + +| المصطلح في الواجهة | بالعربية | المعنى ومثال عملي | +|---|---|---| +| Opacity | عتامة | قوة ظهور الطبقة مع مؤثراتها. خفضها إلى `50%` يجعل الطبقة ومؤثراتها أقل ظهورًا ويكشف ما تحتها. | +| Fill | تعبئة | لها معنيان بحسب المكان: أمر يملأ منطقة بلون أو نقش، ونسبة في لوحة الطبقات تتحكم في ظهور محتوى الطبقة وتترك المؤثرات مستقلة عادةً. مثال: تقليل تعبئة نص مع إبقاء ظله ظاهرًا. | +| Blend Mode | نمط المزج | طريقة دمج ألوان الطبقة بألوان ما تحتها. مثال: جرّب Multiply على ظل في طبقة مستقلة ليغمق الخلفية، ثم خفف العتامة. | +| Layer Style | نمط الطبقة | مؤثرات مرتبطة بالطبقة، مثل الظل الخارجي والحدود. مثال: إضافة حد حول عنوان ليسهل قراءته فوق صورة. | +| Adjustment Layer | طبقة تعديل | طبقة تطبق تعديلًا لونيًا على المحتوى الذي تحتها وفق ترتيب الطبقات وإعداداتها. مثال: طبقة سطوع وتباين تستطيع تعديل إعداداتها لاحقًا بدل تغيير بكسلات الصورة مباشرةً. | + +**لماذا يختلف Fill عن Opacity؟** مع نص له ظل خارجي، قد تخفي التعبئة حروفه +وتترك الظل ظاهرًا، أما العتامة فتخفف الاثنين. بعض إعدادات المزج المتقدمة تغير +هذا السلوك؛ ابدأ بالإعدادات الافتراضية وقارن النتيجة على نسخة من طبقتك. + +## أنواع المحتوى والتحويل + +| المصطلح في الواجهة | بالعربية | المعنى ومثال عملي | +|---|---|---| +| Raster / Pixel layer | صورة نقطية / طبقة بكسلات | محتوى مكوّن من بكسلات ثابتة. مثال: صورة ملتقطة بالكاميرا؛ تكبيرها كثيرًا قد يكشف فقدان الحدة. | +| Vector / Shape | محتوى متجهي / شكل | محتوى موصوف بمسارات ونقاط، بدل شبكة بكسلات ثابتة. مثال: تغيير حجم مستطيل متجهي مع الحفاظ على حدوده المحسوبة؛ التصدير إلى PNG يحوله إلى بكسلات بالمقاس المختار. | +| Smart Object | عنصر ذكي | طبقة تحتفظ بمحتوى مصدرها منفصلًا عن تحويلها في المستند. مثال: تصغير صورة داخل التصميم ثم تكبيرها مجددًا ضمن حدود دقة مصدرها. العنصر الذكي لا يخلق تفاصيل جديدة. | +| Transform | تحويل | تغيير موضع العنصر أو حجمه أو دورانه أو شكله. مثال: تدوير صورة قليلًا داخل التصميم؛ لا تخلطه بتدوير العرض، الذي يغير طريقة المشاهدة فقط. | + +## الألوان + +| المصطلح في الواجهة | بالعربية | المعنى ومثال عملي | +|---|---|---| +| RGB | ألوان RGB | نموذج ألوان يعتمد على الأحمر والأخضر والأزرق. مثال: ابدأ به لصورة ستُعرض على شاشة؛ ملف اللون المرفق يحدد تفسير القيم بدقة أكبر. | +| CMYK | ألوان CMYK | نموذج مرتبط بأحبار السماوي والأرجواني والأصفر والأسود. مثال: إذا طلبت المطبعة ملف CMYK، اطلب منها ملف اللون والمواصفات؛ التحويل وحده لا يضمن تطابق المطبوع مع الشاشة. | +| Color Profile / ICC | ملف تعريف اللون | بيانات تشرح كيف تفسر البرامج قيم الألوان. مثال: ملف sRGB لصورة شاشة. لا تغيّر اسم الملف اللوني عشوائيًا؛ تعيين ملف تعريف والتحويل إليه عمليتان مختلفتان. | + +قد تختلف بعض نتائج مزج CMYK وتبادل الألوان مع برامج أخرى. افحص ملف التصدير +والعينة المطبوعة عند الحاجة؛ وجود نمط ألوان لا يعني تطابقًا كاملًا مع Photoshop. + +## الحفظ والمشاركة والتراجع + +| المصطلح في الواجهة | بالعربية | المعنى ومثال عملي | +|---|---|---| +| `.pcraft` | مشروع PhotoCraft | الصيغة الأصلية لحفظ بنية مستند PhotoCraft ومحتواه القابل للتعديل. مثال: احتفظ بملف `poster.pcraft` للعودة إلى الطبقات لاحقًا. | +| PSD / PSB | ملف فوتوشوب | صيغ لتبادل مستندات بطبقات؛ PSB للمستندات الكبيرة. مثال: احفظ نسخة للتبادل، ثم افتحها في البرنامج الذي سيستخدمها المستلم؛ لا يُضمن انتقال كل المؤثرات والتفاصيل كما هي. | +| Export | تصدير | إخراج نسخة لاستخدام محدد، مثل صورة للنشر. مثال: صدّر `poster.png`، واحتفظ بالمشروع ذي الطبقات منفصلًا. | +| Flatten Image | تسطيح الصورة | دمج نتيجة الطبقات في صورة واحدة. مثال: نسخة مسطحة للمشاركة؛ لن تستعيد منها النص والخلفية كطبقات مستقلة. | +| Transparency | شفافية | مناطق يظهر من خلالها ما تحت الصورة، وغالبًا تمثلها شبكة مربعات في المحرر. مثال: شعار بلا خلفية يُصدّر إلى PNG؛ JPEG لا يحفظ الشفافية، ويضع PhotoCraft خلفية بيضاء بدلها عند التصدير. | +| History / Undo / Redo | سجل التعديلات / تراجع / إعادة | خطوات للرجوع عن عملية أو إعادتها أثناء العمل. مثال: التراجع عن ضربة فرشاة غير مقصودة. لا تعتمد على بقاء السجل بعد إغلاق المشروع وإعادة فتحه. | + +**مثال حفظ كامل:** احفظ مشروعك باسم `offer.pcraft` أولًا. صدّر `offer.png` +إذا أردت الاحتفاظ بالشفافية، أو `offer.jpg` لصورة بلا شفافية. عند إعادة فتح JPG +أو PNG ستجد الصورة الناتجة، ولن تستعيد الطبقات القابلة للتعديل من ملف التصدير. + +يمكن لأوامر الحفظ أيضًا إنتاج ملفات مسطحة بحسب الصيغة؛ كلمة «حفظ» وحدها +لا تضمن حفظ الطبقات. اختر الصيغة الأصلية للمشروع، وتحقق من الامتداد قبل الإغلاق. + +
diff --git a/book/src/arabic/quick-start.md b/book/src/arabic/quick-start.md new file mode 100644 index 0000000000..fcb1d469f3 --- /dev/null +++ b/book/src/arabic/quick-start.md @@ -0,0 +1,107 @@ +
+ +# البداية مع PhotoCraft + +هذا دليل استخدام بالعربية. نذكر أسماء الأوامر بالإنكليزية كما تظهر في الواجهة +الحالية؛ وجود الدليل لا يعني أن خيار الواجهة العربية أصبح متاحًا. + +ستنشئ في هذا التمرين بطاقة بسيطة: صورة، وعنوان فوقها، ونسخة محفوظة للتعديل، +وصورة جاهزة للمشاركة. يكفي استخدام صورة تدريبية تملك حق استخدامها. + +## 1. افتح البرنامج وتعرّف إلى مساحة العمل + +تجد نسخ البرنامج في [صفحة التنزيلات](https://github.com/storytold/photocraft/releases). +البرنامج ما زال في مرحلة تجريبية مبكرة؛ ابدأ بصورة تدريبية واحفظ عملك خلال التمرين. + +- **شريط القوائم:** في أعلى النافذة؛ منه الفتح والحفظ والتعديل. +- **شريط الأدوات:** يحتوي أدوات التحريك والتحديد والفرشاة والكتابة. +- **مساحة الرسم:** المنطقة التي ترى فيها الصورة أو التصميم. +- **لوحة Layers:** قائمة عناصر التصميم. افتحها من `Window → Layers` إن كانت مخفية. +- **شريط خيارات الأداة:** تتغيّر إعداداته بحسب الأداة المختارة. + +مواضع اللوحات قد تختلف بحسب مساحة العمل والسمة التي تستخدمها. + +## 2. أنشئ بطاقة مربعة + +1. اختر `File → New…` لفتح نافذة **New Document**. +2. اختر **Pixels** لوحدة المقاس، ثم اجعل **Width** و**Height** بقيمة `1080` لكل منهما. +3. اختر **RGB Color** وعمق **8 bit**، واجعل **Background Contents** أبيض **White**. +4. اترك الدقة **Resolution** على الإعداد الافتراضي لهذا المثال المخصص للشاشة. +5. اضغط **Create**. + +النتيجة المتوقعة: مساحة رسم مربعة بيضاء. مقاس `1080 × 1080` هنا مثال للتعلّم؛ +يمكنك اختيار مقاس آخر حسب المكان الذي ستعرض فيه الصورة. + +إن كان هدفك تعديل صورة موجودة فقط، افتحها من `File → Open…` وانتقل إلى خطوات +التعديل والحفظ. ليس مطلوبًا إنشاء مستند جديد أولًا. + +## 3. أضف صورة ورتّب موضعها + +1. داخل البطاقة، اختر `File → Place Embedded…` وحدّد صورتك التدريبية. +2. يظهر إطار لوضع الصورة؛ اسحب مقابضه لضبط حجمها، ثم اضغط **Enter** لتثبيت الإدراج. + الضغط على **Esc** في هذه المرحلة يلغي إدراج الصورة. +3. تأكد من اختيار طبقة الصورة في **Layers**، ثم اختر **Move Tool** لتحريكها. +4. لتعديل حجمها لاحقًا، اختر `Edit → Free Transform` واسحب إحدى زوايا الإطار؛ + اضغط **Enter** لتثبيت التحويل، أو **Esc** لإلغائه قبل التثبيت. + +**مثال:** ضع صورة كوب في الجزء السفلي من البطاقة، واترك فراغًا في الأعلى للعنوان. +بعد كل تغيير، يمكنك استخدام `Edit → Undo` للعودة خطوة. + +## 4. أضف عنوانًا + +1. اختر **Horizontal Type Tool**، ثم انقر في الفراغ أعلى الصورة. +2. اكتب عنوانًا مثل «قهوة الصباح». +3. اختر خطًا يتضمن الحروف العربية، وعدّل حجمه ولونه من خيارات النص أو لوحة + `Window → Character`. +4. لتثبيت النص، اضغط **Ctrl + Enter** على Windows وLinux، أو **Cmd + Enter** على macOS. +5. اختر **Move Tool** لتحريك طبقة العنوان إلى موضع مناسب. + +**النتيجة المتوقعة:** عنوان على طبقة مستقلة عن الصورة؛ تستطيع تحريكه أو العودة +لتحريره من دون إعادة بناء البطاقة. + +إذا ظهرت مربعات بدل الحروف، جرّب خطًا عربيًا مثبتًا على جهازك. اختلاف ترتيب الكلمات +أو حركة مؤشر الكتابة قد يحتاج إصلاحًا منفصلًا؛ تغيير الخط وحده لا يضمن حلّه. + +## 5. افهم الطبقات قبل تعديل الصورة + +كل صف في **Layers** يمثّل عنصرًا مستقلًا. حدّد طبقة الصورة قبل تحريك الصورة، +وحدّد طبقة النص قبل تحريك العنوان. الطبقة الأعلى تظهر عادةً فوق التي تحتها. + +**مثال:** إن اختفى العنوان خلف الصورة، اسحب طبقة العنوان إلى موضع أعلى من طبقة +الصورة في القائمة. ويمكنك النقر على رمز العين لإخفاء طبقة مؤقتًا ومقارنة النتيجة. + +لاختيار الأدوات المناسبة، انتقل إلى [شرح الأدوات بأمثلة](tools.md). +ولفهم الأقنعة والتحديد والعتامة، راجع [قاموس المصطلحات](glossary.md). + +## 6. احفظ المشروع القابل للتعديل + +اختر `File → Save As…`، وحدّد صيغة PhotoCraft الأصلية `.pcraft`. اكتب اسم الملف +كاملًا مع الامتداد، مثل `morning-card.pcraft`، لأن الاسم المقترح قد ينتهي بـ`.psd`. + +هذه نسخة العمل: تحتفظ بعناصر المشروع، مثل طبقات الصورة والكتابة، لتكمل عليها لاحقًا. +استخدم `File → Save` لحفظ التعديلات التالية. جرّب إغلاق الملف بعد الحفظ وفتحه +مجددًا للتأكد من أن الصورة والنص ما زالا منفصلين في **Layers**. + +## 7. صدّر صورة للمشاركة + +1. اختر `File → Export → Export As…`. +2. اختر **PNG** إذا احتجت إلى شفافية، وفعّل **Transparency** للاحتفاظ بالمناطق الشفافة. + اختر **JPG (JPEG)** لصورة ذات خلفية ممتلئة. +3. راجع مقاس الصورة والمعاينة والجودة، ثم صدّرها باسم مختلف مثل `morning-card.png`. +4. افتح الملف الناتج وتأكد من المقاس والكتابة قبل مشاركته. + +الملف المصدَّر مناسب للعرض والمشاركة، لكنه لا يحفظ طبقات هذا التصميم القابلة +للتعديل. احتفظ بملف `.pcraft` إلى جانبه. وإذا صدّرت JPEG، فلن يحتفظ بالمناطق الشفافة. + +## حلول سريعة أثناء التعلّم + +| ما تلاحظه | ما تجرّبه | +|---|---| +| أداة التحريك تغيّر العنصر الخطأ | اختر طبقة العنصر من **Layers**، وراجع خيار **Auto-Select** في شريط خيارات الأداة. | +| الفرشاة لا تؤثر خارج مساحة محددة | ألغِ التحديد من `Select → Deselect`، وتأكد من أنك ترسم على الطبقة المقصودة. | +| مساحة الرسم أكبر من النافذة | اختر `View → Fit on Screen`. | +| لا يمكنك الرسم على عنصر ذكي أو نص مباشرة | استخدم طبقة رسم مستقلة من `Layer → New → Layer…`؛ تحويل العنصر إلى بكسلات قد يفقده قابلية تحريره الأصلية. | +| ضغط **Enter** أثناء الكتابة أضاف سطرًا | ثبّت النص بواسطة **Ctrl + Enter** أو **Cmd + Enter** حسب نظامك. | +| لم تعد النتيجة كما تريد | استخدم `Edit → Undo`، أو راجع **History** من قائمة `Window`. | + +
diff --git a/book/src/arabic/tools.md b/book/src/arabic/tools.md new file mode 100644 index 0000000000..18e4fdec23 --- /dev/null +++ b/book/src/arabic/tools.md @@ -0,0 +1,135 @@ +
+ +# الأدوات الأساسية بأمثلة + +ابدأ بالأداة التي تناسب المهمة، ثم راجع الطبقة المحددة وخيارات الأداة قبل استخدامها. +تظهر الأسماء الإنكليزية هنا لتجدها في الواجهة الحالية؛ المقابل العربي يشرح معناها، +ولا يعني أن اختيار واجهة عربية متاح حاليًا. + +إذا كانت هذه أول تجربة لك، اقرأ [دليل البداية المختصر](quick-start.md). +ولفهم كلمات مثل «طبقة» و«قناع»، راجع [المصطلحات](glossary.md). + +## التنقل وترتيب العناصر + +### أداة التحريك — Move Tool + +تحرّك محتوى الطبقة المحددة داخل التصميم. اختر الطبقة أولًا من لوحة `Layers`. +**مثال:** نقل صورة منتج إلى جانب مساحة مخصصة للعنوان. + +### أداة اليد — Hand Tool + +تزيح عرض الصورة داخل النافذة لتصل إلى جزء آخر عند التكبير. +**مثال:** الانتقال من يسار صورة كبيرة إلى يمينها؛ هذا لا ينقل محتوى الطبقة. + +### أداة التكبير والتصغير — Zoom Tool + +تغيّر حجم العرض لتفحص التفاصيل أو ترى التكوين العام؛ لا تغيّر عدد بكسلات الصورة. +**مثال:** تكبير حافة منتج للتأكد من نظافة التحديد حوله. + +## تحديد منطقة للعمل عليها + +التحديد يحدد أين تعمل الخطوة التالية، ولا يزيل الخلفية بمجرد رسمه. +لإلغائه من دون حذف الصورة، استخدم `Select` → `Deselect`. + +### أداة التحديد المستطيل — Rectangular Marquee Tool + +تحدّد منطقة مستطيلة بالسحب على الصورة. +**مثال:** تحديد لافتة مستطيلة لتعديلها من دون لمس بقية الصورة. + +### أداة التحديد البيضاوي — Elliptical Marquee Tool + +تحدّد منطقة بيضاوية أو قريبة من الدائرة بالسحب. +**مثال:** تحديد مساحة حول وجه لتحويلها لاحقًا إلى صورة شخصية بيضاوية بقناع. + +### أداة التحديد الحر — Lasso Tool + +ترسم حدود التحديد يدويًا حول المنطقة المطلوبة. +**مثال:** إحاطة حجر صغير غير منتظم الشكل؛ تحتاج الحواف الدقيقة إلى عناية إضافية. + +### أداة التحديد السريع — Quick Selection Tool + +تمرّرها داخل المنطقة المراد تحديدها، وتحاول توسيع التحديد بحسب تفاصيل الصورة. +**مثال:** بدء تحديد قميص واضح الاختلاف عن خلفيته، ثم فحص الحواف وتصحيحها. + +## الاقتصاص والرسم واللون + +### أداة الاقتصاص — Crop Tool + +تضبط إطار الصورة لاستبعاد الأطراف أو تغيير تكوينها. +**مثال:** إزالة مساحة فارغة على طرف صورة منتج مع إبقاء المنتج داخل الإطار. + +### أداة الفرشاة — Brush Tool + +ترسم باللون الأمامي على طبقة صورة، أو تعدّل الإظهار والإخفاء عند استهداف قناع. +**مثال:** رسم خط بلون تختاره على طبقة مستقلة لتجربة علامة توضيحية. + +### أداة الممحاة — Eraser Tool + +تمحو من بكسلات الطبقة المحددة. إذا كنت تريد إخفاء جزء وإظهاره لاحقًا، فابدأ بقناع طبقة. +**مثال:** إزالة طرف زائد من خط رسمته على طبقة مستقلة. + +### أداة القطارة — Eyedropper Tool + +تأخذ عينة لون من الصورة لاستخدامها في العمل. +**مثال:** أخذ لون أزرق من غلاف منتج، ثم استخدامه بالفرشاة في عنصر آخر. + +### أداة التدرج اللوني — Gradient Tool + +تنشئ انتقالًا تدريجيًا بين الألوان؛ يحدد السحب اتجاه الانتقال وطوله. +**مثال:** إعداد خلفية تنتقل من لون داكن في الأسفل إلى لون فاتح في الأعلى. + +## النص والتنقيح + +### أداة النص الأفقي — Horizontal Type Tool + +تضيف نصًا أفقيًا قابلًا للتحرير، مع خيارات الخط والحجم واللون. +**مثال:** كتابة عنوان مثل `PhotoCraft` فوق صورة. عند كتابة العربية، افحص اتصال الحروف +وترتيب الكلمات والأرقام في النتيجة؛ دعم العربية ما زال يحتاج إلى تحقق وتحسين. + +### أداة فرشاة إصلاح البقع — Spot Healing Brush Tool + +تحاول إصلاح عيب صغير اعتمادًا على المنطقة المحيطة، من دون اختيار نقطة مصدر يدويًا. +**مثال:** إزالة نقطة غبار من خلفية بسيطة. قرب الحواف المعقدة قد تحتاج إلى إعادة المحاولة. + +### أداة ختم الاستنساخ — Clone Stamp Tool + +تنسخ من منطقة تختارها إلى منطقة أخرى. لتعيين المصدر، انقر على الصورة مع الضغط على `Alt` +في Windows أو Linux، أو على `Option` في macOS، ثم ارسم فوق المنطقة المطلوبة. +**مثال:** نسخ جزء نظيف من جدار فوق خدش صغير، مع الانتباه إلى تكرار النسيج. + +## ثلاث تجارب قصيرة + +### 1. تحسين إطار صورة + +1. افتح صورة، واختر **Crop Tool**. +2. اسحب مقابض الإطار ليحتوي على الجزء الذي تريد الاحتفاظ به. +3. إذا أردت الاحتفاظ بالبكسلات الواقعة خارج الإطار داخل المشروع، ألغِ + `Delete Cropped Pixels` من خيارات الأداة. +4. راجع الإطار، ثم اضغط علامة التأكيد في شريط خيارات الأداة لتطبيق الاقتصاص. + +**النتيجة المتوقعة:** تتغير حدود الصورة المعروضة. عند إلغاء حذف البكسلات، +يبقى المحتوى خارج الإطار متاحًا داخل المشروع؛ الملف المصدّر يعرض حدود الصورة الحالية. + +### 2. إظهار جزء بيضاوي من طبقة بقناع + +1. حدد طبقة صورة ليس لها قناع من لوحة `Layers`. +2. اختر **Elliptical Marquee Tool** واسحب حول الجزء الذي تريد إظهاره. +3. اختر `Layer` → `Layer Mask` → `Reveal Selection`. +4. افحص النتيجة. استخدم `Edit` → `Undo` إذا أردت إعادة التحديد والمحاولة مجددًا. + +**النتيجة المتوقعة:** يضاف قناع يُظهر المنطقة المحددة ويخفي بقية هذه الطبقة، +من دون مسح بكسلاتها. قد تظهر طبقات أخرى من تحتها. اختفاء حدود التحديد بعد إنشاء القناع أمر طبيعي. + +### 3. إصلاح نقطة غبار صغيرة + +1. حدد طبقة الصورة، ثم اختر `Layer` → `Duplicate Layer…` واعمل على النسخة. +2. اختر **Spot Healing Brush Tool**، ثم اختر `Content-Aware` من خياراتها. +3. اضبط حجم الفرشاة لتغطي البقعة وقليلًا مما حولها، ثم مرّر ضربة قصيرة عليها. +4. افحص التفاصيل باستخدام **Zoom Tool**. إذا تشوّه النسيج، استخدم `Edit` → `Undo` + وجرب ضربة أصغر، أو استخدم **Clone Stamp Tool** لاختيار مصدر بنفسك. + +**النتيجة المتوقعة:** محاولة تعويض البقعة بمحتوى ملائم لمحيطها؛ جودة الإصلاح تعتمد على الصورة. + +احفظ المشروع القابل للتعديل، وصدّر نسخة للمشاركة كما يشرح [دليل البداية](quick-start.md). + +
diff --git a/docs/localization-ar.md b/docs/localization-ar.md index 933247270e..4ced889003 100644 --- a/docs/localization-ar.md +++ b/docs/localization-ar.md @@ -1,5 +1,11 @@ # Arabic localization: first review batch +Arabic user help is available in the documentation book: +[دليل البداية](../book/src/arabic/quick-start.md), +[الأدوات بأمثلة](../book/src/arabic/tools.md) and +[قاموس المصطلحات](../book/src/arabic/glossary.md). +Those guides use the current English UI labels; they do not activate the Arabic catalog. + Status: **staged, not selectable**. This is an original Modern Standard Arabic catalog for review, not a claim that the application has a working Arabic UI. The draft is `crates/ui-egui/src/i18n/ar.tsv`; it is deliberately absent from From 322b10fbd451da2facabaf6fedb527241589c704 Mon Sep 17 00:00:00 2001 From: zeroxx3d-wq Date: Thu, 15 Oct 2026 20:31:02 +0100 Subject: [PATCH 39/60] i18n(ar): add complete Arabic UI translations --- ROADMAP.md | 2 +- crates/ui-egui/src/direction_tests.rs | 5 +- .../ui-egui/src/i18n/LICENSE-translations.txt | 5 +- crates/ui-egui/src/i18n/ar.tsv | 4312 +++++++++++++++++ crates/ui-egui/src/i18n/live_tests.rs | 4 +- crates/ui-egui/src/i18n/mod.rs | 74 +- crates/ui-egui/src/i18n/system.rs | 4 +- docs/localization-parity.md | 2 +- docs/localization.md | 2 +- packaging/macos/Info.plist.in | 1 + xtask/src/i18n_coverage.rs | 1 + 11 files changed, 4402 insertions(+), 10 deletions(-) create mode 100644 crates/ui-egui/src/i18n/ar.tsv diff --git a/ROADMAP.md b/ROADMAP.md index f41b71bfc9..4d4c1036c2 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -95,7 +95,7 @@ because engine messages are still English. Detail: [localization-parity](docs/lo | Simplified Chinese | `zh-hans` | 100% | partial | | Spanish | `es` | 100% | partial | | Hindi | `hi` | 0% | none | -| Arabic | `ar` | 0% (RTL shell only) | none | +| Arabic | `ar` | 100% | partial | | French | `fr` | 100% | partial | | Portuguese (Brazil) | `pt-br` | 100% | partial | | Indonesian | `id` | 100% | partial | diff --git a/crates/ui-egui/src/direction_tests.rs b/crates/ui-egui/src/direction_tests.rs index 4575017a09..11090e2477 100644 --- a/crates/ui-egui/src/direction_tests.rs +++ b/crates/ui-egui/src/direction_tests.rs @@ -17,9 +17,10 @@ fn right_to_left_scripts_by_language_code() { for code in ["en", "ja", "zh-hans", "pt-br", "ku", "arn", ""] { assert_eq!(i18n::dir_for_code(code), Dir::Ltr, "{code}"); } - // No right-to-left catalog is registered yet, so the shell stays as it was. + // Arabic is registered as right-to-left; every other catalog is left-to-right. for lang in Lang::all() { - assert_eq!(lang.dir(), Dir::Ltr, "{}", lang.code()); + let expected = if lang.code() == "ar" { Dir::Rtl } else { Dir::Ltr }; + assert_eq!(lang.dir(), expected, "{}", lang.code()); } } diff --git a/crates/ui-egui/src/i18n/LICENSE-translations.txt b/crates/ui-egui/src/i18n/LICENSE-translations.txt index 93a609f946..5fcd61b9d9 100644 --- a/crates/ui-egui/src/i18n/LICENSE-translations.txt +++ b/crates/ui-egui/src/i18n/LICENSE-translations.txt @@ -1,5 +1,5 @@ PhotoCraft's Korean, German, Spanish, Brazilian Portuguese, Italian, Ukrainian, Dutch, Czech, -Turkish, Hungarian and Serbian UI translation catalogs are licensed under MIT OR Apache-2.0, +Turkish, Hungarian, Serbian and Arabic UI translation catalogs are licensed under MIT OR Apache-2.0, at your option. The full license texts are in ../../../../LICENSE-MIT and ../../../../LICENSE-APACHE. @@ -37,3 +37,6 @@ PhotoCraft's English labels; no proprietary translation resources were used. Serbian translations: PhotoCraft contributors, original translations of PhotoCraft's English labels; no proprietary translation resources were used. + +Arabic translations: PhotoCraft contributors, original translations of +PhotoCraft's English labels; no proprietary translation resources were used. diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv new file mode 100644 index 0000000000..bc88e64a03 --- /dev/null +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -0,0 +1,4312 @@ +# Arabic (ar) catalog. Columns, separated by a TAB: context source translation +# +# context empty a plain UI string; `source` is the English text in the code +# @plural `source` is `one|other` (English forms); the translation lists +# the language's forms separated by `|` (see `plural` in i18n/mod.rs) +# escapes \n \t \\ inside a column. `{name}` placeholders must appear in both columns. +# lines starting with # and blank lines are ignored. +# +# Clean-room: every entry was written from the plain meaning of the English label using ordinary +# Arabic computing vocabulary (طبقة، فرشاة، تحديد، لوحة العمل ...). No proprietary localisation +# resource, string table or product UI was consulted or copied; add entries the same way. +# Product and technology names (PhotoCraft, ArtCraft, OpenType, CMYK, Lab ...) stay in Latin +# letters; the trailing … of dialog commands is kept. + +# Channel Options and New Spot Channel (#3761) + Channel Color لون القناة + Color Indicates: اللون يشير إلى: + Solidity: الصلابة: + Ink Characteristics خصائص الحبر + +# Guide layout dialog + +# Custom print paper (#3820) + Paper Width عرض الورق + Paper Height ارتفاع الورق + Columns أعمدة + Rows صفوف + Number عدد + Margin هامش + Top: أعلى: + Left: يسار: + Bottom: أسفل: + Right: يمين: + Target: الهدف: + Selected Artboards لوحات الرسم المحددة + Center Columns توسيط الأعمدة + Clear Existing Guides مسح الخطوط الإرشادية الحالية + Invalid guide layout تخطيط خطوط إرشادية غير صالح + Leave empty for automatic size اتركه فارغًا للحجم التلقائي + 5 Columns, 3 Rows 5 أعمدة، 3 صفوف + 8 Columns 8 أعمدة + 12 Columns 12 عمودًا + + File ملف + Edit تحرير + Image صورة + Layer طبقة + Type نص + Select تحديد + Selected محدد + Scope النطاق + Top Left أعلى اليسار + Top Right أعلى اليمين + Bottom Left أسفل اليسار + Bottom Right أسفل اليمين + Filter مرشح + View عرض + Window نافذة + Help تعليمات + (coming soon) (قريبًا) + New… جديد… + New from Clipboard جديد من الحافظة + Open… فتح… + Open As… فتح باسم… + Open EXR Parts… فتح أجزاء EXR… + Add beauty precomp from the AOVs إضافة تركيبة جمال مسبقة من AOVs + Both كلاهما + Left يسار + Right يمين + Open Recent فتح الأحدث + Clear Recent Files مسح الملفات الحديثة + Remove from Recent إزالة من العناصر الحديثة + Remove {name} from Recent إزالة {name} من العناصر الحديثة + Close إغلاق + Minimize تصغير + Maximize تكبير + Restore استعادة + Close All إغلاق الكل + Close Others إغلاق النوافذ الأخرى + Save حفظ + Save As… حفظ باسم… + Save a Copy… حفظ نسخة… + {name} can't keep everything in this document {name} لا يمكنه الاحتفاظ بكل شيء في هذا المستند + Choose a format that keeps it, such as Photoshop (PSD), or save a copy. اختر تنسيقًا يحتفظ به، مثل Photoshop (PSD)، أو احفظ نسخة. + Revert استعادة + Export تصدير + Quick Export as PNG تصدير سريع بتنسيق PNG + Export As… تصدير باسم… + Export Preferences… تصدير التفضيلات… + Save for Web (Legacy)… حفظ للويب (قديم)… + Artboards to Files… لوحات الرسم إلى ملفات… + Artboards to PDF… لوحات الرسم إلى PDF… + Layers to Files… الطبقات إلى ملفات… + Layer Comps to Files… تكوينات الطبقات إلى ملفات… + Color Lookup Tables… جداول بحث الألوان… + Data Sets as Files… مجموعات البيانات كملفات… + Paths to Illustrator… المسارات إلى Illustrator… + Render Video… تصيير الفيديو… + Generate توليد + Image Assets أصول الصورة + Place Embedded… وضع مضمن… + Place Linked… وضع مرتبط… + Package… حزمة… + Automate أتمتة + Batch… دفعة… + Create Droplet… إنشاء قطرة… + Crop and Straighten Photos قص وتصحيح الصور + Contact Sheet II… ورقة اتصال II… + Conditional Mode Change… تغيير النمط الشرطي… + Fit Image… ملاءمة الصورة… + Lens Correction… تصحيح العدسة… + Merge to HDR Pro… دمج إلى HDR Pro… + Photomerge… Photomerge… + Scripts البرامج النصية + Image Processor… معالج الصور… + Delete All Empty Layers حذف جميع الطبقات الفارغة + Flatten All Layer Effects تسطيح جميع تأثيرات الطبقة + Flatten All Masks تسطيح جميع الأقنعة + Script Events Manager… إدارة أحداث البرامج النصية… + Import استيراد + Browse… استعراض… + Source Files الملفات المصدر + Use: الاستخدام: + Files الملفات + Add Open Files إضافة الملفات المفتوحة + Sort By Name ترتيب حسب الاسم + Attempt to Automatically Align Source Images محاولة محاذاة الصور المصدر تلقائيًا + Create Smart Object after Loading Layers إنشاء كائن ذكي بعد تحميل الطبقات + Reveal in Finder إظهار في Finder + Show in Explorer إظهار في Explorer + Show in Folder إظهار في المجلد + File Info… معلومات الملف… + Print… طباعة… + Print One Copy طباعة نسخة واحدة + Exit خروج + Undo تراجع + Redo إعادة + Toggle Last State تبديل الحالة الأخيرة + Fade… خفوت… + Cut قص + Copy نسخ + Copy Merged نسخ مدمج + Paste لصق + Paste Special لصق خاص + Paste in Place لصق في المكان + Paste Into لصق في + Paste Outside لصق في الخارج + Paste Lorem Ipsum لصق Lorem Ipsum + Clear مسح + Search… بحث… + Check Spelling… تدقيق إملائي… + Find and Replace Text… بحث واستبدال النص… + Add to Dictionary إضافة إلى القاموس + No Spelling Suggestions لا توجد اقتراحات إملائية + Fill… تعبئة… + Stroke… حد… + Content-Aware Fill… تعبئة مدركة للمحتوى… + Delete and Fill Selection حذف وتعبئة التحديد + Content-Aware Scale تحجيم مدرك للمحتوى + Puppet Warp التفاف الدمية + Perspective Warp التفاف المنظور + Free Transform تحويل حر + Free Transform a Copy تحويل حر لنسخة + Transform تحويل + Again مرة أخرى + Transform Again on a Copy تحويل مرة أخرى لنسخة + Scale تحجيم + Rotate تدوير + Set horizontal skew تعيين الإمالة الأفقية + Set vertical skew تعيين الإمالة الرأسية + Skew إمالة + Distort تشويه + Perspective منظور + Warp التفاف + Flip Horizontal انعكاس أفقي + Flip Vertical انعكاس رأسي + Rotate 180° تدوير 180 درجة + Rotate 90° Clockwise تدوير 90 درجة في اتجاه عقارب الساعة + Rotate 90° Counter Clockwise تدوير 90 درجة عكس اتجاه عقارب الساعة + 180° 180 درجة + 90° Clockwise 90 درجة في اتجاه عقارب الساعة + 90° Counter Clockwise 90 درجة عكس اتجاه عقارب الساعة + Arbitrary… مخصص… + Auto-Align Layers… محاذاة الطبقات تلقائيًا… + Auto-Blend Layers… مزج الطبقات تلقائيًا… + Define Brush Preset… تحديد إعداد مسبق للفرشاة… + Define Pattern… تحديد نقش… + Define Custom Shape… تحديد شكل مخصص… + Purge إفراغ + Clipboard الحافظة + Histories المحفوظات + Video Cache ذاكرة التخزين المؤقت للفيديو + All الكل + Presets إعدادات مسبقة + Preset Manager… إدارة الإعدادات المسبقة… + Migrate Presets ترحيل الإعدادات المسبقة + Export/Import Presets… تصدير/استيراد الإعدادات المسبقة… + Color Settings… إعدادات الألوان… + Assign Profile… تعيين ملف تعريف… + Convert to Profile… تحويل إلى ملف تعريف… + Keyboard Shortcuts… اختصارات لوحة المفاتيح… + Menus… القوائم… + Toolbar… شريط الأدوات… + Preferences التفضيلات + General… عام… + Interface… الواجهة… + Workspace… مساحة العمل… + Tools… الأدوات… + History Log… سجل المحفوظات… + File Handling… معالجة الملفات… + Export… تصدير… + Performance… الأداء… + Scratch Disks… أقراص العمل المؤقتة… + Cursors… المؤشرات… + Transparency & Gamut… الشفافية ونطاق الألوان… + Units & Rulers… الوحدات والمساطر… + Guides, Grid & Slices… الخطوط الإرشادية والشبكة والشرائح… + Plug-ins… المكونات الإضافية… + Type… النص… + Enhanced Controls… عناصر التحكم المحسنة… + Camera Raw… Camera Raw… + Raw Defaults… افتراضيات Raw… + Integrations… عمليات الدمج… + AI Integrations… عمليات دمج الذكاء الاصطناعي… + Install Plug-in… تثبيت مكون إضافي… + Language Options خيارات اللغة + Settings… إعدادات… + Mode النمط + Bitmap خريطة نقطية + Grayscale تدرج الرمادي + Duotone لون ثنائي + Indexed Color لون مفهرس + RGB Color ألوان RGB + CMYK Color ألوان CMYK + Lab Color ألوان Lab + Multichannel متعدد القنوات + 8 Bits/Channel 8 بت/قناة + 8 bit 8 بت + Integer عدد صحيح + 16 Bits/Channel 16 بت/قناة + 16 bit 16 بت + 32 Bits/Channel 32 بت/قناة + 32 bit (float) 32 بت (فاصلة عائمة) + Floating point فاصلة عائمة + Color Table… جدول الألوان… + Bitmap… خريطة نقطية… + Duotone… لون ثنائي… + Indexed Color… لون مفهرس… + Adjustments التعديلات + Brightness/Contrast… السطوع/التباين… + Levels… المستويات… + Curves… المنحنيات… + Exposure… التعريض… + Vibrance… الحيوية… + Hue/Saturation… درجات اللون/التشبع… + Color Balance… موازنة الألوان… + Black & White… أبيض وأسود… + Photo Filter… مرشح الصور… + Channel Mixer… مازج القنوات… + Color Lookup… بحث الألوان… + Invert عكس + Posterize… تقليل عدد الألوان… + Threshold… الحد الفاصل… + Gradient Map… خريطة التدرج… + Selective Color… لون انتقائي… + Shadows/Highlights… الظلال/الإبرازات… + HDR Toning… تدرج HDR… + Desaturate إزالة التشبع + Match Color… مطابقة اللون… + Replace Color… استبدال اللون… + Equalize تسوية + Auto Tone درجة لون تلقائية + Auto Contrast تباين تلقائي + Auto Color لون تلقائي + Image Size… حجم الصورة… + Canvas Size… حجم لوحة الرسم… + Image Rotation تدوير الصورة + Flip Canvas Horizontal انعكاس لوحة الرسم أفقيًا + Flip Canvas Vertical انعكاس لوحة الرسم رأسيًا + Crop قص + Trim… تشذيب… + Reveal All إظهار الكل + Duplicate… تكرار… + Apply Image… تطبيق الصورة… + Calculations… العمليات الحسابية… + Variables المتغيرات + Define… تحديد… + Data Sets… مجموعات البيانات… + Apply Data Set… تطبيق مجموعة البيانات… + Variable Data Sets… مجموعات بيانات متغيرة… + Trap… حصر الألوان… + Analysis التحليل + Set Measurement Scale… تعيين مقياس القياس… + Select Data Points… تحديد نقاط البيانات… + Record Measurements تسجيل القياسات + Ruler Tool أداة المسطرة + Count Tool أداة العد + Place Scale Marker… وضع علامة المقياس… + Custom… مخصص… + New جديد + Layer… طبقة… + Group… مجموعة… + Group from Layers… مجموعة من الطبقات… + Artboard… لوحة رسم… + Artboard from Group… لوحة رسم من مجموعة… + Artboard from Layers… لوحة رسم من طبقات… + Layer via Copy طبقة عبر النسخ + Layer via Cut طبقة عبر القص + Layer From Background… طبقة من الخلفية… + Layer from Background… طبقة من الخلفية… + Background from Layer خلفية من طبقة + Background From Layer خلفية من طبقة + New Shape Layer طبقة شكل جديدة + New Type Layer طبقة نص جديدة + New Fill Layer طبقة تعبئة جديدة + New Adjustment Layer طبقة تعديل جديدة + New Layer Based Slice شريحة جديدة معتمدة على طبقة + New Smart Object via Copy كائن ذكي جديد عبر النسخ + New Blank Video Layer طبقة فيديو فارغة جديدة + New Video Layer from File… طبقة فيديو جديدة من ملف… + Duplicate Layer… تكرار الطبقة… + Delete Layer حذف الطبقة + Delete حذف + Rename Layer إعادة تسمية الطبقة + Create Layer إنشاء طبقة + Layer Style نمط الطبقة + Blending Options… خيارات المزج… + Bevel & Emboss… شطب ونقش… + Use Global Light استخدام إضاءة شاملة + Inner Shadow… ظل داخلي… + Inner Glow… توهج داخلي… + Satin… ساتان… + Color Overlay… تراكب لوني… + Gradient Overlay… تراكب التدرج… + Pattern Overlay… تراكب النقش… + Outer Glow… توهج خارجي… + Drop Shadow… ظل ساقط… + Copy Layer Style نسخ نمط الطبقة + Paste Layer Style لصق نمط الطبقة + Clear Layer Style مسح نمط الطبقة + Global Light… إضاءة شاملة… + Hide All Effects إخفاء كافة التأثيرات + Scale Effects… تحجيم التأثيرات… + Smart Filter مرشح ذكي + Convert for Smart Filters تحويل للمرشحات الذكية + Clear Smart Filters مسح المرشحات الذكية + Disable Smart Filters تعطيل المرشحات الذكية + Delete Filter Mask حذف قناع المرشح + Disable Filter Mask تعطيل قناع المرشح + Solid Color… لون خالص… + Gradient… تدرج… + Pattern… نقش… + Layer Mask قناع الطبقة + Vector Mask قناع متجه + Reveal Selection إظهار التحديد + Hide Selection إخفاء التحديد + Hide All إخفاء الكل + From Transparency من الشفافية + Delete Vector Mask حذف القناع المتجه + Enable Layer Mask تمكين قناع الطبقة + Disable Layer Mask تعطيل قناع الطبقة + Enable Vector Mask تمكين القناع المتجه + Link Layer Mask ربط قناع الطبقة + Unlink Layer Mask إلغاء ربط قناع الطبقة + Link Vector Mask ربط القناع المتجه + Add Vector Mask إضافة قناع متجه + Vector Mask from Current Path قناع متجه من المسار الحالي + Create Clipping Mask إنشاء قناع قص + Release Clipping Mask تحرير قناع القص + Smart Objects كائنات ذكية + Smart Object كائن ذكي + Convert to Smart Object تحويل إلى كائن ذكي + Convert to Embedded تحويل إلى كائن مضمن + Convert to Linked… تحويل إلى مرتبط… + Edit Contents تحرير المحتويات + Replace Contents… استبدال المحتويات… + Relink to File… إعادة الربط بملف… + Export Contents… تصدير المحتويات… + Update Modified Content تحديث المحتوى المعدل + Update All Modified Content تحديث جميع المحتويات المعدلة + Stack Mode نمط المكدس + Choose Stack Mode: اختيار نمط التكديس: + Entropy الإنتروبيا + Kurtosis التفرطح + Maximum الحد الأقصى + Mean المتوسط + Median وسيط + Minimum الحد الأدنى + Range المدى + Skewness الالتواء + Standard Deviation الانحراف المعياري + Summation المجموع + Variance التباين + Video Layers طبقات الفيديو + Interpret Footage… تفسير اللقطات… + Replace Footage… استبدال اللقطات… + Reload Frame إعادة تحميل الإطار + Show Altered Video إظهار الفيديو المعدل + Restore Frame استعادة الإطار + Restore All Frames استعادة كافة الإطارات + Insert Blank Frame إدراج إطار فارغ + Delete Frame حذف الإطار + Duplicate Frame تكرار الإطار + Frame from Layers إطار من الطبقات + Video Frames to Layers… إطارات الفيديو إلى طبقات… + Rasterize تنقيط + Rasterize Type تنقيط النص + Rasterize Type Layer تنقيط طبقة النص + Rasterize Shape تنقيط الشكل + New Guide Layout… تخطيط خطوط إرشادية جديد… + New Guides From Shape خطوط إرشادية جديدة من الشكل + Lock Layers… قفل الطبقات… + Link Layers ربط الطبقات + Select Linked Layers تحديد الطبقات المرتبطة + Merge Layers دمج الطبقات + Merge Down دمج لأسفل + Merge Group دمج المجموعة + Merge Visible دمج المرئي + Stamp Visible دمج النسخ المرئية + Select Layer Above تحديد الطبقة أعلاه + Select Layer Below تحديد الطبقة أسفله + Select Top Layer تحديد الطبقة العليا + Select Bottom Layer تحديد الطبقة السفلى + Add Layer Above to Selection إضافة الطبقة أعلاه إلى التحديد + Add Layer Below to Selection إضافة الطبقة أسفله إلى التحديد + Stamp Down دمج لأسفل + Flatten Image تسطيح الصورة + Matting حواف الصورة + Color Decontaminate… إزالة تلوث اللون… + Remove Black Matte إزالة الحافة السوداء + Remove White Matte إزالة الحافة البيضاء + Defringe… إزالة الهالات… + Group Layers تجميع الطبقات + Ungroup Layers فك تجميع الطبقات + Hide Layers إخفاء الطبقات + Arrange ترتيب + Bring to Front إحضار إلى المقدمة + Bring Forward إحضار إلى الأمام + Send Backward إرسال إلى الخلف + Send to Back إرسال إلى المؤخرة + Reverse عكس + Combine Shapes دمج الأشكال + Unite Shapes توحيد الأشكال + Subtract Front Shape طرح الشكل الأمامي + Intersect Shape Areas تقاطع مناطق الأشكال + Exclude Overlapping Shapes استبعاد الأشكال المتداخلة + Merge Shape Components دمج مكونات الشكل + Align محاذاة + Top Edges الحواف العليا + Vertical Centers المراكز الرأسية + Bottom Edges الحواف السفلى + Left Edges الحواف اليسرى + Horizontal Centers المراكز الأفقية + Right Edges الحواف اليمنى + Distribute توزيع + Vertically رأسيًا + Horizontally أفقيًا + Layer Edges حواف الطبقة + Isolate Layers عزل الطبقات + Layer Content Options… خيارات محتوى الطبقة… + Fill Content محتوى التعبئة + Deselect Layers إلغاء تحديد الطبقات + Find Layers البحث عن الطبقات + Layer Comps تكوينات الطبقات + Layers طبقات + All Layers جميع الطبقات + Hidden Layers الطبقات المخفية + Mask All Objects قناع لكافة الكائنات + Subject الموضوع + Sky السماء + Panels اللوحات + Character Panel لوحة الحرف + Paragraph Panel لوحة الفقرة + Character Styles Panel لوحة أنماط الحروف + Paragraph Styles Panel لوحة أنماط الفقرات + Glyphs Panel لوحة الرموز + Anti-Alias صقل الحواف + Sharp حاد + Crisp واضح + Strong قوي + Smooth تنعيم + Windows LCD Windows LCD + Windows Windows + Orientation الاتجاه + Horizontal أفقي + Vertical رأسي + OpenType OpenType + Standard Ligatures حروف مركبة قياسية + Contextual Alternates بدائل سياقية + Discretionary Ligatures حروف مركبة اختيارية + Swash حليات خطية (Swash) + Oldstyle أرقام كلاسيكية + Stylistic Alternates بدائل أسلوبية + Titling Alternates بدائل العناوين + Ornaments زخارف + Ordinals أرقام ترتيبية + Fractions كسور + Create Work Path إنشاء مسار عمل + Convert to Shape تحويل إلى شكل + Warp Text… التواء النص… + Convert to Point Text تحويل إلى نص نقطي + Convert to Paragraph Text تحويل إلى نص فقرة + Default Features الميزات الافتراضية + East Asian Features ميزات شرق آسيا + Middle Eastern Features ميزات الشرق الأوسط + Middle Eastern & South Asian Composer مجمّع نصوص الشرق الأوسط وجنوب آسيا + Update All Text Layers تحديث كافة طبقات النص + Replace All Missing Fonts استبدال كافة الخطوط المفقودة + Resolve Missing Fonts… حل الخطوط المفقودة… + Font Preview Size حجم معاينة الخط + None بلا + Small صغير + Medium متوسط + Large كبير + Extra Large كبير جدًا + Huge ضخم + Load Default Type Styles تحميل أنماط النص الافتراضية + Save Default Type Styles حفظ أنماط النص الافتراضية + Deselect إلغاء التحديد + Reselect إعادة التحديد + Inverse عكس التحديد + Inverse Selection عكس التحديد + Similar مشابه + Color Range… نطاق الألوان… + Focus Area… منطقة التركيز… + Select and Mask… تحديد وقناع… +# Select and Mask dialog labels + Smart Radius نصف قطر ذكي + Shift Edge إزاحة الحافة + Decontaminate إزالة التلوث اللوني + Output الإخراج + Refine Edge تحسين الحافة + Modify تعديل + Border… إطار… + Smooth… تنعيم… + Expand… توسيع… + Contract… تقليص… + Feather… تلاشي الحواف… + Grow توسيع النطاق + Transform Selection تحويل التحديد + Edit in Quick Mask Mode تحرير في نمط القناع السريع + Load Selection… تحميل التحديد… + Save Selection… حفظ التحديد… + Match All مطابقة الكل + Last Filter آخر مرشح + Filter Gallery… معرض المرشحات… + Adaptive Wide Angle… زاوية عريضة متكيفة… + Camera Raw Filter… مرشح Camera Raw… + Liquify… تسييل… + Vanishing Point… نقطة التلاشي… + Blur تمويه + Blur Gallery معرض التمويه + Field Blur… تمويه الحقل… +# Field Blur pins (#3373) + No pin selected لم يتم تحديد أي دبوس + Click the image to add a pin; drag a pin to move it, or its ring to change its blur. Delete removes the selected pin. انقر فوق الصورة لإضافة دبوس؛ واسحب الدبوس لتحريكه، أو اسحب حلقته لتغيير التمويه. يؤدي مفتاح الحذف إلى إزالة الدبوس المحدد. + Drag the handles on the outline to resize and turn it, the square to round its corners, and the dots inside to set where the blur starts. اسحب المقابض الموجودة على المخطط لتغيير حجمه وتدويره، واسحب المربع لتدوير زواياه، والنقاط بالداخل لتحديد مكان بدء التمويه. + Drag the pin to move the band, or its ring to change its blur. Drag the solid lines to widen the sharp band, the dashed lines to set the transition, and the dots to turn it. اسحب الدبوس لتحريك الشريط، أو حلقته لتغيير التمويه. اسحب الخطوط المتصلة لتوسيع الشريط الحاد، والخطوط المتقطعة لضبط الانتقال، والنقاط لتدويره. + Drag the handles on the outline to resize and turn it; the ring sets the blur angle. اسحب المقابض الموجودة على المخطط لتغيير حجمه وتدويره؛ وتضبط الحلقة زاوية التمويه. + Iris Blur… تمويه الحدقة… + Tilt-Shift… إمالة وتغيير الموضع… + Path Blur… تمويه المسار… + Spin Blur… تمويه الدوران… + Blur More تمويه أكثر + Box Blur… تمويه الصندوق… + Gaussian Blur… تمويه غاوسي… + Lens Blur… تمويه العدسة… + Motion Blur… تمويه الحركة… + Radial Blur… تمويه شعاعي… + Shape Blur… تمويه الشكل… + Smart Blur… تمويه ذكي… + Surface Blur… تمويه السطح… + Average متوسط + Displace… إزاحة… + Pinch… ضغط… + Polar Coordinates… إحداثيات قطبية… + Ripple… تموج… + Shear… قص… + Spherize… تكبير كروي… + Twirl… التواء… + Wave… موجة… + ZigZag… تعرج… + Noise تشويش + Add Noise… إضافة تشويش… + Despeckle إزالة البقع + Dust & Scratches… غبار وخدوش… + Median… وسيط… + Reduce Noise… تقليل التشويش… + Pixelate بكسلة + Color Halftone… نصف نغمة لوني… + Crystallize… بلورة… + Facet أوجه + Fragment تجزئة + Mezzotint… تظليل نصفي… + Mosaic… فسيفساء… + Pointillize… تنقيط… + Render تصيير + Clouds غيوم + Difference Clouds غيوم متباينة + Fibers… ألياف… + Flame… لهب… + Lens Flare… توهج العدسة… + Lighting Effects… تأثيرات الإضاءة… + Picture Frame… إطار صورة… + Tree… شجرة… + Sharpen توضيح + Sharpen Edges توضيح الحواف + Sharpen More توضيح أكثر + Smart Sharpen… توضيح ذكي… + Unsharp Mask… قناع التوضيح… + High Pass… مرشح التمرير العالي… + Stylize أسلوب فني + Diffuse… انتشار… + Emboss… نقش… + Extrude… بثق… + Find Edges العثور على الحواف + Oil Paint… طلاء زيتي… + Solarize تعريض شمسي + Tiles… بلاطات… + Trace Contour… تتبع الخط المحيطي… + Wind… رياح… + Video فيديو + De-Interlace… إزالة التداخل… + NTSC Colors ألوان NTSC + Other أخرى + Maximum… الحد الأقصى… + Minimum… الحد الأدنى… + Offset… إزاحة… + Plug-ins المكونات الإضافية + Proof Setup إعداد المعاينة + Proof Colors معاينة الألوان + Gamut Warning تحذير نطاق الألوان + Working CMYK مساحة عمل CMYK + Working Cyan Plate لوح السماوي العامل + Working Magenta Plate لوح الأرجواني العامل + Working Yellow Plate لوح الأصفر العامل + Working Black Plate لوح الأسود العامل + Working CMY Plate لوح CMY العامل + Legacy Macintosh RGB RGB القديم لنظام Macintosh + Internet Standard RGB RGB القياسي للإنترنت + Monitor RGB RGB الشاشة + Color Blindness — Protanopia-type عمى الألوان — نوع بروتانوبيا (عمى الأحمر) + Color Blindness — Deuteranopia-type عمى الألوان — نوع ديوترانوبيا (عمى الأخضر) + Zoom In تكبير + Zoom Out تصغير + Fit on Screen ملاءمة على الشاشة + Fit Layer(s) on Screen ملاءمة الطبقة (الطبقات) على الشاشة + Fit Artboard on Screen ملاءمة لوحة الرسم على الشاشة + 100% 100% + 200% 200% + 75% 75% + 80% 80% + 85% 85% + 90% 90% + 95% 95% + 125% 125% + 150% 150% + 175% 175% + 250% 250% + 300% 300% + Print Size حجم الطباعة + Pixel Aspect Ratio نسبة أبعاد البكسل + Pixel Aspect Ratio Correction تصحيح نسبة أبعاد البكسل + Custom Pixel Aspect Ratio… نسبة أبعاد البكسل المخصصة… + Square مربع + D1/DV NTSC (0.91) D1/DV NTSC (0.91) + D1/DV NTSC Widescreen (1.21) شاشة عريضة D1/DV NTSC (1.21) + D1/DV PAL (1.09) D1/DV PAL (1.09) + D1/DV PAL Widescreen (1.46) شاشة عريضة D1/DV PAL (1.46) + Anamorphic 2:1 (2) شاشة مشوهة 2:1 (2) + HDV 1080/DVCPRO HD 720 (1.33) HDV 1080/DVCPRO HD 720 (1.33) + DVCPRO HD 1080/HDV 1080 (1.5) DVCPRO HD 1080/HDV 1080 (1.5) + 32-bit Preview Options… خيارات معاينة 32 بت… + Screen Mode نمط الشاشة + Standard Screen Mode نمط الشاشة القياسي + Full Screen Mode With Menu Bar نمط ملء الشاشة مع شريط القوائم + Full Screen Mode نمط ملء الشاشة + Cycle Screen Mode تبديل نمط الشاشة + Show إظهار + Extras عناصر إضافية + Selection Edges حواف التحديد + Target Path مسار الهدف + Current Path المسار الحالي + Grid الشبكة + Guides الخطوط الإرشادية + Canvas Guides الخطوط الإرشادية للوحة الرسم + Artboard Guides الخطوط الإرشادية للوحة التصميم + Count العدد + Smart Guides الخطوط الإرشادية الذكية + Slices الشرائح + Notes الملاحظات + Pixel Grid شبكة البكسل + Pixel Art فن البكسل + Pixel Art Preview معاينة فن البكسل + Pattern Preview معاينة النقش + Brush Preview معاينة الفرشاة + Mesh شبكة مجسمة + Edit Pins تحرير الدبابيس + Document Bounds حدود المستند + Show Extras Options… خيارات إظهار العناصر الإضافية… + Rulers المساطر + Snap محاذاة تلقائية (Snap) + Snap To محاذاة تلقائية إلى + Lock Guides قفل الخطوط الإرشادية + Clear Guides مسح الخطوط الإرشادية + Clear Selected Artboard Guides مسح خطوط لوحة الرسم المحددة الإرشادية + Clear Canvas Guides مسح خطوط لوحة الرسم الإرشادية + New Guide… خط إرشادي جديد… + Lock Slices قفل الشرائح + Clear Slices مسح الشرائح + Match Zoom مطابقة التكبير + Match Location مطابقة الموضع + Match Rotation مطابقة التدوير + Cascade تتالي + Tile تجاور + Tile All Horizontally ترتيب متجاور أفقيًا للكل + Tile All Vertically ترتيب متجاور رأسيًا للكل + 2-up Horizontal 2 أفقي + 2-up Vertical 2 رأسي + 3-up Horizontal 3 أفقي + 3-up Stacked 3 مكدس + 3-up Vertical 3 رأسي + 4-up 4 مكدس + 6-up 6 مكدس + Consolidate All to Tabs دمج الكل في علامات تبويب + Float in Window عائم في نافذة + Float All in Windows تعويم الكل في نوافذ + New Window for Document نافذة جديدة للمستند + Workspace مساحة العمل + Essentials الأساسيات + Graphic and Web الرسومات والويب + Painting الرسم + Photography التصوير الفوتوغرافي + New Workspace… مساحة عمل جديدة… + Delete Workspace… حذف مساحة العمل… + Reset Workspace إعادة تعيين مساحة العمل + Reset Tool إعادة تعيين الأداة + Reset All Tools إعادة تعيين كافة الأدوات + Reset all tools to their default settings? هل تريد إعادة تعيين كافة الأدوات إلى إعداداتها الافتراضية؟ + Lock Workspace قفل مساحة العمل + Theme السمة + Pro Theme سمة Pro + Pro Medium Gray Theme سمة Pro رمادي متوسط + Pro Light Gray Theme سمة Pro رمادي فاتح + Pro Light Theme سمة Pro فاتح + Studio Theme سمة Studio + Studio Light Theme سمة Studio فاتح + Adwaita Light Theme سمة Adwaita فاتح + Adwaita Dark Theme سمة Adwaita داكن + Classic Theme السمة الكلاسيكية + Solarized dark Solarized داكن + Solarized Dark Theme سمة Solarized داكن + Breeze dark Breeze داكن + Breeze Dark Theme سمة Breeze داكن + Breeze light Breeze فاتح + Breeze Light Theme سمة Breeze فاتح + Soft dark داكن ناعم + Soft light فاتح ناعم + Soft Dark Theme سمة داكن ناعم + Soft Light Theme سمة فاتح ناعم + Next Theme السمة التالية + Actions الإجراءات + Brush Settings إعدادات الفرشاة + Brushes الفُرش + Channels قنوات + Character الحرف + Character Styles أنماط الحروف + Clone Source مصدر النسخ + Color اللون + Glyphs الرموز + Gradients التدرجات + Histogram المخطط البياني + History المحفوظات + Info معلومات + Measurement Log سجل القياسات + Modifier Keys مفاتيح التعديل + Navigator المنقل + Options الخيارات + Paragraph الفقرة + Paragraph Styles أنماط الفقرات + Paths مسارات + Patterns النقوش + Properties الخصائص + Shapes الأشكال + Styles الأنماط + Swatches عينات الألوان + Timeline المخطط الزمني + Tool Presets الإعدادات المسبقة للأداة + Tools الأدوات + About PhotoCraft حول PhotoCraft + PhotoCraft Website موقع PhotoCraft الإلكتروني + PhotoCraft on GitHub PhotoCraft على GitHub + ArtCraft Website موقع ArtCraft الإلكتروني + Join the ArtCraft Discord… الانضمام إلى Discord الخاص بـ ArtCraft… + Report an Issue… الإبلاغ عن مشكلة… + WIA Support… دعم WIA… + Apply تطبيق + HSB/HSL HSB/HSL + Invert… عكس… + Load Files into Stack… تحميل الملفات إلى مكدس… + Motion الحركة + Notes… ملاحظات… + Other… أخرى… + Remove Warp Split إزالة تقسيم الالتفاف + Shape شكل + Split Warp Crosswise تقسيم الالتفاف متقاطعًا + Split Warp Horizontally تقسيم الالتفاف أفقيًا + Split Warp Vertically تقسيم الالتفاف رأسيًا + Statistics… إحصائيات… + Refine Strokes تحسين الخطوط +@plural {n} item|{n} items {n} عنصر|{n} عنصر|{n} عنصران|{n} عناصر|{n} عنصرًا|{n} عنصر + Auto تلقائي + +# Dialogs and panels + (print to the printer) (طباعة إلى الطابعة) + + Add variable + إضافة متغير + 30 frames @ 30 fps 30 إطارًا بمعدل 30 إطار/ثانية + 3D LUT File ملف 3D LUT + Absolute مطلق + Absolute Colorimetric قياس لوني مطلق + Action إجراء + Adaptive تكيفي + Adaptive Wide Angle isn't open الزاوية العريضة التكيفية ليست مفتوحة + Add إضافة + Add Layer Mask إضافة قناع طبقة + Add Stop إضافة نقطة توقف + Add a layer style إضافة نمط طبقة + Add a mask (from the selection; {key} inverts) إضافة قناع (من التحديد؛ {key} يعكس) + Add an adjustment إضافة تعديل + Add disk إضافة قرص + Add space after paragraph إضافة مسافة بعد الفقرة + Add space before paragraph إضافة مسافة قبل الفقرة + Add to Sample إضافة إلى العينة + Add to selection ({key}) إضافة إلى التحديد ({key}) + Adjust for Zoom ضبط للتكبير + Adjustment visible التعديل مرئي + Adobe RGB (1998) compatible متوافق مع Adobe RGB (1998) + Align and Distribute محاذاة وتوزيع + Align and distribute محاذاة وتوزيع + Align horizontal centers محاذاة المراكز الأفقية + Align left edges محاذاة الحواف اليسرى + Align right edges محاذاة الحواف اليمنى + Aligned محاذاة + All Caps أحرف استهلالية كبيرة كاملة + All Slices كافة الشرائح + All User Slices كافة شرائح المستخدم + All shortcuts reset to PhotoCraft defaults. تمت إعادة تعيين كافة الاختصارات إلى افتراضيات PhotoCraft. + Alt Alt + Always use pressure for opacity استخدام الضغط دائمًا للتعتيم + Always use pressure for size استخدام الضغط دائمًا للحجم + Amount المقدار + Anchor: نقطة الارتكاز: + Angle زاوي + Angle Gradient تدرج زاوي + Angle Jitter اهتزاز الزاوية + Answer the unsaved-changes prompt first يُرجى الرد على مطالبة التغييرات غير المحفوظة أولاً + Anti-alias صقل الحواف + Appearance المظهر + Appearance (Layer Style) المظهر (نمط الطبقة) + Apply Layer Mask تطبيق قناع الطبقة + Add Mask to Selection إضافة القناع إلى التحديد + Subtract Mask from Selection طرح القناع من التحديد + Intersect Mask with Selection تقاطع القناع مع التحديد + Apply Per Tip تطبيق لكل رأس + Apply next selected layer comp تطبيق تكوين الطبقات المحدد التالي + Apply previous selected layer comp تطبيق تكوين الطبقات المحدد السابق + Artboard لوحة رسم + Artboard Background Color لون خلفية لوحة الرسم + Assign working space تعيين مساحة العمل + Author: المؤلف: + Auto Hide إخفاء تلقائي + Auto-Select: تحديد تلقائي: + Automatically level near-horizontal line segments تسوية المقاطع شبه الأفقية تلقائيًا + Automatically straighten and level تعديل الاستقامة والتسوية تلقائيًا + Automatically straighten near-vertical line segments تعديل استقامة المقاطع شبه الرأسية تلقائيًا + Background الخلفية + Background Color لون الخلفية + Background Contents محتويات الخلفية + Custom background color لون خلفية مخصص + Balance الموازنة + Baseline خط الأساس + Baseline shift إزاحة خط الأساس + Basic أساسي + Before (Y) قبل (Y) + Save Settings… حفظ الإعدادات… + Load Settings… تحميل الإعدادات… + Save these settings as a Camera Raw .xmp file حفظ هذه الإعدادات كملف .xmp لـ Camera Raw + Load settings from a Camera Raw .xmp file تحميل الإعدادات من ملف .xmp لـ Camera Raw + Loaded Camera Raw settings from {file} تم تحميل إعدادات Camera Raw من {file} + Loaded Camera Raw settings from {file} ({n} not supported) تم تحميل إعدادات Camera Raw من {file} ({n} غير مدعومة) + Begin recording بدء التسجيل + Bend: الانحناء: + Bicubic Bicubic (تكعيبي مزدوج) + Bicubic (smooth gradients) Bicubic (تدرجات ناعمة) + Automatic تلقائي + Bicubic Smoother (enlargement) Bicubic أكثر نعومة (تكبير) + Bicubic Sharper (reduction) Bicubic أكثر حدة (تصغير) + Bilinear Bilinear (ثنائي الخطي) + Black أسود + Black & White أبيض وأسود + Black Point Compensation تعويض النقطة السوداء + Black, White أسود، أبيض + Blacks درجات السواد + Blending المزج + Blending Options خيارات المزج + Blue أزرق + Blue, Red, Yellow أزرق، أحمر، أصفر + Both Axes كلا المحورين + Bottom أسفل + Brightness السطوع + Brightness Jitter اهتزاز السطوع + Brightness/Contrast السطوع/التباين + Bring the selected pin forward إحضار الدبوس المحدد إلى الأمام + Brush Preset picker منتقي الإعدادات المسبقة للفرشاة + Brush Reconstruct Options خيارات إعادة بناء الفرشاة + Brush Tool Options خيارات أداة الفرشاة + Cache Level: مستوى ذاكرة التخزين المؤقت: + Camera Raw isn't open Camera Raw ليس مفتوحًا + Cancel إلغاء + Reset إعادة تعيين + Cancel (Esc) إلغاء (Esc) + Manage submitted jobs in the system print queue إدارة المهام المرسلة في قائمة انتظار طباعة النظام + Cancel any current edits (Esc) إلغاء أي تعديلات حالية (Esc) + Cancel current crop operation (Esc) إلغاء عملية القص الحالية (Esc) + Cancel transform (Esc) إلغاء التحويل (Esc) + Cancel warp (Esc) إلغاء الالتواء (Esc) + Canvas لوحة الرسم + Canvas extension color: لون تمديد لوحة الرسم: + Capture التقاط + Capture the visibility, position and style of every layer with + below, then switch between versions. التقط رؤية وموضع ونمط كل طبقة باستخدام + أدناه، ثم بدّل بين الإصدارات. + Catch-up on Stroke End اللحاق في نهاية الخط + Center مركز + Center Crop Marks علامات قص مركزية + Center text توسيط النص + Change تغيير + Change All تغيير الكل + Change Screen Mode (F) تغيير نمط الشاشة (F) + Change To: تغيير إلى: + Channel Mixer مازج القنوات + Channel: القناة: + Check All Layers فحص كافة الطبقات + Check Spelling تدقيق إملائي + Clarity الوضوح + Clear All مسح الكل + Clear Override مسح التجاوز + Clear Samples مسح العينات + Click sets foreground · right-click sets background النقر يعيّن لون المقدمة · والنقر بزر الماوس الأيمن يعيّن لون الخلفية + Click the first point or press {key} to close · Esc cancels انقر فوق النقطة الأولى أو اضغط على {key} للإغلاق · Esc للإلغاء + Click to add a point · drag off or {key}-click or Delete to remove انقر لإضافة نقطة · اسحب بعيدًا أو {key}+نقر أو Delete للإزالة + Click to apply, {key}-click to clear overrides, double-click for Style Options انقر للتطبيق، {key}+نقر لمسح الاستثناءات، انقر نقرًا مزدوجًا لخيارات النمط + Click to edit the gradient انقر لتحرير التدرج + Click to restore the current colour انقر لاستعادة اللون الحالي + Click to zoom in · {key}-click to zoom out · drag right/left to zoom in/out انقر للتكبير · {key}+نقر للتصغير · اسحب يمينًا/يسارًا للتكبير/التصغير + Click with the Note tool to add a note. انقر بأداة الملاحظة لإضافة ملاحظة. + Click: corner · Drag: smooth · Click first point: close · {key} finish · Esc cancel نقر: زاوية · سحب: ناعم · نقر النقطة الأولى: إغلاق · {key} إنهاء · Esc إلغاء + Click: corner · Drag: smooth · {alt}-drag: break handle · Click or drag first point: close · {key} finish · Esc cancel نقر: زاوية · سحب: ناعم · {alt}+سحب: كسر المقبض · نقر أو سحب النقطة الأولى: إغلاق · {key} إنهاء · Esc إلغاء + Clip to layer below قص إلى الطبقة أدناه + Clipped مقصوص + Close Style Options إغلاق خيارات النمط + Cmd Cmd + Coated CMYK CMYK للورق المصقول + Color & Swatches اللون وعينات الألوان + Color Balance موازنة الألوان + Color Detail تفاصيل اللون + Color Grading تدرج الألوان + Color Lookup بحث الألوان + Color Management إدارة الألوان + Color Mixer مازج الألوان + Color Mode نمط الألوان + Color Priority أولوية اللون + Color Range preview معاينة نطاق الألوان + Color: اللون: + Colorize تلوين + Colors الألوان + Commit Perspective Warp ({key}) تثبيت الالتفاف المنظوري ({key}) + Commit Puppet Warp ({key}) تثبيت التفاف الدمية ({key}) + Commit any current edits ({key}) تثبيت أي تعديلات حالية ({key}) + Commit current crop operation ({key}) تثبيت عملية القص الحالية ({key}) + Commit transform ({key}) تثبيت التحويل ({key}) + Commit warp ({key}) تثبيت الالتفاف ({key}) + Constant ثابت + Constrain proportions تقييد النسب + Contact Sheet II ورقة اتصال II + Content-Aware مدرك للمحتوى + Contiguous متجاور + Contrast التباين + Control: التحكم: + Convert to sRGB تحويل إلى sRGB + Copies النسخ + Copper نحاسي + Copyright حقوق النشر + Copyright and Contact Info حقوق النشر ومعلومات الاتصال + Corner Crop Marks علامات قص الزوايا + Corner radius نصف قطر الزاوية + Correction تصحيح + Count Jitter اهتزاز العدد + Create إنشاء + Create Droplet إنشاء قطيرة (Droplet) + Create Texture إنشاء ملمس + Create Video Timeline إنشاء مخطط زمني للفيديو + Create a new count group إنشاء مجموعة عد جديدة + Create a new document or open an existing file. إنشاء مستند جديد أو فتح ملف موجود. + Create a new group إنشاء مجموعة جديدة + Create a new layer إنشاء طبقة جديدة + Create new action إنشاء إجراء جديد + Create new channel إنشاء قناة جديدة + Create new document from current state إنشاء مستند جديد من الحالة الحالية + Create new fill or adjustment layer إنشاء طبقة تعبئة أو تعديل جديدة + Create new gradient إنشاء تدرج جديد + Create new group إنشاء مجموعة جديدة + Create new layer comp إنشاء تكوين طبقات جديد + Create new pattern from the selection إنشاء نقش جديد من التحديد + Create new shape from the current path إنشاء شكل جديد من المسار الحالي + Create new snapshot إنشاء لقطة جديدة + Create new style (from the selected type) إنشاء نمط جديد (من النص المحدد) + Create new style from the selected layer إنشاء نمط جديد من الطبقة المحددة + Create new tool preset إنشاء إعداد مسبق جديد للأداة + Crop Factor معامل القص + Ctrl Ctrl + Current & Below الحالية والطبقات أسفلها + Current Layer الطبقة الحالية + Current Size الحجم الحالي + Current Tool Only الأداة الحالية فقط + Curve منحنى + Curves المنحنيات + Custom مخصص + Custom Shapes أشكال مخصصة + Cyan سماوي + Cyan · Red سماوي · أحمر + Darken تغميق + Darks مناطق داكنة + Data Sets مجموعات البيانات + Default افتراضي + Default colours (D) الألوان الافتراضية (D) + Default printer الطابعة الافتراضية + Default restored. تمت استعادة الافتراضي. + Define تعريف + Define at least one variable first. يُرجى تعريف متغير واحد على الأقل أولاً. + Dehaze إزالة الضباب + Delete Cropped Pixels حذف البكسلات المقصوصة + Delete Group حذف المجموعة + Delete Layer Mask حذف قناع الطبقة + Delete Layers حذف الطبقات + Add Shortcut إضافة اختصار + Delete Shortcut حذف الاختصار + Delete Timeline حذف المخطط الزمني + Delete Tool Preset حذف الإعداد المسبق للأداة + Delete count group حذف مجموعة العد + Delete current channel حذف القناة الحالية + Delete current state حذف الحالة الحالية + Delete effect layer حذف طبقة التأثير + +# Layers-panel trash confirmation + Delete layer ‘{name}’? هل تريد حذف الطبقة '{name}'؟ + Delete {count} layers? {names} هل تريد حذف {count} طبقات؟ {names} + Delete layer? هل تريد حذف الطبقة؟ + The document is closed المستند مغلق + The document or selected layers changed. Please request deletion again. تغير المستند أو الطبقات المحددة. يُرجى طلب الحذف مرة أخرى. + Missing delete command أمر الحذف مفقود + Invalid delete command أمر حذف غير صالح + Layer deleted, but confirmation preference could not be saved: {error} تم حذف الطبقة، ولكن تعذر حفظ تفضيل التأكيد: {error} + + Delete layer حذف الطبقة + Delete layer comp حذف تكوين الطبقات + Delete note حذف الملاحظة + Delete selected measurements حذف القياسات المحددة + Delete style حذف النمط + Delete tool preset حذف الإعداد المسبق للأداة + Density الكثافة + Density: الكثافة: + Depth العمق + Depth Jitter اهتزاز العمق + Description الوصف + Deselect All إلغاء تحديد الكل + Detail التفاصيل + Diamond Gradient تدرج ماسي + Difference فرق + Diffusion الانتشار + Discard the embedded profile (don't color manage) تجاهل ملف التعريف المضمن (عدم إدارة الألوان) + Discontiguous غير متجاور + Discord Discord + Dismiss تجاهل + Display P3 Display P3 + Display Text عرض النص + Dither تمويه رقمي (Dither) + Divide… تقسيم… + Document المستند + Don't Save عدم الحفظ + Done تم + Dots نقاط + Drag a rectangle around the object اسحب مستطيلاً حول الكائن + Drag on the image to add a constraint; Shift for horizontal/vertical; right-click to delete. اسحب على الصورة لإضافة قيد؛ اضغط على Shift للأفقي/الرأسي؛ انقر بزر الماوس الأيمن للحذف. + Drag to move the active shape's path or the Work Path اسحب لتحريك مسار الشكل النشط أو مسار العمل + Click: select anchor · Drag: move anchor, handle or segment · {shift}-click: add · {alt}-click: whole subpath نقر: تحديد نقطة ربط · سحب: تحريك نقطة ربط أو مقبض أو قطعة · {shift}+نقر: إضافة · {alt}+نقر: كامل المسار الفرعي + Draw with the Pen tool (P) or make a work path from a selection. ارسم بأداة القلم (P) أو أنشئ مسار عمل من تحديد. + Drop an image or PSD anywhere to open it. أفلت صورة أو ملف PSD في أي مكان لفتحه. + Native file drag-and-drop is unavailable السحب والإفلات الأصلي للملفات غير متوفر + Native file drag-and-drop is not supported on Wayland yet. Use File › Open, or copy the image in your file manager and paste it with {paste}. السحب والإفلات الأصلي للملفات غير مدعوم على Wayland حتى الآن. استخدم ملف › فتح، أو انسخ الصورة من مدير الملفات والصقها باستخدام {paste}. + To drop files, start PhotoCraft under XWayland: `{command}` لإفلات الملفات، ابدأ تشغيل PhotoCraft تحت XWayland: `{command}` + Or set Preferences › Performance › Linux display server to X11: PhotoCraft then always starts under XWayland. أو اضبط التفضيلات › الأداء › خادم عرض Linux على X11: يبدأ PhotoCraft دائمًا بعد ذلك تحت XWayland. + Edit › Paste تحرير › لصق + Duplicate Layers… تكرار الطبقات… + Duplicate style تكرار النمط + Edit Toolbar… تحرير شريط الأدوات… + Use File › Open, or paste a copied image with {paste}. استخدم ملف › فتح، أو الصق صورة منسوخة باستخدام {paste}. + Edit in Quick Mask Mode (Q) تحرير في نمط القناع السريع (Q) + Edit in Standard Mode (Q) تحرير في النمط القياسي (Q) + Effects التأثيرات + Embed Color Profile تضمين ملف تعريف الألوان + Embedded Profile Mismatch عدم تطابق ملف التعريف المضمن + Enable airbrush-style build-up effects تمكين تأثيرات التراكم بنمط البخاخة + Enhance Edge تحسين الحافة + Entire Font الخط بالكامل + Exact تام + Expansion: التوسيع: + Export Presets تصدير الإعدادات المسبقة + Export selected measurements (CSV) تصدير القياسات المحددة (CSV) + Exposure التعريض + Exposure and Gamma التعريض وجاما + Exposure: التعريض: + Eyedropper القطارة + Factor: المعامل: + Faux Bold عريض زائف + Faux Italic مائل زائف + Feather تلاشي الحواف + Fewer Points نقاط أقل + File Settings إعدادات الملف + Fill تعبئة + Fill: التعبئة: + Filter for adjustment layers تصفية لطبقات التعديل + Filter for pixel layers تصفية لطبقات البكسل + Filter for shape layers تصفية لطبقات الشكل + Filter for smart objects تصفية للكائنات الذكية + Filter for type layers تصفية لطبقات النص + Filter: المرشح: + Finger Painting طلاء بالأصابع + Fisheye عين السمكة + Fit ملاءمة + Fit Screen ملاءمة على الشاشة + Fill Screen ملء الشاشة + Fit in View ملاءمة في العرض + Fixed ثابت + Fixed Ratio نسبة ثابتة + Fixed Size حجم ثابت + Flip انعكاس + Flip X انعكاس أفقي (X) + Flip X Jitter اهتزاز الانعكاس X + Flip Y انعكاس رأسي (Y) + Flip Y Jitter اهتزاز الانعكاس Y + Flow التدفق + Flow Jitter اهتزاز التدفق + Focal Length البعد البؤري + Font الخط + Font Size: حجم الخط: + Font size حجم الخط + Foreground المقدمة + Foreground to Background من لون المقدمة إلى لون الخلفية + Foreground/Background Jitter اهتزاز لون المقدمة/الخلفية + Format التنسيق + Frame from Layers… إطار من الطبقات… + Free حر + Full Spherical كروي كامل + Fuzziness: عدم الوضوح: + GPU GPU + Gamma Correction تصحيح جاما + Gamma: جاما: + Global شامل + Glow Color لون التوهج + Gradient Map خريطة التدرج + Grain حبيبات + Gray رمادي + Gray Gamma 2.2 رمادي جاما 2.2 + Green أخضر + Group مجموعة + Hardness الصلابة + Heart قلب + Height الارتفاع + Height: الارتفاع: + Hide Auto Slices إخفاء الشرائح التلقائية + Hide Properties إخفاء الخصائص + Highlight Compression ضغط الإبرازات + Highlight Priority أولوية الإبرازات + Highlights الإبرازات + Home الصفحة الرئيسية + Horizontal scale المقياس الأفقي + Hue درجة اللون + Hue Jitter اهتزاز درجة اللون + Hue/Saturation درجات اللون/التشبع + Hyphenate وصل الكلمات + Ignore تجاهل + Ignore All تجاهل الكل + Image Size حجم الصورة + Import Brushes… استيراد الفُرش… + Gradient Preset Options خيارات الإعداد المسبق للتدرج + Import .GRD استيراد .GRD + Choose a gradient file (.grd). اختر ملف تدرج (.grd). + Import brushes (.abr) استيراد الفُرش (.abr) + Import Presets استيراد الإعدادات المسبقة + Imported تم الاستيراد + Indent First مسافة بادئة للسطر الأول + Indent Left مسافة بادئة لليسار + Indent Right مسافة بادئة لليمين + Indent first line إزاحة السطر الأول للداخل + Indent left margin إزاحة الهامش الأيسر للداخل + Indent right margin إزاحة الهامش الأيمن للداخل + Input: الإدخال: + Inside داخل + Interlaced متداخل + Interpolation: الاستيفاء: + Intersect with selection ({key}) تقاطع مع التحديد ({key}) + Invert All عكس الكل + Invert has no settings. لا توجد إعدادات لأمر العكس. + Italic مائل + Join us on Discord انضم إلينا على Discord + Justify all ضبط كلي لكافة الأسطر + Justify last centered ضبط مع توسيط السطر الأخير + Justify last left ضبط مع محاذاة السطر الأخير لليسار + Justify last right ضبط مع محاذاة السطر الأخير لليمين + Kerning تقنين الفواصل (Kerning) + Keyboard Shortcuts اختصارات لوحة المفاتيح + Keyboard Shortcuts and Menus اختصارات لوحة المفاتيح والقوائم + Kind النوع + Label Size حجم التسمية + Labels التسميات + Lanczos (sharp) Lanczos (حاد) + Landscape أفقي (عريض) + Last Document State آخر حالة للمستند + Layout التخطيط + Leading التباعد بين الأسطر (Leading) + Leading (set to the font size × auto-leading when Auto) التباعد بين الأسطر (يُضبط على حجم الخط × التباعد التلقائي عند التعيين إلى تلقائي) + Leave as is (don't color manage) الإبقاء كما هو (عدم إدارة الألوان) + Left align text محاذاة النص لليسار + Length: الطول: + Level المستوى + Levels المستويات + Lighten تفتيح + Lightness الإضاءة + Lights مناطق مضيئة + Limits: الحدود: + Linear Gradient تدرج خطي + Link layers ربط الطبقات + Link width and height ربط العرض والارتفاع + Liquify is not open أداة التسييل (Liquify) ليست مفتوحة + Load تحميل + Load 3D LUT… تحميل 3D LUT… + Load channel as selection تحميل القناة كتحديد + Load… تحميل… + Localized Color Clusters مجموعات ألوان موضعية + Lock قفل + Lock all قفل الكل + Lock image pixels قفل بكسلات الصورة + Lock layer قفل الطبقة + Lock position قفل الموضع + Lock transparent pixels قفل البكسلات الشفافة + Lock: القفل: + Logical Length: الطول المنطقي: + Logical Units: الوحدات المنطقية: + Luminance الإضاءة + Luminance Detail تفاصيل الإضاءة + Magenta أرجواني + Magenta · Green أرجواني · أخضر + Maintain aspect ratio الحفاظ على نسبة العرض إلى الارتفاع + Marker Size حجم العلامة + Mask All قناع للكل + Mask Options خيارات القناع + Masking إنشاء القناع + Master رئيسي + Matte لون الحافة (Matte) + Median: الوسيط: + Menus القوائم + Mesh Size حجم الشبكة + Metadata البيانات الوصفية + Metrics المقاييس (Metrics) + Midpoint نقطة المنتصف + Midtones درجات متوسطة + Midtones from: درجات متوسطة من: + Midtones to: درجات متوسطة إلى: + Minimum Depth أدنى عمق + Minimum Diameter أدنى قطر + Minimum Roundness أدنى استدارة + Mode: النمط: + Monochrome أحادي اللون + More Points نقاط إضافية + Move effect layer down تحريك طبقة التأثير لأسفل + Move effect layer up تحريك طبقة التأثير لأعلى + Move to نقل إلى + Name الاسم + Name: الاسم: + Nearest Neighbor أقرب جار (Nearest Neighbor) + Nearest Neighbor (hard edges) أقرب جار (حواف صلبة) + New Size الحجم الجديد + New document… مستند جديد… + New effect layer طبقة تأثير جديدة + New selection تحديد جديد + Next frame الإطار التالي + Next note الملاحظة التالية + No Color بلا لون + No Color Management بدون إدارة ألوان + No Dither بدون تمويه رقمي (Dither) + No author بلا مؤلف + No character style بلا نمط حرف + No document لا يوجد مستند + No matching commands لا توجد أوامر مطابقة + No presets for the current tool. لا توجد إعدادات مسبقة للأداة الحالية. + No presets of this type. لا توجد إعدادات مسبقة من هذا النوع. + No properties لا توجد خصائص + No tool presets. لا توجد إعدادات مسبقة للأدوات. + Noise Reduction تقليل التشويش + Normal عادي + Not in Dictionary: ليس في القاموس: + OK موافق + Offset إزاحة + Only Web Colors ألوان الويب فقط + Opacity التعتيم + Opacity Jitter اهتزاز التعتيم + Opacity: التعتيم: + Open a document to define variables. افتح مستندًا لتعريف المتغيرات. + Open a document to select a colour range. افتح مستندًا لتحديد نطاق لوني. + Open a document to use the timeline. افتح مستندًا لاستخدام المخطط الزمني. + Optical بصري (Optical) + Optimized محسّن + Option-click to define a source point to clone from انقر مع الضغط على Option/Alt لتحديد نقطة مصدر للنسخ منها + Original الأصلي + Output Channel: قناة الإخراج: + Output Levels: مستويات الإخراج: + Output: الإخراج: + Outside خارج + Overlay Color لون التراكب + Overlay Opacity تعتيم التراكب + Overlay: Rule of Thirds التراكب: قاعدة الأثلاث + Override Pressure تجاوز الضغط + Override Rotation تجاوز التدوير + Override Tilt تجاوز الإمالة + PRESET DETAILS تفاصيل الإعداد المسبق + PSD PSD + Paint Overlay تراكب الطلاء + Panel locations are saved in the workspace. Keyboard shortcuts, menus and toolbar are optional. يتم حفظ مواقع اللوحات في مساحة العمل. اختصارات لوحة المفاتيح والقوائم وشريط الأدوات اختيارية. + Paper الورق + Path مسار + Pattern نقش + Pattern Size حجم النقش + Pause إيقاف مؤقت + Percent بالمائة + Perceptual إدراكي + Perspective Warp is not active التواء المنظور غير نشط + Perspective Warp: draw planes along the image's perspective, then switch to Warp التواء المنظور: ارسم مستويات على طول منظور الصورة، ثم بدّل إلى الالتواء + Photo Filter مرشح الصور + PhotoCraft PhotoCraft + PhotoCraft Manages Colors PhotoCraft يدير الألوان + PhotoCraft — an open-source, native image editor written in Rust. PhotoCraft — محرر صور أصلي ومفتوح المصدر مكتوب بلغة Rust. + Pin Depth: عمق الدبوس: + Pixel Length: طول البكسل: + Pixels/Centimeter بكسل/سنتيمتر + Pixels/Inch بكسل/بوصة + Pixels: بكسل: + Play تشغيل + Play selection تشغيل التحديد + Portrait عمودي (طولي) + Position الموضع + Position and Size الموضع والحجم + Posterize تقليل عدد الألوان + Preserve Details الحفاظ على التفاصيل + Preserve Luminosity الحفاظ على الإضاءة + Preset إعداد مسبق + Preset Type نوع الإعداد المسبق + Preset: الإعداد المسبق: + Presets: الإعدادات المسبقة: + Press keys… اضغط على المفاتيح… + Pressure الضغط + Pressure for Opacity الضغط للتعتيم + Pressure for Size الضغط للحجم + Prevent auto-nesting in and out of Artboards and Frames منع التداخل التلقائي داخل وخارج لوحات الرسم والإطارات + Preview معاينة + Previous frame الإطار السابق + Previous note الملاحظة السابقة + Print طباعة + Printer الطابعة + Printer Manages Colors الطابعة تدير الألوان + Printer Setup إعداد الطابعة + Printing Marks علامات الطباعة + Progressive تدريجي + Promote ترقية + Protect Detail حماية التفاصيل + Protect Foreground Color حماية لون المقدمة + Protect Tones حماية الدرجات اللونية + Proximity Match تطابق التقارب + Pulled String Mode نمط الخيط المشدود + Puppet Warp is not active التحويل الحر للعناصر (Puppet Warp) غير نشط + Purity النقاء + Quality الجودة + Quick Actions إجراءات سريعة + Quick Export As PNG تصدير سريع بتنسيق PNG + Radial Gradient تدرج شعاعي + Radius نصف القطر + Radius: نصف القطر: + Range: المدى: + Rate المعدل + Recently Used المستخدمة مؤخرًا + Reconstruct إعادة بناء + Record ● a sequence of edits, then play ▶ it on any document. سجّل ● تسلسلاً من التعديلات، ثم شغّله ▶ على أي مستند. + Red أحمر + Redefine style by current selection إعادة تعريف النمط بواسطة التحديد الحالي + Refine تحسين + Reflected Gradient تدرج منعكس + Registration Marks علامات التسجيل + Regular عادي + Relative نسبي + Relative Colorimetric قياس لوني نسبي + Remove إزالة + Remove All Pins إزالة كافة الدبابيس + Remove Background إزالة الخلفية + Remove Planes إزالة المستويات + Remove Tool أداة الإزالة + Remove stop إزالة نقطة التوقف + Remove variable إزالة المتغير + Rename إعادة تسمية + Rename Group… إعادة تسمية المجموعة… + Rename Layer… إعادة تسمية الطبقة… + Rename Tool Preset… إعادة تسمية الإعداد المسبق للأداة… + Rename… إعادة تسمية… + Resample إعادة تشكيل العينة (Resample) + Reset All to Defaults إعادة تعيين الكل إلى الافتراضيات + Import Shortcuts… استيراد الاختصارات… + Load a keyboard shortcut set saved as .kys تحميل مجموعة اختصارات لوحة مفاتيح محفوظة بتنسيق .kys + Imported {n} shortcuts from {file}. Click OK to keep them. تم استيراد {n} اختصار من {file}. انقر على "موافق" للاحتفاظ بها. + {n} commands are not in PhotoCraft. {n} أوامر غير موجودة في PhotoCraft. + Keyboard shortcuts imported تم استيراد اختصارات لوحة المفاتيح + Your keyboard shortcut set {set} is in use here: {n} shortcuts differ from the defaults. Edit › Keyboard Shortcuts shows them; Reset All to Defaults undoes this. مجموعة اختصارات لوحة المفاتيح {set} قيد الاستخدام هنا: {n} اختصار يختلف عن الإعدادات الافتراضية. تحرير › اختصارات لوحة المفاتيح يعرضها؛ استعادة الكل إلى الافتراضيات يتراجع عن ذلك. + Import keyboard shortcuts? هل تريد استيراد اختصارات لوحة المفاتيح؟ + PhotoCraft found your keyboard shortcut set {set} from another image editor on this computer: {n} of its shortcuts differ from PhotoCraft's. Import it? عثر PhotoCraft على مجموعة اختصارات لوحة المفاتيح {set} الخاصة بك من محرر صور آخر على هذا الكمبيوتر: {n} من اختصاراتها يختلف عن PhotoCraft. هل تريد استيرادها؟ + Edit › Keyboard Shortcuts › Reset All to Defaults undoes an import. تحرير › اختصارات لوحة المفاتيح › إعادة تعيين الكل إلى الافتراضيات يؤدي إلى التراجع عن الاستيراد. + Don't Import عدم الاستيراد + The keyboard shortcut set was not imported: {error} لم يتم استيراد مجموعة اختصارات لوحة المفاتيح: {error} + Reset Section إعادة تعيين القسم + Reset Transform إعادة تعيين التحويل + Reset to defaults إعادة تعيين إلى الافتراضيات + Resolution الدقة + Resolution: الدقة: + Restore All استعادة الكل + Restore Defaults استعادة الافتراضيات + Restrictive (Web) تقييدي (للويب) + Right align text محاذاة النص لليمين + Rigid صلب + Rotate: تدوير: + Rotation تدوير + Roughness الخشونة + Roundness الاستدارة + Roundness Jitter اهتزاز الاستدارة + Rulers & Grids المساطر والشبكات + Sample All Layers أخذ عينات من كافة الطبقات + Sample: العينة: + Sampling: Background Swatch أخذ العينات: عينة لون الخلفية + Sampling: Continuous أخذ العينات: مستمر + Sampling: Once أخذ العينات: مرة واحدة + Saturate زيادة التشبع + Saturation التشبع + Saturation Jitter اهتزاز التشبع + Save HTML and Images حفظ HTML والصور + Save as PDF حفظ بتنسيق PDF + Save selection as channel حفظ التحديد كقناة + Save… حفظ… + Scale to Fit Media تحجيم لملاءمة الوسائط + Scatter تبعثر + Scratch disks أقراص الذاكرة المؤقتة (Scratch Disks) + Search بحث + Search commands البحث في الأوامر + Search commands, tools and panels… البحث في الأوامر والأدوات واللوحات… + Search fonts البحث في الخطوط + Select All تحديد الكل + Select Subject تحديد الموضوع + Select a type layer or click into text to insert glyphs حدد طبقة نص أو انقر داخل النص لإدراج رموز + Select text to apply a character style حدد نصًا لتطبيق نمط حرف عليه + Select: التحديد: + Selections التحديدات + Selective انتقائي + Selective Color لون انتقائي + Send the selected pin backward إرسال الدبوس المحدد إلى الخلف + Set additional smoothing options تعيين خيارات تنعيم إضافية + Set background color تعيين لون الخلفية + Set foreground color تعيين لون المقدمة + Set painting symmetry options تعيين خيارات تناظر الرسم + Symmetry Off إيقاف التناظر + Set shape fill type تعيين نوع تعبئة الشكل + Set shape stroke type تعيين نوع حد الشكل + Set the text color تعيين لون النص + Shadows الظلال + Shape: الشكل: + Sharpening التوضيح (Sharpening) + Shift Shift + Shortcut removed. تمت إزالة الاختصار. + Show All Menu Items إظهار كافة عناصر القائمة + Show Backdrop إظهار الخلفية + Show Guides إظهار الخطوط الإرشادية + Show Mask إظهار القناع + Show Mesh إظهار الشبكة + Show Overlay إظهار التراكب + Show Transform Controls إظهار عناصر التحكم في التحويل + Show or hide the Notes panel إظهار لوحة الملاحظات أو إخفاؤها + Show: إظهار: + Sides الأضلاع + Sides: الأضلاع: + Size الحجم + Size Jitter اهتزاز الحجم + Size: الحجم: + Slice Options… خيارات الشريحة… + Slices From Guides شرائح من الخطوط الإرشادية + Slices are locked (View › Lock Slices) الشرائح مقفلة (عرض › قفل الشرائح) + Small Caps أحرف استهلالية صغيرة + Smoothing التنعيم + Space After المسافة بعد + Space Before المسافة قبل + Spacing التباعد + Spell check complete. اكتمل التدقيق الإملائي. + Split: التقسيم: + Star ratio نسبة النجمة + Stop playing/recording إيقاف التشغيل/التسجيل + Straighten تعديل الاستقامة + Straighten Layer تعديل استقامة الطبقة + Strength: القوة: + Strikethrough يتوسطه خط + Stroke حد + Stroke Catch-up اللحاق بالحد + Stroke: الحد: + Location الموقع + Location: الموقع: + Style النمط + Style Options خيارات النمط + Style Options… خيارات النمط… + Style: Normal النمط: عادي + Subtract from Sample طرح من العينة + Subtract from selection ({key}) طرح من التحديد ({key}) + Suggestions: الاقتراحات: + Swap colours (X) تبديل الألوان (X) + Swaps height and width يبدل بين الارتفاع والعرض + Switch between free transform and warp modes التبديل بين نمطي التحويل الحر والالتواء + Switch theme تبديل السمة + Temperature درجة الحرارة + Tetrahedral رباعي السطوح (Tetrahedral) + Text Position: موضع النص: + Texture الملمس + Texture Each Tip ملمس لكل رأس فرشاة + Threshold الحد الفاصل + Threshold Level مستوى الحد الفاصل + Thumbnail size (smallest: list) حجم الصورة المصغرة (الأصغر: قائمة) + Tilt X الإمالة X + Tilt Y الإمالة Y + Tint صبغة + Toggle count group visibility تبديل رؤية مجموعة العد + Toggle text orientation تبديل اتجاه النص + Tolerance التفاوت + Tolerance: التفاوت: + Tone: درجة اللون: + Toolbar شريط الأدوات + Top أعلى + Total: الإجمالي: + Tracking التباعد بين الحروف (Tracking) + Tracking (1/1000 em) التباعد بين الحروف (1/1000 em) + Transparency الشفافية + Transparent شفاف + Trilinear ثلاثي الخطي (Trilinear) + Type Styles أنماط النص + Type: النوع: + Underline تسطير + Untitled بدون عنوان + Untitled-1 بدون عنوان-1 + Update layer comp (visibility, position and appearance) تحديث تكوين الطبقات (الرؤية والموضع والمظهر) + Use Default استخدام الافتراضي + Use Legacy استخدام النمط القديم + Use Measurement Scale استخدام مقياس القياس + Variables bind a layer's visibility, text or pixels to a named data slot. تربط المتغيرات رؤية الطبقة أو نصها أو بكسلاتها بمساحة بيانات مسماة. + Vertical scale المقياس الرأسي + Vibrance الحيوية + View Options خيارات العرض + Vignetting تظليل الأركان (Vignetting) + Violet, Orange بنفسجي، برتقالي + Visibility الرؤية + Visible مرئي + Warp: الالتواء: + Web Snap المحاذاة التلقائية للويب + Weight الوزن + Weight: الوزن: + White أبيض + White Balance: As Shot توازن البياض: كما تم التقاطه + Whites درجات البياض + Width العرض + Slant الميل + Width: العرض: + Work Path مسار العمل + Yellow أصفر + Yellow · Blue أصفر · أزرق + Zoom التكبير/التصغير + Zoom in تكبير + Zoom out تصغير + command or shortcut أمر أو اختصار + current الحالي + image file path مسار ملف الصورة + modified معدل + name الاسم + new جديد + {name} options خيارات {name} + ↑↓ navigate {key} run esc close ↑↓ تنقل {key} تشغيل esc إغلاق + Version {version} الإصدار {version} + New Document مستند جديد + New Document With Mask مستند جديد مع قناع + New Layer With Mask طبقة جديدة مع قناع + New Layer طبقة جديدة + Save Preset… حفظ الإعداد المسبق… + Preset Name اسم الإعداد المسبق + No saved presets yet. لا توجد إعدادات مسبقة محفوظة بعد. + Error خطأ + Command الأمر + +# Tool names, brush and style option tables + Adjustment layers have nothing to transform ليس لدى طبقات التعديل ما يمكن تحويله + Altitude الارتفاع + Android 1080p Android 1080p + Apple Watch 45mm Apple Watch 45mm + Aqua مائي (Aqua) + Art & Illustration الفن والرسوم التوضيحية + ArtCraft ArtCraft + Background Eraser Tool أداة ممحاة الخلفية + Bevel & Emboss شطب ونقش + Blend Mode نمط المزج + Blues درجات الأزرق + Blur Tool أداة التمويه + Bold عريض + Brush فرشاة + Block كتلة + Brush Pose وضعية الفرشاة + Brush Tip Shape شكل رأس الفرشاة + Brush Tool أداة الفرشاة + Build-up تراكم + Burn Tool أداة التغميق + Centimeters سنتيمتر + Choke انكماش + Classic كلاسيكي + Click to add text انقر لإضافة نص + Click to fill similar colours انقر لتعبئة الألوان المتشابهة + Clone Stamp Tool أداة ختم النسخ + Color Burn تغميق اللون + Color Dodge تفتيح اللون + Color Dynamics ديناميكيات الألوان + Color Overlay تراكب لوني + Comic Book قصص مصورة + Conform مطابقة + Content-Aware Fill needs a selection on a pixel layer تتطلب التعبئة المدركة للمحتوى تحديدًا على طبقة بكسل + Could not transform: the layer is empty تعذر التحويل: الطبقة فارغة + Could not use Perspective Warp: the layer is empty تعذر استخدام التواء المنظور: الطبقة فارغة + Could not use Puppet Warp: no opaque pixels تعذر استخدام التحويل الحر: لا توجد بكسلات معتمة + Could not use Puppet Warp: the layer is empty تعذر استخدام التحويل الحر: الطبقة فارغة + Crop Tool أداة القص + Crosswise بشكل متقاطع + Current Tool الأداة الحالية + Custom Shape Tool أداة الشكل المخصص + Cyans درجات السماوي + Default PhotoCraft Size حجم PhotoCraft الافتراضي + Delete Workspace حذف مساحة العمل + Diamond ماسي + Dimensions: الأبعاد: + Direction الاتجاه + Distance المسافة + Document Dimensions أبعاد المستند + Document Profile ملف تعريف المستند + Document Sizes أحجام المستند + Dodge Tool أداة التفتيح + Down أسفل + Drag to draw a gradient اسحب لرسم تدرج لوني + Drag to move the active layer اسحب لتحريك الطبقة النشطة + Drag to pan · hold Space with any tool اسحب للتحريك الشامل · اضغط مطولاً على مسافة مع أي أداة + Drop Shadow ظل ساقط + Dual Brush فرشاة مزدوجة + Edge الحافة + Efficiency الكفاءة + Efficiency: 100% الكفاءة: 100% + Ellipse Tool أداة الشكل البيضاوي + Elliptical Marquee Tool أداة التحديد البيضاوي + Single Row Marquee Tool أداة تحديد الصف المفرد + Single Column Marquee Tool أداة تحديد العمود المفرد + Emboss نقش + Eraser الممحاة + Eraser Tool أداة الممحاة + ExtraBold عريض جدًا + ExtraLight خفيف جدًا + Eyedropper Tool أداة القطارة + Fade تلاشي + Fill Opacity تعتيم التعبئة + Film & Video السينما والفيديو + From من + General عام + GitHub GitHub + Gradient Overlay تراكب التدرج + Gradient Tool أداة التدرج + Greens درجات الأخضر + Hand Tool أداة اليد + Hard صلب + Hard Mix مزج صلب + Healing Brush Tool أداة فرشاة التصحيح + Highlights from: الإبرازات من: + History Brush Tool أداة فرشاة المحفوظات + Horizontal Type Tool أداة النص الأفقي + Horizontal Type Mask Tool أداة قناع النص الأفقي + Vertical Type Mask Tool أداة قناع النص الرأسي + Image Size: حجم الصورة: + Inches بوصة + Indexed مفهرس + Initial Direction الاتجاه الأولي + Inner Bevel شطب داخلي + Inner Glow توهج داخلي + Inner Shadow ظل داخلي + Lab Lab + Landscape, 10 x 8 أفقي، 10 × 8 + Landscape, 6 x 4 أفقي، 6 × 4 + Landscape, 7 x 5 أفقي، 7 × 5 + Lasso حبل التحديد + Lasso Tool أداة حبل التحديد + Layer Count عدد الطبقات + Layer Knocks Out Drop Shadow الطبقة تستبعد الظل الساقط + Legal ورق Legal + Letter ورق Letter + Light خفيف + Line Tool أداة الخط + Linear خطي + Linear Burn حرق خطي + Linear Height ارتفاع خطي + Link with Layer ربط مع الطبقة + Lorem Ipsum Lorem Ipsum + Magentas درجات الأرجواني + Magic Eraser Tool أداة الممحاة السحرية + Magic Wand Tool أداة العصا السحرية + Marquee إطار التحديد + Mean: المتوسط: + Measurement Scale مقياس القياس + Measurement Scale Marker علامة مقياس القياس + Millimeters ملليمتر + Mobile الهاتف المحمول + Move Tool أداة التحريك + Could not use the move tool because the layer is locked. تعذر استخدام أداة التحريك لأن الطبقة مقفلة. + Could not complete the Free Transform command because the layer is locked. تعذر إكمال أمر التحويل الحر لأن الطبقة مقفلة. + Multiply ضرب + My Brushes الفُرش الخاصة بي + Neutrals ألوان محايدة + New Workspace مساحة عمل جديدة + Note Tool أداة الملاحظة + Object Selection Tool أداة تحديد الكائنات + Off إيقاف + Open فتح + Orange برتقالي + Original Ratio النسبة الأصلية + Out Of Gamut خارج النطاق اللوني + Outer Bevel شطب خارجي + Outer Glow توهج خارجي + Overlay تراكب + Paint Bucket Tool أداة سطل الطلاء + Paints from the document's opening state يرسم من حالة فتح المستند + Path Selection Tool أداة تحديد المسار + Direct Selection Tool أداة التحديد المباشر + Add Anchor Point Tool أداة إضافة نقطة ربط + Delete Anchor Point Tool أداة حذف نقطة ربط + Click a segment to add an anchor point · {alt}-click an anchor to delete it انقر فوق قطعة لإضافة نقطة ربط · {alt}+نقر فوق نقطة ربط لحذفها + Click an anchor point to delete it · {alt}-click a segment to add one انقر فوق نقطة ربط لحذفها · {alt}+نقر فوق قطعة لإضافة نقطة + Pattern Overlay تراكب النقش + Pen Pressure ضغط القلم + Pen Tilt إمالة القلم + Pen Tool أداة القلم + Convert Point Tool أداة تحويل النقطة + Photo صورة فوتوغرافية + PhotoCraft website موقع PhotoCraft الإلكتروني + Picas بيكا + Pillow Emboss نقش وسائدي (Pillow Emboss) + Pixel Replacement استبدال البكسل + Pixels بكسل + Points نقطة + Polygon Tool أداة المضلع + Polygonal Lasso Tool أداة حبل التحديد المضلع + Portrait, 4 x 6 عمودي، 4 × 6 + Portrait, 5 x 7 عمودي، 5 × 7 + PostScript (72 points/inch) PostScript (72 نقطة/بوصة) + Postcard بطاقة بريدية + Poster ملصق + Pro (Dark) Pro (داكن) + Pro (Light) Pro (فاتح) + Pro (Light Gray) Pro (رمادي فاتح) + Pro (Medium Gray) Pro (رمادي متوسط) + Protect Texture حماية الملمس + Purple أرجواني داكن + Quick Mask قناع سريع + Quick Selection Tool أداة التحديد السريع + Radial شعاعي + Rasterize Layer تنقيط الطبقة + Rasterize Layers تنقيط الطبقات + Ratio النسبة + Recent حديث + Rectangle Tool أداة المستطيل + Rectangular Marquee Tool أداة التحديد المستطيل + Reds درجات الأحمر + Reflected منعكس + Sample: foreground colour العينة: لون المقدمة + Sampled Colors الألوان المأخوذة كعينات + Satin ساتان + Save Pixel Aspect Ratio حفظ نسبة أبعاد البكسل + Scattering التبعثر + Scratch Sizes أحجام القرص المؤقت + Select Data Points تحديد نقاط البيانات + Selection التحديد + SemiBold شبه عريض + Shadows up to: الظلال حتى: + Shape Dynamics ديناميكيات الشكل + Sharpen Tool أداة التوضيح + Show Extras Options إظهار خيارات العناصر الإضافية + Slice Select Tool أداة تحديد الشرائح + Slice Tool أداة الشرائح + Smart Filters مرشحات ذكية + Smudge Tool أداة الإصبع + Soft ناعم + Soften تنعيم + Source المصدر + Source: set المصدر: معين + Sponge Tool أداة الإسفنجة + Spot Healing Brush Tool أداة فرشاة تصحيح البقع + Spread انتشار + Square, 12 x 12 مربع، 12 × 12 + Square, 5 x 5 مربع، 5 × 5 + Std Dev: الانحراف المعياري: + Studio (Dark) Studio (داكن) + Studio (Light) Studio (فاتح) + Stylus Wheel عجلة القلم + Subtract طرح + Tabloid ورق Tabloid + Text Replacement استبدال النص + Thin رفيع + Traditional (72.27 points/inch) تقليدي (72.27 نقطة/بوصة) + Transfer نقل + Triangle Tool أداة المثلث + Unsaved changes تغييرات غير محفوظة + Uses the foreground and background colours. يستخدم لوني المقدمة والخلفية. + Web الويب + Web Large ويب كبير + Web Minimum ويب الحد الأدنى + Web Most Common ويب الأكثر شيوعًا + WebP (lossless) WebP (بدون فقدان) + Wet Edges حواف رطبة + Yellows درجات الأصفر + Zoom Tool أداة التكبير + {name} Properties خصائص {name} + +# Templates with placeholders + Revert “{name}” to the last saved version? Your changes will be lost. هل تريد إعادة "{name}" إلى آخر نسخة محفوظة؟ ستفقد تغييراتك. + Do you want to save the changes you made to “{name}” before quitting? هل تريد حفظ التغييرات التي أجريتها على "{name}" قبل الإنهاء؟ + Do you want to save the changes you made to “{name}” before closing? هل تريد حفظ التغييرات التي أجريتها على "{name}" قبل الإغلاق؟ + Doc: {flat}/{layered} المستند: {flat}/{layered} + Scratch: {size} القرص المؤقت: {size} + Untagged {mode} نمط {mode} غير محدد + Invalid {mode} profile ملف تعريف {mode} غير صالح + Unnamed {mode} profile ملف تعريف {mode} بدون اسم + {w} px x {h} px ({ppi} ppi) {w} بكسل × {h} بكسل ({ppi} بكسل لكل بوصة) + {w} {unit} x {h} {unit} ({ppi} ppi) {w} {unit} × {h} {unit} ({ppi} بكسل لكل بوصة) + Resolution: {dpi} pixels/inch الدقة: {dpi} بكسل/بوصة + Doc: {w} × {h} px المستند: {w} × {h} بكسل + Frame {current} / {total} الإطار {current} / {total} + Count: {n} العدد: {n} + BLANK DOCUMENT PRESETS ({n}) إعدادات مسبقة لمستند فارغ ({n}) + Constraints ({n}) القيود ({n}) + Align {what} محاذاة {what} +@plural {n} Layer|{n} Layers {n} طبقة|{n} طبقة|{n} طبقتان|{n} طبقات|{n} طبقة|{n} طبقة +@plural {n} layer|{n} layers {n} طبقة|{n} طبقة|{n} طبقتان|{n} طبقات|{n} طبقة|{n} طبقة +@plural Group · {n} layer|Group · {n} layers مجموعة · {n} طبقة|مجموعة · {n} طبقة|مجموعة · {n} طبقتان|مجموعة · {n} طبقات|مجموعة · {n} طبقة|مجموعة · {n} طبقة + +# Preferences (labels are generated from the setting names) + Additional plugins folder مجلد المكونات الإضافية الإضافي + Adobe Adobe + Adobe rgb Adobe RGB + Allow agent control السماح بتحكم الوكيل (Agent) + Allow scripts to connect السماح للبرامج النصية بالاتصال + Always دائمًا + Always create smart objects when placing إنشاء كائنات ذكية دائمًا عند الإدراج + Animated zoom تكبير متحرك + Apply auto tone تطبيق التدرج التلقائي + Ask سؤال + Ask before saving layered tiff السؤال قبل حفظ TIFF متعدد الطبقات + Auto collapse icon panels طي لوحات الأيقونات تلقائيًا + Auto show hidden panels إظهار اللوحات المخفية تلقائيًا + Auto show home screen إظهار شاشة البداية تلقائيًا + Autosave حفظ تلقائي + Autosave minutes دقائق الحفظ التلقائي + Beep when done إصدار صوت تنبيه عند الانتهاء + Bicubic automatic Bicubic تلقائي + Bicubic sharper Bicubic أكثر حدة + Bicubic smoother Bicubic أكثر نعومة + Bit depth عمق البت + Brush preview color لون معاينة الفرشاة + Cache levels مستويات ذاكرة التخزين المؤقت + Cache tile size حجم تجزئة الذاكرة المؤقتة + Camera Raw Defaults افتراضيات Camera Raw + Canvas border حد لوحة الرسم + Show canvas dots إظهار نقاط لوحة الرسم + Clip thumbnails to layer bounds قص الصور المصغرة إلى حدود الطبقة + Clip Thumbnails to Layer Bounds قص الصور المصغرة إلى حدود الطبقة + Canvas color لون لوحة الرسم + Canvas custom color لون مخصص للوحة الرسم + Color picker منتقي الألوان + Color space مساحة اللون + Column width عرض العمود + Concise موجز + Control port منفذ التحكم + Convert to srgb تحويل إلى sRGB + Cursors المؤشرات + Custom dark مخصص داكن + Custom light مخصص فاتح + Dark داكن + Dark gray رمادي داكن + Dashed lines خطوط متقطعة + Destination الوجهة + Detailed مفصل + Disks الأقراص + Display p3 Display P3 + Double click layer mask launches select and mask النقر المزدوج على قناع الطبقة يفتح التحديد والقناع + Drop shadow ظل ساقط + Dynamic color sliders أشرطة تمرير الألوان الديناميكية + East asian شرق آسيا + Effect cache mb ذاكرة التخزين المؤقت للتأثيرات (ميغابايت) + Enable flick panning تمكين التمرير بالإيماءة السريعة + Enable floating document window docking تمكين إرساء نوافذ المستندات العائمة + Enable narrow options bar تمكين شريط الخيارات الضيق + Enabled ممكّن + Enhanced Controls عناصر تحكم محسنة + Export clipboard تصدير الحافظة + Extra large كبير جدًا + File Handling التعامل مع الملفات + File path مسار الملف + Fill new type layers with placeholder تعبئة طبقات النص الجديدة بنص نائب + Font preview معاينة الخط + Full size tip رأس بالحجم الكامل + Gamut warning color لون تحذير النطاق اللوني + Gamut warning opacity تعتيم تحذير النطاق اللوني + Generator enabled المولّد مُمكّن + Gif GIF + Glossy لامع + Grid color لون الشبكة + Grid colors ألوان الشبكة + Grid size حجم الشبكة + Grid style نمط الشبكة + Grid unit وحدة الشبكة + Gridline every خط الشبكة كل + Guide color لون الخطوط الإرشادية + Guide style نمط الخطوط الإرشادية + Guides, Grid & Slices الخطوط الإرشادية والشبكة والشرائح + Gutter المسافة البينية (Gutter) + History Log سجل المحفوظات + History states حالات المحفوظات + Ignore exif profile tag تجاهل علامة ملف تعريف EXIF + Image interpolation استيفاء الصورة + Image previews معاينات الصورة + Integrations عمليات الدمج + Interface واجهة المستخدم + Jpeg quality جودة JPEG + Jpg JPG + Language اللغة + Large tabs علامات تبويب كبيرة + Legacy compositing التركيب بالنمط القديم + Light gray رمادي فاتح + Line خط + Lines خطوط + Lossless بدون فقدان + Lowercase extension امتداد بأحرف صغيرة + Maximize psd compatibility أقصى توافق لملفات PSD + Medium gray رمادي متوسط + Memory usage mb استخدام الذاكرة (ميغابايت) + Low resolution previews معاينات منخفضة الدقة + Missing glyph protection حماية الرموز المفقودة + Modern حديث + Nearest neighbor أقرب جار (Nearest Neighbor) + Never أبدًا + Normal tip رأس عادي + Open as smart object فتح ككائن ذكي + Open in camera raw فتح في Camera Raw + Open documents as tabs فتح المستندات كعلامات تبويب + Overscroll التمرير الزائد (Overscroll) + Performance الأداء + Png PNG + Point size الحجم بالنقاط + Precise دقيق + Preserve details الحفاظ على التفاصيل + Print resolution دقة الطباعة + Pro Pro + Pro light Pro فاتح + Pro light gray Pro رمادي فاتح + Pro medium Pro متوسط + Pro photo ProPhoto + Quick export format تنسيق التصدير السريع + Quick export location موقع التصدير السريع + Recent file count عدد الملفات الحديثة + Recent files الملفات الحديثة + Recent fonts الخطوط الحديثة + Recover on launch الاسترداد عند بدء التشغيل + Remember workspace changes تذكر تغييرات مساحة العمل + Resize image during place تغيير حجم الصورة أثناء الإدراج + Rotate view with trackpad تدوير العرض باستخدام لوحة اللمس + Same folder نفس المجلد + Save in background حفظ في الخلفية + Scratch Disks أقراص الذاكرة المؤقتة (Scratch Disks) + Screen شاشة + Screen resolution دقة الشاشة + Scrubby slider acceleration تسريع أشرطة التمرير التفاعلية + Sessions only الجلسات فقط + Sharpen for توضيح لـ + Show channels in color إظهار القنوات بالألوان + Show crosshair in brush tip إظهار نقطة التصويب في رأس الفرشاة + Show extension panels إظهار لوحات الامتدادات + Show font names in english إظهار أسماء الخطوط بالإنجليزية + Show menu colors إظهار ألوان القوائم + Show only crosshair while painting إظهار نقطة التصويب فقط أثناء الرسم + Show slice numbers إظهار أرقام الشرائح + Show tooltips إظهار تلميحات الأدوات + Enable animations تمكين الحركات المتحركة + Show highlight on rollover إظهار التمييز عند التمرير + Show bounding box when dragging layer إظهار مربع الإحاطة عند سحب الطبقة + System title bar شريط عنوان النظام + Show transformation values إظهار قيم التحويل + Slice color لون الشريحة + Smart guide color لون الخطوط الإرشادية الذكية + Smart quotes علامات تنصيص ذكية + Snap vector tools and transforms to pixel grid محاذاة الأدوات المتجهة والتحويلات إلى شبكة البكسل + Srgb sRGB + Standard قياسي + Studio Studio + Studio light Studio فاتح + Adwaita Adwaita + Adwaita dark Adwaita داكن + Subdivisions التقسيمات الفرعية + System النظام + Text engine محرك النصوص + Text file ملف نصي + Tiny دقيق جدًا + Touch gestures إيماءات اللمس + Transparency & Gamut الشفافية والنطاق اللوني + Type units وحدات النص + UI font size حجم خط واجهة المستخدم + UI scale مقياس واجهة المستخدم + Units & Rulers الوحدات والمساطر + Use additional plugins folder استخدام مجلد المكونات الإضافية الإضافي + Use esc to commit استخدام Esc للتأكيد + Use gpu استخدام GPU + Use legacy free transform استخدام التحويل الحر القديم + Use shift key for tool switch استخدام مفتاح Shift للتبديل بين الأدوات + Vary round brush hardness on hud تغيير صلابة الفرشاة الدائرية على شاشة العرض (HUD) + Webp WebP + World ready جاهز للغات العالمية (World-Ready) + Zoom clicked point to center توسيط النقطة المنقورة عند التكبير + Zoom resizes windows التكبير يغير حجم النوافذ + Zoom with scroll wheel التكبير بعجلة الماوس + Zoom with trackpad pinch التكبير بإيماءة الضم على لوحة اللمس + Pass Through مرور + Dissolve ذوبان + Darker Color لون أغمق + Linear Dodge (Add) تفادي خطي (إضافة) + Lighter Color لون أفتح + Soft Light ضوء خافت + Hard Light ضوء مسلط + Vivid Light ضوء ساطع + Linear Light ضوء خطي + Pin Light ضوء نقطي + Exclusion استبعاد + Divide تقسيم + Luminosity الإضاءة +@plural {n} sample|{n} samples {n} عينة|{n} عينة|{n} عينتان|{n} عينات|{n} عينة|{n} عينة + {added}, {removed} subtracted تمت إضافة {added}، وتم طرح {removed} + +# Added with the rebase onto the dock / brush picker work + Adjustment Preview معاينة التعديل + Airbrush: keeps depositing paint while the pointer rests. البخاخة: تواصل إضافة الطلاء أثناء استقرار المؤشر. + Angle: الزاوية: + Blend If المزج إذا كان + Close Tab Group إغلاق مجموعة علامات التبويب + Collapse طي + Collapse All Groups طي كافة المجموعات + Collapse Panel Group طي مجموعة اللوحات + Collapse group ({key}-click: all groups) طي المجموعة ({key}+نقر: جميع المجموعات) + Create new brush from the current settings إنشاء فرشاة جديدة من الإعدادات الحالية + Create new brush from these settings إنشاء فرشاة جديدة من هذه الإعدادات + Update the current brush with these settings تحديث الفرشاة الحالية بهذه الإعدادات + Delete brush حذف الفرشاة + Drag the arrow to set the angle, the dots to set the roundness اسحب السهم لتعيين الزاوية، والنقاط لتعيين الاستدارة + Expand توسيع + Expand Panel Group توسيع مجموعة اللوحات + Expand group ({key}-click: all groups) توسيع المجموعة ({key}+نقر: جميع المجموعات) + Fade steps خطوات التلاشي + Hide the layer's effects ({key}-click: all layers) إخفاء تأثيرات الطبقة ({key}+نقر: جميع الطبقات) + Import Brushes… (.abr) استيراد الفُرش… (.abr) + Import Brushes… (.abr or image) استيراد الفُرش… (.abr أو صورة) + Import Brush from Image… استيراد فرشاة من صورة… + Move Group Down تحريك المجموعة لأسفل + Move Group Up تحريك المجموعة لأعلى + Reset the brush to the defaults إعادة تعيين الفرشاة إلى الافتراضيات + Restore original size استعادة الحجم الأصلي + Roundness: الاستدارة: + Search Brushes البحث في الفُرش + Show the layer's effects ({key}-click: all layers) إظهار تأثيرات الطبقة ({key}+نقر: جميع الطبقات) + Brush picker منتقي الفُرش + Erase مسح + Right click with painting tools النقر بزر الماوس الأيمن بأدوات الرسم + +# Strings added to the UI after this catalog was first written (rebase onto main, 2026-10). + System Info… معلومات النظام… + System Info معلومات النظام + More panels لوحات إضافية + More documents مستندات إضافية + These settings aren't available in PhotoCraft yet. هذه الإعدادات غير متوفرة في PhotoCraft بعد. + Graphics الرسومات + Reset GPU Backend إعادة تعيين واجهة GPU الخلفية + Applies at next launch. يُطبّق عند التشغيل التالي. + Click to sample the foreground colour · {key}-click for background انقر لأخذ عينة من لون المقدمة · {key}+نقر للون الخلفية + {key}-click to set the source {key}+نقر لتعيين المصدر + {key} to subtract {key} للطرح + Clone source {n} ({key}-click with Clone Stamp to set) مصدر النسخ {n} ({key}+نقر بأداة ختم النسخ للتعيين) + Source: not set ({key}-click with Clone Stamp) المصدر: غير معين ({key}+نقر بأداة ختم النسخ) + Pixel Layer طبقة بكسل + Type Layer طبقة نص + Shape Layer طبقة شكل + Group Layer طبقة مجموعة + Fill Layer طبقة تعبئة + Smart Object Layer طبقة كائن ذكي + Create Warped Text إنشاء نص ملتف + Rasterize Smart Object تنقيط الكائن الذكي + Rasterize Fill Content تنقيط محتوى التعبئة + Rasterize Layer Style تنقيط نمط الطبقة + Unlock: picking a preset replaces these settings إلغاء القفل: اختيار إعداد مسبق يستبدل هذه الإعدادات + Lock: keep these settings when picking another preset قفل: الاحتفاظ بهذه الإعدادات عند اختيار إعداد مسبق آخر + Diameter: القطر: + Hardness: الصلابة: + No brush presets لا توجد إعدادات مسبقة للفرشاة + Toggle the Brush Settings panel (F5) تبديل لوحة إعدادات الفرشاة (F5) + Create new brush preset from the current settings إنشاء إعداد مسبق جديد للفرشاة من الإعدادات الحالية + Brush Settings… (F5): every option of this brush إعدادات الفرشاة… (F5): كافة خيارات هذه الفرشاة + Rename Brush… إعادة تسمية الفرشاة… + Delete Brush حذف الفرشاة + New Brush Preset… إعداد مسبق جديد للفرشاة… + Capture Brush Size in Preset التقاط حجم الفرشاة في الإعداد المسبق + Include Tool Settings تضمين إعدادات الأداة + Include Color تضمين اللون + Enter a name for the brush preset أدخل اسمًا للإعداد المسبق للفرشاة + A brush preset with this name already exists يوجد بالفعل إعداد مسبق للفرشاة بهذا الاسم + Brush Preset Options خيارات الإعداد المسبق للفرشاة + Group name اسم المجموعة + Brush name اسم الفرشاة + Brush Name اسم الفرشاة + Brush Stroke خط الفرشاة + Brush Tip رأس الفرشاة + Off: the speed of the pointer sets the spacing إيقاف: تحدد سرعة المؤشر التباعد + Tilt Scale مقياس الإمالة + Brush Projection إسقاط الفرشاة + Apply the pen's tilt and rotation to the tip shape تطبيق إمالة القلم وتدويره على شكل رأس الفرشاة + Mixer Brush فرشاة المزج + Mixer Brush Tool أداة فرشاة المزج + Color Replacement Tool أداة استبدال اللون + Wet رطب + Mix مزج + Wetness Jitter اهتزاز الرطوبة + Mix Jitter اهتزاز المزج + Show the layer mask as an overlay إظهار قناع الطبقة كتراكب + Toggle visibility تبديل الرؤية + Unlink the mask from the layer إلغاء ربط القناع بالطبقة + Link the mask to the layer ربط القناع بالطبقة + Gradient تدرج + Gradient Options خيارات التدرج + Align with layer محاذاة مع الطبقة + Reset Alignment إعادة تعيين المحاذاة + Centre the gradient (offset 0, 0) توسيط التدرج (الإزاحة 0، 0) +# Gradient Editor window, opened from the options bar's gradient swatch. + Gradient Editor محرر التدرج + Gradient picker منتقي التدرج + Gradient stops نقاط توقف التدرج + Save As Preset حفظ كإعداد مسبق + The gradient the Gradient tool paints with التدرج الذي ترسم به أداة التدرج + Adds the current gradient to the Gradients panel يضيف التدرج الحالي إلى لوحة التدرجات + The current gradient (pick one in Window › Gradients) التدرج الحالي (اختر واحدًا من نافذة › التدرجات) + Select a type layer to edit its character and paragraph settings. حدد طبقة نص لتحرير إعدادات الحرف والفقرة الخاصة بها. + Text color لون النص + Type Options خيارات النص + Anti-aliasing method طريقة صقل الحواف + Horizontal type نص أفقي + Vertical type نص رأسي + Fill path with foreground color تعبئة المسار بلون المقدمة + Stroke path with brush رسم حد للمسار بالفرشاة + Load path as a selection تحميل المسار كتحديد + Make work path from selection إنشاء مسار عمل من التحديد + Add vector mask إضافة قناع متجه + Create new path إنشاء مسار جديد + Delete path حذف المسار + Delete vector mask حذف القناع المتجه + CPU (no GPU acceleration) CPU (بدون تسريع GPU) + DirectX 12 DirectX 12 + GPU backend واجهة GPU الخلفية + Linux display server خادم عرض Linux + X11 X11 + Metal Metal + OpenGL OpenGL + Use tablet pressure استخدام ضغط القلم اللوحي + Vulkan Vulkan + Alt-click to define a source point to clone from انقر مع الضغط على Alt لتحديد نقطة مصدر للنسخ منها + No path to make a selection from: draw one with the Pen tool or select one in the Paths panel. لا يوجد مسار لإنشاء تحديد منه: ارسم مسارًا بأداة القلم أو حدد مسارًا في لوحة المسارات. + Cancel opening إلغاء الفتح + Cancelled opening {name} تم إلغاء فتح {name} + The document “{name}” does not have an embedded {mode} profile. المستند "{name}" لا يحتوي على ملف تعريف {mode} مضمن. + The document “{name}” has an embedded color profile that does not match the current {mode} working space. المستند "{name}" يحتوي على ملف تعريف ألوان مضمن لا يطابق مساحة عمل {mode} الحالية. + Working: {working} مساحة العمل: {working} + Developing {name} جارٍ تحميض {name} + Cancelled {label} تم إلغاء {label} + Esc to cancel Esc للإلغاء + Opened {name} تم فتح {name} + Opening {name} جارٍ فتح {name} + Saved {name} تم حفظ {name} + Saving {name} جارٍ حفظ {name} + Saving {percent} جارٍ الحفظ {percent} + A save to {name} is still running; try again when it finishes عملية الحفظ في {name} لا تزال قيد التشغيل؛ حاول مرة أخرى عند انتهائها + {label} is writing the file and can no longer be cancelled {label} يقوم بكتابة الملف ولا يمكن إلغاؤه الآن + Opening {name}… جارٍ فتح {name}… + Opening… جارٍ الفتح… + Reading… جارٍ القراءة… + Working… جارٍ العمل… + 3 x 3 3 × 3 + 4 x 4 4 × 4 + 5 x 5 5 × 5 + Grid: الشبكة: + +# Tool, filter, warp-style, path, layer-comp and metadata names that fell outside the `tl!` test. +# Italian follows the tool wording used above (Strumento X). + Color Range نطاق الألوان + Adaptive Wide Angle زاوية عريضة تكيفية + Chalk & Charcoal طباشير وفحم + Charcoal فحم + Chrome كروم + Conté Crayon ألوان باستيل Conté + Graphic Pen قلم رسم بياني + Halftone Pattern نقش نصف نغمة + Note Paper ورق ملاحظات + Photocopy صورة ضوئية + Plaster جبس + Reticulation تشبيك (Reticulation) + Stamp ختم + Torn Edges حواف ممزقة + Water Paper ورق مائي + Move تحريك + Pencil قلم رصاص + Clone Stamp ختم النسخ + Dodge تفتيح + Burn تغميق + Quick Selection تحديد سريع + History Brush فرشاة المحفوظات + Color Replacement استبدال اللون + New Group مجموعة جديدة + Layer Comp تكوين طبقات + Alpha ألفا + Make الشركة المصنعة + Model الطراز + F F + Artist الفنان + Spot Color لون خالص (Spot Color) + Roman روماني (عادي) + Bold Italic عريض مائل + Justification الضبط + Symbols الرموز + Punctuation علامات الترقيم + Make Work Path إنشاء مسار عمل + Make Selection إنشاء تحديد + Fill Path تعبئة المسار + Stroke Path رسم حد للمسار + Delete Path حذف المسار + W ع + H ا + Ruler المسطرة + New Layer Comp تكوين طبقات جديد + Duplicate Layer Comp تكرار تكوين الطبقات + Rename Layer Comp إعادة تسمية تكوين الطبقات + Apply Layer Comp تطبيق تكوين الطبقات + Update Layer Comp تحديث تكوين الطبقات + Method الطريقة + Author المؤلف + Software البرنامج + Pencil Tool أداة القلم الرصاص + Pixel بكسل + Adjustment تعديل + Drag (lasso) or click points (polygonal) · {add} add · {sub} subtract اسحب (حبل التحديد) أو انقر فوق النقاط (مضلع) · {add} إضافة · {sub} طرح + Drag a crop box · drag inside to move · edges resize ({ratio} ratio, {centre} centre) · Space moves while drawing · arrows nudge · X swaps orientation · {commit} commits · Esc cancels اسحب مربع قص · اسحب للداخل للتحريك · الحواف لتغيير الحجم ({ratio} النسبة، {centre} المركز) · مسافة للتحريك أثناء الرسم · الأسهم للتحريك الدقيق · X لتبديل الاتجاه · {commit} للتثبيت · Esc للإلغاء + {mode} Color · {bits} bit ألوان {mode} · {bits} بت + Scrubby Zoom تكبير سريع (Scrubby Zoom) + Auto Erase مسح تلقائي + Color Adaptation تكيف الألوان + Preserve Transparency الحفاظ على الشفافية + New Style… نمط جديد… + shortcut اختصار + Saved تم الحفظ + Arc قوس + Arch قوس سفلي + Bulge انتفاخ + Shell Lower صدفة سفلية + Shell Upper صدفة علوية + Flag علم + Fish سمكة + Wave موجة + Rise ارتفاع + Inflate نفخ + Twist التواء + Squeeze اعتصار + Mask قناع + Channel قناة + Rectangle مستطيل + New Channel قناة جديدة + Save Selection حفظ التحديد + Load Selection تحميل التحديد + +# Command-id override: under Edit > Purge a bare Annulla reads as an action, not the history. +@id edit.purge.undo سجل التراجع +# Rendering mode and recovery + Rendering Mode نمط التصيير + Automatic (recommended) تلقائي (موصى به) + CPU / Compatibility CPU / التوافق + Automatic uses GPU acceleration when available and falls back to CPU rendering on errors. يستخدم الوضع التلقائي تسريع GPU عند توفره، ويرجع إلى تصيير CPU في حالة حدوث أخطاء. + Switched to CPU rendering تم التبديل إلى تصيير CPU + GPU acceleration could not continue. Your documents are unchanged. تعذر استمرار تسريع GPU. لم تتغير مستنداتك. + PhotoCraft is using the CPU image compositor. The window may still use your graphics adapter. يستخدم PhotoCraft مُركّب الصور CPU. قد تظل النافذة تستخدم محول الرسومات الخاص بك. + Retry GPU requires a restart. Save your work first. تتطلب إعادة محاولة GPU إعادة التشغيل. احفظ عملك أولاً. + Keep Using CPU الاستمرار في استخدام CPU + Retry GPU إعادة محاولة GPU + Advanced متقدم + GPU Backend واجهة GPU الخلفية + Details التفاصيل + + Rendering mode نمط التصيير + Freeze Lasso: drag to freeze an area, Alt-drag to thaw it (L) حبل التجميد: اسحب لتجميد منطقة، واسحب مع Alt لإلغاء تجميدها (L) + + + Shadow Clipping Warning (U) تحذير اقتطاع الظلال (U) + Highlight Clipping Warning (O) تحذير اقتطاع الإبرازات (O) + Show Lab Color Readouts إظهار قراءات ألوان Lab + Show Vectorscope إظهار الفيكتورسكوب (Vectorscope) + Show Red at 3 o'clock إظهار الأحمر عند موضع الساعة 3 + Show Skin Tone Indicator إظهار مؤشر درجة لون البشرة + Tone Histogram المخطط البياني للنغمات + Show Selected Region إظهار المنطقة المحددة + +cameraRaw Light إضاءة + +# Camera Raw: contextual controls and window title + Camera Raw Filter ({layer}) مرشح Camera Raw ({layer}) + Camera Raw ({name}) Camera Raw ({name}) +cameraRaw Lights مناطق مضيئة +cameraRaw Darks مناطق داكنة +cameraRaw Red أحمر +cameraRaw Orange برتقالي +cameraRaw Yellow أصفر +cameraRaw Green أخضر +cameraRaw Aqua أزرق مخضر (Aqua) +cameraRaw Blue أزرق +cameraRaw Purple بنفسجي +cameraRaw Magenta أرجواني (Magenta) +cameraRaw Blending المزج +cameraRaw Tint صبغة +cameraRaw Temperature درجة الحرارة +cameraRaw Amount المقدار + Patch Tool أداة الرقعة + Patch: الرقعة: + Lasso around an area, then drag the selection أحط منطقة بحبل التحديد، ثم اسحب التحديد + Transform On Drop تحويل عند الإفلات + Scale or rotate the moved area, then press {key} قم بتحجيم أو تدوير المنطقة المنقولة، ثم اضغط على {key} + Now drag the selection onto another area الآن اسحب التحديد إلى منطقة أخرى + Edit Type تحرير النص + +# Strings added on main after this catalog was written (2026-10). + Relight… إعادة الإضاءة… + No patterns لا توجد نقوش + Enable {name} تمكين {name} + Hold Alt while drawing for straight segments اضغط مع الاستمرار على Alt أثناء الرسم للحصول على مقاطع مستقيمة + Drag or click polygon points · hold Alt during lasso for straight segments · {add} add · {sub} before drawing subtracts اسحب أو انقر فوق نقاط المضلع · اضغط مع الاستمرار على Alt أثناء استخدام حبل التحديد للقطع المستقيمة · {add} إضافة · {sub} قبل الرسم يطرح + TIFF Options خيارات TIFF + Targa Options خيارات Targa + 24 bits/pixel 24 بت/بكسل + 32 bits/pixel 32 بت/بكسل + Including layers will increase file size. تضمين الطبقات سيزيد من حجم الملف. + Discard Layers and Save a Copy تجاهل الطبقات وحفظ نسخة + Don't show again عدم الإظهار مرة أخرى + Save failed: {error} فشل الحفظ: {error} + Save cancelled تم إلغاء الحفظ + Extend تمديد + Structure: الهيكل: + Style {name} saved تم حفظ النمط {name} + Make Default تعيين كافتراضي + Reset to Default إعادة تعيين إلى الافتراضي + Couldn't place {name}: {error} تعذر وضع {name}: {error} + Full-resolution preview unavailable المعاينة بالدقة الكاملة غير متوفرة + Magnetic Lasso Tool أداة حبل التحديد المغناطيسي + Frequency التردد + Use tablet pressure to change pen width استخدام ضغط القلم اللوحي لتغيير عرض القلم + + +# About ▸ Contributors / Models (credits, craftrules standards/contributors.md) + About حول + Contributors المساهمون + Models النماذج + Sort فرز + Username اسم المستخدم + Display name الاسم المعروض + Real name الاسم الحقيقي + Reverse the order عكس الترتيب + Grab bag قائمة متنوعة + Table جدول + Name (A–Z) الاسم (أ–ي) + Merged PRs طلبات السحب المدمجة + Commits عمليات الإيداع (Commits) + Lines added الأسطر المضافة + Lines deleted الأسطر المحذوفة + Line delta صافي الأسطر + Binary assets added الملفات الثنائية المضافة + Binary assets removed الملفات الثنائية المحذوفة + First commit أول إيداع + First الأول + Last commit آخر إيداع + Last الأخير + Contributors: {contributors} · Commits: {commits} المساهمون: {contributors} · الإيداعات: {commits} + No contributor data was built into this copy. لم يتم بناء بيانات مساهمين في هذه النسخة. + No model credits were built into this copy. لم يتم بناء اعتمادات نماذج في هذه النسخة. + Company الشركة + Version الإصدار + % of all commits % من كافة الإيداعات + Lines +/− الأسطر +/− + @{login}: {prs} PRs, {commits} commits, +{added} / −{deleted} lines (Δ {delta}), +{binAdded} / −{binDeleted} binary assets, {first} – {last} @{login}: {prs} طلب سحب، {commits} إيداع، +{added} / −{deleted} سطر (Δ {delta})، +{binAdded} / −{binDeleted} أصل ثنائي، {first} – {last} +# Layer Style > Blending Options (Advanced Blending) + Blend If: المزج إذا كان: + Channels: القنوات: + Knockout تفريغ (Knockout) + +# Swatches panel + Create new swatch إنشاء عينة لون جديدة + New Swatch… عينة لون جديدة… + New Swatch Group… مجموعة عينات ألوان جديدة… + Import Swatches… استيراد عينات الألوان… + Replace Swatches… استبدال عينات الألوان… + Export Swatches… تصدير عينات الألوان… + Export Swatches for Exchange… تصدير عينات الألوان للتبادل… + Reset Swatches إعادة تعيين عينات الألوان + Add to Swatches إضافة إلى عينات الألوان + Convert to Layers تحويل إلى طبقات + Apply At Canvas Bounds تطبيق عند حدود لوحة الرسم + +# Shared screen eyedropper and text Color Picker (#1128). + Color Picker (Text Color) منتقي الألوان (لون النص) + Color Picker ({name}) منتقي الألوان ({name}) + Color Picker (Fill Color) منتقي الألوان (لون التعبئة) + Fill color لون التعبئة + Color Picker (Stroke Color) منتقي الألوان (لون الحد) + Stroke color لون الحد + Pick screen color اختيار لون من الشاشة + Sample a pixel anywhere on the screen أخذ عينة بكسل من أي مكان على الشاشة + Click to pick · Esc to cancel انقر للاختيار · Esc للإلغاء + Pick a screen pixel or press Esc to cancel اختر بكسل من الشاشة أو اضغط على Esc للإلغاء + Scroll to zoom مرر للتكبير والتصغير + Drag to pan · Scroll to zoom · Double-click to fit اسحب للتحريك · مرر للتكبير والتصغير · انقر نقرًا مزدوجًا للملاءمة + Show/Hide All Panels إظهار/إخفاء كافة اللوحات + Show/Hide Panels إظهار/إخفاء اللوحات + Could not open تعذر الفتح + {path}: the path is not valid Unicode; rename the file and open it again. {path}: المسار ليس ترميز Unicode صالحًا؛ أعد تسمية الملف وافتحه مجددًا. + +# Fill dialog, layer style contours and Image Size + Contents: المحتويات: + Custom Pattern: نقش مخصص: + Foreground Color لون المقدمة + Color… اللون… + 50% Gray رمادي 50% + {size} (was {old}) {size} (كان {old}) + Cone مخروط + Cone (Inverted) مخروط (معكوس) + Domed مقبب + Domed (Inverted) مقبب (معكوس) + Diagonal (Descending) قطري (تنازلي) + Contour Editor محرر المخطط المحيطي + Anti-aliased صقل الحواف + Corner زاوية + Gloss Contour مخطط اللمعان المحيطي + Contour المخطط المحيطي + Cone - Inverted مخروط - معكوس + Cove - Deep تجويف - عميق + Cove - Shallow تجويف - ضحل + Gaussian غاوسي + Half Round نصف دائري + Ring حلقة + Ring - Double حلقة - مزدوجة + Rolling Slope - Descending منحدر متموج - تنازلي + Rounded Steps درجات مستديرة + Sawtooth 1 سن المنشار 1 + Red Eye Tool أداة العين الحمراء + Red Eye العين الحمراء + Pupil Size حجم بؤبؤ العين + Darken Amount مقدار التغميق + Click a red pupil to neutralize it انقر فوق بؤبؤ العين الأحمر لتصحيحه + open source مفتوح المصدر + …and {n} more …و{n} المزيد + + Eyedroppers: القطارات: + Set Black Point تعيين النقطة السوداء + Set Neutral Gray Point تعيين نقطة الرمادي المحايد + Set White Point تعيين النقطة البيضاء + Unavailable in this color mode غير متوفر في نمط الألوان هذا + Selection Preview: معاينة التحديد: + Black Matte حافة سوداء (Black Matte) + White Matte حافة بيضاء (White Matte) + +# Layer colour labels. + Seafoam رغوة البحر + Indigo نيلي + Fuchsia فوشيا + Violet بنفسجي + Large document: redrawing on the CPU مستند كبير: جارٍ إعادة الرسم على CPU + Redrawing جارٍ إعادة الرسم + This redraw took {seconds} s on the CPU. استغرقت عملية إعادة الرسم هذه {seconds} ثانية على وحدة المعالجة المركزية. + Edits that change the whole document, such as a layer's blend mode, opacity or visibility, redraw all of it. التعديلات التي تغيّر المستند بأكمله، مثل نمط مزج الطبقة أو تعتيمها أو رؤيتها، تُعيد رسمه بالكامل. + Its layers don't fit the GPU memory budget. Raising Memory usage in Preferences › Performance raises the budget, up to a quarter of this computer's memory. لا تتسع طبقاته لميزانية ذاكرة GPU. يؤدي رفع استخدام الذاكرة في التفضيلات › الأداء إلى زيادة الميزانية، بما يصل إلى ربع ذاكرة هذا الكمبيوتر. + The GPU compositor wasn't used: {reason} لم يتم استخدام مركب GPU: {reason} +fontWeight Thin رفيع +fontWeight ExtraLight خفيف للغاية +fontWeight Light خفيف +fontWeight Regular عادي +fontWeight Medium متوسط +fontWeight SemiBold شبه عريض +fontWeight Bold عريض +fontWeight ExtraBold عريض للغاية +fontWeight Black داكن (Black) +fontWeight Italic مائل + +# Pattern Stamp tool + Pattern Stamp Tool أداة ختم النقش + Pattern Stamp ختم النقش + Impressionist انطباعي + Rotate View تدوير العرض + Rotate View Tool أداة تدوير العرض + Reset View إعادة تعيين العرض + Drag around the centre to rotate the view · Shift constrains to 15° اسحب حول المركز لتدوير العرض · يقيّد Shift الزاوية بمقدار 15 درجة + +# Painting symmetry presets. + Dual Axis محور مزدوج + Diagonal قطري + Transform Symmetry تحويل التناظر + +# Eyedropper Sample Size and Sample (#1649). + Point Sample عينة نقطية + 3 by 3 Average متوسط 3 × 3 + 5 by 5 Average متوسط 5 × 5 + 11 by 11 Average متوسط 11 × 11 + 31 by 31 Average متوسط 31 × 31 + 51 by 51 Average متوسط 51 × 51 + 101 by 101 Average متوسط 101 × 101 + Sample Size: حجم العينة: + All Layers No Adjustments كافة الطبقات بدون تعديلات + Current & Below No Adjustments الحالية والطبقات أسفلها بدون تعديلات + Show Sampling Ring إظهار حلقة أخذ العينات + +# Color Picker warnings + Out of gamut for printing: click for the nearest printable colour خارج النطاق اللوني للطباعة: انقر للحصول على أقرب لون قابل للطباعة + Not a web colour: click for the nearest web colour ليس لون ويب: انقر للحصول على أقرب لون ويب + Color to Alpha… اللون إلى ألفا… + Transparency Threshold حد الشفافية + Opacity Threshold حد التعتيم + PhotoCraft — Screen Color Picker PhotoCraft — منتقي ألوان الشاشة + + Rasterize svg groups deeper than تنقيط مجموعات SVG الأعمق من + 0 turns this threshold off; SVG groups nested deeper than 100 levels are always rasterized. 0 يعطّل هذا الحد؛ ويتم تنقيط مجموعات SVG المتداخلة بأكثر من 100 مستوى دائمًا. + Rule of Thirds قاعدة الأثلاث + Triangle مثلث + Golden Ratio النسبة الذهبية + Golden Spiral اللولب الذهبي + Auto Show Overlay إظهار التراكب تلقائيًا + Always Show Overlay إظهار التراكب دائمًا + Never Show Overlay عدم إظهار التراكب أبدًا + Cycle Overlay تبديل التراكب + Cycle Orientation تبديل الاتجاه + Set the overlay options for the Crop tool تعيين خيارات التراكب لأداة القص + Alt-click went to the desktop, which moves windows with Alt-drag. Set its window-move key to Super, or latch Alt in Window › Modifier Keys. ذهب النقر مع Alt إلى سطح المكتب الذي ينقل النوافذ بالسحب مع Alt. اضبط مفتاح نقل النوافذ على Super، أو ثبّت Alt في نافذة › مفاتيح التعديل. + +# Shared Layer Style color picker + Color Picker (Layer Style Color) منتقي الألوان (لون نمط الطبقة) + Auto Hide Notifications إخفاء الإشعارات تلقائيًا + Notification Duration (seconds) مدة الإشعار (بالثواني) + Bundle Arrow-Key Nudges تجميع الإزاحات بمفاتيح الأسهم + Nudge Bundle Pause (ms) مهلة تجميع الإزاحات (مللي ثانية) + Appearance Mode نمط المظهر + Dark Theme سمة داكنة + Light Theme سمة فاتحة + Pro Medium Pro رمادي متوسط + Studio Light Studio فاتح + Next Appearance Mode نمط المظهر التالي + Sync with system المزامنة مع النظام + Active نشط + Color Picker (Solid Color) منتقي الألوان (لون خالص) + Straighten the image by drawing a line on it تعديل استقامة الصورة برسم خط عليها + Set additional Crop options تعيين خيارات قص إضافية + Show Cropped Area إظهار المنطقة المقصوصة + Enable Crop Shield تمكين درع القص + Match Canvas مطابقة لوحة الرسم + Auto Adjust Opacity ضبط التعتيم تلقائيًا + Crop Shield color لون درع القص + Color Picker (Crop Shield Color) منتقي الألوان (لون درع القص) + From Center من المركز + Link radii ربط أنصاف الأقطار + Star Ratio: نسبة النجمة: + Create Rectangle إنشاء مستطيل + Create Ellipse إنشاء شكل بيضاوي + Create Triangle إنشاء مثلث + Create Polygon إنشاء مضلع + Pressure curve منحنى الضغط + Click to add a point, right-click to remove انقر لإضافة نقطة، وانقر بزر الماوس الأيمن للإزالة + Some brush presets could not be loaded تعذر تحميل بعض الإعدادات المسبقة للفرشاة + Retry saving presets إعادة محاولة حفظ الإعدادات المسبقة + Brush preset changes are not saved: {error} لم يتم حفظ تغييرات إعدادات الفرشاة المسبقة: {error} + Keep this tab open to retain your brushes. احتفظ بعلامة التبويب هذه مفتوحة للاحتفاظ بفُرشك. + Browser storage is unavailable; brushes are session-only. Keep this tab open to retain them. تخزين المتصفح غير متوفر؛ الفُرش للجلسة الحالية فقط. احتفظ بعلامة التبويب هذه مفتوحة للاحتفاظ بها. + Saving brush presets… Keep this tab open until saving finishes. جارٍ حفظ الإعدادات المسبقة للفرشاة… احتفظ بعلامة التبويب هذه مفتوحة حتى يكتمل الحفظ. + Reflect انعكاس + Glow توهج + Negation نفي + XOR XOR + Color Burn (Paint.NET) تغميق اللون (Paint.NET) + Color Dodge (Paint.NET) تفتيح اللون (Paint.NET) + Stroke Options خيارات الحد + Solid مصمت + Dashed متقطع + Dotted منقوط + Alignment المحاذاة + Caps الأطراف + Butt / Flat مسطح / مقطوع + Corners الزوايا + Miter حادة (Miter) + Round مستديرة + Bevel مشطوفة + Miter limit حد الزاوية الحادة + Dashed line خط متقطع + Dash شرطة + Gap فجوة + Dash / gap lengths × stroke width أطوال الشرطة / الفجوة × عرض الحد + Add pair إضافة زوج + Remove pair إزالة زوج + Dash offset إزاحة الشرطة + Open paths use centered strokes المسارات المفتوحة تستخدم حدودًا متوسطة + Use finite lengths and a positive pattern total استخدم أطوالاً محدودة وإجمالي نقش موجب + No subject found — try Object Selection or the Lasso لم يتم العثور على موضوع — جرب أداة تحديد الكائنات أو حبل التحديد + Quick Selection found nothing there لم تجد أداة التحديد السريع أي شيء هناك + Object Selection found nothing there — try a tighter rectangle لم تجد أداة تحديد الكائنات أي شيء هناك — جرب مستطيلاً أضيق + No subject found — try a rectangle around the object لم يتم العثور على موضوع — جرب رسم مستطيل حول الكائن + Click the first point or press {key} to close · {del} removes a point · Esc cancels انقر فوق النقطة الأولى أو اضغط على {key} للإغلاق · {del} يزيل نقطة · Esc للإلغاء + Click, then move along an edge · click to fasten a point · {alt}-click for a straight segment · double-click to close انقر ثم تحرك على طول الحافة · انقر لتثبيت نقطة · {alt}+نقر لقطعة مستقيمة · انقر نقرًا مزدوجًا للإغلاق + Follows only edges this close to the pointer ([ and ] change it) يتبع فقط الحواف القريبة جدًا من المؤشر ([ و ] يغيران ذلك) + Higher values follow only edges that contrast sharply with their surroundings تتبع القيم الأعلى فقط الحواف ذات التباين الحاد مع محيطها + How often fastening points are placed by themselves معدل وضع نقاط التثبيت تلقائيًا + Appearance Settings… إعدادات المظهر… + Add to favorites إضافة إلى المفضلة + Remove from favorites إزالة من المفضلة +# File Info ▸ Camera Data (read-only EXIF fields; "Make" is the camera maker, not the verb). + Camera Data بيانات الكاميرا +cameraData Make الشركة المصنعة +cameraData Model الطراز +cameraData Date Taken تاريخ الالتقاط +cameraData Exposure التعريض +cameraData F-Stop فتحة العدسة +cameraData ISO Speed سرعة ISO +cameraData Focal Length البعد البؤري +cameraData Focal Length (35 mm) البعد البؤري (35 مم) +cameraData Lens العدسة +# Shared panel docking + Activate Panel تنشيط اللوحة + Change Panel Group تغيير مجموعة اللوحات + Change Panel Layout تغيير تخطيط اللوحات + Close Panel إغلاق اللوحة + Dock Panel إرساء اللوحة + Float Panel تعويم اللوحة + Move Panel تحريك اللوحة + Group with تجميع مع + Panel menu قائمة اللوحة + Resize panel window تغيير حجم نافذة اللوحة + Resize panels تغيير حجم اللوحات + Use Classic Mode استخدام النمط الكلاسيكي + Auto Center Preview توسيط المعاينة تلقائيًا + Next Document المستند التالي + Previous Document المستند السابق + W x H x Resolution العرض × الارتفاع × الدقة + Front Image الصورة الأمامية + Frame Tool أداة الإطار + Create a new rectangular frame إنشاء إطار مستطيل جديد + Create a new elliptical frame إنشاء إطار بيضاوي جديد + Include in playback تضمين في التشغيل + Perspective Crop Tool أداة قص المنظور + Show Grid إظهار الشبكة + Drag a box or click four corners · drag the corners onto the edges of a skewed shape · {commit} commits · Esc cancels اسحب مربعًا أو انقر فوق الزوايا الأربع · اسحب الزوايا إلى حواف شكل مائل · {commit} للتثبيت · Esc للإلغاء + Artboard Tool أداة لوحة الرسم + Make Portrait جعله عموديًا + Make Landscape جعله أفقيًا + Add New Artboard إضافة لوحة رسم جديدة + Freeform Pen Tool أداة القلم الحر + Curvature Pen Tool أداة قلم الانحناء + Curve Fit: ملاءمة المنحنى: + Drag: draw freehand · {alt}-click: straight segment · Release on the start point: close اسحب: رسم حر · {alt}+نقر: قطعة مستقيمة · حرر عند نقطة البداية: إغلاق + Click: smooth point · Double-click: corner · Drag a point: move · Click first point: close · {key} finish نقر: نقطة ناعمة · نقر مزدوج: زاوية · سحب نقطة: تحريك · نقر النقطة الأولى: إغلاق · {key} إنهاء + New Crop Preset… إعداد مسبق جديد للقص… + Delete Crop Preset… حذف الإعداد المسبق للقص… + Select the crop presets to delete: حدد الإعدادات المسبقة للقص المراد حذفها: + Select the crop presets to delete حدد الإعدادات المسبقة للقص المراد حذفها + Enter a name for the crop preset أدخل اسمًا للإعداد المسبق للقص + There is no crop size or ratio to save لا يوجد حجم أو نسبة قص لحفظها + Scale: التحجيم: + Snap to Origin محاذاة إلى الأصل + Search settings… البحث في الإعدادات… + No matching settings لا توجد إعدادات مطابقة + Loading fonts… جارٍ تحميل الخطوط… + Response curve منحنى الاستجابة + Tool أداة + Simulate Pressure محاكاة الضغط + Stroke Path… رسم حد للمسار… + Background Eraser ممحاة الخلفية + Healing Brush فرشاة التصحيح + Spot Healing Brush فرشاة تصحيح البقع + Smudge إصبع + Sponge إسفنجة + Amount: المقدار: + Protect: حماية: + Protect skin tones حماية درجات لون البشرة + Edit points to modify the curve حرر النقاط لتعديل المنحنى + Draw to modify the curve ارسم لتعديل المنحنى +curves Smooth تنعيم + Smooth the curve values تنعيم قيم المنحنى + Drag to draw the curve · {key}-click draws a straight line اسحب لرسم المنحنى · {key}+نقر يرسم خطًا مستقيمًا + Edit Plane تحرير المستوى + Create Plane إنشاء مستوى + Grid Size: حجم الشبكة: + Vanishing Point: click four corners to create a plane نقطة التلاشي: انقر فوق أربعة أركان لإنشاء مستوى + Vanishing Point is not active نقطة التلاشي غير نشطة + Apply Vanishing Point ({key}) تطبيق نقطة التلاشي ({key}) + Fix the red plane first: its corners must form a convex quad أصلح المستوى الأحمر أولاً: يجب أن تشكل أركانه شكلاً رباعيًا محدبًا +# Select and Mask view modes (#1754) + Onion Skin ورق شفاف (Onion Skin) + Marching Ants النمل السائر (حدود التحديد) + On Black على أسود + On White على أبيض + On Layers على الطبقات + Show Edge إظهار الحافة + Show Original إظهار الأصلي + F cycles the views; hold X to see the image F يبدل بين طرق العرض؛ اضغط مطولاً على X لرؤية الصورة +# Select and Mask Refine Edge Brush (#2972) + Refine Edge Brush (R) فرشاة تحسين الحافة (R) + Expand Detection Area توسيع منطقة الكشف + Restore Original Edge استعادة الحافة الأصلية + Paint over hair or fur on the image; Alt paints the other mode ارسم فوق الشعر أو الفراء على الصورة؛ مفتاح Alt يرسم بالوضع الآخر + Clear Brush Strokes مسح خطوط الفرشاة + Show rulers إظهار المساطر + Presentation عرض تقديمي + +# Color Sampler (added with the i18n coverage repair) + Click to place · Alt-click or drag off-canvas to remove انقر للوضع · انقر مع Alt أو اسحب خارج لوحة الرسم للإزالة + No document open لا يوجد مستند مفتوح + {n} of {max} sample points {n} من {max} نقاط عينة +# Print dialog (#2697) + Emulsion Down المستحلب لأسفل + Functions الوظائف + Print Resolution: دقة الطباعة: + Use Previous Layer to Create Clipping Mask استخدام الطبقة السابقة لإنشاء قناع قص + Fill with {mode}-neutral color (white) تعبئة بلون محايد لنمط {mode} (أبيض) + Fill with {mode}-neutral color (black) تعبئة بلون محايد لنمط {mode} (أسود) + Fill with {mode}-neutral color (50% gray) تعبئة بلون محايد لنمط {mode} (رمادي 50%) + (No neutral color exists for {mode} mode.) (لا يوجد لون محايد لنمط {mode}.) + Apply mask to layer before removing? هل تريد تطبيق القناع على الطبقة قبل إزالته؟ + The layer or its mask changed. Drag the mask onto the Trash again. تغيرت الطبقة أو قناعها. اسحب القناع إلى سلة المهملات مرة أخرى. + Delete the vector mask? هل تريد حذف القناع المتجه؟ +# Counted status messages and labels (#3454; adapted from PR #3821) +@plural Exported {n} swatch to {file}|Exported {n} swatches to {file} تم تصدير {n} عينة لون إلى {file}|تم تصدير {n} عينة لون إلى {file}|تم تصدير {n} عينتي لون إلى {file}|تم تصدير {n} عينات لون إلى {file}|تم تصدير {n} عينة لون إلى {file}|تم تصدير {n} عينة لون إلى {file} +@plural Imported {n} brush from {group}|Imported {n} brushes from {group} تم استيراد {n} فرشاة من {group}|تم استيراد {n} فرشاة من {group}|تم استيراد {n} فرشتين من {group}|تم استيراد {n} فرش من {group}|تم استيراد {n} فرشاة من {group}|تم استيراد {n} فرشاة من {group} +@plural Imported {n} swatch from {file}|Imported {n} swatches from {file} تم استيراد {n} عينة لون من {file}|تم استيراد {n} عينة لون من {file}|تم استيراد {n} عينتي لون من {file}|تم استيراد {n} عينات لون من {file}|تم استيراد {n} عينة لون من {file}|تم استيراد {n} عينة لون من {file} +@plural Played {n} step|Played {n} steps تم تشغيل {n} خطوة|تم تشغيل {n} خطوة|تم تشغيل {n} خطوتين|تم تشغيل {n} خطوات|تم تشغيل {n} خطوة|تم تشغيل {n} خطوة +@plural Updated {n} linked smart object changed on disk|Updated {n} linked smart objects changed on disk تم تحديث {n} كائن ذكي مرتبط تم تغييره على القرص|تم تحديث {n} كائن ذكي مرتبط تم تغييره على القرص|تم تحديث {n} كائنين ذكيين مرتبطين تم تغييرهما على القرص|تم تحديث {n} كائنات ذكية مرتبطة تم تغييرها على القرص|تم تحديث {n} كائنًا ذكيًا مرتبطًا تم تغييره على القرص|تم تحديث {n} كائن ذكي مرتبط تم تغييره على القرص +@plural Saved for Web: {n} file|Saved for Web: {n} files تم الحفظ للويب: {n} ملف|تم الحفظ للويب: {n} ملف|تم الحفظ للويب: {n} ملفان|تم الحفظ للويب: {n} ملفات|تم الحفظ للويب: {n} ملفًا|تم الحفظ للويب: {n} ملف +@plural {n} layer recorded by this comp was deleted. Update the comp, or clear the warning.|{n} layers recorded by this comp were deleted. Update the comp, or clear the warning. تم حذف {n} طبقة مسجلة في هذا التكوين. قم بتحديث التكوين أو مسح التحذير.|تم حذف {n} طبقة مسجلة في هذا التكوين. قم بتحديث التكوين أو مسح التحذير.|تم حذف {n} طبقتين مسجلتين في هذا التكوين. قم بتحديث التكوين أو مسح التحذير.|تم حذف {n} طبقات مسجلة في هذا التكوين. قم بتحديث التكوين أو مسح التحذير.|تم حذف {n} طبقة مسجلة في هذا التكوين. قم بتحديث التكوين أو مسح التحذير.|تم حذف {n} طبقة مسجلة في هذا التكوين. قم بتحديث التكوين أو مسح التحذير. +@plural {n} plane|{n} planes {n} مستوى|{n} مستوى|{n} مستويان|{n} مستويات|{n} مستوى|{n} مستوى +@plural {n} preset|{n} presets {n} إعداد مسبق|{n} إعداد مسبق|{n} إعدادان مسبقان|{n} إعدادات مسبقة|{n} إعدادًا مسبقًا|{n} إعداد مسبق +@plural {n} sample point removed|{n} sample points removed تمت إزالة {n} نقطة عينة|تمت إزالة {n} نقطة عينة|تمت إزالة {n} نقطتي عينة|تمت إزالة {n} نقاط عينة|تمت إزالة {n} نقطة عينة|تمت إزالة {n} نقطة عينة +@plural {n} slice|{n} slices {n} شريحة|{n} شريحة|{n} شريحتان|{n} شرائح|{n} شريحة|{n} شريحة +@plural {n} step|{n} steps {n} خطوة|{n} خطوة|{n} خطوتان|{n} خطوات|{n} خطوة|{n} خطوة +@plural {warning} (+{n} more brush preset warning)|{warning} (+{n} more brush preset warnings) {warning} (+{n} تحذير إضافي لإعدادات الفرشاة المسبقة)|{warning} (+{n} تحذير إضافي لإعدادات الفرشاة المسبقة)|{warning} (+{n} تحذيران إضافيان لإعدادات الفرشاة المسبقة)|{warning} (+{n} تحذيرات إضافية لإعدادات الفرشاة المسبقة)|{warning} (+{n} تحذيرًا إضافيًا لإعدادات الفرشاة المسبقة)|{warning} (+{n} تحذير إضافي لإعدادات الفرشاة المسبقة) +@plural {what} with {n} warning|{what} with {n} warnings {what} مع {n} تحذير|{what} مع {n} تحذير|{what} مع {n} تحذيرين|{what} مع {n} تحذيرات|{what} مع {n} تحذيرًا|{what} مع {n} تحذير +# View › Guides › New Guide… › Color + Light Blue أزرق فاتح + Light Red أحمر فاتح + Medium Blue أزرق متوسط + Light Gray رمادي فاتح + +# Dynamic labels (filter and adjustment parameters, Camera Raw, panels, dialogs) that the +# other catalogs already translate + No لا + Yes نعم +@id select.all تحديد الكل + Delete Smart Filters حذف المرشحات الذكية + Enable Smart Filters تمكين المرشحات الذكية + New Layer… طبقة جديدة… + Delete Layer… حذف الطبقة… + Select Similar Colors تحديد ألوان مماثلة + New Selection تحديد جديد + Canvas rotation تدوير لوحة الرسم + Extensions الملحقات + Libraries المكتبات + 3D ثلاثي الأبعاد + Toolbars أشرطة الأدوات + Wand عصا سحرية + Healing تصحيح + Pen قلم + Hand يد + Sampler أداة أخذ العينات + Note tool أداة الملاحظة + Magnetic Lasso حبل التحديد المغناطيسي + Art History Brush فرشاة المحفوظات الفنية + Spot Healing تصحيح البقع + Patch رقعة + Content-Aware Move نقل مدرك للمحتوى + Perspective Crop قص المنظور + Dodge/Burn تفتيح/تغميق + Dynamics ديناميكيات + Tilt إمالة + Defaults restored. تمت استعادة الافتراضيات. + Stop إيقاف + Create new set إنشاء مجموعة جديدة + Technology Previews معاينات التكنولوجيا + Create new layer إنشاء طبقة جديدة + Group · {n} layer مجموعة · {n} طبقة + General Blend مزج عام + Advanced Blending مزج متقدم + RGB RGB + Spot Channel قناة لون خالص (Spot Channel) + Working Gray Plate لوح رمادي عامل + HSL/Grayscale HSL/تدرج الرمادي + Tone Curve منحنى النغمة + Split Toning تدرج نغمي مقسم + Lens Corrections تصحيحات العدسة + Camera Calibration معايرة الكاميرا + Snapshots لقطات + Recovery الاسترداد + Fill Light إضاءة التعبئة + Convert to Grayscale تحويل إلى تدرج الرمادي + Sharpness الحدة + Color Noise Reduction تقليل تشويش الألوان + Luminance Smoothness نعومة الإضاءة + Lens العدسة + ISO ISO + Focal Length35mm البعد البؤري المكافئ (35 مم) + Aspect Ratio نسبة الأبعاد + Time الوقت + Enter description… أدخل وصفًا… + ColorSync ColorSync + ProPhoto ProPhoto + sRGB sRGB + ACES ACES + Industry Standard المعيار الصناعي + Uncoated CMYK CMYK للورق غير المصقول + Newspaper ورق جرائد + Working Spaces مساحات العمل + Color Management Policies سياسات إدارة الألوان + Detect Faces اكتشاف الوجوه + Localize Color Clusters تحديد مواضع مجموعات الألوان + Duplicated selection name اسم التحديد المكرر + Operation العملية + New channel only قناة جديدة فقط + Masked Areas المناطق المقنعة + Selected Areas المناطق المحددة + Color indicates اللون يشير إلى + Create Snapshot إنشاء لقطة + Delete Snapshot حذف اللقطة + New Snapshot لقطة جديدة + Snapshot 1 لقطة 1 + Step Forward خطوة للأمام + Step Backward خطوة للخلف + Nonlinear History محفوظات غير خطية + Set New Snapshot as Default تعيين اللقطة الجديدة كافتراضية + Automatically Create First Snapshot إنشاء اللقطة الأولى تلقائيًا + Automatically Create New Snapshot When Saving إنشاء لقطة جديدة تلقائيًا عند الحفظ + Show New Snapshot Dialog by Default إظهار مربع حوار لقطة جديدة افتراضيًا + Clear History مسح المحفوظات + Panel Options… خيارات اللوحة… + View menu قائمة عرض + Keep view in sync الحفاظ على تزامن العرض + {zoom}% {zoom}% + Mouse Controls عناصر تحكم الماوس + Initial Direction of Stroke الاتجاه الأولي للخط + Direction of Stroke اتجاه الخط + Humidity الرطوبة + Auto Clean Brush تنظيف الفرشاة تلقائيًا + Spacing: التباعد: + New Layer from Brush طبقة جديدة من الفرشاة + New Brush فرشاة جديدة + New Tool Preset إعداد مسبق جديد للأداة + Auto-Leading تباعد أسطر تلقائي + Scale Horizontally تحجيم أفقي + Scale Vertically تحجيم رأسي + Baseline Shift إزاحة خط الأساس + Mac LCD Mac LCD + Mac Sharp Mac حاد + Mac Crisp Mac واضح + Mac Strong Mac قوي + Mac Smooth Mac ناعم + Superscript مرتفع + Subscript منخفض + Ligature حرف مركب (Ligature) + Alternative بديل + Ultra Light خفيف للغاية + Extra Light خفيف جدًا + Semi Bold شبه عريض + Extra Bold عريض جدًا + Ultra Bold عريض للغاية + Condensed مكثف (مضغوط) + First Line Indent مسافة بادئة للسطر الأول + Hanging Punctuation علامات ترقيم معلقة + Roman Hanging Punctuation علامات ترقيم لاتينية معلقة + Avoid Widows/Orphans تجنب الأسطر المفردة المعلقة + Compose تجميع النص + Adobe Single-line Composer مجمّع الأسطر الفردية من Adobe + Adobe Every-line Composer مجمّع كافة الأسطر من Adobe + Word Spacing التباعد بين الكلمات + Letter Spacing التباعد بين الحروف + Glyph Scaling تحجيم الرموز + Auto-leading % % التباعد التلقائي للأسطر + Single Word Justification ضبط الكلمة الواحدة + Justify ضبط + Glyph رمز (Glyph) + Alternates for Current Selection بدائل للتحديد الحالي + Digits أرقام + Path: المسار: + Path to Illustrator… تصدير المسار إلى Illustrator… + Clipping Path مسار القص + New Path مسار جديد + Duplicate Path تكرار المسار + Auto-Hide إخفاء تلقائي + X X + Y Y + Frame Sync تزامن الإطارات + Quick Sync مزامنة سريعة + Audio الصوت + Frame Duration مدة الإطار + Loop تكرار حلقي + Split at Playhead تقسيم عند مؤشر التشغيل + Flatten Frames Into Clips تسطيح الإطارات إلى مقاطع + Flatten Frames Into Layers تسطيح الإطارات إلى طبقات + Convert Frames > Video Layers تحويل الإطارات > طبقات فيديو + New Video Layer طبقة فيديو جديدة + New Video Group مجموعة فيديو جديدة + Limit Playback تقييد التشغيل + Enable Timeline Quick Config تمكين التكوين السريع للمخطط الزمني + Set Start Timecode… تعيين الرمز الزمني للبدء… + Timecode الرمز الزمني + 30 fps 30 إطار/ثانية + 25 fps 25 إطار/ثانية + 24 fps 24 إطار/ثانية + 15 fps 15 إطار/ثانية + 10 fps 10 إطار/ثانية + Current Time الوقت الحالي + Out نهاية + In بداية + Duration المدة + Repeat تكرار + Play Once تشغيل مرة واحدة + Info Options… خيارات المعلومات… + First Color Readout قراءة اللون الأولى + Second Color Readout قراءة اللون الثانية + Actual Color اللون الفعلي + Grayscale Slider شريط تمرير تدرج الرمادي + Web Color لون الويب + HSB Color لون HSB + Total Ink إجمالي الحبر + Opacity Mask قناع التعتيم + Document Size حجم المستند + Timing التوقيت + Status Information معلومات الحالة + Saved Multichannel متعدد القنوات المحفوظ + Mouse Coordinates إحداثيات الماوس + Ruler Units وحدات المسطرة + Hide إخفاء + Restore last viewed comp استعادة آخر تكوين معروض + Select All Layers تحديد كافة الطبقات + Keep proportions الحفاظ على الأبعاد + Interpolation الاستيفاء + Caption التسمية التوضيحية + Caption Credits اعتمادات التسمية التوضيحية + Keywords الكلمات الأساسية + Copyright Info URL عنوان URL لمعلومات حقوق النشر + Copyright Status حالة حقوق النشر + Copyrighted محمي بحقوق النشر + Public Domain ملك عام + Unknown غير معروف + Credit الائتمان + Transmission Reference مرجع الإرسال + Urgency الأهمية / العجلة + High عالية + Low منخفضة + Category الفئة + Supplemental Categories فئات تكميلية + Object Name / Title اسم الكائن / العنوان + Date Created تاريخ الإنشاء + City المدينة + Province / State المقاطعة / الولاية + Country البلد + Byline اسم الكاتب / المصور + Byline Title صفة الكاتب / المصور + Phone الهاتف + Email البريد الإلكتروني + URLs عناوين URL + Last Modified تاريخ آخر تعديل + EXIF EXIF + GPS GPS + Camera Model طراز الكاميرا + Camera Make الشركة المصنعة للكاميرا + EXIF Version إصدار EXIF + Exposure Program برنامج التعريض + Aperture فتحة العدسة + Shutter Speed سرعة الغالق + Metering Mode نمط القياس + Light Source مصدر الضوء + Flash الفلاش + Lens Info معلومات العدسة + ISO Speed سرعة ISO + Subject Distance مسافة الهدف + DateTime Original التاريخ والوقت الأصليان + Create Date تاريخ الإنشاء + Modify Date تاريخ التعديل + Raw Data البيانات الخام + Import… استيراد… + PDF Presentation… عرض تقديمي بتنسيق PDF… + Create Multiple Picture Packages إنشاء حزم صور متعددة + Picture Package… حزمة الصور… + Web Photo Gallery… معرض صور الويب… + Choose… اختيار… + Select Folder… تحديد مجلد… + Override Action "Save" Commands تجاوز أوامر "حفظ" في الإجراء + Compatibility التوافق + Mac OS Mac OS + Unix Unix + Include ICC Profile تضمين ملف تعريف ICC + Error File ملف الأخطاء + Stop For Errors إيقاف عند حدوث أخطاء + Log Errors To File تسجيل الأخطاء في ملف + Errors الأخطاء + Settings إعدادات + Settings: الإعدادات: + Working Space مساحة العمل + RGB: RGB: + CMYK: CMYK: + Gray: رمادي: + Spot: لون خالص: + Advanced Controls عناصر تحكم متقدمة + Desaturate Monitor Colors By تقليل تشبع ألوان الشاشة بمقدار + Blend RGB Colors Using Gamma 1.0 مزج ألوان RGB باستخدام جاما 1.0 + Profile Mismatches: Ask When Opening عدم تطابق ملفات التعريف: السؤال عند الفتح + Ask When Pasting السؤال عند اللصق + Missing Profiles: Ask When Opening ملفات التعريف المفقودة: السؤال عند الفتح + Embed profiles تضمين ملفات التعريف + Ask Before Saving Saved Embedded السؤال قبل حفظ الملف المضمن + Coerce to sRGB إلزام التحويل إلى sRGB + sRGB IEC61966-2.1 sRGB IEC61966-2.1 + Adobe RGB (1998) Adobe RGB (1998) + ProPhoto RGB ProPhoto RGB + ColorMatch RGB ColorMatch RGB + Wide Gamut RGB Wide Gamut RGB + Apple RGB Apple RGB + NTSC (1953) NTSC (1953) + PAL/SECAM PAL/SECAM + SMPTE C SMPTE C + HDTV (Rec. 709) HDTV (Rec. 709) + CIE RGB CIE RGB + Graphic and web الرسومات والويب + Minimalistic تبسيطي + Expand All Groups توسيع كافة المجموعات + Photo (2 × 3 in) صورة (2 × 3 بوصة) + Photo (4 × 6 in) صورة (4 × 6 بوصة) + Photo (5 × 7 in) صورة (5 × 7 بوصة) + Photo (8 × 10 in) صورة (8 × 10 بوصة) + Recent Items العناصر الحديثة + Delete Preset… حذف الإعداد المسبق… + Preset Name: اسم الإعداد المسبق: + Width and Height العرض والارتفاع + Color Profile ملف تعريف الألوان + Units الوحدات + Create new count group إنشاء مجموعة عد جديدة + Adjustment Layer طبقة تعديل + Drag to move the layer اسحب لتحريك الطبقة + Go to Layer الانتقال إلى الطبقة + After (X) بعد (X) + Current الحالي + Reference point location موقع النقطة المرجعية + Toggle reference point تبديل النقطة المرجعية + Add Pins إضافة دبابيس + Delete Pins حذف الدبابيس + Rotate Auto تدوير تلقائي + Rotate Fixed تدوير ثابت + Select Plane تحديد المستوى + Measure قياس + Heal تصحيح + Heal Off إيقاف التصحيح + Heal On تشغيل التصحيح + Heal Auto تصحيح تلقائي + Blend مزج + Brush Size حجم الفرشاة + Heal Color لون التصحيح + Result النتيجة + Duplicate تكرار + Fast سريع + Accurate دقيق + Add to إضافة إلى + Subtract from طرح من + Intersect with تقاطع مع + Capture Comp التقاط التكوين + No Layer Comps لا توجد تكوينات طبقات + Adobe PDF Presets… إعدادات Adobe PDF المسبقة… + 3D… ثلاثي الأبعاد… + Technology Previews… المعاينات التقنية… + Add a mask (from the selection; ⌥ inverts) إضافة قناع (من التحديد؛ ⌥ يعكس) + Add to selection (⇧) إضافة إلى التحديد (⇧) + Airbrush: keeps painting while the pointer rests. البخاخة: تواصل الرسم أثناء استقرار المؤشر. + Click the first point or press ↵ to close · Esc cancels انقر فوق النقطة الأولى أو اضغط على ↵ للإغلاق · Esc للإلغاء + Click to add a point · drag off or ⌘/Ctrl-click or Delete to remove انقر لإضافة نقطة · اسحب للخارج أو ⌘/Ctrl-نقر أو Delete للإزالة + Click to apply, ⌥-click to clear overrides, double-click for Style Options انقر للتطبيق، ⌥-نقر لمسح التجاوزات، وانقر نقرًا مزدوجًا لخيارات النمط + Click to zoom in · ⌥-click to zoom out انقر للتكبير · ⌥-نقر للتصغير + Click: corner · Drag: smooth · Click first point: close · ↩ finish · Esc cancel نقر: زاوية · سحب: تنعيم · نقر النقطة الأولى: إغلاق · ↩ إنهاء · Esc إلغاء + Commit Perspective Warp (↩) تأكيد التواء المنظور (↩) + Commit Puppet Warp (↩) تأكيد التحويل الحر (↩) + Commit any current edits (⌘↩) تأكيد أي تعديلات حالية (⌘↩) + Commit current crop operation (↵) تأكيد عملية القص الحالية (↵) + Commit transform (↩) تأكيد التحويل (↩) + Commit warp (↩) تأكيد الالتواء (↩) + Create a new layer (⇧⌘N) إنشاء طبقة جديدة (⇧⌘N) + Custom pattern نقش مخصص + General Brushes فُرش عامة + Grid (⌘') الشبكة (⌘') + Intersect with selection (⇧⌥) تقاطع مع التحديد (⇧⌥) + New document… ⌘N مستند جديد… ⌘N + Open… ⌘O فتح… ⌘O + Rulers (⌘R) المساطر (⌘R) + Search commands (⌘K) البحث في الأوامر (⌘K) + Show Guides (⌘;) إظهار الخطوط الإرشادية (⌘;) + Subtract from selection (⌥) طرح من التحديد (⌥) + Uses the foreground and background colors. يستخدم لوني المقدمة والخلفية. + ↑↓ navigate ↵ run esc close ↑↓ تنقل ↵ تشغيل esc إغلاق + Adds grain to the soft edges of the brush tip. يضيف حبيبات إلى الحواف الناعمة لرأس الفرشاة. + Keeps the current texture when switching presets. يحتفظ بالملمس الحالي عند التبديل بين الإعدادات المسبقة. + Watercolour look: lighter interior, darker rims. مظهر الألوان المائية: داخل أفتح، وحواف أغمق. + Collapse group (⌥-click: all groups) طي المجموعة (⌥-نقر: كافة المجموعات) + Expand group (⌥-click: all groups) توسيع المجموعة (⌥-نقر: كافة المجموعات) + Hide the layer's effects (⌥-click: all layers) إخفاء تأثيرات الطبقة (⌥-نقر: كافة الطبقات) + Show the layer's effects (⌥-click: all layers) إظهار تأثيرات الطبقة (⌥-نقر: كافة الطبقات) +cameraRaw Blacks درجات السواد +cameraRaw Masking إخفاء القناع +@id edit.stroke حد… +@id edit.transform.scale تحجيم +cameraRaw Luminance الإضاءة +cameraRaw Color اللون +cameraRaw Vibrance الحيوية +cameraRaw Color Grading تدرج الألوان +cameraRaw Global شامل +cameraRaw Hue درجة اللون +cameraRaw Luminance Detail تفاصيل الإضاءة +cameraRaw Color Detail تفاصيل اللون +cameraRaw Roughness الخشونة +cameraRaw Whites درجات البياض + Content-Aware Move Tool أداة النقل المدرك للمحتوى +layerLabel No Color بلا لون + Preferences… التفضيلات… + Actual Pixels البكسلات الفعلية + Clipping Mask قناع قص + Tool Options خيارات الأداة + Color Picker منتقي الألوان + Color Swatches عينات الألوان + Linear Dodge تفادي خطي (إضافة) + Preview Image معاينة الصورة + Save As حفظ باسم + Remove All إزالة الكل + Unlock إلغاء القفل + Enable تمكين + Disable تعطيل + On تشغيل + Clear Selection مسح التحديد + Invert Selection عكس التحديد + Select Inverse عكس التحديد + Contract تقليص + Sample Size حجم العينة + Strength القوة + Gamma جاما + Input الإدخال + Input Levels مستويات الإدخال + Output Levels مستويات الإخراج + Layer Styles أنماط الطبقات + Blending Mode نمط المزج + Fill Color لون التعبئة + Stroke Color لون الحد + Stroke Width عرض الحد + Shadow الظل + Adjustment Layers طبقات التعديل + Text Layer طبقة نص + Documents المستندات + File Name اسم الملف + File Format تنسيق الملف + Compression الضغط + Artboards لوحات الرسم + Snap to Grid محاذاة إلى الشبكة + Full Screen ملء الشاشة + Fullscreen ملء الشاشة + Workspaces مساحات العمل + Show All إظهار الكل + Hidden مخفي + Duplicate Layer تكرار الطبقة + Ungroup فك المجموعة + Lock Transparent Pixels قفل البكسلات الشفافة + Lock Image Pixels قفل بكسلات الصورة + Lock Position قفل الموضع + Lock All قفل الكل + Show Rulers إظهار المساطر + Guide Layout… تخطيط الخطوط الإرشادية… + Page Setup… إعداد الصفحة… + Reset Preferences إعادة تعيين التفضيلات + Documentation التوثيق + Check for Updates التحقق من وجود تحديثات + Loading… جارٍ التحميل… + Processing… جارٍ المعالجة… + Saving… جارٍ الحفظ… + Exporting… جارٍ التصدير… + Please wait… يُرجى الانتظار… + No selection لا يوجد تحديد + No layers لا توجد طبقات + No recent files لا توجد ملفات حديثة + Unsupported file format تنسيق ملف غير مدعوم + Failed to open file فشل فتح الملف + Failed to save file فشل حفظ الملف + Operation canceled تم إلغاء العملية + Changes have not been saved. لم يتم حفظ التغييرات. + Are you sure? هل أنت متأكد؟ + Discard Changes تجاهل التغييرات + Recent Files الملفات الحديثة + Open File فتح ملف + Save File حفظ ملف + Save Changes حفظ التغييرات + Rendering… جارٍ التصيير… + Importing… جارٍ الاستيراد… + Ready جاهز + Failed فشل + Warning تحذير + Information معلومات + Retry إعادة المحاولة + Continue متابعة + Skip تخطي + Resume استئناف + Reset All إعادة تعيين الكل + Defaults الافتراضيات + Apply to All تطبيق على الكل + Confirm تأكيد + Finish إنهاء + Back رجوع + Next التالي + Previous السابق + More المزيد + Less أقل + Manual يدوي + Disabled معطل + Locked مقفل + Unlocked غير مقفل + Delete… حذف… + Create… إنشاء… + Edit… تحرير… + Change… تغيير… + Transformation التحويل + Scaling التحجيم + Canvas Size حجم لوحة الرسم + Percentage النسبة المئوية + Degrees درجة + Middle وسط + Diameter القطر + Intensity الشدة + Sensitivity الحساسية + Softness النعومة + Feather Radius نصف قطر تلاشي الحواف + Library المكتبة + Layer Properties خصائص الطبقة + Groups المجموعات + Masks الأقنعة + Add Mask إضافة قناع + Delete Mask حذف القناع + Invert Mask عكس القناع + Enable Mask تمكين القناع + Disable Mask تعطيل القناع + Apply Mask تطبيق القناع + Import Settings استيراد الإعدادات + Export Settings تصدير الإعدادات + Shortcut اختصار + Shortcuts اختصارات + Keyboard لوحة المفاتيح + Mouse الماوس + Tablet اللوح الرقمي + Display الشاشة + Panel اللوحة + Hide Grid إخفاء الشبكة + Fit to Window ملاءمة للنافذة + Live Preview معاينة حية + Before قبل + After بعد + Compare مقارنة + File Size حجم الملف + Filename اسم الملف + Folder المجلد + Open Folder فتح المجلد + Choose Folder اختيار مجلد + Browse استعراض + Find بحث + Replace استبدال + Date التاريخ + Learn More معرفة المزيد + Report a Bug الإبلاغ عن خطأ + Updates التحديثات + Update تحديث + Restart Required يلزم إعادة التشغيل + Restart إعادة التشغيل + Quit إنهاء + Quit PhotoCraft إنهاء PhotoCraft + Close Window إغلاق النافذة + New Window نافذة جديدة + Open Image فتح صورة + Save Image حفظ الصورة + Export Image تصدير الصورة + Import Image استيراد صورة + Export As تصدير باسم + Export to تصدير إلى + Export Options خيارات التصدير + Import Options خيارات الاستيراد + No Selection لا يوجد تحديد + No Document لا يوجد مستند + No Image لا توجد صورة + No Layers لا توجد طبقات + No Results لا توجد نتائج + No Results Found لم يتم العثور على نتائج + Nothing to Undo لا شيء للتراجع عنه + Nothing to Redo لا شيء لإعادته + Changes Saved تم حفظ التغييرات + Unsaved Changes تغييرات غير محفوظة + Save before closing? هل تريد الحفظ قبل الإغلاق؟ + Are you sure you want to quit? هل أنت متأكد من أنك تريد الإنهاء؟ + The file could not be opened. تعذر فتح الملف. + The file could not be saved. تعذر حفظ الملف. + Unsupported format تنسيق غير مدعوم + Out of memory نفدت الذاكرة + Permission denied تم رفض الإذن + File not found الملف غير موجود + Operation failed فشلت العملية + Operation completed اكتملت العملية + Operation cancelled تم إلغاء العملية + Sharpen Amount مقدار التوضيح + Sharpen Radius نصف قطر التوضيح + Sharpen Detail تفاصيل التوضيح + Sharpen Masking قناع التوضيح + Noise Luminance إضاءة التشويش + Noise Luminance Detail تفاصيل إضاءة التشويش + Noise Color لون التشويش + Noise Color Detail تفاصيل لون التشويش + Grain Amount مقدار الحبيبات + Grain Size حجم الحبيبات + Grain Roughness خشونة الحبيبات + Vignette Roundness استدارة تظليل الأركان + Vignette Feather تلاشي تظليل الأركان + Vignette Highlights إبرازات تظليل الأركان + Vignette Style نمط تظليل الأركان + Planes المستويات + Plane المستوى + Shadow Amount مقدار الظلال + Shadow Tone درجة لون الظلال + Shadow Radius نصف قطر الظلال + Highlight Amount مقدار الإبرازات + Highlight Tone درجة لون الإبرازات + Highlight Radius نصف قطر الإبرازات + Midtone الدرجة المتوسطة + Black Clip اقتطاع السواد + White Clip اقتطاع البياض + Fuzziness التفاوت + Source Layer طبقة المصدر + Neutralize معادلة + Use Selection In Source استخدام التحديد في المصدر + Use Selection In Target استخدام التحديد في الوجهة + Flame Type نوع اللهب + Randomize Length طول عشوائي + Interval الفاصل الزمني + Adjust Interval For Loops ضبط الفاصل الزمني للحلقات + Use Custom Color استخدام لون مخصص + Flame Lines خطوط اللهب + Flame Bottom Alignment محاذاة أسفل اللهب + Flame Style نمط اللهب + Flame Shape شكل اللهب + Randomize Shapes أشكال عشوائية + Frame إطار + Arrangement الترتيب + Thickness السماكة + Vine Color لون اللبلاب + Flower Color لون الزهرة + Leaf Color لون الورقة + Base Tree Type نوع الشجرة الأساسي + Light Direction اتجاه الضوء + Leaves Amount كمية الأوراق + Leaves Size حجم الأوراق + Branches Height ارتفاع الأغصان + Branches Thickness سماكة الأغصان + Default Leaves الأوراق الافتراضية + Leaves Color لون الأوراق + Custom Branch Color لون أغصان مخصص + Branches Color لون الأغصان + Flat Shading تظليل مسطح + Date and Time التاريخ والوقت + Scale Units وحدات المقياس + Scale Factor معامل المقياس + Area المساحة + Perimeter المحيط + Circularity الدائرية + Gray Value (Minimum) قيمة الرمادي (الحد الأدنى) + Gray Value (Maximum) قيمة الرمادي (الحد الأقصى) + Gray Value (Mean) قيمة الرمادي (المتوسط) + Gray Value (Median) قيمة الرمادي (الوسيط) + Integrated Density الكثافة المتكاملة + Length الطول + In Black أسود الإدخال + In White أبيض الإدخال + Out Black أسود الإخراج + Out White أبيض الإخراج + Tint Color لون الصبغة + Stops نقاط التوقف + Center X المركز X + Center Y المركز Y + Distribution التوزيع + Monochromatic أحادي اللون + Cell Size حجم الخلية + Generators المولدات + Wavelength Min الحد الأدنى للطول الموجي + Wavelength Max الحد الأقصى للطول الموجي + Amplitude Min الحد الأدنى للسعة + Amplitude Max الحد الأقصى للسعة + Undefined Areas المناطق غير المحددة + Preserve الاحتفاظ + Max Radius أقصى نصف قطر + Depth Mode نمط العمق + Solid Front Faces أوجه أمامية مصمتة + Mask Incomplete Blocks حجب الكتل غير المكتملة + Stylization الأسلبة + Cleanliness النظافة + Bristle Detail تفاصيل الشعيرات + Lighting الإضاءة + Shine اللمعان + Max Offset أقصى إزاحة + Map Document مستند الخريطة + Map Path مسار الخريطة + Map Layer طبقة الخريطة + Ridges الحواف البارزة + Light Type نوع الضوء + Light X الضوء X + Light Y الضوء Y + Light Z الضوء Z + Target X الهدف X + Target Y الهدف Y + Hotspot البؤرة الساخنة + Elevation الارتفاع + Ambient الضوء المحيط + Warmth الدفء + Gloss اللمعان + Metallic معدني + Ambience المحيط + White Is High الأبيض يمثل الارتفاع + Reduce Color Noise تقليل تشويش الألوان + Sharpen Details توضيح التفاصيل + Remove Jpeg Artifact إزالة تشوهات JPEG + Blade Curvature انحناء الشفرات + Depth Map خريطة العمق + Focal Distance المسافة البؤرية + Focus التركيز (الفوكس) + Transition الانتقال + Radius X نصف القطر X + Radius Y نصف القطر Y + Pins الدبابيس + Blur Angle زاوية التمويه + Speed السرعة + Taper المستدق + Start X البداية X + Start Y البداية Y + End X النهاية X + End Y النهاية Y + Kernel النواة (Kernel) + Input Mode نمط الإدخال + Row Order ترتيب الصفوف + Eliminate إزالة + Create By إنشاء بواسطة + List قائمة + Pencil Width عرض قلم الرصاص + Stroke Pressure ضغط الحد + Paper Brightness سطوع الورق + Number Of Levels عدد المستويات + Edge Simplicity بساطة الحافة + Edge Fidelity دقة الحافة + Brush Detail تفاصيل الفرشاة + Highlight Area منطقة الإبرازات + Glow Size حجم التوهج + Glow Brightness سطوع التوهج + Brush Type نوع الفرشاة + Stroke Size حجم الحد + Stroke Detail تفاصيل الحد + Highlight Strength قوة الإبرازات + Smoothness النعومة + Edge Thickness سماكة الحافة + Edge Intensity شدة الحافة + Posterization تقليل عدد الألوان + Stroke Length طول الحد + Relief البروز (Relief) + Definition الوضوح + Texture Coverage تغطية الملمس + Shadow Intensity شدة الظل + Edge Width عرض الحافة + Edge Brightness سطوع الحافة + Direction Balance توازن الاتجاه + Black Intensity شدة السواد + White Intensity شدة البياض + Dark Intensity شدة الدكنة + Custom Pixel Aspect Ratio نسبة أبعاد البكسل المخصصة + 32-bit Preview Options خيارات معاينة 32 بت + New Guide خط إرشادي جديد + Join the ArtCraft Discord الانضمام إلى Discord الخاص بـ ArtCraft + Report an Issue الإبلاغ عن مشكلة + Load Files into Stack تحميل الملفات في حزمة + Statistics الإحصائيات + Duplicate Layers تكرار الطبقات + Edit Toolbar تحرير شريط الأدوات + Import Brushes استيراد الفُرش + Load 3D LUT تحميل 3D LUT + New document مستند جديد + Press keys اضغط على المفاتيح + Rename Group إعادة تسمية المجموعة + Rename Tool Preset إعادة تسمية الإعداد المسبق للأداة + Search commands, tools and panels البحث في الأوامر والأدوات واللوحات + Slice Options خيارات الشريحة + Rename Brush إعادة تسمية الفرشاة + Opening جارٍ الفتح + Reading جارٍ القراءة + Working جارٍ العمل + Accented Edges حواف محددة + Angled Strokes خطوط مائلة + Anisotropic متباين الخواص + Around Center حول المركز + Artistic فني + Bamboo خيزران + Bas Relief نقش بارز منخفض + Berries توت + Blast عصف + Bleach Bypass تخطي التبييض (Bleach Bypass) + Blocks كتل + Brick طوب + Brush Strokes ضربات الفرشاة + Burlap خيش + Candle Light ضوء شمعة + Circle دائرة + Clumped متكتل + Coarse Dots نقاط خشنة + Colored Pencil قلم ملون + Contrasty عالي التباين + Cool بارد + Craquelure تشقق (Craquelure) + Cross صليب / متقاطع + Cross Process معالجة متقاطعة + Crosshatch تظليل متقاطع + Cutout قصاصات + Daisies أقحوان + Dark Rough خشن داكن + Dark Strokes خطوط داكنة + Darken Only تغميق فقط + Day For Night تصوير نهاري ليلي + Deep Blue أزرق عميق + Deep Emerald زمردي عميق + Deep Red أحمر عميق + Deep Yellow أصفر عميق + Dot نقطة + Double Line خط مزدوج + Draft مسودة + Dry Brush فرشاة جافة + Duplication تكرار + Edge Extension تمديد الحافة + Edge Only الحافة فقط + Enlarged مكبر + Even Fields حقول زوجية + Faded Film فيلم باهت + Film Grain حبيبات الفيلم + Fine دقيق + Fine Dots نقاط دقيقة + Flat مسطح + Fresco لوحة جدارية (فريسكو) + From Left من اليسار + From Right من اليمين + Frosted مثلج / مغشى + Generic عام + Glass زجاج + Glowing Edges حواف متوهجة + Grainy Dots نقاط حبيبية + Hearts قلوب + Heptagon مسبع + Hexagon مسدس + Horizontal Only أفقي فقط + Infinite لانهائي + Ink Outlines مخططات بالحبر + Ivy لبلاب + Left Diagonal قطري لليسار + Level Based معتمد على المستويات + Light Rough خشن فاتح + Lighten Only تفتيح فقط + Long Lines خطوط طويلة + Long Strokes ضربات طويلة + Lower سفلي + Medium Dots نقاط متوسطة + Medium Lines خطوط متوسطة + Medium Strokes ضربات متوسطة + Mono Contrast تباين أحادي + Mosaic Tiles بلاطات فسيفساء + Multiple Flames Along Path ألسنة لهب متعددة على طول المسار + Multiple Flames One Direction ألسنة لهب متعددة في اتجاه واحد + Multiple Flames Path Directions ألسنة لهب متعددة في اتجاهات المسار + Multiple Flames Various Length ألسنة لهب متعددة بأطوال مختلفة + Octagon مثمن + Odd Fields حقول فردية + One Flame Along Path لهب واحد على طول المسار + Out From Center من المركز إلى الخارج + Oval بيضاوي + Overlay Edge تراكب الحافة + Palette Knife سكين لوحة الألوان + Parallel متوازٍ + Patchwork ترقيع (Patchwork) + Pentagon مخمس + Point نقطة + Pointed مدبب + Pond Ripples تموجات البركة + Pyramids أهرامات + Random عشوائي + Right Diagonal قطري لليمين + Rope حبل + Roses ورود + Sandstone حجر رملي + Scallops حواف هلالية + Sepia بني داكن (سيبيا) + Short Lines خطوط قصيرة + Short Strokes ضربات قصيرة + Simple بسيط + Light Intensity شدة الضوء + Spray Radius نصف قطر الرذاذ + Stroke Direction اتجاه الحد + Graininess درجة الحبيبات + Glow Amount مقدار التوهج + Clear Amount مقدار النقاء + Distortion التشويه + Ripple Size حجم التموج + Ripple Magnitude شدة التموج + Charcoal Area منطقة الفحم + Chalk Area منطقة الطباشير + Charcoal Thickness سماكة الفحم + Light Dark Balance توازن الضوء والظلام + Foreground Level مستوى لون المقدمة + Background Level مستوى لون الخلفية + Pattern Type نوع النقش + Image Balance توازن الصورة + Darkness الدكنة + Fiber Length طول الألياف + Crack Spacing تباعد الشقوق + Crack Depth عمق الشقوق + Crack Brightness سطوع الشقوق + Grain Type نوع الحبيبات + Tile Size حجم البلاطة + Grout Width عرض الجص (Grout) + Lighten Grout تفتيح الجص + Square Size حجم المربع + Border Thickness سماكة الإطار + Correct Distortion تصحيح التشويه + Correct Vignette تصحيح تظليل الأركان + Correct C A تصحيح الزيغ اللوني (CA) + Auto Scale تحجيم تلقائي + Red Cyan أحمر/سماوي + Blue Yellow أزرق/أصفر + Vignette Amount مقدار تظليل الأركان + Vignette Midpoint نقطة منتصف تظليل الأركان + Constraints القيود + Curve Highlights إبرازات المنحنى + Curve Lights أضواء المنحنى + Curve Darks دكنة المنحنى + Curve Shadows ظلال المنحنى + Curve Splits تقسيمات المنحنى + Point Curve منحنى نقطي + Point Curve Red منحنى نقطي أحمر + Point Curve Green منحنى نقطي أخضر + Point Curve Blue منحنى نقطي أزرق + Hsl Hue درجة لون HSL + Hsl Sat تشبع HSL + Hsl Lum إضاءة HSL + Grade Shadows تدرج الظلال + Grade Midtones تدرج النغمات المتوسطة + Grade Highlights تدرج الإبرازات + Grade Global تدرج شامل + Grade Blending مزج التدرج + Grade Balance توازن التدرج + Sine جيب الزاوية (Sine) + Sketch رسم تخطيطي (اسكتش) + Snowflakes ندف الثلج + Sparkle بريق + Spatter رشاش + Speckle بقع صغيرة + Spin دوران + Sprinkles حبيبات مرشوشة + Squareness تربيع + Stagger تدرج متعاقب + Stained Glass زجاج معشق + Star نجمة + Stars نجوم + Stippled منقط + Stretch تمديد + Teal Orange سماوي داكن وبرتقالي + Tiny Lens عدسة دقيقة + To Center إلى المركز + Unaltered دون تعديل + Underpainting طلاء تأسيسي + Underwater تحت الماء + Uniform منتظم + Upper علوي + Vertical Only رأسي فقط + Vine With Flowers لبلاب مع أزهار + Vine With Leaves لبلاب مع أوراق + Violent عنيف + Warm دافئ + Watercolor ألوان مائية + Waves أمواج + Wide Blurry عريض مموه + Wide Sharp عريض حاد + Wrap التفاف + Zigzag تعرج + Wetness الرطوبة + AI Integrations عمليات دمج الذكاء الاصطناعي + Add Noise إضافة تشويش + Apply Data Set تطبيق مجموعة البيانات + Apply Image تطبيق الصورة + Arbitrary عشوائي / اختياري + Artboard from Group لوحة رسم من المجموعة + Artboard from Layers لوحة رسم من الطبقات + Artboards to Files لوحات الرسم إلى ملفات + Artboards to PDF لوحات الرسم إلى PDF + Assign Profile تعيين ملف التعريف + At عند + Auto-Align Layers محاذاة الطبقات تلقائيًا + Auto-Blend Layers دمج الطبقات تلقائيًا + Batch دفعة (Batch) + Border إطار + Box Blur تمويه الصندوق + Calculations الحسابات + Camera Raw Camera Raw + Camera Raw Filter مرشح Camera Raw + Channel1 قناة 1 + Channel2 قناة 2 + Channel3 قناة 3 + Channel4 قناة 4 + Clone نسخ متطابق + Color Decontaminate إزالة التلوث اللوني + Color Halftone نصف نغمة لوني + Color Lookup Tables جداول بحث الألوان + Color Settings إعدادات الألوان + Color Table جدول الألوان + Conditional Mode Change تغيير النمط الشرطي + Content-Aware Fill تعبئة مدركة للمحتوى + Convert to Linked تحويل إلى كائن مرتبط + Convert to Profile تحويل إلى ملف تعريف + Crystallize بلورة + Data البيانات + Data Sets as Files مجموعات البيانات كملفات + De-Interlace إزالة التداخل + Define Brush Preset تعريف إعداد مسبق للفرشاة + Define Custom Shape تعريف شكل مخصص + Define Pattern تعريف نقش + Defringe إزالة الهالات + Diffuse انتشار + Diffuse Glow توهج منتشر + Displace إزاحة + Do you want to save you made to “{name}” before quitting? هل تريد حفظ التغييرات التي أجريتها على "{name}" قبل الإنهاء؟ + Dust & Scratches غبار وخدوش + Export Contents تصدير المحتويات + Export Preferences تفضيلات التصدير + Export/Import Presets تصدير/استيراد الإعدادات المسبقة + Extrude بثق + Fibers ألياف + Field Blur تمويه الحقل + File Info معلومات الملف + Filter Gallery معرض المرشحات + Find and Replace Text بحث واستبدال النص + Fit Image ملاءمة الصورة + Flame لهب + Focus Area منطقة التركيز + Gaussian Blur تمويه غاوسي + Global Light إضاءة شاملة + Group from Layers مجموعة من الطبقات + HDR Toning تدرج HDR + High Pass مرشح التمرير العالي + Highlight إبراز + Image Processor معالج الصور + Install Plug-in تثبيت مكون إضافي + Interpret Footage تفسير اللقطات + Iris Blur تمويه الحدقة + Jag تسنن + Label تسمية + Layer Comps to Files تكوينات الطبقات إلى ملفات + Layer Content Options خيارات محتوى الطبقة + Layer From Background طبقة من الخلفية + Layer from Background طبقة من الخلفية + Layers to Files الطبقات إلى ملفات + Legacy النمط القديم + Lens Blur تمويه العدسة + Lens Correction تصحيح العدسة + Lens Flare توهج العدسة + Lighting Effects تأثيرات الإضاءة + Liquify تسييل (Liquify) + Lock Layers قفل الطبقات + Lum إضاءة + Match Color مطابقة اللون + Merge to HDR Pro دمج في HDR Pro + Mezzotint تظليل نصفي + Mosaic فسيفساء + Motion Blur تمويه الحركة + Native file drag-and-drop is not supported on Wayland yet. Use File › Open, or run PhotoCraft under XWayland with `WAYLAND_DISPLAY= photocraft`. السحب والإفلات الأصلي للملفات غير مدعوم على Wayland بعد. استخدم ملف › فتح، أو شغّل PhotoCraft عبر XWayland باستخدام `WAYLAND_DISPLAY= photocraft`. + Neon Glow توهج نيون + New Guide Layout تخطيط خطوط إرشادية جديد + New Video Layer from File طبقة فيديو جديدة من ملف + Ocean Ripple تموج المحيط + Oil Paint طلاء زيتي + Open As فتح باسم + Package حزمة + Paint Daubs لطخات الطلاء + Path Blur تمويه المسار + Paths to Illustrator تصدير المسارات إلى Illustrator + Photomerge Photomerge + Picture Frame إطار صورة + Pinch ضغط + Place Embedded إدراج مضمن + Place Linked إدراج مرتبط + Place Scale Marker وضع علامة المقياس + Plastic Wrap تغليف بلاستيكي + Pointillize تنقيط + Polar Coordinates إحداثيات قطبية + Polar To Rectangular من قطبي إلى مستطيل + Poster Edges حواف الملصق + Preset Manager مدير الإعدادات المسبقة + Profile ملف التعريف + Radial Blur تمويه شعاعي + Raw Defaults افتراضيات Raw + Rectangular To Polar من مستطيل إلى قطبي + Reduce Noise تقليل التشويش + Relink to File إعادة الربط بالملف + Render Video تصيير الفيديو + Replace Color استبدال اللون + Replace Contents استبدال المحتويات + Replace Footage استبدال اللقطات + Resolve Missing Fonts حل الخطوط المفقودة + Ripple تموج + Rough Pastels ألوان باستيل خشنة + Sat تشبع + Save a Copy حفظ نسخة + Save for Web (Legacy) حفظ للويب (قديم) + Scale Effects تحجيم التأثيرات + Script Events Manager مدير أحداث البرامج النصية + Search menus البحث في القوائم + Seed قيمة أولية (Seed) + Select and Mask تحديد وقناع + Set Measurement Scale تعيين مقياس القياس + Shadows/Highlights الظلال/الإبرازات + Shape Blur تمويه الشكل + Shear قص + Smart Blur تمويه ذكي + Smart Sharpen توضيح ذكي + Smudge Stick قلم الدمج + Solid Color لون خالص + Spherize تكبير كروي + Spin Blur تمويه الدوران + Spot موضعي + Sprayed Strokes ضربات بالرذاذ + Strokes الحدود + Sumi-e سومي-إي (Sumi-e) + Surface Blur تمويه السطح + Texturizer إضافة ملمس (Texturizer) + Tiles بلاطات + Tilt-Shift إمالة وتغيير الموضع + Trace Contour تتبع الخط المحيطي + Trap حصر الألوان + Tree شجرة + Trim قص الزوائد (Trim) + Turbulent مضطرب + Twirl التواء + Unsharp Mask قناع التوضيح + Use File › Open to open an image. استخدم ملف › فتح لفتح صورة. + Vanishing Point نقطة التلاشي + Variable Data Sets مجموعات البيانات المتغيرة + Video Frames to Layers إطارات الفيديو إلى طبقات + WIA Support دعم WIA + Warp Text التواء النص + Wind رياح + ZigZag تعرج + Vertical Type Tool أداة النص الرأسي + About {app} حول {app} + Hide {app} إخفاء {app} + Quit {app} إنهاء {app} + Services الخدمات + Hide Others إخفاء التطبيقات الأخرى + Lut LUT + Cooling L B B مرشح تبريد (LBB) + Cooling80 مرشح تبريد (80) + Cooling82 مرشح تبريد (82) + Hsb HSB + Hsl HSL + Movie Prime عدسة سينمائية رئيسية + Prime105 عدسة رئيسية 105 مم + Prime35 عدسة رئيسية 35 مم + Rgb RGB + Warming L B A مرشح تدفئة (LBA) + Warming81 مرشح تدفئة (81) + Warming85 مرشح تدفئة (85) +@id filter.sharpen.sharpen توضيح + Good جيد + Best الأفضل + Adjustment Properties خصائص التعديل + Default Foreground and Background Colors لونا المقدمة والخلفية الافتراضيان + Move Layer تحريك الطبقة + Rectangular Selection تحديد مستطيل + Reorder Layer إعادة ترتيب الطبقة + Select Layer تحديد الطبقة + Set Colors تعيين الألوان + Switch Foreground and Background Colors تبديل لوني المقدمة والخلفية + Target الهدف + +# Path, channel, layer style, status and System Info labels the Czech catalog added + Make Work Path… إنشاء مسار عمل… + Create Vector Mask إنشاء قناع متجه + Make Selection… إنشاء تحديد… + Fill Path… تعبئة المسار… + Clipping Path… مسار القص… + Free Transform Path تحويل حر للمسار + Unite Shapes at Overlap توحيد الأشكال عند التداخل + Subtract Shapes at Overlap طرح الأشكال عند التداخل + Copy Fill نسخ التعبئة + Copy Complete Stroke نسخ الحد الكامل + Paste Fill لصق التعبئة + Paste Complete Stroke لصق الحد الكامل + Make Symmetry Path إنشاء مسار تناظر + Disable Symmetry Path تعطيل مسار التناظر + Dark Gray رمادي داكن + Medium Gray رمادي متوسط + Select Custom Color… تحديد لون مخصص… + Color Picker (Custom Canvas Color) منتقي الألوان (لون مخصص للوحة الرسم) + Duplicate Channel تكرار القناة + Delete Channel حذف القناة + Rename Channel… إعادة تسمية القناة… + Merge Spot Channel دمج قناة اللون الخالص + Convert to Alpha Channel تحويل إلى قناة ألفا + Exit Quick Mask الخروج من القناع السريع + New Channel… قناة جديدة… + New Spot Channel… قناة لون خالص جديدة… + Split Channels تقسيم القنوات + Merge Channels… دمج القنوات… + Color Indicates Masked Areas اللون يشير إلى المناطق المقنعة + Color Indicates Selected Areas اللون يشير إلى المناطق المحددة + ✓ Color Indicates Masked Areas ✓ اللون يشير إلى المناطق المقنعة + ✓ Color Indicates Selected Areas ✓ اللون يشير إلى المناطق المحددة + Up أعلى + To إلى + Shallow سطحي + Deep عميق + Blend Interior Effects as Group مزج التأثيرات الداخلية كمجموعة + Blend Clipped Layers as Group مزج الطبقات المقصوصة كمجموعة + Transparency Shapes Layer الشفافية تشكّل الطبقة + Layer Mask Hides Effects قناع الطبقة يخفي التأثيرات + Vector Mask Hides Effects القناع المتجه يخفي التأثيرات + General Blending مزج عام + This Layer: هذه الطبقة: + Underlying Layer: الطبقة السفلية: + Nothing to paste: the clipboard holds no image لا يوجد شيء للصقه: لا تحتوي الحافظة على أي صورة + Preferences saved تم حفظ التفضيلات + Invalid panel layout; restored the default dock تخطيط اللوحات غير صالح؛ تمت استعادة التخطيط الافتراضي + Preferences were reset: {error} تمت إعادة تعيين التفضيلات: {error} + Recovered {name} تم استرداد {name} + Couldn't save preferences: {error}. Retrying… تعذر حفظ التفضيلات: {error}. جارٍ إعادة المحاولة… + Autosave failed: {error} فشل الحفظ التلقائي: {error} + Exported presets to {path} تم تصدير الإعدادات المسبقة إلى {path} + Ran script {name} تم تشغيل البرنامج النصي {name} + Sent to the printer ({spooler}) تم الإرسال إلى الطابعة ({spooler}) + Printed to {path} تمت الطباعة إلى {path} + Exported {path} ({size}) تم تصدير {path} ({size}) + Exported {path} تم تصدير {path} + Added swatch {name} تمت إضافة عينة اللون {name} + Step {step} ({id}) failed: {error} فشلت الخطوة {step} ({id}): {error} + Could not rename the action: {error} تعذر إعادة تسمية الإجراء: {error} + Action playback failed: {error} فشل تشغيل الإجراء: {error} + Clone source set at {x}, {y} تم تعيين مصدر النسخ عند {x}، {y} + Color management: {error} إدارة الألوان: {error} + Opened {url} تم فتح {url} + No custom shape "{name}": pick one in the options bar or Window › Shapes لا يوجد شكل مخصص باسم "{name}": اختر شكلاً من شريط الخيارات أو نافذة › أشكال + Saved a copy as {path} تم حفظ نسخة باسم {path} + Exported contents to {path} تم تصدير المحتويات إلى {path} + {label} is not available: {reason} {label} غير متوفر: {reason} + Saved {path}; image assets: {n} in {dir} تم حفظ {path}؛ أصول الصور: {n} في {dir} + {message} (notes: {n}; {warning}) {message} (ملاحظات: {n}؛ {warning}) + Preferences can't be saved لا يمكن حفظ التفضيلات + PhotoCraft keeps retrying; until a save succeeds, preference changes are lost when it closes. يواصل PhotoCraft إعادة المحاولة؛ وإلى أن ينجح الحفظ، ستُفقد تغييرات التفضيلات عند إغلاقه. + GPU retry scheduled تمت جدولة إعادة محاولة تشغيل GPU + Save your work and restart PhotoCraft to retry GPU acceleration. CPU rendering remains active for this session. احفظ عملك وأعد تشغيل PhotoCraft لإعادة محاولة تسريع GPU. يظل تصيير CPU نشطًا لهذه الجلسة. + GPU device was lost; using the CPU renderer. تم فقد جهاز GPU؛ يتم استخدام مُصيّر CPU. + GPU error; using the CPU renderer. خطأ في GPU؛ يتم استخدام مُصيّر CPU. + Couldn't open {name}: {error} تعذر فتح {name}: {error} + Toggle the Brush Settings panel تبديل لوحة إعدادات الفرشاة + New Brush Preset إعداد مسبق جديد للفرشاة + Grid view عرض الشبكة + List view عرض القائمة + {verb} {mask} {layer} {verb} {mask} {layer} + Unlink إلغاء الربط + Link ربط + layer mask قناع طبقة + vector mask قناع متجه + Commit transform تأكيد التحويل + Cancel transform إلغاء التحويل + Scroll menu up تمرير القائمة لأعلى + Scroll menu down تمرير القائمة لأسفل + This type layer must be rasterized before proceeding. Its text will no longer be editable. Rasterize the type? يجب تنقيط طبقة النص هذه قبل المتابعة. ولن يعود النص قابلاً للتحرير بعد ذلك. هل تريد تنقيط النص؟ + This shape layer must be rasterized before proceeding. It will no longer be editable as a shape. Rasterize the shape? يجب تنقيط طبقة الشكل هذه قبل المتابعة. ولن تعود قابلة للتحرير كشكل بعد ذلك. هل تريد تنقيط الشكل؟ + This Smart Object must be rasterized before proceeding. Its contents will no longer be editable. Rasterize the Smart Object? يجب تنقيط هذا الكائن الذكي قبل المتابعة. ولن تعود محتوياته قابلة للتحرير بعد ذلك. هل تريد تنقيط الكائن الذكي؟ + This fill layer must be rasterized before proceeding. Its fill content will no longer be editable. Rasterize the layer? يجب تنقيط طبقة التعبئة هذه قبل المتابعة. ولن يعود محتوى التعبئة قابلاً للتحرير بعد ذلك. هل تريد تنقيط الطبقة؟ + This layer must be rasterized before proceeding. يجب تنقيط هذه الطبقة قبل المتابعة. + Color Picker (Background Color) منتقي الألوان (لون الخلفية) + Color Picker (Foreground Color) منتقي الألوان (لون المقدمة) + Adwaita (Light) Adwaita (فاتح) + Adwaita (Dark) Adwaita (داكن) + Breeze Light Breeze فاتح + Breeze Dark Breeze داكن + Solarized Dark Solarized داكن + Open Recent is unavailable on the web فتح العناصر الحديثة غير متوفر على الويب + Graphics adapter: {adapter} محول الرسومات: {adapter} + Backend: {backend} ({type}) الواجهة الخلفية: {backend} ({type}) + Driver: {driver} برنامج التشغيل: {driver} + GPU backend preference: {backend} تفضيل الواجهة الخلفية لوحدة معالجة الرسومات: {backend} + Selected at launch: {backend} تم التحديد عند بدء التشغيل: {backend} + Image compositor: {processor} مركب الصور: {processor} + Fallback: {reason} الاحتياطي: {reason} + This session: {reason} هذه الجلسة: {reason} + Window renderer: {renderer} مصير النافذة: {renderer} + Software adapter محول برمجي + Graphics adapter محول الرسومات + unknown غير معروف + unknown type نوع غير معروف + auto تلقائي + Platform: {os} {arch} المنصة: {os} {arch} + previous reading kept; the last re-read failed: {reason} تم الاحتفاظ بالقراءة السابقة؛ فشلت إعادة القراءة الأخيرة: {reason} + Monitor profile: {profile} الملف التعريفي للشاشة: {profile} + Display profiles: {reason} ملفات تعريف الشاشة: {reason} + Monitor profile in use on {display}: {profile} الملف التعريفي للشاشة قيد الاستخدام على {display}: {profile} + Monitor profile in use: {profile} الملف التعريفي للشاشة قيد الاستخدام: {profile} + The canvas is shown as sRGB. Choose a monitor profile in Edit › Color Settings. تُعرض لوحة الرسم بتنسيق sRGB. اختر ملف تعريف للشاشة في تحرير › إعدادات الألوان. + The canvas on {display} is shown as sRGB. Choose a monitor profile in Edit › Color Settings. تُعرض لوحة الرسم على {display} كـ sRGB. اختر ملف تعريف شاشة في تحرير › إعدادات اللون. + Display profile not used ملف تعريف الشاشة غير مستخدم + Monitor profile on {display} (main window): {profile} الملف التعريفي للشاشة على {display} (النافذة الرئيسية): {profile} + Monitor profile on {display}: {profile} الملف التعريفي للشاشة على {display}: {profile} + manual يدوي + fallback احتياطي + Importing {what} from {file}… جارٍ استيراد {what} من {file}… + brushes فُرش + gradients تدرجات +@plural Imported {n} brush from {file}|Imported {n} brushes from {file} تم استيراد {n} فرشاة من {file}|تم استيراد {n} فرشاة من {file}|تم استيراد {n} فرشتين من {file}|تم استيراد {n} فرش من {file}|تم استيراد {n} فرشاة من {file}|تم استيراد {n} فرشاة من {file} +@plural Imported {n} gradient from {file}|Imported {n} gradients from {file} تم استيراد {n} تدرج من {file}|تم استيراد {n} تدرج من {file}|تم استيراد {n} تدرجين من {file}|تم استيراد {n} تدرجات من {file}|تم استيراد {n} تدرجًا من {file}|تم استيراد {n} تدرج من {file} +@plural Imported {n} pattern from {file}|Imported {n} patterns from {file} تم استيراد {n} نقش من {file}|تم استيراد {n} نقش من {file}|تم استيراد {n} نقشين من {file}|تم استيراد {n} نقوش من {file}|تم استيراد {n} نقشًا من {file}|تم استيراد {n} نقش من {file} + Data Set: {name} ({index}/{total}) مجموعة بيانات: {name} ({index}/{total}) + (none) (بلا) +navigator Zoom تكبير + Apply {option}: {state} تطبيق {option}: {state} + on تشغيل + off إيقاف + This adjustment ({key}) is kept as imported and can't be edited yet. يتم الاحتفاظ بهذا التعديل ({key}) كما تم استيراده ولا يمكن تحريره بعد. + Join the ArtCraft Discord ({url}) انضم إلى مجتمع ArtCraft على Discord ({url}) + {index} of {total} {index} من {total} + {shortcut} assigned. تم تعيين {shortcut}. + {shortcut} is already in use by {commands} and will be removed from it when you click OK. الاختصار {shortcut} مستخدم بالفعل بواسطة {commands} وستتم إزالته منه عند النقر على "موافق". + Object Finder باحث الكائنات + No object found there — drag a rectangle around it لم يتم العثور على أي كائن هناك — اسحب مستطيلاً حوله + Remove after each stroke إزالة بعد كل خطوة رسم + Apply the removal ({key}) تطبيق الإزالة ({key}) + Strokes to remove: {n} (Enter applies, Esc cancels) الضربات المراد إزالتها: {n} (Enter للتطبيق، Esc للإلغاء) + Show home recent files إظهار الملفات الحديثة في الشاشة الرئيسية + Clear Brush Controls مسح عناصر تحكم الفرشاة + Reset All Locked Settings إعادة تعيين كافة الإعدادات المقفلة + Copy Texture to Other Tools نسخ الملمس إلى الأدوات الأخرى + +# Actions panel: Load/Save Actions (.atn) and kept Photoshop steps + Load Actions… تحميل الإجراءات… + Save Actions… حفظ الإجراءات… + {name} (Photoshop) {name} (Photoshop) + {message} ({note}) {message} ({note}) +@plural Loaded {n} action from {file}|Loaded {n} actions from {file} تم تحميل {n} إجراء من {file}|تم تحميل {n} إجراء من {file}|تم تحميل {n} إجراءين من {file}|تم تحميل {n} إجراءات من {file}|تم تحميل {n} إجراءً من {file}|تم تحميل {n} إجراء من {file} +@plural {n} step has no PhotoCraft equivalent yet|{n} steps have no PhotoCraft equivalent yet {n} خطوة ليس لها مكافئ في PhotoCraft بعد|{n} خطوة ليس لها مكافئ في PhotoCraft بعد|{n} خطوتان ليس لهما مكافئ في PhotoCraft بعد|{n} خطوات ليس لها مكافئ في PhotoCraft بعد|{n} خطوة ليس لها مكافئ في PhotoCraft بعد|{n} خطوة ليس لها مكافئ في PhotoCraft بعد +@plural Saved {n} action to {file}|Saved {n} actions to {file} تم حفظ {n} إجراء في {file}|تم حفظ {n} إجراء في {file}|تم حفظ {n} إجراءين في {file}|تم حفظ {n} إجراءات في {file}|تم حفظ {n} إجراءً في {file}|تم حفظ {n} إجراء في {file} +@plural {n} step with no Photoshop equivalent left out|{n} steps with no Photoshop equivalent left out تم استبعاد {n} خطوة ليس لها مكافئ في Photoshop|تم استبعاد {n} خطوة ليس لها مكافئ في Photoshop|تم استبعاد {n} خطوتين ليس لهما مكافئ في Photoshop|تم استبعاد {n} خطوات ليس لها مكافئ في Photoshop|تم استبعاد {n} خطوة ليس لها مكافئ في Photoshop|تم استبعاد {n} خطوة ليس لها مكافئ في Photoshop + + File Naming تسمية الملفات + Starting serial الرقم التسلسلي الأولي +# Actions panel: set folders, dialog toggle, Insert Stop + Insert Stop… إدراج نقطة توقف… + Save Set… حفظ المجموعة… + Message: الرسالة: + Allow Continue السماح بالمتابعة + Show dialog during playback إظهار مربع الحوار أثناء التشغيل + Select an action first حدد إجراءً أولاً + Action playback stopped توقف تشغيل الإجراء + Step {step} is waiting for its dialog الخطوة {step} بانتظار مربع الحوار الخاص بها +@plural {n} action|{n} actions {n} إجراء|{n} إجراء|{n} إجراءان|{n} إجراءات|{n} إجراءً|{n} إجراء + Background (Default) الخلفية (افتراضي) +# Batch / Image Processor + Include All Subfolders تضمين كافة المجلدات الفرعية + Auto Add/Delete إضافة/حذف تلقائي + +# Native Windows printing qualification + Don't also tick Mirror Image in Print Settings…: the two flips cancel out. لا تُحدد أيضًا صورة معكوسة في إعدادات الطباعة…: فالانعكاسان يلغي كل منهما الآخر. + Print Settings… إعدادات الطباعة… + Remember to turn off the printer's own colour management in Print Settings… تذكر إيقاف تشغيل إدارة الألوان الخاصة بالطابعة في إعدادات الطباعة… + Sent to {printer} تم الإرسال إلى {printer} + set in Print Settings… محدد في إعدادات الطباعة… + ICO is limited to 256 × 256 pixels ملفات ICO محدودة بـ 256 × 256 بكسل +# Embedded Profile Mismatch: profile names beside the choices, Remember this choice + Use the embedded profile ({profile}) استخدام الملف التعريفي المضمن ({profile}) + Convert to the working space ({profile}) تحويل إلى مساحة العمل ({profile}) + Remember this choice for future images تذكر هذا الاختيار للصور المستقبلية + Turn the prompt back on with Ask On Mismatch in Edit › Color Settings. أعد تشغيل المطالبة باستخدام "السؤال عند عدم التطابق" في تحرير › إعدادات الألوان. + Button Mode نمط الأزرار + Button Mode On تشغيل نمط الأزرار +# Darken / Lighten Interface (⇧⌘F1 / ⇧⌘F2) + Darken Interface تغميق واجهة المستخدم + Lighten Interface تفتيح واجهة المستخدم +# Bevel & Emboss Technique. + Technique التقنية + Chisel Hard إزميل صلب + Chisel Soft إزميل ناعم + Open color-less EXR as ACEScg فتح ملفات EXR عديمة اللون كـ ACEScg + +# Color management, Liquify, glyph group, warp and Camera Raw labels the Serbian, Vietnamese and Japanese catalogs added + Adobe-rgb-compat متوافق مع Adobe RGB + All shortcuts reset to Photoshop defaults. تمت إعادة تعيين كافة الاختصارات إلى افتراضيات Photoshop. + Arc Lower قوس سفلي + Arc Upper قوس علوي + Arrows أسهم + Ask On Mismatch السؤال عند عدم التطابق + Ask On Missing السؤال عند الفقدان + Ask On Paste السؤال عند اللصق + Based On بناءً على + Basic Latin لاتيني أساسي + Bend انحناء + Blend Text Gamma جاما مزج النص + Bloat انتفاخ + Bpc تعويض النقطة السوداء (BPC) + Coated-cmyk CMYK للورق المصقول + Convert تحويل + Currency العملة + Cyrillic سيريلي + Default Photoshop Size حجم Photoshop الافتراضي + Display-p3 Display P3 + Drag a crop box · drag inside to move · edges resize ({ratio} ratio, {centre} centre) · Space moves while drawing · {commit} commits · Esc cancels اسحب مربع قص · اسحب للداخل للتحريك · الحواف لتغيير الحجم ({ratio} النسبة، {centre} المركز) · مسافة للتحريك أثناء الرسم · {commit} للتثبيت · Esc للإلغاء + Drag: draw freehand · Release on the start point: close سحب: رسم يدوي حر · إفلات عند نقطة البداية: إغلاق + Forward Warp التواء للأمام + Freeze Lasso حبل التجميد + Freeze Mask قناع التجميد + Gray-gamma-2.2 رمادي جاما 2.2 + Greek يوناني + Horizontal Distortion تشويه أفقي + Import Photoshop brushes (.abr) استيراد فُرش Photoshop (.abr) + Intent القصد (Intent) + Kerning: Metrics, Optical or a value in 1/1000 em (Alt+←/→ at the caret) تقنين الفواصل: مقاييس أو بصري أو قيمة بـ 1/1000 em (Alt+←/→ عند المؤشر) + Latin 1 لاتيني 1 + Latin Extended-A لاتيني ممتد-A + Latin Extended-B لاتيني ممتد-B + Linear-srgb sRGB خطي + Mask Channel قناة القناع + Mask None بلا قناع + Math Symbols رموز رياضية + Monitor Profile ملف تعريف الشاشة + Numbers الأرقام + Pick Color From Image انتقاء اللون من الصورة + Policy Cmyk سياسة CMYK + Policy Gray سياسة الرمادي + Policy Rgb سياسة RGB + Prophoto-compat متوافق مع ProPhoto + Pucker انكماش (Pucker) + Push Left دفع لليسار + R g b RGB + Rec2020 Rec. 2020 + Reconstruct All إعادة بناء الكل + Save Path حفظ المسار + Sgray sGray + Source Channel القناة المصدر + Source Invert عكس المصدر + Source1 Channel القناة المصدر 1 + Source1 Invert عكس المصدر 1 + Source2 Channel القناة المصدر 2 + Source2 Invert عكس المصدر 2 + Temporary مؤقت + Thaw Mask إلغاء تجميد القناع + Twirl Clockwise التواء مع عقارب الساعة + Twirl Counterclockwise التواء عكس عقارب الساعة + Vertical Distortion تشويه رأسي + Working Cmyk CMYK العامل + Working Gray رمادي عامل + Working Rgb RGB العامل + blue أزرق + gray رمادي + green أخضر + none بلا + orange برتقالي + red أحمر + violet بنفسجي + yellow أصفر +# Shortcut commands, find and replace, profile prompts and metadata labels the German, Hungarian and Serbian catalogs added + Export As: {name} تصدير باسم: {name} + Color Sampler Tool أداة أخذ عينات الألوان + Proof Setup… إعداد المعاينة التجريبية… + Toggle Layer Mask Overlay تبديل تراكب قناع الطبقة + Increase Type Size زيادة حجم النص + Decrease Type Size تقليل حجم النص + Increase Type Size by 10 زيادة حجم النص بمقدار 10 + Decrease Type Size by 10 تقليل حجم النص بمقدار 10 + Make Selection from Path إنشاء تحديد من المسار + Target Composite Channel استهداف القناة المركبة + Target Channel 3 استهداف القناة 3 + Target Channel 4 استهداف القناة 4 + Target Channel 5 استهداف القناة 5 + Target Channel 6 استهداف القناة 6 + Target Channel 7 استهداف القناة 7 + Target Channel 8 استهداف القناة 8 + Target Channel 9 استهداف القناة 9 + Fill with Foreground Color تعبئة بلون المقدمة + Fill with Background Color تعبئة بلون الخلفية + Fill with Foreground Color, Preserve Transparency تعبئة بلون المقدمة مع الحفاظ على الشفافية + Fill with Background Color, Preserve Transparency تعبئة بلون الخلفية مع الحفاظ على الشفافية + Decrease Brush Size تقليل حجم الفرشاة + Increase Brush Size زيادة حجم الفرشاة + Decrease Brush Hardness تقليل صلابة الفرشاة + Increase Brush Hardness زيادة صلابة الفرشاة + Space مسافة + Hand Tool (hold) أداة اليد (اضغط مطولاً) + Zoom In (hold, drag to scrub) تكبير (اضغط مطولاً، واسحب للتكبير السريع) + Zoom Out (hold) تصغير (اضغط مطولاً) + Erase with Brush or Pencil (hold) مسح بالفرشاة أو قلم الرصاص (اضغط مطولاً) + Author Title صفة المؤلف + Copyright Url عنوان URL لحقوق النشر + Title العنوان + Working-cmyk CMYK العامل + Simulate Paper محاكاة الورق + Warming Filter (85) مرشح تدفئة (85) + Cw مع عقارب الساعة + Ccw عكس عقارب الساعة + Nearest أقرب جار + R G B RGB + W: العرض: + A: الارتفاع: + Pattern Fill… تعبئة بنقش… + Any أي + Cmyk CMYK + Dont Enlarge عدم التكبير + Change Find تغيير وبحث + Case Sensitive حساس لحالة الأحرف + Whole Word كلمة كاملة + Forward للأمام + Checkerboard لوحة شطرنج + The document does not have an embedded colour profile. Working space: {working}. المستند لا يحتوي على ملف تعريف ألوان مضمن. مساحة العمل: {working}. + The document has an embedded colour profile that does not match the working space.\nEmbedded: {embedded}\nWorking: {working} المستند يحتوي على ملف تعريف ألوان مضمن لا يطابق مساحة العمل.\nالمضمن: {embedded}\nمساحة العمل: {working} +@id edit.clear مسح +@id file.close إغلاق +@id layer.layerMask.apply تطبيق +cameraRaw Balance التوازن +cameraRaw Clarity الوضوح +cameraRaw Color Mixer مازج الألوان +cameraRaw Contrast التباين +cameraRaw Curve المنحنى +cameraRaw Dehaze إزالة الضباب +cameraRaw Detail التفاصيل +cameraRaw Effects التأثيرات +cameraRaw Exposure التعريض +cameraRaw Feather تلاشي الحواف +cameraRaw Highlights إبرازات +cameraRaw Midpoint نقطة المنتصف +cameraRaw Midtones درجات متوسطة +cameraRaw Radius نصف القطر +cameraRaw Roundness الاستدارة +cameraRaw Saturation التشبع +cameraRaw Shadows ظلال +cameraRaw Size الحجم +cameraRaw Texture بنية +colorRange Invert عكس +document Orientation الاتجاه +layerLabel Magenta أرجواني (Magenta) +layerLabel Red أحمر +layers Fill تعبئة +layers Fill: تعبئة: +shape Appearance المظهر +# View › Guides › right-click a guide + Edit Selected Guides تحرير الخطوط الإرشادية المحددة + Clear Selected Guides مسح الخطوط الإرشادية المحددة + Delete this set حذف هذه المجموعة + New Set… مجموعة جديدة… + PhotoCraft Defaults افتراضيات PhotoCraft + Save a list of these shortcuts as a web page حفظ قائمة بهذه الاختصارات كصفحة ويب + Save the changes to this set حفظ التغييرات في هذه المجموعة + Save these shortcuts as a .kys file حفظ هذه الاختصارات كملف .kys + Save these shortcuts as a new set حفظ هذه الاختصارات كمجموعة جديدة + Set deleted. تم حذف المجموعة. + Set saved. تم حفظ المجموعة. + Set: المجموعة: + Summarize… تلخيص… + There are too many sets: delete one first. يوجد عدد كبير جدًا من المجموعات: يُرجى حذف إحداها أولاً. + set name اسم المجموعة + {set} (modified) {set} (معدل) diff --git a/crates/ui-egui/src/i18n/live_tests.rs b/crates/ui-egui/src/i18n/live_tests.rs index 89c47ef1ac..69104faf02 100644 --- a/crates/ui-egui/src/i18n/live_tests.rs +++ b/crates/ui-egui/src/i18n/live_tests.rs @@ -219,7 +219,7 @@ fn harness_with_services(services: Services) -> egui_kittest::Harness<'static, P #[test] fn first_launch_renders_the_system_language_without_overwriting_auto() { - for (tag, code) in [("en-US", "en"), ("zh-CN", "zh-hans"), ("ja-JP", "ja"), ("ko-KR", "ko"), ("ru-RU", "ru"), ("uk-UA", "uk"), ("fr-CA", "fr")] { + for (tag, code) in [("en-US", "en"), ("zh-CN", "zh-hans"), ("ja-JP", "ja"), ("ko-KR", "ko"), ("ru-RU", "ru"), ("uk-UA", "uk"), ("fr-CA", "fr"), ("ar-SA", "ar")] { system::with_system_tags(&[tag], || { with_language(Lang::EN, || { let h = harness(); @@ -233,7 +233,7 @@ fn first_launch_renders_the_system_language_without_overwriting_auto() { #[test] fn missing_or_unsupported_system_languages_render_english() { - for tags in [vec![], vec!["sv-SE", "ar-SA"]] { + for tags in [vec![], vec!["sv-SE", "hi-IN"]] { system::with_system_tags(&tags, || { with_language(Lang::EN, || { let h = harness(); diff --git a/crates/ui-egui/src/i18n/mod.rs b/crates/ui-egui/src/i18n/mod.rs index b976e395fc..795c168991 100644 --- a/crates/ui-egui/src/i18n/mod.rs +++ b/crates/ui-egui/src/i18n/mod.rs @@ -115,6 +115,23 @@ fn plural_polish(n: u64) -> usize { } } +/// Arabic: 6 CLDR forms (zero, one, two, few, many, other). +fn plural_ar(n: u64) -> usize { + if n == 0 { + 0 + } else if n == 1 { + 1 + } else if n == 2 { + 2 + } else { + match n % 100 { + 3..=10 => 3, + 11..=99 => 4, + _ => 5, + } + } +} + /// A catalog file as packed by build.rs (`pack_catalogs`; the binary would otherwise carry ~2.2 MB /// of translations, which the web build's size gate can't afford). See [`unpack`]. macro_rules! catalog { @@ -187,7 +204,7 @@ fn expand(packed: &str, keys: &[&str]) -> Result { } /// The registry. English first: it is the fallback and the source language. -pub static LANGUAGES: [LangInfo; 21] = [ +pub static LANGUAGES: [LangInfo; 22] = [ LangInfo { code: "en", name: "English", source: b"", plural: plural_one_other, complete_menus: false, catalog: OnceLock::new() }, LangInfo { code: "ja", name: "日本語", source: catalog!("ja"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, LangInfo { code: "zh-hans", name: "简体中文", source: catalog!("zh-hans"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, @@ -220,6 +237,8 @@ pub static LANGUAGES: [LangInfo; 21] = [ LangInfo { code: "tr", name: "Türkçe", source: catalog!("tr"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, // Vietnamese; `vi-VN` resolves here. LangInfo { code: "vi", name: "Tiếng Việt", source: catalog!("vi"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, + // Arabic; right-to-left layout; 6 CLDR plural forms (zero, one, two, few, many, other). + LangInfo { code: "ar", name: "العربية", source: catalog!("ar"), plural: plural_ar, complete_menus: true, catalog: OnceLock::new() }, ]; impl LangInfo { @@ -832,6 +851,59 @@ mod tests { } } + #[test] + fn arabic_resolves_locales_and_preferences() { + let ar = Lang::from_code("ar").expect("ar registered"); + assert_eq!(ar.name(), "العربية"); + assert!(ar.complete_menus()); + assert_eq!(ar.dir(), Dir::Rtl); + for tag in ["ar", "AR", "ar-SA", "ar_SA", "ar_SA.UTF-8", "ar-EG", "ar-AE", "ar-MA"] { + assert_eq!(lang_from_tag(tag), Some(ar), "{tag}"); + assert_eq!(Lang::from_pref(tag), ar, "{tag}"); + } + assert_eq!(tr(ar, "File"), "ملف"); + assert_eq!(tr(ar, "Layer"), "طبقة"); + assert_eq!(tr(ar, "New document…"), "مستند جديد…"); + assert_eq!(tr_id(ar, "select.all", "All"), "تحديد الكل", "an id override wins over the plain label"); + assert_eq!(tr_ctx(ar, "cameraRaw", "Light"), "إضاءة"); + assert_eq!(tr_ctx(ar, "fontWeight", "Light"), "خفيف"); + assert_eq!(tr_ctx(ar, "cameraRaw", "Highlights"), "إبرازات"); + assert_eq!(tr_ctx(ar, "cameraRaw", "Lights"), "مناطق مضيئة"); + assert_eq!(tr_ctx(ar, "cameraRaw", "Shadows"), "ظلال"); + assert_eq!(tr_ctx(ar, "cameraRaw", "Darks"), "مناطق داكنة"); + assert_eq!(fmt(tr(ar, "Camera Raw Filter ({layer})"), &[("layer", "Background")]), "مرشح Camera Raw (Background)"); + for key in ["Alt", "⌥"] { + assert_eq!( + fmt(tr(ar, "Add a mask (from the selection; {key} inverts)"), &[("key", key)]), + format!("إضافة قناع (من التحديد؛ {key} يعكس)") + ); + } + } + + #[test] + fn arabic_plural_messages_handle_six_forms() { + let ar = Lang::from_code("ar").expect("ar registered"); + for (n, item, layer) in [ + (0, "عنصر", "طبقة"), + (1, "عنصر", "طبقة"), + (2, "عنصران", "طبقتان"), + (3, "عناصر", "طبقات"), + (5, "عناصر", "طبقات"), + (10, "عناصر", "طبقات"), + (11, "عنصرًا", "طبقة"), + (25, "عنصرًا", "طبقة"), + (99, "عنصرًا", "طبقة"), + (100, "عنصر", "طبقة"), + (101, "عنصر", "طبقة"), + (102, "عنصر", "طبقة"), + (103, "عناصر", "طبقات"), + (115, "عنصرًا", "طبقة"), + ] { + assert_eq!(trn(ar, n, "{n} item", "{n} items"), format!("{n} {item}")); + assert_eq!(trn(ar, n, "{n} layer", "{n} layers"), format!("{n} {layer}")); + } + } + #[test] fn catalog_kinds_are_parsed_and_looked_up() { let c = Catalog::parse("# c\n\tHello\tこんにちは\n@id\tfile.save\t保存する\nmenu\tWindows\tウィンドウ群\n@plural\t{n} file|{n} files\t{n} 個\n\n"); diff --git a/crates/ui-egui/src/i18n/system.rs b/crates/ui-egui/src/i18n/system.rs index 49bc3bc79b..0be0a5d2cb 100644 --- a/crates/ui-egui/src/i18n/system.rs +++ b/crates/ui-egui/src/i18n/system.rs @@ -91,7 +91,9 @@ mod tests { (vec!["zh-Hant-HK", "zh-CN"], "zh-hant"), (vec!["zh-Hans-CN", "zh-TW"], "zh-hans"), (vec!["en-US", "ru-RU"], "en"), - (vec!["sv-SE", "ar-SA"], "en"), + (vec!["sv-SE", "hi-IN"], "en"), + (vec!["ar-SA", "en-US"], "ar"), + (vec!["sv-SE", "ar-EG"], "ar"), (vec!["de-AT", "en-US"], "de"), (vec!["pt-PT"], "pt-br"), (vec!["it-IT", "en-US"], "it"), diff --git a/docs/localization-parity.md b/docs/localization-parity.md index 0b2be85595..243316e4b0 100644 --- a/docs/localization-parity.md +++ b/docs/localization-parity.md @@ -34,7 +34,7 @@ speakers, ~55% ready. Remaining: 80–140 h, plus native-speaker review (recorde | Simplified Chinese | `zh-hans` | 1,608 / 1,608 (100%) | 2,366 | dialogs, tooltips yes; engine messages English | CJK fonts (lazy loader), IME preedit/commit, vertical type | no | partial | 8–12 h | | Spanish | `es` | 1,844 / 1,844 (100%) | 4,010 | as above; complete dynamic UI key set | Latin | no | partial | 6–10 h | | Hindi | `hi` | 0 (0%) | – | – | Devanagari shaping in the text engine (parley/HarfRust); no Devanagari fallback font (TYPE-218-3) | no | none | 20–30 h | -| Arabic | `ar` | 0 (0%) | – | – | Arabic shaping and bidi in the text engine, Arabic fallback font; RTL shell layout but not inside panels, and UI labels in LTR word order (DIST-220-4), paragraph direction has no UI (TYPE-218-2), layer names as tofu (#1408, #1693) | no | none | 40–60 h | +| Arabic | `ar` | 1,886 / 1,886 (100%) | 4,208 | dialogs, tooltips yes; engine messages English | Arabic shaping and bidi in the text engine, Arabic fallback font; RTL layout | no | partial | 8–12 h | | French | `fr` | 1,608 / 1,608 (100%) | 2,766 | as above | Latin | no | partial | 6–10 h | | Portuguese (Brazil) | `pt-br` | 1,608 / 1,608 (100%) | 2,788 | as above | Latin; every `pt` locale uses it | no | partial | 6–10 h | | Indonesian | `id` | 1,608 / 1,608 (100%) | 2,764 | as above | Latin | no | partial | 6–10 h | diff --git a/docs/localization.md b/docs/localization.md index 36e09f8a55..1f8232b66a 100644 --- a/docs/localization.md +++ b/docs/localization.md @@ -106,7 +106,7 @@ glyphs) and bidirectional word order: egui 0.36 shapes each right-to-left word w so letters join, but lays a line's words out left to right, and its caret indexing is off in right-to-left text (emilk/egui#8576, #8577). Document text is laid out by the text engine. -No right-to-left catalog ships yet. To check the mirrored layout with any language, launch with +Arabic (`ar`) is the first shipped right-to-left catalog. To check the mirrored layout with any language, launch with `PHOTOCRAFT_UI_DIRECTION=rtl` (or `ltr` to force left-to-right); it is read once per process and has no effect on the web build: diff --git a/packaging/macos/Info.plist.in b/packaging/macos/Info.plist.in index d325b2b9d6..74d1460427 100644 --- a/packaging/macos/Info.plist.in +++ b/packaging/macos/Info.plist.in @@ -31,6 +31,7 @@ hu tr vi + ar CFBundleDisplayName PhotoCraft diff --git a/xtask/src/i18n_coverage.rs b/xtask/src/i18n_coverage.rs index ee337c0b9b..8abe57b65e 100644 --- a/xtask/src/i18n_coverage.rs +++ b/xtask/src/i18n_coverage.rs @@ -583,6 +583,7 @@ mod tests { ("tr", "tr.tsv"), ("vi", "vi.tsv"), ("sr", "sr.tsv"), + ("ar", "ar.tsv"), ] { let catalog_path = root.join("crates/ui-egui/src/i18n").join(path); let text = fs::read_to_string(&catalog_path).unwrap_or_default(); From a6b9135ba554a72d962ac8f3fa2f8aecd79ce8fc Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sat, 24 Oct 2026 07:36:59 +0000 Subject: [PATCH 40/60] Update mod.rs --- crates/ui-egui/src/i18n/live_tests.rs | 2 +- crates/ui-egui/src/i18n/mod.rs | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/crates/ui-egui/src/i18n/live_tests.rs b/crates/ui-egui/src/i18n/live_tests.rs index 663142762b..46eba8dbf8 100644 --- a/crates/ui-egui/src/i18n/live_tests.rs +++ b/crates/ui-egui/src/i18n/live_tests.rs @@ -244,7 +244,7 @@ fn first_launch_renders_the_system_language_without_overwriting_auto() { #[test] fn missing_or_unsupported_system_languages_render_english() { - for tags in [vec![], vec!["sv-SE", "hi-IN"]] { + for tags in [vec![], vec!["sv-SE", "kk-KAZ"]] { system::with_system_tags(&tags, || { with_language(Lang::EN, || { let h = harness(); diff --git a/crates/ui-egui/src/i18n/mod.rs b/crates/ui-egui/src/i18n/mod.rs index b5702923d9..273065e304 100644 --- a/crates/ui-egui/src/i18n/mod.rs +++ b/crates/ui-egui/src/i18n/mod.rs @@ -48,7 +48,11 @@ pub struct LangInfo { catalog: OnceLock, } -/// Arabic plural rule : 0 → zero, 1 → one, 2 → two, 3–10 → few, 11–99 → many, 100+ → other. +/// Arabic plural rule (CLDR): +/// 0 → zero, 1 → one, 2 → two, +/// n % 100 = 3–10 → few, +/// n % 100 = 11–99 → many, +/// otherwise → other (e.g., 100–102, 200–202, 1000+) fn plural_arabic(n: u64) -> usize { if n == 0 { 0 @@ -59,11 +63,11 @@ fn plural_arabic(n: u64) -> usize { } else { let mod100 = n % 100; if (3..=10).contains(&mod100) { - 3 + 3 // few } else if (11..=99).contains(&mod100) { - 4 + 4 // many } else { - 5 + 5 // other } } } From e61bd909c9c46016256c34781fcfbdfec108f90d Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sat, 24 Oct 2026 07:48:52 +0000 Subject: [PATCH 41/60] Update live_tests.rs --- crates/ui-egui/src/i18n/live_tests.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/ui-egui/src/i18n/live_tests.rs b/crates/ui-egui/src/i18n/live_tests.rs index 46eba8dbf8..b74c0f069c 100644 --- a/crates/ui-egui/src/i18n/live_tests.rs +++ b/crates/ui-egui/src/i18n/live_tests.rs @@ -244,7 +244,7 @@ fn first_launch_renders_the_system_language_without_overwriting_auto() { #[test] fn missing_or_unsupported_system_languages_render_english() { - for tags in [vec![], vec!["sv-SE", "kk-KAZ"]] { + for tags in [vec![], vec!["sv-SE", "kk-KZ"]] { system::with_system_tags(&tags, || { with_language(Lang::EN, || { let h = harness(); From 9d2fdb2d65417c20b6d6ac108caa4bec19b1935b Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sat, 24 Oct 2026 08:04:39 +0000 Subject: [PATCH 42/60] Update mod.rs --- crates/ui-egui/src/i18n/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/ui-egui/src/i18n/mod.rs b/crates/ui-egui/src/i18n/mod.rs index 273065e304..0b4e2a0210 100644 --- a/crates/ui-egui/src/i18n/mod.rs +++ b/crates/ui-egui/src/i18n/mod.rs @@ -211,7 +211,7 @@ fn expand(packed: &str, keys: &[&str]) -> Result { } /// The registry. English first: it is the fallback and the source language. -pub static LANGUAGES: [LangInfo; 22] = [ +pub static LANGUAGES: [LangInfo; 23] = [ LangInfo { code: "en", name: "English", source: b"", plural: plural_one_other, complete_menus: false, catalog: OnceLock::new() }, LangInfo { code: "ja", name: "日本語", source: catalog!("ja"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, LangInfo { code: "zh-hans", name: "简体中文", source: catalog!("zh-hans"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, From 355f5b6666047ec696318adc173dc1a7cc3a3fad Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sat, 24 Oct 2026 08:12:58 +0000 Subject: [PATCH 43/60] 1996/1996 --- crates/ui-egui/src/i18n/ar.tsv | 165 +++++++++++++++++++++++++++++++++ 1 file changed, 165 insertions(+) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index 230043931b..88dd0a4c56 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -3068,3 +3068,168 @@ cameraData Lens العدسة Working: {working} مساحة العمل: {working} No pin selected لم يتم تحديد أي دبوس Click the image to add a pin; drag a pin to move it, or its ring to change its blur. Delete removes the selected pin. انقر على الصورة لإضافة دبوس؛ اسحب الدبوس لتحريكه، أو حلقته لتغيير التمويه. يؤدي Delete إلى إزالة الدبوس المحدد. + Accept and Go to Conflict قبول والانتقال إلى التعارض + Add Shortcut إضافة اختصار + Add “copy” to Copied Layers and Groups إضافة “copy” إلى الطبقات والمجموعات المنسوخة + Animation Options خيارات الرسوم المتحركة + Applies immediately when saved. Memory is not reserved in advance. يسري فوراً عند الحفظ. لا يتم حجز الذاكرة مسبقاً. + Automatic paragraph direction اتجاه الفقرة تلقائي + Baseline ("Standard") أساسي ("قياسي") + Baseline Optimized أساسي محسن + Behind خلف + Bicubic Automatic ثنائي التكعيب تلقائي + Bicubic Sharper ثنائي التكعيب أكثر حدة + Bicubic Smoother ثنائي التكعيب أكثر نعومة + Blending Options ({filter}) خيارات المزج ({filter}) + Blur Angle زاوية التمويه + Button Mode وضع الأزرار + Button Mode On وضع الأزرار قيد التشغيل + Changes undone. تم التراجع عن التغييرات. + Check Again التحقق مرة أخرى + Check for Updates… التحقق من وجود تحديثات… + Checking for updates… جارٍ التحقق من وجود تحديثات… + Choose a new shortcut for this command, or leave it without one. اختر اختصاراً جديداً لهذا الأمر، أو اتركه بدون اختصار. + Clean the brush after each stroke تنظيف الفرشاة بعد كل ضربة + Clip Thumbnails to Layer Bounds قص الصور المصغرة على حدود الطبقة + Compression الضغط + Confirm or cancel the open action step dialog first أكد أو ألغ مربع حوار خطوة الإجراء المفتوح أولاً + Continue متابعة + Contract تقليص + Convert to the working space ({profile}) التحويل إلى مساحة العمل ({profile}) + Copy Color as HTML نسخ اللون بتنسيق HTML + Copy Color's Hex Code نسخ الرمز السداسي عشري للون + Could not check for updates. تعذر التحقق من وجود تحديثات. + Create warped text إنشاء نص ملتوٍ + DDS Options خيارات DDS + Delete Contour حذف الكفاف + Delete this set حذف هذه المجموعة + Dissolve is approximated: it blends without Photoshop's dither. التحلل تقريبي: يمزج بدون تنقيط Photoshop. + Drag the handles on the outline to resize and turn it, the square to round its corners, and the dots inside to set where the blur starts. اسحب المقابض على المخطط لتغيير حجمه وتدويره، والمربع لتدوير زواياه، والنقاط في الداخل لتحديد مكان بدء التمويه. + Drag the handles on the outline to resize and turn it; the ring sets the blur angle. اسحب المقابض على المخطط لتغيير حجمه وتدويره؛ وتحدد الحلقة زاوية التمويه. + Duplicate Layer تكرار الطبقة + Entire Document المستند بالكامل + Excluded Area المنطقة المستثناة + Expand New Effects توسيع التأثيرات الجديدة + Export Selected Styles… تصدير الأنماط المحددة… + Export Styles… تصدير الأنماط… + Fill Settings إعدادات التعبئة + Filter Options خيارات الفلتر + Format Options خيارات التنسيق + Free Transform is still being applied; try again when it has finished. لا يزال التحويل الحر قيد التطبيق؛ حاول مرة أخرى عند انتهائه. + Frequency: التردد: + Full كامل + GPU Memory Full ذاكرة GPU ممتلئة + GPU acceleration resumed. تم استئناف تسريع GPU. + GPU adapter محول GPU + GPU memory budget: {budget} ميزانية ذاكرة GPU: {budget} + Generate Mipmaps إنشاء Mipmaps + Halftone Screen شاشة التدرج النصفي + Hide the layer's effects and Smart Filters ({key}-click: all layers) إخفاء تأثيرات الطبقة والفلاتر الذكية (انقر مع {key}: كل الطبقات) + If you continue, saving over the original may permanently discard unreadable data. Save a copy to keep the original. إذا تابعت، فقد يؤدي الحفظ فوق الأصل إلى تجاهل البيانات غير القابلة للقراءة نهائياً. احفظ نسخة للاحتفاظ بالأصل. + Image Options خيارات الصورة + Import Styles… استيراد الأنماط… + In Front أمام + Include All Subfolders تضمين كل المجلدات الفرعية + Indicates يشير إلى + Installed RAM: {ram} MB; this limit: {percent}% ذاكرة RAM المثبتة: {ram} ميغابايت؛ هذا الحد: {percent}% + Its layers need {needed} of GPU memory; the budget leaves them {budget}. تحتاج طبقاته إلى {needed} من ذاكرة GPU؛ وتتيح الميزانية لها {budget}. + JPEG Options خيارات JPEG + Layer Bounds حدود الطبقة + Layers Panel Options خيارات لوحة الطبقات + Left-to-right paragraph direction اتجاه الفقرة من اليسار إلى اليمين + Limits each open document's pixels plus History. Oldest undo states are discarded when the limit is exceeded. يحدد بكسلات كل مستند مفتوح بالإضافة إلى السجل. تُهمل أقدم حالات التراجع عند تجاوز الحد. + Lines/Centimeter خطوط/سنتيمتر + Lines/Inch خطوط/بوصة + Load Contours… تحميل خطوط الكفاف… + Load the brush after each stroke تحميل الفرشاة بعد كل ضربة + Lock Layers قفل الطبقات + Mask Options… خيارات القناع… + Memory Usage استخدام الذاكرة + Mirror مرآة + Move Down نقل لأسفل + Move Up نقل لأعلى + New Action… إجراء جديد… + New Artboard… لوحة عمل جديدة… + New Group… مجموعة جديدة… + New Set… مجموعة جديدة… + Not rendered: this adjustment ({key}) is kept as imported. غير معروض: يتم الاحتفاظ بهذا التعديل ({key}) كما تم استيراده. + Nothing to paste: PhotoCraft can't read the system clipboard here لا يوجد شيء للصق: لا يستطيع PhotoCraft قراءة حافظة النظام هنا + Opacity must be between 0% and 100%. يجب أن تكون العتامة بين 0% و100%. + Open Download Page فتح صفحة التنزيل + Open the release page to choose an installer for your system. افتح صفحة الإصدار لاختيار برنامج التثبيت المناسب لنظامك. + Output Settings إعدادات الإخراج + Output To الإخراج إلى + Override Tilt X تجاوز الإمالة X + Override Tilt Y تجاوز الإمالة Y + Paints from the History panel's source state يرسم من حالة المصدر في لوحة السجل + Per-document RAM limit (MB) حد RAM لكل مستند (ميغابايت) + PhotoCraft Defaults الإعدادات الافتراضية لـ PhotoCraft + PhotoCraft Updates تحديثات PhotoCraft + PhotoCraft is up to date. PhotoCraft محدّث. + Prevent Auto-Nesting منع التداخل التلقائي + Preview on canvas when reordering layers معاينة على اللوحة عند إعادة ترتيب الطبقات + Preview size حجم المعاينة + Print preview image معاينة صورة الطباعة + Put this command's shortcuts back as they were إعادة اختصارات هذا الأمر كما كانت + Random عشوائي + Rectangular مستطيل + Remember this choice for future images تذكر هذا الاختيار للصور المستقبلية + Replace استبدال + Replace Contours… استبدال خطوط الكفاف… + Replace it with this document, or cancel and use File › Save As to keep both. استبدله بهذا المستند، أو ألغ واستخدم ملف › حفظ باسم للاحتفاظ بكليهما. + Response curve منحنى الاستجابة + Retry GPU tries the graphics processor again now. تؤدي إعادة محاولة GPU إلى تجربة معالج الرسومات مرة أخرى الآن. + Right-to-left paragraph direction اتجاه الفقرة من اليمين إلى اليسار + Rotation Adaptation تكيف الدوران + Sampling Area منطقة العينة + Sampling Area Options خيارات منطقة العينة + Sampling Area Overlay تراكب منطقة العينة + Sampling Brush Tool أداة فرشاة العينة + Save Contours… حفظ خطوط الكفاف… + Save a list of these shortcuts as a web page حفظ قائمة بهذه الاختصارات كصفحة ويب + Save the changes to this set حفظ التغييرات في هذه المجموعة + Save these shortcuts as a .kys file حفظ هذه الاختصارات كملف .kys + Save these shortcuts as a new set حفظ هذه الاختصارات كمجموعة جديدة + Set GPU Memory in Preferences › Performance to what your graphics card can hold, at most 3/8 of its memory. Automatic follows Memory Usage, within a quarter of this computer's memory and 3/8 of the card's, and doesn't count the document against a card whose memory is known. The status bar shows GPU Memory Full while they don't fit. اضبط ذاكرة GPU في التفضيلات › الأداء على ما تستطيع بطاقة الرسومات استيعابه، بحد أقصى 3/8 من ذاكرتها. يتبع الوضع التلقائي استخدام الذاكرة، ضمن ربع ذاكرة هذا الكمبيوتر و3/8 من ذاكرة البطاقة، ولا يحتسب المستند على بطاقة معروفة الذاكرة. يعرض شريط الحالة «ذاكرة GPU ممتلئة» طالما لا تتسع لها. + Set deleted. تم حذف المجموعة. + Set saved. تم حفظ المجموعة. + Set: المجموعة: + Show Layers إظهار الطبقات + Show Sampling Area إظهار منطقة العينة + Show layer mask badges إظهار شارات قناع الطبقة + Show the layer's effects and Smart Filters ({key}-click: all layers) إظهار تأثيرات الطبقة والفلاتر الذكية (انقر مع {key}: كل الطبقات) + Some layers, pixels or masks could not be read. Do you want to continue opening it? تعذرت قراءة بعض الطبقات أو البكسلات أو الأقنعة. هل تريد متابعة فتحه؟ + Start Recording بدء التسجيل + Stop Recording إيقاف التسجيل + Summarize… تلخيص… + Take the shortcut from the other command and select it خذ الاختصار من الأمر الآخر وحدده + The active layer has no pixels here — turn on Sample All Layers or select a layer with pixels لا تحتوي الطبقة النشطة على بكسلات هنا — فعّل أخذ العينات من كل الطبقات أو حدد طبقة تحتوي على بكسلات + The document or Smart Filter changed. Reopen its dialog. تغير المستند أو الفلتر الذكي. أعد فتح مربع الحوار الخاص به. + The document “{name}” may be damaged. قد يكون المستند “{name}” تالفاً. + The layers need {needed} of GPU memory and may hold {budget}, so edits that redraw the whole document do it on the CPU. Click to set GPU Memory. تحتاج الطبقات إلى {needed} من ذاكرة GPU ويمكنها استيعاب {budget}، لذلك تتم التعديلات التي تعيد رسم المستند بالكامل على وحدة المعالجة المركزية. انقر لضبط ذاكرة GPU. + The name in the save dialog was “{name}”. كان الاسم في مربع حوار الحفظ “{name}”. + The transform couldn't be applied. تعذر تطبيق التحويل. + There are too many sets: delete one first. توجد مجموعات كثيرة جداً: احذف واحدة أولاً. + There is no color table to save. لا يوجد جدول ألوان للحفظ. + This document's layers need {needed} but may hold {budget}: whole-document redraws use the CPU تحتاج طبقات هذا المستند إلى {needed} لكنها تستوعب {budget}: تستخدم إعادة رسم المستند بالكامل وحدة المعالجة المركزية + This document's layers: {needed} of {budget} for layers طبقات هذا المستند: {needed} من {budget} للطبقات + Thumbnail Contents محتويات الصورة المصغرة + Thumbnail Size حجم الصورة المصغرة + Turn the prompt back on with Ask On Mismatch in Edit › Color Settings. أعد تشغيل المطالبة باستخدام «السؤال عند عدم التطابق» في تحرير › إعدادات الألوان. + Undo Changes التراجع عن التغييرات + Updates have not been checked yet. لم يتم التحقق من التحديثات بعد. + Use استخدام + Use Default Masks on Fill Layers استخدام الأقنعة الافتراضية على طبقات التعبئة + Use the embedded profile ({profile}) استخدام ملف التعريف المضمن ({profile}) + Very High عالٍ جداً + Wait for the current job to finish. انتظر حتى تنتهي المهمة الحالية. + With GPU Memory set to Automatic, this also limits the GPU layer budget. That budget is capped at one quarter of installed RAM and, when known, three eighths of the graphics card's memory, with a 512 MB minimum. Raising this limit beyond those caps does not increase the GPU budget. عند ضبط ذاكرة GPU على تلقائي، فإن هذا يحد أيضاً من ميزانية طبقات GPU. تقتصر هذه الميزانية على ربع ذاكرة RAM المثبتة، وعند معرفتها، ثلاثة أثمان ذاكرة بطاقة الرسومات، بحد أدنى 512 ميغابايت. لا يؤدي رفع هذا الحد فوق هذه الحدود القصوى إلى زيادة ميزانية GPU. + set name اسم المجموعة + {file} is not a style library (.asl) {file} ليس مكتبة أنماط (.asl) + {name} was changed by another app after it was opened or saved here. تم تغيير {name} بواسطة تطبيق آخر بعد فتحه أو حفظه هنا. + {path}: the path is not valid Unicode; save under another name. {path}: المسار ليس Unicode صالحاً؛ احفظ باسم آخر. + {set} (modified) {set} (معدّلة) + {shortcut} is reserved by the system and can't be assigned. {shortcut} محجوز من قبل النظام ولا يمكن تعيينه. + “{name}” already exists. Replace it? “{name}” موجود بالفعل. هل تريد استبداله؟ +@plural Exported {n} style to {file}|Exported {n} styles to {file} تم تصدير {n} نمط إلى {file}|تم تصدير {n} نمط إلى {file}|تم تصدير {n} نمطين إلى {file}|تم تصدير {n} أنماط إلى {file}|تم تصدير {n} نمط إلى {file}|تم تصدير {n} نمط إلى {file} +@plural Saved {n} color to {file}|Saved {n} colors to {file} تم حفظ {n} لون في {file}|تم حفظ {n} لون في {file}|تم حفظ {n} لونين في {file}|تم حفظ {n} ألوان في {file}|تم حفظ {n} لون في {file}|تم حفظ {n} لون في {file} \ No newline at end of file From 6f5feed0462acf83f7b7bee32e3bd0efd41c6836 Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sat, 24 Oct 2026 08:41:33 +0000 Subject: [PATCH 44/60] Update LICENSE-translations.txt --- crates/ui-egui/src/i18n/LICENSE-translations.txt | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/crates/ui-egui/src/i18n/LICENSE-translations.txt b/crates/ui-egui/src/i18n/LICENSE-translations.txt index b8f852f453..9297121433 100644 --- a/crates/ui-egui/src/i18n/LICENSE-translations.txt +++ b/crates/ui-egui/src/i18n/LICENSE-translations.txt @@ -1,11 +1,8 @@ -PhotoCraft's Korean, German, Spanish, Brazilian Portuguese, Italian, Ukrainian, Dutch, Czech, +PhotoCraft's Arabic, Korean, German, Spanish, Brazilian Portuguese, Italian, Ukrainian, Dutch, Czech, Turkish, Hungarian, Serbian and Russian UI translation catalogs are licensed under MIT OR Apache-2.0, at your option. The full license texts are in ../../../../LICENSE-MIT and ../../../../LICENSE-APACHE. -Arabic translations: PhotoCraft contributors, original translations of -PhotoCraft's English labels; no proprietary translation resources were used. - Korean translations: PhotoCraft contributors, original translations of PhotoCraft's English labels; no proprietary translation resources were used. From a81e7b2f1572c9335a5f0f968782cd594ade9af3 Mon Sep 17 00:00:00 2001 From: azizr12 Date: Sat, 24 Oct 2026 09:15:41 +0000 Subject: [PATCH 45/60] Update localization.md --- docs/localization.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/localization.md b/docs/localization.md index d1dddfda15..6e7392f1ea 100644 --- a/docs/localization.md +++ b/docs/localization.md @@ -9,7 +9,7 @@ contextual, command-ID and plural translations; missing entries fall back to Eng | Language | Preference code | Integer plural forms | |---|---|---| | English | `en` | one / other | -| العربية | `ar` | zero / one / two / few (3–10) / many (11–99) / other (100+) | +| العربية | `ar` | zero / one / two / few (`n % 100` = 3–10) / many (`n % 100` = 11–99) / other (otherwise) | | 简体中文 | `zh-hans` | one form | | 日本語 | `ja` | one form | | 한국어 | `ko` | one form | From 36c5e7207c4a5ced560110a0cad6f08fcbe68a11 Mon Sep 17 00:00:00 2001 From: azizr12 Date: Wed, 28 Oct 2026 07:34:49 +0000 Subject: [PATCH 46/60] fix --- crates/ui-egui/src/{i18n => }/mod.rs | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename crates/ui-egui/src/{i18n => }/mod.rs (100%) diff --git a/crates/ui-egui/src/i18n/mod.rs b/crates/ui-egui/src/mod.rs similarity index 100% rename from crates/ui-egui/src/i18n/mod.rs rename to crates/ui-egui/src/mod.rs From 350b6904ecbeba323989fb978d1843d4f09c3d15 Mon Sep 17 00:00:00 2001 From: azizr12 Date: Wed, 28 Oct 2026 07:56:48 +0000 Subject: [PATCH 47/60] Update i18n.rs --- crates/ui-egui/src/i18n.rs | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/crates/ui-egui/src/i18n.rs b/crates/ui-egui/src/i18n.rs index 51f6d1872f..335f7be945 100644 --- a/crates/ui-egui/src/i18n.rs +++ b/crates/ui-egui/src/i18n.rs @@ -48,6 +48,30 @@ pub struct LangInfo { catalog: OnceLock, } +/// Arabic plural rule (CLDR): +/// 0 → zero, 1 → one, 2 → two, +/// n % 100 = 3–10 → few, +/// n % 100 = 11–99 → many, +/// otherwise → other (e.g., 100–102, 200–202, 1000+) +fn plural_arabic(n: u64) -> usize { + if n == 0 { + 0 + } else if n == 1 { + 1 + } else if n == 2 { + 2 + } else { + let mod100 = n % 100; + if (3..=10).contains(&mod100) { + 3 // few + } else if (11..=99).contains(&mod100) { + 4 // many + } else { + 5 // other + } + } +} + /// A script's reading direction. #[derive(Clone, Copy, Debug, PartialEq, Eq)] pub enum Dir { @@ -187,9 +211,10 @@ fn expand(packed: &str, keys: &[&str]) -> Result { } /// The registry. English first: it is the fallback and the source language. -pub static LANGUAGES: [LangInfo; 22] = [ +pub static LANGUAGES: [LangInfo; 23] = [ LangInfo { code: "en", name: "English", source: b"", plural: plural_one_other, complete_menus: false, catalog: OnceLock::new() }, LangInfo { code: "ja", name: "日本語", source: catalog!("ja"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, + LangInfo { code: "ar", name: "العربية", source: catalog!("ar"), plural: plural_arabic, complete_menus: true, catalog: OnceLock::new() }, LangInfo { code: "zh-hans", name: "简体中文", source: catalog!("zh-hans"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, // Traditional Chinese in the vocabulary used in Taiwan; `zh-TW`, `zh-HK`, `zh-MO` and `zh-Hant-*` // locales all resolve here (see `candidates`). From e5565bc815121321764fcf50df7e664fc0145c99 Mon Sep 17 00:00:00 2001 From: azizr12 Date: Wed, 28 Oct 2026 08:00:59 +0000 Subject: [PATCH 48/60] ar 2175/2175 --- crates/ui-egui/src/i18n/ar.tsv | 80 +++++++++++++++++++++++++++++++++- 1 file changed, 79 insertions(+), 1 deletion(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index 88dd0a4c56..6c128ebd57 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -3232,4 +3232,82 @@ cameraData Lens العدسة {shortcut} is reserved by the system and can't be assigned. {shortcut} محجوز من قبل النظام ولا يمكن تعيينه. “{name}” already exists. Replace it? “{name}” موجود بالفعل. هل تريد استبداله؟ @plural Exported {n} style to {file}|Exported {n} styles to {file} تم تصدير {n} نمط إلى {file}|تم تصدير {n} نمط إلى {file}|تم تصدير {n} نمطين إلى {file}|تم تصدير {n} أنماط إلى {file}|تم تصدير {n} نمط إلى {file}|تم تصدير {n} نمط إلى {file} -@plural Saved {n} color to {file}|Saved {n} colors to {file} تم حفظ {n} لون في {file}|تم حفظ {n} لون في {file}|تم حفظ {n} لونين في {file}|تم حفظ {n} ألوان في {file}|تم حفظ {n} لون في {file}|تم حفظ {n} لون في {file} \ No newline at end of file +@plural Saved {n} color to {file}|Saved {n} colors to {file} تم حفظ {n} لون في {file}|تم حفظ {n} لون في {file}|تم حفظ {n} لونين في {file}|تم حفظ {n} ألوان في {file}|تم حفظ {n} لون في {file}|تم حفظ {n} لون في {file} + Add to Favorites إضافة إلى المفضلة + All Classes كل الفئات + Allow Non-Linear History السماح بالسجل غير الخطي + Alt-click a plane to set the clone source انقر مع Alt على مستوى لتعيين مصدر الاستنساخ + Area المنطقة + Artboards لوحات العمل + Background (Default) الخلفية (الافتراضية) + Blackletter قوطي + CPU Rendering العرض بوحدة المعالجة المركزية + Calculating… جارٍ الحساب… + Clean Brush تنظيف الفرشاة + Click to refresh histogram with uncached data انقر لتحديث المدرج التكراري بالبيانات غير المخزنة مؤقتاً + Color Table جدول الألوان + Content-Aware Fill التعبئة المراعية للمحتوى + Copyright Notice إشعار حقوق النشر + Could not write {name}: {error} تعذرت كتابة {name}: {error} + Count: العدد: + Current Brush Load حمولة الفرشاة الحالية + Dab لمسة + Decorative زخرفي + Demosaic Demosaic + Document Title عنوان المستند + Drawn on the CPU: {reason}. Click for System Info. تم الرسم على وحدة المعالجة المركزية: {reason}. انقر لعرض معلومات النظام. + Font preview: معاينة الخط: + From: من: + Full Document المستند الكامل + Gamma غاما + Handwritten بخط اليد + Hide Font Classes إخفاء فئات الخطوط + Hide Styles إخفاء الأنماط + Kept {name}: written by another application تم الاحتفاظ بـ {name}: تمت كتابته بواسطة تطبيق آخر + Level: المستوى: + Load Brush تحميل الفرشاة + Loose Curl تجعيد فضفاض + Loose Long طويل فضفاض + Loose Medium متوسط فضفاض + Make Layer Visibility Changes Undoable جعل تغييرات ظهور الطبقة قابلة للتراجع + Merged Layers الطبقات المدمجة + Monospace أحادي المسافة + New Group from Layers… مجموعة جديدة من الطبقات… + No favorite fonts yet: click the star beside a font to add it. لا توجد خطوط مفضلة بعد: انقر على النجمة بجانب الخط لإضافته. + No fonts match these filters. لا توجد خطوط تطابق هذه المرشحات. + No similar fonts: the current font doesn't say what it looks like. لا توجد خطوط مشابهة: الخط الحالي لا يحدد شكله. + OpenType font خط OpenType + Percentile: النسبة المئوية: + Profile ملف التعريف + Release Notes ملاحظات الإصدار + Remember Settings تذكر الإعدادات + Remove from Favorites إزالة من المفضلة + Resize Windows to Fit تغيير حجم النوافذ لتلائم + Sans Serif بدون زوائد + Script مخطوطة + Serif ذو زوائد + Set the tone sliders from the image ضبط منزلقات النغمة من الصورة + Sets the source for the history brush يحدد مصدر فرشاة السجل + Settings from {name} إعدادات من {name} + Settings from {name}; {count} not supported: {names} إعدادات من {name}؛ {count} غير مدعومة: {names} + Show All Fonts إظهار كل الخطوط + Show Channels in Color إظهار القنوات بالألوان + Show Favorite Fonts إظهار الخطوط المفضلة + Show Font Classes إظهار فئات الخطوط + Show Similar Fonts إظهار الخطوط المشابهة + Show Statistics إظهار الإحصاءات + Show Styles إظهار الأنماط + Show Variable Fonts إظهار الخطوط المتغيرة + Slab Serif ذو زوائد سميكة + Source: المصدر: + Stylized dabs from a history state لمسات منمقة من حالة في السجل + Target الهدف + Tight Curl تجعيد ضيق + Tight Long طويل ضيق + Tight Medium متوسط ضيق + Tight Short قصير ضيق + Too many clone strokes: apply Vanishing Point first ضربات استنساخ كثيرة جداً: طبق نقطة التلاشي أولاً + TrueType font خط TrueType + Uncached Refresh تحديث غير مخزن مؤقتاً + Update and Restart تحديث وإعادة التشغيل + Variable font خط متغير \ No newline at end of file From 8a64ae4049888ab0e4cde7a42a0a3c6bf1059d99 Mon Sep 17 00:00:00 2001 From: azizr12 Date: Wed, 28 Oct 2026 08:02:07 +0000 Subject: [PATCH 49/60] Delete mod.rs --- crates/ui-egui/src/mod.rs | 878 -------------------------------------- 1 file changed, 878 deletions(-) delete mode 100644 crates/ui-egui/src/mod.rs diff --git a/crates/ui-egui/src/mod.rs b/crates/ui-egui/src/mod.rs deleted file mode 100644 index 0b4e2a0210..0000000000 --- a/crates/ui-egui/src/mod.rs +++ /dev/null @@ -1,878 +0,0 @@ -//! UI localisation. Strings in code stay English and are the default lookup keys; a per-language -//! catalog (`*.tsv`, see `ja.tsv` for the format) maps them to display text at render time. Command -//! ids, menu paths used for logic, the control channel, the CLI and MCP never see translated text, -//! so agents and scripts are unaffected. A string without a translation is shown in English. -//! -//! # Adding a language -//! 1. Add `xx.tsv` next to `ja.tsv` (copy its header; translate from the *meaning* of the English -//! text, clean-room, see `ja.tsv`). -//! 2. Add one row to [`LANGUAGES`] (code, native name, catalog, plural rule). -//! -//! That is all: the Preferences dropdown, the system-locale match and the catalog tests (parse, -//! placeholders, plural forms) pick it up from the registry. A right-to-left language (Arabic, -//! Hebrew, Persian, Urdu, see [`dir_for_code`]) also mirrors the window's chrome -//! ([`crate::direction`]). -//! -//! # Looking strings up -//! - [`tr`]: a plain string. [`tr_ctx`]: when one English word needs different translations. -//! - [`tr_id`]: a command-id keyed string with the English label as fallback (menu items), so a -//! translation survives rewording of the English text and can differ per command. -//! - [`trn`]: plural-aware (`{n}` is filled in). [`fmt`]: fill `{name}` placeholders after [`tr`]; -//! translators may reorder placeholders freely. - -mod catalog; -mod system; - -pub use system::system_lang; - -use std::cell::Cell; -use std::sync::OnceLock; - -use catalog::Catalog; - -/// One supported UI language. -pub struct LangInfo { - /// BCP 47 code, lowercase (`ja`, `zh-hans`, `pt-br`). Also the `interface.language` value. - pub code: &'static str, - /// The language's name in itself, shown in the Preferences dropdown. - pub name: &'static str, - /// Catalog file contents, raw-deflated by build.rs (empty for the built-in English); see - /// [`LangInfo::text`]. - pub source: &'static [u8], - /// Plural form index for a count (English: 0 = one, 1 = other; Japanese, Chinese and Hungarian: always 0; - /// Czech: 0 = one, 1 = few (2–4), 2 = other; French: 0 = one (0 and 1), 1 = other). A catalog's `@plural` entries list one form per - /// index. - pub plural: fn(u64) -> usize, - /// Does the catalog cover every menu string? (`cargo xtask i18n-coverage` lists what it lacks) - pub complete_menus: bool, - catalog: OnceLock, -} - -/// Arabic plural rule (CLDR): -/// 0 → zero, 1 → one, 2 → two, -/// n % 100 = 3–10 → few, -/// n % 100 = 11–99 → many, -/// otherwise → other (e.g., 100–102, 200–202, 1000+) -fn plural_arabic(n: u64) -> usize { - if n == 0 { - 0 - } else if n == 1 { - 1 - } else if n == 2 { - 2 - } else { - let mod100 = n % 100; - if (3..=10).contains(&mod100) { - 3 // few - } else if (11..=99).contains(&mod100) { - 4 // many - } else { - 5 // other - } - } -} - -/// A script's reading direction. -#[derive(Clone, Copy, Debug, PartialEq, Eq)] -pub enum Dir { - Ltr, - Rtl, -} - -/// Languages written right to left, by primary subtag: Arabic, Sorani Kurdish, Dhivehi, Persian, -/// Hebrew, Pashto, Sindhi, Uyghur, Urdu, Yiddish. -const RTL_LANGUAGES: [&str; 10] = ["ar", "ckb", "dv", "fa", "he", "ps", "sd", "ug", "ur", "yi"]; - -/// The reading direction of a language code (`ar`, `fa-ir`, `he`; any case). -pub fn dir_for_code(code: &str) -> Dir { - let primary = code.split(['-', '_']).next().unwrap_or(""); - if RTL_LANGUAGES.iter().any(|l| l.eq_ignore_ascii_case(primary)) { Dir::Rtl } else { Dir::Ltr } -} - -fn plural_one_other(n: u64) -> usize { - usize::from(n != 1) -} - -fn plural_none(_: u64) -> usize { - 0 -} - -fn plural_russian(n: u64) -> usize { - match (n % 10, n % 100) { - (1, 11..=19) => 2, - (1, _) => 0, - (2..=4, 11..=19) => 2, - (2..=4, _) => 1, - _ => 2, - } -} - -/// Czech: 1 → one, 2–4 → few, everything else (0, 5+) → other. -fn plural_cs(n: u64) -> usize { - match n { - 1 => 0, - 2..=4 => 1, - _ => 2, - } -} - -/// French: 0 and 1 take the singular, everything else the plural. -fn plural_fr(n: u64) -> usize { - usize::from(n > 1) -} - -/// Portuguese: 0 and 1 take the singular, everything else the plural. -fn plural_pt(n: u64) -> usize { - usize::from(n > 1) -} - -/// Polish: 1 → one; 2–4, except 12–14 → few; everything else → many. -fn plural_polish(n: u64) -> usize { - let last = n % 10; - let last_two = n % 100; - if n == 1 { - 0 - } else if (2..=4).contains(&last) && !(12..=14).contains(&last_two) { - 1 - } else { - 2 - } -} - -/// A catalog file as packed by build.rs (`pack_catalogs`; the binary would otherwise carry ~2.2 MB -/// of translations, which the web build's size gate can't afford). See [`unpack`]. -macro_rules! catalog { - ($code:literal) => { - include_bytes!(concat!(env!("OUT_DIR"), "/i18n/", $code, ".tsv.deflate")) - }; -} - -/// Inflated catalogs are bounded, so corrupt data can't exhaust memory (the largest is ~0.2 MB). -const MAX_CATALOG_BYTES: u64 = 16 << 20; - -/// Inflate a catalog. Bad data gives an error (and the language falls back to English), never a panic. -fn inflate(source: &[u8]) -> Result { - use std::io::Read as _; - let mut text = String::new(); - if source.is_empty() { - return Ok(text); - } - flate2::read::DeflateDecoder::new(source).take(MAX_CATALOG_BYTES + 1).read_to_string(&mut text).map_err(|e| e.to_string())?; - if text.len() as u64 > MAX_CATALOG_BYTES { - return Err(format!("over {MAX_CATALOG_BYTES} bytes")); - } - Ok(text) -} - -/// Every catalog entry's `contextsource`, stored once for all catalogs (build.rs). -static KEYS: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/i18n/keys.deflate")); - -/// Restore a catalog file from its packed form (build.rs `pack_catalogs`): entry lines refer to -/// [`KEYS`] instead of repeating the English source. Bad data gives an error (and the language -/// falls back to English), never a panic. -fn unpack(source: &[u8]) -> Result { - static KEY_TEXT: OnceLock> = OnceLock::new(); - if source.is_empty() { - return Ok(String::new()); - } - let keys: Vec<&str> = KEY_TEXT.get_or_init(|| inflate(KEYS)).as_ref().map_err(|e| format!("catalog keys: {e}"))?.split('\n').collect(); - expand(&inflate(source)?, &keys) -} - -/// [`unpack`]'s second step: replace each packed entry line with its key and translation. -fn expand(packed: &str, keys: &[&str]) -> Result { - let mut text = String::with_capacity(packed.len().saturating_mul(2)); - let mut next = 0usize; - for (n, line) in packed.split('\n').enumerate() { - if n > 0 { - text.push('\n'); - } - let bad = || format!("packed line {}: bad key reference", n + 1); - let (index, tr) = if let Some(tr) = line.strip_prefix('\x01') { - (next, tr) - } else if let Some(rest) = line.strip_prefix('\x02') { - let (offset, tr) = rest.split_once('\t').ok_or_else(bad)?; - let offset: i64 = offset.parse().map_err(|_| bad())?; - let index = i64::try_from(next).ok().and_then(|n| n.checked_add(offset)).and_then(|i| usize::try_from(i).ok()).ok_or_else(bad)?; - (index, tr) - } else { - text.push_str(line.strip_prefix('\x03').unwrap_or(line)); - continue; - }; - text.push_str(keys.get(index).ok_or_else(bad)?); - text.push('\t'); - text.push_str(tr); - next = index.saturating_add(1); - if text.len() as u64 > MAX_CATALOG_BYTES { - return Err(format!("over {MAX_CATALOG_BYTES} bytes")); - } - } - Ok(text) -} - -/// The registry. English first: it is the fallback and the source language. -pub static LANGUAGES: [LangInfo; 23] = [ - LangInfo { code: "en", name: "English", source: b"", plural: plural_one_other, complete_menus: false, catalog: OnceLock::new() }, - LangInfo { code: "ja", name: "日本語", source: catalog!("ja"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, - LangInfo { code: "zh-hans", name: "简体中文", source: catalog!("zh-hans"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, - // Traditional Chinese in the vocabulary used in Taiwan; `zh-TW`, `zh-HK`, `zh-MO` and `zh-Hant-*` - // locales all resolve here (see `candidates`). - LangInfo { code: "zh-hant", name: "繁體中文", source: catalog!("zh-hant"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, - LangInfo { code: "es", name: "Español", source: catalog!("es"), plural: plural_one_other, complete_menus: true, catalog: OnceLock::new() }, - LangInfo { code: "ru", name: "Русский", source: catalog!("ru"), plural: plural_russian, complete_menus: true, catalog: OnceLock::new() }, - // Ukrainian has the same one/few/many rule for integer counts. - LangInfo { code: "uk", name: "Українська", source: catalog!("uk"), plural: plural_russian, complete_menus: true, catalog: OnceLock::new() }, - // Serbian (Latin script, Ekavian) has the same one/few/many rule for integer counts. `sr-RS`, - // `sr-Latn-*` and `sr_RS@latin` resolve here; so do Cyrillic `sr` locales, which read Latin - // rather than English. - LangInfo { code: "sr", name: "Srpski", source: catalog!("sr"), plural: plural_russian, complete_menus: true, catalog: OnceLock::new() }, - LangInfo { code: "cs", name: "Čeština", source: catalog!("cs"), plural: plural_cs, complete_menus: true, catalog: OnceLock::new() }, - LangInfo { code: "fr", name: "Français", source: catalog!("fr"), plural: plural_fr, complete_menus: true, catalog: OnceLock::new() }, - LangInfo { code: "id", name: "Bahasa Indonesia", source: catalog!("id"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, - LangInfo { code: "ko", name: "한국어", source: catalog!("ko"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, - LangInfo { code: "pl", name: "Polski", source: catalog!("pl"), plural: plural_polish, complete_menus: true, catalog: OnceLock::new() }, - LangInfo { code: "de", name: "Deutsch", source: catalog!("de"), plural: plural_one_other, complete_menus: true, catalog: OnceLock::new() }, - // Brazilian Portuguese; `pt`, `pt-BR` and `pt-PT` locales all resolve here (see `candidates`). - LangInfo { code: "pt-br", name: "Português (Brasil)", source: catalog!("pt-br"), plural: plural_pt, complete_menus: true, catalog: OnceLock::new() }, - LangInfo { code: "el", name: "Ελληνικά", source: catalog!("el"), plural: plural_one_other, complete_menus: true, catalog: OnceLock::new() }, - // Dutch; `nl-NL` and `nl-BE` locales both resolve here. - LangInfo { code: "nl", name: "Nederlands", source: catalog!("nl"), plural: plural_one_other, complete_menus: true, catalog: OnceLock::new() }, - LangInfo { code: "it", name: "Italiano", source: catalog!("it"), plural: plural_one_other, complete_menus: true, catalog: OnceLock::new() }, - LangInfo { code: "ar", name: "العربية", source: catalog!("ar"), plural: plural_arabic, complete_menus: true, catalog: OnceLock::new() }, - // Hungarian: a count takes the singular noun ("3 réteg"), so one plural form. - LangInfo { code: "hu", name: "Magyar", source: catalog!("hu"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, - // Turkish; `tr`, `tr-TR` and `tr_TR` locales resolve here. - LangInfo { code: "tr", name: "Türkçe", source: catalog!("tr"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, - // Vietnamese; `vi-VN` resolves here. - LangInfo { code: "vi", name: "Tiếng Việt", source: catalog!("vi"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, - // Hindi; `hi`, `hi-IN` locales resolve here. - LangInfo { code: "hi", name: "हिन्दी", source: catalog!("hi"), plural: plural_one_other, complete_menus: false, catalog: OnceLock::new() }, -]; - -impl LangInfo { - /// The catalog file's text (empty for English, or if the bundled data can't be inflated). - pub fn text(&self) -> String { - unpack(self.source).unwrap_or_else(|e| { - log::error!("translation catalog {}: {e}; showing English", self.code); - String::new() - }) - } - - fn catalog(&self) -> &Catalog { - self.catalog.get_or_init(|| Catalog::parse(&self.text())) - } -} - -/// A language the UI can be shown in (a handle into [`LANGUAGES`]). -#[derive(Clone, Copy)] -pub struct Lang(&'static LangInfo); - -impl std::fmt::Debug for Lang { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "Lang({})", self.0.code) - } -} - -impl PartialEq for Lang { - fn eq(&self, other: &Self) -> bool { - self.0.code == other.0.code - } -} - -impl Eq for Lang {} - -impl Lang { - pub const EN: Lang = Lang(&LANGUAGES[0]); - - pub fn code(self) -> &'static str { - self.0.code - } - - /// A language by its exact code. - pub fn from_code(code: &str) -> Option { - LANGUAGES.iter().find(|l| l.code.eq_ignore_ascii_case(code)).map(Lang) - } - - /// Resolve the `interface.language` preference: a language code, or `auto` (and anything - /// unknown, e.g. a code from a newer version) to follow the system locale. - pub fn from_pref(pref: &str) -> Lang { - if pref.eq_ignore_ascii_case("auto") { - return system_lang(); - } - Lang::from_code(pref).or_else(|| lang_from_tag(pref)).unwrap_or_else(system_lang) - } - - /// Every registered language. - pub fn all() -> impl Iterator { - LANGUAGES.iter().map(Lang) - } - - /// Every registered language in the order a picker lists them: English first (the source - /// language and the fallback), then the rest by their own name with accents folded, so - /// Čeština sits under C and Türkçe under T rather than after Z. Names in other scripts follow - /// the Latin ones in code point order: Greek, Cyrillic, then the CJK languages. - pub fn for_picker() -> Vec { - let mut rest: Vec = Lang::all().filter(|l| l.code() != "en").collect(); - rest.sort_by_cached_key(|l| name_sort_key(l.name())); - std::iter::once(Lang::EN).chain(rest).collect() - } - - pub fn name(self) -> &'static str { - self.0.name - } - - /// Does this language's catalog claim to cover every menu string and `tl!` literal? - pub fn complete_menus(self) -> bool { - self.0.complete_menus - } - - /// The language's reading direction. - pub fn dir(self) -> Dir { - dir_for_code(self.0.code) - } - - fn catalog(self) -> &'static Catalog { - self.0.catalog() - } -} - -/// `name` lowercased with the Latin accents that occur in language names folded away, so a -/// byte-wise sort reads alphabetically. Other scripts are left as they are. -fn name_sort_key(name: &str) -> String { - name.chars() - .flat_map(char::to_lowercase) - .map(|c| match c { - 'à'..='å' | 'ā' | 'ă' | 'ą' => 'a', - 'ç' | 'ć' | 'č' => 'c', - 'è'..='ë' | 'ē' | 'ě' | 'ę' | 'ế' | 'ệ' => 'e', - 'ì'..='ï' | 'ī' => 'i', - 'ñ' | 'ń' | 'ň' => 'n', - 'ò'..='ö' | 'ø' | 'ő' => 'o', - 'ś' | 'š' => 's', - 'ù'..='ü' | 'ū' | 'ů' | 'ű' => 'u', - 'ý' | 'ÿ' => 'y', - 'ź' | 'ż' | 'ž' => 'z', - c => c, - }) - .collect() -} - -/// Candidate language codes for a locale tag, most specific first: `zh_TW.UTF-8` → -/// `zh-tw`, `zh-hant`, `zh`. -fn candidates(tag: &str) -> Vec { - let base = tag.split(['.', '@']).next().unwrap_or("").replace('_', "-").to_ascii_lowercase(); - let parts: Vec<&str> = base.split('-').filter(|p| !p.is_empty()).collect(); - let Some(&primary) = parts.first() else { return Vec::new() }; - let mut out = Vec::new(); - for n in (1..=parts.len()).rev() { - out.push(parts[..n].join("-")); - } - if primary == "zh" && !parts.iter().any(|p| matches!(*p, "hans" | "hant")) { - // Chinese by region when no script is given. - let script = if parts.iter().any(|p| matches!(*p, "tw" | "hk" | "mo")) { "zh-hant" } else { "zh-hans" }; - out.insert(out.len() - 1, script.to_string()); - } - if primary == "pt" && !out.iter().any(|c| c == "pt-br") { - // The only Portuguese catalog is Brazilian; other regions use it rather than English. - out.insert(out.len() - 1, "pt-br".to_string()); - } - out -} - -/// The registered language for a locale tag such as `ja_JP.UTF-8`, `ja-JP`, `zh-TW`; `None` if -/// the language isn't supported. `C`/`POSIX` mean English. -pub fn lang_from_tag(tag: &str) -> Option { - let cands = candidates(tag); - if matches!(cands.first().map(String::as_str), Some("c" | "posix")) { - return Some(Lang::EN); - } - cands.iter().find_map(|c| Lang::from_code(c)) -} - -thread_local! { - // Independent app/test threads must not change each other's drawing language. - static CURRENT: Cell = const { Cell::new(Lang::EN) }; -} - -/// Set the UI language for drawing (the shell calls this once per frame from the preference), so -/// widgets can translate without every call site carrying a language around. -pub fn set_current(lang: Lang) { - CURRENT.set(lang); -} - -/// The language the UI is drawn in. -pub fn current() -> Lang { - CURRENT.get() -} - -/// Temporarily draw in another language, restoring the previous one even on unwinding. -/// Preferences previews use this without changing the saved setting or other dialogs. -pub fn with_language(lang: Lang, draw: impl FnOnce() -> R) -> R { - let _restore = language_scope(lang); - draw() -} - -/// Keep the language active until this guard is dropped on the drawing thread. -#[must_use] -pub fn language_scope(lang: Lang) -> impl Drop { - struct Restore { - previous: Lang, - _thread: std::marker::PhantomData>, - } - impl Drop for Restore { - fn drop(&mut self) { - set_current(self.previous); - } - } - let restore = Restore { previous: current(), _thread: std::marker::PhantomData }; - set_current(lang); - restore -} - -/// Apply a committed language to this context. Font caches are rebuilt only on a language -/// change, so Han glyphs follow the selected script even when the previous font covered them. -pub fn sync_context(ctx: &egui::Context, language: &str) { - let lang = Lang::from_pref(language); - set_current(lang); - let id = egui::Id::new("photocraft-ui-language"); - let changed = ctx.data(|data| data.get_temp::(id) != Some(lang)); - if changed { - ctx.data_mut(|data| data.insert_temp(id, lang)); - crate::theme::install_fonts(ctx); - ctx.request_repaint(); - } -} - -/// Does `lang` have a catalog entry for this plain string? (English never does: it is the source.) -pub fn has(lang: Lang, s: &str) -> bool { - lang.catalog().plain(s).is_some() -} - -/// Translate an English UI string into the current language ([`tr`] with [`current`]). -pub fn t(s: &str) -> &str { - tr(current(), s) -} - -/// Translate an English UI string; unknown strings come back unchanged. -pub fn tr(lang: Lang, s: &str) -> &str { - lang.catalog().plain(s).unwrap_or(s) -} - -/// Like [`tr`], for an English string that needs a disambiguating `context`. -pub fn tr_ctx<'a>(lang: Lang, context: &str, s: &'a str) -> &'a str { - lang.catalog().contextual(context, s).unwrap_or_else(|| tr(lang, s)) -} - -/// A string keyed by its command id, falling back to the translation of the English `label`. -pub fn tr_id<'a>(lang: Lang, id: &str, label: &'a str) -> &'a str { - lang.catalog().id(id).unwrap_or_else(|| tr(lang, label)) -} - -/// Fill `{name}` placeholders. Unknown placeholders are left as written. -pub fn fmt(template: &str, args: &[(&str, &str)]) -> String { - let mut out = template.to_string(); - for (k, v) in args { - out = out.replace(&format!("{{{k}}}"), v); - } - out -} - -/// A plural-aware message: `one`/`other` are the English forms (with `{n}` where the count goes). -pub fn trn(lang: Lang, n: u64, one: &str, other: &str) -> String { - let idx = (lang.0.plural)(n); - let text = lang.catalog().plural(one, other, idx).unwrap_or(if n == 1 { one } else { other }); - fmt(text, &[("n", &n.to_string())]) -} - -#[cfg(test)] -mod tests { - use super::catalog::{parse_entries, placeholders}; - use super::*; - - const AR: fn() -> Lang = || Lang::from_code("ar").expect("ar registered"); - const JA: fn() -> Lang = || Lang::from_code("ja").expect("ja registered"); - const ZH: fn() -> Lang = || Lang::from_code("zh-hant").expect("zh-hant registered"); - const CS: fn() -> Lang = || Lang::from_code("cs").expect("cs registered"); - const ID: fn() -> Lang = || Lang::from_code("id").expect("id registered"); - const VI: fn() -> Lang = || Lang::from_code("vi").expect("vi registered"); - const HI: fn() -> Lang = || Lang::from_code("hi").expect("hi registered"); - - #[test] - fn hindi_tags_resolve() { - for tag in ["hi", "hi-IN", "hi_IN", "hi_IN.UTF-8"] { - assert_eq!(lang_from_tag(tag), Some(HI()), "{tag}"); - } - assert_eq!(HI().name(), "हिन्दी"); - assert_eq!(Lang::from_pref("hi"), HI()); - assert_eq!(Lang::from_pref("HI"), HI()); - } - - #[test] - fn arabic_plural_rule() { - let forms: Vec = [0, 1, 2, 3, 5, 10, 11, 99, 100, 101, 111, 112].into_iter().map(plural_arabic).collect(); - assert_eq!(forms, [0, 1, 2, 3, 3, 3, 4, 4, 5, 5, 4, 4]); - } - - #[test] - fn arabic_resolves_locales_and_preferences() { - let ar = AR(); - assert_eq!(ar.name(), "العربية"); - assert!(ar.complete_menus()); - for tag in ["ar", "AR", "ar-SA", "ar_EG", "ar_MA", "ar-AE"] { - assert_eq!(lang_from_tag(tag), Some(ar), "{tag}"); - assert_eq!(Lang::from_pref(tag), ar, "{tag}"); - } - assert_eq!(tr(ar, "File"), "ملف"); - assert_eq!(tr(ar, "Layer"), "طبقة"); - assert_eq!(tr(ar, "New document…"), "مستند جديد…"); - assert_eq!(tr(ar, "No properties"), "لا خصائص"); - } - - #[test] - fn indonesian_tags_resolve() { - for tag in ["id", "id-ID", "id_ID", "id_ID.UTF-8"] { - assert_eq!(lang_from_tag(tag), Some(ID()), "{tag}"); - } - assert_eq!(ID().name(), "Bahasa Indonesia"); - } - - #[test] - fn vietnamese_tags_resolve() { - for tag in ["vi", "vi-VN", "vi_VN", "vi_VN.UTF-8"] { - assert_eq!(lang_from_tag(tag), Some(VI()), "{tag}"); - } - assert_eq!(VI().name(), "Tiếng Việt"); - assert_eq!(Lang::from_pref("vi"), VI()); - assert_eq!(Lang::from_pref("VI"), VI()); - } - - #[test] - fn picker_lists_english_first_then_names_alphabetically() { - let order = Lang::for_picker(); - assert_eq!(order.first().map(|l| l.code()), Some("en")); - assert_eq!(order.len(), Lang::all().count()); - let keys: Vec = order[1..].iter().map(|l| name_sort_key(l.name())).collect(); - assert!(keys.windows(2).all(|w| w[0] <= w[1]), "{keys:?}"); - let pos = |code: &str| order.iter().position(|l| l.code() == code).unwrap_or_else(|| panic!("{code} registered")); - assert!(pos("cs") < pos("de"), "Čeština sorts under C, not after Z"); - assert!(pos("it") < pos("hu"), "Magyar sorts under M, not under its code"); - assert!(pos("tr") < pos("el"), "Latin names come before Greek"); - assert!(pos("uk") < pos("ja"), "Cyrillic names come before CJK"); - assert_eq!(name_sort_key("Tiếng Việt"), "tieng viet"); - assert_eq!(name_sort_key("Türkçe"), "turkce"); - } - - #[test] - fn tags_map_to_languages() { - assert_eq!(lang_from_tag("ja_JP.UTF-8"), Some(JA())); - assert_eq!(lang_from_tag("ja-JP"), Some(JA())); - assert_eq!(lang_from_tag("en_US.UTF-8"), Some(Lang::EN)); - assert_eq!(lang_from_tag("C"), Some(Lang::EN)); - assert_eq!(lang_from_tag("POSIX"), Some(Lang::EN)); - assert_eq!(lang_from_tag("cs_CZ.UTF-8"), Some(CS())); - assert_eq!(lang_from_tag("cs-CZ"), Some(CS())); - assert_eq!(lang_from_tag("fr_FR"), Lang::from_code("fr")); - assert_eq!(lang_from_tag("de_DE"), Lang::from_code("de")); - assert_eq!(lang_from_tag("de-AT"), Lang::from_code("de")); - assert_eq!(lang_from_tag("it_IT.UTF-8"), Lang::from_code("it")); - assert_eq!(lang_from_tag("it-CH"), Lang::from_code("it")); - assert_eq!(lang_from_tag("nl_NL.UTF-8"), Lang::from_code("nl")); - assert_eq!(lang_from_tag("nl-BE"), Lang::from_code("nl")); - assert_eq!(lang_from_tag("hu_HU.UTF-8"), Lang::from_code("hu")); - assert_eq!(lang_from_tag("hu-HU"), Lang::from_code("hu")); - assert_eq!(lang_from_tag("tr_TR.UTF-8"), Lang::from_code("tr")); - assert_eq!(lang_from_tag("tr-TR"), Lang::from_code("tr")); - assert_eq!(lang_from_tag("tr"), Lang::from_code("tr")); - // Traditional Chinese: by region, by script, and with a region after the script. - assert_eq!(lang_from_tag("zh_TW.UTF-8"), Some(ZH())); - assert_eq!(lang_from_tag("zh-TW"), Some(ZH())); - assert_eq!(lang_from_tag("zh-HK"), Some(ZH())); - assert_eq!(lang_from_tag("zh_MO"), Some(ZH())); - assert_eq!(lang_from_tag("zh-Hant"), Some(ZH())); - assert_eq!(lang_from_tag("zh-Hant-TW"), Some(ZH())); - assert_eq!(lang_from_tag("zh-Hant-HK"), Some(ZH())); - // Simplified Chinese locales never pick up the Traditional catalog: they resolve to `zh-hans`. - for tag in ["zh-CN", "zh_CN.UTF-8", "zh_SG", "zh-Hans", "zh-Hans-CN", "zh"] { - assert_ne!(lang_from_tag(tag), Some(ZH()), "{tag}"); - assert_eq!(lang_from_tag(tag), Lang::from_code("zh-hans"), "{tag}"); - } - assert_eq!(lang_from_tag(""), None); - assert_eq!(lang_from_tag("_"), None); - } - - #[test] - fn candidates_walk_from_specific_to_general() { - assert_eq!(candidates("pt_BR.UTF-8"), ["pt-br", "pt"]); - assert_eq!(candidates("zh_TW"), ["zh-tw", "zh-hant", "zh"]); - assert_eq!(candidates("zh-CN"), ["zh-cn", "zh-hans", "zh"]); - assert_eq!(candidates("zh-Hant-HK"), ["zh-hant-hk", "zh-hant", "zh"]); - } - - #[test] - fn preferences_resolve_with_fallback() { - assert_eq!(Lang::from_pref("ja"), JA()); - assert_eq!(Lang::from_pref("JA"), JA()); - assert_eq!(Lang::from_pref("zh-hant"), ZH()); - assert_eq!(Lang::from_pref("ZH-Hant"), ZH()); - assert_eq!(Lang::from_pref("en"), Lang::EN); - // `auto` and unknown codes follow the system (English under test). - assert_eq!(Lang::from_pref("auto"), Lang::EN); - assert_eq!(Lang::from_pref("xx-unknown"), Lang::EN); - } - - #[test] - fn simplified_chinese_resolves_from_preferences() { - let zh = Lang::from_code("zh-hans").expect("zh-hans registered"); - assert_eq!(Lang::from_pref("ZH-Hans"), zh); - assert_eq!(tr(zh, "no such label"), "no such label"); - } - - #[test] - fn spanish_resolves_and_pluralises() { - let es = Lang::from_code("es").expect("es registered"); - for tag in ["es", "es_ES.UTF-8", "es-MX", "es-419"] { - assert_eq!(lang_from_tag(tag), Some(es), "{tag}"); - } - let forms: Vec = [0, 1, 3].into_iter().map(es.0.plural).collect(); - assert_eq!(forms, [1, 0, 1]); - } - - #[test] - fn hungarian_resolves_and_keeps_the_singular_after_counts() { - let hu = Lang::from_code("hu").expect("hu registered"); - for tag in ["hu", "hu_HU.UTF-8", "hu-HU"] { - assert_eq!(lang_from_tag(tag), Some(hu), "{tag}"); - } - assert_eq!(hu.name(), "Magyar"); - let forms: Vec = [0, 1, 3, 21].into_iter().map(hu.0.plural).collect(); - assert_eq!(forms, [0, 0, 0, 0]); - } - - #[test] - fn brazilian_portuguese_resolves_and_pluralises() { - let pt = Lang::from_code("pt-br").expect("pt-br registered"); - for tag in ["pt", "pt-BR", "pt_BR.UTF-8", "pt-PT", "pt_PT.UTF-8"] { - assert_eq!(lang_from_tag(tag), Some(pt), "{tag}"); - } - assert_eq!(candidates("pt_PT"), ["pt-pt", "pt-br", "pt"]); - let forms: Vec = [0, 1, 2].into_iter().map(pt.0.plural).collect(); - assert_eq!(forms, [0, 0, 1]); - } - - #[test] - fn lookups_fall_back_to_english() { - assert_eq!(tr(JA(), "no such label"), "no such label"); - assert_eq!(tr(Lang::EN, "Layer"), "Layer"); - assert_eq!(tr(ZH(), "no such label"), "no such label"); - assert_eq!(tr_id(ZH(), "no.such.id", "Layer"), tr(ZH(), "Layer")); - assert_eq!(tr_id(JA(), "no.such.id", "Layer"), tr(JA(), "Layer")); - assert_eq!(tr_ctx(JA(), "no such context", "Layer"), tr(JA(), "Layer")); - assert_eq!(trn(JA(), 3, "{n} no such message", "{n} no such messages"), "3 no such messages"); - } - - #[test] - fn russian_plural_rule() { - let ru = Lang::from_code("ru").expect("ru registered"); - let forms: Vec = [0, 1, 2, 5, 11, 12, 14, 21, 22, 25, 101, 111, 112].into_iter().map(ru.0.plural).collect(); - assert_eq!(forms, [2, 0, 1, 2, 2, 2, 2, 0, 1, 2, 0, 2, 2]); - } - - #[test] - fn ukrainian_resolves_locales_and_preferences() { - let uk = Lang::from_code("uk").expect("uk registered"); - assert_eq!(uk.name(), "Українська"); - for tag in ["uk", "UK", "uk-UA", "uk_UA", "uk_UA.UTF-8", "uk-UA@euro", "uk-Cyrl-UA"] { - assert_eq!(lang_from_tag(tag), Some(uk), "{tag}"); - assert_eq!(Lang::from_pref(tag), uk, "{tag}"); - } - assert_eq!(tr(uk, "unknown translation"), "unknown translation"); - } - - #[test] - fn ukrainian_plural_rule_handles_teens_and_compound_counts() { - let uk = Lang::from_code("uk").expect("uk registered"); - let counts = [0, 1, 2, 4, 5, 11, 12, 14, 19, 21, 22, 24, 25, 100, 101, 111, 112, 114, 121, 122, u64::MAX]; - let forms: Vec = counts.into_iter().map(uk.0.plural).collect(); - assert_eq!(forms, [2, 0, 1, 1, 2, 2, 2, 2, 2, 0, 1, 1, 2, 2, 0, 2, 2, 2, 0, 1, 2]); - } - - #[test] - fn serbian_resolves_locales_and_preferences() { - let sr = Lang::from_code("sr").expect("sr registered"); - assert_eq!(sr.name(), "Srpski"); - for tag in ["sr", "SR", "sr-RS", "sr_RS", "sr_RS.UTF-8", "sr_RS@latin", "sr-Latn", "sr-Latn-RS", "sr-Cyrl-RS", "sr-ME"] { - assert_eq!(lang_from_tag(tag), Some(sr), "{tag}"); - assert_eq!(Lang::from_pref(tag), sr, "{tag}"); - } - } - - #[test] - fn serbian_plural_rule_handles_teens_and_compound_counts() { - let sr = Lang::from_code("sr").expect("sr registered"); - let counts = [0, 1, 2, 4, 5, 11, 12, 14, 21, 22, 25, 101, 111, 112, 122]; - let forms: Vec = counts.into_iter().map(sr.0.plural).collect(); - assert_eq!(forms, [2, 0, 1, 1, 2, 2, 2, 2, 0, 1, 2, 0, 2, 2, 1]); - } - - #[test] - fn catalog_kinds_are_parsed_and_looked_up() { - let c = Catalog::parse("# c\n\tHello\tこんにちは\n@id\tfile.save\t保存する\nmenu\tWindows\tウィンドウ群\n@plural\t{n} file|{n} files\t{n} 個\n\n"); - assert_eq!(c.plain("Hello"), Some("こんにちは")); - assert_eq!(c.id("file.save"), Some("保存する")); - assert_eq!(c.contextual("menu", "Windows"), Some("ウィンドウ群")); - assert_eq!(c.contextual("other", "Windows"), None); - assert_eq!(c.plural("{n} file", "{n} files", 0), Some("{n} 個")); - assert_eq!(c.plural("{n} file", "{n} files", 5), Some("{n} 個"), "an index past the forms clamps"); - } - - #[test] - fn malformed_lines_are_reported_not_fatal() { - let (entries, errors) = parse_entries("\tok\tはい\nno tabs here\n\tonly\n\ta\tb\tc\textra\n\t\tempty source\n"); - assert_eq!(entries.len(), 1); - assert_eq!(errors.len(), 4, "{errors:?}"); - assert_eq!(parse_entries("\ta\\tb\tx\\ny\\\\z\n").0[0], (String::new(), "a\tb".into(), "x\ny\\z".into())); - } - - #[test] - fn plurals_and_placeholders() { - assert_eq!(trn(Lang::EN, 1, "{n} item", "{n} items"), "1 item"); - assert_eq!(trn(Lang::EN, 0, "{n} item", "{n} items"), "0 items"); - assert_eq!(trn(Lang::EN, 7, "{n} item", "{n} items"), "7 items"); - let cs = fixture_lang(plural_cs, "@plural\t{n} item|{n} items\t{n} one|{n} few|{n} other\n"); - for (n, expected) in [(0, "0 other"), (1, "1 one"), (3, "3 few"), (5, "5 other")] { - assert_eq!(trn(cs, n, "{n} item", "{n} items"), expected); - } - let ja = fixture_lang(plural_none, "@plural\t{n} item|{n} items\t{n} only\n"); - assert_eq!(trn(ja, 1, "{n} item", "{n} items"), "1 only"); - assert_eq!(trn(ja, 7, "{n} item", "{n} items"), "7 only"); - assert_eq!(trn(ja, 7, "{n} file", "{n} files"), "7 files", "a missing row falls back to English"); - assert_eq!(fmt("{b} before {a}", &[("a", "x"), ("b", "y"), ("c", "z")]), "y before x"); - assert_eq!(fmt("{missing}", &[]), "{missing}"); - assert_eq!(placeholders("a {x} b {y} {"), ["x", "y"]); - } - - #[test] - fn french_resolves_and_pluralises() { - let fr = Lang::from_code("fr").expect("fr registered"); - for tag in ["fr", "fr_FR.UTF-8", "fr-CA", "fr_BE", "fr-CH"] { - assert_eq!(lang_from_tag(tag), Some(fr), "{tag}"); - } - let forms: Vec = [0, 1, 2, 5, 100, u64::MAX].into_iter().map(fr.0.plural).collect(); - assert_eq!(forms, [0, 0, 1, 1, 1, 1]); - } - - /// A language whose catalog is `text`, for testing lookups without depending on a bundled - /// catalog's wording. - fn fixture_lang(plural: fn(u64) -> usize, text: &str) -> Lang { - let catalog = OnceLock::new(); - let _ = catalog.set(Catalog::parse(text)); - Lang(Box::leak(Box::new(LangInfo { code: "xx", name: "x", source: b"", plural, complete_menus: false, catalog }))) - } - - #[test] - fn id_and_context_rows_win_over_the_plain_label() { - let lang = fixture_lang(plural_one_other, "\tAll\tplain all\n@id\tselect.all\tid all\nnavigator\tZoom\tcontext zoom\n\tZoom\tplain zoom\n"); - assert_eq!(tr_id(lang, "select.all", "All"), "id all"); - assert_eq!(tr_id(lang, "edit.other", "All"), "plain all"); - assert_eq!(tr(lang, "All"), "plain all"); - assert_eq!(tr_ctx(lang, "navigator", "Zoom"), "context zoom"); - assert_eq!(tr_ctx(lang, "other", "Zoom"), "plain zoom"); - assert_eq!(tr_ctx(lang, "navigator", "Unlisted"), "Unlisted"); - } - - #[test] - fn polish_plural_rule() { - let forms: Vec = [0, 1, 2, 4, 5, 12, 14, 21, 22, 25, 112, 122].into_iter().map(plural_polish).collect(); - assert_eq!(forms, [2, 0, 1, 1, 2, 2, 2, 2, 1, 2, 2, 1]); - } - - #[test] - fn czech_plural_rule() { - let forms: Vec = [0, 1, 2, 3, 4, 5, 11, 12, 21, 22, 100, u64::MAX].into_iter().map(plural_cs).collect(); - assert_eq!(forms, [2, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2]); - } - - /// The packed catalogs in the binary unpack to exactly the `.tsv` files. - #[test] - fn packed_catalogs_match_their_files() { - let dir = std::path::Path::new(env!("CARGO_MANIFEST_DIR")).join("src/i18n"); - for l in LANGUAGES.iter().skip(1) { - let file = std::fs::read_to_string(dir.join(format!("{}.tsv", l.code))).unwrap(); - assert_eq!(unpack(l.source).unwrap(), file, "{}", l.code); - assert!(l.source.len() < file.len() / 2, "{}: stored deflated", l.code); - } - assert_eq!(LANGUAGES[0].text(), "", "English has no catalog"); - } - - /// Corrupt catalog data is an error (English is shown), not a panic. - #[test] - fn corrupt_catalog_data_is_an_error() { - assert!(inflate(b"\xff\xff\xff\xff not deflate").is_err()); - let ja = LANGUAGES.iter().find(|l| l.code == "ja").unwrap(); - assert!(inflate(&ja.source[..ja.source.len() / 2]).is_err(), "truncated"); - let info: &'static LangInfo = Box::leak(Box::new(LangInfo { - code: "xx", - name: "x", - source: b"\x00garbage", - plural: plural_none, - complete_menus: false, - catalog: OnceLock::new(), - })); - assert_eq!(info.text(), ""); - assert_eq!(tr(Lang(info), "Layer"), "Layer", "falls back to English"); - } - - /// Packed lines unpack to their keys; references to keys that don't exist are an error, not a - /// panic. - #[test] - fn packed_lines_unpack_and_bad_references_are_errors() { - let keys = ["\tOpen", "@id\tfile.open", "\tClose"]; - let packed = "# c\n\x01Ouvrir\n\x02-1\tOuvrir\n\x02+1\tFermer\n\x03\x01x\n"; - assert_eq!(expand(packed, &keys).unwrap(), "# c\n\tOpen\tOuvrir\n\tOpen\tOuvrir\n\tClose\tFermer\n\x01x\n"); - for bad in ["\x02-1\tx", "\x02 3\tx", "\x023", "\x029223372036854775807\tx", "\x02-9223372036854775808\tx", "\x01a\n\x01b\n\x01c\n\x01d"] { - assert!(expand(bad, &keys).is_err(), "{bad:?}"); - } - } - - /// Every bundled catalog is well-formed and consistent with its sources. - #[test] - fn bundled_catalogs_are_consistent() { - for l in &LANGUAGES { - assert!(l.code == l.code.to_ascii_lowercase() && !l.name.is_empty(), "{}", l.code); - let (entries, errors) = parse_entries(&l.text()); - assert!(errors.is_empty(), "{}: {errors:?}", l.code); - let mut seen = std::collections::HashSet::new(); - for (ctx, src, tr) in &entries { - assert!(seen.insert((ctx.clone(), src.clone())), "{}: duplicate {ctx:?} {src:?}", l.code); - if ctx == "@plural" { - let one_other: Vec<&str> = src.split('|').collect(); - assert_eq!(one_other.len(), 2, "{}: plural source must be `one|other`: {src:?}", l.code); - let forms = (0..=1000).map(l.plural).max().unwrap_or(0) + 1; - assert_eq!(tr.split('|').count(), forms, "{}: {forms} plural forms expected in {src:?}", l.code); - for form in tr.split('|') { - let mut want = placeholders(one_other[1]); - let mut got = placeholders(form); - want.sort_unstable(); - got.sort_unstable(); - assert_eq!(want, got, "{}: placeholders differ in {src:?}", l.code); - } - continue; - } - let mut want = placeholders(src); - let mut got = placeholders(tr); - want.sort_unstable(); - got.sort_unstable(); - assert_eq!(want, got, "{}: placeholders differ in {src:?}", l.code); - if ctx.is_empty() { - assert_eq!(src.ends_with('…'), tr.ends_with('…'), "{}: ellipsis mismatch: {src:?}", l.code); - } - if ctx == "@id" { - assert!(crate::menus::is_live(src) || crate::menu_catalog::CATALOG.iter().any(|m| m.3 == src), "{}: unknown command id {src:?}", l.code); - } - } - } - } -} - -#[cfg(test)] -mod live_tests; From bd9590d060315c0e699636cdeec1126b082912c5 Mon Sep 17 00:00:00 2001 From: David Mann Date: Wed, 28 Oct 2026 21:22:26 +0100 Subject: [PATCH 50/60] Arabic interface language, combined from the community catalogs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds Arabic (ar, العربية) as an interface language. The catalog combines the open Arabic catalogs of #2505, #4520, #4569, #5593, #5915, #6092 and #6287: each row takes the best of their translations, with one Arabic term per concept across the UI, and the strings added since are filled in. Modern Standard Arabic, Western digits, the six CLDR plural forms (zero|one|two|few|many|other). The two tests that used ar-SA as an unsupported locale now use sw-KE, and the direction test expects Arabic to be the one right-to-left catalog. Co-authored-by: azizr12 <163084230+azizr12@users.noreply.github.com> Co-authored-by: hicbest <213873494+hicbest@users.noreply.github.com> Co-authored-by: hasan-sdaif <306196098+hasan-sdaif@users.noreply.github.com> Co-authored-by: NibrasAz7 <34162952+NibrasAz7@users.noreply.github.com> Co-authored-by: vfggf95565 <74471233+vfggf95565@users.noreply.github.com> Co-authored-by: syrrevshin4202-prog <243624842+syrrevshin4202-prog@users.noreply.github.com> Co-authored-by: test-bit-sys <336050374+test-bit-sys@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 --- ATTRIBUTION.md | 1 + crates/ui-egui/src/i18n.rs | 17 +- .../ui-egui/src/i18n/LICENSE-translations.txt | 5 + crates/ui-egui/src/i18n/ar.tsv | 3533 +++++++++++++++++ crates/ui-egui/src/i18n/live_tests.rs | 23 +- crates/ui-egui/src/i18n/system.rs | 3 +- crates/ui-egui/src/i18n/tests.rs | 22 + crates/ui-egui/src/text/direction/tests.rs | 9 +- docs/localization-parity.md | 11 +- docs/localization.md | 14 +- docs/scorecard.md | 2 +- scorecard/distribution.toml | 2 +- 12 files changed, 3622 insertions(+), 20 deletions(-) create mode 100644 crates/ui-egui/src/i18n/ar.tsv diff --git a/ATTRIBUTION.md b/ATTRIBUTION.md index 83c583649f..ddbc0940a5 100644 --- a/ATTRIBUTION.md +++ b/ATTRIBUTION.md @@ -23,6 +23,7 @@ next to them. | `crates/ui-egui/src/i18n/cs.tsv` | Czech UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, [`LICENSE-translations.txt`](crates/ui-egui/src/i18n/LICENSE-translations.txt) | | `crates/ui-egui/src/i18n/hu.tsv` | Hungarian UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, [`LICENSE-translations.txt`](crates/ui-egui/src/i18n/LICENSE-translations.txt) | | `crates/ui-egui/src/i18n/vi.tsv` | Vietnamese UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, [`LICENSE-translations.txt`](crates/ui-egui/src/i18n/LICENSE-translations.txt) | +| `crates/ui-egui/src/i18n/ar.tsv` | Arabic UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, [`LICENSE-translations.txt`](crates/ui-egui/src/i18n/LICENSE-translations.txt) | | `crates/ui-egui/src/i18n/tr.tsv` | Turkish UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, [`LICENSE-translations.txt`](crates/ui-egui/src/i18n/LICENSE-translations.txt) | | `crates/ui-egui/src/i18n/sr.tsv` | Serbian (Latin, Ekavian) UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, [`LICENSE-translations.txt`](crates/ui-egui/src/i18n/LICENSE-translations.txt) | | `crates/ui-egui/src/i18n/ru.tsv` | Russian UI translations | PhotoCraft contributors | Original translations of PhotoCraft's English labels | MIT OR Apache-2.0, [`LICENSE-translations.txt`](crates/ui-egui/src/i18n/LICENSE-translations.txt) | diff --git a/crates/ui-egui/src/i18n.rs b/crates/ui-egui/src/i18n.rs index 51f6d1872f..d490de7b8e 100644 --- a/crates/ui-egui/src/i18n.rs +++ b/crates/ui-egui/src/i18n.rs @@ -115,6 +115,18 @@ fn plural_polish(n: u64) -> usize { } } +/// Arabic (CLDR): 0 → zero, 1 → one, 2 → two, n % 100 in 3–10 → few, in 11–99 → many, else other. +fn plural_arabic(n: u64) -> usize { + match (n, n % 100) { + (0, _) => 0, + (1, _) => 1, + (2, _) => 2, + (_, 3..=10) => 3, + (_, 11..=99) => 4, + _ => 5, + } +} + /// A catalog file as packed by build.rs (`pack_catalogs`; the binary would otherwise carry ~2.2 MB /// of translations, which the web build's size gate can't afford). See [`unpack`]. macro_rules! catalog { @@ -187,7 +199,7 @@ fn expand(packed: &str, keys: &[&str]) -> Result { } /// The registry. English first: it is the fallback and the source language. -pub static LANGUAGES: [LangInfo; 22] = [ +pub static LANGUAGES: [LangInfo; 23] = [ LangInfo { code: "en", name: "English", source: b"", plural: plural_one_other, complete_menus: false, catalog: OnceLock::new() }, LangInfo { code: "ja", name: "日本語", source: catalog!("ja"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, LangInfo { code: "zh-hans", name: "简体中文", source: catalog!("zh-hans"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, @@ -222,6 +234,9 @@ pub static LANGUAGES: [LangInfo; 22] = [ LangInfo { code: "vi", name: "Tiếng Việt", source: catalog!("vi"), plural: plural_none, complete_menus: true, catalog: OnceLock::new() }, // Hindi; `hi`, `hi-IN` locales resolve here. LangInfo { code: "hi", name: "हिन्दी", source: catalog!("hi"), plural: plural_one_other, complete_menus: false, catalog: OnceLock::new() }, + // Arabic (Modern Standard); `ar-SA`, `ar-EG` and the other regional locales resolve here. The + // chrome mirrors right to left (`dir_for_code`), and egui lays each label out right to left. + LangInfo { code: "ar", name: "العربية", source: catalog!("ar"), plural: plural_arabic, complete_menus: true, catalog: OnceLock::new() }, ]; impl LangInfo { diff --git a/crates/ui-egui/src/i18n/LICENSE-translations.txt b/crates/ui-egui/src/i18n/LICENSE-translations.txt index 0e9c354446..115e541f29 100644 --- a/crates/ui-egui/src/i18n/LICENSE-translations.txt +++ b/crates/ui-egui/src/i18n/LICENSE-translations.txt @@ -40,3 +40,8 @@ PhotoCraft's English labels; no proprietary translation resources were used. Russian translations: PhotoCraft contributors, original translations of PhotoCraft's English labels; no proprietary translation resources were used. + +Arabic translations: PhotoCraft contributors, combined from the catalogs contributed by @azizr12, +@hicbest, @hasan-sdaif, @NibrasAz7, @vfggf95565, @syrrevshin4202-prog and @test-bit-sys and +reviewed with Claude (Anthropic) as an AI contributor; original translations of PhotoCraft's +English labels, and no proprietary translation resources were used. diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv new file mode 100644 index 0000000000..05bd3c8016 --- /dev/null +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -0,0 +1,3533 @@ +# Arabic (ar) catalog. Columns, separated by a TAB: context source translation +# +# context empty a plain UI string; `source` is the English text in the code +# @id a command id (e.g. file.saveAs): wins over the English text for +# that menu item, so one id can read differently from its twin +# @plural `source` is "one|other" (English forms); the translation lists the +# language's forms separated by "|" (see `plural` in i18n/mod.rs) +# anything else a disambiguating context passed to `tr_ctx` +# escapes \n \t \ inside a column. `{name}` placeholders must appear in both columns. +# lines starting with # and blank lines are ignored. +# +# Combined from the community Arabic catalogs in #2505, #4520, #4569, #5593, #5915, #6092 and +# #6287: each row takes the best of their translations, with one term per concept across the UI. +# Modern Standard Arabic; menu commands use verbal nouns (فتح، حفظ باسم…). Product and technology +# names (PhotoCraft, ArtCraft, GPU, CMYK, OpenType …) and key names stay in Latin letters; the +# trailing "…" of dialog commands is kept. Clean-room: written from the plain meaning of the English +# labels; no proprietary localisation resource was consulted. Plural rule (CLDR): +# zero|one|two|few|many|other. Reviewed for consistency by an AI model; native-speaker review of +# the specialist terms is welcome. + +# Layer Mask Display Options (the layer mask rubylith's colour and opacity) + Mask Options… خيارات القناع… + Layer Mask Display Options… خيارات عرض قناع الطبقة… + +# Channel Options and New Spot Channel (#3761) + Channel Color لون القناة + Color Indicates: اللون يشير إلى: + Solidity: الصلابة: + Masked Areas المناطق المقنعة + Selected Areas المناطق المحددة + Ink Characteristics خصائص الحبر + +# Guide layout dialog + +# Custom print paper (#3820) + Paper Width عرض الورق + Paper Height ارتفاع الورق + Columns أعمدة + Rows صفوف + Number عدد + Margin هامش + Top: أعلى: + Left: يسار: + Bottom: أسفل: + Right: يمين: + Target: الهدف: + Selected Artboards ألواح التصميم المحددة + Center Columns توسيط الأعمدة + Clear Existing Guides مسح الأدلة الموجودة + Invalid guide layout تخطيط أدلة غير صالح + Leave empty for automatic size اتركه فارغًا للحجم التلقائي + 5 Columns, 3 Rows 5 أعمدة، 3 صفوف + 8 Columns 8 أعمدة + 12 Columns 12 عمودًا + + File ملف + Edit تحرير + Image صورة + Layer طبقة + Type نص + Select تحديد + Selected محدد + Scope النطاق + Top Left أعلى اليسار + Top Right أعلى اليمين + Bottom Left أسفل اليسار + Bottom Right أسفل اليمين + Filter مرشح + View عرض + Window نافذة + Help تعليمات + (coming soon) (قريبًا) + New… جديد… + New from Clipboard جديد من الحافظة + Open… فتح… + Open As… فتح باسم… + Open EXR Parts… فتح أجزاء EXR… + Add beauty precomp from the AOVs إضافة تركيبة جمالية مسبقة من AOVs + Both كلاهما + Left يسار + Right يمين + Open Recent فتح الملفات الأخيرة + Clear Recent Files مسح الملفات الأخيرة + Remove from Recent إزالة من الملفات الأخيرة + Remove {name} from Recent إزالة {name} من الملفات الأخيرة + Close إغلاق + Minimize تصغير + Maximize تكبير + Restore استعادة + Close All إغلاق الكل + Close Others إغلاق المستندات الأخرى + Save حفظ + Save As… حفظ باسم… + Save a Copy… حفظ نسخة… + {name} can't keep everything in this document لا يستطيع {name} الاحتفاظ بكل شيء في هذا المستند + Choose a format that keeps it, such as Photoshop (PSD), or save a copy. اختر تنسيقًا يحتفظ بذلك، مثل Photoshop (PSD)، أو احفظ نسخة. + Revert الرجوع إلى المحفوظ + Export تصدير + Quick Export as PNG تصدير سريع بتنسيق PNG + Export As… تصدير باسم… + Export Preferences… تفضيلات التصدير… + Save for Web (Legacy)… حفظ للويب (قديم)… + Artboards to Files… ألواح التصميم إلى ملفات… + Artboards to PDF… ألواح التصميم إلى PDF… + Layers to Files… الطبقات إلى ملفات… + Layer Comps to Files… تركيبات الطبقات إلى ملفات… + Color Lookup Tables… جداول بحث الألوان… + Data Sets as Files… مجموعات البيانات كملفات… + Paths to Illustrator… المسارات إلى Illustrator… + Render Video… تصيير الفيديو… + Generate توليد + Image Assets أصول الصور + Place Embedded… وضع مضمن… + Place Linked… وضع مرتبط… + Package… تجميع الحزمة… + Automate أتمتة + Batch… دفعة… + Create Droplet… إنشاء قُطيرة… + Crop and Straighten Photos اقتصاص الصور وتقويمها + Contact Sheet II… ورقة اتصال II… + Conditional Mode Change… تغيير الوضع الشرطي… + Fit Image… ملاءمة الصورة… + Lens Correction… تصحيح العدسة… + Merge to HDR Pro… دمج إلى HDR Pro… + Photomerge… Photomerge… + Scripts البرامج النصية + Image Processor… معالج الصور… + Delete All Empty Layers حذف كل الطبقات الفارغة + Flatten All Layer Effects تسطيح كل تأثيرات الطبقات + Flatten All Masks تسطيح كل الأقنعة + Script Events Manager… مدير أحداث البرامج النصية… + Import استيراد + Browse… استعراض… + Source Files الملفات المصدر + Use: الاستخدام: + Files الملفات + Folder المجلد + Add Open Files إضافة الملفات المفتوحة + Sort By Name فرز حسب الاسم + Attempt to Automatically Align Source Images محاولة محاذاة الصور المصدر تلقائيًا + Create Smart Object after Loading Layers إنشاء كائن ذكي بعد تحميل الطبقات + Reveal in Finder إظهار في Finder + Show in Explorer إظهار في Explorer + Show in Folder إظهار في المجلد + File Info… معلومات الملف… + Print… طباعة… + Print One Copy طباعة نسخة واحدة + Exit خروج + Undo تراجع + Redo إعادة + Toggle Last State تبديل الحالة الأخيرة + Fade… تلاشي… + Cut قص + Copy نسخ + Copy Merged نسخ مدمج + Paste لصق + Paste Special لصق خاص + Paste in Place لصق في المكان + Paste Into لصق داخل + Paste Outside لصق خارج + Paste Lorem Ipsum لصق نص Lorem Ipsum + Clear مسح + Search… بحث… + Check Spelling… تدقيق إملائي… + Find and Replace Text… البحث عن النص واستبداله… + Add to Dictionary إضافة إلى القاموس + No Spelling Suggestions لا توجد اقتراحات إملائية + Fill… تعبئة… + Stroke… حدّ… + Content-Aware Fill… تعبئة مدركة للمحتوى… + Delete and Fill Selection حذف التحديد وتعبئته + Content-Aware Scale تحجيم مدرك للمحتوى + Puppet Warp التواء الدمية + Perspective Warp التواء المنظور + Free Transform تحويل حر + Free Transform a Copy تحويل حر لنسخة + Transform تحويل + Again مرة أخرى + Transform Again on a Copy تحويل مرة أخرى على نسخة + Scale تحجيم + Rotate تدوير + Set horizontal skew ضبط الإمالة الأفقية + Set vertical skew ضبط الإمالة العمودية + Skew إمالة + Distort تشويه + Perspective منظور + Warp التواء + Flip Horizontal قلب أفقي + Flip Vertical قلب عمودي + Rotate 180° تدوير 180° + Rotate 90° Clockwise تدوير 90° باتجاه عقارب الساعة + Rotate 90° Counter Clockwise تدوير 90° عكس اتجاه عقارب الساعة + 180° 180° + 90° Clockwise 90° باتجاه عقارب الساعة + 90° Counter Clockwise 90° عكس اتجاه عقارب الساعة + Arbitrary… مخصص… + Auto-Align Layers… محاذاة الطبقات تلقائيًا… + Auto-Blend Layers… مزج الطبقات تلقائيًا… + Define Brush Preset… تعريف إعداد فرشاة مسبق… + Define Pattern… تعريف نقش… + Define Custom Shape… تعريف شكل مخصص… + Purge تفريغ + Clipboard الحافظة + Histories السجلات + Video Cache ذاكرة الفيديو المؤقتة + All الكل + Presets إعدادات مسبقة + Preset Manager… مدير الإعدادات المسبقة… + Migrate Presets ترحيل الإعدادات المسبقة + Export/Import Presets… تصدير/استيراد الإعدادات المسبقة… + Color Settings… إعدادات الألوان… + Assign Profile… تعيين ملف تعريف… + Convert to Profile… تحويل إلى ملف تعريف… + Keyboard Shortcuts… اختصارات لوحة المفاتيح… + Menus… القوائم… + Toolbar… شريط الأدوات… + Preferences التفضيلات + General… عام… + Interface… الواجهة… + Workspace… مساحة العمل… + Tools… الأدوات… + History Log… سجل العمليات… + File Handling… معالجة الملفات… + Export… تصدير… + Performance… الأداء… + Scratch Disks… أقراص التخزين المؤقت… + Cursors… المؤشرات… + Transparency & Gamut… الشفافية ونطاق الألوان… + Units & Rulers… الوحدات والمساطر… + Guides, Grid & Slices… الأدلة والشبكة والشرائح… + Plug-ins… المكونات الإضافية… + Type… النص… + Enhanced Controls… عناصر التحكم المحسنة… + Camera Raw… Camera Raw… + Raw Defaults… إعدادات Raw الافتراضية… + Integrations… التكاملات… + AI Integrations… تكاملات الذكاء الاصطناعي… + Install Plug-in… تثبيت مكون إضافي… + Language Options خيارات اللغة + Settings… إعدادات… + Mode الوضع + Bitmap صورة نقطية + Grayscale تدرج الرمادي + Duotone ثنائي اللون + Indexed Color ألوان مفهرسة + RGB Color ألوان RGB + CMYK Color ألوان CMYK + Lab Color ألوان Lab + Multichannel متعدد القنوات + 8 Bits/Channel 8 بت/قناة + 8 bit 8 بت + Integer عدد صحيح + 16 Bits/Channel 16 بت/قناة + 16 bit 16 بت + 32 Bits/Channel 32 بت/قناة + 32 bit (float) 32 بت (فاصلة عائمة) + Floating point فاصلة عائمة + Color Table… جدول الألوان… + Bitmap… صورة نقطية… + Duotone… ثنائي اللون… + Indexed Color… ألوان مفهرسة… + Adjustments التعديلات + Brightness/Contrast… السطوع/التباين… + Levels… المستويات… + Curves… المنحنيات… + Exposure… التعريض… + Vibrance… الحيوية… + Hue/Saturation… تدرج اللون/التشبع… + Color Balance… توازن الألوان… + Black & White… أبيض وأسود… + Photo Filter… مرشح الصور… + Channel Mixer… مازج القنوات… + Color Lookup… بحث الألوان… + Invert عكس + Posterize… تقليل الألوان… + Threshold… العتبة… + Gradient Map… خريطة التدرج… + Selective Color… لون انتقائي… + Shadows/Highlights… الظلال/الإضاءات… + HDR Toning… ضبط درجات HDR… + Desaturate إزالة التشبع + Match Color… مطابقة اللون… + Replace Color… استبدال اللون… + Equalize تسوية + Auto Tone درجة لونية تلقائية + Auto Contrast تباين تلقائي + Auto Color لون تلقائي + Image Size… حجم الصورة… + Canvas Size… حجم لوحة الرسم… + Image Rotation تدوير الصورة + Flip Canvas Horizontal قلب لوحة الرسم أفقيًا + Flip Canvas Vertical قلب لوحة الرسم عموديًا + Crop اقتصاص + Trim… تشذيب… + Reveal All إظهار الكل + Duplicate… تكرار… + Apply Image… تطبيق الصورة… + Calculations… العمليات الحسابية… + Variables المتغيرات + Define… تعريف… + Data Sets… مجموعات البيانات… + Apply Data Set… تطبيق مجموعة البيانات… + Variable Data Sets… مجموعات بيانات متغيرة… + Trap… حصر الألوان… + Analysis التحليل + Set Measurement Scale… تعيين مقياس القياس… + Select Data Points… تحديد نقاط البيانات… + Record Measurements تسجيل القياسات + Ruler Tool أداة المسطرة + Count Tool أداة العد + Place Scale Marker… وضع علامة المقياس… + Custom… مخصص… + New جديد + Layer… طبقة… + Group… مجموعة… + Group from Layers… مجموعة من الطبقات… + New Group from Layers… مجموعة جديدة من الطبقات… + Artboard… لوح التصميم… + Artboard from Group… لوح تصميم من مجموعة… + Artboard from Layers… لوح تصميم من طبقات… + Layer via Copy طبقة عبر النسخ + Layer via Cut طبقة عبر القص + Layer From Background… طبقة من الخلفية… + Layer from Background… طبقة من الخلفية… + Background from Layer خلفية من طبقة + Background From Layer خلفية من طبقة + New Shape Layer طبقة شكل جديدة + New Type Layer طبقة نص جديدة + New Fill Layer طبقة تعبئة جديدة + New Adjustment Layer طبقة تعديل جديدة + New Layer Based Slice شريحة جديدة مبنية على طبقة + New Smart Object via Copy كائن ذكي جديد عبر النسخ + New Blank Video Layer طبقة فيديو فارغة جديدة + New Video Layer from File… طبقة فيديو جديدة من ملف… + Duplicate Layer… تكرار الطبقة… + Delete Layer حذف الطبقة + Delete حذف + Rename Layer إعادة تسمية الطبقة + Create Layer إنشاء طبقة + Layer Style نمط الطبقة + Blending Options… خيارات المزج… + Bevel & Emboss… شطف ونقش بارز… + Use Global Light استخدام الإضاءة العامة + Overprint طباعة فوقية + Inner Shadow… ظل داخلي… + Inner Glow… توهج داخلي… + Satin… ساتان… + Color Overlay… تراكب لوني… + Gradient Overlay… تراكب التدرج… + Pattern Overlay… تراكب النقش… + Outer Glow… توهج خارجي… + Drop Shadow… ظل مسقط… + Copy Layer Style نسخ نمط الطبقة + Paste Layer Style لصق نمط الطبقة + Clear Layer Style مسح نمط الطبقة + Global Light… إضاءة عامة… + Hide All Effects إخفاء كل التأثيرات + Scale Effects… تحجيم التأثيرات… + Smart Filter مرشح ذكي + Convert for Smart Filters تحويل للمرشحات الذكية + Clear Smart Filters مسح المرشحات الذكية + Disable Smart Filters تعطيل المرشحات الذكية + Delete Filter Mask حذف قناع المرشح + Disable Filter Mask تعطيل قناع المرشح + Solid Color… لون مصمت… + Gradient… تدرج… + Pattern… نقش… + Layer Mask قناع الطبقة + Vector Mask قناع متجه + Reveal Selection إظهار التحديد + Hide Selection إخفاء التحديد + Hide All إخفاء الكل + From Transparency من الشفافية + Delete Vector Mask حذف القناع المتجه + Enable Layer Mask تمكين قناع الطبقة + Disable Layer Mask تعطيل قناع الطبقة + Enable Vector Mask تمكين القناع المتجه + Link Layer Mask ربط قناع الطبقة + Unlink Layer Mask إلغاء ربط قناع الطبقة + Link Vector Mask ربط القناع المتجه + Add Vector Mask إضافة قناع متجه + Vector Mask from Current Path قناع متجه من المسار الحالي + Create Clipping Mask إنشاء قناع اقتطاع + Release Clipping Mask تحرير قناع القص + Smart Objects كائنات ذكية + Smart Object كائن ذكي + Convert to Smart Object تحويل إلى كائن ذكي + Convert to Embedded تحويل إلى مضمّن + Convert to Layers تحويل إلى طبقات + Convert to Linked… تحويل إلى مرتبط… + Edit Contents تحرير المحتويات + Replace Contents… استبدال المحتويات… + Relink to File… إعادة الربط بملف… + Export Contents… تصدير المحتويات… + Update Modified Content تحديث المحتوى المعدل + Update All Modified Content تحديث كل المحتوى المعدّل + Stack Mode وضع التكديس + Choose Stack Mode: اختر وضع التكديس: + Entropy الإنتروبيا + Kurtosis التفرطح + Maximum الحد الأقصى + Mean المتوسط + Median وسيط + Minimum الحد الأدنى + Range النطاق + Skewness الالتواء + Standard Deviation الانحراف المعياري + Summation المجموع + Variance التباين الإحصائي + Video Layers طبقات الفيديو + Interpret Footage… تفسير اللقطات… + Replace Footage… استبدال اللقطات… + Reload Frame إعادة تحميل الإطار + Show Altered Video إظهار الفيديو المعدل + Restore Frame استعادة الإطار + Restore All Frames استعادة كل الإطارات + Insert Blank Frame إدراج إطار فارغ + Delete Frame حذف الإطار + Duplicate Frame تكرار الإطار + Frame from Layers إطار من الطبقات + Video Frames to Layers… إطارات الفيديو إلى طبقات… + Rasterize تحويل إلى نقطية + Rasterize Type تحويل النص إلى نقطية + Rasterize Type Layer تحويل طبقة النص إلى نقطية + Rasterize Shape تحويل الشكل إلى نقطية + New Guide Layout… تخطيط أدلة جديد… + New Guides From Shape أدلة جديدة من الشكل + Lock Layers… قفل الطبقات… + Link Layers ربط الطبقات + Select Linked Layers تحديد الطبقات المرتبطة + Merge Layers دمج الطبقات + Merge Down دمج للأسفل + Merge Group دمج المجموعة + Merge Visible دمج المرئي + Stamp Visible ختم المرئي + Select Layer Above تحديد الطبقة أعلاه + Select Layer Below تحديد الطبقة أدناه + Select Top Layer تحديد الطبقة العليا + Select Bottom Layer تحديد الطبقة السفلى + Add Layer Above to Selection إضافة الطبقة أعلاه إلى التحديد + Add Layer Below to Selection إضافة الطبقة أدناه إلى التحديد + Stamp Down ختم للأسفل + Flatten Image تسطيح الصورة + Matting تنقية الحواف + Color Decontaminate… إزالة تلوث اللون… + Remove Black Matte إزالة لون الحافة الأسود + Remove White Matte إزالة لون الحافة الأبيض + Defringe… إزالة الهالة… + Group Layers تجميع الطبقات + Ungroup Layers فك تجميع الطبقات + Hide Layers إخفاء الطبقات + Arrange ترتيب + Bring to Front إحضار إلى المقدمة + Bring Forward إحضار للأمام + Send Backward إرسال للخلف + Send to Back إرسال إلى المؤخرة + Reverse عكس الترتيب + Combine Shapes دمج الأشكال + Unite Shapes توحيد الأشكال + Subtract Front Shape طرح الشكل الأمامي + Intersect Shape Areas تقاطع مناطق الأشكال + Exclude Overlapping Shapes استبعاد الأشكال المتداخلة + Merge Shape Components دمج مكونات الشكل + Align محاذاة + Top Edges الحواف العلوية + Vertical Centers المراكز العمودية + Bottom Edges الحواف السفلية + Left Edges الحواف اليسرى + Horizontal Centers المراكز الأفقية + Right Edges الحواف اليمنى + Distribute توزيع + Vertically عموديًا + Horizontally أفقيًا + Layer Edges حواف الطبقة + Isolate Layers عزل الطبقات + Layer Content Options… خيارات محتوى الطبقة… + Fill Content محتوى التعبئة + Deselect Layers إلغاء تحديد الطبقات + Find Layers البحث عن الطبقات + Layer Comps تركيبات الطبقات + Layers طبقات + All Layers كل الطبقات + Hidden Layers الطبقات المخفية + Mask All Objects تقنيع كل الكائنات + Subject العنصر الرئيسي + Sky السماء + Panels اللوحات + Character Panel لوحة الأحرف + Paragraph Panel لوحة الفقرة + Character Styles Panel لوحة أنماط الأحرف + Paragraph Styles Panel لوحة أنماط الفقرات + Glyphs Panel لوحة الحروف الرسومية + Anti-Alias إزالة التسنن + Sharp حاد + Crisp واضح + Strong قوي + Smooth ناعم + Windows LCD Windows LCD + Windows Windows + Orientation الاتجاه + Horizontal أفقي + Vertical عمودي + OpenType OpenType + Standard Ligatures حروف مركبة قياسية + Contextual Alternates بدائل سياقية + Discretionary Ligatures حروف مركبة اختيارية + Swash حروف مزخرفة + Oldstyle أرقام قديمة الطراز + Stylistic Alternates بدائل أسلوبية + Titling Alternates بدائل العناوين + Ornaments زخارف + Ordinals أرقام ترتيبية + Fractions كسور + Create Work Path إنشاء مسار عمل + Convert to Shape تحويل إلى شكل + Warp Text… التواء النص… + Convert to Point Text تحويل إلى نص نقطي + Convert to Paragraph Text تحويل إلى نص فقرة + Default Features الميزات الافتراضية + East Asian Features ميزات شرق آسيا + Middle Eastern Features ميزات الشرق الأوسط + Middle Eastern & South Asian Composer محرك التنسيق للشرق الأوسط وجنوب آسيا + Update All Text Layers تحديث كل طبقات النص + Replace All Missing Fonts استبدال كل الخطوط المفقودة + Resolve Missing Fonts… حل مشكلة الخطوط المفقودة… + Font Preview Size حجم معاينة الخط + None بلا + Small صغير + Medium متوسط + Large كبير + Extra Large كبير جدًا + Huge ضخم + Load Default Type Styles تحميل أنماط النص الافتراضية + Save Default Type Styles حفظ أنماط النص الافتراضية + Deselect إلغاء التحديد + Reselect إعادة التحديد + Inverse عكس التحديد + Inverse Selection عكس التحديد + Similar مشابه + Color Range… نطاق الألوان… + Focus Area… منطقة التركيز… + Select and Mask… تحديد وقناع… +# Select and Mask dialog labels + Smart Radius نصف قطر ذكي + Shift Edge إزاحة الحافة + Decontaminate إزالة التلوث اللوني + Output الإخراج + Refine Edge تحسين الحافة + Modify تعديل + Border… حدود… + Smooth… تنعيم… + Expand… توسيع… + Contract… تقليص… + Feather… تنعيم الحواف… + Grow توسيع النطاق + Transform Selection تحويل التحديد + Edit in Quick Mask Mode تحرير في وضع القناع السريع + Load Selection… تحميل التحديد… + Save Selection… حفظ التحديد… + Match All مطابقة الكل + Last Filter آخر مرشح + Filter Gallery… معرض المرشحات… + Adaptive Wide Angle… زاوية واسعة تكيفية… + Camera Raw Filter… مرشح Camera Raw… + Liquify… تسييل… + Vanishing Point… نقطة التلاشي… + Blur تمويه + Blur Gallery معرض التمويه + Field Blur… تمويه الحقل… +# Field Blur pins (#3373) + No pin selected لم يتم تحديد أي دبوس + Click the image to add a pin; drag a pin to move it, or its ring to change its blur. Delete removes the selected pin. انقر على الصورة لإضافة دبوس؛ اسحب الدبوس لتحريكه، أو حلقته لتغيير التمويه. يؤدي Delete إلى إزالة الدبوس المحدد. + Drag the handles on the outline to resize and turn it, the square to round its corners, and the dots inside to set where the blur starts. اسحب المقابض على المخطط لتغيير حجمه وتدويره، والمربع لتدوير زواياه، والنقاط في الداخل لتحديد مكان بدء التمويه. + Drag the pin to move the band, or its ring to change its blur. Drag the solid lines to widen the sharp band, the dashed lines to set the transition, and the dots to turn it. اسحب الدبوس لتحريك الشريط، أو حلقته لتغيير التمويه. اسحب الخطوط المتصلة لتوسيع الشريط الحاد، والخطوط المتقطعة لضبط الانتقال، والنقاط لتدويره. + Drag the handles on the outline to resize and turn it; the ring sets the blur angle. اسحب المقابض على المخطط لتغيير حجمه وتدويره؛ وتحدد الحلقة زاوية التمويه. + Iris Blur… تمويه القزحية… + Tilt-Shift… إمالة وإزاحة… + Path Blur… تمويه المسار… + Spin Blur… تمويه الدوران… + Blur More تمويه أكثر + Box Blur… تمويه صندوقي… + Gaussian Blur… تمويه غاوسي… + Lens Blur… تمويه العدسة… + Motion Blur… تمويه الحركة… + Radial Blur… تمويه شعاعي… + Shape Blur… تمويه الشكل… + Smart Blur… تمويه ذكي… + Surface Blur… تمويه السطح… + Average متوسط + Displace… إزاحة… + Pinch… قرص… + Polar Coordinates… إحداثيات قطبية… + Ripple… تموج… + Shear… قص مائل… + Spherize… تكوير… + Twirl… دوامة… + Wave… موجة… + ZigZag… متعرج… + Noise تشويش + Add Noise… إضافة تشويش… + Despeckle إزالة البقع + Dust & Scratches… غبار وخدوش… + Median… وسيط… + Reduce Noise… تقليل التشويش… + Pixelate بكسلة + Color Halftone… نصف نغمة ملونة… + Crystallize… تبلور… + Facet أوجه + Fragment تجزئة + Mezzotint… ميزوتينت… + Mosaic… فسيفساء… + Pointillize… تنقيط… + Render تصيير + Clouds غيوم + Difference Clouds غيوم الفرق + Fibers… ألياف… + Flame… لهب… + Lens Flare… توهج العدسة… + Lighting Effects… تأثيرات الإضاءة… + Relight… إعادة الإضاءة… + Picture Frame… إطار صورة… + Tree… شجرة… + Sharpen زيادة الحدة + Sharpen Edges زيادة حدة الحواف + Sharpen More زيادة الحدة أكثر + Smart Sharpen… زيادة حدة ذكية… + Unsharp Mask… قناع زيادة الحدة… + High Pass… تمرير عالٍ… + Stylize تنميط + Diffuse… انتشار… + Emboss… نقش بارز… + Extrude… بثق… + Find Edges إيجاد الحواف + Oil Paint… طلاء زيتي… + Solarize تشميس + Tiles… بلاطات… + Trace Contour… تتبع المحيط… + Wind… رياح… + Video فيديو + De-Interlace… إزالة التشابك… + NTSC Colors ألوان NTSC + Other أخرى + Maximum… الحد الأقصى… + Minimum… الحد الأدنى… + Offset… إزاحة… + Plug-ins المكونات الإضافية + Proof Setup إعداد المعاينة الطباعية + Proof Colors ألوان المعاينة الطباعية + Gamut Warning تحذير نطاق الألوان + Working CMYK مساحة عمل CMYK + Working Cyan Plate لوح السماوي العامل + Working Magenta Plate لوح الأرجواني العامل + Working Yellow Plate لوح الأصفر العامل + Working Black Plate لوح الأسود العامل + Working CMY Plate لوح CMY العامل + Legacy Macintosh RGB RGB القديم لنظام Macintosh + Internet Standard RGB RGB القياسي للإنترنت + Monitor RGB RGB الشاشة + Color Blindness — Protanopia-type عمى الألوان — نوع بروتانوبيا + Color Blindness — Deuteranopia-type عمى الألوان — نوع ديوتيرانوبيا + Zoom In تكبير + Zoom Out تصغير + Fit on Screen ملاءمة للشاشة + Fit Layer(s) on Screen ملاءمة الطبقة/الطبقات للشاشة + Fit Artboard on Screen ملاءمة لوح التصميم للشاشة + 100% 100% + 105% 105% + 110% 110% + 115% 115% + 120% 120% + 200% 200% + Print Size حجم الطباعة + Pixel Aspect Ratio نسبة أبعاد البكسل + Pixel Aspect Ratio Correction تصحيح نسبة أبعاد البكسل + Custom Pixel Aspect Ratio… نسبة أبعاد البكسل المخصصة… + Square مربع + D1/DV NTSC (0.91) D1/DV NTSC (0.91) + D1/DV NTSC Widescreen (1.21) D1/DV NTSC عريض (1.21) + D1/DV PAL (1.09) D1/DV PAL (1.09) + D1/DV PAL Widescreen (1.46) D1/DV PAL عريض (1.46) + Anamorphic 2:1 (2) أنامورفيك 2:1 (2) + HDV 1080/DVCPRO HD 720 (1.33) HDV 1080/DVCPRO HD 720 (1.33) + DVCPRO HD 1080/HDV 1080 (1.5) DVCPRO HD 1080/HDV 1080 (1.5) + 32-bit Preview Options… خيارات معاينة 32 بت… + Screen Mode وضع الشاشة + Standard Screen Mode وضع الشاشة القياسي + Full Screen Mode With Menu Bar وضع ملء الشاشة مع شريط القوائم + Full Screen Mode وضع ملء الشاشة + Cycle Screen Mode تبديل وضع الشاشة + Show إظهار + Extras الإضافات + Selection Edges حواف التحديد + Target Path المسار المستهدف + Current Path المسار الحالي + Grid الشبكة + Guides الأدلة + Canvas Guides أدلة لوحة الرسم + Artboard Guides أدلة لوح التصميم + Count العدد + Smart Guides الأدلة الذكية + Slices الشرائح + Notes الملاحظات + Pixel Grid شبكة البكسل + Pixel Art فن البكسل + Pixel Art Preview معاينة فن البكسل + Pattern Preview معاينة النقش + Brush Preview معاينة الفرشاة + Mesh شبكة + Edit Pins تحرير الدبابيس + Document Bounds حدود المستند + Show Extras Options… خيارات إظهار الإضافات… + Rulers المساطر + Snap المحاذاة التلقائية + Snap To المحاذاة التلقائية إلى + Lock Guides قفل الأدلة + Clear Guides مسح الأدلة + Clear Selected Artboard Guides مسح أدلة لوح التصميم المحددة + Clear Canvas Guides مسح أدلة لوحة الرسم + New Guide… دليل جديد… + Lock Slices قفل الشرائح + Clear Slices مسح الشرائح + Match Zoom مطابقة التكبير + Match Location مطابقة الموقع + Match Rotation مطابقة التدوير + Cascade تتالي + Tile تجانب + Tile All Horizontally تجانب الكل أفقيًا + Tile All Vertically تجانب الكل عموديًا + 2-up Horizontal 2 أفقي + 2-up Vertical 2 عمودي + 3-up Horizontal 3 أفقي + 3-up Stacked 3 مكدس + 3-up Vertical 3 عمودي + 4-up 4 + 6-up 6 + Consolidate All to Tabs توحيد الكل في علامات تبويب + Float in Window تعويم في نافذة + Float All in Windows تعويم الكل في نوافذ + New Window for Document نافذة جديدة للمستند + Workspace مساحة العمل + Essentials الأساسيات + Graphic and Web الرسومات والويب + Painting الرسم + Photography التصوير الفوتوغرافي + New Workspace… مساحة عمل جديدة… + Delete Workspace… حذف مساحة العمل… + Reset Workspace إعادة تعيين مساحة العمل + Reset Tool إعادة تعيين الأداة + Reset All Tools إعادة تعيين كل الأدوات + Reset all tools to their default settings? هل تريد إعادة تعيين كل الأدوات إلى إعداداتها الافتراضية؟ + Lock Workspace قفل مساحة العمل + Theme السمة + Pro Theme سمة Pro + Pro Medium Gray Theme سمة Pro الرمادية المتوسطة + Pro Light Gray Theme سمة Pro الرمادية الفاتحة + Pro Light Theme سمة Pro الفاتحة + Studio Theme سمة Studio + Studio Light Theme سمة Studio الفاتحة + Adwaita Light Theme سمة Adwaita الفاتحة + Adwaita Dark Theme سمة Adwaita الداكنة + Classic Theme السمة الكلاسيكية + Solarized dark Solarized داكن + Solarized Dark Theme سمة Solarized الداكنة + Breeze dark Breeze داكن + Breeze Dark Theme سمة Breeze الداكنة + Breeze light Breeze فاتح + Breeze Light Theme سمة Breeze الفاتحة + Soft dark داكن ناعم + Soft light فاتح ناعم + Soft Dark Theme سمة داكنة ناعمة + Soft Light Theme سمة فاتحة ناعمة + Next Theme السمة التالية + Actions الإجراءات + Brush Settings إعدادات الفرشاة + Brushes الفُرش + Channels القنوات + Character الحرف + Character Styles أنماط الحروف + Clone Source مصدر الاستنساخ + Color اللون + Glyphs الحروف الرسومية + Gradients التدرجات + Histogram المدرج التكراري + History السجل + Info معلومات + Measurement Log سجل القياسات + Modifier Keys مفاتيح التعديل + Navigator الملاح + Options الخيارات + Paragraph الفقرة + Paragraph Styles أنماط الفقرات + Paths المسارات + Patterns النقوش + Properties الخصائص + Shapes الأشكال + Styles الأنماط + Swatches عينات الألوان + Timeline المخطط الزمني + Tool Presets الإعدادات المسبقة للأدوات + Tools الأدوات + About PhotoCraft حول PhotoCraft + PhotoCraft Website موقع PhotoCraft + PhotoCraft on GitHub PhotoCraft على GitHub + ArtCraft Website موقع ArtCraft + Join the ArtCraft Discord… الانضمام إلى ArtCraft على Discord… + Report an Issue… الإبلاغ عن مشكلة… + WIA Support… دعم WIA… + Apply تطبيق + HSB/HSL HSB/HSL + Invert… عكس… + Load Files into Stack… تحميل الملفات في مكدس… + Motion الحركة + Notes… ملاحظات… + Other… أخرى… + Remove Warp Split إزالة تقسيم الالتواء + Shape شكل + Split Warp Crosswise تقسيم الالتواء بشكل متقاطع + Split Warp Horizontally تقسيم الالتواء أفقيًا + Split Warp Vertically تقسيم الالتواء عموديًا + Statistics… إحصائيات… + Refine Strokes تحسين الضربات + Edits التحريرات +@plural {n} item|{n} items {n} عنصر|{n} عنصر|{n} عنصران|{n} عناصر|{n} عنصرًا|{n} عنصر + Auto تلقائي + (print to the printer) (طباعة إلى الطابعة) + + Add variable + إضافة متغير + 30 frames @ 30 fps 30 إطارًا بمعدل 30 إطار/ثانية + 3D LUT File ملف 3D LUT + Absolute مطلق + Absolute Colorimetric قياس لوني مطلق + Action إجراء + Adaptive تكيفي + Adaptive Wide Angle isn't open الزاوية الواسعة التكيفية ليست مفتوحة + Add إضافة + Add Layer Mask إضافة قناع طبقة + Add Stop إضافة نقطة توقف + Add a layer style إضافة نمط طبقة + Add a mask (from the selection; {key} inverts) إضافة قناع (من التحديد؛ {key} يعكسه) + Add an adjustment إضافة تعديل + Add disk إضافة قرص + Add space after paragraph إضافة مسافة بعد الفقرة + Add space before paragraph إضافة مسافة قبل الفقرة + Add to Sample إضافة إلى العينة + Add to selection ({key}) إضافة إلى التحديد ({key}) + Adjust for Zoom ضبط حسب التكبير + Adjustment visible التعديل مرئي + Adobe RGB (1998) compatible متوافق مع Adobe RGB (1998) + Align and Distribute محاذاة وتوزيع + Align and distribute محاذاة وتوزيع + Align horizontal centers محاذاة المراكز الأفقية + Align left edges محاذاة الحواف اليسرى + Align right edges محاذاة الحواف اليمنى + Aligned متحاذٍ + All Caps جميع الأحرف كبيرة + All Slices كل الشرائح + All User Slices كل شرائح المستخدم + All shortcuts reset to PhotoCraft defaults. تمت إعادة تعيين جميع الاختصارات إلى إعدادات PhotoCraft الافتراضية. + Alt Alt + Always use pressure for opacity استخدام الضغط دائمًا للعتامة + Always use pressure for size استخدام الضغط دائمًا للحجم + Amount المقدار + Anchor: نقطة الارتكاز: + Angle الزاوية + Angle Gradient تدرج زاوي + Angle Jitter تذبذب الزاوية + Answer the unsaved-changes prompt first أجب عن تنبيه التغييرات غير المحفوظة أولًا + Anti-alias إزالة التسنن + Appearance المظهر + Appearance (Layer Style) المظهر (نمط الطبقة) + Apply Layer Mask تطبيق قناع الطبقة + Add Mask to Selection إضافة القناع إلى التحديد + Subtract Mask from Selection طرح القناع من التحديد + Intersect Mask with Selection تقاطع القناع مع التحديد + Apply Per Tip تطبيق لكل رأس + Apply next selected layer comp تطبيق تركيبة الطبقات المحددة التالية + Apply previous selected layer comp تطبيق تركيبة الطبقات المحددة السابقة + Artboard لوح التصميم + Artboard Background Color لون خلفية لوح التصميم + Assign working space تعيين مساحة العمل اللونية + Author: المؤلف: + Auto Hide إخفاء تلقائي + Auto-Select: تحديد تلقائي: + Automatically level near-horizontal line segments تسوية المقاطع الخطية شبه الأفقية تلقائيًا + Automatically straighten and level تقويم وتسوية تلقائيًا + Automatically straighten near-vertical line segments تقويم المقاطع الخطية شبه العمودية تلقائيًا + Background الخلفية + Background Color لون الخلفية + Background Contents محتويات الخلفية + Custom background color لون خلفية مخصص + Balance التوازن + Baseline خط الأساس + Baseline shift إزاحة خط الأساس + Basic أساسي + Before (Y) قبل (Y) + Save Settings… حفظ الإعدادات… + Load Settings… تحميل الإعدادات… + Save these settings as a Camera Raw .xmp file حفظ هذه الإعدادات كملف .xmp لـ Camera Raw + Load settings from a Camera Raw .xmp file تحميل الإعدادات من ملف .xmp لـ Camera Raw + Loaded Camera Raw settings from {file} تم تحميل إعدادات Camera Raw من {file} + Loaded Camera Raw settings from {file} ({n} not supported) تم تحميل إعدادات Camera Raw من {file} ({n} غير مدعومة) + Begin recording بدء التسجيل + Bend: الانحناء: + Bicubic ثنائي التكعيب + Bicubic (smooth gradients) ثنائي التكعيب (تدرجات ناعمة) + Automatic تلقائي + Bicubic Smoother (enlargement) ثنائي التكعيب أكثر نعومة (تكبير) + Bicubic Sharper (reduction) ثنائي التكعيب أكثر حدة (تصغير) + Bilinear ثنائي الخطية + Black أسود + Black & White أبيض وأسود + Black Point Compensation تعويض النقطة السوداء + Black, White أسود، أبيض + Blacks درجات السواد + Blending المزج + Blending Options خيارات المزج + Blue أزرق + Blue, Red, Yellow أزرق، أحمر، أصفر + Both Axes كلا المحورين + Bottom أسفل + Brightness السطوع + Brightness Jitter تذبذب السطوع + Brightness/Contrast السطوع/التباين + Bring the selected pin forward إحضار الدبوس المحدد للأمام + Brush Preset picker منتقي الإعدادات المسبقة للفرشاة + Brush Reconstruct Options خيارات إعادة بناء الفرشاة + Brush Tool Options خيارات أداة الفرشاة + Cache Level: مستوى ذاكرة التخزين المؤقت: + Camera Raw isn't open Camera Raw غير مفتوح + Cancel إلغاء + Reset إعادة تعيين + Cancel (Esc) إلغاء (Esc) + Manage submitted jobs in the system print queue إدارة المهام المرسلة في قائمة انتظار طباعة النظام + Cancel any current edits (Esc) إلغاء أي تعديلات حالية (Esc) + Cancel current crop operation (Esc) إلغاء عملية الاقتصاص الحالية (Esc) + Cancel transform (Esc) إلغاء التحويل (Esc) + Cancel warp (Esc) إلغاء الالتواء (Esc) + Canvas لوحة الرسم + Canvas extension color: لون تمديد لوحة الرسم: + Capture التقاط + Capture the visibility, position and style of every layer with + below, then switch between versions. التقط رؤية كل طبقة وموضعها ونمطها بزر + أدناه، ثم بدّل بين الإصدارات. + Catch-up on Stroke End اللحاق عند نهاية الضربة + Center مركز + Center Crop Marks علامات اقتصاص المنتصف + Center text توسيط النص + Change تغيير + Change All تغيير الكل + Change Screen Mode (F) تغيير وضع الشاشة (F) + Change To: تغيير إلى: + Channel Mixer مازج القنوات + Channel: القناة: + Check All Layers فحص كل الطبقات + Check Spelling تدقيق إملائي + Clarity الوضوح + Clear All مسح الكل + Clear Override مسح التجاوز + Clear Samples مسح العينات + Click sets foreground · right-click sets background النقر يعيّن لون المقدمة · والنقر بزر الماوس الأيمن يعيّن لون الخلفية + Click the first point or press {key} to close · Esc cancels انقر على النقطة الأولى أو اضغط {key} للإغلاق · Esc للإلغاء + Click to add a point · drag off or {key}-click or Delete to remove انقر لإضافة نقطة · اسحبها بعيدًا أو {key}+نقر أو Delete للإزالة + Click to apply, {key}-click to clear overrides, double-click for Style Options انقر للتطبيق، {key}+نقر لمسح التجاوزات، نقر مزدوج لخيارات النمط + Click to edit the gradient انقر لتحرير التدرج + Click to restore the current colour انقر لاستعادة اللون الحالي + Click to zoom in · {key}-click to zoom out · drag right/left to zoom in/out انقر للتكبير · {key}+نقر للتصغير · اسحب يمينًا/يسارًا للتكبير/التصغير + Click with the Note tool to add a note. انقر بأداة الملاحظة لإضافة ملاحظة. + Click: corner · Drag: smooth · Click first point: close · {key} finish · Esc cancel نقر: زاوية · سحب: ناعم · نقر على النقطة الأولى: إغلاق · {key} إنهاء · Esc إلغاء + Click: corner · Drag: smooth · {alt}-drag: break handle · Click or drag first point: close · {key} finish · Esc cancel نقر: زاوية · سحب: ناعم · {alt}+سحب: كسر المقبض · نقر أو سحب النقطة الأولى: إغلاق · {key} إنهاء · Esc إلغاء + Clip to layer below اقتطاع إلى الطبقة السفلية + Clipped مقتطع + Close Style Options إغلاق خيارات النمط + Cmd Cmd + Coated CMYK CMYK للورق المطلي + Color & Swatches اللون وعينات الألوان + Color Balance توازن الألوان + Color Detail تفاصيل اللون + Color Grading تدريج الألوان + Color Lookup بحث الألوان + Color Management إدارة الألوان + Color Mixer مازج الألوان + Color Mode وضع الألوان + Color Priority أولوية اللون + Color Range preview معاينة نطاق الألوان + Color: اللون: + Colorize تلوين + Colors الألوان + Commit Perspective Warp ({key}) تأكيد التواء المنظور ({key}) + Commit Puppet Warp ({key}) تأكيد التواء الدمية ({key}) + Commit any current edits ({key}) تأكيد أي تعديلات حالية ({key}) + Commit current crop operation ({key}) تأكيد عملية الاقتصاص الحالية ({key}) + Commit transform ({key}) تأكيد التحويل ({key}) + Commit warp ({key}) تأكيد الالتواء ({key}) + Constant ثابت + Constrain proportions تقييد النسب + Contact Sheet II ورقة اتصال II + Content-Aware مدرك للمحتوى + Contiguous متجاور + Contrast التباين + Control: التحكم: + Convert to sRGB تحويل إلى sRGB + Copies النسخ + Copper نحاسي + Copyright حقوق النشر + Copyright and Contact Info حقوق النشر ومعلومات الاتصال + Corner Crop Marks علامات اقتصاص الزوايا + Corner radius نصف قطر الزاوية + Correction تصحيح + Count Jitter تذبذب العدد + Create إنشاء + Create Droplet إنشاء قُطيرة + Create Texture إنشاء نسيج + Create Video Timeline إنشاء مخطط زمني للفيديو + Create a new count group إنشاء مجموعة عد جديدة + Create a new document or open an existing file. أنشئ مستندًا جديدًا أو افتح ملفًا موجودًا. + Create a new group إنشاء مجموعة جديدة + Create a new layer إنشاء طبقة جديدة + Create new action إنشاء إجراء جديد + Create new channel إنشاء قناة جديدة + Create new document from current state إنشاء مستند جديد من الحالة الحالية + Create new fill or adjustment layer إنشاء طبقة تعبئة أو تعديل جديدة + Create new gradient إنشاء تدرج جديد + Create new group إنشاء مجموعة جديدة + Create new layer comp إنشاء تركيبة طبقات جديدة + Create new pattern from the selection إنشاء نقش جديد من التحديد + Create new shape from the current path إنشاء شكل جديد من المسار الحالي + Create new snapshot إنشاء لقطة جديدة + From: من: + Full Document المستند الكامل + Merged Layers الطبقات المدمجة + New Snapshot لقطة جديدة + Create new style (from the selected type) إنشاء نمط جديد (من النص المحدد) + Create new style from the selected layer إنشاء نمط جديد من الطبقة المحددة + Create new tool preset إنشاء إعداد مسبق جديد للأداة + Crop Factor معامل الاقتصاص + Ctrl Ctrl + Current & Below الحالية وما تحتها + Current Layer الطبقة الحالية + Current Size الحجم الحالي + Current Tool Only الأداة الحالية فقط + Curve منحنى + Curves المنحنيات + Custom مخصص + Custom Shapes أشكال مخصصة + Cyan سماوي + Cyan · Red سماوي · أحمر + Darken تغميق + Darks الدرجات الداكنة + Data Sets مجموعات البيانات + Default افتراضي + Default colours (D) الألوان الافتراضية (D) + Default printer الطابعة الافتراضية + Default restored. تمت استعادة الإعدادات الافتراضية. + Define تعريف + Define at least one variable first. عرّف متغيرًا واحدًا على الأقل أولًا. + Dehaze إزالة الضباب + Delete Cropped Pixels حذف البكسلات المقتصة + Delete Group حذف المجموعة + Delete Layer Mask حذف قناع الطبقة + Delete Layers حذف الطبقات + Add Shortcut إضافة اختصار + Delete Shortcut حذف الاختصار + Delete Timeline حذف المخطط الزمني + Delete Tool Preset حذف الإعداد المسبق للأداة + Delete count group حذف مجموعة العد + Delete current channel حذف القناة الحالية + Delete current state حذف الحالة الحالية + Delete effect layer حذف طبقة التأثير + +# Layers-panel trash confirmation + Delete layer ‘{name}’? هل تريد حذف الطبقة «{name}»؟ + Delete {count} layers? {names} هل تريد حذف {count} طبقة؟ {names} + Delete layer? هل تريد حذف الطبقة؟ + The document is closed المستند مغلق + The document or selected layers changed. Please request deletion again. تغير المستند أو الطبقات المحددة. يُرجى طلب الحذف مرة أخرى. + Missing delete command أمر الحذف مفقود + Invalid delete command أمر حذف غير صالح + Layer deleted, but confirmation preference could not be saved: {error} تم حذف الطبقة، لكن تعذّر حفظ تفضيل التأكيد: {error} + + Delete layer حذف الطبقة + Delete layer comp حذف تركيبة الطبقات + Delete note حذف الملاحظة + Delete selected measurements حذف القياسات المحددة + Delete style حذف النمط + Delete tool preset حذف الإعداد المسبق للأداة + Density الكثافة + Density: الكثافة: + Depth العمق + Depth Jitter تذبذب العمق + Description الوصف + Deselect All إلغاء تحديد الكل + Detail التفاصيل + Diamond Gradient تدرج ماسي + Difference فرق + Diffusion الانتشار + Discard the embedded profile (don't color manage) تجاهل ملف التعريف المضمّن (دون إدارة الألوان) + Discontiguous غير متجاور + Discord Discord + Dismiss تجاهل + Display P3 Display P3 + Display Text نص العرض + Dither ترقيش + Divide… قسمة… + Document المستند + Don't Save عدم الحفظ + No لا + Yes نعم + Done تم + Dots نقاط + Drag a rectangle around the object اسحب مستطيلاً حول الكائن + Drag on the image to add a constraint; Shift for horizontal/vertical; right-click a constraint to change or delete it. اسحب على الصورة لإضافة قيد؛ Shift للأفقي/العمودي؛ انقر بزر الماوس الأيمن على قيد لتغييره أو حذفه. + Drag to move the active shape's path or the Work Path اسحب لتحريك مسار الشكل النشط أو مسار العمل + Click: select anchor · Drag: move anchor, handle or segment · {shift}-click: add · {alt}-click: whole subpath نقر: تحديد نقطة ارتكاز · سحب: تحريك نقطة الارتكاز أو المقبض أو المقطع · {shift}+نقر: إضافة · {alt}+نقر: المسار الفرعي بالكامل + Draw with the Pen tool (P) or make a work path from a selection. ارسم بأداة القلم (P) أو أنشئ مسار عمل من تحديد. + Drop an image or PSD anywhere to open it. أفلت صورة أو ملف PSD في أي مكان لفتحه. + Native file drag-and-drop is unavailable السحب والإفلات الأصلي للملفات غير متاح + Native file drag-and-drop is not supported on Wayland yet. Use File › Open, or copy the image in your file manager and paste it with {paste}. السحب والإفلات الأصلي للملفات غير مدعوم على Wayland بعد. استخدم ملف › فتح، أو انسخ الصورة في مدير الملفات والصقها باستخدام {paste}. + To drop files, start PhotoCraft under XWayland: `{command}` لإفلات الملفات، شغّل PhotoCraft تحت XWayland: `{command}` + Or set Preferences › Performance › Linux display server to X11: PhotoCraft then always starts under XWayland. أو اضبط التفضيلات › الأداء › خادم عرض Linux على X11: عندها يبدأ PhotoCraft دائمًا تحت XWayland. + Edit › Paste تحرير › لصق + Duplicate Layers… تكرار الطبقات… + Duplicate style تكرار النمط + Edit Toolbar… تحرير شريط الأدوات… + Use File › Open, or paste a copied image with {paste}. استخدم ملف › فتح، أو الصق صورة منسوخة باستخدام {paste}. + Edit in Quick Mask Mode (Q) تحرير في وضع القناع السريع (Q) + Edit in Standard Mode (Q) تحرير في الوضع القياسي (Q) + Effects التأثيرات + Embed Color Profile تضمين ملف تعريف الألوان + Embedded Profile Mismatch عدم تطابق ملف التعريف المضمن + Enable airbrush-style build-up effects تمكين تأثيرات التراكم بأسلوب الفرشاة الهوائية + Enhance Edge تحسين الحافة + Entire Font الخط بالكامل + Exact دقيق + Expansion: التوسيع: + Export Presets تصدير الإعدادات المسبقة + Export selected measurements (CSV) تصدير القياسات المحددة (CSV) + Exposure التعريض + Exposure and Gamma التعريض وغاما + Exposure: التعريض: + Eyedropper القطارة + Factor: المعامل: + Faux Bold غامق زائف + Faux Italic مائل زائف + Feather تنعيم الحواف + Fewer Points نقاط أقل + File Settings إعدادات الملف + Fill تعبئة + Fill: التعبئة: + Filter for adjustment layers تصفية طبقات التعديل + Filter for pixel layers تصفية طبقات البكسل + Filter for shape layers تصفية طبقات الأشكال + Filter for smart objects تصفية الكائنات الذكية + Filter for type layers تصفية طبقات النص + Filter: تصفية: + Finger Painting الرسم بالإصبع + Fisheye عين السمكة + Fit ملاءمة + Fit Screen ملاءمة الشاشة + Fill Screen ملء الشاشة + Fit in View ملاءمة في العرض + Fixed ثابت + Fixed Ratio نسبة ثابتة + Fixed Size حجم ثابت + Flip قلب + Flip X قلب X + Flip X Jitter تذبذب قلب X + Flip Y قلب Y + Flip Y Jitter تذبذب قلب Y + Flow التدفق + Flow Jitter تذبذب التدفق + Focal Length البعد البؤري + Font الخط + Font Size: حجم الخط: + Font size حجم الخط + Foreground المقدمة + Foreground to Background من المقدمة إلى الخلفية + Foreground/Background Jitter تذبذب المقدمة/الخلفية + Format التنسيق + Frame from Layers… إطار من الطبقات… + Free حر + Full Spherical كروي كامل + Fuzziness: التضبيب: + GPU GPU + Gamma Correction تصحيح غاما + Gamma: غاما: + Global شامل + Glow Color لون التوهج + Gradient Map خريطة التدرج + Grain حبيبات + Gray رمادي + Gray Gamma 2.2 رمادي غاما 2.2 + Green أخضر + Group مجموعة + Hardness الصلابة + Heart قلب + Height الارتفاع + Height: الارتفاع: + Hide Auto Slices إخفاء الشرائح التلقائية + Hide Properties إخفاء الخصائص + Highlight Compression ضغط الإضاءات + Highlight Priority أولوية الإضاءات + Highlights الإضاءات + Home الرئيسية + Horizontal scale التحجيم الأفقي + Hue تدرج اللون + Hue Jitter تذبذب تدرج اللون + Hue/Saturation تدرج اللون/التشبع + Hyphenate وصل الكلمات + Ignore تجاهل + Ignore All تجاهل الكل + Image Size حجم الصورة + Import Brushes… استيراد الفُرش… + Gradient Preset Options خيارات الإعداد المسبق للتدرج + Import .GRD استيراد .GRD + Choose a gradient file (.grd). اختر ملف تدرج (.grd). + Import brushes (.abr) استيراد الفُرش (.abr) + Import Presets استيراد الإعدادات المسبقة + Imported مستورد + Indent First مسافة بادئة للسطر الأول + Indent Left مسافة بادئة لليسار + Indent Right مسافة بادئة لليمين + Indent first line مسافة بادئة للسطر الأول + Indent left margin مسافة بادئة للهامش الأيسر + Indent right margin مسافة بادئة للهامش الأيمن + Input: الإدخال: + Inside داخل + Interlaced متشابك + Interpolation: الاستيفاء: + Intersect with selection ({key}) تقاطع مع التحديد ({key}) + Invert All عكس الكل + Invert has no settings. «عكس» ليس له إعدادات. + Italic مائل + Join us on Discord انضم إلينا على Discord + Justify all ضبط الكل + Justify last centered ضبط مع توسيط السطر الأخير + Justify last left ضبط مع محاذاة السطر الأخير لليسار + Justify last right ضبط مع محاذاة السطر الأخير لليمين + Kerning تقارب الأحرف + Keyboard Shortcuts اختصارات لوحة المفاتيح + Keyboard Shortcuts and Menus اختصارات لوحة المفاتيح والقوائم + Kind النوع + Label Size حجم التسمية + Labels التسميات + Lanczos (sharp) Lanczos (حاد) + Landscape أفقي + Last Document State حالة المستند الأخيرة + Layout التخطيط + Leading تباعد الأسطر + Leading (set to the font size × auto-leading when Auto) تباعد الأسطر (يُضبط على حجم الخط × التباعد التلقائي عند اختيار تلقائي) + Leave as is (don't color manage) الإبقاء كما هو (عدم إدارة الألوان) + Left align text محاذاة النص لليسار + Length: الطول: + Level المستوى + Levels المستويات + Lighten تفتيح + Lightness الإضاءة + Lights المناطق الفاتحة + Limits: الحدود: + Linear Gradient تدرج خطي + Link layers ربط الطبقات + Link width and height ربط العرض والارتفاع + Liquify is not open أداة التسييل غير مفتوحة + Load تحميل + Load 3D LUT… تحميل 3D LUT… + Load channel as selection تحميل القناة كتحديد + Load… تحميل… + Localized Color Clusters عناقيد ألوان موضعية + Lock قفل + Lock all قفل الكل + Lock image pixels قفل بكسلات الصورة + Lock layer قفل الطبقة + Lock position قفل الموضع + Lock transparent pixels قفل البكسلات الشفافة + Lock: القفل: + Logical Length: الطول المنطقي: + Logical Units: الوحدات المنطقية: + Luminance اللمعان + Luminance Detail تفاصيل اللمعان + Magenta أرجواني + Magenta · Green أرجواني · أخضر + Maintain aspect ratio الحفاظ على نسبة العرض إلى الارتفاع + Marker Size حجم العلامة + Mask All تقنيع الكل + Mask Options خيارات القناع + Masking التقنيع + Master رئيسي + Matte لون الحافة + Median: الوسيط: + Menus القوائم + Mesh Size حجم الشبكة + Metadata البيانات الوصفية + Metrics المقاييس + Midpoint نقطة المنتصف + Midtones الدرجات المتوسطة + Midtones from: الدرجات المتوسطة من: + Midtones to: الدرجات المتوسطة إلى: + Minimum Depth أدنى عمق + Minimum Diameter أدنى قطر + Minimum Roundness أدنى استدارة + Mode: الوضع: + Monochrome أحادي اللون + More Points نقاط أكثر + Move effect layer down تحريك طبقة التأثير لأسفل + Move effect layer up تحريك طبقة التأثير لأعلى + Move to نقل إلى + Name الاسم + Name: الاسم: + Nearest Neighbor أقرب جار + Nearest Neighbor (hard edges) أقرب جار (حواف صلبة) + New Size الحجم الجديد + New document… مستند جديد… + New effect layer طبقة تأثير جديدة + New selection تحديد جديد + Next frame الإطار التالي + Next note الملاحظة التالية + No Color بلا لون + No Color Management بدون إدارة ألوان + No Dither بلا ترقيش + No author بلا مؤلف + No character style بلا نمط حرف + No document لا يوجد مستند + No matching commands لا توجد أوامر مطابقة + No presets for the current tool. لا توجد إعدادات مسبقة للأداة الحالية. + No presets of this type. لا توجد إعدادات مسبقة من هذا النوع. + No properties لا توجد خصائص + No tool presets. لا توجد إعدادات مسبقة للأدوات. + Noise Reduction تقليل التشويش + Normal عادي + Not in Dictionary: غير موجود في القاموس: + OK موافق + Offset إزاحة + Only Web Colors ألوان الويب فقط + Opacity العتامة + Opacity Jitter تذبذب العتامة + Opacity: العتامة: + Open a document to define variables. افتح مستندًا لتعريف المتغيرات. + Open a document to select a colour range. افتح مستندًا لتحديد نطاق ألوان. + Open a document to use the timeline. افتح مستندًا لاستخدام المخطط الزمني. + Optical بصري + Optimized محسّن + Option-click to define a source point to clone from انقر مع Option لتحديد نقطة مصدر للاستنساخ منها + Original الأصلي + Output Channel: قناة الإخراج: + Output Levels: مستويات الإخراج: + Output: الإخراج: + Outside خارج + Overlay Color لون التراكب + Overlay Opacity عتامة التراكب + Overlay: Rule of Thirds التراكب: قاعدة الأثلاث + Override Pressure تجاوز الضغط + Override Rotation تجاوز التدوير + Override Tilt تجاوز الإمالة + Override Tilt X تجاوز الإمالة X + Override Tilt Y تجاوز الإمالة Y + PRESET DETAILS تفاصيل الإعداد المسبق + PSD PSD + Paint Overlay تراكب الطلاء + Panel locations are saved in the workspace. Keyboard shortcuts, menus and toolbar are optional. تُحفظ مواقع اللوحات في مساحة العمل. اختصارات لوحة المفاتيح والقوائم وشريط الأدوات اختيارية. + Paper الورق + Path مسار + Pattern النقش + Pattern Size حجم النقش + Pause إيقاف مؤقت + Percent النسبة المئوية + Perceptual إدراكي + Perspective Warp is not active التواء المنظور غير نشط + Perspective Warp: draw planes along the image's perspective, then switch to Warp التواء المنظور: ارسم مستويات وفق منظور الصورة، ثم انتقل إلى الالتواء + Photo Filter مرشح الصور + PhotoCraft PhotoCraft + PhotoCraft Manages Colors PhotoCraft يدير الألوان + PhotoCraft — an open-source, native image editor written in Rust. PhotoCraft — محرر صور أصلي ومفتوح المصدر مكتوب بلغة Rust. + Pin Depth: عمق الدبوس: + Pixel Length: الطول بالبكسل: + Pixels/Centimeter بكسل/سنتيمتر + Pixels/Inch بكسل/بوصة + Pixels: البكسلات: + Play تشغيل + Play selection تشغيل التحديد + Portrait عمودي + Position الموضع + Position and Size الموضع والحجم + Posterize تقليل الألوان + Preserve Details الحفاظ على التفاصيل + Preserve Luminosity الحفاظ على اللمعان + Preset إعداد مسبق + Preset Type نوع الإعداد المسبق + Preset: الإعداد المسبق: + Presets: الإعدادات المسبقة: + Press keys… اضغط المفاتيح… + Pressure الضغط + Pressure for Opacity الضغط للعتامة + Pressure for Size الضغط للحجم + Prevent auto-nesting in and out of Artboards and Frames منع التداخل التلقائي داخل وخارج ألواح التصميم والإطارات + Preview معاينة + Previous frame الإطار السابق + Previous note الملاحظة السابقة + Print طباعة + Printer الطابعة + Printer Manages Colors الطابعة تدير الألوان + Printer Setup إعداد الطابعة + Printing Marks علامات الطباعة + Progressive تدريجي + Promote ترقية + Protect Detail حماية التفاصيل + Protect Foreground Color حماية لون المقدمة + Protect Tones حماية الدرجات اللونية + Proximity Match مطابقة التقارب + Pulled String Mode وضع الخيط المشدود + Puppet Warp is not active التواء الدمية غير نشط + Purity النقاء + Quality الجودة + Quick Actions إجراءات سريعة + Quick Export As PNG تصدير سريع بتنسيق PNG + Radial Gradient تدرج شعاعي + Radius نصف القطر + Radius: نصف القطر: + Range: النطاق: + Rate المعدل + Recently Used المستخدمة مؤخرًا + Reconstruct إعادة بناء + Record ● a sequence of edits, then play ▶ it on any document. سجّل ● سلسلة من التعديلات، ثم شغّلها ▶ على أي مستند. + Red أحمر + Redefine style by current selection إعادة تعريف النمط بالتحديد الحالي + Refine تحسين + Reflected Gradient تدرج منعكس + Registration Marks علامات التسجيل + Regular عادي + Relative نسبي + Relative Colorimetric قياس لوني نسبي + Remove إزالة + Remove All Pins إزالة كل الدبابيس + Remove Background إزالة الخلفية + Remove Planes إزالة المستويات + Remove Tool أداة الإزالة + Remove stop إزالة نقطة التوقف + Remove variable إزالة المتغير + Rename إعادة تسمية + Rename Group… إعادة تسمية المجموعة… + Rename Layer… إعادة تسمية الطبقة… + Rename Tool Preset… إعادة تسمية الإعداد المسبق للأداة… + Rename… إعادة تسمية… + Resample إعادة أخذ العينات + Reset All to Defaults إعادة تعيين الكل إلى الافتراضيات + Import Shortcuts… استيراد الاختصارات… + Load a keyboard shortcut set saved as .kys تحميل مجموعة اختصارات لوحة مفاتيح محفوظة بتنسيق .kys + Imported {n} shortcuts from {file}. Click OK to keep them. تم استيراد {n} من الاختصارات من {file}. انقر «موافق» للاحتفاظ بها. + {n} commands are not in PhotoCraft. {n} من الأوامر غير موجودة في PhotoCraft. + Keyboard shortcuts imported تم استيراد اختصارات لوحة المفاتيح + Your keyboard shortcut set {set} is in use here: {n} shortcuts differ from the defaults. Edit › Keyboard Shortcuts shows them; Reset All to Defaults undoes this. مجموعة اختصارات لوحة المفاتيح {set} الخاصة بك قيد الاستخدام هنا: {n} من الاختصارات تختلف عن الافتراضيات. يعرضها «تحرير › اختصارات لوحة المفاتيح»؛ ويتراجع «إعادة تعيين الكل إلى الافتراضيات» عن ذلك. + Import keyboard shortcuts? هل تريد استيراد اختصارات لوحة المفاتيح؟ + PhotoCraft found your keyboard shortcut set {set} from another image editor on this computer: {n} of its shortcuts differ from PhotoCraft's. Import it? عثر PhotoCraft على مجموعة اختصارات لوحة المفاتيح {set} الخاصة بك من محرر صور آخر على هذا الكمبيوتر: {n} من اختصاراتها تختلف عن اختصارات PhotoCraft. هل تريد استيرادها؟ + Edit › Keyboard Shortcuts › Reset All to Defaults undoes an import. تحرير › اختصارات لوحة المفاتيح › إعادة تعيين الكل إلى الافتراضيات يؤدي إلى التراجع عن الاستيراد. + Don't Import عدم الاستيراد + The keyboard shortcut set was not imported: {error} لم يتم استيراد مجموعة اختصارات لوحة المفاتيح: {error} + Reset Section إعادة تعيين القسم + Reset Transform إعادة تعيين التحويل + Reset to defaults إعادة تعيين إلى الافتراضيات + Resolution الدقة + Resolution: الدقة: + Restore All استعادة الكل + Restore Defaults استعادة الافتراضيات + Restrictive (Web) مقيّد (ويب) + Right align text محاذاة النص لليمين + Rigid صلب + Rotate: تدوير: + Rotation تدوير + Roughness الخشونة + Roundness الاستدارة + Roundness Jitter تذبذب الاستدارة + Rulers & Grids المساطر والشبكات + Sample All Layers أخذ عينات من كل الطبقات + Sample: العينة: + Sampling: Background Swatch أخذ العينات: عينة لون الخلفية + Sampling: Continuous أخذ العينات: مستمر + Sampling: Once أخذ العينات: مرة واحدة + Saturate زيادة التشبع + Saturation التشبع + Saturation Jitter تذبذب التشبع + Save HTML and Images حفظ HTML والصور + Save as PDF حفظ بتنسيق PDF + Save selection as channel حفظ التحديد كقناة + Save… حفظ… + Scale to Fit Media تحجيم لملاءمة الوسائط + Scatter تبعثر + Scratch disks أقراص التخزين المؤقت + Search بحث + Search commands البحث في الأوامر + Search commands, tools and panels… البحث في الأوامر والأدوات واللوحات… + Search fonts البحث في الخطوط + Select All تحديد الكل + Select Subject تحديد الموضوع + Select a type layer or click into text to insert glyphs حدد طبقة نص أو انقر داخل النص لإدراج حروف رسومية + Select text to apply a character style حدد نصًا لتطبيق نمط حرف + Select: التحديد: + Selections التحديدات + Selective انتقائي + Selective Color لون انتقائي + Send the selected pin backward إرسال الدبوس المحدد للخلف + Set additional smoothing options تعيين خيارات تنعيم إضافية + Set background color تعيين لون الخلفية + Set foreground color تعيين لون المقدمة + Set painting symmetry options تعيين خيارات تناظر الرسم + Symmetry Off إيقاف التناظر + Set shape fill type تعيين نوع تعبئة الشكل + Set shape stroke type تعيين نوع حدّ الشكل + Set the text color تعيين لون النص + Create warped text إنشاء نص ملتوٍ + Shadows الظلال + Shape: الشكل: + Sharpening زيادة الحدة + Shift Shift + Shortcut removed. تمت إزالة الاختصار. + Show All Menu Items إظهار كل عناصر القائمة + Show Backdrop إظهار الخلفية + Show Guides إظهار الأدلة + Show Mask إظهار القناع + Show Mesh إظهار الشبكة + Show Overlay إظهار التراكب + Show Transform Controls إظهار عناصر التحكم في التحويل + Show or hide the Notes panel إظهار لوحة الملاحظات أو إخفاؤها + Show: إظهار: + Sides الأضلاع + Sides: الأضلاع: + Size الحجم + Size Jitter تذبذب الحجم + Size: الحجم: + Slice Options… خيارات الشريحة… + Slices From Guides شرائح من الأدلة + Slices are locked (View › Lock Slices) الشرائح مقفلة (عرض › قفل الشرائح) + Small Caps أحرف استهلالية صغيرة + Smoothing التنعيم + Space After المسافة بعد + Space Before المسافة قبل + Spacing التباعد + Spell check complete. اكتمل التدقيق الإملائي. + Split: التقسيم: + Star ratio نسبة النجمة + Stop playing/recording إيقاف التشغيل/التسجيل + Straighten تقويم + Straighten Layer تقويم الطبقة + Strength: القوة: + Strikethrough يتوسطه خط + Stroke حدّ + Stroke Catch-up لحاق الضربة + Stroke: حدّ: + Location الموقع + Location: الموقع: + Style النمط + Style Options خيارات النمط + Style Options… خيارات النمط… + Style: Normal النمط: عادي + Subtract from Sample طرح من العينة + Subtract from selection ({key}) طرح من التحديد ({key}) + Suggestions: الاقتراحات: + Swap colours (X) تبديل الألوان (X) + Swaps height and width يبدّل الارتفاع والعرض + Switch between free transform and warp modes التبديل بين وضعي التحويل الحر والالتواء + Switch theme تبديل السمة + Temperature درجة الحرارة + Tetrahedral رباعي السطوح + Text Position: موضع النص: + Texture النسيج + Texture Each Tip نسيج لكل رأس + Threshold العتبة + Threshold Level مستوى العتبة + Thumbnail size (smallest: list) حجم الصورة المصغرة (الأصغر: قائمة) + Tilt X الإمالة X + Tilt Y الإمالة Y + Tint صبغة + Toggle count group visibility تبديل رؤية مجموعة العد + Toggle text orientation تبديل اتجاه النص + Tolerance التفاوت + Tolerance: التفاوت: + Tone: الدرجة اللونية: + Toolbar شريط الأدوات + Top أعلى + Total: الإجمالي: + Tracking تباعد الأحرف + Tracking (1/1000 em) تباعد الأحرف (1/1000 em) + Transparency الشفافية + Transparent شفاف + Trilinear ثلاثي الخطية + Type Styles أنماط النص + Type: النوع: + Underline تسطير + Untitled بدون عنوان + Untitled-1 بدون عنوان-1 + Update layer comp (visibility, position and appearance) تحديث تركيبة الطبقات (الرؤية والموضع والمظهر) + Use Default استخدام الافتراضي + Use Legacy استخدام القديم + Use Measurement Scale استخدام مقياس القياس + Variables bind a layer's visibility, text or pixels to a named data slot. تربط المتغيرات رؤية الطبقة أو نصها أو بكسلاتها بخانة بيانات مسماة. + Vertical scale التحجيم العمودي + Vibrance الحيوية + View Options خيارات العرض + Vignetting تظليل الحواف + Violet, Orange بنفسجي، برتقالي + Visibility الرؤية + Visible مرئي + Warp: الالتواء: + Web Snap المحاذاة التلقائية للويب + Weight الوزن + Weight: الوزن: + White أبيض + White Balance: As Shot توازن الأبيض: كما تم التقاطه + Whites درجات البياض + Width العرض + Slant الميل + Width: العرض: + Work Path مسار العمل + Yellow أصفر + Yellow · Blue أصفر · أزرق + Zoom التكبير/التصغير + Zoom in تكبير + Zoom out تصغير + command or shortcut أمر أو اختصار + current الحالي + image file path مسار ملف الصورة + modified معدّل + name الاسم + new جديد + {name} options خيارات {name} + ↑↓ navigate {key} run esc close ↑↓ تنقل {key} تشغيل esc إغلاق + Version {version} الإصدار {version} + New Document مستند جديد + New Document With Mask مستند جديد مع قناع + New Layer With Mask طبقة جديدة مع قناع + New Layer طبقة جديدة + Save Preset… حفظ الإعداد المسبق… + Preset Name اسم الإعداد المسبق + No saved presets yet. لا توجد إعدادات مسبقة محفوظة بعد. + Error خطأ + Command الأمر + Adjustment layers have nothing to transform ليس لدى طبقات التعديل ما يمكن تحويله + Altitude الارتفاع + Android 1080p Android 1080p + Apple Watch 45mm Apple Watch 45mm + Aqua أزرق مائي + Art & Illustration الفن والرسم التوضيحي + ArtCraft ArtCraft + Background Eraser Tool أداة ممحاة الخلفية + Bevel & Emboss شطف ونقش بارز + Blend Mode وضع المزج + Blues درجات الأزرق + Blur Tool أداة التمويه + Bold غامق + Brush فرشاة + Block كتلة + Brush Pose وضعية الفرشاة + Brush Tip Shape شكل رأس الفرشاة + Brush Tool أداة الفرشاة + Build-up تراكم + Burn Tool أداة التغميق + Centimeters سنتيمتر + Choke تضييق + Classic كلاسيكي + Click to add text انقر لإضافة نص + Click to fill similar colours انقر لتعبئة الألوان المتشابهة + Clone Stamp Tool أداة ختم الاستنساخ + Color Burn حرق اللون + Color Dodge تفتيح اللون + Color Dynamics ديناميكيات اللون + Color Overlay تراكب اللون + Comic Book قصص مصورة + Conform مطابقة + Content-Aware Fill needs a selection on a pixel layer تتطلب التعبئة المدركة للمحتوى تحديدًا على طبقة بكسل + Could not transform: the layer is empty تعذر التحويل: الطبقة فارغة + Could not use Perspective Warp: the layer is empty تعذر استخدام التواء المنظور: الطبقة فارغة + Could not use Puppet Warp: no opaque pixels تعذر استخدام التواء الدمية: لا توجد بكسلات معتمة + Could not use Puppet Warp: the layer is empty تعذر استخدام التواء الدمية: الطبقة فارغة + Crop Tool أداة الاقتصاص + Crosswise بشكل متقاطع + Current Tool الأداة الحالية + Custom Shape Tool أداة الشكل المخصص + Cyans درجات السماوي + Default PhotoCraft Size حجم PhotoCraft الافتراضي + Delete Workspace حذف مساحة العمل + Diamond ماسي + Dimensions: الأبعاد: + Direction الاتجاه + Distance المسافة + Document Dimensions أبعاد المستند + Document Profile ملف تعريف المستند + Document Sizes أحجام المستند + Dodge Tool أداة التفتيح + Down أسفل + Drag to draw a gradient اسحب لرسم تدرج + Drag to move the active layer اسحب لتحريك الطبقة النشطة + Drag to pan · hold Space with any tool اسحب للتحريك · اضغط مع الاستمرار على Space مع أي أداة + Drop Shadow ظل مسقط + Dual Brush فرشاة مزدوجة + Edge الحافة + Efficiency الكفاءة + Efficiency: 100% الكفاءة: 100% + Ellipse Tool أداة الشكل البيضاوي + Elliptical Marquee Tool أداة إطار التحديد البيضاوي + Single Row Marquee Tool أداة إطار تحديد صف واحد + Single Column Marquee Tool أداة إطار تحديد عمود واحد + Emboss نقش بارز + Eraser الممحاة + Eraser Tool أداة الممحاة + ExtraBold غامق جدًا + ExtraLight خفيف جدًا + Eyedropper Tool أداة القطارة + Fade تلاشي + Fill Opacity عتامة التعبئة + Film & Video الأفلام والفيديو + From من + General عام + GitHub GitHub + Gradient Overlay تراكب التدرج + Gradient Tool أداة التدرج + Greens درجات الأخضر + Hand Tool أداة اليد + Hard صلب + Hard Mix مزج صلب + Healing Brush Tool أداة فرشاة الإصلاح + Highlights from: الإضاءات من: + History Brush Tool أداة فرشاة السجل + Horizontal Type Tool أداة النص الأفقي + Horizontal Type Mask Tool أداة قناع النص الأفقي + Vertical Type Mask Tool أداة قناع النص العمودي + Image Size: حجم الصورة: + Inches بوصة + Indexed مفهرس + Initial Direction الاتجاه الأولي + Inner Bevel شطف داخلي + Inner Glow توهج داخلي + Inner Shadow ظل داخلي + Lab Lab + Landscape, 10 x 8 أفقي، 10 × 8 + Landscape, 6 x 4 أفقي، 6 × 4 + Landscape, 7 x 5 أفقي، 7 × 5 + Lasso اللاسو + Lasso Tool أداة اللاسو + Layer Count عدد الطبقات + Layer Knocks Out Drop Shadow الطبقة تقتطع الظل المسقط + Legal Legal + Letter Letter + Light فاتح + Line Tool أداة الخط + Linear خطي + Linear Burn حرق خطي + Linear Height ارتفاع خطي + Link with Layer ربط مع الطبقة + Lorem Ipsum Lorem Ipsum + Magentas درجات الأرجواني + Magic Eraser Tool أداة الممحاة السحرية + Magic Wand Tool أداة العصا السحرية + Marquee إطار التحديد + Mean: المتوسط: + Measurement Scale مقياس القياس + Measurement Scale Marker علامة مقياس القياس + Millimeters مليمتر + Mobile الجوال + Move Tool أداة التحريك + Could not use the move tool because the layer is locked. تعذر استخدام أداة التحريك لأن الطبقة مقفلة. + Could not complete the Free Transform command because the layer is locked. تعذر إكمال أمر التحويل الحر لأن الطبقة مقفلة. + Multiply ضرب + My Brushes الفُرش الخاصة بي + Neutrals الدرجات المحايدة + New Workspace مساحة عمل جديدة + Note Tool أداة الملاحظة + Object Selection Tool أداة تحديد الكائنات + Off إيقاف + Open فتح + Orange برتقالي + Original Ratio النسبة الأصلية + Out Of Gamut خارج نطاق الألوان + Outer Bevel شطف خارجي + Outer Glow توهج خارجي + Overlay تراكب + Paint Bucket Tool أداة دلو الطلاء + Paints from the document's opening state يرسم من حالة المستند عند فتحه + Path Selection Tool أداة تحديد المسار + Direct Selection Tool أداة التحديد المباشر + Add Anchor Point Tool أداة إضافة نقطة ارتكاز + Delete Anchor Point Tool أداة حذف نقطة ارتكاز + Click a segment to add an anchor point · {alt}-click an anchor to delete it انقر على مقطع لإضافة نقطة ارتكاز · {alt}+نقر على نقطة ارتكاز لحذفها + Click an anchor point to delete it · {alt}-click a segment to add one انقر على نقطة ارتكاز لحذفها · {alt}+نقر على مقطع لإضافة نقطة + Pattern Overlay تراكب النقش + Pen Pressure ضغط القلم + Pen Tilt إمالة القلم + Pen Tool أداة القلم + Convert Point Tool أداة تحويل النقطة + Photo صورة فوتوغرافية + PhotoCraft website موقع PhotoCraft + Picas بيكا + Pillow Emboss نقش وسادي + Pixel Replacement استبدال البكسل + Pixels بكسل + Points نقطة + Polygon Tool أداة المضلع + Polygonal Lasso Tool أداة اللاسو المضلع + Portrait, 4 x 6 عمودي، 4 × 6 + Portrait, 5 x 7 عمودي، 5 × 7 + PostScript (72 points/inch) PostScript (72 نقطة/بوصة) + Postcard بطاقة بريدية + Poster ملصق + Pro (Dark) Pro (داكن) + Pro (Light) Pro (فاتح) + Pro (Light Gray) Pro (رمادي فاتح) + Pro (Medium Gray) Pro (رمادي متوسط) + Protect Texture حماية النسيج + Purple بنفسجي + Quick Mask قناع سريع + Quick Selection Tool أداة التحديد السريع + Radial شعاعي + Rasterize Layer تحويل الطبقة إلى نقطية + Rasterize Layers تحويل الطبقات إلى نقطية + Ratio النسبة + Recent الأخيرة + Rectangle Tool أداة المستطيل + Rectangular Marquee Tool أداة إطار التحديد المستطيل + Reds درجات الأحمر + Reflected منعكس + Sample: foreground colour العينة: لون المقدمة + Sampled Colors الألوان المأخوذة كعينات + Satin ساتان + Save Pixel Aspect Ratio حفظ نسبة أبعاد البكسل + Scattering التبعثر + Scratch Sizes أحجام التخزين المؤقت + Select Data Points تحديد نقاط البيانات + Selection التحديد + SemiBold شبه غامق + Shadows up to: الظلال حتى: + Shape Dynamics ديناميكيات الشكل + Sharpen Tool أداة زيادة الحدة + Show Extras Options خيارات إظهار الإضافات + Slice Select Tool أداة تحديد الشريحة + Slice Tool أداة الشريحة + Smart Filters مرشحات ذكية + Smudge Tool أداة التلطيخ + Soft ناعم + Soften تنعيم + Source المصدر + Source: set المصدر: مضبوط + Sponge Tool أداة الإسفنجة + Spot Healing Brush Tool أداة فرشاة إصلاح البقع + Spread انتشار + Square, 12 x 12 مربع، 12 × 12 + Square, 5 x 5 مربع، 5 × 5 + Std Dev: الانحراف المعياري: + Studio (Dark) Studio (داكن) + Studio (Light) Studio (فاتح) + Stylus Wheel عجلة القلم + Subtract طرح + Tabloid Tabloid + Text Replacement استبدال النص + Thin رفيع + Traditional (72.27 points/inch) تقليدي (72.27 نقطة/بوصة) + Transfer نقل + Triangle Tool أداة المثلث + Unsaved changes تغييرات غير محفوظة + Uses the foreground and background colours. يستخدم لوني المقدمة والخلفية. + Web الويب + Web Large ويب كبير + Web Minimum ويب أدنى + Web Most Common ويب الأكثر شيوعًا + WebP (lossless) WebP (بدون فقدان) + Wet Edges حواف رطبة + Yellows درجات الأصفر + Zoom Tool أداة التكبير/التصغير + {name} Properties خصائص {name} + Revert “{name}” to the last saved version? Your changes will be lost. هل تريد إرجاع «{name}» إلى آخر نسخة محفوظة؟ ستفقد تغييراتك. + Do you want to save the changes you made to “{name}” before quitting? هل تريد حفظ التغييرات التي أجريتها على «{name}» قبل الخروج؟ + Do you want to save the changes you made to “{name}” before closing? هل تريد حفظ التغييرات التي أجريتها على «{name}» قبل الإغلاق؟ + Doc: {flat}/{layered} المستند: {flat}/{layered} + Scratch: {size} التخزين المؤقت: {size} + Untagged {mode} {mode} غير موسوم + Invalid {mode} profile ملف تعريف {mode} غير صالح + Unnamed {mode} profile ملف تعريف {mode} بلا اسم + {w} px x {h} px ({ppi} ppi) {w} بكسل × {h} بكسل ({ppi} ppi) + {w} {unit} x {h} {unit} ({ppi} ppi) {w} {unit} × {h} {unit} ({ppi} ppi) + Resolution: {dpi} pixels/inch الدقة: {dpi} بكسل/بوصة + Doc: {w} × {h} px المستند: {w} × {h} بكسل + Frame {current} / {total} الإطار {current} / {total} + Count: {n} العدد: {n} + BLANK DOCUMENT PRESETS ({n}) إعدادات مسبقة لمستند فارغ ({n}) + Constraints ({n}) القيود ({n}) + Align {what} محاذاة {what} +@plural {n} Layer|{n} Layers {n} طبقة|{n} طبقة|{n} طبقتان|{n} طبقات|{n} طبقةً|{n} طبقة +@plural {n} layer|{n} layers {n} طبقة|{n} طبقة|{n} طبقتان|{n} طبقات|{n} طبقةً|{n} طبقة +@plural Group · {n} layer|Group · {n} layers مجموعة · {n} طبقة|مجموعة · {n} طبقة|مجموعة · {n} طبقتان|مجموعة · {n} طبقات|مجموعة · {n} طبقةً|مجموعة · {n} طبقة + Additional plugins folder مجلد المكونات الإضافية الإضافي + Adobe Adobe + Adobe rgb Adobe RGB + Allow agent control السماح بتحكم الوكيل + Allow scripts to connect السماح للبرامج النصية بالاتصال + Always دائمًا + Always create smart objects when placing إنشاء كائنات ذكية دائمًا عند الإدراج + Animated zoom تكبير متحرك + Apply auto tone تطبيق النغمة التلقائية + Ask سؤال + Ask before saving layered tiff السؤال قبل حفظ TIFF متعدد الطبقات + Auto collapse icon panels طي لوحات الأيقونات تلقائيًا + Auto show hidden panels إظهار اللوحات المخفية تلقائيًا + Auto show home screen إظهار الشاشة الرئيسية تلقائيًا + Autosave حفظ تلقائي + Autosave minutes دقائق الحفظ التلقائي + Beep when done إصدار صوت تنبيه عند الانتهاء + Bicubic automatic ثنائي التكعيب تلقائي + Bicubic sharper ثنائي التكعيب أكثر حدة + Bicubic smoother ثنائي التكعيب أكثر نعومة + Bit depth عمق البت + Brush preview color لون معاينة الفرشاة + Cache levels مستويات ذاكرة التخزين المؤقت + Cache tile size حجم بلاطة ذاكرة التخزين المؤقت + Camera Raw Defaults إعدادات Camera Raw الافتراضية + Canvas border حد لوحة الرسم + Show canvas dots إظهار نقاط لوحة الرسم + Clip thumbnails to layer bounds قصر الصور المصغرة على حدود الطبقة + Clip Thumbnails to Layer Bounds قصر الصور المصغرة على حدود الطبقة + Canvas color لون لوحة الرسم + Canvas custom color لون مخصص للوحة الرسم + Color picker منتقي الألوان + Color space مساحة الألوان + Column width عرض العمود + Concise موجز + Control port منفذ التحكم + Convert to srgb تحويل إلى sRGB + Cursors المؤشرات + Custom dark داكن مخصص + Custom light فاتح مخصص + Dark داكن + Dark gray رمادي داكن + Dashed lines خطوط متقطعة + Destination الوجهة + Detailed مفصل + Disks الأقراص + Display p3 Display P3 + Double click layer mask launches select and mask النقر المزدوج على قناع الطبقة يفتح «تحديد وقناع» + Drop shadow ظل مسقط + Dynamic color sliders منزلقات ألوان ديناميكية + East asian شرق آسيوي + Effect cache mb ذاكرة التأثيرات المؤقتة (ميغابايت) + Enable flick panning تمكين التحريك السريع + Enable floating document window docking تمكين إرساء نوافذ المستندات العائمة + Enable narrow options bar تمكين شريط الخيارات الضيق + Enabled ممكّن + Enhanced Controls عناصر تحكم محسنة + Export clipboard تصدير الحافظة + Extra large كبير جدًا + File Handling معالجة الملفات + File path مسار الملف + Fill new type layers with placeholder تعبئة طبقات النص الجديدة بنص نائب + Font preview معاينة الخط + Full size tip رأس بالحجم الكامل + Gamut warning color لون تحذير نطاق الألوان + Gamut warning opacity عتامة تحذير نطاق الألوان + Enable Generator تمكين المولّد + Gif GIF + Glossy لامع + Grid color لون الشبكة + Grid colors ألوان الشبكة + Grid size حجم الشبكة + Grid style نمط الشبكة + Grid unit وحدة الشبكة + Gridline every خط الشبكة كل + Guide color لون الدليل + Guide style نمط الدليل + Guides, Grid & Slices الأدلة والشبكة والشرائح + Gutter الفاصل بين الأعمدة + History Log سجل التاريخ + History states حالات السجل + Ignore exif profile tag تجاهل وسم ملف تعريف EXIF + Image interpolation استيفاء الصورة + Image previews معاينات الصور + Integrations التكاملات + Interface الواجهة + Jpeg quality جودة JPEG + Jpg JPG + Language اللغة + Large tabs علامات تبويب كبيرة + Legacy compositing التركيب القديم + Light gray رمادي فاتح + Line خط + Lines خطوط + Lossless بدون فقدان + Lowercase extension امتداد بأحرف صغيرة + Maximize psd compatibility زيادة توافق PSD إلى أقصى حد + Medium gray رمادي متوسط + Memory usage mb استخدام الذاكرة (ميغابايت) + Low resolution previews معاينات منخفضة الدقة + Missing glyph protection حماية الحروف الرسومية المفقودة + Modern حديث + Nearest neighbor أقرب جار + Never أبدًا + Normal tip رأس عادي + Open as smart object فتح ككائن ذكي + Open in camera raw فتح في Camera Raw + Open documents as tabs فتح المستندات كعلامات تبويب + Overscroll التمرير الزائد + Performance الأداء + Png PNG + Point size حجم النقطة + Precise دقيق + Preserve details الحفاظ على التفاصيل + Print resolution دقة الطباعة + Pro Pro + Pro light Pro فاتح + Pro light gray Pro رمادي فاتح + Pro medium Pro متوسط + Pro photo ProPhoto + Quick export format تنسيق التصدير السريع + Quick export location موقع التصدير السريع + Recent file count عدد الملفات الأخيرة + LUT folder مجلد LUT + Recent files الملفات الأخيرة + Recent fonts الخطوط الأخيرة + Recover on launch الاسترداد عند التشغيل + Remember workspace changes تذكر تغييرات مساحة العمل + Resize image during place تغيير حجم الصورة أثناء الإدراج + Rotate view with trackpad تدوير العرض بلوحة اللمس + Same folder المجلد نفسه + Save in background حفظ في الخلفية + Scratch Disks أقراص التخزين المؤقت + Screen شاشة + Screen resolution دقة الشاشة + Scrubby slider acceleration تسارع المنزلق السحبي + Sessions only الجلسات فقط + Sharpen for زيادة الحدة لـ + Show channels in color إظهار القنوات بالألوان + Show crosshair in brush tip إظهار نقطة التصويب في رأس الفرشاة + Show extension panels إظهار لوحات الامتدادات + Show font names in english إظهار أسماء الخطوط بالإنجليزية + Show menu colors إظهار ألوان القوائم + Show only crosshair while painting إظهار نقطة التصويب فقط أثناء الرسم + Show slice numbers إظهار أرقام الشرائح + Show tooltips إظهار تلميحات الأدوات + Enable animations تمكين الحركات + Show highlight on rollover إظهار التمييز عند التمرير + Show bounding box when dragging layer إظهار مربع الإحاطة عند سحب الطبقة + System title bar شريط عنوان النظام + Show transformation values إظهار قيم التحويل + Slice color لون الشريحة + Smart guide color لون الأدلة الذكية + Smart quotes علامات اقتباس ذكية + Snap vector tools and transforms to pixel grid المحاذاة التلقائية للأدوات المتجهة والتحويلات إلى شبكة البكسل + Srgb sRGB + Standard قياسي + Studio Studio + Studio light Studio فاتح + Adwaita Adwaita + Adwaita dark Adwaita داكن + Subdivisions التقسيمات الفرعية + System النظام + Text engine محرك النص + Text file ملف نصي + Tiny ضئيل + Touch gestures إيماءات اللمس + Transparency & Gamut الشفافية ونطاق الألوان + Type units وحدات النص + UI font size حجم خط الواجهة + UI scale مقياس الواجهة + Units & Rulers الوحدات والمساطر + Use additional plugins folder استخدام مجلد المكونات الإضافية الإضافي + Use esc to commit استخدام Esc للتأكيد + Use gpu استخدام GPU + Use legacy free transform استخدام التحويل الحر القديم + Use shift key for tool switch استخدام مفتاح Shift للتبديل بين الأدوات + Vary round brush hardness on hud تغيير صلابة الفرشاة المستديرة على HUD + Webp WebP + World ready جاهز عالميًا + Zoom clicked point to center تكبير النقطة المنقورة إلى المركز + Zoom resizes windows التكبير يغير حجم النوافذ + Zoom with scroll wheel التكبير بعجلة التمرير + Zoom with trackpad pinch التكبير بقرص لوحة اللمس + Pass Through مرور + Dissolve ذوبان + Darker Color لون أغمق + Linear Dodge (Add) تفتيح خطي (إضافة) + Lighter Color لون أفتح + Soft Light ضوء ناعم + Hard Light ضوء قاسٍ + Vivid Light ضوء زاهٍ + Linear Light ضوء خطي + Pin Light ضوء نقطي + Exclusion استبعاد + Divide قسمة + Luminosity اللمعان +@plural {n} sample|{n} samples {n} عينة|{n} عينة|{n} عينتان|{n} عينات|{n} عينةً|{n} عينة + {added}, {removed} subtracted {added}، وطُرح {removed} + Adjustment Preview معاينة التعديل + Airbrush: keeps depositing paint while the pointer rests. البخاخة: تواصل إضافة الطلاء أثناء استقرار المؤشر. + Angle: الزاوية: + Blend If المزج إذا كان + Close Tab Group إغلاق مجموعة علامات التبويب + Collapse طي + Collapse All Groups طي كل المجموعات + Collapse Panel Group طي مجموعة اللوحات + Collapse group ({key}-click: all groups) طي المجموعة ({key}+نقر: كل المجموعات) + Create new brush from the current settings إنشاء فرشاة جديدة من الإعدادات الحالية + Create new brush from these settings إنشاء فرشاة جديدة من هذه الإعدادات + Update the current brush with these settings تحديث الفرشاة الحالية بهذه الإعدادات + Delete brush حذف الفرشاة + Drag the arrow to set the angle, the dots to set the roundness اسحب السهم لتعيين الزاوية، والنقاط لتعيين الاستدارة + Expand توسيع + Expand Panel Group توسيع مجموعة اللوحات + Expand group ({key}-click: all groups) توسيع المجموعة ({key}+نقر: كل المجموعات) + Fade steps خطوات التلاشي + Hide the layer's effects ({key}-click: all layers) إخفاء تأثيرات الطبقة ({key}+نقر: كل الطبقات) + Import Brushes… (.abr or image) استيراد الفُرش… (.abr أو صورة) + Import Brush from Image… استيراد فرشاة من صورة… + Move Group Down تحريك المجموعة لأسفل + Move Group Up تحريك المجموعة لأعلى + Reset the brush to the defaults إعادة تعيين الفرشاة إلى الإعدادات الافتراضية + Restore original size استعادة الحجم الأصلي + Roundness: الاستدارة: + Search Brushes البحث في الفُرش + Show the layer's effects ({key}-click: all layers) إظهار تأثيرات الطبقة ({key}+نقر: كل الطبقات) + Brush picker منتقي الفُرش + Erase محو + Right click with painting tools النقر بالزر الأيمن مع أدوات الرسم + System Info… معلومات النظام… + System Info معلومات النظام + More panels المزيد من اللوحات + More documents المزيد من المستندات + These settings aren't available in PhotoCraft yet. هذه الإعدادات غير متاحة في PhotoCraft بعد. + Graphics الرسومات + Reset GPU Backend إعادة تعيين واجهة GPU الخلفية + Applies at next launch. يُطبّق عند التشغيل التالي. + Click to sample the foreground colour · {key}-click for background انقر لأخذ عينة من لون المقدمة · {key}+نقر للون الخلفية + {key}-click to set the source {key}+نقر لضبط المصدر + {key} to subtract {key} للطرح + Clone source {n} ({key}-click with Clone Stamp to set) مصدر الاستنساخ {n} ({key}+نقر بأداة ختم الاستنساخ للضبط) + Source: not set ({key}-click with Clone Stamp) المصدر: غير مضبوط ({key}+نقر بأداة ختم الاستنساخ) + Pixel Layer طبقة بكسل + Type Layer طبقة نص + Shape Layer طبقة شكل + Group Layer طبقة مجموعة + Fill Layer طبقة تعبئة + Smart Object Layer طبقة كائن ذكي + Create Warped Text إنشاء نص ملتوٍ + Rasterize Smart Object تحويل الكائن الذكي إلى نقطية + Rasterize Fill Content تحويل محتوى التعبئة إلى نقطية + Rasterize Layer Style تحويل نمط الطبقة إلى نقطية + Unlock: picking a preset replaces these settings إلغاء القفل: اختيار إعداد مسبق يستبدل هذه الإعدادات + Lock: keep these settings when picking another preset قفل: الاحتفاظ بهذه الإعدادات عند اختيار إعداد مسبق آخر + Diameter: القطر: + Hardness: الصلابة: + No brush presets لا توجد إعدادات مسبقة للفرشاة + Toggle the Brush Settings panel (F5) تبديل لوحة إعدادات الفرشاة (F5) + Create new brush preset from the current settings إنشاء إعداد مسبق جديد للفرشاة من الإعدادات الحالية + Brush Settings… (F5): every option of this brush إعدادات الفرشاة… (F5): كل خيارات هذه الفرشاة + Rename Brush… إعادة تسمية الفرشاة… + Delete Brush حذف الفرشاة + New Brush Preset… إعداد مسبق جديد للفرشاة… + Capture Brush Size in Preset التقاط حجم الفرشاة في الإعداد المسبق + Include Tool Settings تضمين إعدادات الأداة + Include Color تضمين اللون + Enter a name for the brush preset أدخل اسمًا للإعداد المسبق للفرشاة + A brush preset with this name already exists يوجد إعداد مسبق للفرشاة بهذا الاسم بالفعل + Brush Preset Options خيارات الإعداد المسبق للفرشاة + Group name اسم المجموعة + Brush name اسم الفرشاة + Brush Name اسم الفرشاة + Brush Stroke ضربة الفرشاة + Brush Tip رأس الفرشاة + Off: the speed of the pointer sets the spacing إيقاف: سرعة المؤشر تحدد التباعد + Tilt Scale مقياس الإمالة + Brush Projection إسقاط الفرشاة + Apply the pen's tilt and rotation to the tip shape تطبيق إمالة القلم وتدويره على شكل رأس الفرشاة + Mixer Brush فرشاة المزج + Mixer Brush Tool أداة فرشاة المزج + Color Replacement Tool أداة استبدال اللون + Wet رطب + Current Brush Load حمولة الفرشاة الحالية + Load Brush تحميل الفرشاة + Clean Brush تنظيف الفرشاة + Load the brush after each stroke تحميل الفرشاة بعد كل ضربة + Clean the brush after each stroke تنظيف الفرشاة بعد كل ضربة + Mix مزج + Wetness Jitter تذبذب الرطوبة + Mix Jitter تذبذب المزج + Show the layer mask as an overlay إظهار قناع الطبقة كتراكب + Toggle visibility تبديل الرؤية + Unlink the mask from the layer إلغاء ربط القناع بالطبقة + Link the mask to the layer ربط القناع بالطبقة + Gradient تدرج + Gradient Options خيارات التدرج + Align with layer محاذاة مع الطبقة + Reset Alignment إعادة تعيين المحاذاة + Centre the gradient (offset 0, 0) توسيط التدرج (إزاحة 0، 0) +# Gradient Editor window, opened from the options bar's gradient swatch. + Gradient Editor محرر التدرج + Gradient picker منتقي التدرج + Gradient stops نقاط توقف التدرج + Save As Preset حفظ كإعداد مسبق + The gradient the Gradient tool paints with التدرج الذي ترسم به أداة التدرج + Adds the current gradient to the Gradients panel يضيف التدرج الحالي إلى لوحة التدرجات + The current gradient (pick one in Window › Gradients) التدرج الحالي (اختر واحدًا من نافذة › التدرجات) + Select a type layer to edit its character and paragraph settings. حدد طبقة نص لتحرير إعدادات الحرف والفقرة الخاصة بها. + Text color لون النص + Type Options خيارات النص + Anti-aliasing method طريقة إزالة التسنن + Horizontal type نص أفقي + Vertical type نص عمودي + Fill path with foreground color تعبئة المسار بلون المقدمة + Stroke path with brush رسم حد للمسار بالفرشاة + Load path as a selection تحميل المسار كتحديد + Make work path from selection إنشاء مسار عمل من التحديد + Add vector mask إضافة قناع متجه + Create new path إنشاء مسار جديد + Delete path حذف المسار + Delete vector mask حذف القناع المتجه + CPU (no GPU acceleration) CPU (بدون تسريع GPU) + DirectX 12 DirectX 12 + GPU backend واجهة GPU الخلفية + Linux display server خادم عرض Linux + X11 X11 + Metal Metal + OpenGL OpenGL + Use tablet pressure استخدام ضغط الجهاز اللوحي + Vulkan Vulkan + Alt-click to define a source point to clone from انقر مع Alt لتحديد نقطة مصدر للاستنساخ منها + No path to make a selection from: draw one with the Pen tool or select one in the Paths panel. لا يوجد مسار لإنشاء تحديد منه: ارسم مسارًا بأداة القلم أو حدد مسارًا في لوحة المسارات. + Cancel opening إلغاء الفتح + Cancelled opening {name} تم إلغاء فتح {name} + Damaged Photoshop document مستند Photoshop تالف + The document “{name}” may be damaged. قد يكون المستند «{name}» تالفًا. + Some layers, pixels or masks could not be read. Do you want to continue opening it? تعذرت قراءة بعض الطبقات أو البكسلات أو الأقنعة. هل تريد متابعة فتحه؟ + If you continue, saving over the original may permanently discard unreadable data. Save a copy to keep the original. إذا تابعت، فقد يؤدي الحفظ فوق الأصل إلى فقدان البيانات غير القابلة للقراءة نهائيًا. احفظ نسخة للاحتفاظ بالأصل. + Continue متابعة + The document “{name}” does not have an embedded {mode} profile. لا يحتوي المستند «{name}» على ملف تعريف {mode} مضمّن. + The document “{name}” has an embedded color profile that does not match the current {mode} working space. يحتوي المستند «{name}» على ملف تعريف ألوان مضمّن لا يطابق مساحة عمل {mode} الحالية. + Working: {working} مساحة العمل: {working} + Developing {name} جارٍ معالجة {name} + Cancelled {label} تم إلغاء {label} + Esc to cancel Esc للإلغاء + Opened {name} تم فتح {name} + Opening {name} جارٍ فتح {name} + Saved {name} تم حفظ {name} + Saving {name} جارٍ حفظ {name} + Saving {percent} جارٍ الحفظ {percent} + A save to {name} is still running; try again when it finishes لا تزال عملية حفظ في {name} جارية؛ حاول مرة أخرى عند انتهائها + {label} is writing the file and can no longer be cancelled {label} يكتب الملف ولم يعد بالإمكان إلغاؤه + Opening {name}… جارٍ فتح {name}… + Opening… جارٍ الفتح… + Reading… جارٍ القراءة… + Working… جارٍ العمل… + Color Range نطاق الألوان + Adaptive Wide Angle زاوية واسعة تكيفية + Chalk & Charcoal طباشير وفحم + Charcoal فحم + Chrome كروم + Conté Crayon قلم Conté + Graphic Pen قلم رسومي + Halftone Pattern نقش نصف نغمة + Note Paper ورق ملاحظات + Photocopy نسخ ضوئي + Plaster جبس + Reticulation تشبيك + Stamp ختم + Torn Edges حواف ممزقة + Water Paper ورق مائي + Move تحريك + Pencil قلم رصاص + Clone Stamp ختم الاستنساخ + Dodge تفتيح + Burn تغميق + Quick Selection تحديد سريع + History Brush فرشاة السجل + Color Replacement استبدال اللون + New Group مجموعة جديدة + Layer Comp تركيبة طبقات + Alpha ألفا + Make الشركة المصنعة + Model الطراز + F F + Artist الفنان + Spot Color لون موضعي + Roman روماني + Bold Italic غامق مائل + Justification الضبط + Symbols الرموز + Punctuation علامات الترقيم + Make Work Path إنشاء مسار عمل + Make Selection إنشاء تحديد + Fill Path تعبئة المسار + Stroke Path رسم حد للمسار + Delete Path حذف المسار + Rename Path… إعادة تسمية المسار… + W ع + H ا + Ruler المسطرة + New Layer Comp تركيبة طبقات جديدة + Duplicate Layer Comp تكرار تركيبة الطبقات + Rename Layer Comp إعادة تسمية تركيبة الطبقات + Apply Layer Comp تطبيق تركيبة الطبقات + Update Layer Comp تحديث تركيبة الطبقات + Method الطريقة + Author المؤلف + Software البرنامج + Pencil Tool أداة القلم الرصاص + Pixel بكسل + Adjustment تعديل + Drag (lasso) or click points (polygonal) · {add} add · {sub} subtract اسحب (لاسو) أو انقر على النقاط (مضلع) · {add} إضافة · {sub} طرح + Drag a crop box · drag inside to move · edges resize ({ratio} ratio, {centre} centre) · Space moves while drawing · arrows nudge · X swaps orientation · {commit} commits · Esc cancels اسحب مربع اقتصاص · اسحب من الداخل للتحريك · الحواف لتغيير الحجم ({ratio} للنسبة، {centre} للمركز) · Space للتحريك أثناء الرسم · الأسهم للدفع الدقيق · X لتبديل الاتجاه · {commit} للتأكيد · Esc للإلغاء + {mode} Color · {bits} bit لون {mode} · {bits} بت + Scrubby Zoom تكبير سحبي + Auto Erase محو تلقائي + Color Adaptation تكيّف اللون + Preserve Transparency الحفاظ على الشفافية + New Style… نمط جديد… + shortcut اختصار + Saved تم الحفظ + Arc قوس + Arch قوس معماري + Bulge انتفاخ + Shell Lower صدفة سفلية + Shell Upper صدفة علوية + Flag علم + Fish سمكة + Wave موجة + Rise ارتفاع + Inflate نفخ + Twist لف + Squeeze ضغط + Mask قناع + Channel قناة + Rectangle مستطيل + New Channel قناة جديدة + Save Selection حفظ التحديد + Load Selection تحميل التحديد +@id edit.purge.undo سجل التراجع + Rendering Mode وضع التصيير + Automatic (recommended) تلقائي (موصى به) + CPU / Compatibility CPU / التوافق + Automatic uses GPU acceleration when available and falls back to CPU rendering on errors. يستخدم الوضع التلقائي تسريع GPU عند توفره ويعود إلى تصيير CPU عند حدوث أخطاء. + Switched to CPU rendering تم التبديل إلى تصيير CPU + GPU acceleration could not continue. Your documents are unchanged. تعذّر استمرار تسريع GPU. مستنداتك لم تتغير. + PhotoCraft is using the CPU image compositor. The window may still use your graphics adapter. يستخدم PhotoCraft مركب الصور على CPU. قد تظل النافذة تستخدم محول الرسومات لديك. + Retry GPU requires a restart. Save your work first. تتطلب إعادة محاولة GPU إعادة التشغيل. احفظ عملك أولًا. + Retry GPU tries the graphics processor again now. تؤدي إعادة محاولة GPU إلى تجربة معالج الرسومات مرة أخرى الآن. + GPU acceleration resumed. تم استئناف تسريع GPU. + Keep Using CPU الاستمرار في استخدام CPU + Retry GPU إعادة محاولة GPU + Advanced متقدم + GPU Backend واجهة GPU الخلفية + Details التفاصيل + Rendering mode وضع التصيير + Freeze Lasso: drag to freeze an area, Alt-drag to thaw it (L) لاسو التجميد: اسحب لتجميد منطقة، واسحب مع Alt لإذابتها (L) + 3 x 3 3 × 3 + 4 x 4 4 × 4 + 5 x 5 5 × 5 + Camera Raw Filter ({layer}) مرشح Camera Raw ({layer}) + Camera Raw ({name}) Camera Raw ({name}) + Edit Type تحرير النص + Grid: الشبكة: + Highlight Clipping Warning (O) تحذير اقتطاع الإضاءات (O) + Lasso around an area, then drag the selection حدّد منطقة بأداة اللاسو ثم اسحب التحديد + Transform On Drop تحويل عند الإفلات + Scale or rotate the moved area, then press {key} حجّم المنطقة المنقولة أو دوّرها، ثم اضغط {key} + Now drag the selection onto another area الآن اسحب التحديد إلى منطقة أخرى + Patch: الرقعة: + Shadow Clipping Warning (U) تحذير اقتطاع الظلال (U) + Show Lab Color Readouts إظهار قراءات ألوان Lab + Show Red at 3 o'clock إظهار الأحمر عند الساعة 3 + Show Selected Region إظهار المنطقة المحددة + Show Skin Tone Indicator إظهار مؤشر لون البشرة + Show Vectorscope إظهار راسم المتجهات + Tone Histogram المدرج التكراري للدرجات + 75% 75% + 80% 80% + 85% 85% + 90% 90% + 95% 95% + 125% 125% + 150% 150% + 175% 175% + 250% 250% + 300% 300% + No patterns لا توجد نقوش + Enable {name} تمكين {name} + Hold Alt while drawing for straight segments اضغط مع الاستمرار على Alt أثناء الرسم للحصول على مقاطع مستقيمة + Drag or click polygon points · hold Alt during lasso for straight segments · {add} add · {sub} before drawing subtracts اسحب أو انقر نقاط المضلع · اضغط مع الاستمرار على Alt أثناء التحديد باللاسو للمقاطع المستقيمة · {add} للإضافة · {sub} قبل الرسم للطرح + Extend تمديد + Structure: البنية: + Content-Aware Move Tool أداة التحريك المدرك للمحتوى + TIFF Options خيارات TIFF + Targa Options خيارات Targa + JPEG Options خيارات JPEG + Image Options خيارات الصورة + Format Options خيارات التنسيق + Baseline ("Standard") أساسي ("قياسي") + Baseline Optimized أساسي محسّن + 24 bits/pixel 24 بت/بكسل + 32 bits/pixel 32 بت/بكسل + Including layers will increase file size. سيؤدي تضمين الطبقات إلى زيادة حجم الملف. + Discard Layers and Save a Copy تجاهل الطبقات وحفظ نسخة + Don't show again عدم الإظهار مرة أخرى + Save failed: {error} فشل الحفظ: {error} + Save cancelled تم إلغاء الحفظ + +# Layer Style dialog: style presets and per-effect defaults + Style {name} saved تم حفظ النمط {name} + Make Default تعيين كافتراضي + Reset to Default إعادة تعيين إلى الافتراضي + Couldn't place {name}: {error} تعذر وضع {name}: {error} + Full-resolution preview unavailable المعاينة بالدقة الكاملة غير متاحة + Magnetic Lasso Tool أداة اللاسو المغناطيسي + Frequency التردد + Use tablet pressure to change pen width استخدام ضغط الجهاز اللوحي لتغيير عرض القلم + +# About ▸ Contributors / Models (credits, craftrules standards/contributors.md) + About حول + Contributors المساهمون + Models النماذج + Sort فرز + Username اسم المستخدم + Display name الاسم المعروض + Real name الاسم الحقيقي + Reverse the order عكس الترتيب + Grab bag مزيج عشوائي + Table جدول + Name (A–Z) الاسم (أ–ي) + Merged PRs طلبات السحب المدمجة + Commits الإيداعات + Lines added الأسطر المضافة + Lines deleted الأسطر المحذوفة + Line delta صافي الأسطر + Binary assets added الأصول الثنائية المضافة + Binary assets removed الأصول الثنائية المحذوفة + First commit أول إيداع + First الأول + Last commit آخر إيداع + Last الأخير + Contributors: {contributors} · Commits: {commits} المساهمون: {contributors} · الإيداعات: {commits} + No contributor data was built into this copy. لم يتم تضمين بيانات المساهمين في هذه النسخة. + No model credits were built into this copy. لم يتم تضمين بيانات الإشادة بالنماذج في هذه النسخة. + Company الشركة + Version الإصدار + % of all commits % من كل الإيداعات + Lines +/− الأسطر +/− + @{login}: {prs} PRs, {commits} commits, +{added} / −{deleted} lines (Δ {delta}), +{binAdded} / −{binDeleted} binary assets, {first} – {last} @{login}: {prs} طلب سحب، {commits} إيداع، +{added} / −{deleted} سطر (Δ {delta})، +{binAdded} / −{binDeleted} أصل ثنائي، {first} – {last} + +# Swatches panel + Create new swatch إنشاء عينة لون جديدة + New Swatch… عينة لون جديدة… + New Swatch Group… مجموعة عينات ألوان جديدة… + Import Swatches… استيراد عينات الألوان… + Replace Swatches… استبدال عينات الألوان… + Export Swatches… تصدير عينات الألوان… + Export Swatches for Exchange… تصدير عينات الألوان للتبادل… + Reset Swatches إعادة تعيين عينات الألوان + Add to Swatches إضافة إلى عينات الألوان +# Layer Style > Blending Options (Advanced Blending) + Blend If: المزج إذا: + Channels: القنوات: + Knockout تفريغ + Apply At Canvas Bounds تطبيق عند حدود لوحة الرسم + +# Shared screen eyedropper and text Color Picker (#1128). + Color Picker (Text Color) منتقي الألوان (لون النص) + Color Picker ({name}) منتقي الألوان ({name}) + Color Picker (Fill Color) منتقي الألوان (لون التعبئة) + Fill color لون التعبئة + Color Picker (Stroke Color) منتقي الألوان (لون الحد) + Stroke color لون الحد + Pick screen color اختيار لون من الشاشة + Sample a pixel anywhere on the screen أخذ عينة من بكسل في أي مكان على الشاشة + Click to pick · Esc to cancel انقر للاختيار · Esc للإلغاء + Pick a screen pixel or press Esc to cancel اختر بكسلًا على الشاشة أو اضغط Esc للإلغاء + Scroll to zoom مرّر للتكبير والتصغير + Drag to pan · Scroll to zoom · Double-click to fit اسحب للتحريك · مرّر للتكبير والتصغير · انقر نقرًا مزدوجًا للملاءمة + Show/Hide All Panels إظهار/إخفاء كل اللوحات + Show/Hide Panels إظهار/إخفاء اللوحات + Could not open تعذر الفتح + {path}: the path is not valid Unicode; rename the file and open it again. {path}: المسار ليس Unicode صالحًا؛ أعد تسمية الملف وافتحه مرة أخرى. + +# Fill dialog, layer style contours and Image Size + Contents: المحتويات: + Custom Pattern: نقش مخصص: + Foreground Color لون المقدمة + Color… اللون… + 50% Gray رمادي 50% + {size} (was {old}) {size} (كان {old}) + Cone مخروط + Cone (Inverted) مخروط (معكوس) + Domed مقبب + Domed (Inverted) مقبب (معكوس) + Diagonal (Descending) قطري (تنازلي) + Contour Editor محرر المحيط + Anti-aliased مزيل التسنن + Corner زاوية + Gloss Contour محيط اللمعان + Contour المحيط + Cone - Inverted مخروط - معكوس + Cove - Deep تجويف - عميق + Cove - Shallow تجويف - ضحل + Gaussian غاوسي + Half Round نصف دائري + Ring حلقة + Ring - Double حلقة - مزدوجة + Rolling Slope - Descending منحدر متموج - تنازلي + Rounded Steps درجات مستديرة + Sawtooth 1 سن المنشار 1 + + Red Eye Tool أداة العين الحمراء + Red Eye العين الحمراء + Pupil Size حجم البؤبؤ + Darken Amount مقدار التغميق + Click a red pupil to neutralize it انقر على بؤبؤ أحمر لتحييده + open source مفتوح المصدر + …and {n} more …و{n} أخرى + + Eyedroppers: القطارات: + Set Black Point تعيين النقطة السوداء + Set Neutral Gray Point تعيين نقطة الرمادي المحايد + Set White Point تعيين النقطة البيضاء + Unavailable in this color mode غير متاح في وضع الألوان هذا + Selection Preview: معاينة التحديد: + Black Matte لون الحافة الأسود + White Matte لون الحافة الأبيض + +# Layer colour labels. +layerLabel No Color بلا لون + Seafoam رغوة البحر + Indigo نيلي + Fuchsia فوشيا + Violet بنفسجي + Large document: redrawing on the CPU مستند كبير: جارٍ إعادة الرسم على CPU + Redrawing جارٍ إعادة الرسم + This redraw took {seconds} s on the CPU. استغرقت إعادة الرسم هذه {seconds} ث على CPU. + Edits that change the whole document, such as a layer's blend mode, opacity or visibility, redraw all of it. التعديلات التي تغير المستند بأكمله، مثل وضع مزج الطبقة أو عتامتها أو رؤيتها، تعيد رسمه بالكامل. + The GPU compositor wasn't used: {reason} لم يُستخدم مُركِّب GPU: {reason} +cameraRaw Light الضوء +fontWeight Thin رفيع +fontWeight ExtraLight خفيف جدًا +fontWeight Light خفيف +fontWeight Regular عادي +fontWeight Medium متوسط +fontWeight SemiBold شبه غامق +fontWeight Bold غامق +fontWeight ExtraBold غامق جدًا +fontWeight Black أسود +fontWeight Italic مائل + +# Pattern Stamp tool + Pattern Stamp Tool أداة ختم النقش + Pattern Stamp ختم النقش + Impressionist انطباعي + Rotate View تدوير العرض + Rotate View Tool أداة تدوير العرض + Reset View إعادة تعيين العرض + Drag around the centre to rotate the view · Shift constrains to 15° اسحب حول المركز لتدوير العرض · Shift يقيّد الزاوية بخطوات 15° + +# Painting symmetry presets. + Dual Axis محور مزدوج + Diagonal قطري + Transform Symmetry تحويل التناظر + +# Eyedropper Sample Size and Sample (#1649). + Point Sample عينة نقطية + 3 by 3 Average متوسط 3 × 3 + 5 by 5 Average متوسط 5 × 5 + 11 by 11 Average متوسط 11 × 11 + 31 by 31 Average متوسط 31 × 31 + 51 by 51 Average متوسط 51 × 51 + 101 by 101 Average متوسط 101 × 101 + Sample Size: حجم العينة: + All Layers No Adjustments كل الطبقات بدون تعديلات + Current & Below No Adjustments الحالية وما تحتها دون تعديلات + Show Sampling Ring إظهار حلقة أخذ العينات + +# Color Picker warnings + Out of gamut for printing: click for the nearest printable colour خارج النطاق اللوني للطباعة: انقر لأقرب لون قابل للطباعة + Not a web colour: click for the nearest web colour ليس لون ويب: انقر لأقرب لون ويب + Color to Alpha… اللون إلى ألفا… + Transparency Threshold عتبة الشفافية + Opacity Threshold عتبة العتامة + PhotoCraft — Screen Color Picker PhotoCraft — منتقي ألوان الشاشة + + Rasterize svg groups deeper than تحويل مجموعات SVG إلى نقطية إذا كانت أعمق من + 0 turns this threshold off; SVG groups nested deeper than 100 levels are always rasterized. 0 يعطّل هذه العتبة؛ تُحوَّل مجموعات SVG المتداخلة بعمق أكبر من 100 مستوى إلى نقطية دائمًا. + Rule of Thirds قاعدة الأثلاث + Triangle مثلث + Golden Ratio النسبة الذهبية + Golden Spiral اللولب الذهبي + Auto Show Overlay إظهار التراكب تلقائيًا + Always Show Overlay إظهار التراكب دائمًا + Never Show Overlay عدم إظهار التراكب أبدًا + Cycle Overlay تبديل التراكب + Cycle Orientation تبديل الاتجاه + Set the overlay options for the Crop tool تعيين خيارات التراكب لأداة الاقتصاص + Alt-click went to the desktop, which moves windows with Alt-drag. Set its window-move key to Super, or latch Alt in Window › Modifier Keys. ذهب النقر مع Alt إلى سطح المكتب الذي ينقل النوافذ بالسحب مع Alt. اضبط مفتاح نقل النوافذ على Super، أو ثبّت Alt في نافذة › مفاتيح التعديل. + +# Shared Layer Style color picker + Color Picker (Layer Style Color) منتقي الألوان (لون نمط الطبقة) + Auto Hide Notifications إخفاء الإشعارات تلقائيًا + Notification Duration (seconds) مدة الإشعار (بالثواني) + Bundle Arrow-Key Nudges تجميع الإزاحات بمفاتيح الأسهم + Nudge Bundle Pause (ms) مهلة تجميع الإزاحات (مللي ثانية) + Appearance Mode وضع المظهر + Dark Theme سمة داكنة + Light Theme سمة فاتحة + Pro Medium Pro متوسط + Studio Light Studio فاتح + Next Appearance Mode وضع المظهر التالي + Sync with system المزامنة مع النظام + Active نشط + Color Picker (Solid Color) منتقي الألوان (لون مصمت) + Straighten the image by drawing a line on it تقويم الصورة برسم خط عليها + Set additional Crop options تعيين خيارات اقتصاص إضافية + Show Cropped Area إظهار المنطقة المقتصة + Enable Crop Shield تمكين درع الاقتصاص + Match Canvas مطابقة لوحة الرسم + Auto Adjust Opacity ضبط العتامة تلقائيًا + Crop Shield color لون درع الاقتصاص + Color Picker (Crop Shield Color) منتقي الألوان (لون درع الاقتصاص) + From Center من المركز + Link radii ربط أنصاف الأقطار + Star Ratio: نسبة النجمة: + Create Rectangle إنشاء مستطيل + Create Ellipse إنشاء شكل بيضاوي + Create Triangle إنشاء مثلث + Create Polygon إنشاء مضلع + Pressure curve منحنى الضغط + Click to add a point, right-click to remove انقر لإضافة نقطة، وانقر بالزر الأيمن للإزالة + Some brush presets could not be loaded تعذر تحميل بعض الإعدادات المسبقة للفرشاة + Retry saving presets إعادة محاولة حفظ الإعدادات المسبقة + Brush preset changes are not saved: {error} لم تُحفظ تغييرات إعدادات الفرشاة المسبقة: {error} + Keep this tab open to retain your brushes. أبقِ علامة التبويب هذه مفتوحة للاحتفاظ بفرشك. + Browser storage is unavailable; brushes are session-only. Keep this tab open to retain them. تخزين المتصفح غير متاح؛ الفرش للجلسة الحالية فقط. أبقِ علامة التبويب هذه مفتوحة للاحتفاظ بها. + Saving brush presets… Keep this tab open until saving finishes. جارٍ حفظ إعدادات الفرشاة المسبقة… أبقِ علامة التبويب هذه مفتوحة حتى ينتهي الحفظ. + Reflect انعكاس + Glow توهج + Negation نفي + XOR XOR + Color Burn (Paint.NET) حرق اللون (Paint.NET) + Color Dodge (Paint.NET) تفتيح اللون (Paint.NET) + Stroke Options خيارات الحد + Solid مصمت + Dashed متقطع + Dotted منقط + Alignment المحاذاة + Caps الأطراف + Butt / Flat مسطح / مقطوع + Corners الزوايا + Miter حادة + Round مستديرة + Bevel مشطوفة + Miter limit حد الزاوية الحادة + Dashed line خط متقطع + Dash شرطة + Gap فجوة + Dash / gap lengths × stroke width أطوال الشرطة / الفجوة × عرض الحد + Add pair إضافة زوج + Remove pair إزالة زوج + Dash offset إزاحة الشرطة + Open paths use centered strokes المسارات المفتوحة تستخدم حدودًا مركزية + Use finite lengths and a positive pattern total استخدم أطوالًا منتهية ومجموعًا موجبًا للشرطات والفجوات + No subject found — try Object Selection or the Lasso لم يُعثر على موضوع — جرّب تحديد الكائنات أو اللاسو + Quick Selection found nothing there لم يجد التحديد السريع شيئًا هناك + Object Selection found nothing there — try a tighter rectangle لم يجد تحديد الكائنات شيئًا هناك — جرّب مستطيلًا أضيق + No subject found — try a rectangle around the object لم يُعثر على موضوع — جرّب مستطيلًا حول الكائن + Click the first point or press {key} to close · {del} removes a point · Esc cancels انقر على النقطة الأولى أو اضغط {key} للإغلاق · {del} يزيل نقطة · Esc للإلغاء + Click, then move along an edge · click to fasten a point · {alt}-click for a straight segment · double-click to close انقر ثم تحرك على طول حافة · انقر لتثبيت نقطة · {alt}+نقر لمقطع مستقيم · نقر مزدوج للإغلاق + Follows only edges this close to the pointer ([ and ] change it) يتتبع الحواف القريبة من المؤشر بهذا القدر فقط ([ و ] لتغييره) + Higher values follow only edges that contrast sharply with their surroundings القيم الأعلى تتتبع فقط الحواف التي تتباين بشدة مع محيطها + How often fastening points are placed by themselves عدد مرات وضع نقاط التثبيت تلقائيًا + Appearance Settings… إعدادات المظهر… + Add to favorites إضافة إلى المفضلة + Remove from favorites إزالة من المفضلة +# File Info ▸ Camera Data (read-only EXIF fields; "Make" is the camera maker, not the verb). + Camera Data بيانات الكاميرا +cameraData Make الشركة المصنعة +cameraData Model الطراز +cameraData Date Taken تاريخ الالتقاط +cameraData Exposure التعريض +cameraData F-Stop فتحة العدسة +cameraData ISO Speed سرعة ISO +cameraData Focal Length البعد البؤري +cameraData Focal Length (35 mm) البعد البؤري (35 مم) +cameraData Lens العدسة +# Shared panel docking + Activate Panel تنشيط اللوحة + Change Panel Group تغيير مجموعة اللوحات + Change Panel Layout تغيير تخطيط اللوحات + Close Panel إغلاق اللوحة + Dock Panel إرساء اللوحة + Float Panel تعويم اللوحة + Move Panel تحريك اللوحة + Group with تجميع مع + Panel menu قائمة اللوحة + Resize panel window تغيير حجم نافذة اللوحة + Resize panels تغيير حجم اللوحات + Use Classic Mode استخدام الوضع الكلاسيكي + Auto Center Preview توسيط المعاينة تلقائيًا + Next Document المستند التالي + Previous Document المستند السابق + W x H x Resolution العرض × الارتفاع × الدقة + Front Image الصورة الأمامية + Frame Tool أداة الإطار + Create a new rectangular frame إنشاء إطار مستطيل جديد + Create a new elliptical frame إنشاء إطار بيضاوي جديد + Include in playback تضمين في التشغيل + Perspective Crop Tool أداة اقتصاص المنظور + Show Grid إظهار الشبكة + Drag a box or click four corners · drag the corners onto the edges of a skewed shape · {commit} commits · Esc cancels اسحب مربعًا أو انقر على أربع زوايا · اسحب الزوايا إلى حواف شكل مائل · {commit} للتأكيد · Esc للإلغاء + Artboard Tool أداة لوح التصميم + Make Portrait جعله عموديًا + Make Landscape جعله أفقيًا + Add New Artboard إضافة لوح تصميم جديد + Freeform Pen Tool أداة القلم الحر + Curvature Pen Tool أداة قلم الانحناء + Curve Fit: ملاءمة المنحنى: + Drag: draw freehand · {alt}-click: straight segment · Release on the start point: close سحب: رسم حر · {alt}+نقر: مقطع مستقيم · الإفلات على نقطة البداية: إغلاق + Click: smooth point · Double-click: corner · Drag a point: move · Click first point: close · {key} finish نقر: نقطة ناعمة · نقر مزدوج: زاوية · سحب نقطة: تحريك · نقر النقطة الأولى: إغلاق · {key} إنهاء + New Crop Preset… إعداد اقتصاص مسبق جديد… + Delete Crop Preset… حذف إعداد الاقتصاص المسبق… + Select the crop presets to delete: حدد إعدادات الاقتصاص المسبقة المراد حذفها: + Select the crop presets to delete حدد إعدادات الاقتصاص المسبقة المراد حذفها + Enter a name for the crop preset أدخل اسمًا لإعداد الاقتصاص المسبق + There is no crop size or ratio to save لا يوجد حجم اقتصاص أو نسبة للحفظ + Scale: التحجيم: + Snap to Origin المحاذاة إلى نقطة الأصل + Search settings… البحث في الإعدادات… + No matching settings لا توجد إعدادات مطابقة +# Edit › Content-Aware Fill workspace + Sampling Brush Tool أداة فرشاة أخذ العينات + Sampling Area Overlay تراكب منطقة أخذ العينات + Show Sampling Area إظهار منطقة أخذ العينات + Indicates يشير إلى + Sampling Area منطقة أخذ العينات + Excluded Area المنطقة المستثناة + Sampling Area Options خيارات منطقة أخذ العينات + Rectangular مستطيل + Fill Settings إعدادات التعبئة + Rotation Adaptation تكيّف الدوران + Very High عالٍ جدًا + Full كامل + Mirror مرآة + Output Settings إعدادات الإخراج + Output To الإخراج إلى + Duplicate Layer تكرار الطبقة + Contract تقليص + + Animation Options خيارات الرسوم المتحركة + Entire Document المستند بالكامل + Filter Options خيارات المرشح + Layer Bounds حدود الطبقة + Layers Panel Options خيارات لوحة الطبقات + Lock Layers قفل الطبقات + New Artboard… لوح تصميم جديد… + New Group… مجموعة جديدة… + New Layer… طبقة جديدة… + Panel Options… خيارات اللوحة… + Prevent Auto-Nesting منع التداخل التلقائي + Show Layers إظهار الطبقات + Thumbnail Contents محتويات الصورة المصغرة + Thumbnail Size حجم الصورة المصغرة + Use Default Masks on Fill Layers استخدام الأقنعة الافتراضية على طبقات التعبئة + Expand New Effects توسيع التأثيرات الجديدة + Add “copy” to Copied Layers and Groups إضافة “copy” إلى الطبقات والمجموعات المنسوخة + Preview on canvas when reordering layers معاينة على لوحة الرسم عند إعادة ترتيب الطبقات + Show layer mask badges إظهار شارات قناع الطبقة + +# Smart Filter editors + Blending Options ({filter}) خيارات المزج ({filter}) + Hide the layer's effects and Smart Filters ({key}-click: all layers) إخفاء تأثيرات الطبقة والمرشحات الذكية (انقر مع {key}: كل الطبقات) + Show the layer's effects and Smart Filters ({key}-click: all layers) إظهار تأثيرات الطبقة والمرشحات الذكية (انقر مع {key}: كل الطبقات) + Wait for the current job to finish. انتظر حتى تنتهي المهمة الحالية. + The document or Smart Filter changed. Reopen its dialog. تغير المستند أو المرشح الذكي. أعد فتح مربع الحوار الخاص به. + Opacity must be between 0% and 100%. يجب أن تكون العتامة بين 0% و100%. + Dissolve is approximated: it blends without Photoshop's dither. التحلل تقريبي: يمزج دون ترقيش Photoshop. + Loading fonts… جارٍ تحميل الخطوط… + Response curve منحنى الاستجابة + Tool أداة + Simulate Pressure محاكاة الضغط + Stroke Path… حدّ المسار… + Background Eraser ممحاة الخلفية + Healing Brush فرشاة الإصلاح + Spot Healing Brush فرشاة إصلاح البقع + Smudge تلطيخ + Sponge إسفنجة + Amount: المقدار: + Protect: حماية: + Protect skin tones حماية درجات لون البشرة + Edit points to modify the curve حرر النقاط لتعديل المنحنى + Draw to modify the curve ارسم لتعديل المنحنى +curves Smooth تنعيم + Smooth the curve values تنعيم قيم المنحنى + Drag to draw the curve · {key}-click draws a straight line اسحب لرسم المنحنى · {key}+نقر يرسم خطًا مستقيمًا + Edit Plane تحرير المستوى + Create Plane إنشاء مستوى + Grid Size: حجم الشبكة: + Vanishing Point: click four corners to create a plane نقطة التلاشي: انقر على أربع زوايا لإنشاء مستوى + Vanishing Point is not active نقطة التلاشي غير نشطة + Apply Vanishing Point ({key}) تطبيق نقطة التلاشي ({key}) + Fix the red plane first: its corners must form a convex quad أصلح المستوى الأحمر أولًا: يجب أن تشكل زواياه رباعيًا محدبًا + Alt-click a plane to set the clone source انقر مع Alt على مستوى لتعيين مصدر الاستنساخ + Too many clone strokes: apply Vanishing Point first ضربات استنساخ كثيرة جدًا: طبّق نقطة التلاشي أولًا +# Select and Mask view modes (#1754) + Onion Skin قشرة البصل + Marching Ants النمل الزاحف + On Black على أسود + On White على أبيض + On Layers على الطبقات + Show Edge إظهار الحافة + Show Original إظهار الأصل + F cycles the views; hold X to see the image F يبدّل بين العروض؛ اضغط مطولًا على X لرؤية الصورة +# Select and Mask Refine Edge Brush (#2972) + Refine Edge Brush (R) فرشاة تحسين الحافة (R) + Expand Detection Area توسيع منطقة الكشف + Restore Original Edge استعادة الحافة الأصلية + Paint over hair or fur on the image; Alt paints the other mode ارسم فوق الشعر أو الفرو في الصورة؛ Alt يرسم بالوضع الآخر + Clear Brush Strokes مسح ضربات الفرشاة + Show rulers إظهار المساطر + Presentation عرض تقديمي + +# Color Sampler (added with the i18n coverage repair) + Click to place · Alt-click or drag off-canvas to remove انقر للوضع · انقر مع Alt أو اسحب خارج لوحة الرسم للإزالة + No document open لا يوجد مستند مفتوح + {n} of {max} sample points {n} من {max} نقطة عينة + +# History panel menu (#2966) + Step Forward خطوة للأمام + Step Backward خطوة للخلف + Clear History مسح السجل + New Snapshot… لقطة جديدة… + History Options… خيارات السجل… +# History panel › History Options… (#2966) + Allow Non-Linear History السماح بالسجل غير الخطي + Make Layer Visibility Changes Undoable جعل تغييرات رؤية الطبقة قابلة للتراجع +# Print dialog (#2697) + Emulsion Down المستحلب لأسفل + Functions الوظائف + Print Resolution: دقة الطباعة: + Use Previous Layer to Create Clipping Mask استخدام الطبقة السابقة لإنشاء قناع اقتطاع + Fill with {mode}-neutral color (white) تعبئة بلون محايد لوضع {mode} (أبيض) + Fill with {mode}-neutral color (black) تعبئة بلون محايد لوضع {mode} (أسود) + Fill with {mode}-neutral color (50% gray) تعبئة بلون محايد لوضع {mode} (رمادي 50%) + (No neutral color exists for {mode} mode.) (لا يوجد لون محايد لوضع {mode}.) + Apply mask to layer before removing? هل تريد تطبيق القناع على الطبقة قبل إزالته؟ + The layer or its mask changed. Drag the mask onto the Trash again. تغيرت الطبقة أو قناعها. اسحب القناع إلى سلة المهملات مرة أخرى. + Delete the vector mask? هل تريد حذف القناع المتجه؟ +# Counted status messages and labels (#3454; adapted from PR #3821) +@plural Exported {n} swatch to {file}|Exported {n} swatches to {file} تم تصدير {n} عينة لون إلى {file}|تم تصدير {n} عينة لون إلى {file}|تم تصدير {n} عينتي لون إلى {file}|تم تصدير {n} عينات لون إلى {file}|تم تصدير {n} عينة لون إلى {file}|تم تصدير {n} عينة لون إلى {file} +@plural Imported {n} brush from {group}|Imported {n} brushes from {group} تم استيراد {n} فرشاة من {group}|تم استيراد {n} فرشاة من {group}|تم استيراد {n} فرشاتين من {group}|تم استيراد {n} فرش من {group}|تم استيراد {n} فرشاة من {group}|تم استيراد {n} فرشاة من {group} +@plural Imported {n} swatch from {file}|Imported {n} swatches from {file} تم استيراد {n} عينة لون من {file}|تم استيراد {n} عينة لون من {file}|تم استيراد {n} عينتي لون من {file}|تم استيراد {n} عينات لون من {file}|تم استيراد {n} عينة لون من {file}|تم استيراد {n} عينة لون من {file} +@plural Played {n} step|Played {n} steps تم تشغيل {n} خطوة|تم تشغيل {n} خطوة|تم تشغيل {n} خطوتين|تم تشغيل {n} خطوات|تم تشغيل {n} خطوة|تم تشغيل {n} خطوة +@plural Updated {n} linked smart object changed on disk|Updated {n} linked smart objects changed on disk تم تحديث {n} كائن ذكي مرتبط تم تغييره على القرص|تم تحديث {n} كائن ذكي مرتبط تم تغييره على القرص|تم تحديث {n} كائنين ذكيين مرتبطين تم تغييرهما على القرص|تم تحديث {n} كائنات ذكية مرتبطة تم تغييرها على القرص|تم تحديث {n} كائنًا ذكيًا مرتبطًا تم تغييره على القرص|تم تحديث {n} كائن ذكي مرتبط تم تغييره على القرص +@plural Saved for Web: {n} file|Saved for Web: {n} files تم الحفظ للويب: {n} ملف|تم الحفظ للويب: {n} ملف|تم الحفظ للويب: {n} ملفان|تم الحفظ للويب: {n} ملفات|تم الحفظ للويب: {n} ملفًا|تم الحفظ للويب: {n} ملف +@plural {n} layer recorded by this comp was deleted. Update the comp, or clear the warning.|{n} layers recorded by this comp were deleted. Update the comp, or clear the warning. تم حذف {n} طبقة مسجلة في هذه التركيبة. حدّث التركيبة أو امسح التحذير.|تم حذف {n} طبقة مسجلة في هذه التركيبة. حدّث التركيبة أو امسح التحذير.|تم حذف {n} طبقتين مسجلتين في هذه التركيبة. حدّث التركيبة أو امسح التحذير.|تم حذف {n} طبقات مسجلة في هذه التركيبة. حدّث التركيبة أو امسح التحذير.|تم حذف {n} طبقة مسجلة في هذه التركيبة. حدّث التركيبة أو امسح التحذير.|تم حذف {n} طبقة مسجلة في هذه التركيبة. حدّث التركيبة أو امسح التحذير. +@plural {n} plane|{n} planes {n} مستوى|{n} مستوى|{n} مستويان|{n} مستويات|{n} مستوى|{n} مستوى +@plural {n} preset|{n} presets {n} إعداد مسبق|{n} إعداد مسبق|{n} إعدادان مسبقان|{n} إعدادات مسبقة|{n} إعدادًا مسبقًا|{n} إعداد مسبق +@plural {n} sample point removed|{n} sample points removed تمت إزالة {n} نقطة عينة|تمت إزالة {n} نقطة عينة|تمت إزالة {n} نقطتي عينة|تمت إزالة {n} نقاط عينة|تمت إزالة {n} نقطة عينة|تمت إزالة {n} نقطة عينة +@plural {n} slice|{n} slices {n} شريحة|{n} شريحة|{n} شريحتان|{n} شرائح|{n} شريحة|{n} شريحة +@plural {n} step|{n} steps {n} خطوة|{n} خطوة|{n} خطوتان|{n} خطوات|{n} خطوة|{n} خطوة +@plural {warning} (+{n} more brush preset warning)|{warning} (+{n} more brush preset warnings) {warning} (+{n} تحذير إضافي لإعدادات الفرشاة المسبقة)|{warning} (+{n} تحذير إضافي لإعدادات الفرشاة المسبقة)|{warning} (+{n} تحذيران إضافيان لإعدادات الفرشاة المسبقة)|{warning} (+{n} تحذيرات إضافية لإعدادات الفرشاة المسبقة)|{warning} (+{n} تحذيرًا إضافيًا لإعدادات الفرشاة المسبقة)|{warning} (+{n} تحذير إضافي لإعدادات الفرشاة المسبقة) +@plural {what} with {n} warning|{what} with {n} warnings {what} مع {n} تحذير|{what} مع {n} تحذير|{what} مع {n} تحذيرين|{what} مع {n} تحذيرات|{what} مع {n} تحذيرًا|{what} مع {n} تحذير +# View › Guides › New Guide… › Color + Light Blue أزرق فاتح + Light Red أحمر فاتح + Medium Blue أزرق متوسط + Light Gray رمادي فاتح + Stop إيقاف +# Status messages, system info and tool names + Join the ArtCraft Discord ({url}) انضم إلى مجتمع ArtCraft على Discord ({url}) + Nothing to paste: the clipboard holds no image لا يوجد شيء للصقه: لا تحتوي الحافظة على أي صورة + Graphics adapter: {adapter} محول الرسومات: {adapter} + Backend: {backend} ({type}) الواجهة الخلفية: {backend} ({type}) + Driver: {driver} برنامج التشغيل: {driver} + GPU backend preference: {backend} تفضيل واجهة GPU الخلفية: {backend} + Selected at launch: {backend} المحددة عند التشغيل: {backend} + Image compositor: {processor} مركب الصور: {processor} + Window renderer: {renderer} مصيّر النافذة: {renderer} + Graphics adapter محول الرسومات + Platform: {os} {arch} المنصة: {os} {arch} + Monitor profile: {profile} ملف تعريف الشاشة: {profile} + Opened {url} تم فتح {url} + {index} of {total} {index} من {total} + Export As: {name} تصدير باسم: {name} + Color Sampler Tool أداة أخذ عينات الألوان + Vertical Type Tool أداة النص العمودي + Patch Tool أداة الرقعة + Grid view عرض الشبكة + List view عرض القائمة + Proof Setup… إعداد البروفة… + 32-bit Preview Options خيارات معاينة 32 بت +# Shortcut editor commands without a menu item + Toggle Layer Mask Overlay تبديل تراكب قناع الطبقة + Increase Type Size زيادة حجم النص + Decrease Type Size تقليل حجم النص + Increase Type Size by 10 زيادة حجم النص بمقدار 10 + Decrease Type Size by 10 تقليل حجم النص بمقدار 10 + Make Selection from Path إنشاء تحديد من المسار + Target Composite Channel استهداف القناة المركبة + Target Channel 3 استهداف القناة 3 + Target Channel 4 استهداف القناة 4 + Target Channel 5 استهداف القناة 5 + Target Channel 6 استهداف القناة 6 + Target Channel 7 استهداف القناة 7 + Target Channel 8 استهداف القناة 8 + Target Channel 9 استهداف القناة 9 + Switch Foreground and Background Colors تبديل لوني المقدمة والخلفية + Default Foreground and Background Colors لونا المقدمة والخلفية الافتراضيان + Fill with Foreground Color تعبئة بلون المقدمة + Fill with Background Color تعبئة بلون الخلفية + Fill with Foreground Color, Preserve Transparency تعبئة بلون المقدمة مع الحفاظ على الشفافية + Fill with Background Color, Preserve Transparency تعبئة بلون الخلفية مع الحفاظ على الشفافية + Decrease Brush Size تقليل حجم الفرشاة + Increase Brush Size زيادة حجم الفرشاة + Decrease Brush Hardness تقليل صلابة الفرشاة + Increase Brush Hardness زيادة صلابة الفرشاة + Previous Brush الفرشاة السابقة + Next Brush الفرشاة التالية + First Brush الفرشاة الأولى + Last Brush الفرشاة الأخيرة + Preview size حجم المعاينة + Temporary مؤقت + Space Space + Hand Tool (hold) أداة اليد (اضغط مطولًا) + Zoom In (hold, drag to scrub) تكبير (اضغط مطولًا، واسحب للتكبير السريع) + Zoom Out (hold) تصغير (اضغط مطولًا) + Erase with Brush or Pencil (hold) المحو بالفرشاة أو قلم الرصاص (اضغط مطولًا) +# Document Info and color profiles + Author Title منصب المؤلف + Copyright Status حالة حقوق النشر + Copyright Info URL رابط معلومات حقوق النشر + Copyright Notice إشعار حقوق النشر + Document Title عنوان المستند + Unknown غير معروف + Copyrighted محمي بحقوق النشر + Public Domain ملكية عامة + Copyright Url رابط حقوق النشر + Keywords الكلمات المفتاحية + Title العنوان + Profile ملف التعريف + Working مساحة العمل + Working-cmyk مساحة عمل CMYK + Coated-cmyk CMYK للورق المصقول + Linear-srgb sRGB خطي + Gray-gamma-2.2 رمادي غاما 2.2 + Adobe-rgb-compat متوافق مع Adobe RGB + Prophoto-compat متوافق مع ProPhoto + Display-p3 Display P3 + Intent القصد + Bpc تعويض النقطة السوداء + Simulate Paper محاكاة الورق +# Color Lookup, Shadows/Highlights, channels and Calculations + Warming Filter (85) مرشح تدفئة (85) + Lut LUT + Cool بارد + Teal Orange أزرق مخضر وبرتقالي + Faded Film فيلم باهت + Day For Night النهار كأنه ليل + Mono Contrast تباين أحادي + Cross Process معالجة متقاطعة + Shadow Amount مقدار الظلال + Shadow Tone نغمة الظلال + Shadow Radius نصف قطر الظلال + Highlight Amount مقدار الإضاءات + Highlight Tone نغمة الإضاءات + Highlight Radius نصف قطر الإضاءات + Midtone الدرجة المتوسطة + Black Clip اقتطاع الأسود + White Clip اقتطاع الأبيض + Strength القوة + Shadow الظل + Highlight الإضاءات + Intensity الشدة + Neutralize تحييد + Use Selection In Source استخدام التحديد في المصدر + Use Selection In Target استخدام التحديد في الهدف + Cw مع عقارب الساعة + Ccw عكس عقارب الساعة + Nearest أقرب جار + Linear Dodge تفتيح خطي + Mask Channel قناة القناع + R G B RGB + Source Channel القناة المصدر + Source Invert عكس المصدر + Result النتيجة + Source1 Channel القناة المصدر 1 + Source1 Invert عكس المصدر 1 + Source2 Channel القناة المصدر 2 + Source2 Invert عكس المصدر 2 + Channel1 قناة 1 + Channel2 قناة 2 + Channel3 قناة 3 + Channel4 قناة 4 +# Measurement log + Label تسمية + Date and Time التاريخ والوقت + Scale Units وحدات المقياس + Scale Factor معامل المقياس + Area المساحة + Perimeter المحيط + Circularity الدائرية + Gray Value (Minimum) قيمة الرمادي (الحد الأدنى) + Gray Value (Maximum) قيمة الرمادي (الحد الأقصى) + Gray Value (Mean) قيمة الرمادي (المتوسط) + Gray Value (Median) قيمة الرمادي (الوسيط) + Integrated Density الكثافة المتكاملة + Length الطول + W: العرض: + A: الزاوية: +# Lens Correction, Blur Gallery and distortion filters + Pattern Fill… تعبئة بنقش… + Generic عام + Correct Distortion تصحيح التشويه + Correct Vignette تصحيح تظليل الحواف + Correct C A تصحيح الزيغ اللوني + Auto Scale تحجيم تلقائي + Distortion التشويه + Red Cyan أحمر/سماوي + Blue Yellow أزرق/أصفر + Vignette Amount مقدار تظليل الحواف + Vignette Midpoint نقطة منتصف تظليل الحواف + Edge Extension تمديد الحافة + Hexagon سداسي + Pentagon خماسي + Heptagon سباعي + Octagon ثماني + Blade Curvature انحناء الشفرات + Depth Map خريطة العمق + Focal Distance المسافة البؤرية + Distribution التوزيع + Uniform منتظم + Monochromatic أحادي اللون + Seed البذرة + Spin دوران + Draft مسودة + Good جيد + Best الأفضل + Center X المركز X + Center Y المركز Y + Circle دائرة + Star نجمة + Cross صليب + High عالٍ + Low منخفض + Edge Only الحافة فقط + Overlay Edge تراكب الحافة + Focus التركيز + Transition الانتقال + Speed السرعة + Taper التناقص التدريجي + End X النهاية X + End Y النهاية Y + Blur Angle زاوية التمويه + Rectangular To Polar من مستطيل إلى قطبي + Polar To Rectangular من قطبي إلى مستطيل + Undefined Areas المناطق غير المعرّفة + Wrap التفاف + Repeat تكرار + Horizontal Only أفقي فقط + Vertical Only عمودي فقط + Generators المولدات + Wavelength Min أدنى طول موجي + Wavelength Max أقصى طول موجي + Amplitude Min أدنى سعة + Amplitude Max أقصى سعة + Sine جيبي + Ridges الحواف البارزة + Pond Ripples تموجات البركة + Out From Center من المركز إلى الخارج + Around Center حول المركز + Reduce Color Noise تقليل تشويش الألوان + Sharpen Details زيادة حدة التفاصيل + Remove Jpeg Artifact إزالة تشوهات JPEG + Max Radius أقصى نصف قطر + Cell Size حجم الخلية + Fine Dots نقاط دقيقة + Medium Dots نقاط متوسطة + Grainy Dots نقاط حبيبية + Coarse Dots نقاط خشنة + Short Lines خطوط قصيرة + Medium Lines خطوط متوسطة + Long Lines خطوط طويلة + Short Strokes ضربات قصيرة + Medium Strokes ضربات متوسطة + Long Strokes ضربات طويلة +# Render filters: Flame, Picture Frame, Tree + Flame Type نوع اللهب + One Flame Along Path لهب واحد على طول المسار + Multiple Flames Along Path ألسنة لهب متعددة على طول المسار + Multiple Flames Path Directions ألسنة لهب متعددة وفق اتجاهات المسار + Multiple Flames Various Length ألسنة لهب متعددة بأطوال مختلفة + Candle Light ضوء شمعة + Multiple Flames One Direction ألسنة لهب متعددة في اتجاه واحد + Randomize Length طول عشوائي + Interval الفاصل + Adjust Interval For Loops ضبط الفاصل للحلقات + Use Custom Color استخدام لون مخصص + Jag تسنن + Flame Lines خطوط اللهب + Flame Bottom Alignment محاذاة أسفل اللهب + Flame Style نمط اللهب + Violent عنيف + Flat مسطح + Flame Shape شكل اللهب + To Center إلى المركز + Pointed مدبب + Randomize Shapes أشكال عشوائية + Fine دقيق + Frame إطار + Vine With Flowers كرمة بالزهور + Vine With Leaves كرمة بالأوراق + Ivy لبلاب + Roses ورود + Daisies أقحوان + Berries توت + Bamboo خيزران + Waves أمواج + Zigzag متعرج + Rope حبل + Scallops حواف صدفية + Double Line خط مزدوج + Snowflakes ندف الثلج + Stars نجوم + Hearts قلوب + Arrangement الترتيب + Thickness السماكة + Vine Color لون الكرمة + Flower Color لون الزهرة + Leaf Color لون الورقة + Base Tree Type نوع الشجرة الأساسي + Light Direction اتجاه الضوء + Leaves Amount كمية الأوراق + Leaves Size حجم الأوراق + Branches Height ارتفاع الأغصان + Branches Thickness سماكة الأغصان + Default Leaves الأوراق الافتراضية + Leaves Color لون الأوراق + Custom Branch Color لون أغصان مخصص + Branches Color لون الأغصان + Flat Shading تظليل مسطح +# Lens, Lighting Effects, depth and mosaic filters + Lens العدسة + Prime35 عدسة ثابتة 35 + Prime105 عدسة ثابتة 105 + Movie Prime عدسة سينمائية ثابتة + Light Type نوع الضوء + Point نقطة + Infinite لانهائي + Light X الضوء X + Light Y الضوء Y + Light Z الضوء Z + Target X الهدف X + Target Y الهدف Y + Elevation الارتفاع + Gloss اللمعان + Metallic معدني + Ambience الأجواء + White Is High الأبيض يمثل الارتفاع + Ambient الضوء المحيط + Warmth الدفء + Softness النعومة + Reduce Noise تقليل التشويش + Darken Only تغميق فقط + Lighten Only تفتيح فقط + Anisotropic متباين الخواص + Blocks كتل + Pyramids أهرامات + Depth Mode وضع العمق + Random عشوائي + Level Based مبني على المستوى + Solid Front Faces أوجه أمامية مصمتة + Mask Incomplete Blocks إخفاء الكتل غير المكتملة بقناع + Stylization الأسلبة + Cleanliness النظافة + Bristle Detail تفاصيل الشعيرات + Lighting الإضاءة + Shine اللمعان + Max Offset أقصى إزاحة + Unaltered دون تغيير + Lower سفلي + Upper علوي + Blast عصف + Stagger ترنّح + From Right من اليمين + From Left من اليسار + Eliminate إزالة + Odd Fields حقول فردية + Even Fields حقول زوجية + Create By إنشاء بواسطة + Duplication تكرار + Kernel النواة + Input Mode وضع الإدخال + Rgb RGB + Hsb HSB + Hsl HSL + Row Order ترتيب الصفوف + Preserve الاحتفاظ + Squareness تربيع +# Find and Replace, image size, Warp and Layer Style blending options + Any أي + Cmyk CMYK + To إلى + Dont Enlarge عدم التكبير + Find بحث + Replace استبدال + Change Find تغيير وبحث + Case Sensitive حساس لحالة الأحرف + Whole Word كلمة كاملة + Forward للأمام + Based On بناءً على + General Blending مزج عام + Advanced Blending مزج متقدم + Blend Interior Effects as Group مزج التأثيرات الداخلية كمجموعة + Blend Clipped Layers as Group مزج الطبقات المقصوصة كمجموعة + Transparency Shapes Layer الشفافية تشكّل الطبقة + Layer Mask Hides Effects قناع الطبقة يخفي التأثيرات + Vector Mask Hides Effects القناع المتجه يخفي التأثيرات + This Layer: هذه الطبقة: + Underlying Layer: الطبقة السفلية: + Up لأعلى + Checkerboard رقعة الشطرنج + Arc Lower قوس سفلي + Arc Upper قوس علوي + Bend انحناء + Horizontal Distortion تشويه أفقي + Vertical Distortion تشويه عمودي + Stretch تمديد + Map Document مستند الخريطة + Map Path مسار الخريطة + Fuzziness التضبيب + Object Finder مكتشف الكائنات + No object found there — drag a rectangle around it لم يُعثر على كائن هناك — اسحب مستطيلًا حوله + The active layer has no pixels here — turn on Sample All Layers or select a layer with pixels لا تحتوي الطبقة النشطة على بكسلات هنا — فعّل أخذ العينات من كل الطبقات أو حدد طبقة تحتوي على بكسلات + Remove after each stroke الإزالة بعد كل ضربة + Apply the removal ({key}) تطبيق الإزالة ({key}) + Strokes to remove: {n} (Enter applies, Esc cancels) الضربات المراد إزالتها: {n} (Enter للتطبيق، Esc للإلغاء) + Load Contours… تحميل المحيطات… + Replace Contours… استبدال المحيطات… + Save Contours… حفظ المحيطات… + Delete Contour حذف المحيط + Loaded contours from {file} تم تحميل المحيطات من {file} + Saved contours to {file} تم حفظ المحيطات في {file} + Show home recent files إظهار الملفات الأخيرة في الشاشة الرئيسية + Clear Brush Controls مسح عناصر تحكم الفرشاة + Reset All Locked Settings إعادة تعيين كل الإعدادات المقفلة + Copy Texture to Other Tools نسخ النسيج إلى الأدوات الأخرى + +# Actions panel: Load/Save Actions (.atn) and kept Photoshop steps + Load Actions… تحميل الإجراءات… + Save Actions… حفظ الإجراءات… + New Action… إجراء جديد… + Start Recording بدء التسجيل + Stop Recording إيقاف التسجيل + {name} (Photoshop) {name} (Photoshop) + {message} ({note}) {message} ({note}) +@plural Loaded {n} action from {file}|Loaded {n} actions from {file} تم تحميل {n} إجراء من {file}|تم تحميل {n} إجراء من {file}|تم تحميل {n} إجراءين من {file}|تم تحميل {n} إجراءات من {file}|تم تحميل {n} إجراءً من {file}|تم تحميل {n} إجراء من {file} +@plural {n} step has no PhotoCraft equivalent yet|{n} steps have no PhotoCraft equivalent yet {n} خطوة ليس لها مكافئ في PhotoCraft بعد|{n} خطوة ليس لها مكافئ في PhotoCraft بعد|{n} خطوتان ليس لهما مكافئ في PhotoCraft بعد|{n} خطوات ليس لها مكافئ في PhotoCraft بعد|{n} خطوةً ليس لها مكافئ في PhotoCraft بعد|{n} خطوة ليس لها مكافئ في PhotoCraft بعد +@plural Saved {n} action to {file}|Saved {n} actions to {file} تم حفظ {n} إجراء في {file}|تم حفظ {n} إجراء في {file}|تم حفظ {n} إجراءين في {file}|تم حفظ {n} إجراءات في {file}|تم حفظ {n} إجراءً في {file}|تم حفظ {n} إجراء في {file} +@plural {n} step with no Photoshop equivalent left out|{n} steps with no Photoshop equivalent left out تم استبعاد {n} خطوة ليس لها مكافئ في Photoshop|تم استبعاد {n} خطوة ليس لها مكافئ في Photoshop|تم استبعاد {n} خطوتين ليس لهما مكافئ في Photoshop|تم استبعاد {n} خطوات ليس لها مكافئ في Photoshop|تم استبعاد {n} خطوةً ليس لها مكافئ في Photoshop|تم استبعاد {n} خطوة ليس لها مكافئ في Photoshop + + File Naming تسمية الملفات + Starting serial الرقم التسلسلي الأولي +# Actions panel: set folders, dialog toggle, Insert Stop + Insert Stop… إدراج نقطة توقف… + Save Set… حفظ المجموعة… + Message: الرسالة: + Allow Continue السماح بالمتابعة + Show dialog during playback إظهار مربع الحوار أثناء التشغيل + Select an action first حدد إجراءً أولًا + Action playback stopped توقف تشغيل الإجراء + Step {step} is waiting for its dialog الخطوة {step} بانتظار مربع الحوار الخاص بها +@plural {n} action|{n} actions {n} إجراء|{n} إجراء|{n} إجراءان|{n} إجراءات|{n} إجراءً|{n} إجراء + Background (Default) الخلفية (الافتراضية) + Content-Aware Fill تعبئة مدركة للمحتوى +# Batch / Image Processor + Include All Subfolders تضمين كل المجلدات الفرعية + Auto Add/Delete إضافة/حذف تلقائي + +# Native Windows printing qualification + Don't also tick Mirror Image in Print Settings…: the two flips cancel out. لا تُحدد أيضًا صورة معكوسة في إعدادات الطباعة…: فالانعكاسان يلغي كل منهما الآخر. + Print Settings… إعدادات الطباعة… + Remember to turn off the printer's own colour management in Print Settings… تذكر إيقاف إدارة الألوان الخاصة بالطابعة في إعدادات الطباعة… + Sent to {printer} تم الإرسال إلى {printer} + set in Print Settings… يتم ضبطه في إعدادات الطباعة… + ICO is limited to 256 × 256 pixels ملفات ICO محدودة بـ 256 × 256 بكسل + Show Favorite Fonts إظهار الخطوط المفضلة + No favorite fonts yet: click the star beside a font to add it. لا توجد خطوط مفضلة بعد: انقر على النجمة بجانب الخط لإضافته. + Favorite fonts الخطوط المفضلة + Add to Favorites إضافة إلى المفضلة + Remove from Favorites إزالة من المفضلة + Show All Fonts إظهار كل الخطوط + All Classes كل الفئات + Blackletter قوطي + Decorative زخرفي + Font preview: معاينة الخط: + Handwritten بخط اليد + Hide Font Classes إخفاء فئات الخطوط + Hide Styles إخفاء الأنماط + Monospace أحادي المسافة + No fonts match these filters. لا توجد خطوط تطابق هذه المرشحات. + No similar fonts: the current font doesn't say what it looks like. لا توجد خطوط مشابهة: الخط الحالي لا يحدد شكله. + OpenType font خط OpenType + Sans Serif بدون زوائد + Script مخطوطة + Serif ذو زوائد + Show Font Classes إظهار فئات الخطوط + Show Similar Fonts إظهار الخطوط المشابهة + Show Styles إظهار الأنماط + Show Variable Fonts إظهار الخطوط المتغيرة + Slab Serif ذو زوائد سميكة + TrueType font خط TrueType + Variable font خط متغير + Calibration المعايرة + Red Primary اللون الأساسي الأحمر + Green Primary اللون الأساسي الأخضر + Blue Primary اللون الأساسي الأزرق + Write xmp sidecars كتابة ملفات XMP الجانبية + Set the tone sliders from the image ضبط منزلقات النغمة من الصورة + Settings from {name} إعدادات من {name} + Settings from {name}; {count} not supported: {names} إعدادات من {name}؛ {count} غير مدعومة: {names} + Could not write {name}: {error} تعذرت كتابة {name}: {error} + Kept {name}: written by another application تم الاحتفاظ بـ {name}: تمت كتابته بواسطة تطبيق آخر + Shadow Tint صبغة الظلال +# PhotoCraft release checks. + Check for Updates… التحقق من وجود تحديثات… + PhotoCraft Updates تحديثات PhotoCraft + Checking for updates… جارٍ التحقق من وجود تحديثات… + Open the release page to choose an installer for your system. افتح صفحة الإصدار لاختيار برنامج التثبيت المناسب لنظامك. + Open Download Page فتح صفحة التنزيل + PhotoCraft is up to date. PhotoCraft محدّث. + Could not check for updates. تعذر التحقق من وجود تحديثات. + Updates have not been checked yet. لم يتم التحقق من التحديثات بعد. + Check Again التحقق مرة أخرى + Automatically Check for Updates التحقق من وجود تحديثات تلقائيًا + Installed version: {version} الإصدار المثبت: {version} + PhotoCraft {version} is available. يتوفر PhotoCraft {version}. +# History panel › History Brush source (#2966) + Paints from the History panel's source state يرسم من حالة المصدر في لوحة السجل + Sets the source for the history brush يحدد مصدر فرشاة السجل +# Bevel & Emboss shading controls. + Highlight Mode وضع الإضاءات + Highlight Color لون الإضاءات + Highlight Opacity عتامة الإضاءات + Shadow Mode وضع الظلال + Shadow Color لون الظلال + Shadow Opacity عتامة الظلال +# Embedded Profile Mismatch: profile names beside the choices, Remember this choice + Use the embedded profile ({profile}) استخدام ملف التعريف المضمن ({profile}) + Convert to the working space ({profile}) تحويل إلى مساحة العمل ({profile}) + Remember this choice for future images تذكر هذا الاختيار للصور المستقبلية + Turn the prompt back on with Ask On Mismatch in Edit › Color Settings. أعد تشغيل المطالبة باستخدام «السؤال عند عدم التطابق» في تحرير › إعدادات الألوان. + Button Mode وضع الأزرار + Button Mode On وضع الأزرار قيد التشغيل + +# Darken / Lighten Interface (⇧⌘F1 / ⇧⌘F2) + Darken Interface تغميق واجهة المستخدم + Lighten Interface تفتيح واجهة المستخدم +# Bevel & Emboss Technique. + Technique التقنية + Chisel Hard إزميل صلب + Chisel Soft إزميل ناعم + Open color-less EXR as ACEScg فتح ملفات EXR الخالية من بيانات اللون كـ ACEScg + Do not append "copy" to filename when saving a copy عدم إضافة «نسخة» إلى اسم الملف عند حفظ نسخة +# Export As metadata and profile options + Color Profile ملف تعريف الألوان + EXIF EXIF + +# View › Guides › right-click a guide + Edit Selected Guides تحرير الأدلة المحددة + Clear Selected Guides مسح الأدلة المحددة + Bicubic Automatic ثنائي التكعيب تلقائي + Bicubic Smoother ثنائي التكعيب أكثر نعومة + Bicubic Sharper ثنائي التكعيب أكثر حدة + Pasting from other apps is unavailable اللصق من التطبيقات الأخرى غير متاح + PhotoCraft can't reach the system clipboard in this session. On Wayland, a Flatpak sandbox hides the protocol that images from other apps are read through. لا يستطيع PhotoCraft الوصول إلى حافظة النظام في هذه الجلسة. على Wayland، يُخفي صندوق الحماية Flatpak البروتوكول الذي تُقرأ عبره الصور من التطبيقات الأخرى. + To paste from other apps, start PhotoCraft under XWayland: `{command}` للصق من التطبيقات الأخرى، شغّل PhotoCraft ضمن XWayland: `{command}` + Nothing to paste: PhotoCraft can't read the system clipboard here لا يوجد شيء للصق: لا يستطيع PhotoCraft قراءة حافظة النظام هنا + Delete this set حذف هذه المجموعة + New Set… مجموعة جديدة… + PhotoCraft Defaults الإعدادات الافتراضية لـ PhotoCraft + Save a list of these shortcuts as a web page حفظ قائمة بهذه الاختصارات كصفحة ويب + Save the changes to this set حفظ التغييرات في هذه المجموعة + Save these shortcuts as a .kys file حفظ هذه الاختصارات كملف .kys + Save these shortcuts as a new set حفظ هذه الاختصارات كمجموعة جديدة + Set deleted. تم حذف المجموعة. + Set saved. تم حفظ المجموعة. + Set: المجموعة: + Summarize… تلخيص… + There are too many sets: delete one first. يوجد عدد كبير جدًا من المجموعات: يُرجى حذف إحداها أولًا. + set name اسم المجموعة + {set} (modified) {set} (معدّلة) + Show file name in title إظهار اسم الملف في العنوان + +# Image › Mode › Bitmap (#5559) + 50% Threshold عتبة 50% + Pattern Dither ترقيش بنقش + Diffusion Dither ترقيش بالانتشار + Halftone Screen شاشة نصف النغمة + Custom Pattern نقش مخصص + Frequency: التردد: + Lines/Inch خطوط/بوصة + Lines/Centimeter خطوط/سنتيمتر + Ellipse الشكل البيضاوي + Accept and Go to Conflict قبول والانتقال إلى التعارض + Changes undone. تم التراجع عن التغييرات. + Choose a new shortcut for this command, or leave it without one. اختر اختصارًا جديدًا لهذا الأمر، أو اتركه بدون اختصار. + Put this command's shortcuts back as they were إعادة اختصارات هذا الأمر كما كانت + Take the shortcut from the other command and select it خذ الاختصار من الأمر الآخر وحدده + Undo Changes التراجع عن التغييرات + {shortcut} is reserved by the system and can't be assigned. {shortcut} محجوز من قبل النظام ولا يمكن تعيينه. + Low-Latency Drawing (vsync off, applies at next launch) رسم بزمن استجابة منخفض (إيقاف vsync، يسري عند التشغيل التالي) +# Free Transform: a new layer while the box is open (#5859) + Reference point location موقع النقطة المرجعية + Free Transform is still being applied; try again when it has finished. لا يزال التحويل الحر قيد التطبيق؛ حاول مرة أخرى عند انتهائه. + The transform couldn't be applied. تعذر تطبيق التحويل. +# Preferences › Performance › GPU Memory; the status bar and slow-redraw notice + Its layers need {needed} of GPU memory; the budget leaves them {budget}. تحتاج طبقاته إلى {needed} من ذاكرة GPU؛ وتتيح الميزانية لها {budget}. + Set GPU Memory in Preferences › Performance to what your graphics card can hold, at most 3/8 of its memory. Automatic follows Memory Usage, within a quarter of this computer's memory and 3/8 of the card's, and doesn't count the document against a card whose memory is known. The status bar shows GPU Memory Full while they don't fit. اضبط ذاكرة GPU في التفضيلات › الأداء على ما تستطيع بطاقة الرسومات استيعابه، بحد أقصى 3/8 من ذاكرتها. يتبع الوضع التلقائي استخدام الذاكرة، ضمن ربع ذاكرة هذا الكمبيوتر و3/8 من ذاكرة البطاقة، ولا يحتسب المستند على بطاقة معروفة الذاكرة. يعرض شريط الحالة «ذاكرة GPU ممتلئة» طالما لا تتسع لها. + GPU Memory Full ذاكرة GPU ممتلئة + The layers need {needed} of GPU memory and may hold {budget}, so edits that redraw the whole document do it on the CPU. Click to set GPU Memory. تحتاج الطبقات إلى {needed} من ذاكرة GPU ويمكنها استيعاب {budget}، لذلك تتم التعديلات التي تعيد رسم المستند بالكامل على وحدة المعالجة المركزية. انقر لضبط ذاكرة GPU. + GPU memory budget: {budget} ميزانية ذاكرة GPU: {budget} + Graphics memory: {size} ذاكرة الرسومات: {size} + This document's layers: {needed} of {budget} for layers طبقات هذا المستند: {needed} من {budget} للطبقات + This document's layers need {needed} but may hold {budget}: whole-document redraws use the CPU تحتاج طبقات هذا المستند إلى {needed} لكنها تستوعب {budget}: تستخدم إعادة رسم المستند بالكامل وحدة المعالجة المركزية + GPU Memory (MB, 0 = Automatic) ذاكرة GPU (ميغابايت، 0 = تلقائي) + {path}: the path is not valid Unicode; save under another name. {path}: المسار ليس Unicode صالحًا؛ احفظ باسم آخر. + {name} was changed by another app after it was opened or saved here. تم تغيير {name} بواسطة تطبيق آخر بعد فتحه أو حفظه هنا. + Replace it with this document, or cancel and use File › Save As to keep both. استبدله بهذا المستند، أو ألغِ واستخدم ملف › حفظ باسم للاحتفاظ بكليهما. + Demosaic إزالة الفسيفساء + How the camera's colour filter mosaic is filled in. It is applied when the file opens; the preview shows the method it was opened with. طريقة ملء فسيفساء مرشح الألوان في الكاميرا. تُطبَّق عند فتح الملف؛ وتعرض المعاينة الطريقة التي فُتح بها. + AHD (adaptive homogeneity) AHD (التجانس التكيفي) + Malvar–He–Cutler Malvar–He–Cutler + Hirakawa–Parks: the cleanest edges and the least colour fringing, the slowest. Hirakawa–Parks: أنظف الحواف وأقل هالات لونية، والأبطأ. + Gradient-corrected interpolation: sharp and fast, with some colour fringing on fine detail. استيفاء مصحح بالتدرج: حاد وسريع، مع بعض الهالات اللونية في التفاصيل الدقيقة. + The fastest and the softest, with colour fringing on fine detail. الأسرع والأنعم، مع هالات لونية في التفاصيل الدقيقة. + “{name}” already exists. Replace it? “{name}” موجود بالفعل. هل تريد استبداله؟ + The name in the save dialog was “{name}”. كان الاسم في مربع حوار الحفظ “{name}”. + Move Up تحريك لأعلى + Move Down تحريك لأسفل + Memory Usage استخدام الذاكرة + Per-document RAM limit (MB) حد RAM لكل مستند (ميغابايت) + Installed RAM: {ram} MB; this limit: {percent}% ذاكرة RAM المثبتة: {ram} ميغابايت؛ هذا الحد: {percent}% + Limits each open document's pixels plus History. Oldest undo states are discarded when the limit is exceeded. يحدد بكسلات كل مستند مفتوح بالإضافة إلى السجل. تُهمل أقدم حالات التراجع عند تجاوز الحد. + Applies immediately when saved. Memory is not reserved in advance. يسري فورًا عند الحفظ. لا يتم حجز الذاكرة مسبقًا. + With GPU Memory set to Automatic, this also limits the GPU layer budget. That budget is capped at one quarter of installed RAM and, when known, three eighths of the graphics card's memory, with a 512 MB minimum. Raising this limit beyond those caps does not increase the GPU budget. عند ضبط ذاكرة GPU على تلقائي، فإن هذا يحد أيضًا من ميزانية طبقات GPU. تقتصر هذه الميزانية على ربع ذاكرة RAM المثبتة، وعند معرفتها، ثلاثة أثمان ذاكرة بطاقة الرسومات، بحد أدنى 512 ميغابايت. لا يؤدي رفع هذا الحد فوق هذه الحدود القصوى إلى زيادة ميزانية GPU. + Use استخدام + In Front أمام + Behind خلف + Blend مزج + +# DDS Options (#1327) + DDS Options خيارات DDS + Compression الضغط + Generate Mipmaps إنشاء Mipmaps + +# Color Table (.act) dialog + There is no color table to save. لا يوجد جدول ألوان للحفظ. +@plural Saved {n} color to {file}|Saved {n} colors to {file} تم حفظ {n} لون في {file}|تم حفظ {n} لون في {file}|تم حفظ {n} لونين في {file}|تم حفظ {n} ألوان في {file}|تم حفظ {n} لونًا في {file}|تم حفظ {n} لون في {file} + +# Graphics Adapter preference (#1885) + GPU adapter محول GPU + +# Styles panel: Import / Export Styles (.asl) + Import Styles… استيراد الأنماط… + Export Selected Styles… تصدير الأنماط المحددة… + Export Styles… تصدير الأنماط… + {file} is not a style library (.asl) {file} ليس مكتبة أنماط (.asl) +@plural Imported {n} style from {file}|Imported {n} styles from {file} تم استيراد {n} نمط من {file}|تم استيراد {n} نمط من {file}|تم استيراد {n} نمطين من {file}|تم استيراد {n} أنماط من {file}|تم استيراد {n} نمطًا من {file}|تم استيراد {n} نمط من {file} +@plural Exported {n} style to {file}|Exported {n} styles to {file} تم تصدير {n} نمط إلى {file}|تم تصدير {n} نمط إلى {file}|تم تصدير {n} نمطين إلى {file}|تم تصدير {n} أنماط إلى {file}|تم تصدير {n} نمطًا إلى {file}|تم تصدير {n} نمط إلى {file} +# Actions: a step dialog holds a suspended recording (#7365) + Confirm or cancel the open action step dialog first أكد أو ألغِ مربع حوار خطوة الإجراء المفتوح أولًا + Pro Medium Gray رمادي متوسط Pro + Solarized Solarized + Breeze Breeze + Pro Light Gray رمادي فاتح Pro + Pro Light فاتح Pro + Resize Windows to Fit تغيير حجم النوافذ لتلائم + EXR EXR +# Paragraph direction (TYPE-218-2) + Automatic paragraph direction اتجاه الفقرة تلقائي + Left-to-right paragraph direction اتجاه الفقرة من اليسار إلى اليمين + Right-to-left paragraph direction اتجاه الفقرة من اليمين إلى اليسار + Not rendered: this adjustment ({key}) is kept as imported. غير معروض: يتم الاحتفاظ بهذا التعديل ({key}) كما تم استيراده. +# Print preview image (#8236) + Print preview image معاينة صورة الطباعة +# Color panel menu: modes, copy commands and colour ramps (#6000) + Hue Cube مكعب تدرج اللون + Brightness Cube مكعب السطوع + Color Wheel عجلة الألوان + Grayscale Slider منزلق التدرج الرمادي + RGB Sliders منزلقات RGB + HSB Sliders منزلقات HSB + CMYK Sliders منزلقات CMYK + Lab Sliders منزلقات Lab + Web Color Sliders منزلقات ألوان الويب + Copy Color as HTML نسخ اللون بتنسيق HTML + Copy Color's Hex Code نسخ الرمز السداسي عشري للون + RGB Spectrum طيف RGB + CMYK Spectrum طيف CMYK + Grayscale Ramp شريط التدرج الرمادي + Current Colors الألوان الحالية + Make Ramp Web Safe جعل الشريط آمنًا للويب +# Art History Brush (#213). + Art History Brush فرشاة السجل الفني + Art History Brush Tool أداة فرشاة السجل الفني + Tight Short قصير ضيق + Tight Medium متوسط ضيق + Tight Long طويل ضيق + Loose Medium متوسط فضفاض + Loose Long طويل فضفاض + Dab لمسة + Tight Curl تجعيد ضيق + Loose Curl تجعيد فضفاض + Stylized dabs from a history state لمسات منمقة من حالة في السجل + +# Egui 0.37 migration controls (Aspect Ratio, Category, Color Table, Gamma, Interpolation, Profile, Target, Units, Demosaic) + Aspect Ratio نسبة العرض إلى الارتفاع + Category الفئة + Color Table جدول الألوان + Gamma غاما + Interpolation الاستيفاء + Target الهدف + Units الوحدات + Font size presets الإعدادات المسبقة لحجم الخط + Leading presets الإعدادات المسبقة لتباعد الأسطر + Tracking presets الإعدادات المسبقة لتباعد الأحرف + +# Histogram panel, CPU rendering notice and update prompt + Artboards ألواح التصميم + CPU Rendering التصيير عبر CPU + Calculating… جارٍ الحساب… + Click to refresh histogram with uncached data انقر لتحديث المدرج التكراري ببيانات غير مخزنة مؤقتًا + Count: العدد: + Drawn on the CPU: {reason}. Click for System Info. يُرسم على CPU: {reason}. انقر لعرض معلومات النظام. + Level: المستوى: + Percentile: المئين: + Release Notes ملاحظات الإصدار + Remember Settings تذكر الإعدادات + Show Channels in Color عرض القنوات بالألوان + Show Statistics عرض الإحصائيات + Source: المصدر: + Uncached Refresh تحديث دون ذاكرة التخزين المؤقت + Update and Restart التحديث وإعادة التشغيل + X X + Y Y diff --git a/crates/ui-egui/src/i18n/live_tests.rs b/crates/ui-egui/src/i18n/live_tests.rs index 10332ced7c..cea9226112 100644 --- a/crates/ui-egui/src/i18n/live_tests.rs +++ b/crates/ui-egui/src/i18n/live_tests.rs @@ -244,7 +244,7 @@ fn first_launch_renders_the_system_language_without_overwriting_auto() { #[test] fn missing_or_unsupported_system_languages_render_english() { - for tags in [vec![], vec!["sv-SE", "ar-SA"]] { + for tags in [vec![], vec!["sv-SE", "sw-KE"]] { system::with_system_tags(&tags, || { with_language(Lang::EN, || { let h = harness(); @@ -449,3 +449,24 @@ fn czech_shortcut_conflicts_keep_warning_state_and_shortcut_codes() { assert_eq!(fields["overrides"]["file.new"], json!("Cmd+O")); }); } + +/// The catalog stays in logical order: egui puts a right-to-left label into display order itself, +/// so the first word of an Arabic label lands to the right of its last, and a Latin brand name at +/// the end of the sentence lands at the left. +#[test] +fn arabic_labels_are_laid_out_right_to_left() { + with_language(Lang::EN, || { + let mut h = harness(); + h.state_mut().run("prefs.set", json!({"path": "interface.language", "value": "ar"})).unwrap(); + h.run_steps(4); + let x_of = |text: &str, c: char| { + let galley = h.ctx.fonts_mut(|f| f.layout_no_wrap(text.to_string(), egui::FontId::proportional(13.0), egui::Color32::WHITE)); + galley.rows.iter().flat_map(|r| r.glyphs.iter()).find(|g| g.chr == c).map(|g| g.pos.x).expect("glyph") + }; + let label = tr(lang("ar"), "No properties"); + assert_eq!(label, "لا توجد خصائص"); + assert!(x_of(label, 'ل') > x_of(label, 'ص'), "{label}: first word at the right"); + let join = tr(lang("ar"), "Join us on Discord"); + assert!(x_of(join, 'D') < x_of(join, 'ن'), "{join}: Discord at the left"); + }); +} diff --git a/crates/ui-egui/src/i18n/system.rs b/crates/ui-egui/src/i18n/system.rs index 25cc9fec4f..e591984e12 100644 --- a/crates/ui-egui/src/i18n/system.rs +++ b/crates/ui-egui/src/i18n/system.rs @@ -91,7 +91,8 @@ mod tests { (vec!["zh-Hant-HK", "zh-CN"], "zh-hant"), (vec!["zh-Hans-CN", "zh-TW"], "zh-hans"), (vec!["en-US", "ru-RU"], "en"), - (vec!["sv-SE", "ar-SA"], "en"), + (vec!["sv-SE", "ar-SA"], "ar"), + (vec!["sv-SE", "sw-KE"], "en"), (vec!["de-AT", "en-US"], "de"), (vec!["pt-PT"], "pt-br"), (vec!["it-IT", "en-US"], "it"), diff --git a/crates/ui-egui/src/i18n/tests.rs b/crates/ui-egui/src/i18n/tests.rs index a8497bb5ec..ece61bc14e 100644 --- a/crates/ui-egui/src/i18n/tests.rs +++ b/crates/ui-egui/src/i18n/tests.rs @@ -194,6 +194,28 @@ fn ukrainian_plural_rule_handles_teens_and_compound_counts() { assert_eq!(forms, [2, 0, 1, 1, 2, 2, 2, 2, 2, 0, 1, 1, 2, 2, 0, 2, 2, 2, 0, 1, 2]); } +#[test] +fn arabic_resolves_locales_and_preferences() { + let ar = Lang::from_code("ar").expect("ar registered"); + assert_eq!(ar.name(), "العربية"); + for tag in ["ar", "AR", "ar-SA", "ar_EG", "ar_EG.UTF-8", "ar-AE", "ar-MA"] { + assert_eq!(lang_from_tag(tag), Some(ar), "{tag}"); + assert_eq!(Lang::from_pref(tag), ar, "{tag}"); + } + assert_eq!(dir_for_code("ar"), Dir::Rtl); + assert_eq!(tr(ar, "File"), "ملف"); +} + +#[test] +fn arabic_plural_rule_has_six_forms() { + let ar = Lang::from_code("ar").expect("ar registered"); + let counts = [0, 1, 2, 3, 10, 11, 99, 100, 101, 102, 103, 111, 199, 1000, u64::MAX]; + let forms: Vec = counts.into_iter().map(ar.0.plural).collect(); + assert_eq!(forms, [0, 1, 2, 3, 3, 4, 4, 5, 5, 5, 3, 4, 4, 5, 4]); + assert_eq!(trn(ar, 2, "{n} layer", "{n} layers"), "2 طبقتان"); + assert_eq!(trn(ar, 5, "{n} layer", "{n} layers"), "5 طبقات"); +} + #[test] fn serbian_resolves_locales_and_preferences() { let sr = Lang::from_code("sr").expect("sr registered"); diff --git a/crates/ui-egui/src/text/direction/tests.rs b/crates/ui-egui/src/text/direction/tests.rs index f8ddafc2c4..c15b1927f6 100644 --- a/crates/ui-egui/src/text/direction/tests.rs +++ b/crates/ui-egui/src/text/direction/tests.rs @@ -1,6 +1,6 @@ //! Right-to-left shell layout: the direction rules, and where the mirrored chrome lands in a -//! running shell. No right-to-left catalog is registered yet, so the shell tests force the -//! direction with `direction_scope`. +//! running shell. The shell tests force the direction with `direction_scope`, so they don't +//! depend on a right-to-left language being selected. use super::*; use crate::PhotocraftApp; @@ -17,9 +17,10 @@ fn right_to_left_scripts_by_language_code() { for code in ["en", "ja", "zh-hans", "pt-br", "ku", "arn", ""] { assert_eq!(i18n::dir_for_code(code), Dir::Ltr, "{code}"); } - // No right-to-left catalog is registered yet, so the shell stays as it was. + // Arabic is the one right-to-left catalog; every other registered language stays left to right. for lang in Lang::all() { - assert_eq!(lang.dir(), Dir::Ltr, "{}", lang.code()); + let want = if lang.code() == "ar" { Dir::Rtl } else { Dir::Ltr }; + assert_eq!(lang.dir(), want, "{}", lang.code()); } } diff --git a/docs/localization-parity.md b/docs/localization-parity.md index 2ea5a9a0b6..ea6d2a23fa 100644 --- a/docs/localization-parity.md +++ b/docs/localization-parity.md @@ -1,6 +1,6 @@ # Localization parity -> **Last reviewed:** 2026-10-12 · **Last updated:** 2026-10-22 · **Change:** minor (Arabic: paragraph direction buttons, #6793; previously minor: Russian dynamic labels) · **Target:** Adobe Photoshop 2026 +> **Last reviewed:** 2026-10-12 · **Last updated:** 2026-10-28 · **Change:** minor (Arabic UI catalog; previously minor: Arabic paragraph direction buttons, #6793) · **Target:** Adobe Photoshop 2026 Per-language status of PhotoCraft's UI. How catalogs work and how to add one: [`localization.md`](localization.md). Language notes: [Korean](localization-ko.md), [Spanish](localization-es.md), @@ -24,7 +24,7 @@ Vietnamese UI; Arabic and Hebrew users get English "Middle East" builds with the composer, and its text engine handles RTL, Devanagari and Indic scripts. **Summary.** 7 of the 12 key languages at 100% of measured keys (status `partial` because of the -engine messages), 3 absent (Hindi, Arabic, Vietnamese), plus 8 other languages. Weighted by +engine messages), 2 absent (Hindi, Vietnamese), plus 8 other languages. Weighted by speakers, ~55% ready. Remaining: 80–140 h, plus native-speaker review (recorded only for Italian, 2026-10-12). @@ -36,7 +36,7 @@ speakers, ~55% ready. Remaining: 80–140 h, plus native-speaker review (recorde | Simplified Chinese | `zh-hans` | 1,608 / 1,608 (100%) | 2,366 | dialogs, tooltips yes; engine messages English | CJK fonts (lazy loader), IME preedit/commit, vertical type | no | partial | 8–12 h | | Spanish | `es` | 1,844 / 1,844 (100%) | 4,010 | as above; complete dynamic UI key set | Latin | no | partial | 6–10 h | | Hindi | `hi` | partial | 448 | Top menus, toolbox tools, camera raw, dialogs, plurals | Devanagari shaping in the text engine (parley/HarfRust); no Devanagari fallback font (TYPE-218-3) | no | partial | 15–20 h | -| Arabic | `ar` | 0 (0%) | – | – | Arabic shaping and bidi in the text engine, Arabic fallback font; RTL shell layout but not inside panels, and UI labels in LTR word order (DIST-220-4), paragraph direction buttons but no visual RTL caret (TYPE-218-2 partial), layer names as tofu (#1408, #1693) | no | none | 40–60 h | +| Arabic | `ar` | 2,175 / 2,175 (100%, 2026-10-28) | 3,410 | as above; combined from the community catalogs with one term per concept | Arabic shaping and bidi in the UI (egui 0.37) and the text engine, Arabic fallback font; RTL shell layout but not inside panels (DIST-220-4), paragraph direction buttons but no visual RTL caret (TYPE-218-2 partial) | no | partial | 15–25 h | | French | `fr` | 1,608 / 1,608 (100%) | 2,766 | as above | Latin | no | partial | 6–10 h | | Portuguese (Brazil) | `pt-br` | 1,608 / 1,608 (100%) | 2,788 | as above | Latin; every `pt` locale uses it | no | partial | 6–10 h | | Indonesian | `id` | 1,608 / 1,608 (100%) | 2,764 | as above | Latin | no | partial | 6–10 h | @@ -70,8 +70,8 @@ engine localization or native review is complete. - Engine error, status and parameter-help messages are English in every language. - Right-to-left UI layout is partial (2026-10-10): the shell mirrors for Arabic, Hebrew, Persian, Urdu and other right-to-left codes (`direction.rs`), but panel interiors, dialogs, menu rows, - submenus and document tabs stay left to right. UI labels also lack an Arabic fallback font, and - egui 0.36 joins letters within a word but orders a line's words left to right (no bidi). + submenus and document tabs stay left to right. Word order within a label is right: egui 0.37 + lays text out with the Unicode Bidirectional Algorithm. - Web build: no browser-locale detection, no CJK web fonts. - WebAssembly plug-ins disappear from Filter › Plug-ins when the UI isn't English (#2540). - A user couldn't find the language option (#2532): it is in Preferences › Interface. @@ -92,3 +92,4 @@ engine localization or native review is complete. | 2026-10-13 | minor | Italian: the `Screen` blend mode read *Schermo* (the display) and is now *Scherma*; the Dodge/Burn/Sponge tool names were already Adobe's (*Scherma*, *Brucia*, *Spugna*) and stay. Pinned by a test | | 2026-10-18 | minor | Russian: 1,229 dynamic labels added (filter and adjustment parameters, Camera Raw, lighting, History/Layers/paths menus, metadata, System Info, status templates, dialogs) with a terminology note ([localization-ru](localization-ru.md)) | | 2026-10-22 | minor | Arabic row: paragraph direction has Auto / Left-to-right / Right-to-left buttons in the Paragraph panel and Type options bar (#6793); the visual RTL caret is still missing (TYPE-218-2 partial) | +| 2026-10-28 | minor | Arabic (`ar`) UI catalog: every measured key, six plural forms; layer names and the title bar no longer reversed on egui 0.37 | diff --git a/docs/localization.md b/docs/localization.md index 30fe04725a..a5f46bc8b6 100644 --- a/docs/localization.md +++ b/docs/localization.md @@ -103,13 +103,15 @@ title, options and status bars read from the right (`crates/ui-egui/src/directio direction follows the language code, so a catalog needs no extra setting. Not mirrored yet: panel interiors, dialogs, menu rows (shortcuts stay on the right), submenus -(they open to the right), document tabs and the canvas. Before an Arabic catalog reads -correctly, the UI also needs an Arabic fallback font (the bundled UI fonts have no Arabic -glyphs) and bidirectional word order: egui 0.36 shapes each right-to-left word with HarfRust, -so letters join, but lays a line's words out left to right, and its caret indexing is off in -right-to-left text (emilk/egui#8576, #8577). Document text is laid out by the text engine. +(they open to the right), document tabs and the canvas. egui 0.37 lays text out with the Unicode +Bidirectional Algorithm (each paragraph takes the direction of its first strong letter), so +catalogs, layer names and document names are handed to it in logical order, as typed; never +pre-reorder a label. The title line forces a left-to-right paragraph so "— PhotoCraft" stays at +the right of a right-to-left document name, and `bidi_text::elide` cuts a right-to-left name at +its logical end. Document text is laid out by the text engine. -No right-to-left catalog ships yet. To check the mirrored layout with any language, launch with +Arabic (`ar`) is the first right-to-left catalog: Modern Standard Arabic, Western digits, the six +CLDR plural forms (zero|one|two|few|many|other). To check the mirrored layout with any language, launch with `PHOTOCRAFT_UI_DIRECTION=rtl` (or `ltr` to force left-to-right); it is read once per process and has no effect on the web build: diff --git a/docs/scorecard.md b/docs/scorecard.md index b9f9bb0a1e..8ca6438ec5 100644 --- a/docs/scorecard.md +++ b/docs/scorecard.md @@ -290,7 +290,7 @@ Never-crash attribute on 30 of 30 crate roots. | DIST-220-1 | Help > Check for Updates plus an opt-out periodic release-feed check on all desktops | partial | [#220](https://github.com/storytold/photocraft/issues/220) | 2026-10-22 (#5485): Help > Check for Updates and an opt-out check once per launch (updates_cmds + the desktop HTTPS transport; none inside Flatpak, where flatpak update owns updates). Missing: a periodic recheck while the app stays open | | DIST-220-2 | Windows ARM64 (aarch64-pc-windows-msvc) in the release matrix, signed like x64 | done | [#220](https://github.com/storytold/photocraft/issues/220) | release.yml has { arch: arm64, target: aarch64-pc-windows-msvc } in the Windows matrix, and .github/workflows/windows-arm64.yml packages that MSI, installs it on a Windows 11 ARM64 runner, checks the installed binaries are ARM64 and runs the CLI natively before uninstalling. Signing takes the same path as x64: the secrets are optional and a missing one produces an unsigned artifact and a warning (see DIST-2) | | DIST-220-3 | In-app bug report with reviewable diagnostics that opens a prefilled issue | missing | [#220](https://github.com/storytold/photocraft/issues/220) | No bug report dialog in crates | -| DIST-220-4 | Translation coverage per language reported by xtask; RTL layout for Arabic and Hebrew | partial | [#220](https://github.com/storytold/photocraft/issues/220) | `cargo xtask i18n-coverage` reports per-language coverage (#427); RTL languages mirror the shell (`direction.rs`), not yet panel interiors or dialogs | +| DIST-220-4 | Translation coverage per language reported by xtask; RTL layout for Arabic and Hebrew | partial | [#220](https://github.com/storytold/photocraft/issues/220) | `cargo xtask i18n-coverage` reports per-language coverage (#427); RTL languages mirror the shell (`direction.rs`), not yet panel interiors or dialogs; Arabic (`ar`) is the first RTL catalog | | DIST-220-5 | Linux AppImage x86_64 + aarch64 ship; Flatpak kept; Flathub later (#173) | partial | [#220](https://github.com/storytold/photocraft/issues/220) | AppImage and Flatpak ship (release.yml:162-216); Flathub not done | ## Open bugs diff --git a/scorecard/distribution.toml b/scorecard/distribution.toml index a2a0b9da4e..15b2640a4f 100644 --- a/scorecard/distribution.toml +++ b/scorecard/distribution.toml @@ -66,7 +66,7 @@ id = "DIST-220-4" target = "Translation coverage per language reported by xtask; RTL layout for Arabic and Hebrew" status = "partial" issue = 220 -note = "`cargo xtask i18n-coverage` reports per-language coverage (#427); RTL languages mirror the shell (`direction.rs`), not yet panel interiors or dialogs" +note = "`cargo xtask i18n-coverage` reports per-language coverage (#427); RTL languages mirror the shell (`direction.rs`), not yet panel interiors or dialogs; Arabic (`ar`) is the first RTL catalog" [[item]] id = "DIST-220-5" From 73ac7d9a25172b196f01d1914f7fba528074109d Mon Sep 17 00:00:00 2001 From: David Mann Date: Wed, 28 Oct 2026 21:22:26 +0100 Subject: [PATCH 51/60] Arabic layer names and title read right to left again on egui 0.37 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit egui 0.37 lays text out with the Unicode Bidirectional Algorithm, so the display-order rewrite #5385 added for egui 0.36 now reverses Arabic and Hebrew layer names and the in-app title a second time. Names go to egui as typed; the title line asks for a left-to-right paragraph so "— PhotoCraft" stays at the right; bidi_text::elide cuts a right-to-left name at its logical end and egui puts the "…" at the left. Tests lay the text out with egui and compare glyph positions. Co-Authored-By: Claude Opus 5.5 --- crates/ui-egui/src/i18n/live_tests.rs | 20 +++ crates/ui-egui/src/panels.rs | 2 +- crates/ui-egui/src/panels/layer_row_ui.rs | 10 +- crates/ui-egui/src/panels/title_bar.rs | 15 +- crates/ui-egui/src/text/bidi_text.rs | 171 ++-------------------- 5 files changed, 50 insertions(+), 168 deletions(-) diff --git a/crates/ui-egui/src/i18n/live_tests.rs b/crates/ui-egui/src/i18n/live_tests.rs index cea9226112..abca0e5791 100644 --- a/crates/ui-egui/src/i18n/live_tests.rs +++ b/crates/ui-egui/src/i18n/live_tests.rs @@ -470,3 +470,23 @@ fn arabic_labels_are_laid_out_right_to_left() { assert!(x_of(join, 'D') < x_of(join, 'ن'), "{join}: Discord at the left"); }); } + +/// #5159 on egui 0.37: user names are handed to egui as typed, and egui orders the words. An +/// Arabic layer name reads from the right; the title line keeps "— PhotoCraft" at the right of a +/// right-to-left document name. +#[test] +fn arabic_names_are_laid_out_right_to_left() { + with_language(Lang::EN, || { + let h = harness(); + let font = egui::FontId::proportional(13.0); + let x_in = |galley: &egui::Galley, c: char| galley.rows.iter().flat_map(|r| r.glyphs.iter()).find(|g| g.chr == c).map(|g| g.pos.x).expect("glyph"); + let name = "لاشي مكتوب هنا"; + let galley = h.ctx.fonts_mut(|f| f.layout_no_wrap(name.to_string(), font.clone(), egui::Color32::WHITE)); + assert!(x_in(&galley, 'ل') > x_in(&galley, 'ه'), "{name}: first word at the right"); + let title = "لاشي مكتوب.png — PhotoCraft"; + let job = crate::panels::title_bar::title_job(title, font, egui::Color32::WHITE); + let galley = h.ctx.fonts_mut(|f| f.layout_job(job)); + assert!(x_in(&galley, 'ل') > x_in(&galley, 'م'), "{title}: the name's first word right of its second"); + assert!(x_in(&galley, 'P') > x_in(&galley, 'ل'), "{title}: PhotoCraft stays at the right"); + }); +} diff --git a/crates/ui-egui/src/panels.rs b/crates/ui-egui/src/panels.rs index 2fcf3fee80..2b9c365a9d 100644 --- a/crates/ui-egui/src/panels.rs +++ b/crates/ui-egui/src/panels.rs @@ -57,7 +57,7 @@ pub mod smart_ui; mod status_bar; pub mod swatches_ui; pub(super) mod timeline_ui; -mod title_bar; +pub(crate) mod title_bar; pub(super) mod titlebar; mod toolbar; pub mod type_panels_ui; diff --git a/crates/ui-egui/src/panels/layer_row_ui.rs b/crates/ui-egui/src/panels/layer_row_ui.rs index 7e89c50519..82d924bacf 100644 --- a/crates/ui-egui/src/panels/layer_row_ui.rs +++ b/crates/ui-egui/src/panels/layer_row_ui.rs @@ -127,14 +127,14 @@ pub fn truncated(painter: &Painter, text: &str, font: FontId, color: egui::Color } painter.layout_job(job) }; - // A right-to-left name (Arabic, Hebrew) too long for the row is cut at its logical end and - // then put in display order, so its start stays and "…" is at the left (`bidi_text::elide`). + // A right-to-left name (Arabic, Hebrew) too long for the row is cut at its logical end, so its + // start stays and "…" is at the left (`bidi_text::elide`). if let Some(shown) = crate::bidi_text::elide(text, |s| layout(s, false).size().x <= max_width) { return Some(layout(&shown, false)); } - // Right-to-left names in display order: egui lays words out left to right. Left-to-right - // names are cut at their right end by egui. - Some(layout(&crate::bidi_text::visual(text), true)) + // egui puts a right-to-left name into display order itself; left-to-right names are cut at + // their right end by egui. + Some(layout(text, true)) } /// Paint `l`'s right-hand indicators in `row` and handle the effects triangle. Returns the diff --git a/crates/ui-egui/src/panels/title_bar.rs b/crates/ui-egui/src/panels/title_bar.rs index d93315af10..6586b98a36 100644 --- a/crates/ui-egui/src/panels/title_bar.rs +++ b/crates/ui-egui/src/panels/title_bar.rs @@ -132,18 +132,15 @@ pub fn title_bar(app: &mut PhotocraftApp, ui: &mut egui::Ui) { if system { return; } - // A right-to-left document name in display order (the OS title keeps the logical text), - // in a left-to-right line: "— PhotoCraft" stays after the name, at the right. - let title = crate::bidi_text::visual_ltr(&title).into_owned(); let font = theme::medium(13.0); - let galley = ui.painter().layout_no_wrap(title.clone(), font.clone(), t.text_dim); + let galley = ui.painter().layout_job(title_job(&title, font.clone(), t.text_dim)); if let Some(x) = title_x(full.center().x, free.0, free.1, galley.size().x) { ui.painter().galley(egui::pos2(x, full.center().y - galley.size().y / 2.0), galley, t.text_dim); } else if free.1 - free.0 > 80.0 { // Too narrow for the whole name: show the start of it, elided, in the free gap // next to the menus. let avail = free.1 - free.0 - 2.0 * TITLE_GAP; - let mut job = egui::text::LayoutJob::simple_singleline(title, font, t.text_dim); + let mut job = title_job(&title, font, t.text_dim); job.wrap = egui::text::TextWrapping::truncate_at_width(avail); let g = ui.painter().layout_job(job); let x = if rtl { free.1 - TITLE_GAP - g.size().x } else { free.0 + TITLE_GAP }; @@ -185,6 +182,14 @@ pub fn sync_window_title(app: &mut PhotocraftApp, ctx: &egui::Context) { } } +/// The in-app title line. It reads left to right as a whole, so a right-to-left document name keeps +/// "— PhotoCraft" after it, at the right; egui orders the name's own words. +pub(crate) fn title_job(title: &str, font: egui::FontId, color: egui::Color32) -> egui::text::LayoutJob { + let mut job = egui::text::LayoutJob::simple_singleline(title.to_owned(), font, color); + job.direction = egui::epaint::text::TextDirection::LeftToRight; + job +} + /// Minimum space kept between the window title and the menus or controls beside it. const TITLE_GAP: f32 = 16.0; diff --git a/crates/ui-egui/src/text/bidi_text.rs b/crates/ui-egui/src/text/bidi_text.rs index babb0d0c48..c37ae42f56 100644 --- a/crates/ui-egui/src/text/bidi_text.rs +++ b/crates/ui-egui/src/text/bidi_text.rs @@ -1,31 +1,11 @@ //! Right-to-left text in labels that egui draws (#5159). //! -//! egui shapes text in runs of one font face and places the runs left to right. An Arabic or -//! Hebrew word is one run, which the shaper draws right to left, but the space between two words -//! comes from another font, so a phrase came out with every word correct and the word order -//! reversed ("THIS IS A TEXT" read as "TEXT A IS THIS"). [`visual`] puts a label into display -//! order with the Unicode Bidirectional Algorithm before egui lays it out: words of a -//! right-to-left script stay in logical order (the shaper reverses them itself), and everything -//! else in a right-to-left run is reversed around them, with brackets mirrored. -//! -//! For display only: never store the result or put it in an editable field. +//! egui lays text out with the Unicode Bidirectional Algorithm: each paragraph takes the direction +//! of its first strong letter, and a right-to-left run is placed right to left. Labels, names and +//! translations are therefore handed to egui in logical order, as typed. What egui can't know is +//! where a right-to-left name may be cut: [`elide`] keeps the *start* of the name. -use std::borrow::Cow; - -use unicode_bidi::{BidiClass, BidiInfo, Level, bidi_class}; - -/// `text` in the order egui should lay it out from left to right. Text without right-to-left -/// characters comes back unchanged, without allocating. -pub fn visual(text: &str) -> Cow<'_, str> { - visual_at(text, None) -} - -/// [`visual`] for a line that reads left to right as a whole even when it starts with a -/// right-to-left name, such as the title bar's "*صورة.psd — PhotoCraft": with the paragraph -/// direction taken from the name, the "— PhotoCraft" tail moved to the left. -pub fn visual_ltr(text: &str) -> Cow<'_, str> { - visual_at(text, Some(Level::ltr())) -} +use unicode_bidi::{BidiClass, bidi_class}; /// Whether `text` reads right to left as a paragraph: its first strong letter is Hebrew, Arabic… pub fn is_rtl_paragraph(text: &str) -> bool { @@ -38,20 +18,19 @@ pub fn is_rtl_paragraph(text: &str) -> bool { .unwrap_or(false) } -/// `text` in display order, cut with "…" where it doesn't fit (`fits` measures a display-order -/// string). A right-to-left name is cut in logical order before it is reordered, so its *start* -/// stays and the "…" lands at the left, the end of a right-to-left line; cutting after the -/// reordering lost the start of the name instead. `None`: `text` fits as it is (or a -/// left-to-right one, which the caller elides at its right end as usual). +/// A right-to-left `text` cut at its logical end with "…" where it doesn't fit (`fits` measures a +/// candidate). The start of the name stays, and egui puts the "…" at the left, the end of a +/// right-to-left line. `None`: `text` fits as it is (or a left-to-right one, which the caller +/// elides at its right end as usual). pub fn elide(text: &str, fits: impl Fn(&str) -> bool) -> Option { - if !is_rtl_paragraph(text) || fits(&visual(text)) { + if !is_rtl_paragraph(text) || fits(text) { return None; } // The longest logical prefix (whole characters) that fits with "…" after it. let ends: Vec = text.char_indices().map(|(i, _)| i).skip(1).chain(std::iter::once(text.len())).collect(); let cut = |n: usize| -> String { let end = if n == 0 { 0 } else { ends.get(n - 1).copied().unwrap_or(text.len()) }; - visual(&format!("{}…", text.get(..end).unwrap_or_default().trim_end())).into_owned() + format!("{}…", text.get(..end).unwrap_or_default().trim_end()) }; let (mut lo, mut hi) = (0usize, ends.len()); while lo < hi { @@ -61,143 +40,21 @@ pub fn elide(text: &str, fits: impl Fn(&str) -> bool) -> Option { Some(cut(lo)) } -fn visual_at(text: &str, level: Option) -> Cow<'_, str> { - if !text.chars().any(is_rtl) { - return Cow::Borrowed(text); - } - let info = BidiInfo::new(text, level); - let mut out = String::with_capacity(text.len()); - for para in &info.paragraphs { - let (levels, runs) = info.visual_runs(para, para.range.clone()); - for run in runs { - let Some(slice) = text.get(run.clone()) else { continue }; - if levels.get(run.start).is_some_and(|level| level.is_rtl()) { - push_reversed(slice, &mut out); - } else { - out.push_str(slice); - } - } - } - Cow::Owned(out) -} - -/// A strong right-to-left letter, or any character of a right-to-left script block (Arabic -/// punctuation such as "،" belongs with the word it follows: the same font shapes both). -fn is_rtl(c: char) -> bool { - matches!(bidi_class(c), BidiClass::R | BidiClass::AL) || matches!(c, '\u{0590}'..='\u{08FF}' | '\u{FB1D}'..='\u{FDFF}' | '\u{FE70}'..='\u{FEFC}') -} - -/// Characters that stay inside a right-to-left word: its letters, combining marks, and joiners. -fn keeps_with_word(c: char) -> bool { - is_rtl(c) || matches!(bidi_class(c), BidiClass::NSM | BidiClass::BN) -} - -/// Append a right-to-left run in left-to-right display order: right-to-left words stay whole and -/// in logical order, every other character is reversed around them, and brackets are mirrored. -fn push_reversed(run: &str, out: &mut String) { - let mut units: Vec<&str> = Vec::new(); - let mut word: Option = None; - for (i, c) in run.char_indices() { - if keeps_with_word(c) { - word.get_or_insert(i); - continue; - } - if let Some(start) = word.take() - && let Some(w) = run.get(start..i) - { - units.push(w); - } - if let Some(single) = run.get(i..i + c.len_utf8()) { - units.push(single); - } - } - if let Some(start) = word - && let Some(w) = run.get(start..) - { - units.push(w); - } - for unit in units.into_iter().rev() { - let mut chars = unit.chars(); - match (chars.next(), chars.next()) { - (Some(c), None) if !keeps_with_word(c) => out.push(mirror(c)), - _ => out.push_str(unit), - } - } -} - -/// The mirrored form of a bracket shown in right-to-left text. -fn mirror(c: char) -> char { - match c { - '(' => ')', - ')' => '(', - '[' => ']', - ']' => '[', - '{' => '}', - '}' => '{', - '<' => '>', - '>' => '<', - '«' => '»', - '»' => '«', - other => other, - } -} - #[cfg(test)] mod tests { use super::*; - #[test] - fn left_to_right_text_is_untouched_and_not_copied() { - for text in ["PhotoCraft", "Layer 1", "", "Background copy (2)", "日本語のレイヤー"] { - assert!(matches!(visual(text), Cow::Borrowed(t) if t == text), "{text}"); - } - } - - /// #5159: the reported layer name. Each word stays as typed; the word order flips so that - /// egui, placing words left to right, shows the first word at the right. - #[test] - fn arabic_words_are_placed_right_to_left() { - assert_eq!(visual("لاشي مكتوب هنا"), "هنا مكتوب لاشي"); - assert_eq!(visual("שלום עולם"), "עולם שלום"); - } - - #[test] - fn numbers_and_latin_keep_their_own_order() { - // A number inside right-to-left text reads left to right, at the start of the line. - assert_eq!(visual("طبقة 2"), "2 طبقة"); - assert_eq!(visual("طبقة 12"), "12 طبقة"); - // A left-to-right name with an Arabic word at the end is left as it is. - assert_eq!(visual("Layer 1 نص"), "Layer 1 نص"); - // Latin inside an Arabic name stays readable. - assert_eq!(visual("نص PhotoCraft هنا"), "هنا PhotoCraft نص"); - } - - /// #5385 review: the title bar's line is left to right as a whole, so a right-to-left - /// document name keeps "— PhotoCraft" after it, at the right. - #[test] - fn the_title_line_stays_left_to_right_around_a_right_to_left_name() { - assert_eq!(visual_ltr("*صورة.psd — PhotoCraft"), "*صورة.psd — PhotoCraft"); - assert_eq!(visual_ltr("لاشي مكتوب.png — PhotoCraft"), "مكتوب لاشي.png — PhotoCraft"); - assert!(matches!(visual_ltr("Untitled-1 — PhotoCraft"), Cow::Borrowed(_))); - } - /// #5385 review: a right-to-left name that doesn't fit keeps its first words and ends with - /// "…" at the left; a left-to-right or fitting name is left to the caller. + /// "…"; a left-to-right or fitting name is left to the caller. #[test] fn right_to_left_names_are_cut_at_their_logical_end() { let fits = |n: usize| move |s: &str| s.chars().count() <= n; // Cut anywhere, as egui elides: the first word and the start of the second. - assert_eq!(elide("لاشي مكتوب هنا", fits(8)).as_deref(), Some("…مك لاشي")); - assert_eq!(elide("לשלום עולם גדול", fits(11)).as_deref(), Some("…עולם לשלום")); + assert_eq!(elide("لاشي مكتوب هنا", fits(8)).as_deref(), Some("لاشي مك…")); + assert_eq!(elide("לשלום עולם גדול", fits(11)).as_deref(), Some("לשלום עולם…")); assert_eq!(elide("لاشي مكتوب هنا", fits(40)), None, "fits"); assert_eq!(elide("Layer copy 12", fits(4)), None, "left to right: elided by egui at its end"); assert_eq!(elide("نص", fits(0)).as_deref(), Some("…"), "nothing fits: just the ellipsis"); assert!(is_rtl_paragraph("12 نص") && !is_rtl_paragraph("Layer نص") && !is_rtl_paragraph("123")); } - - #[test] - fn brackets_mirror_and_arabic_punctuation_stays_with_its_word() { - assert_eq!(visual("نص (1)"), "(1) نص"); - assert_eq!(visual("مرحبا، عالم"), "عالم مرحبا،"); - } } From 15dc4092f8358e4a56d3171b014a7c3d46f5b422 Mon Sep 17 00:00:00 2001 From: David Mann Date: Wed, 28 Oct 2026 22:18:28 +0100 Subject: [PATCH 52/60] Web build: served script fonts draw the interface too The web build has no system fonts and embeds no craft fonts, so an Arabic (or Japanese, Chinese, Korean, Hindi) interface had no font for its labels: served fonts were registered only in the document text engine. A served script fallback now also joins the end of every egui font family, and the font stack theme::install_fonts rebuilds on a language change includes it again. The web shell asks for the interface language's script font, not only the browser languages'. Review finding on #10006. Co-Authored-By: Claude Opus 5.5 --- apps/photocraft-web/src/web.rs | 12 ++- crates/ui-egui/src/text/cjk_fonts.rs | 2 +- crates/ui-egui/src/text/cjk_fonts/tests.rs | 2 +- crates/ui-egui/src/text/served_fonts.rs | 86 +++++++++++++++++++++- crates/ui-egui/src/theme.rs | 7 ++ docs/localization-parity.md | 2 +- 6 files changed, 103 insertions(+), 8 deletions(-) diff --git a/apps/photocraft-web/src/web.rs b/apps/photocraft-web/src/web.rs index f82051dbf9..2e9d58fa36 100644 --- a/apps/photocraft-web/src/web.rs +++ b/apps/photocraft-web/src/web.rs @@ -103,7 +103,7 @@ pub fn start() { } let unsaved = Arc::new(AtomicBool::new(false)); guard_unload(unsaved.clone()); - Ok(Box::new(WebShell { app, inbox, place_inbox, unsaved, served, database, presets })) + Ok(Box::new(WebShell { app, inbox, place_inbox, unsaved, served, database, presets, ui_language: "" })) }), ) .await; @@ -270,6 +270,8 @@ struct WebShell { served: Served, database: Option, presets: crate::preset_bridge::Bridge, + /// The interface language whose served script font was last asked for. + ui_language: &'static str, } impl WebShell { @@ -294,6 +296,12 @@ impl WebShell { /// Fetches the served families asked for (picked in a font menu, or needed by a layout) and /// installs the files that arrived. fn serve_fonts(&mut self, ctx: &egui::Context) { + // The interface language's script font draws its labels (Arabic, Japanese…). + let ui_language = photocraft_ui_egui::i18n::current().code(); + if ui_language != self.ui_language { + self.ui_language = ui_language; + served_fonts::request_for_languages([ui_language]); + } let requested = served_fonts::take_requests(); let (fetch, arrived) = { let mut s = self.served.lock().unwrap_or_else(PoisonError::into_inner); @@ -320,7 +328,7 @@ impl WebShell { } }); } - served_fonts::install(&mut self.app, arrived); + served_fonts::install(&mut self.app, ctx, arrived); } } diff --git a/crates/ui-egui/src/text/cjk_fonts.rs b/crates/ui-egui/src/text/cjk_fonts.rs index 674ae6948e..b74edce8a2 100644 --- a/crates/ui-egui/src/text/cjk_fonts.rs +++ b/crates/ui-egui/src/text/cjk_fonts.rs @@ -1014,4 +1014,4 @@ pub(crate) fn set_craft_font_scale(ctx: &egui::Context, scale: f32) { } #[cfg(test)] #[cfg(not(target_arch = "wasm32"))] -mod tests; +pub(crate) mod tests; diff --git a/crates/ui-egui/src/text/cjk_fonts/tests.rs b/crates/ui-egui/src/text/cjk_fonts/tests.rs index 06e8ec4b14..1451a53284 100644 --- a/crates/ui-egui/src/text/cjk_fonts/tests.rs +++ b/crates/ui-egui/src/text/cjk_fonts/tests.rs @@ -433,7 +433,7 @@ fn two_face_ttc(first: &[u8], second: &[u8]) -> Vec { /// A minimal TrueType font mapping the `ranges` (inclusive) to box glyphs, so tests have a /// font for a script without committing font files. -fn synthetic_font(ranges: &[(u32, u32)]) -> Vec { +pub(crate) fn synthetic_font(ranges: &[(u32, u32)]) -> Vec { let be16 = |v: &mut Vec, x: i32| v.extend((x as u16).to_be_bytes()); let be32 = |v: &mut Vec, x: u32| v.extend(x.to_be_bytes()); let chars: u32 = ranges.iter().map(|(a, b)| b - a + 1).sum(); diff --git a/crates/ui-egui/src/text/served_fonts.rs b/crates/ui-egui/src/text/served_fonts.rs index b7ae085f41..ef3fc6c734 100644 --- a/crates/ui-egui/src/text/served_fonts.rs +++ b/crates/ui-egui/src/text/served_fonts.rs @@ -1,8 +1,13 @@ //! Fonts a host serves next to the app, for the platform shell that fetches them (the web build; //! see `photocraft_text::served`): reading the manifest, the families to fetch, and installing //! what arrived, which registers the files and re-renders the type layers drawn without them. +//! A served script fallback (Arabic, Japanese…) also joins the UI's font stack: the web build has +//! no system fonts, so it is what draws an Arabic or Japanese interface. -use std::sync::{Mutex, PoisonError}; +use std::sync::{Arc, Mutex, PoisonError}; + +use egui::epaint::text::{FontInsert, FontPriority, InsertFontFamily}; +use egui::{FontData, FontFamily}; use photocraft_doc::{DocId, LayerContent, LayerId, TextLayer}; pub use photocraft_text::served::{ServedFont, add_families, add_fonts, is_relative_path, parse_manifest, request_for_languages, take_requests}; @@ -12,12 +17,45 @@ use crate::PhotocraftApp; /// Layers whose document was busy with a background job when their font arrived. static PENDING: Mutex> = Mutex::new(Vec::new()); +/// Served script fallbacks in the UI's font stack, by egui font name, unscaled: kept so the stack +/// `theme::install_fonts` rebuilds on a language change includes them again. +static UI_FACES: Mutex)>> = Mutex::new(Vec::new()); + +/// The served faces for the end of the UI's font stack (see [`UI_FACES`]). +pub fn ui_faces() -> Vec<(String, Arc)> { + UI_FACES.lock().unwrap_or_else(PoisonError::into_inner).clone() +} + +/// Puts a delivered script fallback at the end of every UI font family, once. +fn add_ui_face(ctx: &egui::Context, family: &str, bytes: &[u8]) { + let name = format!("served-{family}"); + let mut data = { + let mut faces = UI_FACES.lock().unwrap_or_else(PoisonError::into_inner); + if faces.iter().any(|(n, _)| *n == name) { + return; + } + let data = FontData::from_owned(bytes.to_vec()); + faces.push((name.clone(), Arc::new(data.clone()))); + data + }; + crate::theme::size_ui_font(ctx, &name, &mut data); + let mut families: Vec = ctx.fonts(|f| f.definitions().families.keys().cloned().collect()); + for f in [FontFamily::Proportional, FontFamily::Monospace] { + if !families.contains(&f) { + families.push(f); + } + } + let families = families.into_iter().map(|family| InsertFontFamily { family, priority: FontPriority::Lowest }).collect(); + ctx.add_font(FontInsert { name, data, families }); +} + /// Registers delivered font files (`(family, bytes)`, the family as the manifest lists it) and /// re-renders the type layers that use those families, or whose text falls back to them (a script /// fallback, e.g. Arabic set in Inter), and show our own layout. A PSD layer still /// showing Photoshop's pixels (not edited yet) keeps them, as it does when its font is installed -/// from the start. Call it every frame: it also retries the layers of a document that was busy. -pub fn install(app: &mut PhotocraftApp, delivered: Vec<(String, Vec)>) { +/// from the start. A script fallback also joins the UI's font stack. Call it every frame: it also +/// retries the layers of a document that was busy. +pub fn install(app: &mut PhotocraftApp, ctx: &egui::Context, delivered: Vec<(String, Vec)>) { let mut layers = std::mem::take(&mut *PENDING.lock().unwrap_or_else(PoisonError::into_inner)); if !delivered.is_empty() { let families: Vec = delivered.iter().map(|(f, _)| f.clone()).collect(); @@ -34,6 +72,12 @@ pub fn install(app: &mut PhotocraftApp, delivered: Vec<(String, Vec)>) { } } } + let fallbacks = photocraft_text::served::script_fallback_families(); + for (family, bytes) in &delivered { + if fallbacks.contains(family) { + add_ui_face(ctx, family, bytes); + } + } let mut eng = photocraft_text::shared().lock().unwrap_or_else(PoisonError::into_inner); for (family, bytes) in delivered { let added = eng.fonts.register_font_data(bytes); @@ -89,4 +133,40 @@ mod tests { assert!(!redraws_for(&layer("hello"), &[thai.into()])); assert!(redraws_for(&layer("hello"), &["Inter".into()]), "and a layer still redraws for its own family"); } + + /// #10006: the web build has no system fonts, so a served Arabic fallback is what draws an + /// Arabic interface, also after a language change rebuilds the UI's font stack. + #[test] + fn a_served_script_fallback_draws_the_ui_and_survives_a_font_rebuild() { + // The web build's sources: no system fonts, no embedded craft fonts. + let web = || crate::cjk_fonts::Sources { + locale: || None, + files: |_| Vec::new(), + last_resort: Vec::new, + pending: || false, + scripts: |_| Vec::new(), + covers: |_, _| None, + embedded: crate::cjk_fonts::no_embedded, + eager_craft_fonts: false, + }; + let ctx = egui::Context::default(); + crate::theme::install_fonts_with(&ctx, web()); + ctx.set_missing_glyph_policy(egui::MissingGlyphPolicy::Panic); + // Font changes take effect on the next pass: one empty pass, then draw Arabic. + let draw = |ctx: &egui::Context, text: &str| { + ctx.run_ui(egui::RawInput::default(), |ui| { + ui.label(text); + }) + .textures_delta + .clear(); + }; + draw(&ctx, "File"); + add_ui_face(&ctx, "Served Test Arabic", &crate::cjk_fonts::tests::synthetic_font(&[(0x0600, 0x06FF)])); + draw(&ctx, "File"); + draw(&ctx, "ملف"); + // A language change rebuilds the stack; the served face comes back with it. + crate::theme::install_fonts_with(&ctx, web()); + draw(&ctx, "File"); + draw(&ctx, "ملف"); + } } diff --git a/crates/ui-egui/src/theme.rs b/crates/ui-egui/src/theme.rs index 88672fe75c..9b435ed283 100644 --- a/crates/ui-egui/src/theme.rs +++ b/crates/ui-egui/src/theme.rs @@ -878,6 +878,13 @@ pub fn install_fonts_with(ctx: &egui::Context, cjk: crate::cjk_fonts::Sources) { // family stack ahead of the Japanese or Korean face, and a locale without a Traditional Chinese // craft face leaves Han to the system font. (A single linear per-family chain still decides a // glyph once a broad face is discovered; see `cjk_fonts`.) + // Served script fallbacks the web build has received (Arabic, Japanese…), after everything else. + for (name, data) in crate::served_fonts::ui_faces() { + fonts.font_data.insert(name.clone(), data); + for family in [FontFamily::Proportional, FontFamily::Monospace] { + fonts.families.entry(family).or_default().push(name.clone()); + } + } // Named weights fall back to the default stack for missing glyphs. let fallback: Vec = fonts.families.get(&FontFamily::Proportional).cloned().unwrap_or_default(); for (fam, primary) in [("medium", medium), ("semibold", semibold)] { diff --git a/docs/localization-parity.md b/docs/localization-parity.md index ea6d2a23fa..9c4241fcc6 100644 --- a/docs/localization-parity.md +++ b/docs/localization-parity.md @@ -72,7 +72,7 @@ engine localization or native review is complete. Urdu and other right-to-left codes (`direction.rs`), but panel interiors, dialogs, menu rows, submenus and document tabs stay left to right. Word order within a label is right: egui 0.37 lays text out with the Unicode Bidirectional Algorithm. -- Web build: no browser-locale detection, no CJK web fonts. +- Web build: no browser-locale detection. It has no system fonts: Arabic, CJK and other non-Latin interface labels are drawn with the host's served script fonts (`packaging/web/README.md` › Fonts), and show as boxes on a host that serves none. - WebAssembly plug-ins disappear from Filter › Plug-ins when the UI isn't English (#2540). - A user couldn't find the language option (#2532): it is in Preferences › Interface. From 250940a4f5f441ac3d97c3ce6755b099ab81f8e2 Mon Sep 17 00:00:00 2001 From: David Mann Date: Wed, 28 Oct 2026 22:33:37 +0100 Subject: [PATCH 53/60] Arabic: terms chosen by a native speaker MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The first questionnaire answers (Iraqi Arabic): Filter فلتر, Feather تلاشي الحواف, Blur ضبابية, Liquify تمويع, Unsharp Mask قناع الحدة, Stroke حدود, Guides خطوط التوجيه, Canvas مساحة الرسم, Lasso الحبل, Clone Stamp ختم النسخ, Healing Brush فرشاة التصحيح, Color/Linear Burn تغميق, Content-Aware مراعٍ للمحتوى, Rasterize تنقيط, Bevel & Emboss شطب ونقش, Pattern نقشة, Posterize تقليل درجات اللون, Halftone أنصاف الألوان, Lens Flare وميض العدسة, Texture الملمس, Glyphs الرموز, Gamut النطاق اللوني; every row using them follows, with adjectives agreeing. Select › Modify › Border becomes حدود التحديد so it no longer reads like Stroke. Opacity (الشفافية, "transparency", would read 100% as fully transparent) and Crop (قص is Edit › Cut) keep العتامة and اقتصاص for now. Co-Authored-By: Claude Opus 5.5 --- crates/ui-egui/src/i18n/ar.tsv | 352 ++++++++++++++++----------------- 1 file changed, 176 insertions(+), 176 deletions(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index 05bd3c8016..2754679c0b 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -46,8 +46,8 @@ Target: الهدف: Selected Artboards ألواح التصميم المحددة Center Columns توسيط الأعمدة - Clear Existing Guides مسح الأدلة الموجودة - Invalid guide layout تخطيط أدلة غير صالح + Clear Existing Guides مسح خطوط التوجيه الموجودة + Invalid guide layout تخطيط خطوط توجيه غير صالح Leave empty for automatic size اتركه فارغًا للحجم التلقائي 5 Columns, 3 Rows 5 أعمدة، 3 صفوف 8 Columns 8 أعمدة @@ -65,7 +65,7 @@ Top Right أعلى اليمين Bottom Left أسفل اليسار Bottom Right أسفل اليمين - Filter مرشح + Filter فلتر View عرض Window نافذة Help تعليمات @@ -166,10 +166,10 @@ Add to Dictionary إضافة إلى القاموس No Spelling Suggestions لا توجد اقتراحات إملائية Fill… تعبئة… - Stroke… حدّ… - Content-Aware Fill… تعبئة مدركة للمحتوى… + Stroke… حدود… + Content-Aware Fill… تعبئة مراعية للمحتوى… Delete and Fill Selection حذف التحديد وتعبئته - Content-Aware Scale تحجيم مدرك للمحتوى + Content-Aware Scale تحجيم مراعٍ للمحتوى Puppet Warp التواء الدمية Perspective Warp التواء المنظور Free Transform تحويل حر @@ -197,7 +197,7 @@ Auto-Align Layers… محاذاة الطبقات تلقائيًا… Auto-Blend Layers… مزج الطبقات تلقائيًا… Define Brush Preset… تعريف إعداد فرشاة مسبق… - Define Pattern… تعريف نقش… + Define Pattern… تعريف نقشة… Define Custom Shape… تعريف شكل مخصص… Purge تفريغ Clipboard الحافظة @@ -225,9 +225,9 @@ Performance… الأداء… Scratch Disks… أقراص التخزين المؤقت… Cursors… المؤشرات… - Transparency & Gamut… الشفافية ونطاق الألوان… + Transparency & Gamut… الشفافية والنطاق اللوني… Units & Rulers… الوحدات والمساطر… - Guides, Grid & Slices… الأدلة والشبكة والشرائح… + Guides, Grid & Slices… خطوط التوجيه والشبكة والشرائح… Plug-ins… المكونات الإضافية… Type… النص… Enhanced Controls… عناصر التحكم المحسنة… @@ -268,11 +268,11 @@ Hue/Saturation… تدرج اللون/التشبع… Color Balance… توازن الألوان… Black & White… أبيض وأسود… - Photo Filter… مرشح الصور… + Photo Filter… فلتر الصور… Channel Mixer… مازج القنوات… Color Lookup… بحث الألوان… Invert عكس - Posterize… تقليل الألوان… + Posterize… تقليل درجات اللون… Threshold… العتبة… Gradient Map… خريطة التدرج… Selective Color… لون انتقائي… @@ -286,10 +286,10 @@ Auto Contrast تباين تلقائي Auto Color لون تلقائي Image Size… حجم الصورة… - Canvas Size… حجم لوحة الرسم… + Canvas Size… حجم مساحة الرسم… Image Rotation تدوير الصورة - Flip Canvas Horizontal قلب لوحة الرسم أفقيًا - Flip Canvas Vertical قلب لوحة الرسم عموديًا + Flip Canvas Horizontal قلب مساحة الرسم أفقيًا + Flip Canvas Vertical قلب مساحة الرسم عموديًا Crop اقتصاص Trim… تشذيب… Reveal All إظهار الكل @@ -339,7 +339,7 @@ Create Layer إنشاء طبقة Layer Style نمط الطبقة Blending Options… خيارات المزج… - Bevel & Emboss… شطف ونقش بارز… + Bevel & Emboss… شطب ونقش… Use Global Light استخدام الإضاءة العامة Overprint طباعة فوقية Inner Shadow… ظل داخلي… @@ -347,7 +347,7 @@ Satin… ساتان… Color Overlay… تراكب لوني… Gradient Overlay… تراكب التدرج… - Pattern Overlay… تراكب النقش… + Pattern Overlay… تراكب النقشة… Outer Glow… توهج خارجي… Drop Shadow… ظل مسقط… Copy Layer Style نسخ نمط الطبقة @@ -356,15 +356,15 @@ Global Light… إضاءة عامة… Hide All Effects إخفاء كل التأثيرات Scale Effects… تحجيم التأثيرات… - Smart Filter مرشح ذكي - Convert for Smart Filters تحويل للمرشحات الذكية - Clear Smart Filters مسح المرشحات الذكية - Disable Smart Filters تعطيل المرشحات الذكية - Delete Filter Mask حذف قناع المرشح - Disable Filter Mask تعطيل قناع المرشح + Smart Filter فلتر ذكي + Convert for Smart Filters تحويل للفلاتر الذكية + Clear Smart Filters مسح الفلاتر الذكية + Disable Smart Filters تعطيل الفلاتر الذكية + Delete Filter Mask حذف قناع الفلتر + Disable Filter Mask تعطيل قناع الفلتر Solid Color… لون مصمت… Gradient… تدرج… - Pattern… نقش… + Pattern… نقشة… Layer Mask قناع الطبقة Vector Mask قناع متجه Reveal Selection إظهار التحديد @@ -419,12 +419,12 @@ Duplicate Frame تكرار الإطار Frame from Layers إطار من الطبقات Video Frames to Layers… إطارات الفيديو إلى طبقات… - Rasterize تحويل إلى نقطية - Rasterize Type تحويل النص إلى نقطية - Rasterize Type Layer تحويل طبقة النص إلى نقطية - Rasterize Shape تحويل الشكل إلى نقطية - New Guide Layout… تخطيط أدلة جديد… - New Guides From Shape أدلة جديدة من الشكل + Rasterize تنقيط + Rasterize Type تنقيط النص + Rasterize Type Layer تنقيط طبقة النص + Rasterize Shape تنقيط الشكل + New Guide Layout… تخطيط خطوط توجيه جديد… + New Guides From Shape خطوط توجيه جديدة من الشكل Lock Layers… قفل الطبقات… Link Layers ربط الطبقات Select Linked Layers تحديد الطبقات المرتبطة @@ -489,7 +489,7 @@ Paragraph Panel لوحة الفقرة Character Styles Panel لوحة أنماط الأحرف Paragraph Styles Panel لوحة أنماط الفقرات - Glyphs Panel لوحة الحروف الرسومية + Glyphs Panel لوحة الرموز Anti-Alias إزالة التسنن Sharp حاد Crisp واضح @@ -547,45 +547,45 @@ Output الإخراج Refine Edge تحسين الحافة Modify تعديل - Border… حدود… + Border… حدود التحديد… Smooth… تنعيم… Expand… توسيع… Contract… تقليص… - Feather… تنعيم الحواف… + Feather… تلاشي الحواف… Grow توسيع النطاق Transform Selection تحويل التحديد Edit in Quick Mask Mode تحرير في وضع القناع السريع Load Selection… تحميل التحديد… Save Selection… حفظ التحديد… Match All مطابقة الكل - Last Filter آخر مرشح - Filter Gallery… معرض المرشحات… + Last Filter آخر فلتر + Filter Gallery… معرض الفلاتر… Adaptive Wide Angle… زاوية واسعة تكيفية… - Camera Raw Filter… مرشح Camera Raw… - Liquify… تسييل… + Camera Raw Filter… فلتر Camera Raw… + Liquify… تمويع… Vanishing Point… نقطة التلاشي… - Blur تمويه - Blur Gallery معرض التمويه - Field Blur… تمويه الحقل… + Blur ضبابية + Blur Gallery معرض الضبابية + Field Blur… ضبابية الحقل… # Field Blur pins (#3373) No pin selected لم يتم تحديد أي دبوس - Click the image to add a pin; drag a pin to move it, or its ring to change its blur. Delete removes the selected pin. انقر على الصورة لإضافة دبوس؛ اسحب الدبوس لتحريكه، أو حلقته لتغيير التمويه. يؤدي Delete إلى إزالة الدبوس المحدد. - Drag the handles on the outline to resize and turn it, the square to round its corners, and the dots inside to set where the blur starts. اسحب المقابض على المخطط لتغيير حجمه وتدويره، والمربع لتدوير زواياه، والنقاط في الداخل لتحديد مكان بدء التمويه. - Drag the pin to move the band, or its ring to change its blur. Drag the solid lines to widen the sharp band, the dashed lines to set the transition, and the dots to turn it. اسحب الدبوس لتحريك الشريط، أو حلقته لتغيير التمويه. اسحب الخطوط المتصلة لتوسيع الشريط الحاد، والخطوط المتقطعة لضبط الانتقال، والنقاط لتدويره. - Drag the handles on the outline to resize and turn it; the ring sets the blur angle. اسحب المقابض على المخطط لتغيير حجمه وتدويره؛ وتحدد الحلقة زاوية التمويه. - Iris Blur… تمويه القزحية… + Click the image to add a pin; drag a pin to move it, or its ring to change its blur. Delete removes the selected pin. انقر على الصورة لإضافة دبوس؛ اسحب الدبوس لتحريكه، أو حلقته لتغيير الضبابية. يؤدي Delete إلى إزالة الدبوس المحدد. + Drag the handles on the outline to resize and turn it, the square to round its corners, and the dots inside to set where the blur starts. اسحب المقابض على المخطط لتغيير حجمه وتدويره، والمربع لتدوير زواياه، والنقاط في الداخل لتحديد مكان بدء الضبابية. + Drag the pin to move the band, or its ring to change its blur. Drag the solid lines to widen the sharp band, the dashed lines to set the transition, and the dots to turn it. اسحب الدبوس لتحريك الشريط، أو حلقته لتغيير الضبابية. اسحب الخطوط المتصلة لتوسيع الشريط الحاد، والخطوط المتقطعة لضبط الانتقال، والنقاط لتدويره. + Drag the handles on the outline to resize and turn it; the ring sets the blur angle. اسحب المقابض على المخطط لتغيير حجمه وتدويره؛ وتحدد الحلقة زاوية الضبابية. + Iris Blur… ضبابية القزحية… Tilt-Shift… إمالة وإزاحة… - Path Blur… تمويه المسار… - Spin Blur… تمويه الدوران… - Blur More تمويه أكثر - Box Blur… تمويه صندوقي… - Gaussian Blur… تمويه غاوسي… - Lens Blur… تمويه العدسة… - Motion Blur… تمويه الحركة… - Radial Blur… تمويه شعاعي… - Shape Blur… تمويه الشكل… - Smart Blur… تمويه ذكي… - Surface Blur… تمويه السطح… + Path Blur… ضبابية المسار… + Spin Blur… ضبابية الدوران… + Blur More ضبابية أكثر + Box Blur… ضبابية صندوقية… + Gaussian Blur… ضبابية غاوسية… + Lens Blur… ضبابية العدسة… + Motion Blur… ضبابية الحركة… + Radial Blur… ضبابية شعاعية… + Shape Blur… ضبابية الشكل… + Smart Blur… ضبابية ذكية… + Surface Blur… ضبابية السطح… Average متوسط Displace… إزاحة… Pinch… قرص… @@ -603,7 +603,7 @@ Median… وسيط… Reduce Noise… تقليل التشويش… Pixelate بكسلة - Color Halftone… نصف نغمة ملونة… + Color Halftone… أنصاف ألوان… Crystallize… تبلور… Facet أوجه Fragment تجزئة @@ -615,7 +615,7 @@ Difference Clouds غيوم الفرق Fibers… ألياف… Flame… لهب… - Lens Flare… توهج العدسة… + Lens Flare… وميض العدسة… Lighting Effects… تأثيرات الإضاءة… Relight… إعادة الإضاءة… Picture Frame… إطار صورة… @@ -624,7 +624,7 @@ Sharpen Edges زيادة حدة الحواف Sharpen More زيادة الحدة أكثر Smart Sharpen… زيادة حدة ذكية… - Unsharp Mask… قناع زيادة الحدة… + Unsharp Mask… قناع الحدة… High Pass… تمرير عالٍ… Stylize تنميط Diffuse… انتشار… @@ -646,7 +646,7 @@ Plug-ins المكونات الإضافية Proof Setup إعداد المعاينة الطباعية Proof Colors ألوان المعاينة الطباعية - Gamut Warning تحذير نطاق الألوان + Gamut Warning تحذير النطاق اللوني Working CMYK مساحة عمل CMYK Working Cyan Plate لوح السماوي العامل Working Magenta Plate لوح الأرجواني العامل @@ -693,17 +693,17 @@ Target Path المسار المستهدف Current Path المسار الحالي Grid الشبكة - Guides الأدلة - Canvas Guides أدلة لوحة الرسم - Artboard Guides أدلة لوح التصميم + Guides خطوط التوجيه + Canvas Guides خطوط توجيه مساحة الرسم + Artboard Guides خطوط توجيه لوح التصميم Count العدد - Smart Guides الأدلة الذكية + Smart Guides خطوط التوجيه الذكية Slices الشرائح Notes الملاحظات Pixel Grid شبكة البكسل Pixel Art فن البكسل Pixel Art Preview معاينة فن البكسل - Pattern Preview معاينة النقش + Pattern Preview معاينة النقشة Brush Preview معاينة الفرشاة Mesh شبكة Edit Pins تحرير الدبابيس @@ -712,11 +712,11 @@ Rulers المساطر Snap المحاذاة التلقائية Snap To المحاذاة التلقائية إلى - Lock Guides قفل الأدلة - Clear Guides مسح الأدلة - Clear Selected Artboard Guides مسح أدلة لوح التصميم المحددة - Clear Canvas Guides مسح أدلة لوحة الرسم - New Guide… دليل جديد… + Lock Guides قفل خطوط التوجيه + Clear Guides مسح خطوط التوجيه + Clear Selected Artboard Guides مسح خطوط توجيه لوح التصميم المحدد + Clear Canvas Guides مسح خطوط توجيه مساحة الرسم + New Guide… خط توجيه جديد… Lock Slices قفل الشرائح Clear Slices مسح الشرائح Match Zoom مطابقة التكبير @@ -776,9 +776,9 @@ Channels القنوات Character الحرف Character Styles أنماط الحروف - Clone Source مصدر الاستنساخ + Clone Source مصدر النسخ Color اللون - Glyphs الحروف الرسومية + Glyphs الرموز Gradients التدرجات Histogram المدرج التكراري History السجل @@ -790,7 +790,7 @@ Paragraph الفقرة Paragraph Styles أنماط الفقرات Paths المسارات - Patterns النقوش + Patterns النقشات Properties الخصائص Shapes الأشكال Styles الأنماط @@ -934,8 +934,8 @@ Cancel current crop operation (Esc) إلغاء عملية الاقتصاص الحالية (Esc) Cancel transform (Esc) إلغاء التحويل (Esc) Cancel warp (Esc) إلغاء الالتواء (Esc) - Canvas لوحة الرسم - Canvas extension color: لون تمديد لوحة الرسم: + Canvas مساحة الرسم + Canvas extension color: لون تمديد مساحة الرسم: Capture التقاط Capture the visibility, position and style of every layer with + below, then switch between versions. التقط رؤية كل طبقة وموضعها ونمطها بزر + أدناه، ثم بدّل بين الإصدارات. Catch-up on Stroke End اللحاق عند نهاية الضربة @@ -991,7 +991,7 @@ Constant ثابت Constrain proportions تقييد النسب Contact Sheet II ورقة اتصال II - Content-Aware مدرك للمحتوى + Content-Aware مراعٍ للمحتوى Contiguous متجاور Contrast التباين Control: التحكم: @@ -1006,7 +1006,7 @@ Count Jitter تذبذب العدد Create إنشاء Create Droplet إنشاء قُطيرة - Create Texture إنشاء نسيج + Create Texture إنشاء ملمس Create Video Timeline إنشاء مخطط زمني للفيديو Create a new count group إنشاء مجموعة عد جديدة Create a new document or open an existing file. أنشئ مستندًا جديدًا أو افتح ملفًا موجودًا. @@ -1019,7 +1019,7 @@ Create new gradient إنشاء تدرج جديد Create new group إنشاء مجموعة جديدة Create new layer comp إنشاء تركيبة طبقات جديدة - Create new pattern from the selection إنشاء نقش جديد من التحديد + Create new pattern from the selection إنشاء نقشة جديدة من التحديد Create new shape from the current path إنشاء شكل جديد من المسار الحالي Create new snapshot إنشاء لقطة جديدة From: من: @@ -1138,7 +1138,7 @@ Factor: المعامل: Faux Bold غامق زائف Faux Italic مائل زائف - Feather تنعيم الحواف + Feather تلاشي الحواف Fewer Points نقاط أقل File Settings إعدادات الملف Fill تعبئة @@ -1256,7 +1256,7 @@ Linear Gradient تدرج خطي Link layers ربط الطبقات Link width and height ربط العرض والارتفاع - Liquify is not open أداة التسييل غير مفتوحة + Liquify is not open أداة التمويع غير مفتوحة Load تحميل Load 3D LUT… تحميل 3D LUT… Load channel as selection تحميل القناة كتحديد @@ -1335,7 +1335,7 @@ Open a document to use the timeline. افتح مستندًا لاستخدام المخطط الزمني. Optical بصري Optimized محسّن - Option-click to define a source point to clone from انقر مع Option لتحديد نقطة مصدر للاستنساخ منها + Option-click to define a source point to clone from انقر مع Option لتحديد نقطة مصدر للنسخ منها Original الأصلي Output Channel: قناة الإخراج: Output Levels: مستويات الإخراج: @@ -1355,14 +1355,14 @@ Panel locations are saved in the workspace. Keyboard shortcuts, menus and toolbar are optional. تُحفظ مواقع اللوحات في مساحة العمل. اختصارات لوحة المفاتيح والقوائم وشريط الأدوات اختيارية. Paper الورق Path مسار - Pattern النقش - Pattern Size حجم النقش + Pattern النقشة + Pattern Size حجم النقشة Pause إيقاف مؤقت Percent النسبة المئوية Perceptual إدراكي Perspective Warp is not active التواء المنظور غير نشط Perspective Warp: draw planes along the image's perspective, then switch to Warp التواء المنظور: ارسم مستويات وفق منظور الصورة، ثم انتقل إلى الالتواء - Photo Filter مرشح الصور + Photo Filter فلتر الصور PhotoCraft PhotoCraft PhotoCraft Manages Colors PhotoCraft يدير الألوان PhotoCraft — an open-source, native image editor written in Rust. PhotoCraft — محرر صور أصلي ومفتوح المصدر مكتوب بلغة Rust. @@ -1376,7 +1376,7 @@ Portrait عمودي Position الموضع Position and Size الموضع والحجم - Posterize تقليل الألوان + Posterize تقليل درجات اللون Preserve Details الحفاظ على التفاصيل Preserve Luminosity الحفاظ على اللمعان Preset إعداد مسبق @@ -1486,7 +1486,7 @@ Search fonts البحث في الخطوط Select All تحديد الكل Select Subject تحديد الموضوع - Select a type layer or click into text to insert glyphs حدد طبقة نص أو انقر داخل النص لإدراج حروف رسومية + Select a type layer or click into text to insert glyphs حدد طبقة نص أو انقر داخل النص لإدراج رموز Select text to apply a character style حدد نصًا لتطبيق نمط حرف Select: التحديد: Selections التحديدات @@ -1499,7 +1499,7 @@ Set painting symmetry options تعيين خيارات تناظر الرسم Symmetry Off إيقاف التناظر Set shape fill type تعيين نوع تعبئة الشكل - Set shape stroke type تعيين نوع حدّ الشكل + Set shape stroke type تعيين نوع حدود الشكل Set the text color تعيين لون النص Create warped text إنشاء نص ملتوٍ Shadows الظلال @@ -1509,7 +1509,7 @@ Shortcut removed. تمت إزالة الاختصار. Show All Menu Items إظهار كل عناصر القائمة Show Backdrop إظهار الخلفية - Show Guides إظهار الأدلة + Show Guides إظهار خطوط التوجيه Show Mask إظهار القناع Show Mesh إظهار الشبكة Show Overlay إظهار التراكب @@ -1522,7 +1522,7 @@ Size Jitter تذبذب الحجم Size: الحجم: Slice Options… خيارات الشريحة… - Slices From Guides شرائح من الأدلة + Slices From Guides شرائح من خطوط التوجيه Slices are locked (View › Lock Slices) الشرائح مقفلة (عرض › قفل الشرائح) Small Caps أحرف استهلالية صغيرة Smoothing التنعيم @@ -1537,9 +1537,9 @@ Straighten Layer تقويم الطبقة Strength: القوة: Strikethrough يتوسطه خط - Stroke حدّ + Stroke حدود Stroke Catch-up لحاق الضربة - Stroke: حدّ: + Stroke: حدود: Location الموقع Location: الموقع: Style النمط @@ -1556,8 +1556,8 @@ Temperature درجة الحرارة Tetrahedral رباعي السطوح Text Position: موضع النص: - Texture النسيج - Texture Each Tip نسيج لكل رأس + Texture الملمس + Texture Each Tip ملمس لكل رأس Threshold العتبة Threshold Level مستوى العتبة Thumbnail size (smallest: list) حجم الصورة المصغرة (الأصغر: قائمة) @@ -1636,10 +1636,10 @@ Art & Illustration الفن والرسم التوضيحي ArtCraft ArtCraft Background Eraser Tool أداة ممحاة الخلفية - Bevel & Emboss شطف ونقش بارز + Bevel & Emboss شطب ونقش Blend Mode وضع المزج Blues درجات الأزرق - Blur Tool أداة التمويه + Blur Tool أداة الضبابية Bold غامق Brush فرشاة Block كتلة @@ -1653,14 +1653,14 @@ Classic كلاسيكي Click to add text انقر لإضافة نص Click to fill similar colours انقر لتعبئة الألوان المتشابهة - Clone Stamp Tool أداة ختم الاستنساخ - Color Burn حرق اللون + Clone Stamp Tool أداة ختم النسخ + Color Burn تغميق اللون Color Dodge تفتيح اللون Color Dynamics ديناميكيات اللون Color Overlay تراكب اللون Comic Book قصص مصورة Conform مطابقة - Content-Aware Fill needs a selection on a pixel layer تتطلب التعبئة المدركة للمحتوى تحديدًا على طبقة بكسل + Content-Aware Fill needs a selection on a pixel layer تتطلب التعبئة المراعية للمحتوى تحديدًا على طبقة بكسل Could not transform: the layer is empty تعذر التحويل: الطبقة فارغة Could not use Perspective Warp: the layer is empty تعذر استخدام التواء المنظور: الطبقة فارغة Could not use Puppet Warp: no opaque pixels تعذر استخدام التواء الدمية: لا توجد بكسلات معتمة @@ -1711,7 +1711,7 @@ Hand Tool أداة اليد Hard صلب Hard Mix مزج صلب - Healing Brush Tool أداة فرشاة الإصلاح + Healing Brush Tool أداة فرشاة التصحيح Highlights from: الإضاءات من: History Brush Tool أداة فرشاة السجل Horizontal Type Tool أداة النص الأفقي @@ -1721,15 +1721,15 @@ Inches بوصة Indexed مفهرس Initial Direction الاتجاه الأولي - Inner Bevel شطف داخلي + Inner Bevel شطب داخلي Inner Glow توهج داخلي Inner Shadow ظل داخلي Lab Lab Landscape, 10 x 8 أفقي، 10 × 8 Landscape, 6 x 4 أفقي، 6 × 4 Landscape, 7 x 5 أفقي، 7 × 5 - Lasso اللاسو - Lasso Tool أداة اللاسو + Lasso الحبل + Lasso Tool أداة الحبل Layer Count عدد الطبقات Layer Knocks Out Drop Shadow الطبقة تقتطع الظل المسقط Legal Legal @@ -1737,7 +1737,7 @@ Light فاتح Line Tool أداة الخط Linear خطي - Linear Burn حرق خطي + Linear Burn تغميق خطي Linear Height ارتفاع خطي Link with Layer ربط مع الطبقة Lorem Ipsum Lorem Ipsum @@ -1763,8 +1763,8 @@ Open فتح Orange برتقالي Original Ratio النسبة الأصلية - Out Of Gamut خارج نطاق الألوان - Outer Bevel شطف خارجي + Out Of Gamut خارج النطاق اللوني + Outer Bevel شطب خارجي Outer Glow توهج خارجي Overlay تراكب Paint Bucket Tool أداة دلو الطلاء @@ -1775,7 +1775,7 @@ Delete Anchor Point Tool أداة حذف نقطة ارتكاز Click a segment to add an anchor point · {alt}-click an anchor to delete it انقر على مقطع لإضافة نقطة ارتكاز · {alt}+نقر على نقطة ارتكاز لحذفها Click an anchor point to delete it · {alt}-click a segment to add one انقر على نقطة ارتكاز لحذفها · {alt}+نقر على مقطع لإضافة نقطة - Pattern Overlay تراكب النقش + Pattern Overlay تراكب النقشة Pen Pressure ضغط القلم Pen Tilt إمالة القلم Pen Tool أداة القلم @@ -1788,7 +1788,7 @@ Pixels بكسل Points نقطة Polygon Tool أداة المضلع - Polygonal Lasso Tool أداة اللاسو المضلع + Polygonal Lasso Tool أداة الحبل المضلع Portrait, 4 x 6 عمودي، 4 × 6 Portrait, 5 x 7 عمودي، 5 × 7 PostScript (72 points/inch) PostScript (72 نقطة/بوصة) @@ -1798,13 +1798,13 @@ Pro (Light) Pro (فاتح) Pro (Light Gray) Pro (رمادي فاتح) Pro (Medium Gray) Pro (رمادي متوسط) - Protect Texture حماية النسيج + Protect Texture حماية الملمس Purple بنفسجي Quick Mask قناع سريع Quick Selection Tool أداة التحديد السريع Radial شعاعي - Rasterize Layer تحويل الطبقة إلى نقطية - Rasterize Layers تحويل الطبقات إلى نقطية + Rasterize Layer تنقيط الطبقة + Rasterize Layers تنقيط الطبقات Ratio النسبة Recent الأخيرة Rectangle Tool أداة المستطيل @@ -1826,14 +1826,14 @@ Show Extras Options خيارات إظهار الإضافات Slice Select Tool أداة تحديد الشريحة Slice Tool أداة الشريحة - Smart Filters مرشحات ذكية + Smart Filters فلاتر ذكية Smudge Tool أداة التلطيخ Soft ناعم Soften تنعيم Source المصدر Source: set المصدر: مضبوط Sponge Tool أداة الإسفنجة - Spot Healing Brush Tool أداة فرشاة إصلاح البقع + Spot Healing Brush Tool أداة فرشاة تصحيح البقع Spread انتشار Square, 12 x 12 مربع، 12 × 12 Square, 5 x 5 مربع، 5 × 5 @@ -1904,12 +1904,12 @@ Cache levels مستويات ذاكرة التخزين المؤقت Cache tile size حجم بلاطة ذاكرة التخزين المؤقت Camera Raw Defaults إعدادات Camera Raw الافتراضية - Canvas border حد لوحة الرسم - Show canvas dots إظهار نقاط لوحة الرسم + Canvas border حدود مساحة الرسم + Show canvas dots إظهار نقاط مساحة الرسم Clip thumbnails to layer bounds قصر الصور المصغرة على حدود الطبقة Clip Thumbnails to Layer Bounds قصر الصور المصغرة على حدود الطبقة - Canvas color لون لوحة الرسم - Canvas custom color لون مخصص للوحة الرسم + Canvas color لون مساحة الرسم + Canvas custom color لون مخصص لمساحة الرسم Color picker منتقي الألوان Color space مساحة الألوان Column width عرض العمود @@ -1943,8 +1943,8 @@ Fill new type layers with placeholder تعبئة طبقات النص الجديدة بنص نائب Font preview معاينة الخط Full size tip رأس بالحجم الكامل - Gamut warning color لون تحذير نطاق الألوان - Gamut warning opacity عتامة تحذير نطاق الألوان + Gamut warning color لون تحذير النطاق اللوني + Gamut warning opacity عتامة تحذير النطاق اللوني Enable Generator تمكين المولّد Gif GIF Glossy لامع @@ -1954,9 +1954,9 @@ Grid style نمط الشبكة Grid unit وحدة الشبكة Gridline every خط الشبكة كل - Guide color لون الدليل - Guide style نمط الدليل - Guides, Grid & Slices الأدلة والشبكة والشرائح + Guide color لون خطوط التوجيه + Guide style نمط خطوط التوجيه + Guides, Grid & Slices خطوط التوجيه والشبكة والشرائح Gutter الفاصل بين الأعمدة History Log سجل التاريخ History states حالات السجل @@ -1979,7 +1979,7 @@ Medium gray رمادي متوسط Memory usage mb استخدام الذاكرة (ميغابايت) Low resolution previews معاينات منخفضة الدقة - Missing glyph protection حماية الحروف الرسومية المفقودة + Missing glyph protection حماية الرموز المفقودة Modern حديث Nearest neighbor أقرب جار Never أبدًا @@ -2031,7 +2031,7 @@ System title bar شريط عنوان النظام Show transformation values إظهار قيم التحويل Slice color لون الشريحة - Smart guide color لون الأدلة الذكية + Smart guide color لون خطوط التوجيه الذكية Smart quotes علامات اقتباس ذكية Snap vector tools and transforms to pixel grid المحاذاة التلقائية للأدوات المتجهة والتحويلات إلى شبكة البكسل Srgb sRGB @@ -2046,7 +2046,7 @@ Text file ملف نصي Tiny ضئيل Touch gestures إيماءات اللمس - Transparency & Gamut الشفافية ونطاق الألوان + Transparency & Gamut الشفافية والنطاق اللوني Type units وحدات النص UI font size حجم خط الواجهة UI scale مقياس الواجهة @@ -2120,8 +2120,8 @@ Click to sample the foreground colour · {key}-click for background انقر لأخذ عينة من لون المقدمة · {key}+نقر للون الخلفية {key}-click to set the source {key}+نقر لضبط المصدر {key} to subtract {key} للطرح - Clone source {n} ({key}-click with Clone Stamp to set) مصدر الاستنساخ {n} ({key}+نقر بأداة ختم الاستنساخ للضبط) - Source: not set ({key}-click with Clone Stamp) المصدر: غير مضبوط ({key}+نقر بأداة ختم الاستنساخ) + Clone source {n} ({key}-click with Clone Stamp to set) مصدر النسخ {n} ({key}+نقر بأداة ختم النسخ للضبط) + Source: not set ({key}-click with Clone Stamp) المصدر: غير مضبوط ({key}+نقر بأداة ختم النسخ) Pixel Layer طبقة بكسل Type Layer طبقة نص Shape Layer طبقة شكل @@ -2129,9 +2129,9 @@ Fill Layer طبقة تعبئة Smart Object Layer طبقة كائن ذكي Create Warped Text إنشاء نص ملتوٍ - Rasterize Smart Object تحويل الكائن الذكي إلى نقطية - Rasterize Fill Content تحويل محتوى التعبئة إلى نقطية - Rasterize Layer Style تحويل نمط الطبقة إلى نقطية + Rasterize Smart Object تنقيط الكائن الذكي + Rasterize Fill Content تنقيط محتوى التعبئة + Rasterize Layer Style تنقيط نمط الطبقة Unlock: picking a preset replaces these settings إلغاء القفل: اختيار إعداد مسبق يستبدل هذه الإعدادات Lock: keep these settings when picking another preset قفل: الاحتفاظ بهذه الإعدادات عند اختيار إعداد مسبق آخر Diameter: القطر: @@ -2194,7 +2194,7 @@ Horizontal type نص أفقي Vertical type نص عمودي Fill path with foreground color تعبئة المسار بلون المقدمة - Stroke path with brush رسم حد للمسار بالفرشاة + Stroke path with brush رسم حدود للمسار بالفرشاة Load path as a selection تحميل المسار كتحديد Make work path from selection إنشاء مسار عمل من التحديد Add vector mask إضافة قناع متجه @@ -2210,7 +2210,7 @@ OpenGL OpenGL Use tablet pressure استخدام ضغط الجهاز اللوحي Vulkan Vulkan - Alt-click to define a source point to clone from انقر مع Alt لتحديد نقطة مصدر للاستنساخ منها + Alt-click to define a source point to clone from انقر مع Alt لتحديد نقطة مصدر للنسخ منها No path to make a selection from: draw one with the Pen tool or select one in the Paths panel. لا يوجد مسار لإنشاء تحديد منه: ارسم مسارًا بأداة القلم أو حدد مسارًا في لوحة المسارات. Cancel opening إلغاء الفتح Cancelled opening {name} تم إلغاء فتح {name} @@ -2243,7 +2243,7 @@ Chrome كروم Conté Crayon قلم Conté Graphic Pen قلم رسومي - Halftone Pattern نقش نصف نغمة + Halftone Pattern نقشة أنصاف الألوان Note Paper ورق ملاحظات Photocopy نسخ ضوئي Plaster جبس @@ -2253,7 +2253,7 @@ Water Paper ورق مائي Move تحريك Pencil قلم رصاص - Clone Stamp ختم الاستنساخ + Clone Stamp ختم النسخ Dodge تفتيح Burn تغميق Quick Selection تحديد سريع @@ -2275,7 +2275,7 @@ Make Work Path إنشاء مسار عمل Make Selection إنشاء تحديد Fill Path تعبئة المسار - Stroke Path رسم حد للمسار + Stroke Path رسم حدود للمسار Delete Path حذف المسار Rename Path… إعادة تسمية المسار… W ع @@ -2292,7 +2292,7 @@ Pencil Tool أداة القلم الرصاص Pixel بكسل Adjustment تعديل - Drag (lasso) or click points (polygonal) · {add} add · {sub} subtract اسحب (لاسو) أو انقر على النقاط (مضلع) · {add} إضافة · {sub} طرح + Drag (lasso) or click points (polygonal) · {add} add · {sub} subtract اسحب (حبل) أو انقر على النقاط (مضلع) · {add} إضافة · {sub} طرح Drag a crop box · drag inside to move · edges resize ({ratio} ratio, {centre} centre) · Space moves while drawing · arrows nudge · X swaps orientation · {commit} commits · Esc cancels اسحب مربع اقتصاص · اسحب من الداخل للتحريك · الحواف لتغيير الحجم ({ratio} للنسبة، {centre} للمركز) · Space للتحريك أثناء الرسم · الأسهم للدفع الدقيق · X لتبديل الاتجاه · {commit} للتأكيد · Esc للإلغاء {mode} Color · {bits} bit لون {mode} · {bits} بت Scrubby Zoom تكبير سحبي @@ -2337,16 +2337,16 @@ GPU Backend واجهة GPU الخلفية Details التفاصيل Rendering mode وضع التصيير - Freeze Lasso: drag to freeze an area, Alt-drag to thaw it (L) لاسو التجميد: اسحب لتجميد منطقة، واسحب مع Alt لإذابتها (L) + Freeze Lasso: drag to freeze an area, Alt-drag to thaw it (L) حبل التجميد: اسحب لتجميد منطقة، واسحب مع Alt لإذابتها (L) 3 x 3 3 × 3 4 x 4 4 × 4 5 x 5 5 × 5 - Camera Raw Filter ({layer}) مرشح Camera Raw ({layer}) + Camera Raw Filter ({layer}) فلتر Camera Raw ({layer}) Camera Raw ({name}) Camera Raw ({name}) Edit Type تحرير النص Grid: الشبكة: Highlight Clipping Warning (O) تحذير اقتطاع الإضاءات (O) - Lasso around an area, then drag the selection حدّد منطقة بأداة اللاسو ثم اسحب التحديد + Lasso around an area, then drag the selection حدّد منطقة بأداة الحبل ثم اسحب التحديد Transform On Drop تحويل عند الإفلات Scale or rotate the moved area, then press {key} حجّم المنطقة المنقولة أو دوّرها، ثم اضغط {key} Now drag the selection onto another area الآن اسحب التحديد إلى منطقة أخرى @@ -2368,13 +2368,13 @@ 175% 175% 250% 250% 300% 300% - No patterns لا توجد نقوش + No patterns لا توجد نقشات Enable {name} تمكين {name} Hold Alt while drawing for straight segments اضغط مع الاستمرار على Alt أثناء الرسم للحصول على مقاطع مستقيمة - Drag or click polygon points · hold Alt during lasso for straight segments · {add} add · {sub} before drawing subtracts اسحب أو انقر نقاط المضلع · اضغط مع الاستمرار على Alt أثناء التحديد باللاسو للمقاطع المستقيمة · {add} للإضافة · {sub} قبل الرسم للطرح + Drag or click polygon points · hold Alt during lasso for straight segments · {add} add · {sub} before drawing subtracts اسحب أو انقر نقاط المضلع · اضغط مع الاستمرار على Alt أثناء التحديد بالحبل للمقاطع المستقيمة · {add} للإضافة · {sub} قبل الرسم للطرح Extend تمديد Structure: البنية: - Content-Aware Move Tool أداة التحريك المدرك للمحتوى + Content-Aware Move Tool أداة التحريك المراعي للمحتوى TIFF Options خيارات TIFF Targa Options خيارات Targa JPEG Options خيارات JPEG @@ -2396,7 +2396,7 @@ Reset to Default إعادة تعيين إلى الافتراضي Couldn't place {name}: {error} تعذر وضع {name}: {error} Full-resolution preview unavailable المعاينة بالدقة الكاملة غير متاحة - Magnetic Lasso Tool أداة اللاسو المغناطيسي + Magnetic Lasso Tool أداة الحبل المغناطيسي Frequency التردد Use tablet pressure to change pen width استخدام ضغط الجهاز اللوحي لتغيير عرض القلم @@ -2446,15 +2446,15 @@ Blend If: المزج إذا: Channels: القنوات: Knockout تفريغ - Apply At Canvas Bounds تطبيق عند حدود لوحة الرسم + Apply At Canvas Bounds تطبيق عند حدود مساحة الرسم # Shared screen eyedropper and text Color Picker (#1128). Color Picker (Text Color) منتقي الألوان (لون النص) Color Picker ({name}) منتقي الألوان ({name}) Color Picker (Fill Color) منتقي الألوان (لون التعبئة) Fill color لون التعبئة - Color Picker (Stroke Color) منتقي الألوان (لون الحد) - Stroke color لون الحد + Color Picker (Stroke Color) منتقي الألوان (لون الحدود) + Stroke color لون الحدود Pick screen color اختيار لون من الشاشة Sample a pixel anywhere on the screen أخذ عينة من بكسل في أي مكان على الشاشة Click to pick · Esc to cancel انقر للاختيار · Esc للإلغاء @@ -2468,7 +2468,7 @@ # Fill dialog, layer style contours and Image Size Contents: المحتويات: - Custom Pattern: نقش مخصص: + Custom Pattern: نقشة مخصصة: Foreground Color لون المقدمة Color… اللون… 50% Gray رمادي 50% @@ -2535,8 +2535,8 @@ fontWeight Black أسود fontWeight Italic مائل # Pattern Stamp tool - Pattern Stamp Tool أداة ختم النقش - Pattern Stamp ختم النقش + Pattern Stamp Tool أداة ختم النقشة + Pattern Stamp ختم النقشة Impressionist انطباعي Rotate View تدوير العرض Rotate View Tool أداة تدوير العرض @@ -2569,8 +2569,8 @@ fontWeight Italic مائل Opacity Threshold عتبة العتامة PhotoCraft — Screen Color Picker PhotoCraft — منتقي ألوان الشاشة - Rasterize svg groups deeper than تحويل مجموعات SVG إلى نقطية إذا كانت أعمق من - 0 turns this threshold off; SVG groups nested deeper than 100 levels are always rasterized. 0 يعطّل هذه العتبة؛ تُحوَّل مجموعات SVG المتداخلة بعمق أكبر من 100 مستوى إلى نقطية دائمًا. + Rasterize svg groups deeper than تنقيط مجموعات SVG إذا كانت أعمق من + 0 turns this threshold off; SVG groups nested deeper than 100 levels are always rasterized. 0 يعطّل هذه العتبة؛ تُنقَّط مجموعات SVG المتداخلة بعمق أكبر من 100 مستوى دائمًا. Rule of Thirds قاعدة الأثلاث Triangle مثلث Golden Ratio النسبة الذهبية @@ -2602,7 +2602,7 @@ fontWeight Italic مائل Set additional Crop options تعيين خيارات اقتصاص إضافية Show Cropped Area إظهار المنطقة المقتصة Enable Crop Shield تمكين درع الاقتصاص - Match Canvas مطابقة لوحة الرسم + Match Canvas مطابقة مساحة الرسم Auto Adjust Opacity ضبط العتامة تلقائيًا Crop Shield color لون درع الاقتصاص Color Picker (Crop Shield Color) منتقي الألوان (لون درع الاقتصاص) @@ -2625,9 +2625,9 @@ fontWeight Italic مائل Glow توهج Negation نفي XOR XOR - Color Burn (Paint.NET) حرق اللون (Paint.NET) + Color Burn (Paint.NET) تغميق اللون (Paint.NET) Color Dodge (Paint.NET) تفتيح اللون (Paint.NET) - Stroke Options خيارات الحد + Stroke Options خيارات الحدود Solid مصمت Dashed متقطع Dotted منقط @@ -2642,13 +2642,13 @@ fontWeight Italic مائل Dashed line خط متقطع Dash شرطة Gap فجوة - Dash / gap lengths × stroke width أطوال الشرطة / الفجوة × عرض الحد + Dash / gap lengths × stroke width أطوال الشرطة / الفجوة × عرض الحدود Add pair إضافة زوج Remove pair إزالة زوج Dash offset إزاحة الشرطة Open paths use centered strokes المسارات المفتوحة تستخدم حدودًا مركزية Use finite lengths and a positive pattern total استخدم أطوالًا منتهية ومجموعًا موجبًا للشرطات والفجوات - No subject found — try Object Selection or the Lasso لم يُعثر على موضوع — جرّب تحديد الكائنات أو اللاسو + No subject found — try Object Selection or the Lasso لم يُعثر على موضوع — جرّب تحديد الكائنات أو الحبل Quick Selection found nothing there لم يجد التحديد السريع شيئًا هناك Object Selection found nothing there — try a tighter rectangle لم يجد تحديد الكائنات شيئًا هناك — جرّب مستطيلًا أضيق No subject found — try a rectangle around the object لم يُعثر على موضوع — جرّب مستطيلًا حول الكائن @@ -2736,7 +2736,7 @@ cameraData Lens العدسة Animation Options خيارات الرسوم المتحركة Entire Document المستند بالكامل - Filter Options خيارات المرشح + Filter Options خيارات الفلتر Layer Bounds حدود الطبقة Layers Panel Options خيارات لوحة الطبقات Lock Layers قفل الطبقات @@ -2751,25 +2751,25 @@ cameraData Lens العدسة Use Default Masks on Fill Layers استخدام الأقنعة الافتراضية على طبقات التعبئة Expand New Effects توسيع التأثيرات الجديدة Add “copy” to Copied Layers and Groups إضافة “copy” إلى الطبقات والمجموعات المنسوخة - Preview on canvas when reordering layers معاينة على لوحة الرسم عند إعادة ترتيب الطبقات + Preview on canvas when reordering layers معاينة على مساحة الرسم عند إعادة ترتيب الطبقات Show layer mask badges إظهار شارات قناع الطبقة # Smart Filter editors Blending Options ({filter}) خيارات المزج ({filter}) - Hide the layer's effects and Smart Filters ({key}-click: all layers) إخفاء تأثيرات الطبقة والمرشحات الذكية (انقر مع {key}: كل الطبقات) - Show the layer's effects and Smart Filters ({key}-click: all layers) إظهار تأثيرات الطبقة والمرشحات الذكية (انقر مع {key}: كل الطبقات) + Hide the layer's effects and Smart Filters ({key}-click: all layers) إخفاء تأثيرات الطبقة والفلاتر الذكية (انقر مع {key}: كل الطبقات) + Show the layer's effects and Smart Filters ({key}-click: all layers) إظهار تأثيرات الطبقة والفلاتر الذكية (انقر مع {key}: كل الطبقات) Wait for the current job to finish. انتظر حتى تنتهي المهمة الحالية. - The document or Smart Filter changed. Reopen its dialog. تغير المستند أو المرشح الذكي. أعد فتح مربع الحوار الخاص به. + The document or Smart Filter changed. Reopen its dialog. تغير المستند أو الفلتر الذكي. أعد فتح مربع الحوار الخاص به. Opacity must be between 0% and 100%. يجب أن تكون العتامة بين 0% و100%. Dissolve is approximated: it blends without Photoshop's dither. التحلل تقريبي: يمزج دون ترقيش Photoshop. Loading fonts… جارٍ تحميل الخطوط… Response curve منحنى الاستجابة Tool أداة Simulate Pressure محاكاة الضغط - Stroke Path… حدّ المسار… + Stroke Path… رسم حدود للمسار… Background Eraser ممحاة الخلفية - Healing Brush فرشاة الإصلاح - Spot Healing Brush فرشاة إصلاح البقع + Healing Brush فرشاة التصحيح + Spot Healing Brush فرشاة تصحيح البقع Smudge تلطيخ Sponge إسفنجة Amount: المقدار: @@ -2787,8 +2787,8 @@ curves Smooth تنعيم Vanishing Point is not active نقطة التلاشي غير نشطة Apply Vanishing Point ({key}) تطبيق نقطة التلاشي ({key}) Fix the red plane first: its corners must form a convex quad أصلح المستوى الأحمر أولًا: يجب أن تشكل زواياه رباعيًا محدبًا - Alt-click a plane to set the clone source انقر مع Alt على مستوى لتعيين مصدر الاستنساخ - Too many clone strokes: apply Vanishing Point first ضربات استنساخ كثيرة جدًا: طبّق نقطة التلاشي أولًا + Alt-click a plane to set the clone source انقر مع Alt على مستوى لتعيين مصدر النسخ + Too many clone strokes: apply Vanishing Point first ضربات نسخ كثيرة جدًا: طبّق نقطة التلاشي أولًا # Select and Mask view modes (#1754) Onion Skin قشرة البصل Marching Ants النمل الزاحف @@ -2808,7 +2808,7 @@ curves Smooth تنعيم Presentation عرض تقديمي # Color Sampler (added with the i18n coverage repair) - Click to place · Alt-click or drag off-canvas to remove انقر للوضع · انقر مع Alt أو اسحب خارج لوحة الرسم للإزالة + Click to place · Alt-click or drag off-canvas to remove انقر للوضع · انقر مع Alt أو اسحب خارج مساحة الرسم للإزالة No document open لا يوجد مستند مفتوح {n} of {max} sample points {n} من {max} نقطة عينة @@ -2938,7 +2938,7 @@ curves Smooth تنعيم Bpc تعويض النقطة السوداء Simulate Paper محاكاة الورق # Color Lookup, Shadows/Highlights, channels and Calculations - Warming Filter (85) مرشح تدفئة (85) + Warming Filter (85) فلتر تدفئة (85) Lut LUT Cool بارد Teal Orange أزرق مخضر وبرتقالي @@ -2996,7 +2996,7 @@ curves Smooth تنعيم W: العرض: A: الزاوية: # Lens Correction, Blur Gallery and distortion filters - Pattern Fill… تعبئة بنقش… + Pattern Fill… تعبئة بنقشة… Generic عام Correct Distortion تصحيح التشويه Correct Vignette تصحيح تظليل الحواف @@ -3038,7 +3038,7 @@ curves Smooth تنعيم Taper التناقص التدريجي End X النهاية X End Y النهاية Y - Blur Angle زاوية التمويه + Blur Angle زاوية الضبابية Rectangular To Polar من مستطيل إلى قطبي Polar To Rectangular من قطبي إلى مستطيل Undefined Areas المناطق غير المعرّفة @@ -3231,7 +3231,7 @@ curves Smooth تنعيم Show home recent files إظهار الملفات الأخيرة في الشاشة الرئيسية Clear Brush Controls مسح عناصر تحكم الفرشاة Reset All Locked Settings إعادة تعيين كل الإعدادات المقفلة - Copy Texture to Other Tools نسخ النسيج إلى الأدوات الأخرى + Copy Texture to Other Tools نسخ الملمس إلى الأدوات الأخرى # Actions panel: Load/Save Actions (.atn) and kept Photoshop steps Load Actions… تحميل الإجراءات… @@ -3259,7 +3259,7 @@ curves Smooth تنعيم Step {step} is waiting for its dialog الخطوة {step} بانتظار مربع الحوار الخاص بها @plural {n} action|{n} actions {n} إجراء|{n} إجراء|{n} إجراءان|{n} إجراءات|{n} إجراءً|{n} إجراء Background (Default) الخلفية (الافتراضية) - Content-Aware Fill تعبئة مدركة للمحتوى + Content-Aware Fill تعبئة مراعية للمحتوى # Batch / Image Processor Include All Subfolders تضمين كل المجلدات الفرعية Auto Add/Delete إضافة/حذف تلقائي @@ -3285,7 +3285,7 @@ curves Smooth تنعيم Hide Font Classes إخفاء فئات الخطوط Hide Styles إخفاء الأنماط Monospace أحادي المسافة - No fonts match these filters. لا توجد خطوط تطابق هذه المرشحات. + No fonts match these filters. لا توجد خطوط تطابق عوامل التصفية هذه. No similar fonts: the current font doesn't say what it looks like. لا توجد خطوط مشابهة: الخط الحالي لا يحدد شكله. OpenType font خط OpenType Sans Serif بدون زوائد @@ -3354,8 +3354,8 @@ curves Smooth تنعيم EXIF EXIF # View › Guides › right-click a guide - Edit Selected Guides تحرير الأدلة المحددة - Clear Selected Guides مسح الأدلة المحددة + Edit Selected Guides تحرير خطوط التوجيه المحددة + Clear Selected Guides مسح خطوط التوجيه المحددة Bicubic Automatic ثنائي التكعيب تلقائي Bicubic Smoother ثنائي التكعيب أكثر نعومة Bicubic Sharper ثنائي التكعيب أكثر حدة @@ -3381,10 +3381,10 @@ curves Smooth تنعيم # Image › Mode › Bitmap (#5559) 50% Threshold عتبة 50% - Pattern Dither ترقيش بنقش + Pattern Dither ترقيش بنقشة Diffusion Dither ترقيش بالانتشار - Halftone Screen شاشة نصف النغمة - Custom Pattern نقش مخصص + Halftone Screen شاشة أنصاف الألوان + Custom Pattern نقشة مخصصة Frequency: التردد: Lines/Inch خطوط/بوصة Lines/Centimeter خطوط/سنتيمتر From 71dda79330222d10a7bbc859e4953d0bc8f718bc Mon Sep 17 00:00:00 2001 From: David Mann Date: Wed, 28 Oct 2026 23:41:30 +0100 Subject: [PATCH 54/60] Web build: ask for the interface language's font when the manifest arrives serve_fonts asks for the interface language's served script font once per language, but the font manifest loads asynchronously: when the first frame ran before it arrived, no fallback was registered yet, the request found nothing, and an Arabic interface on an English browser stayed without its font until the language changed. The manifest load now asks for the interface language's font along with the browser languages'. Review finding on #10006. Co-Authored-By: Claude Opus 5.5 --- apps/photocraft-web/src/web.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/photocraft-web/src/web.rs b/apps/photocraft-web/src/web.rs index 2e9d58fa36..024888c65d 100644 --- a/apps/photocraft-web/src/web.rs +++ b/apps/photocraft-web/src/web.rs @@ -224,7 +224,10 @@ fn load_font_manifest(served: Served, ctx: egui::Context) { served_fonts::add_fonts(&fonts); // Fetch now the fallbacks of the scripts the browser's languages use (an Arabic reader gets // the Arabic font before typing); the rest is fetched when text or a font menu needs it. - served_fonts::request_for_languages(browser_languages().iter().map(String::as_str)); + // Also the interface language's: `serve_fonts` asked for it once already, maybe before + // this manifest arrived, when no fallback was registered yet. + let ui_language = photocraft_ui_egui::i18n::current().code(); + served_fonts::request_for_languages(browser_languages().iter().map(String::as_str).chain([ui_language])); ctx.request_repaint(); }); } From 97ed3d1d39164b70ac1ae8438425a6c8f266e114 Mon Sep 17 00:00:00 2001 From: David Mann Date: Wed, 28 Oct 2026 23:43:08 +0100 Subject: [PATCH 55/60] Web build: an unreadable served font stays out of the interface A served script fallback joins every egui font family, and egui panics on a configured font it cannot parse: a host answering a font's path with an error page, or serving a truncated file, stopped the web UI on its next layout or font rebuild. add_ui_face now checks the face with cjk::font_face_is_readable first, as the system-font fallbacks are checked, and leaves an unreadable one out with a warning. The regression test panicked in epaint's family.rs before the check. Review finding on #10006. Co-Authored-By: Claude Opus 5.5 --- crates/ui-egui/src/text/served_fonts.rs | 28 ++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/crates/ui-egui/src/text/served_fonts.rs b/crates/ui-egui/src/text/served_fonts.rs index ef3fc6c734..0eb5ef5174 100644 --- a/crates/ui-egui/src/text/served_fonts.rs +++ b/crates/ui-egui/src/text/served_fonts.rs @@ -26,8 +26,13 @@ pub fn ui_faces() -> Vec<(String, Arc)> { UI_FACES.lock().unwrap_or_else(PoisonError::into_inner).clone() } -/// Puts a delivered script fallback at the end of every UI font family, once. +/// Puts a delivered script fallback at the end of every UI font family, once. A file egui cannot +/// read is left out: egui panics on a configured font it cannot parse. fn add_ui_face(ctx: &egui::Context, family: &str, bytes: &[u8]) { + if !photocraft_text::cjk::font_face_is_readable(bytes, 0) { + log::warn!("the served font {family:?} is not a readable font file; the interface does not use it"); + return; + } let name = format!("served-{family}"); let mut data = { let mut faces = UI_FACES.lock().unwrap_or_else(PoisonError::into_inner); @@ -169,4 +174,25 @@ mod tests { draw(&ctx, "File"); draw(&ctx, "ملف"); } + + /// #10006: a host serving a broken file as a script fallback must not stop the interface; + /// egui panics on a configured font it cannot parse. + #[test] + fn an_unreadable_served_font_stays_out_of_the_ui() { + let ctx = egui::Context::default(); + crate::theme::install_fonts(&ctx); + let draw = |ctx: &egui::Context| { + ctx.run_ui(egui::RawInput::default(), |ui| { + ui.label("File ملف"); + }) + .textures_delta + .clear(); + }; + draw(&ctx); + add_ui_face(&ctx, "Served Test Broken", b"not found"); + draw(&ctx); + crate::theme::install_fonts(&ctx); + draw(&ctx); + assert!(!ui_faces().iter().any(|(n, _)| n == "served-Served Test Broken")); + } } From fab71caf80bd96238853f79be07f71492537c731 Mon Sep 17 00:00:00 2001 From: David Mann Date: Wed, 28 Oct 2026 23:45:35 +0100 Subject: [PATCH 56/60] Web build: the interface language's served face goes first in the UI stack Served script fallbacks were appended to every UI font family in the order they arrived. A Japanese and a Simplified Chinese face both cover Han, and egui draws a character with the first face in the stack that has it, so a Chinese interface drew Han with the Japanese face when that one had arrived first (fetched for a Japanese text layer, say). ui_faces now puts the interface language's own served face first, so the stack a language change rebuilds follows the language; and when that face arrives after another served face, add_ui_face rebuilds the stack the same way instead of appending. served::fallback_for_language gives the face. This orders the served faces only; with an interface language that has no served face (English), they stay in arrival order. Review finding on #10006. Co-Authored-By: Claude Opus 5.5 --- crates/text/src/served.rs | 5 ++ crates/ui-egui/src/text/served_fonts.rs | 65 +++++++++++++++++++++++-- 2 files changed, 67 insertions(+), 3 deletions(-) diff --git a/crates/text/src/served.rs b/crates/text/src/served.rs index 69897329b7..138a1991b0 100644 --- a/crates/text/src/served.rs +++ b/crates/text/src/served.rs @@ -286,6 +286,11 @@ pub fn request_for_languages<'a>(languages: impl IntoIterator) { } } +/// The served fallback family for the script `language` (a BCP 47 tag) is written in, if any. +pub fn fallback_for_language(language: &str) -> Option { + fallback_for(&state().fallbacks, language_script(language)?) +} + /// Families the host can serve, installed or not (for font menus). pub fn families() -> Vec { state().families.clone() diff --git a/crates/ui-egui/src/text/served_fonts.rs b/crates/ui-egui/src/text/served_fonts.rs index 0eb5ef5174..e457fc3bf2 100644 --- a/crates/ui-egui/src/text/served_fonts.rs +++ b/crates/ui-egui/src/text/served_fonts.rs @@ -21,9 +21,25 @@ static PENDING: Mutex> = Mutex::new(Vec::new()); /// `theme::install_fonts` rebuilds on a language change includes them again. static UI_FACES: Mutex)>> = Mutex::new(Vec::new()); -/// The served faces for the end of the UI's font stack (see [`UI_FACES`]). +/// The served faces for the end of the UI's font stack (see [`UI_FACES`]), the interface +/// language's own first: a Japanese and a Simplified Chinese face both cover Han, and egui draws a +/// character with the first face in the stack that has it, so a Chinese interface must not get +/// the Japanese face only because it arrived first. pub fn ui_faces() -> Vec<(String, Arc)> { - UI_FACES.lock().unwrap_or_else(PoisonError::into_inner).clone() + let mut faces = UI_FACES.lock().unwrap_or_else(PoisonError::into_inner).clone(); + if let Some(own) = ui_language_face() { + faces.sort_by_key(|(n, _)| *n != own); + } + faces +} + +/// The egui font name of the interface language's served script fallback, if the host serves one. +fn ui_language_face() -> Option { + photocraft_text::served::fallback_for_language(crate::i18n::current().code()).map(|f| face_name(&f)) +} + +fn face_name(family: &str) -> String { + format!("served-{family}") } /// Puts a delivered script fallback at the end of every UI font family, once. A file egui cannot @@ -33,7 +49,7 @@ fn add_ui_face(ctx: &egui::Context, family: &str, bytes: &[u8]) { log::warn!("the served font {family:?} is not a readable font file; the interface does not use it"); return; } - let name = format!("served-{family}"); + let name = face_name(family); let mut data = { let mut faces = UI_FACES.lock().unwrap_or_else(PoisonError::into_inner); if faces.iter().any(|(n, _)| *n == name) { @@ -43,6 +59,13 @@ fn add_ui_face(ctx: &egui::Context, family: &str, bytes: &[u8]) { faces.push((name.clone(), Arc::new(data.clone()))); data }; + // The interface language's face arriving after another served face must go ahead of it, which + // appending cannot do: rebuild the stack, as a language change does. + let others = ctx.fonts(|f| f.definitions().font_data.keys().any(|n| n.starts_with("served-"))); + if others && ui_language_face().as_ref() == Some(&name) { + crate::theme::install_fonts(ctx); + return; + } crate::theme::size_ui_font(ctx, &name, &mut data); let mut families: Vec = ctx.fonts(|f| f.definitions().families.keys().cloned().collect()); for f in [FontFamily::Proportional, FontFamily::Monospace] { @@ -195,4 +218,40 @@ mod tests { draw(&ctx); assert!(!ui_faces().iter().any(|(n, _)| n == "served-Served Test Broken")); } + + /// #10006: a Japanese and a Simplified Chinese face both cover Han. A Chinese interface draws + /// it with the Chinese one, even when the Japanese face arrived first. + #[test] + fn the_interface_languages_served_face_comes_first_in_the_ui_stack() { + let (jpan, hans) = ("Served Test Jpan", "Served Test Hans"); + photocraft_text::served::add_fonts(&parse_manifest(&format!("{jpan} | Regular | fonts/j/J.ttf | Jpan\n{hans} | Regular | fonts/h/H.ttf | Hans\n")).0); + crate::i18n::set_current(crate::i18n::Lang::from_code("zh-hans").expect("Simplified Chinese")); + let ctx = egui::Context::default(); + crate::theme::install_fonts(&ctx); + let draw = |ctx: &egui::Context| { + ctx.run_ui(egui::RawInput::default(), |ui| { + ui.label("文件"); + }) + .textures_delta + .clear(); + }; + let order = |ctx: &egui::Context| { + let stack = ctx.fonts(|f| f.definitions().families[&FontFamily::Proportional].clone()); + let at = |family: &str| stack.iter().position(|n| *n == format!("served-{family}")); + (at(hans), at(jpan)) + }; + draw(&ctx); + let han = crate::cjk_fonts::tests::synthetic_font(&[(0x4E00, 0x9FFF)]); + add_ui_face(&ctx, jpan, &han); + draw(&ctx); + add_ui_face(&ctx, hans, &han); + draw(&ctx); + let (h, j) = order(&ctx); + assert!(h.is_some() && h < j, "the Chinese face goes ahead of the Japanese one: {h:?} {j:?}"); + crate::theme::install_fonts(&ctx); + draw(&ctx); + let (h, j) = order(&ctx); + assert!(h.is_some() && h < j, "also after a rebuild: {h:?} {j:?}"); + crate::i18n::set_current(crate::i18n::Lang::EN); + } } From 3fa06e0ac0f4abc2d12ac4484d3af92827fbc918 Mon Sep 17 00:00:00 2001 From: David Mann Date: Thu, 29 Oct 2026 00:21:19 +0100 Subject: [PATCH 57/60] i18n(ar): brush, pattern and gradient preset-import results The preset file import status (`preset_files_ui::open`) asks for "Imported {n} brush/pattern/gradient from {file}" plurals; the Arabic catalog only had the style one, so these results showed in English. Co-Authored-By: Claude Opus 5.5 --- crates/ui-egui/src/i18n/ar.tsv | 3 +++ 1 file changed, 3 insertions(+) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index 2754679c0b..ca55b76cb8 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -2837,6 +2837,9 @@ curves Smooth تنعيم @plural Exported {n} swatch to {file}|Exported {n} swatches to {file} تم تصدير {n} عينة لون إلى {file}|تم تصدير {n} عينة لون إلى {file}|تم تصدير {n} عينتي لون إلى {file}|تم تصدير {n} عينات لون إلى {file}|تم تصدير {n} عينة لون إلى {file}|تم تصدير {n} عينة لون إلى {file} @plural Imported {n} brush from {group}|Imported {n} brushes from {group} تم استيراد {n} فرشاة من {group}|تم استيراد {n} فرشاة من {group}|تم استيراد {n} فرشاتين من {group}|تم استيراد {n} فرش من {group}|تم استيراد {n} فرشاة من {group}|تم استيراد {n} فرشاة من {group} @plural Imported {n} swatch from {file}|Imported {n} swatches from {file} تم استيراد {n} عينة لون من {file}|تم استيراد {n} عينة لون من {file}|تم استيراد {n} عينتي لون من {file}|تم استيراد {n} عينات لون من {file}|تم استيراد {n} عينة لون من {file}|تم استيراد {n} عينة لون من {file} +@plural Imported {n} brush from {file}|Imported {n} brushes from {file} تم استيراد {n} فرشاة من {file}|تم استيراد {n} فرشاة من {file}|تم استيراد {n} فرشاتين من {file}|تم استيراد {n} فرش من {file}|تم استيراد {n} فرشاة من {file}|تم استيراد {n} فرشاة من {file} +@plural Imported {n} pattern from {file}|Imported {n} patterns from {file} تم استيراد {n} نقشة من {file}|تم استيراد {n} نقشة من {file}|تم استيراد {n} نقشتين من {file}|تم استيراد {n} نقشات من {file}|تم استيراد {n} نقشةً من {file}|تم استيراد {n} نقشة من {file} +@plural Imported {n} gradient from {file}|Imported {n} gradients from {file} تم استيراد {n} تدرج من {file}|تم استيراد {n} تدرج من {file}|تم استيراد {n} تدرجين من {file}|تم استيراد {n} تدرجات من {file}|تم استيراد {n} تدرجًا من {file}|تم استيراد {n} تدرج من {file} @plural Played {n} step|Played {n} steps تم تشغيل {n} خطوة|تم تشغيل {n} خطوة|تم تشغيل {n} خطوتين|تم تشغيل {n} خطوات|تم تشغيل {n} خطوة|تم تشغيل {n} خطوة @plural Updated {n} linked smart object changed on disk|Updated {n} linked smart objects changed on disk تم تحديث {n} كائن ذكي مرتبط تم تغييره على القرص|تم تحديث {n} كائن ذكي مرتبط تم تغييره على القرص|تم تحديث {n} كائنين ذكيين مرتبطين تم تغييرهما على القرص|تم تحديث {n} كائنات ذكية مرتبطة تم تغييرها على القرص|تم تحديث {n} كائنًا ذكيًا مرتبطًا تم تغييره على القرص|تم تحديث {n} كائن ذكي مرتبط تم تغييره على القرص @plural Saved for Web: {n} file|Saved for Web: {n} files تم الحفظ للويب: {n} ملف|تم الحفظ للويب: {n} ملف|تم الحفظ للويب: {n} ملفان|تم الحفظ للويب: {n} ملفات|تم الحفظ للويب: {n} ملفًا|تم الحفظ للويب: {n} ملف From 8f80fb9790c0be42a88e3170a997bdbdb95c37b6 Mon Sep 17 00:00:00 2001 From: David Mann Date: Thu, 29 Oct 2026 01:07:46 +0100 Subject: [PATCH 58/60] Tests: Arabic preset-import results are translated The plural pair is picked at run time, so the literal-key coverage check can't see these rows. Co-Authored-By: Claude Opus 5.5 --- crates/ui-egui/src/i18n/tests.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/crates/ui-egui/src/i18n/tests.rs b/crates/ui-egui/src/i18n/tests.rs index ece61bc14e..09d2e096b2 100644 --- a/crates/ui-egui/src/i18n/tests.rs +++ b/crates/ui-egui/src/i18n/tests.rs @@ -216,6 +216,16 @@ fn arabic_plural_rule_has_six_forms() { assert_eq!(trn(ar, 5, "{n} layer", "{n} layers"), "5 طبقات"); } +/// The preset-import result (`preset_files_ui::open`) picks its plural pair at run time, so the +/// literal-key coverage check can't see these rows. +#[test] +fn arabic_preset_import_results_are_translated() { + let ar = Lang::from_code("ar").expect("ar registered"); + assert_eq!(trn(ar, 3, "Imported {n} pattern from {file}", "Imported {n} patterns from {file}"), "تم استيراد 3 نقشات من {file}"); + assert_eq!(trn(ar, 2, "Imported {n} gradient from {file}", "Imported {n} gradients from {file}"), "تم استيراد 2 تدرجين من {file}"); + assert_eq!(trn(ar, 1, "Imported {n} brush from {file}", "Imported {n} brushes from {file}"), "تم استيراد 1 فرشاة من {file}"); +} + #[test] fn serbian_resolves_locales_and_preferences() { let sr = Lang::from_code("sr").expect("sr registered"); From 573bbbf157a6792ae4f0cf228d13ccf8e8fecbcc Mon Sep 17 00:00:00 2001 From: David Mann Date: Thu, 29 Oct 2026 01:30:13 +0100 Subject: [PATCH 59/60] =?UTF-8?q?i18n(ar):=20Hue=20is=20=D8=AF=D8=B1=D8=AC?= =?UTF-8?q?=D8=A9=20=D8=A7=D9=84=D9=84=D9=88=D9=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The second questionnaire answer (Algeria). The earlier تدرج اللون read as "colour gradient" beside Gradient تدرج. Hue, Hue/Saturation, Hue Jitter and Hue Cube follow. Co-Authored-By: Claude Opus 5.5 --- crates/ui-egui/src/i18n/ar.tsv | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/crates/ui-egui/src/i18n/ar.tsv b/crates/ui-egui/src/i18n/ar.tsv index ca55b76cb8..0b29e9ee20 100644 --- a/crates/ui-egui/src/i18n/ar.tsv +++ b/crates/ui-egui/src/i18n/ar.tsv @@ -265,7 +265,7 @@ Curves… المنحنيات… Exposure… التعريض… Vibrance… الحيوية… - Hue/Saturation… تدرج اللون/التشبع… + Hue/Saturation… درجة اللون/التشبع… Color Balance… توازن الألوان… Black & White… أبيض وأسود… Photo Filter… فلتر الصور… @@ -1199,9 +1199,9 @@ Highlights الإضاءات Home الرئيسية Horizontal scale التحجيم الأفقي - Hue تدرج اللون - Hue Jitter تذبذب تدرج اللون - Hue/Saturation تدرج اللون/التشبع + Hue درجة اللون + Hue Jitter تذبذب درجة اللون + Hue/Saturation درجة اللون/التشبع Hyphenate وصل الكلمات Ignore تجاهل Ignore All تجاهل الكل @@ -3475,7 +3475,7 @@ curves Smooth تنعيم # Print preview image (#8236) Print preview image معاينة صورة الطباعة # Color panel menu: modes, copy commands and colour ramps (#6000) - Hue Cube مكعب تدرج اللون + Hue Cube مكعب درجة اللون Brightness Cube مكعب السطوع Color Wheel عجلة الألوان Grayscale Slider منزلق التدرج الرمادي From b23e90ac2356c54f311b7229faaac4b03882dc20 Mon Sep 17 00:00:00 2001 From: David Mann Date: Thu, 29 Oct 2026 01:30:13 +0100 Subject: [PATCH 60/60] Files opened at launch report in the interface language The command line's files open before the first frame, which is what applies the interface language, so their status line and notices came out in English in every language. open_paths now applies it first. Co-Authored-By: Claude Opus 5.5 --- crates/ui-egui/src/file_open.rs | 3 +++ crates/ui-egui/src/file_open/tests.rs | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/crates/ui-egui/src/file_open.rs b/crates/ui-egui/src/file_open.rs index 19d8819e33..65c1fb5758 100644 --- a/crates/ui-egui/src/file_open.rs +++ b/crates/ui-egui/src/file_open.rs @@ -155,6 +155,9 @@ impl PhotocraftApp { /// open in name order ([`natural_cmp`]: `File_2` before `File_10`), and their tabs keep that /// order however long each takes to open in the background (#3248). Returns how many opened. pub fn open_paths(&mut self, paths: &[String]) -> usize { + // The command line's files open before the first frame, which otherwise applies the + // interface language: their status lines and notices would come out in English. + crate::i18n::set_current(crate::i18n::Lang::from_pref(&self.session.prefs().interface.language)); let mut paths: Vec = paths.iter().map(|p| absolute(p)).collect(); paths.sort_by(|a, b| natural_cmp(a, b)); let batch = crate::jobs_ui::begin_batch(self); diff --git a/crates/ui-egui/src/file_open/tests.rs b/crates/ui-egui/src/file_open/tests.rs index 099caf58c5..1a233fd7cb 100644 --- a/crates/ui-egui/src/file_open/tests.rs +++ b/crates/ui-egui/src/file_open/tests.rs @@ -818,6 +818,28 @@ fn natural_order_counts_numbers_by_value() { assert_eq!(names, ["A.psd", "b.psd", "file_1.psd", "File_03.psd", "File_9.psd", "File_10.psd", "File_100.psd"]); } +/// Files on the command line open before the first frame applies the interface language: their +/// status line follows the preference, not the English default. +#[test] +fn open_paths_reports_in_the_interface_language_before_the_first_frame() { + let pattern = |i: u8| { + let mut surface = photocraft_raster::Surface::new(photocraft_color::PixelFormat::RGBA8); + surface.fill_rect(photocraft_geom::Rect::new(0, 0, 4, 4), &[f32::from(i) / 3.0, 0.5, 0.2, 1.0]); + let mut p = photocraft_doc::Pattern::new("Launch", surface, 4, 4); + p.id = format!("6f1c2c1e-0000-4000-8000-00000000000{i}"); + p + }; + let bytes = photocraft_io::pattern_map::write_pat(&[pattern(1), pattern(2), pattern(3)]).unwrap(); + let (dir, paths) = files("launch-language", &["launch.pat"], &bytes); + let (mut app, _) = app_with(Vec::new()); + app.session.edit_prefs(|p| p.interface.language = "ar".into()); + crate::i18n::set_current(crate::i18n::Lang::EN); + assert_eq!(app.open_paths(&paths), 1); + assert_eq!(app.ui.status, "تم استيراد 3 نقشات من launch"); + crate::i18n::set_current(crate::i18n::Lang::EN); + let _ = std::fs::remove_dir_all(&dir); +} + /// #3248: several files opened at once (File › Open, the command line, Finder) open in name order. #[test] fn open_paths_opens_a_set_in_name_order() {