Files
paseo/packages/app/src/i18n/resources/ar.ts
T
Mohamed BoudraandGitHub a622860a3e Keep workspace focus mode scoped and easy to exit (#2151)
* fix(workspace): keep focus mode scoped and easy to exit

Route focus mode through the active workspace so persisted state cannot hide chrome on settings or other screens. Add a visible exit control and keep desktop window chrome aligned and visually quiet.

* fix(app): clarify muted chrome semantics
2026-07-16 23:46:24 +02:00

2085 lines
93 KiB
TypeScript

import type { TranslationResources } from "./en";
export const ar: TranslationResources = {
common: {
back: "خلف",
loading: "تحميل...",
actions: {
back: "خلف",
cancel: "يلغي",
close: "يغلق",
copy: "ينسخ",
dismiss: "رفض",
retry: "أعد المحاولة",
search: "يبحث",
select: "يختار",
},
placeholders: {
search: "يبحث...",
},
empty: {
noResults: "لم يتم العثور على نتائج",
noOptionsMatchSearch: "لا توجد خيارات تطابق بحثك.",
},
states: {
loading: "تحميل...",
starting: "جارٍ البدء...",
copied: "منقول",
copiedLabel: "منسوخ{{label}}",
downloadComplete: "اكتمل التنزيل",
downloadFailed: "فشل التنزيل",
},
errors: {
error: "خطأ",
unableToSave: "غير قادر على الحفظ",
nameRequired: "الاسم مطلوب",
daemonUnavailable: "Daemon غير متوفر",
daemonClientUnavailable: "عميل Daemon غير متوفر",
daemonClientDisconnected: "تم قطع اتصال عميل Daemon",
noFileFound: "لم يتم العثور على ملف لـ{{token}}",
unexpectedDictationError: "حدث خطأ غير متوقع أثناء معالجة الإملاء.",
},
connectionStatus: {
online: "متصل",
connecting: "الاتصال",
offline: "غير متصل",
error: "خطأ",
idle: "عاطل",
},
},
shell: {
menu: {
toggleSidebar: "تبديل الشريط الجانبي",
open: "فتح القائمة",
close: "إغلاق القائمة",
},
commandCenter: {
placeholder: "ابحث في الأوامر ومساحات العمل والوكلاء...",
noMatches: "لا توجد مباريات",
actions: "الإجراءات",
workspaces: "مساحات العمل",
agents: "الوكلاء",
newAgent: "وكيل جديد",
addProject: "إضافة مشروع",
home: "بيت",
},
},
composer: {
placeholders: {
desktop: "أرسل رسالة إلى الوكيل أو ضع علامة على @files أو استخدم /commands و /skills",
mobile: "الرسالة، @files ، /commands",
fallback: "رسالة...",
},
input: {
accessibilityLabel: "وكيل الرسائل...",
focusHint: "{{shortcut}}للتركيز",
addAttachment: "إضافة مرفق",
interruptAgent: "عامل المقاطعة",
queueMessage: "رسالة قائمة الانتظار",
sendAndInterrupt: "إرسال ومقاطعة",
sendMessage: "أرسل رسالة",
queue: "طابور",
send: "يرسل",
},
cancel: {
cancelingAgent: "وكيل الإلغاء",
stopAgent: "توقف الوكيل",
interrupt: "مقاطعة",
},
voice: {
enableVoiceMode: "تمكين الوضع الصوتي",
voiceMode: "وضع الصوت",
unmuteVoiceMode: "إلغاء كتم وضع الصوت",
muteVoiceMode: "وضع كتم الصوت",
stopDictation: "توقف عن الإملاء",
startDictation: "بدء الإملاء",
unmuteVoice: "إلغاء كتم الصوت",
muteVoice: "كتم الصوت",
dictation: "الإملاء",
interruptBeforeVoice: "قم بمقاطعة الوكيل قبل بدء الوضع الصوتي",
},
attachments: {
addImage: "أضف صورة",
addFile: "Upload file",
addIssueOrPr: "أضف مشكلة أو PR",
dropImagesHere: "إسقاط الصور هنا",
dropFilesHere: "Drop files here",
editQueuedMessage: "تحرير الرسالة في قائمة الانتظار",
sendQueuedMessageNow: "إرسال رسالة في قائمة الانتظار الآن",
openImage: "فتح مرفق الصورة",
removeImage: "إزالة مرفق الصورة",
removeFile: "Remove file attachment",
openGithub: "افتح{{kind}}#{{number}}",
removeGithub: "إزالة{{kind}}#{{number}}",
element: "عنصر",
openBrowserElement: "افتح مرفق عنصر المتصفح",
removeBrowserElement: "إزالة مرفق عنصر المتصفح",
openReview: "فتح مرفق المراجعة",
removeReview: "إزالة مرفق المراجعة",
},
errors: {
failedToSend: "فشل في إرسال الرسالة",
failedToCreateAgent: "فشل في إنشاء الوكيل",
noHostSelected: "لم يتم تحديد مضيف",
initialPromptRequired: "مطلوب موجه الأولي",
alreadyLoading: "جارٍ التحميل بالفعل",
uploadFailed: "Failed to upload file",
fileTooLarge: "{{fileName}} is too large (max {{size}})",
},
clientCommands: {
archiveAgent: "أرشفة الوكيل الحالي",
freshDraft: "أرشفة هذا الوكيل وابدأ مسودة جديدة",
},
github: {
searching: "جارٍ البحث...",
noResults: "لم يتم العثور على نتائج.",
searchPlaceholder: "بحث القضايا والعلاقات العامة...",
title: "إرفاق المشكلة أو PR",
},
},
agentControls: {
provider: {
fallback: "مزود",
select: "حدد مزود الوكيل",
},
thinking: {
title: "التفكير",
unknown: "مجهول",
extraHigh: "ارتفاع إضافي",
select: "حدد خيار التفكير",
selectWithValue: "حدد خيار التفكير ({{value}})",
},
model: {
unknown: "نموذج غير معروف",
},
features: {
title: "سمات",
open: "ميزات الوكيل المفتوح",
on: "على",
off: "عن",
},
mode: {
title: "وضع",
searchPlaceholder: "أوضاع البحث...",
selectWithValue: "حدد وضع الوكيل ({{value}})",
},
hints: {
thinking: "وضع التفكير",
model: "تغيير النموذج",
mode: "تغيير الوضع",
},
},
agentStream: {
empty: "ابدأ الدردشة مع هذا الوكيل...",
scrollToBottom: "قم بالتمرير إلى الأسفل",
permission: {
plan: "يخطط",
required: "الإذن مطلوب",
deny: "ينكر",
accept: "يقبل",
implement: "ينفذ",
question: "كيف تريد المتابعة؟",
proposedPlan: "الخطة المقترحة",
},
},
agentPanel: {
states: {
notFound: "لم يتم العثور على Agent",
failedToLoad: "فشل تحميل الوكيل",
reconnecting: "جارٍ إعادة الاتصال...",
archivingTitle: "وكيل الارشيف...",
archivingSubtitle: "الرجاء الانتظار بينما نقوم بأرشفة هذا الوكيل.",
},
unavailable: {
selectedHost: "المضيف المختار",
unknownHost: "لا يمكن فتح هذا الوكيل لأنه لم يتم تكوين{{serverLabel}}على هذا الجهاز.",
addHost: "أضف المضيف في الإعدادات أو افتح وكيلًا على خادم تم تكوينه للمتابعة.",
preparingSession: "جارٍ تحضير جلسة{{serverLabel}}...",
connecting: "جارٍ الاتصال بـ{{serverLabel}}...",
showSoon: "سوف نعرض هذا الوكيل في لحظة.",
showWhenOnline: "سنعرض هذا الوكيل بمجرد اتصال المضيف بالإنترنت.",
reconnectingTo: "جارٍ إعادة الاتصال بـ{{serverLabel}}...",
showAgainWhenReachable: "سنعرض هذا الوكيل مرة أخرى بمجرد الوصول إلى المضيف.",
},
archived: {
callout: "تمت أرشفة هذا الوكيل",
unarchive: "إلغاء الأرشفة",
},
},
sessions: {
title: "السجل",
empty: "لا توجد جلسات بعد",
actions: {
loadMore: "تحميل المزيد",
},
},
agentList: {
fallbackTitle: "جلسة جديدة",
dateSections: {
recent: "مؤخرًا",
today: "اليوم",
yesterday: "أمس",
thisWeek: "هذا الاسبوع",
thisMonth: "هذا الشهر",
older: "أقدم",
},
status: {
initializing: "البدء",
idle: "عاطل",
running: "جري",
error: "خطأ",
closed: "مغلق",
},
badges: {
archived: "مؤرشف",
pending: "{{count}}معلق",
attention: "انتباه",
},
archiveSheet: {
hostOffline: "Host غير متصل",
runningAgent: "هذا الوكيل لا يزال قيد التشغيل. ستؤدي أرشفته إلى إيقاف الوكيل.",
archive: "أرشيف",
},
},
message: {
actions: {
copyCode: "نسخ الرمز",
copyTurn: "نسخ بدوره",
copyMessage: "انسخ الرسالة",
forkMenu: "تفريع الرسالة",
forkInNewTab: "تفريع في تبويب جديد",
forkInNewWorkspace: "تفريع في مساحة عمل جديدة",
forkUnavailable: "حدّث المضيف لاستخدام هذا.",
forkMissingWorkspace: "هذا الوكيل ليس في مساحة عمل.",
forkFailed: "فشل تفريع المحادثة",
openFile: "افتح الملف",
copied: "منقول",
},
attachments: {
dismissImage: "تجاهل الصورة",
closeImage: "إغلاق الصورة",
imageLoadFailed: "تعذر تحميل الصورة",
imageUnavailable: "الصورة غير متاحة",
imagePreviewUnavailable: "معاينة الصورة غير متاحة.",
imagePreviewLoadFailed: "غير قادر على تحميل معاينة الصورة.",
review: "مراجعة",
commentsOne: "تعليق واحد",
commentsMany: "{{count}} تعليقات",
textAttachment: "مرفق النص",
text: "نص",
file: "ملف",
},
speak: {
header: "تكلم",
},
activity: {
details: "تفاصيل",
},
dictation: {
start: "بدء الإملاء الصوتي",
cancel: "إلغاء الإملاء",
retry: "أعد محاولة الإملاء",
insert: "إدراج النسخ",
insertAndSend: "أدخل النسخ وأرسل",
failed: "فشل الإملاء:{{error}}",
failedRetry: "فشل الإملاء. اضغط على إعادة المحاولة.",
},
question: {
submit: "يُقدِّم",
next: "التالي",
answerPlaceholder: "اكتب إجابتك...",
otherPlaceholder: "آخر...",
},
todo: {
title: "المهام",
empty: "لا توجد مهام حتى الآن.",
},
compaction: {
loading: "الضغط...",
auto: "يتم ضغط السياق تلقائيًا",
manual: "تم ضغط السياق يدويًا",
withTokens: "تم ضغط السياق (رموز{{tokens}}K)",
completed: "تم ضغط السياق",
},
},
importSession: {
title: "جلسة الاستيراد",
filters: {
all: "الجميع",
},
status: {
connectHost: "اتصل بمضيف لاستيراد الجلسات",
updateHost: "قم بتحديث المضيف لاستيراد الجلسات.",
noProviders: "لم يتم تمكين أي موفري خدمات قابلين للاستيراد.",
loading: "جارٍ تحميل الجلسات الأخيرة...",
failedAll: "تعذر تحميل الجلسات الأخيرة.",
failedProviders: "تعذر تحميل جلسات العمل لـ{{providers}}.",
failedImport: "تعذر استيراد الجلسة المحددة.",
},
actions: {
refresh: "تحديث الجلسات",
},
preview: {
untitledSession: "جلسة بلا عنوان",
noPrompt: "لا توجد معاينة سريعة",
},
empty: {
noRecent: "لا توجد جلسات حديثة لاستيرادها.",
alreadyImported: "تم بالفعل استيراد كافة الجلسات الأخيرة.",
noProviderSessions: "لم يتم العثور على جلسات{{provider}}.",
},
row: {
importing: "جارٍ الاستيراد...",
},
},
workspace: {
route: {
loading: "جارٍ تحميل مساحة العمل",
connecting: "الاتصال",
hostOffline: "{{hostName}}غير متواجد حالياً",
cannotReachHost: "لا يمكن الوصول إلى{{hostName}}",
hostStatus: "حالة Host:{{status}}",
needsHostUpgrade: "قم بتحديث مضيفك لاستعادة مساحة العمل هذه",
manageHost: "إدارة المضيف",
recovery: {
archivedTitle: "مساحة العمل مؤرشفة",
restoreDescription:
"تمت أرشفة {{workspaceName}} وإزالة شجرة العمل الخاصة بها. استعد الفرع {{branch}} لفتحها مجددًا.",
unarchiveDescription: "{{workspaceName}} مؤرشفة. ألغِ أرشفتها لفتحها مجددًا.",
restoreAction: "استعادة",
unarchiveAction: "إلغاء الأرشفة",
restoringTitle: "جارٍ استعادة مساحة العمل",
restoringAction: "جارٍ الاستعادة...",
unavailableTitle: "مساحة العمل غير متاحة",
checkFailedTitle: "تعذر التحقق من مساحة العمل",
},
},
hoverCard: {
scriptsAccessibility: "البرامج النصية Workspace",
copyPath: "نسخ المسار",
copyBranchName: "نسخ اسم الفرع",
copied: "تم النسخ",
},
fileExplorer: {
sort: {
name: "اسم",
modified: "معدل",
size: "مقاس",
},
context: {
size: "مقاس",
modified: "معدل",
copyPath: "نسخ المسار",
download: "تحميل",
},
actions: {
back: "خلف",
retry: "أعد المحاولة",
refresh: "تحديث الملفات",
refreshing: "تحديث الملفات",
hideHiddenFiles: "إخفاء الملفات المخفية",
showHiddenFiles: "إظهار الملفات المخفية",
},
empty: {
noFiles: "لا توجد ملفات",
noVisibleFiles: "لا توجد ملفات مرئية",
},
states: {
unavailable: "Workspace غير متوفر",
loading: "جارٍ تحميل الملفات...",
},
errors: {
failedToListDirectory: "فشل في سرد ​​الدليل",
},
},
setup: {
descriptor: {
label: "يثبت",
completed: "اكتمل الإعداد",
failed: "فشل الإعداد",
workspace: "إعداد Workspace",
},
status: {
running: "جري",
completed: "مكتمل",
failed: "فشل",
waiting: "في انتظار إخراج الإعداد",
},
waiting: "جارٍ إعداد مساحة العمل...",
empty: {
noCommands: "لم يتم تشغيل أي أوامر إعداد لمساحة العمل هذه.",
},
accessibility: {
noCommands: "لم يتم تشغيل أي أوامر إعداد لمساحة العمل هذه",
log: "سجل إعداد Workspace",
},
log: {
noOutput: "لا يوجد إخراج",
},
},
browser: {
unavailable: {
title: "المتصفح مخصص لسطح المكتب فقط",
subtitle: "افتح مساحة العمل هذه في Electron لاستخدام المتصفح المدمج.",
},
session: "جلسة المتصفح{{browserId}}",
controls: {
back: "خلف",
forward: "إلى الأمام",
stopLoading: "توقف عن التحميل",
refresh: "ينعش",
browserUrl: "متصفح URL",
enterUrl: "أدخل URL",
openDevTools: "افتح أدوات تطوير المتصفح",
cancelSelector: "إلغاء محدد العنصر",
annotateElement: "التعليق على العنصر",
screenshotElement: "لقطة للعنصر",
screenshotCopied: "تم نسخ لقطة الشاشة إلى الحافظة",
elementCopied: "تم نسخ العنصر إلى الحافظة",
screenshotFailed: "تعذّر نسخ لقطة الشاشة",
},
annotate: {
title: "التعليق على العنصر",
placeholder: "رسالة إلى الوكيل حول هذا العنصر…",
submit: "إرفاق",
cancel: "إلغاء",
},
devices: {
label: "حجم الجهاز",
responsive: "متجاوب",
},
errors: {
failedToLoad: "فشل تحميل الصفحة",
invalidUrl: "متصفح غير صالح URL",
unsupportedProtocol: "متصفح محظور غير مدعوم URL:{{protocol}}",
},
},
terminal: {
hostDisconnected: "Host غير متصل",
unableToSubscribe: "غير قادر على الاشتراك في المحطة",
},
tabs: {
loading: "تحميل...",
loadingAgentTitle: "جارٍ تحميل عنوان الوكيل",
emptyPane: "لا توجد علامات تبويب في هذا الجزء.",
fallback: {
newAgent: "وكيل جديد",
setup: "يثبت",
workspaceSetup: "إعداد Workspace",
terminal: "Terminal",
browser: "المتصفح",
agent: "Agent",
workspace: "Workspace",
},
switcher: {
trigger: "تبديل علامات التبويب (فتح{{count}})",
title: "علامة التبويب التبديل",
searchPlaceholder: "علامات تبويب البحث",
},
menu: {
openFor: "فتح القائمة لـ{{label}}",
copyResumeCommand: "نسخ أمر السيرة الذاتية",
copyAgentId: "نسخ معرف الوكيل",
copyFilePath: "Copy file path",
rename: "إعادة تسمية",
closeAbove: "إغلاق علامات التبويب أعلاه",
closeBelow: "إغلاق علامات التبويب أدناه",
closeLeft: "بالقرب من اليسار",
closeRight: "قريب من اليمين",
closeOthers: "أغلق علامات التبويب الأخرى",
reloadAgent: "إعادة تحميل الوكيل",
reloadAgentTooltip: "قم بإعادة تحميل الوكيل لتحديث المهارات أو MCPs أو حالة تسجيل الدخول.",
close: "يغلق",
renameTerminal: "إعادة تسمية المحطة",
renameAgent: "إعادة تسمية الوكيل",
},
actions: {
newAgent: "وكيل جديد",
newTerminal: "محطة جديدة",
preparingTerminal: "إعداد علامة التبويب المحطة الطرفية",
preparingTerminalTooltip: "جارٍ تحضير المحطة...",
newBrowser: "متصفح جديد",
exitFocusMode: "إنهاء وضع التركيز",
splitRight: "تقسيم الجزء الأيمن",
splitDown: "تقسيم الجزء لأسفل",
terminalProfilesMenu: "Terminal profiles",
editTerminalProfiles: "Edit profiles…",
pinTarget: "تثبيت",
unpinTarget: "إلغاء التثبيت",
},
explorer: {
open: "افتح المستكشف",
close: "إغلاق المستكشف",
toggle: "تبديل المستكشف",
changes: "التغييرات",
files: "ملفات",
},
toasts: {
copyFailed: "فشل النسخ",
agentIdCopiedLabel: "AgentID",
resumeCommandCopiedLabel: "أمر الاستئناف",
filePathCopiedLabel: "File path",
resumeIdUnavailable: "السيرة الذاتية ID غير متوفرة",
resumeCommandUnavailable: "أمر الاستئناف غير متوفر",
reloadingAgent: "وكيل إعادة التحميل...",
reloadedAgent: "وكيل إعادة تحميل",
failedToReloadAgent: "فشل في إعادة تحميل الوكيل",
},
confirmations: {
close: "يغلق",
cancel: "يلغي",
archive: "أرشيف",
closeTerminalTitle: "إغلاق المحطة؟",
closeTerminalMessage: "سيتم إيقاف أي عملية جارية في هذه المحطة على الفور.",
archiveRunningAgentTitle: "وكيل تشغيل الأرشيف؟",
archiveRunningAgentMessage:
"هذا الوكيل لا يزال قيد التشغيل. ستؤدي أرشفته إلى إيقاف الوكيل وإغلاق علامة التبويب.",
closeTabsLeftTitle: "هل تريد إغلاق علامات التبويب على اليسار؟",
closeTabsRightTitle: "هل تريد إغلاق علامات التبويب على اليمين؟",
closeOtherTabsTitle: "هل تريد إغلاق علامات التبويب الأخرى؟",
bulk: {
all: "سيؤدي هذا إلى أرشفة وكيل (وكلاء){{agents}}، وإغلاق محطة (محطات){{terminals}}، وإغلاق علامة (علامات) تبويب{{tabs}}. سيتم إيقاف أي عملية جارية في محطة مغلقة على الفور.",
agentsAndTerminals:
"سيؤدي هذا إلى أرشفة وكيل (وكلاء){{agents}}وإغلاق محطة (محطات){{terminals}}. سيتم إيقاف أي عملية جارية في محطة مغلقة على الفور.",
terminalsAndTabs:
"سيؤدي هذا إلى إغلاق محطة (محطات){{terminals}}وإغلاق علامة تبويب (علامات تبويب){{tabs}}. سيتم إيقاف أي عملية جارية في محطة مغلقة على الفور.",
agentsAndTabs:
"سيؤدي هذا إلى أرشفة وكيل (وكلاء){{agents}}وإغلاق علامة (علامات) تبويب{{tabs}}.",
terminals:
"سيؤدي هذا إلى إغلاق محطة (محطات){{terminals}}. سيتم إيقاف أي عملية جارية في محطة مغلقة على الفور.",
tabs: "سيؤدي هذا إلى إغلاق علامة التبويب (علامات التبويب){{tabs}}.",
agents: "سيؤدي هذا إلى أرشفة وكيل (وكلاء){{agents}}.",
},
},
},
header: {
actions: {
workspaceActions: "إجراءات Workspace",
newAgent: "وكيل جديد",
newTerminal: "محطة جديدة",
newBrowser: "علامة تبويب متصفح جديدة",
importSession: "جلسة الاستيراد",
copyPath: "نسخ مسار مساحة العمل",
copyBranchName: "انسخ اسم الفرع",
showSetup: "إظهار الإعداد",
},
toasts: {
workspacePathUnavailable: "مسار Workspace غير متاح بعد",
branchNameUnavailable: "اسم الفرع غير متوفر",
terminalQueued: "تحضير مساحة العمل، وفتح الوحدة الطرفية عندما تكون جاهزة...",
workspacePathCopiedLabel: "مسار Workspace",
branchNameCopiedLabel: "اسم الفرع",
},
},
scripts: {
title: "البرامج النصية",
actions: {
run: "يجري",
view: "منظر",
},
accessibility: {
trigger: "البرامج النصية Workspace",
openAt: "افتح{{scriptName}}في{{label}}",
viewTerminal: "عرض محطة{{scriptName}}",
runScript: "قم بتشغيل البرنامج النصي{{scriptName}}",
script: "البرنامج النصي{{scriptName}}",
},
states: {
exitCode: "الخروج من{{code}}",
startFailed: "فشل بدء تشغيل{{scriptName}}",
},
},
git: {
actions: {
moreOptions: "المزيد من الخيارات",
moreActions: "المزيد من الإجراءات",
commit: {
label: "يقترف",
pending: "ارتكاب...",
success: "ملتزم",
},
pull: {
label: "يحذب",
pending: "سحب...",
success: "انسحبت",
},
push: {
label: "يدفع",
pending: "دفع...",
success: "دفعت",
},
pullAndPush: {
label: "سحب ودفع",
pending: "سحب و دفع...",
success: "سحبت ودفعت",
},
viewPr: "عرض PR",
createPr: {
label: "إنشاء PR",
pending: "إنشاء PR...",
success: "تم إنشاء PR",
},
mergeBranch: {
label: "دمج محليا",
pending: "جار الدمج...",
success: "تم الدمج",
},
mergeFromBase: {
label: "التحديث من{{baseRef}}",
pending: "جارٍ التحديث...",
success: "تم التحديث",
},
archive: {
label: "أرشفة مساحة العمل",
pending: "أرشفة...",
success: "مؤرشف",
},
mergePr: {
squash: "دمج PR (squash)",
merge: "دمج PR (merge)",
rebase: "دمج PR (rebase)",
pending: "دمج PR...",
success: "تم دمج PR",
},
autoMerge: {
enableSquash: "دمج تلقائي (squash)",
enableMerge: "دمج تلقائي (merge)",
enableRebase: "دمج تلقائي (rebase)",
enabled: "تم تمكين الدمج التلقائي",
enabling: "تمكين الدمج التلقائي...",
disabling: "تعطيل الدمج التلقائي...",
disabled: "تم تعطيل الدمج التلقائي",
},
unavailable: {
viewPrNoGithub: "عرض PR غير متاح الآن لأن GitHub غير متصل",
pullNoRemote: "السحب غير متاح هنا لأن هذا الفرع غير متصل بجهاز التحكم عن بعد بعد",
pullDirty: "السحب غير متاح أثناء وجود تغييرات محلية، لذا قم بتنفيذها أو تخزينها أولاً",
pullUpToDate: "السحب غير متاح لأن هذا الفرع محدث بالفعل",
pushNoRemote: "الدفع غير متاح هنا لأن هذا الفرع غير متصل بجهاز التحكم عن بعد بعد",
pushBehind: "الدفع غير متاح حتى الآن نظرًا لوجود تغييرات أحدث يجب إدخالها أولاً",
pushNothing: "خدمة الدفع غير متاحة لأنه لا يوجد شيء جديد لإرساله",
pullAndPushNoRemote:
"السحب والدفع غير متاح هنا لأن هذا الفرع غير متصل بجهاز التحكم عن بعد بعد",
pullAndPushDirty:
"لا يتوفر السحب والدفع أثناء وجود تغييرات محلية، لذا قم بتنفيذها أو تخزينها أولاً",
pullAndPushInSync: "السحب والدفع غير متاح لأن هذا الفرع متزامن بالفعل",
createPrNoGithub: "إنشاء PR غير متاح حاليًا لأن GitHub غير متصل",
createPrNoCommits: "إنشاء PR غير متاح لأن هذا الفرع ليس لديه أي التزامات جديدة حتى الآن",
mergeNoBase: "الدمج غير متاح لأننا لم نتمكن من تحديد الفرع الأساسي",
mergeDirty:
"الدمج غير متاح عندما تكون لديك تغييرات محلية، لذا قم بتنفيذها أو تخزينها أولاً",
mergeNothing: "الدمج غير متاح لأن هذا الفرع لا يحتوي على أي شيء جديد لدمجه حتى الآن",
updateNoBase: "التحديث غير متاح لأننا لم نتمكن من تحديد الفرع الأساسي",
updateDirty: "التحديث غير متاح أثناء وجود تغييرات محلية، لذا قم بتنفيذها أو تخزينها أولاً",
updateCurrent: "التحديث غير متاح لأن هذا الفرع محدث بالفعل باستخدام{{baseRef}}",
mergePrNoGithub: "دمج PR غير متاح الآن لأن GitHub غير متصل",
mergePrMissing: "دمج PR غير متاح لأنه لا يوجد طلب سحب حتى الآن",
mergePrDraft: "دمج PR غير متاح لأن طلب السحب لا يزال مسودة",
mergePrMerged: "دمج PR غير متاح لأن طلب السحب مدمج بالفعل",
mergePrClosed: "دمج PR غير متاح لأن طلب السحب مغلق",
mergePrConflicts: "دمج PR غير متاح لأن طلب السحب به تعارضات",
mergePrQueue: "دمج PR غير متاح هنا لأن هذا المستودع يستخدم قائمة انتظار دمج",
mergePrNotReady: "دمج PR غير متاح حتى يبلغ GitHub أن طلب السحب جاهز للدمج",
autoMergeCannotDisable: "تم تمكين الدمج التلقائي، ولكن لا يمكن لهذا الحساب تعطيله",
},
toasts: {
failedCommit: "فشل في الالتزام",
failedPull: "فشل في السحب",
failedPush: "فشل في الدفع",
failedPullAndPush: "فشل في السحب والدفع",
failedCreatePr: "فشل في إنشاء PR",
failedMergePr: "فشل دمج PR",
failedEnableAutoMerge: "فشل في تمكين الدمج التلقائي",
failedDisableAutoMerge: "فشل في تعطيل الدمج التلقائي",
baseRefUnavailable: "المرجع الأساسي غير متاح",
failedMerge: "فشل الدمج",
failedMergeFromBase: "فشل الدمج من القاعدة",
},
archiveWarning: {
title: 'الأرشيف "{{workspaceName}}"؟',
confirm: "أرشيف",
cancel: "يلغي",
uncommittedChanges: "تغييرات غير ملتزم بها",
uncommittedChangesWithDiff: "التغييرات غير الملتزم بها ({{diffStat}})",
addedLine: "تمت إضافة خط{{count}}",
addedLines: "تمت إضافة خطوط{{count}}",
deletedLine: "تم حذف الخط{{count}}",
deletedLines: "الخطوط المحذوفة{{count}}",
unpushedCommit: "التزام{{count}}غير المدفوعة",
unpushedCommits: "التزامات{{count}}غير المدفوعة",
},
},
diff: {
binaryFile: "ملف ثنائي",
tooLarge: "الفرق كبير جدًا بحيث لا يمكن عرضه",
unified: "الفرق الموحدة",
split: "فرق جنبًا إلى جنب",
switchToUnified: "التبديل إلى الفرق الموحد",
switchToSplit: "التبديل إلى الفرق جنبًا إلى جنب",
showTreeView: "إظهار شجرة المجلدات",
showFlatView: "إظهار قائمة الملفات المسطحة",
options: "خيارات الفرق",
hideWhitespace: "إخفاء المسافة البيضاء",
showWhitespace: "إظهار المسافة البيضاء",
scrollLongLines: "قم بتمرير الخطوط الطويلة",
wrapLongLines: "لف الخطوط الطويلة",
collapseAll: "طي كافة الملفات",
expandAll: "قم بتوسيع كافة الملفات",
collapseAllFolders: "طي كافة المجلدات",
expandAllFolders: "توسيع كافة المجلدات",
refreshing: "منعش",
refresh: "ينعش",
refreshState: "تحديث بوابة وحالة GitHub",
failedRefresh: "فشل تحديث حالة git.",
emptyHiddenWhitespace: "لا توجد تغييرات مرئية بعد إخفاء المسافة البيضاء",
emptyUncommitted: "لا توجد تغييرات غير ملتزم بها",
emptyAgainstBase: "لا توجد تغييرات مقابل{{baseRef}}",
checkingRepository: "فحص المستودع...",
notRepository: "ليس مستودع جيت",
diffMode: "وضع الفرق",
uncommitted: "غير ملتزم",
committed: "ملتزم",
branchUnknown: "مجهول",
base: "قاعدة",
newFile: "جديد",
deletedFile: "تم الحذف",
commits: {
title: "الإيداعات",
legendLocal: "محلي",
legendRemote: "على المستودع البعيد",
countLabel: "{{count}} إيداعات قبل الأساس",
fileDiffEmpty: "لا توجد تغييرات لعرضها",
fileDiffError: "تعذّر تحميل فروق الملف",
loading: "جارٍ تحميل الإيداعات…",
loadError: "تعذّر تحميل الإيداعات",
empty: "لا توجد إيداعات قبل الأساس",
},
},
openInEditor: {
open: "يفتح",
chooseEditor: "اختر المحرر",
openIn: "افتح مساحة العمل في{{target}}",
openFileIn: "Open {{fileName}} in {{target}}",
failedOpen: "فشل في فتح مساحة العمل",
},
pr: {
actions: {
viewPullRequest: "عرض",
},
sections: {
checks: "الشيكات",
reviews: "التعليقات",
},
accessibility: {
pullRequest: "سحب الطلب #{{number}}",
},
states: {
draft: "مسودة",
merged: "تم الدمج",
closed: "مغلق",
open: "يفتح",
},
activity: {
commented: "علق",
approved: "موافقة",
requestedChanges: "التغييرات المطلوبة",
reviewed: "تمت المراجعة",
},
time: {
justNow: "الآن",
},
errors: {
statusLoadFailed: "غير قادر على تحميل حالة طلب السحب",
activityLoadFailed: "غير قادر على تحميل نشاط طلب السحب",
},
},
},
},
sidebar: {
pinned: {
title: "المثبتة",
},
host: {
noHost: "لا مضيف",
switchTitle: "تبديل المضيف",
searchPlaceholder: "بحث عن المضيفين...",
},
actions: {
addProject: "إضافة مشروع",
newWorkspace: "مساحة عمل جديدة",
hosts: "المضيفون",
home: "بيت",
settings: "إعدادات",
closeSidebar: "إغلاق الشريط الجانبي",
},
help: {
trigger: "المساعدة والدعم",
sectionHelp: "المساعدة",
diagnostics: "تشغيل التشخيص",
shortcuts: "اختصارات لوحة المفاتيح",
reportIssue: "الإبلاغ عن مشكلة",
discord: "Discord",
github: "إنشاء مشكلة على GitHub",
whatsNew: "ما الجديد",
version: "Paseo {{version}}",
},
sections: {
sessions: "السجل",
schedules: "الجداول",
},
worktreeSetup: {
title: "إعداد البرامج النصية لشجرة العمل",
description:
"أضف أوامر الإعداد حتى تتمكن أشجار العمل الجديدة من تثبيت التبعيات وإعداد نفسها تلقائيًا.",
openProjectSettings: "افتح إعدادات المشروع",
},
project: {
actions: {
menu: "إجراءات المشروع",
openSettings: "افتح إعدادات المشروع",
openNewWindow: "Open in new window",
openNewWindowFailed: "Couldn't open a new window",
remove: "إزالة المشروع",
removing: "جارٍ الإزالة...",
},
confirmations: {
removeTitle: "هل تريد إزالة المشروع؟",
removeMessage:
'هل تريد إزالة "{{projectName}}" من الشريط الجانبي؟\n\n لن يتم تغيير الملفات الموجودة على القرص.',
removeConfirm: "يزيل",
cancel: "يلغي",
},
toasts: {
hostDisconnected: "Host غير متصل",
removeFailed: "فشل في إزالة بعض مساحات العمل",
updateHostToRemove: "قم بتحديث Host لإزالة المشاريع.",
},
empty: {
title: "لا توجد مشاريع حتى الآن",
description: "أضف مشروعًا للبدء",
},
},
workspace: {
status: {
scriptsAvailable: "البرامج النصية المتاحة",
creating: "جارٍ الإنشاء...",
},
actions: {
menu: "إجراءات Workspace",
newWorkspace: "مساحة عمل جديدة",
createWorkspaceFor: "قم بإنشاء مساحة عمل جديدة لـ{{projectName}}",
copyPath: "نسخ المسار",
copyBranchName: "انسخ اسم الفرع",
rename: "إعادة تسمية مساحة العمل",
pin: "تثبيت في الأعلى",
unpin: "إلغاء التثبيت",
archive: "أرشيف",
archiveWorkspace: "أرشفة مساحة العمل",
hideFromSidebar: "إخفاء من الشريط الجانبي",
archiving: "أرشفة...",
hiding: "إخفاء...",
},
confirmations: {
hideTitle: "إخفاء مساحة العمل؟",
hideMessage:
'إخفاء "{{workspaceName}}" من الشريط الجانبي؟\n\n لن يتم تغيير الملفات الموجودة على القرص.',
hideConfirm: "يخفي",
cancel: "يلغي",
},
rename: {
title: "إعادة تسمية مساحة العمل",
submit: "إعادة تسمية",
invalidBranchName: "اسم الفرع غير صالح",
},
toasts: {
workspacePathUnavailable: "مسار Workspace غير متوفر",
pathCopied: "تم نسخ المسار",
branchNameCopied: "تم نسخ اسم الفرع",
hostDisconnected: "Host غير متصل",
hideFailed: "فشل في إخفاء مساحة العمل",
archiveFailed: "فشل في أرشفة مساحة العمل",
},
},
},
newWorkspace: {
title: "مساحة عمل جديدة",
create: "يخلق",
isolation: {
local: "محلي",
worktree: "شجرة عمل جديدة",
label: "العزل",
},
fields: {
project: "المشروع",
base: "الأساس",
baseNotApplicable: "غير قابل للتطبيق",
},
titlePlaceholder: "العنوان (اختياري)",
errors: {
hostDisconnected: "Host غير متصل",
createWorktreeFailed: "فشل في إنشاء شجرة العمل",
composerStateRequired: "حالة الملحن مطلوبة",
selectModel: "اختر نموذجا",
},
refPicker: {
startingRef: "بدء المرجع",
chooseStart: "اختر من أين تبدأ",
checkoutHint: "تحقق من PR#{{number}}؟",
checkoutPr: "تحقق من PR#{{number}}",
dismissCheckoutHint: "تجاهل تلميح الخروج PR#{{number}}",
intoBase: "إلى{{baseRef}}",
searching: "جارٍ البحث...",
noMatchingRefs: "لا توجد مراجع مطابقة.",
searchPlaceholder: "بحث الفروع والعلاقات العامة",
title: "ابدأ من",
},
},
desktop: {
quitting: {
title: "جارٍ إنهاء Paseo...",
detail: "إيقاف البرنامج الخفي المحلي.",
},
daemon: {
title: "Daemon",
status: {
title: "حالة",
builtInOnly: "يتم عرض البرنامج الخفي لسطح المكتب المدمج فقط هنا",
running: "جري",
notRunning: "لا يعمل",
pid: "PID{{pid}}",
},
management: {
title: "إدارة البرنامج الخفي المدمج",
hint: "اسمح لـ Paseo ببدء تشغيل البرنامج الخفي المدمج وإيقافه",
pauseTitle: "وقفة المدمج في البرنامج الخفي",
pauseMessage:
"سيؤدي هذا إلى إيقاف البرنامج الخفي المدمج على الفور. سيتم إيقاف تشغيل الوكلاء والمحطات الطرفية المتصلة بالبرنامج الخفي المدمج.",
pauseAndStop: "وقفة وتوقف",
registrationFailed:
"Built-in daemon started, but Paseo could not save the localhost connection. Toggle daemon management off and on again, or add localhost manually.",
pausedStopFailed:
"تم إيقاف إدارة البرنامج الخفي المضمنة مؤقتًا، لكن لم يتمكن Paseo من إيقاف البرنامج الخفي.",
updateFailed: "غير قادر على تحديث إدارة البرنامج الخفي المضمنة.",
},
keepRunning: {
title: "استمر في تشغيل البرنامج الخفي بعد الإقلاع عن التدخين",
hint: "يستمر تشغيل Daemon عند إنهاء Paseo",
},
logs: {
title: "ملف السجل",
modalTitle: "سجلات Daemon",
unavailable: "مسار السجل غير متاح",
empty: "(ملف السجل فارغ)",
copied: "تم نسخ مسار السجل.",
copyFailed: "غير قادر على نسخ مسار السجل.",
open: "فتح السجلات",
copyPath: "نسخ المسار",
},
fullStatus: {
title: "الوضع الكامل",
modalTitle: "حالة Daemon",
hint: "يقوم بتشغيل`paseo daemon status`ويظهر الإخراج",
view: "عرض الحالة",
copied: "تم نسخ الحالة إلى الحافظة.",
fetchFailed: "فشل جلب حالة البرنامج الخفي:{{message}}",
},
advancedSettings: "الإعدادات المتقدمة",
openAdvancedSettings: "افتح إعدادات البرنامج الخفي المتقدمة",
versionMismatch:
"إصدارا التطبيق والبرنامج الخفي غير متطابقين. قم بتحديث كلاهما إلى نفس الإصدار للحصول على أفضل تجربة.",
loadFailed: "غير قادر على تحميل حالة البرنامج الخفي لسطح المكتب.",
},
updates: {
status: {
checking: "جارٍ التحقق من وجود تحديثات للتطبيق...",
installing: "جارٍ تثبيت تحديث التطبيق...",
upToDate: "التطبيق محدث.",
upToDateWithLastChecked: "Up to date. Last checked at {{time}}.",
pending: "سنخبرك عندما يصبح التحديث جاهزًا.",
pendingWithLastChecked: "سنخبرك عندما يصبح التحديث جاهزًا. آخر فحص في {{time}}.",
pendingWithVersion: "تم العثور على تحديث: {{version}}. جارٍ التنزيل...",
pendingWithVersionAndLastChecked:
"تم العثور على تحديث: {{version}}. جارٍ التنزيل... آخر فحص في {{time}}.",
availableWithVersion: "التحديث جاهز:{{version}}",
availableWithVersionAndLastChecked: "التحديث جاهز:{{version}}. آخر فحص في {{time}}.",
available: "تحديث التطبيق جاهز للتثبيت.",
availableWithLastChecked: "تحديث التطبيق جاهز للتثبيت. آخر فحص في {{time}}.",
installed: "تم تثبيت تحديث التطبيق. إعادة التشغيل مطلوبة.",
failed: "فشل في تحديث التطبيق.",
idle: "لم يتم التحقق من حالة التحديث بعد.",
},
installError: "غير قادر على تثبيت تحديث تطبيق سطح المكتب.",
callout: {
installingTitle: "تثبيت التحديث",
failedTitle: "فشل التحديث",
availableTitle: "التحديث متاح",
genericError: "حدث خطأ ما.",
whatsNew: "ما هو الجديد",
installingAction: "جارٍ التثبيت...",
installAndRestart: "التثبيت وإعادة التشغيل",
installingDescription: "التثبيت وإعادة التشغيل...",
versionReady: "{{version}}جاهز للتثبيت.",
newVersionReady: "إصدار جديد جاهز للتثبيت.",
restartWarning: "ستؤدي ترقية التطبيق إلى إيقاف تشغيل الوكلاء وإغلاق الجلسات الطرفية.",
},
},
settings: {
loadFailed: "غير قادر على تحميل إعدادات سطح المكتب.",
saveFailed: "غير قادر على حفظ إعدادات سطح المكتب.",
},
rosetta: {
title: "قم بتنزيل نسخة Apple Silicon",
runningIntel: "أنت تقوم بتشغيل إصدار Intel من Paseo ضمن Rosetta على Apple Silicon.",
highCpu:
"يؤدي هذا إلى ارتفاع استخدام وحدة المعالجة المركزية. قم بتنزيل إصدار Apple Silicon لإصلاحه.",
download: "تحميل",
},
permissions: {
notifications: {
allowed: "يسمح نظام التشغيل بالإشعارات.",
denied: "تم رفض الإخطارات في إعدادات النظام.",
notGranted: "لم يتم منح الإخطارات بعد.",
webOnly: "حالة إشعار سطح المكتب متاحة فقط في وقت تشغيل الويب.",
supported: "يتم دعم إشعارات سطح المكتب.",
unsupported: "إشعارات سطح المكتب غير مدعومة على هذا النظام الأساسي.",
apiUnavailable: "واجهة برمجة تطبيقات إشعارات الويب غير متاحة في هذه البيئة.",
requestsWebOnly: "طلبات إعلام سطح المكتب متاحة فقط في وقت تشغيل الويب.",
requestUnavailable: "واجهة برمجة تطبيقات إشعارات الويب requestPermission() غير متاحة.",
requestFailed: "فشل طلب إذن الإعلام:{{message}}",
unexpectedState: "حالة إذن الإعلام غير المتوقعة:{{state}}",
},
microphone: {
webOnly: "حالة ميكروفون سطح المكتب متاحة فقط في وقت تشغيل الويب.",
navigatorUnavailable: "Navigator غير متوفر في هذه البيئة.",
granted: "تم منح الوصول إلى الميكروفون.",
denied: "تم رفض الوصول إلى الميكروفون في إعدادات النظام.",
notGranted: "لم يتم منح إذن الميكروفون بعد.",
unexpectedState: "حالة إذن الميكروفون غير متوقعة:{{state}}",
statusApiUnavailable:
"واجهة برمجة التطبيقات لحالة الميكروفون غير متاحة في وقت التشغيل هذا. استخدم الطلب للتحقق من الوصول.",
queryFailed: "فشل الاستعلام عن حالة الميكروفون:{{message}}",
captureUnavailable: "التقاط الميكروفون غير متوفر في هذه البيئة.",
permissionApiUnavailable:
"واجهة برمجة تطبيقات حالة الإذن غير متاحة. استخدم الطلب للتحقق من الوصول.",
requestsWebOnly: "طلبات ميكروفون سطح المكتب متاحة فقط في وقت تشغيل الويب.",
captureApiUnavailable: "واجهة برمجة تطبيقات التقاط الميكروفون غير متاحة في هذه البيئة.",
requestDenied: "تم رفض إذن الميكروفون من قبل المستخدم أو النظام.",
noDevice: "لم يتم العثور على جهاز ميكروفون.",
requestFailed: "فشل طلب إذن الميكروفون:{{message}}",
},
empty: {
notifications: "لم يتم التحقق من حالة الإخطار بعد.",
microphone: "لم يتم التحقق من حالة الميكروفون بعد.",
},
testNotification: {
title: "اختبار الإخطار Paseo",
body: "إذا كان بإمكانك رؤية ذلك، فهذا يعني أن إشعارات سطح المكتب تعمل.",
notDelivered: "لم يتم تسليم الإخطار. تحقق من إعدادات النظام > الإشعارات.",
failed: "فشل في إرسال الإخطار.",
},
},
integrations: {
cli: {
statusFailed: "غير قادر على التحقق من حالة تثبيت CLI.",
installFailed: "غير قادر على تثبيت PaseoCLI.",
},
skills: {
statusFailed: "غير قادر على التحقق من حالة مهارات التنسيق.",
installFailed: "غير قادر على تثبيت مهارات التنسيق.",
updateFailed: "غير قادر على تحديث مهارات التنسيق.",
uninstallFailed: "غير قادر على إلغاء تثبيت مهارات التنسيق.",
},
},
},
rootError: {
kicker: "حدث خطأ",
title: "واجه Paseo مشكلة.",
body: "جرّب مرة أخرى لإعادة تحميل التطبيق. إذا استمر حدوث ذلك، فأرفق التفاصيل أدناه عند الإبلاغ عنه.",
details: "التفاصيل",
},
startup: {
errorTitle: "حدث خطأ ما",
errorDescription:
"فشل الخادم المحلي في البدء. إذا استمر حدوث ذلك، فيرجى الإبلاغ عن المشكلة على GitHub وتضمين السجلات أدناه.",
logs: {
loading: "جارٍ تحميل سجلات البرنامج الخفي...",
unavailable: "لا توجد سجلات خفية متاحة.",
loadFailed: "غير قادر على تحميل سجلات البرنامج الخفي:{{message}}",
},
},
openProject: {
tiles: {
addProject: {
title: "أضف مشروعًا",
description: "افتح مجلدًا على جهازك",
},
importSession: {
title: "جلسة الاستيراد",
description: "أحضر جلسات CLI الخارجية الأخيرة",
},
setupProviders: {
title: "موفري الإعداد",
description: "قم بتكوين Claude Code و Codex والمزيد",
},
pairDevice: {
title: "إقران الجهاز",
description: "قم بتوصيل هاتفك بهذا البرنامج الخفي",
},
},
},
projectPicker: {
placeholder: "اكتب للبحث...",
browse: "استعراض…",
opening: "افتتاح المشروع...",
searching: "جارٍ البحث...",
empty: "ابدأ بكتابة المسار",
errors: {
directory_not_found: "لم يتم العثور على الدليل.",
open_failed: "تعذر فتح المشروع.",
},
openPath: "فتح المسار",
},
branchSwitcher: {
currentBranch: "الفرع الحالي:{{branchName}}. اضغط لتبديل الفرع.",
placeholder: "تبديل الفرع...",
searchPlaceholder: "تصفية الفروع...",
empty: "لم يتم العثور على فروع.",
title: "فرع التبديل",
uncommittedTitle: "تغييرات غير ملتزم بها",
uncommittedMessage: "لديك تغييرات غير ملتزم بها. خبأهم قبل تبديل الفروع؟",
stashAndSwitch: "خبأ والتبديل",
failedToStash: "فشل في تخزين التغييرات",
failedToSwitch: "فشل في تبديل الفرع",
restoreStashTitle: "هل تريد استعادة التغييرات المخبأة؟",
restoreStashMessage: "قام هذا الفرع بتخزين التغييرات من جلسة سابقة. هل ترغب في استعادتها؟",
restore: "يعيد",
later: "لاحقاً",
stashRestored: "تمت استعادة التغييرات المخفية",
},
agentAutocomplete: {
searchingWorkspace: "جارٍ البحث في مساحة العمل...",
loadingCommands: "جارٍ تحميل الأوامر...",
noFiles: "لم يتم العثور على ملفات أو أدلة",
noCommands: "لم يتم العثور على أي أوامر",
failedToLoad: "فشل التحميل",
},
loadOlderHistory: {
failed: "تعذر تحميل السجل الأقدم",
},
imageAttachmentPicker: {
permissionTitle: "الإذن مطلوب",
permissionMessage: "يرجى السماح بالوصول إلى مكتبة الصور الخاصة بك لإرفاق الصور.",
errorTitle: "خطأ",
failedToSelect: "فشل في تحديد الصورة",
dialogTitle: "إرفاق الصور",
dialogFilterName: "الصور",
},
workspaceSetup: {
title: "إنشاء مساحة عمل",
errors: {
failedCreateWorktree: "فشل في إنشاء شجرة العمل",
failedOpenProject: "فشل في فتح المشروع",
selectModel: "اختر نموذجا",
hostDisconnected: "Host غير متصل",
pendingRequired: "لا يوجد إعداد معلق لمساحة العمل",
composerStateRequired: "مطلوب حالة مؤلف إعداد Workspace",
},
},
onboarding: {
title: "مرحبا بكم في Paseo",
subtitle: "قم بتوصيل جهاز الكمبيوتر الخاص بك للبدء",
actions: {
settings: "إعدادات",
},
},
modelSelector: {
title: "حدد المزود",
selectModel: "حدد النموذج",
selectedModel: "اختر الموديل ({{model}})",
loading: "تحميل...",
loadingShort: "تحميل",
loadingSelector: "جارٍ تحميل محدد النموذج...",
error: "خطأ",
defaultModel: "تقصير",
favorites: "المفضلة",
favoriteModel: "النموذج المفضل",
unfavoriteModel: "نموذج غير مفضل",
modelCount: "{{count}} نموذج",
modelCountPlural: "{{count}} نماذج",
retry: "أعد المحاولة",
retrying: "جارٍ إعادة المحاولة...",
noMatches: "لا توجد نماذج تطابق بحثك",
searchPlaceholder: "نماذج البحث...",
openProviderSettings: "افتح إعدادات{{provider}}",
},
providerCatalog: {
title: "إضافة مزود",
search: "مقدمي البحث",
noProviders: "لم يتم العثور على مقدمي الخدمات",
actions: {
add: "يضيف",
adding: "إضافة",
installed: "تم التثبيت",
cancel: "يلغي",
installInstructions: "تعليمات التثبيت",
installInstructionsFor: "تعليمات تثبيت{{provider}}",
},
errors: {
unableToInstall: "غير قادر على تثبيت الموفر",
},
},
providerSelection: {
defaultModel: "تقصير",
selectModel: "حدد النموذج",
loading: "تحميل...",
error: "خطأ",
unavailable: "غير متاح",
unknownError: "خطأ غير معروف",
readiness: {
initialPromptRequired: "مطلوب موجه الأولي",
noProviders: "لا يوجد موفري خدمة متاحين على المضيف المحدد",
modelDefaultsLoading: "لا يزال يتم تحميل الإعدادات الافتراضية للنموذج",
noModelAvailable: "لا يوجد نموذج متاح للموفر المحدد",
workspaceDirectoryNotFound: "لم يتم العثور على دليل Workspace",
hostDisconnected: "Host غير متصل",
},
},
pairing: {
connectionMethods: {
title: "إضافة اتصال",
direct: {
title: "اتصال مباشر",
description: "الشبكة المحلية أو VPN.",
},
scanQr: {
title: "مسح رمز QR",
description: "اتصال التتابع المشفر.",
},
pasteLink: {
title: "الصق رابط الاقتران",
description: "اتصال التتابع المشفر.",
},
},
direct: {
title: "اتصال مباشر",
helper: "أدخل عنوان خادم Paseo.",
fields: {
host: "Host",
port: "ميناء",
password: "كلمة المرور",
optional: "خياري",
useSsl: "استخدم طبقة المقابس الآمنة",
connectionUri: "معرف URI للاتصال",
},
advanced: {
label: "متقدم",
show: "عرض متقدم",
hide: "إخفاء المتقدمة",
},
passwordVisibility: {
show: "إظهار كلمة المرور",
hide: "إخفاء كلمة المرور",
},
actions: {
cancel: "يلغي",
connect: "يتصل",
connecting: "جارٍ الاتصال...",
},
errors: {
hostRequired: "مطلوب Host",
invalidPort: "يجب أن يكون المنفذ بين 1 و65535",
invalidConnection: "اتصال غير صالح",
failedTitle: "فشل الاتصال",
failedToConnect: "فشلنا في الاتصال بـ{{endpoint}}.",
noAdditionalDetails: "{{detail}}(لم يتم تقديم تفاصيل إضافية)",
timedOut: "انتهت مهلة الاتصال. تحقق من المضيف /port وشبكتك.",
refused: "رفض اتصال. هل الخادم يعمل على هذا العنوان؟",
hostNotFound: "لم يتم العثور على Host. تحقق من اسم المضيف وحاول مرة أخرى.",
hostUnreachable: "Host غير قابل للوصول. تحقق من شبكتك وجدار الحماية.",
tlsError:
"خطأ TLS. تستخدم الاتصالات المباشرة SSL فقط عندما يكون فاصل TLS أمام البرنامج الخفي.",
unableToConnect:
"غير قادر على الاتصال. تحقق من المضيف /port ومن إمكانية الوصول إلى البرنامج الخفي.",
details: "التفاصيل:{{detail}}",
},
},
link: {
title: "الصق رابط الاقتران",
helper: "الصق رابط الاقتران من الخادم الخاص بك.",
label: "رابط الاقتران",
errors: {
required: "الصق رابط الاقتران (.../#offer=...)",
missingOffer: "يجب أن يتضمن الرابط #offer=...",
emptyOffer: "حمولة العرض فارغة",
invalid: "رابط الاقتران غير صالح",
unableToPair: "غير قادر على إقران المضيف",
},
alert: {
failedTitle: "فشل الاقتران",
},
actions: {
cancel: "يلغي",
pair: "زوج",
pairing: "الاقتران...",
},
},
scan: {
title: "مسح QR",
webUnavailableTitle: "غير متوفر على شبكة الإنترنت",
webUnavailableBody: 'فحص QR غير مدعوم في بناء الويب. استخدم "لصق الرابط" بدلاً من ذلك.',
backToSettings: "العودة إلى الإعدادات",
cameraPermissionTitle: "إذن الكاميرا",
cameraPermissionBody: "اسمح بالوصول إلى الكاميرا لمسح رمز الاقتران QR من البرنامج الخفي لديك.",
grantPermission: "منح الإذن",
pairing: "الاقتران...",
unableToPair: "غير قادر على إقران المضيف",
errorTitle: "خطأ",
},
device: {
loadingOffer: "جارٍ تحميل عرض الإقران...",
failedToLoadOffer: "فشل تحميل عرض الاقتران.",
relayDisabled: "لم يتم تمكين التتابع. تمكين التتابع لإقران جهاز.",
unavailable: "عرض الاقتران غير متاح.",
hint: "قم بمسح رمز QR هذا باستخدام Paseo على هاتفك، أو انسخ الرابط أدناه.",
qrUnavailable: "رمز QR غير متاح.",
retry: "أعد المحاولة",
copy: "ينسخ",
copied: "منقول",
},
},
realtimeVoice: {
actions: {
mute: "كتم صوت الوقت الحقيقي",
unmute: "إلغاء كتم صوت الوقت الحقيقي",
stop: "إيقاف الصوت في الوقت الحقيقي ومقاطعة الدوران",
},
},
rewind: {
tooltip: "الترجيع إلى هذه الرسالة",
warning: "لا يمكن التراجع عن هذا الإجراء",
actions: {
conversation: "ترجيع المحادثة",
files: "ترجيع الملفات",
both: "ترجيع المحادثة والملفات",
},
errors: {
failed: "فشل في إرجاع الوكيل",
},
},
diffViewer: {
empty: "لا توجد تغييرات للعرض",
},
serviceUrl: {
title: "افتح الخدمة URL",
message: "افتح{{url}}؟",
inPaseo: "في Paseo",
externalBrowser: "متصفح خارجي",
dontAskAgain: "لا تسأل مرة أخرى",
},
downloads: {
requestTokenFailed: "فشل طلب رمز التنزيل.",
hostUnavailable: "مضيف التنزيل غير متاح.",
cancelled: "تم إلغاء التنزيل.",
failed: "فشل تنزيل الملف.",
shareFile: "مشاركة الملف",
shareFileNamed: "مشاركة{{fileName}}",
},
menu: {
backdrop: "خلفية القائمة",
},
subagents: {
detachAction: "فصل {{label}}",
detachTooltip: "فصل الوكيل الفرعي",
archiveAction: "أرشيف{{label}}",
archiveTooltip: "أرشفة الوكيل الفرعي",
archiveFinishedAction: "أرشفة الوكلاء الفرعيين المكتملين",
archiveFinishedTooltip: "أرشفة المكتملين",
},
panels: {
draft: {
newAgent: "وكيل جديد",
creatingAgent: "وكيل الخلق",
},
file: {
directoryMissing: "لم يتم العثور على دليل Workspace.",
loading: "جارٍ تحميل الملف...",
noPreview: "لا تتوفر معاينة",
binaryPreviewUnavailable: "المعاينة الثنائية غير متاحة",
failedToLoad: "فشل تحميل الملف",
failedToLoadPreview: "فشل تحميل معاينة الملف",
},
diff: {
changesLabel: "التغييرات",
changesSubtitle: "فروقات شجرة العمل",
commitSubtitle: "فروقات الالتزام",
directoryMissing: "لم يتم العثور على دليل Workspace.",
empty: "لا توجد تغييرات",
loadError: "فشل تحميل الفروقات",
capabilityMissing: "حدّث المضيف لعرض فروقات الالتزامات.",
},
},
toolCallDetails: {
error: "خطأ",
empty: "لا توجد تفاصيل إضافية متاحة",
subAgentActivity: "نشاط الوكيل الفرعي",
input: "مدخل",
output: "الإخراج",
},
toolCallGroup: {
editedFiles: {
one: "حرّر {{count}} ملفًا",
other: "حرّر {{count}} ملفات",
},
commands: {
one: "شغّل {{count}} أمرًا",
other: "شغّل {{count}} أوامر",
},
readFiles: {
one: "قرأ {{count}} ملفًا",
other: "قرأ {{count}} ملفات",
},
searches: {
one: "بحث {{count}} مرة",
other: "بحث {{count}} مرات",
},
otherTools: {
one: "استخدم {{count}} أداة أخرى",
other: "استخدم {{count}} أدوات أخرى",
},
paseoCalls: {
one: "استدعى Paseo {{count}} مرة",
other: "استدعى Paseo {{count}} مرات",
},
and: "و",
},
renameModal: {
rename: "إعادة تسمية",
saving: "جارٍ الحفظ...",
},
sidebarCallout: {
dismiss: "رفض",
},
contextWindow: {
title: "نافذة السياق",
used: "تم استخدام{{percentage}}%",
tokens: "رموز{{used}}/{{max}}",
sessionCost: "تكلفة الجلسة{{cost}}",
accessibility: "تم استخدام نافذة السياق{{percentage}}%",
},
review: {
comment: {
add: "إضافة تعليق المراجعة",
edit: "تحرير تعليق المراجعة",
delete: "حذف تعليق المراجعة",
label: "مراجعة التعليق",
placeholder: "اترك تعليقا",
cancel: "يلغي",
cancelAccessibility: "إلغاء تعليق المراجعة",
save: "تعليق",
saveAccessibility: "حفظ تعليق المراجعة",
},
},
settings: {
title: "إعدادات",
loading: "جارٍ تحميل الإعدادات...",
groups: {
app: "برنامج",
host: "Host",
},
hostPicker: {
switchHost: "تبديل المضيف",
local: "محلي",
},
backToWorkspace: "خلف",
addHost: "أضف مضيفًا",
enableBuiltInDaemon: "تفعيل البرنامج الخفي المدمج",
projects: "المشاريع",
projectList: {
hostLoadFailed: "تعذر تحميل المشاريع من المضيف{{hostName}}:{{message}}",
editProject: "تحرير{{projectName}}",
},
groupInfo: "حول{{title}}",
sections: {
general: "عام",
appearance: "مظهر",
shortcuts: "الاختصارات",
integrations: "التكامل",
permissions: "الأذونات",
diagnostics: "التشخيص",
about: "عن",
},
hostSections: {
connections: "اتصالات",
agents: "Agents",
workspaces: "Workspaces",
providers: "مقدمي الخدمات",
usage: "الاستخدام",
terminals: "Terminals",
host: "نظرة عامة",
},
general: {
title: "عام",
browserData: {
title: "بيانات المتصفح",
siteData: "ملفات تعريف الارتباط وبيانات المواقع",
description: "تتشارك علامات تبويب المتصفح تسجيلات الدخول وبيانات المواقع عبر Paseo.",
clear: "مسح بيانات المتصفح",
clearing: "جارٍ المسح...",
confirmTitle: "هل تريد مسح بيانات المتصفح؟",
confirmMessage: "سيتم تسجيل خروجك من المواقع وإعادة تحميل علامات تبويب المتصفح المفتوحة.",
success: "تم مسح بيانات المتصفح.",
error: "تعذر مسح بيانات المتصفح.",
},
defaultSend: {
label: "إرسال افتراضي",
descriptions: {
interrupt:
"عند تشغيل الوكيل، يوقف Enter التشغيل. Command/Ctrl+Enter يضيف إلى قائمة الانتظار.",
queue: "عند تشغيل الوكيل، يضيف Enter إلى قائمة الانتظار. Command/Ctrl+Enter يرسل.",
},
options: {
interrupt: "مقاطعة",
queue: "طابور",
},
},
serviceUrls: {
label: "عناوين URL للخدمة",
description: "مكان فتح عناوين URL من تشغيل البرامج النصية",
options: {
ask: "بسأل",
inApp: "في Paseo",
external: "متصفح خارجي",
},
},
terminalScrollback: {
label: "التمرير Terminal",
description: "يتم الاحتفاظ بالخطوط في المخزن المؤقت الطرفي المدمج",
accessibilityLabel: "خطوط التمرير Terminal",
},
autoExpandReasoning: {
label: "عرض التفكير دائماً",
description: "إظهار تفكير الوكيل وخطوات الاستدلال بشكل كامل بشكل افتراضي",
},
toolCallDetail: {
label: "عرض استدعاءات الأدوات",
description: "كيفية ظهور استدعاءات الأدوات في المخطط الزمني",
accessibilityLabel: "حدد عرض استدعاءات الأدوات ({{value}})",
options: {
overview: "ملخص",
detailed: "التفاصيل الكاملة",
},
},
language: {
label: "لغة",
description: "لغة التطبيق",
options: {
system: "نظام",
ar: "العربية",
en: "English",
es: "Español",
fr: "Français",
ja: "日本語",
ptBR: "Português brasileiro",
ru: "Русский",
zhCN: "中文",
},
},
},
diagnostics: {
title: "التشخيص",
testAudio: "اختبار الصوت",
playTest: "لعب الاختبار",
playing: "جارٍ اللعب...",
playbackFailed: "فشل التشغيل:{{message}}",
app: {
title: "App diagnostic",
rowTitle: "App diagnostic",
rowHint: "Collect connection, daemon, provider, desktop, and log details",
run: "Run",
running: "Running diagnostic...",
copyLabel: "diagnostic",
copyAccessibility: "Copy diagnostic",
copyFailed: "Failed to copy diagnostic",
refreshAccessibility: "Refresh diagnostic",
refreshingAccessibility: "Refreshing diagnostic",
progress: {
client: "Client",
desktop: "Desktop",
},
},
},
about: {
title: "عن",
appVersion: "نسخة التطبيق",
thisDevice: "هذا الجهاز",
connectedHosts: "المضيفين المتصلين",
offline: "غير متصل",
versionDiffers: "الإصدار يختلف عن هذا الجهاز",
releaseChannel: {
label: "الافراج عن القناة",
description: "قم بالتبديل إلى Beta للحصول على التحديثات عاجلاً والمساعدة في تشكيلها",
stable: "Stable",
beta: "Beta",
},
updates: {
label: "تحديثات التطبيق",
readyToInstall: "جاهز للتثبيت:{{version}}",
installTitle: "تثبيت تحديث سطح المكتب",
installMessage: "يؤدي هذا إلى تحديث Paseo على هذا الكمبيوتر",
installConfirm: "تثبيت التحديث",
update: "تحديث",
updateTo: "التحديث إلى{{version}}",
installing: "جارٍ التثبيت...",
check: "يفحص",
checking: "جارٍ التحقق...",
alertTitle: "خطأ",
alertMessage: "غير قادر على فتح مربع حوار تأكيد التحديث.",
},
},
appearance: {
theme: {
title: "سمة",
accessibilityLabel: "الموضوع:{{value}}",
options: {
light: "ضوء",
dark: "مظلم",
zinc: "الزنك",
midnight: "منتصف الليل",
claude: "كلود",
ghostty: "شبحي",
auto: "نظام",
},
},
detailLevel: {
title: "مستوى التفاصيل",
},
fonts: {
title: "الخطوط",
systemDefault: "الافتراضي للنظام",
interfaceFont: "خط الواجهة",
interfaceFontHint: "تستخدم عبر التطبيق. اتركه فارغًا للإعداد الافتراضي للنظام",
interfaceFontAccessibility: "عائلة خطوط الواجهة",
interfaceSize: "حجم الواجهة",
interfaceSizeAccessibility: "حجم الخط في الواجهة",
codeFont: "خط الكود",
codeFontHint:
"تستخدم في الكود والاختلافات والمخرجات الطرفية. اتركه فارغًا للإعداد الافتراضي للنظام",
codeFontAccessibility: "عائلة خطوط الكود",
codeSize: "حجم الكود",
codeSizeAccessibility: "حجم خط الكود",
},
syntax: {
title: "بناء الجملة",
highlightTheme: "تسليط الضوء على الموضوع",
highlightThemeHint: "ألوان التعليمات البرمجية، مستقلة عن سمة التطبيق",
highlightThemeAccessibility: "تسليط الضوء على الموضوع:{{value}}",
previewAccessibility: "معاينة مباشرة لموضوع بناء الجملة وخط التعليمات البرمجية",
},
},
shortcuts: {
dialogTitle: "الاختصارات",
unavailableOnMobile: "اختصارات لوحة المفاتيح متاحة فقط على سطح المكتب",
capturePrompt: "اضغط على الاختصار...",
actions: {
done: "منتهي",
cancel: "يلغي",
rebind: "إعادة ربط",
reset: "إعادة ضبط",
resetAll: "إعادة ضبط الكل",
},
sections: {
navigation: "ملاحة",
tabsPanes: "علامات التبويب والأجزاء",
projects: "المشاريع",
panels: "لوحات",
agentInput: "إدخال Agent",
},
help: {
openProject: "مشروع مفتوح",
newWorkspace: "مساحة عمل جديدة",
newWorktree: "شجرة عمل جديدة",
archiveWorkspace: "أرشفة مساحة العمل",
newTab: "علامة تبويب جديدة",
closeCurrentTab: "إغلاق علامة التبويب الحالية",
jumpToWorkspace: "انتقل إلى مساحة العمل",
jumpToTab: "انتقل إلى علامة التبويب",
previousWorkspace: "مساحة العمل السابقة",
nextWorkspace: "مساحة العمل التالية",
previousTab: "علامة التبويب السابقة",
nextTab: "علامة التبويب التالية",
splitPaneRight: "تقسيم الجزء الأيمن",
splitPaneDown: "تقسيم الجزء لأسفل",
focusPaneLeft: "جزء التركيز على اليسار",
focusPaneRight: "جزء التركيز إلى اليمين",
focusPaneUp: "جزء التركيز لأعلى",
focusPaneDown: "جزء التركيز لأسفل",
moveTabLeft: "نقل علامة التبويب إلى اليسار",
moveTabRight: "نقل علامة التبويب إلى اليمين",
moveTabUp: "حرك علامة التبويب لأعلى",
moveTabDown: "حرك علامة التبويب لأسفل",
closePane: "إغلاق الجزء",
newTerminal: "محطة جديدة",
toggleCommandCenter: "تبديل مركز القيادة",
showKeyboardShortcuts: "إظهار اختصارات لوحة المفاتيح",
toggleLeftSidebar: "تبديل الشريط الجانبي الأيسر",
toggleRightSidebar: "تبديل الشريط الجانبي الأيمن",
toggleBothSidebars: "تبديل كلا الشريطين الجانبيين",
toggleSettings: "تبديل الإعدادات",
toggleFocusMode: "تبديل وضع التركيز",
cycleTheme: "موضوع الدورة",
focusMessageInput: "التركيز على إدخال الرسالة",
cycleAgentMode: "تبديل وضع الوكيل",
toggleVoiceMode: "تبديل الوضع الصوتي",
startStopDictation: "بدء إملاء /stop",
interruptAgent: "عامل المقاطعة",
sendMessage: "أرسل رسالة",
queueMessage: "رسالة قائمة الانتظار",
muteUnmuteVoiceMode: "كتم وضع الصوت /unmute",
},
helpNotes: {
showKeyboardShortcuts: "متاح عندما لا يكون التركيز في حقل نص أو محطة طرفية.",
},
},
integrations: {
title: "التكامل",
docs: {
cli: "مستندات CLI",
skills: "وثائق المهارات",
openCli: "افتح وثائق CLI",
openSkills: "فتح وثائق المهارات",
},
commandLine: {
title: "سطر الأوامر",
description: "وكلاء التحكم والبرنامج النصي من المحطة الطرفية الخاصة بك",
},
skills: {
title: "مهارات التنسيق",
description: "قم بتعليم عملائك كيفية التنسيق من خلال CLI",
updateAvailable: "التحديث متاح",
updateTitle: "تحديث مهارات Paseo ؟",
updateFallback: "مزامنة المهارات المجمعة لجهازك.",
uninstallTitle: "إلغاء تثبيت مهارات Paseo ؟",
uninstallMessage: "يزيل جميع مهارات تنسيق Paseo من ~/.agents ، ~/.claude ، ~/.codex.",
},
actions: {
install: "ثَبَّتَ",
installing: "جارٍ التثبيت...",
installed: "تم التثبيت",
update: "تحديث",
working: "عمل...",
uninstall: "إلغاء التثبيت",
},
operations: {
add: "أضف مهارة",
update: "تحديث المهارة",
delete: "حذف المهارة",
},
},
permissions: {
title: "الأذونات",
notifications: "إشعارات",
microphone: "ميكروفون",
refresh: "ينعش",
refreshing: "منعش...",
refreshAccessibility: "تحديث أذونات سطح المكتب",
test: "امتحان",
actions: {
granted: "ممنوح",
request: "طلب",
requesting: "جارٍ الطلب...",
busySuffix: "{{label}}...",
},
},
host: {
notFound: "لم يتم العثور على Host",
badges: {
relay: "تتابع",
local: "محلي",
},
connections: {
title: "اتصالات",
removeTitle: "إزالة الاتصال",
removeMessage: "إزالة{{name}}؟ لا يمكن التراجع عن هذا.",
removeAction: "يزيل",
removeErrorTitle: "خطأ",
removeErrorMessage: "غير قادر على إزالة الاتصال",
timeout: "نفذ الوقت",
},
pairDevices: {
title: "إقران الأجهزة",
rowTitle: "إقران جهاز",
rowHint: "امسح رمز QR ضوئيًا أو انسخ رابطًا لتوصيل هاتفك بهذا المضيف",
},
orchestration: {
title: "التنسيق",
unavailable: "اتصل بهذا المضيف لإدارة التنسيق",
enableTools: {
title: "تمكين أدوات Paseo",
hint: "سيتمكن الوكلاء من إدارة أشجار العمل والوكلاء والجداول الزمنية",
accessibilityLabel: "حقن أدوات Paseo",
},
systemPrompt: {
title: "موجه النظام",
hint: "إضافة موجه النظام إلى كافة الوكلاء",
sheetTitle: "إلحاق موجه النظام",
accessibilityLabel: "إلحاق موجه النظام",
placeholder: "اجعل الردود موجزة دائمًا.",
edit: "تحرير",
reset: "إعادة ضبط",
save: "حفظ",
saving: "جارٍ الحفظ...",
},
},
agents: {
unavailable: "Connect to this host to manage agents",
},
workspaces: {
unavailable: "Connect to this host to manage workspaces",
},
terminalProfiles: {
unavailable: "Connect to this host to manage terminal profiles",
sectionTitle: "Terminal profiles",
editProfile: "Edit profile",
addProfileTitle: "Add terminal profile",
editProfileTitle: "Edit terminal profile",
namePlaceholder: "Claude Code",
commandPlaceholder: "claude",
argsPlaceholder: "--dangerously-skip-permissions",
nameLabel: "Name",
commandLabel: "Command",
argsLabel: "Arguments",
nameRequired: "Name is required",
commandRequired: "Command is required",
argsHint: "Space-separated arguments passed to the command",
saving: "Saving...",
remove: "Remove",
removeConfirmTitle: "Remove profile?",
removeConfirmMessage: 'Remove "{{name}}"?',
moveUp: "Move up",
moveDown: "Move down",
save: "Save",
emptyState: "No profiles yet. Add one to launch terminals with a specific command.",
},
daemon: {
rename: {
editLabel: "تحرير التسمية",
title: "إعادة تسمية المضيف",
placeholder: "بلدي Host",
submit: "إعادة تسمية",
},
restart: {
title: "إعادة تشغيل البرنامج الخفي",
hint: "إعادة تشغيل عملية البرنامج الخفي. سيتم إعادة الاتصال بالتطبيق تلقائيًا",
confirm: "إعادة التشغيل",
confirmTitle: "أعد تشغيل{{name}}",
confirmMessage:
"سيؤدي هذا إلى إعادة تشغيل البرنامج الخفي. سيستمر العملاء الذين يعملون عليه؛ سيتم إعادة الاتصال بالتطبيق تلقائيًا.",
restarting: "جارٍ إعادة التشغيل...",
unableToReconnectTitle: "غير قادر على إعادة الاتصال",
unableToReconnectMessage: "لم يعد{{name}}متصلاً بالإنترنت. يرجى التحقق من إعادة تشغيله.",
unavailableTitle: "Host غير متوفر",
unavailableMessage:
"هذا المضيف غير متصل. انتظر حتى يصبح متصلاً بالإنترنت قبل إعادة التشغيل.",
offlineTitle: "Host غير متصل",
offlineMessage:
"هذا المضيف غير متصل. يقوم Paseo بإعادة الاتصال تلقائيًا - انتظر حتى يتم الاتصال بالإنترنت مرة أخرى قبل إعادة التشغيل.",
requestFailedTitle: "خطأ",
requestFailedMessage:
"فشل في إرسال طلب إعادة التشغيل. يقوم Paseo بإعادة الاتصال تلقائيًا - حاول مرة أخرى بمجرد ظهور المضيف على أنه متصل بالإنترنت.",
dialogFailedMessage: "غير قادر على فتح مربع حوار تأكيد إعادة التشغيل.",
},
update: {
desktopManagedHint:
"يدير Paseo Desktop هذا البرنامج الخفي. حدّث Paseo Desktop على المضيف.",
title: "Update daemon",
hint: "Update the daemon to the latest version and restart it",
confirm: "Update",
confirmTitle: "Update {{name}}",
confirmMessage:
"This will update the daemon to the latest version and restart it. Running agents will be briefly interrupted.",
updating: "Updating...",
phaseStarting: "Preparing update...",
phaseDownloading: "Downloading packages...",
phaseInstalling: "Installing...",
phaseComplete: "Update complete, restarting...",
unableToReconnectTitle: "Unable to reconnect",
unableToReconnectMessage:
"{{name}} did not come back online after updating. Please verify the daemon restarted.",
unavailableTitle: "Host unavailable",
unavailableMessage:
"This host is not connected. Wait for it to come online before updating.",
offlineTitle: "Host offline",
offlineMessage: "This host is offline. Wait until it is back online before updating.",
requestFailedTitle: "Update failed",
requestFailedMessage: "Failed to update the daemon: {{error}}",
dialogFailedMessage: "Unable to open the update confirmation dialog.",
},
dangerZone: "منطقة الخطر",
remove: {
title: "إزالة المضيف",
localTitle: "Remove localhost connection",
hint: "إزالة هذا المضيف واتصالاته المحفوظة من هذا الجهاز",
localHint: "Removes localhost from this device and stops the built-in daemon",
localConfirmTitle: "Remove localhost connection and stop daemon?",
confirmMessage: "إزالة{{name}}؟ سيؤدي هذا إلى حذف اتصالاته المحفوظة.",
localConfirmMessage:
"This will remove the localhost connection, turn off built-in daemon management, and stop the managed daemon. Remote hosts remain connected.",
errorTitle: "خطأ",
errorMessage: "غير قادر على إزالة المضيف",
localErrorMessage: "Unable to remove localhost connection",
},
},
},
providers: {
title: "مقدمي الخدمات",
addProvider: "إضافة مزود",
providerDetails: "تفاصيل مزود{{name}}",
enableProvider: "تمكين{{name}}",
unavailable: "اتصل بهذا المضيف لرؤية مقدمي الخدمة",
loading: "تحميل...",
addErrorTitle: "Unable to add provider",
updateErrorTitle: "غير قادر على تحديث الموفر",
actions: {
menu: "{{name}} actions",
remove: "Remove provider",
removing: "Removing...",
},
remove: {
confirmTitle: "Remove {{name}}?",
confirmMessage: "This deletes the provider entry from config.json. It cannot be undone.",
confirm: "Remove",
errorTitle: "Unable to remove provider",
},
statuses: {
disabled: "عاجز",
loading: "تحميل",
error: "خطأ",
available: "متاح",
notInstalled: "غير مثبت",
},
models: {
one: "1 نموذج",
many: "{{count}} نماذج",
addModel: "إضافة نموذج",
addCustomTitle: "إضافة نموذج مخصص",
modelId: "الموديل ID",
modelIdPlaceholder: "على سبيل المثال أوبيناي /gpt-5",
add: "يضيف",
adding: "جارٍ الإضافة...",
failedToSave: "فشل حفظ النموذج",
removeModel: "إزالة{{id}}",
searchPlaceholder: "نماذج البحث",
loading: "جارٍ تحميل النماذج...",
retry: "أعد المحاولة",
retrying: "جارٍ إعادة المحاولة...",
noSearchMatches: "لا توجد نماذج تطابق بحثك",
noneDetected: "لم يتم اكتشاف أي نماذج",
discovered: "اكتشف",
custom: "نماذج مخصصة",
updated: "تم تحديث{{time}}",
},
diagnostic: {
title: "التشخيص",
button: "التشخيص",
refresh: "ينعش",
refreshing: "منعش...",
copyLabel: "التشخيص",
copyAccessibility: "نسخ التشخيص",
copyFailed: "فشل نسخ التشخيص",
refreshAccessibility: "تحديث التشخيص",
refreshingAccessibility: "تحديث التشخيص",
running: "تشغيل التشخيص...",
none: "لا يوجد تشخيص متاح",
failedToFetch: "فشل جلب التشخيص",
unknownError: "خطأ غير معروف",
},
},
project: {
noEditableTarget: "ليس لدينا نسخة قابلة للتحرير من هذا المشروع على أي مضيف متصل.",
backToProjects: "العودة إلى المشاريع",
switchHost: "تبديل المضيف",
rename: {
renamedToast: "تمت إعادة تسمية المشروع",
errorFallback: "تعذرت إعادة تسمية المشروع",
renameLabel: "إعادة تسمية المشروع",
resetLabel: "إعادة تعيين اسم المشروع إلى الافتراضي",
projectNameLabel: "اسم المشروع",
saveLabel: "احفظ اسم المشروع",
cancelLabel: "إلغاء إعادة التسمية",
reset: "إعادة ضبط",
},
readFailures: {
invalidTitle: "تعذر تحليل paseo.json",
invalidDescription: "قم بإصلاح الملف على القرص، ثم أعد تحميله.",
missingTitle: "هذا المضيف ليس لديه هذا المشروع",
missingWithHosts: "قم بالتبديل إلى مضيف آخر أعلاه، أو أعد التحميل.",
missingSingleHost: "المضيف المحدد ليس لديه سجل لهذا المشروع.",
transportTitle: "تعذر تحميل paseo.json",
transportFallback: "المضيف لم يستجب.",
failedTitle: "تعذر تحميل paseo.json",
failedDescription: "أعد التحميل للمحاولة مرة أخرى.",
},
worktree: {
title: "خطافات دورة حياة شجرة العمل",
info: "الأوامر التي يتم تشغيلها عند إنشاء شجرة عمل أو هدمها لهذا المشروع",
docs: "المستندات",
docsTooltip: "راجع المستندات لمزيد من التفاصيل ومتغيرات البيئة المتاحة لهذه الأوامر",
setup: "يثبت",
setupAccessibility: "أوامر إعداد شجرة العمل",
teardown: "هدم",
teardownAccessibility: "أوامر هدم شجرة العمل",
},
scripts: {
title: "البرامج النصية",
info: "خدمات طويلة الأمد وأوامر لمرة واحدة يمكنك إطلاقها من أي وكيل في هذا المشروع",
empty: "لا توجد نصوص حتى الآن.",
untitled: "نص بدون عنوان",
port: "منفذ{{port}}",
menuAccessibility: "فتح قائمة البرنامج النصي",
removeTitle: "هل تريد إزالة البرنامج النصي؟",
removeMessage: "إزالة{{name}}؟",
removeFallbackName: "هذا البرنامج النصي",
name: "اسم",
command: "يأمر",
nameAccessibility: "اسم البرنامج النصي",
commandAccessibility: "أمر البرنامج النصي",
nameRequired: "الاسم مطلوب",
commandRequired: "الأمر مطلوب",
newScript: "نص جديد",
editScript: "تحرير{{name}}",
runAsService: "تشغيل كخدمة",
serviceHint: "يشرف Paseo على العملية ويعين منفذًا عبر $PASEO_PORT",
actions: {
add: "إضافة البرنامج النصي",
edit: "يحرر",
remove: "يزيل",
},
},
metadata: {
title: "توليد البيانات الوصفية",
info: "تعليمات خاصة بالمشروع يتم إدخالها في الذكاء الاصطناعي الذي يستخدمه Paseo لإنشاء بيانات التعريف - استخدمها لفرض اصطلاحات فريقك مثل تسمية الفرع أو نمط الالتزام أو تنسيق PR",
branchName: "اسماء الفروع",
branchNamePlaceholder: "بادئة الفروع بـ fet/ أو Fix/, mb/ للفروع الشخصية",
commitMessage: "ارتكاب الرسائل",
commitMessagePlaceholder: "استخدم الالتزامات التقليدية مع النطاق",
pullRequest: "سحب الطلبات",
pullRequestPlaceholder: "ابدأ بملخص من فقرة واحدة، مع تضمين قسم لخطة الاختبار",
},
writeFailures: {
staleTitle: "تم تغيير التكوين على القرص",
staleDescription: "أعد التحميل لجلب أحدث ملف paseo.json قبل الحفظ.",
failedTitle: "تعذر حفظ paseo.json",
failedDescription: "حاول مرة أخرى، أو أعد تحميل الإصدار الأحدث من القرص.",
},
actions: {
reload: "إعادة تحميل",
tryAgain: "حاول ثانية",
save: "حفظ",
saved: "تم حفظ المشروع",
saving: "جارٍ الحفظ...",
cancel: "يلغي",
},
},
},
};