feat(i18n): Add complete Arabic language support with RTL

Add comprehensive Arabic (العربية) language support to OmniTools with full RTL (Right-to-Left) functionality:

- Add Arabic to supported languages list and language selector
- Translate all 12 namespace files to Arabic (audio, csv, image, json, list, number, pdf, string, time, translation, video, xml)
- Implement RTL support with stylis-plugin-rtl for proper Arabic text rendering
- Create RTL-aware theme variants (lightThemeRTL, darkThemeRTL)
- Add automatic document direction switching based on selected language

This enables full Arabic language support for all tools and UI elements in the application, providing a native experience for Arabic-speaking users.
This commit is contained in:
rumanagency 2025-10-26 17:11:04 +03:00
commit fa231a3c3b
18 changed files with 1956 additions and 49 deletions

120
public/locales/ar/csv.json Normal file
View file

@ -0,0 +1,120 @@
{
"changeCsvSeparator": {
"description": "تغيير الفاصل في ملفات CSV. التحويل بين تنسيقات CSV المختلفة مثل الفاصلة أو الفاصلة المنقوطة أو علامة التبويب أو فواصل مخصصة.",
"shortDescription": "تغيير فاصل ملف CSV",
"title": "تغيير فاصل CSV"
},
"csvRowsToColumns": {
"description": "تقوم هذه الأداة بتحويل صفوف ملف CSV (القيم المفصولة بفواصل) إلى أعمدة. تستخرج الأسطر الأفقية من CSV المدخل واحدة تلو الأخرى، وتدورها 90 درجة، وتخرجها كأعمدة عمودية واحدة تلو الأخرى، مفصولة بفواصل.",
"longDescription": "تقوم هذه الأداة بتحويل صفوف ملف CSV (القيم المفصولة بفواصل) إلى أعمدة. على سبيل المثال، إذا كانت بيانات CSV المدخلة تحتوي على 6 صفوف، فسيحتوي الإخراج على 6 أعمدة وسيتم ترتيب عناصر الصفوف من الأعلى إلى الأسفل. في CSV المنسق بشكل جيد، يكون عدد القيم في كل صف هو نفسه. ومع ذلك، في الحالات التي تفتقد فيها الصفوف حقولاً، يمكن للبرنامج إصلاحها ويمكنك الاختيار من الخيارات المتاحة: ملء البيانات المفقودة بعناصر فارغة أو استبدال البيانات المفقودة بعناصر مخصصة، مثل",
"shortDescription": "تحويل صفوف CSV إلى أعمدة.",
"title": "تحويل صفوف CSV إلى أعمدة"
},
"csvToJson": {
"columnSeparator": "فاصل الأعمدة (مثال: , ; \\t)",
"commentSymbol": "رمز التعليق (مثال: #)",
"conversionOptions": "خيارات التحويل",
"description": "تحويل ملفات CSV إلى تنسيق JSON مع خيارات قابلة للتخصيص للفواصل وعلامات الاقتباس وتنسيق الإخراج. دعم للرؤوس والتعليقات والتحويل الديناميكي للنوع.",
"dynamicTypes": "الأنواع الديناميكية",
"dynamicTypesDescription": "تحويل الأرقام والقيم المنطقية تلقائيًا",
"error": "خطأ",
"errorParsing": "خطأ في تحليل CSV: {{error}}",
"fieldQuote": "علامة اقتباس الحقل (مثال: \")",
"inputCsvFormat": "تنسيق CSV المدخل",
"inputTitle": "إدخال CSV",
"invalidCsvFormat": "تنسيق CSV غير صالح",
"resultTitle": "إخراج JSON",
"shortDescription": "تحويل بيانات CSV إلى تنسيق JSON.",
"skipEmptyLines": "تخطي الأسطر الفارغة",
"skipEmptyLinesDescription": "تجاهل الأسطر الفارغة في CSV المدخل",
"title": "تحويل CSV إلى JSON",
"toolInfo": {
"description": "تقوم هذه الأداة بتحويل ملفات القيم المفصولة بفواصل (CSV) إلى بنى بيانات JavaScript Object Notation (JSON). تدعم تنسيقات CSV المختلفة مع فواصل وأحرف اقتباس ورموز تعليق قابلة للتخصيص. يمكن للمحول معاملة الصف الأول كرؤوس، وتخطي الأسطر الفارغة، واكتشاف أنواع البيانات مثل الأرقام والقيم المنطقية تلقائيًا. يمكن استخدام JSON الناتج لترحيل البيانات أو النسخ الاحتياطية أو كمدخل لتطبيقات أخرى.",
"title": "ما هو محول CSV إلى JSON؟"
},
"useHeaders": "استخدام الرؤوس",
"useHeadersDescription": "معاملة الصف الأول كرؤوس أعمدة"
},
"csvToTsv": {
"description": "قم بتحميل ملف CSV الخاص بك في النموذج أدناه وسيتم تحويله تلقائيًا إلى ملف TSV. في خيارات الأداة، يمكنك تخصيص تنسيق CSV المدخل - تحديد فاصل الحقول وحرف الاقتباس ورمز التعليق، بالإضافة إلى تخطي أسطر CSV الفارغة، واختيار ما إذا كنت تريد الحفاظ على رؤوس أعمدة CSV.",
"longDescription": "تحول هذه الأداة بيانات القيم المفصولة بفواصل (CSV) إلى بيانات القيم المفصولة بعلامات تبويب (TSV). كل من CSV و TSV هما تنسيقان شائعان لتخزين البيانات الجدولية لكنهما يستخدمان فواصل مختلفة لفصل القيم - يستخدم CSV الفواصل (",
"shortDescription": "تحويل بيانات CSV إلى تنسيق TSV.",
"title": "تحويل CSV إلى TSV"
},
"csvToXml": {
"description": "تحويل ملفات CSV إلى تنسيق XML مع خيارات قابلة للتخصيص.",
"shortDescription": "تحويل بيانات CSV إلى تنسيق XML.",
"title": "تحويل CSV إلى XML"
},
"csvToYaml": {
"description": "ما عليك سوى تحميل ملف CSV الخاص بك في النموذج أدناه وسيتم تحويله تلقائيًا إلى ملف YAML. في خيارات الأداة، يمكنك تحديد حرف فاصل الحقول وحرف اقتباس الحقل وحرف التعليق لتكييف الأداة مع تنسيقات CSV المخصصة. بالإضافة إلى ذلك، يمكنك تحديد تنسيق YAML الإخراج: تنسيق يحافظ على رؤوس CSV أو تنسيق يستبعد رؤوس CSV.",
"longDescription": "تحول هذه الأداة بيانات CSV (القيم المفصولة بفواصل) إلى بيانات YAML (لغة ترميز أخرى). CSV هو تنسيق جدولي بسيط يُستخدم لتمثيل أنواع البيانات الشبيهة بالمصفوفة المكونة من صفوف وأعمدة. من ناحية أخرى، YAML هو تنسيق أكثر تقدمًا (في الواقع مجموعة فرعية من JSON)، والذي ينشئ بيانات أكثر قابلية للقراءة للتسلسل، ويدعم القوائم والقواميس والكائنات المتداخلة. يدعم هذا البرنامج تنسيقات CSV المدخلة المختلفة - يمكن أن تكون البيانات المدخلة مفصولة بفواصل (افتراضي)، أو مفصولة بفواصل منقوطة، أو مفصولة بأنابيب، أو تستخدم فاصلًا مختلفًا تمامًا. يمكنك تحديد الفاصل الدقيق الذي تستخدمه بياناتك في الخيارات. وبالمثل، في الخيارات، يمكنك تحديد حرف الاقتباس المستخدم لتغليف حقول CSV (افتراضيًا رمز اقتباس مزدوج). يمكنك أيضًا تخطي الأسطر التي تبدأ بالتعليقات عن طريق تحديد رموز التعليق في الخيارات. هذا يسمح لك بالحفاظ على بياناتك نظيفة عن طريق تخطي الأسطر غير الضرورية. هناك طريقتان لتحويل CSV إلى YAML. الطريقة الأولى تحول كل صف CSV إلى قائمة YAML. الطريقة الثانية تستخرج الرؤوس من صف CSV الأول وتنشئ كائنات YAML بمفاتيح بناءً على هذه الرؤوس. يمكنك أيضًا تخصيص تنسيق YAML الإخراج عن طريق تحديد عدد المسافات للمسافة البادئة لبنى YAML. إذا كنت بحاجة إلى إجراء التحويل العكسي، أي تحويل YAML إلى CSV، يمكنك استخدام أداة تحويل YAML إلى CSV الخاصة بنا. Csv-abulous!",
"shortDescription": "تحويل ملف CSV إلى ملف YAML بسرعة.",
"title": "تحويل CSV إلى YAML"
},
"findIncompleteCsvRecords": {
"checkingOptions": "خيارات الفحص",
"commentCharacterDescription": "أدخل الحرف الذي يشير إلى بداية سطر تعليق. سيتم تخطي الأسطر التي تبدأ بهذا الرمز.",
"csvInputOptions": "خيارات إدخال CSV",
"csvSeparatorDescription": "أدخل الحرف المستخدم لتحديد الأعمدة في ملف CSV المدخل.",
"deleteLinesWithNoData": "حذف الأسطر التي لا تحتوي على بيانات",
"deleteLinesWithNoDataDescription": "إزالة الأسطر الفارغة من ملف CSV المدخل.",
"description": "ما عليك سوى تحميل ملف CSV الخاص بك في النموذج أدناه وستتحقق هذه الأداة تلقائيًا مما إذا كان أي من الصفوف أو الأعمدة مفقودًا قيمًا. في خيارات الأداة، يمكنك ضبط تنسيق ملف الإدخال (تحديد الفاصل وحرف الاقتباس وحرف التعليق). بالإضافة إلى ذلك، يمكنك تمكين التحقق من القيم الفارغة، وتخطي الأسطر الفارغة، وتعيين حد لعدد رسائل الخطأ في الإخراج.",
"findEmptyValues": "البحث عن القيم الفارغة",
"findEmptyValuesDescription": "عرض رسالة حول حقول CSV الفارغة (هذه ليست حقولاً مفقودة ولكنها حقول لا تحتوي على أي شيء).",
"inputTitle": "إدخال CSV",
"limitNumberOfMessages": "الحد من عدد الرسائل",
"messageLimitDescription": "تعيين حد عدد الرسائل في الإخراج.",
"quoteCharacterDescription": "أدخل حرف الاقتباس المستخدم لاقتباس حقول CSV المدخلة.",
"resultTitle": "حالة CSV",
"shortDescription": "البحث بسرعة عن الصفوف والأعمدة في CSV التي تفتقد قيمًا.",
"title": "البحث عن سجلات CSV غير المكتملة",
"toolInfo": {
"title": "ما هو {{title}}؟"
}
},
"insertCsvColumns": {
"appendColumns": "إلحاق الأعمدة",
"commentCharacterDescription": "أدخل الحرف الذي يشير إلى بداية سطر تعليق. سيتم تخطي الأسطر التي تبدأ بهذا الرمز.",
"csvOptions": "خيارات CSV",
"csvSeparator": "فاصل CSV",
"csvToInsert": "CSV المراد إدراجه",
"csvToInsertDescription": "أدخل عمودًا واحدًا أو أكثر تريد إدراجه في CSV. يجب أن يكون الحرف المستخدم لتحديد الأعمدة هو نفسه الموجود في ملف CSV المدخل. ملاحظة: سيتم تجاهل الأسطر الفارغة",
"customFillDescription": "إذا كان ملف CSV المدخل غير مكتمل (قيم مفقودة)، فأضف حقولاً فارغة أو رموزًا مخصصة إلى السجلات لإنشاء CSV منسق بشكل جيد؟",
"customFillValueDescription": "استخدم هذه القيمة المخصصة لملء الحقول المفقودة. (يعمل فقط مع وضع \"القيم المخصصة\" أعلاه.)",
"customPosition": "موضع مخصص",
"customPositionOptionsDescription": "حدد الطريقة لإدراج الأعمدة في ملف CSV.",
"description": "إضافة أعمدة جديدة إلى بيانات CSV في مواضع محددة.",
"fillWithCustomValues": "الملء بالقيم المخصصة",
"fillWithEmptyValues": "الملء بقيم فارغة",
"headerName": "اسم الرأس",
"headerNameDescription": "رأس العمود الذي تريد إدراج الأعمدة بعده.",
"inputTitle": "إدخال CSV",
"insertingPositionDescription": "حدد مكان إدراج الأعمدة في ملف CSV.",
"position": "الموضع",
"positionOptions": "خيارات الموضع",
"prependColumns": "إلحاق الأعمدة في البداية",
"quoteCharDescription": "أدخل حرف الاقتباس المستخدم لاقتباس حقول CSV المدخلة.",
"resultTitle": "إخراج CSV",
"rowNumberDescription": "رقم العمود الذي تريد إدراج الأعمدة بعده.",
"separatorDescription": "أدخل الحرف المستخدم لتحديد الأعمدة في ملف CSV المدخل.",
"shortDescription": "إدراج عمود واحد أو أكثر بسرعة في أي مكان في ملف CSV.",
"title": "إدراج أعمدة CSV",
"toolInfo": {
"description": "تتيح لك هذه الأداة إدراج أعمدة جديدة في بيانات CSV في مواضع محددة. يمكنك الإلحاق في البداية أو النهاية أو إدراج الأعمدة في مواضع مخصصة بناءً على أسماء الرؤوس أو أرقام الأعمدة.",
"title": "إدراج أعمدة CSV"
}
},
"swapCsvColumns": {
"description": "ما عليك سوى تحميل ملف CSV الخاص بك في النموذج أدناه، وتحديد الأعمدة المراد تبديلها، وستقوم الأداة تلقائيًا بتغيير مواضع الأعمدة المحددة في ملف الإخراج. في خيارات الأداة، يمكنك تحديد مواضع الأعمدة أو الأسماء التي تريد تبديلها، بالإضافة إلى إصلاح البيانات غير المكتملة واختياريًا إزالة السجلات الفارغة والسجلات التي تم التعليق عليها.",
"longDescription": "تعيد هذه الأداة تنظيم بيانات CSV عن طريق تبديل مواضع أعمدتها. يمكن أن يعزز تبديل الأعمدة قابلية قراءة ملف CSV من خلال وضع البيانات المستخدمة بشكل متكرر معًا أو في المقدمة لتسهيل مقارنة البيانات وتحريرها. على سبيل المثال، يمكنك تبديل العمود الأول مع الأخير أو تبديل العمود الثاني مع الثالث. لتبديل الأعمدة بناءً على مواضعها، حدد",
"shortDescription": "إعادة ترتيب أعمدة CSV.",
"title": "تبديل أعمدة CSV"
},
"transposeCsv": {
"description": "ما عليك سوى تحميل ملف CSV الخاص بك في النموذج أدناه، وستقوم هذه الأداة تلقائيًا بتبديل CSV الخاص بك. في خيارات الأداة، يمكنك تحديد الحرف الذي يبدأ أسطر التعليقات في CSV لإزالتها. بالإضافة إلى ذلك، إذا كان CSV غير مكتمل (قيم مفقودة)، يمكنك استبدال القيم المفقودة بالحرف الفارغ أو حرف مخصص.",
"longDescription": "تقوم هذه الأداة بتبديل القيم المفصولة بفواصل (CSV). تعامل CSV كمصفوفة من البيانات وتقلب جميع العناصر عبر القطر الرئيسي. يحتوي الإخراج على نفس بيانات CSV الموجودة في المدخل، لكن الآن أصبحت جميع الصفوف أعمدة، وأصبحت جميع الأعمدة صفوفًا. بعد التبديل، سيكون لملف CSV أبعاد معاكسة. على سبيل المثال، إذا كان ملف الإدخال يحتوي على 4 أعمدة و 3 صفوف، فسيحتوي ملف الإخراج على 3 أعمدة و 4 صفوف. أثناء التحويل، ينظف البرنامج أيضًا البيانات من الأسطر غير الضرورية ويصحح البيانات غير المكتملة. على وجه التحديد، تحذف الأداة تلقائيًا جميع السجلات الفارغة والتعليقات التي تبدأ بحرف معين، والذي يمكنك تعيينه في الخيار. بالإضافة إلى ذلك، في الحالات التي تكون فيها بيانات CSV تالفة أو مفقودة، تكمل الأداة الملف بحقول فارغة أو حقول مخصصة يمكن تحديدها في الخيارات. Csv-abulous!",
"shortDescription": "تبديل ملف CSV بسرعة.",
"title": "تبديل CSV"
}
}