Files
iptvnator/apps/web/src/assets/i18n/ar.json
T
4grayandClaude Fable 5.1 7d1503fd31 feat(epg): rebuild the programme guide for M3U playlists (#1560)
* docs(epg): add programme guide redesign spec for the M3U host

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(epg): add programme guide implementation plan

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* feat(epg): add window-scoped guide programme queries

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* fix(epg): harden guide query scoping, caps and row mapping

- Scoped guide programme/coverage queries now include legacy
  (unsourced) rows via source_url IN (...) OR IS NULL OR '',
  mirroring EpgQueryService's legacy fallback.
- getProgramsForChannels/getProgramCoverage build their result from
  the normalized, capped window.channelIds instead of the raw
  request, so a key cut by the cap is absent rather than [] — an
  invalid window now returns {}. Truncation logs counts only.
- Split the 100-channel guide cap from a new 2000-key coverage cap,
  and cap sourceUrls at 50; normalizeGuideWindow takes the cap as a
  parameter and moved (with guideWindowOverlapSqlText) into
  epg-guide-window.util.ts.
- Extracted shared row mapping (toEpgProgramFromRow/isValidEpgProgram)
  into epg-program-row.util.ts, used by both EpgQueryService and
  EpgGuideQueryService so invalid start/stop rows are dropped
  identically in both.
- Added a real-SQLite-backed test for the overlap predicate's exact
  text, plus per-key array copies in the response.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* fix(epg): render the guide predicate in tests and document its scope

Correct the guide query's JSDoc: it runs one query accepting the union
of requested-source and unsourced legacy rows, unlike EpgQueryService's
two-query scoped-then-legacy fallback. Replace the hand-maintained
plain-SQL twin of the Drizzle overlap predicate with a rendered copy of
the real predicate (SQLiteSyncDialect().sqlToQuery) in the spec, add a
source-scoping case, and drop the now-redundant operator-sequence test.
warnIfTruncated reuses uniqueTrimmedStrings and names which read
(programme/coverage) was truncated. Rename epg-query.service.ts's local
EpgProgramRow to EpgProgramSelectRow so it isn't confused with the
shared EpgProgramRow type, and document getProgramCoverage like its
sibling.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* feat(epg): expose guide programme and coverage reads over the bridge

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(epg): separate coverage chunk size in the guide plan

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* feat(epg): add guide source contract, day layout maths and preferences

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* fix(epg): key guide IPC answers by trimmed, present keys only

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(epg): guide search hits carry a row id

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* fix(epg): make guide geometry DST-safe and tighten the contract

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* feat(epg): cache guide programmes per day with batched loading

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* feat(epg): add guide keyboard navigation controller

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* fix(epg): make guide programme cache robust to first-run effects and coverage failures

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* feat(epg): add the programme guide grid components

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* feat(epg): add a Guide button to the timeline toolbar

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* feat(m3u): adapt the playlist channel list to the guide contract

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* fix(m3u): guard the guide's initial group scope and track language changes

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* feat(m3u): open the programme guide in place with a docked player

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* fix(epg): scope guide keys to the grid, clip the now-line and re-measure on resize

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* refactor(epg): remove the multi-EPG overlay and the channel-range IPC

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(epg): document the programme guide and its release note

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* i18n(epg): translate the programme guide

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* fix(m3u): let the guide own the keyboard and gate its entry points

While the programme guide is open the docked player carries
`data-player-shortcuts-suspended`, which `ControlsShortcuts` now honours
alongside `[inert]` — the arrows moved the player's volume instead of the
guide's row focus. The external-player strip loses its Collapse toggle
(nothing to reveal, no preference to write), the header action and its
palette command report `disabled` when the guide cannot open, the docked
strip derives its programme from the active channel's own schedule instead
of the retained NgRx value, switching playlists closes the guide, and the
collapsed strip can reach 48 px on phones.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* fix(m3u): keep the sidebar mounted while the guide is open

Guide mode wrapped the sidebar in `@if (!guideOpen())`, so opening the
guide destroyed `app-channel-list-container`, whose `ngOnDestroy`
dispatches `resetActiveChannel()`. That cleared the active channel, which
unmounted the block hosting `app-epg-guide` and tripped the
`!canOpenGuide()` effect into closing the guide again: the guide never
appeared and the page dropped to "Please select a channel".

The sidebar now stays mounted and is hidden with
`.sidebar--guide-hidden` plus `inert`, so it is neither focusable nor read
by assistive technology while the guide owns the layout. Hiding also
preserves the channel list's scroll position across guide toggles.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* test(e2e): cover the programme guide flow

Imports a two-channel playlist with XMLTV, opens the guide from the
timeline toolbar and asserts the row list, the "Only with EPG" filter, a
channel switch that keeps the guide open, the hidden-but-mounted sidebar,
and that the player element survives both the mode and channel switches.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* chore(epg): tidy guide docs, palette gating and the unbound output

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* fix(epg): match guide favorites by channel URL and skip re-activating the playing row

Favorites are persisted by channel URL (FavoritesActions.updateFavorites),
so the Favorites scope compared the wrong key; the id stays as a legacy
fallback. A double-click arrives as click, click, dblclick and each
activate restarts playback, so the guide now leaves the already-playing row
alone and the commit path only closes.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* perf(epg): let the guide window predicate use the programme time index

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* fix(m3u): stabilise guide row identity, seed the sidebar group and provide translations in every player fixture

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* refactor(epg): split the guide shell, add a roving focus model and offset-aware search times

The shell component now owns rows, focus and the viewport only: the day,
zoom, density, filters, clock and day geometry move to EpgGuideViewState,
and every programme-dialog entry point to EpgGuideDialogController.

Keyboard navigation is reachable by assistive technology: exactly one grid
cell carries tabindex="0" (the focused cell, else the playing row's channel
cell, else the first row's), the guide moves DOM focus with it after each
handled key, a click hands the roving index to the clicked cell, and the
viewport, rows and cells expose grid/row/gridcell roles.

Search results were formatting raw provider instants, so they ignored the
EPG display offset; they go through getProgramTimeMs like every other time
the guide renders.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* fix(m3u): make guide row ids collision-proof and gate the G shortcut

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* fix(epg): keep guide keys on the grid, reconcile focus with filtered rows and wrap the toolbar

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* docs(epg): describe guide row ids as scope-local

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* fix(epg): clear guide search on scope change, match the active duplicate by url, keep failed coverage unknown

Search hits carry scope-local row ids, so a scope change drops them.
Two playlist entries can share an id but not a stream, so the active row
is matched by id + url before falling back to the id. A failed coverage
query now rejects instead of answering an empty set, which the guide
already treats as "coverage unknown" (every row stays visible).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* fix(epg): tell duplicate guide rows apart by group, keep G out of dialogs, use prototype-safe answers

The store spreads the selected channel, so the active row is matched by
id, url, group and name before widening; G no longer closes the guide from
a dialog or menu; guide answers use null-prototype records so a key named
__proto__ stays an own property.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* fix(epg): let coverage reject on lookup failures and compare whole entries for the active guide row

EpgQueryService.getChannelMetadata swallowed database errors into {}, so the
guide's coverage read could publish an empty set after a transient failure;
the guide now uses the strict resolveChannelMetadata (getChannelMetadata is
the fail-soft wrapper around it). The active guide row is matched on the
whole channel entry (all fields except the reducer-rewritten epgParams)
before widening to url and id, so copies that differ only in playback
headers or logo are told apart.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* fix(epg): let the guide return catch-up to live and normalise programme-search rows

The guide source contract gains an optional livePlayback signal: while the
host plays a catch-up URL, the active row may be activated again, which is
how the M3U host returns to live. EPG_DB_SEARCH_PROGRAMS now maps the raw
snake_case rows to the EpgProgram shape the bridge promises (plus the joined
channel name), so search hits resolve their channel and keep descriptions.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* fix(epg): name search hits, keep guide coverage strict on mapping failures

- Search results and the unresolved programme dialog show the channel's
  display name (playlist row name, else the XMLTV display name the search
  joined in) instead of the raw XMLTV id.
- The guide coverage read resolves manual mappings through a strict variant
  that rejects on database failure, so a mapped channel can never be reported
  as uncovered and hidden by "Only with EPG".
- Architecture doc describes the tiered active-row resolution.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* fix(epg): offer the Guide action in the list view too

The EPG list view mirrors the timeline's input/output contract, but the Guide
action was bound only in the timeline branch, so Settings → EPG → Guide view =
List lost the in-panel entry point. The list toolbar now carries the same
icon-only Guide button behind `guideAvailable`/`openGuide`, and the M3U
host binds it in both branches.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-06 18:47:25 +02:00

1723 lines
123 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"CANCEL": "إلغاء",
"CLEAR": "مسح",
"CLOSE": "إغلاق",
"BACK": "رجوع",
"SHOW_MORE": "المزيد",
"SHOW_LESS": "أقل",
"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": "يرجى إضافة أول قائمة تشغيل",
"WELCOME_TITLE": "مرحبًا بك في IPTVnator",
"WELCOME_DESCRIPTION": "ابدأ رحلة البث بإضافة قائمة التشغيل الأولى. اتصل بخدمة IPTV المفضلة لديك واستمتع بالتلفزيون المباشر والأفلام والمسلسلات.",
"ADD_YOUR_FIRST": "أضف قائمة التشغيل الأولى",
"FEATURE_M3U": "ملفات M3U/M3U8",
"FEATURE_XTREAM": "Xtream Codes",
"FEATURE_STALKER": "بوابة Stalker",
"FEATURE_M3U_LABEL": "إضافة ملف M3U أو رابط",
"FEATURE_XTREAM_LABEL": "الاتصال عبر Xtream Codes",
"FEATURE_STALKER_LABEL": "الاتصال ببوابة Stalker",
"VALUE_PROPS_LABEL": "ما يمكنك فعله",
"VALUE_PROP_LIVE": "تلفزيون مباشر مع EPG",
"VALUE_PROP_VOD": "أفلام ومسلسلات",
"VALUE_PROP_MULTISOURCE": "مكتبة متعددة المصادر",
"VALUE_PROP_OFFLINE": "تنزيلات دون اتصال",
"DASHBOARD_WELCOME_TAGLINE": "مكتبة IPTV الخاصة بك في مكان واحد.",
"DASHBOARD_WELCOME_DESCRIPTION": "اربط ملفات M3U أو Xtream Codes أو بوابات Stalker، ثم استمتع بالتلفزيون المباشر والأفلام والمسلسلات على كل شاشة.",
"FEATURE_LIVE_TITLE": "تلفزيون مباشر",
"FEATURE_LIVE_DESC": "بث القنوات المباشرة مع جدول برامج كامل.",
"FEATURE_VOD_TITLE": "أفلام ومسلسلات",
"FEATURE_VOD_DESC": "مكتبة حسب الطلب مع أغلفة وتفاصيل.",
"FEATURE_EPG_TITLE": "EPG واللحاق بالبث",
"FEATURE_EPG_DESC": "دليل البرامج والتشغيل بالإزاحة الزمنية.",
"FEATURE_OFFLINE_TITLE": "تنزيلات دون اتصال",
"FEATURE_OFFLINE_DESC": "احفظ الأفلام والحلقات لمشاهدتها لاحقًا.",
"SOURCES_WELCOME_TITLE": "أضف أول قائمة تشغيل",
"SOURCES_WELCOME_BODY": "اختر نوع المصدر أدناه للبدء.",
"SOURCE_M3U_NEEDS": "ملف محلي أو رابط يشير إلى قائمة تشغيل M3U/M3U8.",
"SOURCE_M3U_ADD": "إضافة M3U",
"SOURCE_XTREAM_NEEDS": "اسم المستخدم وكلمة المرور ورابط الخادم من مزود الخدمة.",
"SOURCE_XTREAM_ADD": "إضافة Xtream",
"SOURCE_STALKER_NEEDS": "رابط البوابة وعنوان MAC متوافقان مع Ministra.",
"SOURCE_STALKER_ADD": "إضافة Stalker",
"CONTENT_LIVE": "مباشر",
"CONTENT_VOD": "أفلام",
"CONTENT_SERIES": "مسلسلات",
"CONTENT_EPG": "EPG",
"NO_RESULTS_TITLE": "لم يتم العثور على قوائم تشغيل",
"NO_RESULTS_DESCRIPTION": "لا توجد قوائم تشغيل تطابق بحثك. حاول تعديل مصطلحات البحث أو امسح الفلتر لرؤية جميع القوائم.",
"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": "خطأ: فشل تصدير القائمة.",
"COPY_URL": "نسخ الرابط إلى الحافظة",
"URL_COPIED": "تم نسخ الرابط إلى الحافظة"
},
"REMOVE_DIALOG": {
"TITLE": "حذف القائمة",
"MESSAGE": "هل أنت متأكد من رغبتك في حذف هذه القائمة نهائيًا؟",
"SUCCESS": "تم حذف القائمة بنجاح",
"IN_PROGRESS": "جارٍ حذف قائمة التشغيل...",
"DELETING_FAVORITES": "جارٍ حذف المفضلة...",
"DELETING_RECENT": "جارٍ حذف العناصر التي تمت مشاهدتها مؤخرًا...",
"DELETING_PROGRESS": "جارٍ حذف تقدم التشغيل...",
"DELETING_DOWNLOADS": "جارٍ حذف التنزيلات...",
"DELETING_CONTENT": "جارٍ حذف المحتوى المخزن مؤقتًا...",
"DELETING_CATEGORIES": "جارٍ حذف الفئات...",
"DELETING_PLAYLIST": "جارٍ حذف سجل قائمة التشغيل..."
},
"UPDATED": "تم التحديث",
"REFRESH": "تحديث القائمة",
"REFRESH_XTREAM": "تحديث قائمة Xtream من الخادم البعيد",
"REFRESH_XTREAM_DIALOG": {
"TITLE": "تحديث قائمة Xtream",
"MESSAGE": "سيؤدي ذلك إلى حذف ذاكرة Xtream المؤقتة المحلية وإعادة استيراد الفئات والقنوات من الخادم البعيد. ستتم استعادة المفضلة، والعناصر التي تمت مشاهدتها مؤخرًا، وحالة عرض الفئات المخفية، وتقدم التشغيل بعد إعادة الاستيراد بنجاح إذا كان المحتوى المطابق لا يزال موجودًا. إذا تعذر الوصول إلى الخادم، تبقى عملية الاستعادة معلقة حتى يتم تحديث ناجح لاحق. هل تريد المتابعة؟",
"STARTED": "بدأ التحديث. جارٍ الانتقال إلى قائمة التشغيل...",
"ERROR": "فشل تحديث قائمة التشغيل. يرجى المحاولة مرة أخرى.",
"IN_PROGRESS": "جارٍ تحديث قائمة التشغيل...",
"COLLECTING_DATA": "جارٍ جمع المفضلة والعناصر التي تمت مشاهدتها مؤخرًا...",
"DELETING_CONTENT": "جارٍ حذف المحتوى المخزن مؤقتًا...",
"DELETING_CATEGORIES": "جارٍ حذف الفئات المخزنة مؤقتًا..."
},
"GLOBAL_FAVORITES": "المفضلة العامة",
"GLOBAL_FAVORITES_DESCRIPTION": "قائمة تلقائية تجمع القنوات المفضلة من جميع القوائم",
"MY_PLAYLISTS": "قوائم التشغيل الخاصة بي",
"MY_PLAYLISTS_SUBTITLE": "جميع القوائم المتاحة",
"PLAYLIST_UPDATE_SUCCESS": "نجاح! تم تحديث القائمة.",
"PLAYLIST_UPDATE_ERROR": "خطأ في تحديث تفاصيل القائمة.",
"PLAYLIST_UPDATE_FILE_NOT_FOUND": "فشل تحديث قائمة التشغيل. الملف المحلي لم يعد متاحًا. تحقق من مسار الملف أو أعد استيراد قائمة التشغيل.",
"PLAYLIST_UPDATE_FILE_ACCESS_ERROR": "فشل تحديث قائمة التشغيل. لم يعد بإمكان التطبيق الوصول إلى الملف المحلي.",
"AUTO_REFRESH_UPDATE_SUCCESS": "نجاح! تم تحديث قوائم التشغيل بنجاح",
"AUTO_REFRESH_UPDATE_PARTIAL": "التحديث التلقائي غير مكتمل: تم تحديث {{updated}} من {{total}} من قوائم التشغيل، وفشل {{failed}}.",
"AUTO_REFRESH_UPDATE_PARTIAL_WITH_SKIPPED": "التحديث التلقائي غير مكتمل: تم تحديث {{updated}} من {{total}} من قوائم التشغيل، وفشل {{failed}}، وتم تخطي {{skipped}} (بدون رابط أو مسار ملف).",
"AUTO_REFRESH_UPDATE_FAILED": "فشل التحديث التلقائي لقوائم التشغيل. لم يتم تحديث أي من قوائم التشغيل الـ {{total}}.",
"AUTO_REFRESH_UPDATE_SKIPPED": "التحديث التلقائي لقوائم التشغيل: تم تحديث {{updated}} من {{total}}، وتم تخطي {{skipped}} (بدون رابط أو مسار ملف).",
"AUTO_REFRESH_ENABLED": "تم تفعيل التحديث التلقائي"
},
"ADD_PLAYLIST": {
"PICK_METHOD": "اختر طريقة الاتصال، ويمكنك إعادة تسميتها لاحقًا.",
"METHOD_URL_LABEL": "رابط M3U",
"METHOD_URL_SUB": "ألصق رابطًا لملف .m3u أو .m3u8 بعيد",
"METHOD_FILE_LABEL": "ملف M3U",
"METHOD_FILE_SUB": "حمّل قائمة تشغيل من جهازك",
"METHOD_XTREAM_LABEL": "بيانات اعتماد Xtream",
"METHOD_XTREAM_SUB": "اتصل باستخدام المضيف واسم المستخدم وكلمة المرور",
"METHOD_STALKER_LABEL": "بوابة Stalker",
"METHOD_STALKER_SUB": "عنوان MAC ورابط البوابة",
"METHOD_TEXT_LABEL": "نص m3u الخام",
"METHOD_TEXT_SUB": "للقوائم العابرة أو عندما يتوفر لديك النص فقط",
"METHOD_AUTO_LABEL": "اكتشاف تلقائي",
"METHOD_AUTO_SUB": "الصق رسالة مزوّد الخدمة"
},
"FILE_UPLOAD": {
"DRAG_DROP": "اسحب وأفلت الملفات هنا",
"OR": "أو",
"CHOOSE_PLAYLIST": "اختر قائمة تشغيل",
"BROWSE": "تصفح الملفات",
"REJECTED": "تم رفض الملف، تنسيق غير مدعوم {{filename}}.",
"OPEN_FAILED": "تعذر فتح \"{{filename}}\"."
},
"URL_UPLOAD": {
"PLAYLIST_URL": "رابط قائمة التشغيل (m3u، m3u8)",
"ADD_PLAYLIST": "إضافة القائمة",
"CORS_NOTE": "ملاحظة: لتجنب مشاكل CORS، يستخدم التطبيق خدمة بروكسي عامة. يُنصح باستيراد القوائم الحساسة عبر الملفات.",
"ERROR_FETCH_FAILED": "فشل جلب قائمة التشغيل. يرجى التحقق من الرابط والمحاولة مرة أخرى.",
"ERROR_403": "تم رفض الوصول (403): رفض الخادم الطلب. قد يتطلب الرابط مصادقة أو أن قائمة التشغيل مقيدة.",
"ERROR_404": "قائمة التشغيل غير موجودة (404): الرابط لا يشير إلى قائمة تشغيل صالحة. يرجى التحقق من الرابط.",
"ERROR_401": "غير مصرح (401): المصادقة مطلوبة للوصول إلى قائمة التشغيل هذه.",
"ERROR_INVALID_TLS": "شهادة مضيف قائمة التشغيل هذه غير صالحة.",
"ERROR_TLS_HOST_UNKNOWN": "تعذر تحديد مضيف قائمة التشغيل. يرجى إعادة المحاولة يدويًا.",
"TRUST_TLS_HOST": "الثقة بالمضيف",
"TRUST_TLS_HOST_TITLE": "الثقة بشهادة غير صالحة؟",
"TRUST_TLS_HOST_WARNING": "تابع فقط إذا كنت تثق بمضيف قائمة التشغيل هذا. سيسمح IPTVnator بالشهادات غير الصالحة لهذا المضيف، بينما ستظل المضيفات الأخرى تتطلب شهادات صالحة."
},
"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",
"MAC_ADDRESS_HINT": "التنسيق: 00:1A:79:XX:XX:XX — تُصحَّح الشرطات والنقاط والأحرف الصغيرة تلقائيًا.",
"MAC_ADDRESS_OUI_HINT": "هذا العنوان خارج النطاق 00:1A:79 الخاص بشركة Infomir. ومعظم البوابات لا تقبل سوى هذا النطاق وترفض ما عداه دون بيان السبب.",
"MAC_ADDRESS_ERROR": "أدخل عنوان MAC مكوَّنًا من 12 حرفًا سداسيًا عشريًا، مثال: 00:1A:79:12:34:56.",
"SERIAL_NUMBER": "الرقم التسلسلي (اختياري)",
"SERIAL_NUMBER_HINT": "استخدمه إذا كنت مسجلاً بالفعل لدى المزود",
"DEVICE_ID_1": "معرّف الجهاز 1 (اختياري)",
"DEVICE_ID_2": "معرّف الجهاز 2 (اختياري)",
"DEVICE_ID_HINT": "64 حرفًا سداسيًا عشريًا - استخدمه إذا كان المزود يتطلب معرّف جهاز محدد",
"DERIVE_DEVICE_IDS": "توليد معرّفات الجهاز من عنوان MAC",
"DERIVE_DEVICE_IDS_HINT": "ينتج القيمة نفسها التي ينتجها StbEmu، أي تجزئة SHA-256 لعنوان MAC. تتمسك البوابة بأول معرّف جهاز تستقبله وترفض كل معرّف بعده، لذا لا تفعّل هذا الخيار إلا مع عنوان MAC لم تره البوابة من قبل، أو عنوان تستخدمه بالفعل مع معرّف مولَّد بواسطة StbEmu.",
"DEVICE_ID_PINNED_WARNING": "سجّلت البوابة بالفعل معرّف جهاز لعنوان MAC هذا. وتغييره أو مسحه سيمنع الوصول إلى هذا المصدر، لأن البوابة لا تقبل سوى معرّف الجهاز الذي رأته أولًا.",
"SIGNATURE_1": "التوقيع 1 (اختياري)",
"SIGNATURE_2": "التوقيع 2 (اختياري)",
"SIGNATURE_HINT": "64 حرفًا سداسيًا عشريًا - استخدمه إذا كان المزود يتطلب توقيعات للتحقق من الجهاز",
"SERVER_URL": "رابط الخادم",
"URL_HINT": "أدخل اسم مضيف أو عنوانًا ينتهي بـ /c أو portal.php أو server/load.php.",
"URL_VALIDATION_ERROR": "أدخل رابطًا صالحًا يبدأ بـ http:// أو https://.",
"ADD": "إضافة",
"VALIDATING": "جارٍ التحقق من البوابة...",
"CREDENTIALS_HINT": "مطلوب فقط عندما تطلب البوابة اسم مستخدم وكلمة مرور",
"AUTH_FAILED": "فشلت المصادقة مع البوابة. تحقق من الرابط وعنوان MAC.",
"EDIT_UNREACHABLE": "لم تستجب البوابة. لم يتم حفظ أي تغييرات. تحقق من الرابط وحاول مرة أخرى.",
"LOGIN_REQUIRED": "تتطلب هذه البوابة اسم مستخدم وكلمة مرور. املأ حقلي اسم المستخدم وكلمة المرور وأعد المحاولة.",
"LOGIN_REJECTED": "رفضت البوابة اسم المستخدم وكلمة المرور.",
"PORTAL_REFUSED": "رفضت البوابة الوصول لهذا الجهاز.",
"DEVICE_CONFLICT": "لدى البوابة معرّف جهاز مختلف مسجَّل لعنوان MAC هذا.",
"PORTAL_MESSAGE": "أفادت البوابة: {{message}}"
},
"FILTER_BY_NAME": "التصفية حسب الاسم",
"FILTER_AND_SORT": "تصفية وفرز",
"SORT_PLAYLISTS": "فرز القوائم",
"SORT_OPTIONS": {
"NAME_ASC": "الاسم (أ-ي)",
"NAME_DESC": "الاسم (ي-أ)",
"NEWEST": "تاريخ الإضافة (الأحدث أولاً)",
"OLDEST": "تاريخ الإضافة (الأقدم أولاً)",
"CUSTOM_ORDER": "ترتيب مخصص (سحب وإفلات)"
},
"PLAYLIST_TYPES": {
"M3U": "M3U (محلي، رابط، نص)",
"XTREAM": "Xtream",
"STALKER": "Stalker"
},
"IMPORTED_AS_TEXT": "مستوردة كنص",
"PARSING_ERROR": "خطأ: فشل التحليل، ليست قائمة تشغيل صالحة:",
"AUTO_DETECT": {
"LABEL": "رسالة مزوّد الخدمة",
"PLACEHOLDER": "الصق كل ما أرسله مزوّد الخدمة — الروابط واسم المستخدم وكلمة المرور وعنوان MAC…",
"PRIVACY_HINT": "يتم الاكتشاف محليًا داخل التطبيق؛ النص الملصق لا يُرسل إلى أي مكان.",
"NO_MATCHES": "لم يتم التعرف على شيء بعد. الصق الرسالة كاملة مع الرابط أو بيانات الدخول.",
"CONFIDENCE_HIGH": "تطابق مؤكد",
"CONFIDENCE_MEDIUM": "تطابق محتمل",
"CONFIDENCE_LOW": "تخمين",
"USE": "ملء النموذج",
"M3U_TEXT_NOTE": "يبدو أنها قائمة تشغيل M3U — سيتم استيرادها كنص ملصق."
}
},
"SETTINGS": {
"PORTAL_CONNECTIONS": "اتصالات البوابات",
"PORTAL_CONNECTIVITY_GUARD": "إيقاف الطلبات إلى البوابات غير المتاحة مؤقتًا",
"PORTAL_CONNECTIVITY_GUARD_DESCRIPTION": "بعد تكرار فشل الاتصال، تُوقف طلبات Xtream وStalker الجديدة لمدة 30 ثانية. جرّب تعطيل هذا الخيار إذا كانت البوابة تصبح غير متاحة بشكل متقطع. يُطبّق بعد الحفظ دون إعادة التشغيل.",
"PORTAL_CONNECTIVITY_GUARD_DISABLED": "سيُنفّذ كل طلب بشكل مستقل. قد يستغرق ظهور الخطأ وقتًا أطول عند عدم توفر الخادم.",
"TITLE": "الإعدادات",
"GENERAL": "عام",
"GENERAL_SUBTITLE": "تغيير تكوين التطبيق",
"PLAYBACK": "التشغيل",
"EPG_SOURCES": "مصادر EPG",
"EPG_SOURCES_DESCRIPTION": "أضف رابطًا واحدًا أو أكثر كمصادر لـ EPG",
"PLAYLIST_EPG_SOURCES_AUTO_SELECTED": "تم تحديد {{enabled}} من أصل {{detected}} من مصادر EPG المكتشفة في قائمة التشغيل تلقائيًا للاستيراد.",
"EPG_EMPTY_TITLE": "لا توجد مصادر EPG بعد",
"EPG_EMPTY_HINT": "أضف رابطًا لجلب بيانات البرامج لقنواتك.",
"PREFER_UPLOADED_EPG_TITLE": "تفضيل مصادر EPG الخاصة بك لقوائم Xtream",
"PREFER_UPLOADED_EPG_HINT": "بشكل افتراضي، تستخدم قوائم Xtream دليل البرامج من المزود الخاص بك، وتُستخدم مصادر EPG التي حمّلتها لملء القنوات المفقودة فقط. فعّل هذا الخيار لاستخدام EPG الذي حمّلته أولاً.",
"DATA": "البيانات",
"BACKUP": "نسخ احتياطي",
"BACKUP_DESCRIPTION": "صدّر مكتبتك كلقطة، أو استعدها من نسخة احتياطية سابقة.",
"RESET": "إعادة تعيين",
"RESET_DESCRIPTION": "حذف المحتوى المخزن في هذا التطبيق نهائيًا.",
"ABOUT": "حول",
"NAV_GENERAL": "عام",
"NAV_PLAYBACK": "التشغيل",
"NAV_EPG": "EPG",
"NAV_REMOTE": "عن بعد",
"NAV_DATA": "البيانات",
"NAV_BACKUP": "نسخ احتياطي",
"NAV_RESET": "إعادة تعيين",
"NAV_ABOUT": "حول",
"NAV_TMDB": "البيانات الوصفية",
"TMDB": "البيانات الوصفية (TMDB)",
"TMDB_DESCRIPTION": "إثراء تفاصيل الأفلام والمسلسلات ببيانات من The Movie Database",
"TMDB_ENABLE": "تفعيل بيانات TMDB الوصفية",
"TMDB_ENABLE_DESCRIPTION": "يحسّن ملخصات القصة وطاقم العمل والتقييمات والصور في صفحات التفاصيل. عند التفعيل، تُرسل عناوين الأفلام والمسلسلات إلى TMDB.",
"TMDB_API_KEY": "مفتاح TMDB API (اختياري)",
"TMDB_API_KEY_DESCRIPTION": "استخدم مفتاح TMDB API الخاص بك بدلاً من المفتاح المدمج",
"TMDB_GET_KEY_HINT": "احصل على مفتاح API مجاني على themoviedb.org",
"TMDB_M3U_VOD_DETAILS": "التعرّف على الأفلام في قوائم تشغيل M3U",
"TMDB_M3U_VOD_DETAILS_DESCRIPTION": "عناصر قائمة التشغيل التي تبدو كملفات أفلام تُفتح في صفحة تفاصيل الفيلم مع بيانات TMDB الوصفية بدلاً من لوحة دليل البرامج.",
"TMDB_TEST_BUTTON": "التحقق من المفتاح",
"TMDB_TEST_SUCCESS": "المفتاح يعمل — استجاب TMDB بنجاح",
"TMDB_TEST_FAILED": "فشل التحقق — رفض TMDB المفتاح أو تعذر الوصول إليه",
"TMDB_CACHE": "ذاكرة التخزين المؤقت للبيانات الوصفية",
"TMDB_CACHE_DESCRIPTION": "تُحفظ البيانات الوصفية المنزّلة محلياً لتفتح صفحات التفاصيل فوراً. مسحها يجعل التطبيق يجلب بيانات جديدة عند الزيارة التالية.",
"TMDB_CACHE_SIZE": "{{entries}} عنصر · {{size}}",
"TMDB_CACHE_CLEAR": "مسح الذاكرة المؤقتة",
"TMDB_CACHE_ERROR": "تعذّر قراءة الذاكرة المؤقتة — حاول مجدداً",
"TMDB_CREDITS": "البيانات الوصفية",
"TMDB_ATTRIBUTION": "يستخدم هذا المنتج TMDB API ولكنه غير معتمد أو مصدّق من قِبل TMDB.",
"APP_PREFERENCES": "تفضيلات التطبيق",
"HERO_EYEBROW": "إعدادات مساحة العمل",
"HERO_TITLE": "خصّص تجربة IPTVnator",
"HERO_DESCRIPTION": "اضبط التشغيل، والأدلة، والوصول عن بعد، ومعالجة البيانات من مكان واحد دون فقدان نمط مساحة العمل الحالي.",
"SUBTITLE": "تعديل تكوين التطبيق",
"DESCRIPTION": "يرجى ضبط الخيارات أدناه ثم النقر على حفظ التغييرات",
"EPG_URL_LABEL": "رابط EPG (XML/XML.GZ)",
"EPG_URL_PLACEHOLDER": "أدخل رابطًا",
"REFRESH_EPG": "تحديث EPG",
"REFRESH_ALL_EPG": "تحديث الكل",
"REMOVE_EPG_SOURCE": "إزالة مصدر EPG",
"EPG_STATUS_FRESH": "محدث",
"EPG_STATUS_STALE": "يحتاج تحديث",
"EPG_STATUS_ERROR": "فشل",
"VIDEO_PLAYER_LABEL": "مشغل الفيديو",
"PLAYER_HTML5": "مشغل فيديو HTML5",
"PLAYER_VIDEOJS": "مشغل Video.js",
"PLAYER_ARTPLAYER": "ArtPlayer",
"PLAYER_EMBEDDED_MPV": "MPV المضمّن (تجريبي)",
"PLAYER_MPV": "مشغل MPV",
"PLAYER_VLC": "VLC",
"VIDEO_PLAYER_PLACEHOLDER": "اختر خيارًا",
"VERSION": "الإصدار",
"SAVE_CHANGES": "حفظ التغييرات",
"UNSAVED_CHANGES": "لديك تغييرات غير محفوظة",
"DISCARD_CHANGES": "تجاهل",
"UNSAVED_DIALOG_TITLE": "تغييرات غير محفوظة",
"UNSAVED_DIALOG_MESSAGE": "لديك تغييرات غير محفوظة في الإعدادات. هل تريد حفظها قبل المغادرة؟",
"UNSAVED_DIALOG_SAVE": "احفظ وغادر",
"UNSAVED_DIALOG_DISCARD": "غادر دون حفظ",
"UNSAVED_DIALOG_STAY": "متابعة التحرير",
"UNSAVED_DIALOG_INVALID_HINT": "بعض الحقول غير صالحة، لذلك لا يمكن حفظ التغييرات بعد.",
"BACK_TO_HOME": "العودة للرئيسية",
"NEW_VERSION_AVAILABLE": "إصدار جديد متاح",
"LATEST_VERSION": "أنت تستخدم الإصدار الأحدث",
"STREAM_FORMAT": "تنسيق البث",
"OPEN_EXTERNAL_PLAYER_ON_DOUBLE_CLICK": "تشغيل MPV/VLC بالنقر المزدوج",
"OPEN_EXTERNAL_PLAYER_ON_DOUBLE_CLICK_DESCRIPTION": "يتطلب النقر المزدوج على صفوف القنوات قبل بدء التشغيل عبر MPV أو VLC.",
"LANGUAGE": "اللغة",
"SETTINGS_SAVED": "نجاح! تم حفظ الإعدادات.",
"SETTINGS_SAVE_FAILED": "تعذّر حفظ الإعدادات. ستفقد تغييراتك عند إعادة تشغيل التطبيق.",
"SETTINGS_LOAD_FAILED": "تعذّر تحميل الإعدادات المحفوظة — يتم عرض القيم الافتراضية. تأكّد من عدم تشغيل نسخة أخرى من التطبيق.",
"THEME": "السمة البصرية",
"SHOW_CAPTIONS": "عرض الترجمات",
"SHOW_DASHBOARD": "عرض لوحة التحكم",
"SHOW_DASHBOARD_DESCRIPTION": "إبقاء لوحة التحكم متاحة في شريط مساحة العمل. عند التعطيل، تصبح المصادر هي أول صفحة في مساحة العمل.",
"ADD_EPG_SOURCE": "إضافة مصدر EPG",
"CLEAR_EPG_DATA": "مسح بيانات EPG",
"CLEAR_EPG_DIALOG": {
"TITLE": "مسح بيانات EPG",
"MESSAGE": "هل أنت متأكد من رغبتك في إزالة جميع بيانات EPG (الدليل الإلكتروني للبرامج) من قاعدة البيانات؟ سيؤدي ذلك إلى حذف جميع جداول البرامج المخزنة مؤقتًا."
},
"EPG_DATA_CLEARED": "تم مسح بيانات EPG",
"EPG_DATA_CLEAR_FAILED": "فشل مسح بيانات EPG. يرجى المحاولة مرة أخرى.",
"CLEARING_EPG_DATA": "جارٍ المسح…",
"EPG_URL_ERROR": "القيمة ليست رابطًا صالحًا",
"VIDEO_PLAYER_DESCRIPTION": "اختر مشغل الفيديو الافتراضي",
"WEB_PLAYER_SHARED_CONTROLS": "عناصر تحكم موحّدة لمشغلات الويب",
"WEB_PLAYER_SHARED_CONTROLS_DESCRIPTION": "استخدم عناصر التحكم المشتركة في IPTVnator مع HTML5 وVideo.js وArtPlayer.",
"PLAYER_AMBIENT_MODE": "ملء الخلفية المحيطة",
"PLAYER_AMBIENT_MODE_DESCRIPTION": "تعبئة المساحة حول المشغل بنسخة مشوشة ومعتمة من الملصق بدلاً من الخطوط السوداء.",
"PLAYER_UP_NEXT_RAIL": "شريط الحلقات التالية",
"PLAYER_UP_NEXT_RAIL_DESCRIPTION": "في النوافذ العريضة، تثبيت مشغل المسلسل على اليسار وعرض الحلقات القادمة بجانبه.",
"FULLSCREEN_CHANNEL_PANEL": "قائمة القنوات في وضع ملء الشاشة",
"FULLSCREEN_CHANNEL_PANEL_DESCRIPTION": "في وضع ملء الشاشة، حرّك الماوس إلى الحافة اليسرى أو اضغط C لإظهار قائمة القنوات وتبديل القناة دون الخروج من ملء الشاشة.",
"STREAM_FORMAT_DESCRIPTION": "اختر تنسيق البث الافتراضي (xtream)",
"LANGUAGE_DESCRIPTION": "اختر لغة التطبيق",
"THEME_DESCRIPTION": "اختر السمة البصرية للتطبيق",
"COVER_SIZE": "حجم الغلاف",
"COVER_SIZE_DESCRIPTION": "اضبط حجم بطاقات الملصقات في الشبكات والصفوف. الأحجام الأكبر أسهل للرؤية على شاشات التلفاز؛ والأحجام الأصغر تعرض محتوى أكثر في كل صف على الشاشات الكبيرة.",
"COVER_SIZE_SMALL": "صغير",
"COVER_SIZE_MEDIUM": "متوسط",
"COVER_SIZE_LARGE": "كبير",
"EPG_VIEW_MODE": "عرض الدليل",
"EPG_OFFSET_TITLE": "إزاحة وقت دليل البرامج",
"EPG_OFFSET_HINT": "اضبط أوقات البرامج المعروضة دون تحديث الدليل. استخدم الدقائق من -720 إلى 720.",
"EPG_OFFSET_LABEL": "الإزاحة (بالدقائق)",
"EPG_OFFSET_ERROR": "أدخل عددًا صحيحًا من الدقائق بين -720 و720.",
"EPG_VIEW_MODE_DESCRIPTION": "اختر طريقة عرض دليل البرامج أسفل المشغل: شريط جدول زمني أفقي، أو قائمة رأسية ليوم واحد.",
"EPG_VIEW_MODE_TIMELINE": "الجدول الزمني",
"EPG_VIEW_MODE_LIST": "قائمة",
"STARTUP_BEHAVIOR": "عرض البدء",
"STARTUP_BEHAVIOR_DESCRIPTION": "اختر ما إذا كان IPTVnator يفتح أول عرض متاح في مساحة العمل أو يستعيد آخر عرض على مستوى القسم. العرض الأول يعني لوحة التحكم عند تفعيلها، وإلا فالمصادر.",
"STARTUP_BEHAVIOR_FIRST_VIEW": "أول عرض متاح",
"STARTUP_BEHAVIOR_RESTORE_LAST_VIEW": "استعادة آخر عرض",
"STARTUP_WINDOW_MODE": "نافذة التطبيق عند البدء",
"STARTUP_WINDOW_MODE_DESCRIPTION": "اختر كيف تُفتح نافذة سطح المكتب: بآخر حجم لها، أو مكبّرة، أو بملء الشاشة. يُطبَّق عند التشغيل التالي. اضغط F11 في أي وقت للدخول إلى وضع ملء الشاشة أو الخروج منه.",
"STARTUP_WINDOW_MODE_NORMAL": "آخر حجم للنافذة",
"STARTUP_WINDOW_MODE_MAXIMIZED": "مكبّرة",
"STARTUP_WINDOW_MODE_FULLSCREEN": "ملء الشاشة",
"SHOW_CAPTIONS_DESCRIPTION": "عرض أو إخفاء الترجمات افتراضيًا",
"SHOW_EXTERNAL_PLAYBACK_BAR": "عرض شريط التشغيل الحالي",
"SHOW_EXTERNAL_PLAYBACK_BAR_DESCRIPTION": "إبقاء شريط حالة المشغل الخارجي مرئيًا في أسفل مساحة العمل على سطح المكتب.",
"STRIP_COUNTRY_PREFIX": "إزالة بادئات البلد من أسماء القنوات",
"STRIP_COUNTRY_PREFIX_DESCRIPTION": "يزيل بادئات البلد/المجموعة مثل \"US | \" أو \"UK - \" من أسماء قنوات البث المباشر في جميع أنحاء التطبيق.",
"VERSION_DESCRIPTION": "الإصدار الحالي للتطبيق",
"ABOUT_SUBTITLE": "الإصدار وروابط المشروع وطرق دعم IPTVnator.",
"EMBEDDED_MPV_NOTICE_TITLE": "بيئة تشغيل MPV المضمّنة",
"EMBEDDED_MPV_NOTICE_DESCRIPTION": "يمكن أن تتضمن إصدارات سطح المكتب مكتبتي libmpv و FFmpeg المرفقتين لمشغل MPV المضمّن التجريبي. لا يحتاج المستخدمون إلى تثبيت تطبيق MPV بشكل منفصل؛ ويبقى MPV و VLC الخارجيان متاحين كمشغلين احتياطيين.",
"COMMUNITY": "المشروع والمجتمع",
"COMMUNITY_DESCRIPTION": "ضع نجمة على المستودع، أو اقرأ المدونة، أو انضم إلى مجموعة Telegram للحصول على التحديثات والمساعدة.",
"LINK_BLOG": "المدونة",
"LINK_GITHUB_DESCRIPTION": "ضع نجمة على المستودع، أو افتح مشكلة، أو ساهم في المشروع",
"LINK_BLOG_DESCRIPTION": "ملاحظات الإصدار، والنصائح، وتحديثات المشروع",
"LINK_TELEGRAM_DESCRIPTION": "الإعلانات والمجتمع والدعم",
"SUPPORT_TITLE": "ادعم المشروع",
"SUPPORT_DESCRIPTION": "IPTVnator تطبيق مجاني ومفتوح المصدر، وتم بناؤه بشكل مفتوح. إذا كان جزءًا من روتينك اليومي، فإن أي مساهمة صغيرة تساعد في إبقاء المشروع حيًا وتحديد ما يأتي لاحقًا — شكرًا لك.",
"SUPPORT_SPONSORS_HINT": "متكرر أو لمرة واحدة",
"SUPPORT_KOFI_HINT": "اشتري لي قهوة",
"EPG_NOTE": "يتوفر EPG حاليًا فقط في إصدار سطح المكتب Electron من IPTVnator.",
"EPG_NOTE_URL_TEXT": "تحقق من ذلك هنا",
"IMPORT_EXPORT_DATA": "استيراد/تصدير نسخ احتياطية لقوائم التشغيل",
"IMPORT_EXPORT_DATA_DESCRIPTION": "صدّر أو استعد نسخًا احتياطية لقوائم التشغيل تشمل لقطات M3U وبيانات اتصال Xtream/Stalker وحالة المستخدم وروابط مصادر EPG.",
"IMPORT_DATA": "استيراد",
"EXPORT_DATA": "تصدير",
"EXPORTING_DATA": "جارٍ التصدير…",
"REMOVE_ALL": "حذف كل قوائم التشغيل وبياناتها",
"REMOVE_ALL_BUTTON": "حذف الكل",
"REMOVE_ALL_DESCRIPTION": "احذف كل قوائم تشغيل M3U و Xtream و Stalker المخزنة في التطبيق.",
"REMOVE_DIALOG": {
"TITLE": "حذف كل قوائم التشغيل؟",
"MESSAGE": "سيتم حذف كل قوائم التشغيل البالغ عددها {{count}} من التطبيق. يؤدي ذلك أيضًا إلى حذف بيانات قوائم التشغيل المخزنة على هذا الجهاز.",
"SUMMARY_TITLE": "مصادر قوائم التشغيل",
"CONSEQUENCES_TITLE": "سيؤدي ذلك أيضًا إلى إزالة",
"CONSEQUENCE_FAVORITES": "المفضلات المحفوظة لهذه القوائم",
"CONSEQUENCE_RECENTLY_VIEWED": "سجل المشاهدة الأخير",
"CONSEQUENCE_PLAYBACK": "مواضع التشغيل المحفوظة",
"CONSEQUENCE_DOWNLOADS": "إدخالات سجل التنزيل المرتبطة بهذه القوائم",
"CONSEQUENCE_XTREAM_CACHE": "فئات Xtream المستوردة والمحتوى المخزن مؤقتًا محليًا",
"BACKUP_HINT": "استخدم التصدير أولًا إذا كنت تريد نسخة احتياطية قابلة للاستعادة قبل الحذف.",
"CONFIRM": "حذف كل شيء"
},
"IMPORT_ERROR": "خطأ في الاستيراد، يرجى تجربة ملف آخر.",
"PLAYLISTS_REMOVED": "تمت إزالة كل قوائم التشغيل وبياناتها.",
"MPV_PLAYER_PATH_LABEL": "مسار mpv",
"MPV_PLAYER_PATH_DESCRIPTION": "حدد مسار MPV. على macOS يمكنك استخدام حزمة تطبيق MPV مثل /Applications/mpv.app أو مسار الملف التنفيذي.",
"MPV_COMPATIBLE_PLAYER_TIP": "يمكن تشغيل IINA كمشغل متوافق مع MPV على macOS، لكن استخدم مسار الملف التنفيذي مثل /Applications/IINA.app/Contents/MacOS/iina-cli أو /Applications/IINA.app/Contents/MacOS/IINA. عناصر تحكم IPTVnator وتتبع الموضع وإعادة استخدام النافذة مضمونة فقط مع MPV IPC.",
"MPV_PLAYER_PATH": "مسار مشغل MPV",
"MPV_PLAYER_ARGUMENTS_LABEL": "وسائط سطر أوامر mpv",
"MPV_PLAYER_ARGUMENTS_DESCRIPTION": "وسائط اختيارية يتم تمريرها إلى mpv عندما يبدأ IPTVnator عملية مشغل خارجي جديدة.",
"MPV_PLAYER_ARGUMENTS": "وسائط mpv",
"MPV_REUSE_INSTANCE_LABEL": "إعادة استخدام نسخة MPV",
"MPV_REUSE_INSTANCE_DESCRIPTION": "عند التفعيل، سيتم إعادة استخدام نفس نافذة MPV لتشغيل البثوث المختلفة. عند التعطيل، يفتح كل بث في نافذة MPV جديدة.",
"RECORDING_FOLDER_LABEL": "مجلد التسجيلات",
"RECORDING_FOLDER_DESCRIPTION": "مجلد تسجيلات البث المباشر من MPV المضمن. اتركه فارغًا لاستخدام مجلد التنزيلات في النظام.",
"RECORDING_FOLDER": "مجلد التسجيلات",
"RECORDING_FOLDER_SELECT": "اختر مجلد التسجيلات",
"VLC_PLAYER_PATH_LABEL": "مسار VLC",
"VLC_PLAYER_PATH_DESCRIPTION": "حدد مسار VLC. على macOS يمكنك استخدام حزمة تطبيق VLC مثل /Applications/VLC.app أو مسار الملف التنفيذي.",
"VLC_PLAYER_PATH": "مسار مشغل VLC",
"VLC_PLAYER_ARGUMENTS_LABEL": "وسائط سطر أوامر VLC",
"VLC_PLAYER_ARGUMENTS_DESCRIPTION": "وسائط اختيارية يتم تمريرها إلى VLC عندما يبدأ IPTVnator عملية مشغل خارجي جديدة.",
"VLC_PLAYER_ARGUMENTS": "وسائط VLC",
"EXTERNAL_PLAYER_ARGUMENTS_HINT": "استخدم وسيطًا واحدًا في كل سطر. يتم تطبيق هذه القيم قبل خيارات IPTVnator الخاصة بالبث.",
"VLC_REUSE_INSTANCE_LABEL": "إعادة استخدام نسخة VLC",
"VLC_REUSE_INSTANCE_DESCRIPTION": "عند التفعيل، سيتم إعادة استخدام نفس نافذة VLC لتشغيل البثوث المختلفة. عند التعطيل، يفتح كل بث في نافذة VLC جديدة.",
"REMOTE_CONTROL": "التحكم عن بعد",
"REMOTE_CONTROL_DESCRIPTION": "تمكين التحكم عن بعد للتطبيق.",
"REMOTE_CONTROL_PORT": "منفذ التحكم عن بعد",
"REMOTE_CONTROL_PORT_DESCRIPTION": "المنفذ المستخدم للتحكم عن بعد (الافتراضي: 8765).",
"REMOTE_CONTROL_URL": "رابط التحكم عن بعد",
"REMOTE_CONTROL_URL_DESCRIPTION": "الوصول إلى التحكم عن بعد من جهاز آخر على نفس الشبكة.",
"SHOW_QR_CODE": "عرض رمز QR",
"STATUS_ENABLED": "مفعّل",
"STATUS_DISABLED": "معطّل",
"SOURCE_SINGULAR": "مصدر",
"SOURCE_PLURAL": "مصادر",
"PORT_RANGE_LABEL": "المنفذ (1-65535)",
"PORT_REQUIRED": "المنفذ مطلوب",
"PORT_MIN": "يجب أن يكون المنفذ 1 على الأقل",
"PORT_MAX": "يجب ألا يتجاوز المنفذ 65535",
"PORT_PATTERN": "الأرقام فقط مسموح بها",
"REMOVE_ALL_IN_PROGRESS": "جارٍ حذف بيانات قوائم التشغيل…",
"REMOVE_ALL_PROGRESS": "جارٍ حذف بيانات قوائم التشغيل… {{current}} / {{total}}",
"PLAYLISTS_REMOVE_FAILED": "تعذر حذف قوائم التشغيل. يرجى المحاولة مرة أخرى.",
"NAV_DASHBOARD": "لوحة المعلومات",
"DASHBOARD": "لوحة المعلومات",
"DASHBOARD_SUBTITLE": "اختر أقسام لوحة المعلومات التي تظهر في مساحة العمل.",
"DASHBOARD_HERO": "لافتة رئيسية",
"DASHBOARD_HERO_DESCRIPTION": "عرض اللافتة العلوية الكبيرة لأحدث عنصر لديك.",
"DASHBOARD_RAIL_CONTINUE": "متابعة المشاهدة",
"DASHBOARD_RAIL_CONTINUE_DESCRIPTION": "عرض الأفلام والمسلسلات التي شاهدتها مؤخرًا كبطاقات أغلفة.",
"DASHBOARD_RAIL_LIVE_FAVORITES": "يبث الآن ضمن مفضلاتك",
"DASHBOARD_RAIL_LIVE_FAVORITES_DESCRIPTION": "عرض القنوات المباشرة المفضلة مع تقدم EPG الحالي.",
"DASHBOARD_RAIL_RECENT_LIVE": "تلفزيون مباشر شاهدته مؤخرًا",
"DASHBOARD_RAIL_RECENT_LIVE_DESCRIPTION": "عرض القنوات المباشرة التي فتحتها مؤخرًا مع تقدم EPG الحالي.",
"DASHBOARD_RAIL_FAVORITE_VOD": "الأفلام والمسلسلات المفضلة",
"DASHBOARD_RAIL_FAVORITE_VOD_DESCRIPTION": "عرض الأفلام والمسلسلات المفضلة كبطاقات أغلفة.",
"DASHBOARD_RAIL_SOURCES": "المصادر المستخدمة مؤخرًا",
"DASHBOARD_RAIL_SOURCES_DESCRIPTION": "عرض اختصارات لقوائم التشغيل والبوابات التي استخدمتها مؤخرًا.",
"DASHBOARD_RAIL_TMDB_TRENDING": "الرائج هذا الأسبوع (TMDB)",
"DASHBOARD_RAIL_TMDB_TRENDING_DESCRIPTION": "عرض الأفلام والمسلسلات الرائجة أسبوعياً من TMDB مع مطابقتها بمكتباتك. يتطلب تفعيل بيانات TMDB الوصفية.",
"DASHBOARD_RAIL_TMDB_RECOMMENDATIONS": "مقترحات لك (TMDB)",
"DASHBOARD_RAIL_TMDB_RECOMMENDATIONS_DESCRIPTION": "عرض اقتراحات بناءً على الأفلام والمسلسلات التي شاهدتها مؤخراً مع مطابقتها بمكتباتك. يتطلب تفعيل بيانات TMDB الوصفية.",
"DASHBOARD_RAIL_XTREAM_ADDED": "المضاف حديثًا على Xtream",
"DASHBOARD_RAIL_XTREAM_ADDED_DESCRIPTION": "عرض أحدث أفلام ومسلسلات وقنوات Xtream.",
"APP_UPDATE_TITLE": "تحديث التطبيق",
"APP_UPDATE_DESCRIPTION": "تحقق من GitHub Releases للحصول على تحديثات تطبيق سطح المكتب.",
"APP_UPDATE_IDLE": "جاهز للتحقق من التحديثات",
"APP_UPDATE_CHECKING": "جارٍ التحقق من التحديثات…",
"APP_UPDATE_AVAILABLE": "الإصدار {{version}} متاح",
"APP_UPDATE_NOT_AVAILABLE": "أنت تستخدم أحدث إصدار",
"APP_UPDATE_DOWNLOADING": "جارٍ تنزيل الإصدار {{version}}…",
"APP_UPDATE_DOWNLOADED": "الإصدار {{version}} جاهز للتثبيت",
"APP_UPDATE_MANUAL_AVAILABLE": "الإصدار {{version}} متاح للتثبيت اليدوي",
"APP_UPDATE_ERROR": "فشل التحقق من التحديث",
"APP_UPDATE_CHECK": "تحقق مرة أخرى",
"APP_UPDATE_DOWNLOAD": "تحديث",
"APP_UPDATE_INSTALL": "إعادة تشغيل التطبيق",
"APP_UPDATE_OPEN_RELEASE": "فتح إصدار GitHub",
"APP_UPDATE_RELEASE_NOTES": "ما الجديد",
"EMBEDDED_MPV_FRAME_COPY": "MPV المدمج: محرك نسخ الإطارات (تجريبي)",
"EMBEDDED_MPV_FRAME_COPY_DESCRIPTION": "يُرسم الفيديو على لوحة التطبيق بحيث تظهر القوائم ومربعات الحوار فوقه.",
"EMBEDDED_MPV_FRAME_COPY_RESTART": "يسري المفعول بعد إعادة تشغيل التطبيق.",
"EMBEDDED_MPV_EXTRA_OPTIONS": "خيارات إضافية لـ MPV المدمج",
"EMBEDDED_MPV_EXTRA_OPTIONS_DESCRIPTION": "خيارات libmpv متقدمة للمشغّل المدمج، زوج key=value واحد في كل سطر (بدون -- في البداية). تُطبَّق في كل محرك بعد الخيارات المضمّنة، وتسري عند بدء جلسة MPV المدمج التالية.",
"EMBEDDED_MPV_EXTRA_OPTIONS_HINT": "مثال: hwdec=auto-safe. تُرفض الخيارات التي يعتمد عليها التضمين نفسه (wid، vo، input-ipc-server، …).",
"EMBEDDED_MPV_EXTRA_OPTIONS_INVALID_LINES": "ليس سطرًا بصيغة key=value: {{lines}}",
"EMBEDDED_MPV_EXTRA_OPTIONS_FORBIDDEN_KEYS": "لا يمكن تغيير هذه الخيارات للمشغّل المدمج: {{keys}}",
"EMBEDDED_MPV_AUTO_RECONNECT": "إعادة الاتصال بالبث المنقطع تلقائيًا",
"EMBEDDED_MPV_AUTO_RECONNECT_DESCRIPTION": "عند انقطاع بث قيد التشغيل، يعيد المشغّل المدمج تحميله بفواصل زمنية متزايدة، حتى 6 محاولات، قبل أن يتوقف. أما البث الذي لم يبدأ أصلًا فلا يزال يحتاج إلى إعادة المحاولة يدويًا.",
"VOD_AUTO_FAILOVER": "التبديل التلقائي للمصدر عند فشل التشغيل",
"VOD_AUTO_FAILOVER_DESCRIPTION": "عند فشل تشغيل فيلم وتوفّر الفيلم نفسه في قائمة تشغيل أخرى، يتم التبديل إليها تلقائيًا مع الاحتفاظ بموضع التشغيل. الخيار معطّل افتراضيًا، ويُعلَن عن التبديل دائمًا لأن المصدر الآخر قد يحمل دبلجة مختلفة."
},
"THEMES": {
"DARK_THEME": "داكن",
"LIGHT_THEME": "فاتح",
"SYSTEM_THEME": "النظام"
},
"AUDIO_PLAYER": {
"PLAY": "تشغيل",
"PAUSE": "إيقاف مؤقت",
"PREVIOUS_STATION": "المحطة السابقة",
"NEXT_STATION": "المحطة التالية",
"MUTE": "كتم الصوت",
"UNMUTE": "إلغاء كتم الصوت",
"VOLUME": "مستوى الصوت"
},
"EMBEDDED_MPV": {
"PLAYER": {
"BACK": "رجوع",
"RETRY": "إعادة المحاولة",
"STALLED": "يستغرق بدء هذا البث وقتًا أطول من المتوقع.",
"PLAYBACK_FAILED": "فشل التشغيل عبر MPV المضمّن.",
"RECONNECTING": "انقطع الاتصال. جارٍ إعادة الاتصال… المحاولة {{attempt}} من {{maxAttempts}}",
"STREAM_ENDED": "انتهى البث المباشر.",
"CHECKING_SUPPORT": "جارٍ التحقق من دعم MPV المضمّن...",
"NOT_AVAILABLE": "MPV المضمّن غير متاح في هذه البيئة.",
"LOADING_STREAM": "جارٍ تحميل البث…",
"PLAY": "تشغيل",
"PAUSE": "إيقاف مؤقت",
"PREVIOUS_EPISODE": "الحلقة السابقة",
"NEXT_EPISODE": "الحلقة التالية",
"BACK_10_SECONDS": "رجوع 10 ثوانٍ",
"FORWARD_10_SECONDS": "تقديم 10 ثوانٍ",
"LIVE_STREAM": "بث مباشر",
"PLAYBACK_POSITION": "موضع التشغيل",
"MUTE": "كتم الصوت",
"UNMUTE": "إلغاء كتم الصوت",
"MUTED": "الصوت مكتوم",
"VOLUME": "مستوى الصوت",
"VOLUME_LABEL": "مستوى الصوت {{percent}}%",
"AUDIO_TRACKS": "مسارات الصوت",
"SUBTITLES": "الترجمات",
"SUBTITLES_OFF": "إيقاف",
"QUALITY": "الجودة",
"QUALITY_AUTO": "تلقائي",
"TRACK_DEFAULT": "افتراضي",
"AUDIO_TRACK_FALLBACK": "صوت {{index}}",
"SUBTITLE_TRACK_FALLBACK": "ترجمة {{index}}",
"PLAYBACK_SPEED": "سرعة التشغيل",
"SPEED_TOOLTIP": "السرعة: {{speed}}",
"ASPECT_RATIO": "نسبة العرض إلى الارتفاع",
"ASPECT_TOOLTIP": "النسبة: {{aspect}}",
"ASPECT_DEFAULT": "افتراضي",
"START_RECORDING": "بدء التسجيل",
"STOP_RECORDING": "إيقاف التسجيل",
"RECORDING": "جارٍ التسجيل",
"RECORDING_SAVED": "تم حفظ التسجيل",
"RECORDING_FAILED": "فشل التسجيل",
"RECORDING_FAILED_TO_START": "فشل بدء التسجيل.",
"RECORDING_FAILED_TO_STOP": "فشل إيقاف التسجيل.",
"SAVED_TO": "تم الحفظ في {{path}}",
"ENTER_PICTURE_IN_PICTURE": "تشغيل صورة داخل صورة",
"EXIT_PICTURE_IN_PICTURE": "إنهاء صورة داخل صورة",
"ENTER_FULLSCREEN": "ملء الشاشة",
"EXIT_FULLSCREEN": "الخروج من ملء الشاشة",
"CHANNEL_LIST": "قائمة القنوات",
"HIDE_CHANNEL_LIST": "إخفاء قائمة القنوات",
"SEARCH_CHANNELS": "البحث عن القنوات",
"SEARCH_IN": "البحث في {{title}}",
"CLEAR_SEARCH": "مسح البحث",
"LOAD_SUBTITLE_FILE": "تحميل ملف الترجمة…",
"SUBTITLE_DELAY": "تأخير الترجمة",
"SUBTITLE_DELAY_DECREASE": "عرض الترجمة مبكرًا",
"SUBTITLE_DELAY_INCREASE": "عرض الترجمة لاحقًا",
"SUBTITLE_DELAY_RESET": "إعادة ضبط تأخير الترجمة",
"SUBTITLE_SIZE": "حجم الترجمة",
"SUBTITLE_COLOR": "لون الترجمة",
"SUBTITLE_COLOR_DEFAULT": "افتراضي",
"SUBTITLE_COLOR_WHITE": "أبيض",
"SUBTITLE_COLOR_YELLOW": "أصفر",
"SUBTITLE_COLOR_CYAN": "سماوي"
}
},
"PLAYBACK_DIAGNOSTICS": {
"UNSUPPORTED_CONTAINER": {
"TITLE": "قد لا تكون حاوية هذا البث مدعومة في مشغل المتصفح",
"DESCRIPTION": "قد لا يستطيع مشغل المتصفح فك ترميز هذه الحاوية داخل التطبيق. انسخ رابط البث وافتحه في مشغل خارجي مثل MPV أو VLC أو IINA للحصول على دعم أوسع للترميزات."
},
"UNSUPPORTED_CODEC": {
"TITLE": "قد لا يكون ترميز هذا البث مدعومًا في مشغل المتصفح",
"DESCRIPTION": "يعلن هذا البث عن ترميزات قد لا يستطيع مشغل المتصفح فك ترميزها. انسخ رابط البث وافتحه في مشغل خارجي مثل MPV أو VLC أو IINA."
},
"MEDIA_DECODE_ERROR": {
"TITLE": "تعذر على مشغل المتصفح فك ترميز هذا البث",
"DESCRIPTION": "بدأ التشغيل، لكن خط أنابيب الوسائط فشل أثناء فك الترميز. قد يتعامل مشغل خارجي مع هذا البث بشكل أفضل."
},
"NETWORK_ERROR": {
"TITLE": "تعذر تحميل البث",
"DESCRIPTION": "أبلغ المشغل عن خطأ في الشبكة أو في تحميل المزود. تحقق من رابط البث أو الترويسات أو توفر المزود."
},
"BROWSER_ACCESS_ERROR": {
"TITLE": "تعذر على مشغل المتصفح الوصول إلى هذا البث",
"DESCRIPTION": "قد يكون الطلب محظورًا بسبب CORS أو المحتوى المختلط أو قيود الترويسات/الوكيل لدى المزود. يستطيع MPV أو VLC غالبًا تجاوز قيود وصول مشغل المتصفح.",
"PWA_DESCRIPTION": "قد يكون الطلب محظورًا بسبب CORS أو المحتوى المختلط أو قيود الترويسات/الوكيل لدى المزود. لا يمكن لتطبيق PWA تشغيل المشغلات الخارجية مباشرة؛ استخدم إجراء نسخ رابط البث وافتحه يدويًا في MPV أو VLC أو IINA أو مشغل آخر."
},
"UNTRANSFERABLE_DESCRIPTION": "يتطلب هذا البث المحمي إعداد تشغيل لا يمكن نقله مع رابط البث.",
"DRM_OR_ENCRYPTION": {
"TITLE": "قد يكون هذا البث مشفرًا أو محميًا عبر DRM",
"DESCRIPTION": "لا يستطيع مشغل المتصفح المتابعة مع خطأ التشفير/المفتاح المبلغ عنه. قد يفشل التشغيل الخارجي أيضًا إذا كان DRM الخاص بالمزود مطلوبًا."
},
"UNKNOWN_PLAYBACK_ERROR": {
"TITLE": "أبلغ مشغل المتصفح عن خطأ في التشغيل",
"DESCRIPTION": "فشل البث في المشغل المدمج، لكن الخطأ لم يحدد سببًا معينًا متعلقًا بالترميز أو الحاوية أو الشبكة."
},
"NATIVE_FALLBACK_TITLE": "افتحه في مشغل أصلي بدلًا من ذلك",
"INLINE_FAILURE_TITLE": "انسخ الرابط أو حاول مرة أخرى",
"UNTRANSFERABLE_FAILURE_TITLE": "تعذر متابعة التشغيل المحمي",
"RECOMMENDATIONS_LABEL": "إجراءات الاسترداد الموصى بها",
"ACTION_TRY_PLAYER": "جرّب {{player}}",
"ACTION_TRY_PLAYER_HINT": "مؤقت لهذا العنصر؛ سيبقى المشغل المحفوظ دون تغيير",
"REASON_RETRY_TRANSIENT_FAILURE": "أعد المحاولة بنفس المشغل بعد فشل مؤقت في التحميل",
"REASON_RETRY_UNKNOWN_FAILURE": "أعد المحاولة لأن الخطأ لم يحدد مشغلًا آخر متوافقًا",
"REASON_ALTERNATIVE_SOURCE_AVAILABLE": "جرّب مصدرًا آخر متاحًا للمحتوى نفسه",
"REASON_DIFFERENT_ENGINE_FAMILY": "يستخدم هذا المشغل محرك تشغيل مختلفًا في المتصفح",
"REASON_EXTERNAL_CODEC_OR_CONTAINER_SUPPORT": "تدعم المشغلات الأصلية مزيدًا من برامج الترميز والحاويات",
"REASON_EXTERNAL_BROWSER_ACCESS": "قد يتجاوز المشغل الأصلي قيود الوصول في المتصفح",
"REASON_COMPATIBLE_DRM_PATH": "هذا الهدف متوافق مع بيانات التشفير المتاحة",
"ACTION_OPEN_MPV": "فتح في MPV",
"ACTION_OPEN_VLC": "فتح في VLC",
"ACTION_OPENING_MPV": "Opening MPV…",
"ACTION_OPENING_VLC": "Opening VLC…",
"ACTION_REOPEN_MPV": "Open MPV again",
"ACTION_REOPEN_VLC": "Open VLC again",
"ACTION_RETRY_MPV": "Try MPV again",
"ACTION_RETRY_VLC": "Try VLC again",
"EXTERNAL_OPENING": "Opening player…",
"EXTERNAL_STARTED": "Player started",
"EXTERNAL_PLAYING": "Playing",
"EXTERNAL_FAILED": "External player error",
"ACTION_OPEN_MPV_HINT": "المشغل المكوّن",
"ACTION_OPEN_VLC_HINT": "المشغل المكوّن",
"ACTION_COPY_URL": "نسخ رابط البث",
"ACTION_RETRY": "إعادة المحاولة",
"DETAILS_SUMMARY": "تفاصيل تقنية",
"CODEC_HINT": "تم اكتشاف {{codecs}}. غالبًا ما يكون دعم مشغلات متصفح Chromium/Electron لهذه الترميزات محدودًا.",
"DETAIL_CODE": "رمز التشخيص",
"DETAIL_PLAYER": "المشغل",
"DETAIL_SOURCE": "المصدر",
"DETAIL_CONTAINER": "الحاوية",
"DETAIL_MIME_TYPE": "نوع MIME",
"DETAIL_VIDEO_CODECS": "ترميزات الفيديو",
"DETAIL_AUDIO_CODECS": "ترميزات الصوت",
"DETAIL_NATIVE_ERROR_CODE": "رمز الخطأ الأصلي",
"DETAIL_NATIVE_ERROR_MESSAGE": "رسالة الخطأ الأصلية",
"DETAIL_ERROR_DETAILS": "تفاصيل الخطأ"
},
"LAYOUT": {
"HIDE_CHANNELS_LIST": "إخفاء قائمة القنوات",
"SHOW_CHANNELS_LIST": "إظهار قائمة القنوات",
"TOGGLE_SIDEBAR_TOOLTIP": "تبديل قائمة القنوات (⌘/Ctrl+B)",
"CHANNELS_LIST_HIDDEN": "قائمة القنوات مخفية",
"CHANNELS_LIST_HIDDEN_HINT": "أعدها باستخدام الزر أدناه أو اضغط ⌘/Ctrl+B.",
"HIDE_CATEGORIES": "إخفاء الفئات",
"SHOW_CATEGORIES": "إظهار الفئات",
"SHOW_CATEGORIES_PANEL": "إظهار لوحة الفئات",
"CHOOSE_CATEGORY": "اختيار الفئة",
"HIDE_PANELS": "إخفاء الفئات والقنوات",
"HIDE_PANELS_TOOLTIP": "إخفاء اللوحات (⌘/Ctrl+B)",
"SHOW_PANELS": "إظهار الفئات والقنوات",
"SHOW_PANELS_TOOLTIP": "إظهار اللوحات (⌘/Ctrl+B)"
},
"CHANNELS": {
"SHOW_PLAYING_CHANNEL": "إظهار القناة قيد التشغيل",
"UPLOAD_OR_SELECT_OTHER_PLAYLIST": "تحميل أو اختيار قائمة أخرى",
"ALL_CHANNELS": "جميع القنوات",
"GROUPS": "المجموعات",
"MANAGE_GROUPS": "إدارة المجموعات",
"MANAGE_GROUPS_HINT": "استخدم إدارة المجموعات لإظهار المجموعات مرة أخرى.",
"NO_VISIBLE_GROUPS": "لا توجد مجموعات مرئية",
"SEARCH_GROUPS": "بحث في المجموعات",
"UNGROUPED": "غير مصنفة",
"UNNAMED_CHANNEL": "قناة بدون اسم",
"FAVORITES": "المفضلة",
"NO_FAVORITES": "لا توجد قنوات مفضلة",
"USE_STAR_TO_FAVORITE": "استخدم أيقونة النجمة لإضافة قنوات للمفضلة.",
"REMOVE_FAVORITE": "إزالة من المفضلة",
"ADD_FAVORITE": "إضافة إلى المفضلة",
"SHOW_DETAILS": "عرض تفاصيل القناة",
"MAP_EPG": "ربط قناة دليل البرامج",
"FAVORITES_UPDATED": "تم تحديث المفضلة!",
"SELECT_CHANNEL_PLAYBACK": "يرجى اختيار قناة لبدء التشغيل",
"SORT_BY": "ترتيب حسب",
"SORT_BY_DATE": "تاريخ الإضافة (الأحدث أولاً)",
"SORT_BY_RATING": "التقييم",
"SORT_BY_NAME": "الاسم (أ-ي)",
"LOAD_MORE": "تحميل المزيد",
"REMAINING": "متبقية",
"LOADING": "جارٍ تحميل القنوات...",
"LOADING_MORE": "جارٍ تحميل المزيد...",
"NO_SEARCH_RESULTS": "لم يتم العثور على قنوات",
"NO_CHANNELS_FOUND": "لم يتم العثور على قنوات",
"NO_GROUPS_FOUND": "لم يتم العثور على مجموعات",
"CATCHUP_AVAILABLE": "Catchup متاح",
"CATCHUP_AVAILABLE_DAYS": "Catchup متاح — {{days}} يوم",
"TRY_DIFFERENT_SEARCH": "جرّب مصطلح بحث مختلف",
"DETAILS_DIALOG": {
"TITLE": "تفاصيل القناة",
"DESCRIPTION": "بيانات وصفية للقراءة فقط مستخرجة من ملف قائمة التشغيل.",
"SUMMARY": "ملخص",
"TVG": "بيانات TVG",
"CATCHUP": "اللحاق بالبث",
"HTTP": "ترويسات HTTP",
"NAME": "الاسم",
"CHANNEL_ID": "معرّف القناة",
"STREAM_URL": "رابط البث",
"GROUP": "المجموعة",
"RADIO": "راديو",
"CATCHUP_AVAILABLE": "اللحاق بالبث متاح",
"WINDOW": "نافذة الأرشيف",
"PLAYBACK_SUPPORTED": "التشغيل مدعوم",
"EPG_PARAMS": "معاملات EPG",
"TIMESHIFT": "الإزاحة الزمنية",
"TVG_ID": "معرّف TVG",
"TVG_NAME": "اسم TVG",
"TVG_URL": "رابط TVG",
"TVG_LOGO": "شعار TVG",
"TVG_REC": "تسجيل TVG",
"CATCHUP_TYPE": "نوع اللحاق بالبث",
"CATCHUP_SOURCE": "مصدر اللحاق بالبث",
"CATCHUP_DAYS": "أيام اللحاق بالبث",
"HTTP_ORIGIN": "Origin",
"HTTP_REFERRER": "Referrer",
"HTTP_USER_AGENT": "User-Agent",
"EMPTY": "غير متوفر",
"NOT_AVAILABLE": "غير متاح",
"DAYS_ONE": "يوم واحد",
"DAYS_OTHER": "{{count}} يوم"
},
"GROUP_MANAGEMENT": {
"TITLE": "إدارة المجموعات",
"SELECTED": "محدد",
"SELECT_ALL": "تحديد الكل",
"DESELECT_ALL": "إلغاء تحديد الكل",
"SEARCH_PLACEHOLDER": "بحث في المجموعات...",
"NO_RESULTS": "لم يتم العثور على مجموعات مطابقة",
"SAVE": "حفظ"
}
},
"TOP_MENU": {
"OPEN_EPG_GUIDE": "دليل البرامج"
},
"EPG": {
"NEXT_DAY": "اليوم التالي",
"PREVIOUS_DAY": "اليوم السابق",
"ZOOM_IN": "تكبير",
"ZOOM_OUT": "تصغير",
"FILTER_CHANNELS": "تصفية القنوات",
"CLOSE_FILTER": "إغلاق التصفية",
"SEARCH_PROGRAMS": "البحث في البرامج",
"CLOSE_PROGRAM_SEARCH": "إغلاق بحث البرامج",
"LIVE_STREAM": "بث مباشر",
"ARCHIVE_PLAYBACK_UNAVAILABLE_TITLE": "تشغيل الأرشيف غير متاح",
"ARCHIVE_PLAYBACK_UNAVAILABLE_DESCRIPTION": "يكشف هذا المزود عن سجل الجدول لهذه القناة، لكنه لا يوفر تشغيلًا قابلًا للأرشيف أو Catchup.",
"EPG_NOT_AVAILABLE_CHANNEL_DESCRIPTION": "يرجى إضافة أو تغيير رابط قائمة EPG في إعدادات التطبيق.",
"FETCH_EPG": "جارٍ جلب بيانات EPG...",
"ERROR": "عذراً، فشل تحميل الدليل.",
"DOWNLOAD_SUCCESS": "تم تنزيل الدليل بنجاح.",
"NO_PROGRAM_INFO": "لا تتوفر معلومات عن البرنامج",
"PROGRAM_DIALOG": {
"PROGRAM_DETAILS": "تفاصيل البرنامج",
"TITLE": "العنوان",
"CATEGORY": "الفئة",
"PARENTAL_RATING_SYSTEM": "نظام تقييم المحتوى",
"DESCRIPTION": "الوصف",
"LANGUAGE": "اللغة",
"SHOW_PROGRAM_DETAILS": "عرض تفاصيل هذا البرنامج",
"EPISODE": "الحلقة",
"DURATION": "المدة"
},
"FETCH_SUCCESS": "تم جلب الدليل بنجاح.",
"IMPORT_PROGRESS": "استيراد EPG",
"CHANNELS": "قنوات",
"PROGRAMS": "برامج",
"LOADING": "جارٍ التحميل",
"QUEUED": "في قائمة الانتظار",
"TOTAL_CHANNELS": "إجمالي القنوات",
"TOTAL_PROGRAMS": "إجمالي البرامج",
"UP_TO_DATE": "EPG محدث، لا حاجة للمزامنة",
"RETRY": "إعادة المحاولة",
"ALLOW_PRIVATE_SOURCE": "السماح بالمصدر",
"ALLOW_PRIVATE_SOURCE_TITLE": "السماح بمصدر EPG من شبكة خاصة؟",
"ALLOW_PRIVATE_SOURCE_WARNING": "اسمح بذلك فقط إذا كنت تثق بمصدر EPG هذا. سيسمح IPTVnator لهذا الرابط المحدد لـ EPG بالاتصال بعناوين الشبكات الخاصة أو المحلية.",
"TRUST_TLS_HOST": "الثقة بالمضيف",
"TRUST_TLS_HOST_TITLE": "الثقة بشهادة غير صالحة؟",
"TRUST_TLS_HOST_WARNING": "تابع فقط إذا كنت تثق بهذا المضيف. سيسمح IPTVnator بالشهادات غير الصالحة لهذا المضيف، بينما ستظل المضيفات الأخرى تتطلب شهادات صالحة.",
"CURRENT_PROGRAM": "البرنامج الحالي",
"ARCHIVE_PLAYBACK": "تشغيل الأرشيف",
"COLLAPSE_PANEL": "طي لوحة EPG",
"EXPAND_PANEL": "توسيع لوحة EPG",
"GUIDE": {
"TITLE": "دليل البرامج",
"CLOSE": "إغلاق الدليل",
"CHANNEL": "قناة",
"TODAY": "اليوم",
"NOW": "الآن",
"JUMP_NOW": "الانتقال إلى الآن",
"SCOPE": "القنوات المعروضة",
"ONLY_WITH_EPG": "فقط مع EPG",
"ONLY_WITH_EPG_HINT": "إخفاء القنوات التي لا تحتوي على بيانات برامج",
"DENSITY_COMFORTABLE": "صفوف مريحة",
"DENSITY_COMPACT": "صفوف مضغوطة",
"ZOOM": "تكبير",
"FILTER_CHANNELS": "تصفية القنوات…",
"SEARCH_PROGRAMMES": "بحث في البرامج…",
"NO_RESULTS": "لم يتم العثور على برامج",
"NO_PROGRAMME_INFO": "لا توجد معلومات عن البرنامج",
"NO_PROGRAMME_INFO_LONG": "لا توجد معلومات عن البرنامج لهذه القناة",
"PLAYING": "قيد التشغيل",
"NO_CHANNELS": "لا توجد قنوات تطابق “{{query}}”",
"CLEAR_FILTER": "مسح التصفية",
"COLLAPSE_PLAYER": "طي المشغل",
"EXPAND_PLAYER": "توسيع المشغل",
"KEYS": {
"CHANNEL": "قناة",
"PROGRAMME": "برنامج",
"PLAY": "تشغيل",
"DETAILS": "التفاصيل",
"NOW": "الآن",
"DAY": "اليوم",
"CLOSE": "إغلاق"
}
},
"TIMELINE": {
"OPEN_GUIDE": "فتح دليل البرامج",
"TODAY": "اليوم",
"NOW": "الآن",
"JUMP_NOW": "الانتقال إلى الآن",
"RETURN_TO_LIVE": "العودة إلى البث المباشر",
"ON_NOW": "يُبث الآن",
"MINUTES_LEFT": "د. متبقية",
"FROM_ARCHIVE": "من الأرشيف",
"WATCH": "مشاهدة",
"WATCH_LIVE": "مشاهدة مباشرة",
"WATCH_FROM_START": "المشاهدة من البداية",
"ARCHIVE_UNAVAILABLE_NOTE": "التشغيل غير متاح — هذا المزود لا يوفر أرشيفًا.",
"CATCHUP_FAILED": "تعذّر بدء تشغيل الأرشيف لهذا البرنامج",
"SCHEDULE_ONLY_NOTICE": "الجدول فقط. يوفر هذا المزود سجل البرامج لكن دون catch-up — لا يمكن تشغيل البرامج السابقة.",
"EMPTY_DAY_TITLE": "لا يوجد برنامج لهذا اليوم",
"EMPTY_DAY_DESCRIPTION": "لم يصل جدول اليوم المحدد بعد. أيام أخرى تحتوي على بيانات.",
"JUMP_TODAY": "الانتقال إلى اليوم",
"JUMP_NEAREST": "أقرب يوم يحتوي على برنامج",
"CHANNEL_UNMAPPED_TITLE": "لا يوجد برنامج لهذه القناة",
"CHANNEL_UNMAPPED_DESCRIPTION": "هذه القناة غير مطابقة لمصدر EPG (لم يُعثر على tvg-id). القنوات الأخرى غير متأثرة.",
"PROVIDER_NO_EPG_TITLE": "المزود لا يوفر دليلًا",
"PROVIDER_NO_EPG_DESCRIPTION": "لا يوفر هذا المصدر دليل برامج لأي قناة. إذا كنت بحاجة إلى جدول، اطلبه من مزودك.",
"M3U_SETUP_TITLE": "توصيل دليل برامج",
"M3U_SETUP_DESCRIPTION": "تحتاج قوائم M3U إلى مصدر EPG خارجي (XMLTV). أضف رابط url-tvg وسيظهر الجدول هنا.",
"OPEN_EPG_SETTINGS": "فتح إعدادات EPG",
"ERROR_TITLE": "تعذّر تحميل الدليل",
"ERROR_DESCRIPTION": "لم يستجب مصدر EPG. تحقق من اتصالك أو حدّث المصدر.",
"RETRY": "إعادة المحاولة",
"MINUTES_SHORT": "د",
"ZOOM": "تكبير",
"ZOOM_DAY": "نظرة عامة على اليوم",
"ZOOM_HOURS": "حسب الساعة",
"ZOOM_DETAIL": "تفصيلي",
"ZOOM_TOOLTIP": "التكبير: {{level}} · ⌘/Ctrl + التمرير للضبط الدقيق",
"GROUP_SHORT": "برامج قصيرة",
"GROUP_EXPAND": "عرض ›"
}
},
"EPG_MAPPING_DIALOG": {
"TITLE": "ربط قناة دليل البرامج (EPG)",
"SUBTITLE": "اختر يدويًا قناة دليل البرامج لـ \"{{channelName}}\"",
"SEARCH_PLACEHOLDER": "البحث في قنوات دليل البرامج...",
"CURRENT_MAPPING": "الربط الحالي",
"NO_MAPPING": "لم يتم تعيين ربط لدليل البرامج",
"SAVE": "حفظ الربط",
"REMOVE": "إزالة الربط",
"CLOSE": "إغلاق",
"NO_RESULTS": "لم يتم العثور على قنوات دليل البرامج",
"SEARCH_HINT": "اكتب {{min}} أحرف على الأقل للبحث",
"SAVED": "تم حفظ ربط دليل البرامج",
"REMOVED": "تمت إزالة ربط دليل البرامج",
"SAVE_FAILED": "تعذر تحديث ربط دليل البرامج"
},
"LANGUAGES": {
"ARABIC": "العربية",
"MOROCCAN_ARABIC": "العربية (اللهجة المغربية)",
"ENGLISH": "English",
"KOREAN": "한국어",
"RUSSIAN": "Русский",
"GERMAN": "Deutsch",
"SPANISH": "Español",
"CHINESE": "简体中文",
"TRADITIONAL_CHINESE": "繁體中文",
"FRENCH": "Français",
"ITALIAN": "Italiano",
"TURKISH": "Türkçe",
"JAPANESE": "日本語",
"DUTCH": "Nederlands",
"BELARUSIAN": "Беларуская",
"POLISH": "Polski",
"PORTUGUESE": "Português",
"GREEK": "Ελληνικά",
"HUNGARIAN": "Magyar"
},
"YES": "نعم",
"NO": "لا",
"MENU": {
"OPEN": "فتح القائمة",
"SUPPORT_ARIA": "دعم IPTVnator على GitHub",
"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": "مشاركة على Twitter"
},
"UPDATE_AVAILABLE": "تحديث متاح",
"REFRESH": "تحديث",
"XTREAM": {
"PLAY": "تشغيل",
"OPENING_PLAYER": "جارٍ فتح المشغل...",
"NAME": "الاسم",
"RELEASE_DATE": "تاريخ الإصدار",
"GENRE": "النوع",
"COUNTRY": "البلد",
"ACTORS": "الممثلون",
"DIRECTOR": "المخرج",
"SIMILAR": "محتوى مشابه",
"CREW_JOB_DIRECTOR": "المخرج",
"CREW_JOB_CREATOR": "المبتكر",
"ACTOR_FILMOGRAPHY": "الأعمال الفنية",
"ACTOR_FILTER_ALL": "الكل",
"ACTOR_SCOPE_THIS_PORTAL": "هذه البوابة",
"ACTOR_SCOPE_ALL_PORTALS": "كل البوابات",
"ACTOR_NO_RESULTS": "لا توجد نتائج لهذا الفلتر",
"ACTOR_IN_LIBRARY": "متوفر في مكتبتك",
"ACTOR_SEARCH_IN_PORTAL": "البحث في البوابة",
"ACTOR_BORN": "تاريخ الميلاد",
"ACTOR_DIED": "توفي",
"DISCOVER_TITLE": "استكشاف",
"DISCOVER_RESULTS": "عناوين شائعة",
"DISCOVER_MOVIES": "الأفلام",
"DISCOVER_SERIES": "المسلسلات",
"DISCOVER_EMPTY": "لا توجد نتائج لهذا الاختيار. تتطلب ميزة الاستكشاف تفعيل بيانات TMDB الوصفية في الإعدادات.",
"SERIES_STATUS_RETURNING": "مستمر",
"SERIES_STATUS_PLANNED": "مخطط",
"SERIES_STATUS_IN_PRODUCTION": "قيد الإنتاج",
"SERIES_STATUS_ENDED": "منتهي",
"SERIES_STATUS_CANCELED": "ملغى",
"SERIES_STATUS_PILOT": "حلقة تجريبية",
"DURATION": "المدة",
"CAST": "طاقم التمثيل",
"EPISODE_RUN_TIME": "مدة الحلقة",
"RATING": "التقييم",
"IMDB_RATING": "تقييم IMDb",
"KINOPOISK_RATING": "تقييم Kinopoisk",
"DESCRIPTION": "الوصف",
"YEAR": "السنة",
"AGE": "العمر",
"YOUTUBE_TRAILER": "تريلر يوتيوب",
"EPISODE": "حلقة",
"RESUME": "استئناف",
"RESTART": "البدء من جديد",
"CONTINUE_WATCHING": "متابعة المشاهدة",
"PLAY_FIRST_EPISODE": "تشغيل الحلقة الأولى",
"PLAY_EPISODE": "تشغيل الحلقة {{episode}}",
"RESUME_EPISODE": "استئناف الحلقة",
"PLAY_NEXT_EPISODE": "تشغيل الحلقة التالية",
"SERIES_WATCHED": "تمت مشاهدة المسلسل",
"WATCHED": "تمت المشاهدة",
"IN_PROGRESS": "قيد التقدم",
"MARK_WATCHED": "وضع علامة كمشاهد",
"MARK_UNWATCHED": "وضع علامة كغير مشاهد",
"MARK_SEASON_WATCHED": "وضع علامة على الموسم كمشاهد ({{count}})",
"MARK_SEASON_UNWATCHED": "وضع علامة على الموسم كغير مشاهد",
"SEASON_MARKED_WATCHED": "تم وضع علامة على {{count}} حلقة كمشاهدة",
"SEASON_MARKED_UNWATCHED": "تم وضع علامة على الموسم كغير مشاهد",
"SEASON_MARKED_WATCHED_PARTIAL": "تم وضع علامة على {{count}} · فشل {{failed}}",
"SEASON_MARKED_UNWATCHED_PARTIAL": "تمت إزالة العلامة عن {{count}} · فشل {{failed}}",
"SEASON_WATCH_UPDATE_FAILED": "فشل تحديث الموسم",
"MARK_SERIES_WATCHED": "وضع علامة على المسلسل كمشاهد ({{count}})",
"MARK_SERIES_WATCHED_ALL": "وضع علامة على المسلسل كمشاهد",
"MARK_SERIES_UNWATCHED": "وضع علامة على المسلسل كغير مشاهد",
"SERIES_MARKED_UNWATCHED": "تم وضع علامة على المسلسل كغير مشاهد",
"SERIES_WATCH_UPDATE_FAILED": "فشل تحديث المسلسل",
"SERIES_WATCH_MENU": "إجراءات مشاهدة المسلسل",
"EPISODES_WATCHED": "تمت مشاهدة {{count}} من {{total}} حلقة",
"DETAIL_FALLBACK": {
"STATUS": "البيانات الوصفية للبوابة غير متاحة",
"NOTE": "لم يقدم هذا البوابة بيانات وصفية موسّعة.",
"STREAM_ID": "معرّف البث",
"CATEGORY": "الفئة",
"CONTAINER": "التنسيق",
"SOURCE_TITLE": "عنوان المصدر"
},
"ACCOUNT_INFO": {
"TITLE": "معلومات الحساب",
"USER_INFO": "معلومات المستخدم",
"STATUS": "الحالة",
"USERNAME": "اسم المستخدم",
"ACTIVE_CONNECTIONS": "الاتصالات النشطة",
"CREATED": "تاريخ الإنشاء",
"EXPIRES": "تاريخ الانتهاء",
"TRIAL_ACCOUNT": "حساب تجريبي",
"YES": "نعم",
"NO": "لا",
"ALLOWED_FORMATS": "التنسيقات المسموح بها",
"SERVER_INFO": "معلومات الخادم",
"LIVE_TV": "البث المباشر",
"MOVIES": "الأفلام",
"TV_SERIES": "المسلسلات",
"URL": "URL",
"PROTOCOL": "البروتوكول",
"TIMEZONE": "المنطقة الزمنية",
"SERVER_TIME": "وقت الخادم",
"PORTS": "المنافذ",
"HTTP_PORT": "HTTP",
"HTTPS_PORT": "HTTPS",
"RTMP_PORT": "RTMP"
},
"CATEGORY_MANAGEMENT": {
"TITLE": "إدارة الفئات",
"LOADING": "جارٍ تحميل الفئات...",
"SELECTED": "إجمالي المحدد",
"SELECT_ALL": "تحديد الكل",
"DESELECT_ALL": "إلغاء تحديد الكل",
"SELECT_FILTERED": "تحديد نتائج البحث",
"DESELECT_FILTERED": "إلغاء تحديد نتائج البحث",
"SEARCH_PLACEHOLDER": "بحث في الفئات...",
"NO_RESULTS": "لم يتم العثور على فئات مطابقة",
"NO_CATEGORIES": "لا توجد فئات متاحة",
"SAVE": "حفظ"
}
},
"PORTALS": {
"REQUESTS_PAUSED": {
"TITLE": "الطلبات متوقفة مؤقتًا",
"DESCRIPTION": "أُوقفت الطلبات بعد تكرار فشل الاتصال. أعد المحاولة للاتصال بالبوابة فورًا.",
"RETRY": "إعادة المحاولة الآن"
},
"ALL_CATEGORIES": "جميع الفئات",
"MY_FAVORITES": "المفضلة",
"ADD_TO_FAVORITES": "إضافة للمفضلة",
"REMOVE_FROM_FAVORITES": "إزالة من المفضلة",
"REMOVED_FROM_FAVORITES": "تمت الإزالة من المفضلة",
"ADDED_TO_FAVORITES": "تمت الإضافة للمفضلة",
"FAVORITES": "المفضلة",
"RECENTLY_VIEWED": "تمت مشاهدتها مؤخرًا",
"THIS_PLAYLIST": "قائمة التشغيل هذه",
"ALL_PLAYLISTS": "جميع قوائم التشغيل",
"LIVE_TV": "البث المباشر",
"MOVIES": "الأفلام",
"SERIES": "المسلسلات",
"SEARCH": "بحث",
"NO_FAVORITES": "لا توجد مفضلة بعد",
"NO_RECENT_ITEMS": "لا توجد عناصر تمت مشاهدتها مؤخرًا",
"REMOVE_FROM_RECENT": "إزالة من العناصر التي تمت مشاهدتها مؤخرًا",
"BROWSE_ALL_MOVIES": "تصفح جميع الأفلام",
"BROWSE_ALL_SERIES": "تصفح جميع المسلسلات",
"BROWSE_ALL_LIVE": "تصفح جميع قنوات البث المباشر",
"VIEW_IN_PORTAL": "عرض في البوابة",
"VIEW_IN_PORTAL_TOOLTIP": "فتح في {{name}}",
"SIDEBAR": {
"MAIN": "الرئيسية",
"MOVIES": "الأفلام",
"LIVE_TV": "البث المباشر",
"SERIES": "المسلسلات",
"LIBRARY": "المكتبة",
"SEARCH": "بحث",
"RECENT": "الأخيرة",
"RECENTLY_ADDED": "أُضيفت مؤخرًا",
"FAVORITES": "المفضلة"
},
"ERROR_VIEW": {
"IMPORT_CANCELLED": {
"TITLE": "تم إلغاء الاستيراد",
"DESCRIPTION": "تم إلغاء استيراد قائمة التشغيل. أعد المحاولة عندما تريد متابعة تحميل هذا المصدر."
},
"ACCOUNT_EXPIRED": {
"TITLE": "انتهاء صلاحية الحساب",
"DESCRIPTION": "انتهت صلاحية هذا الحساب. يرجى التحقق من بيانات الاعتماد في إعدادات القائمة أو حذفها."
},
"ACCOUNT_INACTIVE": {
"TITLE": "الحساب غير نشط",
"DESCRIPTION": "هذا الحساب غير نشط. يرجى التحقق من بيانات الاعتماد في إعدادات قائمة التشغيل أو حذفها."
},
"UNAUTHORIZED": {
"TITLE": "غير مصرح",
"DESCRIPTION": "يرجى التحقق من بيانات الاعتماد في إعدادات القائمة أو حذفها."
},
"NOT_FOUND": {
"TITLE": "البوابة غير موجودة",
"DESCRIPTION": "يرجى التحقق من بيانات الاعتماد ورابط البوابة في إعدادات القائمة أو حذفها."
},
"PORTAL_UNAVAILABLE": {
"TITLE": "البوابة غير متاحة",
"DESCRIPTION": "تعذر الوصول إلى البوابة. تحقق من رابط الخادم أو أعد المحاولة عندما يصبح المصدر متاحًا مرة أخرى."
},
"EMPTY_CATEGORY": {
"TITLE": "فئة فارغة",
"DESCRIPTION": "هذه الفئة لا تحتوي على محتوى، يرجى اختيار فئة أخرى أو تغيير نوع المحتوى."
},
"UNKNOWN_ERROR": {
"TITLE": "حدث خطأ",
"DESCRIPTION": "خطأ غير معروف، يرجى المحاولة لاحقًا."
},
"NO_CATEGORY_SELECTED": {
"TITLE": "لم يتم تحديد فئة",
"DESCRIPTION": "يرجى اختيار فئة لعرض المحتوى"
},
"STALKER_LOGIN_REQUIRED": "تتطلب البوابة اسم مستخدم وكلمة مرور. أعد استيراد البوابة واملأ حقلي اسم المستخدم وكلمة المرور.",
"STALKER_DEVICE_CONFLICT": "لدى البوابة معرّف جهاز مختلف مسجَّل لعنوان MAC هذا. أعِد معرّف الجهاز الذي استخدمته أولًا، أو اطلب من المزود إعادة تعيين الجهاز المسجَّل لهذا العنوان.",
"PLAYLIST_SETTINGS": "إعدادات القائمة",
"HOME": "الرئيسية",
"DELETE": "حذف"
},
"EMPTY_LIST_VIEW": {
"TITLE": "لم يتم العثور على نتائج",
"NO_SEARCH_RESULTS": "لم يتم العثور على نتائج، حاول تغيير طلب البحث"
},
"SEARCH_VIEW": {
"INITIAL_TITLE": "البحث عن محتوى",
"INITIAL_DESCRIPTION": "أدخل ٣ أحرف على الأقل للبحث في البث المباشر والأفلام والمسلسلات.",
"RESULTS_FOUND": "تم العثور على {{count}} نتيجة",
"NO_RESULTS_FOR": "لم يتم العثور على نتائج لـ \"{{term}}\"",
"GROUP_BY_PLAYLIST": "تجميع النتائج حسب قائمة التشغيل",
"VISIBLE_CATEGORIES_ONLY": "الفئات المرئية فقط",
"GLOBAL_SEARCH_SOURCE_NOTE": "يتضمن البحث العام نتائج من قوائم تشغيل Xtream و M3U.",
"GLOBAL_INITIAL_DESCRIPTION": "أدخل حرفين على الأقل للبحث عبر قوائم تشغيل Xtream و M3U.",
"LOADING_MORE_RESULTS": "جارٍ تحميل المزيد من النتائج..."
},
"STREAM_URL_COPIED": "تم نسخ رابط البث إلى الحافظة",
"COPY_STREAM_URL": "نسخ رابط البث",
"NOW_PLAYING": "قيد التشغيل",
"UP_NEXT": "التالي",
"CLOSE_PLAYER": "إغلاق المشغل",
"ABOUT": "نبذة",
"SEASONS_AND_EPISODES": "المواسم والحلقات",
"SEASON_TAB": "الموسم {{number}}",
"BACK_TO_PLAYING_EPISODE": "العودة إلى الحلقة قيد التشغيل",
"GRID_VIEW": "عرض شبكي",
"LIST_VIEW": "عرض قائمة",
"NO_EPISODES_AVAILABLE": "لا توجد حلقات متاحة",
"NO_EPISODES_AVAILABLE_MESSAGE": "هذا المسلسل مدرج لدى مزودك، لكن لا توجد مواسم أو حلقات متاحة للتشغيل.",
"SEASON_EMPTY": "هذا الموسم فارغ",
"SEASON_EMPTY_MESSAGE": "هذا الموسم مدرج لدى مزودك، لكن لا توجد حلقات قابلة للتشغيل متاحة.",
"EPISODE_INFO": "تفاصيل الحلقة",
"SELECT_CATEGORY": "اختر فئة",
"PAGE": "الصفحة",
"CONTENT_NOT_AVAILABLE": "هذا المحتوى غير متاح على هذا الخادم",
"PLAYBACK_ERROR": "فشل الحصول على رابط التشغيل",
"LOADING_SEASONS": "جارٍ تحميل المواسم...",
"LOADING_ALL_CHANNELS": "جارٍ تحميل قائمة القنوات الكاملة…",
"REFRESH_CHANNEL_LIST": "تحديث قائمة القنوات",
"NO_CHANNELS_IN_CATEGORY": "لا توجد قنوات في هذه الفئة",
"ITEM": "عنصر",
"ITEMS": "عناصر",
"NO_EPISODES": "لا توجد حلقات متاحة",
"ALL_RADIO": "كل الراديو",
"MULTI_SOURCE": {
"SOURCES": "المصادر",
"SOURCE": "المصدر",
"SOURCES_FOR": "مصادر “{{title}}”",
"OPEN_SOURCES": "عرض المصادر البديلة",
"MATCHED_BY_TMDB": "تمت المطابقة عبر TMDB",
"MATCHED_BY_TITLE": "تمت المطابقة حسب العنوان",
"MATCH_BY_TITLE": "حسب العنوان",
"PLAYING": "قيد التشغيل",
"CURRENT": "الحالي",
"PLAY_FROM_SOURCE": "التشغيل من هذا المصدر",
"PIN_SOURCE": "اجعله المصدر الرئيسي",
"UNPIN_SOURCE": "إلغاء تثبيت هذا المصدر",
"CHECK": "فحص",
"CHECK_TOOLTIP": "التحقق من التوفر",
"PROBE_OK": "متاح",
"PROBE_FAIL": "غير متاح",
"PROBE_CHECKING": "جارٍ التحقق",
"AUTO_FAILOVER": "التبديل التلقائي عند الخطأ",
"PLAYING_FROM": "التشغيل من:",
"SWITCH_TITLE": "المصدر غير متاح — جارٍ التبديل إلى {{playlist}}",
"SWITCH_DETAIL": "الاستئناف عند {{timecode}}",
"SWITCH_AUDIO_WARNING": "قد تختلف الدبلجة",
"SWITCHED_TO": "تم التبديل إلى {{playlist}}",
"UNDO": "تراجع",
"CHOOSE_OTHER": "اختر مصدرًا آخر",
"TRY_ANOTHER_SOURCE": "جرّب مصدرًا آخر",
"ERROR_HAS_ALTERNATIVES": "{{playlist}} لا توفّر هذا البث. هذا الفيلم موجود في قوائم التشغيل الأخرى لديك:",
"RESUME_KEPT": "سيتم الاحتفاظ بموضع التشغيل · {{timecode}}",
"ALL_SOURCES_TRIED": "تمت تجربة جميع المصادر.",
"ALSO_FOUND_IN_ONE": "— موجود أيضًا في قائمة تشغيل أخرى",
"ALSO_FOUND_IN_OTHER": "— موجود أيضًا في {{count}} من قوائم التشغيل الأخرى",
"CHECK_ALL": "فحص الكل",
"FILTER_PLACEHOLDER": "التصفية حسب قائمة التشغيل",
"NO_MATCHES": "لا توجد قوائم تشغيل تطابق هذا الفلتر",
"COPIES": "{{count}} نسخ في قائمة التشغيل هذه",
"MORE_SOURCES": "+{{count}} أخرى في قائمة المصادر",
"FILTER_ALL": "الكل",
"FILTER_AVAILABLE": "متاح",
"FILTER_HD": "HD+",
"ALL_LANGUAGES": "كل اللغات",
"SAME_AS_ABOVE": "كما في الأعلى",
"SHOWING_OF_TOTAL": "{{visible}} من {{total}}"
},
"GRID": {
"LOADING_MORE": "جارٍ تحميل المزيد…",
"LOAD_MORE_FAILED": "تعذر تحميل المزيد من العناصر",
"RETRY": "إعادة المحاولة"
}
},
"INFORMATION": "معلومات",
"DOWNLOADS": {
"TITLE": "التنزيلات",
"DOWNLOAD": "تنزيل",
"PLAY_LOCAL": "تشغيل محلي",
"DOWNLOAD_SEASON": "تنزيل الموسم ({{count}})",
"DOWNLOAD_SEASON_ARIA": "تنزيل الموسم، تتوفر {{count}} حلقات",
"ADDING_TO_QUEUE": "جارٍ الإضافة إلى قائمة الانتظار…",
"EPISODE_DOWNLOAD_ARIA": "تنزيل {{title}}",
"EPISODE_DOWNLOAD_PENDING_ARIA": "{{title}} موجود بالفعل في قائمة انتظار التنزيل",
"EPISODE_DOWNLOAD_FAILED": "تعذّرت إضافة الحلقة إلى التنزيلات.",
"SEASON_QUEUE_RESULT": "تمت الإضافة: {{added}} · تم التخطي: {{skipped}}",
"SEASON_QUEUE_RESULT_WITH_FAILURES": "تمت الإضافة: {{added}} · تم التخطي: {{skipped}} · فشل: {{failed}}",
"EMPTY": "لا توجد تنزيلات بعد",
"EMPTY_HINT": "نزّل الأفلام والحلقات للمشاهدة دون اتصال",
"NO_PLAYLISTS_TITLE": "أضف قائمة تشغيل لبدء التنزيل",
"NO_PLAYLISTS_BODY": "بعد إضافة قائمة تشغيل، يمكنك حفظ الأفلام والحلقات هنا للتشغيل دون اتصال.",
"NO_ITEMS_BODY": "استخدم زر التنزيل على أي فيلم أو حلقة لحفظه للتشغيل دون اتصال.",
"NO_FILTER_MATCH": "لا توجد تنزيلات تطابق عامل التصفية الحالي",
"NO_FILTER_MATCH_HINT": "جرّب عبارة بحث مختلفة",
"NOT_AVAILABLE": "التنزيلات غير متاحة",
"DESKTOP_ONLY": "هذه الميزة متاحة فقط في تطبيق سطح المكتب",
"NO_FOLDER": "لم يتم تحديد مجلد التنزيل",
"CHANGE_FOLDER": "تغيير المجلد",
"CLEAR_COMPLETED": "مسح المكتملة",
"CLEAR_COMPLETED_DIALOG": {
"TITLE": "مسح التنزيلات المكتملة",
"MESSAGE": "يؤدي هذا إلى إزالة الإدخالات المكتملة والفاشلة والملغاة من عرض التنزيلات الحالي. ولا يحذف أي ملفات تم تنزيلها فعلًا على القرص."
},
"SOURCE_PLAYLIST_MISSING": "لم يعد بالإمكان فتح هذا التنزيل في المكتبة لأنه تمت إزالة قائمة التشغيل المصدر.",
"FILE_NOT_FOUND": "هذا الملف الذي تم تنزيله لم يعد متاحًا على القرص.",
"FILE_ACTION_ERROR": "تعذر إكمال الإجراء على الملف.",
"ACTION_FAILED": "فشل الإجراء",
"PAUSE": "إيقاف مؤقت",
"RESUME": "استئناف",
"CANCEL": "إلغاء",
"DOWNLOADED_REVEAL": "تم التنزيل — عرض في المجلد",
"DOWNLOADING_PERCENT": "جارٍ التنزيل… {{percent}}%",
"CANCEL_CONFIRM_TITLE": "إلغاء التنزيل",
"CANCEL_CONFIRM_MESSAGE": "هل تريد إيقاف هذا التنزيل؟ سيتم حذف الملف الذي تم تنزيله جزئيًا.",
"RETRY": "إعادة المحاولة",
"REMOVE": "إزالة",
"PLAY": "تشغيل",
"REVEAL": "عرض في المجلد",
"COPY_URL": "نسخ رابط التنزيل",
"URL_COPIED": "تم نسخ رابط التنزيل إلى الحافظة",
"URL_COPY_FAILED": "فشل نسخ الرابط إلى الحافظة",
"STATUS": {
"QUEUED": "في قائمة الانتظار",
"DOWNLOADING": "جارٍ التنزيل",
"COMPLETED": "مكتمل",
"FAILED": "فشل",
"CANCELED": "ملغى",
"PAUSED": "متوقف مؤقتًا",
"FILE_MISSING": "الملف مفقود",
"RECORDING": "جارٍ التسجيل",
"INTERRUPTED": "انقطع"
},
"ACTIVE_COUNT": "{{count}} نشط",
"TRACKED_DOWNLOADS": "التنزيلات المتتبعة",
"CLEAR_FINISHED": "مسح المكتملة",
"DOWNLOADING_NOW": "يتم التنزيل الآن",
"NEEDS_ATTENTION": "تحتاج إلى انتباه",
"READY_TO_WATCH": "جاهز للمشاهدة",
"OFFLINE": "دون اتصال",
"OFFLINE_BADGE": "دون اتصال",
"FILTER": {
"LABEL": "تصفية التنزيلات",
"ALL": "الكل",
"MOVIES": "الأفلام",
"SERIES": "المسلسلات",
"IN_PROGRESS": "قيد التقدم",
"RECORDINGS": "التسجيلات"
},
"RECORDING_NOW": "جارٍ التسجيل الآن",
"RECORDINGS": "التسجيلات",
"RECORDING_BADGE": "جارٍ التسجيل",
"STOP_RECORDING": "إيقاف التسجيل",
"REMOVE_RECORDING_DIALOG": {
"TITLE": "إزالة التسجيل من مدير التنزيلات؟",
"MESSAGE": "يؤدي هذا إلى إزالة الإدخال من IPTVnator. ويبقى الملف المسجّل على القرص."
},
"RECORDING_DETAIL": {
"PROGRAMS": "البرامج المسجّلة",
"RECORDED_FROM": "تم التسجيل من {{playlist}}",
"MISSING_BODY": "لم يعد ملف التسجيل موجودًا على القرص. لا يمكن إعادة تسجيل البث المباشر، لكن يمكنك إزالة الإدخال من مدير التنزيلات.",
"FAILED_BODY": "فشل هذا التسجيل ولم ينتج عنه أي ملف قابل للتشغيل."
},
"REMOVE_FROM_MANAGER": "إزالة من مدير التنزيلات",
"REMOVE_COMPLETED_DIALOG": {
"TITLE": "إزالة من مدير التنزيلات؟",
"MESSAGE": "يؤدي هذا إلى إزالة العنصر من IPTVnator. يبقى ملف الوسائط الذي تم تنزيله على القرص."
},
"REMOVE_PARTIAL_DIALOG": {
"TITLE": "إزالة التنزيل الجزئي؟",
"MESSAGE": "يؤدي هذا إلى إزالة العنصر وأي تنزيل جزئي محفوظ. لن يمكن استئنافه بعد ذلك."
},
"CLEAR_FINISHED_DIALOG": {
"TITLE": "مسح التنزيلات المكتملة؟",
"MESSAGE": "تبقى ملفات الوسائط المكتملة على القرص. يتم حذف البيانات الجزئية المحفوظة للعناصر الفاشلة أو الملغاة."
},
"ARTWORK_UNAVAILABLE": "الصورة غير متاحة",
"EPISODE_COUNT_ONE": "حلقة واحدة",
"EPISODE_COUNT_OTHER": "{{count}} حلقات",
"MORE_ACTIONS": "إجراءات أخرى",
"MOVIE": "فيلم",
"EPISODE": "حلقة",
"SERIES": "مسلسلات",
"OPEN_ARTWORK": "فتح {{title}}",
"OPEN_DETAILS": "فتح التفاصيل",
"OPEN_EPISODES": "فتح الحلقات المنزلة",
"SEASON": "الموسم {{season}}",
"SEASON_RANGE": "المواسم {{first}}–{{last}}",
"DOWNLOADED_EPISODES": "الحلقات المنزلة",
"OFFLINE_DETAIL": {
"AVAILABLE": "متاح دون اتصال",
"PLAY": "تشغيل دون اتصال",
"VIEW_IN_PORTAL": "عرض في البوابة",
"VIEW_IN_PORTAL_UNAVAILABLE": "عنصر المصدر لم يعد متاحًا",
"DOWNLOADED_EPISODES": "{{count}} حلقات",
"FILE_SIZE": "{{size}}",
"NOT_FOUND_TITLE": "لم يتم العثور على التنزيل",
"NOT_FOUND_BODY": "هذا التنزيل لم يعد متاحًا.",
"BACK": "العودة إلى التنزيلات"
},
"ARIA": {
"OPEN": "فتح {{title}}",
"POSTER_UNAVAILABLE": "الصورة غير متاحة لـ {{title}}",
"PROGRESS": "تقدم تنزيل {{title}}",
"PAUSE": "إيقاف {{title}} مؤقتًا",
"CANCEL": "إلغاء {{title}}",
"RESUME": "استئناف {{title}}",
"REMOVE": "إزالة {{title}} من مدير التنزيلات",
"RETRY": "إعادة محاولة {{title}}",
"MORE_ACTIONS": "إجراءات أخرى لـ {{title}}",
"COPY_URL": "نسخ رابط تنزيل {{title}}",
"DOWNLOAD_AGAIN": "تنزيل {{title}} مرة أخرى"
},
"DOWNLOAD_AGAIN": "تنزيل مرة أخرى"
},
"REMOTE_CONTROL": {
"TITLE": "التحكم عن بعد",
"SUBTITLE": "تحكم في مشغل IPTV عن بعد",
"UP_CHANNEL": "القناة السابقة",
"DOWN_CHANNEL": "القناة التالية",
"HEADER": "جهاز تحكم IPTVnator",
"FOOTER": "جهاز تحكم IPTVnator"
},
"WORKSPACE": {
"FAVORITES_ONLY": "المفضلة فقط",
"SORT_CUSTOM": "ترتيب مخصص",
"SORT_DATE_DESC": "تاريخ الإضافة (الأحدث أولاً)",
"SORT_DATE_ASC": "تاريخ الإضافة (الأقدم أولاً)",
"SORT_NAME_ASC": "الاسم (أ-ي)",
"SORT_NAME_DESC": "الاسم (ي-أ)",
"SORT_TOP_RATED": "الأعلى تقييمًا",
"SORT_LOWEST_RATED": "الأقل تقييمًا أولًا",
"REFINE_ACTION": "تنقيح",
"REFINE_SORT_SECTION": "الترتيب حسب",
"REFINE_RATING_SECTION": "الحد الأدنى للتقييم",
"REFINE_CLEAR_RATING": "مسح عامل تصفية التقييم {{value}}.0 فأعلى",
"FILTER_RATING": "تصفية حسب التقييم",
"FILTER_RATING_ANY": "أي تقييم",
"FILTER_RATING_MIN": "{{value}}.0 فأعلى",
"SORT_LABEL": "ترتيب: ",
"SORT_SERVER": "ترتيب الخادم",
"CATEGORY_SORT_ARIA": "ترتيب الفئات",
"DASHBOARD": {
"ACTION_FAILED": "تعذر إكمال الإجراء. يرجى المحاولة مرة أخرى.",
"CONTINUE_WATCHING": "متابعة المشاهدة",
"LIVE_FAVORITES": "يُبث الآن على المفضلة لديك",
"LIVE_RECENT": "متابعة البث المباشر",
"REMAINING_SECONDS": "متبقٍ {{seconds}} ث",
"REMAINING_MINUTES": "متبقٍ {{minutes}} د",
"REMAINING_HOURS": "متبقٍ {{hours}} س",
"REMAINING_HOURS_MINUTES": "متبقٍ {{hours}} س {{minutes}} د",
"PERCENT_WATCHED": "تمت مشاهدة {{value}}%",
"UNTITLED_SOURCE": "مصدر بدون عنوان",
"GLOBAL_FAVORITES": "المفضلة العامة",
"REMOVE_FROM_HISTORY": "إزالة من السجل",
"RECENT_SOURCES": "المصادر المستخدمة مؤخرًا",
"MANAGE_ALL": "إدارة الكل",
"SEE_ALL": "عرض الكل",
"SEE_ALL_COUNT": "عرض الكل ({{count}})",
"RECENTLY_WATCHED": "ما تمت مشاهدته مؤخرًا",
"XTREAM_RECENTLY_ADDED": "أُضيفت مؤخرًا على Xtream",
"TMDB_TRENDING": "الرائج هذا الأسبوع",
"TMDB_RECOMMENDED": "مقترحات لك",
"TMDB_RECOMMENDED_BECAUSE": "لأنك شاهدت {{title}}",
"NO_HISTORY": "لم يتم العثور على عناصر لهذا الفلتر.",
"NO_HISTORY_HINT": "سيظهر سجل المشاهدة هنا بمجرد بدء تشغيل محتوى من قوائم التشغيل الخاصة بك.",
"XTREAM": "Xtream",
"STALKER": "Stalker",
"M3U": "M3U",
"STALKER_PORTAL": "Stalker Portal",
"PROVIDER": "المزود",
"TYPE_LIVE": "مباشر",
"TYPE_MOVIE": "فيلم",
"TYPE_SERIES": "مسلسل",
"SEASON_EPISODE_BADGE": "م{{season}}·ح{{episode}}",
"NOT_YET_SYNCED": "لم تتم المزامنة بعد",
"RECENTLY_WATCHED_LIVE_TV": "تلفزيون مباشر شوهد مؤخرًا",
"FAVORITE_MOVIES_AND_SERIES": "الأفلام والمسلسلات المفضلة",
"SOURCE_EXPIRES_IN_DAYS": "ينتهي خلال {{days}} يوم",
"SOURCE_EXPIRED": "منتهي"
},
"SHELL": {
"BRAND_ALT": "IPTVnator",
"RAIL_DASHBOARD": "لوحة التحكم",
"OPEN_DASHBOARD": "فتح لوحة التحكم",
"RAIL_SOURCES": "المصادر",
"OPEN_SOURCES": "فتح المصادر",
"RAIL_GLOBAL_FAVORITES": "المفضلة",
"RAIL_GLOBAL_RECENT": "تمت مشاهدتها مؤخرًا",
"RAIL_GLOBAL_SEARCH": "بحث عام",
"RAIL_SETTINGS": "الإعدادات",
"OPEN_SETTINGS": "فتح الإعدادات",
"RAIL_LIBRARY": "المكتبة",
"RAIL_MOVIES": "الأفلام",
"RAIL_LIVE": "البث المباشر",
"RAIL_SERIES": "المسلسلات",
"RAIL_RECENTLY_ADDED": "أُضيفت مؤخرًا",
"RAIL_SEARCH": "بحث متقدم",
"RAIL_RECENT": "تمت مشاهدتها مؤخرًا",
"RAIL_FAVORITES": "المفضلة",
"RAIL_DOWNLOADS": "التنزيلات",
"EXTERNAL_PLAYBACK_CLOSE": "إغلاق المشغل",
"EXTERNAL_PLAYBACK_DISMISS": "Dismiss",
"EXTERNAL_PLAYBACK_OPENING": "Opening player…",
"EXTERNAL_PLAYBACK_STARTED": "Player started",
"EXTERNAL_PLAYBACK_PLAYING": "Playing",
"EXTERNAL_PLAYBACK_FAILED": "External player error",
"EXTERNAL_PLAYBACK_CLOSED": "Closed",
"RAIL_ALL_CHANNELS": "جميع القنوات",
"RAIL_GROUPS": "المجموعات",
"RAIL_CONTEXT_ACTIONS": "إجراءات السياق",
"SEARCH_LABEL": "بحث",
"SEARCH_SOURCES_PLACEHOLDER": "البحث في المصادر (جميع قوائم التشغيل)...",
"SEARCH_GLOBAL_PLACEHOLDER": "البحث في كل قوائم التشغيل...",
"SEARCH_PLAYLIST_PLACEHOLDER": "البحث في قائمة التشغيل هذه...",
"SEARCH_SECTION_PLACEHOLDER": "البحث في هذا القسم...",
"FILTER_SECTION_PLACEHOLDER": "تصفية هذا القسم...",
"SEARCH_STATUS_LOADED_ONLY": "القنوات المحمّلة فقط",
"COMMAND_PALETTE_SHORTCUT": "لوحة الأوامر (Ctrl/Cmd+K)",
"OPEN_COMMAND_PALETTE": "فتح لوحة الأوامر",
"CONTEXT_DRAWER_CATEGORIES_TOGGLE": "تبديل لوحة الفئات",
"CONTEXT_DRAWER_CATEGORIES_TOOLTIP": "الفئات",
"CONTEXT_DRAWER_FILTERS_TOGGLE": "تبديل لوحة التصفية",
"CONTEXT_DRAWER_FILTERS_TOOLTIP": "التصفية",
"CONTEXT_DRAWER_SETTINGS_TOGGLE": "تبديل لوحة أقسام الإعدادات",
"CONTEXT_DRAWER_SETTINGS_TOOLTIP": "أقسام الإعدادات",
"ADD_PLAYLIST_ALL": "إضافة قائمة تشغيل",
"ADD_PLAYLIST": "إضافة قائمة تشغيل",
"OPEN_DOWNLOADS": "فتح التنزيلات",
"OPEN_CONTEXT_ACTIONS": "فتح إجراءات السياق",
"NO_SECTION_ACTIONS": "لا توجد إجراءات متاحة لهذا القسم",
"PLAYLIST_INFO": "معلومات قائمة التشغيل",
"ACCOUNT_INFO": "معلومات الحساب",
"REFRESH_PLAYLIST": "تحديث قائمة التشغيل",
"CLEAR_COMPLETED_DOWNLOADS_ALL": "مسح التنزيلات المكتملة (جميع قوائم التشغيل)",
"CLEAR_COMPLETED_DOWNLOADS_ALL_ARIA": "مسح التنزيلات المكتملة لجميع قوائم التشغيل",
"CLEAR_COMPLETED_DOWNLOADS_THIS_PLAYLIST": "مسح التنزيلات المكتملة (قائمة التشغيل هذه)",
"CLEAR_COMPLETED_DOWNLOADS_THIS_PLAYLIST_ARIA": "مسح التنزيلات المكتملة لقائمة التشغيل هذه",
"CLEAR_RECENTLY_VIEWED_SECTION": "مسح ما تمت مشاهدته مؤخرًا",
"CLEAR_RECENTLY_VIEWED_SECTION_ARIA": "مسح العناصر المشاهدة مؤخرًا في هذا القسم",
"CLEAR_RECENTLY_VIEWED_TYPE": "مسح ما تمت مشاهدته مؤخرًا من {{type}}",
"CLEAR_RECENTLY_VIEWED_DIALOG_TITLE": "مسح ما تمت مشاهدته مؤخرًا من {{type}}؟",
"CLEAR_RECENTLY_VIEWED_DIALOG_MESSAGE_PLAYLIST": "ستتم إزالة جميع عناصر {{type}} من قائمة التشغيل هذه من سجل ما تمت مشاهدته مؤخرًا. لا يمكن التراجع عن هذا الإجراء.",
"CLEAR_RECENTLY_VIEWED_DIALOG_MESSAGE_ALL": "ستتم إزالة جميع عناصر {{type}} عبر جميع قوائم التشغيل من سجل ما تمت مشاهدته مؤخرًا. لا يمكن التراجع عن هذا الإجراء.",
"CLEAR_FAVORITES_TYPE": "مسح المفضلة من {{type}}",
"CLEAR_FAVORITES_DIALOG_TITLE": "إزالة جميع المفضلة من {{type}}؟",
"CLEAR_FAVORITES_DIALOG_MESSAGE_PLAYLIST": "ستتم إزالة جميع المفضلة من {{type}} في قائمة التشغيل هذه. لا يمكن التراجع عن هذا الإجراء.",
"CLEAR_FAVORITES_DIALOG_MESSAGE_ALL": "ستتم إزالة جميع المفضلة من {{type}} عبر جميع قوائم التشغيل. لا يمكن التراجع عن هذا الإجراء.",
"XTREAM_CODE": "Xtream Code",
"STALKER_PORTAL": "Stalker Portal",
"CHANNELS_COUNT": "{{count}} قناة",
"NO_SOURCES_AVAILABLE": "لا توجد مصادر متاحة",
"ONE_SOURCE_AVAILABLE": "مصدر واحد متاح",
"SOURCES_AVAILABLE": "{{count}} مصدر متاح",
"GO_TO_DASHBOARD": "العودة إلى لوحة المعلومات",
"GO_TO_SOURCES": "الانتقال إلى المصادر",
"DROP_OVERLAY_TITLE": "أفلت لإضافة قائمة تشغيل",
"DROP_OVERLAY_BODY": "أفلت ملف .m3u أو .m3u8 في أي مكان داخل مساحة العمل لاستيراده.",
"DROP_OVERLAY_REJECTED_BODY": "يرجى إفلات ملف .m3u أو .m3u8. اضغط Esc للإغلاق.",
"DROP_OVERLAY_REJECTED_UNSUPPORTED": "نوع ملف غير مدعوم",
"DROP_OVERLAY_REJECTED_EMPTY": "هذا الملف فارغ",
"DROP_OVERLAY_REJECTED_READ_ERROR": "تعذرت قراءة هذا الملف",
"DROP_IMPORT_SUCCESS": "جارٍ استيراد \"{{title}}\"…",
"XTREAM_IMPORT_TITLE": "جارٍ مزامنة قائمة التشغيل",
"XTREAM_IMPORT_REMOTE_BADGE": "مصدر بعيد",
"XTREAM_IMPORT_LOCAL_BADGE": "مكتبة محلية",
"XTREAM_IMPORT_DETAIL_REMOTE": "بانتظار استجابة المزود.",
"XTREAM_IMPORT_DETAIL_LOCAL": "تحضير تبديل أسرع لقائمة التشغيل في الزيارة القادمة.",
"XTREAM_IMPORT_DETAIL_CACHED": "جارٍ قراءة المكتبة المحلية — لا يتم تنزيل أي بيانات من المزود.",
"XTREAM_IMPORT_PREPARING": "جارٍ تجهيز المكتبة المحلية...",
"XTREAM_IMPORT_LOADING_CACHED": "جارٍ تحميل الكتالوج المحفوظ من هذا الجهاز...",
"XTREAM_IMPORT_LOADING": "جارٍ جلب بيانات قائمة التشغيل من المصدر...",
"XTREAM_IMPORT_SAVING": "جارٍ حفظ بيانات قائمة التشغيل محليًا...",
"XTREAM_IMPORT_RESTORING_FAVORITES": "جارٍ استعادة المفضلات من المكتبة المحلية...",
"XTREAM_IMPORT_RESTORING_RECENT": "جارٍ استعادة العناصر المشاهدة مؤخرًا من المكتبة المحلية...",
"XTREAM_IMPORT_PROGRESS": "{{type}} المستوردة: {{current}} / {{total}}",
"XTREAM_IMPORT_CANCEL": "إيقاف المزامنة",
"XTREAM_IMPORT_CANCELLING": "جارٍ إيقاف المزامنة...",
"COMMANDS": {
"GLOBAL_SEARCH_LABEL": "البحث في كل قوائم التشغيل",
"GLOBAL_SEARCH_DESCRIPTION": "فتح البحث العام",
"PLAYLIST_SEARCH_LABEL": "بحث متقدم في قائمة التشغيل هذه",
"PLAYLIST_SEARCH_DESCRIPTION": "فتح البحث المتقدم في قائمة التشغيل",
"OPEN_GLOBAL_FAVORITES_LABEL": "فتح المفضلة العامة",
"OPEN_GLOBAL_FAVORITES_DESCRIPTION": "الانتقال إلى المفضلة المجمّعة",
"OPEN_DOWNLOADS_LABEL": "فتح التنزيلات",
"OPEN_DOWNLOADS_DESCRIPTION": "الانتقال إلى عرض التنزيلات",
"OPEN_GLOBAL_RECENT_LABEL": "فتح ما تمت مشاهدته مؤخرًا",
"OPEN_GLOBAL_RECENT_DESCRIPTION": "فتح صفحة ما تمت مشاهدته مؤخرًا العامة",
"OPEN_SETTINGS_LABEL": "فتح الإعدادات",
"OPEN_SETTINGS_DESCRIPTION": "الانتقال إلى إعدادات التطبيق",
"OPEN_SOURCES_LABEL": "إدارة المصادر",
"OPEN_SOURCES_DESCRIPTION": "الانتقال إلى إدارة المصادر",
"OPEN_DASHBOARD_LABEL": "فتح لوحة التحكم",
"OPEN_DASHBOARD_DESCRIPTION": "الانتقال إلى لوحة التحكم",
"ADD_PLAYLIST_LABEL": "إضافة مصدر جديد",
"ADD_PLAYLIST_DESCRIPTION": "فتح مربع حوار إضافة قائمة تشغيل",
"ADD_PLAYLIST_M3U_LABEL": "إضافة قائمة تشغيل M3U",
"ADD_PLAYLIST_M3U_DESCRIPTION": "فتح مربع الإضافة في تبويب ملف أو رابط M3U",
"ADD_PLAYLIST_XTREAM_LABEL": "إضافة قائمة تشغيل Xtream Codes",
"ADD_PLAYLIST_XTREAM_DESCRIPTION": "فتح مربع الإضافة في تبويب Xtream Codes",
"ADD_PLAYLIST_STALKER_LABEL": "إضافة بوابة Stalker",
"ADD_PLAYLIST_STALKER_DESCRIPTION": "فتح مربع الإضافة في تبويب Stalker Portal",
"REFRESH_PLAYLIST_LABEL": "تحديث قائمة التشغيل",
"REFRESH_PLAYLIST_DESCRIPTION": "إعادة مزامنة البيانات من المصدر البعيد",
"PLAYLIST_INFO_LABEL": "تفاصيل قائمة التشغيل",
"PLAYLIST_INFO_DESCRIPTION": "عرض معلومات قائمة التشغيل الحالية",
"ACCOUNT_INFO_LABEL": "معلومات الحساب",
"ACCOUNT_INFO_DESCRIPTION": "عرض تفاصيل حساب خادم Xtream",
"OPEN_VIEW_DESCRIPTION": "الانتقال إلى {{view}}",
"CLEAR_CURRENT_VIEW_DESCRIPTION": "مسح جميع عناصر {{type}} المرئية في هذا العرض",
"OPEN_EPG_GUIDE_DESCRIPTION": "فتح دليل البرامج لقائمة التشغيل هذه",
"GO_TO_VOD_LABEL": "الأفلام",
"GO_TO_VOD_DESCRIPTION": "الانتقال إلى قسم الأفلام",
"GO_TO_LIVE_LABEL": "البث المباشر",
"GO_TO_LIVE_DESCRIPTION": "الانتقال إلى قسم البث المباشر",
"GO_TO_SERIES_LABEL": "المسلسلات",
"GO_TO_SERIES_DESCRIPTION": "الانتقال إلى قسم المسلسلات",
"SWITCH_PLAYER_LABEL": "تبديل المشغل إلى {{name}}",
"SWITCH_PLAYER_DESCRIPTION": "تعيين {{name}} كمشغل الفيديو النشط",
"SWITCH_PLAYER_FEEDBACK": "تم تعيين المشغل إلى {{name}}",
"ACCOUNT_INFO_DESCRIPTION_STALKER": "عرض بيانات حساب بوابة Stalker"
},
"XTREAM_REFRESH_TITLE": "جارٍ تحديث قائمة التشغيل",
"XTREAM_REFRESH_COLLECTING_DATA": "جارٍ الحفاظ على بيانات مكتبتك...",
"XTREAM_REFRESH_DELETING_CONTENT": "جارٍ إزالة البث المخزّن مؤقتًا...",
"XTREAM_REFRESH_DELETING_CATEGORIES": "جارٍ إزالة الفئات المخزّنة مؤقتًا...",
"XTREAM_REFRESH_DETAIL_LOCAL": "نحتفظ بالمفضلة وسجل المشاهدة والفئات المخفية وتقدم التشغيل لاستعادتها بعد المزامنة.",
"XTREAM_REFRESH_PROGRESS": "السجلات المحلية المعالجة: {{current}} / {{total}}",
"RAIL_RADIO": "راديو"
},
"SOURCES": {
"TITLE": "المصادر",
"SUBTITLE": "تصفية وفرز قوائم التشغيل",
"TYPE": "النوع",
"ALL": "الكل",
"M3U_PLAYLISTS": "قوائم M3U",
"XTREAM_PLAYLISTS": "قوائم Xtream",
"STALKER_PLAYLISTS": "قوائم Stalker",
"ALL_PLAYLISTS": "جميع قوائم التشغيل",
"PLAYLIST_COUNT_ONE": "قائمة تشغيل واحدة",
"PLAYLIST_COUNT_OTHER": "{{count}} قائمة تشغيل"
},
"CONTEXT": {
"CATEGORIES": "الفئات",
"MOVIE_CATEGORIES": "فئات الأفلام",
"SERIES_CATEGORIES": "فئات المسلسلات",
"LIVE_CATEGORIES": "فئات البث المباشر",
"XTREAM_SYNCING_MOVIES": "جارٍ مزامنة فئات الأفلام...",
"XTREAM_SYNCING_SERIES": "جارٍ مزامنة فئات المسلسلات...",
"XTREAM_SYNCING_LIVE": "جارٍ مزامنة فئات البث المباشر...",
"XTREAM_SOURCE": "مصدر Xtream",
"STALKER_PORTAL": "بوابة Stalker",
"MANAGE_CATEGORIES": "إدارة الفئات",
"LOAD_CATEGORIES_ERROR": "تعذر تحميل الفئات",
"LOAD_CATEGORIES_ERROR_HINT": "يرجى إعادة المحاولة أو التحقق من إعدادات البوابة.",
"FILTER_BY_TYPE": "التصفية حسب النوع",
"ITEM_COUNT_ONE": "عنصر واحد",
"ITEM_COUNT_OTHER": "{{count}} عنصر",
"SEARCH": "بحث",
"SEARCH_CATEGORIES": "البحث في الفئات",
"RADIO_CATEGORIES": "فئات الراديو"
},
"COMMAND_PALETTE": {
"TITLE": "لوحة الأوامر",
"SUBTITLE": "إجراءات عامة وسياقية",
"SEARCH_PLACEHOLDER": "اكتب لتصفية الأوامر",
"SEARCH_LABEL": "تصفية الأوامر",
"EMPTY": "لم يتم العثور على أوامر",
"GROUP_GLOBAL": "الإجراءات العامة",
"GROUP_PLAYLIST": "قائمة التشغيل هذه",
"GROUP_VIEW": "العرض الحالي",
"GROUP_SECTION": "هذا القسم",
"GROUP_RECENT": "المستخدمة مؤخرًا"
},
"SHORTCUTS": {
"TITLE": "اختصارات لوحة المفاتيح",
"SUBTITLE": "اختصارات مساحة العمل والتنقل والتشغيل ومربعات الحوار المتاحة في IPTVnator.",
"OPEN_TOOLTIP": "اختصارات لوحة المفاتيح (?)",
"OPEN_ARIA": "فتح اختصارات لوحة المفاتيح",
"PLATFORM": {
"MAC": "تخطيط macOS",
"OTHER": "تخطيط Windows/Linux"
},
"GROUPS": {
"GLOBAL": "عام",
"NAVIGATION": "التنقل",
"PLAYBACK": "التشغيل",
"DIALOGS": "مربعات الحوار والقوائم"
},
"ITEMS": {
"OPEN_KEYBOARD_SHORTCUTS": "فتح قائمة الاختصارات هذه",
"OPEN_COMMAND_PALETTE": "فتح لوحة الأوامر",
"OPEN_GLOBAL_SEARCH": "فتح البحث العام",
"OPEN_RECENTLY_VIEWED": "فتح العناصر المشاهدة مؤخرًا",
"SUBMIT_SHELL_SEARCH": "إرسال بحث مساحة العمل",
"TOGGLE_WINDOW_FULLSCREEN": "تبديل ملء الشاشة لنافذة التطبيق",
"TOGGLE_SIDEBAR": "تبديل الشريط الجانبي",
"M3U_CHANNEL_NUMBER": "اختيار قناة M3U حسب الرقم",
"PLAY_PAUSE": "تشغيل أو إيقاف تشغيل Embedded MPV مؤقتًا",
"TOGGLE_FULLSCREEN": "تبديل ملء الشاشة في Embedded MPV",
"SEEK": "التنقل في تشغيل Embedded MPV بمقدار 5 ثوانٍ",
"ADJUST_VOLUME": "ضبط مستوى الصوت بنسبة 5%",
"MUTE_AUDIO": "كتم الصوت",
"CLOSE_PLAYER_POPOVERS": "إغلاق نوافذ Embedded MPV المنبثقة",
"COMMAND_PALETTE_NAVIGATION": "نقل تحديد لوحة الأوامر",
"COMMAND_PALETTE_RUN": "تشغيل عنصر لوحة الأوامر المحدد",
"CLOSE_DIALOGS": "إغلاق مربع الحوار أو إخفاء التراكب",
"DOWNLOADS_OPEN_ITEM": "فتح عنصر التنزيل المحدد في المكتبة"
}
},
"GLOBAL_FAVORITES": {
"TITLE": "المفضلة العامة",
"SUBTITLE": "البث المباشر من جميع قوائم التشغيل",
"SEARCH_PLACEHOLDER": "البحث في المفضلة...",
"NO_RESULTS": "لا توجد نتائج",
"NO_RESULTS_HINT": "جرّب مصطلح بحث مختلف",
"EMPTY_TITLE": "لا توجد مفضلة من البث المباشر بعد",
"EMPTY_HINT": "ضع نجمة على القنوات المباشرة من قوائم M3U أو Xtream أو Stalker لرؤيتها هنا.",
"EMPTY_PLAYER": "اختر قناة لبدء المشاهدة",
"NO_PLAYLISTS_TITLE": "لا توجد مفضلات لعرضها",
"NO_PLAYLISTS_BODY": "أضف قائمة تشغيل لبدء جمع المفضلات من القنوات المباشرة والأفلام والمسلسلات.",
"NO_ITEMS_TITLE": "لا توجد مفضلات بعد",
"NO_ITEMS_BODY": "اضغط على أيقونة النجمة في أي قناة أو فيلم أو مسلسل لحفظه هنا.",
"UNKNOWN_CHANNEL": "قناة غير معروفة"
},
"GLOBAL_RECENT": {
"NO_PLAYLISTS_TITLE": "لا توجد مشاهدات بعد",
"NO_PLAYLISTS_BODY": "أضف قائمة تشغيل وسيظهر سجل المشاهدة هنا.",
"NO_ITEMS_TITLE": "لا توجد مشاهدات بعد",
"NO_ITEMS_BODY": "ابدأ بمشاهدة أي محتوى من مكتبتك وسيظهر هنا."
}
},
"LOADING": "جارٍ التحميل",
"RETRY": "إعادة المحاولة",
"STALKER": {
"ACCOUNT_INFO": {
"TITLE": "معلومات الحساب",
"ACCOUNT": "الحساب",
"PORTAL_INFO": "البوابة",
"LOGIN": "اسم المستخدم",
"STATUS": "الحالة",
"ACTIVE": "نشط",
"INACTIVE": "غير نشط",
"TARIFF_PLAN": "خطة الاشتراك",
"EXPIRES": "ينتهي في",
"DAYS_LEFT": "الأيام المتبقية",
"EXPIRED": "منتهي",
"MAC_ADDRESS": "عنوان MAC",
"PHONE": "الهاتف",
"PORTAL_URL": "رابط البوابة",
"PORTAL_TYPE_FULL": "بوابة Ministra",
"PORTAL_TYPE_LEGACY": "بوابة تقليدية (portal.php)",
"CACHED_BADGE": "بيانات مخزنة مؤقتًا",
"REFRESH_FAILED": "تعذّر الوصول إلى البوابة — يتم عرض البيانات المحفوظة عند إضافة البوابة.",
"NO_ACCOUNT_DATA_TITLE": "لا توجد بيانات للحساب",
"NO_ACCOUNT_DATA_DESCRIPTION": "لا تنشر هذه البوابة معلومات الحساب لهذا الجهاز."
}
}
}