From 69a284e320593caf5fc49afad74afc0b6ff537bd Mon Sep 17 00:00:00 2001 From: ryanhrh Date: Wed, 12 Mar 2025 18:29:51 +0000 Subject: [PATCH 01/12] Create ar.json --- src/assets/i18n/ar.json | 312 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 312 insertions(+) create mode 100644 src/assets/i18n/ar.json diff --git a/src/assets/i18n/ar.json b/src/assets/i18n/ar.json new file mode 100644 index 000000000..4c30045ac --- /dev/null +++ b/src/assets/i18n/ar.json @@ -0,0 +1,312 @@ +{ + "CLOSE": "إغلاق", + "PLAYLISTS": "قوائم التشغيل", + "HOME": { + "TITLE": "IPTVnator", + "SUBTITLE": "يرجى اختيار قائمة تشغيل من القائمة أو إضافة قائمة جديدة", + "TABS": { + "RECENTLY_ADDED": "قوائم التشغيل المضافة مؤخرًا", + "FILE_UPLOAD": "إضافة عبر تحميل ملف", + "URL_UPLOAD": "إضافة عبر رابط URL", + "TEXT_IMPORT": "استيراد من نص", + "XTREME_IMPORT": "إضافة Xtreme Code", + "STALKER_PORTAL_IMPORT": "إضافة Stalker Portal" + }, + "PLAYLISTS": { + "NO_PLAYLISTS": "لم تُضف أي قوائم تشغيل", + "ADD_FIRST": "يرجى إضافة أول قائمة تشغيل", + "ADDED_VIA_URL": "تمت الإضافة عبر رابط URL. الرابط:", + "ADDED_VIA_FILE": "تمت الإضافة عبر تحميل ملف", + "XTREAM_PLAYLIST": "قائمة تشغيل Xtream", + "STALKER_PORTAL": "بوابة Stalker", + "CHANNELS": "القنوات", + "ADDED": "تمت الإضافة", + "SHOW_DETAILS": "عرض تفاصيل القائمة", + "REMOVE": "حذف القائمة", + "SEARCH_PLAYLISTS": "البحث عن قوائم التشغيل حسب العنوان", + "INFO_DIALOG": { + "PLAYLIST_DETAILS": "تفاصيل قائمة التشغيل", + "TITLE": "العنوان", + "FROM_URL": "تمت الإضافة من الرابط", + "IMPORT_DATE": "تاريخ الاستيراد", + "CHANNELS": "عدد القنوات", + "CLOSE": "إغلاق", + "SAVE": "حفظ", + "USER_AGENT": "وكيل المستخدم", + "ORIGINAL_FILENAME": "اسم الملف الأصلي", + "FILE_PATH": "مسار الملف", + "UPDATE_FAILED": "فشل تحديث القائمة الأخيرة", + "AUTO_UPDATE": "التحديث التلقائي", + "AUTO_UPDATE_DESCRIPTION": "إذا تم تفعيل التحديث التلقائي، ستُحدَّث القائمة تلقائيًا عند كل تشغيل للتطبيق.", + "CUSTOM_USER_AGENT": "قد تتطلب بعض خدمات IPTV وكيل مستخدم محدد لتشغيل قوائم التشغيل.", + "EXPORT_PLAYLIST": "تصدير القائمة كملف M3U", + "SERVER_URL": "رابط الخادم", + "USERNAME": "اسم المستخدم", + "PASSWORD": "كلمة المرور", + "MAC_ADDRESS": "عنوان MAC", + "PLAYLIST_EXPORT_SUCCESS": "تم تصدير القائمة بنجاح.", + "PLAYLIST_EXPORT_ERROR": "خطأ: فشل تصدير القائمة." + }, + "REMOVE_DIALOG": { + "TITLE": "حذف القائمة", + "MESSAGE": "هل أنت متأكد من رغبتك في حذف هذه القائمة نهائيًا؟", + "SUCCESS": "تم حذف القائمة بنجاح" + }, + "UPDATED": "تم التحديث", + "REFRESH": "تحديث القائمة", + "GLOBAL_FAVORITES": "المفضلة العامة", + "GLOBAL_FAVORITES_DESCRIPTION": "قائمة تلقائية تجمع القنوات المفضلة من جميع القوائم", + "MY_PLAYLISTS": "قوائم التشغيل الخاصة بي", + "MY_PLAYLISTS_SUBTITLE": "جميع القوائم المتاحة", + "PLAYLIST_UPDATE_SUCCESS": "نجاح! تم تحديث القائمة.", + "PLAYLIST_UPDATE_ERROR": "خطأ في تحديث تفاصيل القائمة." + }, + "FILE_UPLOAD": { + "DRAG_DROP": "اسحب وأفلت الملفات هنا", + "OR": "أو", + "CHOOSE_PLAYLIST": "اختر قائمة تشغيل", + "REJECTED": "تم رفض الملف، تنسيق غير مدعوم {{filename}}." + }, + "URL_UPLOAD": { + "PLAYLIST_URL": "رابط قائمة التشغيل (M3U/M3U8)", + "ADD_PLAYLIST": "إضافة القائمة", + "CORS_NOTE": "ملاحظة: لتجنب مشاكل CORS، يستخدم التطبيق خدمة بروكسي عامة. يُنصح باستيراد القوائم الحساسة عبر الملفات." + }, + "TEXT_IMPORT": { + "LABEL": "إدراج قائمة تشغيل M3U(8) كنص", + "BUTTON_LABEL": "استيراد" + }, + "XTREAM_PLAYLIST": { + "TITLE": "عنوان القائمة", + "SERVER_URL": "رابط الخادم", + "USERNAME": "اسم المستخدم", + "PASSWORD": "كلمة المرور", + "ADD": "إضافة", + "TEST_CREDENTIALS": "اختبار بيانات الاعتماد", + "URL_VALIDATION_ERROR": "يجب أن يكون الرابط صالحًا مع بروتوكول (مثال: http://example.com)" + }, + "STALKER_PORTAL": { + "TITLE": "العنوان", + "MAC_ADDRESS": "عنوان MAC", + "SERVER_URL": "رابط الخادم", + "URL_VALIDATION_ERROR": "يجب أن يكون الرابط صالحًا مع بروتوكول (مثال: http://example.com/stalker_portal)", + "ADD": "إضافة" + }, + "FILTER_BY_NAME": "التصفية حسب الاسم", + "FILTER_BY_TYPE": "التصفية حسب النوع", + "SORT_PLAYLISTS": "فرز القوائم", + "SORT_BY": "ترتيب حسب", + "SORT_OPTIONS": { + "NAME_ASC": "الاسم (أ-ي)", + "NAME_DESC": "الاسم (ي-أ)", + "NEWEST": "تاريخ الإضافة (الأحدث أولاً)", + "OLDEST": "تاريخ الإضافة (الأقدم أولاً)" + }, + "IMPORTED_AS_TEXT": "مستوردة كنص", + "PARSING_ERROR": "خطأ: فشل التحليل، ليست قائمة تشغيل صالحة:" + }, + "SETTINGS": { + "TITLE": "الإعدادات / IPTVnator", + "SUBTITLE": "تعديل تكوين التطبيق", + "DESCRIPTION": "يرجى ضبط الخيارات أدناه ثم النقر على حفظ التغييرات", + "EPG_URL_LABEL": "رابط EPG (XML/XML.GZ)", + "EPG_URL_PLACEHOLDER": "أدخل رابطًا", + "REFRESH_EPG": "تحديث EPG", + "VIDEO_PLAYER_LABEL": "مشغل الفيديو", + "VIDEO_PLAYER_PLACEHOLDER": "اختر خيارًا", + "VERSION": "الإصدار", + "SAVE_CHANGES": "حفظ التغييرات", + "BACK_TO_HOME": "العودة للرئيسية", + "NEW_VERSION_AVAILABLE": "إصدار جديد متاح", + "LATEST_VERSION": "أنت تستخدم الإصدار الأحدث", + "LANGUAGE": "اللغة", + "SETTINGS_SAVED": "نجاح! تم حفظ الإعدادات.", + "THEME": "السمة البصرية", + "SHOW_CAPTIONS": "عرض الترجمات", + "ADD_EPG_SOURCE": "إضافة مصدر EPG", + "EPG_URL_ERROR": "القيمة ليست رابطًا صالحًا", + "VIDEO_PLAYER_DESCRIPTION": "اختر مشغل الفيديو الافتراضي", + "LANGUAGE_DESCRIPTION": "اختر لغة التطبيق", + "THEME_DESCRIPTION": "اختر السمة البصرية للتطبيق", + "SHOW_CAPTIONS_DESCRIPTION": "عرض أو إخفاء الترجمات افتراضيًا", + "VERSION_DESCRIPTION": "الإصدار الحالي للتطبيق", + "EPG_NOTE": "الـ EPG متاح فقط في نسخة Electron من التطبيق.", + "EPG_NOTE_URL_TEXT": "تحقق من هنا", + "IMPORT_EXPORT_DATA": "استيراد/تصدير القوائم", + "IMPORT_EXPORT_DATA_DESCRIPTION": "تصدير أو استيراد القوائم بتنسيق JSON.", + "IMPORT_DATA": "استيراد", + "EXPORT_DATA": "تصدير", + "REMOVE_ALL": "حذف جميع القوائم", + "REMOVE_ALL_BUTTON": "حذف", + "REMOVE_ALL_DESCRIPTION": "سيتم حذف جميع القوائم من التطبيق.", + "REMOVE_DIALOG": { + "TITLE": "حذف جميع القوائم", + "MESSAGE": "هل أنت متأكد من رغبتك في حذف جميع القوائم؟" + }, + "IMPORT_ERROR": "خطأ في الاستيراد، يرجى تجربة ملف آخر.", + "PLAYLISTS_REMOVED": "تم حذف جميع القوائم.", + "MPV_PLAYER_PATH_LABEL": "مسار مشغل MPV", + "MPV_PLAYER_PATH_DESCRIPTION": "حدد مسار مشغل MPV في نظامك.", + "MPV_PLAYER_PATH": "مسار مشغل MPV", + "VLC_PLAYER_PATH_LABEL": "مسار VLC", + "VLC_PLAYER_PATH_DESCRIPTION": "حدد مسار مشغل VLC في نظامك.", + "VLC_PLAYER_PATH": "مسار مشغل VLC", + "REMOTE_CONTROL": "التحكم عن بعد", + "REMOTE_CONTROL_DESCRIPTION": "تمكين التحكم عن بعد للتطبيق.", + "REMOTE_CONTROL_PORT": "منفذ التحكم عن بعد", + "REMOTE_CONTROL_PORT_DESCRIPTION": "المنفذ المستخدم للتحكم عن بعد (الافتراضي: 3000)." + }, + "THEMES": { + "DARK_THEME": "السمة الداكنة", + "LIGHT_THEME": "السمة الفاتحة" + }, + "CHANNELS": { + "SEARCH_CHANNEL": "البحث عن قناة", + "UPLOAD_OR_SELECT_OTHER_PLAYLIST": "تحميل أو اختيار قائمة أخرى", + "ALL_CHANNELS": "جميع القنوات", + "GROUPS": "المجموعات", + "UNGROUPED": "غير مصنفة", + "UNNAMED_CHANNEL": "قناة بدون اسم", + "FAVORITES": "المفضلة", + "NO_FAVORITES": "لا توجد قنوات مفضلة", + "USE_STAR_TO_FAVORITE": "استخدم أيقونة النجمة لإضافة قنوات للمفضلة.", + "REMOVE_FAVORITE": "إزالة من المفضلة", + "FAVORITES_UPDATED": "تم تحديث المفضلة!", + "SORT_BY": "ترتيب حسب", + "SORT_BY_DATE": "تاريخ الإضافة (الأحدث أولاً)", + "SORT_BY_RATING": "التقييم", + "SORT_BY_NAME": "الاسم (أ-ي)" + }, + "TOP_MENU": { + "OPEN_CHANNELS_LIST": "فتح قائمة القنوات", + "TOGGLE_FAVORITE_FLAG": "تبديل حالة المفضلة", + "OPEN_EPG_LIST": "فتح قائمة EPG", + "OPEN_MULTI_EPG": "فتح عرض Multi-EPG" + }, + "EPG": { + "TITLE": "الدليل الإلكتروني للبرامج", + "NEXT_DAY": "اليوم التالي", + "PREVIOUS_DAY": "اليوم السابق", + "LIVE_NOW": "يُبث الآن", + "LIVE_STREAM": "بث مباشر", + "TIMESHIFT_AVAILABLE": "التحريك الزمني متاح، انقر للتشغيل", + "EPG_NOT_AVAILABLE_DATE": "عذراً، الدليل غير متاح لهذا التاريخ", + "EPG_NOT_AVAILABLE_CHANNEL_TITLE": "عذراً، الدليل غير متاح لهذه القناة", + "EPG_NOT_AVAILABLE_CHANNEL_DESCRIPTION": "يرجى إضافة/تعديل رابط EPG في إعدادات التطبيق.", + "FETCH_EPG": "جارٍ جلب بيانات EPG...", + "ERROR": "عذراً، فشل تحميل الدليل.", + "DOWNLOAD_SUCCESS": "تم تنزيل الدليل بنجاح.", + "PROGRAM_DIALOG": { + "PROGRAM_DETAILS": "تفاصيل البرنامج", + "TITLE": "العنوان", + "CATEGORY": "الفئة", + "PARENTAL_RATING_SYSTEM": "نظام تقييم المحتوى", + "DESCRIPTION": "الوصف", + "LANGUAGE": "اللغة", + "SHOW_PROGRAM_DETAILS": "عرض تفاصيل البرنامج" + }, + "FETCH_SUCCESS": "تم جلب الدليل بنجاح." + }, + "LANGUAGES": { + "ENGLISH": "الإنجليزية", + "KOREAN": "الكورية", + "RUSSIAN": "الروسية", + "GERMAN": "الألمانية", + "SPANISH": "الإسبانية", + "CHINESE": "الصينية المبسطة", + "TRADITIONAL_CHINESE": "الصينية التقليدية", + "FRENCH": "الفرنسية", + "ITALIAN": "الإيطالية", + "TURKISH": "التركية", + "JAPANESE": "اليابانية" + }, + "YES": "نعم", + "NO": "لا", + "MENU": { + "OPEN": "فتح القائمة", + "SUPPORT_ARIA": "دعم IPTVnator على GitHub", + "SETTINGS": "الإعدادات", + "SETTINGS_ARIA": "فتح الإعدادات", + "BUG_REPORT": "ابلاغ عن خلل", + "WHAT_IS_NEW": "ما الجديد", + "ABOUT": "حول", + "ABOUT_ARIA": "حول التطبيق", + "SUPPORT_PROJECT": "دعم المشروع" + }, + "ABOUT": { + "TITLE": "حول IPTVnator", + "DESCRIPTION": "تطبيق مشغل IPTV متعدد المنصات مع ميزات مثل دعم قوائم M3U/M3U8، المفضلة، الدليل التلفزيوني، الأرشيف، والمزيد.", + "VERSION": "الإصدار", + "GITHUB_TOOLTIP": "مستودع IPTVnator على GitHub", + "BUY_ME_A_COFFEE_TOOLTIP": "اشتري لي قهوة", + "TWITTER_TOOLTIP": "مشاركة على تويتر" + }, + "UPDATE_AVAILABLE": "تحديث متاح", + "REFRESH": "تحديث", + "XTREAM": { + "PLAY": "تشغيل", + "NAME": "الاسم", + "RELEASE_DATE": "تاريخ الإصدار", + "GENRE": "النوع", + "COUNTRY": "البلد", + "ACTORS": "الممثلون", + "DIRECTOR": "المخرج", + "DURATION": "المدة", + "CAST": "طاقم العمل", + "EPISODE_RUN_TIME": "مدة الحلقة", + "RATING": "التقييم", + "IMDB_RATING": "تقييم IMDB", + "KINOPOISK_RATING": "تقييم Kinopoisk", + "DESCRIPTION": "الوصف", + "YEAR": "السنة", + "AGE": "العمر", + "YOUTUBE_TRAILER": "تريلر يوتيوب", + "EPISODE": "الحلقة" + }, + "PORTALS": { + "ALL_CATEGORIES": "جميع الفئات", + "MY_FAVORITES": "المفضلة", + "ADD_TO_FAVORITES": "إضافة للمفضلة", + "REMOVE_FROM_FAVORITES": "إزالة من المفضلة", + "REMOVED_FROM_FAVORITES": "تمت الإزالة من المفضلة", + "ADDED_TO_FAVORITES": "تمت الإضافة للمفضلة", + "ERROR_VIEW": { + "ACCOUNT_EXPIRED": { + "TITLE": "انتهاء صلاحية الحساب", + "DESCRIPTION": "انتهت صلاحية هذا الحساب. يرجى التحقق من بيانات الاعتماد في إعدادات القائمة أو حذفها." + }, + "UNAUTHORIZED": { + "TITLE": "غير مصرح", + "DESCRIPTION": "يرجى التحقق من بيانات الاعتماد في إعدادات القائمة أو حذفها." + }, + "NOT_FOUND": { + "TITLE": "البوابة غير موجودة", + "DESCRIPTION": "يرجى التحقق من بيانات الاعتماد ورابط البوابة في إعدادات القائمة أو حذفها." + }, + "EMPTY_CATEGORY": { + "TITLE": "فئة فارغة", + "DESCRIPTION": "هذه الفئة لا تحتوي على محتوى، يرجى اختيار فئة أخرى أو تغيير نوع المحتوى." + }, + "UNKNOWN_ERROR": { + "TITLE": "حدث خطأ", + "DESCRIPTION": "خطأ غير معروف، يرجى المحاولة لاحقًا." + }, + "PLAYLIST_SETTINGS": "إعدادات القائمة", + "HOME": "الرئيسية", + "DELETE": "حذف" + }, + "EMPTY_LIST_VIEW": { + "NO_SEARCH_RESULTS": "لم يتم العثور على نتائج، حاول تغيير طلب البحث" + }, + "STREAM_URL_COPIED": "تم نسخ رابط البث إلى الحافظة", + "COPY_STREAM_URL": "نسخ رابط البث" + }, + "INFORMATION": "معلومات", + "REMOTE_CONTROL": { + "TITLE": "التحكم عن بعد", + "UP_CHANNEL": "القناة السابقة", + "DOWN_CHANNEL": "القناة التالية", + "HEADER": "التحكم عن بعد في IPTVNator", + "FOOTER": "التحكم عن بعد في IPTVNator" + } +} From c33ad5be9f294dcc74c2ec0f62d8543e42322a01 Mon Sep 17 00:00:00 2001 From: ryanhrh Date: Wed, 12 Mar 2025 19:02:15 +0000 Subject: [PATCH 02/12] Create ary.json --- src/assets/i18n/ary.json | 315 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 315 insertions(+) create mode 100644 src/assets/i18n/ary.json diff --git a/src/assets/i18n/ary.json b/src/assets/i18n/ary.json new file mode 100644 index 000000000..adc8c874e --- /dev/null +++ b/src/assets/i18n/ary.json @@ -0,0 +1,315 @@ +{ + "CLOSE": "سد", + "PLAYLISTS": "قوائم التشغيل", + "HOME": { + "TITLE": "IPTVnator", + "SUBTITLE": "عفاك اختار شي قائمة تشغيل من الليستا ولا زيد قائمة جديدة", + "TABS": { + "RECENTLY_ADDED": "قوائم التشغيل اللي تزادو مؤخراً", + "FILE_UPLOAD": "زيد عن طريق رفع ملف", + "URL_UPLOAD": "زيد عن طريق رابط", + "TEXT_IMPORT": "استورد من نص", + "XTREME_IMPORT": "زيد كود Xtreme", + "STALKER_PORTAL_IMPORT": "زيد بوابة Stalker" + }, + "PLAYLISTS": { + "NO_PLAYLISTS": "ما تزادت حتى شي قائمة تشغيل", + "ADD_FIRST": "عفاك زيد قائمة التشغيل الأولى ديالك", + "ADDED_VIA_URL": "تزادت عن طريق رابط. رابط:", + "ADDED_VIA_FILE": "تزادت عن طريق رفع ملف", + "XTREAM_PLAYLIST": "قائمة تشغيل Xtream", + "STALKER_PORTAL": "بوابة Stalker", + "CHANNELS": "القنوات", + "ADDED": "تزادت", + "SHOW_DETAILS": "وري تفاصيل قائمة التشغيل", + "REMOVE": "حيد قائمة التشغيل", + "SEARCH_PLAYLISTS": "قلب على قوائم التشغيل بالعنوان", + "INFO_DIALOG": { + "PLAYLIST_DETAILS": "تفاصيل قائمة التشغيل", + "TITLE": "العنوان", + "FROM_URL": "تزادت من الرابط", + "IMPORT_DATE": "تاريخ الاستيراد", + "CHANNELS": "عدد القنوات", + "CLOSE": "سد", + "SAVE": "حفظ", + "USER_AGENT": "وكيل المستخدم", + "ORIGINAL_FILENAME": "اسم الملف الأصلي", + "FILE_PATH": "مسار الملف", + "UPDATE_FAILED": "التحديث الأخير ديال قائمة التشغيل فشل", + "AUTO_UPDATE": "تحديث تلقائي", + "AUTO_UPDATE_DESCRIPTION": "إلى كانت خاصية التحديث التلقائي مفعّلة، قائمة التشغيل غادي تتحدث أوتوماتيكياً كل مرة كيتحل التطبيق.", + "CUSTOM_USER_AGENT": "بعض مزودي IPTV كيحتاجو وكيل مستخدم محدد باش يخدمو قائمة التشغيل ديالهم.", + "EXPORT_PLAYLIST": "صدّر قائمة التشغيل على شكل m3u", + "SERVER_URL": "رابط الخادم", + "USERNAME": "اسم المستخدم", + "PASSWORD": "كلمة المرور", + "MAC_ADDRESS": "عنوان MAC", + "PLAYLIST_EXPORT_SUCCESS": "قائمة التشغيل تصدرات بنجاح.", + "PLAYLIST_EXPORT_ERROR": "خطأ: تصدير قائمة التشغيل فشل." + }, + "REMOVE_DIALOG": { + "TITLE": "حيد قائمة التشغيل", + "MESSAGE": "واش متأكد بغيتي تحيد قائمة التشغيل هادي بالكامل؟", + "SUCCESS": "قائمة التشغيل تحيدات بنجاح" + }, + "UPDATED": "تحدثات", + "REFRESH": "حدث قائمة التشغيل", + "GLOBAL_FAVORITES": "المفضلة العامة", + "GLOBAL_FAVORITES_DESCRIPTION": "قائمة تشغيل كتتولد أوتوماتيكياً فيها المفضلة المجمعة من جميع قوائم التشغيل", + "MY_PLAYLISTS": "قوائم التشغيل ديالي", + "MY_PLAYLISTS_SUBTITLE": "جميع قوائم التشغيل المتوفرة", + "PLAYLIST_UPDATE_SUCCESS": "نجاح! قائمة التشغيل تحدثات بنجاح.", + "PLAYLIST_UPDATE_ERROR": "خطأ في تحديث تفاصيل قائمة التشغيل." + }, + "FILE_UPLOAD": { + "DRAG_DROP": "جر وأفلت الملفات هنا", + "OR": "أو", + "CHOOSE_PLAYLIST": "اختار قائمة تشغيل", + "REJECTED": "الملف ترفض، صيغة الملف غير مدعومة {{filename}}." + }, + "URL_UPLOAD": { + "PLAYLIST_URL": "رابط قائمة التشغيل (m3u, m3u8)", + "ADD_PLAYLIST": "زيد قائمة التشغيل", + "CORS_NOTE": "ملاحظة: باش نتفاداو مشاكل CORS فهاد المرحلة، التطبيق كيستعمل خدمة وكيل CORS عامة. إلى بغيتي ترفع قائمة تشغيل فيها بيانات حساسة، من الأحسن تستوردها من ملف." + }, + "TEXT_IMPORT": { + "LABEL": "دخل قائمة تشغيل m3u(8) على شكل نص", + "BUTTON_LABEL": "استورد" + }, + "XTREAM_PLAYLIST": { + "TITLE": "عنوان قائمة التشغيل", + "SERVER_URL": "رابط الخادم", + "USERNAME": "اسم المستخدم", + "PASSWORD": "كلمة المرور", + "ADD": "زيد", + "TEST_CREDENTIALS": "جرب بيانات الاعتماد", + "URL_VALIDATION_ERROR": "خاص يكون رابط صحيح مع البروتوكول (مثلا http://example.com ولا https://example.com:4324)" + }, + "STALKER_PORTAL": { + "TITLE": "العنوان", + "MAC_ADDRESS": "عنوان MAC", + "SERVER_URL": "رابط الخادم", + "URL_VALIDATION_ERROR": "خاص يكون رابط صحيح مع البروتوكول (مثلا http://example.com/c ولا https://example.com/stalker_portal/c)", + "ADD": "زيد" + }, + "FILTER_BY_NAME": "فلتر بالاسم", + "FILTER_BY_TYPE": "فلتر بالنوع", + "SORT_PLAYLISTS": "رتب قوائم التشغيل", + "SORT_BY": "رتب بـ", + "SORT_OPTIONS": { + "NAME_ASC": "الاسم (أ-ي)", + "NAME_DESC": "الاسم (ي-أ)", + "NEWEST": "تاريخ الإضافة (الأحدث أولاً)", + "OLDEST": "تاريخ الإضافة (الأقدم أولاً)" + }, + "IMPORTED_AS_TEXT": "استورد كنص", + "PARSING_ERROR": "خطأ: التحليل فشل، ماشي قائمة تشغيل صحيحة:" + }, + "SETTINGS": { + "TITLE": "الإعدادات / IPTVnator", + "SUBTITLE": "بدل إعدادات التطبيق", + "DESCRIPTION": "عفاك بدل الخيارات من الليستا لتحت وأكد بضغط على زر حفظ التغييرات", + "EPG_URL_LABEL": "رابط EPG (*.xml ولا *.xml.gz)", + "EPG_URL_PLACEHOLDER": "دخل رابط", + "REFRESH_EPG": "حدث EPG", + "VIDEO_PLAYER_LABEL": "مشغل الفيديو", + "VIDEO_PLAYER_PLACEHOLDER": "اختار خيار", + "VERSION": "الإصدار", + "SAVE_CHANGES": "حفظ التغييرات", + "BACK_TO_HOME": "رجوع", + "NEW_VERSION_AVAILABLE": "كاين إصدار جديد متوفر", + "LATEST_VERSION": "راك تستعمل أحدث إصدار", + "LANGUAGE": "اللغة", + "SETTINGS_SAVED": "نجاح! الإعدادات تحفضو.", + "THEME": "المظهر المرئي", + "SHOW_CAPTIONS": "وري الترجمة", + "ADD_EPG_SOURCE": "زيد مصدر EPG", + "EPG_URL_ERROR": "القيمة ماشي رابط صحيح", + "VIDEO_PLAYER_DESCRIPTION": "اختار مشغل الفيديو الافتراضي", + "LANGUAGE_DESCRIPTION": "اختار لغة التطبيق", + "THEME_DESCRIPTION": "اختار المظهر المرئي للتطبيق", + "SHOW_CAPTIONS_DESCRIPTION": "وري ولا خفي الترجمة افتراضياً", + "VERSION_DESCRIPTION": "الإصدار الحالي ديال التطبيق", + "EPG_NOTE": "EPG متوفر حالياً غير في الإصدار اللي مبني على electron ديال IPTVnator.", + "EPG_NOTE_URL_TEXT": "شوف هنا", + "IMPORT_EXPORT_DATA": "استورد/صدّر قوائم التشغيل", + "IMPORT_EXPORT_DATA_DESCRIPTION": "صدّر ولا استورد قوائم التشغيل بصيغة JSON اللي كيستعملها التطبيق.", + "IMPORT_DATA": "استورد", + "EXPORT_DATA": "صدّر", + "REMOVE_ALL": "حيد قوائم التشغيل", + "REMOVE_ALL_BUTTON": "حيد", + "REMOVE_ALL_DESCRIPTION": "غادي يحيد جميع قوائم التشغيل الموجودة من التطبيق.", + "REMOVE_DIALOG": { + "TITLE": "حيد جميع قوائم التشغيل", + "MESSAGE": "واش متأكد بغيتي تحيد جميع قوائم التشغيل من التطبيق؟" + }, + "IMPORT_ERROR": "خطأ في الاستيراد، عفاك جرب بملف آخر.", + "PLAYLISTS_REMOVED": "جميع قوائم التشغيل تحيدو.", + "MPV_PLAYER_PATH_LABEL": "مسار mpv", + "MPV_PLAYER_PATH_DESCRIPTION": "حدد مسار مشغل mpv في السيستيم ديالك. غادي يستعمل المسار اللي عطيتيه لملف mpv بدل اللي كيتلقى في $PATH.", + "MPV_PLAYER_PATH": "مسار مشغل mpv", + "VLC_PLAYER_PATH_LABEL": "مسار VLC", + "VLC_PLAYER_PATH_DESCRIPTION": "حدد مسار مشغل VLC في السيستيم ديالك. غادي يستعمل المسار اللي عطيتيه لملف VLC بدل المسار الافتراضي ديال السيستيم ديالنا.", + "VLC_PLAYER_PATH": "مسار مشغل VLC", + "REMOTE_CONTROL": "التحكم عن بعد", + "REMOTE_CONTROL_DESCRIPTION": "فعل التحكم عن بعد للتطبيق.", + "REMOTE_CONTROL_PORT": "منفذ التحكم عن بعد", + "REMOTE_CONTROL_PORT_DESCRIPTION": "المنفذ اللي كيتستعمل للتحكم عن بعد للتطبيق. المنفذ 3000 كيتستعمل افتراضياً." +}, +"THEMES": { + "DARK_THEME": "المظهر الداكن", + "LIGHT_THEME": "المظهر الفاتح" +}, +"CHANNELS": { + "SEARCH_CHANNEL": "قلب على قناة", + "UPLOAD_OR_SELECT_OTHER_PLAYLIST": "رفع ولا اختار قائمة تشغيل أخرى", + "ALL_CHANNELS": "جميع القنوات", + "GROUPS": "المجموعات", + "UNGROUPED": "غير مجمعة", + "UNNAMED_CHANNEL": "قناة بدون اسم", + "FAVORITES": "المفضلة", + "NO_FAVORITES": "مازال ما كاينش مفضلة", + "USE_STAR_TO_FAVORITE": "عفاك استعمل رمز 'النجمة' باش تزيد قنوات للمفضلة ديالك.", + "REMOVE_FAVORITE": "حيد من المفضلة", + "FAVORITES_UPDATED": "المفضلة تحدثات!", + "SORT_BY": "رتب بـ", + "SORT_BY_DATE": "رتب بتاريخ الإضافة (الأحدث أولاً)", + "SORT_BY_RATING": "رتب بالتقييم", + "SORT_BY_NAME": "رتب بالاسم (أ-ي)" +}, +"TOP_MENU": { + "OPEN_CHANNELS_LIST": "حل قائمة القنوات", + "TOGGLE_FAVORITE_FLAG": "بدل علامة المفضلة", + "OPEN_EPG_LIST": "حل قائمة EPG", + "OPEN_MULTI_EPG": "حل عرض EPG المتعدد" +}, +"EPG": { + "TITLE": "دليل البرامج الإلكتروني", + "NEXT_DAY": "اليوم التالي", + "PREVIOUS_DAY": "اليوم السابق", + "LIVE_NOW": "مباشر الآن", + "LIVE_STREAM": "بث مباشر", + "TIMESHIFT_AVAILABLE": "التأجيل الزمني متوفر، ضغط باش تلعب", + "EPG_NOT_AVAILABLE_DATE": "أوه، EPG ما متوفرش للتاريخ اللي اختاريتيه", + "EPG_NOT_AVAILABLE_CHANNEL_TITLE": "أوه، EPG ما متوفرش لهاد القناة.", + "EPG_NOT_AVAILABLE_CHANNEL_DESCRIPTION": "عفاك زيد/بدل رابط قائمة EPG في إعدادات التطبيق.", + "FETCH_EPG": "جاري جلب بيانات EPG...", + "ERROR": "أوه، EPG ما قدرش يتشارجا.", + "DOWNLOAD_SUCCESS": "EPG تشارجا بنجاح.", + "PROGRAM_DIALOG": { + "PROGRAM_DETAILS": "تفاصيل حول البرنامج التلفزيوني", + "TITLE": "العنوان", + "CATEGORY": "الفئة", + "PARENTAL_RATING_SYSTEM": "نظام تقييم المحتوى التلفزيوني", + "DESCRIPTION": "الوصف", + "LANGUAGE": "اللغة", + "SHOW_PROGRAM_DETAILS": "وري تفاصيل حول هاد البرنامج" + }, + "FETCH_SUCCESS": "EPG تجلب بنجاح" +}, +"LANGUAGES": { + "ARABIC": "العربية", + "MOROCCAN_ARABIC": "العربية (اللهجة المغربية)", + "ENGLISH": "الإنجليزية", + "KOREAN": "الكورية", + "RUSSIAN": "الروسية", + "GERMAN": "الألمانية", + "SPANISH": "الإسبانية", + "CHINESE": "الصينية المبسطة", + "TRADITIONAL_CHINESE": "الصينية التقليدية", + "FRENCH": "الفرنسية", + "ITALIAN": "الإيطالية", + "TURKISH": "التركية", + "JAPANESE": "اليابانية" + }, + { + "YES": "آه", + "NO": "لا", + "MENU": { + "OPEN": "حل القائمة", + "SUPPORT_ARIA": "دعم IPTVnator على GitHub", + "SETTINGS": "الإعدادات", + "SETTINGS_ARIA": "حل الإعدادات", + "BUG_REPORT": "بلغ على شي مشكل", + "WHAT_IS_NEW": "شنو الجديد", + "ABOUT": "حول", + "ABOUT_ARIA": "حول التطبيق", + "SUPPORT_PROJECT": "دعم المشروع" + }, + "ABOUT": { + "TITLE": "حول IPTVnator", + "DESCRIPTION": "تطبيق مشغل IPTV متعدد المنصات فيه بزاف ديال الميزات، بحال دعم قوائم تشغيل m3u و m3u8، المفضلة، دليل التلفزيون، الأرشيف التلفزيوني/الإعادة والمزيد.", + "VERSION": "الإصدار", + "GITHUB_TOOLTIP": "مستودع IPTVnator على GitHub", + "BUY_ME_A_COFFEE_TOOLTIP": "شري ليا قهوة", + "TWITTER_TOOLTIP": "شارك على تويتر" + }, + "UPDATE_AVAILABLE": "تحديث متوفر", + "REFRESH": "حدث", + "XTREAM": { + "PLAY": "لعب", + "NAME": "الاسم", + "RELEASE_DATE": "تاريخ الإصدار", + "GENRE": "النوع", + "COUNTRY": "البلد", + "ACTORS": "الممثلون", + "DIRECTOR": "المخرج", + "DURATION": "المدة", + "CAST": "طاقم التمثيل", + "EPISODE_RUN_TIME": "مدة تشغيل الحلقة", + "RATING": "التقييم", + "IMDB_RATING": "تقييم IMDB", + "KINOPOISK_RATING": "تقييم Kinopoisk", + "DESCRIPTION": "الوصف", + "YEAR": "السنة", + "AGE": "العمر", + "YOUTUBE_TRAILER": "مقطع دعائي على يوتيوب", + "EPISODE": "الحلقة" + }, + "PORTALS": { + "ALL_CATEGORIES": "جميع الفئات", + "MY_FAVORITES": "المفضلة ديالي", + "ADD_TO_FAVORITES": "زيد للمفضلة", + "REMOVE_FROM_FAVORITES": "حيد من المفضلة", + "REMOVED_FROM_FAVORITES": "تحيد من المفضلة", + "ADDED_TO_FAVORITES": "تزاد للمفضلة", + "ERROR_VIEW": { + "ACCOUNT_EXPIRED": { + "TITLE": "الحساب انتهى", + "DESCRIPTION": "هاد الحساب انتهت صلاحيته. عفاك تحقق من بيانات الاعتماد في إعدادات قائمة التشغيل ولا حيدها." + }, + "UNAUTHORIZED": { + "TITLE": "غير مصرح", + "DESCRIPTION": "عفاك تحقق من بيانات الاعتماد في إعدادات قائمة التشغيل ولا حيدها." + }, + "NOT_FOUND": { + "TITLE": "البوابة ما تلقاتش", + "DESCRIPTION": "عفاك تحقق من بيانات الاعتماد ورابط البوابة في إعدادات قائمة التشغيل ولا حيدها." + }, + "EMPTY_CATEGORY": { + "TITLE": "فئة فارغة", + "DESCRIPTION": "هاد الفئة ما فيهاش محتوى، عفاك اختار فئة أخرى ولا بدل نوع المحتوى." + }, + "UNKNOWN_ERROR": { + "TITLE": "وقع شي خطأ", + "DESCRIPTION": "خطأ غير معروف، عفاك حاول مرة أخرى من بعد." + }, + "PLAYLIST_SETTINGS": "إعدادات قائمة التشغيل", + "HOME": "الرئيسية", + "DELETE": "حذف" + }, + "EMPTY_LIST_VIEW": { + "NO_SEARCH_RESULTS": "ما تلقى والو، حاول تبدل طلب البحث ديالك" + }, + "STREAM_URL_COPIED": "رابط البث تنقل للحافظة", + "COPY_STREAM_URL": "نسخ رابط البث" + }, + "INFORMATION": "معلومات", + "REMOTE_CONTROL": { + "TITLE": "التحكم عن بعد", + "UP_CHANNEL": "القناة الفوق", + "DOWN_CHANNEL": "القناة لتحت", + "HEADER": "التحكم عن بعد IPTVNator", + "FOOTER": "التحكم عن بعد IPTVNator" + } +} From 40a987b774da66f341b5b697c7a2d865585760cf Mon Sep 17 00:00:00 2001 From: ryanhrh Date: Wed, 12 Mar 2025 19:02:58 +0000 Subject: [PATCH 03/12] Update ar.json --- src/assets/i18n/ar.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/assets/i18n/ar.json b/src/assets/i18n/ar.json index 4c30045ac..06351f826 100644 --- a/src/assets/i18n/ar.json +++ b/src/assets/i18n/ar.json @@ -208,6 +208,8 @@ "FETCH_SUCCESS": "تم جلب الدليل بنجاح." }, "LANGUAGES": { + "ARABIC": "العربية", + "MOROCCAN_ARABIC": "العربية (اللهجة المغربية)", "ENGLISH": "الإنجليزية", "KOREAN": "الكورية", "RUSSIAN": "الروسية", From 5fbabcfa54a325f233efdd91db14fa87a1434234 Mon Sep 17 00:00:00 2001 From: ryanhrh Date: Wed, 12 Mar 2025 19:05:04 +0000 Subject: [PATCH 04/12] Update ary.json --- src/assets/i18n/ary.json | 1 - 1 file changed, 1 deletion(-) diff --git a/src/assets/i18n/ary.json b/src/assets/i18n/ary.json index adc8c874e..311f44381 100644 --- a/src/assets/i18n/ary.json +++ b/src/assets/i18n/ary.json @@ -222,7 +222,6 @@ "TURKISH": "التركية", "JAPANESE": "اليابانية" }, - { "YES": "آه", "NO": "لا", "MENU": { From 530ea5ecafdfa9fcb468885c3e2aeb9101d9807f Mon Sep 17 00:00:00 2001 From: ryanhrh Date: Wed, 12 Mar 2025 19:08:59 +0000 Subject: [PATCH 05/12] Update de.json --- src/assets/i18n/de.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index b6ad1f520..f3f95849c 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -128,6 +128,8 @@ "PARSING_ERROR": "Fehler: Parsen fehlgeschlagen, keine gültige Playlist:" }, "LANGUAGES": { + "ARABIC": "العربية", + "MOROCCAN_ARABIC": "العربية (اللهجة المغربية)", "ENGLISH": "English", "KOREAN": "한국어", "RUSSIAN": "Русский", From 14cf8fec91ae027836bedfd8f63ed10be40e7116 Mon Sep 17 00:00:00 2001 From: ryanhrh Date: Wed, 12 Mar 2025 19:09:20 +0000 Subject: [PATCH 06/12] Update en.json --- src/assets/i18n/en.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index 188de47b8..6b40d5848 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -208,6 +208,8 @@ "FETCH_SUCCESS": "EPG was fetched successfully" }, "LANGUAGES": { + "ARABIC": "العربية", + "MOROCCAN_ARABIC": "العربية (اللهجة المغربية)", "ENGLISH": "English", "KOREAN": "한국어", "RUSSIAN": "Русский", From 5a10300c975ee815c05cbddd4082ab49fbc41d5e Mon Sep 17 00:00:00 2001 From: ryanhrh Date: Wed, 12 Mar 2025 19:09:41 +0000 Subject: [PATCH 07/12] Update es.json --- src/assets/i18n/es.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/assets/i18n/es.json b/src/assets/i18n/es.json index e3c05e695..83ee6253e 100644 --- a/src/assets/i18n/es.json +++ b/src/assets/i18n/es.json @@ -171,6 +171,8 @@ } }, "LANGUAGES": { + "ARABIC": "العربية", + "MOROCCAN_ARABIC": "العربية (اللهجة المغربية)", "ENGLISH": "English", "KOREAN": "한국어", "RUSSIAN": "Русский", From 3bbfde72fd6e7a7e8221527de48991105a5f288e Mon Sep 17 00:00:00 2001 From: ryanhrh Date: Wed, 12 Mar 2025 19:09:56 +0000 Subject: [PATCH 08/12] Update fr.json --- src/assets/i18n/fr.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/assets/i18n/fr.json b/src/assets/i18n/fr.json index 08043151d..ae5a132d6 100644 --- a/src/assets/i18n/fr.json +++ b/src/assets/i18n/fr.json @@ -170,6 +170,8 @@ } }, "LANGUAGES": { + "ARABIC": "العربية", + "MOROCCAN_ARABIC": "العربية (اللهجة المغربية)", "ENGLISH": "English", "FRENCH": "Français", "KOREAN": "한국어", From eeeb1622a626efc19eac8d3924e769c44dc1b4ae Mon Sep 17 00:00:00 2001 From: ryanhrh Date: Wed, 12 Mar 2025 19:10:15 +0000 Subject: [PATCH 09/12] Update it.json --- src/assets/i18n/it.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/assets/i18n/it.json b/src/assets/i18n/it.json index a3532f52f..aab485313 100644 --- a/src/assets/i18n/it.json +++ b/src/assets/i18n/it.json @@ -203,6 +203,8 @@ } }, "LANGUAGES": { + "ARABIC": "العربية", + "MOROCCAN_ARABIC": "العربية (اللهجة المغربية)", "ENGLISH": "English", "KOREAN": "한국어", "RUSSIAN": "Русский", From 38dfd44e1b86576e7cc6d9771e11fbdaf1505f36 Mon Sep 17 00:00:00 2001 From: ryanhrh Date: Wed, 12 Mar 2025 19:11:05 +0000 Subject: [PATCH 10/12] Update ja.json --- src/assets/i18n/ja.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/assets/i18n/ja.json b/src/assets/i18n/ja.json index a47170b62..e992cce79 100644 --- a/src/assets/i18n/ja.json +++ b/src/assets/i18n/ja.json @@ -196,6 +196,8 @@ "FETCH_SUCCESS": "EPGの取得に成功しました" }, "LANGUAGES": { + "ARABIC": "العربية", + "MOROCCAN_ARABIC": "العربية (اللهجة المغربية)", "ENGLISH": "英語", "KOREAN": "韓国語", "RUSSIAN": "ロシア語", @@ -297,4 +299,4 @@ "HEADER": "IPTVNatorリモートコントロール", "FOOTER": "IPTVNatorリモートコントロール" } -} \ No newline at end of file +} From 5e9eb30926b72926a311173365514e12fabcecdc Mon Sep 17 00:00:00 2001 From: ryanhr Date: Wed, 12 Mar 2025 19:22:12 +0000 Subject: [PATCH 11/12] feat: add Arabic and Moroccan Arabic language support --- src/assets/i18n/ja.json | 4 ++-- src/assets/i18n/ko.json | 2 ++ src/assets/i18n/ru.json | 2 ++ src/assets/i18n/tr.json | 2 ++ src/assets/i18n/zh.json | 2 ++ src/assets/i18n/zhtw.json | 2 ++ 6 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/assets/i18n/ja.json b/src/assets/i18n/ja.json index e992cce79..831d28713 100644 --- a/src/assets/i18n/ja.json +++ b/src/assets/i18n/ja.json @@ -196,8 +196,8 @@ "FETCH_SUCCESS": "EPGの取得に成功しました" }, "LANGUAGES": { - "ARABIC": "العربية", - "MOROCCAN_ARABIC": "العربية (اللهجة المغربية)", + "ARABIC": "アラビア語", + "MOROCCAN_ARABIC": "アラビア語(モロッコ方言)", "ENGLISH": "英語", "KOREAN": "韓国語", "RUSSIAN": "ロシア語", diff --git a/src/assets/i18n/ko.json b/src/assets/i18n/ko.json index 76e77aa42..96607ef7c 100644 --- a/src/assets/i18n/ko.json +++ b/src/assets/i18n/ko.json @@ -160,6 +160,8 @@ } }, "LANGUAGES": { + "ARABIC": "العربية", + "MOROCCAN_ARABIC": "العربية (اللهجة المغربية)", "ENGLISH": "English", "KOREAN": "한국어", "RUSSIAN": "Русский", diff --git a/src/assets/i18n/ru.json b/src/assets/i18n/ru.json index 8d0e8bc61..8c7ae46c8 100644 --- a/src/assets/i18n/ru.json +++ b/src/assets/i18n/ru.json @@ -184,6 +184,8 @@ } }, "LANGUAGES": { + "ARABIC": "العربية", + "MOROCCAN_ARABIC": "العربية (اللهجة المغربية)", "ENGLISH": "English", "KOREAN": "한국어", "RUSSIAN": "Русский", diff --git a/src/assets/i18n/tr.json b/src/assets/i18n/tr.json index b8d52970e..52d99fa3c 100644 --- a/src/assets/i18n/tr.json +++ b/src/assets/i18n/tr.json @@ -196,6 +196,8 @@ "FETCH_SUCCESS": "EPG verileri başarıyla alındı" }, "LANGUAGES": { + "ARABIC": "العربية", + "MOROCCAN_ARABIC": "العربية (اللهجة المغربية)", "ENGLISH": "İngilizce", "KOREAN": "한국어", "RUSSIAN": "Русский", diff --git a/src/assets/i18n/zh.json b/src/assets/i18n/zh.json index 590e25d17..23bf3b996 100644 --- a/src/assets/i18n/zh.json +++ b/src/assets/i18n/zh.json @@ -160,6 +160,8 @@ } }, "LANGUAGES": { + "ARABIC": "العربية", + "MOROCCAN_ARABIC": "العربية (اللهجة المغربية)", "CHINESE": "简体中文", "TRADITIONAL_CHINESE": "繁體中文", "ENGLISH": "English", diff --git a/src/assets/i18n/zhtw.json b/src/assets/i18n/zhtw.json index 3804f2868..684294766 100644 --- a/src/assets/i18n/zhtw.json +++ b/src/assets/i18n/zhtw.json @@ -163,6 +163,8 @@ } }, "LANGUAGES": { + "ARABIC": "العربية", + "MOROCCAN_ARABIC": "العربية (اللهجة المغربية)", "CHINESE": "簡體中文", "TRADITIONAL_CHINESE": "繁體中文", "ENGLISH": "English", From f78e81c835c99bc2eff61f30c9116e16d35dee7d Mon Sep 17 00:00:00 2001 From: ryanhrh Date: Wed, 12 Mar 2025 19:34:24 +0000 Subject: [PATCH 12/12] Update language.enum.ts --- src/app/settings/language.enum.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/app/settings/language.enum.ts b/src/app/settings/language.enum.ts index 7f21a2038..b75c27739 100644 --- a/src/app/settings/language.enum.ts +++ b/src/app/settings/language.enum.ts @@ -2,6 +2,8 @@ * Enum with all languages that are available in the application */ export enum Language { + ARABIC = 'ar', + MOROCCAN_ARABIC = 'ary', ENGLISH = 'en', KOREAN = 'ko', RUSSIAN = 'ru',