@nac3/forge-cli 1.0.54 → 1.0.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chat/panel.d.ts.map +1 -1
- package/dist/chat/panel.js +553 -387
- package/dist/chat/panel.js.map +1 -1
- package/dist/chat/server.js +2 -2
- package/dist/chat/server.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/src/i18n/catalogs/ar.json +292 -1
- package/src/i18n/catalogs/de.json +292 -1
- package/src/i18n/catalogs/en.json +292 -1
- package/src/i18n/catalogs/es.json +292 -1
- package/src/i18n/catalogs/fr.json +292 -1
- package/src/i18n/catalogs/hi.json +292 -1
- package/src/i18n/catalogs/it.json +292 -1
- package/src/i18n/catalogs/ja.json +292 -1
- package/src/i18n/catalogs/pt.json +292 -1
- package/src/i18n/catalogs/zh.json +292 -1
package/dist/version.d.ts
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Yujin Forge CLI version. Kept in sync with package.json by the npm
|
|
3
3
|
* "version" lifecycle (scripts/sync_version.mjs) so the two never drift.
|
|
4
4
|
*/
|
|
5
|
-
export declare const VERSION = "1.0.
|
|
5
|
+
export declare const VERSION = "1.0.56";
|
|
6
6
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nac3/forge-cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.56",
|
|
4
4
|
"description": "Yujin Forge -- voice-first NAC-3 React development framework. CLI + chat panel + spec ingest + 10-format document reader + voice loop.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"author": "Pablo Kuschnirof <pablo@rpaforce.com>",
|
|
@@ -230,5 +230,296 @@
|
|
|
230
230
|
"panel.files.empty": "(لا ملفات)",
|
|
231
231
|
"panel.files.truncated": "(القائمة مقتطعة)",
|
|
232
232
|
"panel.files.opened": "تم الفتح",
|
|
233
|
-
"panel.files.openFailed": "تعذّر فتح الملف."
|
|
233
|
+
"panel.files.openFailed": "تعذّر فتح الملف.",
|
|
234
|
+
"startup.tab.tasks": "المهام",
|
|
235
|
+
"settings.bridge.title": "التنسيق بين النسخ",
|
|
236
|
+
"settings.bridge.accept": "قبول الرسائل الموجهة من النسخ الأخرى (تُحقن كمحادثة)",
|
|
237
|
+
"settings.bridge.composePlaceholder": "رسالة إلى النسخ الأخرى...",
|
|
238
|
+
"settings.voice.title": "الصوت",
|
|
239
|
+
"settings.voice.mode": "الوضع",
|
|
240
|
+
"settings.voice.modeMic": "وضع المايك",
|
|
241
|
+
"settings.voice.stt": "STT",
|
|
242
|
+
"settings.voice.sttBrowser": "STT المتصفح",
|
|
243
|
+
"settings.voice.ttsEngine": "محرك TTS",
|
|
244
|
+
"settings.voice.ttsBrowser": "TTS المتصفح",
|
|
245
|
+
"settings.voice.ttsVoice": "صوت TTS (Google فقط)",
|
|
246
|
+
"settings.vad.title": "VAD (كشف الصمت)",
|
|
247
|
+
"settings.vad.resetDefaults": "إعادة التعيين",
|
|
248
|
+
"settings.vad.engine": "المحرك",
|
|
249
|
+
"settings.vad.engineAmplitude": "السعة (RMS)",
|
|
250
|
+
"settings.vad.engineBand": "النطاق 80-400Hz",
|
|
251
|
+
"settings.vad.baselineWindow": "نافذة الأساس",
|
|
252
|
+
"settings.vad.thresholdMult": "مضاعف العتبة (الأساس x N)",
|
|
253
|
+
"settings.vad.thresholdMin": "العتبة الدنيا",
|
|
254
|
+
"settings.vad.thresholdMax": "العتبة القصوى",
|
|
255
|
+
"settings.vad.silence": "الصمت للإغلاق",
|
|
256
|
+
"settings.vad.minVoiced": "الحد الأدنى للصوت (مضاد للنبضة)",
|
|
257
|
+
"settings.vad.tick": "نبضة VAD",
|
|
258
|
+
"settings.vad.bandLow": "نطاق الصوت: منخفض (Hz)",
|
|
259
|
+
"settings.vad.bandHigh": "نطاق الصوت: مرتفع (Hz)",
|
|
260
|
+
"settings.vad.showOverlay": "إظهار التراكب المباشر",
|
|
261
|
+
"settings.vad.logStats": "تسجيل الإحصائيات لكل جلسة",
|
|
262
|
+
"settings.brain.anthropicMode": "Anthropic: الوضع",
|
|
263
|
+
"settings.brain.modePlan": "Plan (اشتراك Claude)",
|
|
264
|
+
"settings.brain.modeConsole": "Console (API key)",
|
|
265
|
+
"settings.brain.modeNote": "يُطبق عند إعادة فتح اللوحة.",
|
|
266
|
+
"settings.brain.ecoEnabled": "وضع eco مُفعّل",
|
|
267
|
+
"settings.brain.ecoHint": "إيقاف = frontier دائماً",
|
|
268
|
+
"settings.brain.modelEco": "نموذج eco",
|
|
269
|
+
"settings.brain.modelFrontier": "نموذج frontier",
|
|
270
|
+
"settings.brain.modelMultimodal": "نموذج multimodal",
|
|
271
|
+
"settings.brain.multimodalClearTitle": "إزالة brain multimodal المخصص (العودة إلى توجيه الرؤية التلقائي)",
|
|
272
|
+
"settings.brain.auto": "تلقائي",
|
|
273
|
+
"settings.brain.multimodalHint": "brain مخصص للأدوار التي تحتوي على صور. تلقائي = توجيه الرؤية التلقائي (frontier إذا كان يرى، وإلا إشعار).",
|
|
274
|
+
"settings.brain.geminiCache": "ذاكرة Gemini الصريحة (CachedContent)",
|
|
275
|
+
"settings.brain.geminiCacheHint": "اشتراك اختياري. مفيد في الجلسات الطويلة مع Gemini Pro؛ في الجلسات القصيرة تكفي الذاكرة الضمنية المجانية لـ 2.5.",
|
|
276
|
+
"settings.federation.title": "اتحاد brain",
|
|
277
|
+
"settings.federation.intro": "استخدم brain من Forge آخر (مفتاحه لا يغادر جهازه أبداً) أو أعِر مفتاحك. يعمل كودك محلياً؛ ينتقل الاستدلال فقط.",
|
|
278
|
+
"settings.federation.connectedTo": "متصل بـ",
|
|
279
|
+
"settings.federation.disconnect": "قطع الاتصال",
|
|
280
|
+
"settings.federation.connectMe": "اتصل بي",
|
|
281
|
+
"settings.federation.tokenPlaceholder": "الصق رمز الاتحاد",
|
|
282
|
+
"settings.federation.connect": "اتصل",
|
|
283
|
+
"settings.federation.lendBrain": "إعارة brain الخاص بي",
|
|
284
|
+
"settings.federation.generateCode": "إنشاء رمز",
|
|
285
|
+
"settings.federation.host": "استضافة (الرد على الأبناء)",
|
|
286
|
+
"settings.federation.fedBrain": "brain الاتحاد",
|
|
287
|
+
"settings.federation.fedBrainNote": "الذي يرد على الأبناء. API مباشر (DeepSeek افتراضياً). Claude Plan لا يصلح للاستضافة؛ يحتاج إلى key برصيد.",
|
|
288
|
+
"settings.federation.codeOnce": "رمز (استخدام واحد)",
|
|
289
|
+
"settings.federation.copy": "نسخ",
|
|
290
|
+
"settings.keys.title": "API keys (BYOK)",
|
|
291
|
+
"settings.keys.configure": "تكوين",
|
|
292
|
+
"settings.keys.remove": "إزالة",
|
|
293
|
+
"settings.keys.brainAnthropic": "Brain (Anthropic)",
|
|
294
|
+
"settings.keys.brainOpenai": "Brain (OpenAI)",
|
|
295
|
+
"settings.keys.brainGoogle": "Brain (Google AI)",
|
|
296
|
+
"settings.keys.brainDeepseek": "Brain (DeepSeek)",
|
|
297
|
+
"settings.keys.brainXai": "Brain (xAI / Grok)",
|
|
298
|
+
"settings.keys.brainMistral": "Brain (Mistral)",
|
|
299
|
+
"settings.keys.brainCohere": "Brain (Cohere)",
|
|
300
|
+
"settings.keys.sttGoogle": "STT Google",
|
|
301
|
+
"settings.keys.ttsGoogle": "TTS Google",
|
|
302
|
+
"settings.keys.ttsElevenlabs": "TTS ElevenLabs",
|
|
303
|
+
"settings.keys.sttWhisper": "STT Whisper",
|
|
304
|
+
"settings.lang.title": "اللغة",
|
|
305
|
+
"settings.lang.panelVoice": "اللوحة + الصوت",
|
|
306
|
+
"settings.lang.changeButton": "تغيير اللغة",
|
|
307
|
+
"settings.vault.title": "Vault (مشفّر)",
|
|
308
|
+
"settings.vault.slots": "الفتحات",
|
|
309
|
+
"settings.vault.open": "فتح Vault",
|
|
310
|
+
"settings.license.email": "البريد الإلكتروني",
|
|
311
|
+
"settings.license.validated": "تم التحقق",
|
|
312
|
+
"settings.license.connectHint": "اربط حساب Polar الخاص بك. أدخل البريد الإلكتروني الذي دفعت به وسنزامن خطتك تلقائياً.",
|
|
313
|
+
"settings.license.emailPlaceholder": "email@example.com",
|
|
314
|
+
"settings.license.connect": "اتصل",
|
|
315
|
+
"settings.license.sync": "المزامنة مع Polar",
|
|
316
|
+
"settings.license.buy": "شراء / تفعيل الخطة",
|
|
317
|
+
"settings.budget.title": "ميزانية هذا الشهر",
|
|
318
|
+
"settings.budget.renews": "يتجدد",
|
|
319
|
+
"settings.budget.tokensEco": "eco tokens",
|
|
320
|
+
"settings.budget.tokensFrontier": "frontier tokens",
|
|
321
|
+
"settings.budget.buyExtension": "شراء تمديد tokens",
|
|
322
|
+
"settings.limits.title": "الحدود (متقدم)",
|
|
323
|
+
"settings.limits.editHint": "حرّر أي قيمة + tab/blur يحفظ.",
|
|
324
|
+
"settings.limits.reset": "إعادة التعيين للافتراضي",
|
|
325
|
+
"settings.bookmarks.title": "إشارات Reader المرجعية",
|
|
326
|
+
"settings.graph.title": "الرسم البياني المعرفي للمشروع",
|
|
327
|
+
"settings.pair.title": "ربط الهاتف",
|
|
328
|
+
"settings.pair.hint": "افتح Forge Mobile، اضغط على \"ربط\" وامسح رمز QR هذا. تم.",
|
|
329
|
+
"settings.pair.generateQr": "إنشاء QR",
|
|
330
|
+
"settings.pair.cantRead": "الكاميرا لا تقرأ QR؟ انسخ هذا الرمز والصقه في Forge Mobile:",
|
|
331
|
+
"settings.audit.viewFull": "عرض الكامل",
|
|
332
|
+
"settings.audit.close": "إغلاق",
|
|
333
|
+
"settings.audit.allKinds": "كل الأنواع",
|
|
334
|
+
"settings.audit.allModes": "كل الأوضاع",
|
|
335
|
+
"settings.audit.copyJson": "نسخ JSON",
|
|
336
|
+
"settings.audit.closeDetail": "إغلاق التفاصيل",
|
|
337
|
+
"settings.about.title": "حول",
|
|
338
|
+
"settings.danger.title": "منطقة الخطر",
|
|
339
|
+
"settings.danger.warning": "عند التشغيل، ينفّذ Yujin كل إجراء دون طلب تأكيد (بما في ذلك shell.exec وrm وgit push --force وغيرها). السرعة قبل الأمان. يُسجّل كل شيء في audit log.",
|
|
340
|
+
"settings.keyEditor.placeholder": "الصق API key الخاص بك هنا",
|
|
341
|
+
"settings.license.title": "الترخيص",
|
|
342
|
+
"settings.plan": "الخطة",
|
|
343
|
+
"settings.audit.title": "سجل التدقيق",
|
|
344
|
+
"settings.legal.title": "قانوني",
|
|
345
|
+
"panel.status.projectSwitchFail": "تعذر تبديل المشروع.",
|
|
346
|
+
"panel.status.projectRemoveFail": "تعذر إزالة المشروع.",
|
|
347
|
+
"panel.status.projectAddFail": "تعذر إضافة المشروع.",
|
|
348
|
+
"panel.status.cancelFail": "تعذر الإلغاء: {reason}",
|
|
349
|
+
"panel.status.cancelNetError": "خطأ في الشبكة أثناء إلغاء الـ shell.",
|
|
350
|
+
"panel.status.notEditable": "هذا النوع من المحتوى غير قابل للتحرير.",
|
|
351
|
+
"panel.status.savedAsPicker": "تم الحفظ باسم: {name} (في المسار الذي اخترته في مربع الحوار).",
|
|
352
|
+
"panel.status.saveAsFail": "خطأ في \"حفظ باسم\": {error} -- يتم استخدام البديل.",
|
|
353
|
+
"panel.status.saveFail": "خطأ أثناء الحفظ: {error}",
|
|
354
|
+
"panel.status.savedAs": "تم الحفظ باسم: {path} ({bytes} بايت)",
|
|
355
|
+
"panel.status.netError": "خطأ في الشبكة: {error}",
|
|
356
|
+
"panel.status.savedTabOnly": "تم حفظ التغييرات في علامة التبويب (ليس على القرص -- بدون file_path).",
|
|
357
|
+
"panel.status.saved": "تم الحفظ: {path} ({bytes} بايت)",
|
|
358
|
+
"panel.status.copied": "تم النسخ إلى الحافظة.",
|
|
359
|
+
"panel.status.copyFail": "تعذر النسخ.",
|
|
360
|
+
"panel.status.modeAvailable": "الأوضاع المتاحة: didactico, tecnico. الاستخدام: /modo tecnico",
|
|
361
|
+
"panel.status.modeChangeFail": "تعذر تغيير الوضع: {error}",
|
|
362
|
+
"panel.status.modeChanged": "تم تغيير الوضع إلى {target}. الدور التالي يستخدم هذا الوضع بالفعل.",
|
|
363
|
+
"panel.status.genericError": "خطأ: {error}",
|
|
364
|
+
"panel.status.brainTierAuto": "عاد Brain tier إلى auto (يقرر الـ router حسب الـ verb / phase).",
|
|
365
|
+
"panel.status.brainTierForced": "تم تثبيت Brain tier على \"{target}\" لهذه الجلسة. /auto يعيده إلى الـ router.",
|
|
366
|
+
"panel.confirm.tabUnsaved": "علامة التبويب \"{title}\" بها تغييرات غير محفوظة. الإغلاق على أي حال؟",
|
|
367
|
+
"panel.confirm.tabsUnsaved": "توجد علامات تبويب بها تغييرات غير محفوظة. إغلاق الكل على أي حال؟",
|
|
368
|
+
"panel.confirm.discardChanges": "تجاهل التغييرات غير المحفوظة؟",
|
|
369
|
+
"panel.confirm.removeSlot": "إزالة الـ slot \"{slot}\"؟ لا يمكن التراجع عن هذا.",
|
|
370
|
+
"panel.confirm.removeKey": "إزالة الـ key الخاص بـ {slot}؟",
|
|
371
|
+
"panel.prompt.saveAs": "حفظ باسم (مسار نسبي للمشروع):",
|
|
372
|
+
"panel.voice.sttFallback": "STT المتصفح غير متاح؛ يتم استخدام البديل من جانب الخادم.",
|
|
373
|
+
"panel.voice.noMicSupport": "متصفحك لا يدعم الوصول إلى الميكروفون.",
|
|
374
|
+
"panel.voice.recordingCountdown": "جارٍ التسجيل... إيقاف تلقائي خلال {n} ثانية",
|
|
375
|
+
"panel.voice.autoStopped": "تم إيقاف التسجيل تلقائيًا عند 55 ثانية (حد دقيقة واحدة لـ Google STT). جرّب مدة أقصر.",
|
|
376
|
+
"panel.voice.noAudio": "لم يتم التقاط أي صوت. حاول مرة أخرى.",
|
|
377
|
+
"panel.voice.audioTooLong": "الصوت طويل جدًا (>دقيقة واحدة). حد التزامن لـ Google STT. جرّب مدة أقصر.",
|
|
378
|
+
"panel.voice.ttsUnavailable": "TTS المتصفح غير متاح؛ ارجع إلى Google في الإعدادات.",
|
|
379
|
+
"panel.voice.micClosedHalfDuplex": "تم إغلاق الميكروفون أثناء تحدث Yujin (نصف مزدوج).",
|
|
380
|
+
"panel.voice.micBlocked": "الميكروفون محظور. اسمح بالميكروفون لهذا التطبيق في إعدادات المتصفح ثم حاول مرة أخرى.",
|
|
381
|
+
"panel.voice.noMicDevice": "لم يتم اكتشاف ميكروفون على هذا الجهاز.",
|
|
382
|
+
"panel.voice.micOpenFail": "تعذر فتح الميكروفون: {error}",
|
|
383
|
+
"panel.voice.micOpenListening": "الميكروفون مفتوح، يستمع...",
|
|
384
|
+
"panel.voice.listening": "أنا أستمع...",
|
|
385
|
+
"panel.voice.listeningInterim": "أنا أستمع... {text}",
|
|
386
|
+
"panel.voice.micBlockedBrowser": "الميكروفون محظور من قبل المتصفح. انقر على أيقونة القفل في شريط العنوان واسمح بالميكروفون، ثم أعد تحميل الصفحة. أو غيّر STT إلى \"google\" / \"whisper\" في الإعدادات إذا كان لديك الـ API key.",
|
|
387
|
+
"panel.voice.noMicPhysical": "لم يتم اكتشاف ميكروفون مادي. وصّل واحدًا أو غيّر STT إلى \"google\" / \"whisper\" في الإعدادات.",
|
|
388
|
+
"panel.voice.networkRequired": "يتطلب Web Speech اتصالاً بالإنترنت (يستخدم Chrome محرك Google خلف الكواليس). جرّب دون اتصال متقطع أو غيّر STT إلى \"whisper\" إذا كان لديك الـ API key.",
|
|
389
|
+
"panel.voice.langNotSupported": "متصفحك لا يدعم هذه اللغة لـ STT. غيّر لغة اللوحة إلى لغة مدعومة (en, es, pt) أو غيّر STT إلى \"google\" / \"whisper\".",
|
|
390
|
+
"panel.voice.micError": "خطأ في الميكروفون: {error}",
|
|
391
|
+
"panel.voice.noAudioToRecognizer": "لم يصل أي صوت إلى أداة التعرف: إملاء المتصفح لا يلتقط في هذا التطبيق.",
|
|
392
|
+
"panel.voice.micOpenNoVoice": "الميكروفون مفتوح لكن لم يتم اكتشاف صوت. اقترب من الميكروفون وتحدث بصوت أعلى؛ إذا استمر ذلك، فإن الإملاء المجاني لا يعمل في هذا الـ PWA.",
|
|
393
|
+
"panel.voice.voiceNoText": "تم اكتشاف الصوت لكن المتصفح لم يُرجع نصًا (STT المجاني غير متاح في هذا الـ PWA).",
|
|
394
|
+
"panel.voice.startingDictation": "جارٍ بدء الإملاء...",
|
|
395
|
+
"panel.voice.couldNotStartMic": "تعذر بدء الميكروفون: {error}",
|
|
396
|
+
"panel.status.imageTooLarge": "الصورة كبيرة جدًا (>6MB): {name}",
|
|
397
|
+
"panel.status.imageReady": "الصورة جاهزة للإرسال: {name}",
|
|
398
|
+
"panel.status.imageReadFail": "تعذر قراءة الصورة: {error}",
|
|
399
|
+
"panel.tip.attachFile": "إرفاق ملف",
|
|
400
|
+
"panel.tip.refreshDiscovery": "تحديث الاكتشاف",
|
|
401
|
+
"panel.tip.refreshNow": "تحديث الان",
|
|
402
|
+
"panel.tip.filterByProject": "تصفية حسب المشروع",
|
|
403
|
+
"panel.tip.concurrentRuns": "عمليات متزامنة: حدود عامة / لكل مشروع",
|
|
404
|
+
"panel.tip.mcpBridges": "جسور MCP (F101)",
|
|
405
|
+
"panel.tip.activity": "نشاط الوكلاء + فاحص الجسر + محادثة لكل وكيل",
|
|
406
|
+
"panel.tip.settings": "الاعدادات (الوضع الصوتي، STT، TTS، المفاتيح، اللغة)",
|
|
407
|
+
"panel.tip.zoomOut": "تصغير (Ctrl -)",
|
|
408
|
+
"panel.tip.zoomReset": "اعادة ضبط التكبير (Ctrl 0)",
|
|
409
|
+
"panel.tip.zoomIn": "تكبير (Ctrl +)",
|
|
410
|
+
"panel.tip.maximize": "تكبير / استعادة (ملء الشاشة)",
|
|
411
|
+
"panel.tip.closeBoard": "اغلاق اللوحة بالكامل",
|
|
412
|
+
"panel.tip.openInEditor": "فتح في محرري",
|
|
413
|
+
"panel.tip.open": "فتح",
|
|
414
|
+
"panel.tip.saveAs": "حفظ باسم -- اختر مسارا جديدا (نسبة الى المشروع)",
|
|
415
|
+
"panel.tip.codeModeDetail": "مفصل: الملفات والفروق والاوامر مباشرة",
|
|
416
|
+
"panel.tip.codeModeZen": "Sumi-e: فن مع نص عرضي",
|
|
417
|
+
"panel.tip.cancelShell": "الغاء امر الصدفة",
|
|
418
|
+
"panel.tip.closeTab": "اغلاق علامة التبويب",
|
|
419
|
+
"panel.tip.reopenNativeTabs": "اعادة فتح علامات التبويب الاصلية المغلقة",
|
|
420
|
+
"panel.tip.notTestedYet": "لم يتم اختباره بعد",
|
|
421
|
+
"panel.aria.activity": "النشاط",
|
|
422
|
+
"panel.aria.settings": "الاعدادات",
|
|
423
|
+
"panel.aria.zoomOut": "تصغير",
|
|
424
|
+
"panel.aria.zoomIn": "تكبير",
|
|
425
|
+
"panel.aria.maximize": "تكبير",
|
|
426
|
+
"panel.aria.closeBoard": "اغلاق الكل",
|
|
427
|
+
"panel.aria.thinking": "يفكر",
|
|
428
|
+
"panel.hint.boardEmpty": "يظهر هنا المحتوى المنظم: الكود والجداول والمستندات. اطلب من Yujin كتابة شيء او تعديله.",
|
|
429
|
+
"panel.hint.planMode": "انت في وضع Plan (اشتراك). تُرسم اللوحة عندما يعمل brain في وضع API: غيّره في <strong>الاعدادات > Brain > Anthropic: الوضع > Console</strong> ثم اعد فتح اللوحة.",
|
|
430
|
+
"panel.hint.bookmarksEmpty": "لا توجد علامات مرجعية. اطلب من Yujin \"ضع علامة على هذه النقطة كـ ...\" اثناء قراءة مستند.",
|
|
431
|
+
"panel.voice.replyFailed": "فشل الرد الصوتي: {err}",
|
|
432
|
+
"panel.voice.replyError": "خطا في الرد الصوتي: {err}",
|
|
433
|
+
"panel.status.languageSwitchFailed": "فشل تبديل اللغة: {err}",
|
|
434
|
+
"panel.status.languageListFailed": "تعذر تحميل قائمة اللغات",
|
|
435
|
+
"panel.legal.loading": "جار التحميل...",
|
|
436
|
+
"panel.legal.loadError": "خطا {status} في تحميل المستند.",
|
|
437
|
+
"panel.legal.networkError": "خطا في الشبكة: {err}",
|
|
438
|
+
"panel.legal.defaultTitle": "قانوني",
|
|
439
|
+
"panel.feedback.copied": "تم النسخ",
|
|
440
|
+
"panel.feedback.copyFailed": "فشل النسخ",
|
|
441
|
+
"panel.feedback.clipboardUnavailable": "الحافظة غير متاحة",
|
|
442
|
+
"panel.feedback.saving": "جار الحفظ...",
|
|
443
|
+
"panel.feedback.saved": "تم الحفظ.",
|
|
444
|
+
"panel.feedback.saveError": "خطا في الحفظ",
|
|
445
|
+
"panel.feedback.netError": "خطا في الشبكة",
|
|
446
|
+
"panel.feedback.netErrorSaving": "خطا في الشبكة اثناء الحفظ",
|
|
447
|
+
"panel.feedback.errorPrefix": "خطا: {detail}",
|
|
448
|
+
"panel.pair.generating": "جار الانشاء...",
|
|
449
|
+
"panel.pair.generateQr": "انشاء رمز QR",
|
|
450
|
+
"panel.pair.copy": "نسخ",
|
|
451
|
+
"panel.pair.expiry": "تنتهي صلاحيته خلال ~{mins} دقيقة. اعد انشاءه اذا انتهت.",
|
|
452
|
+
"panel.pair.qrNetError": "خطا في الشبكة عند انشاء رمز QR.",
|
|
453
|
+
"panel.audit.copyJson": "نسخ JSON",
|
|
454
|
+
"panel.limits.resetApplied": "تم تطبيق اعادة التعيين الى الافتراضي",
|
|
455
|
+
"panel.nac3.effects": "الاثار: {list}",
|
|
456
|
+
"panel.nac3.effectsUnknown": "غير معروفة",
|
|
457
|
+
"panel.nac3.cancel": "الغاء",
|
|
458
|
+
"panel.nac3.reject": "رفض",
|
|
459
|
+
"panel.nac3.approve": "موافقة",
|
|
460
|
+
"panel.nac3.approveDestructive": "موافقة (مدمر)",
|
|
461
|
+
"panel.nac3.executing": "جار التنفيذ...",
|
|
462
|
+
"panel.tts.providerBrowser": "TTS المتصفح",
|
|
463
|
+
"panel.tts.providerGoogle": "TTS Google",
|
|
464
|
+
"panel.tts.providerTitle": "انقر للتبديل بين المتصفح (SpeechSynthesis الاصلي، اصوات النظام) و Google Cloud TTS (من جانب الخادم).",
|
|
465
|
+
"panel.stt.providerBrowser": "STT المتصفح",
|
|
466
|
+
"panel.stt.providerGoogle": "STT Google",
|
|
467
|
+
"panel.stt.providerWhisper": "STT Whisper",
|
|
468
|
+
"panel.stt.providerTitle": "انقر للتبديل بين المتصفح (سريع + es-AR اصلي + مجاني) او Google Cloud STT (من جانب الخادم، BYOK) او Whisper (من جانب الخادم، BYOK).",
|
|
469
|
+
"panel.tts.voiceTitle": "الصوت الحالي: {id} / {persona} ({gender}) -- {style}. انقر للتبديل. Studio = ينطق s بوضوح؛ Neural2 = اسبانية طبيعية (يخفف s النهائية).",
|
|
470
|
+
"panel.license.lendNeedsLicense": "فعّل ترخيصك لاعارة brain الخاص بك",
|
|
471
|
+
"panel.license.emailInvalid": "ادخل بريدا الكترونيا صالحا (مع @).",
|
|
472
|
+
"panel.license.connecting": "جار الاتصال...",
|
|
473
|
+
"panel.license.savingEmail": "جار حفظ البريد + المزامنة مع Polar...",
|
|
474
|
+
"panel.license.syncFailedRetry": "تم حفظ البريد، لكن المزامنة فشلت: {err}{http}. اذا كنت قد دفعت للتو، انتظر 1-2 دقيقة واضغط \"المزامنة مع Polar\".",
|
|
475
|
+
"panel.license.planOk": "OK -- الخطة: {plan}.",
|
|
476
|
+
"panel.license.netError": "خطا في الشبكة: {err}",
|
|
477
|
+
"panel.license.syncing": "جار المزامنة...",
|
|
478
|
+
"panel.license.querying": "جار الاستعلام من الخادم...",
|
|
479
|
+
"panel.license.syncError": "خطا في المزامنة: {err}{http}",
|
|
480
|
+
"panel.license.planUnchanged": "الخطة دون تغيير: {plan}",
|
|
481
|
+
"panel.license.planUpdated": "تم تحديث الخطة: {before} -> {after}",
|
|
482
|
+
"panel.license.syncWithPolar": "المزامنة مع Polar",
|
|
483
|
+
"panel.license.errorWithCode": "خطا: {code}",
|
|
484
|
+
"panel.keyEditor.keyTooShort": "المفتاح قصير جدا (الحد الادنى 8 احرف).",
|
|
485
|
+
"panel.bridge.coordUnavailable": "التنسيق غير متاح.",
|
|
486
|
+
"panel.bridge.statusUnavailable": "غير متاح",
|
|
487
|
+
"panel.mcp.loadingBridges": "جار تحميل الجسور...",
|
|
488
|
+
"panel.tools.loading": "جار تحميل الادوات...",
|
|
489
|
+
"panel.agentsChat.backPairs": "< الازواج",
|
|
490
|
+
"panel.agentsChat.noMessages": "لا توجد رسائل في هذا الزوج.",
|
|
491
|
+
"panel.agentsChat.noAgents": "لا يوجد وكلاء",
|
|
492
|
+
"panel.agentsChat.pickAgent": "اختر وكيلا واكتب نصا قبل الارسال.",
|
|
493
|
+
"panel.agentsChat.sending": "جار الارسال...",
|
|
494
|
+
"panel.agentsChat.errorGeneric": "خطا: {err}",
|
|
495
|
+
"panel.whatsNew.dismiss": "اغلاق",
|
|
496
|
+
"panel.alert.noEditor": "لا يوجد محرر في PATH. انسخ المسار: {path}",
|
|
497
|
+
"panel.alert.pathRelative": "يجب ان يكون المسار نسبيا للمشروع (بدون \"/\" في البداية او \"..\").",
|
|
498
|
+
"panel.tip.saveTo": "حفظ في {path}",
|
|
499
|
+
"panel.tip.saveToMemory": "(الذاكرة)",
|
|
500
|
+
"panel.button.saveAs": "حفظ باسم...",
|
|
501
|
+
"panel.aria.concurrentRuns": "عمليات متزامنة",
|
|
502
|
+
"panel.activity.allProjects": "كل المشاريع",
|
|
503
|
+
"panel.activity.loadingFeed": "جار تحميل الموجز...",
|
|
504
|
+
"panel.feedback.savedShort": "تم الحفظ",
|
|
505
|
+
"panel.pair.qrFailed": "تعذر انشاء رمز QR.",
|
|
506
|
+
"panel.brain.modePlan": "Plan (اشتراك)",
|
|
507
|
+
"panel.brain.modeConsole": "Console (مفتاح API)",
|
|
508
|
+
"panel.brain.applying": "جار تطبيق {mode}...",
|
|
509
|
+
"panel.brain.applied": "تم تطبيق {mode}. الدور التالي يستخدم هذا الوضع بالفعل.",
|
|
510
|
+
"panel.brain.reopenHint": "يُطبق عند اعادة فتح اللوحة.",
|
|
511
|
+
"panel.brain.active": "{mode} نشط",
|
|
512
|
+
"panel.bridge.roleHost": "مضيف",
|
|
513
|
+
"panel.bridge.roleClient": "عميل",
|
|
514
|
+
"panel.bridge.instanceOne": "نسخة",
|
|
515
|
+
"panel.bridge.instanceMany": "نسخ",
|
|
516
|
+
"panel.bridge.you": "انت",
|
|
517
|
+
"panel.tip.deleteTask": "حذف المهمة",
|
|
518
|
+
"panel.tasks.cmdPlaceholder": "الامر (مثال: pnpm install)...",
|
|
519
|
+
"panel.readAloud.code": "كود",
|
|
520
|
+
"panel.readAloud.codeLang": "كود بلغة {lang}",
|
|
521
|
+
"panel.readAloud.file": "الملف {file}",
|
|
522
|
+
"panel.readAloud.content": "المحتوى: {content}",
|
|
523
|
+
"panel.pizarron.tabOne": "علامة تبويب",
|
|
524
|
+
"panel.pizarron.tabMany": "علامات تبويب"
|
|
234
525
|
}
|