Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ feat: adding Arabic Language Support #1049

Merged
merged 6 commits into from
Jan 15, 2024
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .i18nrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ module.exports = defineConfig({
entryLocale: 'zh-CN',
output: 'locales',
outputLocales: [
'ar',
'zh-TW',
'en-US',
'ru-RU',
Expand Down
96 changes: 96 additions & 0 deletions locales/ar/chat.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
{
"agentDefaultMessage": "مرحبًا، أنا **{{name}}**، يمكنك البدء في الدردشة معي على الفور، أو يمكنك الانتقال إلى [إعدادات المساعد](/chat/settings#session={{id}}) لتحسين معلوماتي.",
"agentDefaultMessageWithSystemRole": "مرحبًا، أنا **{{name}}**، {{systemRole}}، دعنا نبدأ الدردشة!",
"backToBottom": "العودة إلى الأسفل",
"clearCurrentMessages": "مسح رسائل الجلسة الحالية",
"confirmClearCurrentMessages": "سيتم مسح رسائل الجلسة الحالية قريبًا، وبمجرد المسح لن يمكن استعادتها، يرجى تأكيد الإجراء الخاص بك",
"confirmRemoveSessionItemAlert": "سيتم حذف هذا المساعد قريبًا، وبمجرد الحذف لن يمكن استعادته، يرجى تأكيد الإجراء الخاص بك",
"defaultAgent": "المساعد الافتراضي",
"defaultSession": "المساعد الافتراضي",
"duplicateTitle": "{{title}} نسخة",
"historyRange": "نطاق التاريخ",
"inbox": {
"defaultMessage": "مرحبًا، أنا مساعدك الذكي، يمكنك أن تسألني أي شيء وسأحاول الإجابة عليك. إذا كنت بحاجة إلى مساعد أكثر احترافية أو مخصصة، يمكنك النقر على `+` لإنشاء مساعد مخصص",
"desc": "قم بتشغيل مجموعة الدماغ وأشعل شرارة التفكير. مساعدك الذكي، هنا حيث يمكنك التواصل بكل شيء",
"title": "دردشة عشوائية"
},
"input": {
"onlyAdd": "إضافة الرسالة فقط",
"send": "إرسال",
"sendWithCmdEnter": "اضغط {{meta}} + Enter للإرسال",
"sendWithEnter": "اضغط Enter للإرسال",
"stop": "توقف",
"warp": "تغيير السطر"
},
"messageAction": {
"delAndRegenerate": "حذف وإعادة الإنشاء",
"regenerate": "إعادة الإنشاء"
},
"newAgent": "مساعد جديد",
"noDescription": "لا توجد وصف",
"pin": "تثبيت",
"pinOff": "إلغاء التثبيت",
"regenerate": "إعادة الإنشاء",
"roleAndArchive": "الدور والأرشيف",
"searchAgentPlaceholder": "البحث عن مساعد ومحادثة...",
"sendPlaceholder": "أدخل محتوى الدردشة...",
"sessionList": "قائمة المساعدين",
"shareModal": {
"download": "تحميل اللقطة",
"imageType": "نوع الصورة",
"screenshot": "لقطة شاشة",
"settings": "إعدادات التصدير",
"shareToShareGPT": "إنشاء رابط مشاركة ShareGPT",
"withBackground": "تضمين صورة الخلفية",
"withFooter": "تضمين تذييل",
"withPluginInfo": "تضمين معلومات البرنامج المساعد",
"withSystemRole": "تضمين دور المساعد"
},
"stt": {
"action": "إدخال صوتي",
"loading": "جارٍ التعرف...",
"prettifying": "جارٍ التجميل..."
},
"temp": "مؤقت",
"tokenDetail": "إعداد الدور: {{systemRoleToken}} · رسائل الجلسة: {{chatsToken}} · إعداد الأدوات: {{toolsToken}}",
"tokenTag": {
"overload": "تجاوز الحد",
"remained": "متبقي",
"used": "مستخدم"
},
"topic": {
"actions": {
"autoRename": "إعادة تسمية ذكية",
"duplicate": "إنشاء نسخة",
"export": "تصدير الموضوع"
},
"confirmRemoveAll": "سيتم حذف جميع المواضيع قريبًا، وبمجرد الحذف لن يمكن استعادتها، يرجى التحلي بالحذر.",
"confirmRemoveTopic": "سيتم حذف هذا الموضوع قريبًا، وبمجرد الحذف لن يمكن استعادته، يرجى التحلي بالحذر.",
"confirmRemoveUnstarred": "سيتم حذف المواضيع غير المحفوظة قريبًا، وبمجرد الحذف لن يمكن استعادتها، يرجى التحلي بالحذر.",
"defaultTitle": "الموضوع الافتراضي",
"guide": {
"desc": "انقر فوق زر الإرسال الأيسر لحفظ الجلسة الحالية كموضوع تاريخي وبدء جلسة جديدة",
"title": "قائمة المواضيع"
},
"openNewTopic": "فتح موضوع جديد",
"removeAll": "حذف جميع المواضيع",
"removeUnstarred": "حذف المواضيع غير المحفوظة",
"saveCurrentMessages": "حفظ الجلسة الحالية كموضوع",
"searchPlaceholder": "البحث في المواضيع...",
"title": "الموضوع"
},
"translate": {
"action": "ترجمة",
"clear": "مسح الترجمة"
},
"tts": {
"action": "قراءة صوتية",
"clear": "مسح الصوت"
},
"updateAgent": "تحديث معلومات المساعد",
"upload": {
"actionTooltip": "تحميل الصورة",
"dragDesc": "اسحب الملفات إلى هنا، يدعم تحميل عدة صور. اضغط على Shift لإرسال الصور مباشرة",
"dragTitle": "تحميل الصورة"
}
}
114 changes: 114 additions & 0 deletions locales/ar/common.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
{
"about": "حول",
"advanceSettings": "إعدادات متقدمة",
"agentMaxToken": "أقصى طول للجلسة",
"agentModel": "النموذج",
"agentProfile": "ملف المساعد",
"appInitializing": "جاري تهيئة LobeChat، يرجى الانتظار بصبر...",
"archive": "أرشيف",
"autoGenerate": "توليد تلقائي",
"autoGenerateTooltip": "إكمال تلقائي بناءً على الكلمات المقترحة لوصف المساعد",
"cancel": "إلغاء",
"changelog": "سجل التغييرات",
"close": "إغلاق",
"confirmRemoveSessionItemAlert": "سيتم حذف هذا المساعد قريبًا، وبمجرد الحذف لن يمكن استعادته، يرجى تأكيد الإجراء",
"copy": "نسخ",
"copySuccess": "تم النسخ بنجاح",
"defaultAgent": "مساعد افتراضي",
"defaultSession": "جلسة افتراضية",
"delete": "حذف",
"duplicate": "إنشاء نسخة",
"edit": "تحرير",
"export": "تصدير الإعدادات",
"exportType": {
"agent": "تصدير إعدادات المساعد",
"agentWithMessage": "تصدير المساعد والرسائل",
"all": "تصدير الإعدادات العامة وجميع بيانات المساعد",
"allAgent": "تصدير جميع إعدادات المساعد",
"allAgentWithMessage": "تصدير جميع المساعدين والرسائل",
"globalSetting": "تصدير الإعدادات العامة"
},
"feedback": "تقديم ملاحظات",
"historyRange": "نطاق التاريخ",
"import": "استيراد الإعدادات",
"importModal": {
"finish": {
"onlySettings": "تم استيراد إعدادات النظام بنجاح",
"start": "ابدأ الاستخدام",
"subTitle": "تم استيراد البيانات بنجاح، وقت الاستيراد {{duration}} ثانية. تفاصيل الاستيراد كالتالي:",
"title": "اكتمال عملية الاستيراد"
},
"loading": "جاري استيراد البيانات، يرجى الانتظار...",
"result": {
"added": "تمت الإضافة بنجاح",
"errors": "حدثت أخطاء أثناء الاستيراد",
"messages": "الرسائل",
"sessions": "الجلسات",
"skips": "التخطيات",
"topics": "المواضيع",
"type": "نوع البيانات"
},
"title": "استيراد البيانات"
},
"lang": {
"bn": "البنغالية",
"cs-CZ": "التشيكية",
"da-DK": "الدنماركية",
"de-DE": "الألمانية",
"el-GR": "اليونانية",
"en": "الإنجليزية",
"en-US": "الإنجليزية",
"es-ES": "الإسبانية",
"fi-FI": "الفنلندية",
"fr-FR": "الفرنسية",
"hi-IN": "الهندية",
"hu-HU": "الهنغارية",
"id-ID": "الإندونيسية",
"it-IT": "الإيطالية",
"ja-JP": "اليابانية",
"ko-KR": "الكورية",
"nl-NL": "الهولندية",
"no-NO": "النرويجية",
"pl-PL": "البولندية",
"pt-BR": "البرتغالية",
"pt-PT": "البرتغالية",
"ro-RO": "الرومانية",
"ru-RU": "الروسية",
"sk-SK": "السلوفاكية",
"sr-RS": "الصربية",
"sv-SE": "السويدية",
"th-TH": "التايلاندية",
"tr-TR": "التركية",
"uk-UA": "الأوكرانية",
"vi-VN": "الفيتنامية",
"zh": "الصينية المبسطة",
"zh-CN": "الصينية المبسطة",
"zh-TW": "الصينية التقليدية"
},
"layoutInitializing": "جاري تحميل التخطيط...",
"noDescription": "لا توجد وصف",
"ok": "موافق",
"password": "كلمة المرور",
"pin": "تثبيت في الأعلى",
"pinOff": "إلغاء التثبيت",
"regenerate": "إعادة توليد",
"rename": "إعادة تسمية",
"reset": "إعادة تعيين",
"retry": "إعادة المحاولة",
"send": "إرسال",
"setting": "الإعدادات",
"share": "مشاركة",
"stop": "إيقاف",
"tab": {
"chat": "الدردشة",
"market": "الاكتشاف",
"setting": "الإعدادات"
},
"temp": "مؤقت",
"updateAgent": "تحديث معلومات الوكيل",
"upgradeVersion": {
"action": "ترقية",
"hasNew": "يوجد تحديث متاح",
"newVersion": "هناك إصدار جديد متاح: {{version}}"
}
}
72 changes: 72 additions & 0 deletions locales/ar/error.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
{
"pluginSettings": {
"desc": "أكمل الإعدادات التالية لبدء استخدام هذا المكون الإضافي",
"title": "تكوين مكون الإضافة {{name}}"
},
"response": {
"400": "عذرًا، الخادم غير قادر على فهم طلبك، يرجى التحقق من صحة معلمات الطلب الخاصة بك",
"401": "عذرًا، رفض الخادم طلبك، قد يكون بسبب صلاحياتك غير الكافية أو عدم تقديم التحقق من الهوية الصالحة",
"403": "عذرًا، رفض الخادم طلبك، ليس لديك إذن للوصول إلى هذا المحتوى",
"404": "عذرًا، الخادم لا يمكنه العثور على الصفحة أو المورد المطلوب، يرجى التحقق من صحة عنوان URL الخاص بك",
"405": "عذرًا، الخادم لا يدعم طريقة الطلب المستخدمة، يرجى التحقق من صحة طريقة الطلب الخاصة بك",
"406": "عذرًا، الخادم غير قادر على استكمال الطلب وفقًا لخصائص المحتوى التي طلبتها",
"407": "عذرًا، تحتاج إلى مصادقة الوكيل لمتابعة هذا الطلب",
"408": "عذرًا، تجاوز الخادم الوقت المحدد في انتظار الطلب، يرجى التحقق من اتصالك بالشبكة والمحاولة مرة أخرى",
"409": "عذرًا، يوجد تضارب في الطلب الذي لا يمكن معالجته، قد يكون بسبب عدم توافق حالة المورد مع الطلب",
"410": "عذرًا، تمت إزالة المورد الذي طلبته بشكل دائم ولا يمكن العثور عليه",
"411": "عذرًا، الخادم غير قادر على معالجة الطلب الذي لا يحتوي على طول محتوى صالح",
"412": "عذرًا، لم يتم تلبية شروط الخادم الجانبية لطلبك ولا يمكن استكمال الطلب",
"413": "عذرًا، حجم بيانات طلبك كبير جدًا والخادم غير قادر على معالجته",
"414": "عذرًا، طول عنوان URI الخاص بطلبك كبير جدًا والخادم غير قادر على معالجته",
"415": "عذرًا، الخادم غير قادر على معالجة تنسيق الوسائط المرفقة بالطلب",
"416": "عذرًا، الخادم غير قادر على تلبية نطاق الطلب الذي قدمته",
"417": "عذرًا، الخادم غير قادر على تلبية قيم توقعاتك",
"422": "عذرًا، الطلب لديه تنسيق صحيح، ولكن بسبب وجود أخطاء دلالية، لا يمكن الاستجابة",
"423": "عذرًا، تم قفل المورد الذي طلبته",
"424": "عذرًا، بسبب فشل الطلب السابق، لا يمكن استكمال الطلب الحالي",
"426": "عذرًا، يتطلب الخادم ترقية عميلك إلى إصدار بروتوكول أعلى",
"428": "عذرًا، يتطلب الخادم شروطًا مسبقة، ويجب أن يحتوي طلبك على رؤوس الشروط الصحيحة",
"429": "عذرًا، طلبك كثير جدًا والخادم متعب قليلاً، يرجى المحاولة مرة أخرى لاحقًا",
"431": "عذرًا، حقول رأس الطلب الخاصة بك كبيرة جدًا والخادم غير قادر على معالجتها",
"451": "عذرًا، بسبب الأسباب القانونية، يرفض الخادم توفير هذا المورد",
"500": "عذرًا، يبدو أن الخادم واجه بعض الصعوبات ولا يمكنه حاليًا استكمال طلبك، يرجى المحاولة مرة أخرى لاحقًا",
"502": "عذرًا، يبدو أن الخادم قد ضل الطريق ولا يمكنه حاليًا تقديم الخدمة، يرجى المحاولة مرة أخرى لاحقًا",
"503": "عذرًا، الخادم غير قادر حاليًا على معالجة طلبك، قد يكون بسبب الحمل الزائد أو الصيانة الجارية، يرجى المحاولة مرة أخرى لاحقًا",
"504": "عذرًا، الخادم لم ينتظر ردًا من الخادم الأصلي، يرجى المحاولة مرة أخرى لاحقًا",
"InvalidAccessCode": "كلمة المرور غير صحيحة أو فارغة، يرجى إدخال كلمة مرور الوصول الصحيحة أو إضافة مفتاح API الخاص بك",
"NoAPIKey": "مفتاح API الخاص بـ OpenAI فارغ، يرجى إضافة مفتاح API الخاص بـ OpenAI",
"OpenAIBizError": "حدث خطأ في طلب خدمة OpenAI، يرجى التحقق من المعلومات أدناه وإعادة المحاولة",
"PluginApiNotFound": "عذرًا، لا يوجد API للإضافة في وصف الإضافة، يرجى التحقق من تطابق طريقة الطلب الخاصة بك مع API الوصف",
"PluginApiParamsError": "عذرًا، فشلت التحقق من صحة معلمات الطلب للإضافة، يرجى التحقق من تطابق المعلمات مع معلومات الوصف",
"PluginGatewayError": "عذرًا، حدث خطأ في بوابة الإضافة، يرجى التحقق من تكوين بوابة الإضافة",
"PluginManifestInvalid": "عذرًا، فشلت التحقق من صحة وصف الإضافة، يرجى التحقق من تنسيق وصف الإضافة",
"PluginManifestNotFound": "عذرًا، لم يتم العثور على وصف الإضافة (manifest.json) في الخادم، يرجى التحقق من صحة عنوان ملف وصف الإضافة",
"PluginMarketIndexInvalid": "عذرًا، فشلت التحقق من صحة فهرس الإضافات، يرجى التحقق من تنسيق ملف الفهرس",
"PluginMarketIndexNotFound": "عذرًا، لم يتم العثور على فهرس الإضافات في الخادم، يرجى التحقق من صحة عنوان الفهرس",
"PluginMetaInvalid": "عذرًا، فشلت التحقق من صحة بيانات الإضافة، يرجى التحقق من تنسيق بيانات الإضافة",
"PluginMetaNotFound": "عذرًا، لم يتم العثور على معلومات تكوين الإضافة في الفهرس",
"PluginOpenApiInitError": "عذرًا، فشل تهيئة عميل OpenAPI، يرجى التحقق من معلومات تكوين OpenAPI",
"PluginServerError": "خطأ في استجابة الخادم لطلب الإضافة، يرجى التحقق من ملف وصف الإضافة وتكوين الإضافة وتنفيذ الخادم وفقًا لمعلومات الخطأ أدناه",
"PluginSettingsInvalid": "تحتاج هذه الإضافة إلى تكوين صحيح قبل الاستخدام، يرجى التحقق من صحة تكوينك"
},
"stt": {
"responseError": "فشل طلب الخدمة، يرجى التحقق من الإعدادات أو إعادة المحاولة"
},
"tts": {
"responseError": "فشل طلب الخدمة، يرجى التحقق من الإعدادات أو إعادة المحاولة"
},
"unlock": {
"apikey": {
"addProxyUrl": "إضافة عنوان الوكيل لـ OpenAI (اختياري)",
"description": "قم بإدخال مفتاح OpenAI API الخاص بك لبدء الجلسة. لن يتم تسجيل مفتاح الخاص بك من قبل التطبيق",
"title": "استخدام مفتاح API مخصص"
},
"closeMessage": "إغلاق الرسالة",
"confirm": "تأكيد وإعادة المحاولة",
"password": {
"description": "قام المسؤول بتشفير التطبيق، قم بإدخال كلمة مرور التطبيق لفتح التطبيق. يتعين إدخال كلمة المرور مرة واحدة فقط",
"placeholder": "الرجاء إدخال كلمة المرور",
"title": "إدخال كلمة المرور لفتح التطبيق"
}
}
}
30 changes: 30 additions & 0 deletions locales/ar/market.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"addAgent": "إضافة وكيل",
"guide": {
"func1": {
"desc1": "في نافذة الدردشة، انتقل إلى صفحة إعدادات الوكيل التي ترغب في تقديمها من الزاوية اليمنى العلوية.",
"desc2": "انقر فوق زر تقديم إلى سوق الوكلاء في الزاوية اليمنى العلوية.",
"tag": "الطريقة الأولى",
"title": "تقديم عبر LobeChat"
},
"func2": {
"button": "انتقل إلى مستودع وكلاء Github",
"desc": "إذا كنت ترغب في إضافة الوكيل إلى الفهرس، يرجى استخدام agent-template.json أو agent-template-full.json لإنشاء إدخال في دليل plugins، وكتابة وصف موجز ووضع علامات بشكل مناسب، ثم إنشاء طلب سحب.",
"tag": "الطريقة الثانية",
"title": "تقديم عبر Github"
}
},
"search": {
"placeholder": "ابحث عن اسم الوكيل أو وصفه أو كلمات رئيسية..."
},
"sidebar": {
"comment": "منطقة النقاش",
"prompt": "كلمة تلميح",
"title": "تفاصيل الوكيل"
},
"submitAgent": "تقديم الوكيل",
"title": {
"allAgents": "جميع الوكلاء",
"recentSubmits": "الإضافات الأخيرة"
}
}
Loading