mirror of
https://github.com/getpaseo/paseo.git
synced 2026-10-14 13:22:37 +00:00
* Improve mobile terminal typing and selection * Address mobile terminal review feedback * Remove dead native terminal input branch * Replay bracketed paste in terminal preamble * Stop per-key terminal resize claims * Stabilize terminal resize browser test * Use tracked terminal mode for native paste * Restore terminal toolbar focus handling * Adapt native terminal to active visibility state * Stabilize native mobile terminal interactions * Add native terminal fallback boundary * test(app): expect explicit terminal resize reclaim * fix(app): stabilize terminal buffer coordinates * fix(app): restrict terminal resize ownership * fix(terminal): gate restored input modes * fix(app): recover stalled terminal WebViews * chore(app): remove obsolete terminal harnesses * fix(app): make terminal resize claims explicit * test(app): stabilize native terminal device flows * test(app): track absolute scrollback coordinates * fix(app): isolate terminal WebView streams * fix(terminal): arbitrate size ownership across clients The daemon now distinguishes explicit ownership claims from passive geometry updates. This keeps the active client authoritative while allowing its split, viewport, and keyboard changes to resize the PTY without idle clients stealing it. * test(server): make worker resize assertion portable Query the worker's authoritative terminal snapshot instead of invoking a Unix-only shell command, so the resize regression exercises the same boundary on Windows and Unix.
2272 lines
102 KiB
TypeScript
2272 lines
102 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: "بيت",
|
||
modelGroupLabel: "النموذج",
|
||
modelSearchKeywords: "تبديل النموذج تغيير النموذج تعيين النموذج اختيار النموذج",
|
||
thinkingGroupLabel: "التفكير",
|
||
thinkingSearchKeywords: "الاستدلال الجهد التفكير",
|
||
modeGroupLabel: "الوضع",
|
||
modeSearchKeywords: "الوصول الإذن الموافقة الوضع",
|
||
planModeGroupLabel: "وضع التخطيط",
|
||
planModeSearchKeywords: "التخطيط خطة وضع التخطيط",
|
||
fastModeGroupLabel: "سريع",
|
||
fastModeSearchKeywords: "سريع سرعة زمن انتقال منخفض",
|
||
settingOn: "تشغيل",
|
||
settingOff: "إيقاف",
|
||
},
|
||
},
|
||
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: "أضف صورة",
|
||
pasteImage: "لصق صورة",
|
||
addFile: "Upload file",
|
||
addIssueOrPr: "أضف مشكلة أو PR",
|
||
addIssueOrPr_mr: "أضف مشكلة أو MR",
|
||
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",
|
||
noClipboardImage: "لا توجد صورة في الحافظة",
|
||
pasteImageFailed: "تعذر لصق الصورة",
|
||
fileTooLarge: "{{fileName}} is too large (max {{size}})",
|
||
},
|
||
clientCommands: {
|
||
archiveAgent: "أرشفة الوكيل الحالي",
|
||
freshDraft: "أرشفة هذا الوكيل وابدأ مسودة جديدة",
|
||
},
|
||
github: {
|
||
searching: "جارٍ البحث...",
|
||
noResults: "لم يتم العثور على نتائج.",
|
||
searchPlaceholder: "بحث القضايا والعلاقات العامة...",
|
||
searchPlaceholder_mr: "بحث القضايا و MR...",
|
||
title: "إرفاق المشكلة أو PR",
|
||
title_mr: "إرفاق المشكلة أو MR",
|
||
},
|
||
},
|
||
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: "قم بالتمرير إلى الأسفل",
|
||
historyLoadFailed: "تعذر تحميل سجل الوكيل",
|
||
permission: {
|
||
plan: "يخطط",
|
||
required: "الإذن مطلوب",
|
||
deny: "ينكر",
|
||
accept: "يقبل",
|
||
implement: "ينفذ",
|
||
question: "كيف تريد المتابعة؟",
|
||
proposedPlan: "الخطة المقترحة",
|
||
},
|
||
},
|
||
agentPanel: {
|
||
states: {
|
||
notFound: "لم يتم العثور على Agent",
|
||
failedToLoad: "فشل تحميل الوكيل",
|
||
reconnecting: "جارٍ إعادة الاتصال...",
|
||
timelineSyncFailed: "تعذر تحديث سجل الوكيل. جارٍ إعادة المحاولة…",
|
||
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: "تم النسخ",
|
||
},
|
||
fileActions: {
|
||
openFile: "افتح الملف",
|
||
copyPath: "نسخ المسار",
|
||
download: "تحميل",
|
||
addToChat: "إضافة إلى الدردشة…",
|
||
moreActions: "المزيد من الإجراءات",
|
||
},
|
||
fileExplorer: {
|
||
sort: {
|
||
name: "اسم",
|
||
modified: "معدل",
|
||
size: "مقاس",
|
||
},
|
||
context: {
|
||
size: "مقاس",
|
||
modified: "معدل",
|
||
},
|
||
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 غير متصل",
|
||
updateHost: "حدّث المضيف لاستخدام عارض الطرفية الأصلي.",
|
||
unableToSubscribe: "غير قادر على الاشتراك في المحطة",
|
||
},
|
||
tabs: {
|
||
loading: "تحميل...",
|
||
modified: "تغييرات غير محفوظة",
|
||
loadingAgentTitle: "جارٍ تحميل عنوان الوكيل",
|
||
emptyPane: "لا توجد علامات تبويب في هذا الجزء.",
|
||
fallback: {
|
||
newAgent: "وكيل جديد",
|
||
setup: "يثبت",
|
||
workspaceSetup: "إعداد Workspace",
|
||
terminal: "Terminal",
|
||
browser: "المتصفح",
|
||
agent: "Agent",
|
||
workspace: "Workspace",
|
||
},
|
||
switcher: {
|
||
trigger: "تبديل علامات التبويب (فتح{{count}})",
|
||
title: "علامة التبويب التبديل",
|
||
searchPlaceholder: "علامات تبويب البحث",
|
||
},
|
||
menu: {
|
||
openFor: "فتح القائمة لـ{{label}}",
|
||
copyResumeCommand: "نسخ أمر السيرة الذاتية",
|
||
copyAgentId: "نسخ معرف الوكيل",
|
||
copyTerminalId: "نسخ معرف المحطة",
|
||
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",
|
||
terminalIdCopiedLabel: "معرف المحطة",
|
||
resumeCommandCopiedLabel: "أمر الاستئناف",
|
||
filePathCopiedLabel: "File path",
|
||
resumeIdUnavailable: "السيرة الذاتية ID غير متوفرة",
|
||
resumeCommandUnavailable: "أمر الاستئناف غير متوفر",
|
||
reloadingAgent: "وكيل إعادة التحميل...",
|
||
reloadedAgent: "وكيل إعادة تحميل",
|
||
failedToReloadAgent: "فشل في إعادة تحميل الوكيل",
|
||
},
|
||
confirmations: {
|
||
unsavedTitle: "تغييرات غير محفوظة",
|
||
unsavedMessage:
|
||
"تحتوي علامة التبويب هذه على تغييرات غير محفوظة. سيؤدي إغلاقها إلى تجاهل المسودة.",
|
||
closeWithoutSaving: "إغلاق بدون حفظ",
|
||
closePaneTitle: "إغلاق اللوحة؟",
|
||
bulkUnsaved:
|
||
"تحتوي {{count}} علامة تبويب على تغييرات غير محفوظة. سيؤدي الإغلاق إلى تجاهل المسودات.",
|
||
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: {
|
||
chooseUrl: "اختيار الرابط",
|
||
copyUrl: "نسخ الرابط",
|
||
openService: "عرض الخدمة",
|
||
restart: "إعادة التشغيل",
|
||
run: "يجري",
|
||
stop: "إيقاف",
|
||
view: "عرض الوحدة الطرفية",
|
||
},
|
||
accessibility: {
|
||
trigger: "البرامج النصية Workspace",
|
||
openService: "عرض خدمة {{scriptName}}",
|
||
viewTerminal: "عرض محطة{{scriptName}}",
|
||
runScript: "قم بتشغيل البرنامج النصي{{scriptName}}",
|
||
stopScript: "إيقاف{{scriptName}}",
|
||
restartScript: "إعادة تشغيل{{scriptName}}",
|
||
copyUrl: "نسخ عنوان URL لـ{{scriptName}}",
|
||
chooseUrl: "اختيار رابط {{scriptName}}",
|
||
script: "البرنامج النصي{{scriptName}}",
|
||
},
|
||
routes: {
|
||
public: "الوكيل العكسي",
|
||
paseo: "Memorable",
|
||
direct: "مباشر",
|
||
},
|
||
states: {
|
||
exitCode: "الخروج من{{code}}",
|
||
startFailed: "فشل بدء تشغيل{{scriptName}}",
|
||
stopFailed: "فشل إيقاف{{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",
|
||
label_mr: "إنشاء MR",
|
||
pending_mr: "إنشاء MR...",
|
||
success_mr: "تم إنشاء MR",
|
||
},
|
||
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",
|
||
squash_mr: "دمج MR (squash)",
|
||
merge_mr: "دمج MR (merge)",
|
||
rebase_mr: "دمج MR (rebase)",
|
||
pending_mr: "دمج MR...",
|
||
success_mr: "تم دمج MR",
|
||
},
|
||
viewPr_mr: "عرض MR",
|
||
autoMerge: {
|
||
enableSquash: "دمج تلقائي (squash)",
|
||
enableMerge: "دمج تلقائي (merge)",
|
||
enableRebase: "دمج تلقائي (rebase)",
|
||
enabled: "تم تمكين الدمج التلقائي",
|
||
enabling: "تمكين الدمج التلقائي...",
|
||
disabling: "تعطيل الدمج التلقائي...",
|
||
disabled: "تم تعطيل الدمج التلقائي",
|
||
},
|
||
unavailable: {
|
||
viewPrNoForge: "عرض {{noun}} غير متاح الآن لأن {{brand}} غير متصل",
|
||
pullNoRemote: "السحب غير متاح هنا لأن هذا الفرع غير متصل بجهاز التحكم عن بعد بعد",
|
||
pullDirty: "السحب غير متاح أثناء وجود تغييرات محلية، لذا قم بتنفيذها أو تخزينها أولاً",
|
||
pullUpToDate: "السحب غير متاح لأن هذا الفرع محدث بالفعل",
|
||
pushNoRemote: "الدفع غير متاح هنا لأن هذا الفرع غير متصل بجهاز التحكم عن بعد بعد",
|
||
pushBehind: "الدفع غير متاح حتى الآن نظرًا لوجود تغييرات أحدث يجب إدخالها أولاً",
|
||
pushNothing: "خدمة الدفع غير متاحة لأنه لا يوجد شيء جديد لإرساله",
|
||
pullAndPushNoRemote:
|
||
"السحب والدفع غير متاح هنا لأن هذا الفرع غير متصل بجهاز التحكم عن بعد بعد",
|
||
pullAndPushDirty:
|
||
"لا يتوفر السحب والدفع أثناء وجود تغييرات محلية، لذا قم بتنفيذها أو تخزينها أولاً",
|
||
pullAndPushNoIncoming: "السحب والدفع غير متاحين لأنه لا توجد تغييرات واردة للسحب أولاً",
|
||
pullAndPushInSync: "السحب والدفع غير متاح لأن هذا الفرع متزامن بالفعل",
|
||
pullAndPushNothingToPush: "السحب والدفع غير متاحين لأنه لا يوجد شيء جديد لإرساله بعد السحب",
|
||
createPrNoForge: "إنشاء {{noun}} غير متاح حاليًا لأن {{brand}} غير متصل",
|
||
createPrNoCommits: "إنشاء PR غير متاح لأن هذا الفرع ليس لديه أي التزامات جديدة حتى الآن",
|
||
mergeNoBase: "الدمج غير متاح لأننا لم نتمكن من تحديد الفرع الأساسي",
|
||
mergeDirty:
|
||
"الدمج غير متاح عندما تكون لديك تغييرات محلية، لذا قم بتنفيذها أو تخزينها أولاً",
|
||
mergeNothing: "الدمج غير متاح لأن هذا الفرع لا يحتوي على أي شيء جديد لدمجه حتى الآن",
|
||
updateNoBase: "التحديث غير متاح لأننا لم نتمكن من تحديد الفرع الأساسي",
|
||
updateDirty: "التحديث غير متاح أثناء وجود تغييرات محلية، لذا قم بتنفيذها أو تخزينها أولاً",
|
||
updateCurrent: "التحديث غير متاح لأن هذا الفرع محدث بالفعل باستخدام{{baseRef}}",
|
||
mergePrNoGithub: "دمج PR غير متاح الآن لأن GitHub غير متصل",
|
||
archiveNotWorktree:
|
||
"الأرشيف غير متاح هنا لأنه لم يتم إنشاء مساحة العمل هذه كشجرة عمل Paseo",
|
||
mergePrNoForge: "دمج {{noun}} غير متاح الآن لأن {{brand}} غير متصل",
|
||
mergePrMissing: "دمج PR غير متاح لأنه لا يوجد طلب سحب حتى الآن",
|
||
mergePrDraft: "دمج PR غير متاح لأن طلب السحب لا يزال مسودة",
|
||
mergePrMerged: "دمج PR غير متاح لأن طلب السحب مدمج بالفعل",
|
||
mergePrClosed: "دمج PR غير متاح لأن طلب السحب مغلق",
|
||
mergePrConflicts: "دمج PR غير متاح لأن طلب السحب به تعارضات",
|
||
mergePrQueue: "دمج PR غير متاح هنا لأن هذا المستودع يستخدم قائمة انتظار دمج",
|
||
mergePrNotReady: "دمج {{noun}} غير متاح حتى يبلغ {{brand}} أن {{noun}} جاهز للدمج",
|
||
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: {
|
||
openChangesTab: "فتح علامة تبويب التغييرات",
|
||
closeChangesTab: "إغلاق علامة تبويب التغييرات",
|
||
binaryFile: "ملف ثنائي",
|
||
tooLarge: "الفرق كبير جدًا بحيث لا يمكن عرضه",
|
||
previewTooLargeTitle: "هذا الفرق كبير جدًا بحيث لا يمكن معاينته",
|
||
previewTooLargeDescription: "ضيّق نطاق المقارنة لمعاينتها هنا",
|
||
unified: "الفرق الموحدة",
|
||
split: "فرق جنبًا إلى جنب",
|
||
switchToUnified: "التبديل إلى الفرق الموحد",
|
||
switchToSplit: "التبديل إلى الفرق جنبًا إلى جنب",
|
||
showTreeView: "إظهار شجرة المجلدات",
|
||
showFlatView: "إظهار قائمة الملفات المسطحة",
|
||
options: "خيارات الفرق",
|
||
hideWhitespace: "إخفاء المسافة البيضاء",
|
||
showWhitespace: "إظهار المسافة البيضاء",
|
||
scrollLongLines: "قم بتمرير الخطوط الطويلة",
|
||
wrapLongLines: "لف الخطوط الطويلة",
|
||
collapseAll: "طي كافة الملفات",
|
||
expandAll: "قم بتوسيع كافة الملفات",
|
||
collapseAllFolders: "طي كافة المجلدات",
|
||
expandAllFolders: "توسيع كافة المجلدات",
|
||
refreshing: "منعش",
|
||
refresh: "ينعش",
|
||
refreshState: "تحديث حالة git و{{brand}}",
|
||
failedRefresh: "فشل تحديث حالة git.",
|
||
emptyHiddenWhitespace: "لا توجد تغييرات مرئية بعد إخفاء المسافة البيضاء",
|
||
emptyUncommitted: "لا توجد تغييرات غير ملتزم بها",
|
||
emptyAgainstBase: "لا توجد تغييرات مقابل{{baseRef}}",
|
||
checkingRepository: "فحص المستودع...",
|
||
notRepository: "ليس مستودع جيت",
|
||
diffMode: "وضع الفرق",
|
||
uncommitted: "غير ملتزم",
|
||
committed: "ملتزم",
|
||
branchUnknown: "مجهول",
|
||
base: "قاعدة",
|
||
newFile: "جديد",
|
||
deletedFile: "تم الحذف",
|
||
commits: {
|
||
title: "الإيداعات",
|
||
countLabel: "{{count}} من إيداعات مساحة العمل",
|
||
noneAhead: "لا توجد إيداعات متقدمة على {{baseRef}} بعد",
|
||
fileDiffEmpty: "لا توجد تغييرات لعرضها",
|
||
fileDiffError: "تعذّر تحميل فروق الملف",
|
||
loading: "جارٍ تحميل الإيداعات…",
|
||
loadError: "تعذّر تحميل الإيداعات",
|
||
empty: "لا توجد إيداعات بعد",
|
||
},
|
||
},
|
||
openInEditor: {
|
||
open: "يفتح",
|
||
chooseEditor: "اختر المحرر",
|
||
openIn: "افتح مساحة العمل في{{target}}",
|
||
openFileIn: "Open {{fileName}} in {{target}}",
|
||
failedOpen: "فشل في فتح مساحة العمل",
|
||
},
|
||
pr: {
|
||
actions: {
|
||
viewPullRequest: "عرض",
|
||
openOn: "فتح على {{brand}}",
|
||
},
|
||
sections: {
|
||
checks: "الشيكات",
|
||
pipeline: "خط المعالجة",
|
||
reviews: "التعليقات",
|
||
},
|
||
empty: {
|
||
noJobs: "لا توجد مهام",
|
||
loadingPipeline: "جارٍ تحميل خط المعالجة...",
|
||
pipelineJobsLoadFailed: "تعذر تحميل مهام خط المعالجة",
|
||
allowedToFail: "مسموح بالفشل",
|
||
},
|
||
approvals: "{{given}} من {{required}} موافقات",
|
||
accessibility: {
|
||
pullRequest: "سحب الطلب #{{number}}",
|
||
pullRequest_mr: "طلب دمج !{{number}}",
|
||
},
|
||
states: {
|
||
draft: "مسودة",
|
||
merged: "تم الدمج",
|
||
closed: "مغلق",
|
||
open: "يفتح",
|
||
},
|
||
activity: {
|
||
commented: "علق",
|
||
approved: "موافقة",
|
||
requestedChanges: "التغييرات المطلوبة",
|
||
reviewed: "تمت المراجعة",
|
||
},
|
||
time: {
|
||
justNow: "الآن",
|
||
},
|
||
thread: {
|
||
discussion: "سلسلة المناقشة",
|
||
},
|
||
errors: {
|
||
statusLoadFailed: "غير قادر على تحميل حالة طلب السحب",
|
||
activityLoadFailed: "غير قادر على تحميل نشاط طلب السحب",
|
||
},
|
||
},
|
||
forgeSetup: {
|
||
installCli: "ثبّت واجهة سطر الأوامر {{cli}} لاستخدام ميزات {{brand}}.",
|
||
signIn: "نفّذ {{command}} لاستخدام ميزات {{brand}}.",
|
||
generic: "قم بإعداد {{brand}} على هذا المضيف لاستخدام ميزاته.",
|
||
},
|
||
},
|
||
},
|
||
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",
|
||
openFolder: "Open in file manager",
|
||
openFolderFailed: "Couldn't open folder",
|
||
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: "مساحة عمل جديدة",
|
||
showMore: "عرض المزيد",
|
||
showLess: "عرض أقل",
|
||
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: "اختر من أين تبدأ",
|
||
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: "غير قادر على إلغاء تثبيت مهارات التنسيق.",
|
||
saveSelectionFailed: "غير قادر على حفظ اختيار مهارات التنسيق.",
|
||
},
|
||
},
|
||
},
|
||
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: "لم يتم تمكين التتابع. تمكين التتابع لإقران جهاز.",
|
||
enableTitle: "تمكين التتابع؟",
|
||
enableDescription:
|
||
"يتيح التتابع لهذا الجهاز الاتصال من أي مكان. حركة مرور الإقران مشفرة من طرف إلى طرف.",
|
||
relayDocs: "كيفية عمل التتابع",
|
||
relayDocsAccessibility: "اقرأ كيفية عمل تتابع Paseo",
|
||
enableRelay: "تمكين التتابع",
|
||
enablingRelay: "جارٍ التمكين...",
|
||
notNow: "ليس الآن",
|
||
directConnectionHint:
|
||
"بدون التتابع، اتصل مباشرة عبر TCP أو Tailscale أو شبكة VPN أخرى. لن يتم إنشاء رمز QR.",
|
||
updateRequired: "حدّث المضيف لتمكين التتابع من Paseo Desktop.",
|
||
unavailable: "عرض الاقتران غير متاح.",
|
||
hint: "قم بمسح رمز QR هذا باستخدام Paseo على هاتفك، أو انسخ الرابط أدناه.",
|
||
qrUnavailable: "رمز QR غير متاح.",
|
||
qrAccessibility: "رمز 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: "فشل تحميل معاينة الملف",
|
||
editor: {
|
||
fileSize: "حجم الملف {{size}}",
|
||
lines: "{{count}} سطر",
|
||
editorStatus: "حالة المحرر {{status}}",
|
||
unsavedChanges: "تغييرات غير محفوظة",
|
||
saving: "جارٍ الحفظ...",
|
||
saveFailed: "فشل الحفظ",
|
||
changedOnDisk: "تغيّر على القرص",
|
||
vimMode: "وضع Vim {{mode}}",
|
||
cursor: "السطر {{line}}، العمود {{column}}",
|
||
preview: "معاينة",
|
||
source: "المصدر",
|
||
deletedTitle: "تم حذف الملف من القرص",
|
||
checkFailedTitle: "تعذّر التحقق من الملف على القرص",
|
||
preservedDescription: "تم الاحتفاظ بالنسخة المفتوحة.",
|
||
conflictDescription: "تم الاحتفاظ بالمحتوى المحلي. اختر الإصدار الذي تريد إبقاءه.",
|
||
overwrite: "استبدال",
|
||
reload: "إعادة تحميل",
|
||
reloadTitle: "إعادة التحميل من القرص؟",
|
||
reloadMessage: "ستفقد تغييراتك المحلية.",
|
||
},
|
||
},
|
||
diff: {
|
||
changesLabel: "التغييرات",
|
||
changesSubtitle: "فروقات شجرة العمل",
|
||
commitSubtitle: "فروقات الالتزام",
|
||
uncommittedSubtitle: "تغييرات غير ملتزم بها",
|
||
baseSubtitle: "مقارنة مع {{baseRef}}",
|
||
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: "مظهر",
|
||
editor: "المحرر",
|
||
shortcuts: "الاختصارات",
|
||
integrations: "التكامل",
|
||
permissions: "الأذونات",
|
||
diagnostics: "التشخيص",
|
||
about: "عن",
|
||
},
|
||
editor: {
|
||
title: "المحرر",
|
||
vimKeybindings: "اختصارات Vim",
|
||
vimHint: "تنطبق على ملفات المصدر في الويب وسطح المكتب.",
|
||
},
|
||
hostSections: {
|
||
projects: "المشاريع",
|
||
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: "التشخيص",
|
||
legacyTerminalRenderer: {
|
||
label: "استخدام عارض الطرفية السابق",
|
||
description: "استخدام طرفية WebView السابقة بعد إعادة فتح الطرفية",
|
||
accessibilityLabel: "استخدام عارض الطرفية السابق",
|
||
},
|
||
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: "مستوى التفاصيل",
|
||
},
|
||
chatOutline: {
|
||
title: "مخطط المحادثة",
|
||
description: "عرض مخطط للتنقل بين المطالبات",
|
||
},
|
||
fonts: {
|
||
title: "الخطوط",
|
||
systemDefault: "الافتراضي للنظام",
|
||
interfaceFont: "خط الواجهة",
|
||
interfaceFontHint: "تستخدم عبر التطبيق. اتركه فارغًا للإعداد الافتراضي للنظام",
|
||
interfaceFontAccessibility: "عائلة خطوط الواجهة",
|
||
interfaceSize: "حجم الواجهة",
|
||
interfaceSizeAccessibility: "حجم الخط في الواجهة",
|
||
codeFont: "خط الكود",
|
||
codeFontHint:
|
||
"تستخدم في الكود والاختلافات والمخرجات الطرفية. اتركه فارغًا للإعداد الافتراضي للنظام",
|
||
codeFontAccessibility: "عائلة خطوط الكود",
|
||
codeSize: "حجم الكود",
|
||
codeSizeAccessibility: "حجم خط الكود",
|
||
},
|
||
syntax: {
|
||
title: "بناء الجملة",
|
||
highlightTheme: "تسليط الضوء على الموضوع",
|
||
highlightThemeHint: "ألوان التعليمات البرمجية، مستقلة عن سمة التطبيق",
|
||
highlightThemeAccessibility: "تسليط الضوء على الموضوع:{{value}}",
|
||
previewAccessibility: "معاينة مباشرة لموضوع بناء الجملة وخط التعليمات البرمجية",
|
||
},
|
||
},
|
||
shortcuts: {
|
||
dialogTitle: "الاختصارات",
|
||
searchPlaceholder: "البحث في الاختصارات",
|
||
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",
|
||
switchProject: "تبديل المشروع",
|
||
},
|
||
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.",
|
||
choose: "اختيار المهارات",
|
||
chooseAll: "كل المهارات",
|
||
chooseAllHint: "أبقِ جميع المهارات المرفقة مثبتة، بما فيها ما يُضاف لاحقًا.",
|
||
chooseList: "المهارات المرفقة",
|
||
chooseEmpty: "لا تتضمن هذه النسخة أي مهارات.",
|
||
removeTitle: "إزالة المهارات غير المحددة؟",
|
||
removeMessage:
|
||
"سيتم حذف {{skills}} من ~/.agents و~/.claude و~/.codex. كما يُحذف كل ما أضفته داخل مجلدات المهارات تلك.",
|
||
saveFailed: "تعذر حفظ اختيار المهارات.",
|
||
},
|
||
actions: {
|
||
install: "ثَبَّتَ",
|
||
installing: "جارٍ التثبيت...",
|
||
installed: "تم التثبيت",
|
||
update: "تحديث",
|
||
working: "عمل...",
|
||
remove: "إزالة",
|
||
uninstall: "إلغاء التثبيت",
|
||
save: "حفظ",
|
||
saving: "جارٍ الحفظ...",
|
||
},
|
||
operations: {
|
||
add: "أضف مهارة",
|
||
update: "تحديث المهارة",
|
||
delete: "حذف المهارة",
|
||
},
|
||
},
|
||
permissions: {
|
||
title: "الأذونات",
|
||
notifications: "إشعارات",
|
||
microphone: "ميكروفون",
|
||
refresh: "ينعش",
|
||
refreshing: "منعش...",
|
||
refreshAccessibility: "تحديث أذونات سطح المكتب",
|
||
test: "امتحان",
|
||
actions: {
|
||
granted: "ممنوح",
|
||
request: "طلب",
|
||
requesting: "جارٍ الطلب...",
|
||
busySuffix: "{{label}}...",
|
||
},
|
||
},
|
||
host: {
|
||
appearance: {
|
||
title: "المظهر",
|
||
name: {
|
||
label: "الاسم",
|
||
},
|
||
color: {
|
||
label: "اللون",
|
||
accessibilityLabel: "اللون، {{value}}",
|
||
options: {
|
||
none: "افتراضي",
|
||
violet: "بنفسجي",
|
||
sky: "سماوي",
|
||
emerald: "زمردي",
|
||
orange: "برتقالي",
|
||
pink: "وردي",
|
||
indigo: "نيلي",
|
||
teal: "أزرق مخضر",
|
||
red: "أحمر",
|
||
amber: "كهرماني",
|
||
blue: "أزرق",
|
||
},
|
||
},
|
||
badge: {
|
||
label: "شارة الشريط الجانبي",
|
||
accessibilityLabel: "شارة الشريط الجانبي، {{value}}",
|
||
options: {
|
||
name: "الاسم",
|
||
icon: "أيقونة فقط",
|
||
hidden: "مخفي",
|
||
},
|
||
},
|
||
preview: {
|
||
workspaceName: "my-workspace",
|
||
},
|
||
},
|
||
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: "العودة إلى المشاريع",
|
||
edit: {
|
||
title: "تعديل المشروع",
|
||
name: "الاسم",
|
||
nameLabel: "اسم المشروع",
|
||
icon: "الأيقونة",
|
||
chooseImage: "اختيار صورة",
|
||
useAutomatic: "استخدام التلقائي",
|
||
imageUrl: "رابط صورة أو موقع",
|
||
save: "حفظ التغييرات",
|
||
savedToast: "تم تحديث المشروع",
|
||
},
|
||
readFailures: {
|
||
invalidTitle: "تعذر تحليل paseo.json",
|
||
invalidDescription: "قم بإصلاح الملف على القرص، ثم أعد تحميله.",
|
||
missingTitle: "هذا المضيف ليس لديه هذا المشروع",
|
||
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: "يلغي",
|
||
},
|
||
},
|
||
},
|
||
};
|