feat(i18n): Add Arabic localization support (#693)
This commit is contained in:
parent
5ba5f77b45
commit
90bfa73377
2 changed files with 462 additions and 0 deletions
|
|
@ -24,4 +24,5 @@ export const LANGUAGE_METADATA: Record<
|
|||
pt: { name: "Portuguese", nativeName: "Português", priority: 12 },
|
||||
cs: { name: "Czech", nativeName: "Čeština", priority: 13 },
|
||||
tr: { name: "Turkish", nativeName: "Türkçe", priority: 14 },
|
||||
ar: { name: "Arabic", nativeName: "العربية", priority: 15 },
|
||||
};
|
||||
|
|
|
|||
461
src/i18n/locales/ar/translation.json
Normal file
461
src/i18n/locales/ar/translation.json
Normal file
|
|
@ -0,0 +1,461 @@
|
|||
{
|
||||
"tray": {
|
||||
"settings": "...الإعدادات",
|
||||
"checkUpdates": "...التحقق من وجود تحديثات",
|
||||
"copyLastTranscript": "نسخ آخر نص تم تفريغه",
|
||||
"quit": "إنهاء",
|
||||
"cancel": "إلغاء"
|
||||
},
|
||||
"sidebar": {
|
||||
"general": "عام",
|
||||
"advanced": "متقدم",
|
||||
"postProcessing": "معالجة لاحقة",
|
||||
"history": "السجل",
|
||||
"debug": "تصحيح الأخطاء",
|
||||
"about": "حول"
|
||||
},
|
||||
"onboarding": {
|
||||
"subtitle": "للبدء، اختر نموذج التفريغ الصوتي",
|
||||
"recommended": "موصى به",
|
||||
"download": "تنزيل",
|
||||
"downloading": "...جاري التنزيل",
|
||||
"modelCard": {
|
||||
"accuracy": "الدقة",
|
||||
"speed": "السرعة"
|
||||
},
|
||||
"models": {
|
||||
"small": {
|
||||
"name": "Whisper Small",
|
||||
"description": ".سريع ودقيق إلى حد ما"
|
||||
},
|
||||
"medium": {
|
||||
"name": "Whisper Medium",
|
||||
"description": ".دقة جيدة، سرعة متوسطة"
|
||||
},
|
||||
"turbo": {
|
||||
"name": "Whisper Turbo",
|
||||
"description": ".توازن بين الدقة والسرعة"
|
||||
},
|
||||
"large": {
|
||||
"name": "Whisper Large",
|
||||
"description": ".دقة جيدة، لكنه بطيء"
|
||||
},
|
||||
"parakeet-tdt-0.6b-v2": {
|
||||
"name": "Parakeet V2",
|
||||
"description": ".الإنجليزية فقط. أفضل نموذج للمتحدثين بالإنجليزية"
|
||||
},
|
||||
"parakeet-tdt-0.6b-v3": {
|
||||
"name": "Parakeet V3",
|
||||
"description": ".سريع ودقيق"
|
||||
},
|
||||
"moonshine-base": {
|
||||
"name": "Moonshine Base",
|
||||
"description": ".سريع جداً، الإنجليزية فقط. يتعامل جيداً مع اللهجات"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"loadModels": "فشل تحميل النماذج المتاحة",
|
||||
"downloadModel": "فشل تنزيل النموذج: {{error}}"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "الأذونات المطلوبة",
|
||||
"description": ".يحتاج Handy إلى بعض الأذونات ليعمل بشكل صحيح",
|
||||
"microphone": {
|
||||
"title": "الوصول إلى الميكروفون",
|
||||
"description": ".مطلوب لسماع صوتك من أجل التفريغ الصوتي"
|
||||
},
|
||||
"accessibility": {
|
||||
"title": "إمكانية الوصول",
|
||||
"description": ".مطلوب لكتابة النص المفرغ في تطبيقاتك"
|
||||
},
|
||||
"grant": "منح الإذن",
|
||||
"granted": "تم المنح",
|
||||
"waiting": "...في الانتظار",
|
||||
"allGranted": "كل شيء جاهز!",
|
||||
"errors": {
|
||||
"checkFailed": "فشل التحقق من الأذونات. يرجير المحاولة مرة أخرى.",
|
||||
"requestFailed": "فشل طلب الإذن. يرجى المحاولة مرة أخرى."
|
||||
}
|
||||
}
|
||||
},
|
||||
"modelSelector": {
|
||||
"welcome": "مرحباً بك في Handy!",
|
||||
"downloadPrompt": ".قم بتنزيل نموذج أدناه للبدء في التفريغ الصوتي",
|
||||
"availableModels": "النماذج المتاحة",
|
||||
"downloadModels": "تنزيل النماذج",
|
||||
"chooseModel": "اختر نموذجاً",
|
||||
"active": "نشط",
|
||||
"download": "تنزيل",
|
||||
"downloadSize": "حجم التنزيل",
|
||||
"noModelsAvailable": "لا توجد نماذج متاحة",
|
||||
"extracting": "...جاري استخراج {{modelName}}",
|
||||
"extractingMultiple": "...جاري استخراج {{count}} من النماذج",
|
||||
"extractingGeneric": "...جاري الاستخراج",
|
||||
"downloading": "جاري التنزيل {{percentage}}%",
|
||||
"downloadingMultiple": "جاري تنزيل {{count}} من النماذج...",
|
||||
"modelReady": "النموذج جاهز",
|
||||
"loading": "...جاري تحميل {{modelName}}",
|
||||
"loadingGeneric": "...جاري التحميل",
|
||||
"modelError": "خطأ في النموذج",
|
||||
"modelUnloaded": "تم إلغاء تحميل النموذج",
|
||||
"noModelDownloadRequired": "لا يوجد نموذج - التنزيل مطلوب",
|
||||
"deleteModel": "حذف {{modelName}}"
|
||||
},
|
||||
"settings": {
|
||||
"general": {
|
||||
"title": "عام",
|
||||
"shortcut": {
|
||||
"title": "اختصارات Handy",
|
||||
"description": "إعداد اختصارات لوحة المفاتيح لبدء تسجيل التفريغ الصوتي",
|
||||
"loading": "...جاري تحميل الاختصارات",
|
||||
"none": "لا توجد اختصارات مجهزة",
|
||||
"notFound": "الاختصار غير موجود",
|
||||
"pressKeys": "...اضغط على المفاتيح",
|
||||
"bindings": {
|
||||
"transcribe": {
|
||||
"name": "اختصار التفريغ الصوتي",
|
||||
"description": ".اختصار لوحة المفاتيح لتسجيل وتفريغ صوتك"
|
||||
},
|
||||
"cancel": {
|
||||
"name": "اختصار الإلغاء",
|
||||
"description": ".اختصار لوحة المفاتيح لإلغاء التسجيل الحالي"
|
||||
}
|
||||
},
|
||||
"errors": {
|
||||
"restore": "فشل استعادة الاختصار الأصلي",
|
||||
"set": "فشل تعيين الاختصار: {{error}}",
|
||||
"reset": "فشل إعادة تعيين الاختصار إلى قيمته الأصلية"
|
||||
}
|
||||
},
|
||||
"language": {
|
||||
"title": "اللغة",
|
||||
"description": ".اختر لغة التعرف على الكلام. سيحدد 'تلقائي' اللغة تلقائياً، بينما يؤدي اختيار لغة معينة إلى تحسين الدقة لتلك اللغة",
|
||||
"descriptionUnsupported": ".يكتشف نموذج Parakeet اللغة تلقائياً. لا يلزم الاختيار اليدوي",
|
||||
"searchPlaceholder": "البحث عن اللغات...",
|
||||
"noResults": "لم يتم العثور على لغات",
|
||||
"auto": "تلقائي"
|
||||
},
|
||||
"pushToTalk": {
|
||||
"label": "اضغط للتحدث",
|
||||
"description": "استمر في الضغط للتسجيل، واترك للتوقف"
|
||||
}
|
||||
},
|
||||
"sound": {
|
||||
"title": "الصوت",
|
||||
"microphone": {
|
||||
"title": "الميكروفون",
|
||||
"description": "اختر جهاز الميكروفون المفضل لديك",
|
||||
"placeholder": "...اختر الميكروفون",
|
||||
"loading": "...جاري التحميل"
|
||||
},
|
||||
"audioFeedback": {
|
||||
"label": "تنبيهات صوتية",
|
||||
"description": "تشغيل صوت عند بدء التسجيل وتوقفه"
|
||||
},
|
||||
"outputDevice": {
|
||||
"title": "جهاز الإخراج",
|
||||
"description": "اختر جهاز إخراج الصوت المفضل لتنبيهات الصوت",
|
||||
"placeholder": "...اختر جهاز الإخراج",
|
||||
"loading": "...جاري التحميل"
|
||||
},
|
||||
"volume": {
|
||||
"title": "مستوى الصوت",
|
||||
"description": "ضبط مستوى صوت تنبيهات الصوت"
|
||||
}
|
||||
},
|
||||
"advanced": {
|
||||
"title": "متقدم",
|
||||
"groups": {
|
||||
"app": "التطبيق",
|
||||
"output": "الإخراج",
|
||||
"transcription": "التفريغ الصوتي",
|
||||
"history": "السجل",
|
||||
"experimental": "تجريبي"
|
||||
},
|
||||
"experimentalToggle": {
|
||||
"label": "الميزات التجريبية",
|
||||
"description": ".تمكين الميزات التجريبية التي لا تزال قيد التطوير"
|
||||
},
|
||||
"startHidden": {
|
||||
"label": "بدء مخفي",
|
||||
"description": ".التشغيل في صينية النظام دون فتح النافذة"
|
||||
},
|
||||
"autostart": {
|
||||
"label": "التشغيل عند بدء التشغيل",
|
||||
"description": ".بدء تشغيل Handy تلقائياً عند تسجيل الدخول إلى جهاز الكمبيوتر الخاص بك"
|
||||
},
|
||||
"overlay": {
|
||||
"title": "موقع التراكب",
|
||||
"description": "عرض تراكب الملاحظات المرئية أثناء التسجيل والتفريغ. على نظام Linux يوصى بـ 'بلا'.",
|
||||
"options": {
|
||||
"none": "بلا",
|
||||
"bottom": "أسفل",
|
||||
"top": "أعلى"
|
||||
}
|
||||
},
|
||||
"pasteMethod": {
|
||||
"title": "طريقة اللصق",
|
||||
"description": ".اختر كيفية إدراج النص. مباشر: يحاكي الكتابة عبر إدخال النظام. بلا: يتخطى اللصق، ويحدث السجل/الحافظة فقط",
|
||||
"options": {
|
||||
"clipboard": "الحافظة ({{modifier}}+V)",
|
||||
"clipboardCtrlShiftV": "الحافظة (Ctrl+Shift+V)",
|
||||
"clipboardShiftInsert": "الحافظة (Shift+Insert)",
|
||||
"direct": "مباشر",
|
||||
"none": "بلا"
|
||||
}
|
||||
},
|
||||
"clipboardHandling": {
|
||||
"title": "التعامل مع الحافظة",
|
||||
"description": ".'عدم تعديل الحافظة' يحافظ على محتويات حافظتك الحالية بعد التفريغ. 'نسخ إلى الحافظة' يترك نتيجة التفريغ في حافظتك بعد اللصق",
|
||||
"options": {
|
||||
"dontModify": "عدم تعديل الحافظة",
|
||||
"copyToClipboard": "نسخ إلى الحافظة"
|
||||
}
|
||||
},
|
||||
"translateToEnglish": {
|
||||
"label": "الترجمة إلى الإنجليزية",
|
||||
"description": ".ترجمة الكلام من اللغات الأخرى تلقائياً إلى الإنجليزية أثناء التفريغ",
|
||||
"descriptionUnsupported": ".الترجمة غير مدعومة من قبل نموذج {{model}}"
|
||||
},
|
||||
"modelUnload": {
|
||||
"title": "إلغاء تحميل النموذج",
|
||||
"description": "تحرير ذاكرة GPU/CPU تلقائياً عندما لا يتم استخدام النموذج للوقت المحدد",
|
||||
"options": {
|
||||
"never": "أبداً",
|
||||
"immediately": "فوراً",
|
||||
"min2": "بعد دقيقتين",
|
||||
"min5": "بعد 5 دقائق",
|
||||
"min10": "بعد 10 دقائق",
|
||||
"min15": "بعد 15 دقيقة",
|
||||
"hour1": "بعد ساعة واحدة",
|
||||
"sec5": "بعد 5 ثوانٍ (تصحيح أخطاء)"
|
||||
}
|
||||
},
|
||||
"customWords": {
|
||||
"title": "كلمات مخصصة",
|
||||
"description": ".أضف الكلمات التي غالباً ما يتم فهمها بشكل خاطئ أو كتابتها بشكل خاطئ أثناء التفريغ. سيقوم النظام تلقائياً بتصحيح الكلمات ذات الصوت المماثل لتطابق قائمتك",
|
||||
"placeholder": "أضف كلمة",
|
||||
"add": "إضافة",
|
||||
"remove": "إزالة {{word}}"
|
||||
}
|
||||
},
|
||||
"postProcessing": {
|
||||
"title": "معالجة لاحقة",
|
||||
"disabledNotice": "المعالجة اللاحقة معطلة حالياً. قم بتمكينها في إعدادات تصحيح الأخطاء للتكوين.",
|
||||
"api": {
|
||||
"title": "API (متوافق مع OpenAI)",
|
||||
"provider": {
|
||||
"title": "المزود",
|
||||
"description": "اختر مزوداً متوافقاً مع OpenAI."
|
||||
},
|
||||
"appleIntelligence": {
|
||||
"title": "Apple Intelligence",
|
||||
"description": "يعمل بالكامل على الجهاز. لا يلزم وجود مفتاح API أو وصول إلى الشبكة.",
|
||||
"requirements": "يتطلب جهاز Mac بمعالج Apple Silicon يعمل بنظام macOS Tahoe (26.0) أو أحدث. يجب تمكين Apple Intelligence في إعدادات النظام.",
|
||||
"unavailable": "Apple Intelligence غير متاح على هذا الجهاز. يتطلب جهاز Mac بمعالج Apple Silicon يعمل بنظام macOS Tahoe (26.0) أو أحدث مع تمكين Apple Intelligence في إعدادات النظام."
|
||||
},
|
||||
"baseUrl": {
|
||||
"title": "URL الأساسي",
|
||||
"description": "URL الأساسي لـ API للمزود المختار. يمكن تعديل المزود المخصص فقط.",
|
||||
"placeholder": "https://api.openai.com/v1"
|
||||
},
|
||||
"apiKey": {
|
||||
"title": "مفتاح API",
|
||||
"description": "مفتاح API للمزود المختار.",
|
||||
"placeholder": "sk-..."
|
||||
},
|
||||
"model": {
|
||||
"title": "النموذج",
|
||||
"descriptionApple": "قدم حداً اختيارياً للرموز الرقمية أو احتفظ بالإعداد المسبق الافتراضي على الجهاز.",
|
||||
"descriptionCustom": "قدم معرف النموذج المتوقع من قبل نقطة النهاية المخصصة الخاصة بك.",
|
||||
"descriptionDefault": "اختر نموذجاً يعرضه المزود المختار.",
|
||||
"placeholderApple": "Apple Intelligence",
|
||||
"placeholderWithOptions": "ابحث عن نموذج أو اختره",
|
||||
"placeholderNoOptions": "اكتب اسم النموذج",
|
||||
"refreshModels": "تحديث النماذج"
|
||||
}
|
||||
},
|
||||
"prompts": {
|
||||
"title": "المطالبة",
|
||||
"selectedPrompt": {
|
||||
"title": "المطالبة المختارة",
|
||||
"description": ".اختر قالباً لتحسين التفريغ الصوتي أو أنشئ قالباً جديداً. استخدم ${output} داخل نص المطالبة للإشارة إلى النص الملتقط"
|
||||
},
|
||||
"noPrompts": "لا توجد مطالبات متاحة",
|
||||
"selectPrompt": "اختر مطالبة",
|
||||
"createNew": "إنشاء مطالبة جديدة",
|
||||
"promptLabel": "تسمية المطالبة",
|
||||
"promptLabelPlaceholder": "أدخل اسم المطالبة",
|
||||
"promptInstructions": "تعليمات المطالبة",
|
||||
"promptInstructionsPlaceholder": ".اكتب التعليمات المراد تشغيلها بعد التفريغ الصوتي. مثال: قم بتحسين القواعد والوضوح للنص التالي: ${output}",
|
||||
"promptTip": "تلميح: استخدم <code>${output}</code> لإدراج النص المفرغ في مطالبتك.",
|
||||
"updatePrompt": "تحديث المطالبة",
|
||||
"deletePrompt": "حذف المطالبة",
|
||||
"createPrompt": "إنشاء مطالبة",
|
||||
"cancel": "إلغاء",
|
||||
"selectToEdit": ".اختر مطالبة أعلاه لعرض وتعديل تفاصيلها",
|
||||
"createFirst": ".انقر على 'إنشاء مطالبة جديدة' أعلاه لإنشاء أول مطالبة معالجة لاحقة لك"
|
||||
}
|
||||
},
|
||||
"history": {
|
||||
"title": "السجل",
|
||||
"openFolder": "فتح مجلد التسجيلات",
|
||||
"loading": "...جاري تحميل السجل",
|
||||
"empty": "!لا يوجد تفريغ صوتي بعد. ابدأ التسجيل لبناء سجلك",
|
||||
"copyToClipboard": "نسخ التفريغ إلى الحافظة",
|
||||
"save": "حفظ التفريغ",
|
||||
"unsave": "إزالة من المحفوظات",
|
||||
"delete": "حذف الإدخال",
|
||||
"deleteError": ".فشل حذف الإدخال. يرجى المحاولة مرة أخرى"
|
||||
},
|
||||
"debug": {
|
||||
"title": "تصحيح الأخطاء",
|
||||
"logDirectory": {
|
||||
"title": "مجلد السجلات",
|
||||
"description": "الموقع الذي يتم فيه تخزين ملفات السجل"
|
||||
},
|
||||
"logLevel": {
|
||||
"title": "مستوى السجل",
|
||||
"description": "ضبط درجة تفصيل السجلات"
|
||||
},
|
||||
"updateChecks": {
|
||||
"label": "التحقق من وجود تحديثات",
|
||||
"description": "التحقق تلقائياً من وجود إصدارات جديدة من Handy"
|
||||
},
|
||||
"soundTheme": {
|
||||
"label": "سمة الصوت",
|
||||
"description": "اختر سمة صوت لتنبيهات بدء وتوقف التسجيل"
|
||||
},
|
||||
"wordCorrectionThreshold": {
|
||||
"title": "عتبة تصحيح الكلمات",
|
||||
"description": "حساسية تصحيح الكلمات المخصصة"
|
||||
},
|
||||
"historyLimit": {
|
||||
"title": "حد السجل",
|
||||
"description": "الحد الأقصى لعدد إدخالات السجل المراد الاحتفاظ بها",
|
||||
"entries": "إدخالات"
|
||||
},
|
||||
"recordingRetention": {
|
||||
"title": "حذف التسجيلات تلقائياً",
|
||||
"description": "حذف التسجيلات القديمة تلقائياً لتوفير المساحة",
|
||||
"never": "أبداً",
|
||||
"preserveLimit": "الاحتفاظ بآخر {{count}}",
|
||||
"days3": "بعد 3 أيام",
|
||||
"weeks2": "بعد أسبوعين",
|
||||
"months3": "بعد 3 أشهر",
|
||||
"placeholder": "اختر فترة الاحتفاظ..."
|
||||
},
|
||||
"alwaysOnMicrophone": {
|
||||
"label": "ميكروفون يعمل دائماً",
|
||||
"description": "إبقاء الميكروفون نشطاً لاستجابة أسرع"
|
||||
},
|
||||
"clamshellMicrophone": {
|
||||
"title": "ميكروفون وضع الإغلاق",
|
||||
"description": "الميكروفون المراد استخدامه عندما يكون غطاء المحمول مغلقاً"
|
||||
},
|
||||
"postProcessingToggle": {
|
||||
"label": "معالجة لاحقة",
|
||||
"description": "تمكين تحسين النص المدعوم بالذكاء الاصطناعي بعد التفريغ الصوتي"
|
||||
},
|
||||
"muteWhileRecording": {
|
||||
"label": "كتم الصوت أثناء التسجيل",
|
||||
"description": "كتم صوت النظام أثناء التسجيل"
|
||||
},
|
||||
"appendTrailingSpace": {
|
||||
"label": "إضافة مسافة تابعة",
|
||||
"description": "إضافة مسافة بعد التفريغ الملصق"
|
||||
},
|
||||
"keyboardImplementation": {
|
||||
"title": "تنفيذ لوحة المفاتيح",
|
||||
"description": ".اختر الواجهة الخلفية لاختصارات لوحة المفاتيح",
|
||||
"bindingsReset": "كانت اختصارات لوحة المفاتيح غير متوافقة وتمت إعادة تعيينها إلى القيم الافتراضية"
|
||||
},
|
||||
"paths": {
|
||||
"appData": "بيانات التطبيق:",
|
||||
"models": "النماذج:",
|
||||
"settings": "الإعدادات:"
|
||||
}
|
||||
},
|
||||
"about": {
|
||||
"title": "حول",
|
||||
"version": {
|
||||
"title": "الإصدار",
|
||||
"description": "الإصدار الحالي من Handy"
|
||||
},
|
||||
"appDataDirectory": {
|
||||
"title": "مجلد بيانات التطبيق",
|
||||
"description": "الموقع الذي يخزن فيه Handy بياناته"
|
||||
},
|
||||
"sourceCode": {
|
||||
"title": "كود المصدر",
|
||||
"description": "عرض كود المصدر والمساهمة",
|
||||
"button": "عرض على GitHub"
|
||||
},
|
||||
"supportDevelopment": {
|
||||
"title": "دعم التطوير",
|
||||
"description": "ساعدنا في مواصلة بناء Handy",
|
||||
"button": "تبرع"
|
||||
},
|
||||
"acknowledgments": {
|
||||
"title": "شكر وتقدير",
|
||||
"whisper": {
|
||||
"title": "Whisper.cpp",
|
||||
"description": "استنتاج عالي الأداء لنموذج التعرف التلقائي على الكلام Whisper من OpenAI",
|
||||
"details": ".يستخدم Handy برنامج Whisper.cpp لمعالجة سريعة ومحلية لتحويل الكلام إلى نص. شكراً للعمل الرائع الذي قام به Georgi Gerganov والمساهمون"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"downloadingModel": "...جاري تنزيل {{model}}",
|
||||
"checkingUpdates": "...جاري التحقق من وجود تحديثات",
|
||||
"updateAvailable": "تحديث متاح: {{version}}",
|
||||
"updateAvailableShort": "تحديث متاح",
|
||||
"upToDate": "محدث",
|
||||
"downloadUpdate": "تنزيل التحديث",
|
||||
"restart": "إعادة تشغيل",
|
||||
"updateCheckingDisabled": "تم تعطيل التحقق من التحديث",
|
||||
"downloading": "...جاري التنزيل {{progress}}%",
|
||||
"installing": "...جاري التثبيت",
|
||||
"preparing": "...جاري التحضير",
|
||||
"checkForUpdates": "التحقق من وجود تحديثات"
|
||||
},
|
||||
"common": {
|
||||
"loading": "...جاري التحميل",
|
||||
"save": "حفظ",
|
||||
"cancel": "إلغاء",
|
||||
"reset": "إعادة تعيين",
|
||||
"add": "إضافة",
|
||||
"remove": "إزالة",
|
||||
"delete": "حذف",
|
||||
"edit": "تعديل",
|
||||
"create": "إنشاء",
|
||||
"update": "تحديث",
|
||||
"close": "إغلاق",
|
||||
"open": "فتح",
|
||||
"default": "افتراضي",
|
||||
"enabled": "ممكن",
|
||||
"disabled": "معطل",
|
||||
"on": "تشغيل",
|
||||
"off": "إيقاف",
|
||||
"yes": "نعم",
|
||||
"no": "لا",
|
||||
"noOptionsFound": "لم يتم العثور على خيارات"
|
||||
},
|
||||
"accessibility": {
|
||||
"permissionsRequired": "أذونات إمكانية الوصول مطلوبة",
|
||||
"permissionsDescription": ".يحتاج Handy إلى أذونات إمكانية الوصول لكتابة النص المفرغ",
|
||||
"openSettings": "فتح إعدادات النظام",
|
||||
"dismiss": "تجاهل"
|
||||
},
|
||||
"errors": {
|
||||
"loadDirectory": "خطأ في تحميل المجلد: {{error}}"
|
||||
},
|
||||
"appLanguage": {
|
||||
"title": "لغة التطبيق",
|
||||
"description": "تغيير لغة واجهة Handy"
|
||||
},
|
||||
"overlay": {
|
||||
"transcribing": "...جاري التفريغ"
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue