cmux/web/messages/ar.json
Lawrence Chen 84af32c56e
Add cmux omo command for oh-my-openagent integration (#2087)
* Add `cmux omo` command for OpenCode + oh-my-openagent integration

Same pattern as `cmux claude-teams`: creates a tmux shim so
oh-my-openagent's TmuxSessionManager spawns agents as native cmux
splits instead of tmux panes. Sets TMUX/TMUX_PANE env vars, prepends
shim to PATH, and execs into opencode.

Closes https://github.com/manaflow-ai/cmux/issues/2085

* Auto-install oh-my-opencode plugin when running cmux omo

Before launching opencode, cmux omo now:
- Checks if oh-my-opencode is registered in ~/.config/opencode/opencode.json
- If not, creates/updates the config with the plugin entry
- Checks if the npm package is installed in node_modules
- If not, runs bun add (or npm install) to install it
- Then proceeds with tmux shim setup and exec

* Use shadow config dir to avoid modifying user's opencode setup

Instead of writing directly to ~/.config/opencode/opencode.json,
cmux omo now creates a shadow config at ~/.cmuxterm/omo-config/ that
layers oh-my-opencode on top of the user's existing config. Symlinks
node_modules, package.json, bun.lock, and plugin config from the
original dir. Sets OPENCODE_CONFIG_DIR to the shadow directory.

Running plain `opencode` remains unaffected.

* Add Agent Integrations docs section with Claude Code Teams and oh-my-opencode pages

Adds sectioned sidebar navigation to the docs site. The new Agent
Integrations section contains separate pages for cmux claude-teams and
cmux omo, documenting usage, tmux shim mechanics, directory layout,
environment variables, and the shadow config approach. Both pages
include a nightly-only warning. Full English and Japanese translations,
nav item keys added to all 19 locales.

* Remove uppercase from sidebar section headers

* Add more spacing above and below sidebar section headers

* Enable tmux mode in oh-my-opencode config, improve docs

- cmux omo now writes tmux.enabled=true to the shadow oh-my-opencode.json
  config. Without this, oh-my-openagent's TmuxSessionManager won't spawn
  visual panes even though $TMUX is set (the config defaults to false).
- Nightly warnings now link to /nightly instead of generic text.
- Added "What you get" section to oh-my-opencode docs explaining the
  visual pane behavior (auto-layout, idle cleanup, queueing).
- Added tmux.enabled step to first-run and how-it-works sections.

* Add terminal-notifier shim to route oh-my-openagent notifications to cmux

oh-my-openagent sends macOS notifications via terminal-notifier
(args: -title <t> -message <m> [-activate <id>]). The shim in
~/.cmuxterm/omo-bin/terminal-notifier intercepts these calls and
routes them through cmux notify, so notifications appear in cmux's
sidebar panel instead of as raw macOS notifications.

* Add pane geometry to tmux-compat for oh-my-openagent grid planning

oh-my-openagent's TmuxSessionManager needs pane geometry (columns,
rows, position, window dimensions) to decide where to spawn agent
panes. Without this data, agents run headlessly.

Server side:
- pane.list v2 response now includes pixel_frame, cell_size, columns,
  rows per pane, plus container_frame at the top level
- Uses BonsplitController.layoutSnapshot() for pixel geometry and
  ghostty_surface_size() for terminal grid dimensions

CLI side:
- tmuxEnrichContextWithGeometry() computes character-cell positions
  from pixel frames and cell dimensions for tmux format variables
  (pane_width, pane_height, pane_left, pane_top, pane_active,
  window_width, window_height)
- list-panes now resolves pane targets (%uuid) via tmuxResolvePaneTarget
  instead of failing with "Workspace not found"
- display-message enriched with geometry for format strings like
  #{pane_width},#{window_width}
- tmux -V now returns "tmux 3.4" (needed by oh-my-openagent's
  tmux-path-resolver verification)

* Add socket tests for tmux-compat pane geometry

6 tests verifying the geometry enrichment works end-to-end:
- pane.list returns pixel_frame, columns, rows, cell_size, container_frame
- tmux -V returns version string
- list-panes -F renders geometry format variables as integers
- list-panes -t %<uuid> resolves pane targets
- display -p renders pane_width and window_width
- After split, two panes have different positions and halved widths

All 6 pass on macmini (cmux-macmini).

* Handle tmux -V in shim script directly (no socket needed)

oh-my-openagent's tmux-path-resolver runs tmux -V to verify the binary
works. The __tmux-compat handler requires a socket connection, which
may not be established at verification time. Handle -V in the bash
shim directly to avoid the socket dependency.

* Lower default tmux pane min widths for cmux omo

oh-my-openagent defaults: main_pane_min_width=120, agent_pane_min_width=40,
requiring 161+ columns. Most terminal windows are narrower, causing
decideSpawnActions to return canSpawn=false and defer agents forever.

cmux omo now sets: main_pane_min_width=60, agent_pane_min_width=30,
main_pane_size=50, requiring only 91 columns. Also moved tmux -V
handling into the bash shim to avoid needing a socket connection for
the version check.

* Resolve merge conflicts with main (main-vertical layout, focus param)

- Keep upstream main-vertical layout anchoring from #2119
- Keep upstream focus param (v2Bool) instead of no_focus
- Combine with our -d flag handling: -d sets focus=false
- Include customCommands nav item from main

* Implement select-layout equalize and resize-pane absolute width

When oh-my-openagent spawns agent panes, it calls select-layout
main-vertical after each split to redistribute panes evenly, then
resize-pane -x <columns> to set the main pane width. Both were
previously no-ops, causing cascading uneven splits.

Server side:
- Add workspace.equalize_splits v2 API that calls the existing
  TabManager.equalizeSplits (sets all dividers to 0.5)

CLI side:
- select-layout now calls workspace.equalize_splits before tracking
  main-vertical state
- resize-pane -x <columns> without directional flags now computes
  the pixel delta from current to desired width and resizes accordingly

* Fix equalize to use proportional divider positions

The previous equalize set all dividers to 0.5, which in a right-
recursive binary tree (from successive splits) gives 50/25/12.5/6.25%
instead of equal sizes.

New algorithm counts leaf panes on each side of each split and sets
the divider to N_left / (N_left + N_right). For 5 panes in a chain:
1/5, 1/4, 1/3, 1/2, giving each pane exactly 20%.

* Fix select-layout main-vertical to only equalize vertical splits

The proportional equalize was treating the top-level horizontal split
(main vs agent column) the same as vertical splits, setting the main
pane to 1/6 of the window with 5 agents.

For main-vertical layout, only equalize vertical splits (the agent
column), leaving the horizontal main/agent divider untouched. The
subsequent resize-pane -x handles the main pane width.

workspace.equalize_splits now accepts an optional orientation filter
("vertical" or "horizontal") to scope which splits get equalized.

* Re-equalize agent column after kill-pane

* Address PR review comments

- Fix cmux omo --help: remove omo from the help-bypass guard so
  --help shows usage text instead of trying to launch opencode
- Don't overwrite unreadable opencode.json: fail with an error
  instead of silently resetting to empty config
- Drain installer pipes concurrently before waitUntilExit to
  prevent deadlock from full pipe buffers during bun/npm install

---------

Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>
2026-03-26 16:07:59 -07:00

670 lines
58 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.

{
"meta": {
"title": "cmux — المحطة الطرفية المصممة لتعدد المهام",
"description": "محطة طرفية أصلية لنظام macOS مبنية على Ghostty. تعمل مع Claude Code وCodex وOpenCode وGemini CLI وKiro وAider وأي أداة CLI. علامات تبويب عمودية، حلقات إشعارات، أجزاء مقسمة، وواجهة برمجة مقابس.",
"ogDescription": "محطة طرفية أصلية لنظام macOS لوكلاء البرمجة بالذكاء الاصطناعي. تعمل مع Claude Code وCodex وOpenCode وGemini CLI وKiro وAider وأي أداة CLI."
},
"common": {
"downloadForMac": "تحميل لنظام Mac",
"viewOnGitHub": "عرض على GitHub",
"closeMenu": "إغلاق القائمة",
"openMenu": "فتح القائمة",
"toggleTheme": "تبديل المظهر",
"backToBlog": "العودة إلى المدونة",
"readTheDocs": "اقرأ الوثائق",
"viewChangelog": "عرض سجل التغييرات"
},
"nav": {
"docs": "الوثائق",
"blog": "المدونة",
"changelog": "سجل التغييرات",
"community": "المجتمع",
"github": "GitHub"
},
"footer": {
"product": "المنتج",
"resources": "الموارد",
"legal": "قانوني",
"social": "التواصل الاجتماعي",
"blog": "المدونة",
"community": "المجتمع",
"docs": "الوثائق",
"changelog": "سجل التغييرات",
"privacy": "الخصوصية",
"terms": "الشروط",
"eula": "EULA",
"github": "GitHub",
"twitter": "X / Twitter",
"discord": "Discord",
"contact": "تواصل معنا",
"nightly": "إصدار ليلي",
"copyright": "© {year} Manaflow",
"language": "اللغة"
},
"home": {
"taglinePrefix": "الطرفية المصممة لـ",
"typingCodingAgents": "وكلاء البرمجة",
"typingMultitasking": "تعدد المهام",
"subtitle": "تطبيق macOS أصلي مبني على Ghostty. علامات تبويب عمودية، حلقات إشعار عندما يحتاج الوكلاء انتباهك، ألواح مقسمة، وواجهة برمجة عبر المقابس للأتمتة.",
"features": "الميزات",
"faq": "الأسئلة الشائعة",
"communitySection": "المجتمع",
"feature": {
"verticalTabs": "علامات تبويب عمودية",
"verticalTabsDesc": ": يعرض الشريط الجانبي فرع git ومجلد العمل والمنافذ ونص الإشعارات",
"notificationRings": "حلقات الإشعارات",
"notificationRingsDesc": ": تضيء الألواح عندما يحتاج الوكلاء انتباهك",
"inAppBrowser": "متصفح مدمج",
"inAppBrowserDesc": ": قسّم متصفحاً بجانب طرفيتك مع واجهة برمجة قابلة للبرمجة",
"splitPanes": "ألواح مقسمة",
"splitPanesDesc": ": تقسيمات أفقية وعمودية داخل كل علامة تبويب",
"scriptable": "قابل للبرمجة",
"scriptableDesc": ": واجهة سطر الأوامر وواجهة المقابس للأتمتة والبرمجة",
"gpuAccelerated": "مُسرّع بالـ GPU",
"gpuAcceleratedDesc": ": مدعوم بـ libghostty لعرض سلس",
"lightweight": "خفيف الوزن",
"lightweightDesc": ": Swift + AppKit أصلي، بدون Electron",
"keyboardShortcuts": "اختصارات لوحة المفاتيح",
"keyboardShortcutsDesc": ": <link>اختصارات شاملة</link> لمساحات العمل والتقسيمات والمتصفح والمزيد"
},
"faqGhosttyQ": "ما علاقة cmux بـ Ghostty؟",
"faqGhosttyA": "cmux ليس نسخة معدلة من Ghostty. يستخدم <link>libghostty</link> كمكتبة لعرض الطرفية، بنفس الطريقة التي تستخدم بها التطبيقات WebKit لعرض الويب. Ghostty طرفية مستقلة؛ cmux تطبيق مختلف مبني فوق محرك العرض الخاص بها.",
"faqPlatformQ": "ما هي المنصات المدعومة؟",
"faqPlatformA": "macOS فقط حالياً. cmux تطبيق أصلي بـ Swift + AppKit.",
"faqAgentsQ": "ما هي وكلاء البرمجة التي يعمل معها cmux؟",
"faqAgentsA": "جميعها. cmux طرفية، لذا أي وكيل يعمل في الطرفية يعمل مباشرة: Claude Code وCodex وOpenCode وGemini CLI وKiro وAider وGoose وAmp وCline وCursor Agent وأي شيء آخر يمكنك تشغيله من سطر الأوامر.",
"faqNotificationsQ": "كيف تعمل الإشعارات؟",
"faqNotificationsA": "عندما تحتاج عملية ما إلى انتباهك، يعرض cmux حلقات إشعار حول الألواح، وشارات غير مقروءة في الشريط الجانبي، ونافذة إشعارات منبثقة، وإشعار سطح مكتب macOS. تعمل تلقائياً عبر تسلسلات الطرفية القياسية (OSC 9/99/777)، أو يمكنك تشغيلها باستخدام <cliLink>واجهة أوامر cmux</cliLink> و<hooksLink>خطافات Claude Code</hooksLink>.",
"faqShortcutsQ": "هل يمكنني تخصيص اختصارات لوحة المفاتيح؟",
"faqShortcutsA": "تُقرأ اختصارات الطرفية من ملف إعدادات Ghostty الخاص بك (<configPath>~/.config/ghostty/config</configPath>). يمكن تخصيص اختصارات cmux الخاصة (مساحات العمل، التقسيمات، المتصفح، الإشعارات) في الإعدادات. راجع <link>الاختصارات الافتراضية</link> للقائمة الكاملة.",
"faqTmuxQ": "كيف يقارن مع tmux؟",
"faqTmuxA": "tmux هو مُضاعف طرفيات يعمل داخل أي طرفية. cmux تطبيق macOS أصلي بواجهة رسومية: علامات تبويب عمودية، ألواح مقسمة، متصفح مدمج، وواجهة مقابس مدمجة. لا حاجة لملفات إعداد أو مفاتيح بادئة.",
"faqFreeQ": "هل cmux مجاني؟",
"faqFreeA": "نعم، cmux مجاني الاستخدام. الكود المصدري متاح على <link>GitHub</link>."
},
"community": {
"title": "المجتمع",
"description": "تواصل مع مستخدمي cmux الآخرين والفريق الذي يقف وراءه.",
"discord": "Discord",
"discordAction": "انضم إلى Discord",
"discordDesc": "تحدث مع المجتمع، احصل على المساعدة، وشارك ملاحظاتك",
"githubAction": "عرض على GitHub",
"githubDesc": "أضف نجمة للمستودع، أبلغ عن مشاكل، وساهم",
"twitter": "Twitter",
"twitterAction": "تابعنا على X",
"twitterDesc": "تحديثات وإعلانات ونصائح",
"youtube": "YouTube",
"youtubeAction": "اشترك",
"youtubeDesc": "عروض توضيحية ودروس وشروحات",
"linkedin": "LinkedIn",
"linkedinAction": "تابعنا",
"linkedinDesc": "أخبار الشركة وتحديثات هندسية",
"metaTitle": "المجتمع — cmux",
"metaDescription": "انضم إلى مجتمع cmux على Discord وTwitter وGitHub والمزيد"
},
"blog": {
"title": "المدونة",
"layoutTitle": "cmux blog",
"metaTitle": "المدونة",
"metaDescription": "أخبار وتحديثات من فريق cmux",
"description": "أخبار وتحديثات من فريق cmux",
"posts": {
"cmdShiftU": {
"title": "Cmd+Shift+U",
"summary": "كيف ينتقل Cmd+Shift+U بين الوكلاء المنتهين عبر مساحات العمل في cmux.",
"date": "4 مارس 2026",
"p1": "ميزتي المفضلة في cmux هي Cmd+Shift+U. لدي 17 مساحة عمل مفتوحة الآن، كل منها يشغل وكيلاً. كنت أنقر بين علامات التبويب ولوحة الإشعارات لمعرفة ما اكتمل. الكتابة أسرع.",
"p2": "Cmd+Shift+U ينتقل إلى أحدث <link>إشعار</link> غير مقروء. عملياً يعني ذلك آخر وكيل انتهى. ينتقل إلى مساحة العمل الصحيحة، يركز على اللوح المحدد، يومضه حتى ترى أين تنظر، ويضعه كمقروء. إذا جاء الإشعار من نافذة أخرى، تظهر تلك النافذة في المقدمة."
},
"zenOfCmux": {
"title": "فلسفة cmux",
"summary": "cmux عنصر أساسي وليس حلاً متكاملاً. يمنحك قطعاً قابلة للتركيب وطريقة عملك متروكة لك.",
"date": "27 فبراير 2026",
"p1": "cmux لا يفرض على المطورين طريقة معينة لاستخدام أدواتهم. إنه طرفية ومتصفح مع واجهة سطر أوامر، والباقي متروك لك.",
"p2": "cmux عنصر أساسي وليس حلاً متكاملاً. يمنحك طرفية ومتصفحاً وإشعارات ومساحات عمل وتقسيمات وعلامات تبويب وواجهة سطر أوامر للتحكم بكل ذلك. cmux لا يجبرك على طريقة محددة لاستخدام وكلاء البرمجة. ما تبنيه بهذه العناصر الأساسية هو ملكك.",
"p3": "أفضل المطورين بنوا دائماً أدواتهم الخاصة. لم يكتشف أحد بعد أفضل طريقة للعمل مع الوكلاء، والفرق التي تبني منتجات مغلقة بالتأكيد لم تكتشفها أيضاً. المطورون الأقرب إلى قواعد الكود الخاصة بهم سيكتشفونها أولاً.",
"p4": "أعط مليون مطور عناصر أساسية قابلة للتركيب وسيجدون مجتمعين أكثر سير العمل كفاءة أسرع مما يمكن لأي فريق منتج تصميمه من أعلى لأسفل."
},
"showHnLaunch": {
"title": "إطلاق cmux على Show HN",
"summary": "وصل cmux إلى المرتبة الثانية على Hacker News، شاركه Mitchell Hashimoto، وانتشر بشكل واسع في اليابان.",
"date": "21 فبراير 2026",
"intro": "نشرنا cmux على <link>Show HN</link> في 19 فبراير:",
"blockquote1": "أشغل الكثير من جلسات Claude Code وCodex بالتوازي. كنت أستخدم Ghostty مع مجموعة من الألواح المقسمة، وأعتمد على إشعارات macOS الأصلية لمعرفة متى يحتاجني وكيل. لكن محتوى إشعار Claude Code دائماً \"Claude is waiting for your input\" بدون سياق، ومع فتح علامات تبويب كافية، لم أعد أستطيع حتى قراءة العناوين.",
"blockquote2": "جربت بعض منسقي البرمجة لكن معظمهم كانت تطبيقات Electron/Tauri والأداء أزعجني. كما أفضل الطرفية لأن منسقي الواجهات الرسومية يقيدونك بسير عملهم. لذا بنيت cmux كتطبيق macOS أصلي بـ Swift/AppKit. يستخدم libghostty لعرض الطرفية ويقرأ إعدادات Ghostty الحالية للمظاهر والخطوط والألوان والمزيد.",
"blockquote3": "الإضافات الرئيسية هي الشريط الجانبي ونظام الإشعارات. الشريط الجانبي يحتوي على علامات تبويب عمودية تعرض فرع git ومجلد العمل والمنافذ المستمعة وأحدث نص إشعار لكل مساحة عمل. نظام الإشعارات يلتقط تسلسلات الطرفية (OSC 9/99/777) ولديه واجهة أوامر (cmux notify) يمكنك ربطها بخطافات الوكلاء لـ Claude Code وOpenCode وغيرها. عندما ينتظر وكيل، يحصل لوحه على حلقة زرقاء وتضيء علامة التبويب في الشريط الجانبي، حتى أعرف أيها يحتاجني عبر التقسيمات وعلامات التبويب. Cmd+Shift+U ينتقل إلى أحدث غير مقروء.",
"blockquote4": "المتصفح المدمج لديه واجهة برمجة قابلة للبرمجة. يمكن للوكلاء التقاط شجرة إمكانية الوصول، والحصول على مراجع العناصر، والنقر، وملء النماذج، وتنفيذ JavaScript، وقراءة سجلات وحدة التحكم. يمكنك تقسيم لوح متصفح بجانب طرفيتك وجعل Claude Code يتفاعل مع خادم التطوير مباشرة.",
"blockquote5": "كل شيء قابل للبرمجة عبر واجهة سطر الأوامر وواجهة المقابس: إنشاء مساحات عمل/علامات تبويب، تقسيم الألواح، إرسال ضغطات المفاتيح، فتح الروابط في المتصفح.",
"hitNumber2": "في ذروته وصل إلى المرتبة الثانية على Hacker News. شاركه Mitchell Hashimoto:",
"favoriteComment": "تعليقي المفضل من <link>نقاش HN</link>:",
"viralJapan": "بشكل مفاجئ، انتشر cmux بشكل واسع في اليابان:",
"translation": "الترجمة: \"هذا يبدو جيداً. تطبيق طرفية مبني على Ghostty مصمم حتى لا تضيع عند تشغيل عدة واجهات أوامر مثل Claude Code بالتوازي. اللوح المنتظر للإدخال يحصل على إطار أزرق، ولديه نظام إشعارات خاص.\"",
"viralChina": "وانتشر بشكل جزئي في الصين:",
"extensions": "شيء آخر مثير كان رؤية الناس يبنون فوق واجهة أوامر cmux. بنى sasha إضافة pi-cmux التي تعرض معلومات النموذج واستخدام التوكنات وحالة الوكيل في الشريط الجانبي:",
"scriptable": "كل شيء في cmux قابل للبرمجة عبر واجهة سطر الأوامر: إنشاء مساحات العمل، إرسال ضغطات المفاتيح، التحكم بالمتصفح، قراءة الإشعارات. جزء من فلسفة cmux هو أن يكون قابلاً للبرمجة والتركيب، حتى يتمكن الناس من تخصيص طريقة عملهم مع وكلاء البرمجة. أحدث ما وصلت إليه وكلاء البرمجة يتغير بسرعة، ولا تريد أن تكون مقيداً بمنسق واجهة رسومية غير مرن لا يستطيع المواكبة.",
"cta": "إذا كنت تشغل عدة وكلاء برمجة، <link>جرب cmux</link>."
},
"introducingCmux": {
"title": "تقديم cmux",
"summary": "طرفية macOS أصلية مبنية على Ghostty، مصممة لتشغيل عدة وكلاء برمجة بالذكاء الاصطناعي جنباً إلى جنب.",
"date": "12 فبراير 2026",
"p1": "cmux تطبيق طرفية macOS أصلي مبني فوق Ghostty، مصمم من الأساس للمطورين الذين يشغلون عدة وكلاء برمجة بالذكاء الاصطناعي في وقت واحد.",
"whyTitle": "لماذا cmux؟",
"whyP": "سير العمل الحديث في التطوير غالباً يتضمن تشغيل عدة وكلاء في وقت واحد. Claude Code وCodex وأدوات أخرى كل منها في طرفيته الخاصة. تتبع أيها يحتاج انتباهك والتبديل بينها بسرعة هي المشكلة التي يحلها cmux.",
"featuresTitle": "الميزات الرئيسية",
"getStartedTitle": "ابدأ الآن",
"getStartedP": "ثبت cmux عبر Homebrew أو حمّل ملف DMG من <link>دليل البدء</link>.",
"featureVerticalTabsLabel": "علامات تبويب عمودية",
"featureVerticalTabsDesc": "شاهد جميع طرفياتك بنظرة واحدة في الشريط الجانبي",
"featureNotificationsLabel": "حلقات الإشعارات",
"featureNotificationsDesc": "تومض علامات التبويب عندما يحتاج وكيل إدخالك",
"featureSplitPanesLabel": "ألواح مقسمة",
"featureSplitPanesDesc": "تقسيمات أفقية وعمودية داخل كل مساحة عمل",
"featureSocketApiLabel": "واجهة المقابس",
"featureSocketApiDesc": "تحكم برمجي لإنشاء علامات التبويب وإرسال المدخلات",
"featureGpuLabel": "مُسرّع بالـ GPU",
"featureGpuDesc": "مدعوم بـ libghostty لعرض سلس"
}
},
"zenOfCmux": {
"metaTitle": "فلسفة cmux",
"metaDescription": "cmux أداة أساسية وليست حلاً. تمنحك قطعاً قابلة للتركيب وسير العمل متروك لك."
},
"cmdShiftU": {
"metaTitle": "Cmd+Shift+U",
"metaDescription": "اختصار لوحة المفاتيح الجديد الذي يغير طريقة تفاعلك مع cmux."
},
"showHnLaunch": {
"metaTitle": "إطلاق cmux على Show HN",
"metaDescription": "قصة إطلاق cmux على Hacker News."
},
"introducingCmux": {
"metaTitle": "تقديم cmux",
"metaDescription": "لماذا بنينا cmux، محطة طرفية جديدة لنظام macOS."
}
},
"docs": {
"layoutTitle": "cmux docs",
"gettingStarted": {
"title": "البدء",
"metaDescription": "ثبت cmux، طرفية macOS الأصلية لوكلاء البرمجة بالذكاء الاصطناعي. Homebrew، تحميل DMG، إعداد واجهة الأوامر، والتحديثات التلقائية عبر Sparkle.",
"intro": "cmux طرفية macOS أصلية خفيفة الوزن مبنية على Ghostty لإدارة عدة وكلاء برمجة بالذكاء الاصطناعي. تتميز بعلامات تبويب عمودية ولوحة إشعارات وواجهة تحكم عبر المقابس.",
"install": "التثبيت",
"dmgRecommended": "DMG (موصى به)",
"dmgDesc": "افتح ملف .dmg واسحب cmux إلى مجلد التطبيقات. يتحدث cmux تلقائياً عبر Sparkle، لذا تحتاج التحميل مرة واحدة فقط.",
"homebrew": "Homebrew",
"updateLater": "للتحديث لاحقاً:",
"firstLaunchCallout": "عند التشغيل الأول، قد يطلب macOS تأكيد فتح تطبيق من مطور معروف. انقر <strong>فتح</strong> للمتابعة.",
"verifyTitle": "التحقق من التثبيت",
"verifyDesc": "افتح cmux ويجب أن ترى:",
"verifyItem1": "نافذة طرفية مع شريط تبويب عمودي على اليسار",
"verifyItem2": "مساحة عمل أولية مفتوحة بالفعل",
"verifyItem3": "طرفية Ghostty جاهزة للإدخال",
"cliSetup": "إعداد واجهة الأوامر",
"cliDesc": "يتضمن cmux أداة سطر أوامر للأتمتة. داخل طرفيات cmux تعمل تلقائياً. لاستخدام واجهة الأوامر من خارج cmux، أنشئ رابطاً رمزياً:",
"cliThen": "ثم يمكنك تشغيل أوامر مثل:",
"autoUpdates": "التحديثات التلقائية",
"autoUpdatesDesc": "يتحقق cmux من التحديثات تلقائياً عبر Sparkle. عندما يتوفر تحديث سترى مؤشر تحديث في شريط العنوان. يمكنك أيضاً التحقق يدوياً عبر cmux > التحقق من التحديثات في شريط القوائم.",
"sessionRestore": "استعادة الجلسة (السلوك الحالي)",
"sessionRestoreDesc": "بعد إعادة التشغيل، يستعيد cmux التخطيط والبيانات الوصفية فقط:",
"sessionItem1": "تخطيط النوافذ ومساحات العمل والألواح",
"sessionItem2": "مجلدات العمل",
"sessionItem3": "سجل التمرير في الطرفية (بأفضل جهد)",
"sessionItem4": "رابط المتصفح وسجل التصفح",
"sessionCallout": "cmux لا يستعيد حالة العمليات الحية بعد. جلسات تطبيقات الطرفية النشطة مثل Claude Code وtmux وvim لا تُستأنف بعد إعادة تشغيل التطبيق.",
"requirements": "المتطلبات",
"reqItem1": "macOS 14.0 أو أحدث",
"reqItem2": "Mac بمعالج Apple Silicon أو Intel",
"metaTitle": "البدء"
},
"concepts": {
"title": "المفاهيم",
"metaDescription": "كيف ينظم cmux الطرفيات: النوافذ ومساحات العمل والألواح والأسطح. التسلسل الهرمي وراء الشريط الجانبي والتقسيمات وواجهة المقابس.",
"intro": "ينظم cmux طرفياتك في تسلسل هرمي من أربعة مستويات. فهم هذه المستويات يساعد عند استخدام واجهة المقابس وواجهة الأوامر واختصارات لوحة المفاتيح.",
"hierarchy": "التسلسل الهرمي",
"windowTitle": "النافذة",
"windowDesc": "نافذة macOS. افتح نوافذ متعددة باستخدام {shortcut}. كل نافذة لها شريطها الجانبي الخاص بمساحات عمل مستقلة.",
"workspaceTitle": "مساحة العمل",
"workspaceDesc": "عنصر في الشريط الجانبي. كل مساحة عمل تحتوي على لوح واحد أو أكثر من الألواح المقسمة. مساحات العمل هي ما تراه مدرجاً في الشريط الجانبي الأيسر.",
"workspaceNote": "في واجهة المستخدم واختصارات لوحة المفاتيح، غالباً ما تُسمى مساحات العمل \"علامات تبويب\" لأنها تتصرف كعلامات تبويب في الشريط الجانبي. تستخدم واجهة المقابس ومتغيرات البيئة مصطلح \"مساحة العمل\".",
"contextHeader": "السياق",
"termUsedHeader": "المصطلح المستخدم",
"sidebarUI": "واجهة الشريط الجانبي",
"tab": "علامة تبويب",
"keyboardShortcuts": "اختصارات لوحة المفاتيح",
"workspaceOrTab": "مساحة عمل أو علامة تبويب",
"socketAPI": "واجهة المقابس",
"environmentVariable": "متغير البيئة",
"workspaceShortcuts": "الاختصارات: {new} (جديد)، {jump} (انتقال)، {close} (إغلاق)، {prevNext} (السابق/التالي)",
"paneTitle": "اللوح",
"paneDesc": "منطقة مقسمة داخل مساحة العمل. يُنشأ بالتقسيم باستخدام {right} (يمين) أو {down} (أسفل). تنقل بين الألواح بـ {nav} + مفاتيح الأسهم.",
"paneNote": "كل لوح يمكنه احتواء عدة أسطح (علامات تبويب داخل اللوح).",
"surfaceTitle": "السطح",
"surfaceDesc": "علامة تبويب داخل لوح. كل لوح له شريط علامات تبويب خاص ويمكنه احتواء عدة أسطح. يُنشأ بـ {new}، يُتنقل بـ {prev} / {next} أو {jump}.",
"surfaceNote": "الأسطح هي جلسات الطرفية أو المتصفح الفردية التي تتفاعل معها. كل سطح له متغير بيئة CMUX_SURFACE_ID خاص.",
"panelTitle": "اللوحة",
"panelDesc": "المحتوى داخل السطح. حالياً نوعان:",
"panelTerminal": "طرفية: جلسة طرفية Ghostty",
"panelBrowser": "متصفح: عرض ويب مدمج",
"panelNote": "اللوحة هي مفهوم داخلي في الغالب. في واجهة المقابس وواجهة الأوامر، تتفاعل مع الأسطح وليس مع اللوحات مباشرة.",
"visualExample": "مثال بصري",
"visualExampleDesc": "في هذا المثال:",
"visualItem1": "تحتوي النافذة على شريط جانبي بثلاث مساحات عمل (dev, server, logs)",
"visualItem2": "مساحة العمل \"dev\" محددة، تعرض لوحين جنباً إلى جنب",
"visualItem3": "اللوح 1 له سطحان ([S1] و[S2] في شريط علامات التبويب)، مع S1 نشط",
"visualItem4": "اللوح 2 له سطح واحد",
"visualItem5": "كل سطح يحتوي على لوحة (طرفية في هذه الحالة)",
"summary": "ملخص",
"levelHeader": "المستوى",
"whatItIsHeader": "ما هو",
"createdByHeader": "يُنشأ بواسطة",
"identifiedByHeader": "يُعرف بواسطة",
"macosWindow": "نافذة macOS",
"sidebarEntry": "عنصر شريط جانبي",
"splitRegion": "منطقة مقسمة",
"tabWithinPane": "علامة تبويب داخل لوح",
"terminalOrBrowser": "طرفية أو متصفح",
"automatic": "تلقائي",
"paneIdSocket": "معرف اللوح (واجهة المقابس)",
"panelIdInternal": "معرف اللوحة (داخلي)",
"metaTitle": "المفاهيم"
},
"configuration": {
"title": "الإعدادات",
"metaDescription": "إعداد cmux عبر ملفات إعدادات Ghostty. الخط، المظهر، الألوان، تنسيق الألواح المقسمة، سجل التمرير، وإعدادات التطبيق لوضع الأتمتة.",
"intro": "يقرأ cmux الإعدادات من ملفات إعدادات Ghostty، مما يمنحك خيارات مألوفة إذا كنت قادماً من Ghostty.",
"configLocations": "مواقع ملف الإعدادات",
"configLocationsDesc": "يبحث cmux عن الإعدادات في هذه المواقع (بالترتيب):",
"createConfig": "أنشئ ملف الإعدادات إذا لم يكن موجوداً:",
"appearance": "المظهر",
"font": "الخط",
"colors": "الألوان",
"splitPanes": "الألواح المقسمة",
"behavior": "السلوك",
"scrollback": "سجل التمرير",
"workingDirectory": "مجلد العمل",
"appSettings": "إعدادات التطبيق",
"appSettingsDesc": "الإعدادات داخل التطبيق متاحة عبر cmux > الإعدادات ({shortcut}):",
"themeMode": "وضع المظهر",
"themeSystem": "النظام: اتبع مظهر macOS",
"themeLight": "فاتح: الوضع الفاتح دائماً",
"themeDark": "داكن: الوضع الداكن دائماً",
"automationMode": "وضع الأتمتة",
"automationModeDesc": "مستوى الوصول إلى المقبس:",
"automationOff": "معطل: بدون تحكم عبر المقبس (الأكثر أماناً)",
"automationCmux": "عمليات cmux فقط: السماح فقط للعمليات التي بدأت داخل طرفيات cmux بالاتصال",
"automationAll": "allowAll: السماح لأي عملية محلية بالاتصال (CMUX_SOCKET_MODE=allowAll، تجاوز عبر متغير البيئة فقط)",
"automationCallout": "على الأجهزة المشتركة، فكر في استخدام وضع \"معطل\" أو \"عمليات cmux فقط\".",
"browserLinkBehavior": "سلوك روابط المتصفح",
"browserLinkDesc": "في الإعدادات > المتصفح، يوفر cmux قائمتين من المضيفين بأغراض مختلفة:",
"browserHostsEmbed": "المضيفون لفتحهم في المتصفح المدمج: ينطبق على الروابط المنقورة من مخرجات الطرفية. المضيفون في هذه القائمة يُفتحون في cmux؛ المضيفون الآخرون يُفتحون في متصفحك الافتراضي. يدعم مضيفاً واحداً أو حرف بدل لكل سطر (مثال: example.com، *.internal.example).",
"browserHostsHttp": "مضيفو HTTP المسموح بهم في المتصفح المدمج: ينطبق فقط على روابط HTTP (غير HTTPS). المضيفون في هذه القائمة يمكنهم الفتح في cmux بدون تحذير. الافتراضيات تشمل localhost و127.0.0.1 و::1 و0.0.0.0 و*.localtest.me.",
"exampleConfig": "مثال على الإعدادات",
"metaTitle": "الإعدادات"
},
"customCommands": {
"title": "أوامر مخصصة",
"metaTitle": "أوامر مخصصة",
"metaDescription": "تعريف الأوامر المخصصة وتخطيطات مساحة العمل في cmux.json. تكوين لكل مشروع وعالمي مع مراقبة الملفات المباشرة.",
"intro": "عرّف الأوامر المخصصة وتخطيطات مساحة العمل بإضافة ملف cmux.json إلى جذر مشروعك أو ~/.config/cmux/. تظهر الأوامر في لوحة الأوامر.",
"fileLocations": "مواقع الملفات",
"fileLocationsDesc": "يبحث cmux عن التكوين في مكانين:",
"localConfig": "لكل مشروع:",
"localConfigDesc": "يقع في دليل مشروعك، له الأولوية",
"globalConfig": "عالمي:",
"globalConfigDesc": "ينطبق على جميع المشاريع، يملأ الأوامر غير المعرفة محلياً",
"precedenceNote": "الأوامر المحلية تتجاوز الأوامر العالمية بنفس الاسم.",
"liveReload": "يتم اكتشاف التغييرات تلقائياً — لا حاجة لإعادة التشغيل.",
"schema": "المخطط",
"schemaDesc": "يحتوي ملف cmux.json على مصفوفة commands. كل أمر إما أمر shell بسيط أو تعريف كامل لمساحة عمل:",
"simpleCommands": "أوامر بسيطة",
"simpleCommandsDesc": "الأمر البسيط ينفذ أمر shell في الطرفية المحددة حالياً:",
"simpleCommandFields": "الحقول",
"fieldName": "يظهر في لوحة الأوامر (مطلوب)",
"fieldDescription": "وصف اختياري",
"fieldKeywords": "مصطلحات بحث إضافية للوحة الأوامر",
"fieldCommand": "أمر shell للتشغيل في الطرفية المحددة",
"fieldConfirm": "عرض مربع حوار للتأكيد قبل التشغيل",
"simpleCommandCwdNote": "تعمل الأوامر البسيطة في دليل العمل الحالي للطرفية المحددة. إذا كان أمرك يعتمد على مسارات نسبية للمشروع، أضف قبله",
"simpleCommandCwdRepoRoot": "للتشغيل من جذر المستودع، أو",
"simpleCommandCwdCustomPath": "لأي دليل محدد.",
"workspaceCommands": "أوامر مساحة العمل",
"workspaceCommandsDesc": "يُنشئ أمر مساحة العمل مساحة عمل جديدة بتخطيط مخصص من الانقسامات والطرفيات وألواح المتصفح:",
"workspaceFields": "حقول مساحة العمل",
"wsFieldName": "اسم علامة التبويب لمساحة العمل (الافتراضي: اسم الأمر)",
"wsFieldCwd": "دليل العمل لمساحة العمل",
"wsFieldColor": "لون علامة تبويب مساحة العمل",
"wsFieldLayout": "شجرة التخطيط التي تحدد الانقسامات والألواح",
"restartBehavior": "سلوك إعادة التشغيل",
"restartBehaviorDesc": "يتحكم فيما يحدث عندما توجد مساحة عمل بنفس الاسم:",
"restartIgnore": "التبديل إلى مساحة العمل الموجودة (الافتراضي)",
"restartRecreate": "الإغلاق وإعادة الإنشاء دون سؤال",
"restartConfirm": "السؤال قبل إعادة الإنشاء",
"layoutTree": "شجرة التخطيط",
"layoutTreeDesc": "تحدد شجرة التخطيط كيفية ترتيب الألواح باستخدام عقد الانقسام المتكررة:",
"splitNode": "عقدة الانقسام",
"splitNodeDesc": "تقسم المساحة إلى فرعين:",
"or": "أو",
"splitPosition": "موضع الفاصل من 0.1 إلى 0.9 (الافتراضي 0.5)",
"splitChildren": "فرعان بالضبط (انقسام أو لوح)",
"paneNode": "عقدة اللوح",
"paneNodeDesc": "عقدة طرفية تحتوي على واحد أو أكثر من الأسطح (علامات التبويب داخل اللوح).",
"surfaceDefinition": "تعريف السطح",
"surfaceDefinitionDesc": "كل سطح في لوح يمكن أن يكون طرفية أو متصفحاً:",
"surfaceName": "عنوان علامة تبويب مخصص",
"surfaceCommand": "أمر shell للتشغيل التلقائي عند الإنشاء (للطرفية فقط)",
"surfaceCwd": "دليل العمل لهذا السطح",
"surfaceEnv": "متغيرات البيئة كأزواج مفتاح-قيمة",
"surfaceUrl": "رابط للفتح (للمتصفح فقط)",
"surfaceFocus": "التركيز على هذا السطح بعد الإنشاء",
"cwdResolution": "تحليل دليل العمل",
"omitted": "محذوف",
"cwdRelative": "دليل عمل مساحة العمل",
"cwdSubdir": "نسبي إلى دليل عمل مساحة العمل",
"cwdHome": "موسّع إلى الدليل الرئيسي",
"absolutePath": "مسار مطلق",
"cwdAbsolute": "يُستخدم كما هو",
"fullExample": "مثال كامل"
},
"keyboardShortcuts": {
"title": "اختصارات لوحة المفاتيح",
"description": "جميع اختصارات لوحة المفاتيح المتاحة في cmux، مجمعة حسب الفئة.",
"metaDescription": "جميع اختصارات لوحة مفاتيح cmux لمساحات العمل والأسطح والألواح المقسمة والمتصفح والإشعارات والبحث وإدارة النوافذ على macOS.",
"searchPlaceholder": "بحث في الاختصارات...",
"searchLabel": "بحث اختصارات لوحة المفاتيح",
"noResults": "لم يتم العثور على اختصارات",
"noResultsHint": "جرب مصطلح بحث مختلف",
"cat": {
"workspaces": "مساحات العمل",
"workspacesBlurb": "مساحات العمل موجودة في الشريط الجانبي. كل مساحة عمل لها مجموعتها الخاصة من الألواح والأسطح.",
"surfaces": "الأسطح",
"surfacesBlurb": "الأسطح هي علامات تبويب داخل اللوح.",
"splitPanes": "الألواح المقسمة",
"browser": "المتصفح",
"notifications": "الإشعارات",
"find": "البحث",
"terminal": "الطرفية",
"window": "النافذة"
},
"sc": {
"ws-new": "مساحة عمل جديدة",
"ws-prev": "مساحة العمل السابقة",
"ws-next": "مساحة العمل التالية",
"ws-jump-1-8": "الانتقال إلى مساحة العمل 18",
"ws-jump-last": "الانتقال إلى آخر مساحة عمل",
"ws-close": "إغلاق مساحة العمل",
"ws-rename": "إعادة تسمية مساحة العمل",
"sf-new": "سطح جديد",
"sf-prev-1": "السطح السابق",
"sf-prev-2": "السطح السابق",
"sf-jump-1-8": "الانتقال إلى السطح 18",
"sf-jump-last": "الانتقال إلى آخر سطح",
"sf-close": "إغلاق السطح",
"sp-right": "تقسيم لليمين",
"sp-down": "تقسيم للأسفل",
"sp-focus": "تركيز اللوح باتجاه",
"sp-browser-right": "تقسيم المتصفح لليمين",
"sp-browser-down": "تقسيم المتصفح للأسفل",
"br-open": "فتح سطح المتصفح",
"br-addr": "التركيز على شريط العنوان",
"br-forward": "للأمام",
"br-reload": "إعادة تحميل الصفحة",
"br-devtools": "فتح أدوات المطور",
"nt-panel": "عرض لوحة الإشعارات",
"nt-latest": "الانتقال إلى أحدث غير مقروء",
"nt-flash": "تشغيل الوميض",
"fd-find": "بحث",
"fd-next-prev": "بحث التالي / السابق",
"fd-hide": "إخفاء شريط البحث",
"fd-selection": "استخدام التحديد للبحث",
"tm-clear": "مسح سجل التمرير",
"tm-copy": "نسخ (مع التحديد)",
"tm-paste": "لصق",
"tm-font": "تكبير / تصغير الخط",
"tm-reset": "إعادة تعيين حجم الخط",
"wn-new": "نافذة جديدة",
"wn-settings": "الإعدادات",
"wn-reload": "إعادة تحميل الإعدادات",
"wn-quit": "إنهاء"
},
"metaTitle": "اختصارات لوحة المفاتيح"
},
"api": {
"title": "مرجع الواجهة البرمجية",
"metaDescription": "مرجع واجهة أوامر cmux وواجهة مقابس Unix. إدارة مساحات العمل، الألواح المقسمة، التحكم بالإدخال، الإشعارات، بيانات الشريط الجانبي الوصفية، متغيرات البيئة، وطرق الكشف.",
"intro": "يوفر cmux أداة سطر أوامر ومقبس Unix للتحكم البرمجي. كل أمر متاح عبر كلتا الواجهتين.",
"socket": "المقبس",
"buildHeader": "البناء",
"pathHeader": "المسار",
"release": "الإصدار",
"debug": "التصحيح",
"taggedDebug": "بناء تصحيح موسوم",
"socketOverride": "تجاوز بمتغير البيئة CMUX_SOCKET_PATH. أرسل طلب JSON واحد منتهي بسطر جديد لكل استدعاء:",
"socketCallout": "طلبات مقبس JSON يجب أن تستخدم method وparams. حمولات JSON القديمة بنسخة v1 مثل <legacy>'{'\"command\":\"...\"'}'</legacy> غير مدعومة.",
"accessModes": "أوضاع الوصول",
"modeHeader": "الوضع",
"descriptionHeader": "الوصف",
"howToEnableHeader": "كيفية التفعيل",
"offMode": "المقبس معطل",
"offEnable": "واجهة الإعدادات أو CMUX_SOCKET_MODE=off",
"cmuxOnlyMode": "فقط العمليات التي بدأت داخل طرفيات cmux يمكنها الاتصال.",
"cmuxOnlyEnable": "الوضع الافتراضي في واجهة الإعدادات",
"allowAllMode": "السماح لأي عملية محلية بالاتصال (بدون فحص السلالة).",
"allowAllEnable": "تجاوز عبر متغير البيئة فقط: CMUX_SOCKET_MODE=allowAll",
"accessCallout": "على الأجهزة المشتركة، استخدم وضع معطل أو عمليات cmux فقط.",
"cliOptions": "خيارات واجهة الأوامر",
"flagHeader": "العلم",
"customSocketPath": "مسار مقبس مخصص",
"outputJson": "الإخراج بتنسيق JSON",
"targetWindow": "استهداف نافذة محددة",
"targetWorkspace": "استهداف مساحة عمل محددة",
"targetSurface": "استهداف سطح محدد",
"idFormat": "التحكم بتنسيق المعرف في إخراج JSON",
"workspaceCommands": "أوامر مساحة العمل",
"listWorkspacesDesc": "عرض جميع مساحات العمل المفتوحة.",
"newWorkspaceDesc": "إنشاء مساحة عمل جديدة.",
"selectWorkspaceDesc": "التبديل إلى مساحة عمل محددة.",
"currentWorkspaceDesc": "الحصول على مساحة العمل النشطة حالياً.",
"closeWorkspaceDesc": "إغلاق مساحة عمل.",
"splitCommands": "أوامر التقسيم",
"newSplitDesc": "إنشاء لوح مقسم جديد. الاتجاهات: يسار، يمين، أعلى، أسفل.",
"listSurfacesDesc": "عرض جميع الأسطح في مساحة العمل الحالية.",
"focusSurfaceDesc": "التركيز على سطح محدد.",
"inputCommands": "أوامر الإدخال",
"sendDesc": "إرسال نص إلى الطرفية المركزة.",
"sendKeyDesc": "إرسال ضغطة مفتاح. المفاتيح: enter, tab, escape, backspace, delete, up, down, left, right.",
"sendSurfaceDesc": "إرسال نص إلى سطح محدد.",
"sendKeySurfaceDesc": "إرسال ضغطة مفتاح إلى سطح محدد.",
"notificationCommands": "أوامر الإشعارات",
"notifyDesc": "إرسال إشعار.",
"listNotificationsDesc": "عرض جميع الإشعارات.",
"clearNotificationsDesc": "مسح جميع الإشعارات.",
"sidebarMetadata": "أوامر بيانات الشريط الجانبي الوصفية",
"sidebarMetadataDesc": "تعيين مؤشرات الحالة وأشرطة التقدم وإدخالات السجل في الشريط الجانبي لأي مساحة عمل. مفيد لنصوص البناء وتكاملات CI ووكلاء البرمجة بالذكاء الاصطناعي التي تريد إظهار الحالة بنظرة سريعة.",
"setStatusDesc": "تعيين مؤشر حالة في الشريط الجانبي. استخدم مفتاحاً فريداً حتى تتمكن الأدوات المختلفة من إدارة إدخالاتها الخاصة.",
"clearStatusDesc": "إزالة إدخال حالة من الشريط الجانبي بالمفتاح.",
"listStatusDesc": "عرض جميع إدخالات حالة الشريط الجانبي لمساحة عمل.",
"setProgressDesc": "تعيين شريط تقدم في الشريط الجانبي (0.0 إلى 1.0).",
"clearProgressDesc": "مسح شريط تقدم الشريط الجانبي.",
"logDesc": "إضافة إدخال سجل إلى الشريط الجانبي. المستويات: info, progress, success, warning, error.",
"clearLogDesc": "مسح جميع إدخالات سجل الشريط الجانبي.",
"listLogDesc": "عرض إدخالات سجل الشريط الجانبي.",
"sidebarStateDesc": "تفريغ جميع بيانات الشريط الجانبي الوصفية (cwd، فرع git، المنافذ، الحالة، التقدم، السجلات).",
"utilityCommands": "أوامر الأدوات المساعدة",
"pingDesc": "التحقق مما إذا كان cmux يعمل ويستجيب.",
"capabilitiesDesc": "عرض طرق المقبس المتاحة ووضع الوصول الحالي.",
"identifyDesc": "عرض سياق النافذة/مساحة العمل/اللوح/السطح المركز.",
"envVariables": "متغيرات البيئة",
"variableHeader": "المتغير",
"socketPathDesc": "تجاوز مسار المقبس المستخدم بواسطة واجهة الأوامر والتكاملات",
"socketEnableDesc": "تفعيل/تعطيل المقبس قسرياً (1/0, true/false, on/off)",
"socketModeDesc": "تجاوز وضع الوصول (cmuxOnly, allowAll, off). يقبل أيضاً cmux-only/cmux_only وallow-all/allow_all",
"workspaceIdDesc": "يُعين تلقائياً: معرف مساحة العمل الحالية",
"surfaceIdDesc": "يُعين تلقائياً: معرف السطح الحالي",
"termProgramDesc": "مُعين إلى ghostty",
"termDesc": "مُعين إلى xterm-ghostty",
"envCallout": "قيم CMUX_SOCKET_MODE القديمة full وnotifications لا تزال مقبولة للتوافق.",
"detectingCmux": "كشف cmux",
"examples": "أمثلة",
"pythonClient": "عميل Python",
"shellScript": "نص Shell",
"buildScriptNotification": "نص بناء مع إشعار",
"metaTitle": "مرجع API"
},
"notifications": {
"title": "الإشعارات",
"metaDescription": "إرسال إشعارات سطح المكتب من وكلاء الذكاء الاصطناعي والنصوص في cmux. واجهة الأوامر، تسلسلات OSC 99/777، وتكامل خطافات Claude Code.",
"intro": "يدعم cmux إشعارات سطح المكتب، مما يسمح لوكلاء الذكاء الاصطناعي والنصوص بتنبيهك عندما يحتاجون انتباهك.",
"lifecycle": "دورة الحياة",
"received": "مُستلم: يظهر الإشعار في اللوحة، يُطلق تنبيه سطح المكتب (إذا لم يكن مكتوماً)",
"unread": "غير مقروء: تظهر شارة على علامة تبويب مساحة العمل",
"read": "مقروء: يُمسح عند عرض مساحة العمل تلك",
"cleared": "مُمسوح: يُزال من اللوحة",
"suppression": "الكتم",
"suppressionDesc": "تُكتم تنبيهات سطح المكتب عندما:",
"suppressItem1": "نافذة cmux مركزة",
"suppressItem2": "مساحة العمل المحددة التي ترسل الإشعار نشطة",
"suppressItem3": "لوحة الإشعارات مفتوحة",
"notificationPanel": "لوحة الإشعارات",
"notificationPanelDesc": "اضغط <openShortcut>⌘⇧I</openShortcut> لفتح لوحة الإشعارات. انقر على إشعار للانتقال إلى مساحة العمل تلك. اضغط <jumpShortcut>⌘⇧U</jumpShortcut> للانتقال مباشرة إلى مساحة العمل التي تحتوي على أحدث إشعار غير مقروء.",
"customCommand": "أمر مخصص",
"customCommandDesc": "تشغيل أمر shell في كل مرة يُجدول فيها إشعار. عيّنه في الإعدادات > التطبيق > أمر الإشعار. يُشغل الأمر عبر /bin/sh -c مع متغيرات البيئة هذه:",
"customCommandNote": "يعمل الأمر بشكل مستقل عن منتقي صوت النظام. عيّن المنتقي إلى \"لا شيء\" لاستخدام الأمر المخصص فقط، أو احتفظ بكليهما لصوت نظام مع إجراء مخصص.",
"sending": "إرسال الإشعارات",
"cli": "CLI",
"osc777Title": "OSC 777 (بسيط)",
"osc777Desc": "يستخدم بروتوكول RXVT تنسيقاً ثابتاً مع عنوان ومحتوى:",
"osc99Title": "OSC 99 (غني)",
"osc99Desc": "يدعم بروتوكول Kitty عناوين فرعية ومعرفات إشعارات:",
"variableHeader": "المتغير",
"descriptionHeader": "الوصف",
"envTitle": "عنوان الإشعار (اسم مساحة العمل أو التطبيق)",
"envSubtitle": "العنوان الفرعي للإشعار",
"envBody": "نص محتوى الإشعار",
"cmpTitleBody": "العنوان + المحتوى",
"cmpSubtitle": "العنوان الفرعي",
"cmpNotificationId": "معرّف الإشعار",
"cmpComplexity": "التعقيد",
"cmpYes": "نعم",
"cmpNo": "لا",
"cmpHigher": "أعلى",
"cmpLower": "أقل",
"featureHeader": "الميزة",
"comparisonCallout": "استخدم OSC 777 للإشعارات البسيطة. استخدم OSC 99 عندما تحتاج عناوين فرعية أو معرفات إشعارات. استخدم واجهة الأوامر (cmux notify) لأسهل تكامل.",
"claudeCodeHooks": "خطافات Claude Code",
"claudeCodeHooksDesc": "يتكامل cmux مع <link>Claude Code</link> عبر الخطافات لإعلامك عند اكتمال المهام.",
"createHookScript": "1. إنشاء نص الخطاف",
"configureClaude": "2. إعداد Claude Code",
"restartNote": "أعد تشغيل Claude Code لتطبيق الخطافات.",
"copilotCliHooks": "GitHub Copilot CLI",
"copilotCliHooksDesc": "يدعم Copilot CLI <link>الخطافات</link> التي تنفذ أوامر shell عند أحداث دورة الحياة مثل إرسال الأوامر وتوقف الوكيل والأخطاء.",
"copilotCliRepoHooks": "لخطافات على مستوى المستودع، أنشئ ملف .github/hooks/notify.json بنفس الهيكل:",
"integrationExamples": "أمثلة التكامل",
"notifyAfterLong": "إشعار بعد أمر طويل",
"python": "Python",
"nodejs": "Node.js",
"tmuxPassthrough": "تمرير tmux",
"tmuxDesc": "إذا كنت تستخدم tmux داخل cmux، فعّل التمرير:",
"metaTitle": "الإشعارات"
},
"browserAutomation": {
"title": "أتمتة المتصفح",
"metaDescription": "مرجع أوامر متصفح cmux للتنقل، التفاعل مع DOM، الانتظار، الفحص، تنفيذ JavaScript، علامات التبويب، مربعات الحوار، الإطارات، التنزيلات، وحالة المتصفح.",
"intro": "توفر مجموعة أوامر متصفح cmux أتمتة المتصفح ضد أسطح متصفح cmux. استخدمها للتنقل، التفاعل مع عناصر DOM، فحص حالة الصفحة، تنفيذ JavaScript، وإدارة بيانات جلسة المتصفح.",
"commandIndex": "فهرس الأوامر",
"categoryHeader": "الفئة",
"subcommandsHeader": "الأوامر الفرعية",
"navAndTargeting": "التنقل والاستهداف",
"waiting": "الانتظار",
"domInteraction": "التفاعل مع DOM",
"inspection": "الفحص",
"jsAndInjection": "JavaScript والحقن",
"framesDialogsDownloads": "الإطارات ومربعات الحوار والتنزيلات",
"stateAndSession": "الحالة وبيانات الجلسة",
"tabsAndLogs": "علامات التبويب والسجلات",
"targetingSurface": "استهداف سطح متصفح",
"targetingDesc": "معظم الأوامر الفرعية تتطلب سطحاً مستهدفاً. يمكنك تمريره موضعياً أو بـ --surface.",
"navigation": "التنقل",
"waitingSection": "الانتظار",
"waitingDesc": "استخدم wait للانتظار حتى تتحقق محددات أو نص أو أجزاء URL أو حالة التحميل أو شرط JavaScript.",
"domSection": "التفاعل مع DOM",
"domDesc": "الإجراءات المعدلة تدعم --snapshot-after للتحقق السريع في النصوص.",
"inspectionSection": "الفحص",
"inspectionDesc": "استخدم المحصلات المهيكلة للنصوص واللقطات/لقطات الشاشة للمراجعة البشرية.",
"jsSection": "تنفيذ وحقن JavaScript",
"stateSection": "الحالة",
"stateDesc": "أوامر بيانات الجلسة تغطي الكوكيز والتخزين المحلي/تخزين الجلسة ولقطات حالة المتصفح الكاملة.",
"tabsSection": "علامات التبويب",
"tabsDesc": "عمليات علامات تبويب المتصفح تتطابق مع أسطح المتصفح في مجموعة علامات تبويب المتصفح النشطة.",
"consoleSection": "وحدة التحكم والأخطاء",
"dialogsSection": "مربعات الحوار",
"framesSection": "الإطارات",
"downloadsSection": "التنزيلات",
"commonPatterns": "الأنماط الشائعة",
"patternNavigate": "تنقل وانتظر وافحص",
"patternForm": "ملء نموذج والتحقق من نص النجاح",
"patternDebug": "التقاط مواد التصحيح عند الفشل",
"patternSession": "حفظ واستعادة جلسة المتصفح",
"metaTitle": "أتمتة المتصفح"
},
"changelog": {
"title": "سجل التغييرات",
"metaDescription": "ملاحظات إصدار cmux وسجل الإصدارات. الميزات الجديدة وإصلاحات الأخطاء والتغييرات لطرفية macOS الأصلية.",
"metaTitle": "سجل التغييرات"
},
"navItems": {
"gettingStarted": "البدء",
"concepts": "المفاهيم",
"configuration": "الإعدادات",
"customCommands": "أوامر مخصصة",
"keyboardShortcuts": "اختصارات لوحة المفاتيح",
"apiReference": "مرجع الواجهة البرمجية",
"browserAutomation": "أتمتة المتصفح",
"notifications": "الإشعارات",
"agentIntegrations": "Agent Integrations",
"claudeCodeTeams": "Claude Code Teams",
"ohMyOpenCode": "oh-my-opencode",
"changelog": "سجل التغييرات"
}
},
"legal": {
"privacyPolicy": "سياسة الخصوصية",
"termsOfService": "شروط الخدمة",
"eula": "EULA"
},
"wallOfLove": {
"title": "جدار الحب",
"description": "ماذا يقول الناس عن cmux."
},
"testimonials": {
"mitchellh": "يوم آخر ومشروع آخر مبني على libghostty، هذه المرة طرفية macOS مع علامات تبويب عمودية، تنظيم/إشعارات أفضل، متصفح مدمج/قابل للبرمجة موجه خصيصاً للأشخاص الذين يستخدمون الكثير من سير العمل الوكيلية في الطرفية.",
"schrockn": "هذا بالضبط المنتج الذي كنت أبحث عنه. بعد ساعتين هذا الصباح أصبحت مغرماً به.",
"egrefen": "استخدمته طوال عطلة نهاية الأسبوع وهو مذهل.",
"max4c": "كانت هذه أداتي المفضلة خلال الأسبوعين الماضيين",
"asaza": "cmux يبدو جميلاً لدرجة أنه ربما حان الوقت أخيراً لتوديع VSCode",
"johnthedebs": "مرحباً، هذا يبدو رائعاً بجدية. أحب الأفكار هنا، تحديداً: القابلية للبرمجة، الواجهة متعددة الطبقات، المتصفح مع API. أتطلع لتجربته. وأريد أيضاً أن أضيف أنني أقدر حقاً Mitchell Hashimoto لإنشائه libghostty؛ يبدو وقتاً مثيراً لتكون مستخدم طرفية.",
"joeriddles": "علامات تبويب عمودية في طرفيتي! لم أفكر في ذلك من قبل. أستخدم وأحب علامات التبويب العمودية في Firefox.",
"dchu17": "جربته وكان بديهياً جداً. عمل جيد!",
"afruth": "أعجبني، استخدمته في اليوم الماضي على ثلاثة مشاريع متوازية كل منها بعدة worktrees. استخدامه مع lazygit وyazi / nvim جعلني أكثر إنتاجية قليلاً من المعتاد دون الحاجة لملاحقة عدة نسخ من ghostty / iTerm. كما يبدو أكثر طبيعية من tmux.",
"northprint": "جربت cmux لأنه بدا جيداً، وهو جيد فعلاً",
"indykish": "cmux جيد جداً.",
"kataring": "انتقلت إلى cmux.dev",
"scottw": "كان هذا اكتشافاً مفيداً جداً. لا أستطيع التوصية به بما فيه الكفاية.",
"johnblythe": "حصلت عليه في عطلة نهاية الأسبوع وأحببته. كنت أنتظر شيئاً كهذا.",
"bchris91": "هذا بالضبط ما أردته. عمل مذهل، شكراً لكم!",
"connorelsea": "أستخدمه منذ أسبوع وهو رائع. علامة تبويب عمودية لكل مهمة قيد التنفيذ. بالداخل، Claude على جانب والمتصفح مع PR والموارد على الجانب الآخر، أتنقل بين المهام وأبقى منظماً. امزج ذلك مع المهارات لجعل Claude يراقب CI بشكل متكرر وما إلى ذلك. أشعر بالتنوير بصراحة",
"tonkotsuboy": "انتقلت من Warp إلى Ghostty في بداية السنة، لكن الآن انتقلت إلى cmux. علامات التبويب العمودية مريحة، وأقدر الإشعارات عندما تنتهي مهام Claude Code. هو مبني على Ghostty لذا الأداء السريع ينتقل معه. عرض الفرع والإكمالات التي أعددتها في Ghostty لا تزال تعمل أيضاً."
},
"nightly": {
"title": "cmux NIGHTLY",
"subtitle": "أحدث الإصدارات من الفرع الرئيسي",
"metaTitle": "cmux NIGHTLY — إصدارات ليلية",
"metaDescription": "حمّل cmux NIGHTLY، تطبيق مستقل يُبنى تلقائياً من أحدث commit على main. يعمل بجانب النسخة المستقرة مع تحديثات تلقائية خاصة به.",
"description": "يُبنى cmux NIGHTLY تلقائياً من أحدث commit على main. يمتلك معرّف حزمة خاص به، لذا يعمل بجانب النسخة المستقرة دون تعارض. استخدمه لاختبار الميزات الجديدة قبل إصدارها.",
"download": "تحميل NIGHTLY لنظام Mac",
"warning": "قد تحتوي الإصدارات الليلية على أخطاء أو ميزات غير مكتملة. إذا حدثت مشكلة، أبلغ عنها على <githubLink>GitHub</githubLink> أو في <discordLink>#nightly-bugs على Discord</discordLink> وارجع إلى النسخة المستقرة."
},
"languageSwitcher": {
"label": "اللغة"
}
}